From bcb4515834f9c0aaaf384f692a2a4767c45b6ca4 Mon Sep 17 00:00:00 2001 From: VasigaranAndAngel <72515046+VasigaranAndAngel@users.noreply.github.com> Date: Fri, 13 Jun 2025 09:30:14 +0530 Subject: [PATCH 1/5] preview_panel.py --- src/tagstudio/qt/widgets/preview_panel.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tagstudio/qt/widgets/preview_panel.py b/src/tagstudio/qt/widgets/preview_panel.py index ef4676e89..820d44bcf 100644 --- a/src/tagstudio/qt/widgets/preview_panel.py +++ b/src/tagstudio/qt/widgets/preview_panel.py @@ -142,8 +142,9 @@ def update_widgets(self, update_preview: bool = True) -> bool: # One Item Selected elif len(self.driver.selected) == 1: - entry: Entry = self.lib.get_entry(self.driver.selected[0]) + entry: Entry | None = self.lib.get_entry(self.driver.selected[0]) entry_id = self.driver.selected[0] + assert self.lib.library_dir is not None and entry is not None filepath: Path = self.lib.library_dir / entry.path if update_preview: @@ -189,7 +190,7 @@ def update_add_field_button(self, entry_id: int | None = None): ) self.add_field_button.clicked.connect(self.add_field_modal.show) - def update_add_tag_button(self, entry_id: int = None): + def update_add_tag_button(self, entry_id: int | None = None): with catch_warnings(record=True): self.tag_search_panel.tag_chosen.disconnect() self.add_tag_button.clicked.disconnect() From 42e93ebe9634d89db7eb59d1872bc696010f5fa5 Mon Sep 17 00:00:00 2001 From: VasigaranAndAngel <72515046+VasigaranAndAngel@users.noreply.github.com> Date: Fri, 13 Jun 2025 09:33:59 +0530 Subject: [PATCH 2/5] progress.py --- src/tagstudio/qt/widgets/progress.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tagstudio/qt/widgets/progress.py b/src/tagstudio/qt/widgets/progress.py index 205aed8a5..adf61f12f 100644 --- a/src/tagstudio/qt/widgets/progress.py +++ b/src/tagstudio/qt/widgets/progress.py @@ -29,7 +29,7 @@ def __init__( self.pb = QProgressDialog( labelText=label_text, minimum=minimum, - cancelButtonText=cancel_button_text, + cancelButtonText=cancel_button_text or "", maximum=maximum, ) self.root.addWidget(self.pb) From 1ce59098d35e5a300e51d2547b3c1fece37fcb65 Mon Sep 17 00:00:00 2001 From: VasigaranAndAngel <72515046+VasigaranAndAngel@users.noreply.github.com> Date: Fri, 13 Jun 2025 09:45:52 +0530 Subject: [PATCH 3/5] tag.py --- src/tagstudio/qt/widgets/tag.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/tagstudio/qt/widgets/tag.py b/src/tagstudio/qt/widgets/tag.py index 31e686890..4ab55c88d 100644 --- a/src/tagstudio/qt/widgets/tag.py +++ b/src/tagstudio/qt/widgets/tag.py @@ -3,8 +3,8 @@ # Created for TagStudio: https://github.com/CyanVoxel/TagStudio -import typing -from types import FunctionType +from collections.abc import Callable +from typing import TYPE_CHECKING, override import structlog from PySide6.QtCore import QEvent, Qt, Signal @@ -20,7 +20,7 @@ logger = structlog.get_logger(__name__) # Only import for type checking/autocompletion, will not be imported at runtime. -if typing.TYPE_CHECKING: +if TYPE_CHECKING: from tagstudio.core.library.alchemy.library import Library @@ -31,7 +31,7 @@ def __init__( self, id: int | None = 0, alias: str | None = None, - on_remove_callback=None, + on_remove_callback: Callable[[], None] | None = None, ) -> None: super().__init__() @@ -84,11 +84,13 @@ def _adjust_width(self): self.text_field.setMinimumWidth(text_width) self.text_field.adjustSize() - def enterEvent(self, event: QEnterEvent) -> None: # noqa: N802 + @override + def enterEvent(self, event: QEnterEvent) -> None: self.update() return super().enterEvent(event) - def leaveEvent(self, event: QEvent) -> None: # noqa: N802 + @override + def leaveEvent(self, event: QEvent) -> None: self.update() return super().leaveEvent(event) @@ -106,9 +108,9 @@ def __init__( has_edit: bool, has_remove: bool, library: "Library | None" = None, - on_remove_callback: FunctionType | None = None, - on_click_callback: FunctionType | None = None, - on_edit_callback: FunctionType | None = None, + on_remove_callback: Callable[[], None] | None = None, + on_click_callback: Callable[[], None] | None = None, + on_edit_callback: Callable[[], None] | None = None, ) -> None: super().__init__() self.tag = tag @@ -271,13 +273,15 @@ def set_tag(self, tag: Tag | None) -> None: def set_has_remove(self, has_remove: bool): self.has_remove = has_remove - def enterEvent(self, event: QEnterEvent) -> None: # noqa: N802 + @override + def enterEvent(self, event: QEnterEvent) -> None: if self.has_remove: self.remove_button.setHidden(False) self.update() return super().enterEvent(event) - def leaveEvent(self, event: QEvent) -> None: # noqa: N802 + @override + def leaveEvent(self, event: QEvent) -> None: if self.has_remove: self.remove_button.setHidden(True) self.update() From bd8e6796281118ff19179b4f8b94874debe2b525 Mon Sep 17 00:00:00 2001 From: VasigaranAndAngel <72515046+VasigaranAndAngel@users.noreply.github.com> Date: Fri, 13 Jun 2025 09:49:53 +0530 Subject: [PATCH 4/5] tag_box.py --- src/tagstudio/qt/widgets/tag_box.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tagstudio/qt/widgets/tag_box.py b/src/tagstudio/qt/widgets/tag_box.py index 8b0051821..bcb3b29e8 100644 --- a/src/tagstudio/qt/widgets/tag_box.py +++ b/src/tagstudio/qt/widgets/tag_box.py @@ -4,6 +4,7 @@ import typing +from collections.abc import Iterable import structlog from PySide6.QtCore import Signal @@ -37,6 +38,8 @@ def __init__( ) -> None: super().__init__(title) + self.edit_modal: PanelModal + self.tags: set[Tag] = tags self.driver = ( driver # Used for creating tag click callbacks that search entries for that tag. @@ -49,7 +52,7 @@ def __init__( self.set_tags(self.tags) - def set_tags(self, tags: typing.Iterable[Tag]): + def set_tags(self, tags: Iterable[Tag]) -> None: tags_ = sorted(list(tags), key=lambda tag: self.driver.lib.tag_display_name(tag.id)) logger.info("[TagBoxWidget] Tags:", tags=tags) while self.base_layout.itemAt(0): From 95fe10a0ac6b6d50d0444d73de07908cb7df3f69 Mon Sep 17 00:00:00 2001 From: VasigaranAndAngel <72515046+VasigaranAndAngel@users.noreply.github.com> Date: Sat, 14 Jun 2025 00:58:37 +0530 Subject: [PATCH 5/5] Revert "preview_panel.py" This reverts commit bcb4515834f9c0aaaf384f692a2a4767c45b6ca4. --- src/tagstudio/qt/widgets/preview_panel.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tagstudio/qt/widgets/preview_panel.py b/src/tagstudio/qt/widgets/preview_panel.py index 820d44bcf..ef4676e89 100644 --- a/src/tagstudio/qt/widgets/preview_panel.py +++ b/src/tagstudio/qt/widgets/preview_panel.py @@ -142,9 +142,8 @@ def update_widgets(self, update_preview: bool = True) -> bool: # One Item Selected elif len(self.driver.selected) == 1: - entry: Entry | None = self.lib.get_entry(self.driver.selected[0]) + entry: Entry = self.lib.get_entry(self.driver.selected[0]) entry_id = self.driver.selected[0] - assert self.lib.library_dir is not None and entry is not None filepath: Path = self.lib.library_dir / entry.path if update_preview: @@ -190,7 +189,7 @@ def update_add_field_button(self, entry_id: int | None = None): ) self.add_field_button.clicked.connect(self.add_field_modal.show) - def update_add_tag_button(self, entry_id: int | None = None): + def update_add_tag_button(self, entry_id: int = None): with catch_warnings(record=True): self.tag_search_panel.tag_chosen.disconnect() self.add_tag_button.clicked.disconnect()