diff options
| -rw-r--r-- | client/macro.cc | 5 | ||||
| -rw-r--r-- | client/macro.h | 2 | ||||
| -rw-r--r-- | client/mainwindow.cc | 13 | 
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 ¯os, 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++; +      } +             +    }    }    { | 
