From 2eaab48a7630fddef9101b1a6d30bf0e04140f3d Mon Sep 17 00:00:00 2001
From: Matthias <github@mpuchner.de>
Date: Wed, 16 Dec 2020 09:44:16 +0100
Subject: [PATCH] rm duplicate close button in info panels (dock widget's close
 btn is is now never hidden)

---
 GUI/coregui/Views/CommonWidgets/DocksController.cpp  | 11 +----------
 GUI/coregui/Views/CommonWidgets/DocksController.h    |  3 +--
 GUI/coregui/Views/CommonWidgets/InfoPanel.cpp        |  6 ------
 GUI/coregui/Views/CommonWidgets/InfoPanel.h          |  2 --
 GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.cpp | 12 +-----------
 GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.h   |  2 --
 GUI/coregui/Views/JobView.cpp                        |  4 +---
 GUI/coregui/Views/SampleView.cpp                     |  4 +---
 8 files changed, 5 insertions(+), 39 deletions(-)

diff --git a/GUI/coregui/Views/CommonWidgets/DocksController.cpp b/GUI/coregui/Views/CommonWidgets/DocksController.cpp
index 181d40c1719..072c81b6783 100644
--- a/GUI/coregui/Views/CommonWidgets/DocksController.cpp
+++ b/GUI/coregui/Views/CommonWidgets/DocksController.cpp
@@ -87,7 +87,7 @@ void DocksController::addWidget(int id, QWidget* widget, Qt::DockWidgetArea area
         frames[i]->setFrameStyle(QFrame::NoFrame);
 }
 
