Due to the previous design, if the user loaded several policies with
different MLS on/off settings, the MLS-only analyses would continue
to appear, even if MLS was not enabled in the policy.
Also revise to override QDialog accept and show methods to bring in line
with typical design.
* Close all tabs when closing the policy
* Close the policy if using the "open policy" action and policy load
succeeds.
* Warn the user the above actions will close analysis tabs
(if any tabs are open)
* Set analysis widgets to delete on close since widgets are not deleted
by QTabWidget.clear() or .removeTab()
Revise ordering of initialization so log messages about permisison map and
policy loading can be seen on the status bar. Also fix exception handling
so a failure loading the policy specified on the CLI is handled.
Connect all setools and setoolsgui INFO+ messages and display them on
the statusbar.
Use each tab's analysis/query INFO+ messages and display them on the
"busy" status dialog box.
Still keep the CLI messaging controlled by -v or --debug switches. For some
reason, the root logging had to be DEBUG for this to work, and
only as initialized by basicConfig. Setting a NullHandler to DEBUG level
didn't work either.
Tab renaming methods:
* double click the tab
* context menu on tab bar
Also:
* change initial tab name to include a number based on the total number
of tabs that have been opened.
* add tool tip to tab of the analysis type.
* add explicit close tab function to ensure analysis widgets are deleted.
1. add icons for opening policy and new analysis
2. add shortcuts for copy, cut, paste
3. add filename to apol main window title
4. fix file chooser bug for selecting a policy.
5. improved handling where new analysis is started w/o open policy