qml: Fix compile for layoutlinter

Doesn't link yet though
This commit is contained in:
Sergio Martins
2020-07-26 21:32:14 +01:00
parent ed752d953a
commit f6837ee4e5
4 changed files with 28 additions and 8 deletions

View File

@@ -27,15 +27,29 @@
# include "../multisplitter/Widget_qwidget.h" # include "../multisplitter/Widget_qwidget.h"
# include "private/widgets/QWidgetAdapter_widgets_p.h" # include "private/widgets/QWidgetAdapter_widgets_p.h"
# include <QMainWindow> # include <QMainWindow>
namespace KDDockWidgets {
class MainWindow;
class DockWidget;
}
typedef QWidget QWidgetOrQuick; typedef QWidget QWidgetOrQuick;
typedef QMainWindow QMainWindowOrQuick; typedef QMainWindow QMainWindowOrQuick;
typedef Layouting::Widget_qwidget LayoutGuestWidgetBase; typedef Layouting::Widget_qwidget LayoutGuestWidgetBase;
typedef KDDockWidgets::MainWindow MainWindowType;
typedef KDDockWidgets::DockWidget DockWidgetType;
#else #else
# include "../multisplitter/Widget_quick.h" # include "../multisplitter/Widget_quick.h"
# include "private/quick/QWidgetAdapter_quick_p.h" # include "private/quick/QWidgetAdapter_quick_p.h"
namespace KDDockWidgets {
class MainWindowQuick;
class DockWidgetQuick;
}
typedef KDDockWidgets::QWidgetAdapter QWidgetOrQuick; typedef KDDockWidgets::QWidgetAdapter QWidgetOrQuick;
typedef QWidgetOrQuick QMainWindowOrQuick; typedef QWidgetOrQuick QMainWindowOrQuick;
typedef Layouting::Widget_quick LayoutGuestWidgetBase; typedef Layouting::Widget_quick LayoutGuestWidgetBase;
typedef KDDockWidgets::MainWindowQuick MainWindowType;
typedef KDDockWidgets::DockWidgetQuick DockWidgetType;
#endif #endif
class LayoutGuestWidget : public KDDockWidgets::QWidgetAdapter class LayoutGuestWidget : public KDDockWidgets::QWidgetAdapter

View File

@@ -10,8 +10,14 @@
*/ */
#include "Config.h" #include "Config.h"
#include "DockWidget.h"
#include "MainWindow.h" #ifdef KDDOCKWIDGETS_QTQUICK
# include "private/quick/DockWidgetQuick.h"
# include "private/quick/MainWindowQuick_p.h"
#else
# include "DockWidget.h"
# include "MainWindow.h"
#endif
#include <QApplication> #include <QApplication>
#include <QDebug> #include <QDebug>
@@ -22,11 +28,11 @@ using namespace KDDockWidgets;
static bool lint(const QString &filename) static bool lint(const QString &filename)
{ {
DockWidgetFactoryFunc dwFunc = [] (const QString &dwName) { DockWidgetFactoryFunc dwFunc = [] (const QString &dwName) {
return static_cast<DockWidgetBase*>(new DockWidget(dwName)); return static_cast<DockWidgetBase*>(new DockWidgetType(dwName));
}; };
MainWindowFactoryFunc mwFunc = [] (const QString &dwName) { MainWindowFactoryFunc mwFunc = [] (const QString &dwName) {
return static_cast<MainWindowBase*>(new MainWindow(dwName)); return static_cast<MainWindowBase*>(new MainWindowType(dwName));
}; };
KDDockWidgets::Config::self().setDockWidgetFactoryFunc(dwFunc); KDDockWidgets::Config::self().setDockWidgetFactoryFunc(dwFunc);

View File

@@ -14,8 +14,8 @@
using namespace KDDockWidgets; using namespace KDDockWidgets;
MainWindowQuick::MainWindowQuick() MainWindowQuick::MainWindowQuick(const QString &uniqueName)
: MainWindowBase(QString(), MainWindowOption_HasCentralFrame) : MainWindowBase(uniqueName, MainWindowOption_None)
{ {
qDebug() << "Created"; qDebug() << "Created";
} }

View File

@@ -16,13 +16,13 @@
namespace KDDockWidgets { namespace KDDockWidgets {
class MainWindowQuick : public MainWindowBase class DOCKS_EXPORT MainWindowQuick : public MainWindowBase
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(QString uniqueName READ uniqueName WRITE setUniqueName NOTIFY uniqueNameChanged) Q_PROPERTY(QString uniqueName READ uniqueName WRITE setUniqueName NOTIFY uniqueNameChanged)
Q_PROPERTY(KDDockWidgets::DropAreaWithCentralFrame* dropArea READ dropArea WRITE setDropArea NOTIFY dropAreaChanged) Q_PROPERTY(KDDockWidgets::DropAreaWithCentralFrame* dropArea READ dropArea WRITE setDropArea NOTIFY dropAreaChanged)
public: public:
MainWindowQuick(); explicit MainWindowQuick(const QString &uniqueName = {});
protected: protected:
DropAreaWithCentralFrame *dropArea() const override; DropAreaWithCentralFrame *dropArea() const override;
void setDropArea(DropAreaWithCentralFrame*); void setDropArea(DropAreaWithCentralFrame*);