From 99aad21e03bbc7e2fd461753b04c3922961e2a56 Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Tue, 21 Jul 2026 16:46:39 -0700 Subject: [PATCH] refactor: remove view parameters --- src/tagstudio/qt/controllers/field_suggest_box.py | 5 ++--- src/tagstudio/qt/controllers/suggest_box.py | 13 ++++++++----- src/tagstudio/qt/controllers/tag_suggest_box.py | 5 ++--- src/tagstudio/qt/controllers/underlined_widget.py | 3 +-- src/tagstudio/qt/views/preview_panel_view.py | 9 ++------- 5 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/tagstudio/qt/controllers/field_suggest_box.py b/src/tagstudio/qt/controllers/field_suggest_box.py index 763501d8..99b1c9f4 100644 --- a/src/tagstudio/qt/controllers/field_suggest_box.py +++ b/src/tagstudio/qt/controllers/field_suggest_box.py @@ -18,7 +18,6 @@ from tagstudio.qt.controllers.suggest_box import SuggestBox from tagstudio.qt.controllers.underlined_widget import UnderlinedWidget from tagstudio.qt.translations import Translations from tagstudio.qt.views.panel_modal import PanelModal, PanelWidget -from tagstudio.qt.views.suggest_box_view import SuggestBoxView if typing.TYPE_CHECKING: from tagstudio.qt.ts_qt import QtDriver @@ -27,8 +26,8 @@ logger = structlog.get_logger(__name__) class FieldSuggestBox(SuggestBox[BaseFieldTemplate]): - def __init__(self, driver: "QtDriver", view: SuggestBoxView | None = None): - super().__init__(driver, view=view or SuggestBoxView()) + def __init__(self, driver: "QtDriver", placeholder_text: str = ""): + super().__init__(driver, placeholder_text) self._lib = self._driver.lib # Context Menu Actions diff --git a/src/tagstudio/qt/controllers/suggest_box.py b/src/tagstudio/qt/controllers/suggest_box.py index 95737d1a..30dc62c8 100644 --- a/src/tagstudio/qt/controllers/suggest_box.py +++ b/src/tagstudio/qt/controllers/suggest_box.py @@ -46,7 +46,7 @@ class SuggestBox[T](QWidget): item_chosen = Signal(object) done = Signal() - def __init__(self, driver: "QtDriver", view: SuggestBoxView) -> None: + def __init__(self, driver: "QtDriver", placeholder_text: str = "") -> None: super().__init__() self._driver = driver self._limit = 5 @@ -55,10 +55,13 @@ class SuggestBox[T](QWidget): self.added: list[int] = [] self.excluded: list[int] = [] - self.setLayout(view) + self.setLayout(SuggestBoxView(placeholder_text)) self._connect_callbacks() - def hide_and_reset(self): + def set_placeholder_text(self, text: str) -> None: + self.layout().search_field.setPlaceholderText(text) + + def hide_and_reset(self) -> None: self.hide() self.layout().search_field.setDisabled(True) self._on_shift_held(held=False) @@ -77,7 +80,7 @@ class SuggestBox[T](QWidget): self.layout().search_field.shift_holding.connect(lambda held: self._on_shift_held(held)) - def _on_shift_held(self, held: bool): + def _on_shift_held(self, held: bool) -> None: if held: self._is_shift_held = True opacity_effect = QGraphicsOpacityEffect(self) @@ -192,7 +195,7 @@ class SuggestBox[T](QWidget): def _set_item_widget(self, item: T | None, index: int) -> None: # pyright: ignore[reportUnusedParameter] raise NotImplementedError() - def _editing_finished_callback(self): + def _editing_finished_callback(self) -> None: if self.layout().search_field.text() == "": self.done.emit() self.hide_and_reset() diff --git a/src/tagstudio/qt/controllers/tag_suggest_box.py b/src/tagstudio/qt/controllers/tag_suggest_box.py index e9a92731..c74117ea 100644 --- a/src/tagstudio/qt/controllers/tag_suggest_box.py +++ b/src/tagstudio/qt/controllers/tag_suggest_box.py @@ -19,7 +19,6 @@ from tagstudio.qt.mixed.build_tag import BuildTagPanel from tagstudio.qt.mixed.tag_widget import TagWidget from tagstudio.qt.translations import Translations from tagstudio.qt.views.panel_modal import PanelModal, PanelWidget -from tagstudio.qt.views.suggest_box_view import SuggestBoxView if typing.TYPE_CHECKING: from tagstudio.qt.ts_qt import QtDriver @@ -28,8 +27,8 @@ logger = structlog.get_logger(__name__) class TagSuggestBox(SuggestBox[Tag]): - def __init__(self, driver: "QtDriver", view: SuggestBoxView | None = None): - super().__init__(driver, view=view or SuggestBoxView()) + def __init__(self, driver: "QtDriver", placeholder_text: str = "") -> None: + super().__init__(driver, placeholder_text) self._driver = driver self._lib = self._driver.lib diff --git a/src/tagstudio/qt/controllers/underlined_widget.py b/src/tagstudio/qt/controllers/underlined_widget.py index 0a7938dd..46291997 100644 --- a/src/tagstudio/qt/controllers/underlined_widget.py +++ b/src/tagstudio/qt/controllers/underlined_widget.py @@ -12,8 +12,7 @@ from tagstudio.qt.views.underlined_widget_view import UnderlinedWidgetView class UnderlinedWidget(QWidget): def __init__(self, widget: QWidget) -> None: super().__init__() - view = UnderlinedWidgetView(widget) - self.setLayout(view) + self.setLayout(UnderlinedWidgetView(widget)) def toggle_underline(self, is_hidden: bool) -> None: self.layout().underline.setHidden(is_hidden) diff --git a/src/tagstudio/qt/views/preview_panel_view.py b/src/tagstudio/qt/views/preview_panel_view.py index 87bf8541..e1daee1f 100644 --- a/src/tagstudio/qt/views/preview_panel_view.py +++ b/src/tagstudio/qt/views/preview_panel_view.py @@ -20,7 +20,6 @@ from tagstudio.qt.mixed.file_attributes import FileAttributes from tagstudio.qt.resource_manager import ResourceManager from tagstudio.qt.translations import Translations from tagstudio.qt.views.stylesheets.stylesheets import button_style, preview_warning_style -from tagstudio.qt.views.suggest_box_view import SuggestBoxView if typing.TYPE_CHECKING: from tagstudio.qt.ts_qt import QtDriver @@ -39,12 +38,8 @@ class PreviewPanelView(QVBoxLayout): return " ".join([Translations[key], Translations["home.search.how_to_exit"]]) # Search/Create Boxes - self.field_search_box = FieldSuggestBox( - driver, view=SuggestBoxView(placeholder_text=ph_text("home.search_or_create_fields")) - ) - self.tag_search_box = TagSuggestBox( - driver, view=SuggestBoxView(placeholder_text=ph_text("home.search_or_create_tags")) - ) + self.field_search_box = FieldSuggestBox(driver, ph_text("home.search_or_create_fields")) + self.tag_search_box = TagSuggestBox(driver, ph_text("home.search_or_create_tags")) self.preview_thumb = PreviewThumb(driver.lib, driver) self.file_attrs = FileAttributes(driver.lib, driver)