Skip to content
Snippets Groups Projects
Commit 817001a0 authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

JobRealTimeWidget: done

parent 3cd7c847
No related branches found
No related tags found
1 merge request!1025GUI: remember docks sizes and tabs indices
......@@ -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);
......
......@@ -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();
}
......@@ -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;
};
......
......@@ -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
......
......@@ -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);
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment