mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Alternate background colors for dive list
This was written with massive hand-holding by Tomaz - actually, this was mostly proposed via IRC by Tomaz and then implemented by me... Right now because of the list-of-lists nature of the model we have the small issue that every trip starts with a dark background dive, even if the trip itself has a dark background. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c4e2c322a3
commit
021ef8ad09
2 changed files with 9 additions and 3 deletions
|
@ -15,14 +15,16 @@ void StarWidgetsDelegate::paint(QPainter* painter, const QStyleOptionViewItem& o
|
|||
|
||||
QVariant value = index.model()->data(index, Qt::DisplayRole);
|
||||
|
||||
if(option.state & QStyle::State_Selected)
|
||||
painter->fillRect(option.rect, option.palette.highlight());
|
||||
else
|
||||
painter->fillRect(option.rect, index.model()->data(index, Qt::BackgroundRole).value<QBrush>());
|
||||
|
||||
if (!value.isValid())
|
||||
return;
|
||||
|
||||
int rating = value.toInt();
|
||||
|
||||
if(option.state & QStyle::State_Selected)
|
||||
painter->fillRect(option.rect, option.palette.highlight());
|
||||
|
||||
painter->save();
|
||||
painter->setRenderHint(QPainter::Antialiasing, true);
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
#include "models.h"
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QColor>
|
||||
#include <QBrush>
|
||||
|
||||
extern struct tank_info tank_info[100];
|
||||
|
||||
|
@ -599,6 +601,8 @@ QVariant DiveTripModel::data(const QModelIndex& index, int role) const
|
|||
if (!index.isValid())
|
||||
return QVariant();
|
||||
|
||||
if (role == Qt::BackgroundRole)
|
||||
return QBrush(QColor(index.row() % 2 ? Qt::white : QColor(Qt::lightGray).lighter(120)));
|
||||
|
||||
TreeItemDT* item = static_cast<TreeItemDT*>(index.internalPointer());
|
||||
|
||||
|
|
Loading…
Reference in a new issue