forked from github_mirror/framelesshelper
fix multiple issues found by user
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
parent
ac9a05209e
commit
c0ce7b0f48
|
@ -56,15 +56,14 @@ win32 {
|
|||
$$CORE_SRC_DIR/utils_win.cpp \
|
||||
$$CORE_SRC_DIR/registrykey.cpp \
|
||||
$$CORE_SRC_DIR/winverhelper.cpp
|
||||
LIBS += -luser32 -lgdi32
|
||||
LIBS += -luser32 -lgdi32 -lshell32
|
||||
}
|
||||
|
||||
unix:!macx {
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += gtk+-3.0
|
||||
PKGCONFIG += gtk+-3.0 xcb
|
||||
DEFINES += GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6
|
||||
SOURCES += $$CORE_SRC_DIR/utils_linux.cpp
|
||||
#LIBS += -lxcb # TODO
|
||||
}
|
||||
|
||||
macx {
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include <QtGui/qwindow.h>
|
||||
#include <QtGui/qpalette.h>
|
||||
#include <QtWidgets/qwidget.h>
|
||||
#include <QtWidgets/qapplication.h>
|
||||
#include <framelessmanager.h>
|
||||
#include <framelessconfig_p.h>
|
||||
#include <utils.h>
|
||||
|
@ -552,7 +553,7 @@ bool FramelessWidgetsHelperPrivate::isInSystemButtons(const QPoint &pos, SystemB
|
|||
return false;
|
||||
}
|
||||
|
||||
bool FramelessWidgetsHelperPrivate::isInTitleBarDraggableArea(const QPoint &pos) const
|
||||
bool FramelessWidgetsHelperPrivate::isInTitleBarDraggableArea(const QPoint &localPos) const
|
||||
{
|
||||
const WidgetsHelperData data = getWindowData();
|
||||
if (!data.titleBarWidget) {
|
||||
|
@ -597,7 +598,14 @@ bool FramelessWidgetsHelperPrivate::isInTitleBarDraggableArea(const QPoint &pos)
|
|||
}
|
||||
}
|
||||
}
|
||||
return region.contains(pos);
|
||||
if (!region.contains(localPos)) {
|
||||
return false;
|
||||
}
|
||||
const QPoint globalPos = m_window->mapToGlobal(localPos);
|
||||
// Don't move the window if the user is dragging something above the title bar widget,
|
||||
// according to the Qt documentation, QApplication::widgetAt() can be slow, but we really
|
||||
// can't avoid calling it here.
|
||||
return (QApplication::widgetAt(globalPos) == data.titleBarWidget);
|
||||
}
|
||||
|
||||
bool FramelessWidgetsHelperPrivate::shouldIgnoreMouseEvents(const QPoint &pos) const
|
||||
|
|
Loading…
Reference in New Issue