diff options
author | ronso0 <ronso0@mixxx.org> | 2021-06-05 10:30:40 +0200 |
---|---|---|
committer | ronso0 <ronso0@mixxx.org> | 2021-06-05 10:30:40 +0200 |
commit | ca3a4ee05029585cd0aa867e8dc06c12dbfc599d (patch) | |
tree | dc7078d11214b629208653fe1fe6521d81b47fdc /src/preferences | |
parent | ba0eccdd068eccc30ae059985192a3f32168ba49 (diff) | |
parent | 6d47e5074b79873fa71a9a6fdbb1122ef5308602 (diff) |
Merge remote-tracking branch 'mixxx/2.3' into main
Diffstat (limited to 'src/preferences')
-rw-r--r-- | src/preferences/dialog/dlgprefinterface.cpp | 21 | ||||
-rw-r--r-- | src/preferences/dialog/dlgprefinterface.h | 1 |
2 files changed, 19 insertions, 3 deletions
diff --git a/src/preferences/dialog/dlgprefinterface.cpp b/src/preferences/dialog/dlgprefinterface.cpp index 39a97d646c..d9b4b81683 100644 --- a/src/preferences/dialog/dlgprefinterface.cpp +++ b/src/preferences/dialog/dlgprefinterface.cpp @@ -36,10 +36,14 @@ DlgPrefInterface::DlgPrefInterface( m_dScaleFactorAuto(1.0), m_bUseAutoScaleFactor(false), m_dScaleFactor(1.0), + m_dDevicePixelRatio(1.0), m_bStartWithFullScreen(false), m_bRebootMixxxView(false) { setupUi(this); + // get the pixel ratio to display a crisp skin preview when Mixxx is scaled + m_dDevicePixelRatio = getDevicePixelRatioF(this); + VERIFY_OR_DEBUG_ASSERT(m_pSkin != nullptr) { qWarning() << "Skipping creation of DlgPrefInterface because there is no skin available."; return; @@ -126,7 +130,12 @@ DlgPrefInterface::DlgPrefInterface( ComboBoxSkinconf->setCurrentIndex(index); // schemes must be updated here to populate the drop-down box and set m_colorScheme slotUpdateSchemes(); - skinPreviewLabel->setPixmap(m_pSkin->preview(m_colorScheme)); + QPixmap preview = m_pSkin->preview(m_colorScheme); + preview.setDevicePixelRatio(m_dDevicePixelRatio); + skinPreviewLabel->setPixmap(preview.scaled( + QSize(640, 360) * m_dDevicePixelRatio, + Qt::KeepAspectRatio, + Qt::SmoothTransformation)); const auto* const pScreen = getScreen(); if (m_pSkin->fitsScreenSize(*pScreen)) { warningLabel->hide(); @@ -340,8 +349,11 @@ void DlgPrefInterface::slotSetScheme(int) { m_bRebootMixxxView = true; } QPixmap preview = m_pSkin->preview(m_colorScheme); + preview.setDevicePixelRatio(m_dDevicePixelRatio); skinPreviewLabel->setPixmap(preview.scaled( - QSize(640, 360), Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QSize(640, 360) * m_dDevicePixelRatio, + Qt::KeepAspectRatio, + Qt::SmoothTransformation)); } void DlgPrefInterface::slotSetSkinDescription() { @@ -375,8 +387,11 @@ void DlgPrefInterface::slotSetSkin(int) { slotUpdateSchemes(); slotSetSkinDescription(); QPixmap preview = m_pSkin->preview(m_colorScheme); + preview.setDevicePixelRatio(m_dDevicePixelRatio); skinPreviewLabel->setPixmap(preview.scaled( - QSize(640, 360), Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QSize(640, 360) * m_dDevicePixelRatio, + Qt::KeepAspectRatio, + Qt::SmoothTransformation)); } void DlgPrefInterface::slotApply() { diff --git a/src/preferences/dialog/dlgprefinterface.h b/src/preferences/dialog/dlgprefinterface.h index d7004d46ea..f12950bb28 100644 --- a/src/preferences/dialog/dlgprefinterface.h +++ b/src/preferences/dialog/dlgprefinterface.h @@ -72,6 +72,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; |