From d742f88754dc1af35322a2af9ed793dc9544454e Mon Sep 17 00:00:00 2001
From: Gennady Pospelov <g.pospelov@fz-juelich.de>
Date: Fri, 12 Oct 2018 14:04:58 +0200
Subject: [PATCH] Standard beautification in SampleToolBar.

---
 .../Views/SampleDesigner/SampleToolBar.cpp    | 62 +++++++++----------
 .../Views/SampleDesigner/SampleToolBar.h      | 34 +++++-----
 GUI/coregui/Views/SampleView.cpp              |  1 +
 3 files changed, 47 insertions(+), 50 deletions(-)

diff --git a/GUI/coregui/Views/SampleDesigner/SampleToolBar.cpp b/GUI/coregui/Views/SampleDesigner/SampleToolBar.cpp
index 45807de1a75..31412d8171d 100644
--- a/GUI/coregui/Views/SampleDesigner/SampleToolBar.cpp
+++ b/GUI/coregui/Views/SampleDesigner/SampleToolBar.cpp
@@ -27,21 +27,19 @@
 #include <RealSpaceDialog.h>
 
 //! main tool bar on top of SampleView window
-SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* selectionModel,
-                             QWidget *parent)
-    : StyledToolBar(parent)
-    , m_sampleModel(sampleModel)
-    , m_selectionModel(selectionModel)
-    , m_dialog(nullptr)
-    , m_dialog_on(false)
+SampleToolBar::SampleToolBar(SampleModel* sampleModel, QItemSelectionModel* selectionModel,
+                             QWidget* parent)
+    : StyledToolBar(parent), m_sampleModel(sampleModel), m_selectionModel(selectionModel),
+      m_dialog(nullptr), m_dialog_on(false)
 {
     // Select & Pan
-    QToolButton *selectionPointerButton = new QToolButton;
+    auto selectionPointerButton = new QToolButton;
     selectionPointerButton->setCheckable(true);
     selectionPointerButton->setChecked(true);
     selectionPointerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_pointer.png"));
     selectionPointerButton->setToolTip("Edit mode.");
-    QToolButton *handPointerButton = new QToolButton;
+
+    auto handPointerButton = new QToolButton;
     handPointerButton->setCheckable(true);
     handPointerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_hand.png"));
     handPointerButton->setToolTip("Pan mode (space).");
@@ -49,19 +47,21 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
     m_pointerModeGroup = new QButtonGroup(this);
     m_pointerModeGroup->addButton(selectionPointerButton, DesignerView::RUBBER_SELECTION);
     m_pointerModeGroup->addButton(handPointerButton, DesignerView::HAND_DRAG);
-    connect(m_pointerModeGroup, SIGNAL(buttonClicked(int)),
-            this, SIGNAL(selectionMode(int)));
+    connect(m_pointerModeGroup,
+            static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked),
+            this, &SampleToolBar::selectionMode);
     addWidget(selectionPointerButton);
     addWidget(handPointerButton);
 
     addStyledSeparator();
 
     // unddo redo
-    QToolButton *unddoButton = new QToolButton;
+    auto unddoButton = new QToolButton;
     unddoButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_unddo.png"));
     unddoButton->setToolTip("Unddo last action (not implemented yet).");
     addWidget(unddoButton);
-    QToolButton *redoButton = new QToolButton;
+
+    auto redoButton = new QToolButton;
     redoButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_redo.png"));
     redoButton->setToolTip("Do again the last undone action (not implemented yet).");
     addWidget(redoButton);
@@ -74,24 +74,23 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
     m_removeButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_recycle.png"));
     m_removeButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
     m_removeButton->setToolTip("Remove selected items and they child items (del).");
-    connect(m_removeButton, SIGNAL(clicked()), this, SIGNAL(deleteItems()));
+    connect(m_removeButton, &QToolButton::clicked, this, &SampleToolBar::deleteItems);
     addWidget(m_removeButton);
 
     addStyledSeparator();
 
     // Center view
-
     m_centerViewButton = new QToolButton;
     m_centerViewButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_center.png"));
     m_centerViewButton->setToolTip("Center view.");
     addWidget(m_centerViewButton);
