author | zecke <zecke> | 2002-06-27 12:42:37 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-06-27 12:42:37 (UTC) |
commit | 475c11d442a03d8e53b220923626c4bb7350831f (patch) (unidiff) | |
tree | 10e7fdfc22b337dfd8f6947f09e7bd163e609f0f | |
parent | e69c1daabcd8149f2ad61b2cbbf205128072b415 (diff) | |
download | opie-475c11d442a03d8e53b220923626c4bb7350831f.zip opie-475c11d442a03d8e53b220923626c4bb7350831f.tar.gz opie-475c11d442a03d8e53b220923626c4bb7350831f.tar.bz2 |
Fix for bug 81. It's now like in todolist
If neither description nor note is inserted
it'll be discarded
-rw-r--r-- | core/pim/datebook/datebook.cpp | 2 | ||||
-rw-r--r-- | core/pim/datebook/dateentryimpl.cpp | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index e10842a..76260e2 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp | |||
@@ -420,24 +420,26 @@ void DateBook::editEvent( const Event &e ) | |||
420 | // KLUDGE!!! | 420 | // KLUDGE!!! |
421 | sv->setHScrollBarMode( QScrollView::AlwaysOff ); | 421 | sv->setHScrollBarMode( QScrollView::AlwaysOff ); |
422 | vb->addWidget( sv ); | 422 | vb->addWidget( sv ); |
423 | entry = new DateEntry( onMonday, e, ampm, &editDlg, "editor" ); | 423 | entry = new DateEntry( onMonday, e, ampm, &editDlg, "editor" ); |
424 | entry->timezone->setEnabled( FALSE ); | 424 | entry->timezone->setEnabled( FALSE ); |
425 | sv->addChild( entry ); | 425 | sv->addChild( entry ); |
426 | 426 | ||
427 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 427 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
428 | editDlg.showMaximized(); | 428 | editDlg.showMaximized(); |
429 | #endif | 429 | #endif |
430 | while (editDlg.exec() ) { | 430 | while (editDlg.exec() ) { |
431 | Event newEv = entry->event(); | 431 | Event newEv = entry->event(); |
432 | if(newEv.description().isEmpty() && newEv.notes().isEmpty() ) | ||
433 | break; | ||
432 | newEv.setUid(e.uid()); // FIXME: Hack not to clear uid | 434 | newEv.setUid(e.uid()); // FIXME: Hack not to clear uid |
433 | QString error = checkEvent(newEv); | 435 | QString error = checkEvent(newEv); |
434 | if (!error.isNull()) { | 436 | if (!error.isNull()) { |
435 | if (QMessageBox::warning(this, "error box", | 437 | if (QMessageBox::warning(this, "error box", |
436 | error, "Fix it", "Continue", | 438 | error, "Fix it", "Continue", |
437 | 0, 0, 1) == 0) | 439 | 0, 0, 1) == 0) |
438 | continue; | 440 | continue; |
439 | } | 441 | } |
440 | db->editEvent(e, newEv); | 442 | db->editEvent(e, newEv); |
441 | emit newEvent(); | 443 | emit newEvent(); |
442 | break; | 444 | break; |
443 | } | 445 | } |
diff --git a/core/pim/datebook/dateentryimpl.cpp b/core/pim/datebook/dateentryimpl.cpp index dab3375..2cdda9d 100644 --- a/core/pim/datebook/dateentryimpl.cpp +++ b/core/pim/datebook/dateentryimpl.cpp | |||
@@ -84,25 +84,25 @@ bool DateEntry::eventFilter(QObject *obj, QEvent *ev ) | |||
84 | } else if( ev->type() == QEvent::FocusOut ){ | 84 | } else if( ev->type() == QEvent::FocusOut ){ |
85 | if( obj == comboEnd ){ | 85 | if( obj == comboEnd ){ |
86 | QString s; | 86 | QString s; |
87 | s.sprintf("%.2d:%.2d",endTime.hour(), endTime.minute()); | 87 | s.sprintf("%.2d:%.2d",endTime.hour(), endTime.minute()); |
88 | comboEnd->setText(s); | 88 | comboEnd->setText(s); |
89 | } | 89 | } |
90 | else if( obj == comboStart ){ | 90 | else if( obj == comboStart ){ |
91 | QString s; | 91 | QString s; |
92 | s.sprintf("%.2d:%.2d",startTime.hour(), startTime.minute()); | 92 | s.sprintf("%.2d:%.2d",startTime.hour(), startTime.minute()); |
93 | comboStart->setText(s); | 93 | comboStart->setText(s); |
94 | } | 94 | } |
95 | } | 95 | } |
96 | 96 | ||
97 | return false; | 97 | return false; |
98 | } | 98 | } |
99 | 99 | ||
100 | static void addOrPick( QComboBox* combo, const QString& t ) | 100 | static void addOrPick( QComboBox* combo, const QString& t ) |
101 | { | 101 | { |
102 | // Pick an item if one excists | 102 | // Pick an item if one excists |
103 | for (int i=0; i<combo->count(); i++) { | 103 | for (int i=0; i<combo->count(); i++) { |
104 | if ( combo->text(i) == t ) { | 104 | if ( combo->text(i) == t ) { |
105 | combo->setCurrentItem(i); | 105 | combo->setCurrentItem(i); |
106 | return; | 106 | return; |
107 | } | 107 | } |
108 | } | 108 | } |
@@ -177,50 +177,50 @@ void DateEntry::updateTimeEdit(bool s, bool e) { | |||
177 | if ( ehour > 12 ) | 177 | if ( ehour > 12 ) |
178 | ehour -= 12; | 178 | ehour -= 12; |
179 | strEnd.sprintf( "%d:%02d PM", ehour, endTime.minute() ); | 179 | strEnd.sprintf( "%d:%02d PM", ehour, endTime.minute() ); |
180 | } else { | 180 | } else { |
181 | if ( ehour == 0 ) | 181 | if ( ehour == 0 ) |
182 | ehour = 12; | 182 | ehour = 12; |
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 &) )); |
@@ -237,25 +237,25 @@ DateEntry::~DateEntry() | |||
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.sprintf("<B>%d/%d</B> ", startDate.day(), startDate.month()); |
248 | NoteEntry noteDlg(s+comboDescription->currentText(), noteStr, | 248 | NoteEntry noteDlg(s+comboDescription->currentText(), noteStr, |
249 | this,0,TRUE); | 249 | this,0,TRUE); |
250 | 250 | ||
251 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 251 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
252 | noteDlg.showMaximized(); | 252 | noteDlg.showMaximized(); |
253 | #endif | 253 | #endif |
254 | if (noteDlg.exec() ) { | 254 | if (noteDlg.exec() ) { |
255 | noteStr=noteDlg.note->text(); | 255 | noteStr=noteDlg.note->text(); |
256 | } | 256 | } |
257 | 257 | ||
258 | } | 258 | } |
259 | 259 | ||
260 | void DateEntry::endDateChanged( int y, int m, int d ) | 260 | void DateEntry::endDateChanged( int y, int m, int d ) |
261 | { | 261 | { |
@@ -412,25 +412,25 @@ Event DateEntry::event() | |||
412 | { | 412 | { |
413 | Event ev; | 413 | Event ev; |
414 | Event::SoundTypeChoice st; | 414 | Event::SoundTypeChoice st; |
415 | ev.setDescription( comboDescription->currentText() ); | 415 | ev.setDescription( comboDescription->currentText() ); |
416 | ev.setLocation( comboLocation->currentText() ); | 416 | ev.setLocation( comboLocation->currentText() ); |
417 | ev.setCategories( comboCategory->currentCategories() ); | 417 | ev.setCategories( comboCategory->currentCategories() ); |
418 | ev.setType( checkAllDay->isChecked() ? Event::AllDay : Event::Normal ); | 418 | ev.setType( checkAllDay->isChecked() ? Event::AllDay : Event::Normal ); |
419 | if ( startDate > endDate ) { | 419 | if ( startDate > endDate ) { |
420 | QDate tmp = endDate; | 420 | QDate tmp = endDate; |
421 | endDate = startDate; | 421 | endDate = startDate; |
422 | startDate = tmp; | 422 | startDate = tmp; |
423 | } | 423 | } |
424 | 424 | ||
425 | // This is now done in the changed slots | 425 | // This is now done in the changed slots |
426 | // startTime = parseTime( comboStart->text(), ampm ); | 426 | // startTime = parseTime( comboStart->text(), ampm ); |
427 | //endTime = parseTime( comboEnd->text(), ampm ); | 427 | //endTime = parseTime( comboEnd->text(), ampm ); |
428 | 428 | ||
429 | if ( startTime > endTime && endDate == startDate ) { | 429 | if ( startTime > endTime && endDate == startDate ) { |
430 | QTime tmp = endTime; | 430 | QTime tmp = endTime; |
431 | endTime = startTime; | 431 | endTime = startTime; |
432 | startTime = tmp; | 432 | startTime = tmp; |
433 | } | 433 | } |
434 | // don't set the time if theres no need too | 434 | // don't set the time if theres no need too |
435 | if ( ev.type() == Event::AllDay ) { | 435 | if ( ev.type() == Event::AllDay ) { |
436 | startTime.setHMS( 0, 0, 0 ); | 436 | startTime.setHMS( 0, 0, 0 ); |
@@ -561,12 +561,13 @@ void DateEntry::initCombos() | |||
561 | } | 561 | } |
562 | } | 562 | } |
563 | } | 563 | } |
564 | */ | 564 | */ |
565 | } | 565 | } |
566 | 566 | ||
567 | void DateEntry::slotChangeClock( bool whichClock ) | 567 | void DateEntry::slotChangeClock( bool whichClock ) |
568 | { | 568 | { |
569 | ampm = whichClock; | 569 | ampm = whichClock; |
570 | initCombos(); | 570 | initCombos(); |
571 | setDates( QDateTime( startDate, startTime ), QDateTime( endDate, endTime ) ); | 571 | setDates( QDateTime( startDate, startTime ), QDateTime( endDate, endTime ) ); |
572 | } | 572 | } |
573 | |||