relational/relational_gui/compatibility.py

64 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
# Relational
# Copyright (C) 2011 Salvo "LtWorf" Tomaselli
#
# Relational 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 3 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, see <http://www.gnu.org/licenses/>.
#
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
#
# Module to unify the use of both pyqt and pyside
try:
from PyQt4 import QtCore, QtGui
pyqt = True
except:
from PySide import QtCore, QtGui
pyqt = False
def get_py_str(a):
'''Returns a python string out of a QString'''
if pyqt:
return unicode(a.toUtf8(), 'utf-8')
return a # Already a python string in PySide
def set_utf8_text(component, text):
if not pyqt:
component.setText(text)
else:
component.setText(QtCore.QString.fromUtf8(text))
def get_filename(filename):
if pyqt:
return str(filename.toUtf8())
return filename[0]
def add_list_item(l, item):
if pyqt:
history_item = QtCore.QString()
history_item.append(item)
hitem = QtGui.QListWidgetItem(None, 0)
hitem.setText(history_item)
l.addItem(hitem)
l.setCurrentItem(hitem)
else:
hitem = QtGui.QListWidgetItem(None, 0)
hitem.setText(item)
l.addItem(hitem)
l.setCurrentItem(hitem)