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

JobPropertiesWidget: problem is solved

parent fbcfb7ab
No related branches found
No related tags found
1 merge request!1025GUI: remember docks sizes and tabs indices
......@@ -39,6 +39,7 @@ enum ETabId { JOB_PROPERTIES, JOB_MESSAGES };
JobPropertiesWidget::JobPropertiesWidget(QWidget* parent, Qt::WindowFlags f)
: QWidget(parent, f)
, m_jobItem(nullptr)
, m_panelSize(10,10)
{
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding);
setWindowTitle(GUI::Constants::JobPropertiesWidgetName);
......@@ -64,12 +65,23 @@ JobPropertiesWidget::JobPropertiesWidget(QWidget* parent, Qt::WindowFlags f)
connect(m_commentsEditor, &QTextEdit::textChanged, this,
&JobPropertiesWidget::onCommentsEdited);
readSettings();
adjustSize();
setFixedSize(m_panelSize);
}
JobPropertiesWidget::~JobPropertiesWidget()
{
if (m_jobItem)
disconnect(m_jobItem, nullptr, this, nullptr);
writeSettings();
}
void JobPropertiesWidget::resizeEvent(QResizeEvent*)
{
setMinimumSize(0,0);
setMaximumSize(QWIDGETSIZE_MAX,QWIDGETSIZE_MAX);
}
QSize JobPropertiesWidget::sizeHint() const
......@@ -127,3 +139,22 @@ void JobPropertiesWidget::onCommentsEdited()
m_jobItem->blockSignals(false);
}
}
void JobPropertiesWidget::readSettings()
{
QSettings settings;
if (settings.childGroups().contains(GUI::Constants::S_JOB_PROPERTIES_PANEL)) {
settings.beginGroup(GUI::Constants::S_JOB_PROPERTIES_PANEL);
m_panelSize = settings.value(GUI::Constants::S_JOB_PROPERTIES_PANEL_SIZE).toSize();
settings.endGroup();
}
}
void JobPropertiesWidget::writeSettings()
{
QSettings settings;
settings.beginGroup(GUI::Constants::S_JOB_PROPERTIES_PANEL);
settings.setValue(GUI::Constants::S_JOB_PROPERTIES_PANEL_SIZE, size());
settings.endGroup();
settings.sync();
}
......@@ -33,6 +33,7 @@ public:
~JobPropertiesWidget() override;
void setJobItem(JobItem* jobItem);
void resizeEvent(QResizeEvent*) override;
QSize sizeHint() const override;
QSize minimumSizeHint() const override;
......@@ -41,6 +42,8 @@ private:
private slots:
void onCommentsEdited();
void readSettings();
void writeSettings();
private:
QTabWidget* m_tabWidget;
......@@ -48,6 +51,7 @@ private:
JobPropertiesTableModel* m_propertiesModel;
QTextEdit* m_commentsEditor;
JobItem* m_jobItem;
QSize m_panelSize;
};
#endif // BORNAGAIN_GUI_VIEW_JOB_JOBPROPERTIESWIDGET_H
......@@ -29,8 +29,6 @@ JobSelectorWidget::JobSelectorWidget(JobModel* jobModel, QWidget* parent)
setWindowTitle(GUI::Constants::JobSelectorWidgetName);
setObjectName("JobSelectorWidget");
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
auto* layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(0);
......@@ -39,12 +37,15 @@ 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);
......
......@@ -24,6 +24,7 @@ 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_JOB_PROPERTIES_PANEL[] = "JobPropertiesPanel";
const char S_SESSION_MODEL_VIEW[] = "SessionModelView";
// Settings keys
......@@ -34,6 +35,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 char S_JOB_PROPERTIES_PANEL_SIZE[] = "size";
const int MAX_RECENT_PROJECTS = 10;
......
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