finishing installing or uninstalling plugins, otherwise the temporary
data is not stored in the config file.
This caused some problems with the lazy uninstall plugins since the list
was never stored.
This is the ~5 minute~ 3 second fix. I know it's not the more proper way to do it, but I've spent several hours on the more proper way to do it and it's causing huge amounts of headache (because, for example, the PluginBrowser installs plugins and the PluginRegistry removes them, and the PluginBrowser can't update the PluginsModel because the PluginsModel is intantiated in QML instead of in `PluginBrowser.py`, etc. etc. etc.
I'm effectively doing a full refactor of this functionality while simultaneously avoiding moving any "install from remote URL" functionality into the PluginRegistry which is dumb.
I'd prefer a simple, stable soution now instead of re-writing this all again.
I'll make a proposal for a proper, organized refactor for Cookies & Cura.
- Quit button in the dialog post-install now quits the application instead of simply closing the window
- Improved styling:
- All colors now pulled from `UM.Theme.getColor()`
- Dialog has white background
- Buttons look like Cura buttons
- Removed inaccurate comments regarding the structure that were created while working on it
- Browser is combined with plugin settings
- Two tabs, one for viewing 3rd party plugins, one for installed
- Enable/disable for bundled plugins
- Install/Remove/Update for 3rd party plugins
CURA-4222
If a downloaded plugin contains a license file, a dialog which contains
the license information will pop up. The user has to accept the license
before he/she can install the plugin.
If a plugin doesn't have a license file, after it is downloaded, it will
be installed directly just like before.
Orientated a bit on the way how browsers are sending their strings.
No idea, whether there is a standard on this or not.
Needs to be discussed I guess..