From 3d68f2e8f21358ba4559e2c5003716edbab7194e Mon Sep 17 00:00:00 2001
From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de>
Date: Wed, 7 Sep 2022 16:33:29 +0200
Subject: [PATCH] FitActivityPanel: solution found

---
 GUI/View/Fit/FitActivityPanel.cpp  | 18 +++++---------
 GUI/View/Fit/FitActivityPanel.h    |  3 +--
 GUI/View/Fit/JobMessagePanel.cpp   | 12 +++------
 GUI/View/Fit/JobMessagePanel.h     |  3 +--
 GUI/View/Fit/JobRealTimeWidget.cpp | 40 ------------------------------
 GUI/View/Fit/JobRealTimeWidget.h   |  8 ------
 6 files changed, 12 insertions(+), 72 deletions(-)

diff --git a/GUI/View/Fit/FitActivityPanel.cpp b/GUI/View/Fit/FitActivityPanel.cpp
index 82a652a1565..a26e8808941 100644
--- a/GUI/View/Fit/FitActivityPanel.cpp
+++ b/GUI/View/Fit/FitActivityPanel.cpp
@@ -30,7 +30,8 @@ FitActivityPanel::FitActivityPanel(QWidget* parent)
     : QWidget(parent)
     , m_realTimeWidget(nullptr)
     , m_fitSessionManager(new FitSessionManager(this))
-    , m_panelSize(100,100)
+    , m_panelSize(GUI::Constants::REALTIME_WIDGET_WIDTH_HINT,
+                  GUI::Constants::FIT_ACTIVITY_PANEL_HEIGHT)
 {
     setWindowTitle(GUI::Constants::JobFitPanelName);
     setObjectName("FitActivityPanel");
@@ -53,7 +54,7 @@ FitActivityPanel::FitActivityPanel(QWidget* parent)
     m_stack->addWidget(m_fitSessionWidget);
 
     readSettings();
-    setMinimumSize(10,10);
+    setFixedSize(m_panelSize);
 }
 
 FitActivityPanel::~FitActivityPanel()
@@ -67,17 +68,10 @@ void FitActivityPanel::setRealTimeWidget(JobRealTimeWidget* realTimeWidget)
     m_realTimeWidget = realTimeWidget;
 }
 
-QSize FitActivityPanel::sizeHint() const
+void FitActivityPanel::resizeEvent(QResizeEvent*)
 {
-//    return QSize(GUI::Constants::REALTIME_WIDGET_WIDTH_HINT,
-//                 GUI::Constants::FIT_ACTIVITY_PANEL_HEIGHT);
-    return m_panelSize;
-}
-
-QSize FitActivityPanel::minimumSizeHint() const
-{
-    return sizeHint();
-//    return QSize(480, 430);
+    setMinimumSize(0,0);
+    setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
 }
 
 void FitActivityPanel::setJobItem(JobItem* jobItem)
diff --git a/GUI/View/Fit/FitActivityPanel.h b/GUI/View/Fit/FitActivityPanel.h
index ae0260509c5..1c3a24c5870 100644
--- a/GUI/View/Fit/FitActivityPanel.h
+++ b/GUI/View/Fit/FitActivityPanel.h
@@ -37,8 +37,7 @@ public:
 
     void setRealTimeWidget(JobRealTimeWidget* realTimeWidget);
 
-    QSize sizeHint() const override;
-    QSize minimumSizeHint() const override;
+    void resizeEvent(QResizeEvent*) override;
 
 public slots:
     void setJobItem(JobItem* jobItem);
diff --git a/GUI/View/Fit/JobMessagePanel.cpp b/GUI/View/Fit/JobMessagePanel.cpp
index b3054451238..93b0fdde46c 100644
--- a/GUI/View/Fit/JobMessagePanel.cpp
+++ b/GUI/View/Fit/JobMessagePanel.cpp
@@ -52,7 +52,7 @@ JobMessagePanel::JobMessagePanel(QWidget* parent)
     setFont(QFont("Courier"));
 
     readSettings();
-    setMinimumSize(10,10);
+    setFixedSize(m_panelSize);
 }
 
 JobMessagePanel::~JobMessagePanel()
@@ -79,14 +79,10 @@ void JobMessagePanel::writeSettings()
     settings.sync();
 }
 
-QSize JobMessagePanel::sizeHint() const
+void JobMessagePanel::resizeEvent(QResizeEvent*)
 {
-    return QSize(m_panelSize);
-}
-
-QSize JobMessagePanel::minimumSizeHint() const
-{
-    return sizeHint();
+    setMinimumSize(0,0);
+    setMaximumSize(QWIDGETSIZE_MAX,QWIDGETSIZE_MAX);
 }
 
 void JobMessagePanel::appendMessage(const FitLog::Message& message)
