Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/tagstudio/qt/widgets/preview_panel.py
Comment thread
VasigaranAndAngel marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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()
Expand Down
2 changes: 1 addition & 1 deletion src/tagstudio/qt/widgets/progress.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
26 changes: 15 additions & 11 deletions src/tagstudio/qt/widgets/tag.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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


Expand All @@ -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__()

Expand Down Expand Up @@ -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)

Expand All @@ -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
Expand Down Expand Up @@ -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()
Expand Down
5 changes: 4 additions & 1 deletion src/tagstudio/qt/widgets/tag_box.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@


import typing
from collections.abc import Iterable

import structlog
from PySide6.QtCore import Signal
Expand Down Expand Up @@ -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.
Expand All @@ -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):
Expand Down