/** Load theme at startup. */ void CustomizeThemeDialog::loadTheme() { SettingsPrivate *settings = SettingsPrivate::instance(); customizeThemeCheckBox->setChecked(settings->isButtonThemeCustomized()); sizeButtonsSpinBox->setValue(settings->buttonsSize()); // Select the right drop-down item according to the theme int i = 0; while (Settings::instance()->theme() != themeComboBox->itemText(i).toLower()) { i++; } themeComboBox->setCurrentIndex(i); // Buttons for (MediaButton *b : _mainWindow->mediaButtons) { // Check or uncheck checkboxes in this customize interface QCheckBox *checkBox = findChild<QCheckBox *>(b->objectName().replace("Button", "CheckBox")); if (checkBox) { checkBox->setChecked(settings->isMediaButtonVisible(b->objectName())); } // Display customs icons, if any QPushButton *pushButton = findChild<QPushButton *>(b->objectName().remove("Button")); if (pushButton) { pushButton->setIcon(b->icon()); } } // Extended Search Area settings->isExtendedSearchVisible() ? radioButtonShowExtendedSearch->setChecked(true) : radioButtonHideExtendedSearch->setChecked(true); // Volume bar radioButtonShowVolume->setChecked(settings->isVolumeBarTextAlwaysVisible()); spinBoxHideVolumeLabel->setValue(settings->volumeBarHideAfter()); // Fonts fontComboBoxPlaylist->setCurrentFont(settings->font(SettingsPrivate::FF_Playlist)); fontComboBoxLibrary->setCurrentFont(settings->font(SettingsPrivate::FF_Library)); fontComboBoxMenus->setCurrentFont(settings->font(SettingsPrivate::FF_Menu)); spinBoxPlaylist->setValue(settings->fontSize(SettingsPrivate::FF_Playlist)); spinBoxLibrary->blockSignals(true); spinBoxLibrary->setValue(settings->fontSize(SettingsPrivate::FF_Library)); spinBoxLibrary->blockSignals(false); spinBoxMenus->setValue(settings->fontSize(SettingsPrivate::FF_Menu)); // Library checkBoxDisplayCovers->setChecked(settings->isCoversEnabled()); spinBoxCoverSize->blockSignals(true); spinBoxCoverSize->setValue(settings->coverSize()); spinBoxCoverSize->blockSignals(false); // Colors settings->colorsAlternateBG() ? enableAlternateBGRadioButton->setChecked(true) : disableAlternateBGRadioButton->setChecked(true); settings->isCustomColors() ? enableCustomColorsRadioButton->setChecked(true) : disableCustomColorsRadioButton->setChecked(true); this->toggleCustomColors(settings->isCustomColors()); // Covers radioButtonEnableBigCover->setChecked(settings->isBigCoverEnabled()); spinBoxBigCoverOpacity->setValue(settings->bigCoverOpacity() * 100); // Tabs radioButtonTabsRect->setChecked(settings->isRectTabs()); overlapTabsSpinBox->setValue(settings->tabsOverlappingLength()); // Articles radioButtonEnableArticles->blockSignals(true); bool isFiltered = settings->isLibraryFilteredByArticles(); radioButtonEnableArticles->setChecked(isFiltered); std::list<QWidget*> enabled = { articlesLineEdit, labelReorderArtistsArticle, labelReorderArtistsArticleExample, radioButtonEnableReorderArtistsArticle, radioButtonDisableReorderArtistsArticle }; for (QWidget *w : enabled) { w->setEnabled(isFiltered); } radioButtonEnableReorderArtistsArticle->setChecked(settings->isReorderArtistsArticle()); radioButtonEnableArticles->blockSignals(false); // Star delegate if (settings->isStarDelegates()) { radioButtonEnableStarDelegate->setChecked(true); } else { radioButtonDisableStarDelegate->setChecked(true); } if (settings->isShowNeverScored()) { radioButtonShowNeverScoredTracks->setChecked(true); } else { radioButtonHideNeverScoredTracks->setChecked(true); } }
/** Load theme at startup. */ void CustomizeThemeDialog::loadTheme() { SettingsPrivate *settingsPrivate = SettingsPrivate::instance(); customizeThemeCheckBox->setChecked(settingsPrivate->isButtonThemeCustomized()); Settings *settings = Settings::instance(); sizeButtonsSpinBox->setValue(settings->buttonsSize()); // Select the right drop-down item according to the theme int i = 0; while (settings->theme() != themeComboBox->itemText(i).toLower()) { i++; } themeComboBox->setCurrentIndex(i); // Buttons QList<QPushButton*> mediaPlayerButtons = buttonsListBox->findChildren<QPushButton*>(); for (QPushButton *mediaPlayerButton : mediaPlayerButtons) { QString mediaButton = mediaPlayerButton->objectName() + "Button"; QCheckBox *checkbox = this->findChild<QCheckBox*>(mediaPlayerButton->objectName() + "CheckBox"); if (checkbox) { checkbox->setChecked(settings->isMediaButtonVisible(mediaButton)); } // Replace icon of the button in this dialog too if (settingsPrivate->hasCustomIcon(mediaButton)) { QString customIcon = settingsPrivate->customIcon(mediaButton); mediaPlayerButton->setIcon(QIcon(customIcon)); } } // Extended Search Area settingsPrivate->isExtendedSearchVisible() ? radioButtonShowExtendedSearch->setChecked(true) : radioButtonHideExtendedSearch->setChecked(true); // Volume bar radioButtonShowVolume->setChecked(settings->isVolumeBarTextAlwaysVisible()); spinBoxHideVolumeLabel->setValue(settingsPrivate->volumeBarHideAfter()); // Fonts fontComboBoxPlaylist->setCurrentFont(settingsPrivate->font(SettingsPrivate::FF_Playlist)); fontComboBoxLibrary->setCurrentFont(settingsPrivate->font(SettingsPrivate::FF_Library)); fontComboBoxMenus->setCurrentFont(settingsPrivate->font(SettingsPrivate::FF_Menu)); spinBoxPlaylist->setValue(settingsPrivate->fontSize(SettingsPrivate::FF_Playlist)); spinBoxLibrary->blockSignals(true); spinBoxLibrary->setValue(settingsPrivate->fontSize(SettingsPrivate::FF_Library)); spinBoxLibrary->blockSignals(false); spinBoxMenus->setValue(settingsPrivate->fontSize(SettingsPrivate::FF_Menu)); // Colors // Alternate background colors in playlists if (settingsPrivate->colorsAlternateBG()) { enableAlternateBGRadioButton->setChecked(true); } else { disableAlternateBGRadioButton->setChecked(true); } bool customColors = settingsPrivate->isCustomColors(); this->toggleCustomColors(customColors); // Custom text color can be enabled only if custom colors are enabled first! this->toggleCustomTextColors(customColors && settingsPrivate->isCustomTextColorOverriden()); // Covers settings->isCoverBelowTracksEnabled() ? radioButtonEnableBigCover->setChecked(true) : radioButtonDisableBigCover->setChecked(true); spinBoxBigCoverOpacity->setValue(settings->coverBelowTracksOpacity() * 100); // Tabs radioButtonTabsRect->setChecked(settingsPrivate->isRectTabs()); overlapTabsSpinBox->setValue(settingsPrivate->tabsOverlappingLength()); // Articles radioButtonEnableArticles->blockSignals(true); bool isFiltered = settingsPrivate->isLibraryFilteredByArticles(); radioButtonEnableArticles->setChecked(isFiltered); std::list<QWidget*> enabled = { articlesLineEdit, labelReorderArtistsArticle, labelReorderArtistsArticleExample, radioButtonEnableReorderArtistsArticle, radioButtonDisableReorderArtistsArticle }; for (QWidget *w : enabled) { w->setEnabled(isFiltered); } radioButtonEnableReorderArtistsArticle->setChecked(settingsPrivate->isReorderArtistsArticle()); radioButtonEnableArticles->blockSignals(false); // Star delegate if (settings->libraryHasStars()) { radioButtonEnableStarDelegate->setChecked(true); } else { radioButtonDisableStarDelegate->setChecked(true); } if (settings->isShowNeverScored()) { radioButtonShowNeverScoredTracks->setChecked(true); } else { radioButtonHideNeverScoredTracks->setChecked(true); } }