* Add the ability to create tags when adding a tag to a file.
* ui: unify tag widget appearance
Unify the tag widget appearance and remove unnecessary "*1" multiplication.
* refactor: change some var names & add docstrings
* feat: edit panel is opened before adding tag
* feat(ui): focus save button on add panel
Focus the save button on the Add Tag panel. This allows the user to promptly hit enter to add the tag as-is.
---------
Co-authored-by: bjorn-out <b.g.out@uva.nl>
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Implement #327
Sort tags in the Library Tags panel and the Add Parent Tags panel with Archived and Favorite at the top, then sort by color, and then sort alphabetically.
* Sort tags alphabetically when a search is performed
* Format with Ruff
* Prioritize tags whose names match the query over tags that match the query in other ways
* Update thumb_renderer.py
Included support for rendering blender thumbnails
* Add files via upload
Add functions that get the thumbnail's data
* Update thumb_renderer.py
* Update blender_thumbnailer.py
* Update thumb_renderer.py
* Update thumb_renderer.py
Changed where imports are according to feedback
* Update thumb_renderer.py
Changed blender thumbnail function name to reduce ambiguity
* Update blender_thumbnailer.py
Updated function name
* Update blender_thumbnailer.py
* Update blender_thumbnailer.py
Ruff format
* Update thumb_renderer.py
Ruff format
* Update constants.py
Add .blend1, 2, 3 etc file support
* Update blender_thumbnailer.py
Refactor to follow requested changes
* Update thumb_renderer.py
More refactoring
* Update blender_thumbnailer.py
Ruff format
* Update thumb_renderer.py
Ruff format
* Update to pyside6.7.1
* Fix Ruff
* Fix MyPy
* Update mypy job to also use PySide6 6.7.1
* Remove unused imports
* Add Description to class
* Ruff format
* Fix Warning in pagination.py
* Probably fix Pyside app test
* Rename CustomQPushButton to QPushButtonWrapper
also renamed custom_qbutton.py to qbutton_wrapper.py
* fix: python complaining about backslashes inside f-string expressions
refactor excessively long f-string into separate variables
* fix: missing f on f-string
* Format with Ruff
* Ability to drop local files in to TagStudio to add to library
* Added renaming option to drop import
* Improved readability and switched to pathLib
* format
* Apply suggestions from code review
Co-authored-by: yed podtrzitko <yedpodtrzitko@users.noreply.github.com>
* Revert Change
* Update tagstudio/src/qt/modals/drop_import.py
Co-authored-by: yed podtrzitko <yedpodtrzitko@users.noreply.github.com>
* Added support for folders
* formatting
* Progress bars added
* Added Ability to Drag out of window
* f
* format
* Ability to drop local files in to TagStudio to add to library
* Added renaming option to drop import
* Improved readability and switched to pathLib
* format
* Apply suggestions from code review
Co-authored-by: yed podtrzitko <yedpodtrzitko@users.noreply.github.com>
* Revert Change
* Update tagstudio/src/qt/modals/drop_import.py
Co-authored-by: yed podtrzitko <yedpodtrzitko@users.noreply.github.com>
* Added support for folders
* formatting
* Progress bars added
* Added Ability to Drag out of window
* f
* format
* format
* formatting and refactor
* format again
* formatting for mypy
* convert lambda to func for clarity
* mypy fixes
* fixed dragout only worked on selected
* Refactor typo, Add license
* Reformat QMessageBox
* Disable drops when no library is open
---------
Co-authored-by: yed podtrzitko <yedpodtrzitko@users.noreply.github.com>
Co-authored-by: Travis Abendshien <lvnvtravis@gmail.com>
* Add landing page when no library is open
- Add landing page when no library is open
- Add linear_gradient method
- Reformat main_window.py with spaces instead of tabs because apparently it wasn't formatted already?
* Add color_overlay methods, ClickableLabel widget
- Add color_overlay helper methods
- Add clickable_label widget
- Add docstrings to landing.py methods
- Add logo easter egg
- Refactor landing.py content
* Fix redefinition
* Fix macOS shortcut text
* Add option to use a whitelist instead of a blacklist
* maybe fix mypy?
* Fix Mypy and rename ignored_extensions
* This should fix mypy
* Update checkbox text
* Update window title
* shorten if statment and update text
* update variable names
* Fix Mypy
* hopefully fix mypy
* Fix mypy
* deprecate ignored_extensions
Co-authored-by: Jiri <yedpodtrzitko@users.noreply.github.com>
* polishing
* polishing
* Fix mypy
* finishing touches
Co-authored-by: Jiri <yedpodtrzitko@users.noreply.github.com>
* Fix boolean loading
* UI/UX + ext list loading tweaks
- Change extension list mode setting from Checkbox to ComboBox to help better convey its purpose
- Change and simplify wording
- Add type hints to extension variables and change loading to use `get()` with default values
- Sanitize older extension lists that don't use extensions with a leading "."
- Misc. code organization and docstrings
---------
Co-authored-by: Jiri <yedpodtrzitko@users.noreply.github.com>
Co-authored-by: Travis Abendshien <lvnvtravis@gmail.com>
* multi search mode system
A way to change the search from requiring all tags to and of the tags
* better wording
* Update start_win.bat
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Fix home_ui.py using PySide6 instead of PyQt5
* Refresh search on mode change
* Search mode selections naming fix
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* converted SearchMode from constants to enums
* Prevent Automatic opening of a Library if the ".TagStudio" folder has been deleted.
If the library no longer has a `.TagStudio` folder clear the Last_Library value
* Add disabling recent libraries that are missing or have missing `.TagStudio` folders
* Fix bug where this would crash if an empty library was passed
* Grabbed the wrong color
* Fix text and RAW image handling
- Fix RAW images not being loaded correctly in the preview panel
- Fix trying to read size data from null images
- Refactor `os.stat` to `<Path object>.stat()`
- Remove unnecessary upper/lower conversions
- Improve encoding compatibility beyond UTF-8 when reading text files
- Code cleanup
* Use chardet for character encoding detection
* Basic Video Player
* Fixes and Comments
* Fixed Bug Where Video's Audio did not stop when switching to a Image.
* Redo on VideoPlayer. Now with rounded corners.
* Fixed size not being correct when first starting video player.
* Ruff Check Fix
* Fixed Sizing Issue, and added Autoplay option in right click menu.
* Autoplay Toggle and Fixed Issue with video not stoping after closing library.
* Ruff Format
* Suggested Changes Done
* Commented out useless code that cause first warning.
* Fixed Album Art Error
* Might have found solution to Autoplay Inconsistency
* Ruff Format
* Finally Fixed Autoplay Inconsistency
* Fixed Merge Conficts
* Requested Changes and Ruff Format
* Test for new check
* Fix for PySide App Test
* More typing fixes and a few other changes.
* Ruff Format
* MyPy Fix
* MyPy Fix
* Ruff Format
* MyPy Fix
* MyPy and Ruff Fix
* Code Clean-Up and Requests completed.
* Conflict Fixes
* MyPy Fix
* Confict Fix
It appears one of the commits from main fixed the autoplay issue.
* Replace usage of os.path with usage of pathlib.Path in ts_cli.py
* Replace use of os.path with pathlib in Library.py
* Replace use of os.path with pathlib in ts_core.py
* resolve entry path/filename on creation/update
* Fix errors and bugs related to move from os.path to pathlib.
* Remove most uses of '.resolve()' as it didn't do what I thought it did
* Fix filtering in refresh directories to not need to cast to string.
* Some work on ts_qt, thumbnails don't load...
* Fixed the thumbnail issue, things seem to be working.
* Fix some bugs
* Replace some isfile with is_file ts_cli.py
* Update tagstudio/src/core/library.py
Co-authored-by: yed podtrzitko <yedpodtrzitko@users.noreply.github.com>
* Update library.py
* Update library.py
* Update library.py
* Update ts_cli.py
* Update library.py
* Update ts_qt
* Fix path display in delete unlinked entries modal
* Ruff formatting
* Builds and opens/creates library now
* Fix errors
* Fix ruff and mypy issues (hopefully)
* Fixed some things, broke some things
* Fixed the thumbnails not working
* Fix some new os.path instances in qt files
* Fix MyPy issues
* Fix ruff and mypy issues
* Fix some issues
* Update tagstudio/src/qt/widgets/preview_panel.py
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Update tagstudio/src/qt/widgets/preview_panel.py
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Update tagstudio/src/qt/widgets/preview_panel.py
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Update tagstudio/src/qt/widgets/preview_panel.py
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Update tagstudio/src/qt/widgets/thumb_renderer.py
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Update tagstudio/src/qt/widgets/thumb_renderer.py
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* Fix refresh_dupe_files issue
* Ruff format
* Tweak filepaths
- Suffix comparisons are now case-insensitive
- Restore original thumbnail extension label behavior
- Fix preview panel trying to read file size from missing files
---------
Co-authored-by: yed podtrzitko <yedpodtrzitko@users.noreply.github.com>
Co-authored-by: Travis Abendshien <lvnvtravis@gmail.com>