From cabdd125b6b87d9684fcf2a5094ec3a244143080 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 15 Oct 2021 10:53:28 +1000 Subject: [PATCH] use separate header state for each Qt version https://forums.ankiweb.net/t/new-toolkit-and-packaging-test-windows/14081/15 --- qt/aqt/utils.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/qt/aqt/utils.py b/qt/aqt/utils.py index 3d8dd4120..6deb98459 100644 --- a/qt/aqt/utils.py +++ b/qt/aqt/utils.py @@ -568,15 +568,19 @@ def restoreSplitter(widget: QSplitter, key: str) -> None: widget.restoreState(aqt.mw.pm.profile[key]) +def _header_key(key: str) -> str: + # not compatible across major versions + qt_suffix = f"Qt{qtmajor}" if qtmajor > 5 else "" + return f"{key}Header{qt_suffix}" + + def saveHeader(widget: QHeaderView, key: str) -> None: - key += "Header" - aqt.mw.pm.profile[key] = widget.saveState() + aqt.mw.pm.profile[_header_key(key)] = widget.saveState() def restoreHeader(widget: QHeaderView, key: str) -> None: - key += "Header" - if aqt.mw.pm.profile.get(key): - widget.restoreState(aqt.mw.pm.profile[key]) + if state := aqt.mw.pm.profile.get(_header_key(key)): + widget.restoreState(state) def save_is_checked(widget: QCheckBox, key: str) -> None: