summaryrefslogtreecommitdiff
authorumopapisdn <umopapisdn>2003-03-23 19:55:23 (UTC)
committer umopapisdn <umopapisdn>2003-03-23 19:55:23 (UTC)
commitdfa17505b14011b50822d50c925cc6aa0299b1b4 (patch) (unidiff)
tree1445d0e8dcc4762cc93d666007564af0525aac37
parent46c09d5732bcac4de2be5dfbf17bee054aba9478 (diff)
downloadopie-dfa17505b14011b50822d50c925cc6aa0299b1b4.zip
opie-dfa17505b14011b50822d50c925cc6aa0299b1b4.tar.gz
opie-dfa17505b14011b50822d50c925cc6aa0299b1b4.tar.bz2
Bugfix: (bug #0000211) Events ending at midnight shouldn't be displayed at the following day. Fix for weekview.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookweek.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/core/pim/datebook/datebookweek.cpp b/core/pim/datebook/datebookweek.cpp
index e30c776..5bbf86a 100644
--- a/core/pim/datebook/datebookweek.cpp
+++ b/core/pim/datebook/datebookweek.cpp
@@ -90,104 +90,106 @@ DateBookWeekView::DateBookWeekView( bool ap, bool startOnMonday,
90void DateBookWeekView::initNames() 90void DateBookWeekView::initNames()
91{ 91{
92 static bool bFirst = true; 92 static bool bFirst = true;
93 if ( bFirst ) { 93 if ( bFirst ) {
94 if ( bOnMonday ) { 94 if ( bOnMonday ) {
95 header->addLabel( tr("M", "Monday" ) ); 95 header->addLabel( tr("M", "Monday" ) );
96 header->addLabel( tr("T", "Tuesday") ); 96 header->addLabel( tr("T", "Tuesday") );
97 header->addLabel( tr("W", "Wednesday" ) ); 97 header->addLabel( tr("W", "Wednesday" ) );
98 header->addLabel( tr("T", "Thursday" ) ); 98 header->addLabel( tr("T", "Thursday" ) );
99 header->addLabel( tr("F", "Friday" ) ); 99 header->addLabel( tr("F", "Friday" ) );
100 header->addLabel( tr("S", "Saturday" ) ); 100 header->addLabel( tr("S", "Saturday" ) );
101 header->addLabel( tr("S", "Sunday" ) ); 101 header->addLabel( tr("S", "Sunday" ) );
102 } else { 102 } else {
103 header->addLabel( tr("S", "Sunday" ) ); 103 header->addLabel( tr("S", "Sunday" ) );
104 header->addLabel( tr("M", "Monday") ); 104 header->addLabel( tr("M", "Monday") );
105 header->addLabel( tr("T", "Tuesday") ); 105 header->addLabel( tr("T", "Tuesday") );
106 header->addLabel( tr("W", "Wednesday" ) ); 106 header->addLabel( tr("W", "Wednesday" ) );
107 header->addLabel( tr("T", "Thursday" ) ); 107 header->addLabel( tr("T", "Thursday" ) );
108 header->addLabel( tr("F", "Friday" ) ); 108 header->addLabel( tr("F", "Friday" ) );
109 header->addLabel( tr("S", "Saturday" ) ); 109 header->addLabel( tr("S", "Saturday" ) );
110 } 110 }
111 bFirst = false; 111 bFirst = false;
112 } else { 112 } else {
113 // we are change things... 113 // we are change things...
114 if ( bOnMonday ) { 114 if ( bOnMonday ) {
115 header->setLabel( 1, tr("M", "Monday") ); 115 header->setLabel( 1, tr("M", "Monday") );
116 header->setLabel( 2, tr("T", "Tuesday") ); 116 header->setLabel( 2, tr("T", "Tuesday") );
117 header->setLabel( 3, tr("W", "Wednesday" ) ); 117 header->setLabel( 3, tr("W", "Wednesday" ) );
118 header->setLabel( 4, tr("T", "Thursday" ) ); 118 header->setLabel( 4, tr("T", "Thursday" ) );
119 header->setLabel( 5, tr("F", "Friday" ) ); 119 header->setLabel( 5, tr("F", "Friday" ) );
120 header->setLabel( 6, tr("S", "Saturday" ) ); 120 header->setLabel( 6, tr("S", "Saturday" ) );
121 header->setLabel( 7, tr("S", "Sunday" ) ); 121 header->setLabel( 7, tr("S", "Sunday" ) );
122 } else { 122 } else {
123 header->setLabel( 1, tr("S", "Sunday" ) ); 123 header->setLabel( 1, tr("S", "Sunday" ) );
124 header->setLabel( 2, tr("M", "Monday") ); 124 header->setLabel( 2, tr("M", "Monday") );
125 header->setLabel( 3, tr("T", "Tuesday") ); 125 header->setLabel( 3, tr("T", "Tuesday") );
126 header->setLabel( 4, tr("W", "Wednesday" ) ); 126 header->setLabel( 4, tr("W", "Wednesday" ) );
127 header->setLabel( 5, tr("T", "Thursday" ) ); 127 header->setLabel( 5, tr("T", "Thursday" ) );
128 header->setLabel( 6, tr("F", "Friday" ) ); 128 header->setLabel( 6, tr("F", "Friday" ) );
129 header->setLabel( 7, tr("S", "Saturday" ) ); 129 header->setLabel( 7, tr("S", "Saturday" ) );
130 } 130 }
131 } 131 }
132} 132}
133 133
134 134
135 135
136void DateBookWeekView::showEvents( QValueList<EffectiveEvent> &ev ) 136void DateBookWeekView::showEvents( QValueList<EffectiveEvent> &ev )
137{ 137{
138 items.clear(); 138 items.clear();
139 QValueListIterator<EffectiveEvent> it; 139 QValueListIterator<EffectiveEvent> it;
140 for ( it = ev.begin(); it != ev.end(); ++it ) { 140 for ( it = ev.begin(); it != ev.end(); ++it ) {
141 DateBookWeekItem *i = new DateBookWeekItem( *it ); 141 DateBookWeekItem *i = new DateBookWeekItem( *it );
142 positionItem( i ); 142 if(!(i->event().end().hour()==i->event().start().hour() && i->event().end().minute()==i->event().start().minute())) {// Skip effective events with no duration. (i.e ending at 00:00)
143 items.append( i ); 143 positionItem( i );
144 } 144 items.append( i );
145 viewport()->update(); 145 }
146 }
147 viewport()->update();
146} 148}
147 149
148void DateBookWeekView::moveToHour( int h ) 150void DateBookWeekView::moveToHour( int h )
149{ 151{
150 int offset = h*rowHeight; 152 int offset = h*rowHeight;
151 setContentsPos( 0, offset ); 153 setContentsPos( 0, offset );
152} 154}
153 155
154void DateBookWeekView::keyPressEvent( QKeyEvent *e ) 156void DateBookWeekView::keyPressEvent( QKeyEvent *e )
155{ 157{
156 e->ignore(); 158 e->ignore();
157} 159}
158 160
159void DateBookWeekView::slotChangeClock( bool c ) 161void DateBookWeekView::slotChangeClock( bool c )
160{ 162{
161 ampm = c; 163 ampm = c;
162 viewport()->update(); 164 viewport()->update();
163} 165}
164 166
165static inline int db_round30min( int m ) 167static inline int db_round30min( int m )
166{ 168{
167 if ( m < 15 ) 169 if ( m < 15 )
168 m = 0; 170 m = 0;
169 else if ( m < 45 ) 171 else if ( m < 45 )
170 m = 1; 172 m = 1;
171 else 173 else
172 m = 2; 174 m = 2;
173 175
174 return m; 176 return m;
175} 177}
176 178
177void DateBookWeekView::alterDay( int day ) 179void DateBookWeekView::alterDay( int day )
178{ 180{
179 if ( !bOnMonday ) { 181 if ( !bOnMonday ) {
180 day--; 182 day--;
181 } 183 }
182 emit showDay( day ); 184 emit showDay( day );
183} 185}
184 186
185void DateBookWeekView::positionItem( DateBookWeekItem *i ) 187void DateBookWeekView::positionItem( DateBookWeekItem *i )
186{ 188{
187 const int Width = 8; 189 const int Width = 8;
188 const EffectiveEvent ev = i->event(); 190 const EffectiveEvent ev = i->event();
189 191
190 // 30 minute intervals 192 // 30 minute intervals
191 int y = ev.start().hour() * 2; 193 int y = ev.start().hour() * 2;
192 y += db_round30min( ev.start().minute() ); 194 y += db_round30min( ev.start().minute() );
193 int y2 = ev.end().hour() * 2; 195 int y2 = ev.end().hour() * 2;