<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tidal-dl-ng/tidal_dl_ng/ui/dialog_settings.ui, branch master</title>
<subtitle></subtitle>
<id>http://git.cashmere.rs/tidal-dl-ng/atom/tidal_dl_ng/ui/dialog_settings.ui?h=master</id>
<link rel='self' href='http://git.cashmere.rs/tidal-dl-ng/atom/tidal_dl_ng/ui/dialog_settings.ui?h=master'/>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/'/>
<updated>2025-12-03T10:41:18Z</updated>
<entry>
<title>Merge branch 'feature/json-downloaded' into fusion-refac-&amp;-info</title>
<updated>2025-12-03T10:41:18Z</updated>
<author>
<name>Warry</name>
<email>FunWarry@users.noreply.github.com</email>
</author>
<published>2025-12-03T10:41:18Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=c1d40619aa2aa44f5d967af9b5f47d040d6dc7dd'/>
<id>urn:sha1:c1d40619aa2aa44f5d967af9b5f47d040d6dc7dd</id>
<content type='text'>
# Conflicts:
#	.gitignore
#	README.md
#	tidal_dl_ng/gui.py
</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>refactor(gui): ✨ update album download options and improve session validation</title>
<updated>2025-10-22T19:52:20Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2025-10-22T19:52:20Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=8f0c784187e55a7cd1015222a4347bf3fda14e90'/>
<id>urn:sha1:8f0c784187e55a7cd1015222a4347bf3fda14e90</id>
<content type='text'>
* Added a new action to download all albums in a playlist.
* Removed the deprecated `validate_session` method and replaced it with a direct call to `self.tidal.session.check_login()`.
* Adjusted the UI layout in `dialog_settings` to accommodate new options and improved sizing.
</content>
</entry>
<entry>
<title>Add a checkbox to settings that toggles the explicit symbol in track titles</title>
<updated>2025-10-19T23:16:19Z</updated>
<author>
<name>Trubo</name>
<email>78948819+truubo@users.noreply.github.com</email>
</author>
<published>2025-10-19T23:16:19Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=240255088406d2e43b8e055a432c3063ad075fdc'/>
<id>urn:sha1:240255088406d2e43b8e055a432c3063ad075fdc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>✨ Config options created for symlinking tracks and playlist creation.</title>
<updated>2024-12-16T07:14:39Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-12-16T07:14:39Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=107afd5e3a4e756ed55105bdced3b540966e197e'/>
<id>urn:sha1:107afd5e3a4e756ed55105bdced3b540966e197e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>✨ Multithreaded downloads implemented (for Playlists, Albums etc.). Fixes #180</title>
<updated>2024-12-15T22:35:10Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-12-15T22:35:10Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=5768edacc57fd29bf2ef182cb9db312d4aebb468'/>
<id>urn:sha1:5768edacc57fd29bf2ef182cb9db312d4aebb468</id>
<content type='text'>
</content>
</entry>
<entry>
<title>✨ Album track number padding can be set. Fixes #142</title>
<updated>2024-12-15T19:37:06Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-12-15T19:37:06Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=b8091e233b666b9920e333918e465a25db64de7b'/>
<id>urn:sha1:b8091e233b666b9920e333918e465a25db64de7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>✨ Removed complex skipping options in favor of a faster duplicates check / skipping of already present items without download delay.</title>
<updated>2024-11-13T08:09:00Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-11-13T08:09:00Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=c1a102f646665d3570fe2f40e6d43f845c9ec55a'/>
<id>urn:sha1:c1a102f646665d3570fe2f40e6d43f845c9ec55a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>✨ Options for album art added to GUI. Fixes #125</title>
<updated>2024-11-11T09:17:40Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-11-11T09:17:10Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=24d75a7c208113c56707ca48624271748454ced7'/>
<id>urn:sha1:24d75a7c208113c56707ca48624271748454ced7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Since TIDAL has remove MQA (`HI_RES`), all traces of MQA have been removed here.</title>
<updated>2024-11-06T14:01:18Z</updated>
<author>
<name>Robert Honz</name>
<email>exislow+github@gmail.com</email>
</author>
<published>2024-11-06T14:01:18Z</published>
<link rel='alternate' type='text/html' href='http://git.cashmere.rs/tidal-dl-ng/commit/?id=f41d65d7d361e7a9435f486804df33960cce5f51'/>
<id>urn:sha1:f41d65d7d361e7a9435f486804df33960cce5f51</id>
<content type='text'>
</content>
</entry>
</feed>
