qml: Implemented QWidgetAdapter::setFlag
FloatingWindow is frameless now.
This commit is contained in:
@@ -40,5 +40,6 @@ void FloatingWindowQuick::init()
|
||||
{
|
||||
m_quickWindow->setResizeMode(QQuickView::SizeViewToRootObject);
|
||||
QWidgetAdapter::setParent(m_quickWindow->contentItem());
|
||||
m_quickWindow->setFlags(windowFlags());
|
||||
m_quickWindow->show();
|
||||
}
|
||||
|
||||
@@ -27,8 +27,9 @@
|
||||
|
||||
using namespace KDDockWidgets;
|
||||
|
||||
QWidgetAdapter::QWidgetAdapter(QQuickItem *parent, Qt::WindowFlags)
|
||||
QWidgetAdapter::QWidgetAdapter(QQuickItem *parent, Qt::WindowFlags flags)
|
||||
: QQuickItem(parent)
|
||||
, m_requestedWindowFlags(flags)
|
||||
{
|
||||
this->setParent(parent); // also set parentItem
|
||||
|
||||
@@ -179,12 +180,25 @@ QSize QWidgetAdapter::sizeHint() const
|
||||
return {};
|
||||
}
|
||||
|
||||
Qt::WindowFlags QWidgetAdapter::windowFlags() const
|
||||
{
|
||||
if (QWindow *w = windowHandle())
|
||||
return w->flags();
|
||||
|
||||
return m_requestedWindowFlags;
|
||||
}
|
||||
|
||||
void QWidgetAdapter::setFlag(Qt::WindowType f, bool on)
|
||||
{
|
||||
if (auto w = windowHandle()) {
|
||||
if (QWindow *w = windowHandle()) {
|
||||
w->setFlag(f, on);
|
||||
} else {
|
||||
qWarning() << Q_FUNC_INFO << "Implement me";
|
||||
// When we create a QWindow we'll set these
|
||||
if (on) {
|
||||
m_requestedWindowFlags |= f;
|
||||
} else {
|
||||
m_requestedWindowFlags &= ~f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -123,6 +123,8 @@ public:
|
||||
QSizePolicy sizePolicy() const;
|
||||
QSize sizeHint() const;
|
||||
|
||||
Qt::WindowFlags windowFlags() const;
|
||||
|
||||
protected:
|
||||
void raiseAndActivate();
|
||||
|
||||
@@ -135,6 +137,7 @@ protected:
|
||||
private:
|
||||
QSize m_minimumSize = {KDDOCKWIDGETS_MIN_WIDTH, KDDOCKWIDGETS_MIN_HEIGHT};
|
||||
QSize m_maximumSize = {KDDOCKWIDGETS_MAX_WIDTH, KDDOCKWIDGETS_MAX_HEIGHT};
|
||||
Qt::WindowFlags m_requestedWindowFlags;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user