diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c1c434c4..77939828 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -97,7 +97,6 @@ set(DOCKS_INSTALLABLE_INCLUDES FocusScope.h QWidgetAdapter.h LayoutSaver.h - LayoutSaver_p.h ) set(DOCKS_INSTALLABLE_PRIVATE_INCLUDES diff --git a/src/DockWidgetBase.cpp b/src/DockWidgetBase.cpp index 5b157579..929878fb 100644 --- a/src/DockWidgetBase.cpp +++ b/src/DockWidgetBase.cpp @@ -22,6 +22,7 @@ #include "private/Position_p.h" #include "WindowBeingDragged_p.h" #include "SideBar_p.h" +#include "LayoutSaver_p.h" #include #include diff --git a/src/DockWidgetBase.h b/src/DockWidgetBase.h index 7b9a15a6..dee94bf7 100644 --- a/src/DockWidgetBase.h +++ b/src/DockWidgetBase.h @@ -22,9 +22,10 @@ #include "docks_export.h" #include "KDDockWidgets.h" #include "QWidgetAdapter.h" -#include "LayoutSaver_p.h" +#include "LayoutSaver.h" #include +#include // clazy:excludeall=ctor-missing-parent-argument @@ -499,12 +500,12 @@ private: * @brief Constructs a dock widget from its serialized form. * @internal */ - static DockWidgetBase *deserialize(const LayoutSaver::DockWidget::Ptr &); + static DockWidgetBase *deserialize(const std::shared_ptr &); /** * @brief Serializes this dock widget into an intermediate form */ - LayoutSaver::DockWidget::Ptr serialize() const; + std::shared_ptr serialize() const; /** * @brief the Frame which contains this dock widgets. diff --git a/src/MainWindowBase.cpp b/src/MainWindowBase.cpp index 0c3367e8..f81b53cd 100644 --- a/src/MainWindowBase.cpp +++ b/src/MainWindowBase.cpp @@ -24,6 +24,7 @@ #include "Utils_p.h" #include "SideBar_p.h" #include "Logging_p.h" +#include "LayoutSaver_p.h" #include "WidgetResizeHandler_p.h" #include "FrameworkWidgetFactory.h" #include "DropAreaWithCentralFrame_p.h" diff --git a/src/MainWindowBase.h b/src/MainWindowBase.h index 24babda3..c9158519 100644 --- a/src/MainWindowBase.h +++ b/src/MainWindowBase.h @@ -23,7 +23,7 @@ #include "docks_export.h" #include "KDDockWidgets.h" #include "QWidgetAdapter.h" -#include "LayoutSaver_p.h" +#include "LayoutSaver.h" #include #include diff --git a/src/fwd_headers/kddockwidgets/private/LayoutSaver_p.h b/src/fwd_headers/kddockwidgets/private/LayoutSaver_p.h deleted file mode 100644 index ca27516d..00000000 --- a/src/fwd_headers/kddockwidgets/private/LayoutSaver_p.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - This file is part of KDDockWidgets. - - SPDX-FileCopyrightText: 2020-2021 Klarälvdalens Datakonsult AB, a KDAB Group company - Author: Sergio Martins - - SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only - - Contact KDAB at for commercial licensing options. -*/ - -#include "../../../LayoutSaver_p.h" diff --git a/src/private/FloatingWindow.cpp b/src/private/FloatingWindow.cpp index 173c11be..8af090c0 100644 --- a/src/private/FloatingWindow.cpp +++ b/src/private/FloatingWindow.cpp @@ -21,6 +21,7 @@ #include "Config.h" #include "FrameworkWidgetFactory.h" #include "DragController_p.h" +#include "../LayoutSaver_p.h" #include #include diff --git a/src/private/FloatingWindow_p.h b/src/private/FloatingWindow_p.h index 4c690d81..9c30ddd7 100644 --- a/src/private/FloatingWindow_p.h +++ b/src/private/FloatingWindow_p.h @@ -14,7 +14,7 @@ #include "kddockwidgets/docks_export.h" #include "kddockwidgets/QWidgetAdapter.h" -#include "LayoutSaver_p.h" +#include "kddockwidgets/LayoutSaver.h" #include "Frame_p.h" #include "Draggable_p.h" #include "DropArea_p.h" diff --git a/src/private/Frame.cpp b/src/private/Frame.cpp index 6488c8f0..328f028c 100644 --- a/src/private/Frame.cpp +++ b/src/private/Frame.cpp @@ -27,6 +27,7 @@ #include "TitleBar_p.h" #include "TabWidget_p.h" #include "FrameworkWidgetFactory.h" +#include "LayoutSaver_p.h" #include #include diff --git a/src/private/Frame_p.h b/src/private/Frame_p.h index 19f4994a..b5c80e44 100644 --- a/src/private/Frame_p.h +++ b/src/private/Frame_p.h @@ -23,7 +23,7 @@ #include "kddockwidgets/QWidgetAdapter.h" #include "kddockwidgets/FocusScope.h" #include "kddockwidgets/DockWidgetBase.h" -#include "../LayoutSaver_p.h" +#include "kddockwidgets/LayoutSaver.h" #include "multisplitter/Widget.h" #include diff --git a/src/private/MultiSplitter.cpp b/src/private/MultiSplitter.cpp index 127521bf..bd71ab8b 100644 --- a/src/private/MultiSplitter.cpp +++ b/src/private/MultiSplitter.cpp @@ -28,6 +28,7 @@ #include "Position_p.h" #include "DockRegistry_p.h" #include "Config.h" +#include "../LayoutSaver_p.h" #include "FrameworkWidgetFactory.h" #include "multisplitter/Widget.h" #include "DropArea_p.h" diff --git a/src/private/MultiSplitter_p.h b/src/private/MultiSplitter_p.h index 4381cb68..80b9b30c 100644 --- a/src/private/MultiSplitter_p.h +++ b/src/private/MultiSplitter_p.h @@ -25,8 +25,7 @@ #include "kddockwidgets/docks_export.h" #include "kddockwidgets/QWidgetAdapter.h" #include "kddockwidgets/KDDockWidgets.h" -#include "kddockwidgets/private/LayoutSaver_p.h" - +#include "kddockwidgets/LayoutSaver.h" namespace Layouting { class Item; diff --git a/src/private/Position.cpp b/src/private/Position.cpp index 92daca32..d695a4f6 100644 --- a/src/private/Position.cpp +++ b/src/private/Position.cpp @@ -19,6 +19,7 @@ #include "DockRegistry_p.h" #include "MultiSplitter_p.h" #include "FloatingWindow_p.h" +#include "LayoutSaver_p.h" #include @@ -205,3 +206,16 @@ ItemRef::~ItemRef() item->unref(); } } + +LayoutSaver::Position LastPositions::serialize() +{ + LayoutSaver::Position result = lastPosition->serialize(); + result.lastFloatingGeometry = lastFloatingGeometry(); + return result; +} + +void LastPositions::deserialize(const LayoutSaver::Position &p) +{ + m_lastFloatingGeometry = p.lastFloatingGeometry; + lastPosition->deserialize(p); +} diff --git a/src/private/Position_p.h b/src/private/Position_p.h index 3b03cdab..064e97ff 100644 --- a/src/private/Position_p.h +++ b/src/private/Position_p.h @@ -20,7 +20,7 @@ #include "docks_export.h" #include "Logging_p.h" -#include "LayoutSaver_p.h" +#include "LayoutSaver.h" #include "QWidgetAdapter.h" #include @@ -143,18 +143,8 @@ struct LastPositions return m_lastFloatingGeometry; } - LayoutSaver::Position serialize() - { - LayoutSaver::Position result = lastPosition->serialize(); - result.lastFloatingGeometry = lastFloatingGeometry(); - return result; - } - - void deserialize(const LayoutSaver::Position &p) - { - m_lastFloatingGeometry = p.lastFloatingGeometry; - lastPosition->deserialize(p); - } + LayoutSaver::Position serialize(); + void deserialize(const LayoutSaver::Position &p); Layouting::Item* lastItem() const { return lastPosition->layoutItem();