diff --git a/GUI/View/Fit/JobMessagePanel.h b/GUI/View/Fit/JobMessagePanel.h
index 52b6e4a3e55..04b36a9ae56 100644
--- a/GUI/View/Fit/JobMessagePanel.h
+++ b/GUI/View/Fit/JobMessagePanel.h
@@ -31,8 +31,7 @@ public:
     void appendMessage(const FitLog::Message& message);
     void setLog(FitLog* log);
 
-    QSize sizeHint() const override;
-    QSize minimumSizeHint() const override;
+    void resizeEvent(QResizeEvent*) override;
 
 private:
     void readSettings();
diff --git a/GUI/View/Fit/JobRealTimeWidget.cpp b/GUI/View/Fit/JobRealTimeWidget.cpp
index 992dc2e3716..d214d73a446 100644
--- a/GUI/View/Fit/JobRealTimeWidget.cpp
+++ b/GUI/View/Fit/JobRealTimeWidget.cpp
@@ -27,7 +27,6 @@ const bool reuse_widget = true;
 JobRealTimeWidget::JobRealTimeWidget(JobModel* jobModel, QWidget* parent)
     : QWidget(parent)
     , m_stackedWidget(new ItemStackPresenter<ParameterTuningWidget>(reuse_widget))
-    , m_panelSize(100,100)
 {
     setWindowTitle(GUI::Constants::JobRealTimeWidgetName);
     setObjectName("JobRealTimeWidget");
@@ -40,14 +39,6 @@ JobRealTimeWidget::JobRealTimeWidget(JobModel* jobModel, QWidget* parent)
     setLayout(mainLayout);
 
     m_stackedWidget->setModel(jobModel);
-
-    readSettings();
-    setMinimumSize(10,10);
-}
-
-JobRealTimeWidget::~JobRealTimeWidget()
-{
-    writeSettings();
 }
 
 ParameterTuningWidget* JobRealTimeWidget::parameterTuningWidget(JobItem* jobItem)
@@ -55,18 +46,6 @@ ParameterTuningWidget* JobRealTimeWidget::parameterTuningWidget(JobItem* jobItem
     return m_stackedWidget->itemWidget(jobItem);
 }
 
-QSize JobRealTimeWidget::sizeHint() const
-{
-//    return QSize(GUI::Constants::REALTIME_WIDGET_WIDTH_HINT, 480);
-    return m_panelSize;
-}
-
-QSize JobRealTimeWidget::minimumSizeHint() const
-{
-//    return QSize(100, 100);
-    return sizeHint();
-}
-
 void JobRealTimeWidget::setJobItem(JobItem* jobItem)
 {
     if (!isValidJobItem(jobItem)) {
@@ -82,22 +61,3 @@ bool JobRealTimeWidget::isValidJobItem(JobItem* item)
 {
     return item && (item->isCompleted() || item->isCanceled() || item->isFailed());
 }
-
-void JobRealTimeWidget::readSettings()
-{
-    QSettings settings;
-    if (settings.childGroups().contains(GUI::Constants::S_JOB_REAL_TIME_PANEL)) {
-        settings.beginGroup(GUI::Constants::S_JOB_REAL_TIME_PANEL);
-        m_panelSize = settings.value(GUI::Constants::S_JOB_REAL_TIME_PANEL_SIZE).toSize();
-        settings.endGroup();
-    }
-}
-
-void JobRealTimeWidget::writeSettings()
-{
-    QSettings settings;
-    settings.beginGroup(GUI::Constants::S_JOB_REAL_TIME_PANEL);
-    settings.setValue(GUI::Constants::S_JOB_REAL_TIME_PANEL_SIZE, size());
-    settings.endGroup();
-    settings.sync();
-}
diff --git a/GUI/View/Fit/JobRealTimeWidget.h b/GUI/View/Fit/JobRealTimeWidget.h
index 32f4598fdd9..6ad42486fc0 100644
--- a/GUI/View/Fit/JobRealTimeWidget.h
+++ b/GUI/View/Fit/JobRealTimeWidget.h
@@ -28,22 +28,14 @@ class JobRealTimeWidget : public QWidget {
     Q_OBJECT
 public:
     JobRealTimeWidget(JobModel* jobModel, QWidget* parent = nullptr);
-    ~JobRealTimeWidget();
 
     ParameterTuningWidget* parameterTuningWidget(JobItem* jobItem);
 
-    QSize sizeHint() const override;
-    QSize minimumSizeHint() const override;
-
     void setJobItem(JobItem* jobItem);
 
 private:
     bool isValidJobItem(JobItem* item);
-    void readSettings();
-    void writeSettings();
-
 
-    QSize m_panelSize;
     ItemStackPresenter<ParameterTuningWidget>* m_stackedWidget;
 };
 
-- 
GitLab