diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-21 10:32:55 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-21 10:32:55 +0200 |
| commit | be69467c2caefddc1f04d5be71d36f6b8d9c13d3 (patch) | |
| tree | b7aa71813e656da82187422181ca3f75501e0d3e /sb_builder/jobs.py | |
| parent | 88d83139b2cf6fa22df823054936a49d14f4f554 (diff) | |
| download | sb-builder-be69467c2caefddc1f04d5be71d36f6b8d9c13d3.tar.gz sb-builder-be69467c2caefddc1f04d5be71d36f6b8d9c13d3.zip | |
sbb-remote 0.11.0: rebuild-tree job (phase 3)
New job kind rebuild-tree runs slackrepo_setup_SBo-danix.sh, which now
builds the fresh tree beside the live one and swaps it in. The Jobs
tab gets a Rebuild tree action behind a modal confirm.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'sb_builder/jobs.py')
| -rw-r--r-- | sb_builder/jobs.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sb_builder/jobs.py b/sb_builder/jobs.py index 111d804..9bfa2e3 100644 --- a/sb_builder/jobs.py +++ b/sb_builder/jobs.py @@ -134,6 +134,8 @@ class JobsTab(QWidget): self.actions = [self.act_pull, action(self, "Check shadowing", "edit-find", SP.SP_FileDialogContentsView, lambda: self.start("sbshadow", "--no")), + action(self, "Rebuild tree", "edit-clear-all", SP.SP_DialogResetButton, + self.rebuild_tree), self.act_run, self.act_kill] self.view_actions = [] @@ -206,6 +208,14 @@ class JobsTab(QWidget): self.pending = args self.remote.call(self._started, "job-start", *args) + def confirm(self, question): + return QMessageBox.question(self, "Confirm", question) == QMessageBox.StandardButton.Yes + + def rebuild_tree(self): + if self.confirm("Replace SBo-danix with a fresh clone of upstream and the overlays, " + "then reapply shadowing?"): + self.start("rebuild-tree") + def kill(self): if QMessageBox.question(self, "Kill job", f"Send SIGTERM to {self.current}?") \ == QMessageBox.StandardButton.Yes: |
