Skip to content

Commit

Permalink
use enum class for QML multi-sampling mode
Browse files Browse the repository at this point in the history
  • Loading branch information
ronso0 committed Feb 12, 2024
1 parent 0ccbaed commit 8962aa6
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 15 deletions.
8 changes: 8 additions & 0 deletions src/preferences/constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,12 @@ enum class ScreenSaverPreference {
PREVENT_ON_PLAY = 2
};

enum class MultiSamplingMode {
DISABLED = 0,
TWO = 2,
FOUR = 4,
EIGHT = 8,
SIXTEEN = 16
};

} // namespace mixxx
33 changes: 19 additions & 14 deletions src/preferences/dialog/dlgprefinterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,19 +183,24 @@ DlgPrefInterface::DlgPrefInterface(
#ifdef MIXXX_USE_QML
if (CmdlineArgs::Instance().isQml()) {
mulitSamplingComboBox->clear();
mulitSamplingComboBox->addItem(tr("Disabled"), 0);
mulitSamplingComboBox->addItem(tr("2x MSAA"), 2);
mulitSamplingComboBox->addItem(tr("4x MSAA"), 4);
mulitSamplingComboBox->addItem(tr("8x MSAA"), 8);
mulitSamplingComboBox->addItem(tr("16x MSAA"), 16);

m_multiSampling = m_pConfig->getValue(ConfigKey(kPreferencesGroup, kMultiSamplingKey), 4);
int mulitSamplingIndex = mulitSamplingComboBox->findData(m_multiSampling);
mulitSamplingComboBox->addItem(tr("Disabled"), mixxx::MultiSamplingMode::DISABLED);

Check failure on line 186 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 186 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'void QComboBox::addItem(const QString &,const QVariant &)': cannot convert argument 2 from 'mixxx::MultiSamplingMode' to 'const QVariant &'

Check failure on line 186 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

no matching member function for call to 'addItem'

Check failure on line 186 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

no matching member function for call to 'addItem'

Check failure on line 186 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 186 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

no matching member function for call to 'addItem'
mulitSamplingComboBox->addItem(tr("2x MSAA"), mixxx::MultiSamplingMode::TWO);

Check failure on line 187 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 187 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'void QComboBox::addItem(const QString &,const QVariant &)': cannot convert argument 2 from 'mixxx::MultiSamplingMode' to 'const QVariant &'

Check failure on line 187 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

no matching member function for call to 'addItem'

Check failure on line 187 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

no matching member function for call to 'addItem'

Check failure on line 187 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 187 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

no matching member function for call to 'addItem'
mulitSamplingComboBox->addItem(tr("4x MSAA"), mixxx::MultiSamplingMode::FOUR);

Check failure on line 188 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 188 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'void QComboBox::addItem(const QString &,const QVariant &)': cannot convert argument 2 from 'mixxx::MultiSamplingMode' to 'const QVariant &'

Check failure on line 188 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

no matching member function for call to 'addItem'

Check failure on line 188 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

no matching member function for call to 'addItem'

Check failure on line 188 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 188 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

no matching member function for call to 'addItem'
mulitSamplingComboBox->addItem(tr("8x MSAA"), mixxx::MultiSamplingMode::EIGHT);

Check failure on line 189 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 189 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'void QComboBox::addItem(const QString &,const QVariant &)': cannot convert argument 2 from 'mixxx::MultiSamplingMode' to 'const QVariant &'

Check failure on line 189 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

no matching member function for call to 'addItem'

Check failure on line 189 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

no matching member function for call to 'addItem'

Check failure on line 189 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 189 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

no matching member function for call to 'addItem'
mulitSamplingComboBox->addItem(tr("16x MSAA"), mixxx::MultiSamplingMode::SIXTEEN);

Check failure on line 190 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 190 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'void QComboBox::addItem(const QString &,const QVariant &)': cannot convert argument 2 from 'mixxx::MultiSamplingMode' to 'const QVariant &'

Check failure on line 190 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

no matching member function for call to 'addItem'

Check failure on line 190 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

no matching member function for call to 'addItem'

Check failure on line 190 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

no matching function for call to ‘QComboBox::addItem(QString, mixxx::MultiSamplingMode)’

Check failure on line 190 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

no matching member function for call to 'addItem'

m_multiSampling = m_pConfig->getValue(
ConfigKey(kPreferencesGroup, kMultiSamplingKey),
static_cast<int>(mixxx::MultiSamplingMode::FOUR));
int mulitSamplingIndex = mulitSamplingComboBox->findData(
static_cast<mixxx::MultiSamplingMode::>(m_multiSampling));

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

expected type-specifier

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

expected ‘>’

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

expected ‘(’

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

expected unqualified-id before ‘>’ token

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'>': illegal token on right side of '::'

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

syntax error: identifier 'm_multiSampling'

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

type name requires a specifier or qualifier

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

expected '>'

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

type name requires a specifier or qualifier

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

expected '>'

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

expected type-specifier

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

expected ‘>’

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

expected ‘(’

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

expected unqualified-id before ‘>’ token

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

type name requires a specifier or qualifier

Check failure on line 196 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

expected '>'
if (mulitSamplingIndex != -1) {
mulitSamplingComboBox->setCurrentIndex(mulitSamplingIndex);
} else {
mulitSamplingComboBox->setCurrentIndex(0);
m_pConfig->set(ConfigKey(kPreferencesGroup, kMultiSamplingKey), ConfigValue(0));
mulitSamplingComboBox->setCurrentIndex(0); // Disabled
m_pConfig->set(
ConfigKey(kPreferencesGroup, kMultiSamplingKey),
ConfigValue(0));
}
} else
#endif
Expand Down Expand Up @@ -326,7 +331,8 @@ void DlgPrefInterface::slotResetToDefaults() {
static_cast<int>(mixxx::ScreenSaverPreference::PREVENT_ON)));

#ifdef MIXXX_USE_QML
mulitSamplingComboBox->setCurrentIndex(4); // 4x MSAA
mulitSamplingComboBox->setCurrentIndex(mulitSamplingComboBox->findData(
static_cast<int>(mixxx::MultiSamplingMode::FOUR))); // 4x MSAA
#endif

#ifdef Q_OS_IOS
Expand Down Expand Up @@ -451,9 +457,8 @@ void DlgPrefInterface::slotApply() {
}

#ifdef MIXXX_USE_QML
int multiSampling = mulitSamplingComboBox->itemData(
mulitSamplingComboBox->currentIndex())
.toInt();
int multiSampling = static_cast<int>(mulitSamplingComboBox->itemData(

Check failure on line 460 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Ubuntu 22.04

invalid ‘static_cast’ from type ‘QVariant’ to type ‘int’

Check failure on line 460 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / Windows 2019 (MSVC)

'static_cast': cannot convert from 'QVariant' to 'int'

Check failure on line 460 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 x64

cannot convert 'QVariant' to 'int' without a conversion operator

Check failure on line 460 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / macOS 11 arm64

cannot convert 'QVariant' to 'int' without a conversion operator

Check failure on line 460 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / coverage

invalid ‘static_cast’ from type ‘QVariant’ to type ‘int’

Check failure on line 460 in src/preferences/dialog/dlgprefinterface.cpp

View workflow job for this annotation

GitHub Actions / clazy

cannot convert 'QVariant' to 'int' without a conversion operator
mulitSamplingComboBox->currentIndex()));
m_pConfig->set(ConfigKey(kPreferencesGroup, kMultiSamplingKey), ConfigValue(multiSampling));
#endif

Expand Down
5 changes: 4 additions & 1 deletion src/qml/qmlconfigproxy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include "moc_qmlconfigproxy.cpp"
#include "preferences/colorpalettesettings.h"
#include "preferences/constants.h"

namespace {
QVariantList paletteToQColorList(const ColorPalette& palette) {
Expand Down Expand Up @@ -36,7 +37,9 @@ QVariantList QmlConfigProxy::getTrackColorPalette() {
}

int QmlConfigProxy::getMultiSamplingLevel() {
return m_pConfig->getValue(ConfigKey(kPreferencesGroup, kMultiSamplingKey), 0);
return m_pConfig->getValue(
ConfigKey(kPreferencesGroup, kMultiSamplingKey),
static_cast<int>(mixxx::MultiSamplingMode::DISABLED));
}

// static
Expand Down

0 comments on commit 8962aa6

Please sign in to comment.