summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-04-04 21:50:29 (UTC)
committer zautrix <zautrix>2005-04-04 21:50:29 (UTC)
commit768858848f466a726e2f50b777345976828cc2ff (patch) (unidiff)
tree49351537d5038f4f5e22bcde2205bbabf0dbdb22
parentc408fcb55de18d1e3e1d20803c3885e3074cfaa4 (diff)
downloadkdepimpi-768858848f466a726e2f50b777345976828cc2ff.zip
kdepimpi-768858848f466a726e2f50b777345976828cc2ff.tar.gz
kdepimpi-768858848f466a726e2f50b777345976828cc2ff.tar.bz2
fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt4
-rw-r--r--korganizer/datenavigatorcontainer.cpp6
-rw-r--r--korganizer/kdatenavigator.cpp2
-rw-r--r--korganizer/kodaymatrix.cpp32
-rw-r--r--korganizer/kodaymatrix.h1
5 files changed, 37 insertions, 8 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 6bc6be9..680f633 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,50 +1,54 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 2.0.24 ************
4
5Fixed again a lot of small bugs.
6
3********** VERSION 2.0.23 ************ 7********** VERSION 2.0.23 ************
4 8
5Fixed again a lot of small and strange bugs, e.g. the missing toolbar of KA/Pi after a new installation. 9Fixed again a lot of small and strange bugs, e.g. the missing toolbar of KA/Pi after a new installation.
6Fixed the (agenda) layout of KO/Pi on 5500er. 10Fixed the (agenda) layout of KO/Pi on 5500er.
7Some usebility enhancements (e.g. reselection the current item of the todo view after some changes). 11Some usebility enhancements (e.g. reselection the current item of the todo view after some changes).
8 12
9********** VERSION 2.0.22 ************ 13********** VERSION 2.0.22 ************
10 14
11KO/Pi: 15KO/Pi:
12Fix for creating events/todos via the abgenda context menu. 16Fix for creating events/todos via the abgenda context menu.
13Added option to split toolbar to 3 toolbars. 17Added option to split toolbar to 3 toolbars.
14(Toolbar moving s disabled for this option due to a bug in Qt somewhere). 18(Toolbar moving s disabled for this option due to a bug in Qt somewhere).
15Added option to show one small filter-view-toolbar. 19Added option to show one small filter-view-toolbar.
16Added a print option to the desktop version: 20Added a print option to the desktop version:
17Now you can print out the view of the "Event Viewer". 21Now you can print out the view of the "Event Viewer".
18That means you can print all data of one particular event/todo. 22That means you can print all data of one particular event/todo.
19Added scaling options to printout of Event Viewer and What'sNext View. 23Added scaling options to printout of Event Viewer and What'sNext View.
20Fixed some problems in the month view in "week start sunday" mode. 24Fixed some problems in the month view in "week start sunday" mode.
21KA/Pi: 25KA/Pi:
22Added two more config options. 26Added two more config options.
23Fixed resizing problem of address request dialog when orientation was switched. 27Fixed resizing problem of address request dialog when orientation was switched.
24Cleaned up the menu structure. 28Cleaned up the menu structure.
25Fixed some more problems. 29Fixed some more problems.
26 30
27Fixed the annoying problem that scrolling continued after the key was released in KO/Pi Monthview and the KA/Pi views. 31Fixed the annoying problem that scrolling continued after the key was released in KO/Pi Monthview and the KA/Pi views.
28 32
29And, this is a really cool option (Ben did suggest it): 33And, this is a really cool option (Ben did suggest it):
30Now KO/Pi and KA/Pi can be run from a USB stick: 34Now KO/Pi and KA/Pi can be run from a USB stick:
31All data is read from and written to the stick. 35All data is read from and written to the stick.
32You can enable this in the global configure option TAB with: 36You can enable this in the global configure option TAB with:
33Save using LOCAL storage. 37Save using LOCAL storage.
34Just put KDE-Pim/Pi on a memory stick and you can access all your PIM data on every computer with Windows XP. It will work with the ME and Linux versions as well. I will put a memory stick version for teh next stable release online. 38Just put KDE-Pim/Pi on a memory stick and you can access all your PIM data on every computer with Windows XP. It will work with the ME and Linux versions as well. I will put a memory stick version for teh next stable release online.
35 39
36********** VERSION 2.0.21 ************ 40********** VERSION 2.0.21 ************
37 41
38Fixed another SMTP problem in OM/Pi. 42Fixed another SMTP problem in OM/Pi.
39Some small changed in the new datenavigator in KO/Pi. 43Some small changed in the new datenavigator in KO/Pi.
40Changed default setting for new filter in KA/Pi to "exclude categories". 44Changed default setting for new filter in KA/Pi to "exclude categories".
41Changed the default font size for 640x480 display . 45Changed the default font size for 640x480 display .
42Changed popup menu behaviour in agenda and list view. 46Changed popup menu behaviour in agenda and list view.
43Fixed some layout problems of the date label size in the month view. 47Fixed some layout problems of the date label size in the month view.
44Made month view update faster. 48Made month view update faster.
45Made first datenavigator repainting faster. 49Made first datenavigator repainting faster.
46Changed the title of the event/todo edit dialogs. 50Changed the title of the event/todo edit dialogs.
47Timelabels in agenga changed from 22:00 to 22 oo. ( the oo higher, of course). 51Timelabels in agenga changed from 22:00 to 22 oo. ( the oo higher, of course).
48Many small usebility fixes in KO/Pi. 52Many small usebility fixes in KO/Pi.
49Pressing the "Calendar" button on the Z switches now to the next view in KO/Pi. 53Pressing the "Calendar" button on the Z switches now to the next view in KO/Pi.
50The set of possible "next views" are the views you have toolbar buttons for. 54The set of possible "next views" are the views you have toolbar buttons for.
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp
index 92abae6..e57daa4 100644
--- a/korganizer/datenavigatorcontainer.cpp
+++ b/korganizer/datenavigatorcontainer.cpp
@@ -378,62 +378,66 @@ void DateNavigatorContainer::selectDates( const DateList &dateList )
378 QDate fDate = dateList.first(); 378 QDate fDate = dateList.first();
379 QDate lDate = dateList.last(); 379 QDate lDate = dateList.last();
380 //qDebug("%s %s ", lastAvailableDate().toString().latin1(), firstAvailableDate().toString().latin1() ); 380 //qDebug("%s %s ", lastAvailableDate().toString().latin1(), firstAvailableDate().toString().latin1() );
381 //qDebug("End %s %s ",lDate.toString().latin1(),curEnd.toString().latin1() ); 381 //qDebug("End %s %s ",lDate.toString().latin1(),curEnd.toString().latin1() );
382 if ( lDate <= lastAvailableDate() && firstAvailableDate() <= fDate) { 382 if ( lDate <= lastAvailableDate() && firstAvailableDate() <= fDate) {
383 updateDayMatrixDates(); 383 updateDayMatrixDates();
384 return; 384 return;
385 } 385 }
386 mNavigatorView->selectDates( dateList ); 386 mNavigatorView->selectDates( dateList );
387 setBaseDates(); 387 setBaseDates();
388 if ( mLastDisplayedDN ) { 388 if ( mLastDisplayedDN ) {
389 KDateNavigator *view = mExtraViews.at( 0 ); 389 KDateNavigator *view = mExtraViews.at( 0 );
390 view->dayMatrix()->setSelectedDaysFrom(*(dateList.begin()), *(--dateList.end())); 390 view->dayMatrix()->setSelectedDaysFrom(*(dateList.begin()), *(--dateList.end()));
391 view->dayMatrix()->repaint( false ); 391 view->dayMatrix()->repaint( false );
392 if ( mLastDisplayedDN > 1 ) { 392 if ( mLastDisplayedDN > 1 ) {
393 KDateNavigator *view = mExtraViews.at( 1 ); 393 KDateNavigator *view = mExtraViews.at( 1 );
394 view->dayMatrix()->setSelectedDaysFrom(*(dateList.begin()), *(--dateList.end())); 394 view->dayMatrix()->setSelectedDaysFrom(*(dateList.begin()), *(--dateList.end()));
395 view->dayMatrix()->repaint( false ); 395 view->dayMatrix()->repaint( false );
396 } 396 }
397 } 397 }
398} 398}
399 399
400void DateNavigatorContainer::setBaseDates() 400void DateNavigatorContainer::setBaseDates()
401{ 401{
402 QDate baseDate = mNavigatorView->baseDate(); 402 QDate baseDate = mNavigatorView->baseDate();
403 bool doRepaint = true; 403 bool doRepaint = true;
404 for( uint i = 0; i < mLastDisplayedDN; ++i ) { 404 for( uint i = 0; i < mLastDisplayedDN; ++i ) {
405 KDateNavigator *n = mExtraViews.at( i ); 405 KDateNavigator *n = mExtraViews.at( i );
406 baseDate = baseDate.addDays( baseDate.daysInMonth () - baseDate.day() +1 ); 406 baseDate = baseDate.addDays( baseDate.daysInMonth () - baseDate.day() +1 );
407 n->setBaseDate( baseDate, doRepaint ); 407 n->setBaseDate( baseDate, doRepaint );
408 } 408 }
409} 409}
410void DateNavigatorContainer::setResizeEnabled() 410void DateNavigatorContainer::setResizeEnabled()
411{ 411{
412 mResizeEnabled = true; 412 mResizeEnabled = true;
413 //qDebug("DateNavigatorContainer::setResizeEnabled "); 413 //qDebug("DateNavigatorContainer::setResizeEnabled ");
414 checkUpdateDayMatrixDates(); 414 checkUpdateDayMatrixDates();
415} 415}
416void DateNavigatorContainer::resizeEvent( QResizeEvent * e ) 416void DateNavigatorContainer::resizeEvent( QResizeEvent * e )
417{ 417{
418 418
419 //qDebug("DateNavigatorContainer::resizeEvent %d %d ", width(), height()); 419 //qDebug("DateNavigatorContainer::resizeEvent %d %d ", width(), height());
420 //qDebug("COUNT %d ", mExtraViews.count()); 420 //qDebug("COUNT %d ", mExtraViews.count());
421 if ( ! mResizeEnabled ) { 421 if ( ! mResizeEnabled ) {
422 //qDebug("NOT ResizeEnabled"); 422 //qDebug("NOT ResizeEnabled");
423 return; 423 return;
424 } 424 }
425 else 425 else
426 mUpdateTimer->start( 250 ); 426#ifdef DESKTOP_VERSION
427 mUpdateTimer->start( 100 );
428#else
429 mUpdateTimer->start( 50 );
430#endif
427 431
428 //updateDayMatrixDates(); 432 //updateDayMatrixDates();
429} 433}
430 434
431QSize DateNavigatorContainer::minimumSizeHint() const 435QSize DateNavigatorContainer::minimumSizeHint() const
432{ 436{
433 return mNavigatorView->minimumSizeHint(); 437 return mNavigatorView->minimumSizeHint();
434} 438}
435 439
436QSize DateNavigatorContainer::sizeHint() const 440QSize DateNavigatorContainer::sizeHint() const
437{ 441{
438 return mNavigatorView->yourSizeHint(); 442 return mNavigatorView->yourSizeHint();
439} 443}
diff --git a/korganizer/kdatenavigator.cpp b/korganizer/kdatenavigator.cpp
index 1d09f40..5aa1c9b 100644
--- a/korganizer/kdatenavigator.cpp
+++ b/korganizer/kdatenavigator.cpp
@@ -45,97 +45,97 @@
45 45
46#include "kdatenavigator.h" 46#include "kdatenavigator.h"
47 47
48KDateNavigator::KDateNavigator( QWidget *parent, const char *name ) 48KDateNavigator::KDateNavigator( QWidget *parent, const char *name )
49 : QFrame(parent, name), 49 : QFrame(parent, name),
50 updateTimer(0L) 50 updateTimer(0L)
51{ 51{
52 setFrameStyle(QFrame::NoFrame); 52 setFrameStyle(QFrame::NoFrame);
53 QDate startDate = QDate::currentDate(); 53 QDate startDate = QDate::currentDate();
54 QGridLayout *topLayout = new QGridLayout(this,8,8); 54 QGridLayout *topLayout = new QGridLayout(this,8,8);
55 55
56 if (! startDate.isValid()) { 56 if (! startDate.isValid()) {
57 qDebug("KDateNavigator::invalid startdate "); 57 qDebug("KDateNavigator::invalid startdate ");
58 startDate = QDate::currentDate(); 58 startDate = QDate::currentDate();
59 } 59 }
60 mMonthSignalOffset = 0; 60 mMonthSignalOffset = 0;
61 mSelectedDates.append(startDate); 61 mSelectedDates.append(startDate);
62 m_MthYr = startDate; 62 m_MthYr = startDate;
63 m_bShowWeekNums = true; 63 m_bShowWeekNums = true;
64 setFont( KOPrefs::instance()->mDateNavigatorFont ); 64 setFont( KOPrefs::instance()->mDateNavigatorFont );
65 mNavigatorBar = new NavigatorBar( startDate, this ); 65 mNavigatorBar = new NavigatorBar( startDate, this );
66 topLayout->addMultiCellWidget( mNavigatorBar, 0, 0, 0, 7 ); 66 topLayout->addMultiCellWidget( mNavigatorBar, 0, 0, 0, 7 );
67 //mNavigatorBar->resize( 1,1); 67 //mNavigatorBar->resize( 1,1);
68 connect( mNavigatorBar, SIGNAL( goPrevYear() ), SIGNAL( goPrevYear() ) ); 68 connect( mNavigatorBar, SIGNAL( goPrevYear() ), SIGNAL( goPrevYear() ) );
69 connect( mNavigatorBar, SIGNAL( goPrevMonth() ), SIGNAL( goPrevMonth() ) ); 69 connect( mNavigatorBar, SIGNAL( goPrevMonth() ), SIGNAL( goPrevMonth() ) );
70 connect( mNavigatorBar, SIGNAL( goNextMonth() ), SIGNAL( goNextMonth() ) ); 70 connect( mNavigatorBar, SIGNAL( goNextMonth() ), SIGNAL( goNextMonth() ) );
71 connect( mNavigatorBar, SIGNAL( goNextYear() ), SIGNAL( goNextYear() ) ); 71 connect( mNavigatorBar, SIGNAL( goNextYear() ), SIGNAL( goNextYear() ) );
72 connect( mNavigatorBar, SIGNAL( monthSelected( int ) ), SLOT( slotMonthSelected( int ) ) ); 72 connect( mNavigatorBar, SIGNAL( monthSelected( int ) ), SLOT( slotMonthSelected( int ) ) );
73 73
74 // get the day of the week on the first day 74 // get the day of the week on the first day
75 QDate dayone(m_MthYr.year(), m_MthYr.month(), 1); 75 QDate dayone(m_MthYr.year(), m_MthYr.month(), 1);
76 m_fstDayOfWk = dayone.dayOfWeek(); 76 m_fstDayOfWk = dayone.dayOfWeek();
77 77
78 int i; 78 int i;
79 79
80 // Set up the heading fields. 80 // Set up the heading fields.
81 for( i = 0; i < 7; i++ ) { 81 for( i = 0; i < 7; i++ ) {
82 headings[i] = new QLabel("",this); 82 headings[i] = new QLabel("",this);
83 //headings[i]->setFont(QFont("Arial", 10, QFont::Bold)); 83 //headings[i]->setFont(QFont("Arial", 10, QFont::Bold));
84 headings[i]->setAlignment(AlignCenter); 84 headings[i]->setAlignment(AlignCenter);
85 headings[i]->installEventFilter(this); 85 headings[i]->installEventFilter(this);
86 86
87 topLayout->addWidget(headings[i],1,i+1); 87 topLayout->addWidget(headings[i],1,i+1);
88 } 88 }
89 89
90 // Create the weeknumber labels 90 // Create the weeknumber labels
91 for( i = 0; i < 6; i++ ) { 91 for( i = 0; i < 6; i++ ) {
92 weeknos[i] = new QLabel(this); 92 weeknos[i] = new QLabel(this);
93 weeknos[i]->setAlignment(AlignCenter); 93 weeknos[i]->setAlignment(AlignCenter );
94 //weeknos[i]->setFont(QFont("Arial", 10)); 94 //weeknos[i]->setFont(QFont("Arial", 10));
95 if(!m_bShowWeekNums) { 95 if(!m_bShowWeekNums) {
96 weeknos[i]->hide(); 96 weeknos[i]->hide();
97 } 97 }
98 weeknos[i]->installEventFilter(this); 98 weeknos[i]->installEventFilter(this);
99 99
100 topLayout->addWidget(weeknos[i],i+2,0); 100 topLayout->addWidget(weeknos[i],i+2,0);
101 } 101 }
102 102
103 daymatrix = new KODayMatrix( this, "KDateNavigator::DayMatrix"); 103 daymatrix = new KODayMatrix( this, "KDateNavigator::DayMatrix");
104 daymatrix->setFrameStyle(QFrame::Panel|QFrame::Sunken); 104 daymatrix->setFrameStyle(QFrame::Panel|QFrame::Sunken);
105 daymatrix->setLineWidth(1); 105 daymatrix->setLineWidth(1);
106 106
107 connect( daymatrix, SIGNAL( selected( const KCal::DateList & ) ), 107 connect( daymatrix, SIGNAL( selected( const KCal::DateList & ) ),
108 SIGNAL( datesSelected( const KCal::DateList & ) ) ); 108 SIGNAL( datesSelected( const KCal::DateList & ) ) );
109 109
110 connect( daymatrix, SIGNAL( eventDropped( Event * ) ), 110 connect( daymatrix, SIGNAL( eventDropped( Event * ) ),
111 SIGNAL( eventDropped( Event * ) ) ); 111 SIGNAL( eventDropped( Event * ) ) );
112 112
113 topLayout->addMultiCellWidget(daymatrix,2,7,1,7); 113 topLayout->addMultiCellWidget(daymatrix,2,7,1,7);
114 114
115 // read settings from configuration file. 115 // read settings from configuration file.
116 updateConfig(); 116 updateConfig();
117 enableRollover(FollowMonth); 117 enableRollover(FollowMonth);
118 mySizeHint = sizeHintTwoButtons(); 118 mySizeHint = sizeHintTwoButtons();
119 myFullSizeHint = sizeHintTwoButtons( 4 ); 119 myFullSizeHint = sizeHintTwoButtons( 4 );
120 mFontChanged = false; 120 mFontChanged = false;
121 //resize ( 3,3 ); 121 //resize ( 3,3 );
122 122
123} 123}
124void KDateNavigator::changeFont ( QFont fo ) 124void KDateNavigator::changeFont ( QFont fo )
125{ 125{
126 setFont( fo ); 126 setFont( fo );
127 mNavigatorBar->resetFont( fo ); 127 mNavigatorBar->resetFont( fo );
128} 128}
129QFont KDateNavigator::yourFontHint( QSize si , bool *b) 129QFont KDateNavigator::yourFontHint( QSize si , bool *b)
130{ 130{
131 QFont fo = KOPrefs::instance()->mDateNavigatorFont; 131 QFont fo = KOPrefs::instance()->mDateNavigatorFont;
132 *b = false; 132 *b = false;
133 int fontPoint = fo.pointSize(); 133 int fontPoint = fo.pointSize();
134 while ( fontPoint > 5 ) { 134 while ( fontPoint > 5 ) {
135 --fontPoint; 135 --fontPoint;
136 fo.setPointSize( fontPoint ); 136 fo.setPointSize( fontPoint );
137 setFont( fo ); 137 setFont( fo );
138 mFontChanged = true; 138 mFontChanged = true;
139 mNavigatorBar->resetFont( fo ); 139 mNavigatorBar->resetFont( fo );
140 QSize sh = sizeHintTwoButtons( 2 ); 140 QSize sh = sizeHintTwoButtons( 2 );
141 //qDebug("fp %d %d %d %d %d", fontPoint, si.width() , sh.width() , si.height() , sh.height() ); 141 //qDebug("fp %d %d %d %d %d", fontPoint, si.width() , sh.width() , si.height() , sh.height() );
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 8affe50..c7e1b45 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -64,105 +64,108 @@ class KODaymatrixWhatsThis :public QWhatsThis
64public: 64public:
65 KODaymatrixWhatsThis( KODayMatrix* view ) : QWhatsThis( view ),_view (view) { ;}; 65 KODaymatrixWhatsThis( KODayMatrix* view ) : QWhatsThis( view ),_view (view) { ;};
66 ~KODaymatrixWhatsThis() { ; }; 66 ~KODaymatrixWhatsThis() { ; };
67 67
68protected: 68protected:
69 virtual QString text( const QPoint& p ) 69 virtual QString text( const QPoint& p )
70 { 70 {
71 return _view->getWhatsThisText( p ) ; 71 return _view->getWhatsThisText( p ) ;
72 } 72 }
73private: 73private:
74 KODayMatrix * _view; 74 KODayMatrix * _view;
75}; 75};
76 76
77void DynamicTip::maybeTip( const QPoint &pos ) 77void DynamicTip::maybeTip( const QPoint &pos )
78{ 78{
79 //calculate which cell of the matrix the mouse is in 79 //calculate which cell of the matrix the mouse is in
80 QRect sz = matrix->frameRect(); 80 QRect sz = matrix->frameRect();
81 int dheight = sz.height()*7 / 42; 81 int dheight = sz.height()*7 / 42;
82 int dwidth = sz.width() / 7; 82 int dwidth = sz.width() / 7;
83 int row = pos.y()/dheight; 83 int row = pos.y()/dheight;
84 int col = pos.x()/dwidth; 84 int col = pos.x()/dwidth;
85 85
86 QRect rct(col*dwidth, row*dheight, dwidth, dheight); 86 QRect rct(col*dwidth, row*dheight, dwidth, dheight);
87 87
88// kdDebug() << "DynamicTip::maybeTip matrix cell index [" << 88// kdDebug() << "DynamicTip::maybeTip matrix cell index [" <<
89// col << "][" << row << "] => " <<(col+row*7) << endl; 89// col << "][" << row << "] => " <<(col+row*7) << endl;
90 90
91 //show holiday names only 91 //show holiday names only
92 QString str = matrix->getHolidayLabel(col+row*7); 92 QString str = matrix->getHolidayLabel(col+row*7);
93 if (str.isEmpty()) return; 93 if (str.isEmpty()) return;
94 tip(rct, str); 94 tip(rct, str);
95} 95}
96 96
97 97
98// ============================================================================ 98// ============================================================================
99// K O D A Y M A T R I X 99// K O D A Y M A T R I X
100// ============================================================================ 100// ============================================================================
101 101
102const int KODayMatrix::NOSELECTION = -1000; 102const int KODayMatrix::NOSELECTION = -1000;
103const int KODayMatrix::NUMDAYS = 42; 103const int KODayMatrix::NUMDAYS = 42;
104 104
105KODayMatrix::KODayMatrix( QWidget *parent, const char *name ) 105KODayMatrix::KODayMatrix( QWidget *parent, const char *name )
106 : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 ) 106 : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 )
107 107
108#if 0 108#if 0
109KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name) : 109KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name) :
110 QFrame(parent, name) 110 QFrame(parent, name)
111#endif 111#endif
112{ 112{
113 oldW = 0;
114 oldH = 0;
115 myPix.resize( 150, 120 );
113 mRedrawNeeded = true; 116 mRedrawNeeded = true;
114 mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this); 117 mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this);
115 mPendingUpdateBeforeRepaint = false; 118 mPendingUpdateBeforeRepaint = false;
116 mouseDown = false; 119 mouseDown = false;
117 // initialize dynamic arrays 120 // initialize dynamic arrays
118 bDays.resize ( NUMDAYS ); 121 bDays.resize ( NUMDAYS );
119 hDays.resize ( NUMDAYS );; 122 hDays.resize ( NUMDAYS );
120 eDays.resize ( NUMDAYS );; 123 eDays.resize ( NUMDAYS );
121 days = new QDate[NUMDAYS]; 124 days = new QDate[NUMDAYS];
122 daylbls = new QString[NUMDAYS]; 125 daylbls = new QString[NUMDAYS];
123 //events = new int[NUMDAYS]; 126 //events = new int[NUMDAYS];
124 mToolTip = new DynamicTip(this); 127 mToolTip = new DynamicTip(this);
125 128
126 // set default values used for drawing the matrix 129 // set default values used for drawing the matrix
127 mDefaultBackColor = palette().active().base(); 130 mDefaultBackColor = palette().active().base();
128 mDefaultTextColor = palette().active().foreground(); 131 mDefaultTextColor = palette().active().foreground();
129 mDefaultTextColorShaded = getShadedColor(mDefaultTextColor); 132 mDefaultTextColorShaded = getShadedColor(mDefaultTextColor);
130 mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor); 133 mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor);
131 mSelectedDaysColor = QColor("white"); 134 mSelectedDaysColor = QColor("white");
132 mTodayMarginWidth = 2; 135 mTodayMarginWidth = 2;
133 mSelEnd = mSelStart = NOSELECTION; 136 mSelEnd = mSelStart = NOSELECTION;
134 137
135 setAcceptDrops(true); 138 setAcceptDrops(true);
136 //setFont( QFont("Arial", 10) ); 139 //setFont( QFont("Arial", 10) );
137 140
138 mUpdateTimer = new QTimer( this ); 141 mUpdateTimer = new QTimer( this );
139 connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() )); 142 connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() ));
140 mRepaintTimer = new QTimer( this ); 143 mRepaintTimer = new QTimer( this );
141 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() )); 144 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() ));
142 mDayChanged = false; 145 mDayChanged = false;
143 updateView(); 146 updateView();
144} 147}
145QString KODayMatrix::getWhatsThisText( QPoint p ) 148QString KODayMatrix::getWhatsThisText( QPoint p )
146{ 149{
147 150
148 int tmp = getDayIndexFrom(p.x(), p.y()); 151 int tmp = getDayIndexFrom(p.x(), p.y());
149 if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar ) 152 if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar )
150 return QString(); 153 return QString();
151 QDate mDate = days[tmp]; 154 QDate mDate = days[tmp];
152 QPtrList<Event> eventlist = mCalendar->events(mDate); 155 QPtrList<Event> eventlist = mCalendar->events(mDate);
153 Event *event; 156 Event *event;
154 QStringList mToolTip; 157 QStringList mToolTip;
155 for(event=eventlist.first();event != 0;event=eventlist.next()) { 158 for(event=eventlist.first();event != 0;event=eventlist.next()) {
156 QString mToolTipText; 159 QString mToolTipText;
157 QString text; 160 QString text;
158 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day 161 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day
159 if (event->isMultiDay()) { 162 if (event->isMultiDay()) {
160 QString prefix = "<->";multiday = 2; 163 QString prefix = "<->";multiday = 2;
161 QString time; 164 QString time;
162 if ( event->doesRecur() ) { 165 if ( event->doesRecur() ) {
163 if ( event->recursOn( mDate) ) { 166 if ( event->recursOn( mDate) ) {
164 prefix ="->" ;multiday = 1; 167 prefix ="->" ;multiday = 1;
165 } 168 }
166 else { 169 else {
167 int days = event->dtStart().date().daysTo ( event->dtEnd().date() ); 170 int days = event->dtStart().date().daysTo ( event->dtEnd().date() );
168 if ( event->recursOn( mDate.addDays( -days)) ) { 171 if ( event->recursOn( mDate.addDays( -days)) ) {
@@ -289,97 +292,101 @@ void KODayMatrix::addSelectedDaysTo(DateList& selDays)
289 292
290bool KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end) 293bool KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end)
291{ 294{
292 mRedrawNeeded = true; 295 mRedrawNeeded = true;
293 bool noSel = (mSelEnd == NOSELECTION && mSelStart == NOSELECTION ); 296 bool noSel = (mSelEnd == NOSELECTION && mSelStart == NOSELECTION );
294 mSelStart = startdate.daysTo(start); 297 mSelStart = startdate.daysTo(start);
295 if ( mSelStart < 0 ) 298 if ( mSelStart < 0 )
296 mSelStart = 0; 299 mSelStart = 0;
297 mSelEnd = startdate.daysTo(end); 300 mSelEnd = startdate.daysTo(end);
298 if ( mSelEnd > NUMDAYS-1 ) 301 if ( mSelEnd > NUMDAYS-1 )
299 mSelEnd = NUMDAYS-1; 302 mSelEnd = NUMDAYS-1;
300 if ( mSelEnd < 0 || mSelStart > NUMDAYS-1 ) { 303 if ( mSelEnd < 0 || mSelStart > NUMDAYS-1 ) {
301 clearSelection(); 304 clearSelection();
302 if ( noSel ) 305 if ( noSel )
303 return false; 306 return false;
304 } 307 }
305 308
306 return true; 309 return true;
307} 310}
308void KODayMatrix::clearSelection() 311void KODayMatrix::clearSelection()
309{ 312{
310 mSelEnd = mSelStart = NOSELECTION; 313 mSelEnd = mSelStart = NOSELECTION;
311} 314}
312 315
313 316
314void KODayMatrix::recalculateToday() 317void KODayMatrix::recalculateToday()
315{ 318{
316 today = -1; 319 today = -1;
317 for (int i=0; i<NUMDAYS; i++) { 320 for (int i=0; i<NUMDAYS; i++) {
318 //events[i] = 0; 321 //events[i] = 0;
319 days[i] = startdate.addDays(i); 322 days[i] = startdate.addDays(i);
320 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] )); 323 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] ));
321 324
322 // if today is in the currently displayed month, hilight today 325 // if today is in the currently displayed month, hilight today
323 if (days[i].year() == QDate::currentDate().year() && 326 if (days[i].year() == QDate::currentDate().year() &&
324 days[i].month() == QDate::currentDate().month() && 327 days[i].month() == QDate::currentDate().month() &&
325 days[i].day() == QDate::currentDate().day()) { 328 days[i].day() == QDate::currentDate().day()) {
326 today = i; 329 today = i;
327 } 330 }
328 } 331 }
329 // qDebug(QString("Today is visible at %1.").arg(today)); 332 // qDebug(QString("Today is visible at %1.").arg(today));
330} 333}
331 334
332void KODayMatrix::updateView() 335void KODayMatrix::updateView()
333{ 336{
334 updateView(startdate); 337 updateView(startdate);
335} 338}
336void KODayMatrix::repaintViewTimed() 339void KODayMatrix::repaintViewTimed()
337{ 340{
341 mRedrawNeeded = true;
342 bDays.fill( false);
343 hDays.fill( false);
344 eDays.fill( false);
338 mRepaintTimer->stop(); 345 mRepaintTimer->stop();
339 repaint(false); 346 repaint(false);
340} 347}
341void KODayMatrix::updateViewTimed() 348void KODayMatrix::updateViewTimed()
342{ 349{
343 mUpdateTimer->stop(); 350 mUpdateTimer->stop();
344 if ( !mCalendar ) { 351 if ( !mCalendar ) {
345 qDebug("NOT CAL "); 352 qDebug("NOT CAL ");
346 return; 353 return;
347 } 354 }
348 //qDebug("KODayMatrix::updateViewTimed "); 355 //qDebug("KODayMatrix::updateViewTimed ");
349 for(int i = 0; i < NUMDAYS; i++) { 356 for(int i = 0; i < NUMDAYS; i++) {
350 // if events are set for the day then remember to draw it bold 357 // if events are set for the day then remember to draw it bold
351 QPtrList<Event> eventlist = mCalendar->events(days[i]); 358 QPtrList<Event> eventlist = mCalendar->events(days[i]);
352 Event *event; 359 Event *event;
353 int numEvents = eventlist.count(); 360 int numEvents = eventlist.count();
354 QString holiStr = ""; 361 QString holiStr = "";
355 bDays.clearBit(i); 362 bDays.clearBit(i);
356 hDays.clearBit(i); 363 hDays.clearBit(i);
357 eDays.clearBit(i); 364 eDays.clearBit(i);
358 for(event=eventlist.first();event != 0;event=eventlist.next()) { 365 for(event=eventlist.first();event != 0;event=eventlist.next()) {
359 ushort recurType = event->recurrence()->doesRecur(); 366 ushort recurType = event->recurrence()->doesRecur();
360 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || 367 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) ||
361 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) { 368 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) {
362 numEvents--; 369 numEvents--;
363 } 370 }
364 if ( event->isHoliday()) { 371 if ( event->isHoliday()) {
365 hDays.setBit(i); 372 hDays.setBit(i);
366 if ( !holiStr.isEmpty() ) 373 if ( !holiStr.isEmpty() )
367 holiStr += "\n"; 374 holiStr += "\n";
368 holiStr += event->summary(); 375 holiStr += event->summary();
369 if ( !event->location().isEmpty() ) 376 if ( !event->location().isEmpty() )
370 holiStr += " (" + event->location() + ")"; 377 holiStr += " (" + event->location() + ")";
371 } 378 }
372 if ( event->isBirthday()) { 379 if ( event->isBirthday()) {
373 if ( !holiStr.isEmpty() ) 380 if ( !holiStr.isEmpty() )
374 holiStr += "\n"; 381 holiStr += "\n";
375 holiStr += i18n("Birthday") + ": "+event->summary(); 382 holiStr += i18n("Birthday") + ": "+event->summary();
376 if ( !event->location().isEmpty() ) 383 if ( !event->location().isEmpty() )
377 holiStr += " (" + event->location() + ")"; 384 holiStr += " (" + event->location() + ")";
378 bDays.setBit(i); 385 bDays.setBit(i);
379 } 386 }
380 } 387 }
381 if ( numEvents ) 388 if ( numEvents )
382 eDays.setBit(i); 389 eDays.setBit(i);
383 //if it is a holy day then draw it red. Sundays are consider holidays, too 390 //if it is a holy day then draw it red. Sundays are consider holidays, too
384 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) || 391 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) ||
385 !holiStr.isEmpty()) { 392 !holiStr.isEmpty()) {
@@ -638,101 +645,113 @@ void KODayMatrix::dropEvent(QDropEvent *e)
638 Event *existingEvent = mCalendar->event(event->uid()); 645 Event *existingEvent = mCalendar->event(event->uid());
639 646
640 if(existingEvent) { 647 if(existingEvent) {
641 // uniquify event 648 // uniquify event
642 event->recreate(); 649 event->recreate();
643/* 650/*
644 KMessageBox::sorry(this, 651 KMessageBox::sorry(this,
645 i18n("Event already exists in this calendar."), 652 i18n("Event already exists in this calendar."),
646 i18n("Drop Event")); 653 i18n("Drop Event"));
647 delete event; 654 delete event;
648 return; 655 return;
649*/ 656*/
650 } 657 }
651// kdDebug() << "Drop new Event" << endl; 658// kdDebug() << "Drop new Event" << endl;
652 // Adjust date 659 // Adjust date
653 QDateTime start = event->dtStart(); 660 QDateTime start = event->dtStart();
654 QDateTime end = event->dtEnd(); 661 QDateTime end = event->dtEnd();
655 int duration = start.daysTo(end); 662 int duration = start.daysTo(end);
656 int idx = getDayIndexFrom(e->pos().x(), e->pos().y()); 663 int idx = getDayIndexFrom(e->pos().x(), e->pos().y());
657 664
658 start.setDate(days[idx]); 665 start.setDate(days[idx]);
659 end.setDate(days[idx].addDays(duration)); 666 end.setDate(days[idx].addDays(duration));
660 667
661 event->setDtStart(start); 668 event->setDtStart(start);
662 event->setDtEnd(end); 669 event->setDtEnd(end);
663 mCalendar->addEvent(event); 670 mCalendar->addEvent(event);
664 671
665 emit eventDropped(event); 672 emit eventDropped(event);
666 } else { 673 } else {
667// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl; 674// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl;
668 e->ignore(); 675 e->ignore();
669 } 676 }
670#endif 677#endif
671} 678}
672 679
673// ---------------------------------------------------------------------------- 680// ----------------------------------------------------------------------------
674// P A I N T E V E N T H A N D L I N G 681// P A I N T E V E N T H A N D L I N G
675// ---------------------------------------------------------------------------- 682// ----------------------------------------------------------------------------
676 683
677void KODayMatrix::paintEvent(QPaintEvent * pevent) 684void KODayMatrix::paintEvent(QPaintEvent * pevent)
678{ 685{
679 686
680 if ( width() <= 0 || height() <= 0 ) 687 if ( width() <= 0 || height() <= 0 )
681 return; 688 return;
682 if ( mPendingUpdateBeforeRepaint ) { 689 if ( mPendingUpdateBeforeRepaint ) {
683 updateViewTimed(); 690 updateViewTimed();
684 mPendingUpdateBeforeRepaint = false; 691 mPendingUpdateBeforeRepaint = false;
685 } 692 }
693#if 0
686 if ( myPix.width() != width() || myPix.height()!=height() ) { 694 if ( myPix.width() != width() || myPix.height()!=height() ) {
687 myPix.resize(size() ); 695 myPix.resize(size() );
688 mRedrawNeeded = true; 696 mRedrawNeeded = true;
689 } 697 }
690 698#endif
699 if ( oldW != width() || oldH !=height() )
700 mRedrawNeeded = true;
701
702 oldH = height() ;
703 oldW = width();
704 if ( myPix.width() < width() || myPix.height() < height() ) {
705 myPix.resize(size() );
706 mRedrawNeeded = true;
707
708 }
709
691 if ( mRedrawNeeded ) { 710 if ( mRedrawNeeded ) {
692 //qDebug("REDRAW "); 711 //qDebug("REDRAW ");
693 QPainter p(&myPix); 712 QPainter p(&myPix);
694 p.setFont(font()); 713 p.setFont(font());
695 714
696 715
697 int dheight = daysize.height(); 716 int dheight = daysize.height();
698 int dwidth = daysize.width(); 717 int dwidth = daysize.width();
699 int row,col; 718 int row,col;
700 int selw, selh; 719 int selw, selh;
701 int xyOff = frameWidth(); 720 int xyOff = frameWidth();
702 int colModulo = (width()-2) % 7; 721 int colModulo = (width()-2) % 7;
703 int rowModulo = (height()-2) % 6; 722 int rowModulo = (height()-2) % 6;
704 //qDebug("col %d row %d ",colModulo,rowModulo ); 723 //qDebug("col %d row %d ",colModulo,rowModulo );
705 724
706 bool isRTL = KOGlobals::self()->reverseLayout(); 725 bool isRTL = KOGlobals::self()->reverseLayout();
707 726
708 // draw background and topleft frame 727 // draw background and topleft frame
709 p.fillRect(0,0,width(),height(), mDefaultBackColor); 728 p.fillRect(0,0,width(),height(), mDefaultBackColor);
710 p.setPen(mDefaultTextColor); 729 p.setPen(mDefaultTextColor);
711 p.drawRect(0, 0, width(), height()); 730 p.drawRect(0, 0, width(), height());
712 int mSelStartT = mSelStart; 731 int mSelStartT = mSelStart;
713 int mSelEndT = mSelEnd; 732 int mSelEndT = mSelEnd;
714 if ( mSelEndT >= NUMDAYS ) 733 if ( mSelEndT >= NUMDAYS )
715 mSelEndT = NUMDAYS-1; 734 mSelEndT = NUMDAYS-1;
716 // draw selected days with highlighted background color 735 // draw selected days with highlighted background color
717 if (mSelStart != NOSELECTION) { 736 if (mSelStart != NOSELECTION) {
718 bool skip = false; 737 bool skip = false;
719 if ( ! mouseDown ) { 738 if ( ! mouseDown ) {
720 int mo = days[20].month(); 739 int mo = days[20].month();
721 //qDebug("-- %d %d ", mSelStartT, mSelEndT); 740 //qDebug("-- %d %d ", mSelStartT, mSelEndT);
722 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() ); 741 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() );
723 int startMo = days[mSelStartT].month(); 742 int startMo = days[mSelStartT].month();
724 int endMo = days[mSelEndT].month(); 743 int endMo = days[mSelEndT].month();
725 if ( startMo == 12 && mo == 1 && endMo <= 2 ) 744 if ( startMo == 12 && mo == 1 && endMo <= 2 )
726 startMo = 1; 745 startMo = 1;
727 if ( endMo == 1 && mo == 12 ) 746 if ( endMo == 1 && mo == 12 )
728 endMo = 12; 747 endMo = 12;
729 if ( mo == 12 && startMo == 1 ) 748 if ( mo == 12 && startMo == 1 )
730 startMo = 13; 749 startMo = 13;
731 if ( (startMo > mo || endMo < mo) ) { 750 if ( (startMo > mo || endMo < mo) ) {
732 skip = true; 751 skip = true;
733 } else { 752 } else {
734 if ( days[mSelStartT].month() != mo ) { 753 if ( days[mSelStartT].month() != mo ) {
735 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day(); 754 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day();
736 mSelStartT += add +1; 755 mSelStartT += add +1;
737 } 756 }
738 if ( days[mSelEndT].month() != mo ) { 757 if ( days[mSelEndT].month() != mo ) {
@@ -902,73 +921,74 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
902 else 921 else
903 p.setPen(QColor(Qt::green).dark()); 922 p.setPen(QColor(Qt::green).dark());
904 } else { 923 } else {
905 if (actcol == mDefaultTextColor ) { 924 if (actcol == mDefaultTextColor ) {
906 p.setPen(KOPrefs::instance()->mHolidayColor); 925 p.setPen(KOPrefs::instance()->mHolidayColor);
907 } else { 926 } else {
908 p.setPen(mHolidayColorShaded); 927 p.setPen(mHolidayColorShaded);
909 } 928 }
910 } 929 }
911 } 930 }
912 931
913 // draw selected days with special color 932 // draw selected days with special color
914 // DO NOT specially highlight holidays in selection ! 933 // DO NOT specially highlight holidays in selection !
915 if (i >= mSelStartT && i <= mSelEndT) { 934 if (i >= mSelStartT && i <= mSelEndT) {
916 ;//p.setPen(mSelectedDaysColor); 935 ;//p.setPen(mSelectedDaysColor);
917 } 936 }
918 937
919 int addCol = 0; 938 int addCol = 0;
920 int addRow = 0; 939 int addRow = 0;
921 if ( colModulo ) { 940 if ( colModulo ) {
922 if ( col >= 7 - colModulo ) 941 if ( col >= 7 - colModulo )
923 addCol = col - 7 + colModulo; 942 addCol = col - 7 + colModulo;
924 } 943 }
925 if ( rowModulo ) { 944 if ( rowModulo ) {
926 if ( row >= 6 - rowModulo ) 945 if ( row >= 6 - rowModulo )
927 addRow = row - 5 + rowModulo; 946 addRow = row - 5 + rowModulo;
928 } 947 }
929 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow); 948 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow);
930 ++addCol;//++addCol; 949 ++addCol;//++addCol;
931 if ( row == 0) 950 if ( row == 0)
932 addRow = 1; 951 addRow = 1;
933 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight, 952 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight,
934 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]); 953 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]);
935 954
936 // reset color to actual color 955 // reset color to actual color
937 if (!mHolidays[i].isNull()) { 956 if (!mHolidays[i].isNull()) {
938 p.setPen(actcol); 957 p.setPen(actcol);
939 } 958 }
940 // reset bold font to plain font 959 // reset bold font to plain font
941 if ( eDays.testBit(i)) { 960 if ( eDays.testBit(i)) {
942 QFont myFont = font(); 961 QFont myFont = font();
943 myFont.setBold(false); 962 myFont.setBold(false);
944 p.setFont(myFont); 963 p.setFont(myFont);
945 } 964 }
946 } 965 }
947 } else { 966 } else {
948 //qDebug("NO redraw "); 967 //qDebug("NO redraw ");
949 } 968 }
950 bitBlt (this, 0, 0, &myPix, 0 ,0,width(), height() ,CopyROP); 969
970 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP);
951 mRedrawNeeded = false; 971 mRedrawNeeded = false;
952} 972}
953 973
954// ---------------------------------------------------------------------------- 974// ----------------------------------------------------------------------------
955// R E SI Z E E V E N T H A N D L I N G 975// R E SI Z E E V E N T H A N D L I N G
956// ---------------------------------------------------------------------------- 976// ----------------------------------------------------------------------------
957 977
958void KODayMatrix::resizeEvent(QResizeEvent *) 978void KODayMatrix::resizeEvent(QResizeEvent *)
959{ 979{
960 QRect sz = frameRect(); 980 QRect sz = frameRect();
961 daysize.setHeight(sz.height()*7 / NUMDAYS); 981 daysize.setHeight(sz.height()*7 / NUMDAYS);
962 daysize.setWidth(sz.width() / 7); 982 daysize.setWidth(sz.width() / 7);
963} 983}
964 984
965QSize KODayMatrix::sizeHint() const 985QSize KODayMatrix::sizeHint() const
966{ 986{
967 987
968 QFontMetrics fm ( font() ); 988 QFontMetrics fm ( font() );
969 int wid = fm.width( "30") *7+3; 989 int wid = fm.width( "30") *7+3;
970 int hei = fm.height() * 6+3; 990 int hei = fm.height() * 6+3;
971 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei); 991 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei);
972 return QSize ( wid, hei ); 992 return QSize ( wid, hei );
973 993
974} 994}
diff --git a/korganizer/kodaymatrix.h b/korganizer/kodaymatrix.h
index 731117c..d725ead 100644
--- a/korganizer/kodaymatrix.h
+++ b/korganizer/kodaymatrix.h
@@ -182,96 +182,97 @@ public slots:
182 void repaintViewTimed(); 182 void repaintViewTimed();
183 183
184 /** 184 /**
185 * Calculate which square in the matrix should be 185 * Calculate which square in the matrix should be
186 * hilighted to indicate it's today. 186 * hilighted to indicate it's today.
187 */ 187 */
188 void recalculateToday(); 188 void recalculateToday();
189 189
190/* 190/*
191 void setStartDate(QDate); 191 void setStartDate(QDate);
192*/ 192*/
193 193
194signals: 194signals:
195 195
196 /** emitted if the user selects a block of days with the mouse by dragging a rectangle 196 /** emitted if the user selects a block of days with the mouse by dragging a rectangle
197 * inside the matrix 197 * inside the matrix
198 * 198 *
199 * @param daylist list of days that have been selected by the user 199 * @param daylist list of days that have been selected by the user
200 */ 200 */
201 void selected( const KCal::DateList &daylist ); 201 void selected( const KCal::DateList &daylist );
202 202
203 /** emitted if the user has dropped an event inside the matrix 203 /** emitted if the user has dropped an event inside the matrix
204 * 204 *
205 * @param event the dropped calendar event 205 * @param event the dropped calendar event
206 */ 206 */
207 void eventDropped(Event *event); 207 void eventDropped(Event *event);
208 208
209protected: 209protected:
210 210
211 void paintEvent(QPaintEvent *ev); 211 void paintEvent(QPaintEvent *ev);
212 212
213 void mousePressEvent (QMouseEvent* e); 213 void mousePressEvent (QMouseEvent* e);
214 214
215 void mouseReleaseEvent (QMouseEvent* e); 215 void mouseReleaseEvent (QMouseEvent* e);
216 216
217 void mouseMoveEvent (QMouseEvent* e); 217 void mouseMoveEvent (QMouseEvent* e);
218 218
219 void dragEnterEvent(QDragEnterEvent *); 219 void dragEnterEvent(QDragEnterEvent *);
220 220
221 void dragMoveEvent(QDragMoveEvent *); 221 void dragMoveEvent(QDragMoveEvent *);
222 222
223 void dragLeaveEvent(QDragLeaveEvent *); 223 void dragLeaveEvent(QDragLeaveEvent *);
224 224
225 void dropEvent(QDropEvent *); 225 void dropEvent(QDropEvent *);
226 226
227 void resizeEvent(QResizeEvent *); 227 void resizeEvent(QResizeEvent *);
228 228
229private: 229private:
230 int oldW, oldH;
230 bool mRedrawNeeded; 231 bool mRedrawNeeded;
231 KODaymatrixWhatsThis* mKODaymatrixWhatsThis; 232 KODaymatrixWhatsThis* mKODaymatrixWhatsThis;
232 bool mouseDown; 233 bool mouseDown;
233 QBitArray bDays; 234 QBitArray bDays;
234 QBitArray hDays; 235 QBitArray hDays;
235 QBitArray eDays; 236 QBitArray eDays;
236 QPixmap myPix; 237 QPixmap myPix;
237 QTimer* mUpdateTimer; 238 QTimer* mUpdateTimer;
238 QTimer* mRepaintTimer; 239 QTimer* mRepaintTimer;
239 bool mDayChanged; 240 bool mDayChanged;
240 bool mPendingUpdateBeforeRepaint; 241 bool mPendingUpdateBeforeRepaint;
241 242
242 /** returns the index of the day located at the matrix's widget (x,y) position. 243 /** returns the index of the day located at the matrix's widget (x,y) position.
243 * 244 *
244 * @param x horizontal coordinate 245 * @param x horizontal coordinate
245 * @param y vertical coordinate 246 * @param y vertical coordinate
246 */ 247 */
247 int getDayIndexFrom(int x, int y); 248 int getDayIndexFrom(int x, int y);
248 249
249 /** calculates a "shaded" color from the supplied color object. 250 /** calculates a "shaded" color from the supplied color object.
250 * (Copied from Cornelius's kdpdatebutton.cpp) 251 * (Copied from Cornelius's kdpdatebutton.cpp)
251 * 252 *
252 * @param color source based on which a shaded color should be calculated. 253 * @param color source based on which a shaded color should be calculated.
253 */ 254 */
254 QColor getShadedColor(QColor color); 255 QColor getShadedColor(QColor color);
255 256
256 /** number of days to be displayed. For now there is no support for any other number then 42. 257 /** number of days to be displayed. For now there is no support for any other number then 42.
257 so change it at your own risk :o) */ 258 so change it at your own risk :o) */
258 static const int NUMDAYS; 259 static const int NUMDAYS;
259 260
260 /** calendar instance to be queried for holidays, events, ... */ 261 /** calendar instance to be queried for holidays, events, ... */
261 Calendar *mCalendar; 262 Calendar *mCalendar;
262 263
263 /** starting date of the matrix */ 264 /** starting date of the matrix */
264 QDate startdate; 265 QDate startdate;
265 266
266 /** array of day labels to optimeize drawing performance. */ 267 /** array of day labels to optimeize drawing performance. */
267 QString *daylbls; 268 QString *daylbls;
268 269
269 /** array of days displayed to reduce memory consumption by 270 /** array of days displayed to reduce memory consumption by
270 subsequently calling QDate::addDays(). */ 271 subsequently calling QDate::addDays(). */
271 QDate *days; 272 QDate *days;
272 273
273 /** array of storing the number of events on a given day. 274 /** array of storing the number of events on a given day.
274 * used for drawing a bold font if there is at least one event on that day. 275 * used for drawing a bold font if there is at least one event on that day.
275 */ 276 */
276 //int *events; 277 //int *events;
277 278