aboutsummaryrefslogtreecommitdiffstats
path: root/sb_builder
diff options
context:
space:
mode:
Diffstat (limited to 'sb_builder')
-rw-r--r--sb_builder/__init__.py2
-rw-r--r--sb_builder/dashboard.py5
-rw-r--r--sb_builder/mainwindow.py1
-rw-r--r--sb_builder/packages.py8
4 files changed, 12 insertions, 4 deletions
diff --git a/sb_builder/__init__.py b/sb_builder/__init__.py
index e4a5697..c845154 100644
--- a/sb_builder/__init__.py
+++ b/sb_builder/__init__.py
@@ -16,4 +16,4 @@
"""sb-builder: Qt6 GUI driving the SlackBuild tooling on a build VM."""
-VERSION = "0.8.0" # must match remote/sbb-remote VERSION
+VERSION = "0.9.0" # must match remote/sbb-remote VERSION
diff --git a/sb_builder/dashboard.py b/sb_builder/dashboard.py
index 3096fb8..9b04183 100644
--- a/sb_builder/dashboard.py
+++ b/sb_builder/dashboard.py
@@ -278,9 +278,7 @@ class Dashboard(QWidget):
self.results.body.addWidget(self.legend)
self.results.body.addStretch()
- self.orphans = Card("SBo orphans")
- self.orphans.body.addWidget(muted(QLabel("coming in phase 5")))
- self.orphans.body.addStretch()
+ self.orphans = Tile("SBo orphans")
self.jobs = Card("Recent jobs")
self.jobs_list = QLabel("no jobs yet")
@@ -320,6 +318,7 @@ class Dashboard(QWidget):
else:
extra = " · ".join(f"{num(v)}\u00a0{k}" for k, v in p.items() if k != "total")
t["Packages"].set(num(p["total"]), extra)
+ self.orphans.set(num(s.get("orphans")), "packages with no maintainer on SBo")
if sr is None:
t["Built"].set(NA, "no slackrepo database")
else:
diff --git a/sb_builder/mainwindow.py b/sb_builder/mainwindow.py
index ec2b87a..3860079 100644
--- a/sb_builder/mainwindow.py
+++ b/sb_builder/mainwindow.py
@@ -108,6 +108,7 @@ class MainWindow(QMainWindow):
self.dashboard = Dashboard()
self.dashboard.refresh.triggered.connect(self.poll_stats)
self.dashboard.tiles["Packages"].link(self.open_packages)
+ self.dashboard.orphans.link(lambda: self.open_packages().filter_to("orphaned"))
self.dashboard.jobs.link(self.open_jobs)
self.dashboard.result_clicked.connect(self.open_results)
self.jobs_tab = JobsTab(self.remote)
diff --git a/sb_builder/packages.py b/sb_builder/packages.py
index 68de7c2..f1a7224 100644
--- a/sb_builder/packages.py
+++ b/sb_builder/packages.py
@@ -319,6 +319,14 @@ class PackagesTab(QWidget):
self.model.set_rows(load_rows(data))
self.update_count()
+ def filter_to(self, name):
+ """Show only one chip's packages (from a Dashboard click)."""
+ for k, c in self.chips.items():
+ c.blockSignals(True)
+ c.setChecked(k == name)
+ c.blockSignals(False)
+ self.refilter()
+
def refilter(self):
on = {n for n, b in self.chips.items() if b.isChecked()}
self.proxy.update(self.query.text(), on - set(STATUSES) - {"orphaned"}, on & set(STATUSES),