From 84315daa1a3f05e526cdd4c9ed8a8463cb038b91 Mon Sep 17 00:00:00 2001 From: Sergio Martins Date: Wed, 15 Jun 2022 17:59:17 +0100 Subject: [PATCH] Move MainWindow Q_PROPERTIES to the qtquick view qtquick and views in general won't have access to controllers much --- src/controllers/MainWindow.h | 4 ---- src/qtquick/views/MainWindow_qtquick.h | 6 ++++++ src/views/MainWindowViewInterface.cpp | 20 ++++++++++++++++++++ src/views/MainWindowViewInterface.h | 5 +++++ 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/controllers/MainWindow.h b/src/controllers/MainWindow.h index 3fe354c4..4337d096 100644 --- a/src/controllers/MainWindow.h +++ b/src/controllers/MainWindow.h @@ -55,10 +55,6 @@ class DockWidget; class DOCKS_EXPORT MainWindow : public Controller { Q_OBJECT - Q_PROPERTY(QStringList affinities READ affinities CONSTANT) - Q_PROPERTY(QString uniqueName READ uniqueName CONSTANT) - Q_PROPERTY(KDDockWidgets::MainWindowOptions options READ options CONSTANT) - Q_PROPERTY(bool isMDI READ isMDI CONSTANT) public: typedef QVector List; diff --git a/src/qtquick/views/MainWindow_qtquick.h b/src/qtquick/views/MainWindow_qtquick.h index 79b44fcc..cfb812dc 100644 --- a/src/qtquick/views/MainWindow_qtquick.h +++ b/src/qtquick/views/MainWindow_qtquick.h @@ -15,6 +15,8 @@ #include "View_qtquick.h" #include "kddockwidgets/views/MainWindowViewInterface.h" +#include + namespace KDDockWidgets { namespace Controllers { @@ -34,6 +36,10 @@ namespace Views { class DOCKS_EXPORT MainWindow_qtquick : public Views::View_qtquick, public MainWindowViewInterface { Q_OBJECT + Q_PROPERTY(QStringList affinities READ affinities CONSTANT) + Q_PROPERTY(QString uniqueName READ uniqueName CONSTANT) + Q_PROPERTY(KDDockWidgets::MainWindowOptions options READ options CONSTANT) + Q_PROPERTY(bool isMDI READ isMDI CONSTANT) public: ///@brief Constructor. Use it as you would use QMainWindow. ///@param uniqueName Mandatory name that should be unique between all MainWindow instances. diff --git a/src/views/MainWindowViewInterface.cpp b/src/views/MainWindowViewInterface.cpp index b0d584cd..1384f198 100644 --- a/src/views/MainWindowViewInterface.cpp +++ b/src/views/MainWindowViewInterface.cpp @@ -31,4 +31,24 @@ void MainWindowViewInterface::init(const QString &name) m_mainWindow->init(name); } +QString MainWindowViewInterface::uniqueName() const +{ + return m_mainWindow->uniqueName(); +} + +QStringList MainWindowViewInterface::affinities() const +{ + return m_mainWindow->affinities(); +} + +MainWindowOptions MainWindowViewInterface::options() const +{ + return m_mainWindow->options(); +} + +bool MainWindowViewInterface::isMDI() const +{ + return m_mainWindow->isMDI(); +} + } diff --git a/src/views/MainWindowViewInterface.h b/src/views/MainWindowViewInterface.h index 7b074a41..f4ffc136 100644 --- a/src/views/MainWindowViewInterface.h +++ b/src/views/MainWindowViewInterface.h @@ -39,6 +39,11 @@ public: /// @brief Returns the main window controller Controllers::MainWindow *mainWindow() const; + QString uniqueName() const; + QStringList affinities() const; + MainWindowOptions options() const; + bool isMDI() const; + protected: void init(const QString &name); Controllers::MainWindow *const m_mainWindow;