DMS-Aus/Roam — pull request #145 by HeatherHillers (2014-07-07 16:23:14+00:00)
Title: Allow Project to configure which plugins should be loaded.

Moved the logic for loading plugins to when the Project is opened.

Map and Legend Buttons are always loaded.
Additional plugins are loaded if they are listed in the Projects Settings.config
All Projectbuttons, including legend and map, are cleared when the Project widget is opened to Change Projects

Issue:

This is pretty hacky, as you can see. It works but it's not pretty. I think it would be cleaner if there was a separate Container for Default plugins (Legend) and configurable plugins (Project plugins) and Map was on it's own.

Then:

mainwindow::unloadpages would remove all and only configurable plugins and setprojectbuttonstate(False), so that the remaining Default and Map were hidden

Project::getPlugins would no longer append Default plugins to the configurable plugins.

There would be a call in main or in mainwindow::init to load Default plugins (if that turns out to be neccessary.) a call to setprojectbuttonstate(True) should be sufficient, from openProject or projectLoaded should be sufficient, I think.