diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index f0ba17668..c73456a12 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -43,6 +43,7 @@ MainWindow::MainWindow() : mTranslation(new TranslationHandler(this)), mLanguages(new QActionGroup(this)), mLogView(NULL), + mHelpWindow(NULL), mExiting(false) { mUI.setupUi(this); @@ -110,6 +111,7 @@ MainWindow::MainWindow() : MainWindow::~MainWindow() { delete mLogView; + delete mHelpWindow; } void MainWindow::CreateLanguageMenuItems() @@ -457,6 +459,9 @@ void MainWindow::closeEvent(QCloseEvent *event) // Check that we aren't checking files if (!mThread->IsChecking()) { + delete mHelpWindow; + mHelpWindow = NULL; + SaveSettings(); event->accept(); } @@ -652,8 +657,12 @@ void MainWindow::OpenHelpContents() void MainWindow::OpenHtmlHelpContents() { - HelpWindow *helpWindow = new HelpWindow; - helpWindow->setVisible(true); + if (mHelpWindow == NULL) + mHelpWindow = new HelpWindow; + + mHelpWindow->show(); + if (!mHelpWindow->isActiveWindow()) + mHelpWindow->activateWindow(); } void MainWindow::OpenProjectFile() diff --git a/gui/mainwindow.h b/gui/mainwindow.h index dd1c939f5..146818e43 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -33,6 +33,7 @@ #include "ui_main.h" class ThreadHandler; class LogView; +class HelpWindow; /// @addtogroup GUI /// @{ @@ -327,6 +328,11 @@ protected: */ LogView *mLogView; + /** + * @brief Help window.. + */ + HelpWindow *mHelpWindow; + private: /**