Add support for aero-snap
This commit is contained in:
@@ -120,7 +120,9 @@ void StateNone::onEntry(QEvent *)
|
||||
|
||||
bool StateNone::handleMouseButtonPress(Draggable *draggable, QPoint globalPos, QPoint pos)
|
||||
{
|
||||
qCDebug(state) << "StateNone::handleMouseButtonPress: draggable" << draggable << "; globalPos" << globalPos;
|
||||
qCDebug(state) << "StateNone::handleMouseButtonPress: draggable"
|
||||
<< draggable << "; globalPos" << globalPos
|
||||
<< draggable->asWidget();
|
||||
|
||||
q->m_draggable = draggable;
|
||||
q->m_pressPos = globalPos;
|
||||
|
||||
@@ -40,7 +40,7 @@ static int s_dbg_numFloatingWindows = 0;
|
||||
using namespace KDDockWidgets;
|
||||
|
||||
FloatingWindow::FloatingWindow(QWidget *parent)
|
||||
: QWidget(parent, Qt::Tool)
|
||||
: QWidget(parent, KDDockWidgets::supportsAeroSnap() ? Qt::Window : Qt::Tool)
|
||||
, Draggable(this)
|
||||
, m_titleBar(new TitleBar(this))
|
||||
, m_vlayout(new QVBoxLayout(this))
|
||||
@@ -118,14 +118,13 @@ bool FloatingWindow::nativeEvent(const QByteArray &eventType, void *message, lon
|
||||
|
||||
void FloatingWindow::maybeCreateResizeHandler()
|
||||
{
|
||||
if (!KDDockWidgets::supportsNativeTitleBar()) {
|
||||
#if !defined(Q_OS_WIN)
|
||||
if (!KDDockWidgets::supportsNativeTitleBar() && !KDDockWidgets::supportsAeroSnap()) {
|
||||
setWindowFlag(Qt::FramelessWindowHint, true);
|
||||
setWidgetResizeHandler(new WidgetResizeHandler(this));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
std::unique_ptr<WindowBeingDragged> FloatingWindow::makeWindow()
|
||||
{
|
||||
return std::unique_ptr<WindowBeingDragged>(new WindowBeingDragged(this));
|
||||
|
||||
@@ -44,6 +44,15 @@ inline bool supportsNativeTitleBar()
|
||||
#endif
|
||||
}
|
||||
|
||||
inline bool supportsAeroSnap()
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
return false; // Change here to enable it
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
inline bool windowManagerSupportsTranslucency()
|
||||
{
|
||||
#ifdef QT_X11EXTRAS_LIB
|
||||
|
||||
Reference in New Issue
Block a user