From 321b21d6a00977675e5c2147626ac660d12ebf5f Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 17 Sep 2025 16:38:26 +1000 Subject: [PATCH] Store colors in the collection One minor tweak to the logic while I was there: an invalid color no longer invalidates all the rest. --- qt/aqt/editor.py | 16 ++++++---------- qt/aqt/mediasrv.py | 13 +++++-------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/qt/aqt/editor.py b/qt/aqt/editor.py index 33916d0b1..e86f5fe96 100644 --- a/qt/aqt/editor.py +++ b/qt/aqt/editor.py @@ -351,16 +351,12 @@ require("anki/ui").loaded.then(() => require("anki/NoteEditor").instances[0].too QShortcut(QKeySequence(keys), self.widget, activated=fn) # type: ignore def setupColourPalette(self) -> None: - assert self.mw.pm.profile is not None - if custom_colours := str( - self.mw.pm.profile.get("customColorPickerPalette", "") - ): - for i, colour in enumerate( - custom_colours.split(",")[: QColorDialog.customCount()] - ): - if not QColor.isValidColorName(colour): - break - QColorDialog.setCustomColor(i, QColor.fromString(colour)) + if not (colors := self.mw.col.get_config("customColorPickerPalette")): + return + for i, colour in enumerate(colors[: QColorDialog.customCount()]): + if not QColor.isValidColorName(colour): + continue + QColorDialog.setCustomColor(i, QColor.fromString(colour)) def _addFocusCheck(self, fn: Callable) -> Callable: def checkFocus() -> None: diff --git a/qt/aqt/mediasrv.py b/qt/aqt/mediasrv.py index 7c3480237..3a05eec2c 100644 --- a/qt/aqt/mediasrv.py +++ b/qt/aqt/mediasrv.py @@ -600,14 +600,11 @@ def deck_options_ready() -> bytes: def save_custom_colours() -> bytes: - colours = ",".join( - [ - QColorDialog.customColor(i).name(QColor.NameFormat.HexArgb) - for i in range(QColorDialog.customCount()) - ] - ) - assert aqt.mw.pm.profile is not None - aqt.mw.pm.profile["customColorPickerPalette"] = colours + colors = [ + QColorDialog.customColor(i).name(QColor.NameFormat.HexArgb) + for i in range(QColorDialog.customCount()) + ] + aqt.mw.col.set_config("customColorPickerPalette", colors) return b""