Correct typo
[bertos.git] / wizard / qvariant_converter_old.py
index 0a41919d78e56d0563d9ccfea796a16863feca55..67ffb084d460126245ae0acbb78df8dac13d85bd 100644 (file)
@@ -9,28 +9,49 @@
 # Author: Lorenzo Berni <duplo@develer.com>
 #
 
+"""
+Awful module for the conversion from python types to qvariant, for make the wizard compatible with older version of pyqt (<= 4.4.3)
+"""
+
 from PyQt4.QtCore import *
+import pickle
 
 def getString(qvariant):
-    string = qvariant.toPyObject()
+    if type(qvariant) == str or type(qvariant) == unicode:
+        string = qvariant
+    else:
+        string = unicode(qvariant.toString())
     return string
 
 def convertString(string):
     return QVariant(string)
 
 def getStringList(qvariant):
-    string_list = qvariant.toPyObject()
+    string_list = []
+    if type(qvariant) == list:
+        string_list = qvariant
+    else:
+        for element in qvariant.toStringList():
+            string_list.append(unicode(element))
     return string_list
 
 def convertStringList(string_list):
-    return QVariant(string_list)
+    result = []
+    for element in string_list:
+        result.append(QString(element))
+    return QVariant(QStringList(result))
 
 def getStringDict(qvariant):
-    dict_str_str = qvariant.toPyObject()
+    a = str(qvariant.toByteArray())
+    if len(a) == 0:
+        dict_str_str = {}
+    else:
+        dict_str_str = pickle.loads(a)
     return dict_str_str
 
-def convertStringDict(string_dict):
-    return QVariant(string_dict)
+def convertStringDict(dict_str_str):
+    a = pickle.dumps(dict_str_str)
+    return QVariant(QByteArray(a))
 
 def getBool(qvariant):
     return qvariant.toBool()
@@ -39,15 +60,25 @@ def convertBool(boolean):
     return QVariant(boolean)
 
 def getBoolDict(qvariant):
-    dict_str_bool = qvariant.toPyObject()
+    a = str(qvariant.toByteArray())
+    if len(a) == 0:
+        dict_str_bool = {}
+    else:
+        dict_str_bool = pickle.loads(a)
     return dict_str_bool
 
 def convertBoolDict(dict_str_bool):
-    return QVariant(dict_str_bool)
+    a = pickle.dumps(dict_str_bool)
+    return QVariant(QByteArray(a))
 
 def getDict(qvariant):
-    dict_str_variant = qvariant.toPyObject()
-    return dict_str_variant
+    a = str(qvariant.toByteArray())
+    if len(a) == 0:
+        dict_str_bool = {}
+    else:
+        dict_str_bool = pickle.loads(a)
+    return dict_str_bool
 
 def convertDict(dict_str_variant):
-    return QVariant(dict_str_variant)
+    a = pickle.dumps(dict_str_variant)
+    return QVariant(QByteArray(a))