Move MainWindow Q_PROPERTIES to the qtquick view

qtquick and views in general won't have access to controllers much
This commit is contained in:
Sergio Martins
2022-06-15 17:59:17 +01:00
parent 337afd2919
commit 84315daa1a
4 changed files with 31 additions and 4 deletions

View File

@@ -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<MainWindow *> List;

View File

@@ -15,6 +15,8 @@
#include "View_qtquick.h"
#include "kddockwidgets/views/MainWindowViewInterface.h"
#include <QString>
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.

View File

@@ -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();
}
}

View File

@@ -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;