From 9f390b61023f9fe3c3b5d9c5c9479ccfb2321ce8 Mon Sep 17 00:00:00 2001 From: trav Date: Sat, 10 Oct 2026 23:29:58 -0700 Subject: [PATCH] v0.48.2: the finished upload window hides Stop instead of greying it to blank --- lintunes/__init__.py | 2 +- lintunes/gui/main_window.py | 4 +++- lintunes/gui/web_upload_progress.py | 4 +++- tests/test_round81.py | 9 +++++++++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lintunes/__init__.py b/lintunes/__init__.py index 8c0b578..e1dc59f 100644 --- a/lintunes/__init__.py +++ b/lintunes/__init__.py @@ -1,3 +1,3 @@ """LinTunes — iTunes-style music library manager and player for Linux.""" -__version__ = "0.48.1" +__version__ = "0.48.2" diff --git a/lintunes/gui/main_window.py b/lintunes/gui/main_window.py index 07abf8b..f612760 100644 --- a/lintunes/gui/main_window.py +++ b/lintunes/gui/main_window.py @@ -1084,7 +1084,9 @@ class MainWindow(QMainWindow): run["step"] = web_progress.UPLOAD run["export"] = summary self._web_progress.complete( - web_progress.EXPORT, f"{summary['exported']} tracks") + web_progress.EXPORT, + f"{summary['exported']} track" + f"{'s' if summary['exported'] != 1 else ''}") self._web_progress.begin(web_progress.UPLOAD, "Starting…") self._upload_worker = upload.UploadWorker( run["host"], run["plan"].dest_dir, run["rdir"], self) diff --git a/lintunes/gui/web_upload_progress.py b/lintunes/gui/web_upload_progress.py index cc2c519..b77911e 100644 --- a/lintunes/gui/web_upload_progress.py +++ b/lintunes/gui/web_upload_progress.py @@ -106,5 +106,7 @@ class WebUploadProgress(QDialog): for step, bar in enumerate(self._bars): if bar.maximum() == 0: bar.setRange(0, 100) - self._stop.setEnabled(False) + # Hidden, not disabled: a disabled button's text is nearly invisible + # in this palette, and there is nothing left to stop. + self._stop.hide() self._hide.setText("Close") diff --git a/tests/test_round81.py b/tests/test_round81.py index 6f6c1f9..4a1539e 100644 --- a/tests/test_round81.py +++ b/tests/test_round81.py @@ -474,3 +474,12 @@ def test_description_and_image_are_spaced_apart(tmp_path): gap = page[page.index(plan.description) + len(plan.description): page.index("placeholder.png")] assert "

" in gap + + +def test_finished_window_hides_stop(qapp): + from lintunes.gui.web_upload_progress import WebUploadProgress + win = WebUploadProgress("Mix", f"{HOST}:/srv/mixes/mix") + win.show() + win.finish("done") + assert win._stop.isHidden() and win._hide.text() == "Close" + win.close()