diff --git a/src/QWidgetAdapter.h b/src/QWidgetAdapter.h index 3119c907..ddf05840 100644 --- a/src/QWidgetAdapter.h +++ b/src/QWidgetAdapter.h @@ -27,15 +27,29 @@ # include "../multisplitter/Widget_qwidget.h" # include "private/widgets/QWidgetAdapter_widgets_p.h" # include + namespace KDDockWidgets { + class MainWindow; + class DockWidget; + } + typedef QWidget QWidgetOrQuick; typedef QMainWindow QMainWindowOrQuick; typedef Layouting::Widget_qwidget LayoutGuestWidgetBase; + typedef KDDockWidgets::MainWindow MainWindowType; + typedef KDDockWidgets::DockWidget DockWidgetType; #else # include "../multisplitter/Widget_quick.h" # include "private/quick/QWidgetAdapter_quick_p.h" + namespace KDDockWidgets { + class MainWindowQuick; + class DockWidgetQuick; + } + typedef KDDockWidgets::QWidgetAdapter QWidgetOrQuick; typedef QWidgetOrQuick QMainWindowOrQuick; typedef Layouting::Widget_quick LayoutGuestWidgetBase; + typedef KDDockWidgets::MainWindowQuick MainWindowType; + typedef KDDockWidgets::DockWidgetQuick DockWidgetType; #endif class LayoutGuestWidget : public KDDockWidgets::QWidgetAdapter diff --git a/src/layoutlinter_main.cpp b/src/layoutlinter_main.cpp index f584bf4d..43de7c7c 100644 --- a/src/layoutlinter_main.cpp +++ b/src/layoutlinter_main.cpp @@ -10,8 +10,14 @@ */ #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 #include @@ -22,11 +28,11 @@ using namespace KDDockWidgets; static bool lint(const QString &filename) { DockWidgetFactoryFunc dwFunc = [] (const QString &dwName) { - return static_cast(new DockWidget(dwName)); + return static_cast(new DockWidgetType(dwName)); }; MainWindowFactoryFunc mwFunc = [] (const QString &dwName) { - return static_cast(new MainWindow(dwName)); + return static_cast(new MainWindowType(dwName)); }; KDDockWidgets::Config::self().setDockWidgetFactoryFunc(dwFunc); diff --git a/src/private/quick/MainWindowQuick.cpp b/src/private/quick/MainWindowQuick.cpp index 07c7eb1e..66d8f54a 100644 --- a/src/private/quick/MainWindowQuick.cpp +++ b/src/private/quick/MainWindowQuick.cpp @@ -14,8 +14,8 @@ using namespace KDDockWidgets; -MainWindowQuick::MainWindowQuick() - : MainWindowBase(QString(), MainWindowOption_HasCentralFrame) +MainWindowQuick::MainWindowQuick(const QString &uniqueName) + : MainWindowBase(uniqueName, MainWindowOption_None) { qDebug() << "Created"; } diff --git a/src/private/quick/MainWindowQuick_p.h b/src/private/quick/MainWindowQuick_p.h index 693c4608..e23cf2ad 100644 --- a/src/private/quick/MainWindowQuick_p.h +++ b/src/private/quick/MainWindowQuick_p.h @@ -16,13 +16,13 @@ namespace KDDockWidgets { -class MainWindowQuick : public MainWindowBase +class DOCKS_EXPORT MainWindowQuick : public MainWindowBase { Q_OBJECT Q_PROPERTY(QString uniqueName READ uniqueName WRITE setUniqueName NOTIFY uniqueNameChanged) Q_PROPERTY(KDDockWidgets::DropAreaWithCentralFrame* dropArea READ dropArea WRITE setDropArea NOTIFY dropAreaChanged) public: - MainWindowQuick(); + explicit MainWindowQuick(const QString &uniqueName = {}); protected: DropAreaWithCentralFrame *dropArea() const override; void setDropArea(DropAreaWithCentralFrame*);