Index: src/memorycalendar.cpp =================================================================== --- src/memorycalendar.cpp +++ src/memorycalendar.cpp @@ -111,7 +111,7 @@ * but i merged them into one (indexed by type) because it simplifies code using * it. No need to if else based on type. */ - QMap > mIncidencesForDate; + QMap > mIncidencesForDate; void insertIncidence(const Incidence::Ptr &incidence); @@ -186,7 +186,7 @@ const QDateTime dt = incidence->dateTime(Incidence::RoleCalendarHashing); if (dt.isValid()) { - d->mIncidencesForDate[type].remove(dt.date().toString(), incidence); + d->mIncidencesForDate[type].remove(dt.date(), incidence); } // Delete child-incidences. if (!incidence->hasRecurrenceId()) { @@ -286,7 +286,7 @@ mIncidencesByIdentifier.insert(incidence->instanceIdentifier(), incidence); const QDateTime dt = incidence->dateTime(Incidence::RoleCalendarHashing); if (dt.isValid()) { - mIncidencesForDate[type].insert(dt.date().toString(), incidence); + mIncidencesForDate[type].insert(dt.date(), incidence); } } else { @@ -418,10 +418,8 @@ Todo::List todoList; Todo::Ptr t; - const QString dateStr = date.toString(); - QMultiHash::const_iterator it = - d->mIncidencesForDate[Incidence::TypeTodo].constFind(dateStr); - while (it != d->mIncidencesForDate[Incidence::TypeTodo].constEnd() && it.key() == dateStr) { + auto it = d->mIncidencesForDate[Incidence::TypeTodo].constFind(date); + while (it != d->mIncidencesForDate[Incidence::TypeTodo].constEnd() && it.key() == date) { t = it.value().staticCast(); todoList.append(t); ++it; @@ -554,8 +552,7 @@ const QDateTime dt = inc->dateTime(Incidence::RoleCalendarHashing); if (dt.isValid()) { - const Incidence::IncidenceType type = inc->type(); - d->mIncidencesForDate[type].remove(dt.date().toString(), inc); + d->mIncidencesForDate[inc->type()].remove(dt.date(), inc); } } } @@ -583,8 +580,7 @@ const QDateTime dt = inc->dateTime(Incidence::RoleCalendarHashing); if (dt.isValid()) { - const Incidence::IncidenceType type = inc->type(); - d->mIncidencesForDate[type].insert(dt.date().toString(), inc); + d->mIncidencesForDate[inc->type()].insert(dt.date(), inc); } notifyIncidenceChanged(inc); @@ -608,12 +604,11 @@ Event::Ptr ev; // Find the hash for the specified date - const QString dateStr = date.toString(); - QMultiHash::const_iterator it = - d->mIncidencesForDate[Incidence::TypeEvent].constFind(dateStr); + const auto &eventsForDate = d->mIncidencesForDate[Incidence::TypeEvent]; + auto it = eventsForDate.constFind(date); // Iterate over all non-recurring, single-day events that start on this date const auto ts = timeZone.isValid() ? timeZone : this->timeZone(); - while (it != d->mIncidencesForDate[Incidence::TypeEvent].constEnd() && it.key() == dateStr) { + while (it != eventsForDate.constEnd() && it.key() == date) { ev = it.value().staticCast(); QDateTime end(ev->dtEnd().toTimeZone(ev->dtStart().timeZone())); if (ev->allDay()) { @@ -846,11 +841,8 @@ Journal::List journalList; Journal::Ptr j; - QString dateStr = date.toString(); - QMultiHash::const_iterator it = - d->mIncidencesForDate[Incidence::TypeJournal].constFind(dateStr); - - while (it != d->mIncidencesForDate[Incidence::TypeJournal].constEnd() && it.key() == dateStr) { + auto it = d->mIncidencesForDate[Incidence::TypeJournal].constFind(date); + while (it != d->mIncidencesForDate[Incidence::TypeJournal].constEnd() && it.key() == date) { j = it.value().staticCast(); journalList.append(j); ++it;