* 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