X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Futil%2Fqtpie.py;h=6b77d5dac2e84cc922756e7f00d0061495ddfb62;hb=64aad9d6539eb92b595b9e86485103999021cf05;hp=14872e27398b2e6c5a546ddbef0e3d6e47b69843;hpb=dff8fb932ba41f50e82a8f452354f06cd85721ed;p=ejpi diff --git a/src/util/qtpie.py b/src/util/qtpie.py index 14872e2..6b77d5d 100755 --- a/src/util/qtpie.py +++ b/src/util/qtpie.py @@ -3,20 +3,11 @@ import math import logging -from PyQt4 import QtGui -from PyQt4 import QtCore +import qt_compat +QtCore = qt_compat.QtCore +QtGui = qt_compat.import_module("QtGui") -try: - from util import misc as misc_utils -except ImportError: - class misc_utils(object): - - @staticmethod - def log_exception(logger): - - def wrapper(func): - return func - return wrapper +import misc as misc_utils _moduleLogger = logging.getLogger(__name__) @@ -506,11 +497,11 @@ class QPieDisplay(QtGui.QWidget): class QPieButton(QtGui.QWidget): - activated = QtCore.pyqtSignal(int) - highlighted = QtCore.pyqtSignal(int) - canceled = QtCore.pyqtSignal() - aboutToShow = QtCore.pyqtSignal() - aboutToHide = QtCore.pyqtSignal() + activated = qt_compat.Signal(int) + highlighted = qt_compat.Signal(int) + canceled = qt_compat.Signal() + aboutToShow = qt_compat.Signal() + aboutToHide = qt_compat.Signal() BUTTON_RADIUS = 24 DELAY = 250 @@ -533,6 +524,7 @@ class QPieButton(QtGui.QWidget): self._buttonFiling.setOuterRadius(self.BUTTON_RADIUS) self._buttonArtist = PieArtist(self._buttonFiling, PieArtist.BACKGROUND_NOFILL) self._poppedUp = False + self._pressed = False self._delayPopupTimer = QtCore.QTimer() self._delayPopupTimer.setInterval(self.DELAY) @@ -604,6 +596,8 @@ class QPieButton(QtGui.QWidget): self.highlighted.emit(self._selectionIndex) self._display.selectAt(self._selectionIndex) + self._pressed = True + self.update() self._popupLocation = mouseEvent.globalPos() self._delayPopupTimer.start() @@ -654,6 +648,8 @@ class QPieButton(QtGui.QWidget): self._mousePosition = None self._activate_at(self._selectionIndex) + self._pressed = False + self.update() self._hide_child() @misc_utils.log_exception(_moduleLogger) @@ -721,7 +717,7 @@ class QPieButton(QtGui.QWidget): screen.setRenderHint(QtGui.QPainter.Antialiasing, True) option = QtGui.QStyleOptionButton() option.initFrom(self) - option.state = QtGui.QStyle.State_Sunken if self._poppedUp else QtGui.QStyle.State_Raised + option.state = QtGui.QStyle.State_Sunken if self._pressed else QtGui.QStyle.State_Raised screen.drawControl(QtGui.QStyle.CE_PushButton, option) self._buttonArtist.paintPainter(selectionIndex, screen) @@ -783,11 +779,11 @@ class QPieButton(QtGui.QWidget): class QPieMenu(QtGui.QWidget): - activated = QtCore.pyqtSignal(int) - highlighted = QtCore.pyqtSignal(int) - canceled = QtCore.pyqtSignal() - aboutToShow = QtCore.pyqtSignal() - aboutToHide = QtCore.pyqtSignal() + activated = qt_compat.Signal(int) + highlighted = qt_compat.Signal(int) + canceled = qt_compat.Signal() + aboutToShow = qt_compat.Signal() + aboutToHide = qt_compat.Signal() def __init__(self, parent = None): QtGui.QWidget.__init__(self, parent)