diff --git a/GUI/View/Fit/FitActivityPanel.cpp b/GUI/View/Fit/FitActivityPanel.cpp index f657d12cf6ebbdf966fc7ae5efa4f578ad27df45..82a652a15656ef82a7ca8ec08f1d75dfc4e09c8a 100644 --- a/GUI/View/Fit/FitActivityPanel.cpp +++ b/GUI/View/Fit/FitActivityPanel.cpp @@ -30,6 +30,7 @@ FitActivityPanel::FitActivityPanel(QWidget* parent) : QWidget(parent) , m_realTimeWidget(nullptr) , m_fitSessionManager(new FitSessionManager(this)) + , m_panelSize(100,100) { setWindowTitle(GUI::Constants::JobFitPanelName); setObjectName("FitActivityPanel"); @@ -50,6 +51,14 @@ FitActivityPanel::FitActivityPanel(QWidget* parent) m_fitSessionWidget = new FitSessionWidget(m_stack); m_stack->addWidget(m_fitSessionWidget); + + readSettings(); + setMinimumSize(10,10); +} + +FitActivityPanel::~FitActivityPanel() +{ + writeSettings(); } void FitActivityPanel::setRealTimeWidget(JobRealTimeWidget* realTimeWidget) @@ -60,13 +69,15 @@ void FitActivityPanel::setRealTimeWidget(JobRealTimeWidget* realTimeWidget) QSize FitActivityPanel::sizeHint() const { - return QSize(GUI::Constants::REALTIME_WIDGET_WIDTH_HINT, - GUI::Constants::FIT_ACTIVITY_PANEL_HEIGHT); +// return QSize(GUI::Constants::REALTIME_WIDGET_WIDTH_HINT, +// GUI::Constants::FIT_ACTIVITY_PANEL_HEIGHT); + return m_panelSize; } QSize FitActivityPanel::minimumSizeHint() const { - return QSize(480, 430); + return sizeHint(); +// return QSize(480, 430); } void FitActivityPanel::setJobItem(JobItem* jobItem) @@ -97,3 +108,22 @@ FitSessionWidget* FitActivityPanel::currentFitSuiteWidget() { return m_fitSessionWidget; } + +void FitActivityPanel::readSettings() +{ + QSettings settings; + if (settings.childGroups().contains(GUI::Constants::S_FIT_ACTIVITY_PANEL)) { + settings.beginGroup(GUI::Constants::S_FIT_ACTIVITY_PANEL); + m_panelSize = settings.value(GUI::Constants::S_FIT_ACTIVITY_PANEL_SIZE).toSize(); + settings.endGroup(); + } +} + +void FitActivityPanel::writeSettings() +{ + QSettings settings; + settings.beginGroup(GUI::Constants::S_FIT_ACTIVITY_PANEL); + settings.setValue(GUI::Constants::S_FIT_ACTIVITY_PANEL_SIZE, size()); + settings.endGroup(); + settings.sync(); +} diff --git a/GUI/View/Fit/FitActivityPanel.h b/GUI/View/Fit/FitActivityPanel.h index fac51c6b2f7f2f46e2fb1c6fb1875c8f47332f42..ae0260509c523e5c2ff66fa65792381d69be03bb 100644 --- a/GUI/View/Fit/FitActivityPanel.h +++ b/GUI/View/Fit/FitActivityPanel.h @@ -33,6 +33,7 @@ class FitActivityPanel : public QWidget { Q_OBJECT public: FitActivityPanel(QWidget* parent = nullptr); + ~FitActivityPanel(); void setRealTimeWidget(JobRealTimeWidget* realTimeWidget); @@ -49,12 +50,16 @@ private: bool isValidJobItem(JobItem* item); FitSessionWidget* currentFitSuiteWidget(); + void readSettings(); + void writeSettings(); + QStackedWidget* m_stack; QWidget* m_blankWidget; FitSessionWidget* m_fitSessionWidget; QLabel* m_nofitLabel; JobRealTimeWidget* m_realTimeWidget; FitSessionManager* m_fitSessionManager; + QSize m_panelSize; }; #endif // BORNAGAIN_GUI_VIEW_FIT_FITACTIVITYPANEL_H diff --git a/GUI/View/Job/JobView.cpp b/GUI/View/Job/JobView.cpp index c300c66144a4876e444c53dad1d481d45f241c9c..6f2c48c26c5d15cf0ab19396d37f1ba4ab47ad08 100644 --- a/GUI/View/Job/JobView.cpp +++ b/GUI/View/Job/JobView.cpp @@ -117,6 +117,7 @@ void JobView::createSubWindows() m_fitActivityPanel = new FitActivityPanel(this); m_jobMessagePanel = new JobMessagePanel(this); +// m_jobRealTimeWidget->hide(); m_docks->addWidget(JobViewFlags::JOB_LIST_DOCK, m_jobSelector, Qt::LeftDockWidgetArea); m_docks->addWidget(JobViewFlags::REAL_TIME_DOCK, m_jobRealTimeWidget, Qt::RightDockWidgetArea); m_docks->addWidget(JobViewFlags::FIT_PANEL_DOCK, m_fitActivityPanel, Qt::RightDockWidgetArea); diff --git a/GUI/View/Tool/mainwindow_constants.h b/GUI/View/Tool/mainwindow_constants.h index f8c4dc4384a51d02cf8a9b231f368cb3adb22e74..09f853c6e8f0d49fde269748c42a8647220c07bc 100644 --- a/GUI/View/Tool/mainwindow_constants.h +++ b/GUI/View/Tool/mainwindow_constants.h @@ -23,6 +23,7 @@ namespace GUI::Constants { const char S_MAIN_WINDOW[] = "MainWindow"; const char S_JOB_MESSAGE_PANEL[] = "JobMessagePanel"; const char S_JOB_SELECTOR_PANEL[] = "JobSelectorPanel"; +const char S_FIT_ACTIVITY_PANEL[] = "FitActivityPanel"; const char S_SESSION_MODEL_VIEW[] = "SessionModelView"; // Settings keys @@ -32,6 +33,7 @@ const char S_VIEW_IS_ACTIVE[] = "ViewIsActive"; const char S_JOB_MESSAGE_PANEL_SIZE[] = "size"; const char S_JOB_SELECTOR_PANEL_SIZE[] = "size"; +const char S_FIT_ACTIVITY_PANEL_SIZE[] = "size"; const int MAX_RECENT_PROJECTS = 10;