* 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
* 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
* 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
* 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>
* fix: backup library before making any changes
* refactor: inline make_tables + minor cleanup
* refactor: remove unnecessary assurance
Bumping the auto increment value has been done since the original sql PR, so it doesn't need to be done on migrations.
See e5e7b8afc6.
* refactor: don't blindly create all tables in the beginning
The only table that has been added since DB version 6 (the earliest supported version), is the versions table in DB version 101.
This commit removes the "create all tables" statement, and instead creates the versions table in the 101 migration.
See 12e074b71d.
* refactor: don't require setting library_dir to create a backup
* refactor: move migrations to different file
* refactor: package each migration in a class
* fix: some syntax errors had slipped through
* fix: allow set_version to fail, but don't commit in that case
* refactor: condense imports
* fix: add override decorators
* refactor: move set_version to DBMigrations
* refactor: remove unnecessary assignment
* refactor: use _ instead of __
* fix: add missing field templates tables