diff --git a/src/tagstudio/qt/helpers/color_overlay.py b/src/tagstudio/qt/helpers/color_overlay.py index 0050447f..0c846b52 100644 --- a/src/tagstudio/qt/helpers/color_overlay.py +++ b/src/tagstudio/qt/helpers/color_overlay.py @@ -35,7 +35,7 @@ def theme_fg_overlay(image: Image.Image, use_alpha: bool = True) -> Image.Image: return _apply_overlay(image, im) -def gradient_overlay(image: Image.Image, gradient=list[str]) -> Image.Image: +def gradient_overlay(image: Image.Image, gradient: list[str]) -> Image.Image: """Overlay a color gradient onto an image. Args: diff --git a/src/tagstudio/qt/helpers/gradient.py b/src/tagstudio/qt/helpers/gradient.py index 5c9a2657..fee4f151 100644 --- a/src/tagstudio/qt/helpers/gradient.py +++ b/src/tagstudio/qt/helpers/gradient.py @@ -49,8 +49,8 @@ def four_corner_gradient( def linear_gradient( - size=tuple[int, int], - colors=list[str], + size: tuple[int, int], + colors: list[str], interpolation: Image.Resampling = Image.Resampling.BICUBIC, ) -> Image.Image: seed: Image.Image = Image.new(mode="RGBA", size=(len(colors), 1), color="#000000") diff --git a/src/tagstudio/qt/helpers/text_wrapper.py b/src/tagstudio/qt/helpers/text_wrapper.py index 401e2f89..71d6b5be 100644 --- a/src/tagstudio/qt/helpers/text_wrapper.py +++ b/src/tagstudio/qt/helpers/text_wrapper.py @@ -6,11 +6,11 @@ from PIL import Image, ImageDraw, ImageFont -def wrap_line( # type: ignore +def wrap_line( text: str, font: ImageFont.ImageFont, width: int = 256, - draw: ImageDraw.ImageDraw = None, + draw: ImageDraw.ImageDraw | None = None, ) -> int: """Take in a single text line and return the index it should be broken up at. @@ -27,15 +27,14 @@ def wrap_line( # type: ignore ): if draw.textlength(text[:i], font=font) < width: return i - else: - return -1 + return -1 def wrap_full_text( text: str, font: ImageFont.ImageFont, width: int = 256, - draw: ImageDraw.ImageDraw = None, + draw: ImageDraw.ImageDraw | None = None, ) -> str: """Break up a string to fit the canvas given a kerning value, font size, etc.""" lines = [] diff --git a/src/tagstudio/qt/widgets/fields.py b/src/tagstudio/qt/widgets/fields.py index 616a7f2f..c787110f 100644 --- a/src/tagstudio/qt/widgets/fields.py +++ b/src/tagstudio/qt/widgets/fields.py @@ -5,7 +5,7 @@ import math from pathlib import Path -from typing import Callable +from typing import Callable, override from warnings import catch_warnings import structlog @@ -54,9 +54,9 @@ class FieldContainer(QWidget): self.setObjectName("fieldContainer") self.title: str = title self.inline: bool = inline - self.copy_callback: Callable = None - self.edit_callback: Callable = None - self.remove_callback: Callable = None + self.copy_callback: Callable[[], None] | None = None + self.edit_callback: Callable[[], None] | None = None + self.remove_callback: Callable[[], None] | None = None button_size = 24 self.root_layout = QVBoxLayout(self) @@ -129,7 +129,7 @@ class FieldContainer(QWidget): self.set_title(title) self.setStyleSheet(FieldContainer.container_style) - def set_copy_callback(self, callback: Callable | None = None): + def set_copy_callback(self, callback: Callable[[], None] | None = None) -> None: with catch_warnings(record=True): self.copy_button.clicked.disconnect() @@ -137,7 +137,7 @@ class FieldContainer(QWidget): if callback: self.copy_button.clicked.connect(callback) - def set_edit_callback(self, callback: Callable | None = None): + def set_edit_callback(self, callback: Callable[[], None] | None = None) -> None: with catch_warnings(record=True): self.edit_button.clicked.disconnect() @@ -145,7 +145,7 @@ class FieldContainer(QWidget): if callback: self.edit_button.clicked.connect(callback) - def set_remove_callback(self, callback: Callable | None = None): + def set_remove_callback(self, callback: Callable[[], None] | None = None) -> None: with catch_warnings(record=True): self.remove_button.clicked.disconnect() @@ -153,7 +153,7 @@ class FieldContainer(QWidget): if callback: self.remove_button.clicked.connect(callback) - def set_inner_widget(self, widget: "FieldWidget"): + def set_inner_widget(self, widget: "FieldWidget") -> None: if self.field_layout.itemAt(0): old: QWidget = self.field_layout.itemAt(0).widget() self.field_layout.removeWidget(old) @@ -161,19 +161,20 @@ class FieldContainer(QWidget): self.field_layout.addWidget(widget) - def get_inner_widget(self): + def get_inner_widget(self) -> QWidget | None: if self.field_layout.itemAt(0): return self.field_layout.itemAt(0).widget() return None - def set_title(self, title: str): + def set_title(self, title: str) -> None: self.title = self.title = f"