From 03c314a6eddfd213d82f372a855e7bb2c921997a Mon Sep 17 00:00:00 2001 From: duplo Date: Tue, 15 Dec 2009 09:06:15 +0000 Subject: [PATCH] New qvariant converter module. Now BeRTOS Wizard is able to run with PyQt4 4.6 and older. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3120 38d2e660-2303-0410-9eaa-f027e97ec537 --- wizard/qvariant_converter.py | 4 +- wizard/qvariant_converter_newest.py | 103 ++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 wizard/qvariant_converter_newest.py diff --git a/wizard/qvariant_converter.py b/wizard/qvariant_converter.py index 81181965..9b24b0c1 100644 --- a/wizard/qvariant_converter.py +++ b/wizard/qvariant_converter.py @@ -39,5 +39,7 @@ if PYQT_VERSION_STR <= "4.4.3": from qvariant_converter_old import * elif PYQT_VERSION_STR < "4.5.0": from qvariant_converter_new import * -else: +elif PYQT_VERSION_STR < "4.6.0": from qvariant_converter_newer import * +else: + from qvariant_converter_newest import * diff --git a/wizard/qvariant_converter_newest.py b/wizard/qvariant_converter_newest.py new file mode 100644 index 00000000..f31bb92d --- /dev/null +++ b/wizard/qvariant_converter_newest.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# This file is part of slimqc. +# +# Slimqc is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# As a special exception, you may use this file as part of a free software +# library without restriction. Specifically, if other files instantiate +# templates or use macros or inline functions from this file, or you compile +# this file and link it with other files to produce an executable, this +# file does not by itself cause the resulting executable to be covered by +# the GNU General Public License. This exception does not however +# invalidate any other reasons why the executable file might be covered by +# the GNU General Public License. +# +# Copyright 2009 Develer S.r.l. (http://www.develer.com/) +# +# $Id$ +# +# Author: Lorenzo Berni +# + +from PyQt4.QtCore import * + +def getString(qvariant): + if type(qvariant) != QVariant: + return qvariant + string = unicode(qvariant.toString()) + return string + +def convertString(string): + return QVariant(string) + +def getStringList(qvariant): + if type(qvariant) == QVariant: + tmp = qvariant.toPyObject() + else: + tmp = qvariant + string_list = [] + if tmp: + string_list = [unicode(string) for string in tmp] + return string_list + +def convertStringList(string_list): + return QVariant(string_list) + +def getStringDict(qvariant): + dict_str_str = {} + try: + for key, value in qvariant.toPyObject().items(): + dict_str_str[unicode(key)] = unicode(value) + except: + pass + return dict_str_str + +def convertStringDict(string_dict): + return QVariant(string_dict) + +def getBool(qvariant): + return qvariant.toBool() + +def convertBool(boolean): + return QVariant(boolean) + +def getBoolDict(qvariant): + dict_str_bool = {} + try: + for key, value in qvariant.toPyObject().items(): + dict_str_bool[unicode(key)] = value + except: + pass + return dict_str_bool + +def convertBoolDict(dict_str_bool): + return QVariant(dict_str_bool) + +def getDict(qvariant): + dict_str_variant = {} + try: + for key, value in qvariant.toMap().items(): + dict_str_variant[unicode(key)] = value + except: + pass + return dict_str_variant + +def convertDict(dict_str_variant): + result_dict = {} + for key, value in dict_str_variant.items(): + result_dict[QString(key)] = QVariant(value) + return QVariant(result_dict) -- 2.25.1