qtquick: Make MainWindowInstantiator compile
This commit is contained in:
@@ -170,8 +170,8 @@ SET(KDDW_FRONTEND_QTQUICK_SRCS
|
||||
qtquick/ViewFactory_qtquick.h
|
||||
qtquick/LayoutSaverInstantiator.cpp
|
||||
qtquick/LayoutSaverInstantiator.h
|
||||
# qtquick/MainWindowInstantiator.cpp
|
||||
# qtquick/MainWindowInstantiator.h
|
||||
qtquick/MainWindowInstantiator.cpp
|
||||
qtquick/MainWindowInstantiator.h
|
||||
qtquick/DockWidgetInstantiator.cpp
|
||||
qtquick/DockWidgetInstantiator.h
|
||||
qtquick/QmlTypes.cpp
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
#include "qtquick/views/MainWindow_qtquick.h"
|
||||
#include "qtquick/views/MainWindowMDI_qtquick.h"
|
||||
|
||||
#include "DockWidgetInstantiator_p.h"
|
||||
#include "DockWidgetInstantiator.h"
|
||||
|
||||
#include "../DockRegistry_p.h"
|
||||
#include "private/DockRegistry_p.h"
|
||||
|
||||
using namespace KDDockWidgets;
|
||||
|
||||
@@ -76,8 +76,8 @@ void MainWindowInstantiator::addDockWidget(DockWidgetInstantiator *dockWidget, L
|
||||
DockWidgetInstantiator *relativeTo, QSize initialSize,
|
||||
InitialVisibilityOption option)
|
||||
{
|
||||
addDockWidget(dockWidget ? dockWidget->dockWidget() : nullptr, location,
|
||||
relativeTo ? relativeTo->dockWidget() : nullptr, initialSize, option);
|
||||
addDockWidget(dockWidget ? dockWidget->controller() : nullptr, location,
|
||||
relativeTo ? relativeTo->controller() : nullptr, initialSize, option);
|
||||
}
|
||||
|
||||
void MainWindowInstantiator::layoutEqually()
|
||||
@@ -128,10 +128,11 @@ void MainWindowInstantiator::clearSideBarOverlay(bool deleteFrame)
|
||||
m_mainWindow->clearSideBarOverlay(deleteFrame);
|
||||
}
|
||||
|
||||
SideBar *MainWindowInstantiator::sideBarForDockWidget(const Controllers::DockWidget *dw) const
|
||||
{
|
||||
return m_mainWindow ? m_mainWindow->sideBarForDockWidget(dw) : nullptr;
|
||||
}
|
||||
// TODOv2
|
||||
// SideBar *MainWindowInstantiator::sideBarForDockWidget(const Controllers::DockWidget *dw) const
|
||||
// {
|
||||
// return m_mainWindow ? m_mainWindow->sideBarForDockWidget(dw) : nullptr;
|
||||
// }
|
||||
|
||||
bool MainWindowInstantiator::sideBarIsVisible(SideBarLocation loc) const
|
||||
{
|
||||
@@ -173,8 +174,11 @@ void MainWindowInstantiator::componentComplete()
|
||||
|
||||
const auto mainWindowOptions = MainWindowOptions(m_options);
|
||||
|
||||
View *view = nullptr;
|
||||
if (mainWindowOptions & MainWindowOption_MDI)
|
||||
m_mainWindow = new MainWindowMDI(m_uniqueName, this);
|
||||
view = new Views::MainWindowMDI_qtquick(m_uniqueName, this);
|
||||
else
|
||||
m_mainWindow = new MainWindowQuick(m_uniqueName, mainWindowOptions, this);
|
||||
view = new Views::MainWindow_qtquick(m_uniqueName, mainWindowOptions, this);
|
||||
|
||||
m_mainWindow = view->asMainWindowController();
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#ifndef KD_MAIN_WINDOW_INSTANTIATOR_P_H
|
||||
#define KD_MAIN_WINDOW_INSTANTIATOR_P_H
|
||||
#pragma once
|
||||
|
||||
#include "kddockwidgets/docks_export.h"
|
||||
#include "kddockwidgets/KDDockWidgets.h"
|
||||
@@ -21,10 +22,11 @@ namespace KDDockWidgets {
|
||||
|
||||
class MainWindowQuick;
|
||||
class DockWidgetInstantiator;
|
||||
class SideBar;
|
||||
|
||||
namespace Controllers {
|
||||
class DockWidget;
|
||||
class MainWindow;
|
||||
class SideBar;
|
||||
}
|
||||
|
||||
/// @brief A wrapper to workaround the limitation that QtQuick can't pass arguments through MainWindowQuick's ctor
|
||||
@@ -69,7 +71,7 @@ public:
|
||||
Q_INVOKABLE void overlayOnSideBar(KDDockWidgets::Controllers::DockWidget *);
|
||||
Q_INVOKABLE void toggleOverlayOnSideBar(KDDockWidgets::Controllers::DockWidget *);
|
||||
Q_INVOKABLE void clearSideBarOverlay(bool deleteFrame = true);
|
||||
Q_INVOKABLE KDDockWidgets::SideBar *sideBarForDockWidget(const KDDockWidgets::Controllers::DockWidget *) const;
|
||||
// Q_INVOKABLE KDDockWidgets::SideBar *sideBarForDockWidget(const KDDockWidgets::Controllers::DockWidget *) const;
|
||||
Q_INVOKABLE bool sideBarIsVisible(KDDockWidgets::SideBarLocation) const;
|
||||
Q_INVOKABLE bool closeDockWidgets(bool force = false);
|
||||
|
||||
@@ -83,7 +85,7 @@ Q_SIGNALS:
|
||||
|
||||
private:
|
||||
QString m_uniqueName;
|
||||
MainWindowQuick *m_mainWindow = nullptr;
|
||||
Controllers::MainWindow *m_mainWindow = nullptr;
|
||||
KDDockWidgets::MainWindowOptions m_options = KDDockWidgets::MainWindowOption_None;
|
||||
};
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "MainWindow_qtquick.h"
|
||||
|
||||
using namespace KDDockWidgets;
|
||||
using namespace KDDockWidgets::Views;
|
||||
using namespace KDDockWidgets::Controllers;
|
||||
|
||||
MainWindowMDI_qtquick::MainWindowMDI_qtquick(const QString &uniqueName, QQuickItem *parent, Qt::WindowFlags flags)
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
namespace KDDockWidgets {
|
||||
|
||||
namespace Views {
|
||||
|
||||
/// @brief MainWindow sub-class which uses MDI as a layout
|
||||
class DOCKS_EXPORT MainWindowMDI_qtquick : public Views::MainWindow_qtquick, public Views::MainWindowMDI
|
||||
@@ -36,4 +37,6 @@ public:
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user