From 594997802f14afd4d95e664b34a2c3935178be70 Mon Sep 17 00:00:00 2001
From: Matthias <github@mpuchner.de>
Date: Wed, 9 Dec 2020 09:34:27 +0100
Subject: [PATCH] reduce dependencies to Manhattan style

replace Manhattan::MiniSplitter by QSplitter
---
 GUI/coregui/Views/ImportDataView.cpp          | 18 ++++++++---------
 GUI/coregui/Views/ImportDataView.h            |  4 ----
 .../RealDataSelectorWidget.cpp                | 14 ++++++-------
 .../RealDataSelectorWidget.h                  |  4 ----
 .../Views/JobWidgets/JobSelectorWidget.cpp    | 14 ++++++-------
 .../Views/JobWidgets/JobSelectorWidget.h      |  5 -----
 .../Views/JobWidgets/ProjectionsEditor.cpp    | 20 +++++++++----------
 .../Views/JobWidgets/ProjectionsEditor.h      |  6 ------
 GUI/coregui/Views/MaskWidgets/MaskEditor.cpp  | 14 ++++++-------
 GUI/coregui/Views/MaskWidgets/MaskEditor.h    |  4 ----
 .../PropertyEditor/TestComponentView.cpp      |  8 ++++----
 .../Views/PropertyEditor/TestComponentView.h  |  6 ++----
 12 files changed, 45 insertions(+), 72 deletions(-)

diff --git a/GUI/coregui/Views/ImportDataView.cpp b/GUI/coregui/Views/ImportDataView.cpp
index 5f23281b332..4d5153d8c4a 100644
--- a/GUI/coregui/Views/ImportDataView.cpp
+++ b/GUI/coregui/Views/ImportDataView.cpp
@@ -18,8 +18,8 @@
 #include "GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.h"
 #include "GUI/coregui/mainwindow/mainwindow.h"
 #include "GUI/coregui/mainwindow/mainwindow_constants.h"
+#include <QSplitter>
 #include <QVBoxLayout>
