From 2abebf487ea2df1c6a220700c21b8bb3c9ab0db8 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Thu, 29 Apr 2021 12:35:38 +0300 Subject: [PATCH] viewsdialog:make changed options italic --this way is simpler for the user to identify which options have changed --- .../delegates/singleoptiondelegate.cpp | 22 +++++++++++++++++++ .../delegates/singleoptiondelegate.h | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/settings/viewsdialog/delegates/singleoptiondelegate.cpp b/app/settings/viewsdialog/delegates/singleoptiondelegate.cpp index ae27cdf64..7920198a1 100644 --- a/app/settings/viewsdialog/delegates/singleoptiondelegate.cpp +++ b/app/settings/viewsdialog/delegates/singleoptiondelegate.cpp @@ -159,6 +159,28 @@ void SingleOption::updateButton(QWidget *editor, const QString &text) const button->setText(text); } +void SingleOption::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + QStyleOptionViewItem myOptions = option; + //! Remove the focus dotted lines + myOptions.state = (myOptions.state & ~QStyle::State_HasFocus); + myOptions.text = index.model()->data(index, Qt::DisplayRole).toString(); + myOptions.displayAlignment = static_cast(index.model()->data(index, Qt::TextAlignmentRole).toInt()); + + bool isActive = index.data(Model::Views::ISACTIVEROLE).toBool(); + bool isChanged = index.data(Model::Views::ISCHANGEDROLE).toBool(); + + if (isActive) { + myOptions.text = "" + myOptions.text + ""; + } + + if (isChanged) { + myOptions.text = "" + myOptions.text + ""; + } + + Latte::drawFormattedText(painter, myOptions); +} + } } } diff --git a/app/settings/viewsdialog/delegates/singleoptiondelegate.h b/app/settings/viewsdialog/delegates/singleoptiondelegate.h index 19681a3a8..acb38281b 100644 --- a/app/settings/viewsdialog/delegates/singleoptiondelegate.h +++ b/app/settings/viewsdialog/delegates/singleoptiondelegate.h @@ -48,7 +48,9 @@ public: void setEditorData(QWidget *editor, const QModelIndex &index) const override; void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override; void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override; - virtual bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override; + bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override; + + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; private: void updateButton(QWidget *editor, const QString &text) const;