-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 @@ -302,22 +302,24 @@ void DateBookDay::redraw() } 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 ); + } } } @@ -359,9 +361,9 @@ 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 |