From 05732251c115b3538879ca523c461572115c6526 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 23 Aug 2012 13:31:54 +0200 Subject: Block click on buttons while waiting for close. --- client/mainwindow.cc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'client/mainwindow.cc') diff --git a/client/mainwindow.cc b/client/mainwindow.cc index 121412e..9e62e5d 100644 --- a/client/mainwindow.cc +++ b/client/mainwindow.cc @@ -164,6 +164,8 @@ bool MainWindow::hasOpen(void *me) void MainWindow::closeCommit() { + if(closing) return; + if(hasOpen(NULL)) { MessageBox::warning(this, tr("Close first."), tr("Close open macros first.")); @@ -176,6 +178,8 @@ void MainWindow::closeCommit() void MainWindow::closeNoCommit() { + if(closing) return; + if(hasOpen(NULL)) { MessageBox::warning(this, tr("Close first."), tr("Close open macros first.")); @@ -188,6 +192,8 @@ void MainWindow::closeNoCommit() void MainWindow::closeDiscard() { + if(closing) return; + if(hasOpen(NULL)) { MessageBox::warning(this, tr("Close first."), tr("Close open macros first.")); -- cgit v1.2.3 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 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'client/mainwindow.cc') 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()); -- cgit v1.2.3