コード例 #1
0
    def showPopup(self):
        from sets import Set as set

        upgrades = list_upgradable()
        newUpgrades = set(upgrades) - set(self.lastUpgrades)
        self.lastUpgrades = upgrades
        if not len(upgrades) or not newUpgrades:
            return

        icon = KGlobal.iconLoader().loadIcon("package-manager", KIcon.Desktop, 48)
        message = i18n("There are <b>%1</b> updates available!").arg(len(upgrades))
        self.popup = BalloonMessage(self, icon, message)
        pos = self.mapToGlobal(self.pos())
        self.popup.setAnchor(pos)
        self.popup.show()
コード例 #2
0
    def updateTrayIcon(self):
        nofUpgrades = len(list_upgradable())
        if not nofUpgrades:
            self.setPixmap(self.icon)
            return

        oldW = self.pixmap().size().width()
        oldH = self.pixmap().size().height()

        uStr = QString.number(nofUpgrades)
        f = KGlobalSettings.generalFont()
        f.setBold(True)
        pointSize = f.pointSizeFloat()
        fm = QFontMetrics(f)
        w = fm.width(uStr)

        if w > oldW:
            pointSize *= float(oldW) / float(w)
            f.setPointSizeFloat(pointSize)

        pix = QPixmap(oldW, oldH)
        pix.fill(Qt.white)
        p = QPainter(pix)
        p.setFont(f)
        p.setPen(Qt.blue)
        p.drawText(pix.rect(), Qt.AlignCenter, uStr)

        pix.setMask(pix.createHeuristicMask())
        img = QImage(pix.convertToImage())

        overlayImg = QImage(self.overlayIcon.copy())
        KIconEffect.overlay(overlayImg, img)

        icon = QPixmap()
        icon.convertFromImage(overlayImg)
        self.setPixmap(icon)

        # for cannot destroy paint device error
        p = None