-    connect(m_centerViewButton, SIGNAL(clicked()), this, SIGNAL(centerView()));
+    connect(m_centerViewButton, &QToolButton::clicked, this, &SampleToolBar::centerView);
 
     // align sample
     m_alignItemsButton = new QToolButton;
     m_alignItemsButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_align.png"));
     m_alignItemsButton->setToolTip("Try to align items.");
-    connect(m_alignItemsButton, SIGNAL(clicked()), this, SIGNAL(smartAlign()));
+    connect(m_alignItemsButton, &QToolButton::clicked, this, &SampleToolBar::smartAlign);
     addWidget(m_alignItemsButton);
 
     // Zoom
@@ -99,15 +98,14 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
     addSeparator();
     addWidget(new QLabel(" Zoom "));
     m_scaleCombo = new QComboBox;
-    QStringList scales;
-    scales << "25%"<< "50%" << "75%" << "100%" << "125%" << "150%";
+    QStringList scales = QStringList() << "25%" << "50%" << "75%" << "100%" << "125%" << "150%";
     m_scaleCombo->addItems(scales);
     m_scaleCombo->setCurrentIndex(3);
-    connect(m_scaleCombo, SIGNAL(currentIndexChanged(QString)),
-            this, SLOT(onScaleComboChanged(QString)));
+    connect(m_scaleCombo,
+            static_cast<void(QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
+            this, &SampleToolBar::onScaleComboChanged);
     addWidget(m_scaleCombo);
 
-
     // MaterialEditor
     addWidget(new QLabel(" "));
     m_materialEditorButton = new QToolButton;
@@ -116,7 +114,8 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
     m_materialEditorButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
     m_materialEditorButton->setToolTip("Open material editor (m).");
     m_materialEditorButton->setShortcut(Qt::Key_M);
-    connect(m_materialEditorButton, SIGNAL(clicked()), this, SLOT(onMaterialEditorCall()));
+    connect(m_materialEditorButton, &QToolButton::clicked,
+            this, &SampleToolBar::onMaterialEditorCall);
     addWidget(m_materialEditorButton);
 
     addStyledSeparator();
@@ -125,31 +124,31 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
     addWidget(new QLabel(" "));
     m_RealSpaceViewerButton = new QToolButton;
     m_RealSpaceViewerButton->setText("Real Space Viewer");
-    //m_RealSpaceViewerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_materialeditor.png"));
+    // m_RealSpaceViewerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_materialeditor.png"));
     m_RealSpaceViewerButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
     m_RealSpaceViewerButton->setToolTip("Open real space 3D viewer.");
-    connect(m_RealSpaceViewerButton, SIGNAL(clicked()), this, SLOT(onRealSpaceViewerCall()));
+    connect(m_RealSpaceViewerButton, &QToolButton::clicked, this, &SampleToolBar::onRealSpaceViewerCall);
     addWidget(m_RealSpaceViewerButton);
 
     // Additional actions
     m_zoomOutAction = new QAction(this);
     m_zoomOutAction->setShortcut(QKeySequence(Qt::Key_Minus));
-    connect(m_zoomOutAction, SIGNAL(triggered()), this, SIGNAL(zoomOut()));
+    connect(m_zoomOutAction, &QAction::triggered, this, &SampleToolBar::zoomOut);
     addAction(m_zoomOutAction);
 
     m_zoomInAction = new QAction(this);
     m_zoomInAction->setShortcut(QKeySequence(Qt::Key_Equal));
-    connect(m_zoomInAction, SIGNAL(triggered()), this, SIGNAL(zoomIn()));
+    connect(m_zoomInAction, &QAction::triggered, this, &SampleToolBar::zoomIn);
     addAction(m_zoomInAction);
 }
 
 void SampleToolBar::onViewSelectionMode(int mode)
 {
-    if(mode == DesignerView::RUBBER_SELECTION || mode == DesignerView::HAND_DRAG)
+    if (mode == DesignerView::RUBBER_SELECTION || mode == DesignerView::HAND_DRAG)
         m_pointerModeGroup->button(mode)->setChecked(true);
 }
 
