summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp6
-rw-r--r--korganizer/koagendaitem.cpp11
-rw-r--r--korganizer/koagendaitem.h1
3 files changed, 15 insertions, 3 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 01cef35..0280c74 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -1645,50 +1645,52 @@ void KOAgenda::updateTodo( Todo * todo, int days, bool remove)
1645 //qDebug("KOAgenda::updateTodo %d %d %d %d", this, todo, days, remove); 1645 //qDebug("KOAgenda::updateTodo %d %d %d %d", this, todo, days, remove);
1646 if ( item ) { 1646 if ( item ) {
1647 blockSignals( true ); 1647 blockSignals( true );
1648 //qDebug("item found "); 1648 //qDebug("item found ");
1649 item->hide(); 1649 item->hide();
1650 item->setCellX(-2, -1 ); 1650 item->setCellX(-2, -1 );
1651 item->select(false); 1651 item->select(false);
1652 mUnusedItems.append( item ); 1652 mUnusedItems.append( item );
1653 mItems.remove( item ); 1653 mItems.remove( item );
1654 QPtrList<KOAgendaItem> oldconflictItems = item->conflictItems(); 1654 QPtrList<KOAgendaItem> oldconflictItems = item->conflictItems();
1655 KOAgendaItem *itemit; 1655 KOAgendaItem *itemit;
1656 //globalFlagBlockAgendaItemPaint = 1; 1656 //globalFlagBlockAgendaItemPaint = 1;
1657 for ( itemit=oldconflictItems.first(); itemit != 0; 1657 for ( itemit=oldconflictItems.first(); itemit != 0;
1658 itemit=oldconflictItems.next() ) { 1658 itemit=oldconflictItems.next() ) {
1659 if ( itemit != item ) 1659 if ( itemit != item )
1660 placeSubCells(itemit); 1660 placeSubCells(itemit);
1661 } 1661 }
1662 qApp->processEvents(); 1662 qApp->processEvents();
1663 //globalFlagBlockAgendaItemPaint = 0; 1663 //globalFlagBlockAgendaItemPaint = 0;
1664 for ( itemit=oldconflictItems.first(); itemit != 0; 1664 for ( itemit=oldconflictItems.first(); itemit != 0;
1665 itemit=oldconflictItems.next() ) { 1665 itemit=oldconflictItems.next() ) {
1666 globalFlagBlockAgendaItemUpdate = 0; 1666 globalFlagBlockAgendaItemUpdate = 0;
1667 if ( itemit != item ) 1667 if ( itemit != item )
1668 itemit->repaintMe(); 1668 itemit->repaintMe();
1669 globalFlagBlockAgendaItemUpdate = 1; 1669 globalFlagBlockAgendaItemUpdate = 1;
1670 itemit->repaint(); 1670 //qDebug("sigleshot ");
1671 QTimer::singleShot( 0, itemit, SLOT ( repaintItem() ));
1672 //itemit->repaint( false ); repaintItem()
1671 } 1673 }
1672 blockSignals( false ); 1674 blockSignals( false );
1673 } 1675 }
1674 if ( remove ) { 1676 if ( remove ) {
1675 //qDebug("remove****************************************** "); 1677 //qDebug("remove****************************************** ");
1676 return; 1678 return;
1677 } 1679 }
1678 if ( todo->hasCompletedDate() && !KOPrefs::instance()->mShowCompletedTodoInAgenda ) 1680 if ( todo->hasCompletedDate() && !KOPrefs::instance()->mShowCompletedTodoInAgenda )
1679 return; 1681 return;
1680 //qDebug("updateTodo+++++++++++++++++++++++++++++++++++++ "); 1682 //qDebug("updateTodo+++++++++++++++++++++++++++++++++++++ ");
1681 QDate currentDate = QDate::currentDate(); 1683 QDate currentDate = QDate::currentDate();
1682 bool overdue = (!todo->isCompleted()) && (todo->dtDue() < currentDate)&& ( KOPrefs::instance()->mShowTodoInAgenda ); 1684 bool overdue = (!todo->isCompleted()) && (todo->dtDue() < currentDate)&& ( KOPrefs::instance()->mShowTodoInAgenda );
1683 QDateTime dt; 1685 QDateTime dt;
1684 if ( todo->hasCompletedDate() ) 1686 if ( todo->hasCompletedDate() )
1685 dt = todo->completed(); 1687 dt = todo->completed();
1686 else 1688 else
1687 dt = todo->dtDue(); 1689 dt = todo->dtDue();
1688 if ( overdue ) { 1690 if ( overdue ) {
1689 days += todo->dtDue().date().daysTo( currentDate ); 1691 days += todo->dtDue().date().daysTo( currentDate );
1690 } 1692 }
1691 else 1693 else
1692 currentDate = dt.date(); 1694 currentDate = dt.date();
1693 1695
1694 if (( todo->doesFloat() || overdue) && !todo->hasCompletedDate() ) { 1696 if (( todo->doesFloat() || overdue) && !todo->hasCompletedDate() ) {
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp
index f855b03..8675ff6 100644
--- a/korganizer/koagendaitem.cpp
+++ b/korganizer/koagendaitem.cpp
@@ -471,55 +471,64 @@ void KOAgendaItem::paintMe( bool selected, QPainter* paint )
471 471
472} 472}
473 473
474QPixmap * KOAgendaItem::paintPix() 474QPixmap * KOAgendaItem::paintPix()
475{ 475{
476 static QPixmap* mPaintPix = 0; 476 static QPixmap* mPaintPix = 0;
477 if ( ! mPaintPix ) { 477 if ( ! mPaintPix ) {
478 int w = QApplication::desktop()->width(); 478 int w = QApplication::desktop()->width();
479 int h = QApplication::desktop()->height(); 479 int h = QApplication::desktop()->height();
480 mPaintPix = new QPixmap(w,h); 480 mPaintPix = new QPixmap(w,h);
481 } 481 }
482 return mPaintPix ; 482 return mPaintPix ;
483} 483}
484QPixmap * KOAgendaItem::paintPixAllday() 484QPixmap * KOAgendaItem::paintPixAllday()
485{ 485{
486 static QPixmap* mPaintPixA = 0; 486 static QPixmap* mPaintPixA = 0;
487 if ( ! mPaintPixA ) { 487 if ( ! mPaintPixA ) {
488 int w = QApplication::desktop()->width(); 488 int w = QApplication::desktop()->width();
489 int h = QApplication::desktop()->height()/5; 489 int h = QApplication::desktop()->height()/5;
490 mPaintPixA = new QPixmap(w,h); 490 mPaintPixA = new QPixmap(w,h);
491 } 491 }
492 return mPaintPixA ; 492 return mPaintPixA ;
493} 493}
494 494
495void KOAgendaItem::repaintItem()
496{
497 globalFlagBlockAgendaItemPaint = 0;
498 globalFlagBlockAgenda = 0;
499 //qDebug("AAA ");
500 repaint( false );
501 //qDebug("BBB ");
502}
495void KOAgendaItem::paintEvent ( QPaintEvent *e ) 503void KOAgendaItem::paintEvent ( QPaintEvent *e )
496{ 504{
497 505 qDebug("CCC ");
498 if ( globalFlagBlockAgendaItemPaint ) 506 if ( globalFlagBlockAgendaItemPaint )
499 return; 507 return;
500 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) 508 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 )
501 return; 509 return;
510 qDebug("DDD ");
502 int yy; 511 int yy;
503 if ( mAllDay ) 512 if ( mAllDay )
504 yy = y(); 513 yy = y();
505 else 514 else
506 yy = mCellYTop * ( height() / cellHeight() ); 515 yy = mCellYTop * ( height() / cellHeight() );
507 int xx = x(); 516 int xx = x();
508 517
509 if ( xPaintCoord != xx || yPaintCoord != yy || 518 if ( xPaintCoord != xx || yPaintCoord != yy ||
510 wPaintCoord != width() || hPaintCoord != height()) { 519 wPaintCoord != width() || hPaintCoord != height()) {
511 xPaintCoord= xx; 520 xPaintCoord= xx;
512 yPaintCoord = yy; 521 yPaintCoord = yy;
513 wPaintCoord = width(); 522 wPaintCoord = width();
514 hPaintCoord = height(); 523 hPaintCoord = height();
515 globalFlagBlockAgendaItemUpdate = 0; 524 globalFlagBlockAgendaItemUpdate = 0;
516 paintMe( mSelected ); 525 paintMe( mSelected );
517 //qDebug("calling paintMe "); 526 //qDebug("calling paintMe ");
518 globalFlagBlockAgendaItemUpdate = 1; 527 globalFlagBlockAgendaItemUpdate = 1;
519 if ( mSelected ) 528 if ( mSelected )
520 return; 529 return;
521 } 530 }
522 int rx, ry, rw, rh; 531 int rx, ry, rw, rh;
523 rx = e->rect().x(); 532 rx = e->rect().x();
524 ry = e->rect().y(); 533 ry = e->rect().y();
525 rw = e->rect().width(); 534 rw = e->rect().width();
diff --git a/korganizer/koagendaitem.h b/korganizer/koagendaitem.h
index 3ed68b0..99c564a 100644
--- a/korganizer/koagendaitem.h
+++ b/korganizer/koagendaitem.h
@@ -90,48 +90,49 @@ class KOAgendaItem : public QWidget
90 void setItemDate(QDate qd); 90 void setItemDate(QDate qd);
91 91
92 void setText ( const QString & text ) { mDisplayedText = text; } 92 void setText ( const QString & text ) { mDisplayedText = text; }
93 QString text () { return mDisplayedText; } 93 QString text () { return mDisplayedText; }
94 94
95 virtual bool eventFilter ( QObject *, QEvent * ); 95 virtual bool eventFilter ( QObject *, QEvent * );
96 96
97 static QToolTipGroup *toolTipGroup(); 97 static QToolTipGroup *toolTipGroup();
98 98
99 QPtrList<KOAgendaItem> conflictItems(); 99 QPtrList<KOAgendaItem> conflictItems();
100 void setConflictItems(QPtrList<KOAgendaItem>); 100 void setConflictItems(QPtrList<KOAgendaItem>);
101 void addConflictItem(KOAgendaItem *ci); 101 void addConflictItem(KOAgendaItem *ci);
102 void paintMe( bool, QPainter* painter = 0 ); 102 void paintMe( bool, QPainter* painter = 0 );
103 void repaintMe(); 103 void repaintMe();
104 static QPixmap * paintPix(); 104 static QPixmap * paintPix();
105 static QPixmap * paintPixAllday(); 105 static QPixmap * paintPixAllday();
106 void updateItem(); 106 void updateItem();
107 void computeText(); 107 void computeText();
108 void recreateIncidence(); 108 void recreateIncidence();
109 bool checkLayout(); 109 bool checkLayout();
110 void initColor (); 110 void initColor ();
111 public slots: 111 public slots:
112 bool updateIcons( QPainter *, bool ); 112 bool updateIcons( QPainter *, bool );
113 void select(bool=true); 113 void select(bool=true);
114 void repaintItem();
114 115
115 protected: 116 protected:
116 void dragEnterEvent(QDragEnterEvent *e); 117 void dragEnterEvent(QDragEnterEvent *e);
117 void dropEvent(QDropEvent *e); 118 void dropEvent(QDropEvent *e);
118 void paintEvent ( QPaintEvent * ); 119 void paintEvent ( QPaintEvent * );
119 void resizeEvent ( QResizeEvent *ev ); 120 void resizeEvent ( QResizeEvent *ev );
120 121
121 private: 122 private:
122 KOAgendaItemWhatsThis* mKOAgendaItemWhatsThis; 123 KOAgendaItemWhatsThis* mKOAgendaItemWhatsThis;
123 bool mAllDay; 124 bool mAllDay;
124 bool mWhiteText; 125 bool mWhiteText;
125 int mCellX; 126 int mCellX;
126 int mCellXWidth; 127 int mCellXWidth;
127 int mCellYTop,mCellYBottom; 128 int mCellYTop,mCellYBottom;
128 int mSubCell; // subcell number of this item 129 int mSubCell; // subcell number of this item
129 int mSubCells; // Total number of subcells in cell of this item 130 int mSubCells; // Total number of subcells in cell of this item
130 int xPaintCoord; 131 int xPaintCoord;
131 int yPaintCoord; 132 int yPaintCoord;
132 int wPaintCoord; 133 int wPaintCoord;
133 int hPaintCoord; 134 int hPaintCoord;
134 // Variables to remember start position 135 // Variables to remember start position
135 int mStartCellX; 136 int mStartCellX;
136 int mStartCellXWidth; 137 int mStartCellXWidth;
137 int mStartCellYTop,mStartCellYBottom; 138 int mStartCellYTop,mStartCellYBottom;