Travis Abendshien
f48b363383
fix: catch ParsingError ( #779 )
...
* fix: move `path_strings` var inside `with` block
* refactor: move lambda to local function
* fix: catch `ParsingError` and return no results
* refactor: move `ParsingError` handling out to `QtDriver`
Reverts changes made to `test_search.py` and `enums.py`.
2025-02-03 15:31:12 -08:00
Travis Abendshien
634e1c7fe9
chore: update pyproject.toml
2025-02-02 23:29:53 -08:00
Travis Abendshien
90a826d128
fix(ui): reduce field title width to make room for edit and delete buttons
2025-02-02 17:13:08 -08:00
SkeleyM
93fc28e092
fix: allow tag names with colons in search ( #765 )
...
* Refactor allowing colons
* fix formatting
2025-02-02 15:56:50 -08:00
SkeleyM
80c7e81e69
fix: save all tag attributes from "Create & Add" modal ( #762 )
2025-02-02 13:49:17 -08:00
SkeleyM
f212e2393a
fix(docs): fix screenshot sometimes not rendering ( #775 )
...
* Fix image not showing up
* formatting
2025-02-02 13:44:34 -08:00
Travis Abendshien
d7958892b7
docs: add more links to index.md
2025-02-01 14:09:17 -08:00
Travis Abendshien
5be7dfc314
docs: add library_search page
2025-02-01 14:06:41 -08:00
Travis Abendshien
6e402ac34d
docs: add note about glob searching in the readme
2025-01-31 23:45:31 -08:00
Travis Abendshien
9bdbafa40c
docs: add information about "tag manager"
2025-01-31 23:42:37 -08:00
Travis Abendshien
2215403201
fix: don't wrap field names too early
2025-01-31 23:40:47 -08:00
pinhead
16ebd89196
docs: fix typo for "category" in usage.md ( #760 )
2025-01-31 21:46:30 -08:00
Travis Abendshien
f5ff4d78c1
docs: update field and library pages
2025-01-31 17:23:33 -08:00
Travis Abendshien
df04d49770
translations: fix typo in json_migration.info.description
v9.5.0-pr1
2025-01-31 16:39:27 -08:00
Travis Abendshien
a2f9685bc0
fix: catch ImportError for pillow_jxl module
2025-01-31 16:30:06 -08:00
Travis Abendshien
880c8ef45f
chore: bump version to v9.5.0 Pre-Release 1; update docs ( #751 )
...
* chore: change version branch to "Pre-Release 1"
* docs: update docstring for JSON `open_library()`
Update method docstring with exact starting and ending versions now that they exist.
* docs: update README, CONTRIBUTING.md, & index.md
* docs: update roadmap
* docs: fix typo in README, change callout
* docs: update docs site with v9.5 features
* docs: remove warning from index.md
2025-01-31 15:43:47 -08:00
Travis Abendshien
1b3b32de22
ci: bump minimum macOS build target to 13
2025-01-31 15:40:53 -08:00
Weblate (bot)
787af60833
translations: update Czech, Hungarian, Polish, French ( #746 )
...
* Translated using Weblate (Czech)
Currently translated at 7.8% (18 of 228 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Jirka Čapek <jirkacapek13@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/cs/
Translation: TagStudio/Strings
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (234 of 234 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (231 of 231 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (228 of 228 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 94.4% (221 of 234 strings)
Co-authored-by: qronikarz <qronikarz@users.noreply.hosted.weblate.org >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/pl/
Translation: TagStudio/Strings
* Translated using Weblate (French)
Currently translated at 73.1% (169 of 231 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: aless <61836900+alessdangelo@users.noreply.github.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fr/
Translation: TagStudio/Strings
---------
Co-authored-by: Jirka Čapek <jirkacapek13@gmail.com >
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com >
Co-authored-by: qronikarz <qronikarz@users.noreply.hosted.weblate.org >
Co-authored-by: aless <61836900+alessdangelo@users.noreply.github.com >
2025-01-31 14:46:55 -08:00
mashed5894
225fe98c20
feat: port copy/paste fields and tags to sql ( #722 )
...
* implement copy/paste for fields and tags
* fix tests
* fixed badge refresh on pasting
* renamed translation field
* ignore duplicate tags on insert
* fixes
* break into several statements to satisfy tests
* chore: format with ruff
2025-01-31 14:38:01 -08:00
Travis Abendshien
496c87c7c3
ui: tweak build_tag and tag styles
2025-01-31 13:17:22 -08:00
Travis Abendshien
7c89975165
fix(ui): (mostly) fix right-click search option on tags ( #756 )
2025-01-30 23:32:14 -08:00
Travis Abendshien
ca7e84d1b4
fix(ui): use consistent dark mode colors for all systems ( #752 )
2025-01-30 22:10:06 -08:00
Travis Abendshien
e0d21c14a3
fix(ui): restore Windows accent color on PySide 6.8.0.1 ( Fix #668 ) ( #755 )
...
* fix(ui): use the new correct(ish) accent color role for Windows
* ui: boost Windows `AlternateBase` lightness
2025-01-30 22:09:50 -08:00
Travis Abendshien
82edbee276
ui: shortcut to add tags to selected entries; change click behavior of tags to edit ( #749 )
...
* ui: change on_click behavior of tags to edit
* fix: pass library to tag_widget
* feat: add `add_tag_to_selected` shortcut
* fix: only enable `add_tag_to_selected` shortcut when usable
2025-01-29 21:28:08 -08:00
Travis Abendshien
d1b006a897
feat(ui): re-implement tag display names on sql ( #747 )
...
* feat: add disambiguation_tag column to tags table
* feat(ui): re-add tag display names
* fix(ui): allow empty disambiguation selection
* ui: restore basic tab functionality
* fix: don't set disambiguation_id for self-parented JSON tags
* fix: return consistent search results
2025-01-29 19:42:55 -08:00
Travis Abendshien
54b8397e92
fix: check for tag name partiy during JSON migration ( #748 )
...
* fix: apply JSON user edits to built-in tag names and shorthands
* fix: test for tag name parity when migrating from JSON
2025-01-29 19:42:41 -08:00
Travis Abendshien
607aafb4cd
ci: lower test coverage threshold to 40%
2025-01-29 16:17:26 -08:00
Travis Abendshien
6ee5304b52
fix(ui): use camera white balance for raw images
2025-01-29 00:34:32 -08:00
Travis Abendshien
275cd1b20e
fix(ui): revert all item_thumb "pressed" changes ( #742 )
2025-01-28 11:00:39 -08:00
Travis Abendshien
ba7e13041b
feat: add date columns to the entries table ( #740 )
...
* feat: add date_created, date_modified, and date_added columns to entries table
* feat: start storing date_added dates
2025-01-28 01:57:01 -08:00
Travis Abendshien
1ba97d50c2
refactor: change exception log levels to error inside library.py
2025-01-28 01:19:30 -08:00
Travis Abendshien
20d788af29
fix: refactor and fix bugs with missing_files.py ( #739 )
...
* fix: relink unlinked entry to existing entry without sql error (#720 )
* edited and added db functions get_entry_full_by_path & merge_entries
* implemented edge case for entry existing on relinking
* added test for merge_entries
* fix: don't remove item while iterating over list
* fix: catch `FileNotFoundError` for unlinked raw files
* refactor: rename methods and variables in missing_files.py
* refactor: rename `missing_files_count` to `missing_file_entries_count`
---------
Co-authored-by: mashed5894 <mashed5894@gmail.com >
2025-01-27 23:49:39 -08:00
Travis Abendshien
458925fbf7
translations: fix typo in drop import
2025-01-27 12:08:16 -08:00
Travis Abendshien
f96ea6b546
fix: always catch db mismatch ( #738 )
...
* fix: always catch db mismatch
* chore: remove/modify log statements
* translations: translate library version mismatch
* style: fix line over col limit
2025-01-27 11:48:57 -08:00
Weblate (bot)
19cdd1bf92
translations: update Czech, Hungarian ( #727 )
...
* Translated using Weblate (Czech)
Currently translated at 1.7% (4 of 224 strings)
Added translation using Weblate (Czech)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Jirka Čapek <jirkacapek13@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/cs/
Translation: TagStudio/Strings
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (224 of 224 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
---------
Co-authored-by: Jirka Čapek <jirkacapek13@gmail.com >
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com >
2025-01-27 11:48:28 -08:00
Travis Abendshien
2a97a5b3aa
perf: add all new library entries at once ( #737 )
2025-01-27 11:43:04 -08:00
Travis Abendshien
14599e90a3
fix: keep initial id order in get_entries_full() ( #736 )
...
* fix: keep initial id order in `get_entries_full()`
* fix: correct variable names
2025-01-27 11:41:01 -08:00
Travis Abendshien
ee14e2c200
fix: search for tag aliases in tag search ( #726 )
2025-01-27 11:40:06 -08:00
Travis Abendshien
c06f3bb336
feat!: expanded tag color system ( #709 )
...
* attempt at adding `TagColor` table
* store both columns of `TagColor` inside `Tag` table
* fix: fix tag color relationships
* refactor: replace TagColor enums with TagColorGroup system
* ui: derive tag accent colors from primary
* refactor: move dynamic tag color logic, apply to "+" button
* feat(ui): add neon tag colors
* remove tag text color field
* ui: use secondary color for border and text
* ui: add TagColorPreview widget
* feat(ui): add new tag color selector
* ui: add color name tooltips
* ui: tweak tag colors and selector
* feat: add `namespaces` table
* translations: add + update translation keys
* tests: update fixtures
* chore: code cleanup
* ui: add spacing between color groups
* fix: expand refactor to create and add button
* chore: format with ruff
2025-01-27 11:39:42 -08:00
Travis Abendshien
4c337cb1a3
feat(ui): add thumbnail caching ( #694 )
...
* feat(ui): add thumbnail caching
* feat: enforce total size limit for thumb cache
* fix: add file modification date to thumb hash
This change allows for modified files to have their cached thumbnail regenerated.
* feat: add menu option to clear thumbnail cache
* fix: check if `cached_path` is None further on
* refactor: move configurable cache vars to class level
* docs: complete roadmap items
* feat: use cache size limit from config file
TODO: Store this on a per-library basis and allow it to be configurable inside the program.
* fix: move `last_cache_folder` to class level
* chore: add/tweak type hints
* refactor: use make `CacheManager` a singleton
2025-01-27 11:39:10 -08:00
Travis Abendshien
3606edf615
fix: have pydub use known ffmpeg+ffprobe locations ( #724 )
...
* fix: have pydub use known ffmpeg+ffprobe locations
* chore: format with ruff
2025-01-26 01:51:15 -08:00
Travis Abendshien
f2a2f9a36d
fix: replace calls to translate_qobject with translate_formatted inside TagWidget ( #735 )
...
* fix: replace `translate_qobject` calls with `translate_formatted`
* refactor: misc code cleanup
2025-01-26 01:50:36 -08:00
SkeleyM
921a8875de
fix(ui): don't always create tag on enter ( #731 )
2025-01-24 17:03:39 -08:00
mashed5894
2a41c152b3
fix: restore environment before launching external programs ( #707 )
...
* rename promptless_Popen
* linux: restore env before calling popen
* windows: set dll directory to default before calling popen
* ruff formatting suggestions
* edited silent_popen docstring
2025-01-24 13:56:35 -08:00
SkeleyM
0ead238aac
fix: restore opening last library on startup ( #729 )
2025-01-24 13:38:42 -08:00
Travis Abendshien
9116cdc9a5
docs: fix typo in readme
2025-01-23 20:15:54 -08:00
mashed5894
17c62802c0
fix: sort tag results ( #721 )
...
* sort search results
* ruff fix
2025-01-23 13:41:57 -08:00
Travis Abendshien
ac6774ed23
fix(ui): don't set frame when playing videos
...
Fixes some videos not being able to play. The frame setting step was copied from thumbnail rendering and shouldn't be used here regardless.
2025-01-23 00:22:03 -08:00
Travis Abendshien
eb1f634d38
fix: don't add ._ files to libraries
2025-01-23 00:19:35 -08:00
Travis Abendshien
a1ab335dcb
translations: fix fr.json syntax error
2025-01-22 16:38:45 -08:00