From 16737ac42fc18488647cffc31213daa657a6ec5a Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 15 Dec 2011 11:25:47 +0000 Subject: [PATCH] + save/restore visibility of status bar git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5305 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d --- src/Gui/CommandWindow.cpp | 15 ++++++++++++++- src/Gui/MainWindow.cpp | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Gui/CommandWindow.cpp b/src/Gui/CommandWindow.cpp index f35a2dce24..7411359993 100644 --- a/src/Gui/CommandWindow.cpp +++ b/src/Gui/CommandWindow.cpp @@ -358,7 +358,7 @@ Action * StdCmdToolBarMenu::createAction(void) // Std_ViewStatusBar //=========================================================================== -DEF_STD_CMD_C(StdCmdStatusBar); +DEF_STD_CMD_AC(StdCmdStatusBar); StdCmdStatusBar::StdCmdStatusBar() : Command("Std_ViewStatusBar") @@ -385,6 +385,19 @@ void StdCmdStatusBar::activated(int iMsg) getMainWindow()->statusBar()->setShown(iMsg != 0); } +bool StdCmdStatusBar::isActive() +{ + static bool checked = false; + if (!checked) { + Action* act = this->getAction(); + if (act) { + act->setChecked(getMainWindow()->statusBar()->isVisible()); + checked = true; + } + } + return true; +} + //=========================================================================== // Std_WindowsMenu //=========================================================================== diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index dcb916ce4c..09f13d19b3 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -1233,6 +1233,8 @@ void MainWindow::loadWindowSettings() bool max = config.value(QString::fromAscii("Maximized"), false).toBool(); max ? showMaximized() : show(); + + statusBar()->setVisible(config.value(QString::fromAscii("StatusBar"), true).toBool()); config.endGroup(); config.endGroup(); @@ -1256,6 +1258,7 @@ void MainWindow::saveWindowSettings() config.setValue(QString::fromAscii("Position"), this->pos()); config.setValue(QString::fromAscii("Maximized"), this->isMaximized()); config.setValue(QString::fromAscii("MainWindowState"), this->saveState()); + config.setValue(QString::fromAscii("StatusBar"), this->statusBar()->isVisible()); config.endGroup(); config.endGroup();