kolabformat/xmlobject.cpp

Christian Mollekopf mollekopf at kolabsys.com
Thu Nov 1 23:49:33 CET 2012


 kolabformat/xmlobject.cpp |   17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

New commits:
commit e01e2e1e47dbff53aacf511d51c04bf0933b9b17
Author: Christian Mollekopf <mollekopf at kolabsys.com>
Date:   Thu Nov 1 23:46:49 2012 +0100

    Reading of old v2 dictionary format.

diff --git a/kolabformat/xmlobject.cpp b/kolabformat/xmlobject.cpp
index 83b5abe..03cdefd 100644
--- a/kolabformat/xmlobject.cpp
+++ b/kolabformat/xmlobject.cpp
@@ -215,9 +215,20 @@ std::string XMLObject::writeNote(const Note &note, Version version, const std::s
 
 Configuration XMLObject::readConfiguration(const std::string& s, Version version)
 {
-    if (version != KolabV3) {
-        Critical() << "only v3 implementation available";
-        return Configuration();
+    if (version == KolabV2) {
+        QString lang;
+        const QStringList dict = readLegacyDictionaryConfiguration(QByteArray(s.c_str(), s.length()), lang);
+        if (lang.isEmpty()) {
+            Critical() << "not a dictionary or not a v2 configuration object";
+            return Kolab::Configuration();
+        }
+        std::vector<std::string> entries;
+        foreach (const QString e, dict) {
+            entries.push_back(Conversion::toStdString(e));
+        }
+        Kolab::Dictionary dictionary(Conversion::toStdString(lang));
+        dictionary.setEntries(entries);
+        return Configuration(dictionary);
     }
     return Kolab::readConfiguration(s, productId);
 }





More information about the commits mailing list