-rw-r--r-- | microkde/kdatetbl.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/microkde/kdatetbl.cpp b/microkde/kdatetbl.cpp index fce0e5a..e827412 100644 --- a/microkde/kdatetbl.cpp +++ b/microkde/kdatetbl.cpp | |||
@@ -189,26 +189,30 @@ KDateTable::paintCell(QPainter *painter, int row, int col) | |||
189 | painter->setPen(green); | 189 | painter->setPen(green); |
190 | painter->setBrush(darkGreen); | 190 | painter->setBrush(darkGreen); |
191 | pen=white; | 191 | pen=white; |
192 | } else { | 192 | } else { |
193 | painter->setBrush(QColor(220,245,255)); | 193 | painter->setBrush(QColor(220,245,255)); |
194 | painter->setPen(QColor(220,245,255)); | 194 | painter->setPen(QColor(220,245,255)); |
195 | } | 195 | } |
196 | } | 196 | } |
197 | painter->drawRect(0, 0, w, h); | 197 | painter->drawRect(0, 0, w, h); |
198 | painter->setPen(pen); | 198 | painter->setPen(pen); |
199 | painter->drawText(0, 0, w, h, AlignCenter, text, -1, &rect); | 199 | painter->drawText(0, 0, w, h, AlignCenter, text, -1, &rect); |
200 | } | 200 | } |
201 | if(rect.width()>maxCell.width()) maxCell.setWidth(rect.width()); | 201 | /* |
202 | if(rect.height()>maxCell.height()) maxCell.setHeight(rect.height()); | 202 | if(rect.width()>maxCell.width()) maxCell.setWidth(rect.width()); |
203 | if(rect.height()>maxCell.height()) { | ||
204 | maxCell.setHeight(rect.height()); | ||
205 | } | ||
206 | */ | ||
203 | } | 207 | } |
204 | 208 | ||
205 | void | 209 | void |
206 | KDateTable::keyPressEvent( QKeyEvent *e ) | 210 | KDateTable::keyPressEvent( QKeyEvent *e ) |
207 | { | 211 | { |
208 | /* | 212 | /* |
209 | // not working properly | 213 | // not working properly |
210 | if ( e->key() == Qt::Key_Prior ) { | 214 | if ( e->key() == Qt::Key_Prior ) { |
211 | if ( date.month() == 1 ) { | 215 | if ( date.month() == 1 ) { |
212 | KNotifyClient::beep(); | 216 | KNotifyClient::beep(); |
213 | return; | 217 | return; |
214 | } | 218 | } |
@@ -304,27 +308,33 @@ KDateTable::setFontSize(int size) | |||
304 | // ----- find largest day name: | 308 | // ----- find largest day name: |
305 | maxCell.setWidth(0); | 309 | maxCell.setWidth(0); |
306 | maxCell.setHeight(0); | 310 | maxCell.setHeight(0); |
307 | for(count=0; count<7; ++count) | 311 | for(count=0; count<7; ++count) |
308 | { | 312 | { |
309 | rect=metrics.boundingRect(KGlobal::locale()->weekDayName(count+1, true)); | 313 | rect=metrics.boundingRect(KGlobal::locale()->weekDayName(count+1, true)); |
310 | maxCell.setWidth(QMAX(maxCell.width(), rect.width())); | 314 | maxCell.setWidth(QMAX(maxCell.width(), rect.width())); |
311 | maxCell.setHeight(QMAX(maxCell.height(), rect.height())); | 315 | maxCell.setHeight(QMAX(maxCell.height(), rect.height())); |
312 | } | 316 | } |
313 | // ----- compare with a real wide number and add some space: | 317 | // ----- compare with a real wide number and add some space: |
314 | rect=metrics.boundingRect(QString::fromLatin1("88")); | 318 | rect=metrics.boundingRect(QString::fromLatin1("88")); |
315 | maxCell.setWidth(QMAX(maxCell.width()+2, rect.width())); | 319 | maxCell.setWidth(QMAX(maxCell.width()+2, rect.width())); |
320 | #ifdef DESKTOP_VERSION | ||
321 | maxCell.setHeight(QMAX(maxCell.height()+8, rect.height())); | ||
322 | #else | ||
316 | maxCell.setHeight(QMAX(maxCell.height()+4, rect.height())); | 323 | maxCell.setHeight(QMAX(maxCell.height()+4, rect.height())); |
317 | if ( maxCell.width() * 1000 / maxCell.height() > 1900 ) | 324 | #endif |
325 | if ( maxCell.width() * 1000 / maxCell.height() > 1900 ) { | ||
318 | maxCell.setHeight(maxCell.width() * 1000 / 1900 ); | 326 | maxCell.setHeight(maxCell.width() * 1000 / 1900 ); |
327 | qDebug("setmax "); | ||
328 | } | ||
319 | } | 329 | } |
320 | 330 | ||
321 | void | 331 | void |
322 | KDateTable::contentsMousePressEvent(QMouseEvent *e) | 332 | KDateTable::contentsMousePressEvent(QMouseEvent *e) |
323 | { | 333 | { |
324 | if(e->type()!=QEvent::MouseButtonPress) | 334 | if(e->type()!=QEvent::MouseButtonPress) |
325 | { // the KDatePicker only reacts on mouse press events: | 335 | { // the KDatePicker only reacts on mouse press events: |
326 | return; | 336 | return; |
327 | } | 337 | } |
328 | if(!isEnabled()) | 338 | if(!isEnabled()) |
329 | { | 339 | { |
330 | KNotifyClient::beep(); | 340 | KNotifyClient::beep(); |
@@ -434,25 +444,25 @@ KDateTable::sizeHint() const | |||
434 | 444 | ||
435 | KDateInternalMonthPicker::KDateInternalMonthPicker | 445 | KDateInternalMonthPicker::KDateInternalMonthPicker |
436 | (int fontsize, QWidget* parent, const char* name) | 446 | (int fontsize, QWidget* parent, const char* name) |
437 | : QGridView(parent, name), | 447 | : QGridView(parent, name), |
438 | result(0) // invalid | 448 | result(0) // invalid |
439 | { | 449 | { |
440 | QRect rect; | 450 | QRect rect; |
441 | QFont font; | 451 | QFont font; |
442 | // ----- | 452 | // ----- |
443 | activeCol = -1; | 453 | activeCol = -1; |
444 | activeRow = -1; | 454 | activeRow = -1; |
445 | font=KGlobalSettings::generalFont(); | 455 | font=KGlobalSettings::generalFont(); |
446 | font.setPointSize(fontsize); | 456 | //font.setPointSize(fontsize); |
447 | setFont(font); | 457 | setFont(font); |
448 | setHScrollBarMode(AlwaysOff); | 458 | setHScrollBarMode(AlwaysOff); |
449 | setVScrollBarMode(AlwaysOff); | 459 | setVScrollBarMode(AlwaysOff); |
450 | setFrameStyle(QFrame::NoFrame); | 460 | setFrameStyle(QFrame::NoFrame); |
451 | setNumRows(4); | 461 | setNumRows(4); |
452 | setNumCols(3); | 462 | setNumCols(3); |
453 | // enable to find drawing failures: | 463 | // enable to find drawing failures: |
454 | // setTableFlags(Tbl_clipCellPainting); | 464 | // setTableFlags(Tbl_clipCellPainting); |
455 | #if 0 | 465 | #if 0 |
456 | viewport()->setEraseColor(lightGray); // for consistency with the datepicker | 466 | viewport()->setEraseColor(lightGray); // for consistency with the datepicker |
457 | #endif | 467 | #endif |
458 | // ----- find the preferred size | 468 | // ----- find the preferred size |
@@ -752,46 +762,50 @@ void KDateTable::virtual_hook( int, void* ) | |||
752 | 762 | ||
753 | KDateInternalWeekPicker::KDateInternalWeekPicker | 763 | KDateInternalWeekPicker::KDateInternalWeekPicker |
754 | (int fontsize, QWidget* parent, const char* name) | 764 | (int fontsize, QWidget* parent, const char* name) |
755 | : QGridView(parent, name), | 765 | : QGridView(parent, name), |
756 | result(0) // invalid | 766 | result(0) // invalid |
757 | { | 767 | { |
758 | QRect rect; | 768 | QRect rect; |
759 | QFont font; | 769 | QFont font; |
760 | // ----- | 770 | // ----- |
761 | activeCol = -1; | 771 | activeCol = -1; |
762 | activeRow = -1; | 772 | activeRow = -1; |
763 | font=KGlobalSettings::generalFont(); | 773 | font=KGlobalSettings::generalFont(); |
764 | font.setPointSize(fontsize); | 774 | //font.setPointSize(fontsize); |
765 | setFont(font); | 775 | setFont(font); |
766 | setHScrollBarMode(AlwaysOff); | 776 | setHScrollBarMode(AlwaysOff); |
767 | setVScrollBarMode(AlwaysOff); | 777 | setVScrollBarMode(AlwaysOff); |
768 | setFrameStyle(QFrame::NoFrame); | 778 | setFrameStyle(QFrame::NoFrame); |
769 | setNumRows(13); | 779 | setNumRows(13); |
770 | setNumCols(4); | 780 | setNumCols(4); |
771 | // enable to find drawing failures: | 781 | // enable to find drawing failures: |
772 | // setTableFlags(Tbl_clipCellPainting); | 782 | // setTableFlags(Tbl_clipCellPainting); |
773 | #if 0 | 783 | #if 0 |
774 | viewport()->setEraseColor(lightGray); // for consistency with the datepicker | 784 | viewport()->setEraseColor(lightGray); // for consistency with the datepicker |
775 | #endif | 785 | #endif |
776 | // ----- find the preferred size | 786 | // ----- find the preferred size |
777 | // (this is slow, possibly, but unfortunatly it is needed here): | 787 | // (this is slow, possibly, but unfortunatly it is needed here): |
778 | QFontMetrics metrics(font); | 788 | QFontMetrics metrics(font); |
779 | for(int i=1; i <= 52; ++i) | 789 | for(int i=1; i <= 52; ++i) |
780 | { | 790 | { |
781 | rect=metrics.boundingRect(QString::number( i )); | 791 | rect=metrics.boundingRect(QString::number( i )); |
782 | if(max.width()<rect.width()) max.setWidth(rect.width()); | 792 | if(max.width()<rect.width()) max.setWidth(rect.width()); |
783 | if(max.height()<rect.height()) max.setHeight(rect.height()); | 793 | if(max.height()<rect.height()) max.setHeight(rect.height()); |
784 | } | 794 | } |
785 | 795 | if ( QApplication::desktop()->width() > 640 ) { | |
796 | |||
797 | max.setWidth(max.width()+6); | ||
798 | max.setHeight(max.height()+8); | ||
799 | } | ||
786 | } | 800 | } |
787 | 801 | ||
788 | QSize | 802 | QSize |
789 | KDateInternalWeekPicker::sizeHint() const | 803 | KDateInternalWeekPicker::sizeHint() const |
790 | { | 804 | { |
791 | return QSize((max.width()+6)*numCols()+2*frameWidth(), | 805 | return QSize((max.width()+6)*numCols()+2*frameWidth(), |
792 | (max.height()+6)*numRows()+2*frameWidth()); | 806 | (max.height()+6)*numRows()+2*frameWidth()); |
793 | } | 807 | } |
794 | 808 | ||
795 | int | 809 | int |
796 | KDateInternalWeekPicker::getResult() const | 810 | KDateInternalWeekPicker::getResult() const |
797 | { | 811 | { |