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.
3rd-party plugins which were manually installed were listed as uninstall-able instead of disable-able. The distinction between plugins which could be installed or disabled was previously made by whether or not it was 3rd party, but is now made by determining the install location.
- 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
This reverts commit b62c19206f5e494fa27eb0b877197556c559e449, reversing
changes made to 104926c6ed1648ec20b4308fdacad4e99c14c8b3.
Contributes to issue CURA-4414.
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..