* 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
* 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
* 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>
* fix: always catch db mismatch
* chore: remove/modify log statements
* translations: translate library version mismatch
* style: fix line over col limit
* 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
* 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
* Add Volume Slider
* Slider reflects muted state
* Default Volume Value
* Update roadmap to reflect current state
* Forgot a period in a comment
* Add suggestions
* Update tagstudio/src/qt/widgets/media_player.py
Co-authored-by: VasigaranAndAngel <72515046+VasigaranAndAngel@users.noreply.github.com>
* remove unwanted line
---------
Co-authored-by: VasigaranAndAngel <72515046+VasigaranAndAngel@users.noreply.github.com>
* fix: only update file preview when necessary
* fix: don't update thumb from tag_box callbacks
* fix: reset preview panel and filters when loading new library
* fix: clear library state on close; close old library on open
* fix: reset scrollbar position on library close
* Port create & add tag
* Fix Name Conflict
* Add translation keys
* unify uses of BuildTagPanel
* replace tabs with spaces
* Add tag on creation
* Add Suggestions
* Trigger on return
---------
Co-authored-by: bjorn-out <b.g.out@uva.nl>
* added about section to the help menu and modal to display information
* load image through resource manager
* cleaned up about text
* remove visit github repo menu, moved to about modal
* added function to check ffmpeg version
* fixed version formatting
* copied in ffmpeg checker code from v9.4 with a warning message on startup if ffmpeg is not detected
* mypy fixes
* about.content spacing
* about.content title formatting
* added config path to about screen
* ruff fixes
---------
Co-authored-by: Sean Krueger <skrueger2270@gmail.com>
* build_tag modal: make Tag Title selected when opening modal
* build_tag modal: Tab now changes focus when aliases field is in focus
* fix: unpredictable tab order in build tag modal
* feat: implement proper tab order
* ci: fix mypy errors
* fix: merge issue 1
* fix: merge issue 2
* refactor: TagDatabasePanel now inherits from TagSearchPanel for code deduplication
* Revert "refactor: TagDatabasePanel now inherits from TagSearchPanel for code deduplication"
This reverts commit fac589b3e3.