-#include <qt-manhattan-style/minisplitter.h>
 
 namespace {
 const bool reuse_widget = true;
@@ -27,7 +27,6 @@ const bool reuse_widget = true;
 
 ImportDataView::ImportDataView(MainWindow* mainWindow)
     : QWidget(mainWindow)
-    , m_splitter(new Manhattan::MiniSplitter)
     , m_selectorWidget(new RealDataSelectorWidget)
     , m_stackedWidget(new ItemStackPresenter<RealDataPresenter>(reuse_widget))
     , m_realDataModel(mainWindow->realDataModel()) {
@@ -40,15 +39,16 @@ ImportDataView::ImportDataView(MainWindow* mainWindow)
     m_selectorWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
     m_stackedWidget->setSizeHint(QSize(1024, 1024));
 
-    m_splitter->addWidget(m_selectorWidget);
-    m_splitter->addWidget(m_stackedWidget);
-    m_splitter->setCollapsible(0, false);
-    m_splitter->setCollapsible(1, false);
+    auto splitter = new QSplitter;
+    splitter->addWidget(m_selectorWidget);
+    splitter->addWidget(m_stackedWidget);
+    splitter->setCollapsible(0, false);
+    splitter->setCollapsible(1, false);
 
-    m_splitter->setSizes(QList<int>() << Constants::ITEM_SELECTOR_WIDGET_WIDTH
-                                      << Constants::ITEM_SELECTOR_WIDGET_WIDTH * 7);
+    splitter->setSizes(QList<int>() << Constants::ITEM_SELECTOR_WIDGET_WIDTH
+                                    << Constants::ITEM_SELECTOR_WIDGET_WIDTH * 7);
 
-    mainLayout->addWidget(m_splitter);
+    mainLayout->addWidget(splitter);
 
     setLayout(mainLayout);
 
diff --git a/GUI/coregui/Views/ImportDataView.h b/GUI/coregui/Views/ImportDataView.h
index bb1573908bb..71cce798024 100644
--- a/GUI/coregui/Views/ImportDataView.h
+++ b/GUI/coregui/Views/ImportDataView.h
@@ -20,9 +20,6 @@
 
 class RealDataModel;
 class RealDataSelectorWidget;
-namespace Manhattan {
-class MiniSplitter;
-}
 
 //! The ImportDataView class is a main view for importing experimental data.
 
@@ -38,7 +35,6 @@ public slots:
 private:
     void setupConnections();
 
-    Manhattan::MiniSplitter* m_splitter;
     RealDataSelectorWidget* m_selectorWidget;
     ItemStackPresenter<RealDataPresenter>* m_stackedWidget;
     RealDataModel* m_realDataModel;
diff --git a/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.cpp b/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.cpp
index af409487b3c..2bc4197e30d 100644
--- a/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.cpp
+++ b/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.cpp
@@ -20,25 +20,25 @@
 #include "GUI/coregui/Views/ImportDataWidgets/RealDataSelectorHBar.h"
 #include "GUI/coregui/Views/ImportDataWidgets/RealDataSelectorToolBar.h"
 #include <QItemSelectionModel>
+#include <QSplitter>
 #include <QVBoxLayout>
-#include <qt-manhattan-style/minisplitter.h>
 
 RealDataSelectorWidget::RealDataSelectorWidget(QWidget* parent)
     : QWidget(parent)
     , m_selectorActions(new RealDataSelectorActions(this))
     , m_toolBar(new RealDataSelectorToolBar(m_selectorActions, this))
     , m_hamBar(new RealDataSelectorHBar(m_selectorActions, this))
-    , m_splitter(new Manhattan::MiniSplitter)
     , m_selectorWidget(new ItemSelectorWidget)
     , m_propertiesWidget(new RealDataPropertiesWidget) {
     setMinimumSize(128, 600);
     setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
     setWindowTitle("RealDataSelectorWidget");
 
-    m_splitter->setOrientation(Qt::Vertical);
-    m_splitter->addWidget(m_selectorWidget);
-    m_splitter->addWidget(m_propertiesWidget);
-    m_splitter->setChildrenCollapsible(true);
+    auto splitter = new QSplitter;
+    splitter->setOrientation(Qt::Vertical);
+    splitter->addWidget(m_selectorWidget);
+    splitter->addWidget(m_propertiesWidget);
+    splitter->setChildrenCollapsible(true);
 
     auto mainLayout = new QVBoxLayout;
     mainLayout->setMargin(0);
@@ -46,7 +46,7 @@ RealDataSelectorWidget::RealDataSelectorWidget(QWidget* parent)
     mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->addWidget(m_toolBar);
     mainLayout->addWidget(m_hamBar);
-    mainLayout->addWidget(m_splitter);
+    mainLayout->addWidget(splitter);
     setLayout(mainLayout);
 
     connect(m_selectorWidget, &ItemSelectorWidget::contextMenuRequest, m_selectorActions,
diff --git a/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.h b/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.h
index 988ac4171b8..7f5ef93cf1d 100644
--- a/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.h
+++ b/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorWidget.h
@@ -26,9 +26,6 @@ class SessionItem;
 class RealDataSelectorActions;
 class RealDataSelectorToolBar;
 class RealDataSelectorHBar;
-namespace Manhattan {
-class MiniSplitter;
-}
 
 //! The RealDataSelectorWidget represents left panel of ImportDataView. Contains a widget to
 //! select data set (ItemSelectorWidget) and properties of currently selected data
@@ -55,7 +52,6 @@ private:
     RealDataSelectorActions* m_selectorActions;
     RealDataSelectorToolBar* m_toolBar;
     RealDataSelectorHBar* m_hamBar;
-    Manhattan::MiniSplitter* m_splitter;
     ItemSelectorWidget* m_selectorWidget;
     RealDataPropertiesWidget* m_propertiesWidget;
 };
diff --git a/GUI/coregui/Views/JobWidgets/JobSelectorWidget.cpp b/GUI/coregui/Views/JobWidgets/JobSelectorWidget.cpp
index 1bfe5a46bac..a6ebb312b16 100644
--- a/GUI/coregui/Views/JobWidgets/JobSelectorWidget.cpp
+++ b/GUI/coregui/Views/JobWidgets/JobSelectorWidget.cpp
@@ -22,11 +22,10 @@
 #include "GUI/coregui/mainwindow/mainwindow_constants.h"
 #include "GUI/coregui/utils/StyleUtils.h"
 #include <QHBoxLayout>
-#include <qt-manhattan-style/minisplitter.h>
+#include <QSplitter>
 
 JobSelectorWidget::JobSelectorWidget(JobModel* jobModel, QWidget* parent)
     : QWidget(parent)
-    , m_splitter(new Manhattan::MiniSplitter)
     , m_jobSelectorActions(new JobSelectorActions(jobModel, this))
     , m_toolBar(new JobSelectorToolBar(m_jobSelectorActions, this))
     , m_jobListWidget(new JobListWidget)
@@ -39,17 +38,18 @@ JobSelectorWidget::JobSelectorWidget(JobModel* jobModel, QWidget* parent)
 
     setModel(jobModel);
 
-    m_splitter->setOrientation(Qt::Vertical);
-    m_splitter->addWidget(m_jobListWidget);
-    m_splitter->addWidget(m_jobProperties);
-    m_splitter->setChildrenCollapsible(true);
+    auto splitter = new QSplitter;
+    splitter->setOrientation(Qt::Vertical);
+    splitter->addWidget(m_jobListWidget);
+    splitter->addWidget(m_jobProperties);
+    splitter->setChildrenCollapsible(true);
 
     auto mainLayout = new QVBoxLayout;
     mainLayout->setMargin(0);
     mainLayout->setSpacing(0);
     mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->addWidget(m_toolBar);
-    mainLayout->addWidget(m_splitter);
+    mainLayout->addWidget(splitter);
     setLayout(mainLayout);
 
     m_jobSelectorActions->setSelectionModel(m_jobListWidget->selectionModel());
diff --git a/GUI/coregui/Views/JobWidgets/JobSelectorWidget.h b/GUI/coregui/Views/JobWidgets/JobSelectorWidget.h
index 816aa3d7a74..36423d7cde1 100644
--- a/GUI/coregui/Views/JobWidgets/JobSelectorWidget.h
+++ b/GUI/coregui/Views/JobWidgets/JobSelectorWidget.h
@@ -24,10 +24,6 @@ class JobSelectorActions;
 class JobListWidget;
 class JobPropertiesWidget;
 
-namespace Manhattan {
-class MiniSplitter;
-}
-
 //! The JobSelectorWidget class represents left panel of JobView. Contains a tree to select jobs
 //! on the top and job property editor at the bottom.
 
@@ -54,7 +50,6 @@ private slots:
     void onSelectionChanged(JobItem* jobItem);
 
 private:
-    Manhattan::MiniSplitter* m_splitter;
     JobSelectorActions* m_jobSelectorActions;
     JobSelectorToolBar* m_toolBar;
     JobListWidget* m_jobListWidget;
diff --git a/GUI/coregui/Views/JobWidgets/ProjectionsEditor.cpp b/GUI/coregui/Views/JobWidgets/ProjectionsEditor.cpp
index ece2e36a09f..29e89de2d96 100644
--- a/GUI/coregui/Views/JobWidgets/ProjectionsEditor.cpp
+++ b/GUI/coregui/Views/JobWidgets/ProjectionsEditor.cpp
@@ -22,7 +22,6 @@
 #include "GUI/coregui/Views/JobWidgets/ProjectionsWidget.h"
 #include <QItemSelectionModel>
 #include <QSplitter>
-#include <qt-manhattan-style/minisplitter.h>
 
 ProjectionsEditor::ProjectionsEditor(QWidget* parent)
     : QMainWindow(parent)
@@ -31,20 +30,19 @@ ProjectionsEditor::ProjectionsEditor(QWidget* parent)
     , m_projectionsCanvas(new ProjectionsEditorCanvas)
     , m_projectionsWidget(new ProjectionsWidget)
     , m_propertyPanel(new ProjectionsPropertyPanel)
-    , m_selectionModel(nullptr)
-    , m_rightSplitter(new Manhattan::MiniSplitter)
-    , m_bottomSplitter(new QSplitter) {
+    , m_selectionModel(nullptr) {
     addToolBar(Qt::RightToolBarArea, m_toolBar);
 
-    m_bottomSplitter->setOrientation(Qt::Vertical);
-    m_bottomSplitter->addWidget(m_projectionsCanvas);
-    m_bottomSplitter->addWidget(m_projectionsWidget);
-    m_bottomSplitter->setStyleSheet("background-color:white;");
+    auto bottomSplitter = new QSplitter;
+    bottomSplitter->setOrientation(Qt::Vertical);
+    bottomSplitter->addWidget(m_projectionsCanvas);
+    bottomSplitter->addWidget(m_projectionsWidget);
 
-    m_rightSplitter->addWidget(m_bottomSplitter);
-    m_rightSplitter->addWidget(m_propertyPanel);
+    auto rightSplitter(new QSplitter);
+    rightSplitter->addWidget(bottomSplitter);
+    rightSplitter->addWidget(m_propertyPanel);
 
-    setCentralWidget(m_rightSplitter);
+    setCentralWidget(rightSplitter);
 
     m_propertyPanel->setHidden(true);
     setup_connections();
diff --git a/GUI/coregui/Views/JobWidgets/ProjectionsEditor.h b/GUI/coregui/Views/JobWidgets/ProjectionsEditor.h
index 042692a2510..7d60ae5ae38 100644
--- a/GUI/coregui/Views/JobWidgets/ProjectionsEditor.h
+++ b/GUI/coregui/Views/JobWidgets/ProjectionsEditor.h
@@ -27,10 +27,6 @@ class ProjectionsEditorCanvas;
 class ProjectionsPropertyPanel;
 class ProjectionsWidget;
 class QItemSelectionModel;
-class QSplitter;
-namespace Manhattan {
-class MiniSplitter;
-}
 
 //! Editor to draw projections on top of intensity plot. Part of
 
@@ -56,8 +52,6 @@ private:
     ProjectionsWidget* m_projectionsWidget;       //! bottom widget to draw projections plot
     ProjectionsPropertyPanel* m_propertyPanel;    //! pannel at the right with properties
     QItemSelectionModel* m_selectionModel;
-    Manhattan::MiniSplitter* m_rightSplitter;
-    QSplitter* m_bottomSplitter;
 };
 
 #endif // BORNAGAIN_GUI_COREGUI_VIEWS_JOBWIDGETS_PROJECTIONSEDITOR_H
diff --git a/GUI/coregui/Views/MaskWidgets/MaskEditor.cpp b/GUI/coregui/Views/MaskWidgets/MaskEditor.cpp
index aa1dfc3ce11..ed999621b84 100644
--- a/GUI/coregui/Views/MaskWidgets/MaskEditor.cpp
+++ b/GUI/coregui/Views/MaskWidgets/MaskEditor.cpp
@@ -21,25 +21,25 @@
 #include "GUI/coregui/Views/MaskWidgets/MaskGraphicsScene.h"
 #include <QBoxLayout>
 #include <QContextMenuEvent>
-#include <qt-manhattan-style/minisplitter.h>
+#include <QSplitter>
 
 MaskEditor::MaskEditor(QWidget* parent)
     : QMainWindow(parent)
     , m_editorActions(new MaskEditorActions(this))
     , m_toolBar(new MaskEditorToolBar(m_editorActions))
     , m_editorPropertyPanel(new MaskEditorPropertyPanel)
-    , m_editorCanvas(new MaskEditorCanvas)
-    , m_splitter(new Manhattan::MiniSplitter) {
+    , m_editorCanvas(new MaskEditorCanvas) {
     setObjectName("MaskEditor");
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
-    m_splitter->addWidget(m_editorCanvas);
-    m_splitter->addWidget(m_editorPropertyPanel);
-    m_splitter->setCollapsible(1, true);
+    auto splitter = new QSplitter;
+    splitter->addWidget(m_editorCanvas);
+    splitter->addWidget(m_editorPropertyPanel);
+    splitter->setCollapsible(1, true);
 
     addToolBar(Qt::RightToolBarArea, m_toolBar);
 
-    setCentralWidget(m_splitter);
+    setCentralWidget(splitter);
 
     setup_connections();
 
diff --git a/GUI/coregui/Views/MaskWidgets/MaskEditor.h b/GUI/coregui/Views/MaskWidgets/MaskEditor.h
index 26bb155319e..4a6b5a58637 100644
--- a/GUI/coregui/Views/MaskWidgets/MaskEditor.h
+++ b/GUI/coregui/Views/MaskWidgets/MaskEditor.h
@@ -25,9 +25,6 @@ class MaskEditorToolBar;
 class MaskEditorCanvas;
 class SessionModel;
 class IntensityDataItem;
-namespace Manhattan {
-class MiniSplitter;
-}
 
 //! Main class to draw masks on top of intensity data map
 
@@ -60,7 +57,6 @@ private:
     MaskEditorToolBar* m_toolBar;
     MaskEditorPropertyPanel* m_editorPropertyPanel;
     MaskEditorCanvas* m_editorCanvas;
-    Manhattan::MiniSplitter* m_splitter;
 };
 
 #endif // BORNAGAIN_GUI_COREGUI_VIEWS_MASKWIDGETS_MASKEDITOR_H
diff --git a/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp b/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp
index 027824d4e93..2e2638fee7a 100644
--- a/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp
+++ b/GUI/coregui/Views/PropertyEditor/TestComponentView.cpp
@@ -30,9 +30,9 @@
 #include <QDebug>
 #include <QItemSelectionModel>
 #include <QPushButton>
+#include <QSplitter>
 #include <QTreeView>
 #include <limits>
-#include <qt-manhattan-style/minisplitter.h>
 
 TestComponentView::TestComponentView(MainWindow* mainWindow)
     : m_mainWindow(mainWindow)
@@ -44,7 +44,7 @@ TestComponentView::TestComponentView(MainWindow* mainWindow)
     , m_updateButton(new QPushButton("Update models"))
     , m_addItemButton(new QPushButton("Add item"))
     , m_expandButton(new QPushButton("Expand tree"))
-    , m_splitter(new Manhattan::MiniSplitter)
+    , m_splitter(new QSplitter)
     , m_delegate(new SessionModelDelegate(this))
     , m_isExpaned(false) {
     auto buttonLayout = new QHBoxLayout;
@@ -138,7 +138,7 @@ void TestComponentView::onSelectionChanged(const QItemSelection& selected, const
 }
 
 QWidget* TestComponentView::componentTreePanel() {
-    Manhattan::MiniSplitter* result = new Manhattan::MiniSplitter(Qt::Vertical);
+    auto* result = new QSplitter(Qt::Vertical);
     result->addWidget(m_componentTree);
 
     m_componentTree->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
@@ -146,7 +146,7 @@ QWidget* TestComponentView::componentTreePanel() {
 }
 
 QWidget* TestComponentView::componentBoxPanel() {
-    Manhattan::MiniSplitter* result = new Manhattan::MiniSplitter(Qt::Vertical);
+    auto* result = new QSplitter(Qt::Vertical);
     result->addWidget(m_componentFlat);
 
     m_componentFlat->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
diff --git a/GUI/coregui/Views/PropertyEditor/TestComponentView.h b/GUI/coregui/Views/PropertyEditor/TestComponentView.h
index 92031b7f7bc..b72922a967d 100644
--- a/GUI/coregui/Views/PropertyEditor/TestComponentView.h
+++ b/GUI/coregui/Views/PropertyEditor/TestComponentView.h
@@ -25,10 +25,8 @@ class SessionModelDelegate;
 class QItemSelection;
 class ComponentEditor;
 class ComponentTreeView;
-namespace Manhattan {
-class MiniSplitter;
-}
 class QBoxLayout;
+class QSplitter;
 class ComponentFlatView;
 class MaterialModel;
 
@@ -59,7 +57,7 @@ private:
     QPushButton* m_updateButton;
     QPushButton* m_addItemButton;
     QPushButton* m_expandButton;
-    Manhattan::MiniSplitter* m_splitter;
+    QSplitter* m_splitter;
     SessionModelDelegate* m_delegate;
     bool m_isExpaned;
 };
-- 
GitLab