diff options
author | ronso0 <ronso0@mixxx.org> | 2021-06-04 03:11:38 +0200 |
---|---|---|
committer | ronso0 <ronso0@mixxx.org> | 2021-06-04 17:54:51 +0200 |
commit | 1bdb590a028b5b63daf7ed036854cac4d8bc66e5 (patch) | |
tree | 9464f969c5b1ee8469eb63fdbfde5a4a075bccc1 /src/preferences | |
parent | 9e7e0c706609de92cd908decde7a3348d952b201 (diff) |
skin preview: consider devicePixelRation when scaling
Diffstat (limited to 'src/preferences')
-rw-r--r-- | src/preferences/dialog/dlgprefinterface.cpp | 40 | ||||
-rw-r--r-- | src/preferences/dialog/dlgprefinterface.h | 1 |
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; |