Ignore:
Timestamp:
05/14/13 16:28:20 (11 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Override setPixmap, ... methods on all versions of Qt.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/gui/splashscreen.py

    r11366 r11520  
    88    QTextBlockFormat, QTextCursor, QApplication 
    99) 
    10 from PyQt4.QtCore import Qt, qVersion 
     10from PyQt4.QtCore import Qt 
    1111 
    1212from .utils import is_transparency_supported 
     
    105105        QApplication.instance().processEvents() 
    106106 
    107     if qVersion() < "4.8": 
    108         # in 4.7 the splash screen does not support transparency 
    109         def setPixmap(self, pixmap): 
    110             self.setAttribute(Qt.WA_TranslucentBackground, 
    111                               pixmap.hasAlpha() and \ 
    112                               is_transparency_supported()) 
     107    # Reimplemented to allow graceful fall back if the windowing system 
     108    # does not support transparency. 
     109    def setPixmap(self, pixmap): 
     110        self.setAttribute(Qt.WA_TranslucentBackground, 
     111                          pixmap.hasAlpha() and \ 
     112                          is_transparency_supported()) 
    113113 
    114             self.__pixmap = pixmap 
     114        self.__pixmap = pixmap 
    115115 
    116             QSplashScreen.setPixmap(self, pixmap) 
    117             if pixmap.hasAlpha() and not is_transparency_supported(): 
    118                 self.setMask(pixmap.createHeuristicMask()) 
     116        QSplashScreen.setPixmap(self, pixmap) 
     117        if pixmap.hasAlpha() and not is_transparency_supported(): 
     118            self.setMask(pixmap.createHeuristicMask()) 
    119119 
    120         def repaint(self): 
    121             QWidget.repaint(self) 
    122             QApplication.flush() 
     120    def repaint(self): 
     121        QWidget.repaint(self) 
     122        QApplication.flush() 
    123123 
    124         def event(self, event): 
    125             if event.type() == event.Paint: 
    126                 pixmap = self.__pixmap 
    127                 painter = QPainter(self) 
    128                 if not pixmap.isNull(): 
    129                     painter.drawPixmap(0, 0, pixmap) 
    130                 self.drawContents(painter) 
    131                 return True 
    132             return QSplashScreen.event(self, event) 
     124    def event(self, event): 
     125        if event.type() == event.Paint: 
     126            pixmap = self.__pixmap 
     127            painter = QPainter(self) 
     128            if not pixmap.isNull(): 
     129                painter.drawPixmap(0, 0, pixmap) 
     130            self.drawContents(painter) 
     131            return True 
     132        return QSplashScreen.event(self, event) 
Note: See TracChangeset for help on using the changeset viewer.