Fix Assistant crash when closing last tab.
authorJanne Anttila <janne.anttila@digia.com>
Mon, 16 Apr 2012 08:25:10 +0000 (11:25 +0300)
committerQt by Nokia <qt-info@nokia.com>
Tue, 24 Apr 2012 09:52:06 +0000 (11:52 +0200)
Disable 'Close Tab' action from 'File' menu  for last tab to avoid
crash. Context menu 'close' actions in "open pages" widget, are already
disabled under same conditions.

Task-number: QTBUG-23986
Change-Id: I7f285f4511c40a7e822372355cad4eadf3922306
Reviewed-by: Karsten Heimrich <karsten.heimrich@nokia.com>
src/assistant/assistant/mainwindow.cpp
src/assistant/assistant/mainwindow.h

index 4b5788f..8065c59 100644 (file)
@@ -440,6 +440,7 @@ void MainWindow::setupActions()
 #endif
 
     QMenu *menu = menuBar()->addMenu(tr("&File"));
+    connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowFileMenu()));
 
     OpenPagesManager * const openPages = OpenPagesManager::instance();
     m_newTabAction
@@ -1096,4 +1097,13 @@ void MainWindow::registerDocumentation(const QString &component,
     }
 }
 
+void MainWindow::aboutToShowFileMenu()
+{
+    OpenPagesManager * const openPages = OpenPagesManager::instance();
+    if (openPages->pageCount() > 1)
+        m_closeTabAction->setEnabled(true);
+    else
+        m_closeTabAction->setEnabled(false);
+}
+
 QT_END_NAMESPACE
index 4ad5b3d..f3d18a3 100644 (file)
@@ -136,6 +136,7 @@ private:
 private slots:
     void showBookmarksDockWidget();
     void hideBookmarksDockWidget();
+    void aboutToShowFileMenu();
 
 private:
     QWidget *m_bookmarkWidget;