diff options
-rw-r--r-- | src/MainWindow.h | 1 | ||||
-rw-r--r-- | src/mainwin.cc | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/MainWindow.h b/src/MainWindow.h index 6b15889..c0a9844 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<MainWindow*>(userdata)->console->append(msg); } diff --git a/src/mainwin.cc b/src/mainwin.cc index cdd7c6f..f6b7a53 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(); |