added gotToBottom and EnableNonClientDpiScaling
This commit is contained in:
@@ -1,12 +1,41 @@
|
||||
#include "application.hpp"
|
||||
|
||||
#include <QAbstractNativeEventFilter>
|
||||
#include <QApplication>
|
||||
#include <QDir>
|
||||
#include <QLibrary>
|
||||
#include <QStandardPaths>
|
||||
#include <pajlada/settings/settingmanager.hpp>
|
||||
|
||||
#ifdef USEWINSDK
|
||||
#include "windows.h"
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
#ifdef USEWINSDK
|
||||
class DpiNativeEventFilter : public QAbstractNativeEventFilter
|
||||
{
|
||||
public:
|
||||
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) override
|
||||
{
|
||||
MSG *msg = reinterpret_cast<MSG *>(message);
|
||||
|
||||
if (msg->message == WM_NCCREATE) {
|
||||
typedef BOOL(WINAPI * EnableNonClientDpiScaling)(HWND);
|
||||
QLibrary user32("user32.dll", NULL);
|
||||
|
||||
EnableNonClientDpiScaling enableNonClientDpiScaling =
|
||||
(EnableNonClientDpiScaling)user32.resolve("EnableNonClientDpiScaling");
|
||||
|
||||
if (enableNonClientDpiScaling)
|
||||
enableNonClientDpiScaling(msg->hwnd);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
inline bool initSettings(bool portable)
|
||||
{
|
||||
QString settingsPath;
|
||||
@@ -38,6 +67,10 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
|
||||
#ifdef USEWINSDK
|
||||
a.installNativeEventFilter(new DpiNativeEventFilter);
|
||||
#endif
|
||||
|
||||
a.setAttribute(Qt::AA_EnableHighDpiScaling, true);
|
||||
|
||||
// Options
|
||||
|
||||
Reference in New Issue
Block a user