Move Platform::createMainWindow() to dev mode
This is for tests only
This commit is contained in:
@@ -17,8 +17,6 @@
|
||||
#include "Window_qtquick.h"
|
||||
#include "views/View_qtquick.h"
|
||||
#include "qtquick/Window_qtquick.h"
|
||||
#include "qtquick/views/MainWindow_qtquick.h"
|
||||
#include "controllers/MainWindow.h"
|
||||
#include "private/DockRegistry_p.h"
|
||||
#include "private/DragController_p.h"
|
||||
#include "ViewFactory_qtquick.h"
|
||||
@@ -156,30 +154,3 @@ View *Platform_qtquick::createView(View *parent) const
|
||||
{
|
||||
return new Views::View_qtquick(nullptr, Type::None, Views::asQQuickItem(parent));
|
||||
}
|
||||
|
||||
Controllers::MainWindow *Platform_qtquick::createMainWindow(const QString &uniqueName,
|
||||
CreateViewOptions viewOpts,
|
||||
MainWindowOptions options,
|
||||
View *parent, Qt::WindowFlags flags) const
|
||||
{
|
||||
QQuickItem *parentItem = Views::asQQuickItem(parent);
|
||||
|
||||
if (!parentItem) {
|
||||
auto view = new QQuickView(m_qmlEngine, nullptr);
|
||||
view->resize(viewOpts.size);
|
||||
|
||||
view->setResizeMode(QQuickView::SizeRootObjectToView);
|
||||
view->setSource(QUrl(QStringLiteral("qrc:/main.qml")));
|
||||
|
||||
if (viewOpts.isVisible)
|
||||
view->show();
|
||||
|
||||
parentItem = view->rootObject();
|
||||
Platform::instance()->tests_wait(100); // the root object gets sized delayed
|
||||
}
|
||||
|
||||
auto view = new Views::MainWindow_qtquick(uniqueName, options,
|
||||
parentItem, flags);
|
||||
|
||||
return view->mainWindow();
|
||||
}
|
||||
|
||||
@@ -40,9 +40,6 @@ public:
|
||||
void setQmlEngine(QQmlEngine *);
|
||||
QQmlEngine *qmlEngine() const;
|
||||
View *createView(View *parent = nullptr) const override;
|
||||
Controllers::MainWindow *createMainWindow(const QString &uniqueName, CreateViewOptions,
|
||||
MainWindowOptions options = MainWindowOption_HasCentralFrame,
|
||||
View *parent = nullptr, Qt::WindowFlags = {}) const override;
|
||||
|
||||
#ifdef DOCKS_DEVELOPER_MODE
|
||||
explicit Platform_qtquick(int &argc, char **argv);
|
||||
@@ -51,6 +48,9 @@ public:
|
||||
View *tests_createView(CreateViewOptions, View *parent = nullptr) override;
|
||||
View *tests_createFocusableView(CreateViewOptions, View *parent = nullptr) override;
|
||||
View *tests_createNonClosableView(View *parent = nullptr) override;
|
||||
Controllers::MainWindow *createMainWindow(const QString &uniqueName, CreateViewOptions,
|
||||
MainWindowOptions options = MainWindowOption_HasCentralFrame,
|
||||
View *parent = nullptr, Qt::WindowFlags = {}) const override;
|
||||
#endif
|
||||
private:
|
||||
void init();
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#include "KDDockWidgets.h"
|
||||
#include "Platform_qtquick.h"
|
||||
#include "views/View_qtquick.h"
|
||||
#include "qtquick/views/MainWindow_qtquick.h"
|
||||
#include "controllers/MainWindow.h"
|
||||
|
||||
#include <QApplication> // TODO: Make it QGuiApplication
|
||||
#include <QQmlEngine>
|
||||
@@ -101,4 +103,31 @@ View *Platform_qtquick::tests_createNonClosableView(View *parent)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Controllers::MainWindow *Platform_qtquick::createMainWindow(const QString &uniqueName,
|
||||
CreateViewOptions viewOpts,
|
||||
MainWindowOptions options,
|
||||
View *parent, Qt::WindowFlags flags) const
|
||||
{
|
||||
QQuickItem *parentItem = Views::asQQuickItem(parent);
|
||||
|
||||
if (!parentItem) {
|
||||
auto view = new QQuickView(m_qmlEngine, nullptr);
|
||||
view->resize(viewOpts.size);
|
||||
|
||||
view->setResizeMode(QQuickView::SizeRootObjectToView);
|
||||
view->setSource(QUrl(QStringLiteral("qrc:/main.qml")));
|
||||
|
||||
if (viewOpts.isVisible)
|
||||
view->show();
|
||||
|
||||
parentItem = view->rootObject();
|
||||
Platform::instance()->tests_wait(100); // the root object gets sized delayed
|
||||
}
|
||||
|
||||
auto view = new Views::MainWindow_qtquick(uniqueName, options,
|
||||
parentItem, flags);
|
||||
|
||||
return view->mainWindow();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
#include "views/View_qtwidgets.h"
|
||||
|
||||
#include "ViewFactory_qtwidgets.h"
|
||||
#include "controllers/MainWindow.h"
|
||||
#include "qtwidgets/views/MainWindow_qtwidgets.h"
|
||||
|
||||
#include <QScreen>
|
||||
|
||||
@@ -126,14 +124,3 @@ View *Platform_qtwidgets::createView(View *parent) const
|
||||
{
|
||||
return new Views::View_qtwidgets<QWidget>(nullptr, Type::None, Views::View_qtwidgets<QWidget>::asQWidget(parent));
|
||||
}
|
||||
|
||||
Controllers::MainWindow *Platform_qtwidgets::createMainWindow(const QString &uniqueName,
|
||||
CreateViewOptions, MainWindowOptions options,
|
||||
View *parent, Qt::WindowFlags flags) const
|
||||
{
|
||||
auto view = new Views::MainWindow_qtwidgets(uniqueName, options,
|
||||
parent ? static_cast<Views::View_qtwidgets<QMainWindow> *>(parent) : nullptr,
|
||||
flags);
|
||||
|
||||
return view->mainWindow();
|
||||
}
|
||||
|
||||
@@ -41,10 +41,6 @@ public:
|
||||
int startDragDistance() const override;
|
||||
View *createView(View *parent = nullptr) const override;
|
||||
|
||||
Controllers::MainWindow *createMainWindow(const QString &uniqueName, CreateViewOptions,
|
||||
MainWindowOptions options = MainWindowOption_HasCentralFrame,
|
||||
View *parent = nullptr, Qt::WindowFlags = {}) const override;
|
||||
|
||||
#ifdef DOCKS_DEVELOPER_MODE
|
||||
explicit Platform_qtwidgets(int &argc, char **argv);
|
||||
void tests_initPlatform_impl() override;
|
||||
@@ -52,6 +48,9 @@ public:
|
||||
View *tests_createView(CreateViewOptions, View *parent = nullptr) override;
|
||||
View *tests_createFocusableView(CreateViewOptions, View *parent = nullptr) override;
|
||||
View *tests_createNonClosableView(View *parent = nullptr) override;
|
||||
Controllers::MainWindow *createMainWindow(const QString &uniqueName, CreateViewOptions,
|
||||
MainWindowOptions options = MainWindowOption_HasCentralFrame,
|
||||
View *parent = nullptr, Qt::WindowFlags = {}) const override;
|
||||
#endif
|
||||
protected:
|
||||
void init();
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
#include "Platform_qtwidgets.h"
|
||||
#include "views/ViewWrapper_qtwidgets.h"
|
||||
#include "views/View_qtwidgets.h"
|
||||
#include "controllers/MainWindow.h"
|
||||
#include "qtwidgets/views/MainWindow_qtwidgets.h"
|
||||
|
||||
#include <QStyleFactory>
|
||||
#include <QApplication>
|
||||
@@ -142,6 +144,18 @@ View *Platform_qtwidgets::tests_createNonClosableView(View *parent)
|
||||
return newWidget;
|
||||
}
|
||||
|
||||
Controllers::MainWindow *Platform_qtwidgets::createMainWindow(const QString &uniqueName,
|
||||
CreateViewOptions, MainWindowOptions options,
|
||||
View *parent, Qt::WindowFlags flags) const
|
||||
{
|
||||
auto view = new Views::MainWindow_qtwidgets(uniqueName, options,
|
||||
parent ? static_cast<Views::View_qtwidgets<QMainWindow> *>(parent) : nullptr,
|
||||
flags);
|
||||
|
||||
return view->mainWindow();
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#include "TestHelpers_qtwidgets.moc"
|
||||
|
||||
Reference in New Issue
Block a user