-void DocksController::onResetLayout() {
+void DocksController::resetLayout() {
     setTrackingEnabled(false);
     for (QDockWidget* dockWidget : dockWidgets()) {
         dockWidget->setFloating(false);
@@ -177,15 +177,6 @@ void DocksController::dockToMinMaxSizes() {
     m_dock_info.m_dock = nullptr;
 }
 
-void DocksController::onWidgetCloseRequest() { // #TODO refactor this. Using sender is not OOD
-    QWidget* widget = qobject_cast<QWidget*>(sender());
-    ASSERT(widget);
-    QDockWidget* dock = findDock(widget);
-    ASSERT(dock);
-
-    dock->toggleViewAction()->trigger();
-}
-
 void DocksController::setTrackingEnabled(bool enabled) {
     if (enabled) {
         m_handleDockVisibilityChanges = true;
diff --git a/GUI/coregui/Views/CommonWidgets/DocksController.h b/GUI/coregui/Views/CommonWidgets/DocksController.h
index 208a0838f8f..d692000f0dc 100644
--- a/GUI/coregui/Views/CommonWidgets/DocksController.h
+++ b/GUI/coregui/Views/CommonWidgets/DocksController.h
@@ -35,7 +35,7 @@ public:
 
     void addWidget(int id, QWidget* widget, Qt::DockWidgetArea area);
 
-    virtual void onResetLayout(); // #TODO: better name
+    void resetLayout();
     void toggleDock(int id);
     void setVisibleDocks(const std::vector<int>& visibleDocks);
 
@@ -53,7 +53,6 @@ public:
 public slots:
     void setDockHeightForWidget(int height);
     void dockToMinMaxSizes();
-    void onWidgetCloseRequest();
 
 private:
     struct DockSizeInfo {
diff --git a/GUI/coregui/Views/CommonWidgets/InfoPanel.cpp b/GUI/coregui/Views/CommonWidgets/InfoPanel.cpp
index 265737ffa4e..e0ffaea7d18 100644
--- a/GUI/coregui/Views/CommonWidgets/InfoPanel.cpp
+++ b/GUI/coregui/Views/CommonWidgets/InfoPanel.cpp
@@ -41,8 +41,6 @@ InfoPanel::InfoPanel(QWidget* parent)
 
     connect(m_toolBar, &InfoPanelToolBar::expandButtonClicked, this,
             &InfoPanel::onExpandButtonClicked);
-    connect(m_toolBar, &InfoPanelToolBar::closeButtonClicked, this,
-            &InfoPanel::onCloseButtonClicked);
 }
 
 QSize InfoPanel::sizeHint() const {
@@ -66,10 +64,6 @@ void InfoPanel::onExpandButtonClicked() {
     setContentVisible(!isContentVisible(), true);
 }
 
-void InfoPanel::onCloseButtonClicked() {
-    emit widgetCloseRequest();
-}
-
 void InfoPanel::setContentVisible(bool editor_status, bool dock_notify) {
     m_toolBar->setExpandStatus(editor_status);
     if (editor_status) {
diff --git a/GUI/coregui/Views/CommonWidgets/InfoPanel.h b/GUI/coregui/Views/CommonWidgets/InfoPanel.h
index 805027e4a2c..c7fc16d4df0 100644
--- a/GUI/coregui/Views/CommonWidgets/InfoPanel.h
+++ b/GUI/coregui/Views/CommonWidgets/InfoPanel.h
@@ -36,11 +36,9 @@ public:
 
 signals:
     void widgetHeightRequest(int);
-    void widgetCloseRequest();
 
 protected slots:
     void onExpandButtonClicked();
-    void onCloseButtonClicked();
     void setContentVisible(bool editor_status, bool dock_notify = false);
 
 protected:
diff --git a/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.cpp b/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.cpp
index f2178707ad9..d26618e4c8e 100644
--- a/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.cpp
+++ b/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.cpp
@@ -21,16 +21,11 @@ namespace {
 const int minimum_size = 25;
 const QString icon_up = ":/images/dark-angle-up.svg";
 const QString icon_down = ":/images/dark-angle-down.svg";
-const QString icon_close = ":/images/dark-close.svg";
 const QString expand_text = "Collapse/expand view";
-const QString close_text = "Close view";
 } // namespace
 
 InfoPanelToolBar::InfoPanelToolBar(QWidget* parent)
-    : QToolBar(parent)
-    , m_expandAction(new QAction(expand_text, this))
-    , m_closeAction(new QAction(close_text, this))
-    , m_expanded(false) {
+    : QToolBar(parent), m_expandAction(new QAction(expand_text, this)), m_expanded(false) {
     setMinimumSize(minimum_size, minimum_size);
     setProperty("_q_custom_style_disabled", QVariant(true));
 
@@ -38,16 +33,11 @@ InfoPanelToolBar::InfoPanelToolBar(QWidget* parent)
     m_expandAction->setToolTip(expand_text);
     connect(m_expandAction, &QAction::triggered, this, &InfoPanelToolBar::onExpandButtonClicked);
 
-    m_closeAction->setIcon(QIcon(icon_close));
-    m_closeAction->setToolTip(close_text);
-    connect(m_closeAction, &QAction::triggered, this, &InfoPanelToolBar::closeButtonClicked);
-
     auto empty = new QWidget();
     empty->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
     addWidget(empty);
 
     addAction(m_expandAction);
-    addAction(m_closeAction);
 }
 
 void InfoPanelToolBar::setExpandStatus(bool status) {
diff --git a/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.h b/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.h
index 2067fd7052f..c51d217c566 100644
--- a/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.h
+++ b/GUI/coregui/Views/CommonWidgets/InfoPanelToolBar.h
@@ -29,7 +29,6 @@ public:
 
 signals:
     void expandButtonClicked();
-    void closeButtonClicked();
 
 public slots:
     void setExpandStatus(bool status);
@@ -39,7 +38,6 @@ protected slots:
 
 private:
     QAction* m_expandAction;
-    QAction* m_closeAction;
     bool m_expanded;
 };
 
diff --git a/GUI/coregui/Views/JobView.cpp b/GUI/coregui/Views/JobView.cpp
index 1d81b281caa..5d965cee429 100644
--- a/GUI/coregui/Views/JobView.cpp
+++ b/GUI/coregui/Views/JobView.cpp
@@ -119,8 +119,6 @@ void JobView::createSubWindows() {
 
     connect(m_jobMessagePanel, &JobMessagePanel::widgetHeightRequest, m_docks,
             &DocksController::setDockHeightForWidget);
-    connect(m_jobMessagePanel, &JobMessagePanel::widgetCloseRequest, m_docks,
-            &DocksController::onWidgetCloseRequest);
 
     m_fitActivityPanel->setRealTimeWidget(m_jobRealTimeWidget);
     m_fitActivityPanel->setJobMessagePanel(m_jobMessagePanel);
@@ -171,6 +169,6 @@ void JobView::setAppropriateActivityForJob(JobItem* jobItem) {
 }
 
 void JobView::resetLayout() {
-    m_docks->onResetLayout();
+    m_docks->resetLayout();
     setActivity(static_cast<int>(JobViewFlags::JOB_VIEW_ACTIVITY));
 }
diff --git a/GUI/coregui/Views/SampleView.cpp b/GUI/coregui/Views/SampleView.cpp
index 9db41c2ad4f..b42ef6c13ba 100644
--- a/GUI/coregui/Views/SampleView.cpp
+++ b/GUI/coregui/Views/SampleView.cpp
@@ -73,8 +73,6 @@ void SampleView::createSubWindows() {
 
     connect(m_scriptPanel, &ScriptPanel::widgetHeightRequest, m_docks,
             &DocksController::setDockHeightForWidget);
-    connect(m_scriptPanel, &ScriptPanel::widgetCloseRequest, m_docks,
-            &DocksController::onWidgetCloseRequest);
 
     m_scriptPanel->setSampleModel(models()->sampleModel());
     m_scriptPanel->setInstrumentModel(models()->instrumentModel());
@@ -109,7 +107,7 @@ void SampleView::connectSignals() {
 }
 
 void SampleView::resetLayout() {
-    m_docks->onResetLayout();
+    m_docks->resetLayout();
     tabifyDockWidget(m_docks->findDock(REALSPACEPANEL), m_docks->findDock(INFO));
     m_docks->findDock(REALSPACEPANEL)->raise(); // makes first tab active
 
-- 
GitLab