summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordeva <deva>2009-07-03 06:24:12 +0000
committerdeva <deva>2009-07-03 06:24:12 +0000
commitf2a1b2e0384ca06c89d52111ea1eb11519a5f625 (patch)
tree96bd704f81f261962acb7624e7ca5c3f4cc3c212
parent9a773bc9ed736301b5ac6f6f8798056194398011 (diff)
Fixed bug, where requirements were not updated on commits.
-rw-r--r--client/macro.cc5
-rw-r--r--client/macro.h2
-rw-r--r--client/mainwindow.cc13
3 files changed, 19 insertions, 1 deletions
diff --git a/client/macro.cc b/client/macro.cc
index dbe34f5..650a352 100644
--- a/client/macro.cc
+++ b/client/macro.cc
@@ -35,7 +35,12 @@
Macro::Macro(QDomNode &n)
{
window = NULL;
+
+ update(n);
+}
+void Macro::update(QDomNode &n)
+{
node = n.cloneNode(true);
QDomElement xml_elem = node.toElement();
diff --git a/client/macro.h b/client/macro.h
index f79583c..4adaf09 100644
--- a/client/macro.h
+++ b/client/macro.h
@@ -46,6 +46,8 @@ public:
void init(QBoxLayout *layout, Macros &macros, bool initialising, NetCom &netcom, QString course);
+ void update(QDomNode &node);
+
QString name;
QString caption;
diff --git a/client/mainwindow.cc b/client/mainwindow.cc
index c59a877..39921b0 100644
--- a/client/mainwindow.cc
+++ b/client/mainwindow.cc
@@ -131,7 +131,6 @@ void MainWindow::update()
QString macroname = macroelement.attribute("name");
bool found = false;
-
Macros::iterator i = macros.begin();
while(i != macros.end()) {
if(i->name == macroname) found |= true;
@@ -144,6 +143,18 @@ void MainWindow::update()
Macro macro(macronode);
macros[num + macro.name] = macro;
}
+
+ if(found) {
+
+ Macros::iterator i = macros.begin();
+ while(i != macros.end()) {
+ if(i->name == macroname) {
+ i->update(macronode);
+ }
+ i++;
+ }
+
+ }
}
{