diff options
author | Lukáš Lalinský <lalinsky@gmail.com> | 2008-12-07 18:14:17 +0100 |
---|---|---|
committer | Lukáš Lalinský <lalinsky@gmail.com> | 2008-12-07 18:14:17 +0100 |
commit | 53a009718e0c1dc13f65eaab575c1445eb4503f0 (patch) | |
tree | 821facd912e28b4f5d62792e9ba826e4bde8f003 | |
parent | 613647f385e6b7d0f1e3eba6d2b29f2d8baf7044 (diff) | |
download | dbmodel-53a009718e0c1dc13f65eaab575c1445eb4503f0.tar.gz dbmodel-53a009718e0c1dc13f65eaab575c1445eb4503f0.tar.bz2 |
Run maybeSave() before opening or creating a new document
-rw-r--r-- | src/mainwindow.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a145be1..43776dd 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -336,7 +336,7 @@ MainWindow::saveFile(const QString &fileName) bool MainWindow::maybeSave() { - if (!m_model->undoStack()->isClean()) { + if (m_model && !m_model->undoStack()->isClean()) { QMessageBox::StandardButton button = QMessageBox::warning(this, QString(), tr("The document has been modified.\nDo you want to save your changes?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); @@ -351,6 +351,8 @@ MainWindow::maybeSave() void MainWindow::open() { + if (!maybeSave()) + return; QString fileName = QFileDialog::getOpenFileName(this, QString(), QString(), "Database Model (*.dmf)"); if (!fileName.isNull()) loadFile(fileName); @@ -414,8 +416,11 @@ MainWindow::exportPNG() void MainWindow::newModel(DiagramDocument *newModel) { - if (!newModel) + if (!newModel) { + if (!maybeSave()) + return; newModel = new DiagramDocument(this); + } m_view->setScene(newModel); if (m_model) { |