-rw-r--r-- | korganizer/searchdialog.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 0713980..2390520 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp @@ -330,20 +330,24 @@ void SearchDialog::updateView() listView->addTodos(mMatchedTodos); listView->addJournals(mMatchedJournals); } void SearchDialog::search(const QRegExp &re) { - QPtrList<Event> events = mCalendar->events( mStartDate->date(), - mEndDate->date(), - false /*mInclusiveCheck->isChecked()*/ ); + QPtrList<Event> events; if ( !mAddItems->isChecked() && !mSubItems->isChecked() ) { if ( mRefineItems->isChecked() ) events = mMatchedEvents; mMatchedEvents.clear(); } if ( mSearchEvent->isChecked() ) { + if ( !mRefineItems->isChecked() ) + events = mCalendar->events( mStartDate->date(), + mEndDate->date(), + false /*mInclusiveCheck->isChecked()*/ ); + + Event *ev; for(ev=events.first();ev;ev=events.next()) { if (mSummaryCheck->isChecked()) { #if QT_VERSION >= 0x030000 if (re.search(ev->summary()) != -1) #else @@ -443,20 +447,21 @@ void SearchDialog::search(const QRegExp &re) } } } } } } - QPtrList<Todo> todos = mCalendar->todos( ); + QPtrList<Todo> todos; if ( !mAddItems->isChecked() && !mSubItems->isChecked() ) { if ( mRefineItems->isChecked() ) todos = mMatchedTodos ; mMatchedTodos.clear(); } if ( mSearchTodo->isChecked() ) { + if ( !mRefineItems->isChecked() ) todos = mCalendar->todos( ); Todo *tod; for(tod=todos.first();tod;tod=todos.next()) { if (mSummaryCheck->isChecked()) { #if QT_VERSION >= 0x030000 if (re.search(tod->summary()) != -1) #else @@ -532,18 +537,19 @@ void SearchDialog::search(const QRegExp &re) } } } } } - QPtrList<Journal> journals = mCalendar->journals( ); + QPtrList<Journal> journals; if ( !mAddItems->isChecked() && !mSubItems->isChecked() ) { if ( mRefineItems->isChecked() ) journals = mMatchedJournals ; mMatchedJournals.clear(); } if (mSearchJournal->isChecked() ) { + if ( ! mRefineItems->isChecked() ) journals = mCalendar->journals(); Journal* journ; for(journ=journals.first();journ;journ=journals.next()) { if ( journ->dtStart().date() <= mEndDate->date() &&journ->dtStart().date() >= mStartDate->date()) { #if QT_VERSION >= 0x030000 |