Rename View::window() to View::rootView()

window() was an artifact of Qt4 times, when QWindow didn't exist yet.
This commit is contained in:
Sergio Martins
2022-05-01 22:51:27 +01:00
parent 4b41291830
commit fff3adf967
17 changed files with 26 additions and 27 deletions

View File

@@ -118,7 +118,7 @@ bool Controller::close()
std::shared_ptr<ViewWrapper> Controller::window() const
{
return view()->window();
return view()->rootView();
}
void Controller::show() const

View File

@@ -212,8 +212,7 @@ public:
/// @brief Returns the top-level gui element which this view is inside
/// It's the root view of the window.
/// Like QWidget::window() // TODOv2 rename window() to rootView()
virtual std::shared_ptr<ViewWrapper> window() const = 0;
virtual std::shared_ptr<ViewWrapper> rootView() const = 0;
/// @brief Returns the window this view is inside
/// For the Qt frontend, this wraps a QWindow.

View File

@@ -122,7 +122,7 @@ void DockWidget::addDockWidgetToContainingWindow(DockWidget *other,
DockWidget *relativeTo,
InitialOption initialOption)
{
if (auto mainWindow = view()->window()->asMainWindowController()) {
if (auto mainWindow = view()->rootView()->asMainWindowController()) {
// It's inside a main window. Simply use the main window API.
mainWindow->addDockWidget(other, location, relativeTo, initialOption);
return;
@@ -510,7 +510,7 @@ bool DockWidget::skipsRestore() const
void DockWidget::setFloatingGeometry(QRect geometry)
{
if (isOpen() && isFloating()) {
view()->window()->setGeometry(geometry);
view()->rootView()->setGeometry(geometry);
} else {
d->m_lastPosition->setLastFloatingGeometry(geometry);
}
@@ -518,7 +518,7 @@ void DockWidget::setFloatingGeometry(QRect geometry)
Controllers::FloatingWindow *DockWidget::floatingWindow() const
{
if (auto fw = view()->window()->asFloatingWindowController())
if (auto fw = view()->rootView()->asFloatingWindowController())
return fw;
return nullptr;
@@ -644,7 +644,7 @@ bool DockWidget::Private::eventFilter(QObject *watched, QEvent *event)
{
const bool isWindowActivate = event->type() == QEvent::WindowActivate;
const bool isWindowDeactivate = event->type() == QEvent::WindowDeactivate;
if ((isWindowActivate || isWindowDeactivate) && watched == q->view()->window()->asQObject())
if ((isWindowActivate || isWindowDeactivate) && watched == q->view()->rootView()->asQObject())
Q_EMIT q->windowActiveAboutToChange(isWindowActivate);
return QObject::eventFilter(watched, event);
@@ -653,7 +653,7 @@ bool DockWidget::Private::eventFilter(QObject *watched, QEvent *event)
void DockWidget::Private::updateTitle()
{
if (q->isFloating())
q->view()->window()->setWindowTitle(title);
q->view()->rootView()->setWindowTitle(title);
toggleAction->setText(title);
}

View File

@@ -51,7 +51,7 @@ public:
*/
Controllers::FloatingWindow *floatingWindow() const
{
if (auto fw = q->view()->window()->asFloatingWindowController())
if (auto fw = q->view()->rootView()->asFloatingWindowController())
return fw;
return nullptr;

View File

@@ -550,7 +550,7 @@ FloatingWindow *Frame::floatingWindow() const
if (auto fw = p->asFloatingWindowController())
return fw;
if (p->equals(view()->window())) {
if (p->equals(view()->rootView())) {
// We stop at the window. (top-levels can have parent, but we're not interested)
return nullptr;
}

View File

@@ -116,7 +116,7 @@ std::unique_ptr<WindowBeingDragged> Stack::makeWindow()
// This is called when using Flag_HideTitleBarWhenTabsVisible
// For detaching individual tabs, TabBar::makeWindow() is called.
if (auto fw = view()->window()->asFloatingWindowController()) {
if (auto fw = view()->rootView()->asFloatingWindowController()) {
if (fw->hasSingleFrame()) {
// We're already in a floating window, and it only has 1 dock widget.
// So there's no detachment to be made, we just move the window.
@@ -138,7 +138,7 @@ std::unique_ptr<WindowBeingDragged> Stack::makeWindow()
bool Stack::isWindow() const
{
if (auto fw = view()->window()->asFloatingWindowController()) {
if (auto fw = view()->rootView()->asFloatingWindowController()) {
// Case of dragging via the tab widget when the title bar is hidden
return fw->hasSingleFrame();
}

View File

@@ -423,13 +423,13 @@ bool TitleBar::closeButtonEnabled() const
std::unique_ptr<KDDockWidgets::WindowBeingDragged> TitleBar::makeWindow()
{
if (!isVisible() && view()->window()->isVisible() && !(Config::self().flags() & Config::Flag_ShowButtonsOnTabBarIfTitleBarHidden)) {
if (!isVisible() && view()->rootView()->isVisible() && !(Config::self().flags() & Config::Flag_ShowButtonsOnTabBarIfTitleBarHidden)) {
// When using Flag_ShowButtonsOnTabBarIfTitleBarHidden we forward the call from the tab bar's
// buttons to the title bar's buttons, just to reuse logic
qWarning() << "TitleBar::makeWindow shouldn't be called on invisible title bar"
<< this << view()->window()->isVisible();
<< this << view()->rootView()->isVisible();
if (m_frame) {
qWarning() << "this=" << this << "; actual=" << m_frame->actualTitleBar();
} else if (m_floatingWindow) {

View File

@@ -656,7 +656,7 @@ void DockRegistry::clear(const DockWidgetBase::List &dockWidgets,
void DockRegistry::ensureAllFloatingWidgetsAreMorphed()
{
for (DockWidgetBase *dw : qAsConst(m_dockWidgets)) {
if (dw->view()->window()->equals(dw->view()) && dw->isVisible())
if (dw->view()->rootView()->equals(dw->view()) && dw->isVisible())
dw->d->morphIntoFloatingWindow();
}
}

View File

@@ -163,7 +163,7 @@ bool WindowBeingDragged::contains(LayoutWidget *layoutWidget) const
if (m_floatingWindow)
return m_floatingWindow->layoutWidget() == layoutWidget;
if (auto fw = m_draggableWidget->window()->asFloatingWindowController()) {
if (auto fw = m_draggableWidget->rootView()->asFloatingWindowController()) {
// We're not dragging via the floating window itself, but via the tab bar. Still might represent floating window though.
return fw->layoutWidget() == layoutWidget && fw->hasSingleFrame();
}

View File

@@ -160,7 +160,7 @@ bool ViewWrapper_qtquick::is(Type t) const
return false;
}
std::shared_ptr<ViewWrapper> ViewWrapper_qtquick::window() const
std::shared_ptr<ViewWrapper> ViewWrapper_qtquick::rootView() const
{
// return std::shared_ptr<ViewWrapper>(new ViewWrapper_qtquick(m_item->window()));
return {};

View File

@@ -45,7 +45,7 @@ public:
std::shared_ptr<ViewWrapper> childViewAt(QPoint) const override;
QVector<std::shared_ptr<View>> childViews() const override;
std::shared_ptr<Window> windowHandle() const override;
std::shared_ptr<ViewWrapper> window() const override;
std::shared_ptr<ViewWrapper> rootView() const override;
std::shared_ptr<ViewWrapper> parentView() const override;
void setParent(View *) override; // TODOv2: Rename to setParentView
HANDLE handle() const override;

View File

@@ -413,7 +413,7 @@ public:
return child ? asQQuickWrapper(child) : nullptr;
}
std::shared_ptr<ViewWrapper> window() const override
std::shared_ptr<ViewWrapper> rootView() const override
{
return {};
}

View File

@@ -242,7 +242,7 @@ DebugWindow::DebugWindow(QWidget *parent)
connect(button, &QPushButton::clicked, this, [] {
const auto layouts = DockRegistry::self()->layouts();
for (auto l : layouts) {
auto tlw = l->view()->window();
auto tlw = l->view()->rootView();
tlw->resize(tlw->size() + QSize(1, 1));
}
});

View File

@@ -235,7 +235,7 @@ bool ViewWrapper_qtwidgets::is(Type t) const
return false;
}
std::shared_ptr<ViewWrapper> ViewWrapper_qtwidgets::window() const
std::shared_ptr<ViewWrapper> ViewWrapper_qtwidgets::rootView() const
{
if (auto w = m_widget->window())
return std::shared_ptr<ViewWrapper>(new ViewWrapper_qtwidgets(w));

View File

@@ -43,7 +43,7 @@ public:
void setSize(int width, int height) override;
bool is(Type) const override;
std::shared_ptr<Window> windowHandle() const override;
std::shared_ptr<ViewWrapper> window() const override;
std::shared_ptr<ViewWrapper> rootView() const override;
std::shared_ptr<ViewWrapper> parentView() const override;
void setParent(View *) override;

View File

@@ -375,7 +375,7 @@ public:
return reinterpret_cast<HANDLE>(this);
}
std::shared_ptr<ViewWrapper> window() const override
std::shared_ptr<ViewWrapper> rootView() const override
{
if (auto w = QWidget::window()) {
ViewWrapper *wrapper = new ViewWrapper_qtwidgets(w);

View File

@@ -194,7 +194,7 @@ void KDDockWidgets::Tests::doubleClickOn(QPoint globalPos, View *receiver)
QCursor::setPos(globalPos);
pressOn(globalPos, receiver); // double-click involves an initial press
QMouseEvent ev(QEvent::MouseButtonDblClick, receiver->mapFromGlobal(globalPos), receiver->window()->mapFromGlobal(globalPos), globalPos,
QMouseEvent ev(QEvent::MouseButtonDblClick, receiver->mapFromGlobal(globalPos), receiver->rootView()->mapFromGlobal(globalPos), globalPos,
Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
if (auto actualReceiver = receiver->property("titleBarMouseArea").value<QObject *>()) {
@@ -219,7 +219,7 @@ void KDDockWidgets::Tests::doubleClickOn(QPoint globalPos, Window::Ptr receiver)
void KDDockWidgets::Tests::pressOn(QPoint globalPos, View *receiver)
{
QCursor::setPos(globalPos);
QMouseEvent ev(QEvent::MouseButtonPress, receiver->mapFromGlobal(globalPos), receiver->window()->mapFromGlobal(globalPos), globalPos,
QMouseEvent ev(QEvent::MouseButtonPress, receiver->mapFromGlobal(globalPos), receiver->rootView()->mapFromGlobal(globalPos), globalPos,
Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
Platform::instance()->sendEvent(receiver, &ev);
}
@@ -234,7 +234,7 @@ void KDDockWidgets::Tests::pressOn(QPoint globalPos, Window::Ptr receiver)
void KDDockWidgets::Tests::releaseOn(QPoint globalPos, View *receiver)
{
QMouseEvent ev(QEvent::MouseButtonRelease, receiver->mapFromGlobal(globalPos), receiver->window()->mapFromGlobal(globalPos), globalPos,
QMouseEvent ev(QEvent::MouseButtonRelease, receiver->mapFromGlobal(globalPos), receiver->rootView()->mapFromGlobal(globalPos), globalPos,
Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
Platform::instance()->sendEvent(receiver, &ev);
}
@@ -263,7 +263,7 @@ void KDDockWidgets::Tests::moveMouseTo(QPoint globalDest, View *receiver)
}
QCursor::setPos(globalSrc); // Since some code uses QCursor::pos()
QMouseEvent ev(QEvent::MouseMove, receiver->mapFromGlobal(globalSrc), receiver->window()->mapFromGlobal(globalSrc), globalSrc,
QMouseEvent ev(QEvent::MouseMove, receiver->mapFromGlobal(globalSrc), receiver->rootView()->mapFromGlobal(globalSrc), globalSrc,
Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
if (!receiverP) {