From 90ad8d281ad5f639943a1adfb2fa8b5c01e7abf0 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Wed, 30 Mar 2022 13:16:19 +0800 Subject: [PATCH] little simplify Signed-off-by: Yuhang Zhao <2546789017@qq.com> --- CMakeLists.txt | 2 ++ examples/CMakeLists.txt | 4 ++-- examples/mainwindow/main.cpp | 7 +------ examples/quick/main.cpp | 7 +------ examples/widget/main.cpp | 7 +------ .../FramelessHelper/Core/framelesshelpercore_global.h | 5 ++++- src/CMakeLists.txt | 4 ++-- src/core/framelesswindowsmanager.cpp | 9 +++++---- src/widgets/framelesswidgetshelper.cpp | 2 +- 9 files changed, 19 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6ef113..591377d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,8 @@ project(FramelessHelper ) option(FRAMELESSHELPER_BUILD_STATIC "Build FramelessHelper as a static library." OFF) +option(FRAMELESSHELPER_BUILD_WIDGETS "Build FramelessHelper's Widgets module." ON) +option(FRAMELESSHELPER_BUILD_QUICK "Build FramelessHelper's Quick module." ON) option(FRAMELESSHELPER_BUILD_EXAMPLES "Build FramelessHelper demo applications." ON) if(NOT DEFINED CMAKE_BUILD_TYPE) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 10247f8..4990abe 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,8 +1,8 @@ -if(TARGET Qt${QT_VERSION_MAJOR}::Widgets) +if(FRAMELESSHELPER_BUILD_WIDGETS AND TARGET Qt${QT_VERSION_MAJOR}::Widgets) add_subdirectory(widget) add_subdirectory(mainwindow) endif() -if(TARGET Qt${QT_VERSION_MAJOR}::Quick) +if(FRAMELESSHELPER_BUILD_QUICK AND TARGET Qt${QT_VERSION_MAJOR}::Quick) add_subdirectory(quick) endif() diff --git a/examples/mainwindow/main.cpp b/examples/mainwindow/main.cpp index 361f5bd..1f4e6b3 100644 --- a/examples/mainwindow/main.cpp +++ b/examples/mainwindow/main.cpp @@ -23,16 +23,13 @@ */ #include -#include #include "mainwindow.h" FRAMELESSHELPER_USE_NAMESPACE int main(int argc, char *argv[]) { -#ifdef Q_OS_WINDOWS - Utils::tryToEnableHighestDpiAwarenessLevel(); -#endif + FramelessHelper::Core::initialize(); #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); @@ -42,8 +39,6 @@ int main(int argc, char *argv[]) QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Round); #endif - FramelessHelperEarlyInitialize(); - QApplication application(argc, argv); MainWindow mainWindow; diff --git a/examples/quick/main.cpp b/examples/quick/main.cpp index e6c7501..f65b44e 100644 --- a/examples/quick/main.cpp +++ b/examples/quick/main.cpp @@ -27,15 +27,12 @@ #include #include #include -#include FRAMELESSHELPER_USE_NAMESPACE int main(int argc, char *argv[]) { -#ifdef Q_OS_WINDOWS - Utils::tryToEnableHighestDpiAwarenessLevel(); -#endif + FramelessHelper::Core::initialize(); #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); @@ -45,8 +42,6 @@ int main(int argc, char *argv[]) QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Round); #endif - FramelessHelperEarlyInitialize(); - QGuiApplication application(argc, argv); #ifdef Q_OS_WINDOWS diff --git a/examples/widget/main.cpp b/examples/widget/main.cpp index 1afa095..fd0a061 100644 --- a/examples/widget/main.cpp +++ b/examples/widget/main.cpp @@ -23,16 +23,13 @@ */ #include -#include #include "widget.h" FRAMELESSHELPER_USE_NAMESPACE int main(int argc, char *argv[]) { -#ifdef Q_OS_WINDOWS - Utils::tryToEnableHighestDpiAwarenessLevel(); -#endif + FramelessHelper::Core::initialize(); #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); @@ -42,8 +39,6 @@ int main(int argc, char *argv[]) QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Round); #endif - FramelessHelperEarlyInitialize(); - QApplication application(argc, argv); Widget widget; diff --git a/include/FramelessHelper/Core/framelesshelpercore_global.h b/include/FramelessHelper/Core/framelesshelpercore_global.h index 95b4774..ad32361 100644 --- a/include/FramelessHelper/Core/framelesshelpercore_global.h +++ b/include/FramelessHelper/Core/framelesshelpercore_global.h @@ -116,7 +116,10 @@ using NATIVE_EVENT_RESULT_TYPE = long; FRAMELESSHELPER_BEGIN_NAMESPACE -FRAMELESSHELPER_CORE_API void FramelessHelperEarlyInitialize(); +namespace FramelessHelper::Core +{ +FRAMELESSHELPER_CORE_API void initialize(); +} namespace Global { diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8a8665e..6ac9fd5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,9 +1,9 @@ add_subdirectory(core) -if(TARGET Qt${QT_VERSION_MAJOR}::Widgets) +if(FRAMELESSHELPER_BUILD_WIDGETS AND TARGET Qt${QT_VERSION_MAJOR}::Widgets) add_subdirectory(widgets) endif() -if(TARGET Qt${QT_VERSION_MAJOR}::Quick) +if(FRAMELESSHELPER_BUILD_QUICK AND TARGET Qt${QT_VERSION_MAJOR}::Quick) add_subdirectory(quick) endif() diff --git a/src/core/framelesswindowsmanager.cpp b/src/core/framelesswindowsmanager.cpp index 39a6720..3dab79b 100644 --- a/src/core/framelesswindowsmanager.cpp +++ b/src/core/framelesswindowsmanager.cpp @@ -131,16 +131,17 @@ void FramelessWindowsManager::addWindow(const UserSettings &settings, const Syst #endif } -void FramelessHelperEarlyInitialize() +void FramelessHelper::Core::initialize() { static bool inited = false; if (inited) { return; } inited = true; - if (!QCoreApplication::testAttribute(Qt::AA_DontCreateNativeWidgetSiblings)) { - QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); - } +#ifdef Q_OS_WINDOWS + Utils::tryToEnableHighestDpiAwarenessLevel(); +#endif + QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); qRegisterMetaType(); qRegisterMetaType(); } diff --git a/src/widgets/framelesswidgetshelper.cpp b/src/widgets/framelesswidgetshelper.cpp index b057c28..9414d07 100644 --- a/src/widgets/framelesswidgetshelper.cpp +++ b/src/widgets/framelesswidgetshelper.cpp @@ -256,7 +256,7 @@ void FramelessWidgetsHelper::paintEventHandler(QPaintEvent *event) pen.setColor(Utils::getFrameBorderColor(q->isActiveWindow())); pen.setWidth(1); painter.setPen(pen); - painter.drawLine(0, 0, q->width()-1, 0); + painter.drawLine(0, 0, (q->width() - 1), 0); painter.restore(); }