summaryrefslogtreecommitdiff
path: root/.pre-commit-config.yaml
Commit message (Collapse)AuthorAgeFilesLines
* refactor: Restructure GUI components into separate modules for improved ↵Warry2025-12-041-0/+1
| | | | maintainability
* feat: refactor settings UI with category navigation and add Delimiters pageWarry2025-11-301-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #640 ## Changes ### UI Refactoring - Replace monolithic settings dialog with category-based navigation - Add QListWidget (lw_categories) for category selection on the left - Add QStackedWidget (sw_categories) for content pages on the right - Organize settings into 5 distinct pages: - Flags (14 checkboxes) - Quality (3 combo boxes) - Numbers (2 spin boxes) - Paths & Formats (7 line edits + 2 browse buttons) - Delimiters (4 line edits) — NEW ### New Feature: Delimiters Category - Add customizable separators for artists in metadata and filenames: - metadata_delimiter_artist - metadata_delimiter_album_artist - filename_delimiter_artist - filename_delimiter_album_artist - Auto-integration with DialogPreferences via parameters_line_edit - Line edits with max width 100px for compact display ### Styling - Apply dark theme to settings dialog: - Category list: #2b2b2b background, #3d5a80 selection, #3a3a3a hover - Settings area: #333333 background, styled GroupBoxes (#3a3a3a) - Light text (#e0e0e0) for better contrast - Add spacing property (6px) to category list for better readability - Style QListWidget items with padding (4px 3px) and margin (2px 0px) ### Testing - Add comprehensive test suite (61 tests total): - test_settings_ui.py: UI and basic integration (14 tests) - test_settings_dialog_structure.py: detailed structure validation (20 tests) - test_dialog_preferences_integration.py: DialogPreferences integration (14 tests) - test_delimiters_category.py: new Delimiters page validation (13 tests) - Fix ruff issues (F841, S108) in test files - All tests passing with 100% success rate ### Documentation - Add docs/refactor_settings_ui.md: comprehensive refactor overview - Add docs/delimiters_category.md: Delimiters feature documentation - Add docs/ui_styles.md: dark theme style guide - Add docs/testing_summary.md: testing overview and commands ### Code Quality - Apply ruff/black/pyupgrade via pre-commit hooks - Fix F841 (unused variable) in test_dialog_preferences_integration.py - Fix S108 (insecure temp path) using Path.home() in test_settings_ui.py - End-of-file fixes applied automatically ## Files Modified - tidal_dl_ng/ui/dialog_settings.ui (complete restructure) - tidal_dl_ng/ui/dialog_settings.py (auto-generated from .ui) - tidal_dl_ng/dialog.py (add 4 delimiter params + Delimiters category) - tests/* (4 new test files with 61 tests) - docs/* (4 new documentation files) ## Impact - Improved UX: intuitive category navigation, better visual organization - Extensibility: easy to add new settings pages/categories - Quality: comprehensive test coverage ensures robustness - User flexibility: customizable separators for metadata and filenames ## Technical Notes - QStackedWidget pages indexed 0-4 matching category list order - Navigation via QListWidget::currentRowChanged signal - Automatic save/load through existing DialogPreferences methods - No breaking changes to existing settings or configuration ## Testing Commands ```powershell poetry run pre-commit run -a poetry run pytest -q
* ✨ Add Python 3.13 support and update dependenciesRobert Honz2025-07-011-8/+7
| | | | | | | | | | | | | | | | Extends Python version support to include 3.13 in CI workflows, tox environments, and documentation. Updates dependencies to ensure compatibility with the new Python version and resolves legacy workarounds for macOS GitHub Actions runners. Upgrades include: - `pyside6` to version 6.9.1 - `click` to version 8.2.1 - Other relevant dependency updates for compatibility. Re-enables `pyupgrade` pre-commit hook targeting Python 3.12+. Fixed binary creation for Intel macOS.
* ✨ Dependency update. pyproject.toml fixes. isort-seed removal.Robert Honz2025-06-271-6/+1
|
* 👷 Run check on commit.Robert Honz2025-02-011-1/+1
|
* 👷 Poetry update to v2Robert Honz2025-01-311-1/+1
|
* 👷 Minimum Python version is now 3.12.Robert Honz2024-12-171-1/+1
|
* 🛠️ Fixed GitHub action on push (tox).Robert Honz2024-01-121-0/+1
|
* 🛠️ Isort isn't used anymore due to conflicts with black. Black ↵Robert Honz2024-01-121-10/+16
| | | | reformatting done. Pre-Commit-Hook version upgrades.
* 🛠️ Pre Commit Hooks adjusted.Robert Honz2024-01-121-17/+18
|
* 🛠️ Isort refactoring.Robert Honz2024-01-121-36/+36
|
* ♻️ Ruff reformatting.Robert Honz2024-01-121-44/+44
|
* 🌟 Re-add all project files.Robert Honz2023-12-191-0/+56