Commit Graph

1123 Commits

Author SHA1 Message Date
Travis Abendshien 3ae9dd39a3 fix: fix whitespace stripping inconsistencies in wcmatch 2026-09-14 00:23:20 -07:00
Travis Abendshien 795be0ac4e fix: fix wcmatch matching '*' to '/' 2026-09-14 00:03:09 -07:00
Travis Abendshien fbba5dd6a8 tests: add ignore matching tests 2026-09-13 17:52:33 -07:00
Travis Abendshien c778ff2376 fix: fix wcmatch not matching root directories, fix '**' to match 'zero or more' 2026-09-13 17:52:24 -07:00
Travis Abendshien 3516745746 fix: block cyclical symlink traversal in internal scanner 2026-09-13 17:52:05 -07:00
Travis Abendshien 2592fe0cfa fix: have ripgrep ignore .gitignore files it finds 2026-09-13 02:56:01 -07:00
Travis Abendshien 35511e1ccf fix: use correct rg path in actual ripgrep process call 2026-09-12 12:22:43 -07:00
Travis Abendshien cabc289657 refactor(ui): make 'fix unlined entries' panel refresh button use sync banner 2026-09-12 12:22:41 -07:00
Travis Abendshien 5610fc0471 refactor: remove legacy 'search and relink' system, fold into auto-relink 2026-09-12 12:20:37 -07:00
Travis Abendshien a2c429dda2 fix: fix edge cases and rework tests based on docs case table 2026-09-12 12:14:42 -07:00
Travis Abendshien 137af1fd40 fix(ui): fix banner not always updating label position 2026-09-12 12:14:42 -07:00
Travis Abendshien f32b7c4ac1 docs: update library sync documentation 2026-09-12 12:14:42 -07:00
Travis Abendshien b27004bff7 fix: don't lint st_birthtime 2026-09-12 12:14:42 -07:00
Travis Abendshien 1c814d17ed refactor!: rework and expand refresh (sync) system 2026-09-12 12:14:40 -07:00
Travis Abendshien e2d150645e feat: store and update file created and modified dates 2026-09-12 12:08:13 -07:00
Travis Abendshien 69d83663ab chore: bump version to v9.7.0 2026-09-12 12:04:24 -07:00
Trigam a25a9baf1e fix: include renderers in pyinstaller build (#1504) 2026-09-12 09:32:36 -07:00
Weblate (bot) 4d19ebeea5 translations: update from Hosted Weblate (#1479)
* Translated using Weblate (Hungarian)

Currently translated at 100.0% (430 of 430 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 34.5% (148 of 428 strings)

Translated using Weblate (Dutch)

Currently translated at 34.5% (148 of 428 strings)

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

* Translated using Weblate (French)

Currently translated at 100.0% (428 of 428 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/Application Strings

---------

Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Co-authored-by: Lily H <flannyha@gmail.com>
Co-authored-by: Pheubel <luca.guagliardo@live.nl>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
2026-09-11 11:20:20 -07:00
Travis Abendshien 658b7840c4 refactor: media types rework, dynamically load preview renderers (#1498)
* feat!: establish new MediaType system

* further additions and changes

* begin making renderers classes, improve text thumbnails

* continue renderer work

* convert most remaining thumbnail renderers to classes

* feat: dynamically load preview renderers

* refactor: use individual ext registration, continued progress

* refactor: finish converting old types to new registration system

* chore: alphabetize lists

* fix: only use search context for searches

* refactor: remove legacy filetype equivalent usages

* feat: add aliases for type groups, used in search

* refactor: use new MediaTypes system in archive renderers

* fix: add missing types

* refactor: remove last uses of legacy media type system

* refactor: move media type search context init to new file

* fix: fix import formatting, add missing aliases

* chore: remove leftover logging

* chore: small tweaks and comments

* refactor: wrap filetype init in function, call in driver

* docs: add and update docstrings

* fix: use all intended fallback icons for each media type

* fix: fix misc issues

* tests: add test cases for media types

* refactor: rename register_all to register_types

* refactor: wrap preview renderer type registrations in methods
2026-09-07 16:06:56 -07:00
Lars Hansen 3e9296c1db fix: catch exceptions in folders to tags tool (#1497) 2026-09-03 10:03:11 -07:00
Xarvex 55b033eca4 fix(nix/package): update package and dependencies, temporarily ignore tests 2026-08-28 12:28:50 -05:00
Travis Abendshien f978ae1ea1 fix: escape filename in glob matching (#1492) 2026-08-21 22:10:23 -07:00
Xarvex 33199f5b26 fix(nix/package): update build and Python versions 2026-08-21 12:53:59 -05:00
Travis Abendshien 8275d3e74b fix: prevent sefaults after progress bar tasks (#1490) 2026-08-20 20:43:57 -07:00
Travis Abendshien 4a3a767baf fix(ui): only update inspector once per thumbnail click (#1487) 2026-08-19 22:23:00 -07:00
Travis Abendshien f5a30489d7 build: bump python version to 3.14 (#1485)
* build: bump python to 3.14

* ci: bump python to 3.14, update docs

* build: remove version condition for audioop-lts

* chore: formatting pass

* fix: disallow 3.15.0

* build: bump pyside version to 6.11.2

* fix(ui): allow valid None value for cancelButtonText to hide button
2026-08-19 14:22:25 -07:00
Travis Abendshien 112b27f059 docs: update entry point to __main__.py 2026-08-18 14:40:57 -07:00
Travis Abendshien c32f500f3c refactor!: organize project layout (#1483)
* refactor!: organize project layout

* refactor: organize tests

* fix: change main.py with __main__.py in tagstudio.spec

* refactor: rename renderer.py to file_renderer.py
2026-08-18 13:56:35 -07:00
Xarvex f89f0a6c7f feat(nix/package): build for multiple Python versions 2026-08-18 14:27:40 -05:00
Xarvex c33455b7a0 fix(dev): add reuse linter
We use this for our CI checks but for some reason not locally. Add it to
our pyproject and Nix shell, and create a pre-commit step for it.
2026-08-17 23:43:19 -05:00
Travis Abendshien 12fd4933be fix: fix json migration UI and tests (#1484)
* fix: fix json migration UI and tests

* fix: just replace the Qt stuff with the actual iterator, please

* fix: skip UI iterator logic and just run iterator in migration modal

* fix: remove unnecessary for loop in test
2026-08-16 23:12:47 -07:00
Jann Stute 7e7def5a52 refactor(migrations): better library decoupling (#1482)
* refactor: minor improvement of version check

* refactor: don't use Library._all_entries in migrations

* chore: ruff format

* refactor: get_version split

* fix: typo

* doc: update note on deprecation of preferences table
2026-08-16 23:25:41 +02:00
Travis Abendshien 17cf87a4fa fix(docs): fix changelog header level 2026-08-16 11:57:48 -07:00
Sola-ris 3fe7922642 feat: add per-tag category display options (#1470)
* feat: add per-tag display options.

* feat: bump DB_VERSION to 301, add migration.

* tests: add tests.

* docs: document cateogry display options.

* docs: document library versions 300 and 301.

* fix: resolve ruff and pyright issues.

* fix: redo migration in the new style.

* fix: Remove unnecessary @staticmethod decorators.

* fix: Bump library version to 400.

* fix: Fix color order in colored_radio_button_style.

* fix: Commit the library produced by pytest.

* test: Add test for removing a category during tag creation.

* fix: Fix removing categories during tag creation.

* test: Add test for adding another tag after removing an existing category.

* fix: Fix adding another tag after removing an existing category.

* feat: Add separators between widgets.

* docs: Fix version in library-changes.md.

* test: Test removing a category inherited both directly and indirectly.

* fix: Fix removing a category inherited both directly and indirectly.

---------

Co-authored-by: Travis Abendshien <46939827+cyanvoxel@users.noreply.github.com>
2026-08-16 11:54:04 -07:00
Travis Abendshien 555dae50d4 chore: bump version to v9.6.4 2026-08-15 21:46:46 -07:00
Travis Abendshien e6d67c26dd docs: reorder changelog to match release notes 2026-08-15 21:46:20 -07:00
Travis Abendshien 435f5ff2b6 fix(ui) fix suggest box icon and opacity edge cases v9.6.3 2026-08-15 14:05:46 -07:00
Travis Abendshien 3cebb211b3 docs: ammend changelog 2026-08-15 13:28:26 -07:00
Travis Abendshien 512bf623c2 fix(ui): fix accent color issues on Windows (#1477) 2026-08-15 13:24:39 -07:00
Travis Abendshien 30c81257fa fix: revert update check order 2026-08-15 13:24:24 -07:00
Travis Abendshien fcd4d67711 fix(logs): use correct name for missing optional modules 2026-08-15 12:49:22 -07:00
Travis Abendshien b44ab8f161 docs: update changelog 2026-08-15 11:08:27 -07:00
Travis Abendshien 56a0b73cbd fix: early return higher DB version, log+type hint fixes (#1476) 2026-08-15 11:03:12 -07:00
Travis Abendshien 3ce65552f7 fix: yield from all_entries() instead of returning (fixes #1447, fixes #1467) 2026-08-15 10:29:46 -07:00
Weblate (bot) 49e320618c translations: update from Hosted Weblate (#1468)
* Translated using Weblate (Japanese)

Currently translated at 100.0% (428 of 428 strings)

Co-authored-by: coolvitto <coolzdaddy55@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ja/
Translation: TagStudio/Application Strings

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (428 of 428 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/Application Strings

* Translated using Weblate (Hebrew)

Currently translated at 2.3% (10 of 423 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: random stuff <random.uselesss.stuff@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/he/
Translation: TagStudio/Application Strings

* Translated using Weblate (French)

Currently translated at 100.0% (423 of 423 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/Application Strings

---------

Co-authored-by: coolvitto <coolzdaddy55@gmail.com>
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Co-authored-by: random stuff <random.uselesss.stuff@gmail.com>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
2026-08-14 21:46:34 -07:00
Travis Abendshien 102cfdf4a2 feat(ui): add library format version to about window 2026-08-14 10:29:37 -07:00
Travis Abendshien 47b123569e chore: bump version to v9.6.3 2026-08-14 10:29:06 -07:00
Travis Abendshien 09a54d5dfc fix(ui): remove blank action for field suggest box 2026-08-14 10:16:44 -07:00
Travis Abendshien 7782d2438f ui: add unique icon for applied tags in suggest box 2026-08-14 10:13:56 -07:00
Travis Abendshien 92e29635c7 ui: show edges of next tags in suggest box 2026-08-14 10:12:00 -07:00