summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/client.pro2
-rw-r--r--client/mainwindow.cc24
-rw-r--r--client/mainwindow.h1
3 files changed, 26 insertions, 1 deletions
diff --git a/client/client.pro b/client/client.pro
index 375818f..893d25d 100644
--- a/client/client.pro
+++ b/client/client.pro
@@ -16,7 +16,7 @@ debug {
DEFINES+=USE_DEBUG
}
-DEFINES+=VERSION=\\\"2.2.2\\\"
+DEFINES+=VERSION=\\\"2.2.4\\\"
win32 {
QMAKE_LIBDIR += lua/lib
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());
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);