From: Manuel Nickschas Date: Thu, 27 Aug 2009 16:40:44 +0000 (+0200) Subject: Make menubar hideable X-Git-Tag: 0.5-rc2~91 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=b856748999df4fdf3092afca52bc584fa07a2cc1 Make menubar hideable Closes #756. --- diff --git a/icons/oxygen.qrc b/icons/oxygen.qrc index 02bf618a..813f86be 100644 --- a/icons/oxygen.qrc +++ b/icons/oxygen.qrc @@ -236,6 +236,7 @@ oxygen/16x16/actions/zoom-in.png oxygen/16x16/actions/im-kick-user.png oxygen/16x16/actions/zoom-out.png + oxygen/16x16/actions/show-menu.png oxygen/16x16/actions/application-exit.png oxygen/16x16/actions/im-ban-user.png oxygen/16x16/actions/go-down.png diff --git a/icons/oxygen/16x16/actions/show-menu.png b/icons/oxygen/16x16/actions/show-menu.png new file mode 100644 index 00000000..a55df20b Binary files /dev/null and b/icons/oxygen/16x16/actions/show-menu.png differ diff --git a/icons/oxygen/scalable/actions/show-menu.svgz b/icons/oxygen/scalable/actions/show-menu.svgz new file mode 100644 index 00000000..3f19a26f Binary files /dev/null and b/icons/oxygen/scalable/actions/show-menu.svgz differ diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 451bc240..d14ebec7 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -300,8 +300,11 @@ void MainWin::setupActions() { 0, 0, QKeySequence::Find))->setCheckable(true); coll->addAction("ShowAwayLog", new Action(tr("Show Away Log"), coll, this, SLOT(showAwayLog()))); + coll->addAction("ToggleMenuBar", new Action(SmallIcon("show-menu"), tr("Show &Menubar"), coll, + 0, 0, tr("Ctrl+M")))->setCheckable(true); + coll->addAction("ToggleStatusBar", new Action(tr("Show Status &Bar"), coll, - 0, 0))->setCheckable(true); + 0, 0))->setCheckable(true); // Settings coll->addAction("ConfigureQuassel", new Action(SmallIcon("configure"), tr("&Configure Quassel..."), coll, @@ -357,20 +360,22 @@ void MainWin::setupMenus() { _bufferViewsMenu->addAction(coll->action("ConfigureBufferViews")); _toolbarMenu = _viewMenu->addMenu(tr("&Toolbars")); _viewMenu->addSeparator(); + + _viewMenu->addAction(coll->action("ToggleMenuBar")); + _viewMenu->addAction(coll->action("ToggleStatusBar")); _viewMenu->addAction(coll->action("ToggleSearchBar")); coreAction = coll->action("ShowAwayLog"); flagRemoteCoreOnly(coreAction); _viewMenu->addAction(coreAction); - _viewMenu->addAction(coll->action("ToggleStatusBar")); _viewMenu->addSeparator(); _viewMenu->addAction(coll->action("LockLayout")); _settingsMenu = menuBar()->addMenu(tr("&Settings")); #ifdef HAVE_KDE - _settingsMenu->addAction(KStandardAction::keyBindings(this, SLOT(showShortcutsDlg()), this)); _settingsMenu->addAction(KStandardAction::configureNotifications(this, SLOT(showNotificationsDlg()), this)); + _settingsMenu->addAction(KStandardAction::keyBindings(this, SLOT(showShortcutsDlg()), this)); #endif _settingsMenu->addAction(coll->action("ConfigureQuassel")); @@ -390,6 +395,17 @@ void MainWin::setupMenus() { _helpDebugMenu->addAction(coll->action("DebugLog")); _helpDebugMenu->addSeparator(); _helpDebugMenu->addAction(coll->action("ReloadStyle")); + + // Toggle visibility + QAction *showMenuBar = QtUi::actionCollection("General")->action("ToggleMenuBar"); + + QtUiSettings uiSettings; + bool enabled = uiSettings.value("ShowMenuBar", QVariant(true)).toBool(); + showMenuBar->setChecked(enabled); + enabled ? menuBar()->show() : menuBar()->hide(); + + connect(showMenuBar, SIGNAL(toggled(bool)), menuBar(), SLOT(setVisible(bool))); + connect(showMenuBar, SIGNAL(toggled(bool)), this, SLOT(saveMenuBarStatus(bool))); } void MainWin::setupBufferWidget() { @@ -618,6 +634,11 @@ void MainWin::setupHotList() { _bufferHotList = new BufferHotListFilter(flatProxy); } +void MainWin::saveMenuBarStatus(bool enabled) { + QtUiSettings uiSettings; + uiSettings.setValue("ShowMenuBar", enabled); +} + void MainWin::saveStatusBarStatus(bool enabled) { QtUiSettings uiSettings; uiSettings.setValue("ShowStatusBar", enabled); diff --git a/src/qtui/mainwin.h b/src/qtui/mainwin.h index dd0459c5..63c0ca06 100644 --- a/src/qtui/mainwin.h +++ b/src/qtui/mainwin.h @@ -138,6 +138,7 @@ class MainWin void clientNetworkUpdated(); void connectOrDisconnectFromNet(); + void saveMenuBarStatus(bool enabled); void saveStatusBarStatus(bool enabled); void loadLayout();