def data(self, index, role=Qt.DisplayRole):
        if not index.isValid():
            return QVariant()

        if role == Qt.DisplayRole:
            return QVariant(self.packages[index.row()])
	elif role == Qt.CheckStateRole and index.column() == 0:
            return QVariant(self.package_selections[index.row()])

        package = self.package(index)
        if role == SummaryRole:
            return QVariant(unicode(package.summary))
        elif role == DescriptionRole:
            return QVariant(unicode(package.description))
        elif role == SizeRole:
            return QVariant(unicode(humanReadableSize(backend.pm.Iface().getPackageSize(package.name))))
        elif role == VersionRole:
            return QVariant(unicode(package.version))
        elif role == RepositoryRole:
            return QVariant(unicode(backend.pm.Iface().getPackageRepository(package.name)))
        elif role == Qt.DecorationRole:
            if package.icon:
                icon_path = KIconLoader().iconPath(package.icon, KIconLoader.Panel)
            else:
                icon_path = None
            if icon_path and not icon_path.endsWith("unknown.png"):
                return QVariant(icon_path)
            else:
                return QVariant()
        elif role == GroupRole:
            # TODO
            return QVariant()
        else:
            return QVariant()
Beispiel #2
0
    def data(self, index, role=Qt.DisplayRole):
        if not index.isValid():
            return QVariant()

        if role == Qt.DisplayRole:
            return QVariant(self.packages[index.row()])
	elif role == Qt.CheckStateRole and index.column() == 0:
            return QVariant(self.package_selections[index.row()])

        package = self.package(index)
        if role == SummaryRole:
            return QVariant(unicode(package.summary))
        elif role == DescriptionRole:
            return QVariant(unicode(package.description))
        elif role == SizeRole:
            return QVariant(unicode(humanReadableSize(backend.pm.Iface().getPackageSize(package.name))))
        elif role == VersionRole:
            return QVariant(unicode(package.version))
        elif role == RepositoryRole:
            return QVariant(unicode(backend.pm.Iface().getPackageRepository(package.name)))
        elif role == Qt.DecorationRole:
            if package.icon:
                icon_path = KIconLoader().iconPath(package.icon, KIconLoader.Panel)
            else:
                icon_path = None
            if icon_path and not icon_path.endsWith("unknown.png"):
                return QVariant(icon_path)
            else:
                return QVariant()
        elif role == GroupRole:
            # TODO
            return QVariant()
        else:
            return QVariant()
Beispiel #3
0
    def updateTotalDownloaded(self, pkgDownSize, pkgTotalSize, rate, symbol):
        if rate == 0:
            self.rate = "-- KB/s"
        else:
            self.rate = "%s %s" % (rate, symbol)

        if pkgDownSize == pkgTotalSize:
            self.totalDownloaded += int(pkgTotalSize)
            self.curPkgDownloaded = 0
        else:
            self.curPkgDownloaded = int(pkgDownSize)

        if self.state.silence:
           self.totalSize = pkgTotalSize
        completed = humanReadableSize(self.totalDownloaded + self.curPkgDownloaded, ".2")
        total = humanReadableSize(self.totalSize, ".2")

        self.emit(SIGNAL("downloadInfoChanged(QString, QString, QString)"), completed, total, self.rate)
    def updateTotalDownloaded(self, pkgDownSize, pkgTotalSize, rate, symbol):
        symbol = symbol.replace('K', 'k')
        if rate == 0:
            self.rate = "-- kB/s"
        else:
            self.rate = "%s %s" % (rate, symbol)

        if self.totalPackages == 0:
            self.totalSize = pkgTotalSize

        if pkgDownSize == pkgTotalSize:
            self.totalDownloaded += int(pkgTotalSize)
            self.curPkgDownloaded = 0
        else:
            self.curPkgDownloaded = int(pkgDownSize)

        completed = humanReadableSize(self.totalDownloaded + self.curPkgDownloaded, ".2")
        total = humanReadableSize(self.totalSize, ".2")

        self.emit(SIGNAL("downloadInfoChanged(QString, QString, QString)"), completed, total, self.rate)
    def updateTotalDownloaded(self, pkgDownSize, pkgTotalSize, rate, symbol):
        symbol = symbol.replace('K', 'k')
        if rate == 0:
            self.rate = "-- kB/s"
        else:
            self.rate = "%s %s" % (rate, symbol)

        if self.totalPackages == 0:
            self.totalSize = pkgTotalSize

        if pkgDownSize == pkgTotalSize:
            self.totalDownloaded += int(pkgTotalSize)
            self.curPkgDownloaded = 0
        else:
            self.curPkgDownloaded = int(pkgDownSize)

        completed = humanReadableSize(
            self.totalDownloaded + self.curPkgDownloaded, ".2")
        total = humanReadableSize(self.totalSize, ".2")

        self.emit(SIGNAL("downloadInfoChanged(QString, QString, QString)"),
                  completed, total, self.rate)
Beispiel #6
0
class PackageModel(QAbstractTableModel):

    def __init__(self, parent=None):
        QAbstractTableModel.__init__(self, parent)
        self.iface = backend.pm.Iface()
        self._flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsUserCheckable
        self.initPhase()

        self.state = parent.state

        self.appinfo = AppInfoClient()
        self.appinfo.setServer('http://appinfo.pardus.org.tr')
        if not self.appinfo.initializeLocalDB()[0]:
            self.appinfo.checkOutDB()

    def initPhase(self):
        self.resetCachedInfos()
        self.packages = []

    def rowCount(self, index=QModelIndex()):
        return len(self.packages)

    def columnCount(self, index=QModelIndex()):
        if self._flags & Qt.ItemIsUserCheckable:
            return 2
        return 1

    def data(self, index, role=Qt.DisplayRole):
        if not index.isValid():
            return _variant

        if role == Qt.DisplayRole:
            return QVariant(self.packages[index.row()])
        elif role == Qt.CheckStateRole and index.column() == 0:
            return QVariant(self.package_selections[index.row()])

        if role >= Qt.UserRole:
            try:
                package = self.package(index)
            except Exception, e:
                logger.warning(e)
                return _variant

        if role == SummaryRole:
            return QVariant(unicode(package.summary))
        elif role == DescriptionRole:
            return QVariant(unicode(package.description))
        elif role == TypeRole:
            return QVariant(unicode(package._type))
        elif role == SizeRole:
            return QVariant(unicode(humanReadableSize(self.iface.getPackageSize(package))))
        elif role == VersionRole:
            return QVariant(unicode(package.version))
        elif role == InstalledVersionRole:
            if self.state.inUpgrade():
                return QVariant(unicode(self.iface.getInstalledVersion(package.name)))
            return _variant
        elif role == RepositoryRole:
            if not self.state.inRemove():
                return QVariant(unicode(self.iface.getPackageRepository(package.name)))
            return _variant
        elif role == HomepageRole:
            return QVariant(unicode(package.source.homepage))
        elif role == InstalledRole:
            return QVariant(unicode(package.installed))
        elif role == ComponentRole:
            return QVariant(unicode(package.partOf))
        elif role == IsaRole:
            isa = '' if not len(package.isA) > 0 else package.isA[0]
            return QVariant(unicode(isa))
        elif role == RateRole:
            return QVariant(self.appinfo.getPackageScore(package.name))
        elif role == NameRole:
            return QVariant(package.name)
        elif role == Qt.DecorationRole:
            package = self.package(index)
            if package.icon:
                return QVariant(package.icon)
        return _variant