--- a/agendainterface/agendautil/bwins/agendainterfaceu.def Wed Aug 25 14:02:13 2010 +0530
+++ b/agendainterface/agendautil/bwins/agendainterfaceu.def Tue Aug 31 18:15:13 2010 +0530
@@ -57,124 +57,124 @@
?lastModifiedDateTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 56 NONAME ; class QDateTime AgendaEntry::lastModifiedDateTime(void) const
?attendees@AgendaEntry@@QBEABV?$QList@VAgendaAttendee@@@@XZ @ 57 NONAME ; class QList<class AgendaAttendee> const & AgendaEntry::attendees(void) const
?setInterval@AgendaRepeatRule@@QAEXH@Z @ 58 NONAME ; void AgendaRepeatRule::setInterval(int)
- ?store@AgendaUtil@@QAEKAAVAgendaEntry@@W4RecurrenceRange@1@@Z @ 59 NONAME ; unsigned long AgendaUtil::store(class AgendaEntry &, enum AgendaUtil::RecurrenceRange)
- ??8AgendaGeoValue@@QBE_NABV0@@Z @ 60 NONAME ; bool AgendaGeoValue::operator==(class AgendaGeoValue const &) const
- ?id@AgendaEntry@@QBEKXZ @ 61 NONAME ; unsigned long AgendaEntry::id(void) const
- ?setByDay@AgendaRepeatRule@@QAEXABV?$QList@W4Day@AgendaRepeatRule@@@@@Z @ 62 NONAME ; void AgendaRepeatRule::setByDay(class QList<enum AgendaRepeatRule::Day> const &)
- ?setUntil@AgendaRepeatRule@@QAEXABVQDateTime@@@Z @ 63 NONAME ; void AgendaRepeatRule::setUntil(class QDateTime const &)
- ?setType@AgendaRepeatRule@@QAEXW4RuleType@1@@Z @ 64 NONAME ; void AgendaRepeatRule::setType(enum AgendaRepeatRule::RuleType)
- ?interval@AgendaRepeatRule@@QBEHXZ @ 65 NONAME ; int AgendaRepeatRule::interval(void) const
- ?rDates@AgendaEntry@@QBE?AV?$QList@VQDate@@@@XZ @ 66 NONAME ; class QList<class QDate> AgendaEntry::rDates(void) const
- ?repeatRuleStart@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 67 NONAME ; class QDateTime AgendaRepeatRule::repeatRuleStart(void) const
- ??8AgendaAlarm@@QBE_NABV0@@Z @ 68 NONAME ; bool AgendaAlarm::operator==(class AgendaAlarm const &) const
- ??0AgendaRepeatRule@@QAE@ABV0@@Z @ 69 NONAME ; AgendaRepeatRule::AgendaRepeatRule(class AgendaRepeatRule const &)
- ?setStatus@AgendaAttendee@@QAEXW4StatusType@1@@Z @ 70 NONAME ; void AgendaAttendee::setStatus(enum AgendaAttendee::StatusType)
- ?setStatus@AgendaEntry@@QAEXW4Status@1@@Z @ 71 NONAME ; void AgendaEntry::setStatus(enum AgendaEntry::Status)
- ?setExtendedCategoryName@AgendaCategory@@QAEXABVQString@@@Z @ 72 NONAME ; void AgendaCategory::setExtendedCategoryName(class QString const &)
- ?setDescription@AgendaEntry@@QAEXABVQString@@@Z @ 73 NONAME ; void AgendaEntry::setDescription(class QString const &)
- ?recurrenceId@AgendaEntry@@QAE?AVQDateTime@@XZ @ 74 NONAME ; class QDateTime AgendaEntry::recurrenceId(void)
- ?until@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 75 NONAME ; class QDateTime AgendaRepeatRule::until(void) const
- ?setByMonth@AgendaRepeatRule@@QAEXABV?$QList@W4Month@AgendaRepeatRule@@@@@Z @ 76 NONAME ; void AgendaRepeatRule::setByMonth(class QList<enum AgendaRepeatRule::Month> const &)
- ?qt_metacall@AgendaUtil@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 77 NONAME ; int AgendaUtil::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacast@AgendaUtil@@UAEPAXPBD@Z @ 78 NONAME ; void * AgendaUtil::qt_metacast(char const *)
- ?isNull@AgendaRepeatRule@@QBE_NXZ @ 79 NONAME ; bool AgendaRepeatRule::isNull(void) const
- ?getStaticMetaObject@AgendaUtil@@SAABUQMetaObject@@XZ @ 80 NONAME ; struct QMetaObject const & AgendaUtil::getStaticMetaObject(void)
- ??8AgendaAttendee@@QBE_NABV0@@Z @ 81 NONAME ; bool AgendaAttendee::operator==(class AgendaAttendee const &) const
- ?addCategory@AgendaEntry@@QAEXABVAgendaCategory@@@Z @ 82 NONAME ; void AgendaEntry::addCategory(class AgendaCategory const &)
- ?setLocation@AgendaEntry@@QAEXABVQString@@@Z @ 83 NONAME ; void AgendaEntry::setLocation(class QString const &)
- ?isTimedEntry@AgendaEntry@@QAE_NXZ @ 84 NONAME ; bool AgendaEntry::isTimedEntry(void)
- ?favourite@AgendaEntry@@QBEIXZ @ 85 NONAME ; unsigned int AgendaEntry::favourite(void) const
- ?entryViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 86 NONAME ; void AgendaUtil::entryViewCreationCompleted(int)
- ?durationInSecs@AgendaEntry@@QBEHXZ @ 87 NONAME ; int AgendaEntry::durationInSecs(void) const
- ??1AgendaUtil@@UAE@XZ @ 88 NONAME ; AgendaUtil::~AgendaUtil(void)
- ?category@AgendaCategory@@QBE?AW4CategoryType@1@XZ @ 89 NONAME ; enum AgendaCategory::CategoryType AgendaCategory::category(void) const
- ?entryAdded@AgendaUtil@@IAEXK@Z @ 90 NONAME ; void AgendaUtil::entryAdded(unsigned long)
- ?role@AgendaAttendee@@QBE?AW4ParticipantRole@1@XZ @ 91 NONAME ; enum AgendaAttendee::ParticipantRole AgendaAttendee::role(void) const
- ?type@AgendaEntry@@QBE?AW4Type@1@XZ @ 92 NONAME ; enum AgendaEntry::Type AgendaEntry::type(void) const
- ??0AgendaEntry@@QAE@W4Type@0@@Z @ 93 NONAME ; AgendaEntry::AgendaEntry(enum AgendaEntry::Type)
- ?detach@AgendaRepeatRule@@AAEXXZ @ 94 NONAME ; void AgendaRepeatRule::detach(void)
- ?error@AgendaUtil@@QBE?AW4Error@1@XZ @ 95 NONAME ; enum AgendaUtil::Error AgendaUtil::error(void) const
- ?trUtf8@AgendaUtil@@SA?AVQString@@PBD0@Z @ 96 NONAME ; class QString AgendaUtil::trUtf8(char const *, char const *)
- ?status@AgendaEntry@@QBE?AW4Status@1@XZ @ 97 NONAME ; enum AgendaEntry::Status AgendaEntry::status(void) const
- ??0AgendaEntry@@QAE@ABV0@@Z @ 98 NONAME ; AgendaEntry::AgendaEntry(class AgendaEntry const &)
- ??4AgendaAttendee@@QAEAAV0@ABV0@@Z @ 99 NONAME ; class AgendaAttendee & AgendaAttendee::operator=(class AgendaAttendee const &)
- ?address@AgendaAttendee@@QBE?AVQString@@XZ @ 100 NONAME ; class QString AgendaAttendee::address(void) const
- ?entryDeleted@AgendaUtil@@IAEXK@Z @ 101 NONAME ; void AgendaUtil::entryDeleted(unsigned long)
- ?summary@AgendaEntry@@QBE?AVQString@@XZ @ 102 NONAME ; class QString AgendaEntry::summary(void) const
- ?priority@AgendaEntry@@QBEHXZ @ 103 NONAME ; int AgendaEntry::priority(void) const
- ?fetchById@AgendaUtil@@QAE?AVAgendaEntry@@K@Z @ 104 NONAME ; class AgendaEntry AgendaUtil::fetchById(unsigned long)
- ?setCommonName@AgendaAttendee@@QAEXABVQString@@@Z @ 105 NONAME ; void AgendaAttendee::setCommonName(class QString const &)
- ?setMethod@AgendaEntry@@QAEXW4Method@1@@Z @ 106 NONAME ; void AgendaEntry::setMethod(enum AgendaEntry::Method)
- ?setRDates@AgendaEntry@@QAEXABV?$QList@VQDate@@@@@Z @ 107 NONAME ; void AgendaEntry::setRDates(class QList<class QDate> const &)
- ?parentEntry@AgendaUtil@@QAE?AVAgendaEntry@@AAV2@@Z @ 108 NONAME ; class AgendaEntry AgendaUtil::parentEntry(class AgendaEntry &)
- ?addAttendee@AgendaEntry@@QAEXABVAgendaAttendee@@@Z @ 109 NONAME ; void AgendaEntry::addAttendee(class AgendaAttendee const &)
- ?setCompleted@AgendaUtil@@QAEXAAVAgendaEntry@@_NAAVQDateTime@@@Z @ 110 NONAME ; void AgendaUtil::setCompleted(class AgendaEntry &, bool, class QDateTime &)
- ??0AgendaCategory@@QAE@XZ @ 111 NONAME ; AgendaCategory::AgendaCategory(void)
- ?timeOffset@AgendaAlarm@@QBEHXZ @ 112 NONAME ; int AgendaAlarm::timeOffset(void) const
- ??0AgendaAttendee@@QAE@XZ @ 113 NONAME ; AgendaAttendee::AgendaAttendee(void)
- ?setAlarmSoundName@AgendaAlarm@@QAEXABVQString@@@Z @ 114 NONAME ; void AgendaAlarm::setAlarmSoundName(class QString const &)
- ?fetchEntriesInRange@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@0W4FilterFlags@1@@Z @ 115 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchEntriesInRange(class QDateTime, class QDateTime, enum AgendaUtil::FilterFlags)
- ?detach@AgendaAlarm@@AAEXXZ @ 116 NONAME ; void AgendaAlarm::detach(void)
- ?setWeekStart@AgendaRepeatRule@@QAEXW4Day@1@@Z @ 117 NONAME ; void AgendaRepeatRule::setWeekStart(enum AgendaRepeatRule::Day)
- ?setFavourite@AgendaEntry@@QAEXI@Z @ 118 NONAME ; void AgendaEntry::setFavourite(unsigned int)
- ?setDTStamp@AgendaEntry@@QAEXABVQDateTime@@@Z @ 119 NONAME ; void AgendaEntry::setDTStamp(class QDateTime const &)
- ?cloneEntry@AgendaUtil@@QAEKABVAgendaEntry@@W4Type@2@@Z @ 120 NONAME ; unsigned long AgendaUtil::cloneEntry(class AgendaEntry const &, enum AgendaEntry::Type)
- ?setRepeatRule@AgendaEntry@@QAEXABVAgendaRepeatRule@@@Z @ 121 NONAME ; void AgendaEntry::setRepeatRule(class AgendaRepeatRule const &)
- ?categories@AgendaEntry@@QBEABV?$QList@VAgendaCategory@@@@XZ @ 122 NONAME ; class QList<class AgendaCategory> const & AgendaEntry::categories(void) const
- ?tr@AgendaUtil@@SA?AVQString@@PBD0@Z @ 123 NONAME ; class QString AgendaUtil::tr(char const *, char const *)
- ??4AgendaRepeatRule@@QAEAAV0@ABV0@@Z @ 124 NONAME ; class AgendaRepeatRule & AgendaRepeatRule::operator=(class AgendaRepeatRule const &)
- ?setCompletedDateTime@AgendaEntry@@QAEXABVQDateTime@@@Z @ 125 NONAME ; void AgendaEntry::setCompletedDateTime(class QDateTime const &)
- ??0AgendaRepeatRule@@QAE@XZ @ 126 NONAME ; AgendaRepeatRule::AgendaRepeatRule(void)
- ?dtStamp@AgendaEntry@@QBE?AVQDateTime@@XZ @ 127 NONAME ; class QDateTime AgendaEntry::dtStamp(void) const
- ?method@AgendaEntry@@QBE?AW4Method@1@XZ @ 128 NONAME ; enum AgendaEntry::Method AgendaEntry::method(void) const
- ?type@AgendaRepeatRule@@QBE?AW4RuleType@1@XZ @ 129 NONAME ; enum AgendaRepeatRule::RuleType AgendaRepeatRule::type(void) const
- ??4AgendaGeoValue@@QAEAAV0@ABV0@@Z @ 130 NONAME ; class AgendaGeoValue & AgendaGeoValue::operator=(class AgendaGeoValue const &)
- ??0AgendaCategory@@QAE@W4CategoryType@0@@Z @ 131 NONAME ; AgendaCategory::AgendaCategory(enum AgendaCategory::CategoryType)
- ?commonName@AgendaAttendee@@QBE?AVQString@@XZ @ 132 NONAME ; class QString AgendaAttendee::commonName(void) const
- ?detach@AgendaCategory@@AAEXXZ @ 133 NONAME ; void AgendaCategory::detach(void)
- ??0AgendaGeoValue@@QAE@ABV0@@Z @ 134 NONAME ; AgendaGeoValue::AgendaGeoValue(class AgendaGeoValue const &)
- ?isWorkdaysRepeatingEntry@AgendaUtil@@SA_NABVAgendaRepeatRule@@@Z @ 135 NONAME ; bool AgendaUtil::isWorkdaysRepeatingEntry(class AgendaRepeatRule const &)
- ?setRole@AgendaAttendee@@QAEXW4ParticipantRole@1@@Z @ 136 NONAME ; void AgendaAttendee::setRole(enum AgendaAttendee::ParticipantRole)
- ?detach@AgendaAttendee@@AAEXXZ @ 137 NONAME ; void AgendaAttendee::detach(void)
- ?getLatLong@AgendaGeoValue@@QBEXAAN0@Z @ 138 NONAME ; void AgendaGeoValue::getLatLong(double &, double &) const
- ?maxTime@AgendaUtil@@SA?AVQDateTime@@XZ @ 139 NONAME ; class QDateTime AgendaUtil::maxTime(void)
- ?setCategory@AgendaCategory@@QAEXW4CategoryType@1@@Z @ 140 NONAME ; void AgendaCategory::setCategory(enum AgendaCategory::CategoryType)
- ?endTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 141 NONAME ; class QDateTime AgendaEntry::endTime(void) const
- ??9AgendaEntry@@QBE_NABV0@@Z @ 142 NONAME ; bool AgendaEntry::operator!=(class AgendaEntry const &) const
- ??0AgendaRepeatRule@@QAE@W4RuleType@0@@Z @ 143 NONAME ; AgendaRepeatRule::AgendaRepeatRule(enum AgendaRepeatRule::RuleType)
- ??9AgendaCategory@@QBE_NABV0@@Z @ 144 NONAME ; bool AgendaCategory::operator!=(class AgendaCategory const &) const
- ??0AgendaAttendee@@QAE@ABV0@@Z @ 145 NONAME ; AgendaAttendee::AgendaAttendee(class AgendaAttendee const &)
- ??0AgendaAttendee@@QAE@ABVQString@@@Z @ 146 NONAME ; AgendaAttendee::AgendaAttendee(class QString const &)
- ?importvCalendar@AgendaUtil@@QAEHABVQString@@AAVAgendaEntry@@@Z @ 147 NONAME ; int AgendaUtil::importvCalendar(class QString const &, class AgendaEntry &)
- ?instanceViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 148 NONAME ; void AgendaUtil::instanceViewCreationCompleted(int)
- ??_EAgendaUtil@@UAE@I@Z @ 149 NONAME ; AgendaUtil::~AgendaUtil(unsigned int)
- ?setGeoValue@AgendaEntry@@QAEXABVAgendaGeoValue@@@Z @ 150 NONAME ; void AgendaEntry::setGeoValue(class AgendaGeoValue const &)
- ?getPreviousInstanceTimes@AgendaUtil@@QAEXAAVAgendaEntry@@AAVQDateTime@@1@Z @ 151 NONAME ; void AgendaUtil::getPreviousInstanceTimes(class AgendaEntry &, class QDateTime &, class QDateTime &)
- ?attendees@AgendaEntry@@QAEAAV?$QList@VAgendaAttendee@@@@XZ @ 152 NONAME ; class QList<class AgendaAttendee> & AgendaEntry::attendees(void)
- ?staticMetaObject@AgendaUtil@@2UQMetaObject@@B @ 153 NONAME ; struct QMetaObject const AgendaUtil::staticMetaObject
- ?entriesDeleted@AgendaUtil@@IAEXH@Z @ 154 NONAME ; void AgendaUtil::entriesDeleted(int)
- ?fetchAllEntries@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@W4FilterFlags@1@@Z @ 155 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchAllEntries(enum AgendaUtil::FilterFlags)
- ?setTimeOffset@AgendaAlarm@@QAEXH@Z @ 156 NONAME ; void AgendaAlarm::setTimeOffset(int)
- ??0AgendaEntry@@QAE@XZ @ 157 NONAME ; AgendaEntry::AgendaEntry(void)
- ?setPriority@AgendaEntry@@QAEXH@Z @ 158 NONAME ; void AgendaEntry::setPriority(int)
- ?setType@AgendaEntry@@QAEXW4Type@1@@Z @ 159 NONAME ; void AgendaEntry::setType(enum AgendaEntry::Type)
- ?setStartAndEndTime@AgendaEntry@@QAE_NABVQDateTime@@0@Z @ 160 NONAME ; bool AgendaEntry::setStartAndEndTime(class QDateTime const &, class QDateTime const &)
- ?deleteEntries@AgendaUtil@@QAEXAAVQDateTime@@0W4FilterFlags@1@@Z @ 161 NONAME ; void AgendaUtil::deleteEntries(class QDateTime &, class QDateTime &, enum AgendaUtil::FilterFlags)
- ?metaObject@AgendaUtil@@UBEPBUQMetaObject@@XZ @ 162 NONAME ; struct QMetaObject const * AgendaUtil::metaObject(void) const
- ?location@AgendaEntry@@QBE?AVQString@@XZ @ 163 NONAME ; class QString AgendaEntry::location(void) const
- ??8AgendaCategory@@QBE_NABV0@@Z @ 164 NONAME ; bool AgendaCategory::operator==(class AgendaCategory const &) const
- ??0AgendaCategory@@QAE@ABV0@@Z @ 165 NONAME ; AgendaCategory::AgendaCategory(class AgendaCategory const &)
- ??1AgendaGeoValue@@QAE@XZ @ 166 NONAME ; AgendaGeoValue::~AgendaGeoValue(void)
- ??4AgendaEntry@@QAEAAV0@ABV0@@Z @ 167 NONAME ; class AgendaEntry & AgendaEntry::operator=(class AgendaEntry const &)
- ??_EAgendaCategory@@UAE@I@Z @ 168 NONAME ; AgendaCategory::~AgendaCategory(unsigned int)
- ?createEntryIdListForDay@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@W4FilterFlags@1@@Z @ 169 NONAME ; class QList<class AgendaEntry> AgendaUtil::createEntryIdListForDay(class QDateTime, enum AgendaUtil::FilterFlags)
- ?repeatRule@AgendaEntry@@QBE?AVAgendaRepeatRule@@XZ @ 170 NONAME ; class AgendaRepeatRule AgendaEntry::repeatRule(void) const
- ??1AgendaCategory@@UAE@XZ @ 171 NONAME ; AgendaCategory::~AgendaCategory(void)
- ?deleteEntry@AgendaUtil@@QAE_NK@Z @ 172 NONAME ; bool AgendaUtil::deleteEntry(unsigned long)
- ??1AgendaAttendee@@UAE@XZ @ 173 NONAME ; AgendaAttendee::~AgendaAttendee(void)
- ?byDay@AgendaRepeatRule@@QBE?AV?$QList@W4Day@AgendaRepeatRule@@@@XZ @ 174 NONAME ; class QList<enum AgendaRepeatRule::Day> AgendaRepeatRule::byDay(void) const
- ?setLatLong@AgendaGeoValue@@QAEXNN@Z @ 175 NONAME ; void AgendaGeoValue::setLatLong(double, double)
- ?completedDateTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 176 NONAME ; class QDateTime AgendaEntry::completedDateTime(void) const
- ?setRecurrenceId@AgendaEntry@@QAEXAAVQDateTime@@@Z @ 177 NONAME ; void AgendaEntry::setRecurrenceId(class QDateTime &)
+ ??8AgendaGeoValue@@QBE_NABV0@@Z @ 59 NONAME ; bool AgendaGeoValue::operator==(class AgendaGeoValue const &) const
+ ?id@AgendaEntry@@QBEKXZ @ 60 NONAME ; unsigned long AgendaEntry::id(void) const
+ ?setByDay@AgendaRepeatRule@@QAEXABV?$QList@W4Day@AgendaRepeatRule@@@@@Z @ 61 NONAME ; void AgendaRepeatRule::setByDay(class QList<enum AgendaRepeatRule::Day> const &)
+ ?setUntil@AgendaRepeatRule@@QAEXABVQDateTime@@@Z @ 62 NONAME ; void AgendaRepeatRule::setUntil(class QDateTime const &)
+ ?setType@AgendaRepeatRule@@QAEXW4RuleType@1@@Z @ 63 NONAME ; void AgendaRepeatRule::setType(enum AgendaRepeatRule::RuleType)
+ ?interval@AgendaRepeatRule@@QBEHXZ @ 64 NONAME ; int AgendaRepeatRule::interval(void) const
+ ?rDates@AgendaEntry@@QBE?AV?$QList@VQDate@@@@XZ @ 65 NONAME ; class QList<class QDate> AgendaEntry::rDates(void) const
+ ?repeatRuleStart@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 66 NONAME ; class QDateTime AgendaRepeatRule::repeatRuleStart(void) const
+ ??8AgendaAlarm@@QBE_NABV0@@Z @ 67 NONAME ; bool AgendaAlarm::operator==(class AgendaAlarm const &) const
+ ??0AgendaRepeatRule@@QAE@ABV0@@Z @ 68 NONAME ; AgendaRepeatRule::AgendaRepeatRule(class AgendaRepeatRule const &)
+ ?setStatus@AgendaAttendee@@QAEXW4StatusType@1@@Z @ 69 NONAME ; void AgendaAttendee::setStatus(enum AgendaAttendee::StatusType)
+ ?setStatus@AgendaEntry@@QAEXW4Status@1@@Z @ 70 NONAME ; void AgendaEntry::setStatus(enum AgendaEntry::Status)
+ ?setExtendedCategoryName@AgendaCategory@@QAEXABVQString@@@Z @ 71 NONAME ; void AgendaCategory::setExtendedCategoryName(class QString const &)
+ ?setDescription@AgendaEntry@@QAEXABVQString@@@Z @ 72 NONAME ; void AgendaEntry::setDescription(class QString const &)
+ ?recurrenceId@AgendaEntry@@QAE?AVQDateTime@@XZ @ 73 NONAME ; class QDateTime AgendaEntry::recurrenceId(void)
+ ?until@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 74 NONAME ; class QDateTime AgendaRepeatRule::until(void) const
+ ?setByMonth@AgendaRepeatRule@@QAEXABV?$QList@W4Month@AgendaRepeatRule@@@@@Z @ 75 NONAME ; void AgendaRepeatRule::setByMonth(class QList<enum AgendaRepeatRule::Month> const &)
+ ?qt_metacall@AgendaUtil@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 76 NONAME ; int AgendaUtil::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@AgendaUtil@@UAEPAXPBD@Z @ 77 NONAME ; void * AgendaUtil::qt_metacast(char const *)
+ ?isNull@AgendaRepeatRule@@QBE_NXZ @ 78 NONAME ; bool AgendaRepeatRule::isNull(void) const
+ ?getStaticMetaObject@AgendaUtil@@SAABUQMetaObject@@XZ @ 79 NONAME ; struct QMetaObject const & AgendaUtil::getStaticMetaObject(void)
+ ??8AgendaAttendee@@QBE_NABV0@@Z @ 80 NONAME ; bool AgendaAttendee::operator==(class AgendaAttendee const &) const
+ ?addCategory@AgendaEntry@@QAEXABVAgendaCategory@@@Z @ 81 NONAME ; void AgendaEntry::addCategory(class AgendaCategory const &)
+ ?setLocation@AgendaEntry@@QAEXABVQString@@@Z @ 82 NONAME ; void AgendaEntry::setLocation(class QString const &)
+ ?isTimedEntry@AgendaEntry@@QAE_NXZ @ 83 NONAME ; bool AgendaEntry::isTimedEntry(void)
+ ?favourite@AgendaEntry@@QBEIXZ @ 84 NONAME ; unsigned int AgendaEntry::favourite(void) const
+ ?entryViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 85 NONAME ; void AgendaUtil::entryViewCreationCompleted(int)
+ ?durationInSecs@AgendaEntry@@QBEHXZ @ 86 NONAME ; int AgendaEntry::durationInSecs(void) const
+ ??1AgendaUtil@@UAE@XZ @ 87 NONAME ; AgendaUtil::~AgendaUtil(void)
+ ?category@AgendaCategory@@QBE?AW4CategoryType@1@XZ @ 88 NONAME ; enum AgendaCategory::CategoryType AgendaCategory::category(void) const
+ ?entryAdded@AgendaUtil@@IAEXK@Z @ 89 NONAME ; void AgendaUtil::entryAdded(unsigned long)
+ ?role@AgendaAttendee@@QBE?AW4ParticipantRole@1@XZ @ 90 NONAME ; enum AgendaAttendee::ParticipantRole AgendaAttendee::role(void) const
+ ?type@AgendaEntry@@QBE?AW4Type@1@XZ @ 91 NONAME ; enum AgendaEntry::Type AgendaEntry::type(void) const
+ ??0AgendaEntry@@QAE@W4Type@0@@Z @ 92 NONAME ; AgendaEntry::AgendaEntry(enum AgendaEntry::Type)
+ ?detach@AgendaRepeatRule@@AAEXXZ @ 93 NONAME ; void AgendaRepeatRule::detach(void)
+ ?error@AgendaUtil@@QBE?AW4Error@1@XZ @ 94 NONAME ; enum AgendaUtil::Error AgendaUtil::error(void) const
+ ?trUtf8@AgendaUtil@@SA?AVQString@@PBD0@Z @ 95 NONAME ; class QString AgendaUtil::trUtf8(char const *, char const *)
+ ?status@AgendaEntry@@QBE?AW4Status@1@XZ @ 96 NONAME ; enum AgendaEntry::Status AgendaEntry::status(void) const
+ ??0AgendaEntry@@QAE@ABV0@@Z @ 97 NONAME ; AgendaEntry::AgendaEntry(class AgendaEntry const &)
+ ??4AgendaAttendee@@QAEAAV0@ABV0@@Z @ 98 NONAME ; class AgendaAttendee & AgendaAttendee::operator=(class AgendaAttendee const &)
+ ?address@AgendaAttendee@@QBE?AVQString@@XZ @ 99 NONAME ; class QString AgendaAttendee::address(void) const
+ ?entryDeleted@AgendaUtil@@IAEXK@Z @ 100 NONAME ; void AgendaUtil::entryDeleted(unsigned long)
+ ?summary@AgendaEntry@@QBE?AVQString@@XZ @ 101 NONAME ; class QString AgendaEntry::summary(void) const
+ ?priority@AgendaEntry@@QBEHXZ @ 102 NONAME ; int AgendaEntry::priority(void) const
+ ?fetchById@AgendaUtil@@QAE?AVAgendaEntry@@K@Z @ 103 NONAME ; class AgendaEntry AgendaUtil::fetchById(unsigned long)
+ ?setCommonName@AgendaAttendee@@QAEXABVQString@@@Z @ 104 NONAME ; void AgendaAttendee::setCommonName(class QString const &)
+ ?setMethod@AgendaEntry@@QAEXW4Method@1@@Z @ 105 NONAME ; void AgendaEntry::setMethod(enum AgendaEntry::Method)
+ ?setRDates@AgendaEntry@@QAEXABV?$QList@VQDate@@@@@Z @ 106 NONAME ; void AgendaEntry::setRDates(class QList<class QDate> const &)
+ ?parentEntry@AgendaUtil@@QAE?AVAgendaEntry@@AAV2@@Z @ 107 NONAME ; class AgendaEntry AgendaUtil::parentEntry(class AgendaEntry &)
+ ?addAttendee@AgendaEntry@@QAEXABVAgendaAttendee@@@Z @ 108 NONAME ; void AgendaEntry::addAttendee(class AgendaAttendee const &)
+ ?setCompleted@AgendaUtil@@QAEXAAVAgendaEntry@@_NAAVQDateTime@@@Z @ 109 NONAME ; void AgendaUtil::setCompleted(class AgendaEntry &, bool, class QDateTime &)
+ ??0AgendaCategory@@QAE@XZ @ 110 NONAME ; AgendaCategory::AgendaCategory(void)
+ ?timeOffset@AgendaAlarm@@QBEHXZ @ 111 NONAME ; int AgendaAlarm::timeOffset(void) const
+ ??0AgendaAttendee@@QAE@XZ @ 112 NONAME ; AgendaAttendee::AgendaAttendee(void)
+ ?setAlarmSoundName@AgendaAlarm@@QAEXABVQString@@@Z @ 113 NONAME ; void AgendaAlarm::setAlarmSoundName(class QString const &)
+ ?fetchEntriesInRange@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@0W4FilterFlags@1@@Z @ 114 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchEntriesInRange(class QDateTime, class QDateTime, enum AgendaUtil::FilterFlags)
+ ?detach@AgendaAlarm@@AAEXXZ @ 115 NONAME ; void AgendaAlarm::detach(void)
+ ?setWeekStart@AgendaRepeatRule@@QAEXW4Day@1@@Z @ 116 NONAME ; void AgendaRepeatRule::setWeekStart(enum AgendaRepeatRule::Day)
+ ?setFavourite@AgendaEntry@@QAEXI@Z @ 117 NONAME ; void AgendaEntry::setFavourite(unsigned int)
+ ?setDTStamp@AgendaEntry@@QAEXABVQDateTime@@@Z @ 118 NONAME ; void AgendaEntry::setDTStamp(class QDateTime const &)
+ ?cloneEntry@AgendaUtil@@QAEKABVAgendaEntry@@W4Type@2@@Z @ 119 NONAME ; unsigned long AgendaUtil::cloneEntry(class AgendaEntry const &, enum AgendaEntry::Type)
+ ?setRepeatRule@AgendaEntry@@QAEXABVAgendaRepeatRule@@@Z @ 120 NONAME ; void AgendaEntry::setRepeatRule(class AgendaRepeatRule const &)
+ ?categories@AgendaEntry@@QBEABV?$QList@VAgendaCategory@@@@XZ @ 121 NONAME ; class QList<class AgendaCategory> const & AgendaEntry::categories(void) const
+ ?tr@AgendaUtil@@SA?AVQString@@PBD0@Z @ 122 NONAME ; class QString AgendaUtil::tr(char const *, char const *)
+ ??4AgendaRepeatRule@@QAEAAV0@ABV0@@Z @ 123 NONAME ; class AgendaRepeatRule & AgendaRepeatRule::operator=(class AgendaRepeatRule const &)
+ ?setCompletedDateTime@AgendaEntry@@QAEXABVQDateTime@@@Z @ 124 NONAME ; void AgendaEntry::setCompletedDateTime(class QDateTime const &)
+ ??0AgendaRepeatRule@@QAE@XZ @ 125 NONAME ; AgendaRepeatRule::AgendaRepeatRule(void)
+ ?dtStamp@AgendaEntry@@QBE?AVQDateTime@@XZ @ 126 NONAME ; class QDateTime AgendaEntry::dtStamp(void) const
+ ?method@AgendaEntry@@QBE?AW4Method@1@XZ @ 127 NONAME ; enum AgendaEntry::Method AgendaEntry::method(void) const
+ ?type@AgendaRepeatRule@@QBE?AW4RuleType@1@XZ @ 128 NONAME ; enum AgendaRepeatRule::RuleType AgendaRepeatRule::type(void) const
+ ??4AgendaGeoValue@@QAEAAV0@ABV0@@Z @ 129 NONAME ; class AgendaGeoValue & AgendaGeoValue::operator=(class AgendaGeoValue const &)
+ ??0AgendaCategory@@QAE@W4CategoryType@0@@Z @ 130 NONAME ; AgendaCategory::AgendaCategory(enum AgendaCategory::CategoryType)
+ ?commonName@AgendaAttendee@@QBE?AVQString@@XZ @ 131 NONAME ; class QString AgendaAttendee::commonName(void) const
+ ?detach@AgendaCategory@@AAEXXZ @ 132 NONAME ; void AgendaCategory::detach(void)
+ ??0AgendaGeoValue@@QAE@ABV0@@Z @ 133 NONAME ; AgendaGeoValue::AgendaGeoValue(class AgendaGeoValue const &)
+ ?isWorkdaysRepeatingEntry@AgendaUtil@@SA_NABVAgendaRepeatRule@@@Z @ 134 NONAME ; bool AgendaUtil::isWorkdaysRepeatingEntry(class AgendaRepeatRule const &)
+ ?setRole@AgendaAttendee@@QAEXW4ParticipantRole@1@@Z @ 135 NONAME ; void AgendaAttendee::setRole(enum AgendaAttendee::ParticipantRole)
+ ?detach@AgendaAttendee@@AAEXXZ @ 136 NONAME ; void AgendaAttendee::detach(void)
+ ?getLatLong@AgendaGeoValue@@QBEXAAN0@Z @ 137 NONAME ; void AgendaGeoValue::getLatLong(double &, double &) const
+ ?maxTime@AgendaUtil@@SA?AVQDateTime@@XZ @ 138 NONAME ; class QDateTime AgendaUtil::maxTime(void)
+ ?setCategory@AgendaCategory@@QAEXW4CategoryType@1@@Z @ 139 NONAME ; void AgendaCategory::setCategory(enum AgendaCategory::CategoryType)
+ ?endTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 140 NONAME ; class QDateTime AgendaEntry::endTime(void) const
+ ??9AgendaEntry@@QBE_NABV0@@Z @ 141 NONAME ; bool AgendaEntry::operator!=(class AgendaEntry const &) const
+ ??0AgendaRepeatRule@@QAE@W4RuleType@0@@Z @ 142 NONAME ; AgendaRepeatRule::AgendaRepeatRule(enum AgendaRepeatRule::RuleType)
+ ??9AgendaCategory@@QBE_NABV0@@Z @ 143 NONAME ; bool AgendaCategory::operator!=(class AgendaCategory const &) const
+ ??0AgendaAttendee@@QAE@ABV0@@Z @ 144 NONAME ; AgendaAttendee::AgendaAttendee(class AgendaAttendee const &)
+ ??0AgendaAttendee@@QAE@ABVQString@@@Z @ 145 NONAME ; AgendaAttendee::AgendaAttendee(class QString const &)
+ ?importvCalendar@AgendaUtil@@QAEHABVQString@@AAVAgendaEntry@@@Z @ 146 NONAME ; int AgendaUtil::importvCalendar(class QString const &, class AgendaEntry &)
+ ?instanceViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 147 NONAME ; void AgendaUtil::instanceViewCreationCompleted(int)
+ ??_EAgendaUtil@@UAE@I@Z @ 148 NONAME ; AgendaUtil::~AgendaUtil(unsigned int)
+ ?setGeoValue@AgendaEntry@@QAEXABVAgendaGeoValue@@@Z @ 149 NONAME ; void AgendaEntry::setGeoValue(class AgendaGeoValue const &)
+ ?getPreviousInstanceTimes@AgendaUtil@@QAEXAAVAgendaEntry@@AAVQDateTime@@1@Z @ 150 NONAME ; void AgendaUtil::getPreviousInstanceTimes(class AgendaEntry &, class QDateTime &, class QDateTime &)
+ ?attendees@AgendaEntry@@QAEAAV?$QList@VAgendaAttendee@@@@XZ @ 151 NONAME ; class QList<class AgendaAttendee> & AgendaEntry::attendees(void)
+ ?staticMetaObject@AgendaUtil@@2UQMetaObject@@B @ 152 NONAME ; struct QMetaObject const AgendaUtil::staticMetaObject
+ ?entriesDeleted@AgendaUtil@@IAEXH@Z @ 153 NONAME ; void AgendaUtil::entriesDeleted(int)
+ ?fetchAllEntries@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@W4FilterFlags@1@@Z @ 154 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchAllEntries(enum AgendaUtil::FilterFlags)
+ ?setTimeOffset@AgendaAlarm@@QAEXH@Z @ 155 NONAME ; void AgendaAlarm::setTimeOffset(int)
+ ??0AgendaEntry@@QAE@XZ @ 156 NONAME ; AgendaEntry::AgendaEntry(void)
+ ?setPriority@AgendaEntry@@QAEXH@Z @ 157 NONAME ; void AgendaEntry::setPriority(int)
+ ?setType@AgendaEntry@@QAEXW4Type@1@@Z @ 158 NONAME ; void AgendaEntry::setType(enum AgendaEntry::Type)
+ ?setStartAndEndTime@AgendaEntry@@QAE_NABVQDateTime@@0@Z @ 159 NONAME ; bool AgendaEntry::setStartAndEndTime(class QDateTime const &, class QDateTime const &)
+ ?deleteEntries@AgendaUtil@@QAEXAAVQDateTime@@0W4FilterFlags@1@@Z @ 160 NONAME ; void AgendaUtil::deleteEntries(class QDateTime &, class QDateTime &, enum AgendaUtil::FilterFlags)
+ ?metaObject@AgendaUtil@@UBEPBUQMetaObject@@XZ @ 161 NONAME ; struct QMetaObject const * AgendaUtil::metaObject(void) const
+ ?location@AgendaEntry@@QBE?AVQString@@XZ @ 162 NONAME ; class QString AgendaEntry::location(void) const
+ ??8AgendaCategory@@QBE_NABV0@@Z @ 163 NONAME ; bool AgendaCategory::operator==(class AgendaCategory const &) const
+ ??0AgendaCategory@@QAE@ABV0@@Z @ 164 NONAME ; AgendaCategory::AgendaCategory(class AgendaCategory const &)
+ ??1AgendaGeoValue@@QAE@XZ @ 165 NONAME ; AgendaGeoValue::~AgendaGeoValue(void)
+ ??4AgendaEntry@@QAEAAV0@ABV0@@Z @ 166 NONAME ; class AgendaEntry & AgendaEntry::operator=(class AgendaEntry const &)
+ ??_EAgendaCategory@@UAE@I@Z @ 167 NONAME ; AgendaCategory::~AgendaCategory(unsigned int)
+ ?createEntryIdListForDay@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@W4FilterFlags@1@@Z @ 168 NONAME ; class QList<class AgendaEntry> AgendaUtil::createEntryIdListForDay(class QDateTime, enum AgendaUtil::FilterFlags)
+ ?repeatRule@AgendaEntry@@QBE?AVAgendaRepeatRule@@XZ @ 169 NONAME ; class AgendaRepeatRule AgendaEntry::repeatRule(void) const
+ ??1AgendaCategory@@UAE@XZ @ 170 NONAME ; AgendaCategory::~AgendaCategory(void)
+ ?deleteEntry@AgendaUtil@@QAE_NK@Z @ 171 NONAME ; bool AgendaUtil::deleteEntry(unsigned long)
+ ??1AgendaAttendee@@UAE@XZ @ 172 NONAME ; AgendaAttendee::~AgendaAttendee(void)
+ ?byDay@AgendaRepeatRule@@QBE?AV?$QList@W4Day@AgendaRepeatRule@@@@XZ @ 173 NONAME ; class QList<enum AgendaRepeatRule::Day> AgendaRepeatRule::byDay(void) const
+ ?setLatLong@AgendaGeoValue@@QAEXNN@Z @ 174 NONAME ; void AgendaGeoValue::setLatLong(double, double)
+ ?completedDateTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 175 NONAME ; class QDateTime AgendaEntry::completedDateTime(void) const
+ ?setRecurrenceId@AgendaEntry@@QAEXAAVQDateTime@@@Z @ 176 NONAME ; void AgendaEntry::setRecurrenceId(class QDateTime &)
+ ?store@AgendaUtil@@QAEKAAVAgendaEntry@@W4RecurrenceRange@1@VQDateTime@@@Z @ 177 NONAME ; unsigned long AgendaUtil::store(class AgendaEntry &, enum AgendaUtil::RecurrenceRange, class QDateTime)
?isNull@AgendaGeoValue@@QBE_NXZ @ 178 NONAME ; bool AgendaGeoValue::isNull(void) const
--- a/agendainterface/agendautil/eabi/agendainterfaceu.def Wed Aug 25 14:02:13 2010 +0530
+++ b/agendainterface/agendautil/eabi/agendainterfaceu.def Tue Aug 31 18:15:13 2010 +0530
@@ -26,7 +26,7 @@
_ZN10AgendaUtil24isWorkdaysRepeatingEntryERK16AgendaRepeatRule @ 25 NONAME
_ZN10AgendaUtil26entryViewCreationCompletedEi @ 26 NONAME
_ZN10AgendaUtil29instanceViewCreationCompletedEi @ 27 NONAME
- _ZN10AgendaUtil5storeER11AgendaEntryNS_15RecurrenceRangeE @ 28 NONAME
+ _ZN10AgendaUtil5storeER11AgendaEntryNS_15RecurrenceRangeE9QDateTime @ 28 NONAME
_ZN10AgendaUtil7maxTimeEv @ 29 NONAME
_ZN10AgendaUtil7minTimeEv @ 30 NONAME
_ZN10AgendaUtil8entryIdsENS_11FilterFlagsE @ 31 NONAME
--- a/agendainterface/agendautil/inc/agendautil_p.h Wed Aug 25 14:02:13 2010 +0530
+++ b/agendainterface/agendautil/inc/agendautil_p.h Tue Aug 31 18:15:13 2010 +0530
@@ -61,7 +61,9 @@
AgendaUtilPrivate(AgendaUtil* calendar);
~AgendaUtilPrivate();
- ulong store(AgendaEntry &entry, AgendaUtil::RecurrenceRange range);
+ ulong store(
+ AgendaEntry &entry, AgendaUtil::RecurrenceRange range,
+ QDateTime &instanceOriginalDateTime);
ulong cloneEntry(const AgendaEntry& entry, AgendaEntry::Type type);
bool deleteEntry(ulong id);
--- a/agendainterface/agendautil/src/agendautil.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/agendainterface/agendautil/src/agendautil.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -98,11 +98,14 @@
\param entry The entry to be added/updated
\param range The recurrence range of entry
+ \param instanceOriginalDateTime The start time of the original instance.
\return ulong The local uid of the entry added/updated in the db.
*/
-ulong AgendaUtil::store(AgendaEntry &entry, AgendaUtil::RecurrenceRange range)
+ulong AgendaUtil::store(
+ AgendaEntry &entry, AgendaUtil::RecurrenceRange range,
+ QDateTime instanceOriginalDateTime)
{
- return d->store(entry, range);
+ return d->store(entry, range, instanceOriginalDateTime);
}
/*!
--- a/agendainterface/agendautil/src/agendautil_p.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/agendainterface/agendautil/src/agendautil_p.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -203,11 +203,14 @@
/*!
To store the new entry or update the entry in the Calendar db.
- \param entry The entry to be added/updated
- \param range The recurrence range of entry
+ \param entry The entry to be added/updated.
+ \param range The recurrence range of entry.
+ \param instanceOriginalDateTime The start time of the original instance..
\return ulong The local uid of the entry added/updated in the db.
*/
-ulong AgendaUtilPrivate::store(AgendaEntry &entry, AgendaUtil::RecurrenceRange range)
+ulong AgendaUtilPrivate::store(
+ AgendaEntry &entry, AgendaUtil::RecurrenceRange range,
+ QDateTime &instanceOriginalDateTime)
{
// Will be filled with the lUID of the new entry created.
TCalLocalUid localUid = 0;
@@ -269,7 +272,7 @@
// We are creating an exception, hence get the global Uid
HBufC8* guid = parentEntry->UidL().AllocLC();
- QDateTime instanceOriginalDateTime = entry.startTime();
+
// create new (child) entry
// Use original instance time for recurrenceID as this entry hasn't got one.
--- a/calendarengines/agnversit2/inc/CleanupPointerArray.inl Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarengines/agnversit2/inc/CleanupPointerArray.inl Tue Aug 31 18:15:13 2010 +0530
@@ -35,7 +35,7 @@
@internalTechnology
*/
template <class T>
-inline void TCleanupPointerArray<class T>::ResetAndDestroy(TAny* aPtr)
+inline void TCleanupPointerArray<T>::ResetAndDestroy(TAny* aPtr)
{
reinterpret_cast<T *>(aPtr)->ResetAndDestroy();
}
--- a/calendarui/caleneditor/inc/caleneditor_p.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/caleneditor/inc/caleneditor_p.h Tue Aug 31 18:15:13 2010 +0530
@@ -107,11 +107,12 @@
bool isNewEntry();
HbDataFormModelItem* allDayCheckBoxItem();
bool isReminderTimeForAllDayAdded();
+ bool isRepeatUntilItemAdded();
bool isAllDayEvent();
void updateReminderChoices();
int currentIndexOfReminderField();
void setCurrentIndexOfReminderField(int index);
- void setReminderChoices();
+ int getReminderCount();
bool isEditRangeThisOnly();
bool isAllDayFieldAdded();
void forcedSaveEntry();
--- a/calendarui/caleneditor/inc/caleneditorcommon.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/caleneditor/inc/caleneditorcommon.h Tue Aug 31 18:15:13 2010 +0530
@@ -33,6 +33,8 @@
// Constants
const int SecsInOneHour( 3600 );
+const int SecsIn15Mins( 900 ); //15 * 60 secs
+const int SecsIn30Mins( 1800 ); //30 * 60 secs
const int MaxRowsInTextItem(10);
const int MaxCharacterLimit(255);
--- a/calendarui/caleneditor/inc/caleneditorreminderfield.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/caleneditor/inc/caleneditorreminderfield.h Tue Aug 31 18:15:13 2010 +0530
@@ -45,6 +45,14 @@
ReminderOneDayBefore,
ReminderTwoDaysBefore
};
+ enum MeetingReminderIndex
+ {
+ //Starting the enum from 1 bcoz ReminderOff of AllDayReminderIndex can be used.
+ ReminderAtStart = 1,
+ Reminder15MinsBefore,
+ Reminder30MinsBefore,
+ Reminder1HourBefore
+ };
public:
CalenEditorReminderField(CalenEditorPrivate* calenEditor,
HbDataForm* form, HbDataFormModel* model,
@@ -69,6 +77,10 @@
void setCurrentIndex(int index);
void disableReminderTimeField();
bool isReminderTimeForAllDayAdded();
+ void UpdateReminderChoicesForSameDay(QTime startTime);
+ void setSavedMeetingReminderIndex();
+ int getReminderIndexBasedOnEntryAlarm();
+
private slots:
void handleReminderIndexChanged(int index);
void launchReminderTimePicker();
--- a/calendarui/caleneditor/src/caleneditor_p.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditor_p.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -1096,6 +1096,8 @@
{
OstTraceFunctionEntry0( CALENEDITORPRIVATE_SAVEFROMDATETIME_ENTRY );
QDateTime endTime = mEditedEntry->endTime();
+ // Get the previous start date of the entry
+ QDate previousDate = mEditedEntry->startTime().date();
// Update the end time accordingly on UI - duration will be 60 mins
// bydefault only while creating new entry and if it crossed the endtime
if (mNewEntry && fromDateTime > endTime) {
@@ -1122,6 +1124,18 @@
}
updateReminderChoices();
+ // If the entry start date is been changed from past date to a future date
+ // And if the alarm set set is off change the reminder option to
+ // 'one day before' if the option is valid
+ if (isAllDayEvent() && previousDate <= QDate::currentDate()) {
+ if(fromDateTime.date() > QDate::currentDate() &&
+ (mReminderField->currentReminderIndex() ==
+ CalenEditorReminderField::ReminderOff) &&
+ mReminderField->reminderItemsCount() >= 3) {
+ mReminderField->setCurrentIndex(
+ CalenEditorReminderField::ReminderOneDayBefore);
+ }
+ }
OstTraceFunctionExit0( CALENEDITORPRIVATE_SAVEFROMDATETIME_EXIT );
}
@@ -1150,13 +1164,14 @@
{
mReminderField->setReminderOff();
} else {
- // Enabled implies future. If changing from future to future do not
- // do anything.
- if (!mReminderField->isReminderFieldEnabled()) {
+ if (referenceDate == QDate::currentDate()) {
+ mReminderField->UpdateReminderChoicesForSameDay(mEditedEntry->startTime().time());
+ }
+ else {
mReminderField->setReminderChoices();
- // Set the default alarm time 15 minutes before
- mReminderField->setCurrentIndex(2);
}
+ //Set the reminder field to the previous value which was saved.
+ mReminderField->setSavedMeetingReminderIndex();
}
}
OstTraceFunctionExit0( CALENEDITORPRIVATE_UPDATEREMINDERCHOICES_EXIT );
@@ -1355,14 +1370,26 @@
// This is to avoid conflict in the reminder time as
// the index set for the normal meeting may not be valid for an allday
// Set it off before doing the reminder updation for all day
- mReminderField->setCurrentIndex(0);
+ mReminderField->setCurrentIndex(CalenEditorReminderField::ReminderOff);
mReminderField->updateReminderChoicesForAllDay(referenceDate);
- // If the reminder field is enabled and it is not off
- // it implies default alarm day and time is being displayed.
+ // Now the reminder combox box is updated with the valid reminder options
+ // If the reminder field is enabled and it is off
+ // it implies default alarm day and time should be displayed.
if (mReminderField->isReminderFieldEnabled() &&
- mReminderField->currentReminderIndex() != 0) {
+ mReminderField->currentReminderIndex() ==
+ CalenEditorReminderField::ReminderOff) {
+ mReminderField->insertReminderTimeField();
// Set the default alarm for all day.
- mReminderField->setDefaultAlarmForAllDay();
+ if(mReminderField->reminderItemsCount() > 2) {
+ // Set reminder as "One day before"
+ mReminderField->setCurrentIndex(
+ CalenEditorReminderField::ReminderOneDayBefore);
+ }else {
+ // Since the "One day before" is not valid
+ // Set the reminder "On event day"
+ mReminderField->setCurrentIndex(
+ CalenEditorReminderField::ReminderOnEventDay);
+ }
} else {
// Remove reminder time field.
mReminderField->removeReminderTimeField();
@@ -1378,7 +1405,7 @@
mReminderField->removeReminderTimeField();
mReminderField->setReminderChoices();
// Set the default alarm time 15 minutes before
- mReminderField->setCurrentIndex(2);
+ mReminderField->setCurrentIndex(CalenEditorReminderField::Reminder15MinsBefore);
updateReminderChoices();
}
@@ -1695,7 +1722,9 @@
if (!handleAllDayToSave()) {
// creating an exceptional entry
if (!mIsChild && (mEditRange == ThisOnly)) {
- mAgendaUtil->store(*mEditedEntry, AgendaUtil::ThisOnly);
+ mAgendaUtil->store(
+ *mEditedEntry, AgendaUtil::ThisOnly,
+ mOriginalEntry->startTime());
} else {
mAgendaUtil->store(*mEditedEntry);
}
@@ -1913,6 +1942,22 @@
}
/*!
+ Returns true if repeatuntil item is been added
+ Used to know if the entry is repeating. For new entries this
+ is the only way to find whether its repeating or not
+ */
+bool CalenEditorPrivate::isRepeatUntilItemAdded()
+{
+ // For exceptional entries the repeatfield will not be present
+ // So need to check if the repeat field is there or not
+ if( mRepeatField ) {
+ return mRepeatField->isRepeatUntilItemAdded();
+ }else {
+ return false;
+ }
+}
+
+/*!
Checks if it is an all day event or not.
*/
bool CalenEditorPrivate::isAllDayEvent()
@@ -1956,13 +2001,11 @@
}
/*!
- Sets the reminder choices for a non all day event.
+ Gets the reminder options count
*/
-void CalenEditorPrivate::setReminderChoices()
+int CalenEditorPrivate::getReminderCount()
{
- OstTraceFunctionEntry0( CALENEDITORPRIVATE_SETREMINDERCHOICES_ENTRY );
- mReminderField->setReminderChoices();
- OstTraceFunctionExit0( CALENEDITORPRIVATE_SETREMINDERCHOICES_EXIT );
+ return mReminderField->reminderItemsCount();
}
/*!
--- a/calendarui/caleneditor/src/caleneditorreminderfield.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditorreminderfield.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -90,6 +90,13 @@
void CalenEditorReminderField::setReminderChoices()
{
OstTraceFunctionEntry0( CALENEDITORREMINDERFIELD_SETREMINDERCHOICES_ENTRY );
+
+ // Disconnect the slot and connect it back again at end to avoid unnecessary
+ // calls to handleReminderIndexChanged slot. Or else the slot gets called
+ // when we add all of items to the repeat combobox.
+ mEditorForm->removeConnection(mReminderItem,
+ SIGNAL(currentIndexChanged(int)), this,
+ SLOT(handleReminderIndexChanged(int)));
// Create the reminder choices
QStringList reminderChoices;
reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off")
@@ -99,15 +106,11 @@
<< hbTrId("txt_calendar_setlabel_reminder_val_1_hour_before");
mReminderItem->setContentWidgetData("items", reminderChoices);
- mReminderItem->setContentWidgetData("objectName", "remainderItem");
-
- // Build the hash map for the reminder.
- mReminderHash[0] = -1; // OFF.
- mReminderHash[1] = 0;
- mReminderHash[2] = 15;
- mReminderHash[3] = 30;
- mReminderHash[4] = 60;
mReminderItem->setEnabled(true);
+
+ mEditorForm->addConnection(mReminderItem,
+ SIGNAL(currentIndexChanged(int)), this,
+ SLOT(handleReminderIndexChanged(int)));
OstTraceFunctionExit0( CALENEDITORREMINDERFIELD_SETREMINDERCHOICES_EXIT );
}
@@ -134,6 +137,29 @@
}
/*!
+ Set the current reminder index with the value which was saved
+ before, if it is valid or else default the value to 15MinsBefore
+ or AtTheStart whichever is appropriate
+ */
+void CalenEditorReminderField::setSavedMeetingReminderIndex()
+{
+ // Get the reminder offset value.
+ int reminderOffset =
+ mCalenEditor->editedEntry()->alarm().timeOffset();
+ // Get the index value for the reminder combo box from the hash
+ // table. 2nd argument is defaultKey if the hash contains no item mapped to value
+ //TODO: Need to confirm the default reminder to set if none of the choices are met like in case of synch from outlook.
+ int index = mReminderHash.key(reminderOffset, Reminder15MinsBefore);
+
+ if (index < reminderItemsCount())
+ setCurrentIndex(index);
+ else if (reminderItemsCount() == (ReminderAtStart + 1)) //+1 because enum starts from 0.
+ setCurrentIndex(ReminderAtStart);
+ else
+ setCurrentIndex(Reminder15MinsBefore);
+}
+
+/*!
Populates reminder item with available choices to the user
\param newEntry bool value to indicate if its a new entry
*/
@@ -142,7 +168,17 @@
OstTraceFunctionEntry0( CALENEDITORREMINDERFIELD_POPULATEREMINDERITEM_ENTRY );
AgendaAlarm reminder;
bool pastEvent = false;
+ bool repeatingEntry = false;
+ bool sameDay = false;
+ mReminderItem->setContentWidgetData("objectName", "remainderItem");
+ // Build the hash map for the reminder.
+ mReminderHash[ReminderOff] = -1; // OFF.
+ mReminderHash[ReminderAtStart] = 0;
+ mReminderHash[Reminder15MinsBefore] = 15;
+ mReminderHash[Reminder30MinsBefore] = 30;
+ mReminderHash[Reminder1HourBefore] = 60;
+
// Set reference date to start date or repeat until date accordingly to
// decide whether its a past event or not.
QDate referenceDate;
@@ -151,6 +187,7 @@
referenceDate = mCalenEditor->editedEntry()->startTime().date();
} else {
referenceDate = mCalenEditor->editedEntry()->repeatRule().until().date();
+ repeatingEntry = true;
}
if ((referenceDate < QDate::currentDate()) ||
@@ -163,39 +200,55 @@
if (mCalenEditor->isAllDayEvent()) {
updateReminderChoicesForAllDay(referenceDate);
} else {
+ if((referenceDate == QDate::currentDate())
+ && !pastEvent) {
+ UpdateReminderChoicesForSameDay(mCalenEditor->editedEntry()->startTime().time());
+ sameDay = true;
+ }
+ else {
setReminderChoices();
+ }
}
// Set the default reminder value to 15 minutes
if (newEntry) {
if (!pastEvent) {
- mReminderItem->setContentWidgetData("currentIndex", 2);
+ int defaultIndex = Reminder15MinsBefore;
+ if (reminderItemsCount() == (ReminderAtStart + 1)) //If 15MinsBefore option is not available
+ defaultIndex = ReminderAtStart;
+
+ setCurrentIndex(defaultIndex);
// Save the reminder alarm for the entry
- reminder.setTimeOffset(mReminderHash.value(2));
+ reminder.setTimeOffset(mReminderHash.value(defaultIndex));
reminder.setAlarmSoundName(QString(" "));
// Set the reminder to the entry as well as original entry.
mCalenEditor->editedEntry()->setAlarm(reminder);
mCalenEditor->originalEntry()->setAlarm(reminder);
} else {
- mReminderItem->setContentWidgetData("currentIndex", 0);
- mReminderItem->setEnabled(false);
+ setReminderOff();
}
} else {
+ int offsetInMins = mCalenEditor->editedEntry()->alarm().timeOffset();
// If the alarm is not null,
// Check if all day event or not and then set the choices accordingly.
if (mCalenEditor->editedEntry()->alarm().isNull()) {
// Alarm is set off
- mReminderItem->setContentWidgetData("currentIndex", ReminderOff);
+ setCurrentIndex(ReminderOff);
if(mReminderTimeAdded) {
removeReminderTimeField();
}
} else if (!mCalenEditor->isAllDayEvent()) {
- // Get the reminder offset value.
- int reminderOffset =
- mCalenEditor->editedEntry()->alarm().timeOffset();
- // Get the index value for the reminder combo box from the hash
- // table.
- int index = mReminderHash.key(reminderOffset);
- mReminderItem->setContentWidgetData("currentIndex", index);
+ QTime currentTime = QTime::currentTime();
+
+ //TODO: Still need confirmation for proper behaviour when entry is edited after alarm has expired.
+ if (!repeatingEntry && sameDay && (currentTime.addSecs(offsetInMins * 60) >= mCalenEditor->editedEntry()->startTime().time())) {
+ setCurrentIndex(ReminderOff); //Alarm has expired already, so making it off.
+ //The slot for index 0 is not called, since after UpdateReminderChoicesForSameDay()
+ //index is 0 itself and there is no change. So explicitly calling it here.
+ handleReminderIndexChanged(0);
+ }
+ else {
+ setSavedMeetingReminderIndex();
+ }
} else {
// Insert reminder time field and display entry's reminder time.
// If past then disable the field.
@@ -205,24 +258,9 @@
if (pastEvent && mReminderTimeAdded) {
mCustomReminderTimeItem->setEnabled(false);
}
- QTime referenceTime(0, 0, 0);
- // Set the appropriate reminder depending on the value of time offset.
- reminder = mCalenEditor->editedEntry()->alarm();
- int offsetInMins = reminder.timeOffset();
- if (offsetInMins < 0 || offsetInMins == 0) {
- mReminderItem->setContentWidgetData("currentIndex", ReminderOnEventDay);
- mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
- * 60));
- } else if (offsetInMins <= numberOfMinutesInADay) {
- mReminderItem->setContentWidgetData("currentIndex", ReminderOneDayBefore);
- mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
- * 60));
- } else {
- mReminderItem->setContentWidgetData("currentIndex", ReminderTwoDaysBefore);
- offsetInMins %= (24 * 60);
- mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
- * 60));
- }
+ // Get the appropriate reminder index depending on the value of time offset.
+ int index = getReminderIndexBasedOnEntryAlarm();
+ mReminderItem->setContentWidgetData("currentIndex", index);
setDisplayTime();
}
if (pastEvent) {
@@ -236,7 +274,7 @@
}
/*!
- Triggerd from tapping on reminder item.
+ Triggered from tapping on reminder item.
Handles the reminder time change and updates the same in the event.
\param index The new index chosen in the reminder list.
*/
@@ -262,7 +300,7 @@
reminder.setAlarmSoundName(QString(" "));
}
} else {
- QDateTime reminderDateTimeForAllDay;
+ QDateTime reminderDateTimeForAllDay;
QDateTime
startDateTimeForAllDay(
mCalenEditor->editedEntry()->startTime().date(),
@@ -278,16 +316,21 @@
offset = 2;
}
if(!mReminderTimeAdded) {
- insertReminderTimeField()
-; }
+ insertReminderTimeField();
+ }
// If on same day as that of the event then check if time has been
// changed , if changed retain that else set default time.
if (offset == 0) {
if(mReminderTimeForAllDay == QTime(18, 0, 0, 0)) {
mReminderTimeForAllDay.setHMS(8, 0, 0);
- setDisplayTime();
}
+ }else {
+ // For the reminder options other than ReminderOnEventDay
+ // reset the default values since the time set for one option
+ // may not be valid for the other option
+ mReminderTimeForAllDay.setHMS(18, 0, 0, 0);
}
+ setDisplayTime();
reminderDateTimeForAllDay.setDate(
mCalenEditor->editedEntry()->startTime().date().addDays(
-offset));
@@ -363,6 +406,78 @@
}
/*!
+ Update the reminder choices when the meeting is on same day,
+ based on the time available from current time to start time of the event.
+ */
+void CalenEditorReminderField::UpdateReminderChoicesForSameDay(QTime startTime)
+{
+ QTime currentTime = QTime::currentTime();
+ int offset = currentTime.secsTo(startTime);
+
+ // Disconnect the slot and connect it back again at end to avoid unnecessary
+ // calls to handleReminderIndexChanged slot. Or else the slot gets called
+ // when we add all of items to the repeat combobox.
+ mEditorForm->removeConnection(mReminderItem,
+ SIGNAL(currentIndexChanged(int)), this,
+ SLOT(handleReminderIndexChanged(int)));
+
+ //The event start time is within 15mins from current time of today,
+ //then we cannot have alarms "15 mins before", "30mins before" and "1 hour before"
+ if (offset <= SecsIn15Mins)
+ {
+ QStringList reminderChoices;
+ //First to clear all items, we just set items with empty list.
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_at_the_start");
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ }
+ //The event start time is within half and hour from current time of today
+ //then we cannot have alarms "30mins before" and "1 hour before"
+ else if (offset <= SecsIn30Mins)
+ {
+ QStringList reminderChoices;
+ //First to clear all items, we just set items with empty list.
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_at_the_start")
+ << hbTrId("txt_calendar_setlabel_reminder_val_15_minutes_befo");
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ }
+ //The event start time is within an hour of the current time of today,
+ //then cannot have alarm "1 hour before".
+ else if (offset <= SecsInOneHour)
+ {
+ QStringList reminderChoices;
+ //First to clear all items, we just set items with empty list.
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_at_the_start")
+ << hbTrId("txt_calendar_setlabel_reminder_val_15_minutes_befo")
+ << hbTrId("txt_calendar_setlabel_reminder_val_30_minutes_befo");
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ }
+ // The event start time is more than one hour from current time
+ // then we can have all choices for alarm.
+ else
+ {
+ QStringList reminderChoices;
+ //First to clear all items, we just set items with empty list.
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_at_the_start")
+ << hbTrId("txt_calendar_setlabel_reminder_val_15_minutes_befo")
+ << hbTrId("txt_calendar_setlabel_reminder_val_30_minutes_befo")
+ << hbTrId("txt_calendar_setlabel_reminder_val_1_hour_before");
+ mReminderItem->setContentWidgetData("items", reminderChoices);
+ }
+ mReminderItem->setEnabled(true);
+ mEditorForm->addConnection(mReminderItem,
+ SIGNAL(currentIndexChanged(int)), this,
+ SLOT(handleReminderIndexChanged(int)));
+}
+
+/*!
Updates the reminder choices for an all day event.
\param referenceDate to indicate past or not.
*/
@@ -372,69 +487,91 @@
if (!mReminderTimeAdded){
insertReminderTimeField();
}
+ // This functions rearranges the reminder options based on the date and time
+ // To avoid the unecessary call to handleReminderIndexChanged
+ // the connection is removed.
+ mEditorForm->removeConnection(mReminderItem,
+ SIGNAL(currentIndexChanged(int)), this,
+ SLOT(handleReminderIndexChanged(int)));
+
+ // Since the combox box is not updated as per the current datetime
+ // there can be a conflict between the previousIndex set on the combobox
+ // and the actual index. This comes while populating an existing entry.
+ // So the index has to be taken from the entry alarm
+
+ AgendaAlarm actualAlarm = mCalenEditor->editedEntry()->alarm();
+ // Get the actual alarm index from the entry alarm which is been set
+ int actualIndex = getReminderIndexBasedOnEntryAlarm();
+ int offsetInMins = actualAlarm.timeOffset();
+
+ // Calculate the alarm time
+ QDateTime alarmDateTime;
+ alarmDateTime.setDate(referenceDate);
+ alarmDateTime.setTime(mCalenEditor->editedEntry()->startTime().time());
+ QTime checkTime = alarmDateTime.time().addSecs(-(offsetInMins * 60));
+ alarmDateTime.setTime(checkTime);
+
+ // The combox is updated based on the reference date which is beed passed.
+ // And the reminder time has to be set acoordingly
QStringList reminderChoicesForAllDay;
QDate tomorrow = QDate::currentDate().addDays(1);
QDate theDayAfterTomorrow = QDate::currentDate().addDays(2);
-
- // Get the previous index to retain if the alarm is valid
- QVariant countVariant = mReminderItem->contentWidgetData("currentIndex");
- int previousIndex = countVariant.toInt();
- AgendaAlarm previousAlarm = mCalenEditor->editedEntry()->alarm();
-
- // Update the reminder choices only if the alarm set is not valid
- // Get the alarm offset to check for the validity
- int offset = mCalenEditor->editedEntry()->alarm().timeOffset();
- bool update = true;
-
- // Calculate the alarm time
- QDateTime refDateTime;
- refDateTime.setDate(referenceDate);
- refDateTime.setTime(mCalenEditor->editedEntry()->startTime().time());
- QTime checkTime = refDateTime.time().addSecs(-(offset * 60));
- refDateTime.setTime(checkTime);
- // Check for valid alarm offset
- if(offset >= 0) {
- // If the alarm which was already set is valid,
- // then dont update the reminder choices
- if ((refDateTime > QDateTime::currentDateTime()) ||
- (refDateTime.date() == QDate::currentDate() && (
- refDateTime.time() > QTime::currentTime()))) {
- update = false;
- }
- }
+
// If the event is on a past date the default alarm will be off.
if (referenceDate < QDate::currentDate() ||
referenceDate == QDate::currentDate()) {
// Set reminder off for past event.
reminderChoicesForAllDay << hbTrId("txt_calendar_setlabel_reminder_val_off");
mReminderItem->setContentWidgetData(QString("items"),
- reminderChoicesForAllDay);
+ reminderChoicesForAllDay);
mReminderItem->setEnabled(false);
// Remove the reminder field if it was added
if(mReminderTimeAdded) {
removeReminderTimeField();
}
- } else if (theDayAfterTomorrow < referenceDate ||
- theDayAfterTomorrow == referenceDate) {
+ } else if (theDayAfterTomorrow < referenceDate) {
// If the event is on a future date which is two days after the current date
// The options are off, on event day, 1 day before and 2 days before
reminderChoicesForAllDay
+ << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
+ << hbTrId("txt_calendar_setlabel_reminder_val_1_day_before")
+ << hbTrId("txt_calendar_setlabel_reminder_val_2_days_before");
+ mReminderItem->setEnabled(true);
+ mCustomReminderTimeItem->setEnabled(true);
+ mReminderItem->setContentWidgetData(QString("items"),
+ reminderChoicesForAllDay);
+ } else if (theDayAfterTomorrow == referenceDate) {
+ // If the event is on a future date which is two days after the current date
+ // If the current time is before 6.00 pm (default for 2 days before)
+ // The options are off, on event day, 1 day before and 2 days before
+ if (QTime::currentTime() < QTime(18, 0, 0, 0)) {
+ reminderChoicesForAllDay
<< hbTrId("txt_calendar_setlabel_reminder_val_off")
<< hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
<< hbTrId("txt_calendar_setlabel_reminder_val_1_day_before")
<< hbTrId("txt_calendar_setlabel_reminder_val_2_days_before");
+ }else {
+ // If the event is on a future date which is two days after the current date
+ // the current time is after 6.00 pm (default for 2 days before)
+ // If its after the default time don't show the 2 days before option
+ reminderChoicesForAllDay
+ << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
+ << hbTrId("txt_calendar_setlabel_reminder_val_1_day_before");
+ }
mReminderItem->setEnabled(true);
mCustomReminderTimeItem->setEnabled(true);
mReminderItem->setContentWidgetData(QString("items"),
- reminderChoicesForAllDay);
- } else if (QTime::currentTime() < QTime(18, 0, 0, 0)) {
+ reminderChoicesForAllDay);
+ }else if (QTime::currentTime() < QTime(18, 0, 0, 0)) {
// If the event is on a future date which is one day after the current date
// and current time is before 6.00 pm.
// The options are off, on event day and 1 day before
reminderChoicesForAllDay
- << hbTrId("txt_calendar_setlabel_reminder_val_off")
- << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
- << hbTrId("txt_calendar_setlabel_reminder_val_1_day_before");
+ << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
+ << hbTrId("txt_calendar_setlabel_reminder_val_1_day_before");
mReminderItem->setEnabled(true);
mCustomReminderTimeItem->setEnabled(true);
mReminderItem->setContentWidgetData(QString("items"),
@@ -444,52 +581,87 @@
// and current time is after 6.00 pm.
// The options are off and on event day
reminderChoicesForAllDay
- << hbTrId("txt_calendar_setlabel_reminder_val_off")
- << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day");
+ << hbTrId("txt_calendar_setlabel_reminder_val_off")
+ << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day");
mReminderItem->setEnabled(true);
mCustomReminderTimeItem->setEnabled(true);
mReminderItem->setContentWidgetData(QString("items"),
reminderChoicesForAllDay);
}
- // Set the proper index based on the validity of the previous index
+ // Get the count of the reminder options after the rearrangement
+ // based on the date and time
int count = reminderItemsCount();
- // By default, in case of reminder updation, its been agreed to set
- // ReminderOneDayBefore even though ReminderTwoDaysBefore holds good
- // If the ReminderOneDayBefore option is available set it or
- // else set it to ReminderOff
- if(count > ReminderOneDayBefore) {
- // Don't make the reminder off since
- // the valid reminder options are there in the combobox
- // So check for ReminderOff is needed
- if (update &&
- (previousIndex == ReminderOff || previousIndex >= ReminderOneDayBefore)) {
- // If the index has to be updated check the previous index value
- // And set the default reminder as 1 day before.
- mReminderItem->setContentWidgetData("currentIndex",
- ReminderOneDayBefore);
- }else {
- // Set the previous index since the alarm is valid
- mReminderItem->setContentWidgetData("currentIndex", previousIndex);
- // Set the previous alarm also as the value will be changed to default value
- // when the current index is been changed
- mCalenEditor->editedEntry()->setAlarm(previousAlarm);
+ // Set the reminder index
+
+ if (count <= actualIndex ||
+ alarmDateTime < QDateTime::currentDateTime() ||
+ actualIndex == ReminderOff) {
+ // This will be executed when the actual index is not
+ // available in the combobox or the alarm time is already passed
+ // or the actual alarm is off
+ // So set it as off
+ mReminderItem->setContentWidgetData("currentIndex", ReminderOff);
+ actualAlarm = AgendaAlarm();
+ mCalenEditor->editedEntry()->setAlarm(actualAlarm);
+ removeReminderTimeField();
+ }else {
+ // Set the actual reminder index
+ mReminderItem->setContentWidgetData("currentIndex", actualIndex);
+ if( actualIndex != ReminderOff) {
+ if(!mReminderTimeAdded) {
+ insertReminderTimeField();
+ }
+ mCalenEditor->editedEntry()->setAlarm(actualAlarm);
// Get the alarm time from the offset
- QTime alarmTime = refDateTime.time();
+ QTime alarmTime = alarmDateTime.time();
// Set the alarm time and display it on the button
mReminderTimeForAllDay.setHMS(
alarmTime.hour(),alarmTime.minute(),alarmTime.second());
setDisplayTime();
+ }else {
+ actualAlarm = AgendaAlarm();
+ removeReminderTimeField();
}
- }else {
- // Enters this condition if the previous index set is not valid or
- // the index is ReminderOff
- mReminderItem->setContentWidgetData("currentIndex", ReminderOff);
}
-
+ // Connect the slot for the index change
+ mEditorForm->addConnection(mReminderItem,
+ SIGNAL(currentIndexChanged(int)), this,
+ SLOT(handleReminderIndexChanged(int)));
+
OstTraceFunctionExit0( CALENEDITORREMINDERFIELD_UPDATEREMINDERCHOICESFORALLDAY_EXIT );
}
/*!
+ Gets the reminder index for all day events based on the alarm
+ which is saved for the entry
+ */
+int CalenEditorReminderField::getReminderIndexBasedOnEntryAlarm()
+{
+ // Get the appropriate reminder index depending on the value of time offset.
+ AgendaAlarm actualAlarm = mCalenEditor->editedEntry()->alarm();
+ QTime referenceTime(0, 0, 0);
+ int index = ReminderOff;
+ int offsetInMins = actualAlarm.timeOffset();
+ if(offsetInMins == -1) {
+ index = ReminderOff;
+ }else if (offsetInMins < 0 || offsetInMins == 0) {
+ index = ReminderOnEventDay;
+ mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+ * 60));
+ } else if (offsetInMins <= numberOfMinutesInADay) {
+ index = ReminderOneDayBefore;
+ mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+ * 60));
+ } else {
+ index = ReminderTwoDaysBefore;
+ offsetInMins %= (24 * 60);
+ mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+ * 60));
+ }
+ return index;
+}
+
+/*!
Insert the reminder time field for an all day event.
*/
void CalenEditorReminderField::insertReminderTimeField()
@@ -571,11 +743,29 @@
HbExtendedLocale locale = HbExtendedLocale::system();
mTimePicker = new HbDateTimePicker(mReminderTimeForAllDay);
+ // Set the display format
if(locale.timeStyle() == HbExtendedLocale::Time12) {
mTimePicker->setDisplayFormat("hh:mm ap");
}else {
mTimePicker->setDisplayFormat("hh:mm");
}
+
+ // Check if the entry is repeating based on the repeatuntil item
+ if(!mCalenEditor->isRepeatUntilItemAdded()) {
+ int index = currentReminderIndex();
+ QDate checkDate = mCalenEditor->editedEntry()->startTime().date();
+ // Restrict the time picker to show the valid time
+ // depending on the reminder options
+ // Take an offset of 5 mins
+ QTime minTime = QTime::currentTime().addSecs(5 * 60);
+ if(index == ReminderTwoDaysBefore && checkDate.addDays(-2) == QDate::currentDate()) {
+ mTimePicker->setMinimumTime(minTime);
+ }else if(index == ReminderOneDayBefore && checkDate.addDays(-1) == QDate::currentDate()) {
+ mTimePicker->setMinimumTime(minTime);
+ }else if(index == ReminderOnEventDay && checkDate == QDate::currentDate()) {
+ mTimePicker->setMinimumTime(minTime);
+ }
+ }
mTimePicker->setTime(mReminderTimeForAllDay);
popUp->setContentWidget(mTimePicker);
@@ -598,7 +788,28 @@
if (mReminderTimeForAllDay.isValid()) {
// Change the time displayed to that selected by the user.
setDisplayTime();
- handleReminderIndexChanged(currentReminderIndex());
+ int offset = 0;
+ if (currentReminderIndex() == ReminderOneDayBefore) {
+ offset = 1;
+ } else if (currentReminderIndex() == ReminderTwoDaysBefore) {
+ offset = 2;
+ }
+ QDateTime startDateTimeForAllDay(
+ mCalenEditor->editedEntry()->startTime().date(), QTime(0, 0, 0));
+ QDateTime reminderDateTimeForAllDay;
+ reminderDateTimeForAllDay.setDate(
+ mCalenEditor->editedEntry()->startTime().date().addDays(
+ -offset));
+ reminderDateTimeForAllDay.setTime(mReminderTimeForAllDay);
+ int seconds =
+ reminderDateTimeForAllDay.secsTo(startDateTimeForAllDay);
+ int timeOffset = seconds / 60;
+ mCustomReminderTimeItem->setEnabled(true);
+ AgendaAlarm reminder;
+ reminder.setTimeOffset(timeOffset);
+ reminder.setAlarmSoundName(QString(" "));
+ // Set the reminder to the entry.
+ mCalenEditor->editedEntry()->setAlarm(reminder);
}
OstTraceFunctionExit0( CALENEDITORREMINDERFIELD_SETREMINDERTIMEFORALLDAY_EXIT );
}
--- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -32,6 +32,7 @@
// User Included
#include "caleneditorrepeatfield.h"
#include "caleneditorcustomitem.h"
+#include "caleneditorreminderfield.h"
#include "calendateutils.h"
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
@@ -400,6 +401,18 @@
// the reminder choices are updated
if(repeatPropertyChange || repeatUntilDate != mRepeatUntilDate) {
mCalenEditor->updateReminderChoices();
+ // Once the entry is changed from non repeating to repeating
+ // and if the alarm set is off
+ // Then change the reminder option to the default 'one day before'
+ // if the option is valid
+ if (mCalenEditor->isAllDayEvent() &&
+ repeatPropertyChange && mRepeatUntilItemAdded) {
+ if(!mCalenEditor->isReminderTimeForAllDayAdded() &&
+ mCalenEditor->getReminderCount() >= 3) {
+ mCalenEditor->setCurrentIndexOfReminderField(
+ CalenEditorReminderField::ReminderOneDayBefore);
+ }
+ }
}
OstTraceFunctionExit0( CALENEDITORREPEATFIELD_HANDLEREPEATINDEXCHANGED_EXIT );
}
@@ -523,6 +536,8 @@
void CalenEditorRepeatField::setRepeatUntilDate()
{
OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_SETREPEATUNTILDATE_ENTRY );
+ //Get the previous date which was set
+ QDate previousDate = mRepeatUntilDate;
mRepeatUntilDate = mDatePicker->date();
if (mRepeatUntilDate.isValid()) {
HbExtendedLocale locale = HbExtendedLocale::system();
@@ -531,6 +546,18 @@
mCustomRepeatUntilItem->setContentWidgetData("text", dateString);
}
mCalenEditor->updateReminderChoices();
+ // If the entry's repeatuntil date is changed from past to a future date
+ // And if the alarm set set is off
+ // Then change the reminder option to the default 'one day before'
+ // if the option is valid
+ if (mCalenEditor->isAllDayEvent() && previousDate <= QDate::currentDate()) {
+ if(mRepeatUntilDate > QDate::currentDate() &&
+ !mCalenEditor->isReminderTimeForAllDayAdded() &&
+ mCalenEditor->getReminderCount() >= 3) {
+ mCalenEditor->setCurrentIndexOfReminderField(
+ CalenEditorReminderField::ReminderOneDayBefore);
+ }
+ }
OstTraceFunctionExit0( CALENEDITORREPEATFIELD_SETREPEATUNTILDATE_EXIT );
}
--- a/calendarui/controller/src/calenviewmanager.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/controller/src/calenviewmanager.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -258,6 +258,9 @@
Q_ASSERT_X(mCalenMonthView, "calenviewmanager.cpp",
"Unable to load calenMonth view");
+ // Set the parent to delete the view once will exit the application
+ mCalenMonthView->setParent(this);
+
// Setup the month view.
mCalenMonthView->setupView(mMonthViewDocLoader);
@@ -290,6 +293,9 @@
qFatal("calenviewmanager.cpp : Unable to find agenda view");
}
+ // Set the parent to delete the view once will exit the application
+ mCalenAgendaView->setParent(this);
+
// Setup the agenda view
mCalenAgendaView->setupView(mAgendaViewDocLoader);
@@ -326,6 +332,9 @@
qFatal("calenviewmanager.cpp : Unable to find day view");
}
+ // Set the parent to delete the view once will exit the application
+ mCalenDayView->setParent(this);
+
// Set up the day view - day view takes the ownership
mCalenDayView->setupView(docLoader);
}
@@ -689,6 +698,9 @@
qFatal("calenviewmanager.cpp : Unable to find alternate agenda view");
}
+ // Set the parent to delete the view once will exit the application
+ mCalenAgendaViewAlt->setParent(this);
+
// Setup the agenda view
mCalenAgendaViewAlt->setupView(mAgendaViewAltDocLoader);
OstTraceFunctionExit0( CALENVIEWMANAGER_LOADALTERNATEAGENDAVIEW_EXIT );
@@ -952,6 +964,9 @@
else if (mCalenAgendaView && currentview == mCalenAgendaView) {
mCalenAgendaView->doPopulation();
}
+ else if (mCalenDayView && currentview == mCalenDayView) {
+ mCalenDayView->doPopulation();
+ }
// Calls the emitAppReady function of CalenController. Need to emit this
// signal after the view is fully constructed & populated
// with actual data and ready to be used. So entry view & instance view
--- a/calendarui/regionalplugins/calenregionalutil/calenregionalutil.pro Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/calenregionalutil.pro Tue Aug 31 18:15:13 2010 +0530
@@ -44,7 +44,7 @@
./src/calenlunarinfoprovider.cpp \
./src/calenlunarlocalizedinfo.cpp \
./src/calenlunarlocalizer.cpp \
- ./src/calensolarterms.cpp \
+ ./src/calensolarterms.cpp
--- a/calendarui/regionalplugins/calenregionalutil/eabi/calenregionalutilu.def Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/eabi/calenregionalutilu.def Tue Aug 31 18:15:13 2010 +0530
@@ -1,27 +1,41 @@
EXPORTS
_ZN15TCalenLunarInfo10AnimalYearEv @ 1 NONAME
- _ZN20CCalenLunarLocalizer10ConstructLEv @ 2 NONAME
- _ZN20CCalenLunarLocalizer16GetExtraRowTextLER24CCalenLunarLocalizedInfo @ 3 NONAME
- _ZN20CCalenLunarLocalizer4NewLEv @ 4 NONAME
- _ZN20CCalenLunarLocalizer9LocalizeLER15TCalenLunarInfo @ 5 NONAME
- _ZN20CCalenLunarLocalizerC1Ev @ 6 NONAME
- _ZN20CCalenLunarLocalizerC2Ev @ 7 NONAME
- _ZN20CCalenLunarLocalizerD0Ev @ 8 NONAME
- _ZN20CCalenLunarLocalizerD1Ev @ 9 NONAME
- _ZN20CCalenLunarLocalizerD2Ev @ 10 NONAME
- _ZN23CCalenExtraRowFormatter26FormatExtraRowInformationLER24CCalenLunarLocalizedInfoR6RArrayINS0_6TFieldEE @ 11 NONAME
- _ZN23CCalenExtraRowFormatter4NewLEv @ 12 NONAME
- _ZN23CCalenExtraRowFormatterD0Ev @ 13 NONAME
- _ZN23CCalenExtraRowFormatterD1Ev @ 14 NONAME
- _ZN23CCalenExtraRowFormatterD2Ev @ 15 NONAME
- _ZN23CCalenLunarInfoProvider13GetLunarInfoLERK5TTime @ 16 NONAME
- _ZN23CCalenLunarInfoProvider4NewLER3RFs @ 17 NONAME
- _ZN23CCalenLunarInfoProviderD0Ev @ 18 NONAME
- _ZN23CCalenLunarInfoProviderD1Ev @ 19 NONAME
- _ZN23CCalenLunarInfoProviderD2Ev @ 20 NONAME
- _ZN24CCalenLunarLocalizedInfo4NewLEv @ 21 NONAME
- _ZN24CCalenLunarLocalizedInfo8GetFieldENS_6TFieldE @ 22 NONAME
- _ZN24CCalenLunarLocalizedInfoD0Ev @ 23 NONAME
- _ZN24CCalenLunarLocalizedInfoD1Ev @ 24 NONAME
- _ZN24CCalenLunarLocalizedInfoD2Ev @ 25 NONAME
+ _ZN15TCalenLunarInfo11HasFestivalEv @ 2 NONAME
+ _ZN15TCalenLunarInfo12HasSolarTermEv @ 3 NONAME
+ _ZN16CCalenSolarTerms19CheckSolarTermDateLERK9TDateTime @ 4 NONAME
+ _ZN16CCalenSolarTerms4NewLER3RFs @ 5 NONAME
+ _ZN16CCalenSolarTermsD0Ev @ 6 NONAME
+ _ZN16CCalenSolarTermsD1Ev @ 7 NONAME
+ _ZN16CCalenSolarTermsD2Ev @ 8 NONAME
+ _ZN20CCalenLunarLocalizer10ConstructLEv @ 9 NONAME
+ _ZN20CCalenLunarLocalizer16GetExtraRowTextLER24CCalenLunarLocalizedInfo @ 10 NONAME
+ _ZN20CCalenLunarLocalizer4NewLEv @ 11 NONAME
+ _ZN20CCalenLunarLocalizer9LocalizeLER15TCalenLunarInfo @ 12 NONAME
+ _ZN20CCalenLunarLocalizerC1Ev @ 13 NONAME
+ _ZN20CCalenLunarLocalizerC2Ev @ 14 NONAME
+ _ZN20CCalenLunarLocalizerD0Ev @ 15 NONAME
+ _ZN20CCalenLunarLocalizerD1Ev @ 16 NONAME
+ _ZN20CCalenLunarLocalizerD2Ev @ 17 NONAME
+ _ZN23CCalenExtraRowFormatter26FormatExtraRowInformationLER24CCalenLunarLocalizedInfoR6RArrayINS0_6TFieldEE @ 18 NONAME
+ _ZN23CCalenExtraRowFormatter4NewLEv @ 19 NONAME
+ _ZN23CCalenExtraRowFormatterD0Ev @ 20 NONAME
+ _ZN23CCalenExtraRowFormatterD1Ev @ 21 NONAME
+ _ZN23CCalenExtraRowFormatterD2Ev @ 22 NONAME
+ _ZN23CCalenLunarInfoProvider13GetLunarInfoLERK5TTime @ 23 NONAME
+ _ZN23CCalenLunarInfoProvider4NewLER3RFs @ 24 NONAME
+ _ZN23CCalenLunarInfoProviderD0Ev @ 25 NONAME
+ _ZN23CCalenLunarInfoProviderD1Ev @ 26 NONAME
+ _ZN23CCalenLunarInfoProviderD2Ev @ 27 NONAME
+ _ZN24CCalenLunarLocalizedInfo10AnimalYearEv @ 28 NONAME
+ _ZN24CCalenLunarLocalizedInfo13FullLunarDateEv @ 29 NONAME
+ _ZN24CCalenLunarLocalizedInfo13GregorianDateEv @ 30 NONAME
+ _ZN24CCalenLunarLocalizedInfo16LunarMonthAndDayEv @ 31 NONAME
+ _ZN24CCalenLunarLocalizedInfo4NewLEv @ 32 NONAME
+ _ZN24CCalenLunarLocalizedInfo8FestivalEv @ 33 NONAME
+ _ZN24CCalenLunarLocalizedInfo8GetFieldENS_6TFieldE @ 34 NONAME
+ _ZN24CCalenLunarLocalizedInfo9LunarYearEv @ 35 NONAME
+ _ZN24CCalenLunarLocalizedInfo9SolarTermEv @ 36 NONAME
+ _ZN24CCalenLunarLocalizedInfoD0Ev @ 37 NONAME
+ _ZN24CCalenLunarLocalizedInfoD1Ev @ 38 NONAME
+ _ZN24CCalenLunarLocalizedInfoD2Ev @ 39 NONAME
--- a/calendarui/regionalplugins/calenregionalutil/inc/calenlunarlocalizedinfo.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/inc/calenlunarlocalizedinfo.h Tue Aug 31 18:15:13 2010 +0530
@@ -51,13 +51,13 @@
*/
IMPORT_C const TDesC& GetField( TField aField );
- IMPORT_C const TDesC& Festival() { return iFestival; }
- IMPORT_C const TDesC& SolarTerm() { return iSolarTerm; }
- IMPORT_C const TDesC& FullLunarDate() { return iFullLunarDate; }
- IMPORT_C const TDesC& LunarYear() { return iLunarYear; }
- IMPORT_C const TDesC& LunarMonthAndDay() { return iLunarMonthAndDay; }
- IMPORT_C const TDesC& AnimalYear() { return iAnimalYear; }
- IMPORT_C const TDesC& GregorianDate() { return iGregorianDate; }
+ IMPORT_C const TDesC& Festival();
+ IMPORT_C const TDesC& SolarTerm();
+ IMPORT_C const TDesC& FullLunarDate();
+ IMPORT_C const TDesC& LunarYear();
+ IMPORT_C const TDesC& LunarMonthAndDay();
+ IMPORT_C const TDesC& AnimalYear();
+ IMPORT_C const TDesC& GregorianDate();
private:
CCalenLunarLocalizedInfo();
--- a/calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizedinfo.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizedinfo.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -99,3 +99,80 @@
}
}
+// -----------------------------------------------------------------------------
+// CCalenLunarLocalizedInfo::Festival
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CCalenLunarLocalizedInfo::Festival()
+ {
+ OstTraceFunctionEntry0( CCALENLUNARLOCALIZEDINFO_FESTIVAL_ENTRY );
+ OstTraceFunctionExit0( CCALENLUNARLOCALIZEDINFO_FESTIVAL_EXIT );
+ return iFestival;
+ }
+
+// -----------------------------------------------------------------------------
+// CCalenLunarLocalizedInfo::SolarTerm
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CCalenLunarLocalizedInfo::SolarTerm()
+ {
+ OstTraceFunctionEntry0( CCALENLUNARLOCALIZEDINFO_SOLARTERM_ENTRY );
+ OstTraceFunctionExit0( CCALENLUNARLOCALIZEDINFO_SOLARTERM_EXIT );
+ return iSolarTerm;
+ }
+
+// -----------------------------------------------------------------------------
+// CCalenLunarLocalizedInfo::FullLunarDate
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CCalenLunarLocalizedInfo::FullLunarDate()
+ {
+ OstTraceFunctionEntry0( CCALENLUNARLOCALIZEDINFO_FULLLUNARDATE_ENTRY );
+ OstTraceFunctionExit0( CCALENLUNARLOCALIZEDINFO_FULLLUNARDATE_EXIT );
+ return iFullLunarDate;
+ }
+
+// -----------------------------------------------------------------------------
+// CCalenLunarLocalizedInfo::LunarYear
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CCalenLunarLocalizedInfo::LunarYear()
+ {
+ OstTraceFunctionEntry0( CCALENLUNARLOCALIZEDINFO_LUNARYEAR_ENTRY );
+ OstTraceFunctionExit0( CCALENLUNARLOCALIZEDINFO_LUNARYEAR_EXIT );
+ return iLunarYear;
+ }
+
+// -----------------------------------------------------------------------------
+// CCalenLunarLocalizedInfo::LunarMonthAndDay
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CCalenLunarLocalizedInfo::LunarMonthAndDay()
+ {
+ OstTraceFunctionEntry0( CCALENLUNARLOCALIZEDINFO_LUNARMONTHANDDAY_ENTRY );
+ OstTraceFunctionExit0( CCALENLUNARLOCALIZEDINFO_LUNARMONTHANDDAY_EXIT );
+ return iLunarMonthAndDay;
+ }
+
+// -----------------------------------------------------------------------------
+// CCalenLunarLocalizedInfo::AnimalYear
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CCalenLunarLocalizedInfo::AnimalYear()
+ {
+ OstTraceFunctionEntry0( CCALENLUNARLOCALIZEDINFO_ANIMALYEAR_ENTRY );
+ OstTraceFunctionExit0( CCALENLUNARLOCALIZEDINFO_ANIMALYEAR_EXIT );
+ return iAnimalYear;
+ }
+
+// -----------------------------------------------------------------------------
+// CCalenLunarLocalizedInfo::GregorianDate
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TDesC& CCalenLunarLocalizedInfo::GregorianDate()
+ {
+ OstTraceFunctionEntry0( CCALENLUNARLOCALIZEDINFO_GREGORIANDATE_ENTRY );
+ OstTraceFunctionExit0( CCALENLUNARLOCALIZEDINFO_GREGORIANDATE_EXIT );
+ return iGregorianDate;
+ }
+
--- a/calendarui/regionalplugins/calenregionalutil/traces/calenlunarlocalizedinfoTraces.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/traces/calenlunarlocalizedinfoTraces.h Tue Aug 31 18:15:13 2010 +0530
@@ -16,6 +16,20 @@
#define CCALENLUNARLOCALIZEDINFO_CONSTRUCTL_EXIT 0x8a002d
#define CCALENLUNARLOCALIZEDINFO_GETFIELD_ENTRY 0x8a002e
#define CCALENLUNARLOCALIZEDINFO_GETFIELD_EXIT 0x8a002f
+#define CCALENLUNARLOCALIZEDINFO_FESTIVAL_ENTRY 0x8a0054
+#define CCALENLUNARLOCALIZEDINFO_FESTIVAL_EXIT 0x8a0055
+#define CCALENLUNARLOCALIZEDINFO_SOLARTERM_ENTRY 0x8a0056
+#define CCALENLUNARLOCALIZEDINFO_SOLARTERM_EXIT 0x8a0057
+#define CCALENLUNARLOCALIZEDINFO_FULLLUNARDATE_ENTRY 0x8a0058
+#define CCALENLUNARLOCALIZEDINFO_FULLLUNARDATE_EXIT 0x8a0059
+#define CCALENLUNARLOCALIZEDINFO_LUNARYEAR_ENTRY 0x8a005a
+#define CCALENLUNARLOCALIZEDINFO_LUNARYEAR_EXIT 0x8a005b
+#define CCALENLUNARLOCALIZEDINFO_LUNARMONTHANDDAY_ENTRY 0x8a005c
+#define CCALENLUNARLOCALIZEDINFO_LUNARMONTHANDDAY_EXIT 0x8a005d
+#define CCALENLUNARLOCALIZEDINFO_ANIMALYEAR_ENTRY 0x8a005e
+#define CCALENLUNARLOCALIZEDINFO_ANIMALYEAR_EXIT 0x8a005f
+#define CCALENLUNARLOCALIZEDINFO_GREGORIANDATE_ENTRY 0x8a0060
+#define CCALENLUNARLOCALIZEDINFO_GREGORIANDATE_EXIT 0x8a0061
#endif
--- a/calendarui/regionalplugins/calenregionalutil/traces/fixed_id.definitions Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/traces/fixed_id.definitions Tue Aug 31 18:15:13 2010 +0530
@@ -16,14 +16,28 @@
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARINFOPROVIDER_GETLUNARINFOL_EXIT=0x25
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARINFOPROVIDER_NEWL_ENTRY=0x1c
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARINFOPROVIDER_NEWL_EXIT=0x1d
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_ANIMALYEAR_ENTRY=0x5e
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_ANIMALYEAR_EXIT=0x5f
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_CCALENLUNARLOCALIZEDINFO_ENTRY=0x28
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_CCALENLUNARLOCALIZEDINFO_EXIT=0x29
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_CONSTRUCTL_ENTRY=0x2c
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_CONSTRUCTL_EXIT=0x2d
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_FESTIVAL_ENTRY=0x54
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_FESTIVAL_EXIT=0x55
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_FULLLUNARDATE_ENTRY=0x58
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_FULLLUNARDATE_EXIT=0x59
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_GETFIELD_ENTRY=0x2e
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_GETFIELD_EXIT=0x2f
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_GREGORIANDATE_ENTRY=0x60
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_GREGORIANDATE_EXIT=0x61
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_LUNARMONTHANDDAY_ENTRY=0x5c
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_LUNARMONTHANDDAY_EXIT=0x5d
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_LUNARYEAR_ENTRY=0x5a
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_LUNARYEAR_EXIT=0x5b
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_NEWL_ENTRY=0x26
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_NEWL_EXIT=0x27
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_SOLARTERM_ENTRY=0x56
+[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZEDINFO_SOLARTERM_EXIT=0x57
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZER_CCALENLUNARLOCALIZER_ENTRY=0x32
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZER_CCALENLUNARLOCALIZER_EXIT=0x33
[TRACE]TRACE_FLOW[0x8A]_CCALENLUNARLOCALIZER_CONSTRUCTL_ENTRY=0x36
--- a/calendarui/regionalplugins/lunarchinese/bwins/calenlunarchinesepluginu.def Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/lunarchinese/bwins/calenlunarchinesepluginu.def Tue Aug 31 18:15:13 2010 +0530
@@ -1,10 +1,4 @@
EXPORTS
?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
- ?AnimalYear@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 2 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::AnimalYear(void)
- ?SolarTerm@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 3 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::SolarTerm(void)
- ?GregorianDate@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 4 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::GregorianDate(void)
- ?LunarMonthAndDay@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 5 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::LunarMonthAndDay(void)
- ?Festival@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 6 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::Festival(void)
- ?FullLunarDate@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 7 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::FullLunarDate(void)
- ?LunarYear@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::LunarYear(void)
+
--- a/calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -208,7 +208,7 @@
void CCalenLunarChinesePlugin::CustomiseMenu(HbMenu* aHbMenu)
{
OstTraceFunctionEntry0( CCALENLUNARCHINESEPLUGIN_CUSTOMISEMENU_ENTRY );
- HbAction* lunarAction = new HbAction("Show Lunar Data");
+ HbAction* lunarAction = new HbAction(hbTrId("txt_calendar_opt_show_lunar_data"));
QList<QAction*> actionList = aHbMenu->actions();
TInt count = actionList.count() - 1; //To show the option "show lunar data"
//as a second last action item for all
--- a/calendarui/views/bwins/calenviewsu.def Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/bwins/calenviewsu.def Tue Aug 31 18:15:13 2010 +0530
@@ -206,4 +206,5 @@
?handleThemeChange@CalenMonthView@@AAEXXZ @ 205 NONAME ; void CalenMonthView::handleThemeChange(void)
?isHorizontalSwipe@CalenDayContentScrollArea@@ABE_NM@Z @ 206 NONAME ; bool CalenDayContentScrollArea::isHorizontalSwipe(float) const
?handleThemeChange@CalenPreviewPane@@QAEXXZ @ 207 NONAME ; void CalenPreviewPane::handleThemeChange(void)
+ ?disconnectAboutToQuitEvent@CalenMonthView@@QAEXXZ @ 208 NONAME ; void CalenMonthView::disconnectAboutToQuitEvent(void)
--- a/calendarui/views/dayview/inc/calendaycommonheaders.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/inc/calendaycommonheaders.h Tue Aug 31 18:15:13 2010 +0530
@@ -57,6 +57,11 @@
const qreal KCalenTimeStripWidth = 1.5;
/*!
+ The minimum width [un] of time strip (indicator) in event bubble (UI spec)
+ */
+const qreal KCalenMinTimeStripWidth = 1.4;
+
+/*!
The width [un] of space beetwen event bubbles in Day View (UI spec)
*/
const qreal KCalenSpaceBeetwenEvents = 1.5;
--- a/calendarui/views/dayview/resources/calendayeventspane.css Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/resources/calendayeventspane.css Tue Aug 31 18:15:13 2010 +0530
@@ -1,4 +1,4 @@
CalenDayEventsPane {
- pref-height: expr(2*var(hb-param-text-height-secondary) + 2*var(hb-param-margin-gene-middle-vertical) + 3un);
+ pref-height: expr(2*var(hb-param-text-height-secondary) + 2*var(hb-param-margin-gene-middle-vertical) + 4.1un);
size-policy-vertical: fixed;
}
\ No newline at end of file
--- a/calendarui/views/dayview/resources/calendayhourelement.css Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/resources/calendayhourelement.css Tue Aug 31 18:15:13 2010 +0530
@@ -1,6 +1,6 @@
CalenDayHourElement {
layout: customCalendarLayout;
- pref-height: expr(2*var(hb-param-text-height-secondary) + 2*var(hb-param-margin-gene-middle-vertical) + 3un);
+ pref-height: expr(2*var(hb-param-text-height-secondary) + 2*var(hb-param-margin-gene-middle-vertical) + 4.1un);
size-policy-vertical: fixed;
}
@@ -25,6 +25,6 @@
}
CalenDayHourElement::bottomSpacer{
- pref-height: 3un;
+ pref-height: 4.1un;
size-policy-vertical: expanding;
}
\ No newline at end of file
--- a/calendarui/views/dayview/resources/calendayitem.css Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/resources/calendayitem.css Tue Aug 31 18:15:13 2010 +0530
@@ -1,12 +1,12 @@
-CalenDayItem{
+CalenDayItem {
layout: noIconLayout;
}
-CalenDayItem[!eventDescription][!backgroundFrame]{
+CalenDayItem[!eventDescription][!backgroundFrame] {
layout: noIconNoTextNoBkgLayout;
}
-CalenDayItem[!eventDescription][backgroundFrame]{
+CalenDayItem[!eventDescription][backgroundFrame] {
layout: noIconNoTextLayout;
}
@@ -20,11 +20,5 @@
}
CalenDayItem::colorStripe {
- pref-width: 1.5un;
- size-policy-horizontal: fixed;
+ size-policy-horizontal: fixed;
}
-
-CalenDayItem::spacerItem{
- pref-width: 1.5un;
- size-policy-horizontal: expanding;
-}
--- a/calendarui/views/dayview/src/calendaycontainer.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/src/calendaycontainer.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -247,8 +247,8 @@
if (eventWidth - mLayoutValues.eventMargin < minWidth) {
// Calculate new margin value
- // from totalMarginSpace we need to subtract
- // mLayoutValues.eventMargin because first margin is always 1.5un
+ // from totalMarginSpace we need to subtract mLayoutValues.eventMargin
+ // because first margin is always KCalenSpaceBeetwenEvents
qreal totalMarginSpace = mLayoutValues.eventAreaWidth - minWidth
* columns - mLayoutValues.eventMargin;
qreal newMarginValue = totalMarginSpace / (columns - 1);
@@ -259,8 +259,8 @@
}
else {
// There's not enough space
- // New minWidth is KCalenTimeStripWidth [un] (time stripe only)
- minWidth = KCalenTimeStripWidth * mLayoutValues.unitInPixels;
+ // New minWidth is KCalenMinTimeStripWidth [un] (time stripe only)
+ minWidth = KCalenMinTimeStripWidth * mLayoutValues.unitInPixels;
totalMarginSpace = mLayoutValues.eventAreaWidth - minWidth * columns
- mLayoutValues.eventMargin;
newMarginValue = totalMarginSpace / (columns - 1);
@@ -360,36 +360,39 @@
*/
void CalenDayContainer::getTimedEventLayoutValues(LayoutValues& layoutValues)
{
- // Get the width of content area
+ // Get the width of entire content area
qreal contentWidth = CalenDayUtils::instance()->contentWidth();
- // 1. Time column width -> eventAreaX[out]
HbStyle style;
HbDeviceProfile deviceProfile;
layoutValues.unitInPixels = deviceProfile.unitValue();
+ // Empty right column's width
+ qreal emptyRightColumnWidth = KCalenEmptyRightColumnWidth
+ * layoutValues.unitInPixels;
+
+ // Margins between the overlapping events -> eventMargin[out]
+ layoutValues.eventMargin = KCalenSpaceBeetwenEvents
+ * layoutValues.unitInPixels;
+
+ // Start position (x) for drawing events -> eventAreaX[out]
if (mInfo && mInfo->AlldayCount()) {
- layoutValues.eventAreaX = KCalenAllDayEventArea * contentWidth;
+ layoutValues.eventAreaX = KCalenAllDayEventArea * (contentWidth
+ - emptyRightColumnWidth);
}
else {
layoutValues.eventAreaX = 0;
}
- // 2. event area width -> eventAreaWidth[out]
- qreal emptyRightColumnWidth = KCalenEmptyRightColumnWidth
- * layoutValues.unitInPixels;
+ // Event area width (excluding All Day Events area)-> eventAreaWidth[out]
layoutValues.eventAreaWidth = contentWidth - emptyRightColumnWidth
- layoutValues.eventAreaX;
- // 3. margins between the overlapping events -> eventMargin[out]
- layoutValues.eventMargin = KCalenSpaceBeetwenEvents
- * layoutValues.unitInPixels;
-
- // 4. half-hour slot'h height -> slotHeight[out]
+ // Half-hour slot's height -> slotHeight[out]
layoutValues.slotHeight = CalenDayUtils::instance()->hourElementHeight()
/ KCalenSlotsInHour;
- // check if we should create absorber over some overlapping region
+ // Check if touch absorbers should be created over some overlapping regions
layoutValues.maxColumns = layoutValues.eventAreaWidth
/ ((KCalenMinTouchableEventWidth + KCalenSpaceBeetwenEvents)
* layoutValues.unitInPixels);
--- a/calendarui/views/dayview/src/calendaycontentscrollarea.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/src/calendaycontentscrollarea.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -321,7 +321,7 @@
result = HbScrollArea::event(e);
// Scroll to middle widget when layout request
- if (e->type() == QEvent::LayoutRequest) {
+ if (e->type() == QEvent::LayoutRequest || e->type() == QEvent::Show) {
scrollToMiddleWidget();
}
}
--- a/calendarui/views/dayview/src/calendayitem.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/src/calendayitem.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -70,7 +70,7 @@
mFrameMinWidth = KCalenMinEventWidth * deviceProfile.unitValue();
mEventDescMinWidth = KCalenMinTouchableEventWidth
* deviceProfile.unitValue();
-
+
// Minimum width is assured by widgetml and css, additionally called here
// to prevent minimum size hint caching inside effectiveSizeHint
setMinimumWidth(stripeWidth);
@@ -111,10 +111,6 @@
mUpdated = true;
}
-
- //TODO: check if needed
- //repolish();
- //HbAbstractViewItem::updateChildItems();
}
@@ -215,10 +211,15 @@
qreal width = rect().width();
+ HbDeviceProfile deviceProfile;
if (width < mEventDescMinWidth) {
+ mColorStripe->setPreferredWidth(KCalenMinTimeStripWidth
+ * deviceProfile.unitValue());
mEventDesc->hide();
}
else {
+ mColorStripe->setPreferredWidth(KCalenTimeStripWidth
+ * deviceProfile.unitValue());
mEventDesc->show();
}
--- a/calendarui/views/dayview/src/calendayutils.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/src/calendayutils.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -203,7 +203,7 @@
qreal textHeight = 0.0;
qreal verticalSpacing = 0.0;
- qreal bottomSpacer = 3.0 * unitInPixels;
+ qreal bottomSpacer = 4.1 * unitInPixels;
style.parameter(QString("hb-param-text-height-secondary"), textHeight,
deviceProfile);
style.parameter(QString("hb-param-margin-gene-middle-vertical"),
--- a/calendarui/views/dayview/src/calendayview.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/dayview/src/calendayview.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -407,7 +407,7 @@
// Set the heading
// Append the date which is formatted as per the locale
- mHeadingLabel->setHeading(hbTrId("txt_calendar_subhead_1_2").arg(dayString).arg(
+ mHeadingLabel->setHeading(QString("%1 %2").arg(dayString).arg(
systemLocale.format(mDate.date(), r_qtn_date_usual_with_zero)));
HbEffect::start(mHeadingLabel, "fadeIn");
--- a/calendarui/views/eabi/calenviewsu.def Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/eabi/calenviewsu.def Tue Aug 31 18:15:13 2010 +0530
@@ -267,4 +267,5 @@
_ZN21CalenThickLinesDrawer17handleThemeChangeEv @ 266 NONAME
_ZN16CalenPreviewPane17handleThemeChangeEv @ 267 NONAME
_ZNK25CalenDayContentScrollArea17isHorizontalSwipeEf @ 268 NONAME
+ _ZN14CalenMonthView26disconnectAboutToQuitEventEv @ 269 NONAME
--- a/calendarui/views/inc/calenagendaviewwidget.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/inc/calenagendaviewwidget.h Tue Aug 31 18:15:13 2010 +0530
@@ -118,11 +118,6 @@
*/
bool isAllDayIcon();
- /**
- * @brief return true if location is present
- */
- bool isLocationData();
-
@@ -381,7 +376,6 @@
bool mIconCheck;
bool mNextEntry;
bool mLeftAllDayIcon;
- bool mLocationData;
};
--- a/calendarui/views/inc/caleneventlistviewitem.h Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/inc/caleneventlistviewitem.h Tue Aug 31 18:15:13 2010 +0530
@@ -26,7 +26,6 @@
{
Q_OBJECT
Q_PROPERTY(bool leftAllDayIcon READ hasAllDayIcon WRITE setAllDayLeftIcon)
- Q_PROPERTY(bool locationEntry READ locationEntryLayout WRITE setLocationEntry)
public:
/**
@@ -60,19 +59,9 @@
*/
void setAllDayLeftIcon(bool icon = false);
- /**
- * @brief sets location entry status
- */
- void setLocationEntry(bool icon);
-
- /**
- * @brief check if location is present
- */
- bool locationEntryLayout();
private:
CalenAgendaViewWidget* mParent;
bool mAllDayIcon ;
- bool mLocationEntry;
};
#endif // __CALEN_EVENT_LIST_VIEW_ITEM_H__
--- a/calendarui/views/resources/caleneventlistviewitem.css Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/resources/caleneventlistviewitem.css Tue Aug 31 18:15:13 2010 +0530
@@ -1,27 +1,11 @@
-CalenEventListViewItem[leftAllDayIcon="false"]:portrait{
+CalenEventListViewItem[leftAllDayIcon="false"]{
layout: custom;
}
-CalenEventListViewItem[leftAllDayIcon="false"]:landscape{
- layout: custom;
-}
-
-CalenEventListViewItem[leftAllDayIcon="true"]:portrait{
+CalenEventListViewItem[leftAllDayIcon="true"]{
layout: custom-subjecticon;
}
-CalenEventListViewItem[leftAllDayIcon="true"]:landscape{
- layout: custom-subjecticon;
-}
-
-
-CalenEventListViewItem[locationEntry="true"]:portrait{
- layout: custom-locationentry;
-}
-
-CalenEventListViewItem[locationEntry="true"]:landscape{
- layout: custom-locationentry;
-}
CalenEventListViewItem::icon-1{
@@ -50,6 +34,7 @@
}
CalenEventListViewItem::text-1{
+ top: -var(hb-param-margin-gene-top);
left: -var(hb-param-margin-gene-left);
font-variant: secondary;
text-height: var(hb-param-text-height-secondary);
@@ -61,19 +46,8 @@
CalenEventListViewItem::text-2{
top: -var(hb-param-margin-gene-top);
right: var(hb-param-margin-gene-middle-horizontal);
- left: -var(hb-param-margin-gene-middle-horizontal);
- font-variant: primary;
- text-height: var(hb-param-text-height-primary);
- text-align: left;
-
-}
-
-
-CalenEventListViewItem::text-2[locationEntry="true"]{
- top: -var(hb-param-margin-gene-top);
- bottom: var(hb-param-margin-gene-bottom);
- right: var(hb-param-margin-gene-middle-horizontal);
left: -var(hb-param-margin-gene-middle-horizontal);
+ bottom:var(hb-param-margin-gene-middle-vertical);
font-variant: primary;
text-height: var(hb-param-text-height-primary);
text-align: left;
@@ -82,7 +56,7 @@
CalenEventListViewItem::text-3{
- top: -var(hb-param-margin-gene-middle-vertical);
+
right: var(hb-param-margin-gene-middle-horizontal);
bottom: var(hb-param-margin-gene-bottom);
font-variant: secondary;
--- a/calendarui/views/resources/caleneventlistviewitem.widgetml Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/resources/caleneventlistviewitem.widgetml Tue Aug 31 18:15:13 2010 +0530
@@ -1,15 +1,15 @@
<hbwidget version="0.1" type="CalenEventListViewItem">
<layout name="custom" type="mesh">
- <meshitem src="text-1" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
- <meshitem src="text-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+ <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+ <meshitem src="text-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
- <meshitem src="text-2" srcEdge="TOP" dst="" dstEdge="TOP"/>
- <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="RIGHT"/>
- <meshitem src="text-2" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT"/>
-
- <meshitem src="text-3" srcEdge="LEFT" dst="text-2" dstEdge="LEFT"/>
- <meshitem src="text-3" srcEdge="TOP" dst="text-2" dstEdge="BOTTOM"/>
- <meshitem src="text-3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+ <meshitem src="text-2" srcEdge="TOP" dst="" dstEdge="TOP"/>
+ <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="RIGHT"/>
+ <meshitem src="text-2" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT"/>
+ <meshitem src="text-2" srcEdge="BOTTOM" dst="text-3" dstEdge="TOP"/>
+
+ <meshitem src="text-3" srcEdge="LEFT" dst="text-2" dstEdge="LEFT"/>
+ <meshitem src="text-3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
<meshitem src="text-3" srcEdge="RIGHT" dst="icon-4" dstEdge="LEFT"/>
@@ -18,13 +18,15 @@
<meshitem src="text-4" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
- <meshitem src="icon-3" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
+
+ <meshitem src="icon-3" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
<meshitem src="icon-3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
- <meshitem src="icon-2" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
+
+ <meshitem src="icon-2" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
<meshitem src="icon-2" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT"/>
- <meshitem src="icon-4" srcEdge="TOP" dst="text-3" dstEdge="TOP"/>
+ <meshitem src="icon-4" srcEdge="CENTERV" dst="text-3" dstEdge="CENTERV"/>
<meshitem src="icon-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
</layout>
@@ -40,38 +42,20 @@
<meshitem src="text-3" srcEdge="LEFT" dst="text-2" dstEdge="LEFT"/>
- <meshitem src="text-3" srcEdge="TOP" dst="text-2" dstEdge="BOTTOM"/>
- <meshitem src="text-3" srcEdge="RIGHT" dst="icon-4" dstEdge="LEFT"/>
+ <meshitem src="text-2" srcEdge="BOTTOM" dst="text-3" dstEdge="TOP"/>
+ <meshitem src="text-3" srcEdge="RIGHT" dst="icon-4" dstEdge="LEFT"/>
<meshitem src="text-3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
- <meshitem src="icon-3" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
+ <meshitem src="icon-3" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
<meshitem src="icon-3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
- <meshitem src="icon-2" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
+ <meshitem src="icon-2" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
<meshitem src="icon-2" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT"/>
- <meshitem src="icon-4" srcEdge="TOP" dst="text-3" dstEdge="TOP"/>
+ <meshitem src="icon-4" srcEdge="CENTERV" dst="text-3" dstEdge="CENTERV"/>
<meshitem src="icon-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
</layout>
- <layout name="custom-locationentry" type="mesh">
-
- <meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
- <meshitem src="icon-1" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
-
- <meshitem src="text-2" srcEdge="TOP" dst="" dstEdge="TOP"/>
- <meshitem src="text-2" srcEdge="LEFT" dst="icon-1" dstEdge="RIGHT"/>
- <meshitem src="text-2" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT"/>
- <meshitem src="text-2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
-
- <meshitem src="icon-3" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
- <meshitem src="icon-3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-
- <meshitem src="icon-2" srcEdge="TOP" dst="text-2" dstEdge="TOP"/>
- <meshitem src="icon-2" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT"/>
-
-
- </layout>
</hbwidget>
\ No newline at end of file
--- a/calendarui/views/src/calenagendaviewwidget.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/src/calenagendaviewwidget.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -1306,16 +1306,12 @@
entry = mInstanceArray[mIndex];
mLeftAllDayIcon = false;
- mLocationData = false;
if(!entry.isTimedEntry() || CalenAgendaUtils::isAlldayEvent(entry)){
//all day icon is not there if its a timed entry
mLeftAllDayIcon = true;
}
-
- if (!entry.location().isEmpty()) {
- mLocationData = true ;
- }
+
//check if shift to next entry
if(mNextEntry)
mIndex++;
@@ -1332,13 +1328,4 @@
return mLeftAllDayIcon;
}
-// ----------------------------------------------------------------------------
-// CalenAgendaViewWidget::isLocationData
-// return true if location entry is present
-// ----------------------------------------------------------------------------
-//
-bool CalenAgendaViewWidget::isLocationData()
- {
- return mLocationData;
- }
// End of file --Don't remove this.
--- a/calendarui/views/src/caleneventlistviewitem.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/src/caleneventlistviewitem.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -31,7 +31,7 @@
// ----------------------------------------------------------------------------
//
CalenEventListViewItem::CalenEventListViewItem(CalenAgendaViewWidget *parent) :
-HbListViewItem(parent),mAllDayIcon(false),mLocationEntry(false),mParent(parent)
+HbListViewItem(parent),mParent(parent),mAllDayIcon(false)
{
OstTraceFunctionEntry0( CALENEVENTLISTVIEWITEM_CALENEVENTLISTVIEWITEM_ENTRY );
@@ -76,7 +76,6 @@
{
mParent->checkEntryIcons();
mAllDayIcon = mParent->isAllDayIcon();
- mLocationEntry = mParent->isLocationData();
}
HbListViewItem::updateChildItems();
@@ -104,27 +103,4 @@
mAllDayIcon = icon;
}
-// ----------------------------------------------------------------------------
-// CalenEventListViewItem::hasAllDayIcon
-// check if location entry is there in item
-// ----------------------------------------------------------------------------
-//
-bool CalenEventListViewItem::locationEntryLayout()
- {
- if(mAllDayIcon && !mLocationEntry)
- return true;
- else
- return false;
- }
-
-// ----------------------------------------------------------------------------
-// CalenEventListViewItem::setAllDayLeftIcon
-// set the location entry status
-// ----------------------------------------------------------------------------
-//
-void CalenEventListViewItem::setLocationEntry(bool icon)
- {
- mLocationEntry = icon;
- }
-
// End of file
--- a/calendarui/views/src/calenmonthview.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/src/calenmonthview.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -589,12 +589,12 @@
mPrevRegionalInfo = NULL;
}
if (mCurrRegionalInfo) {
- mPrevPaneLayout->removeItem(mCurrRegionalInfo);
+ mCurrPaneLayout->removeItem(mCurrRegionalInfo);
mCurrRegionalInfo->hide();
mCurrRegionalInfo = NULL;
}
if (mNextRegionalInfo) {
- mPrevPaneLayout->removeItem(mNextRegionalInfo);
+ mNextPaneLayout->removeItem(mNextRegionalInfo);
mNextRegionalInfo->hide();
mNextRegionalInfo = NULL;
}
--- a/calendarui/views/src/calenpreviewpane.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/calendarui/views/src/calenpreviewpane.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -21,6 +21,7 @@
#include <qfont.h>
#include <qicon.h>
#include <qpainter.h>
+#include <qevent.h>
#include <hblabel.h>
#include <hbmainwindow.h>
#include <hbframeitem.h>
@@ -127,6 +128,7 @@
// Scroll contents to zero position before we display to the user
// if it was scrolling already or timer was running
mNumOfScrolls = 0;
+ mScrollDuration = 0;
stopScrolling();
mDate = date;
@@ -299,7 +301,13 @@
OstTraceFunctionExit0( CALENPREVIEWPANE_STARTAUTOSCROLL_EXIT );
return;
}
-
+
+ // Stop the timer
+ mTwoSecTimer->stop();
+
+ // Set the proper scroll direction
+ mScrollDirection = up;
+
// Start the 2 seconds timer
mTwoSecTimer->setSingleShot(true);
connect(mTwoSecTimer, SIGNAL(timeout()), this, SLOT(onTwoSecondsTimeout()));
@@ -331,13 +339,13 @@
}
// Start the scrolling in the proper direction
- if (mScrollDirection == up) {
+ if (mScrollDirection == up && mScrollDuration) {
// Start scrolling upwards
mScrollDirection = down;
mNumOfScrolls++;
QPointF targetPos(0.0, -mHtDiff);
scrollContentsTo(-targetPos, mScrollDuration * 1000);
- } else if (mScrollDirection == down) {
+ } else if (mScrollDirection == down && mScrollDuration) {
mScrollDirection = up;
mNumOfScrolls++;
// Start scrolling downwards
@@ -438,6 +446,9 @@
if (tapGesture && tapGesture->state() == Qt::GestureFinished) {
HbInstantFeedback::play(HbFeedback::Basic);
// Preview pane tapped
+ // Stop the scrolling first
+ stopScrolling();
+ // Issue command to launch agenda view
mServices.IssueCommandL(ECalenAgendaView);
mView->disconnectAboutToQuitEvent();
event->accept(Qt::TapGesture);
@@ -466,12 +477,16 @@
{
OstTraceFunctionEntry0( CALENPREVIEWPANE_STOPSCROLLING_ENTRY );
- if (isScrolling() || mTwoSecTimer->isActive()) {
+ mTwoSecTimer->stop();
+ if (isScrolling()) {
+ mNumOfScrolls = 0; // required so that timer will not get started again in
+ // scrollingFinished() slot
+ // Stop the scrolling by sending the foucs out event
+ QFocusEvent* focusEvent = new QFocusEvent(QFocusEvent::FocusOut, Qt::MouseFocusReason);
+ focusOutEvent(focusEvent);
+
+ // Set the contents position to zero
scrollContentsTo(QPointF(0.0,0.0));
-
- // Call pan gesture with zero delta just to stop the scfrolling
- HbScrollArea::panGesture(QPointF(0.0,0.0));
- mTwoSecTimer->stop();
}
OstTraceFunctionExit0( CALENPREVIEWPANE_STOPSCROLLING_EXIT );
--- a/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -224,6 +224,10 @@
alarmDayIndex -= KDaysInWeek;
}
}
+
+ if(mAlarmId) {
+ mAlarmClient.deleteAlarm(mAlarmId);
+ }
setAlarm(
mAlarmTimeItem->contentWidgetData("text").toString(),
@@ -245,6 +249,9 @@
void ClockAlarmEditor::handleDeleteAction()
{
OstTraceFunctionEntry0( CLOCKALARMEDITOR_HANDLEDELETEACTION_ENTRY );
+ if(mAlarmId) {
+ mAlarmClient.deleteAlarm(mAlarmId);
+ }
closeAlarmEditor();
OstTraceFunctionExit0( CLOCKALARMEDITOR_HANDLEDELETEACTION_EXIT );
}
@@ -696,7 +703,6 @@
// get the alarm details and fill it in mAlarmInfo.
if (mAlarmId) {
mAlarmClient.getAlarmInfo(mAlarmId, mAlarmInfo);
- mAlarmClient.deleteAlarm(mAlarmId);
}
// Set the value for previous alarm time.
--- a/clock/clockui/clockviews/src/clockworldview.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/clock/clockui/clockviews/src/clockworldview.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -660,25 +660,21 @@
}
}
else if ( hours ){
- if(hours == 1 ) {
- displayFormat = hbTrId("txt_clock_dblist_daily_val_ln_hr");
- offsetString = displayFormat.arg(hours);
- offsetDifference += offsetString;
+ if(hours == 1) {
+ displayFormat = hbTrId("txt_clock_dblist_daily_val_ln_hr",hours);
+ offsetDifference += displayFormat;
}
else {
- displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
- offsetString = displayFormat.arg(hours);
- offsetDifference += offsetString;
+ displayFormat = hbTrId("txt_clock_dblist_daily_val_ln_hr",hours);
+ offsetDifference += displayFormat;
}
}
else if (minutes){
- displayFormat = hbTrId("txt_clock_dblist_daily_val_ln_mins");
- offsetString = displayFormat.arg(minutes);
- offsetDifference += offsetString;
+ displayFormat = hbTrId("txt_clock_dblist_daily_val_ln_mins",minutes);
+ offsetDifference += displayFormat;
} else {
- displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
- offsetString = displayFormat.arg(0);
- offsetDifference += offsetString;
+ displayFormat = hbTrId("txt_clock_dblist_daily_val_ln_hr",0);
+ offsetDifference += displayFormat;
}
displayString.append(offsetDifference);
--- a/organizer_plat/agenda_interface_api/inc/agendautil.h Wed Aug 25 14:02:13 2010 +0530
+++ b/organizer_plat/agenda_interface_api/inc/agendautil.h Tue Aug 31 18:15:13 2010 +0530
@@ -21,13 +21,13 @@
// System includes
#include <QObject>
#include <QList>
+#include <QDateTime>
// User includes
#include "agendaentry.h"
#include "agendainterfacedefines.h"
// Forward declarations
-class QDateTime;
class AgendaUtilPrivate;
class XQCALENDAR_EXPORT AgendaUtil : public QObject
@@ -72,7 +72,8 @@
AgendaUtil(QObject* parent = 0);
~AgendaUtil();
- ulong store(AgendaEntry &entry, AgendaUtil::RecurrenceRange range = ThisAndAll);
+ ulong store(AgendaEntry &entry, AgendaUtil::RecurrenceRange range = ThisAndAll,
+ QDateTime instanceOriginalDateTime = QDateTime());
ulong cloneEntry(const AgendaEntry& entry, AgendaEntry::Type type);
bool deleteEntry(ulong id);
void deleteRepeatedEntry(
--- a/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/src/unittest_agendautil.cpp Wed Aug 25 14:02:13 2010 +0530
+++ b/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/src/unittest_agendautil.cpp Tue Aug 31 18:15:13 2010 +0530
@@ -51,6 +51,8 @@
void test_fetchEntriesInRange();
void test_cloneEntry();
void test_todoCompleted();
+ void test_createExceptionalEntryWithSubjectChange();
+ void test_createExceptionalEntryWithStartTimeChange();
private:
int createMultipleEntries();
@@ -605,6 +607,153 @@
unCompletedTodo();
}
+/*
+ Test the api AgendaUtil::store for exceptional entry.
+ */
+void TestAgendaUtil::test_createExceptionalEntryWithSubjectChange()
+{
+ // Test case setup.
+
+ // Clean up all the entries.
+ QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
+ QDateTime endRange(QDate(2100, 12, 30), QTime(23, 59, 59, 0));
+ mAgendaUtil->deleteEntries(startRange,endRange);
+
+ // Start the timer as the above operation is asynchronous
+ if (!mWait) {
+ QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
+ if (!mWait->IsStarted()) {
+ mWait->Start();
+ }
+ }
+
+ // Create the repeating entry.
+ AgendaEntry entry;
+ entry.setType(AgendaEntry::TypeAppoinment);
+ entry.setSummary("Test case");
+ QDateTime startTime(QDate(2010,1,1),QTime(8,0,0,0));
+ QDateTime endTime(QDate(2010,1,1),QTime(9,0,0,0));
+
+ entry.setStartAndEndTime(
+ startTime,
+ endTime);
+
+ AgendaRepeatRule repeatRule;
+ repeatRule.setType(AgendaRepeatRule::DailyRule);
+ repeatRule.setRepeatRuleStart(startTime);
+ QDateTime until(QDate(2010, 2, 3));
+ repeatRule.setUntil(until);
+ repeatRule.setInterval(1);
+ entry.setRepeatRule(repeatRule);
+
+ ulong id = mAgendaUtil->store(entry);
+
+ // Get the instance and create the exceptional entry by changing the subject
+ AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
+ QList<AgendaEntry> entriesRetrieved =
+ mAgendaUtil->fetchEntriesInRange(
+ QDateTime(QDate(2010, 1, 2), QTime(8, 0, 0, 0)),
+ QDateTime(QDate(2010, 1, 2), QTime(9, 0, 0, 0)));
+
+ int numOfEntriesRetrieved = entriesRetrieved.count();
+ AgendaEntry modifiedEntry = entriesRetrieved.first();
+ // Verify
+ QVERIFY(id == modifiedEntry.id());
+
+ modifiedEntry.setSummary("Test case Exceptional");
+
+ // Run the test case
+ ulong newId = mAgendaUtil->store(
+ modifiedEntry, AgendaUtil::ThisOnly, modifiedEntry.startTime());
+
+ // Verify.
+ QVERIFY(id != newId);
+
+ entriesRetrieved.clear();
+
+ // Get the exceptional entry.
+ AgendaEntry exceptionalEntry = mAgendaUtil->fetchById(newId);
+
+ // Verify.
+ QCOMPARE(exceptionalEntry.summary(), modifiedEntry.summary());
+ QVERIFY(exceptionalEntry.recurrenceId() == modifiedEntry.startTime());
+}
+
+/*!
+ Test the api AgendaUtil::store for exceptional entry.
+ */
+void TestAgendaUtil::test_createExceptionalEntryWithStartTimeChange()
+{
+ // Test case setup.
+
+ // Clean up all the entries.
+ QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
+ QDateTime endRange(QDate(2100, 12, 30), QTime(23, 59, 59, 0));
+ mAgendaUtil->deleteEntries(startRange,endRange);
+
+ // Start the timer as the above operation is asynchronous
+ if (!mWait) {
+ QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
+ if (!mWait->IsStarted()) {
+ mWait->Start();
+ }
+ }
+
+ QList<AgendaEntry> allEntries = mAgendaUtil->fetchAllEntries();
+ int count = allEntries.count();
+
+ // Create the repeating entry.
+ AgendaEntry entry;
+ entry.setType(AgendaEntry::TypeAppoinment);
+ entry.setSummary("Test case");
+ QDateTime startTime(QDate(2010,2,1),QTime(8,0,0,0));
+ QDateTime endTime(QDate(2010,2,1),QTime(9,0,0,0));
+
+ entry.setStartAndEndTime(startTime, endTime);
+
+ AgendaRepeatRule repeatRule;
+ repeatRule.setType(AgendaRepeatRule::DailyRule);
+ repeatRule.setRepeatRuleStart(startTime);
+ QDateTime until(QDate(2010, 3, 3));
+ repeatRule.setUntil(until);
+ repeatRule.setInterval(1);
+ entry.setRepeatRule(repeatRule);
+
+ ulong id = mAgendaUtil->store(entry);
+
+ // Get the instance and create the exceptional entry by changing the subject
+ AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
+ QList<AgendaEntry> entriesRetrieved =
+ mAgendaUtil->fetchEntriesInRange(
+ QDateTime(QDate(2010, 2, 2), QTime(8, 0, 0, 0)),
+ QDateTime(QDate(2010, 2, 2), QTime(9, 0, 0, 0)));
+
+ int numOfEntriesRetrieved = entriesRetrieved.count();
+ AgendaEntry modifiedEntry = entriesRetrieved.first();
+ AgendaEntry originalEntry = modifiedEntry;
+ // Verify
+ QVERIFY(id == modifiedEntry.id());
+
+ QDateTime modifiedStartTime(QDate(2010,2,1),QTime(8,0,0,0));
+ QDateTime modifiedEndTime(QDate(2010,2,1),QTime(9,0,0,0));
+ modifiedEntry.setStartAndEndTime(modifiedStartTime, modifiedStartTime);
+
+ // Run the test case
+ ulong newId = mAgendaUtil->store(
+ modifiedEntry, AgendaUtil::ThisOnly, originalEntry.startTime());
+
+ // Verify.
+ QVERIFY(id != newId);
+
+ entriesRetrieved.clear();
+
+ // Get the exceptional entry.
+ AgendaEntry exceptionalEntry = mAgendaUtil->fetchById(newId);
+
+ // Verify.
+ QVERIFY(exceptionalEntry.recurrenceId() == originalEntry.startTime());
+}
+
/*!
Slot to listen for the completion of deleting the entries asynchronously.
*/