Code

Swedish translation update by Elias.
[inkscape.git] / src / jabber_whiteboard / keynode.cpp
index b338a91fe31dec552a4c07d7d93cc438592ad9b9..60acf0ae932e1e032c9ce286dd22ac2b6ae4831f 100644 (file)
@@ -47,7 +47,7 @@ void KeyNodeTable::put(const Glib::ustring &key, const XML::Node *node)
         else
             iter++;
         }
-        
+
     //add new
     KeyNodePair pair(key, node);
     items.push_back(pair);
@@ -89,6 +89,63 @@ Glib::ustring KeyNodeTable::get(XML::Node *node) const
     return "";
 }
 
+unsigned int KeyNodeTable::incrementVersion(XML::Node *node)
+{
+    std::vector<KeyNodePair>::iterator iter;
+    for (iter = items.begin() ; iter != items.end() ; iter++)
+    {
+        if (node == iter->node)
+            break;
+    }
+    return ++iter->version;
+}
+
+unsigned int KeyNodeTable::getVersion(XML::Node *node)
+{
+    std::vector<KeyNodePair>::iterator iter;
+    for (iter = items.begin() ; iter != items.end() ; iter++)
+    {
+        if (node == iter->node)
+            break;
+    }
+    return iter->version;
+}
+
+void KeyNodeTable::addHistory(XML::Node *node, Glib::ustring attribute, Glib::ustring value)
+{
+    std::vector<KeyNodePair>::iterator iter;
+    for (iter = items.begin() ; iter != items.end() ; iter++)
+    {
+        if (node == iter->node)
+        {
+            Configure pair(attribute, value);
+            iter->history.push_back(pair);
+        }
+    }
+}
+
+Glib::ustring KeyNodeTable::getLastHistory(XML::Node *node, Glib::ustring att)
+{
+    std::list<Configure> hist;
+
+    std::vector<KeyNodePair>::iterator iter;
+    for (iter = items.begin() ; iter != items.end() ; iter++)
+    {
+        if (node == iter->node)
+            hist = iter->history;
+    }
+
+    std::list<Configure>::iterator it;
+    for(it = hist.end() ; it != hist.begin() ; it--)
+    {
+        if(it->first == att)
+        {
+            //g_warning("hist %s %s",it->first,it->second);
+            return it->second;
+        }
+    }
+    return "";
+}
 
 void KeyNodeTable::remove(XML::Node *node)
 {