From 669b95d580440bde403a3bd83c88b265f8adb6dd Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Sat, 18 Jul 2026 03:04:06 -0700 Subject: [PATCH] feat: add setting to open edit window when creating tags --- src/tagstudio/qt/controllers/tag_suggest_box.py | 3 +-- src/tagstudio/qt/global_settings.py | 2 +- src/tagstudio/qt/mixed/settings_panel.py | 9 +++++++++ src/tagstudio/resources/translations/en.json | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/tagstudio/qt/controllers/tag_suggest_box.py b/src/tagstudio/qt/controllers/tag_suggest_box.py index c4c9afb5..0b4aac21 100644 --- a/src/tagstudio/qt/controllers/tag_suggest_box.py +++ b/src/tagstudio/qt/controllers/tag_suggest_box.py @@ -30,7 +30,6 @@ class TagSuggestBox(SuggestBox[Tag]): super().__init__(driver, view=view or SuggestBoxView()) self._driver = driver self._lib = self._driver.lib - self._edit_on_create = self._driver.settings.edit_tag_on_create @override def on_item_create(self) -> None: @@ -43,7 +42,7 @@ class TagSuggestBox(SuggestBox[Tag]): """ query: str = self._layout.search_field.text() - if self._edit_on_create: + if self._driver.settings.edit_tag_on_create: panel: BuildTagPanel = BuildTagPanel(self._lib) modal: PanelModal = PanelModal( panel, Translations["tag.new"], Translations["tag.new"], is_savable=True diff --git a/src/tagstudio/qt/global_settings.py b/src/tagstudio/qt/global_settings.py index 58fb7192..b72df4dc 100644 --- a/src/tagstudio/qt/global_settings.py +++ b/src/tagstudio/qt/global_settings.py @@ -74,10 +74,10 @@ class GlobalSettings(BaseModel): infinite_scroll: bool = Field(default=True) show_filepath: ShowFilepathOption = Field(default=ShowFilepathOption.DEFAULT) tag_click_action: TagClickActionOption = Field(default=TagClickActionOption.DEFAULT) + edit_tag_on_create: bool = Field(default=False) theme: Theme = Field(default=Theme.SYSTEM) splash: Splash = Field(default=Splash.DEFAULT) windows_start_command: bool = Field(default=False) - edit_tag_on_create: bool = Field(default=False) date_format: str = Field(default="%x") hour_format: bool = Field(default=True) diff --git a/src/tagstudio/qt/mixed/settings_panel.py b/src/tagstudio/qt/mixed/settings_panel.py index 61bd93a7..37e630fb 100644 --- a/src/tagstudio/qt/mixed/settings_panel.py +++ b/src/tagstudio/qt/mixed/settings_panel.py @@ -216,6 +216,13 @@ class SettingsPanel(PanelWidget): Translations["settings.tag_click_action.label"], self.tag_click_action_combobox ) + # Open Edit Window When Creating Tag + self.edit_tag_on_create_checkbox = QCheckBox() + self.edit_tag_on_create_checkbox.setChecked(self.driver.settings.edit_tag_on_create) + form_layout.addRow( + Translations["settings.edit_tag_on_create"], self.edit_tag_on_create_checkbox + ) + # TODO: Implement Library Settings def __build_library_settings(self): # pyright: ignore[reportUnusedFunction] form_layout = QFormLayout(self.library_settings_container) @@ -366,6 +373,7 @@ class SettingsPanel(PanelWidget): "show_filepath": self.filepath_combobox.currentData(), "theme": self.theme_combobox.currentData(), "tag_click_action": self.tag_click_action_combobox.currentData(), + "edit_tag_on_create": self.edit_tag_on_create_checkbox.isChecked(), "date_format": self.dateformat_combobox.currentData(), "hour_format": self.hourformat_checkbox.isChecked(), "zero_padding": self.zeropadding_checkbox.isChecked(), @@ -388,6 +396,7 @@ class SettingsPanel(PanelWidget): driver.settings.show_filepath = settings["show_filepath"] driver.settings.theme = settings["theme"] driver.settings.tag_click_action = settings["tag_click_action"] + driver.settings.edit_tag_on_create = settings["edit_tag_on_create"] driver.settings.date_format = settings["date_format"] driver.settings.hour_format = settings["hour_format"] driver.settings.zero_padding = settings["zero_padding"] diff --git a/src/tagstudio/resources/translations/en.json b/src/tagstudio/resources/translations/en.json index 6dacb437..1898b754 100644 --- a/src/tagstudio/resources/translations/en.json +++ b/src/tagstudio/resources/translations/en.json @@ -316,6 +316,7 @@ "settings.dateformat.international": "International", "settings.dateformat.label": "Date Format", "settings.dateformat.system": "System", + "settings.edit_tag_on_create": "Edit Tag After Creation", "settings.filepath.label": "Filepath Visibility", "settings.filepath.option.full": "Show Full Paths", "settings.filepath.option.name": "Show Filenames Only",