summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-06-27 19:29:38 (UTC)
committer zautrix <zautrix>2005-06-27 19:29:38 (UTC)
commitd730e4b5cd81965f224b69efcc91dd58253f0b98 (patch) (unidiff)
tree38874ec3d889bee7ab12a79a1ef690e6c47aac5f
parent427221638f1e652bd57a37835a1de0134266c3f7 (diff)
downloadkdepimpi-d730e4b5cd81965f224b69efcc91dd58253f0b98.zip
kdepimpi-d730e4b5cd81965f224b69efcc91dd58253f0b98.tar.gz
kdepimpi-d730e4b5cd81965f224b69efcc91dd58253f0b98.tar.bz2
fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/komonthview.cpp57
-rw-r--r--korganizer/komonthview.h6
2 files changed, 18 insertions, 45 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 00e5a6f..aeb3974 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -273,57 +273,36 @@ void KNoScrollListBox::mousePressEvent(QMouseEvent *e)
273{ 273{
274 QListBox::mousePressEvent(e); 274 QListBox::mousePressEvent(e);
275 275
276 if(e->button() == RightButton) { 276 if(e->button() == RightButton) {
277 emit rightClick(); 277 emit rightClick();
278 } 278 }
279} 279}
280 280
281MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s) 281MonthViewItem::MonthViewItem( Incidence *incidence, const QString & s)
282 : QListBoxItem() 282 : QListBoxItem()
283{ 283{
284 mDisplayHightlighted = false;
285 mblockRepaint = true; 284 mblockRepaint = true;
286 setText( s );
287 mMultiday = 0;
288 mIncidence = incidence;
289 mDate = qd;
290 mRecur = false;
291 mAlarm = false;
292 mReply = false;
293 mInfo = false;
294 mdayPos = 0;
295 isWeekItem = KOPrefs::instance()->mMonthViewWeek; 285 isWeekItem = KOPrefs::instance()->mMonthViewWeek;
286 recycle( incidence, s );
296} 287}
297void MonthViewItem::recycle( Incidence *incidence, QDate qd, const QString & s) 288void MonthViewItem::recycle( Incidence *incidence, const QString & s)
298{ 289{
299 mDisplayHightlighted = false; 290 mDisplayHightlighted = false;
300 setText( s ); 291 setText( s );
301 mMultiday = 0; 292 mMultiday = 0;
302 mIncidence = incidence; 293 mIncidence = incidence;
303 mDate = qd;
304 mRecur = false;
305 mAlarm = false;
306 mReply = false;
307 mInfo = false;
308 mdayPos = 0;
309}
310void MonthViewItem::clearData()
311{
312 mDisplayHightlighted = false;
313 setText( "" );
314 mMultiday = 0;
315 mIncidence = 0;
316 mRecur = false; 294 mRecur = false;
317 mAlarm = false; 295 mAlarm = false;
318 mReply = false; 296 mReply = false;
319 mInfo = false; 297 mInfo = false;
320 mdayPos = 0; 298 mdayPos = 0;
321} 299}
300
322bool MonthViewItem::setHighlightedFalse() 301bool MonthViewItem::setHighlightedFalse()
323{ 302{
324 if ( !mDisplayHightlighted ) 303 if ( !mDisplayHightlighted )
325 return false; 304 return false;
326 mDisplayHightlighted = false; 305 mDisplayHightlighted = false;
327 return true; 306 return true;
328} 307}
329 308
@@ -339,27 +318,27 @@ bool MonthViewItem::setHighlighted( Incidence * inc )
339 return false; 318 return false;
340 mDisplayHightlighted = false; 319 mDisplayHightlighted = false;
341 return true; 320 return true;
342 } 321 }
343 return false; 322 return false;
344} 323}
345void MonthViewItem::paint(QPainter *p) 324void MonthViewItem::paint(QPainter *p)
346{ 325{
347 if ( mblockRepaint ) { 326 if ( mblockRepaint || !mIncidence ) {
348 return; 327 return;
349 } 328 }
350#if QT_VERSION >= 0x030000 329#if QT_VERSION >= 0x030000
351 bool sel = isSelected(); 330 bool sel = isSelected();
352#else 331#else
353 bool sel = selected(); 332 bool sel = selected();
354#endif 333#endif
355 int heihei = height( listBox () ); 334 int heihei = height( listBox () );
356 int x = 1; 335 int x = 1;
357 if (KOPrefs::instance()->mMonthViewUsesCategoryColor || mDisplayHightlighted ) 336 if (KOPrefs::instance()->mMonthViewUsesCategoryColor || mDisplayHightlighted || sel )
358 { 337 {
359 if ( mDisplayHightlighted ) 338 if ( mDisplayHightlighted )
360 sel = true; 339 sel = true;
361 p->setBackgroundColor( palette().color( QPalette::Normal, \ 340 p->setBackgroundColor( palette().color( QPalette::Normal, \
362 sel ? QColorGroup::Highlight : QColorGroup::Background ) ); 341 sel ? QColorGroup::Highlight : QColorGroup::Background ) );
363 p->eraseRect( 0, 0, listBox()->maxItemWidth(), heihei ); 342 p->eraseRect( 0, 0, listBox()->maxItemWidth(), heihei );
364 } 343 }
365 344
@@ -390,17 +369,17 @@ void MonthViewItem::paint(QPainter *p)
390 if ( mReply ) { 369 if ( mReply ) {
391 p->fillRect ( x, y,size,size, Qt::yellow ); 370 p->fillRect ( x, y,size,size, Qt::yellow );
392 x += size + 1; 371 x += size + 1;
393 } 372 }
394 } 373 }
395 if ( mMultiday ) { 374 if ( mMultiday ) {
396 int yyy = y+(size/2); 375 int yyy = y+(size/2);
397 int sizeM = size+2; 376 int sizeM = size+2;
398 p->setBrush( QBrush::SolidPattern ); 377 p->setBrush( QBrush( p->pen().color() ) );
399 p->drawLine ( x+1, yyy, x +sizeM +sizeM/2-1, yyy ) ; 378 p->drawLine ( x+1, yyy, x +sizeM +sizeM/2-1, yyy ) ;
400 if ( mMultiday == 2 || mMultiday == 3 ) { 379 if ( mMultiday == 2 || mMultiday == 3 ) {
401 QPointArray pa ( 3 ); 380 QPointArray pa ( 3 );
402 pa.setPoint (0, x, yyy ); 381 pa.setPoint (0, x, yyy );
403 pa.setPoint (1, x+sizeM/2, yyy+sizeM/2 ); 382 pa.setPoint (1, x+sizeM/2, yyy+sizeM/2 );
404 pa.setPoint (2, x+sizeM/2, yyy-sizeM/2 ); 383 pa.setPoint (2, x+sizeM/2, yyy-sizeM/2 );
405 p->drawPolygon( pa ); 384 p->drawPolygon( pa );
406 } 385 }
@@ -429,17 +408,17 @@ void MonthViewItem::paint(QPainter *p)
429 if ( td->isCompleted() ) { 408 if ( td->isCompleted() ) {
430 int half = size/2; 409 int half = size/2;
431 p->drawLine ( x, heihei/2, x +half , heihei/2 +half ) ; 410 p->drawLine ( x, heihei/2, x +half , heihei/2 +half ) ;
432 p->drawLine ( x +half , heihei/2 +half , x +half+half +2 , heihei/2 -2 ) ; 411 p->drawLine ( x +half , heihei/2 +half , x +half+half +2 , heihei/2 -2 ) ;
433 x += half+half + 4; 412 x += half+half + 4;
434 413
435 } else { 414 } else {
436 int val = td->percentComplete()/20; 415 int val = td->percentComplete()/20;
437 p->fillRect ( x+1, y-2, val ,size+4,Qt::black ); 416 p->fillRect ( x+1, y-2, val ,size+4,p->pen().color() );
438 p->drawRect ( x, y-2,7,size+4); 417 p->drawRect ( x, y-2,7,size+4);
439 x += size + 3; 418 x += size + 3;
440 } 419 }
441 } 420 }
442 QFontMetrics fm = p->fontMetrics(); 421 QFontMetrics fm = p->fontMetrics();
443 int yPos; 422 int yPos;
444 int pmheight = size; 423 int pmheight = size;
445 if( pmheight < fm.height() ) 424 if( pmheight < fm.height() )
@@ -663,17 +642,17 @@ void MonthViewCell::startUpdateCell()
663 } else { 642 } else {
664 setLineWidth( 1 ); 643 setLineWidth( 1 );
665 } 644 }
666 MonthViewItem* CurrentAvailItem = (MonthViewItem*) firstItem (); 645 MonthViewItem* CurrentAvailItem = (MonthViewItem*) firstItem ();
667 //clear(); 646 //clear();
668 while ( CurrentAvailItem ) { 647 while ( CurrentAvailItem ) {
669 MonthViewItem *item = CurrentAvailItem; 648 MonthViewItem *item = CurrentAvailItem;
670 //item->setHighlightedFalse(); 649 //item->setHighlightedFalse();
671 item->clearData(); 650 item->recycle( 0, "");
672 CurrentAvailItem = (MonthViewItem *)item->next(); 651 CurrentAvailItem = (MonthViewItem *)item->next();
673 mAvailItemList.append( item ); 652 mAvailItemList.append( item );
674 takeItem ( item ); 653 takeItem ( item );
675 } 654 }
676 655
677#ifdef DESKTOP_VERSION 656#ifdef DESKTOP_VERSION
678 QToolTip::remove(this); 657 QToolTip::remove(this);
679#endif 658#endif
@@ -759,19 +738,19 @@ int MonthViewCell::insertEvent(Event *event)
759 if ( useToolTips && ! event->location().isEmpty() ) { 738 if ( useToolTips && ! event->location().isEmpty() ) {
760 mToolTipText += " (" + event->location() +")"; 739 mToolTipText += " (" + event->location() +")";
761 } 740 }
762 MonthViewItem *item ; 741 MonthViewItem *item ;
763 742
764 if ( mAvailItemList.count() ) { 743 if ( mAvailItemList.count() ) {
765 item = mAvailItemList.first(); 744 item = mAvailItemList.first();
766 mAvailItemList.remove( item ); 745 mAvailItemList.remove( item );
767 item->recycle( event, mDate, text ); 746 item->recycle( event, text );
768 } else { 747 } else {
769 item = new MonthViewItem( event, mDate, text ); 748 item = new MonthViewItem( event, text );
770 } 749 }
771 750
772 QPalette pal; 751 QPalette pal;
773 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 752 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
774 QStringList categories = event->categories(); 753 QStringList categories = event->categories();
775 QString cat = categories.first(); 754 QString cat = categories.first();
776 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 755 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
777 pal = getPalette(); 756 pal = getPalette();
@@ -789,16 +768,17 @@ int MonthViewCell::insertEvent(Event *event)
789 } else { 768 } else {
790 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 769 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
791 } 770 }
792 } 771 }
793 772
794 } else { 773 } else {
795 pal = mStandardPalette ; 774 pal = mStandardPalette ;
796 } 775 }
776 pal.setColor(QColorGroup::Highlight, KOPrefs::instance()->mHighlightColor);
797 item->setPalette( pal ); 777 item->setPalette( pal );
798 item->setRecur( event->recurrence()->doesRecur() ); 778 item->setRecur( event->recurrence()->doesRecur() );
799 item->setAlarm( event->isAlarmEnabled() && multiday < 2 && event->alarmEnabled() ); 779 item->setAlarm( event->isAlarmEnabled() && multiday < 2 && event->alarmEnabled() );
800 item->setMoreInfo( event->description().length() > 0 ); 780 item->setMoreInfo( event->description().length() > 0 );
801#ifdef DESKTOP_VERSION 781#ifdef DESKTOP_VERSION
802 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails, 782 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails,
803 KOPrefs::instance()->email()); 783 KOPrefs::instance()->email());
804 if ( me != 0 ) { 784 if ( me != 0 ) {
@@ -848,19 +828,19 @@ void MonthViewCell::insertTodo(Todo *todo)
848 text += " "; 828 text += " ";
849 } 829 }
850 } 830 }
851 text += todo->summary(); 831 text += todo->summary();
852 MonthViewItem *item ; 832 MonthViewItem *item ;
853 if ( mAvailItemList.count() ) { 833 if ( mAvailItemList.count() ) {
854 item = mAvailItemList.first(); 834 item = mAvailItemList.first();
855 mAvailItemList.remove( item ); 835 mAvailItemList.remove( item );
856 item->recycle( todo, mDate, text ); 836 item->recycle( todo, text );
857 } else { 837 } else {
858 item = new MonthViewItem( todo, mDate, text ); 838 item = new MonthViewItem( todo, text );
859 } 839 }
860 //MonthViewItem *item = new MonthViewItem( todo, mDate, text ); 840 //MonthViewItem *item = new MonthViewItem( todo, mDate, text );
861 //item->setPalette( mStandardPalette ); 841 //item->setPalette( mStandardPalette );
862 QPalette pal; 842 QPalette pal;
863 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 843 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
864 QStringList categories = todo->categories(); 844 QStringList categories = todo->categories();
865 QString cat = categories.first(); 845 QString cat = categories.first();
866 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 846 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
@@ -879,16 +859,17 @@ void MonthViewCell::insertTodo(Todo *todo)
879 } else { 859 } else {
880 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 860 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
881 } 861 }
882 } 862 }
883 863
884 } else { 864 } else {
885 pal = mStandardPalette ; 865 pal = mStandardPalette ;
886 } 866 }
867 pal.setColor(QColorGroup::Highlight, KOPrefs::instance()->mHighlightColor);
887 item->setPalette( pal ); 868 item->setPalette( pal );
888 item->setRecur( todo->recurrence()->doesRecur() ); 869 item->setRecur( todo->recurrence()->doesRecur() );
889 item->setAlarm( todo->isAlarmEnabled() && todo->alarmEnabled() ); 870 item->setAlarm( todo->isAlarmEnabled() && todo->alarmEnabled() );
890 item->setMoreInfo( todo->description().length() > 0 ); 871 item->setMoreInfo( todo->description().length() > 0 );
891 insertItem( item , count()); 872 insertItem( item , count());
892#ifdef DESKTOP_VERSION 873#ifdef DESKTOP_VERSION
893 mToolTip.append( text ); 874 mToolTip.append( text );
894#endif 875#endif
@@ -1018,23 +999,17 @@ Incidence *MonthViewCell::selectedIncidence()
1018 return mitem->incidence(); 999 return mitem->incidence();
1019} 1000}
1020 1001
1021QDate MonthViewCell::selectedIncidenceDate() 1002QDate MonthViewCell::selectedIncidenceDate()
1022{ 1003{
1023 QDate qd; 1004 QDate qd;
1024 int index = currentItem(); 1005 int index = currentItem();
1025 if ( index < 0 ) return qd; 1006 if ( index < 0 ) return qd;
1026 1007 return mDate;
1027 MonthViewItem *mitem =
1028 static_cast<MonthViewItem *>( item( index ) );
1029
1030 if ( !mitem ) return qd;
1031
1032 return mitem->incidenceDate();
1033} 1008}
1034 1009
1035void MonthViewCell::deselect() 1010void MonthViewCell::deselect()
1036{ 1011{
1037 clearSelection(); 1012 clearSelection();
1038 enableScrollBars( false ); 1013 enableScrollBars( false );
1039 // updateCell(); 1014 // updateCell();
1040} 1015}
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index ac97860..2622d10 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -100,35 +100,33 @@ class KNoScrollListBox: public QListBox
100 bool resetOnFocusIn; 100 bool resetOnFocusIn;
101 KNOWhatsThis * mWT; 101 KNOWhatsThis * mWT;
102}; 102};
103 103
104 104
105class MonthViewItem: public QListBoxItem 105class MonthViewItem: public QListBoxItem
106{ 106{
107 public: 107 public:
108 MonthViewItem( Incidence *, QDate qd, const QString & title ); 108 MonthViewItem( Incidence *,const QString & title );
109 void recycle( Incidence *incidence, QDate qd, const QString & s); 109 void recycle( Incidence *incidence, const QString & s);
110 void clearData();
111 void setRecur(bool on) { mRecur = on; } 110 void setRecur(bool on) { mRecur = on; }
112 void setAlarm(bool on) { mAlarm = on; } 111 void setAlarm(bool on) { mAlarm = on; }
113 void setReply(bool on) { mReply = on; } 112 void setReply(bool on) { mReply = on; }
114 void setMoreInfo(bool on) { mInfo = on; } 113 void setMoreInfo(bool on) { mInfo = on; }
115 void setMultiDay(int type) { mMultiday = type; } 114 void setMultiDay(int type) { mMultiday = type; }
116 int multiDay() { return mMultiday; } 115 int multiDay() { return mMultiday; }
117 void setMultiDayPos(int type) { mdayPos = type; } 116 void setMultiDayPos(int type) { mdayPos = type; }
118 int gettMultiDayPos() { return mdayPos; } 117 int gettMultiDayPos() { return mdayPos; }
119 void setBlockRepaint(bool on) { mblockRepaint = on; } 118 void setBlockRepaint(bool on) { mblockRepaint = on; }
120 bool setHighlighted( Incidence * ); 119 bool setHighlighted( Incidence * );
121 120
122 void setPalette(const QPalette &p) { mPalette = p; } 121 void setPalette(const QPalette &p) { mPalette = p; }
123 QPalette palette() const { return mPalette; } 122 QPalette palette() const { return mPalette; }
124 bool setHighlightedFalse(); 123 bool setHighlightedFalse();
125 Incidence *incidence() const { return mIncidence; } 124 Incidence *incidence() const { return mIncidence; }
126 QDate incidenceDate() { return mDate; }
127 125
128 protected: 126 protected:
129 virtual void paint(QPainter *); 127 virtual void paint(QPainter *);
130 virtual int height(const QListBox *) const; 128 virtual int height(const QListBox *) const;
131 virtual int width(const QListBox *) const; 129 virtual int width(const QListBox *) const;
132 130
133 private: 131 private:
134 int mdayPos; 132 int mdayPos;