refactor: remove view parameters

This commit is contained in:
Travis Abendshien
2026-07-21 16:46:39 -07:00
parent a0bf6792ed
commit 99aad21e03
5 changed files with 15 additions and 20 deletions
@@ -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
+8 -5
View File
@@ -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()
@@ -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
@@ -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)
+2 -7
View File
@@ -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)