Make MainWindow::init() private

This commit is contained in:
Sergio Martins
2022-06-15 16:55:46 +01:00
parent 38432ccacd
commit 126ed773cd
6 changed files with 17 additions and 12 deletions

View File

@@ -32,6 +32,9 @@ class TestDocks;
namespace KDDockWidgets {
namespace Views {
class MainWindowViewInterface;
}
namespace Controllers {
@@ -62,7 +65,6 @@ public:
explicit MainWindow(View *view, const QString &uniqueName, MainWindowOptions options);
~MainWindow() override;
void init(const QString &name);
/**
* @brief Docks a DockWidget into the central frame, tabbed.
@@ -233,9 +235,12 @@ Q_SIGNALS:
void frameCountChanged(int);
private:
void init(const QString &name);
class Private;
Private *const d;
friend class KDDockWidgets::Views::MainWindowViewInterface;
friend class ::TestDocks;
friend class KDDockWidgets::LayoutSaver;
bool deserialize(const LayoutSaver::MainWindow &);

View File

@@ -52,7 +52,7 @@ MainWindow_qtquick::MainWindow_qtquick(const QString &uniqueName, MainWindowOpti
, MainWindowViewInterface(static_cast<Controllers::MainWindow *>(View::controller()))
, d(new Private(this))
{
m_mainWindow->init(uniqueName);
MainWindowViewInterface::init(uniqueName);
makeItemFillParent(this);
Controllers::Layout *lw = m_mainWindow->layout();

View File

@@ -126,9 +126,8 @@ MainWindow_qtwidgets::MainWindow_qtwidgets(const QString &uniqueName,
, MainWindowViewInterface(static_cast<Controllers::MainWindow *>(controller()))
, d(new Private(this))
{
auto controller = mainWindow();
controller->init(uniqueName);
init();
MainWindowViewInterface::init(uniqueName);
d->init();
}
MainWindow_qtwidgets::~MainWindow_qtwidgets()
@@ -136,11 +135,6 @@ MainWindow_qtwidgets::~MainWindow_qtwidgets()
delete d;
}
void MainWindow_qtwidgets::init()
{
d->init();
}
void MainWindow_qtwidgets::setCentralWidget(QWidget *w)
{
QMainWindow::setCentralWidget(w);

View File

@@ -73,7 +73,6 @@ protected:
private:
friend class Controllers::MainWindow;
using QMainWindow::setCentralWidget;
void init() override;
void setCentralWidget(QWidget *); // overridden just to make it private
class Private;

View File

@@ -10,6 +10,7 @@
*/
#include "MainWindowViewInterface.h"
#include "kddockwidgets/controllers/MainWindow.h"
namespace KDDockWidgets::Views {
@@ -25,4 +26,9 @@ Controllers::MainWindow *MainWindowViewInterface::mainWindow() const
return m_mainWindow;
}
}
void MainWindowViewInterface::init(const QString &name)
{
m_mainWindow->init(name);
}
}

View File

@@ -40,6 +40,7 @@ public:
Controllers::MainWindow *mainWindow() const;
protected:
void init(const QString &name);
Controllers::MainWindow *const m_mainWindow;
};