Completed "abort save on close" feature

This commit is contained in:
graffy76 2013-03-02 09:22:44 -06:00
parent f85be6a744
commit a2e36594c9
3 changed files with 15 additions and 14 deletions

View file

@ -121,9 +121,9 @@ void CSVDoc::View::updateActions()
mVerify->setEnabled (!(mDocument->getState() & CSMDoc::State_Verifying)); mVerify->setEnabled (!(mDocument->getState() & CSMDoc::State_Verifying));
} }
CSVDoc::View::View (ViewManager& viewManager, CSMDoc::Document *document, int totalViews) //, QMainWindow *viewParent) CSVDoc::View::View (ViewManager& viewManager, CSMDoc::Document *document, int totalViews)
: mViewManager (viewManager), mDocument (document), mViewIndex (totalViews-1), : mViewManager (viewManager), mDocument (document), mViewIndex (totalViews-1),
mViewTotal (totalViews) //, QMainWindow (viewParent) mViewTotal (totalViews)
{ {
setAttribute (Qt::WA_DeleteOnClose, true); setAttribute (Qt::WA_DeleteOnClose, true);
setDockOptions (QMainWindow::AllowNestedDocks); setDockOptions (QMainWindow::AllowNestedDocks);

View file

@ -67,7 +67,7 @@ namespace CSVDoc
public: public:
View (ViewManager& viewManager, CSMDoc::Document *document, int totalViews); //, QMainWindow *viewParent); View (ViewManager& viewManager, CSMDoc::Document *document, int totalViews);
///< The ownership of \a document is not transferred to *this. ///< The ownership of \a document is not transferred to *this.
virtual ~View(); virtual ~View();

View file

@ -171,22 +171,22 @@ bool CSVDoc::ViewManager::showSaveInProgressMessageBox (View* view)
messageBox.setInformativeText("Do you want to abort the save?"); messageBox.setInformativeText("Do you want to abort the save?");
messageBox.setStandardButtons (QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); messageBox.setStandardButtons (QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);
bool retVal = false; bool retVal = true;
switch (messageBox.exec()) switch (messageBox.exec())
{ {
case QMessageBox::Yes: case QMessageBox::Yes: //immediate shutdown
mCloseMeOnSaveStateChange = 0;
view->abortOperation(CSMDoc::State_Saving); view->abortOperation(CSMDoc::State_Saving);
// mCloseMeOnSaveStateChange = view; break;
case QMessageBox::No: //shutdown after save completes
mCloseMeOnSaveStateChange = view;
retVal = false; retVal = false;
break; break;
case QMessageBox::No: case QMessageBox::Cancel: //abort shutdown, allow save to complete
//mCloseMeOnSaveStateChange = view; mCloseMeOnSaveStateChange = 0;
retVal = false;
break;
case QMessageBox::Cancel:
retVal = false; retVal = false;
break; break;
@ -207,13 +207,14 @@ void CSVDoc::ViewManager::documentStateChanged (int state, CSMDoc::Document *doc
qDebug() << "Last state was saving"; qDebug() << "Last state was saving";
else else
qDebug() << "Last state was something else"; qDebug() << "Last state was something else";
/*
//mechanism to shutdown main window after saving operation completes
if (mCloseMeOnSaveStateChange && (mPreviousDocumentState & CSMDoc::State_Saving)) if (mCloseMeOnSaveStateChange && (mPreviousDocumentState & CSMDoc::State_Saving))
{ {
mCloseMeOnSaveStateChange->close(); mCloseMeOnSaveStateChange->close();
mCloseMeOnSaveStateChange = 0; mCloseMeOnSaveStateChange = 0;
} }
*/
mPreviousDocumentState = state; mPreviousDocumentState = state;
} }