summaryrefslogtreecommitdiffabout
path: root/korganizer/searchdialog.cpp
Unidiff
Diffstat (limited to 'korganizer/searchdialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/searchdialog.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp
index 0e9f64c..72359df 100644
--- a/korganizer/searchdialog.cpp
+++ b/korganizer/searchdialog.cpp
@@ -209,24 +209,27 @@ void SearchDialog::raiseAndSelect()
209 else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { 209 else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) {
210 newState = VIEW_T_VIEW; 210 newState = VIEW_T_VIEW;
211 } 211 }
212 else { 212 else {
213 newState = VIEW_A_VIEW; 213 newState = VIEW_A_VIEW;
214 } 214 }
215 if ( newState != currentState ) { 215 if ( newState != currentState ) {
216 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { 216 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) {
217 if ( ! mSearchJournal->isChecked() ) { 217 if ( ! mSearchJournal->isChecked() ) {
218 mSearchJournal->setChecked( true ); 218 mSearchJournal->setChecked( true );
219 mSearchTodo->setChecked( false ); 219 mSearchTodo->setChecked( false );
220 mSearchEvent->setChecked( false ); 220 mSearchEvent->setChecked( false );
221 mSummaryCheck->setChecked( true );
222 mDescriptionCheck->setChecked( true );
223
221 } 224 }
222 } 225 }
223 else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { 226 else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) {
224 if ( ! mSearchTodo->isChecked() ) { 227 if ( ! mSearchTodo->isChecked() ) {
225 mSearchTodo->setChecked( true ); 228 mSearchTodo->setChecked( true );
226 mSearchJournal->setChecked( false ); 229 mSearchJournal->setChecked( false );
227 mSearchEvent->setChecked( false ); 230 mSearchEvent->setChecked( false );
228 } 231 }
229 } 232 }
230 else { 233 else {
231 if ( ! mSearchEvent->isChecked() ) { 234 if ( ! mSearchEvent->isChecked() ) {
232 mSearchEvent->setChecked( true ); 235 mSearchEvent->setChecked( true );
@@ -541,37 +544,53 @@ void SearchDialog::search(const QRegExp &re)
541 QPtrList<Journal> journals; 544 QPtrList<Journal> journals;
542 if ( !mAddItems->isChecked() && !mSubItems->isChecked() ) { 545 if ( !mAddItems->isChecked() && !mSubItems->isChecked() ) {
543 if ( mRefineItems->isChecked() ) journals = mMatchedJournals ; 546 if ( mRefineItems->isChecked() ) journals = mMatchedJournals ;
544 mMatchedJournals.clear(); 547 mMatchedJournals.clear();
545 } 548 }
546 if (mSearchJournal->isChecked() ) { 549 if (mSearchJournal->isChecked() ) {
547 if ( ! mRefineItems->isChecked() ) journals = mCalendar->journals(); 550 if ( ! mRefineItems->isChecked() ) journals = mCalendar->journals();
548 Journal* journ; 551 Journal* journ;
549 552
550 for(journ=journals.first();journ;journ=journals.next()) { 553 for(journ=journals.first();journ;journ=journals.next()) {
551 if ( journ->dtStart().date() <= mEndDate->date() 554 if ( journ->dtStart().date() <= mEndDate->date()
552 &&journ->dtStart().date() >= mStartDate->date()) { 555 &&journ->dtStart().date() >= mStartDate->date()) {
556 if (mDescriptionCheck->isChecked()) {
553#if QT_VERSION >= 0x030000 557#if QT_VERSION >= 0x030000
554 if (re.search(journ->description()) != -1) 558 if (re.search(journ->description()) != -1)
555#else 559#else
556 if (re.match(journ->description()) != -1) 560 if (re.match(journ->description()) != -1)
557#endif 561#endif
558 { 562 {
559 if ( mSubItems->isChecked() ) 563 if ( mSubItems->isChecked() )
560 mMatchedJournals.remove(journ); 564 mMatchedJournals.remove(journ);
561 else if (!mMatchedJournals.contains( journ )) 565 else if (!mMatchedJournals.contains( journ ))
562 mMatchedJournals.append(journ); 566 mMatchedJournals.append(journ);
563 continue; 567 continue;
564 } 568 }
565 } 569 }
570 if (mSummaryCheck->isChecked()) {
571#if QT_VERSION >= 0x030000
572 if (re.search(journ->summary()) != -1)
573#else
574 if (re.match(journ->summary()) != -1)
575#endif
576 {
577 if ( mSubItems->isChecked() )
578 mMatchedJournals.remove(journ);
579 else if (!mMatchedJournals.contains( journ ))
580 mMatchedJournals.append(journ);
581 continue;
582 }
583 }
584 }
566 } 585 }
567 } 586 }
568 if ( mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() < 1 ) { 587 if ( mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() < 1 ) {
569 qDebug("count %d ", mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() ); 588 qDebug("count %d ", mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() );
570 if ( mRefineItems->isChecked() ) 589 if ( mRefineItems->isChecked() )
571 mRefineItems->setChecked( false ); 590 mRefineItems->setChecked( false );
572 else if ( mSubItems->isChecked() ) 591 else if ( mSubItems->isChecked() )
573 mSubItems->setChecked( false ); 592 mSubItems->setChecked( false );
574 } 593 }
575} 594}
576 595
577void SearchDialog::keyPressEvent ( QKeyEvent *e) 596void SearchDialog::keyPressEvent ( QKeyEvent *e)