Skip to content

Commit

Permalink
Merge pull request #12057 from ronso0/pref-ui-tweaks
Browse files Browse the repository at this point in the history
Preferences UI tweaks
  • Loading branch information
daschuer authored Feb 11, 2024
2 parents 6154c7a + 0617e62 commit 8a37340
Show file tree
Hide file tree
Showing 15 changed files with 461 additions and 458 deletions.
9 changes: 4 additions & 5 deletions src/controllers/dlgprefcontrollersdlg.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
<rect>
<x>0</x>
<y>0</y>
<width>548</width>
<height>524</height>
</rect>
</property>
<property name="windowTitle">
Expand All @@ -23,7 +21,7 @@
<item>
<widget class="QLabel" name="txtControllersOverview">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<sizepolicy hsizetype="Ignored" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
Expand All @@ -36,13 +34,14 @@
</property>
</widget>
</item>

<item>
<widget class="QLabel" name="txtNoControllersAvailable">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<sizepolicy hsizetype="Ignored" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
Expand Down Expand Up @@ -111,7 +110,7 @@
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="createMapping">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<sizepolicy hsizetype="Ignored" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
Expand Down
8 changes: 8 additions & 0 deletions src/preferences/dialog/dlgprefbroadcast.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,13 @@ DlgPrefBroadcast::DlgPrefBroadcast(QWidget *parent,
}

// Encoding format combobox
connect(comboBoxEncodingFormat,
QOverload<int>::of(&QComboBox::currentIndexChanged),
this,
[this]() {
ogg_dynamicupdate->setEnabled(
comboBoxEncodingFormat->currentData() == ENCODING_OGG);
});
comboBoxEncodingFormat->addItem(tr("MP3"), ENCODING_MP3);
comboBoxEncodingFormat->addItem(tr("Ogg Vorbis"), ENCODING_OGG);
#ifdef __OPUS__
Expand Down Expand Up @@ -508,6 +515,7 @@ void DlgPrefBroadcast::getValuesFromProfile(BroadcastProfilePtr profile) {
enableUtf8Metadata->setChecked(charset == "UTF-8");

// OGG "dynamicupdate" checkbox
ogg_dynamicupdate->setEnabled(profile->getFormat() == ENCODING_OGG);
ogg_dynamicupdate->setChecked(profile->getOggDynamicUpdate());
}

Expand Down
4 changes: 2 additions & 2 deletions src/preferences/dialog/dlgprefbroadcastdlg.ui
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@
</layout>
</widget>
</item>
<item row="3" column="1">
<item row="4" column="0" colspan="2">
<widget class="QGroupBox" name="groupBoxMetadata">
<property name="title">
<string>Metadata</string>
Expand Down Expand Up @@ -466,7 +466,7 @@
</layout>
</widget>
</item>
<item row="3" column="0">
<item row="3" column="0" colspan="2">
<widget class="QGroupBox" name="groupBoxStreamInfo">
<property name="minimumSize">
<size>
Expand Down
15 changes: 1 addition & 14 deletions src/preferences/dialog/dlgprefdeck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -324,16 +324,7 @@ DlgPrefDeck::DlgPrefDeck(QWidget* parent, UserSettingsPointer pConfig)
// Ramping Temporary Rate Change configuration
//

// Rate Ramp Sensitivity slider & spinbox
connect(SliderRateRampSensitivity,
QOverload<int>::of(&QAbstractSlider::valueChanged),
SpinBoxRateRampSensitivity,
QOverload<int>::of(&QSpinBox::setValue));
connect(SpinBoxRateRampSensitivity,
QOverload<int>::of(&QSpinBox::valueChanged),
SliderRateRampSensitivity,
QOverload<int>::of(&QAbstractSlider::setValue));

