qtquick: Remove unneeded code

This commit is contained in:
Sergio Martins
2020-11-25 20:07:08 +00:00
parent bc3278b218
commit f87d67dd59
4 changed files with 50 additions and 13 deletions

View File

@@ -26,17 +26,53 @@ namespace KDDockWidgets {
class QuickView : public QQuickView
{
using QQuickView::QQuickView;
public:
explicit QuickView(QQuickItem *floatingWindow)
: QQuickView(Config::self().qmlEngine(), nullptr)
, m_floatingWindow(floatingWindow)
{
updateSize();
connect(m_floatingWindow, &QQuickItem::widthChanged, this, &QuickView::onRootItemWidthChanged);
connect(m_floatingWindow, &QQuickItem::heightChanged, this, &QuickView::onRootItemHeightChanged);
}
bool event(QEvent *ev) override
{
if (ev->type() == QEvent::FocusAboutToChange) {
// qquickwindow.cpp::event(FocusAboutToChange) removes the item grabber. Inibit that
return true;
} else if (ev->type() == QEvent::Resize) {
updateRootItemSize();
}
return QQuickView::event(ev);
}
void onRootItemWidthChanged()
{
setWidth(int(m_floatingWindow->width()));
}
void onRootItemHeightChanged()
{
setHeight(int(m_floatingWindow->height()));
}
void updateSize()
{
resize(m_floatingWindow->size().toSize());
// contentItem()->setSize(size()); // TODO: Needed ?
}
void updateRootItemSize()
{
m_floatingWindow->setSize(size());
}
QQuickItem *const m_floatingWindow;
};
}
@@ -44,14 +80,14 @@ class QuickView : public QQuickView
FloatingWindowQuick::FloatingWindowQuick(MainWindowBase *parent)
: FloatingWindow(parent)
, m_quickWindow(new QuickView(Config::self().qmlEngine(), nullptr))
, m_quickWindow(new QuickView(this))
{
init();
}
FloatingWindowQuick::FloatingWindowQuick(Frame *frame, MainWindowBase *parent)
: FloatingWindow(frame, parent)
, m_quickWindow(new QuickView(Config::self().qmlEngine(), nullptr))
, m_quickWindow(new QuickView(this))
{
init();
}
@@ -106,9 +142,6 @@ void FloatingWindowQuick::init()
qDebug() << "Focus object changed to " << object << this << m_quickWindow;
});*/
const QSize minSize = minimumSize();
m_quickWindow->resize(minSize);
m_quickWindow->contentItem()->setSize(minSize);
if (QWindow *transientParent = candidateParentWindow()) {
m_quickWindow->setTransientParent(candidateParentWindow());
@@ -121,9 +154,6 @@ void FloatingWindowQuick::init()
}
QWidgetAdapter::setParent(m_quickWindow->contentItem());
QWidgetAdapter::makeItemFillParent(this);
m_quickWindow->setResizeMode(QQuickView::SizeViewToRootObject);
QQuickItem *visualItem = createItem(Config::self().qmlEngine(), QStringLiteral("qrc:/kddockwidgets/private/quick/qml/FloatingWindow.qml"));
Q_ASSERT(visualItem);
@@ -131,5 +161,6 @@ void FloatingWindowQuick::init()
visualItem->setParentItem(this);
m_quickWindow->setFlags(windowFlags());
m_quickWindow->show();
}

View File

@@ -14,7 +14,7 @@
#include "FloatingWindow_p.h"
#include <QQuickView>
class QQuickView;
namespace KDDockWidgets {

View File

@@ -61,6 +61,10 @@ Rectangle {
}
onHeightChanged: {
//console.log("FloatingWindow.qml.root height changed to " + height)
// console.log("FloatingWindow.qml.root height changed to " + height)
}
onWidthChanged: {
// console.log("FloatingWindow.qml.root width changed to " + width)
}
}

View File

@@ -329,6 +329,7 @@ void TestDocks::tst_restoreSimple()
auto dock1 = createDockWidget("one", new QTextEdit());
auto dock2 = createDockWidget("two", new QTextEdit());
auto dock3 = createDockWidget("three", new QTextEdit());
m->addDockWidget(dock1, Location_OnTop);
// Dock2 floats at 150,150
@@ -551,8 +552,7 @@ void TestDocks::tst_floatingWindowSize()
auto dock1 = createDockWidget("1");
auto fw1 = dock1->window();
QTest::qWait(2000);
QTest::qWait(100);
QVERIFY(!fw1->geometry().isNull());
QCOMPARE(fw1->size(), fw1->windowHandle()->size());
@@ -611,6 +611,8 @@ void TestDocks::tst_sizeAfterRedock()
const int height2 = dw2->frame()->height();
dw2->setFloating(true);
QTest::qWait(100);
QCOMPARE(height2, dw2->window()->height());
auto oldFw2 = dw2->floatingWindow();