mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-08-03 14:18:45 +00:00
Merge pull request #690 from FrzMtrsprt/dark_border
Enable dark window border on Windows
This commit is contained in:
commit
c9919b3020
4 changed files with 54 additions and 0 deletions
|
@ -149,6 +149,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
set(QC_UTIL_SOURCES ${QC_UTIL_SOURCES}
|
set(QC_UTIL_SOURCES ${QC_UTIL_SOURCES}
|
||||||
util/mousetap/winmousetap.h
|
util/mousetap/winmousetap.h
|
||||||
util/mousetap/winmousetap.cpp
|
util/mousetap/winmousetap.cpp
|
||||||
|
util/winutils.h
|
||||||
|
util/winutils.cpp
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
#include "videoform.h"
|
#include "videoform.h"
|
||||||
#include "../groupcontroller/groupcontroller.h"
|
#include "../groupcontroller/groupcontroller.h"
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN32
|
||||||
|
#include "../util/winutils.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
QString s_keyMapPath = "";
|
QString s_keyMapPath = "";
|
||||||
|
|
||||||
const QString &getKeyMapPath()
|
const QString &getKeyMapPath()
|
||||||
|
@ -137,6 +141,10 @@ void Dialog::initUI()
|
||||||
|
|
||||||
setWindowTitle(Config::getInstance().getTitle());
|
setWindowTitle(Config::getInstance().getTitle());
|
||||||
|
|
||||||
|
#ifdef Q_OS_WIN32
|
||||||
|
WinUtils::setDarkBorderToWindow((HWND)this->winId(), true);
|
||||||
|
#endif
|
||||||
|
|
||||||
ui->bitRateEdit->setValidator(new QIntValidator(1, 99999, this));
|
ui->bitRateEdit->setValidator(new QIntValidator(1, 99999, this));
|
||||||
|
|
||||||
ui->maxSizeBox->addItem("640");
|
ui->maxSizeBox->addItem("640");
|
||||||
|
|
28
QtScrcpy/util/winutils.cpp
Normal file
28
QtScrcpy/util/winutils.cpp
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
#include <QDebug>
|
||||||
|
#include <Windows.h>
|
||||||
|
#include <dwmapi.h>
|
||||||
|
#pragma comment(lib, "dwmapi")
|
||||||
|
|
||||||
|
#include "winutils.h"
|
||||||
|
|
||||||
|
enum : WORD
|
||||||
|
{
|
||||||
|
DwmwaUseImmersiveDarkMode = 20,
|
||||||
|
DwmwaUseImmersiveDarkModeBefore20h1 = 19
|
||||||
|
};
|
||||||
|
|
||||||
|
WinUtils::WinUtils(){};
|
||||||
|
|
||||||
|
WinUtils::~WinUtils(){};
|
||||||
|
|
||||||
|
// Set dark border to window
|
||||||
|
// Reference: qt/qtbase.git/tree/src/plugins/platforms/windows/qwindowswindow.cpp
|
||||||
|
bool WinUtils::setDarkBorderToWindow(const HWND &hwnd, const bool &d)
|
||||||
|
{
|
||||||
|
const BOOL darkBorder = d ? TRUE : FALSE;
|
||||||
|
const bool ok = SUCCEEDED(DwmSetWindowAttribute(hwnd, DwmwaUseImmersiveDarkMode, &darkBorder, sizeof(darkBorder)))
|
||||||
|
|| SUCCEEDED(DwmSetWindowAttribute(hwnd, DwmwaUseImmersiveDarkModeBefore20h1, &darkBorder, sizeof(darkBorder)));
|
||||||
|
if (!ok)
|
||||||
|
qWarning("%s: Unable to set dark window border.", __FUNCTION__);
|
||||||
|
return ok;
|
||||||
|
}
|
16
QtScrcpy/util/winutils.h
Normal file
16
QtScrcpy/util/winutils.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef WINUTILS_H
|
||||||
|
#define WINUTILS_H
|
||||||
|
|
||||||
|
#include <QApplication>
|
||||||
|
#include <Windows.h>
|
||||||
|
|
||||||
|
class WinUtils
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WinUtils();
|
||||||
|
~WinUtils();
|
||||||
|
|
||||||
|
static bool setDarkBorderToWindow(const HWND &hwnd, const bool &d);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // WINUTILS_H
|
Loading…
Add table
Add a link
Reference in a new issue