Page MenuHomePhabricator

About dialog should be customizable
Closed, ResolvedPublic

Description

There about dialog is hardcoded at the moment. Tu support different applications like chocolate and diffusion, the dialog should be customizable. For example with methods like SetContributorNames(...).

Event Timeline

[d5dea8]: Merge branch 'bug-9880-CustomizableAboutDialog'

Merged commits:

2012-05-16 15:23:54 Stefan Kislinskiy [7b3417]
Caption text, revision text and about text is accessible now.

Although the about dialog is customizable in principle now, it is newly created every time it is opened through the menu and therefore all changes are lost.

Additionally cleaned up default about dialog.

Removing the list of third party libraries and their used version numbers was not good. Such changes *must* be discussed in the MITK meeting!

For released application versions, we need that list with accurate information.

It was removed since all that (up-to-date) information is included in a new documentation page which Caspar created. It was declared as good idea in a bug squashing meeting back then. :)

The up to date information on the web page is not necessarily the correct information for the about dialog of whatever exe the user happens to have. It is of more interest what version of what toolkit the application was build with instead of what we theoretically support at the time if reading.

So this bug has two objectives:

  1. Automatically recognize the versions of toolkits used in the build und supplying corresponding information to the about dialog.
  1. The original point is still valid. It should be possible to customize the about dialog at application level.

Ideally the application is supplied with the necessary information and can build its own about dialog from those components.


A pseudocode example what I envison:

QmitkAboutDialogConfigurer* configurer = WorkbenchWindowadvisor->GetAboutDialogConfigurer();

// Set the big heading
QString customCaption("My Application");
configurer->SetCaption(customCaption);

// Set version
QString customVersion("Version 1.0\n based on" + configurer->GetMITKVersion() );
configurer->SetVersion(customVersion);

// Set about dialog
QString customAbout("Long long Text\n across many lines,\n maybe load from xml?");
configurer->UseCustomAbout( true );
configurer->SetCustomAbout( customAbout );
configurer->AddDefaultBasedOnMITKSection( true );
configurer->AddThirdPartyLibsSection( true );
configurer->ShowModulesButton( false );

or something similar. This way we can have an MITK default about text, give people the option to create their own completely customized about or use our default "we are using MITK, see Y for more information" and "this was build using the following versions of X" building blocks.

Attached an example of how a custom application might want to modify the default dialog as provided by MITK.

about.png (887×572 px, 60 KB)

This exmaple uses the current default dialog, so has rather limited information about the used toolkit versions...

We had the version information of the used toolkits in the about dialog already. It has been removed (see comment #1 and comment #2) but not with consent from the core team.

I would be happy to see that code restored (have a look at the removed code by the commits in bug-9880-CustomizableAboutDialog).

This bug could not be fixed within the 2013-06 release and has medium severity. Setting target milestone to unspecified.

[7eb7e0]: Merge branch 'bug-9880-ShowItkVtkQtVersionsInAboutDialog'

Merged commits:

2013-08-14 14:51:29 Stefan Kislinskiy [5f13dd]
ITK, VTK, and Qt versions are shown in about dialog.

Clean-up: Please open a new bug if you have other feature requests than the ones already implemented.