X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fqvariant_converter_old.py;h=67ffb084d460126245ae0acbb78df8dac13d85bd;hb=9d22fd92fd90cfbf6db5651b01042a7a29826e5f;hp=0a41919d78e56d0563d9ccfea796a16863feca55;hpb=ee276ea346d90090f039720664dbb18d50e6bf7b;p=bertos.git diff --git a/wizard/qvariant_converter_old.py b/wizard/qvariant_converter_old.py index 0a41919d..67ffb084 100644 --- a/wizard/qvariant_converter_old.py +++ b/wizard/qvariant_converter_old.py @@ -9,28 +9,49 @@ # Author: Lorenzo Berni # +""" +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))