Fix opening DockWidget views
The dock widget opening system had several issues,
1 - it didn't deal with translations
2 - it didn't deal with accelerator keys
3 - it crashed if passed a invalid string (like when using KDE, happened
for all options)
This new way of using the views are slightly different:
1 - no more string comparissons, use integer comparissons (much faster)
2 - do not use a convoluted if/else - switch simplify.
3 - do not create two different static variable strings for the same stuff
4 - create an enum / an vector of strings (the enums bein an index of it)
to acess the correct view.
The overall code is clear than the old one, and faster.
the only point where the code isn't as clear is on the call to
showDockWidgetAction, since we passed a string that had the
name of the Widget, but now the action only holds the index
for the name in the string vector, I first need to get the
correct string and send it.
Tested here closing and reopening the app and verifying that
the dock widgets that where left open are still open when
reopening the application.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Showing
Please register or sign in to comment