96 Commits

Author SHA1 Message Date
Travis Abendshien
0dd0616281 docs: update roadmap and library changes 2026-05-20 02:38:33 -07:00
Travis Abendshien
0380f1b0ca fix(docs): move back prettier-ignore sections that were moved by prettier 2026-05-19 03:14:01 -07:00
Travis Abendshien
e1a02ca843 docs: add github magiclinks, update navigation titles and styling 2026-05-19 03:04:11 -07:00
Jann Stute
c7eb22b253 doc(install): add common error message help text (#1369) 2026-05-18 22:26:36 -07:00
Travis Abendshien
49fdfc8248 docs: update contributing, developing, and style pages 2026-05-18 19:06:36 -07:00
Travis Abendshien
38da7bb3a9 fix: drop type_key column from text_fields and datetime_fields tables (#1370)
* fix: drop type_key column from text_fields and datetime_fields tables

* fix: commit empty DB_VERSION 200 library

* fix: use recommended renaming order for field tables
2026-05-14 13:38:52 -07:00
Travis Abendshien
41f9749814 refactor(ci): remove mypy (#1371)
* refactor(ci): remove mypy

* fix(ci): restore 'type: ignore' comment for st_birthtime property
2026-05-14 14:24:26 +02:00
Travis Abendshien
e134cb1ecb refactor(docs): uniform formatting pass (#1363)
* refactor(docs): uniform formatting pass

* refactor: ignore formatting of specific files

* fix: add REUSE info to .prettierignore
2026-05-12 06:24:04 -07:00
Travis Abendshien
eb97476dac docs/chore: add .editorconfig and .prettierrc.toml configs (#1362)
* docs/chore: add .editorconfig and .prettierrc.toml configs

* fix: remove trim_trailing_whitespace exception for markdown files
2026-05-11 19:12:31 -07:00
Jann Stute
5663e6232e doc: add REUSE license information (#1361)
* doc: add REUSE comment headers

* doc: add REUSE comment headers for mkDocs overrides

The original license text was moved to the LICENSES directory
and the MIT license identifier was used since only encoding differences
to the MIT license were present.

Further, the existing copyright notice was moved to SPDX-FileCopyrightText
and one for the TagStudio Contributors was added since the files are not
entirely the same as the originals in the mkdocs-material project.

* doc: add license information files for the translations

* doc: add licence file for oxanium font

As stated on [Google Fonts](https://fonts.google.com/specimen/Oxanium/license), this font is licensed under OFL-1.1.

* doc: re-license flow_layout.py to GPL-3.0-only

This is possible because the Qt example this is based on can be licensed
under BSD-3-Clause which is GPL-3.0 compatible.

* doc: add REUSE comment header for singleton.py

Comparing our implementation with the one it is based on, they really
don't have much more in common than the general idea of the
implementation, which afaik can't be copyrighted.

* doc: Add REUSE comment header for blender_renderer.py

We can plainly license this under GPL-3.0 according to https://www.blender.org/about/license/

* doc: add REUSE comment headers to vendored files

* doc: add REUSE comment header for rounded_pixmap_style.py

Source of name for copyright notice:
Answer by eyllanesc: https://stackoverflow.com/users/6622587/eyllanesc
Profile links to Github: https://github.com/eyllanesc

Stackoverflow licensing: https://stackoverflow.com/help/licensing

* doc: add REUSE comment headers

* doc: add license information file for icon_mono.svg

* doc: add REUSE comment header for files in .github

* doc: add REUSE.toml to give license information for various files without spamming .license files

* fix: use type parameter instead of subclass

* doc: add entries for remaining files in REUSE.toml

According to info from github comment by CyanVoxel: https://github.com/TagStudioDev/TagStudio/pull/1361#issuecomment-4423632570

* ci: add REUSE check workflow

Src: 'https://reuse.software/dev/#github-actions'

* doc: add missing license

* doc: fix license for material-design-icons

* license: change license to MIT for two files only changes by Computerdores and CyanVoxel

* doc: remove unnecessary .license files

* doc: fix incorrect license entries

* doc: add missing license doc
2026-05-12 01:56:46 +02:00
Travis Abendshien
c15e2b56ee refactor!: uncouple fields from hard-coded values (#1354)
* refactor!: uncouple fields from hardcoded values

* fix(tests): add missing db version fixtures

* fix: correctly add datetime field as datetime in json migration

* tests: update search library file

* fix: implement review feedback and misc fixes

* fix: implement additional feedback
2026-05-10 10:28:03 -07:00
Jann Stute
ad2cbbca48 fix: remove preferences table (#1298)
* refactor: cleanup parameters of open_library and open_sqlite_library

* doc: notes on what tables are affected by which migration steps

* refactor(migration order): move DBv6 repairs

* refactor(migration order): move DBv8 repairs

* refactor(migration order): move DBv9 repairs

* refactor(migration order): move DBv100 repairs

* refactor(migration order): move DBv102 repairs

* refactor: merge migration methods

* doc: final comment changes

* fix: query tag ids independent of future DB changes

* feat: remove preferences table

* refactor: various references to LibraryPrefs

* fix: update josn migration UI

* refactor: remove last vestiges of preferences table

* fix: remove newly unnecessary translations

* doc: document library format changes

* refactor: merge the two methods used for migration 104

* fix: typo in sql statement

* fix: add back support for preferences table in get_version

* fix: properly remove directory in test

* fix: incorrect schema check in get_version

* fix: update search lib via migration

* fix: update assert in test

* fix: ignore element order in assert in test

* fix: use correct path

* fix: better test output

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
2026-05-08 20:16:22 -07:00
Sola-ris
84cf47038f feat: render archive thumbnails (#1194)
* feat: render archive thumbnails.

* fix: pass mode to tarfile.open.
2025-12-16 18:22:16 -08:00
Sola-ris
7ae3a6bec8 feat: render .clip thumbnails. (#1150)
* feat: render .clip thumbnails.

* doc: document .clip support.

* fix: add CLIP_STUDIO_PAINT_TYPES to ALL_CATEGORIES.

* explicitly close connection.
2025-12-15 10:12:32 -08:00
Sola-ris
04744b224c feat: render .mdp thumbnails. (#1153) 2025-12-15 09:37:07 -08:00
Sola-ris
49e9ede387 feat: render .pdn thumbnails. (#1149)
* feat: render .pdn thumbnails.

* fix: add background to .pdn thumbnail

* doc: document .pdn support.

* fix: add PAINT_DOT_NET_TYPES to ALL_CATEGORIES.
2025-12-14 20:31:42 -08:00
Travis Abendshien
77274fb77f docs: fix list formatting on CONTRIBUTING.md 2025-12-12 10:02:01 -08:00
Travis Abendshien
71d9fc6f3c docs: fix typo and update preview support 2025-12-11 23:41:32 -08:00
Travis Abendshien
9778db681a docs: update CONTRIBUTING.md 2025-12-11 23:40:57 -08:00
Trigam
88d0b47a86 feat: add hidden tags (#1139)
* Add `is_hidden` field to the `tags` table

* Add hidden checkbox to the edit tag panel

* Fix formatting

* Exclude hidden tags from search results

* Fix formatting (I should probably actually check before committing? lmao?)

* Bit of cleanup

* Add toggle for excluding hidden entries below search bar

* That might be important maybe

* Update Save Format Changes page in docs (and include updated test database)

* Simplify query and invert name+logic

* chore: remove unused code, tweak strings

---------

Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
2025-11-25 22:48:36 -08:00
Travis Abendshien
615978e5a6 docs: update README 2025-10-08 01:39:06 -07:00
Travis Abendshien
137c750595 docs: crop screenshots 2025-10-01 22:01:16 -07:00
Travis Abendshien
9f44834356 fix(docs): fix typos 2025-10-01 21:55:12 -07:00
Travis Abendshien
8d7ba0dd86 refactor(docs): restructure with tabbed navigation 2025-09-28 13:09:19 -07:00
Travis Abendshien
00aeb043f0 docs: update roadmap 2025-09-08 15:15:30 -07:00
Travis Abendshien
e18cf24b43 docs: update preview support 2025-09-08 15:14:47 -07:00
Travis Abendshien
2df92f2115 docs: update install page 2025-09-08 13:11:31 -07:00
Sola-ris
2eb9aad12d feat: render .cbr thumbnails. (#1112) 2025-09-08 12:51:01 -07:00
Travis Abendshien
71d04254cf fix: properly delete tag_parents row when deleting tag (#1107) 2025-09-07 23:59:52 -07:00
Travis Abendshien
d8b058ac5a docs: update launch arguments 2025-08-29 17:40:32 -07:00
Travis Abendshien
a9bdd93c64 docs: update roadmap 2025-08-29 17:29:13 -07:00
Travis Abendshien
12e074b71d refactor: store DB version inside versions table (#1058)
* refactor: store DB version inside `versions` table

* tests: update search_library db file

* chore: add copyright info to library constants.py

* fix: only backup db if loaded version is lower

* chore: mark Preferences as @deprecated
2025-08-28 12:58:51 -07:00
Travis Abendshien
3489e159a5 docs: update roadmap 2025-08-25 12:01:59 -07:00
Travis Abendshien
74383e3c3c feat: swap IDs in tag_parents table; bump DB to v100
commit c1346e7df36b137cf88be284a96329fee9605a6a
Author: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
Date:   Sat Aug 23 18:04:58 2025 -0700

    docs: update DB v100 with tag_parents flip

commit 7e5d9381759b000533c809df9d9bc4f9d984e363
Author: HeikoWasTaken <heikowastaken@protonmail.com>
Date:   Sun Aug 24 00:31:21 2025 +0100

    fix: swap IDs in parent_tags DB table (#998)

    * fix: reorder child and parent IDs in TagParent constructor call

    * feat: add db10 migration

    * fix: SQL query returning parent IDs instead of children IDs

    * fix: stop assigning child tags as parents

    * fix: select and remove parent tags, instead of child tags

    * test/fix: correctly reorder child/parent args in broken test

    * fix: migrate json subtags as parent tags, instead of child tags (I see where it went wrong now lol)

    * fix: query parent tags instead of children

    * refactor: scooching this down below db9 migrations

    * test: add DB10 migration test

    ---------

    Co-authored-by: heiko <heiko_was_taken@protonmail.com>

commit 1ce02699ad9798800f9d98832b2a6377e3d79ed4
Author: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
Date:   Sat Aug 23 14:47:39 2025 -0700

    feat: add db minor versioning, bump to 100
2025-08-23 18:17:19 -07:00
Travis Abendshien
94ac83768a docs: add sidebar icon for ignore page 2025-08-21 16:13:20 -07:00
Travis Abendshien
0e7a2dfd3d feat: add .ts_ignore pattern ignoring system (#897)
* feat: add `.ts_ignore` pattern ignoring system

* fix: add wcmatch dependency

* search: add ".TemporaryItems" to GLOBAL_IGNORE

* add `desktop.ini` and `.localized` to global ignore

* add ".fhdx" and ".ts" filetypes

* chore: remove logging statement

* chore: format with ruff

* feat: use ripgrep for scanning if available

* docs: add ignore.md

* search: remove ts_ignore filtering on queries

* feat: detect if files are added but ignored

* fix: render edges on all unlinked thumbs

* perf: don't search for cached unlinked thumbs

* fix(ui): ensure newlines in file stats

* fix: use ignore_to_glob for wcmatch

* fix(tests): remove inconsistent test

The test hinged on the timing of refresh_dir()'s yield's rather than actual values

* ui: change ignored icon and color
2025-08-21 15:50:59 -07:00
Travis Abendshien
d00546d5fe docs(roadmap): add infinite scrolling to roadmap 2025-08-19 17:33:44 -07:00
Travis Abendshien
00001bbf0b docs: update header style for mobile 2025-08-18 08:26:41 -07:00
Travis Abendshien
31d205a869 docs: update home page 2025-08-17 16:55:06 -07:00
Travis Abendshien
a55d9a6a67 docs: add preview support section to library page 2025-08-17 16:54:10 -07:00
Travis Abendshien
2c5c98c86c docs: update formatting of schema_changes page 2025-08-16 09:37:21 -07:00
Travis Abendshien
32a2b47c4c docs: remove minimal/unfinished pages 2025-08-15 20:45:04 -07:00
Travis Abendshien
7a44ef156d docs: add icons to sidebar and titles 2025-08-15 20:33:32 -07:00
Travis Abendshien
f2454c4a9a docs: rework roadmap (#1023)
* docs: rework core features

* docs: rework tag features

* docs: rework library features

* docs: rework search features

* docs: rework application features

* docs: rework macro features

* refactor(docs): remove card formatting for roadmap

* docs: roadmap tweaks
2025-08-12 11:53:26 -07:00
Travis Abendshien
809885e8b5 docs: add git clone step to develop page 2025-08-06 12:42:34 -07:00
Travis Abendshien
278a6de8a6 feat(docs): vauxhall theme for docs site 2025-08-06 11:48:33 -07: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
Travis Abendshien
b0bfc10a67 docs: update roadmap 2025-03-31 20:36:08 -07:00
Jann Stute
adb996e1d2 feat: new settings menu + settings backend (#859)
* feat: add tab widget

* refactor: move languages dict to translations.py

* refactor: move build of Settings Modal to SettingsPanel class

* feat: hide title label

* feat: global settings class

* fix: initialise settings

* fix: properly store grid files changes

* fix: placeholder text for library settings

* feat: add ui elements for remaining global settings

* feat: add page size setting

* fix: version mismatch between pydantic and typing_extensions

* fix: update test_driver.py

* fix(test_file_path_options): replace patch with change of settings

* feat: setting for dark mode

* fix: only show restart_label when necessary

* fix: change modal from "done" type to "Save/Cancel" type

* feat: add test for GlobalSettings

* docs: mark roadmap item as completed

* fix(test_filepath_setting): Mock the app field of QtDriver

* Update src/tagstudio/main.py

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

* fix: address review suggestions

* fix: page size setting

* feat: change dark mode option to theme dropdown

* fix: test was expecting wrong behaviour

* fix: test was testing for correct behaviour, fix behaviour instead

* fix: test fr fr

* fix: tests fr fr fr

* fix: tests fr fr fr fr

* fix: update test

* fix: tests fr fr fr fr fr

* fix: select all was selecting hidden entries

* fix: create more thumbitems as necessary
2025-03-25 15:02:53 -07:00
Gawi
35f409089a docs: fix typos and grammar (#879) 2025-03-20 00:43:34 -07:00