Correct scaling on Linux and other minor fixes

* Fixes #5081 - Initialize MessageWidget::m_animate prior to use

* Fixes #5021 - Don't change tray icon type with unfocused mouse wheel

* Fixes #5029 - Only use HighDpiScaleFactorRoundingPolicy::PassThrough on Windows platforms. Prevents significant scaling bugs on Linux. MacOS does not support fractional scaling.
This commit is contained in:
Jonathan White 2020-07-14 18:34:14 -04:00
parent 0aa029d548
commit 9042ef7557
No known key found for this signature in database
GPG Key ID: 440FC65F2E0C6E01
5 changed files with 10 additions and 3 deletions

View File

@ -126,6 +126,7 @@ ApplicationSettingsWidget::ApplicationSettingsWidget(QWidget* parent)
m_generalUi->faviconTimeoutSpinBox->installEventFilter(mouseWheelFilter);
m_generalUi->toolButtonStyleComboBox->installEventFilter(mouseWheelFilter);
m_generalUi->languageComboBox->installEventFilter(mouseWheelFilter);
m_generalUi->trayIconAppearance->installEventFilter(mouseWheelFilter);
#ifdef WITH_XC_UPDATECHECK
connect(m_generalUi->checkForUpdatesOnStartupCheckBox, SIGNAL(toggled(bool)), SLOT(checkUpdatesToggled(bool)));

View File

@ -626,6 +626,12 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="accessibleName">
<string>Tray icon type</string>
</property>
</widget>
</item>
<item row="0" column="1">

View File

@ -103,4 +103,4 @@ void MessageWidget::openHttpUrl(const QString& link)
if (link.startsWith("http://") || link.startsWith("https://")) {
QDesktopServices::openUrl(QUrl(link));
}
}
}

View File

@ -52,7 +52,7 @@ public slots:
private:
QTimer* m_autoHideTimer;
int m_autoHideTimeout;
bool m_animate;
bool m_animate = true;
};
#endif // MESSAGEWIDGET_H

View File

@ -52,7 +52,7 @@ int main(int argc, char** argv)
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) && defined(Q_OS_WIN)
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
#endif