From 2256a8b855e88530dcec0c36ddb0f3506c0dba1e Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Fri, 20 Mar 2020 18:41:23 +0200 Subject: [PATCH] update last-1 column width properly --- app/settings/controllers/layoutscontroller.cpp | 17 ++++++++++++----- app/settings/controllers/layoutscontroller.h | 1 + 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/settings/controllers/layoutscontroller.cpp b/app/settings/controllers/layoutscontroller.cpp index f35ee507b..00f6cdf8a 100644 --- a/app/settings/controllers/layoutscontroller.cpp +++ b/app/settings/controllers/layoutscontroller.cpp @@ -66,12 +66,13 @@ Layouts::Layouts(Latte::SettingsDialog *parent, Latte::Corona *corona, QTableVie { m_proxyModel->setSourceModel(m_model); - initView(); - loadLayouts(); - + connect(m_model, &Model::Layouts::inMultipleModeChanged, this, &Layouts::updateLastColumnWidth); connect(m_model, &QAbstractItemModel::dataChanged, this, &Layouts::dataChanged); connect(m_model, &Model::Layouts::rowsInserted, this, &Layouts::dataChanged); connect(m_model, &Model::Layouts::nameDuplicated, this, &Layouts::on_nameDuplicatedFrom); + + initView(); + loadLayouts(); } Layouts::~Layouts() @@ -187,8 +188,11 @@ bool Layouts::inMultipleMode() const void Layouts::setInMultipleMode(bool inMultiple) { m_model->setInMultipleMode(inMultiple); +} - if (inMultiple) { +void Layouts::updateLastColumnWidth() +{ + if (m_model->inMultipleMode()) { m_view->setColumnHidden(Model::Layouts::SHAREDCOLUMN, false); //! column widths @@ -338,6 +342,7 @@ void Layouts::loadLayouts() { m_model->clear(); bool inMultiple{m_corona->layoutsManager()->memoryUsage() == Types::MultipleLayouts}; + setInMultipleMode(inMultiple); //! The shares map needs to be constructed for start/scratch. //! We start feeding information with layout_names and during the process @@ -443,7 +448,9 @@ void Layouts::loadLayouts() QStringList columnWidths = m_corona->universalSettings()->layoutsColumnWidths(); if (!columnWidths.isEmpty()) { - for (int i=0; isetColumnWidth(Model::Layouts::BACKGROUNDCOLUMN+i, columnWidths[i].toInt()); } } diff --git a/app/settings/controllers/layoutscontroller.h b/app/settings/controllers/layoutscontroller.h index 4caaaccf2..75ba3274c 100644 --- a/app/settings/controllers/layoutscontroller.h +++ b/app/settings/controllers/layoutscontroller.h @@ -93,6 +93,7 @@ public slots: private slots: void saveColumnWidths(); void on_nameDuplicatedFrom(const QString &provenId, const QString &trialId); + void updateLastColumnWidth(); private: void initView();