-void SampleToolBar::onScaleComboChanged(const QString &scale_string)
+void SampleToolBar::onScaleComboChanged(const QString& scale_string)
 {
     double scale = scale_string.left(scale_string.indexOf("%")).toDouble() / 100.0;
     emit changeScale(scale);
@@ -163,13 +162,12 @@ void SampleToolBar::onMaterialEditorCall()
 void SampleToolBar::onRealSpaceViewerCall()
 {
     // keep only one instance of dialog alive using a boolean flag
-    if(!m_dialog_on)
-    {
+    if (!m_dialog_on) {
         m_dialog_on = true;
         m_dialog = new RealSpaceDialog(m_sampleModel, m_selectionModel, this);
         m_dialog->show();
 
         // undo the flag when the dialog is destroyed on close event
-        connect(m_dialog, &QAction::destroyed, this, [&](){m_dialog_on = false;} );
+        connect(m_dialog, &QAction::destroyed, this, [&]() { m_dialog_on = false; });
     }
 }
diff --git a/GUI/coregui/Views/SampleDesigner/SampleToolBar.h b/GUI/coregui/Views/SampleDesigner/SampleToolBar.h
index fcb64b093d6..f51cbe58a48 100644
--- a/GUI/coregui/Views/SampleDesigner/SampleToolBar.h
+++ b/GUI/coregui/Views/SampleDesigner/SampleToolBar.h
@@ -16,10 +16,7 @@
 #define SAMPLETOOLBAR_H
 
 #include "StyledToolBar.h"
-
-#include "SampleModel.h"
 #include <QTreeView>
-#include "RealSpaceDialog.h"
 
 class QAction;
 class QToolButton;
@@ -27,6 +24,8 @@ class QToolBar;
 class QComboBox;
 class QString;
 class QButtonGroup;
+class SampleModel;
+class RealSpaceDialog;
 
 //! The SampleToolBar class represents a main toolbar on top of SampleView window
 
@@ -37,7 +36,7 @@ class BA_CORE_API_ SampleToolBar : public StyledToolBar
 public:
     explicit SampleToolBar(SampleModel* sampleModel = nullptr,
                            QItemSelectionModel* selectionModel = nullptr,
-                           QWidget *parent = 0);
+                           QWidget* parent = nullptr);
 
 signals:
     void deleteItems();
@@ -50,25 +49,24 @@ signals:
 
 public slots:
     void onViewSelectionMode(int);
-    void onScaleComboChanged(const QString &);
+    void onScaleComboChanged(const QString&);
     void onMaterialEditorCall();
-
     void onRealSpaceViewerCall();
 
 private:
-    QButtonGroup *m_pointerModeGroup;
-    QToolButton *m_removeButton;
-    QToolButton *m_centerViewButton;
-    QToolButton *m_alignItemsButton;
-    QComboBox *m_scaleCombo;
-    QToolButton *m_materialEditorButton;
-    QAction *m_zoomInAction;
-    QAction *m_zoomOutAction;
+    QButtonGroup* m_pointerModeGroup;
+    QToolButton* m_removeButton;
+    QToolButton* m_centerViewButton;
+    QToolButton* m_alignItemsButton;
+    QComboBox* m_scaleCombo;
+    QToolButton* m_materialEditorButton;
+    QAction* m_zoomInAction;
+    QAction* m_zoomOutAction;
 
-    QToolButton *m_RealSpaceViewerButton;
-    SampleModel *m_sampleModel;
-    QItemSelectionModel *m_selectionModel;
-    RealSpaceDialog *m_dialog;
+    QToolButton* m_RealSpaceViewerButton;
+    SampleModel* m_sampleModel;
+    QItemSelectionModel* m_selectionModel;
+    RealSpaceDialog* m_dialog;
 
     bool m_dialog_on;
 };
diff --git a/GUI/coregui/Views/SampleView.cpp b/GUI/coregui/Views/SampleView.cpp
index 23cf9000102..8efa4ee32b3 100644
--- a/GUI/coregui/Views/SampleView.cpp
+++ b/GUI/coregui/Views/SampleView.cpp
@@ -22,6 +22,7 @@
 #include "SampleViewActions.h"
 #include "SampleViewStatusBar.h"
 #include <QMenu>
+#include <memory>
 
 SampleView::SampleView(MainWindow* mainWindow)
     : Manhattan::FancyMainWindow(mainWindow), m_models(mainWindow->models())
-- 
GitLab