* feat: send deleted files to system trash
This refactors the file deletion code to send files to the system trash instead of performing a hard deletion. It also fixes deleting video files and GIFs loaded in the Preview Panel.
* feat(ui): add file deletion confirmation boxes
* feat(ui): add delete file menu option + shortcut
* ui: update file deletion message boxes
* fix(ui): same default confirm button on win/mac
- Make "Yes" the default choice in the delete file modal for both Windows and macOS (Linux untested)
- Change status messages to be more broad, since they also are displayed when cancelling the operation
* ui: show perm deletion warning on all platforms
* 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
* Add support for waveform + album cover thumbnails
* Rename "cover" variables for MyPy
* Rename "audio_tags" variables for MyPy + typing
* Add # type: ignore to fromstring method
* Add GIF preview support
* Add rough check for invalid video codecs
* Add ".plist" to PLAINTEXT_TYPES
* Add readable video tester
* Add ".psd" to IMAGE_TYPES; Handle ID3NoHeaderError
* Improve and style waveform previews
* Add final return statement to _album_artwork()
* Add final return statement to _audio_waveform()
* Tweak waveform color and size
* Fix ItemThumb label text color in light mode
* Fix most theme UI legibility issues
* Match additional UI to color scheme
* ruff format
* feat(ui): add UI color palette dict
* feat(ui) center and color small font previews
* fix(ui): large font previews follow app theme
* fix(ui): blender previews follow app theme
* feat(ui): add resizable thumbnail options
* fix: mkv files with "[0][0][0][0]" codec load properly
* fix: missing audio files properly handled
* feat(ui): use system accent color for thumb selections
* fix(ui): hide gif preview in multi-selections
* feat(ui): add dynamic file thumb icons
* fix(ui): hide previous thumbnail before resizing
* (fix): catch ffmpeg errors in file tester
* Squashed commit of the following:
commit 9a3c19d398
Author: Travis Abendshien <lvnvtravis@gmail.com>
Date: Wed Jul 24 22:57:32 2024 -0700
fix: add missing comma + sort extensions
commit 53b2db9b5f
Author: Travis Abendshien <lvnvtravis@gmail.com>
Date: Wed Jul 24 14:46:16 2024 -0700
refactor: move type constants to new media classes
* feat(ui): add media types and icon resources
* feat(ui): add more default media types and icons
Add additional default icons for:
- Blender
- Presentation
- Program
- Spreadsheet
Add/expand additional media types:
- PDF
- Packages
* fix: remove leading dot in preview panel ext
* refactor: remove edge from `four_corner_gradient()`
* fix: handle missing files in `resource_manager`
* fix(ui): thumb edges fading on refresh
* feat(ui): add default icons for audio+vector thumbs
* feat(ui): apply edge to default icon thumbs
* chore: remove unused code
* refactor(ui): move loading icon to `ResourceManager`
* added support for Source 1 + 2 file thumbnails
All plaintext variants and VTF file conversions.
* Added render code for VTF files
Added support for VTF files by using the vtf2img library for PIL
* Add files via upload
* fixed Ruff errors
* fixed Ruff errors
* chore: organize imports, lists; ruff formatting
* Change references of Source to Source Engine
* Added error handler + changed source to source engine
* add struct to import and docstring for source_engine
* complying to the demigod ruff
* chore: format with ruff
---------
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
* 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
* Add support for waveform + album cover thumbnails
* Rename "cover" variables for MyPy
* Rename "audio_tags" variables for MyPy + typing
* Add # type: ignore to fromstring method
* Add GIF preview support
* Add rough check for invalid video codecs
* Add ".plist" to PLAINTEXT_TYPES
* Add readable video tester
* Add ".psd" to IMAGE_TYPES; Handle ID3NoHeaderError
* Improve and style waveform previews
* Add final return statement to _album_artwork()
* Add final return statement to _audio_waveform()
* Tweak waveform color and size
* Fix ItemThumb label text color in light mode
* Fix most theme UI legibility issues
* Match additional UI to color scheme
* ruff format
* feat(ui): add UI color palette dict
* feat(ui) center and color small font previews
* fix(ui): large font previews follow app theme
* fix(ui): blender previews follow app theme
* feat(ui): add resizable thumbnail options
* fix: mkv files with "[0][0][0][0]" codec load properly
* fix: missing audio files properly handled
* feat(ui): use system accent color for thumb selections
* fix(ui): hide gif preview in multi-selections
* feat(ui): add dynamic file thumb icons
* fix(ui): hide previous thumbnail before resizing
* (fix): catch ffmpeg errors in file tester
* Squashed commit of the following:
commit 9a3c19d398
Author: Travis Abendshien <lvnvtravis@gmail.com>
Date: Wed Jul 24 22:57:32 2024 -0700
fix: add missing comma + sort extensions
commit 53b2db9b5f
Author: Travis Abendshien <lvnvtravis@gmail.com>
Date: Wed Jul 24 14:46:16 2024 -0700
refactor: move type constants to new media classes
* feat(ui): add media types and icon resources
* feat(ui): add more default media types and icons
Add additional default icons for:
- Blender
- Presentation
- Program
- Spreadsheet
Add/expand additional media types:
- PDF
- Packages
* fix: remove leading dot in preview panel ext
* refactor: remove edge from `four_corner_gradient()`
* fix: handle missing files in `resource_manager`
* fix(ui): thumb edges fading on refresh
* feat(ui): add default icons for audio+vector thumbs
* feat(ui): apply edge to default icon thumbs
* chore: remove unused code
* refactor(ui): move loading icon to `ResourceManager`
* fix(ui) color for default icons follow theme
* fix: remove `theme_color` redef
* refactor: make some consts and args clearer
* refactor: organize arguments, update docstrings
The ability to pass a border radius scaling argument is also included.
* chore: format docstrings with ruff
* refactor: replace magic numbers with named values
* refactor: remove unused code, comments, & imports
* refactor: rename args to not shadow builtins
* refactor: remove unused vars from `thumb_renderer`
* fix: handle ValueError in `render()`
Handle ValueErrors in `render()`. This case was encountered when attempting to render an `XPM` file during testing.
* docs: add FFmpeg requirement to README
* 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 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
- Add support for HEIC/HEIF image thumbnails and previews
- Replace dependency "pillow_avif_plugin" with "pi-heif"
- Remove unused dependencies in ts_cli.py
- Add thumbnail and preview support for RAW images ["raw", "dng", "rw2", "nef", "arw", "crw", "cr3"]
- Optimize the preview panel's dimension calculations (still need to move this elsewhere)
- Refactored use of "Path" in thumb_renderer.py