viewsdialog:make changed options italic

--this way is simpler for the user to identify
which options have changed
work/spdx
Michail Vourlakos 4 years ago
parent 3c60da8ddb
commit 2abebf487e

@ -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<Qt::Alignment>(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 = "<b>" + myOptions.text + "</b>";
}
if (isChanged) {
myOptions.text = "<i>" + myOptions.text + "</i>";
}
Latte::drawFormattedText(painter, myOptions);
}
}
}
}

@ -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;

Loading…
Cancel
Save