summaryrefslogtreecommitdiffstats
path: root/src/preferences
diff options
context:
space:
mode:
authorronso0 <ronso0@mixxx.org>2021-06-04 03:11:38 +0200
committerronso0 <ronso0@mixxx.org>2021-06-04 17:54:51 +0200
commit1bdb590a028b5b63daf7ed036854cac4d8bc66e5 (patch)
tree9464f969c5b1ee8469eb63fdbfde5a4a075bccc1 /src/preferences
parent9e7e0c706609de92cd908decde7a3348d952b201 (diff)
skin preview: consider devicePixelRation when scaling
Diffstat (limited to 'src/preferences')
-rw-r--r--src/preferences/dialog/dlgprefinterface.cpp40
-rw-r--r--src/preferences/dialog/dlgprefinterface.h1
2 files changed, 26 insertions, 15 deletions
diff --git a/src/preferences/dialog/dlgprefinterface.cpp b/src/preferences/dialog/dlgprefinterface.cpp
index d78d1f2a39..34613489cb 100644
--- a/src/preferences/dialog/dlgprefinterface.cpp
+++ b/src/preferences/dialog/dlgprefinterface.cpp
@@ -59,18 +59,20 @@ bool skinFitsScreenSize(
} // namespace
-DlgPrefInterface::DlgPrefInterface(QWidget * parent, MixxxMainWindow * mixxx,
- SkinLoader* pSkinLoader,
- UserSettingsPointer pConfig)
- : DlgPreferencePage(parent),
- m_pConfig(pConfig),
- m_mixxx(mixxx),
- m_pSkinLoader(pSkinLoader),
- m_dScaleFactorAuto(1.0),
- m_bUseAutoScaleFactor(false),
- m_dScaleFactor(1.0),
- m_bStartWithFullScreen(false),
- m_bRebootMixxxView(false) {
+DlgPrefInterface::DlgPrefInterface(QWidget* parent,
+ MixxxMainWindow* mixxx,
+ SkinLoader* pSkinLoader,
+ UserSettingsPointer pConfig)
+ : DlgPreferencePage(parent),
+ m_pConfig(pConfig),
+ m_mixxx(mixxx),
+ m_pSkinLoader(pSkinLoader),
+ m_dScaleFactorAuto(1.0),
+ m_bUseAutoScaleFactor(false),
+ m_dScaleFactor(1.0),
+ m_dDevicePixelRatio(1.0),
+ m_bStartWithFullScreen(false),
+ m_bRebootMixxxView(false) {
setupUi(this);
// Locale setting
@@ -150,6 +152,8 @@ DlgPrefInterface::DlgPrefInterface(QWidget * parent, MixxxMainWindow * mixxx,
skins.append(dir.entryInfoList());
}
+ m_dDevicePixelRatio = getDevicePixelRatioF(this);
+
QString configuredSkinPath = m_pSkinLoader->getConfiguredSkinPath();
int index = 0;
const auto* const pScreen = getScreen();
@@ -161,7 +165,9 @@ DlgPrefInterface::DlgPrefInterface(QWidget * parent, MixxxMainWindow * mixxx,
ComboBoxSkinconf->setCurrentIndex(index);
// schemes must be updated here to populate the drop-down box and set m_colorScheme
slotUpdateSchemes();
- skinPreviewLabel->setPixmap(m_pSkinLoader->getSkinPreview(m_skin, m_colorScheme));
+ skinPreviewLabel->setPixmap(m_pSkinLoader->getSkinPreview(m_skin,
+ m_colorScheme,
+ m_dDevicePixelRatio));
if (skinFitsScreenSize(*pScreen, configuredSkinPath)) {
warningLabel->hide();
} else {
@@ -373,7 +379,9 @@ void DlgPrefInterface::slotSetScheme(int) {
m_colorScheme = newScheme;
m_bRebootMixxxView = true;
}
- skinPreviewLabel->setPixmap(m_pSkinLoader->getSkinPreview(m_skin, m_colorScheme));
+ skinPreviewLabel->setPixmap(m_pSkinLoader->getSkinPreview(m_skin,
+ m_colorScheme,
+ m_dDevicePixelRatio));
}
void DlgPrefInterface::slotSetSkinDescription(const QString& skin) {
@@ -404,7 +412,9 @@ void DlgPrefInterface::slotSetSkin(int) {
slotSetSkinDescription(m_skin);
}
- skinPreviewLabel->setPixmap(m_pSkinLoader->getSkinPreview(newSkin, m_colorScheme));
+ skinPreviewLabel->setPixmap(m_pSkinLoader->getSkinPreview(newSkin,
+ m_colorScheme,
+ m_dDevicePixelRatio));
}
void DlgPrefInterface::slotApply() {
diff --git a/src/preferences/dialog/dlgprefinterface.h b/src/preferences/dialog/dlgprefinterface.h
index 0b635abc92..f98ac83918 100644
--- a/src/preferences/dialog/dlgprefinterface.h
+++ b/src/preferences/dialog/dlgprefinterface.h
@@ -59,6 +59,7 @@ class DlgPrefInterface : public DlgPreferencePage, public Ui::DlgPrefControlsDlg
double m_dScaleFactorAuto;
bool m_bUseAutoScaleFactor;
double m_dScaleFactor;
+ double m_dDevicePixelRatio;
bool m_bStartWithFullScreen;
mixxx::ScreenSaverPreference m_screensaverMode;