GSoC 2019: Plugin Manager (Week 5)

Posted 3 months ago

What I've done

This week I focused on the multi-thread facility and relevant features. Now, multiple downloading, installing and checking for update processes can run simultaneously. This greatly improves the speed, as shown in the demo below:

A demo

parallel.gif

The implementation uses a thread pool that Qt provides, and allows a certain number of threads working for each plugin. The number of threads depends on your CPU's thread count.

There're also some other small feautres I've added:

  • Abort install when there're no qml files in the archive(this can only be checked after downloading)

  • Change the plugin installing directory the user's plugin directory.

  • Check for update when the resource manager starts

This week

I plan to go on to the local plugin management part. The local plugin management part is essentially the scope of the original plugin manager, which covers enabling/disabling plugins, configuring shortcuts, showing plugins' info, and reloading plugins. Most features have already been implemented properly and I just need to adapt them to support for plugins from the store.

A design choice

I have been hesitating about the following design choice: should we move those features above to a subtab in the resource manager(①), or simply keep it as is in the plugin manager(②)?

choice-1.png
choice-2.png

I originally liked ① because it makes the whole workflow for a plugin in a single dialog, which seems more convenient. But later I realized this indicated removing the original plugin manager, and maybe I shouldn't change that much...

Your opinion on the decision is welcomed.


Comments

Since you were going to add the Installed Plugins tab anyway, it only makes sense to me that you'd be able to perform the functions included in the current Plugin Manager.

I'd integrate it and remove the current Plugin Manager; the existing menu entry could stay and open up the Resource Manager on this specific tab.

In reply to by jeetee

Since you were going to add the Installed Plugins tab anyway...
Well... it's not a must and I could also remove the subtabs if we're considering ②, though I indeed designed those two subtabs at the beginning...

the existing menu entry could stay and open up the Resource Manager on this specific tab
Sounds like a good idea!