From e555e1f61b2b350d4c34a2d3d58ddd4410645edd Mon Sep 17 00:00:00 2001 From: necoro <> Date: Tue, 19 Jun 2007 10:22:19 +0000 Subject: added updated list to Qt --- portato/gui/qt/windows.py | 23 +++++++++++++++++------ portato/gui/templates/ui/UpdateDialog.ui | 23 +++++++++++++++++++---- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/portato/gui/qt/windows.py b/portato/gui/qt/windows.py index 3996563..2f8e3f9 100644 --- a/portato/gui/qt/windows.py +++ b/portato/gui/qt/windows.py @@ -151,8 +151,11 @@ class UpdateDialog (Window): self.jump = jump_to self.packages = system.sort_package_list(packages) + self.items = [] for p in self.packages: - Qt.QListWidgetItem(p.get_cpv(), self.packageList) + item = Qt.QListWidgetItem(p.get_cpv(), self.packageList) + item.setCheckState(qCheck(False)) + self.items.append(item) self.adjustSize() @@ -163,22 +166,30 @@ class UpdateDialog (Window): self.jump(pkg.get_cp(), pkg.get_version()) @Qt.pyqtSignature("") - def on_installAllBtn_clicked (self): + def on_installBtn_clicked (self): world = [x.get_cp() for x in system.find_all_world_packages()] - for p in self.packages: - not_in_world = p.get_cp() not in world + for item in [x for x in self.items if qIsChecked(x.checkState())]: + cpv = str(item.text()) + cp = "/".join(system.split_cpv(cpv)[:2]) + not_in_world = cp not in world + try: try: - self.queue.append(p.get_cpv(), unmerge = False, oneshot = not_in_world) + self.queue.append(cpv, unmerge = False, oneshot = not_in_world) except PackageNotFoundException, e: if unmask_dialog(self, e[0]) == Qt.QMessageBox.Yes : - self.queue.append(p.get_cpv(), unmerge = False, unmask = True, oneshot = not_in_world) + self.queue.append(cpv, unmerge = False, unmask = True, oneshot = not_in_world) except BlockedException, e: blocked_dialog(self, e[0], e[1]) self.accept() + @Qt.pyqtSignature("") + def on_selectAllBtn_clicked (self): + for item in self.items: + item.setCheckState(qCheck(True)) + class EbuildDialog (Window): """Window showing an ebuild.""" __metaclass__ = WindowMeta diff --git a/portato/gui/templates/ui/UpdateDialog.ui b/portato/gui/templates/ui/UpdateDialog.ui index b783182..a602dae 100644 --- a/portato/gui/templates/ui/UpdateDialog.ui +++ b/portato/gui/templates/ui/UpdateDialog.ui @@ -41,7 +41,7 @@ - 1 + 5 0 0 0 @@ -53,17 +53,32 @@ - + - 1 + 5 0 0 0 - Install all + Select All + + + + + + + + 5 + 0 + 0 + 0 + + + + Install Selected -- cgit v1.2.3-54-g00ecf