From 92bbbc95c8398b5f4afe1a45b54fb071c531dbcc Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Tue, 6 Jan 2009 17:03:08 +0100
Subject: [PATCH] Fixes:    - Make the "Toggle Sidebar" button be a toggle
 button

Task:     - 235542
---
 src/plugins/coreplugin/mainwindow.cpp       | 1 +
 src/plugins/coreplugin/navigationwidget.cpp | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 2a9fff0f4e3..f68c5da7d06 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -625,6 +625,7 @@ void MainWindow::registerDefaultActions()
     // Toggle Sidebar Action
     m_toggleSideBarAction = new QAction(QIcon(Constants::ICON_TOGGLE_SIDEBAR),
                                         tr("Toggle Sidebar"), this);
+    m_toggleSideBarAction->setCheckable(true);
     cmd = am->registerAction(m_toggleSideBarAction, Constants::TOGGLE_SIDEBAR, m_globalContext);
 #ifdef Q_OS_MAC
     cmd->setDefaultKeySequence(QKeySequence("Ctrl+0"));
diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp
index 9bbb4323d21..412559a9b0a 100644
--- a/src/plugins/coreplugin/navigationwidget.cpp
+++ b/src/plugins/coreplugin/navigationwidget.cpp
@@ -166,6 +166,7 @@ int NavigationWidget::storedWidth()
 void NavigationWidget::placeHolderChanged(NavigationWidgetPlaceHolder *holder)
 {
     m_toggleSideBarAction->setEnabled(holder);
+    m_toggleSideBarAction->setChecked(holder && isShown());
 }
 
 void NavigationWidget::resizeEvent(QResizeEvent *re)
@@ -281,8 +282,12 @@ void NavigationWidget::setShown(bool b)
     if (m_shown == b)
         return;
     m_shown = b;
-    if (NavigationWidgetPlaceHolder::m_current)
+    if (NavigationWidgetPlaceHolder::m_current) {
         NavigationWidgetPlaceHolder::m_current->setVisible(m_shown && !m_suppressed);
+        m_toggleSideBarAction->setChecked(m_shown);
+    } else {
+        m_toggleSideBarAction->setChecked(false);
+    }
 }
 
 bool NavigationWidget::isShown() const
-- 
GitLab