-rw-r--r-- | core/pim/datebook/datebook.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index 832b2f8..24affd0 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp @@ -998,4 +998,6 @@ void DateBook::slotDoFind( const QString& txt, const QDate &dt, } static QDate searchDate = dt; + // if true at the end we will start at the begin again and afterwards + // we will emit string not found static bool wrapAround = true; bool candidtate; @@ -1005,4 +1007,11 @@ void DateBook::slotDoFind( const QString& txt, const QDate &dt, // find the candidate for the first repeat that matches... + // first check if there can ever be a match and then compute + // the next occurence from start. See if this event is closer + // to the beginning (start. next < dtEnd) and not smaller then the last + // result. If we find a canditate we set the dtEnd to the time + // of the ocurrence and rev to this occurence. + // set wrap around to true because there might be more events coming + // and we're not at the end. QValueListConstIterator<Event> it; QDate start = dt; @@ -1024,4 +1033,7 @@ void DateBook::slotDoFind( const QString& txt, const QDate &dt, // now the for first non repeat... + // dtEnd is set by the previous iteration of repeatingEvents + // check if we find a closer item. Also set dtEnd to find even + // more close occurrence QValueList<Event> nonRepeats = db->getNonRepeatingEvents( dt, dtEnd.date() ); qHeapSort( nonRepeats.begin(), nonRepeats.end() ); |