summaryrefslogtreecommitdiffstats
path: root/src/preferences
diff options
context:
space:
mode:
authorronso0 <ronso0@mixxx.org>2021-06-05 10:30:40 +0200
committerronso0 <ronso0@mixxx.org>2021-06-05 10:30:40 +0200
commitca3a4ee05029585cd0aa867e8dc06c12dbfc599d (patch)
treedc7078d11214b629208653fe1fe6521d81b47fdc /src/preferences
parentba0eccdd068eccc30ae059985192a3f32168ba49 (diff)
parent6d47e5074b79873fa71a9a6fdbb1122ef5308602 (diff)
Merge remote-tracking branch 'mixxx/2.3' into main
Diffstat (limited to 'src/preferences')
-rw-r--r--src/preferences/dialog/dlgprefinterface.cpp21
-rw-r--r--src/preferences/dialog/dlgprefinterface.h1
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;