From c7932ea83a5a668f256173ec3b4a07ecde2efc34 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Thu, 1 Apr 2021 11:16:55 +0300 Subject: [PATCH] view settings:include name column --- app/settings/viewsdialog/viewscontroller.cpp | 29 ++++++++++++-------- app/settings/viewsdialog/viewsmodel.cpp | 12 +++++++- app/settings/viewsdialog/viewsmodel.h | 8 ++++-- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/app/settings/viewsdialog/viewscontroller.cpp b/app/settings/viewsdialog/viewscontroller.cpp index 47959d9e4..e96461f3b 100644 --- a/app/settings/viewsdialog/viewscontroller.cpp +++ b/app/settings/viewsdialog/viewscontroller.cpp @@ -125,33 +125,38 @@ void Views::selectRow(const QString &id) void Views::applyColumnWidths() { - m_view->horizontalHeader()->setSectionResizeMode(Model::Views::SCREENCOLUMN, QHeaderView::Stretch); + m_view->horizontalHeader()->setSectionResizeMode(Model::Views::NAMECOLUMN, QHeaderView::Stretch); - if (m_viewColumnWidths.count()<3) { + if (m_viewColumnWidths.count()<(Model::Views::columnCount()-1)) { return; } - m_view->setColumnWidth(Model::Views::EDGECOLUMN, m_viewColumnWidths[0].toInt()); - m_view->setColumnWidth(Model::Views::ALIGNMENTCOLUMN, m_viewColumnWidths[1].toInt()); - m_view->setColumnWidth(Model::Views::IDCOLUMN, m_viewColumnWidths[2].toInt()); + m_view->setColumnWidth(Model::Views::IDCOLUMN, m_viewColumnWidths[0].toInt()); + m_view->setColumnWidth(Model::Views::SCREENCOLUMN, m_viewColumnWidths[1].toInt()); + m_view->setColumnWidth(Model::Views::EDGECOLUMN, m_viewColumnWidths[2].toInt()); + m_view->setColumnWidth(Model::Views::ALIGNMENTCOLUMN, m_viewColumnWidths[3].toInt()); } void Views::storeColumnWidths() { - if (m_viewColumnWidths.isEmpty()) { - //! storing three columns - m_viewColumnWidths << "" << "" << ""; + if (m_viewColumnWidths.isEmpty() || (m_viewColumnWidths.count()columnWidth(Model::Views::EDGECOLUMN)); - m_viewColumnWidths[1] = QString::number(m_view->columnWidth(Model::Views::ALIGNMENTCOLUMN)); - m_viewColumnWidths[2] = QString::number(m_view->columnWidth(Model::Views::IDCOLUMN)); + m_viewColumnWidths[0] = QString::number(m_view->columnWidth(Model::Views::IDCOLUMN)); + m_viewColumnWidths[1] = QString::number(m_view->columnWidth(Model::Views::SCREENCOLUMN)); + m_viewColumnWidths[2] = QString::number(m_view->columnWidth(Model::Views::EDGECOLUMN)); + m_viewColumnWidths[3] = QString::number(m_view->columnWidth(Model::Views::ALIGNMENTCOLUMN)); } void Views::loadConfig() { m_viewColumnWidths = m_storage.readEntry("columnWidths", QStringList()); - m_viewSortColumn = m_storage.readEntry("sortColumn", (int)Model::Layouts::NAMECOLUMN); + m_viewSortColumn = m_storage.readEntry("sortColumn", (int)Model::Views::SCREENCOLUMN); m_viewSortOrder = static_cast(m_storage.readEntry("sortOrder", (int)Qt::AscendingOrder)); } diff --git a/app/settings/viewsdialog/viewsmodel.cpp b/app/settings/viewsdialog/viewsmodel.cpp index c8d12c0a1..d57defb56 100644 --- a/app/settings/viewsdialog/viewsmodel.cpp +++ b/app/settings/viewsdialog/viewsmodel.cpp @@ -51,6 +51,11 @@ int Views::rowCount() const return m_viewsTable.rowCount(); } +int Views::columnCount() +{ + return LASTCOLUMN; +} + int Views::rowCount(const QModelIndex &parent) const { Q_UNUSED(parent); @@ -60,7 +65,7 @@ int Views::rowCount(const QModelIndex &parent) const int Views::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent); - return IDCOLUMN+1; + return columnCount(); } const Latte::Data::ViewsTable &Views::currentViewsData() @@ -104,6 +109,11 @@ QVariant Views::headerData(int section, Qt::Orientation orientation, int role) c return QString("#"); } break; + case NAMECOLUMN: + if (role == Qt::DisplayRole) { + return QString(i18n("Name")); + } + break; case SCREENCOLUMN: if (role == Qt::DisplayRole) { return QString(i18n("Screen")); diff --git a/app/settings/viewsdialog/viewsmodel.h b/app/settings/viewsdialog/viewsmodel.h index 38c07cdd7..707b67d0c 100644 --- a/app/settings/viewsdialog/viewsmodel.h +++ b/app/settings/viewsdialog/viewsmodel.h @@ -41,15 +41,18 @@ class Views : public QAbstractTableModel public: enum Columns { - SCREENCOLUMN = 0, + IDCOLUMN = 0, + NAMECOLUMN, + SCREENCOLUMN, EDGECOLUMN, ALIGNMENTCOLUMN, - IDCOLUMN + LASTCOLUMN }; enum Roles { IDROLE = Qt::UserRole + 1, + NAMEROLE, ISACTIVEROLE, SCREENSLISTROLE, EDGESLISTROLE, @@ -69,6 +72,7 @@ public: ~Views(); int rowCount() const; + static int columnCount(); int rowCount(const QModelIndex &parent) const override; int columnCount(const QModelIndex &parent) const override;