From e373b0ed9ba4f2a785924c70a0ffa833499647d6 Mon Sep 17 00:00:00 2001 From: mumtazrifai <78283743+mumtazrifai@users.noreply.github.com> Date: Fri, 21 Feb 2025 04:38:04 -0500 Subject: [PATCH] Use default flag name when flag is renamed to empty string (#3826) * Add function to restore the default name of a flag * Call function to restore default flag name if flag renamed to empty string * Update _load_flags to use the default_flag_names dict * Add name to contributors file * Add trailing comma to pass tests * Update to follow python style guide * Update about.py * Revert "Update _load_flags to use the default_flag_names dict" This reverts commit caa8fea94bdd12c57a108125e90668d0e1f0c8b6. * Use require_refresh() instead of storing default flag names --- CONTRIBUTORS | 1 + qt/aqt/about.py | 1 + qt/aqt/browser/sidebar/tree.py | 8 +++++++- qt/aqt/flags.py | 9 +++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ae619828f..f5832b0f6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -213,6 +213,7 @@ wackbyte GithubAnon0000 Mike Hardy Danika_Dakika +Mumtaz Hajjo Alrifai ******************** diff --git a/qt/aqt/about.py b/qt/aqt/about.py index cf3825cfc..1eef28b8a 100644 --- a/qt/aqt/about.py +++ b/qt/aqt/about.py @@ -214,6 +214,7 @@ def show(mw: aqt.AnkiQt) -> QDialog: "Gregory Abrasaldo", "Danika_Dakika", "Marcelo Vasconcelos", + "Mumtaz Hajjo Alrifai", ) ) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index 6f2029dc1..e28f166e9 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -453,7 +453,9 @@ class SidebarTreeView(QTreeView): def _on_rename(self, item: SidebarItem, text: str) -> bool: new_name = text.replace('"', "") - if new_name and new_name != item.name: + if not new_name and item.item_type == SidebarItemType.FLAG: + self.restore_default_flag_name(item) + elif new_name and new_name != item.name: if item.item_type == SidebarItemType.DECK: self.rename_deck(item, new_name) elif item.item_type == SidebarItemType.SAVED_SEARCH: @@ -1089,6 +1091,10 @@ class SidebarTreeView(QTreeView): item.name = new_name self.mw.flags.rename_flag(item.id, new_name) + def restore_default_flag_name(self, item: SidebarItem) -> None: + self.mw.flags.restore_default_flag_name(item.id) + item.name = self.mw.flags.get_flag(item.id).label + # Decks ########################### diff --git a/qt/aqt/flags.py b/qt/aqt/flags.py index 7a1b9aef1..5fd3ac007 100644 --- a/qt/aqt/flags.py +++ b/qt/aqt/flags.py @@ -55,6 +55,15 @@ class FlagManager: self.mw.col.set_config("flagLabels", labels) gui_hooks.flag_label_did_change() + def restore_default_flag_name(self, flag_index: int) -> None: + labels = self.mw.col.get_config("flagLabels", {}) + if str(flag_index) not in labels: + return + del labels[str(flag_index)] + self.mw.col.set_config("flagLabels", labels) + self.require_refresh() + gui_hooks.flag_label_did_change() + def require_refresh(self) -> None: "Discard cached labels." self._flags = []