summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--microkde/kdatetbl.cpp18
-rw-r--r--microkde/kdatetbl.h1
2 files changed, 16 insertions, 3 deletions
diff --git a/microkde/kdatetbl.cpp b/microkde/kdatetbl.cpp
index 0a2d1f5..146291b 100644
--- a/microkde/kdatetbl.cpp
+++ b/microkde/kdatetbl.cpp
@@ -96,4 +96,5 @@ KDateTable::KDateTable(QWidget *parent, QDate date_, const char* name, WFlags f)
viewport()->setEraseColor(lightGray);
#endif
+ mMarkCurrent = false;
setDate(date_); // this initializes firstday, numdays, numDaysPrevMonth
}
@@ -171,18 +172,27 @@ KDateTable::paintCell(QPainter *painter, int row, int col)
if(firstday+date.day()-1==pos)
{
- if(hasFocus())
- { // draw the currently selected date
+ if(mMarkCurrent && firstday+QDate::currentDate().day()-1==pos)
+ painter->setPen(green);
+ else
painter->setPen(red);
+ if(hasFocus())
+ {
painter->setBrush(darkRed);
pen=white;
} else {
- painter->setPen(darkGray);
painter->setBrush(darkGray);
pen=white;
}
} else {
+ if(mMarkCurrent && firstday+QDate::currentDate().day()-1==pos)
+ {
+ painter->setPen(green);
+ painter->setBrush(darkGreen);
+ pen=white;
+ } else {
painter->setBrush(QColor(220,245,255));
painter->setPen(QColor(220,245,255));
}
+ }
painter->drawRect(0, 0, w, h);
painter->setPen(pen);
@@ -358,4 +368,5 @@ KDateTable::setDate(const QDate& date_)
bool changed=false;
QDate temp;
+ mMarkCurrent = false;
// -----
if(!date_.isValid())
@@ -369,4 +380,5 @@ KDateTable::setDate(const QDate& date_)
changed=true;
}
+ mMarkCurrent = ( date.month() == QDate::currentDate().month() && date.year() == QDate::currentDate().year() );
temp.setYMD(date.year(), date.month(), 1);
firstday=temp.dayOfWeek();
diff --git a/microkde/kdatetbl.h b/microkde/kdatetbl.h
index df7b7ef..b4d3e16 100644
--- a/microkde/kdatetbl.h
+++ b/microkde/kdatetbl.h
@@ -246,4 +246,5 @@ public:
protected:
+ bool mMarkCurrent;
/**
* Paint a cell.