diff options
| author | Warry <FunWarry@users.noreply.github.com> | 2025-11-30 15:37:32 +0100 |
|---|---|---|
| committer | Warry <FunWarry@users.noreply.github.com> | 2025-11-30 15:37:32 +0100 |
| commit | 121dbb788d051c76375261cd18fa8dca0f23b935 (patch) | |
| tree | cab3f2df3aa9e1437fdd0b5c60ab22780f8d717d /tidal_dl_ng/ui/dialog_settings.ui | |
| parent | 28a6fe5a7dbadc9532de228a539c47ec49ca4aa2 (diff) | |
| download | tidal-dl-ng-121dbb788d051c76375261cd18fa8dca0f23b935.tar.gz | |
feat: refactor settings UI with category navigation and add Delimiters page
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
Diffstat (limited to 'tidal_dl_ng/ui/dialog_settings.ui')
| -rw-r--r-- | tidal_dl_ng/ui/dialog_settings.ui | 1936 |
1 files changed, 1191 insertions, 745 deletions
diff --git a/tidal_dl_ng/ui/dialog_settings.ui b/tidal_dl_ng/ui/dialog_settings.ui index 3161095..77dd59a 100644 --- a/tidal_dl_ng/ui/dialog_settings.ui +++ b/tidal_dl_ng/ui/dialog_settings.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>640</width> - <height>832</height> + <width>808</width> + <height>379</height> </rect> </property> <property name="sizePolicy"> @@ -50,749 +50,1195 @@ <number>12</number> </property> <item> - <widget class="QGroupBox" name="gb_flags"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>100</horstretch> - <verstretch>100</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Flags</string> - </property> - <property name="flat"> - <bool>false</bool> - </property> - <property name="checkable"> - <bool>false</bool> - </property> - <layout class="QVBoxLayout" name="lv_flags"> - <item> - <layout class="QHBoxLayout" name="lh_flags_1"> - <item> - <layout class="QVBoxLayout" name="lv_flag_video_download"> - <item> - <widget class="QCheckBox" name="cb_video_download"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>100</horstretch> - <verstretch>100</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="lv_flag_video_convert"> - <item> - <widget class="QCheckBox" name="cb_video_convert_mp4"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>100</horstretch> - <verstretch>100</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_flags_2"> - <item> - <layout class="QVBoxLayout" name="lv_flag_lyrics_embed"> - <item> - <widget class="QCheckBox" name="cb_lyrics_embed"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="whatsThis"> - <string/> - </property> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="lv_flag_lyrics_file"> - <item> - <widget class="QCheckBox" name="cb_lyrics_file"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>100</horstretch> - <verstretch>100</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_flag_3"> - <item> - <layout class="QVBoxLayout" name="lv_flag_download_delay"> - <item> - <widget class="QCheckBox" name="cb_download_delay"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>100</horstretch> - <verstretch>100</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="lv_flag_extract_flac"> - <item> - <widget class="QCheckBox" name="cb_extract_flac"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_flags_4"> - <item> - <layout class="QVBoxLayout" name="lv_flag_metadata_cover_embed"> - <item> - <widget class="QCheckBox" name="cb_metadata_cover_embed"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="lv_flag_cover_album_file"> - <item> - <widget class="QCheckBox" name="cb_cover_album_file"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <layout class="QVBoxLayout" name="lv_flag_skip_existing"> - <item> - <widget class="QCheckBox" name="cb_skip_existing"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="lv_symlink_to_track"> - <item> - <widget class="QCheckBox" name="cb_symlink_to_track"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_12"> - <item> - <layout class="QVBoxLayout" name="lv_playlist_create"> - <item> - <widget class="QCheckBox" name="cb_playlist_create"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="lv_mark_explicit"> - <item> - <widget class="QCheckBox" name="cb_mark_explicit"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_13"> - <item> - <layout class="QVBoxLayout" name="lv_use_primary_album_artist"> - <item> - <widget class="QCheckBox" name="cb_use_primary_album_artist"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="lv_download_dolby_atmos"> - <item> - <widget class="QCheckBox" name="cb_download_dolby_atmos"> - <property name="text"> - <string>CheckBox</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="gb_choices"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title"> - <string>Choices</string> - </property> - <layout class="QVBoxLayout" name="lv_choices"> - <item> - <layout class="QHBoxLayout" name="lh_choices_quality_audio" stretch="0,0,50"> - <item> - <widget class="QLabel" name="l_icon_quality_audio"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_quality_audio"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="c_quality_audio"/> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_choices_quality_video" stretch="0,0,50"> - <item> - <widget class="QLabel" name="l_icon_quality_video"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_quality_video"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="c_quality_video"/> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_choices_cover_dimension" stretch="0,0,50"> - <property name="sizeConstraint"> - <enum>QLayout::SizeConstraint::SetDefaultConstraint</enum> - </property> - <item> - <widget class="QLabel" name="l_icon_metadata_cover_dimension"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_metadata_cover_dimension"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="c_metadata_cover_dimension"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>10</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="gb_numbers"> - <property name="title"> - <string>Numbers</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_8"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_9"> - <item> - <widget class="QLabel" name="l_album_track_num_pad_min"> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_icon_album_track_num_pad_min"> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="sb_album_track_num_pad_min"> - <property name="maximum"> - <number>4</number> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_11"> - <item> - <widget class="QLabel" name="l_downloads_concurrent_max"> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_icon_downloads_concurrent_max"> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="sb_downloads_concurrent_max"> - <property name="minimum"> - <number>1</number> - </property> - <property name="maximum"> - <number>5</number> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="gb_path"> - <property name="title"> - <string>Path</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,50"> - <item> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <layout class="QHBoxLayout" name="lh_path_base"> - <item> - <widget class="QLabel" name="l_icon_download_base_path"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_download_base_path"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_path_fmt_track"> - <item> - <widget class="QLabel" name="l_icon_format_track"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_format_track"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_path_fmt_video"> - <item> - <widget class="QLabel" name="l_icon_format_video"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_format_video"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_path_fmt_album"> - <item> - <widget class="QLabel" name="l_icon_format_album"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_format_album"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_fpath_mt_playlist"> - <item> - <widget class="QLabel" name="l_icon_format_playlist"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_format_playlist"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_path_fmt_mix"> - <item> - <widget class="QLabel" name="l_icon_format_mix"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_format_mix"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="lh_path_binary_ffmpeg"> - <item> - <widget class="QLabel" name="l_icon_path_binary_ffmpeg"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="l_path_binary_ffmpeg"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>TextLabel</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_10"> - <item> - <widget class="QLineEdit" name="le_download_base_path"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="dragEnabled"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pb_download_base_path"> - <property name="text"> - <string>...</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_7"> - <item> - <widget class="QLineEdit" name="le_format_track"/> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_5"> - <item> - <widget class="QLineEdit" name="le_format_video"/> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_6"> - <item> - <widget class="QLineEdit" name="le_format_album"/> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QLineEdit" name="le_format_playlist"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_8"> - <item> - <widget class="QLineEdit" name="le_format_mix"/> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QLineEdit" name="le_path_binary_ffmpeg"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="dragEnabled"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pb_path_binary_ffmpeg"> - <property name="text"> - <string>...</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - </layout> - </widget> + <layout class="QHBoxLayout" name="lh_main_content"> + <item> + <widget class="QListWidget" name="lw_categories"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>200</width> + <height>16777215</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">QListWidget { + background-color: #2b2b2b; + border: 1px solid #3d3d3d; + border-radius: 4px; + padding: 4px; + outline: none; +} + +QListWidget::item { + padding: 4px 3px; + border-radius: 3px; + margin: 2px 0px; + color: #e0e0e0; +} + +QListWidget::item:selected { + background-color: #3d5a80; + color: white; + font-weight: bold; +} + +QListWidget::item:hover:!selected { + background-color: #3a3a3a; + color: white; +} + +QListWidget::item:focus { + outline: none; +}</string> + </property> + <property name="frameShape"> + <enum>QFrame::Shape::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Shadow::Raised</enum> + </property> + <property name="midLineWidth"> + <number>-1</number> + </property> + <property name="resizeMode"> + <enum>QListView::ResizeMode::Adjust</enum> + </property> + <property name="spacing"> + <number>0</number> + </property> + </widget> + </item> + <item> + <widget class="QStackedWidget" name="sw_categories"> + <property name="styleSheet"> + <string notr="true">QStackedWidget { + background-color: #333333; + border: 1px solid #3d3d3d; + border-radius: 4px; +} + +QWidget { + background-color: transparent; +} + +QGroupBox { + background-color: #3a3a3a; + border: 1px solid #4a4a4a; + border-radius: 6px; + margin-top: 12px; + padding-top: 12px; + font-weight: bold; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + padding: 4px 8px; + background-color: #3a3a3a; + border-radius: 4px; +}</string> + </property> + <property name="frameShape"> + <enum>QFrame::Shape::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Shadow::Plain</enum> + </property> + <property name="midLineWidth"> + <number>1</number> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="page_flags"> + <layout class="QVBoxLayout" name="lv_page_flags"> + <item> + <widget class="QGroupBox" name="gb_flags"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>100</horstretch> + <verstretch>100</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Flags</string> + </property> + <property name="flat"> + <bool>false</bool> + </property> + <property name="checkable"> + <bool>false</bool> + </property> + <layout class="QVBoxLayout" name="lv_flags"> + <item> + <layout class="QHBoxLayout" name="lh_flags_1"> + <item> + <layout class="QVBoxLayout" name="lv_flag_video_download"> + <item> + <widget class="QCheckBox" name="cb_video_download"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>100</horstretch> + <verstretch>100</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="lv_flag_video_convert"> + <item> + <widget class="QCheckBox" name="cb_video_convert_mp4"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>100</horstretch> + <verstretch>100</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_flags_2"> + <item> + <layout class="QVBoxLayout" name="lv_flag_lyrics_embed"> + <item> + <widget class="QCheckBox" name="cb_lyrics_embed"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string/> + </property> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="lv_flag_lyrics_file"> + <item> + <widget class="QCheckBox" name="cb_lyrics_file"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>100</horstretch> + <verstretch>100</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_flag_3"> + <item> + <layout class="QVBoxLayout" name="lv_flag_download_delay"> + <item> + <widget class="QCheckBox" name="cb_download_delay"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>100</horstretch> + <verstretch>100</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="lv_flag_extract_flac"> + <item> + <widget class="QCheckBox" name="cb_extract_flac"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_flags_4"> + <item> + <layout class="QVBoxLayout" name="lv_flag_metadata_cover_embed"> + <item> + <widget class="QCheckBox" name="cb_metadata_cover_embed"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="lv_flag_cover_album_file"> + <item> + <widget class="QCheckBox" name="cb_cover_album_file"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <layout class="QVBoxLayout" name="lv_flag_skip_existing"> + <item> + <widget class="QCheckBox" name="cb_skip_existing"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="lv_symlink_to_track"> + <item> + <widget class="QCheckBox" name="cb_symlink_to_track"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_12"> + <item> + <layout class="QVBoxLayout" name="lv_playlist_create"> + <item> + <widget class="QCheckBox" name="cb_playlist_create"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="lv_mark_explicit"> + <item> + <widget class="QCheckBox" name="cb_mark_explicit"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_13"> + <item> + <layout class="QVBoxLayout" name="lv_use_primary_album_artist"> + <item> + <widget class="QCheckBox" name="cb_use_primary_album_artist"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="lv_download_dolby_atmos"> + <item> + <widget class="QCheckBox" name="cb_download_dolby_atmos"> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="vs_page_flags"> + <property name="orientation"> + <enum>Qt::Orientation::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_quality"> + <layout class="QVBoxLayout" name="lv_page_quality"> + <item> + <widget class="QGroupBox" name="gb_choices"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Choices</string> + </property> + <layout class="QVBoxLayout" name="lv_choices"> + <item> + <layout class="QHBoxLayout" name="lh_choices_quality_audio" stretch="0,0,50"> + <item> + <widget class="QLabel" name="l_icon_quality_audio"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_quality_audio"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="c_quality_audio"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_choices_quality_video" stretch="0,0,50"> + <item> + <widget class="QLabel" name="l_icon_quality_video"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_quality_video"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="c_quality_video"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_choices_cover_dimension" stretch="0,0,50"> + <property name="sizeConstraint"> + <enum>QLayout::SizeConstraint::SetDefaultConstraint</enum> + </property> + <item> + <widget class="QLabel" name="l_icon_metadata_cover_dimension"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_metadata_cover_dimension"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="c_metadata_cover_dimension"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>10</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="vs_page_quality"> + <property name="orientation"> + <enum>Qt::Orientation::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_numbers"> + <layout class="QVBoxLayout" name="lv_page_numbers"> + <item> + <widget class="QGroupBox" name="gb_numbers"> + <property name="title"> + <string>Numbers</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_9"> + <item> + <widget class="QLabel" name="l_album_track_num_pad_min"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_icon_album_track_num_pad_min"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="sb_album_track_num_pad_min"> + <property name="maximum"> + <number>4</number> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_11"> + <item> + <widget class="QLabel" name="l_downloads_concurrent_max"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_icon_downloads_concurrent_max"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="sb_downloads_concurrent_max"> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>5</number> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="vs_page_numbers"> + <property name="orientation"> + <enum>Qt::Orientation::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_paths"> + <layout class="QVBoxLayout" name="lv_page_paths"> + <item> + <widget class="QGroupBox" name="gb_path"> + <property name="title"> + <string>Path</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,50"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QHBoxLayout" name="lh_path_base"> + <item> + <widget class="QLabel" name="l_icon_download_base_path"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_download_base_path"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_path_fmt_track"> + <item> + <widget class="QLabel" name="l_icon_format_track"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_format_track"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_path_fmt_video"> + <item> + <widget class="QLabel" name="l_icon_format_video"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_format_video"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_path_fmt_album"> + <item> + <widget class="QLabel" name="l_icon_format_album"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_format_album"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_fpath_mt_playlist"> + <item> + <widget class="QLabel" name="l_icon_format_playlist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_format_playlist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_path_fmt_mix"> + <item> + <widget class="QLabel" name="l_icon_format_mix"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_format_mix"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_path_binary_ffmpeg"> + <item> + <widget class="QLabel" name="l_icon_path_binary_ffmpeg"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_path_binary_ffmpeg"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_10"> + <item> + <widget class="QLineEdit" name="le_download_base_path"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="dragEnabled"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pb_download_base_path"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QLineEdit" name="le_format_track"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <widget class="QLineEdit" name="le_format_video"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <widget class="QLineEdit" name="le_format_album"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QLineEdit" name="le_format_playlist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <item> + <widget class="QLineEdit" name="le_format_mix"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLineEdit" name="le_path_binary_ffmpeg"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="dragEnabled"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pb_path_binary_ffmpeg"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="vs_page_paths"> + <property name="orientation"> + <enum>Qt::Orientation::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_delimiters"> + <layout class="QVBoxLayout" name="lv_page_delimiters"> + <item> + <widget class="QGroupBox" name="gb_delimiters"> + <property name="title"> + <string>Delimiters</string> + </property> + <layout class="QVBoxLayout" name="lv_delimiters"> + <item> + <layout class="QHBoxLayout" name="lh_metadata_delimiter_artist"> + <item> + <widget class="QLabel" name="l_icon_metadata_delimiter_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_metadata_delimiter_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="le_metadata_delimiter_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="hs_metadata_delimiter_artist"> + <property name="orientation"> + <enum>Qt::Orientation::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_metadata_delimiter_album_artist"> + <item> + <widget class="QLabel" name="l_icon_metadata_delimiter_album_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_metadata_delimiter_album_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="le_metadata_delimiter_album_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="hs_metadata_delimiter_album_artist"> + <property name="orientation"> + <enum>Qt::Orientation::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_filename_delimiter_artist"> + <item> + <widget class="QLabel" name="l_icon_filename_delimiter_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_filename_delimiter_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="le_filename_delimiter_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="hs_filename_delimiter_artist"> + <property name="orientation"> + <enum>Qt::Orientation::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="lh_filename_delimiter_album_artist"> + <item> + <widget class="QLabel" name="l_icon_filename_delimiter_album_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="l_filename_delimiter_album_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="le_filename_delimiter_album_artist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="hs_filename_delimiter_album_artist"> + <property name="orientation"> + <enum>Qt::Orientation::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="vs_page_delimiters"> + <property name="orientation"> + <enum>Qt::Orientation::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </widget> + </item> + </layout> </item> <item> <widget class="QDialogButtonBox" name="bb_dialog"> |
