From db3b3fed726527600aa37f3310de13439571f04d Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 7 Sep 2012 10:28:47 +0200 Subject: Disable all macro entities when commit/nocommit/discard has been pressed, until an answer has been received. --- client/mainwindow.cc | 18 ++++++++++++++++++ client/mainwindow.h | 1 + 2 files changed, 19 insertions(+) diff --git a/client/mainwindow.cc b/client/mainwindow.cc index 756f759..7bf4116 100644 --- a/client/mainwindow.cc +++ b/client/mainwindow.cc @@ -161,6 +161,14 @@ bool MainWindow::hasOpen(void *me) return false; } +void MainWindow::enableEntities(bool enable) +{ + Entities::iterator i = entities.begin(); + while(i != entities.end()) { + i.value()->widget()->setEnabled(enable); + i++; + } +} void MainWindow::closeCommit() { @@ -171,6 +179,9 @@ void MainWindow::closeCommit() tr("Close open macros first.")); return; } + + enableEntities(false); + netcom.commit(); // isStored = true; closing = true; @@ -185,6 +196,9 @@ void MainWindow::closeNoCommit() tr("Close open macros first.")); return; } + + enableEntities(false); + netcom.nocommit(); // isStored = true; closing = true; @@ -209,6 +223,8 @@ void MainWindow::closeDiscard() MessageBox::Yes | MessageBox::No); if(res == MessageBox::Yes) { + enableEntities(false); + netcom.discard(); // isStored = true; closing = true; @@ -394,6 +410,8 @@ void MainWindow::setTemplate(QString name) void MainWindow::handle(QDomDocument &doc) { + enableEntities(true); + DEBUG(mainwindow, "Handle %s\n", doc.toString().toStdString().c_str()); diff --git a/client/mainwindow.h b/client/mainwindow.h index ad96154..70519b3 100644 --- a/client/mainwindow.h +++ b/client/mainwindow.h @@ -65,6 +65,7 @@ public slots: void setTemplate(QString name); private: + void enableEntities(bool enable); void updateTemplates(QDomNodeList &nodes); void updateMacros(QDomNodeList &nodes); void updateTemplateHeaders(QDomNode &templatenode); -- cgit v1.2.3