GUI: Prevent exiting the application while checking.

This commit is contained in:
Kimmo Varis 2009-06-04 17:02:35 +03:00
parent 6d37cd0371
commit c9ceccfd3d
4 changed files with 32 additions and 0 deletions

View File

@ -359,6 +359,22 @@ void MainWindow::UncheckAll()
ToggleAllChecked(false);
}
void MainWindow::closeEvent(QCloseEvent *event)
{
// Check that we aren't checking files
if (!mThread.IsChecking())
event->accept();
else
{
QString msg(tr("Cannot exit while checking.\n\n" \
"Stop the checking before exiting."));
QMessageBox *box = new QMessageBox(QMessageBox::Warning,
tr("cppcheck"), msg);
box->show();
event->ignore();
}
}
void MainWindow::ToggleAllChecked(bool checked)
{
mActionShowAll.setChecked(checked);

View File

@ -141,6 +141,11 @@ protected slots:
void ResultsAdded();
protected:
/**
* @brief Event coming when application is about to close.
*/
virtual void closeEvent(QCloseEvent *event);
/**
* @brief Helper function to toggle all show error menu items
* @param checked Should all errors be shown (true) or hidden (false)

View File

@ -71,6 +71,11 @@ void ThreadHandler::Check(Settings settings, bool recheck)
}
}
bool ThreadHandler::IsChecking() const
{
return mRunningThreadCount > 0;
}
void ThreadHandler::SetThreadCount(const int count)
{
if (mRunningThreadCount > 0 ||

View File

@ -85,6 +85,12 @@ public:
*/
void Check(Settings settings, bool recheck);
/**
* @brief Is checking running?
*
* @return true if check is running, false otherwise.
*/
bool IsChecking() const;
signals:
/**