forked from github_mirror/framelesshelper
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 bool isLeft = (localMouse.x() <= (bw * factor));
|
||||
const bool isRight = (localMouse.x() >= (ww - (bw * factor)));
|
||||
const bool fixedSize = [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 bool fixedSize = Utilities::isWindowFixedSize(window);
|
||||
const auto getBorderValue = [fixedSize](int value) -> int {
|
||||
// HTBORDER: non-resizable window border.
|
||||
return fixedSize ? HTBORDER : value;
|
||||
|
|
|
@ -163,15 +163,7 @@ bool FramelessWindowsManager::getResizable(const QWindow *window)
|
|||
return false;
|
||||
}
|
||||
#ifdef Q_OS_WINDOWS
|
||||
if (window->flags().testFlag(Qt::MSWindowsFixedSizeDialogHint)) {
|
||||
return false;
|
||||
}
|
||||
const QSize minSize = window->minimumSize();
|
||||
const QSize maxSize = window->maximumSize();
|
||||
if (!minSize.isEmpty() && !maxSize.isEmpty() && minSize == maxSize) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return Utilities::isWindowFixedSize(window);
|
||||
#else
|
||||
return framelessHelper()->getResizable(window);
|
||||
#endif
|
||||
|
|
|
@ -402,3 +402,22 @@ bool Utilities::shouldUseNativeTitleBar()
|
|||
{
|
||||
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 shouldUseNativeTitleBar();
|
||||
|
||||
FRAMELESSHELPER_EXPORT bool isWindowFixedSize(const QWindow *window);
|
||||
|
||||
#ifdef Q_OS_WINDOWS
|
||||
// Windows specific
|
||||
FRAMELESSHELPER_EXPORT bool isWin7OrGreater();
|
||||
|
|
|
@ -752,17 +752,7 @@ void Utilities::displaySystemMenu(const QWindow *window, const QPoint &pos)
|
|||
return (window->windowState() == Qt::WindowFullScreen);
|
||||
}();
|
||||
const bool isNormal = !isMin && !isMax && !isFull;
|
||||
const auto isFix = [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 bool isFix = isWindowFixedSize(window);
|
||||
if (isFix || isMax || isFull) {
|
||||
SetMenuItemInfoW(hMenu, SC_SIZE, FALSE, &mii);
|
||||
SetMenuItemInfoW(hMenu, SC_MAXIMIZE, FALSE, &mii);
|
||||
|
|
Loading…
Reference in New Issue