author | umopapisdn <umopapisdn> | 2003-03-23 20:33:00 (UTC) |
---|---|---|
committer | umopapisdn <umopapisdn> | 2003-03-23 20:33:00 (UTC) |
commit | b5606a63c9f3524f9475b6ac79f0b6bcc7162fa6 (patch) (side-by-side diff) | |
tree | d4c7bd2dbf63858d3ac70926514d91a4bd6d63e0 | |
parent | dfa17505b14011b50822d50c925cc6aa0299b1b4 (diff) | |
download | opie-b5606a63c9f3524f9475b6ac79f0b6bcc7162fa6.zip opie-b5606a63c9f3524f9475b6ac79f0b6bcc7162fa6.tar.gz opie-b5606a63c9f3524f9475b6ac79f0b6bcc7162fa6.tar.bz2 |
Bugfix: (bug #0000211) Events ending at mat the following day. Fix for dayview.
-rw-r--r-- | core/pim/datebook/datebookday.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/core/pim/datebook/datebookday.cpp b/core/pim/datebook/datebookday.cpp index a6a1be3..42f026a 100644 --- a/core/pim/datebook/datebookday.cpp +++ b/core/pim/datebook/datebookday.cpp @@ -298,30 +298,32 @@ void DateBookDay::dateChanged( int y, int m, int d ) void DateBookDay::redraw() { if ( isUpdatesEnabled() ) relayoutPage(); } void DateBookDay::getEvents() { - widgetList.clear(); - - QValueList<EffectiveEvent> eventList = db->getEffectiveEvents( currDate, - currDate ); - QValueListIterator<EffectiveEvent> it; - for ( it = eventList.begin(); it != eventList.end(); ++it ) { - DateBookDayWidget* w = new DateBookDayWidget( *it, this ); - connect( w, SIGNAL( deleteMe( const Event & ) ), - this, SIGNAL( removeEvent( const Event & ) ) ); - connect( w, SIGNAL( editMe( const Event & ) ), - this, SIGNAL( editEvent( const Event & ) ) ); - connect( w, SIGNAL( beamMe( const Event & ) ), - this, SIGNAL( beamEvent( const Event & ) ) ); - widgetList.append( w ); + widgetList.clear(); + + QValueList<EffectiveEvent> eventList = db->getEffectiveEvents( currDate, currDate ); + QValueListIterator<EffectiveEvent> it; + for ( it = eventList.begin(); it != eventList.end(); ++it ) { + EffectiveEvent ev=*it; + if(!(ev.end().hour()==ev.start().hour() && ev.end().minute()==ev.start().minute())) { // Skip effective events with no duration. (i.e ending at 00:00) + DateBookDayWidget* w = new DateBookDayWidget( *it, this ); + connect( w, SIGNAL( deleteMe( const Event & ) ), + this, SIGNAL( removeEvent( const Event & ) ) ); + connect( w, SIGNAL( editMe( const Event & ) ), + this, SIGNAL( editEvent( const Event & ) ) ); + connect( w, SIGNAL( beamMe( const Event & ) ), + this, SIGNAL( beamEvent( const Event & ) ) ); + widgetList.append( w ); + } } } static int place( const DateBookDayWidget *item, bool *used, int maxn ) { int place = 0; int start = item->event().start().hour(); @@ -355,17 +357,17 @@ static int place( const DateBookDayWidget *item, bool *used, int maxn ) } void DateBookDay::relayoutPage( bool fromResize ) { setUpdatesEnabled( FALSE ); if ( !fromResize ) getEvents(); // no need we already have them! - + widgetList.sort(); //sorts the widgetList by the heights of the widget so that the tallest widgets are at the beginning //this is needed for the simple algo below to work correctly, otherwise some widgets would be drawn outside the view int wCount = widgetList.count(); int wid = view->columnWidth(0)-1; int wd; int n = 1; |