setupGUI() once again !!!
Sébastien Laoût
sebastien.laout at tuxfamily.org
Tue Jun 15 22:15:26 BST 2004
Hello,
Sorry, I'm late for this concern !
But I've browsed the patchs and I miss another automatisms :
Toggle menubar, toolbar, statusbar are left to the programer !
Idem for the save of them states.
So, after searching on how to do that for my app, I finnaly found !!
I propose to add the following lines/methods :
========================================================================
void KMainWindow::setupGUI( int options ) {
{
...
// Do them if the corresponding options are set :
m_actShowMenubar->setChecked( menuBar()->isShown() );
m_actShowToolbar->setChecked( toolBar()->isShown() );
m_actShowStatusbar->setChecked( statusBar()->isShown() );
// (but just after the createGUI(), of course !)
// m_act... are of course KToggleActions* I must keep in my
// app (don't want to get them by string) : have it
// automatized will save those variables.
...
}
void KMainWindow::toggleMenuBar()
{
if (menuBar()->isVisible())
menuBar()->hide();
else
menuBar()->show();
saveMainWindowSettings( KGlobal::config(), autoSaveGroup() );
}
void KMainWindow::toggleToolBar()
{
if (toolBar()->isVisible())
toolBar()->hide();
else
toolBar()->show();
saveMainWindowSettings( KGlobal::config(), autoSaveGroup() );
}
void KMainWindow::toggleStatusBar()
{
if (statusBar()->isVisible())
statusBar()->hide();
else
statusBar()->show();
saveMainWindowSettings( KGlobal::config(), autoSaveGroup() );
}
========================================================================
So, we won't even to bother of toggling stuff (that was difficult to
find for me).
And it's more logical : if we want a toolbar we want to be able to
show/hide it. Idem for menubar and statusbar (in the cunter case, the
app doesn't want to be a KDE app !!!). Those tasks are boring and
repetitive tasks.
Perhapse the problem should also be solved for apps with more than one
toolbar in a similar way.
Perhapse it's already integrated and I'm wrong.
My two cents (a lot of value for me ;-) ).
Sébastien Laoût.
More information about the kde-core-devel
mailing list