STYLE: Remove non-existing qrc reference

Remove odd relative path reference to a .qrc file in a ".designer"
directory, that is not part of the repository and likely does not exist
on most machines.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23165 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Initial work refactoring extension manager

After a losing battle trying to make the tree widget not use half the
space for the buttons, replace it with a list widget. Change the buttons
to have a stacked layout without enforced horizontal size, which gives
much more space to the extension text, add some padding so the icons
aren't so tight against each other, and increase the font size of the
extension name. Also, replace the random clipart icons with our own.

NOTE: Minimum size for the list items is not working correctly at the
moment. The text rendering needs some additional refactoring in order to
provide a correct minimum size, and a size hint needs to be set
explicitly on the list items.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23166 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix extension manager item sizing

Refactor qSlicerExtensionsDescriptionLabel to manage the text internally
as our own QTextDocument instance, and to do the painting ourselves.
This gives us greater control over the painting with less work, and
greatly simplifies producing a correct size hint, since we can just ask
the document for its size and get a correct answer regardless of
formatting, rather than trying to compute it ourselves from font
metrics. Now that we have a reasonable size hint, also use it to set the
item size hint, which ensures that the items are sufficiently tall e.g.
in case of the extra text line when an extension is incompatible.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23167 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Improve display of disabled extensions

Change extension manager to append '(disabled)' after the extension name
when an extension is disabled, and to use disabled text color, which is
both more consistent with the icon display, and improves recognizability
of disabled extensions.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23168 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Include ID in extension model

Change qSlicerExtensionsManagerModel to not remove the extension_id from
the extension metadata. The ID is needed to find the extension
information page, which we would eventually like to be accessible for
installed extensions.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23169 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Simplify metadata stripping

Rather than iterating over the whole metadata and copying keys one at a
time if not in the 'ignore' set, just copy the whole thing en-masse and
remove the unwanted values. This gives simpler code.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23170 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add 'More' link in extension manager (1/2)

Use the newly available extension ID to provide a 'More' link in the
extension manager. Add necessary code to implement link signals in
qSlicerExtensionsDescriptionLabel.

This is part 1 of 2; the links are not yet functional as we currently
lack a way to open the page. (We don't want to use the web view for
installing, as that would cause an undesired switch to the 'install'
tab.)

Note that the QSignalMapper for links is removed, as it is not needed;
the link URL provides the necessary information and can be used
directly.

Issue #3608

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23171 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add 'More' link in extension manager (2/2)

Add another web browser to extension manager to show details pages for
installed extensions Refactor navigation buttons so that they are
available for both tabs (different set of actual buttons, but same
concept). Tweak qSlicerExtensionsInstallWidget (which we need to use as
the browser, for various reasons, including so that we have 'uninstall'
rather than 'download' buttons) to have an option to not load the
'browse available extensions' page.

Issue #3608

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23172 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Always return to extensions list

Tweak extension manager to navigate the manage browser back to the
initial page on changing tabs, so that when the user changes to the
'install' tab and back to the 'manage' tab, they always see the list of
installed extensions.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23173 3bd1e089-480b-0410-8dfb-8563597acbee