From 9d68f6b32a51139e2433d8a16b6f285d3016eec6 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Wed, 31 Mar 2021 11:03:36 +0300 Subject: [PATCH] provide views table header --- app/settings/viewsdialog/viewsmodel.cpp | 49 +++++++++++++++++++++++++ app/settings/viewsdialog/viewsmodel.h | 1 + 2 files changed, 50 insertions(+) diff --git a/app/settings/viewsdialog/viewsmodel.cpp b/app/settings/viewsdialog/viewsmodel.cpp index d55ac1b57..596aba022 100644 --- a/app/settings/viewsdialog/viewsmodel.cpp +++ b/app/settings/viewsdialog/viewsmodel.cpp @@ -20,6 +20,8 @@ #include "viewsmodel.h" +// KDE +#include namespace Latte { namespace Settings { @@ -84,6 +86,53 @@ void Views::setOriginalData(Latte::Data::ViewsTable &data) emit rowsInserted(); } +QVariant Views::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation != Qt::Horizontal) { + return QAbstractTableModel::headerData(section, orientation, role); + } + + if (role == Qt::FontRole) { + QFont font = qvariant_cast(QAbstractTableModel::headerData(section, orientation, role)); + font.setBold(true); + return font; + } + + switch(section) { + case IDCOLUMN: + if (role == Qt::DisplayRole) { + return QString("#"); + } + break; + case SCREENCOLUMN: + if (role == Qt::DisplayRole) { + return QString(i18n("Screen")); + } else if (role == Qt::DecorationRole) { + return QIcon::fromTheme("desktop"); + } + break; + case EDGECOLUMN: + if (role == Qt::DisplayRole) { + return QString(i18nc("screen edge", "Edge")); + } else if (role == Qt::DecorationRole) { + return QIcon::fromTheme("transform-move"); + } + break; + case ALIGNMENTCOLUMN: + if (role == Qt::DisplayRole) { + return QString(i18n("Alignment")); + } else if (role == Qt::DecorationRole) { + return QIcon::fromTheme("format-justify-center"); + } + break; + default: + break; + }; + + return QAbstractTableModel::headerData(section, orientation, role); +} + + QVariant Views::data(const QModelIndex &index, int role) const { const int row = index.row(); diff --git a/app/settings/viewsdialog/viewsmodel.h b/app/settings/viewsdialog/viewsmodel.h index a117be1ab..38c07cdd7 100644 --- a/app/settings/viewsdialog/viewsmodel.h +++ b/app/settings/viewsdialog/viewsmodel.h @@ -73,6 +73,7 @@ public: int columnCount(const QModelIndex &parent) const override; QVariant data(const QModelIndex &index, int role) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role) const override; const Latte::Data::ViewsTable ¤tViewsData(); const Latte::Data::ViewsTable &originalViewsData();