summaryrefslogtreecommitdiffabout
path: root/korganizer/kodaymatrix.cpp
authorMichael Krelin <hacker@klever.net>2007-07-04 11:23:42 (UTC)
committer Michael Krelin <hacker@klever.net>2007-07-04 11:23:42 (UTC)
commita08aff328d4393031d5ba7d622c2b05705a89d73 (patch) (unidiff)
tree8ee90d686081c52e7c69b5ce946e9b1a7d690001 /korganizer/kodaymatrix.cpp
parent11edc920afe4f274c0964436633aa632c8288a40 (diff)
downloadkdepimpi-a08aff328d4393031d5ba7d622c2b05705a89d73.zip
kdepimpi-a08aff328d4393031d5ba7d622c2b05705a89d73.tar.gz
kdepimpi-a08aff328d4393031d5ba7d622c2b05705a89d73.tar.bz2
initial public commit of qt4 portp1
Diffstat (limited to 'korganizer/kodaymatrix.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kodaymatrix.cpp47
1 files changed, 28 insertions, 19 deletions
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 52fd1e8..4f681b3 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -15,27 +15,36 @@
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source ode for Qt in the source distribution. 22 without including the source ode for Qt in the source distribution.
23*/ 23*/
24 24
25#include <qevent.h> 25#include <qevent.h>
26#include <qpainter.h> 26#include <qpainter.h>
27#include <qptrlist.h> 27#include <q3ptrlist.h>
28#include <qtimer.h> 28#include <qtimer.h>
29#include <qwhatsthis.h> 29#include <q3whatsthis.h>
30//Added by qt3to4:
31#include <QDragLeaveEvent>
32#include <Q3Frame>
33#include <QDragEnterEvent>
34#include <QDragMoveEvent>
35#include <QDropEvent>
36#include <QResizeEvent>
37#include <QMouseEvent>
38#include <QPaintEvent>
30 39
31#include <kglobal.h> 40#include <kglobal.h>
32#include <kdebug.h> 41#include <kdebug.h>
33#include <klocale.h> 42#include <klocale.h>
34 43
35#include <libkcal/vcaldrag.h> 44#include <libkcal/vcaldrag.h>
36#include <libkcal/icaldrag.h> 45#include <libkcal/icaldrag.h>
37#include <libkcal/dndfactory.h> 46#include <libkcal/dndfactory.h>
38#include <libkcal/calendarresources.h> 47#include <libkcal/calendarresources.h>
39#include <libkcal/resourcecalendar.h> 48#include <libkcal/resourcecalendar.h>
40#include <kresources/resourceselectdialog.h> 49#include <kresources/resourceselectdialog.h>
41 50
@@ -45,33 +54,33 @@
45#include "kocore.h" 54#include "kocore.h"
46#endif 55#endif
47#include "koprefs.h" 56#include "koprefs.h"
48#include "koglobals.h" 57#include "koglobals.h"
49 58
50#include "kodaymatrix.h" 59#include "kodaymatrix.h"
51 60
52// ============================================================================ 61// ============================================================================
53// D Y N A M I C T I P 62// D Y N A M I C T I P
54// ============================================================================ 63// ============================================================================
55 64
56DynamicTip::DynamicTip( QWidget * parent ) 65DynamicTip::DynamicTip( QWidget * parent )
57 : QToolTip( parent ) 66 /* TODO:hacker: : QToolTip( parent ) */
58{ 67{
59 matrix = (KODayMatrix*)parent; 68 matrix = (KODayMatrix*)parent;
60} 69}
61 70
62class KODaymatrixWhatsThis :public QWhatsThis 71class KODaymatrixWhatsThis :public Q3WhatsThis
63{ 72{
64public: 73public:
65 KODaymatrixWhatsThis( KODayMatrix* view ) : QWhatsThis( view ),_view (view) { ;}; 74 KODaymatrixWhatsThis( KODayMatrix* view ) : Q3WhatsThis( view ),_view (view) { ;};
66 ~KODaymatrixWhatsThis() { ; }; 75 ~KODaymatrixWhatsThis() { ; };
67 76
68protected: 77protected:
69 virtual QString text( const QPoint& p ) 78 virtual QString text( const QPoint& p )
70 { 79 {
71 return _view->getWhatsThisText( p ) ; 80 return _view->getWhatsThisText( p ) ;
72 } 81 }
73private: 82private:
74 KODayMatrix * _view; 83 KODayMatrix * _view;
75}; 84};
76 85
77void DynamicTip::maybeTip( const QPoint &pos ) 86void DynamicTip::maybeTip( const QPoint &pos )
@@ -82,37 +91,37 @@ void DynamicTip::maybeTip( const QPoint &pos )
82 int dwidth = sz.width() / 7; 91 int dwidth = sz.width() / 7;
83 int row = pos.y()/dheight; 92 int row = pos.y()/dheight;
84 int col = pos.x()/dwidth; 93 int col = pos.x()/dwidth;
85 94
86 QRect rct(col*dwidth, row*dheight, dwidth, dheight); 95 QRect rct(col*dwidth, row*dheight, dwidth, dheight);
87 96
88// kdDebug() << "DynamicTip::maybeTip matrix cell index [" << 97// kdDebug() << "DynamicTip::maybeTip matrix cell index [" <<
89// col << "][" << row << "] => " <<(col+row*7) << endl; 98// col << "][" << row << "] => " <<(col+row*7) << endl;
90 99
91 //show holiday names only 100 //show holiday names only
92 QString str = matrix->getHolidayLabel(col+row*7); 101 QString str = matrix->getHolidayLabel(col+row*7);
93 if (str.isEmpty()) return; 102 if (str.isEmpty()) return;
94 tip(rct, str); 103 /* TODO:hacker: tip(rct, str);*/
95} 104}
96 105
97 106
98// ============================================================================ 107// ============================================================================
99// K O D A Y M A T R I X 108// K O D A Y M A T R I X
100// ============================================================================ 109// ============================================================================
101 110
102const int KODayMatrix::NOSELECTION = -1000; 111const int KODayMatrix::NOSELECTION = -1000;
103const int KODayMatrix::NUMDAYS = 42; 112const int KODayMatrix::NUMDAYS = 42;
104 113
105KODayMatrix::KODayMatrix( QWidget *parent, const char *name ) 114KODayMatrix::KODayMatrix( QWidget *parent, const char *name )
106 : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 ) 115 : Q3Frame( parent, name , Qt::WNoAutoErase ), mCalendar( 0 )
107 116
108 117
109{ 118{
110 mLastView = -1; 119 mLastView = -1;
111 oldW = 0; 120 oldW = 0;
112 oldH = 0; 121 oldH = 0;
113 myPix.resize( 150, 120 ); 122 myPix.resize( 150, 120 );
114 mRedrawNeeded = true; 123 mRedrawNeeded = true;
115 mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this); 124 mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this);
116 mPendingUpdateBeforeRepaint = false; 125 mPendingUpdateBeforeRepaint = false;
117 mouseDown = false; 126 mouseDown = false;
118 // initialize dynamic arrays 127 // initialize dynamic arrays
@@ -142,25 +151,25 @@ KODayMatrix::KODayMatrix( QWidget *parent, const char *name )
142 mRepaintTimer = new QTimer( this ); 151 mRepaintTimer = new QTimer( this );
143 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() )); 152 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() ));
144 mDayChanged = false; 153 mDayChanged = false;
145 updateView(); 154 updateView();
146} 155}
147QString KODayMatrix::getWhatsThisText( QPoint p ) 156QString KODayMatrix::getWhatsThisText( QPoint p )
148{ 157{
149 158
150 int tmp = getDayIndexFrom(p.x(), p.y()); 159 int tmp = getDayIndexFrom(p.x(), p.y());
151 if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar ) 160 if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar )
152 return QString(); 161 return QString();
153 QDate mDate = days[tmp]; 162 QDate mDate = days[tmp];
154 QPtrList<Event> eventlist = mCalendar->events(mDate); 163 Q3PtrList<Event> eventlist = mCalendar->events(mDate);
155 Event *event; 164 Event *event;
156 QStringList mToolTip; 165 QStringList mToolTip;
157 for(event=eventlist.first();event != 0;event=eventlist.next()) { 166 for(event=eventlist.first();event != 0;event=eventlist.next()) {
158 QString mToolTipText; 167 QString mToolTipText;
159 QString text; 168 QString text;
160 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day 169 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day
161 if (event->isMultiDay()) { 170 if (event->isMultiDay()) {
162 QString prefix = "<->";multiday = 2; 171 QString prefix = "<->";multiday = 2;
163 QString time; 172 QString time;
164 if ( event->doesRecur() ) { 173 if ( event->doesRecur() ) {
165 if ( event->recursOn( mDate) ) { 174 if ( event->recursOn( mDate) ) {
166 prefix ="->" ;multiday = 1; 175 prefix ="->" ;multiday = 1;
@@ -196,40 +205,40 @@ QString KODayMatrix::getWhatsThisText( QPoint p )
196 text = KGlobal::locale()->formatTime(event->dtStart().time()); 205 text = KGlobal::locale()->formatTime(event->dtStart().time());
197 text += " " + event->summary(); 206 text += " " + event->summary();
198 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary(); 207 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary();
199 } 208 }
200 } 209 }
201 if ( !event->location().isEmpty() ) 210 if ( !event->location().isEmpty() )
202 mToolTipText += " (" + event->location() + ")"; 211 mToolTipText += " (" + event->location() + ")";
203 //qDebug("TTT: %s ", mToolTipText.latin1()); 212 //qDebug("TTT: %s ", mToolTipText.latin1());
204 mToolTip.append( deTag( mToolTipText ) ); 213 mToolTip.append( deTag( mToolTipText ) );
205 } 214 }
206 mToolTip.sort(); 215 mToolTip.sort();
207 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { 216 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) {
208 QPtrList<Todo> todolist = mCalendar->todos(mDate); 217 Q3PtrList<Todo> todolist = mCalendar->todos(mDate);
209 Todo *todo; 218 Todo *todo;
210 for(todo=todolist.first();todo != 0;todo=todolist.next()) { 219 for(todo=todolist.first();todo != 0;todo=todolist.next()) {
211 QString mToolTipText; 220 QString mToolTipText;
212 if ( !todo->doesFloat() ) 221 if ( !todo->doesFloat() )
213 mToolTipText += KGlobal::locale()->formatTime(todo->dtDue().time())+" "; 222 mToolTipText += KGlobal::locale()->formatTime(todo->dtDue().time())+" ";
214 mToolTipText += todo->summary(); 223 mToolTipText += todo->summary();
215 if ( !todo->location().isEmpty() ) 224 if ( !todo->location().isEmpty() )
216 mToolTipText += " (" + todo->location() + ")"; 225 mToolTipText += " (" + todo->location() + ")";
217 mToolTipText = deTag( mToolTipText); 226 mToolTipText = deTag( mToolTipText);
218 mToolTipText = "<b>" + i18n("Todo: ") + "</b>"+ mToolTipText; 227 mToolTipText = "<b>" + i18n("Todo: ") + "</b>"+ mToolTipText;
219 mToolTip.append( mToolTipText ); 228 mToolTip.append( mToolTipText );
220 } 229 }
221 } 230 }
222 if (KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { 231 if (KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) {
223 QPtrList<Journal> j_list = mCalendar->journals4Date( mDate ); 232 Q3PtrList<Journal> j_list = mCalendar->journals4Date( mDate );
224 Journal *j = j_list.first(); 233 Journal *j = j_list.first();
225 while ( j ) { 234 while ( j ) {
226 QString mToolTipText; 235 QString mToolTipText;
227 if ( !j->summary().isEmpty() ) { 236 if ( !j->summary().isEmpty() ) {
228 mToolTipText = j->summary().left(30); 237 mToolTipText = j->summary().left(30);
229 if ( j->summary().length() > 30 ) 238 if ( j->summary().length() > 30 )
230 mToolTipText += " ..."; 239 mToolTipText += " ...";
231 } else { 240 } else {
232 mToolTipText = j->description().left(25); 241 mToolTipText = j->description().left(25);
233 if ( j->description().length() > 25 ) 242 if ( j->description().length() > 25 )
234 mToolTipText += " ..."; 243 mToolTipText += " ...";
235 mToolTipText = deTag( mToolTipText); 244 mToolTipText = deTag( mToolTipText);
@@ -432,25 +441,25 @@ void KODayMatrix::computeEvent(Event *event, int i )
432void KODayMatrix::updateViewTimed() 441void KODayMatrix::updateViewTimed()
433{ 442{
434 mUpdateTimer->stop(); 443 mUpdateTimer->stop();
435 if ( !mCalendar ) { 444 if ( !mCalendar ) {
436 qDebug("NOT CAL "); 445 qDebug("NOT CAL ");
437 return; 446 return;
438 } 447 }
439#if 1 448#if 1
440 449
441 450
442 int i; 451 int i;
443 int timeSpan = NUMDAYS-1; 452 int timeSpan = NUMDAYS-1;
444 QPtrList<Event> events = mCalendar->events(); 453 Q3PtrList<Event> events = mCalendar->events();
445 Event *event; 454 Event *event;
446 QDateTime dt; 455 QDateTime dt;
447 bool ok; 456 bool ok;
448 bDays.fill( false); 457 bDays.fill( false);
449 pDays.fill( false); 458 pDays.fill( false);
450 hDays.fill( false); 459 hDays.fill( false);
451 eDays.fill( false); 460 eDays.fill( false);
452 mHolidays.clear(); 461 mHolidays.clear();
453 QDate mStartDate = days[0]; 462 QDate mStartDate = days[0];
454 QDate endDate = mStartDate.addDays( timeSpan ); 463 QDate endDate = mStartDate.addDays( timeSpan );
455 for( event = events.first(); event; event = events.next() ) { // for event 464 for( event = events.first(); event; event = events.next() ) { // for event
456 ushort recurType = event->doesRecur(); 465 ushort recurType = event->doesRecur();
@@ -517,74 +526,74 @@ void KODayMatrix::updateViewTimed()
517 } 526 }
518 } 527 }
519 } 528 }
520 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday 529 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday
521 for(i = 0; i < NUMDAYS; i++) { 530 for(i = 0; i < NUMDAYS; i++) {
522 if ( ( (i+startDay) % 7 == 0 ) ) { 531 if ( ( (i+startDay) % 7 == 0 ) ) {
523 pDays.setBit(i); 532 pDays.setBit(i);
524 } 533 }
525 } 534 }
526 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { 535 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) {
527 bDays.fill( false); 536 bDays.fill( false);
528 // insert due todos 537 // insert due todos
529 QPtrList<Todo> todos = mCalendar->todos( ); 538 Q3PtrList<Todo> todos = mCalendar->todos( );
530 Todo *todo; 539 Todo *todo;
531 for(todo = todos.first(); todo; todo = todos.next()) { 540 for(todo = todos.first(); todo; todo = todos.next()) {
532 //insertTodo( todo ); 541 //insertTodo( todo );
533 if ( todo->hasDueDate() ) { 542 if ( todo->hasDueDate() ) {
534 int day = mStartDate.daysTo( todo->dtDue().date() ); 543 int day = mStartDate.daysTo( todo->dtDue().date() );
535 if ( day >= 0 && day < timeSpan + 1) { 544 if ( day >= 0 && day < timeSpan + 1) {
536 int i = day; 545 int i = day;
537 QString holiStr = mHolidays[i]; 546 QString holiStr = mHolidays[i];
538 pDays.setBit(i); 547 pDays.setBit(i);
539 if ( !holiStr.isEmpty() ) 548 if ( !holiStr.isEmpty() )
540 holiStr += "\n"; 549 holiStr += "\n";
541 holiStr += i18n("Todo") + ": "+todo->summary(); 550 holiStr += i18n("Todo") + ": "+todo->summary();
542 if ( !todo->location().isEmpty() ) 551 if ( !todo->location().isEmpty() )
543 holiStr += " (" + todo->location() + ")"; 552 holiStr += " (" + todo->location() + ")";
544 bDays.setBit(i); 553 bDays.setBit(i);
545 mHolidays[i] =holiStr ; 554 mHolidays[i] =holiStr ;
546 eDays.setBit(i); 555 eDays.setBit(i);
547 } 556 }
548 } 557 }
549 } 558 }
550 } 559 }
551 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { 560 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) {
552 bDays.fill( false); 561 bDays.fill( false);
553 // insert due todos 562 // insert due todos
554 QPtrList<Journal> todos = mCalendar->journals( ); 563 Q3PtrList<Journal> todos = mCalendar->journals( );
555 Journal *todo; 564 Journal *todo;
556 for(todo = todos.first(); todo; todo = todos.next()) { 565 for(todo = todos.first(); todo; todo = todos.next()) {
557 int day = mStartDate.daysTo( todo->dtStart().date() ); 566 int day = mStartDate.daysTo( todo->dtStart().date() );
558 if ( day >= 0 && day < timeSpan + 1) { 567 if ( day >= 0 && day < timeSpan + 1) {
559 int i = day; 568 int i = day;
560 QString holiStr = mHolidays[i]; 569 QString holiStr = mHolidays[i];
561 pDays.setBit(i); 570 pDays.setBit(i);
562 if ( !holiStr.isEmpty() ) 571 if ( !holiStr.isEmpty() )
563 holiStr += "\n"; 572 holiStr += "\n";
564 holiStr += i18n("Journal: ")+todo->summary().left(25); 573 holiStr += i18n("Journal: ")+todo->summary().left(25);
565 if ( todo->summary().length() > 25 ) 574 if ( todo->summary().length() > 25 )
566 holiStr +="..."; 575 holiStr +="...";
567 bDays.setBit(i); 576 bDays.setBit(i);
568 mHolidays[i] =holiStr ; 577 mHolidays[i] =holiStr ;
569 eDays.setBit(i); 578 eDays.setBit(i);
570 579
571 } 580 }
572 } 581 }
573 } 582 }
574#else 583#else
575 //qDebug("KODayMatrix::updateViewTimed "); 584 //qDebug("KODayMatrix::updateViewTimed ");
576 for(int i = 0; i < NUMDAYS; i++) { 585 for(int i = 0; i < NUMDAYS; i++) {
577 // if events are set for the day then remember to draw it bold 586 // if events are set for the day then remember to draw it bold
578 QPtrList<Event> eventlist = mCalendar->events(days[i]); 587 Q3PtrList<Event> eventlist = mCalendar->events(days[i]);
579 Event *event; 588 Event *event;
580 int numEvents = eventlist.count(); 589 int numEvents = eventlist.count();
581 QString holiStr = ""; 590 QString holiStr = "";
582 bDays.clearBit(i); 591 bDays.clearBit(i);
583 hDays.clearBit(i); 592 hDays.clearBit(i);
584 eDays.clearBit(i); 593 eDays.clearBit(i);
585 for(event=eventlist.first();event != 0;event=eventlist.next()) { 594 for(event=eventlist.first();event != 0;event=eventlist.next()) {
586 ushort recurType = event->recurrence()->doesRecur(); 595 ushort recurType = event->recurrence()->doesRecur();
587 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || 596 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) ||
588 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) { 597 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) {
589 numEvents--; 598 numEvents--;
590 } 599 }
@@ -666,25 +675,25 @@ void KODayMatrix::updateView(QDate actdate)
666#else 675#else
667 mRepaintTimer->start( 250 ); 676 mRepaintTimer->start( 250 );
668 mUpdateTimer->start( 500 ); 677 mUpdateTimer->start( 500 );
669#endif 678#endif
670 } 679 }
671} 680}
672void KODayMatrix::updateEvents() 681void KODayMatrix::updateEvents()
673{ 682{
674 if ( !mCalendar ) return; 683 if ( !mCalendar ) return;
675 684
676 for( int i = 0; i < NUMDAYS; i++ ) { 685 for( int i = 0; i < NUMDAYS; i++ ) {
677 // if events are set for the day then remember to draw it bold 686 // if events are set for the day then remember to draw it bold
678 QPtrList<Event> eventlist = mCalendar->events( days[ i ] ); 687 Q3PtrList<Event> eventlist = mCalendar->events( days[ i ] );
679 int numEvents = eventlist.count(); 688 int numEvents = eventlist.count();
680 Event *event; 689 Event *event;
681 for( event = eventlist.first(); event != 0;event=eventlist.next()) { 690 for( event = eventlist.first(); event != 0;event=eventlist.next()) {
682 ushort recurType = event->doesRecur(); 691 ushort recurType = event->doesRecur();
683 692
684 if ( ( recurType == Recurrence::rDaily && 693 if ( ( recurType == Recurrence::rDaily &&
685 !KOPrefs::instance()->mDailyRecur ) || 694 !KOPrefs::instance()->mDailyRecur ) ||
686 ( recurType == Recurrence::rWeekly && 695 ( recurType == Recurrence::rWeekly &&
687 !KOPrefs::instance()->mWeeklyRecur ) ) { 696 !KOPrefs::instance()->mWeeklyRecur ) ) {
688 numEvents--; 697 numEvents--;
689 } 698 }
690 if ( !KOPrefs::instance()->mLongAllday && event->doesFloat()&& event->isMultiDay() ) { 699 if ( !KOPrefs::instance()->mLongAllday && event->doesFloat()&& event->isMultiDay() ) {
@@ -730,38 +739,38 @@ int KODayMatrix::getDayIndexFrom(int x, int y)
730 739
731 return 7*(yVal) + xVal; 740 return 7*(yVal) + xVal;
732 741
733} 742}
734 743
735// ---------------------------------------------------------------------------- 744// ----------------------------------------------------------------------------
736// M O U S E E V E N T H A N D L I N G 745// M O U S E E V E N T H A N D L I N G
737// ---------------------------------------------------------------------------- 746// ----------------------------------------------------------------------------
738 747
739void KODayMatrix::mousePressEvent (QMouseEvent* e) 748void KODayMatrix::mousePressEvent (QMouseEvent* e)
740{ 749{
741 750
742 if ( e->button() == LeftButton ) 751 if ( e->button() == Qt::LeftButton )
743 mouseDown = true; 752 mouseDown = true;
744 mSelStart = getDayIndexFrom(e->x(), e->y()); 753 mSelStart = getDayIndexFrom(e->x(), e->y());
745 if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1; 754 if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1;
746 mSelInit = mSelStart; 755 mSelInit = mSelStart;
747 mSelEnd = mSelStart; 756 mSelEnd = mSelStart;
748 mRedrawNeeded = true; 757 mRedrawNeeded = true;
749 repaint(false); 758 repaint(false);
750} 759}
751 760
752void KODayMatrix::mouseReleaseEvent (QMouseEvent* e) 761void KODayMatrix::mouseReleaseEvent (QMouseEvent* e)
753{ 762{
754 mRedrawNeeded = true; 763 mRedrawNeeded = true;
755 if ( e->button() == LeftButton ) 764 if ( e->button() == Qt::LeftButton )
756 if ( ! mouseDown ) { 765 if ( ! mouseDown ) {
757 return; 766 return;
758 } 767 }
759 else 768 else
760 mouseDown = false; 769 mouseDown = false;
761 int tmp = getDayIndexFrom(e->x(), e->y()); 770 int tmp = getDayIndexFrom(e->x(), e->y());
762 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1; 771 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1;
763 772
764 if (mSelInit > tmp) { 773 if (mSelInit > tmp) {
765 mSelEnd = mSelInit; 774 mSelEnd = mSelInit;
766 if (tmp != mSelStart) { 775 if (tmp != mSelStart) {
767 mSelStart = tmp; 776 mSelStart = tmp;
@@ -1186,38 +1195,38 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
1186 if ( eDays.testBit(i)) { 1195 if ( eDays.testBit(i)) {
1187 QFont myFont = font(); 1196 QFont myFont = font();
1188 myFont.setBold(false); 1197 myFont.setBold(false);
1189 p.setFont(myFont); 1198 p.setFont(myFont);
1190 } 1199 }
1191 } 1200 }
1192 p.setPen(mDefaultTextColor); 1201 p.setPen(mDefaultTextColor);
1193 p.drawRect(0, 0, width(), height()); 1202 p.drawRect(0, 0, width(), height());
1194 } else { 1203 } else {
1195 //qDebug("NO redraw "); 1204 //qDebug("NO redraw ");
1196 } 1205 }
1197 1206
1198 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP); 1207 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,QPainter::CompositionMode_Source);
1199 mRedrawNeeded = false; 1208 mRedrawNeeded = false;
1200} 1209}
1201 1210
1202// ---------------------------------------------------------------------------- 1211// ----------------------------------------------------------------------------
1203// R E SI Z E E V E N T H A N D L I N G 1212// R E SI Z E E V E N T H A N D L I N G
1204// ---------------------------------------------------------------------------- 1213// ----------------------------------------------------------------------------
1205 1214
1206void KODayMatrix::resizeEvent(QResizeEvent * e) 1215void KODayMatrix::resizeEvent(QResizeEvent * e)
1207{ 1216{
1208 QRect sz = frameRect(); 1217 QRect sz = frameRect();
1209 daysize.setHeight(sz.height()*7 / NUMDAYS); 1218 daysize.setHeight(sz.height()*7 / NUMDAYS);
1210 daysize.setWidth(sz.width() / 7); 1219 daysize.setWidth(sz.width() / 7);
1211 QFrame::resizeEvent( e ); 1220 Q3Frame::resizeEvent( e );
1212} 1221}
1213 1222
1214QSize KODayMatrix::sizeHint() const 1223QSize KODayMatrix::sizeHint() const
1215{ 1224{
1216 1225
1217 QFontMetrics fm ( font() ); 1226 QFontMetrics fm ( font() );
1218 int wid = fm.width( "30") *7+3; 1227 int wid = fm.width( "30") *7+3;
1219 int hei = fm.height() * 6+3; 1228 int hei = fm.height() * 6+3;
1220 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei); 1229 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei);
1221 return QSize ( wid, hei ); 1230 return QSize ( wid, hei );
1222 1231
1223} 1232}