Never start fullscreen, and let the cookie dialog open

Two regressions from 5.5.0, both mine.

Fullscreen became a state of the main window, which is what stopped it
destroying the player's GL context -- but the window's geometry is saved on
exit and restoreGeometry() replays the state it was saved with. Quitting while
fullscreen therefore brought the app back fullscreen: no title bar, no close
button, and nothing able to leave it, because the player's F and Escape are
scoped to the player and the Watch tab need not even be visible. Fullscreen is
no longer restored at startup, it is left before the geometry is saved, and
F11/Escape are now window-level shortcuts so there is always a way out. The
controller also trusts the window rather than its own flag, so a fullscreen it
did not set is still escapable.

"Sign in with cookies" and the account button both call
show_cookie_login_dialog, which selects the Cookies tab by index before
showing the dialog. CustomOptionsDialog builds its tabs on SmoothTabWidget,
which stands in for a QTabWidget and says so in its docstring, but implemented
only set_current_index -- so setCurrentIndex raised and the dialog never
opened. That line had never run before: the method had no callers until 5.5.0
wired it up. SmoothTabWidget now provides the Qt-compatible API it claimed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-09 01:31:47 +02:00
parent b07a56082a
commit ba05a4a7ef
6 changed files with 121 additions and 7 deletions
+20
View File
@@ -8,6 +8,26 @@ Kept as the work happens, not assembled at release time. Format is
with its history. SageTube's own versions start below and are the ones this file
records.
## 5.5.1 — 2026-08-09
### Fixed
- **The app could start fullscreen with no way out.** Fullscreen became a state
of the main window in 5.5.0, and the window's geometry is saved on exit — so
quitting from fullscreen brought the app back fullscreen, with no title bar,
no close button, and nothing bound to leave it (the player's F and Escape only
work while the player has focus, and it need not even be the visible tab).
Fullscreen is now never restored at startup, leaving it is done before the
geometry is saved, and **F11 toggles fullscreen and Escape leaves it from
anywhere in the window**.
- **"Sign in with cookies" and the account button did nothing.** Both open the
cookie dialog on its Cookies tab, which meant calling `setCurrentIndex` on
the dialog's tab widget — a `SmoothTabWidget`, which despite standing in for
a `QTabWidget` implemented only `set_current_index`. The call raised, so the
dialog never appeared. `SmoothTabWidget` now provides the Qt-compatible API
it claimed to have (`setCurrentIndex`, `count`, `widget`, `indexOf`,
`tabText`, `setTabText`).
## 5.5.0 — 2026-08-09
### Added