// Rate Ramp Sensitivity slider
m_iRateRampSensitivity =
m_pConfig->getValue(ConfigKey("[Controls]", "RateRampSensitivity"),
kDefaultRateRampSensitivity);
Expand All @@ -352,10 +343,6 @@ DlgPrefDeck::DlgPrefDeck(QWidget* parent, UserSettingsPointer pConfig)
&QRadioButton::toggled,
SliderRateRampSensitivity,
&QWidget::setEnabled);
connect(radioButtonRateRampModeLinear,
&QRadioButton::toggled,
SpinBoxRateRampSensitivity,
&QWidget::setEnabled);
// Enable/disable temporary rate spinboxes when abrupt ramping is selected
connect(radioButtonRateRampModeStepping,
&QRadioButton::toggled,
Expand Down
67 changes: 20 additions & 47 deletions src/preferences/dialog/dlgprefdeckdlg.ui
Original file line number Diff line number Diff line change
Expand Up @@ -321,52 +321,26 @@ You can always drag-and-drop tracks on screen to clone a deck.</string>
</widget>
</item>
<item row="7" column="1" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QSlider" name="SliderRateRampSensitivity">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>2500</number>
</property>
<property name="singleStep">
<number>50</number>
</property>
<property name="value">
<number>250</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="SpinBoxRateRampSensitivity">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Value in milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>2500</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>250</number>
</property>
</widget>
</item>
</layout>
<widget class="QSlider" name="SliderRateRampSensitivity">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>2500</number>
</property>
<property name="singleStep">
<number>50</number>
</property>
<property name="value">
<number>250</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="labelSpeedTemporary">
Expand Down Expand Up @@ -707,7 +681,6 @@ You can always drag-and-drop tracks on screen to clone a deck.</string>
<tabstop>radioButtonRateRampModeLinear</tabstop>
<tabstop>radioButtonRateRampModeStepping</tabstop>
<tabstop>SliderRateRampSensitivity</tabstop>
<tabstop>SpinBoxRateRampSensitivity</tabstop>
<tabstop>spinBoxTemporaryRateFine</tabstop>
<tabstop>spinBoxTemporaryRateCoarse</tabstop>
<tabstop>spinBoxPermanentRateFine</tabstop>
Expand Down
10 changes: 10 additions & 0 deletions src/preferences/dialog/dlgpreferencepage.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,16 @@ class DlgPreferencePage : public QWidget {
/// overriding this. The default implementation returns an invalid QUrl.
virtual QUrl helpUrl() const;

const QString kWarningIconPath =
QStringLiteral(":/images/preferences/ic_preferences_warning.svg");
const QString kWarningIconHtmlString = QStringLiteral(
"<html>"
"<img "
"src='%1' "
"width='20' height='20'>"
"</html> ")
.arg(kWarningIconPath);

void setScrollSafeGuardForAllInputWidgets(QObject* obj);
/// Avoid undesired value changes when scrolling a preferences page while
/// the pointer is above an input widget (QSpinBox, QComboBox, QSlider):
Expand Down
7 changes: 1 addition & 6 deletions src/preferences/dialog/dlgprefinterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,7 @@ DlgPrefInterface::DlgPrefInterface(

if (pSkinLoader) {
// Skin configurations
QString sizeWarningString =
"<img src=\":/images/preferences/ic_preferences_warning.svg\") "
"width=16 height=16 /> " +
tr("The minimum size of the selected skin is bigger than your "
"screen resolution.");
warningLabel->setText(sizeWarningString);
warningLabel->setText(kWarningIconHtmlString);

ComboBoxSkinconf->clear();
skinPreviewLabel->setText("");
Expand Down
8 changes: 7 additions & 1 deletion src/preferences/dialog/dlgpreflibrary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,13 @@ void DlgPrefLibrary::initializeDirList() {
->internalCollection()
->loadRootDirs();
for (const mixxx::FileInfo& rootDir : rootDirs) {
m_dirListModel.appendRow(new QStandardItem(rootDir.location()));
// mark missing/invalid dirs with a warning icon, add a tooltip
auto* pDirItem = new QStandardItem(rootDir.location());
if (!rootDir.exists() || !rootDir.isDir()) {
pDirItem->setIcon(QIcon(kWarningIconPath));
pDirItem->setToolTip(tr("Item is not a directory or directory is missing"));
}
m_dirListModel.appendRow(pDirItem);
}
dirList->setModel(&m_dirListModel);
dirList->setCurrentIndex(m_dirListModel.index(0, 0));
Expand Down
12 changes: 12 additions & 0 deletions src/preferences/dialog/dlgpreflibrarydlg.ui
Original file line number Diff line number Diff line change
Expand Up @@ -469,13 +469,19 @@
<property name="topMargin">
<number>10</number>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>You will need to restart Mixxx for these settings to take effect.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
Expand All @@ -493,13 +499,19 @@
<property name="text">
<string>Fetch cover art from coverartarchive.com by using Import Metadata From Musicbrainz.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Note: ">1200 px" can fetch up to very large cover arts.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
Expand Down
16 changes: 4 additions & 12 deletions src/preferences/dialog/dlgprefrecord.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -240,30 +240,22 @@ void DlgPrefRecord::setupEncoderUI() {
EncoderFactory::getFactory().getEncoderRecordingSettings(
m_selFormat, m_pConfig);
if (settings->usesQualitySlider()) {
LabelQuality->setVisible(true);
SliderQuality->setVisible(true);
TextQuality->setVisible(true);
qualityGroup->setVisible(true);
SliderQuality->setMinimum(0);
SliderQuality->setMaximum(settings->getQualityValues().size()-1);
SliderQuality->setValue(settings->getQualityIndex());
updateTextQuality();
} else {
LabelQuality->setVisible(false);
SliderQuality->setVisible(false);
TextQuality->setVisible(false);
qualityGroup->setVisible(false);
}
if (settings->usesCompressionSlider()) {
LabelCompression->setVisible(true);
SliderCompression->setVisible(true);
TextCompression->setVisible(true);
compressionGroup->setVisible(true);
SliderCompression->setMinimum(0);
SliderCompression->setMaximum(settings->getCompressionValues().size()-1);
SliderCompression->setValue(settings->getCompression());
updateTextCompression();
} else {
LabelCompression->setVisible(false);
SliderCompression->setVisible(false);
TextCompression->setVisible(false);
compressionGroup->setVisible(false);
}

for (QAbstractButton* widget : std::as_const(m_optionWidgets)) {
Expand Down
Loading

0 comments on commit 8a37340

Please sign in to comment.