Commit Graph

768 Commits

Author SHA1 Message Date
Jann Stute
c2261d5b83 refactor(tag_box): mvc split (#1003)
* refactor: split into view and controller

* refactor: controller simplifications

* Update src/tagstudio/qt/controller/components/tag_box_controller.py

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>

* refactor: split method

* refactor: add override specifiers

* fix: shutup mypy

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
2025-08-04 15:06:22 -07:00
Thibault Maekelbergh
1459f79b23 build: add Nix path to ffmpeg locations on macOS (#990)
* Add Nix path to ffmpeg locations on macOS

* Add 'os' import
2025-08-04 15:02:14 -07:00
Jann Stute
1ee1ccbe8d fix: preview thumbnails don't scale as large as they could (#1005)
* fix: preview thumbnails don't scale as large as they could

* fix: only scale as large as necessary

* fix: explicitly declare vars
2025-08-04 14:39:17 -07:00
Travis Abendshien
4653eb2a04 fix: ensure initial browsing state uses UI values (#1008) 2025-08-04 12:43:37 -07:00
Jann Stute
940617cd63 fix(library): get_tag_by_name (#1006) 2025-08-03 13:03:36 -07:00
ugurozturk
9b287cb5af docs: fix incorrect release dates (#966)
* Wrong Date on Changelog fixed

* docs: fix remaining release dates

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
2025-08-02 21:48:18 -07:00
VasigaranAndAngel
6b96ee79e1 refactor: type improvements for main_window.py (#957) 2025-08-02 21:37:11 -07:00
Travis Abendshien
7d9480e3cf ui: reorder thumbnail zoom actions 2025-08-02 21:28:27 -07:00
purpletennisball
45943ba00d feat: zoom keyboard shortcut (#956)
* feat: add increase/decrease zoom menu items

* fix: increase thumbnail size not working on windows

* fix: duplicated menu items
2025-08-02 21:22:44 -07:00
ngivanyh
d86fc5cdd0 translations: update Traditional Chinese (#974)
* translation - almost done

* almost done

* small stuft left

* finish, the only untranslated text  "The \"Favorite\" and \"Archived\" tags now inherit from a new 「Meta Tags」 tag which is marked as a category by default." of json_migration.info.description

* small changes - done
2025-08-01 17:00:51 -07:00
Weblate (bot)
ed142203aa translations: update from Hosted Weblate (#947)
* Added translation using Weblate (Thai)

Co-authored-by: Anucha Hlownonkor <tony.chompoo@gmail.com>

* Translated using Weblate (Filipino)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Filipino)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Filipino)

Currently translated at 100.0% (319 of 319 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: searinminecraft <kitakita@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fil/
Translation: TagStudio/Strings

* Translated using Weblate (Tamil)

Currently translated at 100.0% (323 of 323 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ta/
Translation: TagStudio/Strings

* Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Stereo157E <pascal-reinartz157e@gmx.de>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/de/
Translation: TagStudio/Strings

* Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Maxim Truhonin <maxim.truhonin@gmail.com>
Co-authored-by: Utof <vip.ilyabondar@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ru/
Translation: TagStudio/Strings

* Translated using Weblate (Japanese)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (319 of 319 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: wany-oh <wany-oh@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ja/
Translation: TagStudio/Strings

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (319 of 319 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/hu/
Translation: TagStudio/Strings

* Translated using Weblate (Dutch)

Currently translated at 38.0% (123 of 323 strings)

Translated using Weblate (Dutch)

Currently translated at 38.0% (123 of 323 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Pheubel <luca.guagliardo@live.nl>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/nl/
Translation: TagStudio/Strings

* Translated using Weblate (Spanish)

Currently translated at 99.6% (322 of 323 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: danpg94 <danpalma94@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/es/
Translation: TagStudio/Strings

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (French)

Currently translated at 100.0% (319 of 319 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fr/
Translation: TagStudio/Strings

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (323 of 323 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Luoyu <tkiuvvv2333@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/zh_Hans/
Translation: TagStudio/Strings

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (323 of 323 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (319 of 319 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Neemek <sindodeg@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/nb_NO/
Translation: TagStudio/Strings

* Translated using Weblate (Toki Pona)

Currently translated at 95.3% (308 of 323 strings)

Co-authored-by: Bee Crankson <ProfB.crankson@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/tok/
Translation: TagStudio/Strings

---------

Co-authored-by: Anucha Hlownonkor <tony.chompoo@gmail.com>
Co-authored-by: searinminecraft <kitakita@disroot.org>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: Stereo157E <pascal-reinartz157e@gmx.de>
Co-authored-by: Maxim Truhonin <maxim.truhonin@gmail.com>
Co-authored-by: Utof <vip.ilyabondar@gmail.com>
Co-authored-by: wany-oh <wany-oh@users.noreply.hosted.weblate.org>
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Co-authored-by: Pheubel <luca.guagliardo@live.nl>
Co-authored-by: danpg94 <danpalma94@gmail.com>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Co-authored-by: Luoyu <tkiuvvv2333@gmail.com>
Co-authored-by: Neemek <sindodeg@gmail.com>
Co-authored-by: Bee Crankson <ProfB.crankson@gmail.com>
2025-08-01 16:34:44 -07:00
mashed5894
fd7d1f1e95 feat(ui): krita/open raster thumbs (#985)
* added kra/krz media categories and thumb rendering logic

* added .ora support (follows open doc standard)

---------

Co-authored-by: fj92hg <>
2025-07-31 23:53:35 -07:00
Jann Stute
a7d98e765b refactor(preview_thumb): mvc split (#978)
* refactor: basic split

* fix: renaming and usage test didn't work for the tests

* fix: tests

* refactor: restructuring

* refactor: further separation and lots of related changes

* refactor: remove last reference to a widget from controller

* refactor: address todo

* fix: failing tests and mypy compaint

* refactor: move control logic to controller

* refactor: more readable button style

* refactor: move existing code to view

* refactor: move existing code to controller

* fix: imports

* refactor: make methods private by default

* refactor: privatise fields

* refactor: reduce code duplication

* refactor: consolidate and sort display methods

* refactor: remove needless setting of delete action text

* refactor: extract control logic from _display_file

* refactor: use MediaType for __switch_preview

* fix: import in preview_panel_view.py

* refactor: remove unnecessary wrapper on view side

* refactor: move image data retrieval to control side

* refactor: move audio / video specific code to the respective method

* refactor: remove superfluos methods

* refactor: this and that

* refactor: use proper type instead of dict for file stats

* refactor: extract gif parsing to controller

* refactor: extract video size extraction to controller

* doc: add rule of thumb to Qt MVC Style Guide

* doc: change rule of thumb from note to tip

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
2025-07-31 23:46:46 -07:00
Jann Stute
192af25f6f refactor(preview_panel): mvc split (#952)
* refactor: basic split

* fix: renaming and usage test didn't work for the tests

* fix: tests

* refactor: restructuring

* refactor: further separation and lots of related changes

* refactor: remove last reference to a widget from controller

* refactor: address todo

* fix: failing tests and mypy compaint

* refactor: move control logic to controller

* refactor: more readable button style

* fix: set_selection was called with invalid argument
2025-07-31 22:53:32 -07:00
Jann Stute
7176908274 docs: Add QT MVC structure to style guide (#950)
* doc: first draft

* doc: highlight key aspects of example

* doc: address feedback

* doc: add comment on making methods private by default

* doc: fix typo

* doc: fix typos
2025-07-05 11:26:14 -07:00
VasigaranAndAngel
29154babf8 refactor: type improvements to landing.py and panel.py (#960)
* landing.py

* panel.py and a method's name change

* remove # noqa

* remove set_title method and pass title to the PanelModal constructor

Co-Authored-By: Jann Stute <46534683+Computerdores@users.noreply.github.com>

* send keyPressEvent only if it's not used

* pass window_title to constructor

use `title` if `window_title` is `None`

Co-Authored-By: Jann Stute <46534683+Computerdores@users.noreply.github.com>

---------

Co-authored-by: Jann Stute <46534683+Computerdores@users.noreply.github.com>
2025-07-03 11:10:20 -07:00
VasigaranAndAngel
001ff14799 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.
2025-07-03 09:03:22 -07:00
VasigaranAndAngel
57ab919d1b refactor: type fixes to folders_to_tags.py, collage_icon.py and item_thumb.py (#959)
* folders_to_tags.py type fixes

* collage_icon.py

* item_thumb.py

* fix test and mypy errors

* naming fix

Co-authored-by: Jann Stute <46534683+Computerdores@users.noreply.github.com>

---------

Co-authored-by: Jann Stute <46534683+Computerdores@users.noreply.github.com>
2025-07-03 08:39:33 -07:00
VasigaranAndAngel
4e722278d8 refactor: resource_manager.py (#958)
* refactor

* describe return types in get method

* make ResourceManager singleton

* match case statement
2025-06-27 14:11:29 -07:00
Travis Abendshien
b8313c3f15 ui: enable Chinese (Simplified) and Viossa language options 2025-06-07 14:49:00 -07:00
Jann Stute
c100babd9f feat(ui): option to change tag primary click behavior (#945)
* feat: add settings field

* feat: change click behaviour based on settings value

* fix: make ignore comment pyright specific to shut up mypy

* fix: add german and english translations for new strings

* fix: settings dropdowns were always english not matter the selected language
2025-06-06 12:45:30 -07:00
Jann Stute
3999d5d39b feat(ui): improved datetime field modal using QDateTimeEdit (#946)
* feat: custom modal making use of QDateTimeEdit

* fix: add back license notice

* refactor: remove unnecessary line

* feat: use date and hour format from settings for date time picker
2025-06-06 12:41:52 -07:00
Jann Stute
14d1c2b618 refactor: split QtDriver into View and Controller to follow MVC model (#935)
* fix: incorrect qt enum accesses

* refactor: clean up main_window.py and reenable ruff checks for it

* refactor: completely reorganise main_window.py

* refactor: factor out regions into separate methods

* refactor: move preview_panel to MainWindow

* refactor: move file menu construction to MainMenuBar

* refactor: move edit menu construction to MainMenuBar

* refactor: move view menu construction to MainMenuBar

* refactor: move tools menu construction to MainMenuBar

* refactor: move macros menu construction to MainMenuBar

* refactor: move help menu construction to MainMenuBar

* refactor: move ui construction code out of QtDriver and into MainWindow

* fix: remove unnecessary imports

* fix: tests were failing
2025-06-05 16:02:03 -07:00
Weblate (bot)
da18bd0dd5 translations: update from Hosted Weblate (#907)
* Translated using Weblate (Filipino)

Currently translated at 100.0% (313 of 313 strings)

Translated using Weblate (Filipino)

Currently translated at 100.0% (313 of 313 strings)

Translated using Weblate (Filipino)

Currently translated at 74.7% (234 of 313 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
Co-authored-by: searinminecraft <kitakita@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fil/
Translation: TagStudio/Strings

* Translated using Weblate (Tamil)

Currently translated at 100.0% (313 of 313 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ta/
Translation: TagStudio/Strings

* Translated using Weblate (German)

Currently translated at 100.0% (313 of 313 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Liveside <livesi5e@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/de/
Translation: TagStudio/Strings

* Translated using Weblate (Russian)

Currently translated at 91.3% (286 of 313 strings)

Translated using Weblate (Russian)

Currently translated at 91.3% (286 of 313 strings)

Translated using Weblate (Russian)

Currently translated at 89.1% (279 of 313 strings)

Translated using Weblate (Russian)

Currently translated at 88.8% (278 of 313 strings)

Co-authored-by: Dott-rus <antonamelin8@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Utof <vip.ilyabondar@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ru/
Translation: TagStudio/Strings

* Translated using Weblate (Japanese)

Currently translated at 100.0% (313 of 313 strings)

Translated using Weblate (Japanese)

Currently translated at 63.2% (198 of 313 strings)

Translated using Weblate (Japanese)

Currently translated at 52.3% (164 of 313 strings)

Update translation files

Updated by "Remove blank strings" add-on in Weblate.

Translated using Weblate (Japanese)

Currently translated at 52.0% (163 of 313 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: wany-oh <wany-oh@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ja/
Translation: TagStudio/Strings

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (313 of 313 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/hu/
Translation: TagStudio/Strings

* Translated using Weblate (Polish)

Currently translated at 92.6% (290 of 313 strings)

Co-authored-by: Feather <featherprinceyt@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/pl/
Translation: TagStudio/Strings

* Translated using Weblate (Spanish)

Currently translated at 99.3% (311 of 313 strings)

Translated using Weblate (Spanish)

Currently translated at 96.4% (302 of 313 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Joan <joancanalscrehuet@gmail.com>
Co-authored-by: Sunny <0t2sruto@pwall.anonaddy.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/es/
Translation: TagStudio/Strings

* Translated using Weblate (French)

Currently translated at 100.0% (313 of 313 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fr/
Translation: TagStudio/Strings

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (313 of 313 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (312 of 312 strings)

Added translation using Weblate (Chinese (Simplified Han script))

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Luoyu <rainluoyu@outlook.com>
Co-authored-by: Luoyu <tkiuvvv2333@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/zh_Hans/
Translation: TagStudio/Strings

* Translated using Weblate (Toki Pona)

Currently translated at 95.8% (300 of 313 strings)

Translated using Weblate (Toki Pona)

Currently translated at 94.8% (297 of 313 strings)

Translated using Weblate (Toki Pona)

Currently translated at 90.4% (283 of 313 strings)

Translated using Weblate (Toki Pona)

Currently translated at 90.0% (282 of 313 strings)

Translated using Weblate (Toki Pona)

Currently translated at 83.0% (260 of 313 strings)

Translated using Weblate (Toki Pona)

Currently translated at 80.7% (252 of 312 strings)

Translated using Weblate (Toki Pona)

Currently translated at 80.7% (252 of 312 strings)

Translated using Weblate (Toki Pona)

Currently translated at 80.7% (252 of 312 strings)

Co-authored-by: Bee Crankson <ProfB.crankson@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/tok/
Translation: TagStudio/Strings

* Translated using Weblate (Viossa)

Currently translated at 96.1% (301 of 313 strings)

Translated using Weblate (Viossa)

Currently translated at 96.1% (301 of 313 strings)

Translated using Weblate (Viossa)

Currently translated at 96.1% (301 of 313 strings)

Translated using Weblate (Viossa)

Currently translated at 46.3% (145 of 313 strings)

Translated using Weblate (Viossa)

Currently translated at 45.0% (141 of 313 strings)

Translated using Weblate (Viossa)

Currently translated at 45.1% (141 of 312 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nginearing <142851004+Nginearing@users.noreply.github.com>
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/qpv/
Translation: TagStudio/Strings

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
Co-authored-by: searinminecraft <kitakita@disroot.org>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: Liveside <livesi5e@gmail.com>
Co-authored-by: Dott-rus <antonamelin8@gmail.com>
Co-authored-by: Utof <vip.ilyabondar@gmail.com>
Co-authored-by: wany-oh <wany-oh@users.noreply.hosted.weblate.org>
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Co-authored-by: Feather <featherprinceyt@gmail.com>
Co-authored-by: Joan <joancanalscrehuet@gmail.com>
Co-authored-by: Sunny <0t2sruto@pwall.anonaddy.com>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Co-authored-by: Luoyu <rainluoyu@outlook.com>
Co-authored-by: Luoyu <tkiuvvv2333@gmail.com>
Co-authored-by: Bee Crankson <ProfB.crankson@gmail.com>
Co-authored-by: Nginearing <142851004+Nginearing@users.noreply.github.com>
2025-06-04 02:14:32 -07:00
Travis Abendshien
9b0eb90d06 Merge branch 'Alpha-v9.5.3' 2025-06-04 01:35:25 -07:00
rsazra
e4bb07e852 fix: add parent tags to folders_to_tags macro and start tagging at root folder (#940)
* start tagging from root and add parent tags

* update snapshot to pass test
2025-06-04 01:22:17 -07:00
purpletennisball
e1117bf1a1 fix: creating new tag now refreshes the menu using the current search text (#939) 2025-06-04 00:43:09 -07:00
rsazra
c21e2d657d fix(ui): add selected field on return (#941) 2025-06-04 00:36:27 -07:00
Jann Stute
25fb6883c1 fix: proper error on unterminated quoted string (#936)
* fix: minor warnings

* fix: return ParsingError on unterminated quoted string
2025-06-04 00:33:33 -07:00
Jann Stute
cf6c56c9d2 fix: restore page navigation state (#933)
* refactor: store browsing history for navigation purposes

* refactor: remove page_size from FilterState

* refactor: move on from the term "filter" in favor of "BrowsingState"

* fix: refactors didn't propagate to the tests

* fix: ruff complaints

* fix: remaing refactoring errors

* fix: navigation works again

* fix: also store and restore query
2025-06-04 00:29:07 -07:00
Bee
b0a9d045fd docs: update CHANGELOG.md (#914)
* Update CHANGELOG.md

* Update CHANGELOG.md again

add the more recent changelog parts
2025-06-03 23:32:03 -07:00
Xarvex
1e783a5e3c fix(nix/package): override PySide6 if later version is being used (#917) 2025-05-06 16:42:21 -05:00
Travis Abendshien
6517ef560f Merge branch 'main' into Alpha-v9.5.3 2025-05-05 14:25:38 -07:00
Jann Stute
d061e2e866 fix: tests were overwriting the settings.toml (#928)
* fix: tests were overwriting the settings.toml

* fix(GlobalSettings): add default value for _loaded_from

* fix: a case in read_settings didn't set loaded_from correctly

* fix(GlobalSettings): proper serialisation
2025-05-05 14:04:48 -07:00
Travis Abendshien
ee56f3e2bc feat(ui): show stems for extension-less files (#899)
* feat(ui): show stems for extension-less files

* chore: remove unnecessary call and comment

* fix: only access filepath if not none
2025-05-05 13:09:26 -07:00
Xarvex
702ecd4118 chore(pyproject): version bumping/relaxing (#886)
* chore(pyproject): version bumping/relaxing

* fix(pyproject): remove imaging extra for mkdocs-material

* fix: ruff formatting

* fix: mypy

* fix(pyproject): PySide violates SemVer

* chore(pyproject): set Python version, bump pydantic

* fix(ci): up Ruff to consistent version

* fix(pyproject): fixup requires-python

* fix: ruff checks

* chore(pyproject): bump dependencies

* fix(ci): up Ruff to consistent version

* fix(tests): strip out non-reproducible tests
2025-05-05 12:47:57 -07:00
Travis Abendshien
c14734d25e chore: remove unused "dev/null" check 2025-05-04 17:29:07 -07:00
Tony
36f3b45e66 fix(tests): fix tests failing on Windows (#903)
* create and delete tmp directory for tests

* Update tests/conftest.py

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>

* Update tests/conftest.py

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>

* remove unused import

* cleanup and added type hints

* fix mypy assignment error

* swap gettempdir() with TemporaryDirectory()

* reuse temp library for more tests + cleanup

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
2025-05-04 17:23:36 -07:00
VasigaranAndAngel
efb062034d refactor: remove placeholder video, fix type hints in preview_thumb.py (#906)
* type fixes

* remove `stop_file_use()` method and release the file properly.

* remove "placeholder_mp4" from resources.json
2025-05-04 15:13:34 -07:00
Jann Stute
6598630984 feat: datetime fields settings integration (#926)
* refactor: move datetime formatting to global settings

* feat: datetime fields settings integration
2025-05-04 11:49:52 -07:00
Jann Stute
98c4b1c359 feat(ui): temporary modal to edit datetime fields and small refactors (#921)
* refactor: simplify datetime widget creation

* refactor: fix warnings

* feat: text modal to enter date

* chore: change ignore comment to only apply to pyright not mypy
2025-05-04 11:13:58 -07:00
Travis Abendshien
525b382803 chore: remove unused import 2025-05-04 10:50:57 -07:00
JCC1998
f770614c4e feat: add date_format and hour_format settings (#904)
* feat: add date_format and hour_format settings

* fix: fix ruff validation errors

* fix: use ruff format command

* fix: Refactor code and improve some logic

* fix: remove unused import

* Added zero padding setting and implement some comments

* Add test assert property

* fix: Unclutter selector and clarify zero-padding literal

* fix: Use static strings

Co-authored-by: Tony <1414927+zfbx@users.noreply.github.com>

---------

Co-authored-by: Tony <1414927+zfbx@users.noreply.github.com>
2025-05-04 10:46:26 -07:00
Tony
97ee43c875 feat: add ability to invert selection (#909)
* implement selection inversing

* Rename Select Inverse to Invert Selection
2025-04-05 19:59:44 -05:00
Xarvex
a72c2c4ba8 docs(develop): use double quotes for pip
Some shells, notably Zsh, try parsing the brackets.

Fixes: #910
2025-04-05 19:11:46 -05:00
Xarvex
29d3d64a32 nix(nix/package): ignore incompatible tests 2025-03-31 23:53:46 -05:00
Travis Abendshien
b0bfc10a67 docs: update roadmap 2025-03-31 20:36:08 -07:00
Travis Abendshien
7c5b8e51e6 chore: bump version to v9.5.2 v9.5.2 2025-03-31 15:39:46 -07:00
Weblate (bot)
efb4c4a6ed translations: update Hungarian, French, Toki Pona (#891)
* Translated using Weblate (Hungarian)

Currently translated at 100.0% (312 of 312 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (309 of 309 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/hu/
Translation: TagStudio/Strings

* Translated using Weblate (French)

Currently translated at 100.0% (312 of 312 strings)

Translated using Weblate (French)

Currently translated at 100.0% (309 of 309 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fr/
Translation: TagStudio/Strings

* Translated using Weblate (Toki Pona)

Currently translated at 80.9% (250 of 309 strings)

Co-authored-by: Bee Crankson <ProfB.crankson@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/tok/
Translation: TagStudio/Strings

---------

Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Co-authored-by: Bee Crankson <ProfB.crankson@gmail.com>
2025-03-31 15:33:17 -07:00
Travis Abendshien
f88200f38e fix(ui): seamlessly loop videos (#902) 2025-03-31 15:28:08 -07:00