Fix unexpected behaviour when changing 'Show menu bar in new window' property. This property is now only applied once to a Konsole window. Subsequent changes to the setting have no effect until new windows are created.

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=754731
wilder-portage
Robert Knight 18 years ago
parent 7d9e26be3f
commit 845a29f66f
  1. 17
      src/MainWindow.cpp
  2. 3
      src/MainWindow.h

@ -58,7 +58,8 @@ using namespace Konsole;
MainWindow::MainWindow()
: KXmlGuiWindow() ,
_bookmarkHandler(0),
_pluggedController(0)
_pluggedController(0),
_menuBarVisibilitySet(false)
{
// create actions for menus
// the directory ('konsole') is included in the path here so that the XML
@ -75,8 +76,8 @@ MainWindow::MainWindow()
connect( _viewManager , SIGNAL(viewPropertiesChanged(const QList<ViewProperties*>&)) ,
bookmarkHandler() , SLOT(setViews(const QList<ViewProperties*>&)) );
connect( _viewManager , SIGNAL(setMenuBarVisibleRequest(bool)) , menuBar() ,
SLOT(setVisible(bool)) );
connect( _viewManager , SIGNAL(setMenuBarVisibleRequest(bool)) , this ,
SLOT(setMenuBarVisibleOnce(bool)) );
connect( _viewManager , SIGNAL(newViewRequest()) , this , SLOT(newTab()) );
// create main window widgets
@ -93,6 +94,16 @@ MainWindow::MainWindow()
setAutoSaveSettings("MainWindow",true);
}
void MainWindow::setMenuBarVisibleOnce(bool visible)
{
if (_menuBarVisibilitySet)
return;
menuBar()->setVisible(visible);
_menuBarVisibilitySet = true;
}
void MainWindow::correctShortcuts()
{
// replace F1 shortcut for help contents

@ -94,6 +94,7 @@ class MainWindow : public KXmlGuiWindow
*/
QString defaultProfile() const;
signals:
/**
* Emitted by the main window to request the creation of a new session.
@ -142,6 +143,7 @@ class MainWindow : public KXmlGuiWindow
void sessionListChanged(const QList<QAction*>& actions);
void viewFullScreen(bool fullScreen);
void configureNotifications();
void setMenuBarVisibleOnce(bool visible);
private:
void correctShortcuts();
@ -158,6 +160,7 @@ class MainWindow : public KXmlGuiWindow
QPointer<SessionController> _pluggedController;
QString _defaultProfile;
bool _menuBarVisibilitySet;
};
}

Loading…
Cancel
Save