Simplify code
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
parent
2823cbe34a
commit
6adbefa814
|
@ -635,17 +635,7 @@ bool FramelessHelperWin::nativeEventFilter(const QByteArray &eventType, void *me
|
||||||
const int factor = (isTop || isBottom) ? 2 : 1;
|
const int factor = (isTop || isBottom) ? 2 : 1;
|
||||||
const bool isLeft = (localMouse.x() <= (bw * factor));
|
const bool isLeft = (localMouse.x() <= (bw * factor));
|
||||||
const bool isRight = (localMouse.x() >= (ww - (bw * factor)));
|
const bool isRight = (localMouse.x() >= (ww - (bw * factor)));
|
||||||
const bool fixedSize = [window] {
|
const bool fixedSize = Utilities::isWindowFixedSize(window);
|
||||||
if (window->flags().testFlag(Qt::MSWindowsFixedSizeDialogHint)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
const QSize minSize = window->minimumSize();
|
|
||||||
const QSize maxSize = window->maximumSize();
|
|
||||||
if (!minSize.isEmpty() && !maxSize.isEmpty() && minSize == maxSize) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}();
|
|
||||||
const auto getBorderValue = [fixedSize](int value) -> int {
|
const auto getBorderValue = [fixedSize](int value) -> int {
|
||||||
// HTBORDER: non-resizable window border.
|
// HTBORDER: non-resizable window border.
|
||||||
return fixedSize ? HTBORDER : value;
|
return fixedSize ? HTBORDER : value;
|
||||||
|
|
|
@ -163,15 +163,7 @@ bool FramelessWindowsManager::getResizable(const QWindow *window)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#ifdef Q_OS_WINDOWS
|
#ifdef Q_OS_WINDOWS
|
||||||
if (window->flags().testFlag(Qt::MSWindowsFixedSizeDialogHint)) {
|
return Utilities::isWindowFixedSize(window);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
const QSize minSize = window->minimumSize();
|
|
||||||
const QSize maxSize = window->maximumSize();
|
|
||||||
if (!minSize.isEmpty() && !maxSize.isEmpty() && minSize == maxSize) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
#else
|
#else
|
||||||
return framelessHelper()->getResizable(window);
|
return framelessHelper()->getResizable(window);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -402,3 +402,22 @@ bool Utilities::shouldUseNativeTitleBar()
|
||||||
{
|
{
|
||||||
return qEnvironmentVariableIsSet(_flh_global::_flh_useNativeTitleBar_flag);
|
return qEnvironmentVariableIsSet(_flh_global::_flh_useNativeTitleBar_flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Utilities::isWindowFixedSize(const QWindow *window)
|
||||||
|
{
|
||||||
|
Q_ASSERT(window);
|
||||||
|
if (!window) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#ifdef Q_OS_WINDOWS
|
||||||
|
if (window->flags().testFlag(Qt::MSWindowsFixedSizeDialogHint)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
const QSize minSize = window->minimumSize();
|
||||||
|
const QSize maxSize = window->maximumSize();
|
||||||
|
if (!minSize.isEmpty() && !maxSize.isEmpty() && (minSize == maxSize)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
|
@ -73,6 +73,8 @@ FRAMELESSHELPER_EXPORT bool forceEnableTraditionalBlur();
|
||||||
FRAMELESSHELPER_EXPORT bool forceDisableWallpaperBlur();
|
FRAMELESSHELPER_EXPORT bool forceDisableWallpaperBlur();
|
||||||
FRAMELESSHELPER_EXPORT bool shouldUseNativeTitleBar();
|
FRAMELESSHELPER_EXPORT bool shouldUseNativeTitleBar();
|
||||||
|
|
||||||
|
FRAMELESSHELPER_EXPORT bool isWindowFixedSize(const QWindow *window);
|
||||||
|
|
||||||
#ifdef Q_OS_WINDOWS
|
#ifdef Q_OS_WINDOWS
|
||||||
// Windows specific
|
// Windows specific
|
||||||
FRAMELESSHELPER_EXPORT bool isWin7OrGreater();
|
FRAMELESSHELPER_EXPORT bool isWin7OrGreater();
|
||||||
|
|
|
@ -752,17 +752,7 @@ void Utilities::displaySystemMenu(const QWindow *window, const QPoint &pos)
|
||||||
return (window->windowState() == Qt::WindowFullScreen);
|
return (window->windowState() == Qt::WindowFullScreen);
|
||||||
}();
|
}();
|
||||||
const bool isNormal = !isMin && !isMax && !isFull;
|
const bool isNormal = !isMin && !isMax && !isFull;
|
||||||
const auto isFix = [window]{
|
const bool isFix = isWindowFixedSize(window);
|
||||||
if (window->flags().testFlag(Qt::MSWindowsFixedSizeDialogHint)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
const QSize minSize = window->minimumSize();
|
|
||||||
const QSize maxSize = window->maximumSize();
|
|
||||||
if (!minSize.isEmpty() && !maxSize.isEmpty() && (minSize == maxSize)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}();
|
|
||||||
if (isFix || isMax || isFull) {
|
if (isFix || isMax || isFull) {
|
||||||
SetMenuItemInfoW(hMenu, SC_SIZE, FALSE, &mii);
|
SetMenuItemInfoW(hMenu, SC_SIZE, FALSE, &mii);
|
||||||
SetMenuItemInfoW(hMenu, SC_MAXIMIZE, FALSE, &mii);
|
SetMenuItemInfoW(hMenu, SC_MAXIMIZE, FALSE, &mii);
|
||||||
|
|
Loading…
Reference in New Issue