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()
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)
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