This is the easy fix. When a plugin is downloading, the other plugins' download buttons are not possible to be clicked. This avoids having to write any new logic. It does detract a bit from the user experience though.
The complicated version requires re-writing a big part of the plugin browser code to enable the queueing of downloads and stuff. That's sort of how it "should" be but is a lot more work.
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.
- 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