summaryrefslogtreecommitdiff
path: root/client/mainwindow.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2012-09-07 11:08:05 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2012-09-07 11:08:05 +0200
commita105650f7520d4762c83ff6af52e80581fd1ab3d (patch)
tree4c1886292ca1bfbd891ba1e5a0481a58b9ca966c /client/mainwindow.cc
parent813b50f0c91805b22941bfb28758b49f8e00cb22 (diff)
parent39777a9f5ea2b0761028f6db6dbc071ea2ad7c60 (diff)
Merge branch 'master' of http://git.aasimon.org/public/pracro
Diffstat (limited to 'client/mainwindow.cc')
-rw-r--r--client/mainwindow.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/client/mainwindow.cc b/client/mainwindow.cc
index 2345644..7bf4116 100644
--- a/client/mainwindow.cc
+++ b/client/mainwindow.cc
@@ -161,14 +161,27 @@ 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()
{
+ if(closing) return;
+
if(hasOpen(NULL)) {
MessageBox::warning(this, tr("Close first."),
tr("Close open macros first."));
return;
}
+
+ enableEntities(false);
+
netcom.commit();
// isStored = true;
closing = true;
@@ -176,11 +189,16 @@ void MainWindow::closeCommit()
void MainWindow::closeNoCommit()
{
+ if(closing) return;
+
if(hasOpen(NULL)) {
MessageBox::warning(this, tr("Close first."),
tr("Close open macros first."));
return;
}
+
+ enableEntities(false);
+
netcom.nocommit();
// isStored = true;
closing = true;
@@ -188,6 +206,8 @@ void MainWindow::closeNoCommit()
void MainWindow::closeDiscard()
{
+ if(closing) return;
+
if(hasOpen(NULL)) {
MessageBox::warning(this, tr("Close first."),
tr("Close open macros first."));
@@ -203,6 +223,8 @@ void MainWindow::closeDiscard()
MessageBox::Yes | MessageBox::No);
if(res == MessageBox::Yes) {
+ enableEntities(false);
+
netcom.discard();
// isStored = true;
closing = true;
@@ -388,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());