Add Widget::mapToGlobal()
This commit is contained in:
@@ -138,7 +138,7 @@ std::unique_ptr<WindowBeingDragged> TitleBar::makeWindow()
|
||||
|
||||
QRect r = m_frame->QWidget::geometry();
|
||||
qCDebug(hovering) << "TitleBar::makeWindow original geometry" << r;
|
||||
r.moveTopLeft(m_frame->mapToGlobal(QPoint(0, 0)));
|
||||
r.moveTopLeft(static_cast<Layouting::Widget*>(m_frame)->mapToGlobal(QPoint(0, 0))); // TODO: Remove static_cast if it compiles. Ambiguous base for now
|
||||
|
||||
auto floatingWindow = Config::self().frameworkWidgetFactory()->createFloatingWindow(m_frame);
|
||||
floatingWindow->setSuggestedGeometry(r);
|
||||
|
||||
@@ -407,7 +407,7 @@ QRect ClassicIndicators::geometryForRubberband(QRect localRect) const
|
||||
return localRect;
|
||||
|
||||
QPoint topLeftLocal = localRect.topLeft();
|
||||
QPoint topLeftGlobal = m_dropArea->mapToGlobal(topLeftLocal);
|
||||
QPoint topLeftGlobal = m_dropArea->QWidget::mapToGlobal(topLeftLocal);
|
||||
|
||||
localRect.moveTopLeft(topLeftGlobal);
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@ public:
|
||||
virtual void hide() = 0;
|
||||
virtual void update() = 0;
|
||||
virtual QPoint mapFromGlobal(QPoint) const = 0;
|
||||
virtual QPoint mapToGlobal(QPoint) const = 0;
|
||||
|
||||
QSize size() const {
|
||||
return geometry().size();
|
||||
|
||||
@@ -87,7 +87,7 @@ std::unique_ptr<Widget> Widget_quick::parentWidget() const
|
||||
return {};
|
||||
}
|
||||
|
||||
std::unique_ptr<Widget> Widget_qwidget::topLevel() const
|
||||
std::unique_ptr<Widget> Widget_quick::topLevel() const
|
||||
{
|
||||
// TODO
|
||||
return {};
|
||||
@@ -153,6 +153,12 @@ QPoint Widget_quick::mapFromGlobal(QPoint p) const
|
||||
return p;
|
||||
}
|
||||
|
||||
QPoint Widget_quick::mapToGlobal(QPoint p) const
|
||||
{
|
||||
qWarning() << Q_FUNC_INFO << "Implement me!";
|
||||
return p;
|
||||
}
|
||||
|
||||
QQuickItem *Widget_quick::createQQuickItem(const QString &filename, QQuickItem *parent) const
|
||||
{
|
||||
auto p = parent;
|
||||
|
||||
@@ -63,6 +63,7 @@ public:
|
||||
void setHeight(int height) override;
|
||||
void update() override;
|
||||
QPoint mapFromGlobal(QPoint p) const override;
|
||||
QPoint mapToGlobal(QPoint p) const override;
|
||||
|
||||
static QSize widgetMinSize(const QWidget *w);
|
||||
|
||||
|
||||
@@ -175,3 +175,8 @@ QPoint Widget_qwidget::mapFromGlobal(QPoint p) const
|
||||
{
|
||||
return m_thisWidget->mapFromGlobal(p);
|
||||
}
|
||||
|
||||
QPoint Widget_qwidget::mapToGlobal(QPoint p) const
|
||||
{
|
||||
return m_thisWidget->mapToGlobal(p);
|
||||
}
|
||||
|
||||
@@ -66,6 +66,7 @@ public:
|
||||
void setHeight(int height) override;
|
||||
void update() override;
|
||||
QPoint mapFromGlobal(QPoint p) const override;
|
||||
QPoint mapToGlobal(QPoint p) const override;
|
||||
|
||||
static QSize widgetMinSize(const QWidget *w);
|
||||
static QSize widgetMaxSize(const QWidget *w);
|
||||
|
||||
@@ -555,7 +555,7 @@ void TestDocks::tst_dock2FloatingWidgetsTabbed()
|
||||
QTest::qWait(1000); // Test is flaky otherwise
|
||||
|
||||
auto fw2 = dock2->floatingWindow();
|
||||
drag(fw2->titleBar(), frame2->mapToGlobal(QPoint(10, 10)), dock3->window()->geometry().center());
|
||||
drag(fw2->titleBar(), static_cast<Layouting::Widget*>(frame2)->mapToGlobal(QPoint(10, 10)), dock3->window()->geometry().center());
|
||||
|
||||
QVERIFY(Testing::waitForDeleted(frame1));
|
||||
QVERIFY(Testing::waitForDeleted(frame2));
|
||||
|
||||
Reference in New Issue
Block a user