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