From 817001a0537a0c6d1d77c07476361bad901e88b6 Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de> Date: Thu, 8 Sep 2022 10:59:16 +0200 Subject: [PATCH] JobRealTimeWidget: done --- GUI/View/Fit/FitActivityPanel.cpp | 4 +++- GUI/View/Fit/JobRealTimeWidget.cpp | 34 ++++++++++++++++++++++++++++ GUI/View/Fit/JobRealTimeWidget.h | 5 ++++ GUI/View/Job/JobPropertiesWidget.cpp | 6 ++--- GUI/View/Job/JobSelectorWidget.cpp | 3 --- GUI/View/Job/JobView.cpp | 2 +- 6 files changed, 46 insertions(+), 8 deletions(-) diff --git a/GUI/View/Fit/FitActivityPanel.cpp b/GUI/View/Fit/FitActivityPanel.cpp index 780200eaded..3a843056302 100644 --- a/GUI/View/Fit/FitActivityPanel.cpp +++ b/GUI/View/Fit/FitActivityPanel.cpp @@ -35,9 +35,11 @@ FitActivityPanel::FitActivityPanel(QWidget* parent) { setWindowTitle(GUI::Constants::JobFitPanelName); setObjectName("FitActivityPanel"); - setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding); + auto* layout = new QVBoxLayout(this); + layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); m_stack = new QStackedWidget(this); diff --git a/GUI/View/Fit/JobRealTimeWidget.cpp b/GUI/View/Fit/JobRealTimeWidget.cpp index d214d73a446..039aa1985d1 100644 --- a/GUI/View/Fit/JobRealTimeWidget.cpp +++ b/GUI/View/Fit/JobRealTimeWidget.cpp @@ -27,6 +27,7 @@ const bool reuse_widget = true; JobRealTimeWidget::JobRealTimeWidget(JobModel* jobModel, QWidget* parent) : QWidget(parent) , m_stackedWidget(new ItemStackPresenter<ParameterTuningWidget>(reuse_widget)) + , m_panelWidth(GUI::Constants::FIT_ACTIVITY_PANEL_WIDTH) { setWindowTitle(GUI::Constants::JobRealTimeWidgetName); setObjectName("JobRealTimeWidget"); @@ -39,6 +40,20 @@ JobRealTimeWidget::JobRealTimeWidget(JobModel* jobModel, QWidget* parent) setLayout(mainLayout); m_stackedWidget->setModel(jobModel); + + readSettings(); + setFixedWidth(m_panelWidth); +} + +JobRealTimeWidget::~JobRealTimeWidget() +{ + writeSettings(); +} + +void JobRealTimeWidget::resizeEvent(QResizeEvent*) +{ + setMinimumWidth(0); + setMaximumWidth(QWIDGETSIZE_MAX); } ParameterTuningWidget* JobRealTimeWidget::parameterTuningWidget(JobItem* jobItem) @@ -61,3 +76,22 @@ 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_FIT_ACTIVITY_PANEL)) { + settings.beginGroup(GUI::Constants::S_FIT_ACTIVITY_PANEL); + m_panelWidth = settings.value(GUI::Constants::S_FIT_ACTIVITY_PANEL_SIZE).toSize().width(); + settings.endGroup(); + } +} + +void JobRealTimeWidget::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/JobRealTimeWidget.h b/GUI/View/Fit/JobRealTimeWidget.h index 6ad42486fc0..cd704f08396 100644 --- a/GUI/View/Fit/JobRealTimeWidget.h +++ b/GUI/View/Fit/JobRealTimeWidget.h @@ -28,14 +28,19 @@ class JobRealTimeWidget : public QWidget { Q_OBJECT public: JobRealTimeWidget(JobModel* jobModel, QWidget* parent = nullptr); + ~JobRealTimeWidget(); ParameterTuningWidget* parameterTuningWidget(JobItem* jobItem); + void resizeEvent(QResizeEvent*) override; void setJobItem(JobItem* jobItem); private: bool isValidJobItem(JobItem* item); + void readSettings(); + void writeSettings(); + int m_panelWidth; ItemStackPresenter<ParameterTuningWidget>* m_stackedWidget; }; diff --git a/GUI/View/Job/JobPropertiesWidget.cpp b/GUI/View/Job/JobPropertiesWidget.cpp index 8b56e6dec93..9012cb00dc6 100644 --- a/GUI/View/Job/JobPropertiesWidget.cpp +++ b/GUI/View/Job/JobPropertiesWidget.cpp @@ -68,7 +68,7 @@ JobPropertiesWidget::JobPropertiesWidget(QWidget* parent, Qt::WindowFlags f) readSettings(); adjustSize(); - setFixedSize(m_panelSize); + setFixedHeight(m_panelSize.height()); } JobPropertiesWidget::~JobPropertiesWidget() @@ -80,8 +80,8 @@ JobPropertiesWidget::~JobPropertiesWidget() void JobPropertiesWidget::resizeEvent(QResizeEvent*) { - setMinimumSize(0,0); - setMaximumSize(QWIDGETSIZE_MAX,QWIDGETSIZE_MAX); + setMinimumHeight(0); + setMaximumHeight(QWIDGETSIZE_MAX); } QSize JobPropertiesWidget::sizeHint() const diff --git a/GUI/View/Job/JobSelectorWidget.cpp b/GUI/View/Job/JobSelectorWidget.cpp index 79aa359e696..72d78a6c76e 100644 --- a/GUI/View/Job/JobSelectorWidget.cpp +++ b/GUI/View/Job/JobSelectorWidget.cpp @@ -37,15 +37,12 @@ JobSelectorWidget::JobSelectorWidget(JobModel* jobModel, QWidget* parent) auto* splitter = new QSplitter(Qt::Vertical, this); splitter->setChildrenCollapsible(true); layout->addWidget(splitter); -// splitter->hide(); m_jobListView = new JobListView(m_jobModel, splitter); splitter->addWidget(m_jobListView); -// m_jobListView->hide(); m_jobProperties = new JobPropertiesWidget(this); splitter->addWidget(m_jobProperties); -// m_jobProperties->hide(); connect(m_jobListView, &JobListView::selectedJobsChanged, this, &JobSelectorWidget::onSelectedJobsChanged); diff --git a/GUI/View/Job/JobView.cpp b/GUI/View/Job/JobView.cpp index 4099e1baedc..c300c66144a 100644 --- a/GUI/View/Job/JobView.cpp +++ b/GUI/View/Job/JobView.cpp @@ -118,7 +118,7 @@ void JobView::createSubWindows() m_jobMessagePanel = new JobMessagePanel(this); 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::REAL_TIME_DOCK, m_jobRealTimeWidget, Qt::RightDockWidgetArea); m_docks->addWidget(JobViewFlags::FIT_PANEL_DOCK, m_fitActivityPanel, Qt::RightDockWidgetArea); m_docks->addWidget(JobViewFlags::JOB_MESSAGE_DOCK, m_jobMessagePanel, Qt::BottomDockWidgetArea); -- GitLab