diff --git a/examples/basic/main.cpp b/examples/basic/main.cpp index 5955c7d7..cd3a270a 100644 --- a/examples/basic/main.cpp +++ b/examples/basic/main.cpp @@ -82,18 +82,8 @@ public: LayoutSaver saver; saver.restoreFromDisk(); }); - - /*connect(newAction, &QAction::triggered, this, [this] { - auto dropArea = qobject_cast(centralWidget()); - Q_ASSERT(dropArea); - //if (dropArea->indicatorStyle() == DropIndicatorOverlayInterface::TypeAnimated) - //dropArea->setIndicatorStyle(DropIndicatorOverlayInterface::TypeClassic); - //else - //dropArea->setIndicatorStyle(DropIndicatorOverlayInterface::TypeAnimated); - });*/ } - QMenu *toggleMenu; }; diff --git a/src/DebugWindow.cpp b/src/DebugWindow.cpp index c35c51fd..ad6be52d 100644 --- a/src/DebugWindow.cpp +++ b/src/DebugWindow.cpp @@ -62,8 +62,6 @@ void DebugWindow::dumpDockWidgetInfo() fw->dropArea()->multiSplitter()->dumpDebug(); } - for (MainWindow *mw : mainWindows) { - auto da = qobject_cast(mw->centralWidget()); - da->multiSplitter()->dumpDebug(); - } + for (MainWindow *mw : mainWindows) + mw->multiSplitterLayout()->dumpDebug(); } diff --git a/src/LayoutSaver.cpp b/src/LayoutSaver.cpp index 282a5bda..37e23dcd 100644 --- a/src/LayoutSaver.cpp +++ b/src/LayoutSaver.cpp @@ -555,21 +555,10 @@ QByteArray LayoutSaver::serializeLayout() const // Save main windows (geometry, visibility and dockwidget layout): auto mainWindows = d->mainWindows(); - // Remove crap: - mainWindows.erase(std::remove_if(mainWindows.begin(), mainWindows.end(), - [](MainWindow *w) { - if (!qobject_cast(w->centralWidget())) { - qWarning() << Q_FUNC_INFO << "MainWindow with wrong central widget"; - return true; - } else { - return false; - } - }), mainWindows.end()); - ds << mainWindows.size(); for (auto mainWindow : mainWindows) { WindowState windowState(mainWindow, mainWindow->name()); - LayoutState layoutState(static_cast(mainWindow->centralWidget())); + LayoutState layoutState(mainWindow->dropArea()); ds << windowState; ds << layoutState; } @@ -635,7 +624,7 @@ void LayoutSaver::restoreLayout(const QByteArray &data) windowState.restore(w); qCDebug(restoring) << "Restoring MainWindow"; - layoutState.restore(qobject_cast(w->centralWidget())); + layoutState.restore(w->dropArea()); } // Restore floating nested windows diff --git a/tests/fuzzer.cpp b/tests/fuzzer.cpp index 01308d33..743877b5 100644 --- a/tests/fuzzer.cpp +++ b/tests/fuzzer.cpp @@ -108,11 +108,9 @@ int main(int argc, char **argv) } //Add log ! - QWidget *central = window->centralWidget(); - auto dropArea = qobject_cast(central); + DropArea *dropArea = window->dropArea(); - std::cout << "QWidget *central = window->centralWidget();" << std::endl; - std::cout << "auto dropArea = qobject_cast(central);" << std::endl; + std::cout << "auto dropArea = window->dropArea();" << std::endl; // Add dockWidget for (int i = 0; i < listDockWidget.count(); ++i) { diff --git a/tests/utils.cpp b/tests/utils.cpp index f6293f10..12376f3f 100644 --- a/tests/utils.cpp +++ b/tests/utils.cpp @@ -78,8 +78,7 @@ DockWidget *KDDockWidgets::Tests::createDockWidget(const QString &name, QColor c std::unique_ptr KDDockWidgets::Tests::createMainWindow(QVector &docks) { auto m = std::unique_ptr(new MainWindow(QStringLiteral("MyMainWindow"), MainWindowOption_None)); - auto dropArea = qobject_cast(m->centralWidget()); - auto layout = dropArea->multiSplitter(); + auto layout = m->multiSplitterLayout(); m->show(); m->resize(QSize(700, 700));