Show weekends in alternate base background color
This commit is contained in:
parent
ff27ea89d9
commit
b9c68f4b76
|
@ -213,7 +213,9 @@ Control {
|
|||
|
||||
Repeater {
|
||||
delegate: Rectangle {
|
||||
color: "transparent"
|
||||
required property bool isWeekend
|
||||
|
||||
color: isWeekend ? palette.alternateBase : "transparent"
|
||||
height: parent.height
|
||||
width: control.dayWidth
|
||||
|
||||
|
|
|
@ -14,7 +14,10 @@ Control {
|
|||
model: model
|
||||
|
||||
delegate: Label {
|
||||
id: delegate
|
||||
|
||||
required property string display
|
||||
required property bool isWeekend
|
||||
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.top: parent.top
|
||||
|
@ -24,6 +27,10 @@ Control {
|
|||
verticalAlignment: Text.AlignVCenter
|
||||
width: control.dayWidth
|
||||
|
||||
background: Rectangle {
|
||||
color: delegate.isWeekend ? delegate.palette.alternateBase : "transparent"
|
||||
}
|
||||
|
||||
Separator {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
|
|
|
@ -25,11 +25,20 @@ QVariant TimelineDayModel::data(const QModelIndex &index, int role) const
|
|||
switch (role) {
|
||||
case Qt::DisplayRole:
|
||||
return QString::number(date.day());
|
||||
case WeekendRole:
|
||||
return date.dayOfWeek() > 5;
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> TimelineDayModel::roleNames() const
|
||||
{
|
||||
QHash<int, QByteArray> roles = QAbstractListModel::roleNames();
|
||||
roles[WeekendRole] = "isWeekend";
|
||||
return roles;
|
||||
}
|
||||
|
||||
QDate TimelineDayModel::fromDate() const
|
||||
{
|
||||
return m_fromDate;
|
||||
|
|
|
@ -13,10 +13,15 @@ class TimelineDayModel : public QAbstractListModel
|
|||
Q_PROPERTY(QDate toDate READ toDate WRITE setToDate NOTIFY toDateChanged)
|
||||
|
||||
public:
|
||||
enum Role {
|
||||
WeekendRole = Qt::UserRole,
|
||||
};
|
||||
|
||||
explicit TimelineDayModel(QObject *parent = nullptr);
|
||||
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
QDate fromDate() const;
|
||||
void setFromDate(QDate date);
|
||||
|
|
Loading…
Reference in New Issue