<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tidal-dl-ng/.pre-commit-config.yaml, branch master</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/tidal-dl-ng/atom/.pre-commit-config.yaml?h=master</id>
<link rel='self' href='http://git.cashmere.rs/tidal-dl-ng/atom/.pre-commit-config.yaml?h=master'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/'/>
<updated>2025-12-04T11:03:31Z</updated>
<entry>
<title>refactor: Restructure GUI components into separate modules for improved maintainability</title>
<updated>2025-12-04T11:03:31Z</updated>
<author>
<name>Warry</name>
<email>FunWarry@users.noreply.github.com</email>
</author>
<published>2025-12-04T11:03:31Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=75868b32d07aafe46b69649d2da0dc2c833f112d'/>
<id>urn:sha1:75868b32d07aafe46b69649d2da0dc2c833f112d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: refactor settings UI with category navigation and add Delimiters page</title>
<updated>2025-11-30T14:37:32Z</updated>
<author>
<name>Warry</name>
<email>FunWarry@users.noreply.github.com</email>
</author>
<published>2025-11-30T14:37:32Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=121dbb788d051c76375261cd18fa8dca0f23b935'/>
<id>urn:sha1:121dbb788d051c76375261cd18fa8dca0f23b935</id>
<content type='text'>
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 &amp; 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
</content>
</entry>
<entry>
<title>✨ Add Python 3.13 support and update dependencies</title>
<updated>2025-07-01T06:04:21Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-07-01T06:04:08Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=d3164f48defcfe93ae04bd02e1b3ab7f4a72e632'/>
<id>urn:sha1:d3164f48defcfe93ae04bd02e1b3ab7f4a72e632</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>✨ Dependency update. pyproject.toml fixes. isort-seed removal.</title>
<updated>2025-06-27T07:42:35Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-06-27T07:42:35Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=a2e8be4114038349255aa5d4437a2a956b74a501'/>
<id>urn:sha1:a2e8be4114038349255aa5d4437a2a956b74a501</id>
<content type='text'>
</content>
</entry>
<entry>
<title>👷 Run check on commit.</title>
<updated>2025-02-01T07:58:36Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-02-01T07:58:36Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=b0bf71ccf523359333c6a4eabfa973135832bd7e'/>
<id>urn:sha1:b0bf71ccf523359333c6a4eabfa973135832bd7e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>👷 Poetry update to v2</title>
<updated>2025-01-31T07:51:38Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-01-31T07:51:38Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=757817deec4adc9c214acb42ed77d5c76b59f954'/>
<id>urn:sha1:757817deec4adc9c214acb42ed77d5c76b59f954</id>
<content type='text'>
</content>
</entry>
<entry>
<title>👷 Minimum Python version is now 3.12.</title>
<updated>2024-12-17T08:45:10Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-12-17T08:45:10Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=6ef9c4ba1e10268575013204d6cd068ea4cf91be'/>
<id>urn:sha1:6ef9c4ba1e10268575013204d6cd068ea4cf91be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>🛠️ Fixed GitHub action on push (tox).</title>
<updated>2024-01-12T12:24:49Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-01-12T12:24:49Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=a30ee0550d585cc9a63a8bca747c9755dbada760'/>
<id>urn:sha1:a30ee0550d585cc9a63a8bca747c9755dbada760</id>
<content type='text'>
</content>
</entry>
<entry>
<title>🛠️ Isort isn't used anymore due to conflicts with black. Black reformatting done. Pre-Commit-Hook version upgrades.</title>
<updated>2024-01-12T10:12:47Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-01-12T10:12:47Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=87091fb060ec263c1e9cfa71c086c995c85e65cc'/>
<id>urn:sha1:87091fb060ec263c1e9cfa71c086c995c85e65cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>🛠️ Pre Commit Hooks adjusted.</title>
<updated>2024-01-12T09:55:40Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-01-12T09:55:40Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=8a46e9692109148bb607c8f4e5976c795efc9e1e'/>
<id>urn:sha1:8a46e9692109148bb607c8f4e5976c795efc9e1e</id>
<content type='text'>
</content>
</entry>
</feed>
