author | zecke <zecke> | 2002-06-28 16:07:01 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-06-28 16:07:01 (UTC) |
commit | ce221c2cf5b003f1033e6f0b603670ceb0bff7c7 (patch) (unidiff) | |
tree | 4fb48670dbf009ad9735a003d08f0d138be317db | |
parent | ab413257c3a23f535e99f8f61468382c73bc4adb (diff) | |
download | opie-ce221c2cf5b003f1033e6f0b603670ceb0bff7c7.zip opie-ce221c2cf5b003f1033e6f0b603670ceb0bff7c7.tar.gz opie-ce221c2cf5b003f1033e6f0b603670ceb0bff7c7.tar.bz2 |
Fix bug #15
-rw-r--r-- | core/pim/datebook/dateentryimpl.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/pim/datebook/dateentryimpl.cpp b/core/pim/datebook/dateentryimpl.cpp index 2cdda9d..33b9d9b 100644 --- a/core/pim/datebook/dateentryimpl.cpp +++ b/core/pim/datebook/dateentryimpl.cpp | |||
@@ -183,129 +183,130 @@ void DateEntry::updateTimeEdit(bool s, bool e) { | |||
183 | strEnd.sprintf( "%d:%02d AM", ehour, endTime.minute() ); | 183 | strEnd.sprintf( "%d:%02d AM", ehour, endTime.minute() ); |
184 | } | 184 | } |
185 | } else { | 185 | } else { |
186 | strStart.sprintf( "%02d:%02d", startTime.hour(), startTime.minute() ); | 186 | strStart.sprintf( "%02d:%02d", startTime.hour(), startTime.minute() ); |
187 | strEnd.sprintf( "%02d:%02d", endTime.hour(), endTime.minute() ); | 187 | strEnd.sprintf( "%02d:%02d", endTime.hour(), endTime.minute() ); |
188 | } | 188 | } |
189 | 189 | ||
190 | if (s) comboStart->setText(strStart); | 190 | if (s) comboStart->setText(strStart); |
191 | if (e) comboEnd->setText(strEnd); | 191 | if (e) comboEnd->setText(strEnd); |
192 | } | 192 | } |
193 | 193 | ||
194 | void DateEntry::init() | 194 | void DateEntry::init() |
195 | { | 195 | { |
196 | comboDescription->setInsertionPolicy(QComboBox::AtCurrent); | 196 | comboDescription->setInsertionPolicy(QComboBox::AtCurrent); |
197 | comboLocation->setInsertionPolicy(QComboBox::AtCurrent); | 197 | comboLocation->setInsertionPolicy(QComboBox::AtCurrent); |
198 | 198 | ||
199 | initCombos(); | 199 | initCombos(); |
200 | QPopupMenu *m1 = new QPopupMenu( this ); | 200 | QPopupMenu *m1 = new QPopupMenu( this ); |
201 | startPicker = new DateBookMonth( m1, 0, TRUE ); | 201 | startPicker = new DateBookMonth( m1, 0, TRUE ); |
202 | m1->insertItem( startPicker ); | 202 | m1->insertItem( startPicker ); |
203 | buttonStart->setPopup( m1 ); | 203 | buttonStart->setPopup( m1 ); |
204 | connect( startPicker, SIGNAL( dateClicked( int, int, int ) ), | 204 | connect( startPicker, SIGNAL( dateClicked( int, int, int ) ), |
205 | this, SLOT( startDateChanged( int, int, int ) ) ); | 205 | this, SLOT( startDateChanged( int, int, int ) ) ); |
206 | 206 | ||
207 | //Let start button change both start and end dates | 207 | //Let start button change both start and end dates |
208 | connect( startPicker, SIGNAL( dateClicked( int, int, int ) ), | 208 | connect( startPicker, SIGNAL( dateClicked( int, int, int ) ), |
209 | this, SLOT( endDateChanged( int, int, int ) ) ); | 209 | this, SLOT( endDateChanged( int, int, int ) ) ); |
210 | connect( qApp, SIGNAL( clockChanged( bool ) ), | 210 | connect( qApp, SIGNAL( clockChanged( bool ) ), |
211 | this, SLOT( slotChangeClock( bool ) ) ); | 211 | this, SLOT( slotChangeClock( bool ) ) ); |
212 | connect( qApp, SIGNAL(weekChanged(bool)), | 212 | connect( qApp, SIGNAL(weekChanged(bool)), |
213 | this, SLOT(slotChangeStartOfWeek(bool)) ); | 213 | this, SLOT(slotChangeStartOfWeek(bool)) ); |
214 | 214 | ||
215 | connect( editNote, SIGNAL(clicked()), | 215 | connect( editNote, SIGNAL(clicked()), |
216 | this, SLOT(slotEditNote()) ); | 216 | this, SLOT(slotEditNote()) ); |
217 | 217 | ||
218 | QPopupMenu *m2 = new QPopupMenu( this ); | 218 | QPopupMenu *m2 = new QPopupMenu( this ); |
219 | endPicker = new DateBookMonth( m2, 0, TRUE ); | 219 | endPicker = new DateBookMonth( m2, 0, TRUE ); |
220 | m2->insertItem( endPicker ); | 220 | m2->insertItem( endPicker ); |
221 | buttonEnd->setPopup( m2 ); | 221 | buttonEnd->setPopup( m2 ); |
222 | connect( endPicker, SIGNAL( dateClicked( int, int, int ) ), | 222 | connect( endPicker, SIGNAL( dateClicked( int, int, int ) ), |
223 | this, SLOT( endDateChanged( int, int, int ) ) ); | 223 | this, SLOT( endDateChanged( int, int, int ) ) ); |
224 | 224 | ||
225 | connect(timePickerStart, SIGNAL( timeChanged(const QTime &) ), | 225 | connect(timePickerStart, SIGNAL( timeChanged(const QTime &) ), |
226 | this, SLOT( startTimePicked(const QTime &) )); | 226 | this, SLOT( startTimePicked(const QTime &) )); |
227 | // install eventFilters | 227 | // install eventFilters |
228 | comboEnd->installEventFilter( this ); | 228 | comboEnd->installEventFilter( this ); |
229 | comboStart->installEventFilter( this ); | 229 | comboStart->installEventFilter( this ); |
230 | } | 230 | } |
231 | 231 | ||
232 | /* | 232 | /* |
233 | * Destroys the object and frees any allocated resources | 233 | * Destroys the object and frees any allocated resources |
234 | */ | 234 | */ |
235 | DateEntry::~DateEntry() | 235 | DateEntry::~DateEntry() |
236 | { | 236 | { |
237 | // no need to delete child widgets, Qt does it all for us | 237 | // no need to delete child widgets, Qt does it all for us |
238 | //cout << "Del: " << comboStart->currentText() << endl; | 238 | //cout << "Del: " << comboStart->currentText() << endl; |
239 | } | 239 | } |
240 | 240 | ||
241 | /* | 241 | /* |
242 | * public slot | 242 | * public slot |
243 | */ | 243 | */ |
244 | 244 | ||
245 | void DateEntry::slotEditNote() { | 245 | void DateEntry::slotEditNote() { |
246 | QString s; | 246 | QString s; |
247 | s.sprintf("<B>%d/%d</B> ", startDate.day(), startDate.month()); | 247 | s = "<B>"+ TimeString::longDateString( startDate ) + "</B>"; |
248 | // s.sprintf("<B>%d/%d</B> ", startDate.day(), startDate.month()); | ||
248 | NoteEntry noteDlg(s+comboDescription->currentText(), noteStr, | 249 | NoteEntry noteDlg(s+comboDescription->currentText(), noteStr, |
249 | this,0,TRUE); | 250 | this,0,TRUE); |
250 | 251 | ||
251 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 252 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
252 | noteDlg.showMaximized(); | 253 | noteDlg.showMaximized(); |
253 | #endif | 254 | #endif |
254 | if (noteDlg.exec() ) { | 255 | if (noteDlg.exec() ) { |
255 | noteStr=noteDlg.note->text(); | 256 | noteStr=noteDlg.note->text(); |
256 | } | 257 | } |
257 | 258 | ||
258 | } | 259 | } |
259 | 260 | ||
260 | void DateEntry::endDateChanged( int y, int m, int d ) | 261 | void DateEntry::endDateChanged( int y, int m, int d ) |
261 | { | 262 | { |
262 | endDate.setYMD( y, m, d ); | 263 | endDate.setYMD( y, m, d ); |
263 | if ( endDate < startDate ) { | 264 | if ( endDate < startDate ) { |
264 | endDate = startDate; | 265 | endDate = startDate; |
265 | } | 266 | } |
266 | 267 | ||
267 | buttonEnd->setText( TimeString::shortDate( endDate ) ); | 268 | buttonEnd->setText( TimeString::shortDate( endDate ) ); |
268 | 269 | ||
269 | endPicker->setDate( endDate.year(), endDate.month(), endDate.day() ); | 270 | endPicker->setDate( endDate.year(), endDate.month(), endDate.day() ); |
270 | } | 271 | } |
271 | 272 | ||
272 | static QTime parseTime( const QString& s, bool ampm ) | 273 | static QTime parseTime( const QString& s, bool ampm ) |
273 | { | 274 | { |
274 | QTime tmpTime; | 275 | QTime tmpTime; |
275 | QStringList l = QStringList::split( ':', s ); | 276 | QStringList l = QStringList::split( ':', s ); |
276 | int hour = l[0].toInt(); | 277 | int hour = l[0].toInt(); |
277 | if ( ampm ) { | 278 | if ( ampm ) { |
278 | int i=0; | 279 | int i=0; |
279 | while (i<int(l[1].length()) && l[1][i]>='0' && l[1][i]<='9') | 280 | while (i<int(l[1].length()) && l[1][i]>='0' && l[1][i]<='9') |
280 | i++; | 281 | i++; |
281 | QString digits = l[1].left(i); | 282 | QString digits = l[1].left(i); |
282 | if ( l[1].contains( "PM", FALSE ) ) { | 283 | if ( l[1].contains( "PM", FALSE ) ) { |
283 | if ( hour != 12 ) | 284 | if ( hour != 12 ) |
284 | hour += 12; | 285 | hour += 12; |
285 | } else { | 286 | } else { |
286 | if ( hour == 12 ) | 287 | if ( hour == 12 ) |
287 | hour = 0; | 288 | hour = 0; |
288 | } | 289 | } |
289 | l[1] = digits; | 290 | l[1] = digits; |
290 | } | 291 | } |
291 | int minute = l[1].toInt(); | 292 | int minute = l[1].toInt(); |
292 | if ( minute > 59 ) | 293 | if ( minute > 59 ) |
293 | minute = 59; | 294 | minute = 59; |
294 | else if ( minute < 0 ) | 295 | else if ( minute < 0 ) |
295 | minute = 0; | 296 | minute = 0; |
296 | if ( hour > 23 ) { | 297 | if ( hour > 23 ) { |
297 | hour = 23; | 298 | hour = 23; |
298 | minute = 59; | 299 | minute = 59; |
299 | } else if ( hour < 0 ) | 300 | } else if ( hour < 0 ) |
300 | hour = 0; | 301 | hour = 0; |
301 | tmpTime.setHMS( hour, minute, 0 ); | 302 | tmpTime.setHMS( hour, minute, 0 ); |
302 | return tmpTime; | 303 | return tmpTime; |
303 | } | 304 | } |
304 | 305 | ||
305 | /* | 306 | /* |
306 | * public slot | 307 | * public slot |
307 | */ | 308 | */ |
308 | void DateEntry::endTimeChanged( const QString &s ) | 309 | void DateEntry::endTimeChanged( const QString &s ) |
309 | { | 310 | { |
310 | endTimeChanged( parseTime(s,ampm) ); | 311 | endTimeChanged( parseTime(s,ampm) ); |
311 | } | 312 | } |