recator: fixes to preview_panel.py, progress.py, tag.py and tag_box.py (#961)

* preview_panel.py

* progress.py

* tag.py

* tag_box.py

* Revert "preview_panel.py"

This reverts commit bcb4515834.
This commit is contained in:
VasigaranAndAngel
2025-07-03 21:33:22 +05:30
committed by GitHub
parent 57ab919d1b
commit 001ff14799
3 changed files with 20 additions and 13 deletions

View File

@@ -29,7 +29,7 @@ class ProgressWidget(QWidget):
self.pb = QProgressDialog(
labelText=label_text,
minimum=minimum,
cancelButtonText=cancel_button_text,
cancelButtonText=cancel_button_text or "",
maximum=maximum,
)
self.root.addWidget(self.pb)

View File

@@ -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 @@ from tagstudio.qt.translations import Translations
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 @@ class TagAliasWidget(QWidget):
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 @@ class TagAliasWidget(QWidget):
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 @@ class TagWidget(QWidget):
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 @@ class TagWidget(QWidget):
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()

View File

@@ -4,6 +4,7 @@
import typing
from collections.abc import Iterable
import structlog
from PySide6.QtCore import Signal
@@ -37,6 +38,8 @@ class TagBoxWidget(FieldWidget):
) -> 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 @@ class TagBoxWidget(FieldWidget):
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):