summaryrefslogtreecommitdiffabout
path: root/microkde/kdatetbl.cpp
authorzautrix <zautrix>2004-09-17 12:38:04 (UTC)
committer zautrix <zautrix>2004-09-17 12:38:04 (UTC)
commit053b3550aa2b987d7aeaf74cc458754d7e80a67b (patch) (side-by-side diff)
tree4190b96b6b581c18943ac7e1cdd5cbca96741eae /microkde/kdatetbl.cpp
parentdd33ac512eb4b4b647fb3423f7cdb39ec322221b (diff)
downloadkdepimpi-053b3550aa2b987d7aeaf74cc458754d7e80a67b.zip
kdepimpi-053b3550aa2b987d7aeaf74cc458754d7e80a67b.tar.gz
kdepimpi-053b3550aa2b987d7aeaf74cc458754d7e80a67b.tar.bz2
Better datepicker
Diffstat (limited to 'microkde/kdatetbl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdatetbl.cpp28
1 files changed, 20 insertions, 8 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(mMarkCurrent && firstday+QDate::currentDate().day()-1==pos)
+ painter->setPen(green);
+ else
+ painter->setPen(red);
if(hasFocus())
- { // draw the currently selected date
- painter->setPen(red);
- painter->setBrush(darkRed);
- pen=white;
+ {
+ painter->setBrush(darkRed);
+ pen=white;
} else {
- painter->setPen(darkGray);
painter->setBrush(darkGray);
pen=white;
}
} else {
- painter->setBrush(QColor(220,245,255));
- painter->setPen(QColor(220,245,255));
- }
+ 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();