diff --git a/src/MainWindow.h b/src/MainWindow.h index 6b15889f..c0a9844e 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -75,6 +75,7 @@ private: void compile(bool procevents); void compileCSG(bool procevents); bool maybeSave(); + bool checkModified(); static void consoleOutput(const QString &msg, void *userdata) { static_cast(userdata)->console->append(msg); } diff --git a/src/mainwin.cc b/src/mainwin.cc index cdd7c6fb..f6b7a535 100644 --- a/src/mainwin.cc +++ b/src/mainwin.cc @@ -932,7 +932,7 @@ void MainWindow::actionSaveAs() void MainWindow::actionReload() { - load(); + if (checkModified()) load(); } void MainWindow::hideEditor() @@ -991,7 +991,7 @@ void MainWindow::autoReloadSet(bool on) } } -void MainWindow::actionReloadCompile() +bool MainWindow::checkModified() { if (editor->isContentModified()) { QMessageBox::StandardButton ret; @@ -1001,9 +1001,15 @@ void MainWindow::actionReloadCompile() QMessageBox::Yes | QMessageBox::No); if (ret != QMessageBox::Yes) { designActionAutoReload->setChecked(false); - return; + return false; } } + return true; +} + +void MainWindow::actionReloadCompile() +{ + if (!checkModified()) return; console->clear();