--- a/agendainterface/agendautil/inc/agendautil.h Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/inc/agendautil.h Fri May 14 15:51:09 2010 +0300
@@ -120,6 +120,8 @@
void entryDeleted(ulong id);
void entryUpdated(ulong id);
void entriesDeleted(int status);
+ void entryViewCreationCompleted(int status);
+ void instanceViewCreationCompleted(int status);
private:
friend class AgendaUtilPrivate;
--- a/agendainterface/agendautil/src/agendautil_p.cpp Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/src/agendautil_p.cpp Fri May 14 15:51:09 2010 +0300
@@ -108,70 +108,24 @@
delete filter;
}
- /*
- // If view creation is in progress, then wait till it gets completed
- if((iCalEntryView && !mEntryViewCreated)
- || (iCalInstanceView && !mInstanceViewCreated))
- {
- if(!iWait)
- {
- TRAP(iError, iWait = new (ELeave) CActiveSchedulerWait;);
- if(!iWait->IsStarted())
- {
- iWait->Start();
- }
- }
+ // First construct the CCalInstanceView if not already available.
+ // The CCalEntryView is constructed in CompletedL. Instance view
+ // is created before entry view since entry view is required only
+ // when editing/saving any entry. So we will construct it later
+ if (!iCalInstanceView) {
+ TRAP (iError, iCalInstanceView = CCalInstanceView::NewL(*iCalSession,
+ *this);)
}
- */
-
- // First construct the CCalEntryView if not already available.
- // The CCalInstanceView is constructed in ::CompletedL. We block the
- // thread here until everything is setup.
- if (!iCalEntryView)
- {
- TRAP(
- iError,
- iCalEntryView = CCalEntryView::NewL(*iCalSession, *this);
- );
- if (!iWait)
- {
- TRAP(
- iError,
- iWait = new (ELeave) CActiveSchedulerWait;
- )
- if (!iWait->IsStarted())
- {
- iWait->Start();
- }
- }
- }
-
- // Comes here only when timer is expired, hence one more
- // check is needed here.
- if (iCalSession && mEntryViewCreated && mInstanceViewCreated)
- {
- // Everything is ready.
- return true;
- }
-
- else
- {
- return false;
- }
+
+ // All the requests have been made
+ return true;
}
AgendaUtilPrivate::~AgendaUtilPrivate()
{
delete iCalEntryView;
delete iCalInstanceView;
- if (iWait && iWait->IsStarted())
- {
- iWait->AsyncStop();
- }
-
- delete iWait;
- if (iCalSession)
- {
+ if (iCalSession) {
iCalSession->StopChangeNotification();
}
delete iCalSession;
@@ -188,39 +142,33 @@
emit q->entriesDeleted(iError);
}
- if(KErrNone != iError)
- {
+ if (KErrNone != iError) {
// Something has gone wrong, return
+ if (iCalEntryView) {
delete iCalEntryView;
iCalEntryView = NULL;
+ }
+ if (iCalInstanceView) {
delete iCalInstanceView;
iCalInstanceView = NULL;
+ }
return;
}
- if(iCalEntryView && !mEntryViewCreated)
- {
- mEntryViewCreated = true;
-
- // Start creating the instance view.
- if(!iCalInstanceView)
- {
- TRAP(iError, iCalInstanceView = CCalInstanceView::NewL(
- *iCalSession, *this);)
+ if (iCalInstanceView && !mInstanceViewCreated) {
+ // Instance view is now created.
+ mInstanceViewCreated = true;
+ emit q->instanceViewCreationCompleted(iError);
+ // Start with the construction of entry view
+ if (!iCalEntryView) {
+ TRAP (iError,
+ iCalEntryView = CCalEntryView::NewL(*iCalSession, *this);
+ );
}
- }
- else if(iCalInstanceView && !mInstanceViewCreated)
- {
- mInstanceViewCreated = true;
- }
-
- // Stop the wait timer
- if( iWait && iWait->IsStarted())
- {
- if(mEntryViewCreated && mInstanceViewCreated)
- {
- iWait->AsyncStop();
- }
+ } else if(iCalEntryView && !mEntryViewCreated) {
+ // Entry view is now constructed
+ mEntryViewCreated = true;
+ emit q->entryViewCreationCompleted(iError);
}
}
@@ -248,7 +196,7 @@
int success = 0;
// First check if the session to the calendar database is prepared or not.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Something went wrong
return localUid;
}
@@ -309,7 +257,7 @@
dtStamp.time().minute(), 0, 0);
TTime creationTTime(creationDateTime);
creationCalTime.SetTimeLocalL(creationTTime);
- //newEntry->SetDTStampL(creationCalTime);
+ newEntry->SetDTStampL(creationCalTime);
// Finally set the entry to the database using the entry view.
entryArray.AppendL(newEntry);
@@ -467,7 +415,7 @@
const AgendaEntry &entry, AgendaEntry::Type type)
{
// First prepare the session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Something went wrong.
return 0;
}
@@ -671,7 +619,7 @@
bool AgendaUtilPrivate::deleteEntry(ulong id)
{
// First prepare the session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Something went wrong.
return false;
}
@@ -709,7 +657,7 @@
qDebug("AgendaUtilPrivate::deleteRepeatedEntry");
// First prepare the session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Something went wrong.
return;
}
@@ -766,7 +714,7 @@
bool AgendaUtilPrivate::updateEntry(const AgendaEntry& entry, bool isChild)
{
// First prepare the session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Something went wrong.
return false;
}
@@ -1033,7 +981,7 @@
bool copyToChildren)
{
// First prepare the session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Something went wrong.
return false;
}
@@ -1203,7 +1151,7 @@
{
// First prepare the session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Something went wrong.
return false;
}
@@ -1464,7 +1412,7 @@
AgendaEntry entry;
// First check if the session with the calendar exists.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Return empty AgendaEntry.
return entry;
}
@@ -1500,7 +1448,7 @@
QList<ulong> listOfIds;
// First check if the session with agenda server exists.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Return empty list.
return listOfIds;
}
@@ -1561,7 +1509,7 @@
QList<AgendaEntry> entryList;
// First check if the session with agenda server exists.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Return empty list.
return entryList;
}
@@ -1619,7 +1567,7 @@
AgendaUtil::FilterFlags filter)
{
QList<AgendaEntry> entryList;
- if(!prepareSession())
+ if(!mInstanceViewCreated)
{
// return empty list
return entryList;
@@ -1676,6 +1624,12 @@
QDateTime rangeEnd,AgendaUtil::FilterFlags filter, QList<QDate>& dates)
{
RPointerArray<CCalInstance> instanceList;
+
+ if(!mInstanceViewCreated) {
+ // return empty list
+ return;
+ }
+
CleanupClosePushL(instanceList);
CalCommon::TCalViewFilter filters = filter;
TCalTime startDateForInstanceSearch;
@@ -1757,7 +1711,7 @@
AgendaUtil::FilterFlags filter )
{
QList<AgendaEntry> entryList;
- if(!prepareSession()) {
+ if(!mInstanceViewCreated) {
// return empty list
return entryList;
}
@@ -1833,7 +1787,7 @@
int success = -1 ;
// First prepare the session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
return success;
}
@@ -1886,7 +1840,7 @@
const QString& fileName, ulong calendarEntryId)
{
// First prepare session with agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
return false;
}
TRAP(
@@ -2022,7 +1976,7 @@
{
AgendaEntry parentEntry;
// First check if the session with the calendar exists.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
// Return empty AgendaEntry.
return entry;
}
@@ -2458,6 +2412,11 @@
*/
bool AgendaUtilPrivate::areNoEntriesInCalendar()
{
+ // First prepare the session with the agenda server.
+ if (!mInstanceViewCreated) {
+ return false;
+ }
+
bool isEmpty;
// Query for the entries for entire range
RPointerArray<CCalInstance> instanceList;
@@ -2846,7 +2805,7 @@
const QList<AgendaAttendee>& attendees, CCalEntry& entry)
{
// First prepare the session with the agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
return false;
}
@@ -2878,7 +2837,7 @@
const QList<AgendaCategory>& categories, CCalEntry& entry)
{
// First prepare the session with the agenda server.
- if (!prepareSession()) {
+ if (!mInstanceViewCreated) {
return false;
}
TRAP(
@@ -2984,7 +2943,7 @@
CCalInstance* AgendaUtilPrivate::findPossibleInstance(AgendaEntry& entry)
{
- if(!prepareSession()) {
+ if(!mInstanceViewCreated) {
// return empty list
return NULL;
}
--- a/agendainterface/bwins/agendainterfaceu.def Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/bwins/agendainterfaceu.def Fri May 14 15:51:09 2010 +0300
@@ -178,4 +178,6 @@
?setRecurrenceId@AgendaEntry@@QAEXAAVQDateTime@@@Z @ 177 NONAME ; void AgendaEntry::setRecurrenceId(class QDateTime &)
?isNull@AgendaGeoValue@@QBE_NXZ @ 178 NONAME ; bool AgendaGeoValue::isNull(void) const
?areNoEntriesInCalendar@AgendaUtil@@QAE_NXZ @ 179 NONAME ; bool AgendaUtil::areNoEntriesInCalendar(void)
+ ?entryViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 180 NONAME ; void AgendaUtil::entryViewCreationCompleted(int)
+ ?instanceViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 181 NONAME ; void AgendaUtil::instanceViewCreationCompleted(int)
--- a/agendainterface/eabi/agendainterfaceu.def Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/eabi/agendainterfaceu.def Fri May 14 15:51:09 2010 +0300
@@ -206,4 +206,6 @@
_ZTV14AgendaAttendee @ 205 NONAME
_ZTV14AgendaCategory @ 206 NONAME
_ZN10AgendaUtil22areNoEntriesInCalendarEv @ 207 NONAME
+ _ZN10AgendaUtil26entryViewCreationCompletedEi @ 208 NONAME
+ _ZN10AgendaUtil29instanceViewCreationCompletedEi @ 209 NONAME
--- a/agendainterface/inc/agendautil.h Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/inc/agendautil.h Fri May 14 15:51:09 2010 +0300
@@ -106,18 +106,22 @@
QDateTime& endTime);
void getNextInstanceTimes(AgendaEntry& entry, QDateTime& startTime,
QDateTime& endTime);
-
+ void markDatesWithEvents(QDateTime rangeStart, QDateTime rangeEnd,
+ AgendaUtil::FilterFlags filter, QList<QDate>& dates);
+ bool areNoEntriesInCalendar();
static QDateTime minTime();
static QDateTime maxTime();
-
+
static bool isWorkdaysRepeatingEntry(const AgendaRepeatRule& repeatRule);
-
+
Q_SIGNALS:
void entriesChanged(QList<ulong> ids);
void entryAdded(ulong id);
void entryDeleted(ulong id);
void entryUpdated(ulong id);
void entriesDeleted(int status);
+ void entryViewCreationCompleted(int status);
+ void instanceViewCreationCompleted(int status);
private:
friend class AgendaUtilPrivate;
--- a/alarmui/DataSrc/AlmAlert.rss Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/DataSrc/AlmAlert.rss Fri May 14 15:51:09 2010 +0300
@@ -21,7 +21,7 @@
NAME ALRT
#include <eikon.rh>
-#include <almalert.loc>
+#include <AlmAlert.loc>
#include "AlmAlertVariant.hrh"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_calendar_unlocked.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+ <object name="snoozeAction" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string locid="txt_calendar_button_alarm_snooze" name="text" value="Snooze"/>
+ </object>
+ <object name="stopAction" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string locid="txt_calendar_button_alarm_dialog_snooze" name="text" value="Stop"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <string locid="txt_calendar_title_calendar_alarm" name="plainText" value="Calendar alarm"/>
+ </widget>
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="alarmTime" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="1"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM"/>
+ <string locid="txt_calendar_info_alarm_start_time" name="plainText" value="9:00 am"/>
+ </widget>
+ <widget name="alarmDate" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="2"/>
+ <sizehint height="var(hb-param-text-height-secondary)" type="PREFERRED"/>
+ <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+ </widget>
+ <widget name="alarmDescription" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="3"/>
+ <sizehint height="8un" type="PREFERRED"/>
+ <sizehint height="8un" type="MINIMUM"/>
+ <sizehint height="8un" type="MAXIMUM"/>
+ <string name="textFormat" value="PlainText"/>
+ </widget>
+ <widget name="alarmLocation" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="4"/>
+ <sizehint height="var(hb-param-text-height-secondary)" type="PREFERRED"/>
+ </widget>
+ <widget name="alarmIcon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <icon iconName="qtg_large_calendar_alarm" name="icon"/>
+ <real name="z" value="5"/>
+ <sizehint height="15un" type="PREFERRED" width="15un"/>
+ </widget>
+ <widget name="nonTimedAlarmDate" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="1"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM"/>
+ <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="alarmTime" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmTime" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="alarmTime" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmDate" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmDate" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmTime" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmDate" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDate" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmLocation" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmLocation" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmLocation" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmLocation" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <ref object="snoozeAction" role="HbDialog:primaryAction"/>
+ <ref object="stopAction" role="HbDialog:secondaryAction"/>
+ </widget>
+ <section name="calendarTimed"/>
+ <section name="nonTimedAlarm">
+ <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+ <string locid="txt_calendar_title_calendar_alarm" name="plainText" value="Calendar alarm"/>
+ </widget>
+ <widget name="nonTimedAlarmDate" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="1"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM"/>
+ <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+ </widget>
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="alarmTime" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmTime" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="alarmTime" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmDate" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmDate" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmTime" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmDate" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="nonTimedAlarmDate" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmLocation" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmLocation" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmLocation" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="nonTimedAlarmDate" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-popup) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="nonTimedAlarmDate" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-popup) )" src="" srcEdge="TOP"/>
+ <anchoritem dst="nonTimedAlarmDate" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-popup) )" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmLocation" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="expr(-var(hb-param-margin-gene-popup) )" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="nonTimedAlarm" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="calendarTimed" sections="#common calendarTimed"/>
+ <uistate name="nonTimedAlarm" sections="#common nonTimedAlarm"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_clock_unlocked.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+ <object name="snoozeAction" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string locid="txt_calendar_button_alarm_snooze" name="text" value="Snooze"/>
+ </object>
+ <object name="stopAction" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string locid="txt_calendar_button_alarm_dialog_snooze" name="text" value="Stop"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <string locid="txt_calendar_title_clock_alarm" name="plainText" value="Clock alarm"/>
+ </widget>
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="alarmTime" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="1"/>
+ <sizehint height="10un" type="MINIMUM"/>
+ <fontspec name="fontSpec" role="Primary" textheight="9.8un"/>
+ <string locid="txt_calendar_info_alarm_start_time" name="plainText" value="9:00 am"/>
+ </widget>
+ <widget name="alarmDescription" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="3"/>
+ <sizehint height="7un" type="PREFERRED"/>
+ <sizehint height="7un" type="MINIMUM"/>
+ <sizehint height="7un" type="MAXIMUM"/>
+ <string name="textFormat" value="PlainText"/>
+ </widget>
+ <widget name="alarmIcon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <icon iconName=":/image/clockAlarm.svg" name="icon"/>
+ <real name="z" value="5"/>
+ <sizehint height="15un" type="PREFERRED" width="15un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="alarmTime" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmTime" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="alarmTime" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmTime" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <ref object="snoozeAction" role="HbDialog:primaryAction"/>
+ <ref object="stopAction" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_todo_unlocked.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+ <object name="snoozeAction" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string locid="txt_calendar_button_alarm_snooze" name="text" value="Snooze"/>
+ </object>
+ <object name="stopAction" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string locid="txt_calendar_button_alarm_dialog_snooze" name="text" value="Stop"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <string locid="txt_calendar_title_todo_note_alarm" name="plainText" value="To-do note"/>
+ </widget>
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="alarmDate" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="2"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED"/>
+ <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+ </widget>
+ <widget name="alarmDescription" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="3"/>
+ <sizehint height="16un" type="PREFERRED"/>
+ <sizehint height="16un" type="MINIMUM"/>
+ <sizehint height="16un" type="MAXIMUM"/>
+ <string name="textFormat" value="PlainText"/>
+ </widget>
+ <widget name="alarmIcon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <icon iconName="qtg_large_todo_alarm" name="icon"/>
+ <real name="z" value="5"/>
+ <sizehint height="15un" type="PREFERRED" width="15un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="alarmDate" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmDate" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="alarmDate" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDate" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <ref object="snoozeAction" role="HbDialog:primaryAction"/>
+ <ref object="stopAction" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/agendaeventviewer/data/agendaeventviewer.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <widget name="eventViewer" type="HbView">
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <widget name="groupBox" type="HbGroupBox">
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ <string locid="txt_calendar_subhead_event" name="titleText" value="Event"/>
+ </widget>
+ <widget name="scrollArea" type="HbScrollArea">
+ <widget name="scrollAreaContents" role="HbScrollArea:contents" type="HbWidget">
+ <widget name="subjectWidget" type="HbWidget"/>
+ <widget name="dateTimeWidget" type="HbWidget"/>
+ <widget name="locationWidget" type="HbWidget"/>
+ <widget name="reminderWidget" type="HbWidget"/>
+ <widget name="repeatWidget" type="HbWidget"/>
+ <widget name="descriptionWidget" type="HbWidget"/>
+ <widget name="maptileWidget" type="HbLabel" />
+ <layout orientation="Vertical" type="linear">
+ <contentsmargins bottom="0un" left="0un" top="0un"/>
+ <linearitem itemname="subjectWidget"/>
+ <linearitem itemname="dateTimeWidget"/>
+ <linearitem itemname="locationWidget"/>
+ <linearitem itemname="maptileWidget"/>
+ <linearitem itemname="reminderWidget"/>
+ <linearitem itemname="repeatWidget"/>
+ <linearitem itemname="descriptionWidget"/>
+ </layout>
+ </widget>
+ <enums name="verticalScrollBarPolicy" value="ScrollBarAutoHide"/>
+ <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <real name="z" value="1"/>
+ <enums name="clampingStyle" value="StrictClamping"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="groupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="groupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="groupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="scrollArea" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="scrollArea" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="scrollArea" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="scrollArea" dstEdge="TOP" spacing="0un" src="groupBox" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="viewerMenu" role="HbView:menu" type="HbMenu"/>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar"/>
+ <string locid="txt_calendar_title_calendar" name="title" value="Calendar"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- a/calendarui/agendaeventviewer/data/agendaeventvieweritem.css Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/data/agendaeventvieweritem.css Fri May 14 15:51:09 2010 +0300
@@ -1,3 +1,14 @@
+
+AgendaEventViewerItem[leftPrimaryIconItem="true"]:portrait {
+ layout: layout-eventvieweritem-stretch;
+ fixed-width: var(hb-param-screen-width);
+}
+
+AgendaEventViewerItem[leftPrimaryIconItem="true"]:landscape {
+ layout: layout-eventvieweritem-stretch;
+ fixed-width: var(hb-param-screen-width);
+}
+
AgendaEventViewerItem:portrait {
layout: layout-eventvieweritem;
@@ -9,7 +20,16 @@
fixed-width: var(hb-param-screen-width);
}
-AgendaEventViewerItem::primaryIconItem {
+
+AgendaEventViewerItem::primaryLeftIconItem {
+ fixed-width:var(hb-param-graphic-size-primary-small);
+ fixed-height:var(hb-param-graphic-size-primary-small);
+ top: -var(hb-param-margin-gene-top);
+ left: -var(hb-param-margin-gene-left);
+ right: var(hb-param-margin-gene-middle-horizontal);
+}
+
+AgendaEventViewerItem::primaryRightIconItem {
fixed-width:var(hb-param-graphic-size-secondary);
fixed-height:var(hb-param-graphic-size-secondary);
top: -var(hb-param-margin-gene-top);
@@ -20,6 +40,7 @@
fixed-width:var(hb-param-graphic-size-primary-small);
fixed-height:var(hb-param-graphic-size-primary-small);
left: -var(hb-param-margin-gene-left);
+ right: var(hb-param-margin-gene-middle-horizontal);
}
AgendaEventViewerItem::primaryTextItem {
@@ -28,7 +49,6 @@
text-align: left;
top: -var(hb-param-margin-gene-top);
right: var(hb-param-margin-gene-middle-horizontal);
-
}
AgendaEventViewerItem::secondaryTextItem {
@@ -37,7 +57,6 @@
text-align: left;
top: -var(hb-param-margin-gene-middle-vertical);
right: var(hb-param-margin-gene-right);
- left: -var(hb-param-margin-gene-middle-horizontal);
bottom: var(hb-param-margin-gene-bottom);
}
--- a/calendarui/agendaeventviewer/data/agendaeventvieweritem.widgetml Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/data/agendaeventvieweritem.widgetml Fri May 14 15:51:09 2010 +0300
@@ -16,4 +16,26 @@
<meshitem src="secondaryTextItem" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
</layout>
-</hbwidget>
+
+ <layout name="layout-eventvieweritem-stretch" type="mesh">
+
+
+ <meshitem src="primaryLeftIconItem" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="primaryLeftIconItem" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+
+ <meshitem src="primaryTextItem" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="primaryTextItem" srcEdge="LEFT" dst="primaryLeftIconItem" dstEdge="RIGHT" />
+
+ <meshitem src="primaryRightIconItem" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="primaryRightIconItem" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ <meshitem src="secondaryIconItem" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="secondaryIconItem" srcEdge="TOP" dst="secondaryTextItem" dstEdge="TOP" />
+
+ <meshitem src="secondaryTextItem" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+ <meshitem src="secondaryTextItem" srcEdge="TOP" dst="primaryTextItem" dstEdge="BOTTOM" />
+ <meshitem src="secondaryTextItem" srcEdge="LEFT" dst="primaryTextItem" dstEdge="LEFT" />
+ <meshitem src="secondaryTextItem" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ </layout>
+</hbwidget>
\ No newline at end of file
--- a/calendarui/agendaeventviewer/inc/agendaeventview.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/inc/agendaeventview.h Fri May 14 15:51:09 2010 +0300
@@ -71,7 +71,8 @@
void removeAllWidgets();
void addAllWidgets();
void showDeleteOccurencePopup();
- int showDeleteConfirmationQuery();
+ void showDeleteConfirmationQuery();
+ void getSubjectIcon(AgendaEntry::Type type, QString &subjectIcon);
private slots:
void markTodoStatus();
@@ -84,7 +85,7 @@
void handleNoteEditorClosed(bool status);
void handleCalendarEditorClosed();
void handleDeleteOccurence(int index);
-
+ void handleDeleteAction();
private:
HbView *mViewer;
--- a/calendarui/agendaeventviewer/inc/agendaeventvieweritem.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/inc/agendaeventvieweritem.h Fri May 14 15:51:09 2010 +0300
@@ -43,6 +43,8 @@
HbTextItem *mSecondaryText;
HbIconItem *mPrimaryIcon;
HbIconItem *mSecondaryIcon;
+ HbIconItem *mPrimaryRightIcon;
+ HbIconItem *mPrimaryLeftIcon;
};
--- a/calendarui/agendaeventviewer/src/agendaeventview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/src/agendaeventview.cpp Fri May 14 15:51:09 2010 +0300
@@ -64,6 +64,10 @@
//because HbLabel by default not displaying the actual size of image
const int height = 128;
const int width = 330;
+
+//This Property is use for setting a primary left icon
+static const char *primaryLeftIconItem("leftPrimaryIconItem");
+
/*!
\class AgendaEventView.
@@ -113,6 +117,9 @@
mSubjectWidget = qobject_cast<AgendaEventViewerItem *> (
mDocLoader->findWidget(AGENDA_EVENT_VIEWER_SUBJECT_WIDGET));
+ //load layout that supports icon before subject label
+ mSubjectWidget->setProperty(primaryLeftIconItem,true);
+
mDateTimeWidget = qobject_cast<AgendaEventViewerItem *> (
mDocLoader->findWidget(AGENDA_EVENT_VIEWER_DATE_TIME_WIDGET));
@@ -228,7 +235,7 @@
}
// Add softkey after adding view on window
- mBackAction = new HbAction(Hb::BackAction);
+ mBackAction = new HbAction(Hb::BackNaviAction);
mViewer->setNavigationAction(mBackAction);
connect(mBackAction, SIGNAL(triggered()), this, SLOT(close()));
@@ -383,11 +390,14 @@
mSubjectWidget->setEventViewerItemData(itemList, Qt::DisplayRole);
- itemList.clear();
- QString priorityIcon(QString::null);
- getPriorityIcon(mAgendaEntry.priority(), priorityIcon);
- itemList.append(priorityIcon);
- itemList.append(QString::null);
+ itemList.clear();
+ QString priorityIcon(QString::null);
+ QString subjectIcon(QString::null);
+ getPriorityIcon(mAgendaEntry.priority(), priorityIcon);
+ getSubjectIcon(mAgendaEntry.type(),subjectIcon);
+ itemList.append(subjectIcon);
+ itemList.append(priorityIcon);
+ itemList.append(QString::null);
mSubjectWidget->setEventViewerItemData(itemList, Qt::DecorationRole);
@@ -410,7 +420,11 @@
QDateTime endDateTime = mAgendaEntry.endTime();
itemData.append(QString::null);
+ itemData.append(QString::null);
itemData.append("qtg_small_calendar");
+
+ mDateTimeWidget->setProperty(primaryLeftIconItem, false);
+
mDateTimeWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
itemData.clear();
itemData.append(QString::null);
@@ -492,7 +506,9 @@
qDebug() << "AgendaEventViewer: AgendaEventView::addLocationData -->";
QStringList itemData;
itemData.append(QString::null);
- itemData.append("qtg_small_location");
+ itemData.append(QString::null);
+ itemData.append("qtg_small_location");
+ mLocationWidget->setProperty(primaryLeftIconItem, false);
mLocationWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
itemData.clear();
itemData.append(QString::null);
@@ -518,7 +534,7 @@
{
QIcon mapTileIcon(mMaptilePath);
QPainter painter;
- QPixmap baloon(HbIcon("qtg_small_location.svg").pixmap());
+ QPixmap baloon(HbIcon("qtg_small_location").pixmap());
QPixmap map (mapTileIcon.pixmap(width,height));
//Display pin image in the center of maptile image
painter.begin( &map );
@@ -549,14 +565,16 @@
qDebug() << "AgendaEventViewer: AgendaEventView::addReminderData -->";
QStringList itemData;
itemData.append(QString::null);
- itemData.append("qtg_small_reminder");
+ itemData.append(QString::null);
+ itemData.append("qtg_small_reminder");
+ mReminderWidget->setProperty(primaryLeftIconItem, false);
mReminderWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
itemData.clear();
itemData.append(QString::null);
itemData.append(alarmTimeText());
mReminderWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
qDebug() << "AgendaEventViewer: AgendaEventView::addReminderData <--";
-}
+ }
/*!
Add completed to-do data to Event viewer
@@ -566,10 +584,11 @@
qDebug() << "AgendaEventViewer: AgendaEventView::addCompletedTodoData -->";
QStringList itemData;
QString completedText;
- HbExtendedLocale systemLocale = HbExtendedLocale::system();;
-
+ HbExtendedLocale systemLocale = HbExtendedLocale::system();;
+ itemData.append(QString::null);
itemData.append(QString::null);
itemData.append(QString::null);
+ mReminderWidget->setProperty(primaryLeftIconItem, false);
mReminderWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
itemData.clear();
completedText = systemLocale.format(mAgendaEntry.completedDateTime().date(),
@@ -588,7 +607,9 @@
qDebug() << "AgendaEventViewer: AgendaEventView::addRepeatData -->";
QStringList itemData;
itemData.append(QString::null);
- itemData.append("qtg_mono_repeat.svg");
+ itemData.append(QString::null);
+ itemData.append("qtg_mono_repeat.svg");
+ mRepeatWidget->setProperty(primaryLeftIconItem, false);
mRepeatWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
itemData.clear();
itemData.append(QString::null);
@@ -606,6 +627,8 @@
QStringList itemData;
itemData.append(QString::null);
itemData.append(QString::null);
+ itemData.append(QString::null);
+ mDescriptionWidget->setProperty(primaryLeftIconItem, false);
mDescriptionWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
itemData.clear();
itemData.append(hbTrId("txt_calendar_dblist_description"));
@@ -859,10 +882,11 @@
void AgendaEventView::showDeleteOccurencePopup()
{
qDebug()
- << "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup -->";
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout);
+ << "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup -->";
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
HbWidget *deleteWidget = new HbWidget(mViewer);
@@ -872,84 +896,94 @@
QStringList list;
list << hbTrId("txt_calendar_info_this_occurrence_only")
- << hbTrId("txt_calendar_info_all_occurences");
+ << hbTrId("txt_calendar_info_all_occurences");
deleteButtonList->setItems(list);
layout->addItem(deleteButtonList);
- popUp.setContentWidget(deleteWidget);
- popUp.setHeadingWidget(new HbLabel(
- hbTrId("txt_calendar_title_delete_repeated_entry")));
+ popUp->setContentWidget(deleteWidget);
+ popUp->setHeadingWidget(new HbLabel(
+ hbTrId("txt_calendar_title_delete_repeated_entry")));
connect(deleteButtonList, SIGNAL(itemSelected(int)), this,
- SLOT(handleDeleteOccurence(int)));
- connect(deleteButtonList, SIGNAL(itemSelected(int)), &popUp, SLOT(close()));
+ SLOT(handleDeleteOccurence(int)));
+ connect(deleteButtonList, SIGNAL(itemSelected(int)), popUp, SLOT(close()));
- // Create secondary action
- HbAction *cancelAction = new HbAction(
- hbTrId("txt_calendar_button_softkey1_cancel"));
- popUp.setSecondaryAction(cancelAction);
- connect(cancelAction, SIGNAL(triggered()), &popUp, SLOT(close()));
+ popUp->addAction(new HbAction(
+ hbTrId("txt_calendar_button_softkey1_cancel")));
// Show the popup
- popUp.exec();
+ popUp->open();
qDebug()
- << "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup <--";
+ << "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup <--";
}
-
/*!
- * Show delete confirmation query
+ Show delete confirmation query
*/
-int AgendaEventView::showDeleteConfirmationQuery()
-{
- qDebug()
- << "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery -->";
- int retStatus = 0;
+void AgendaEventView::showDeleteConfirmationQuery()
+ {
+ qDebug()
+ << "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery -->";
+
+ HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+ popup->setDismissPolicy(HbDialog::NoDismiss);
+ popup->setTimeout(HbDialog::NoTimeout);
+ popup->setAttribute( Qt::WA_DeleteOnClose, true );
- HbMessageBox popup(HbMessageBox::MessageTypeQuestion);
- popup.setDismissPolicy(HbDialog::NoDismiss);
- popup.setTimeout(HbDialog::NoTimeout);
- popup.setIconVisible(true);
-
- QString text = 0;
+ QString text = 0;
- switch (mAgendaEntry.type()) {
- case AgendaEntry::TypeAppoinment:
- case AgendaEntry::TypeEvent: {
- text.append(hbTrId("txt_calendar_info_delete_meeting"));
- break;
- }
- case AgendaEntry::TypeAnniversary: {
- text.append(hbTrId("txt_calendar_info_delete_anniversary"));
- break;
- }
- case AgendaEntry::TypeTodo: {
- text.append(hbTrId("txt_calendar_info_delete_todo_note"));
- break;
- }
- case AgendaEntry::TypeNote: {
- text.append(hbTrId("txt_calendar_info_delete_anniversary"));
- break;
- }
- }
+ switch (mAgendaEntry.type()) {
+ case AgendaEntry::TypeAppoinment:
+ case AgendaEntry::TypeEvent: {
+ text.append(hbTrId("txt_calendar_info_delete_meeting"));
+ break;
+ }
+ case AgendaEntry::TypeAnniversary: {
+ text.append(hbTrId("txt_calendar_info_delete_anniversary"));
+ break;
+ }
+ case AgendaEntry::TypeTodo: {
+ text.append(hbTrId("txt_calendar_info_delete_todo_note"));
+ break;
+ }
+ case AgendaEntry::TypeNote: {
+ text.append(hbTrId("txt_calendar_info_delete_anniversary"));
+ break;
+ }
+ }
+ popup->setText(text);
+
+ QList<QAction*> list = popup->actions();
+ for(int i=0; i < list.count(); i++)
+ {
+ popup->removeAction(list[i]);
+ }
+ HbAction *deleteAction =
+ new HbAction(hbTrId("txt_calendar_button_delete"), popup);
+ popup->addAction(deleteAction);
+ connect(deleteAction, SIGNAL(triggered()), this ,
+ SLOT(handleDeleteAction()));
+ popup->addAction(new HbAction(hbTrId("txt_calendar_button_cancel"), popup));
+ popup->open();
+ qDebug()
+ << "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery <--";
+}
- popup.setText(text);
-
- popup.setPrimaryAction(new HbAction(
- hbTrId("txt_calendar_button_delete"), &popup));
- popup.setSecondaryAction(new HbAction(
- hbTrId("txt_calendar_button_cancel"), &popup));
- HbAction *selected = popup.exec();
- if (selected == popup.primaryAction()) {
- retStatus = 1;
- }
+/*!
+ Handles the delete action
+ */
+void AgendaEventView::handleDeleteAction()
+ {
+ // If delete button is pressed delete the entry
+ // To notify client that deleting Started
+ // Calendar Application changing state from viewing to deleting.
+ mOwner->deletingStarted();
- qDebug()
- << "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery <--";
- return retStatus;
+ // Delete the entry.
+ mOwner->mAgendaUtil->deleteEntry(mAgendaEntry.id());
}
/*!
@@ -1038,15 +1072,7 @@
// Query user if he wants to delete whole series or just this occurence
showDeleteOccurencePopup();
} else {
- if (showDeleteConfirmationQuery()) {
-
- // To notify client that deleting Started
- // Calendar Application changing state from viewing to deleting.
- mOwner->deletingStarted();
-
- // Delete the entry.
- mOwner->mAgendaUtil->deleteEntry(mAgendaEntry.id());
- }
+ showDeleteConfirmationQuery();
}
qDebug() << "AgendaEventViewer: AgendaEventView::deleteAgendaEntry <--";
@@ -1216,4 +1242,38 @@
qDebug() << "AgendaEventViewer: AgendaEventView::handleDeleteOccurence <--";
}
+/*!
+ Returns subject icon
+ */
+void AgendaEventView::getSubjectIcon(AgendaEntry::Type type, QString &subjectIcon)
+ {
+ qDebug() << "AgendaEventViewer: AgendaEventView::getSubjectIcon -->";
+ switch(type) {
+ case AgendaEntry::TypeAppoinment:
+ {
+ subjectIcon.append("qtg_small_favorite");//@to do add proper icon
+ }
+ break;
+ case AgendaEntry::TypeTodo:
+ {
+ subjectIcon.append("qtg_small_todo");
+ }
+ break;
+ case AgendaEntry::TypeEvent:
+ {
+ subjectIcon.append("qtg_small_allday");//@ TODO add proper icon
+ }
+ break;
+ case AgendaEntry::TypeAnniversary:
+ {
+ subjectIcon.append("qtg_small_anniversary");
+ }
+ break;
+ default:
+ break;
+ }
+
+ qDebug() << "AgendaEventViewer: AgendaEventView::getSubjectIcon <--";
+ }
+
// End of file
--- a/calendarui/agendaeventviewer/src/agendaeventvieweritem.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/src/agendaeventvieweritem.cpp Fri May 14 15:51:09 2010 +0300
@@ -40,7 +40,8 @@
*/
AgendaEventViewerItem::AgendaEventViewerItem(QGraphicsItem *parent) :
HbWidget(parent), mPrimaryText(NULL), mSecondaryText(NULL),
- mPrimaryIcon(NULL), mSecondaryIcon(NULL)
+ mPrimaryIcon(NULL), mSecondaryIcon(NULL),mPrimaryRightIcon(NULL),
+ mPrimaryLeftIcon(NULL)
{
// Path for widgetml and css files.
@@ -70,10 +71,15 @@
if (!itemData.isEmpty()) {
QString firstItemData(QString::null);
QString secondItemData(QString::null);
-
- if (itemData.count() == 2) {
+ QString thirdItemData(QString::null);
+ if (itemData.count() == 2) {
+ firstItemData = itemData.at(0);
+ secondItemData = itemData.at(1);
+ }
+ else if (itemData.count() == 3) {
firstItemData = itemData.at(0);
secondItemData = itemData.at(1);
+ thirdItemData = itemData.at(2);
} else {
firstItemData = itemData.at(0);
}
@@ -107,28 +113,43 @@
}
} else {
if (role == Qt::DecorationRole) {
- if (!firstItemData.isEmpty()) {
- if (!mPrimaryIcon) {
- mPrimaryIcon = new HbIconItem(this);
+ if (!firstItemData.isEmpty()) {
+ if (!mPrimaryLeftIcon) {
+ mPrimaryLeftIcon = new HbIconItem(this);
+ }
+ HbStyle::setItemName(mPrimaryLeftIcon, "primaryLeftIconItem");
+ mPrimaryLeftIcon->setVisible(true);
+ mPrimaryLeftIcon->setIconName(firstItemData);
+
+ } else {
+ if (mPrimaryLeftIcon) {
+ HbStyle::setItemName(mPrimaryLeftIcon,"");
+ mPrimaryLeftIcon->setVisible(false);
+ }
+
+ }
+ if (!secondItemData.isEmpty()) {
+ if (!mPrimaryRightIcon) {
+ mPrimaryRightIcon = new HbIconItem(this);
}
- HbStyle::setItemName(mPrimaryIcon, "primaryIconItem");
- mPrimaryIcon->setVisible(true);
- mPrimaryIcon->setIconName(firstItemData);
+ HbStyle::setItemName(mPrimaryRightIcon, "primaryRightIconItem");
+ mPrimaryRightIcon->setVisible(true);
+ mPrimaryRightIcon->setIconName(secondItemData);
} else {
- if (mPrimaryIcon) {
- HbStyle::setItemName(mPrimaryIcon,"");
- mPrimaryIcon->setVisible(false);
+ if (mPrimaryRightIcon) {
+ HbStyle::setItemName(mPrimaryRightIcon,"");
+ mPrimaryRightIcon->setVisible(false);
}
}
- if (!secondItemData.isEmpty()) {
+ if (!thirdItemData.isEmpty()) {
if (!mSecondaryIcon) {
mSecondaryIcon = new HbIconItem(this);
HbStyle::setItemName(mSecondaryIcon,
"secondaryIconItem");
}
- mSecondaryIcon->setIconName(secondItemData);
+ mSecondaryIcon->setIconName(thirdItemData);
} else {
if (mSecondaryIcon) {
--- a/calendarui/application/src/main.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/application/src/main.cpp Fri May 14 15:51:09 2010 +0300
@@ -31,16 +31,12 @@
// Main window for providing the scene context
HbMainWindow window;
- window.setRenderHints(
- QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
- window.setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate);
//For translation, loading and installing translator
QTranslator translator;
QString lang = QLocale::system().name();
QString path = "Z:/resource/qt/translations/";
// TODO: Load the appropriate .qm file based on locale
- //bool loaded = translator.load("calendar_" + lang, path);
bool loaded = translator.load("calendar_en_GB",":/translations");
app.installTranslator(&translator);
@@ -56,6 +52,7 @@
int retValue = app.exec();
// delete the controller
+ controller->ReleaseCustomisations();
controller->Release();
return retValue;
--- a/calendarui/bwins/calencontrolleru.def Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/bwins/calencontrolleru.def Fri May 14 15:51:09 2010 +0300
@@ -24,4 +24,5 @@
?OfferMenu@CCalenController@@QAEXPAVHbMenu@@@Z @ 23 NONAME ; void CCalenController::OfferMenu(class HbMenu *)
?RegisterForNotificationsL@CCalenController@@QAEXPAVMCalenNotificationHandler@@AAV?$RArray@W4TCalenNotification@@@@@Z @ 24 NONAME ; void CCalenController::RegisterForNotificationsL(class MCalenNotificationHandler *, class RArray<enum TCalenNotification> &)
?NewServicesL@CCalenController@@UAEPAVMCalenServices@@XZ @ 25 NONAME ; class MCalenServices * CCalenController::NewServicesL(void)
+ ?ReleaseCustomisations@CCalenController@@QAEXXZ @ 26 NONAME ; void CCalenController::ReleaseCustomisations(void)
--- a/calendarui/bwins/calenviewsu.def Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/bwins/calenviewsu.def Fri May 14 15:51:09 2010 +0300
@@ -1,147 +1,154 @@
EXPORTS
?scrollingFinished@CalenPreviewPane@@QAEXXZ @ 1 NONAME ; void CalenPreviewPane::scrollingFinished(void)
- ?setDate@CalenMonthView@@AAEXXZ @ 2 NONAME ; void CalenMonthView::setDate(void)
- ?handleGridItemActivated@CalenMonthView@@QAEXXZ @ 3 NONAME ; void CalenMonthView::handleGridItemActivated(void)
- ?setFocusToProperDay@CalenMonthGrid@@AAEXXZ @ 4 NONAME ; void CalenMonthGrid::setFocusToProperDay(void)
- ??1CalenPreviewPane@@UAE@XZ @ 5 NONAME ; CalenPreviewPane::~CalenPreviewPane(void)
- ?mousePressEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 6 NONAME ; void CalenMonthGrid::mousePressEvent(class QGraphicsSceneMouseEvent *)
- ?completePopulation@CalenMonthView@@AAEXXZ @ 7 NONAME ; void CalenMonthView::completePopulation(void)
- ?handleChangeOrientation@CalenMonthView@@AAEXXZ @ 8 NONAME ; void CalenMonthView::handleChangeOrientation(void)
- ?staticMetaObject@CalenSettingsView@@2UQMetaObject@@B @ 9 NONAME ; struct QMetaObject const CalenSettingsView::staticMetaObject
- ?upGesture@CalenMonthGrid@@MAEXH@Z @ 10 NONAME ; void CalenMonthGrid::upGesture(int)
- ?getStaticMetaObject@CalenSettingsView@@SAABUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const & CalenSettingsView::getStaticMetaObject(void)
- ?updateMonthDataArrayWithActiveDates@CalenMonthView@@AAEXXZ @ 12 NONAME ; void CalenMonthView::updateMonthDataArrayWithActiveDates(void)
- ?scrollingFinished@CalenMonthGrid@@QAEXXZ @ 13 NONAME ; void CalenMonthGrid::scrollingFinished(void)
- ?setCurrentIdex@CalenMonthGrid@@QAEXH@Z @ 14 NONAME ; void CalenMonthGrid::setCurrentIdex(int)
- ??_ECalenMonthGrid@@UAE@I@Z @ 15 NONAME ; CalenMonthGrid::~CalenMonthGrid(unsigned int)
- ?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *)
- ?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *)
- ?populatePrevMonth@CalenMonthView@@QAEXXZ @ 18 NONAME ; void CalenMonthView::populatePrevMonth(void)
- ?qt_metacall@CalenSettingsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 19 NONAME ; int CalenSettingsView::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?handleLeftEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 20 NONAME ; void CalenMonthView::handleLeftEffectCompleted(struct HbEffect::EffectStatus const &)
- ?getStaticMetaObject@CalenMonthGrid@@SAABUQMetaObject@@XZ @ 21 NONAME ; struct QMetaObject const & CalenMonthGrid::getStaticMetaObject(void)
- ?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *, int)
- ?qt_metacast@CalenMonthView@@UAEPAXPBD@Z @ 23 NONAME ; void * CalenMonthView::qt_metacast(char const *)
- ?staticMetaObject@CalenMonthView@@2UQMetaObject@@B @ 24 NONAME ; struct QMetaObject const CalenMonthView::staticMetaObject
- ?setupView@CalenMonthView@@QAEXPAVCalenDocLoader@@@Z @ 25 NONAME ; void CalenMonthView::setupView(class CalenDocLoader *)
- ?metaObject@CalenMonthGrid@@UBEPBUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const * CalenMonthGrid::metaObject(void) const
- ?startAutoScroll@CalenPreviewPane@@QAEXXZ @ 27 NONAME ; void CalenPreviewPane::startAutoScroll(void)
- ?setView@CalenMonthGrid@@QAEXPAVCalenMonthView@@@Z @ 28 NONAME ; void CalenMonthGrid::setView(class CalenMonthView *)
- ?HandleNotification@CalenDayView@@UAEXW4TCalenNotification@@@Z @ 29 NONAME ; void CalenDayView::HandleNotification(enum TCalenNotification)
- ?panGesture@CalenMonthGrid@@MAEXABVQPointF@@@Z @ 30 NONAME ; void CalenMonthGrid::panGesture(class QPointF const &)
- ?mousePressEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 31 NONAME ; void CalenPreviewPane::mousePressEvent(class QGraphicsSceneMouseEvent *)
- ??1CalenSettingsView@@UAE@XZ @ 32 NONAME ; CalenSettingsView::~CalenSettingsView(void)
- ?Date@CalenPreviewPane@@QAE?AVQDateTime@@XZ @ 33 NONAME ; class QDateTime CalenPreviewPane::Date(void)
- ?tr@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 34 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *, int)
- ?getInstanceList@CalenMonthView@@AAEXAAV?$QList@VAgendaEntry@@@@VQDateTime@@1@Z @ 35 NONAME ; void CalenMonthView::getInstanceList(class QList<class AgendaEntry> &, class QDateTime, class QDateTime)
- ?metaObject@CalenMonthView@@UBEPBUQMetaObject@@XZ @ 36 NONAME ; struct QMetaObject const * CalenMonthView::metaObject(void) const
- ??0CalenPreviewPane@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 37 NONAME ; CalenPreviewPane::CalenPreviewPane(class MCalenServices &, class QGraphicsItem *)
- ?mouseReleaseEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 38 NONAME ; void CalenPreviewPane::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
- ?rowsInPrevMonth@CalenMonthView@@QAEHXZ @ 39 NONAME ; int CalenMonthView::rowsInPrevMonth(void)
- ?metaObject@CalenPreviewPane@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * CalenPreviewPane::metaObject(void) const
- ??0CalenDayView@@QAE@AAVMCalenServices@@@Z @ 41 NONAME ; CalenDayView::CalenDayView(class MCalenServices &)
- ?populateNextMonth@CalenMonthView@@QAEXXZ @ 42 NONAME ; void CalenMonthView::populateNextMonth(void)
- ?handleRightEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 43 NONAME ; void CalenMonthView::handleRightEffectCompleted(struct HbEffect::EffectStatus const &)
- ?qt_metacast@CalenMonthGrid@@UAEPAXPBD@Z @ 44 NONAME ; void * CalenMonthGrid::qt_metacast(char const *)
- ?firstDayOfGrid@CalenMonthView@@QAE?AVQDateTime@@XZ @ 45 NONAME ; class QDateTime CalenMonthView::firstDayOfGrid(void)
- ?rowsInFutMonth@CalenMonthView@@QAEHXZ @ 46 NONAME ; int CalenMonthView::rowsInFutMonth(void)
- ?getCurrGridIndex@CalenMonthView@@QAEHXZ @ 47 NONAME ; int CalenMonthView::getCurrGridIndex(void)
- ?launchDayView@CalenMonthView@@QAEXXZ @ 48 NONAME ; void CalenMonthView::launchDayView(void)
- ??1CalenDayViewWidget@@UAE@XZ @ 49 NONAME ; CalenDayViewWidget::~CalenDayViewWidget(void)
- ??0CalenDayViewWidget@@QAE@AAVMCalenServices@@PAVCalenDocLoader@@@Z @ 50 NONAME ; CalenDayViewWidget::CalenDayViewWidget(class MCalenServices &, class CalenDocLoader *)
- ?prependRows@CalenMonthGrid@@QAEXXZ @ 51 NONAME ; void CalenMonthGrid::prependRows(void)
- ?orientationChanged@CalenMonthGrid@@MAEXW4Orientation@Qt@@@Z @ 52 NONAME ; void CalenMonthGrid::orientationChanged(enum Qt::Orientation)
- ?handleGridItemLongPressed@CalenMonthView@@QAEXHAAVQPointF@@@Z @ 53 NONAME ; void CalenMonthView::handleGridItemLongPressed(int, class QPointF &)
- ?qt_metacall@CalenPreviewPane@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 54 NONAME ; int CalenPreviewPane::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 55 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *, int)
- ??1CalenThickLinesDrawer@@UAE@XZ @ 56 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(void)
- ?setView@CalenPreviewPane@@QAEXPAVCalenMonthView@@@Z @ 57 NONAME ; void CalenPreviewPane::setView(class CalenMonthView *)
- ??_ECalenMonthView@@UAE@I@Z @ 58 NONAME ; CalenMonthView::~CalenMonthView(unsigned int)
- ?changeOrientation@CalenMonthView@@UAEXW4Orientation@Qt@@@Z @ 59 NONAME ; void CalenMonthView::changeOrientation(enum Qt::Orientation)
- ?populatePreviewPane@CalenMonthView@@QAEXAAVQDateTime@@@Z @ 60 NONAME ; void CalenMonthView::populatePreviewPane(class QDateTime &)
- ??0CalenSettingsView@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 61 NONAME ; CalenSettingsView::CalenSettingsView(class MCalenServices &, class QGraphicsItem *)
- ?updateModelWithPrevMonth@CalenMonthView@@QAEXXZ @ 62 NONAME ; void CalenMonthView::updateModelWithPrevMonth(void)
- ?stopScrolling@CalenPreviewPane@@QAEXXZ @ 63 NONAME ; void CalenPreviewPane::stopScrolling(void)
- ?addBackgroundFrame@CalenMonthView@@AAEXXZ @ 64 NONAME ; void CalenMonthView::addBackgroundFrame(void)
- ?createGrid@CalenMonthView@@AAEXXZ @ 65 NONAME ; void CalenMonthView::createGrid(void)
- ?tr@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 66 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *)
- ?getStaticMetaObject@CalenPreviewPane@@SAABUQMetaObject@@XZ @ 67 NONAME ; struct QMetaObject const & CalenPreviewPane::getStaticMetaObject(void)
- ?launchPreviousView@CalenSettingsView@@AAEXXZ @ 68 NONAME ; void CalenSettingsView::launchPreviousView(void)
- ?setCurrGridIndex@CalenMonthView@@QAEXH@Z @ 69 NONAME ; void CalenMonthView::setCurrGridIndex(int)
- ?setDateToLabel@CalenMonthView@@AAEXXZ @ 70 NONAME ; void CalenMonthView::setDateToLabel(void)
- ?addWeekNumbers@CalenMonthView@@AAEXXZ @ 71 NONAME ; void CalenMonthView::addWeekNumbers(void)
- ?qt_metacall@CalenThickLinesDrawer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 72 NONAME ; int CalenThickLinesDrawer::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setupView@CalenDayView@@QAEXPAVCalenDocLoader@@@Z @ 73 NONAME ; void CalenDayView::setupView(class CalenDocLoader *)
- ??1CalenMonthView@@UAE@XZ @ 74 NONAME ; CalenMonthView::~CalenMonthView(void)
- ?dateFromContext@CalenMonthView@@AAE?AVQDateTime@@ABVMCalenContext@@@Z @ 75 NONAME ; class QDateTime CalenMonthView::dateFromContext(class MCalenContext const &)
- ?staticMetaObject@CalenMonthGrid@@2UQMetaObject@@B @ 76 NONAME ; struct QMetaObject const CalenMonthGrid::staticMetaObject
- ?paint@CalenThickLinesDrawer@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 77 NONAME ; void CalenThickLinesDrawer::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
- ?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 78 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *, int)
- ?initializeForm@CalenSettingsView@@QAEXXZ @ 79 NONAME ; void CalenSettingsView::initializeForm(void)
- ?tr@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 80 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *, int)
- ?goToToday@CalenMonthView@@AAEXXZ @ 81 NONAME ; void CalenMonthView::goToToday(void)
- ?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *, int)
- ?qt_metacast@CalenPreviewPane@@UAEPAXPBD@Z @ 83 NONAME ; void * CalenPreviewPane::qt_metacast(char const *)
- ?docLoader@CalenDayView@@QAEPAVCalenDocLoader@@XZ @ 84 NONAME ; class CalenDocLoader * CalenDayView::docLoader(void)
- ?getCurrentIndex@CalenMonthGrid@@QAEHXZ @ 85 NONAME ; int CalenMonthGrid::getCurrentIndex(void)
- ?removeWeekNumbers@CalenMonthView@@AAEXXZ @ 86 NONAME ; void CalenMonthView::removeWeekNumbers(void)
- ?tr@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 87 NONAME ; class QString CalenSettingsView::tr(char const *, char const *, int)
- ?trUtf8@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 88 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *, int)
- ??0CalenMonthView@@QAE@AAVMCalenServices@@@Z @ 89 NONAME ; CalenMonthView::CalenMonthView(class MCalenServices &)
- ?getStaticMetaObject@CalenThickLinesDrawer@@SAABUQMetaObject@@XZ @ 90 NONAME ; struct QMetaObject const & CalenThickLinesDrawer::getStaticMetaObject(void)
- ?setNoEntriesLabel@CalenPreviewPane@@QAEXPAVHbLabel@@@Z @ 91 NONAME ; void CalenPreviewPane::setNoEntriesLabel(class HbLabel *)
- ??0CalenThickLinesDrawer@@QAE@W4WidgetType@CalendarNamespace@@PAVQGraphicsItem@@@Z @ 92 NONAME ; CalenThickLinesDrawer::CalenThickLinesDrawer(enum CalendarNamespace::WidgetType, class QGraphicsItem *)
- ?onLocaleChanged@CalenMonthView@@UAEXH@Z @ 93 NONAME ; void CalenMonthView::onLocaleChanged(int)
- ?doPopulation@CalenMonthView@@UAEXXZ @ 94 NONAME ; void CalenMonthView::doPopulation(void)
- ?tr@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString CalenMonthView::tr(char const *, char const *, int)
- ?GetInstanceListL@CalenPreviewPane@@AAEXXZ @ 96 NONAME ; void CalenPreviewPane::GetInstanceListL(void)
- ?tr@CalenMonthView@@SA?AVQString@@PBD0@Z @ 97 NONAME ; class QString CalenMonthView::tr(char const *, char const *)
- ??0CalenMonthGrid@@QAE@PAVQGraphicsItem@@@Z @ 98 NONAME ; CalenMonthGrid::CalenMonthGrid(class QGraphicsItem *)
- ?refreshViewOnGoToDate@CalenMonthView@@EAEXXZ @ 99 NONAME ; void CalenMonthView::refreshViewOnGoToDate(void)
- ?appendRows@CalenMonthGrid@@QAEXXZ @ 100 NONAME ; void CalenMonthGrid::appendRows(void)
- ?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 101 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *, int)
- ?mouseReleaseEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 102 NONAME ; void CalenMonthGrid::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
- ?getCurrentDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 103 NONAME ; class QDateTime CalenMonthView::getCurrentDay(void)
- ?staticMetaObject@CalenPreviewPane@@2UQMetaObject@@B @ 104 NONAME ; struct QMetaObject const CalenPreviewPane::staticMetaObject
- ?tr@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 105 NONAME ; class QString CalenSettingsView::tr(char const *, char const *)
- ?onTwoSecondsTimeout@CalenPreviewPane@@QAEXXZ @ 106 NONAME ; void CalenPreviewPane::onTwoSecondsTimeout(void)
- ?timerExpired@CalenMonthGrid@@IAEXXZ @ 107 NONAME ; void CalenMonthGrid::timerExpired(void)
- ?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 108 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *)
- ?staticMetaObject@CalenThickLinesDrawer@@2UQMetaObject@@B @ 109 NONAME ; struct QMetaObject const CalenThickLinesDrawer::staticMetaObject
- ?populateWithInstanceView@CalenMonthView@@AAEXXZ @ 110 NONAME ; void CalenMonthView::populateWithInstanceView(void)
- ?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *)
- ?downGesture@CalenMonthGrid@@MAEXH@Z @ 112 NONAME ; void CalenMonthGrid::downGesture(int)
- ?populateLabel@CalenPreviewPane@@QAEXVQDateTime@@@Z @ 113 NONAME ; void CalenPreviewPane::populateLabel(class QDateTime)
- ?doPopulation@CalenDayView@@UAEXXZ @ 114 NONAME ; void CalenDayView::doPopulation(void)
- ??1CalenDayView@@UAE@XZ @ 115 NONAME ; CalenDayView::~CalenDayView(void)
- ?updateModelWithFutureMonth@CalenMonthView@@QAEXXZ @ 116 NONAME ; void CalenMonthView::updateModelWithFutureMonth(void)
- ?monthDataList@CalenMonthView@@QAE?AV?$QList@VCalenMonthData@@@@XZ @ 117 NONAME ; class QList<class CalenMonthData> CalenMonthView::monthDataList(void)
- ?metaObject@CalenThickLinesDrawer@@UBEPBUQMetaObject@@XZ @ 118 NONAME ; struct QMetaObject const * CalenThickLinesDrawer::metaObject(void) const
- ??1CalenMonthGrid@@UAE@XZ @ 119 NONAME ; CalenMonthGrid::~CalenMonthGrid(void)
- ?updateWeekNumGridModel@CalenMonthView@@AAEXXZ @ 120 NONAME ; void CalenMonthView::updateWeekNumGridModel(void)
- ?qt_metacast@CalenThickLinesDrawer@@UAEPAXPBD@Z @ 121 NONAME ; void * CalenThickLinesDrawer::qt_metacast(char const *)
- ?prepareForPopulation@CalenMonthView@@AAEXXZ @ 122 NONAME ; void CalenMonthView::prepareForPopulation(void)
- ?handlePreviewPaneGesture@CalenMonthView@@QAEX_N@Z @ 123 NONAME ; void CalenMonthView::handlePreviewPaneGesture(bool)
- ?updateMonthGridModel@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@H@Z @ 124 NONAME ; void CalenMonthGrid::updateMonthGridModel(class QList<class CalenMonthData> &, int)
- ?setActiveDates@CalenMonthGrid@@AAEXVQDate@@@Z @ 125 NONAME ; void CalenMonthGrid::setActiveDates(class QDate)
- ?trUtf8@CalenMonthView@@SA?AVQString@@PBD0@Z @ 126 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *)
- ?setContextForActiveDay@CalenMonthView@@QAEXH@Z @ 127 NONAME ; void CalenMonthView::setContextForActiveDay(int)
- ?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 128 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *)
- ??_ECalenSettingsView@@UAE@I@Z @ 129 NONAME ; CalenSettingsView::~CalenSettingsView(unsigned int)
- ??_ECalenThickLinesDrawer@@UAE@I@Z @ 130 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(unsigned int)
- ?metaObject@CalenSettingsView@@UBEPBUQMetaObject@@XZ @ 131 NONAME ; struct QMetaObject const * CalenSettingsView::metaObject(void) const
- ?getStaticMetaObject@CalenMonthView@@SAABUQMetaObject@@XZ @ 132 NONAME ; struct QMetaObject const & CalenMonthView::getStaticMetaObject(void)
- ?qt_metacast@CalenSettingsView@@UAEPAXPBD@Z @ 133 NONAME ; void * CalenSettingsView::qt_metacast(char const *)
- ?tr@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 134 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *)
- ?qt_metacall@CalenMonthView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 135 NONAME ; int CalenMonthView::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setActiveDay@CalenMonthView@@AAEXVQDateTime@@@Z @ 136 NONAME ; void CalenMonthView::setActiveDay(class QDateTime)
- ?itemActivated@CalenMonthGrid@@QAEXABVQModelIndex@@@Z @ 137 NONAME ; void CalenMonthGrid::itemActivated(class QModelIndex const &)
- ?qt_metacall@CalenMonthGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 138 NONAME ; int CalenMonthGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??_ECalenPreviewPane@@UAE@I@Z @ 139 NONAME ; CalenPreviewPane::~CalenPreviewPane(unsigned int)
- ?createEditor@CalenMonthView@@AAEXXZ @ 140 NONAME ; void CalenMonthView::createEditor(void)
- ?getActiveDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 141 NONAME ; class QDateTime CalenMonthView::getActiveDay(void)
- ?showHideRegionalInformation@CalenMonthView@@AAEXXZ @ 142 NONAME ; void CalenMonthView::showHideRegionalInformation(void)
- ?paint@CalenMonthGrid@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 143 NONAME ; void CalenMonthGrid::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
- ?mouseMoveEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 144 NONAME ; void CalenPreviewPane::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
- ?addRemoveActionsInMenu@CalenMonthView@@AAEXXZ @ 145 NONAME ; void CalenMonthView::addRemoveActionsInMenu(void)
+ ?fetchEntriesAndUpdateModel@CalenMonthView@@QAEXXZ @ 2 NONAME ; void CalenMonthView::fetchEntriesAndUpdateModel(void)
+ ?setDate@CalenMonthView@@AAEXXZ @ 3 NONAME ; void CalenMonthView::setDate(void)
+ ?showHideRegionalInformation@CalenMonthView@@AAEXXZ @ 4 NONAME ; void CalenMonthView::showHideRegionalInformation(void)
+ ?updateMonthGridWithEventIndicators@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@@Z @ 5 NONAME ; void CalenMonthGrid::updateMonthGridWithEventIndicators(class QList<class CalenMonthData> &)
+ ?handleGridItemActivated@CalenMonthView@@QAEXXZ @ 6 NONAME ; void CalenMonthView::handleGridItemActivated(void)
+ ?setFocusToProperDay@CalenMonthGrid@@AAEXXZ @ 7 NONAME ; void CalenMonthGrid::setFocusToProperDay(void)
+ ??1CalenPreviewPane@@UAE@XZ @ 8 NONAME ; CalenPreviewPane::~CalenPreviewPane(void)
+ ?mousePressEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 9 NONAME ; void CalenMonthGrid::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?completePopulation@CalenMonthView@@AAEXXZ @ 10 NONAME ; void CalenMonthView::completePopulation(void)
+ ?handleAppendingRows@CalenMonthGrid@@AAEXAAV?$QList@VCalenMonthData@@@@@Z @ 11 NONAME ; void CalenMonthGrid::handleAppendingRows(class QList<class CalenMonthData> &)
+ ?handleChangeOrientation@CalenMonthView@@AAEXXZ @ 12 NONAME ; void CalenMonthView::handleChangeOrientation(void)
+ ?staticMetaObject@CalenSettingsView@@2UQMetaObject@@B @ 13 NONAME ; struct QMetaObject const CalenSettingsView::staticMetaObject
+ ?upGesture@CalenMonthGrid@@MAEXH@Z @ 14 NONAME ; void CalenMonthGrid::upGesture(int)
+ ?getStaticMetaObject@CalenSettingsView@@SAABUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const & CalenSettingsView::getStaticMetaObject(void)
+ ?updateMonthDataArrayWithActiveDates@CalenMonthView@@AAEXXZ @ 16 NONAME ; void CalenMonthView::updateMonthDataArrayWithActiveDates(void)
+ ?scrollingFinished@CalenMonthGrid@@QAEXXZ @ 17 NONAME ; void CalenMonthGrid::scrollingFinished(void)
+ ?setCurrentIdex@CalenMonthGrid@@QAEXH@Z @ 18 NONAME ; void CalenMonthGrid::setCurrentIdex(int)
+ ??_ECalenMonthGrid@@UAE@I@Z @ 19 NONAME ; CalenMonthGrid::~CalenMonthGrid(unsigned int)
+ ?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *)
+ ?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 21 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *)
+ ?populatePrevMonth@CalenMonthView@@QAEXXZ @ 22 NONAME ; void CalenMonthView::populatePrevMonth(void)
+ ?qt_metacall@CalenSettingsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 23 NONAME ; int CalenSettingsView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?handleLeftEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 24 NONAME ; void CalenMonthView::handleLeftEffectCompleted(struct HbEffect::EffectStatus const &)
+ ?getStaticMetaObject@CalenMonthGrid@@SAABUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const & CalenMonthGrid::getStaticMetaObject(void)
+ ?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *, int)
+ ?qt_metacast@CalenMonthView@@UAEPAXPBD@Z @ 27 NONAME ; void * CalenMonthView::qt_metacast(char const *)
+ ?staticMetaObject@CalenMonthView@@2UQMetaObject@@B @ 28 NONAME ; struct QMetaObject const CalenMonthView::staticMetaObject
+ ?setupView@CalenMonthView@@QAEXPAVCalenDocLoader@@@Z @ 29 NONAME ; void CalenMonthView::setupView(class CalenDocLoader *)
+ ?metaObject@CalenMonthGrid@@UBEPBUQMetaObject@@XZ @ 30 NONAME ; struct QMetaObject const * CalenMonthGrid::metaObject(void) const
+ ?startAutoScroll@CalenPreviewPane@@QAEXXZ @ 31 NONAME ; void CalenPreviewPane::startAutoScroll(void)
+ ?doLazyLoading@CalenMonthView@@QAEXXZ @ 32 NONAME ; void CalenMonthView::doLazyLoading(void)
+ ?setView@CalenMonthGrid@@QAEXPAVCalenMonthView@@@Z @ 33 NONAME ; void CalenMonthGrid::setView(class CalenMonthView *)
+ ?HandleNotification@CalenDayView@@UAEXW4TCalenNotification@@@Z @ 34 NONAME ; void CalenDayView::HandleNotification(enum TCalenNotification)
+ ?panGesture@CalenMonthGrid@@MAEXABVQPointF@@@Z @ 35 NONAME ; void CalenMonthGrid::panGesture(class QPointF const &)
+ ?mousePressEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 36 NONAME ; void CalenPreviewPane::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ??1CalenSettingsView@@UAE@XZ @ 37 NONAME ; CalenSettingsView::~CalenSettingsView(void)
+ ?Date@CalenPreviewPane@@QAE?AVQDateTime@@XZ @ 38 NONAME ; class QDateTime CalenPreviewPane::Date(void)
+ ?tr@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *, int)
+ ?metaObject@CalenMonthView@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * CalenMonthView::metaObject(void) const
+ ??0CalenPreviewPane@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 41 NONAME ; CalenPreviewPane::CalenPreviewPane(class MCalenServices &, class QGraphicsItem *)
+ ?mouseReleaseEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 42 NONAME ; void CalenPreviewPane::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?rowsInPrevMonth@CalenMonthView@@QAEHXZ @ 43 NONAME ; int CalenMonthView::rowsInPrevMonth(void)
+ ?handlePrependingRows@CalenMonthGrid@@AAEXAAV?$QList@VCalenMonthData@@@@@Z @ 44 NONAME ; void CalenMonthGrid::handlePrependingRows(class QList<class CalenMonthData> &)
+ ?mouseMoveEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 45 NONAME ; void CalenPreviewPane::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?metaObject@CalenPreviewPane@@UBEPBUQMetaObject@@XZ @ 46 NONAME ; struct QMetaObject const * CalenPreviewPane::metaObject(void) const
+ ??0CalenDayView@@QAE@AAVMCalenServices@@@Z @ 47 NONAME ; CalenDayView::CalenDayView(class MCalenServices &)
+ ?populateNextMonth@CalenMonthView@@QAEXXZ @ 48 NONAME ; void CalenMonthView::populateNextMonth(void)
+ ?handleRightEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 49 NONAME ; void CalenMonthView::handleRightEffectCompleted(struct HbEffect::EffectStatus const &)
+ ?qt_metacast@CalenMonthGrid@@UAEPAXPBD@Z @ 50 NONAME ; void * CalenMonthGrid::qt_metacast(char const *)
+ ?firstDayOfGrid@CalenMonthView@@QAE?AVQDateTime@@XZ @ 51 NONAME ; class QDateTime CalenMonthView::firstDayOfGrid(void)
+ ?rowsInFutMonth@CalenMonthView@@QAEHXZ @ 52 NONAME ; int CalenMonthView::rowsInFutMonth(void)
+ ?getCurrGridIndex@CalenMonthView@@QAEHXZ @ 53 NONAME ; int CalenMonthView::getCurrGridIndex(void)
+ ?launchDayView@CalenMonthView@@QAEXXZ @ 54 NONAME ; void CalenMonthView::launchDayView(void)
+ ??1CalenDayViewWidget@@UAE@XZ @ 55 NONAME ; CalenDayViewWidget::~CalenDayViewWidget(void)
+ ??0CalenDayViewWidget@@QAE@AAVMCalenServices@@PAVCalenDocLoader@@@Z @ 56 NONAME ; CalenDayViewWidget::CalenDayViewWidget(class MCalenServices &, class CalenDocLoader *)
+ ?prependRows@CalenMonthGrid@@QAEXXZ @ 57 NONAME ; void CalenMonthGrid::prependRows(void)
+ ?orientationChanged@CalenMonthGrid@@MAEXW4Orientation@Qt@@@Z @ 58 NONAME ; void CalenMonthGrid::orientationChanged(enum Qt::Orientation)
+ ?qt_metacall@CalenPreviewPane@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 59 NONAME ; int CalenPreviewPane::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 60 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *, int)
+ ??1CalenThickLinesDrawer@@UAE@XZ @ 61 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(void)
+ ?setView@CalenPreviewPane@@QAEXPAVCalenMonthView@@@Z @ 62 NONAME ; void CalenPreviewPane::setView(class CalenMonthView *)
+ ??_ECalenMonthView@@UAE@I@Z @ 63 NONAME ; CalenMonthView::~CalenMonthView(unsigned int)
+ ?changeOrientation@CalenMonthView@@UAEXW4Orientation@Qt@@@Z @ 64 NONAME ; void CalenMonthView::changeOrientation(enum Qt::Orientation)
+ ?populatePreviewPane@CalenMonthView@@QAEXAAVQDateTime@@@Z @ 65 NONAME ; void CalenMonthView::populatePreviewPane(class QDateTime &)
+ ??0CalenSettingsView@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 66 NONAME ; CalenSettingsView::CalenSettingsView(class MCalenServices &, class QGraphicsItem *)
+ ?updateModelWithPrevMonth@CalenMonthView@@QAEXXZ @ 67 NONAME ; void CalenMonthView::updateModelWithPrevMonth(void)
+ ?stopScrolling@CalenPreviewPane@@QAEXXZ @ 68 NONAME ; void CalenPreviewPane::stopScrolling(void)
+ ?addBackgroundFrame@CalenMonthView@@AAEXXZ @ 69 NONAME ; void CalenMonthView::addBackgroundFrame(void)
+ ?createGrid@CalenMonthView@@AAEXXZ @ 70 NONAME ; void CalenMonthView::createGrid(void)
+ ?tr@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *)
+ ?getStaticMetaObject@CalenPreviewPane@@SAABUQMetaObject@@XZ @ 72 NONAME ; struct QMetaObject const & CalenPreviewPane::getStaticMetaObject(void)
+ ?launchPreviousView@CalenSettingsView@@AAEXXZ @ 73 NONAME ; void CalenSettingsView::launchPreviousView(void)
+ ?setCurrGridIndex@CalenMonthView@@QAEXH@Z @ 74 NONAME ; void CalenMonthView::setCurrGridIndex(int)
+ ?setDateToLabel@CalenMonthView@@AAEXXZ @ 75 NONAME ; void CalenMonthView::setDateToLabel(void)
+ ?addWeekNumbers@CalenMonthView@@AAEXXZ @ 76 NONAME ; void CalenMonthView::addWeekNumbers(void)
+ ?qt_metacall@CalenThickLinesDrawer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 77 NONAME ; int CalenThickLinesDrawer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setupView@CalenDayView@@QAEXPAVCalenDocLoader@@@Z @ 78 NONAME ; void CalenDayView::setupView(class CalenDocLoader *)
+ ??1CalenMonthView@@UAE@XZ @ 79 NONAME ; CalenMonthView::~CalenMonthView(void)
+ ?dateFromContext@CalenMonthView@@AAE?AVQDateTime@@ABVMCalenContext@@@Z @ 80 NONAME ; class QDateTime CalenMonthView::dateFromContext(class MCalenContext const &)
+ ?staticMetaObject@CalenMonthGrid@@2UQMetaObject@@B @ 81 NONAME ; struct QMetaObject const CalenMonthGrid::staticMetaObject
+ ?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *, int)
+ ?paint@CalenThickLinesDrawer@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 83 NONAME ; void CalenThickLinesDrawer::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?initializeForm@CalenSettingsView@@QAEXXZ @ 84 NONAME ; void CalenSettingsView::initializeForm(void)
+ ?handlePanGestureFinished@CalenMonthGrid@@AAEXXZ @ 85 NONAME ; void CalenMonthGrid::handlePanGestureFinished(void)
+ ?tr@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 86 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *, int)
+ ?goToToday@CalenMonthView@@AAEXXZ @ 87 NONAME ; void CalenMonthView::goToToday(void)
+ ?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 88 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *, int)
+ ?onContextChanged@CalenMonthView@@EAEXXZ @ 89 NONAME ; void CalenMonthView::onContextChanged(void)
+ ?qt_metacast@CalenPreviewPane@@UAEPAXPBD@Z @ 90 NONAME ; void * CalenPreviewPane::qt_metacast(char const *)
+ ?docLoader@CalenDayView@@QAEPAVCalenDocLoader@@XZ @ 91 NONAME ; class CalenDocLoader * CalenDayView::docLoader(void)
+ ?getCurrentIndex@CalenMonthGrid@@QAEHXZ @ 92 NONAME ; int CalenMonthGrid::getCurrentIndex(void)
+ ?tr@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 93 NONAME ; class QString CalenSettingsView::tr(char const *, char const *, int)
+ ?removeWeekNumbers@CalenMonthView@@AAEXXZ @ 94 NONAME ; void CalenMonthView::removeWeekNumbers(void)
+ ?trUtf8@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *, int)
+ ??0CalenMonthView@@QAE@AAVMCalenServices@@@Z @ 96 NONAME ; CalenMonthView::CalenMonthView(class MCalenServices &)
+ ?getStaticMetaObject@CalenThickLinesDrawer@@SAABUQMetaObject@@XZ @ 97 NONAME ; struct QMetaObject const & CalenThickLinesDrawer::getStaticMetaObject(void)
+ ?setNoEntriesLabel@CalenPreviewPane@@QAEXPAVHbLabel@@@Z @ 98 NONAME ; void CalenPreviewPane::setNoEntriesLabel(class HbLabel *)
+ ?clearListModel@CalenDayView@@QAEXXZ @ 99 NONAME ; void CalenDayView::clearListModel(void)
+ ??0CalenThickLinesDrawer@@QAE@W4WidgetType@CalendarNamespace@@PAVQGraphicsItem@@@Z @ 100 NONAME ; CalenThickLinesDrawer::CalenThickLinesDrawer(enum CalendarNamespace::WidgetType, class QGraphicsItem *)
+ ?onLocaleChanged@CalenMonthView@@UAEXH@Z @ 101 NONAME ; void CalenMonthView::onLocaleChanged(int)
+ ?doPopulation@CalenMonthView@@UAEXXZ @ 102 NONAME ; void CalenMonthView::doPopulation(void)
+ ?tr@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 103 NONAME ; class QString CalenMonthView::tr(char const *, char const *, int)
+ ?GetInstanceListL@CalenPreviewPane@@AAEXXZ @ 104 NONAME ; void CalenPreviewPane::GetInstanceListL(void)
+ ?getInstanceList@CalenMonthView@@AAEXAAV?$QList@VQDate@@@@VQDateTime@@1@Z @ 105 NONAME ; void CalenMonthView::getInstanceList(class QList<class QDate> &, class QDateTime, class QDateTime)
+ ?tr@CalenMonthView@@SA?AVQString@@PBD0@Z @ 106 NONAME ; class QString CalenMonthView::tr(char const *, char const *)
+ ??0CalenMonthGrid@@QAE@PAVQGraphicsItem@@@Z @ 107 NONAME ; CalenMonthGrid::CalenMonthGrid(class QGraphicsItem *)
+ ?refreshViewOnGoToDate@CalenMonthView@@EAEXXZ @ 108 NONAME ; void CalenMonthView::refreshViewOnGoToDate(void)
+ ?appendRows@CalenMonthGrid@@QAEXXZ @ 109 NONAME ; void CalenMonthGrid::appendRows(void)
+ ?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 110 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *, int)
+ ?mouseReleaseEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 111 NONAME ; void CalenMonthGrid::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?updateMonthGridWithInActiveMonths@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@@Z @ 112 NONAME ; void CalenMonthGrid::updateMonthGridWithInActiveMonths(class QList<class CalenMonthData> &)
+ ?getCurrentDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 113 NONAME ; class QDateTime CalenMonthView::getCurrentDay(void)
+ ?staticMetaObject@CalenPreviewPane@@2UQMetaObject@@B @ 114 NONAME ; struct QMetaObject const CalenPreviewPane::staticMetaObject
+ ?tr@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 115 NONAME ; class QString CalenSettingsView::tr(char const *, char const *)
+ ?onTwoSecondsTimeout@CalenPreviewPane@@QAEXXZ @ 116 NONAME ; void CalenPreviewPane::onTwoSecondsTimeout(void)
+ ?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 117 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *)
+ ?staticMetaObject@CalenThickLinesDrawer@@2UQMetaObject@@B @ 118 NONAME ; struct QMetaObject const CalenThickLinesDrawer::staticMetaObject
+ ?populateWithInstanceView@CalenMonthView@@AAEXXZ @ 119 NONAME ; void CalenMonthView::populateWithInstanceView(void)
+ ?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 120 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *)
+ ?downGesture@CalenMonthGrid@@MAEXH@Z @ 121 NONAME ; void CalenMonthGrid::downGesture(int)
+ ?populateLabel@CalenPreviewPane@@QAEXVQDateTime@@@Z @ 122 NONAME ; void CalenPreviewPane::populateLabel(class QDateTime)
+ ?doPopulation@CalenDayView@@UAEXXZ @ 123 NONAME ; void CalenDayView::doPopulation(void)
+ ??1CalenDayView@@UAE@XZ @ 124 NONAME ; CalenDayView::~CalenDayView(void)
+ ?updateModelWithFutureMonth@CalenMonthView@@QAEXXZ @ 125 NONAME ; void CalenMonthView::updateModelWithFutureMonth(void)
+ ?monthDataList@CalenMonthView@@QAE?AV?$QList@VCalenMonthData@@@@XZ @ 126 NONAME ; class QList<class CalenMonthData> CalenMonthView::monthDataList(void)
+ ?updateMonthGridModel@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@H_N@Z @ 127 NONAME ; void CalenMonthGrid::updateMonthGridModel(class QList<class CalenMonthData> &, int, bool)
+ ??1CalenMonthGrid@@UAE@XZ @ 128 NONAME ; CalenMonthGrid::~CalenMonthGrid(void)
+ ?metaObject@CalenThickLinesDrawer@@UBEPBUQMetaObject@@XZ @ 129 NONAME ; struct QMetaObject const * CalenThickLinesDrawer::metaObject(void) const
+ ?updateWeekNumGridModel@CalenMonthView@@AAEXXZ @ 130 NONAME ; void CalenMonthView::updateWeekNumGridModel(void)
+ ?qt_metacast@CalenThickLinesDrawer@@UAEPAXPBD@Z @ 131 NONAME ; void * CalenThickLinesDrawer::qt_metacast(char const *)
+ ?prepareForPopulation@CalenMonthView@@AAEXXZ @ 132 NONAME ; void CalenMonthView::prepareForPopulation(void)
+ ?handlePreviewPaneGesture@CalenMonthView@@QAEX_N@Z @ 133 NONAME ; void CalenMonthView::handlePreviewPaneGesture(bool)
+ ?setActiveDates@CalenMonthGrid@@AAEXVQDate@@@Z @ 134 NONAME ; void CalenMonthGrid::setActiveDates(class QDate)
+ ?trUtf8@CalenMonthView@@SA?AVQString@@PBD0@Z @ 135 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *)
+ ?setContextForActiveDay@CalenMonthView@@QAEXH@Z @ 136 NONAME ; void CalenMonthView::setContextForActiveDay(int)
+ ?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 137 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *)
+ ??_ECalenSettingsView@@UAE@I@Z @ 138 NONAME ; CalenSettingsView::~CalenSettingsView(unsigned int)
+ ??_ECalenThickLinesDrawer@@UAE@I@Z @ 139 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(unsigned int)
+ ?metaObject@CalenSettingsView@@UBEPBUQMetaObject@@XZ @ 140 NONAME ; struct QMetaObject const * CalenSettingsView::metaObject(void) const
+ ?getStaticMetaObject@CalenMonthView@@SAABUQMetaObject@@XZ @ 141 NONAME ; struct QMetaObject const & CalenMonthView::getStaticMetaObject(void)
+ ?paint@CalenMonthGrid@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 142 NONAME ; void CalenMonthGrid::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?qt_metacast@CalenSettingsView@@UAEPAXPBD@Z @ 143 NONAME ; void * CalenSettingsView::qt_metacast(char const *)
+ ?tr@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 144 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *)
+ ?qt_metacall@CalenMonthView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 145 NONAME ; int CalenMonthView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setActiveDay@CalenMonthView@@AAEXVQDateTime@@@Z @ 146 NONAME ; void CalenMonthView::setActiveDay(class QDateTime)
+ ?itemActivated@CalenMonthGrid@@QAEXABVQModelIndex@@@Z @ 147 NONAME ; void CalenMonthGrid::itemActivated(class QModelIndex const &)
+ ?qt_metacall@CalenMonthGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 148 NONAME ; int CalenMonthGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_ECalenPreviewPane@@UAE@I@Z @ 149 NONAME ; CalenPreviewPane::~CalenPreviewPane(unsigned int)
+ ?createEditor@CalenMonthView@@AAEXXZ @ 150 NONAME ; void CalenMonthView::createEditor(void)
+ ?getActiveDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 151 NONAME ; class QDateTime CalenMonthView::getActiveDay(void)
+ ?addRemoveActionsInMenu@CalenMonthView@@AAEXXZ @ 152 NONAME ; void CalenMonthView::addRemoveActionsInMenu(void)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/caleneditor/data/caleneditorlocationitem.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <widget name="calenEditorLocationWidget" type="HbWidget">
+ <widget name="locationLineEdit" type="HbLineEdit">
+ <real name="z" value="1"/>
+ <string name="text" value=""/>
+ </widget>
+ <widget name="locationPushButton" type="HbPushButton">
+ <real name="z" value="2"/>
+ <sizehint height="7.4un" type="MINIMUM" width="9.5un"/>
+ <sizehint height="7.4un" type="MAXIMUM" width="9.5un"/>
+ </widget>
+ <rect height="9.4un" name="geometry" width="53.73134un" x="0un" y="0un"/>
+ <sizehint height="9.4un" type="PREFERRED"/>
+ <sizehint height="9.4un" type="MINIMUM"/>
+ <sizehint height="9.4un" type="MAXIMUM"/>
+ <layout type="anchor">
+ <anchoritem dst="locationPushButton" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="locationPushButton" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="locationLineEdit" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="locationLineEdit" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-middle-horizontal)" src="locationPushButton" srcEdge="LEFT"/>
+ <anchoritem dst="locationLineEdit" dstEdge="CENTERV" spacing="0un" src="locationPushButton" srcEdge="CENTERV"/>
+ </layout>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/caleneditor/data/caleneditorview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="addDescriptionAction" type="HbAction">
+ <string locid="txt_calendar_opt_add_description" name="text" value="Add description"/>
+ </object>
+ <object name="deleteEventAction" type="HbAction">
+ <string locid="txt_calendar_opt_delete_event" name="text" value="Delete event"/>
+ </object>
+ <widget name="calenEditorview" type="HbView">
+ <widget name="calenEditorcontent" role="HbView:widget" type="HbWidget">
+ <widget name="calenEditorHeadingWidget" type="HbGroupBox">
+ <string locid="txt_calendar_subhead_new_event" name="titleText" value="New event"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="calenEditorDataFormWidget" type="HbDataForm">
+ <string name="description" value=""/>
+ <string name="heading" value=""/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="calenEditorHeadingWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="calenEditorHeadingWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="calenEditorHeadingWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="calenEditorDataFormWidget" dstEdge="TOP" spacing="0un" src="calenEditorHeadingWidget" srcEdge="BOTTOM"/>
+ <anchoritem dst="calenEditorDataFormWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="calenEditorDataFormWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="calenEditorDataFormWidget" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="calenEditorMenu" role="HbView:menu" type="HbMenu">
+ <ref object="addDescriptionAction" role="HbMenu:addAction"/>
+ <ref object="deleteEventAction" role="HbMenu:addAction"/>
+ </widget>
+ <string locid="txt_calendar_title_calendar" name="title" value="Calendar"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- a/calendarui/caleneditor/inc/caleneditor_p.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditor_p.h Fri May 14 15:51:09 2010 +0300
@@ -92,6 +92,7 @@
DateTimeToItem,
LocationItem,
ReminderItem,
+ ReminderTimeForAllDayItem,
RepeatItem,
RepeatUntilItem
};
@@ -104,7 +105,14 @@
AgendaEntry* originalEntry();
bool isNewEntry();
HbDataFormModelItem* allDayCheckBoxItem();
-
+ bool isReminderTimeForAllDayAdded();
+ bool isAllDayEvent();
+ void updateReminderChoices();
+ int currentIndexOfReminderField();
+ void setCurrentIndexOfReminderField(int index);
+ void setReminderChoices();
+ bool isEditRangeThisOnly();
+ bool isAllDayFieldAdded();
private:
void edit(const QFile &handle, bool launchCalendar);
void edit(AgendaEntry entry, bool launchCalendar);
@@ -113,6 +121,7 @@
bool launchCalendar);
void create(CalenEditor::CreateType type, AgendaEntry entry,
bool launchCalendar);
+ void openEditor(AgendaEntry entry);
void showEditor(AgendaEntry entry);
void showEditOccurencePopup();
void setUpView();
@@ -135,7 +144,6 @@
void populateRepeatItem();
void populateDescriptionItem();
void removeDescriptionItem();
- void closeEditor();
bool isChild() const ;
@@ -144,7 +152,6 @@
void deleteEntry(bool close = false);
bool handleAllDayToSave();
void enableFromTotimeFileds(bool, QDateTime, QDateTime);
- int showDeleteConfirmationQuery();
private slots:
void handleSubjectChange(const QString subject);
@@ -154,6 +161,7 @@
void handleLocationChange(const QString location);
void handleDescriptionChange(const QString description);
void saveAndCloseEditor();
+ void showDeleteConfirmationQuery(bool closeEditor = false);
void handleDeleteAction();
void launchSettingsView();
void discardChanges();
@@ -161,6 +169,7 @@
void handleEditOccurence(int index);
void handleCancel();
void handleCalendarLaunchError(int error);
+ void closeEditor();
private:
enum EditRange {
@@ -191,7 +200,8 @@
EditRange mEditRange;
QDateTime mNewEntryDateTime;
-
+
+ AgendaEntry mEntry;
AgendaEntry *mOriginalEntry;
AgendaEntry *mEditedEntry;
--- a/calendarui/caleneditor/inc/caleneditorcommon.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorcommon.h Fri May 14 15:51:09 2010 +0300
@@ -35,7 +35,8 @@
CustomWidgetFrom = HbDataFormModelItem::CustomItemBase + 1,
CustomWidgetTo,
CustomWidgetLocation,
- RepeatUntilOffset
+ RepeatUntilOffset,
+ ReminderTimeOffset
};
#endif /* CALENEDITORCOMMON_H_ */
--- a/calendarui/caleneditor/inc/caleneditorcustomitem.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorcustomitem.h Fri May 14 15:51:09 2010 +0300
@@ -39,6 +39,7 @@
~CalenEditorCustomItem();
virtual HbAbstractViewItem* createItem();
void enableFromTimeFieldAndSetTime(bool, QDateTime);
+ void disableFromToDateField();
void enableToTimeFieldAndSetTime(bool, QDateTime);
void populateDateTime(QDateTime defaultDateTime, bool isFromItem);
void populateLocation( QString location);
@@ -78,6 +79,7 @@
HbPushButton* mPushButtonTime;
HbPushButton* mPushButtonDate;
HbPushButton *mRepeatUntilWidget;
+ HbPushButton *mReminderTimeWidget;
HbDateTimePicker *mDatePicker;
HbDateTimePicker *mTimePicker;
--- a/calendarui/caleneditor/inc/caleneditorreminderfield.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorreminderfield.h Fri May 14 15:51:09 2010 +0300
@@ -30,6 +30,7 @@
class HbDataFormModelItem;
class HbDataForm;
class HbDataFormModelItem;
+class HbDateTimePicker;
class CalenEditorDataHandler;
class CalenEditorReminderField : public QObject
@@ -43,20 +44,37 @@
virtual ~CalenEditorReminderField();
public:
+ void setReminderChoices();
void addItemToModel();
void removeItemFromModel();
void populateReminderItem(bool newEntry);
QModelIndex modelIndex();
-
+ void setReminderOff();
+ void setDefaultAlarmForAllDay();
+ void updateReminderChoicesForAllDay(QDate repeatUntilDate);
+ void insertReminderTimeField();
+ void setDisplayTime();
+ void removeReminderTimeField();
+ bool isReminderFieldEnabled();
+ int reminderItemsCount();
+ int currentReminderIndex();
+ void setCurrentIndex(int index);
+ void disableReminderTimeField();
+ bool isReminderTimeForAllDayAdded();
private slots:
void handleReminderIndexChanged(int index);
-
+ void launchReminderTimePicker();
+ void setReminderTimeForAllDay();
private:
CalenEditorPrivate* mCalenEditor;
HbDataForm* mEditorForm;
HbDataFormModel* mCalenEditorModel;
HbDataFormModelItem* mReminderItem;
+ HbDataFormModelItem *mCustomReminderTimeItem;
+ HbDateTimePicker *mTimePicker;
+ QTime mReminderTimeForAllDay;
QHash<int, int> mReminderHash;
+ bool mReminderTimeAdded;
};
#endif // CALENEDITORREMINDERFIELD_H
--- a/calendarui/caleneditor/inc/caleneditorrepeatfield.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorrepeatfield.h Fri May 14 15:51:09 2010 +0300
@@ -53,6 +53,7 @@
void updateRepeatChoices();
void saveRepeatRule();
bool isRepeatUntilItemAdded();
+ QDate repeatUntilDate();
private:
void insertRepeatUntilItem();
--- a/calendarui/caleneditor/src/caleneditor_p.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditor_p.cpp Fri May 14 15:51:09 2010 +0300
@@ -41,7 +41,6 @@
#include <hbextendedlocale.h>
#include <hbi18ndef.h>
#include <qdatetime.h>
-#include <HbMessageBox>
#include <hbgroupbox.h>
#include <hbapplication.h>
#include <hbradiobuttonlist.h>
@@ -290,7 +289,7 @@
{
mNewEntry = false;
mLaunchCalendar = launchCalendar;
- showEditor(entry);
+ openEditor(entry);
}
/*!
@@ -326,7 +325,7 @@
break;
}
mLaunchCalendar = launchCalendar;
- showEditor(entry);
+ openEditor(entry);
}
/*!
@@ -350,7 +349,7 @@
}
mNewEntryDateTime = entry.startTime();
mLaunchCalendar = launchCalendar;
- showEditor(entry);
+ openEditor(entry);
}
/*!
@@ -358,10 +357,11 @@
*/
void CalenEditorPrivate::showEditOccurencePopup()
{
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout);
-
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+
QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
HbWidget *editWidget = new HbWidget();
editWidget->setLayout(layout);
@@ -376,22 +376,20 @@
layout->addItem(editButtonList);
- popUp.setContentWidget(editWidget);
- popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_edit")));
+ popUp->setContentWidget(editWidget);
+ popUp->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_edit")));
- // Create secondary action
+ // Create cancel action
HbAction *cancelAction =
new HbAction(hbTrId("txt_calendar_button_softkey1_cancel"));
- popUp.setSecondaryAction(cancelAction);
+ popUp->addAction(cancelAction);
connect(editButtonList, SIGNAL(itemSelected(int)), this,
SLOT(handleEditOccurence(int)));
- connect(editButtonList, SIGNAL(itemSelected(int)), &popUp, SLOT(close()));
-
- connect(cancelAction, SIGNAL(triggered()), &popUp, SLOT(close()));
+ connect(editButtonList, SIGNAL(itemSelected(int)), popUp, SLOT(close()));
connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleCancel()));
// Show the popup
- popUp.exec();
+ popUp->open();
}
/*!
@@ -409,6 +407,13 @@
mEditRange = ThisAndAll;
break;
}
+ // If user has selected to edit all the occurences,
+ // then get the parent of it
+ AgendaEntry entryToBeEdited = mEntry;
+ if (mEditRange == ThisAndAll) {
+ entryToBeEdited = mAgendaUtil->parentEntry(mEntry);
+ }
+ showEditor(entryToBeEdited);
}
/*!
@@ -418,6 +423,36 @@
{
// User has chosen not to edit the event, hence return
mEditRange = UserCancelled;
+ // Do cleanup and return
+ emit q_ptr->dialogClosed();
+ return;
+}
+
+/*!
+ Opens the editor.
+ */
+void CalenEditorPrivate::openEditor(AgendaEntry entry)
+{
+ if (0 < entry.id()) {
+ mNewEntry = false;
+ }
+ if (!mNewEntry) {
+ // Before we do anything, check in the entry is repeating
+ // OR its a child item
+ mIsChild = !(entry.recurrenceId().isNull());
+ bool isRepeating = entry.isRepeating();
+ // For later reference
+ mEntry = entry;
+ if (mIsChild || isRepeating) {
+ // Query user if he wants to edit whole series
+ // or just this occurence
+ showEditOccurencePopup();
+ return;
+ }else {
+ mEditRange = ThisAndAll;
+ }
+ }
+ showEditor(entry);
}
/*!
@@ -425,52 +460,23 @@
*/
void CalenEditorPrivate::showEditor(AgendaEntry entry)
{
-
- if (0 < entry.id()) {
- mNewEntry = false;
- }
-
- AgendaEntry entryToBeEdited = entry;
- if (!mNewEntry) {
- // Before we do anything, check in the entry is repeating
- // OR its a child item
- mIsChild = !(entry.recurrenceId().isNull());
- bool isRepeating = entry.isRepeating();
- if (mIsChild || isRepeating) {
- // Query user if he wants to edit whole series
- // or just this occurence
- showEditOccurencePopup();
- // If user has selected to edit all the occurences,
- // then get the parent of it
- if (mEditRange == ThisAndAll) {
- entryToBeEdited = mAgendaUtil->parentEntry(entry);
- } else if (mEditRange == UserCancelled) {
- // Do cleanup and return
- emit q_ptr->dialogClosed();
- return;
- }
- } else {
- mEditRange = ThisAndAll;
- }
- }
-
- mOriginalEntry = new AgendaEntry(entryToBeEdited);
- mEditedEntry = new AgendaEntry(entryToBeEdited);
+ mOriginalEntry = new AgendaEntry(entry);
+ mEditedEntry = new AgendaEntry(entry);
if (!mEditedEntry->description().isEmpty()) {
mDescriptionItemAdded = true;
}
// Construct the view using docloader
setUpView();
-
+
// Set the title text.
mEditorView->setTitle(hbTrId("txt_calendar_title_calendar"));
- mSoftKeyAction = new HbAction(Hb::BackAction);
+ mSoftKeyAction = new HbAction(Hb::BackNaviAction);
mEditorView->setNavigationAction(mSoftKeyAction);
connect(mSoftKeyAction, SIGNAL(triggered()), this,
SLOT(saveAndCloseEditor()));
-
+
// Create the data handler
mDataHandler = new CalenEditorDataHandler(this,mEditedEntry, mOriginalEntry);
}
@@ -514,7 +520,7 @@
mEditorDocLoader->findObject(
CALEN_EDITOR_DELETE_EVENT_ACTION));
connect(deleteEventAction, SIGNAL(triggered()), this,
- SLOT(handleDeleteAction()));
+ SLOT(showDeleteConfirmationQuery()));
if (!mNewEntry) {
//TODO: Add the text id based on the entry type Anniversary or meeting
@@ -582,14 +588,9 @@
// Add all day check box for new entry creation or while editing
// parent entry or existing non repeating event
- if (mNewEntry) {
+ if (mNewEntry || (mEditRange == ThisAndAll)) {
addAllDayCheckBoxItem();
- } else {
- if (!mEditedEntry->isRepeating() || (mEditRange == ThisAndAll)) {
- addAllDayCheckBoxItem();
- }
}
-
addCustomItemFrom();
addCustomItemTo();
addCustomItemLocation();
@@ -598,7 +599,6 @@
if (mEditRange == ThisAndAll) {
addRepeatItem();
}
-
mCalenEditorForm->setModel(mCalenEditorModel);
}
@@ -793,7 +793,7 @@
QDateTime endTime =
mEditedEntry-> startTime().addSecs(durationInSeconds);
- // set this to the original entr as well as edited entry
+ // set this to the original entry as well as edited entry
mOriginalEntry->setStartAndEndTime(mOriginalEntry->startTime(),
endTime);
mEditedEntry->setStartAndEndTime(mEditedEntry->startTime(), endTime);
@@ -859,6 +859,12 @@
nextInstanceStartTime.addDays(-1).date());
mViewToItem->setDateRange(prevInstanceEndTime.date().addDays(1),
nextInstanceEndTime.date().addDays(-1));
+
+ // If repeating daily then disable the date fields as
+ // date cannot be changed
+ if (mEditedEntry->repeatRule().type() == AgendaRepeatRule::DailyRule) {
+ mViewFromItem->disableFromToDateField();
+ }
}
} else {
toDateTime = fromDateTime.addSecs(60 * 60);
@@ -871,9 +877,9 @@
if (mNewEntry) {
mOriginalEntry->setStartAndEndTime(fromDateTime, toDateTime);
}
- if (mAllDayCheckBoxItem
- && (mAllDayCheckBoxItem->contentWidgetData("checkState")
- == Qt::Checked)) {
+ if ((mAllDayCheckBoxItem &&
+ (mAllDayCheckBoxItem->contentWidgetData("checkState") == Qt::Checked))
+ || (!mNewEntry && mEditedEntry->type() == AgendaEntry::TypeEvent)) {
// If the all day option is checked, we need to
// disable the time fields
enableFromTotimeFileds(false, mEditedEntry->startTime(),
@@ -898,11 +904,11 @@
}
QModelIndex index = mCalenEditorModel->index(itemIndex, 0);
mViewLocationItem = qobject_cast<CalenEditorCustomItem *>
- (mCalenEditorForm->dataFormViewItem(index));
-
+ (mCalenEditorForm->itemByIndex(index));
+
connect(mViewLocationItem, SIGNAL(locationTextChanged(const QString)),
this, SLOT(handleLocationChange(const QString)));
-
+
mViewLocationItem->populateLocation(mEditedEntry->location());
}
/*!
@@ -935,6 +941,49 @@
// update the repeat choices depending on the meeting duration
mRepeatField->updateRepeatChoices();
}
+
+ updateReminderChoices();
+}
+
+void CalenEditorPrivate::updateReminderChoices()
+{
+ QDate referenceDate;
+
+ // Start date or repeat until date will be the reference to decide
+ // whether the event is in past or future.
+ if (mRepeatField && mRepeatField->isRepeatUntilItemAdded()) {
+ referenceDate = mRepeatField->repeatUntilDate();
+ } else {
+ referenceDate = mEditedEntry->startTime().date();
+ }
+
+ // Check if all day event or not.
+ if (isAllDayEvent()) {
+ int currentIndex = mReminderField->currentReminderIndex();
+ mReminderField->updateReminderChoicesForAllDay(referenceDate);
+ int numberOfReminderChoices = mReminderField->reminderItemsCount();
+ if (currentIndex >= numberOfReminderChoices) {
+ currentIndex = 0;
+ mReminderField->disableReminderTimeField();
+ }
+ mReminderField->setCurrentIndex(currentIndex);
+ if(currentIndex == 0 && mReminderField->isReminderTimeForAllDayAdded()) {
+ mReminderField->removeReminderTimeField();
+ }
+ } else {
+ if ((referenceDate < QDate::currentDate())
+ || (referenceDate == QDate::currentDate()
+ && (mEditedEntry->startTime().time() < QTime::currentTime())))
+ {
+ mReminderField->setReminderOff();
+ } else {
+ // Enabled implies future. If changing from future to future do not
+ // do anything.
+ if (!mReminderField->isReminderFieldEnabled()) {
+ mReminderField->setReminderChoices();
+ }
+ }
+ }
}
/*!
@@ -943,17 +992,21 @@
void CalenEditorPrivate::saveToDateTime(QDateTime& toDateTime)
{
QDateTime startTime = mEditedEntry->startTime();
+ bool fromDateChanged = false;
// Update the start time accordingly on UI - duration will be 60 mins
// bydefault for new entry and if it crosses the starttime
if (mNewEntry && toDateTime < startTime) {
startTime = toDateTime.addSecs(-3600);
- } else { // for exisitng entry
+ fromDateChanged = true;
+ } else {
+ // for exisitng entry
// we need to see if user has moved end time before the start time
// then substract the duration of the meeting that was saved earlier to
// the new end time to get the new start time
if (toDateTime < startTime) {
int duration = mEditedEntry->durationInSecs();
startTime = toDateTime.addSecs(-duration);
+ fromDateChanged = true;
}
}
// Set the new start time to the form
@@ -968,6 +1021,11 @@
// update the repeat choices depending on the meeting duration
mRepeatField->updateRepeatChoices();
}
+
+ // Update reminder choices if start time got changed.
+ if (fromDateChanged) {
+ updateReminderChoices();
+ }
}
/*!
@@ -977,11 +1035,14 @@
{
// Check if all day has been added or not
// and calculate the index accordingly
+ // all day added implies reminder time field is also added
int index;
- if (mIsAllDayItemAdded) {
+ if (mIsAllDayItemAdded && !isReminderTimeForAllDayAdded()) {
+ index = RepeatItem - 1;
+ } else if (!mNewEntry && isReminderTimeForAllDayAdded()) {
index = RepeatItem;
} else {
- index = RepeatItem - 1;
+ index = RepeatItem - 2;
}
mRepeatField->populateRepeatItem(index);
@@ -1096,13 +1157,38 @@
tempEndTime.setTime(tempEndQTime);
enableFromTotimeFileds(false, tempSartTime, tempEndTime);
+ QDate referenceDate;
+ if (mRepeatField->isRepeatUntilItemAdded()) {
+ referenceDate = mRepeatField->repeatUntilDate();
+ } else {
+ referenceDate = mEditedEntry->startTime().date();
+ }
+ mReminderField->updateReminderChoicesForAllDay(referenceDate);
+ // If the reminder field is enabled and it is not off
+ // it implies default alarm day and time is being displayed.
+ if (mReminderField->isReminderFieldEnabled() &&
+ mReminderField->currentReminderIndex() != 0) {
+ // Set the default alarm for all day.
+ mReminderField->setDefaultAlarmForAllDay();
+ } else {
+ // Remove reminder time field.
+ mReminderField->removeReminderTimeField();
+ }
} else {
// AllDayCheckBox in un-checked
// Set From/To times buttons editable
// Update Start/End Times with Edited entry values
enableFromTotimeFileds(true, mEditedEntry->startTime(),
mEditedEntry->endTime());
-
+ int index;
+ if (mIsAllDayItemAdded) {
+ index = ReminderTimeForAllDayItem;
+ } else {
+ index = ReminderTimeForAllDayItem - 1;
+ }
+ mReminderField->removeReminderTimeField();
+ mReminderField->setReminderChoices();
+ updateReminderChoices();
}
addDiscardAction();
}
@@ -1135,7 +1221,9 @@
void CalenEditorPrivate::saveAndCloseEditor()
{
Action action = handleDone();
- closeEditor();
+ if (CalenEditorPrivate::ActionDelete != action) {
+ closeEditor();
+ }
if (CalenEditorPrivate::ActionSave == action) {
// check if we need to launch the calendar application
@@ -1165,17 +1253,14 @@
*/
void CalenEditorPrivate::handleDeleteAction()
{
-
+ // If its a new entry just close the editor
if (mNewEntry) {
- if (showDeleteConfirmationQuery()) {
- closeEditor();
- }
+ closeEditor();
return;
+ }else {
+ // Delete entry and close editor
+ deleteEntry(true);
}
-
- // Delete entry and close editor
- deleteEntry(true);
-
}
/*!
@@ -1198,14 +1283,12 @@
/*!
* Show delete confirmation query
*/
-int CalenEditorPrivate::showDeleteConfirmationQuery()
+void CalenEditorPrivate::showDeleteConfirmationQuery(bool closeEditor)
{
- int retStatus = 0;
-
- HbMessageBox popup(HbMessageBox::MessageTypeQuestion);
- popup.setDismissPolicy(HbDialog::NoDismiss);
- popup.setTimeout(HbDialog::NoTimeout);
- popup.setIconVisible(true);
+ HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+ popup->setDismissPolicy(HbDialog::NoDismiss);
+ popup->setTimeout(HbDialog::NoTimeout);
+ popup->setAttribute( Qt::WA_DeleteOnClose, true );
QString text = 0;
@@ -1225,18 +1308,27 @@
}
}
- popup.setText(text);
-
- popup.setPrimaryAction(new HbAction(hbTrId("txt_calendar_button_delete"),
- &popup));
- popup.setSecondaryAction(new HbAction(hbTrId("txt_calendar_button_cancel"),
- &popup));
- HbAction *selected = popup.exec();
- if (selected == popup.primaryAction()) {
- retStatus = 1;
+ popup->setText(text);
+
+ QList<QAction*> list = popup->actions();
+ for(int i=0; i < list.count(); i++)
+ {
+ popup->removeAction(list[i]);
+ }
+ HbAction *deleteAction = new HbAction(hbTrId("txt_calendar_button_delete"),
+ popup);
+ popup->addAction(deleteAction);
+ connect(deleteAction, SIGNAL(triggered()), this,
+ SLOT(handleDeleteAction()));
+ HbAction *cancelAction = new HbAction(hbTrId("txt_calendar_button_cancel"),
+ popup);
+ // Editor should not be closed for all the cases when cancel is pressed
+ if(closeEditor) {
+ connect(cancelAction, SIGNAL(triggered()), this,
+ SLOT(closeEditor()));
}
-
- return retStatus;
+ popup->addAction(cancelAction);
+ popup->open();
}
/*!
@@ -1273,7 +1365,7 @@
}
return CalenEditorPrivate::ActionNothing;
case CalenEditorPrivate::ActionDelete:
- deleteEntry();
+ showDeleteConfirmationQuery(true);
return CalenEditorPrivate::ActionDelete;
case CalenEditorPrivate::ActionNothing:
return CalenEditorPrivate::ActionNothing;
@@ -1341,26 +1433,22 @@
*/
void CalenEditorPrivate::deleteEntry(bool close)
{
-
// if editor is launched from Notes then don't delete entry
// Just exit from calendar editor
if (mOriginalEntry->id() > 0) {
-
// If user is editing single instanc then delete single instance
// else delete entry
- if (showDeleteConfirmationQuery()) {
- if (mEditRange == ThisOnly) {
- // User wants to delete only this occurence
- mAgendaUtil->deleteRepeatedEntry(*mOriginalEntry,
- AgendaUtil::ThisOnly);
- } else {
- // Delete the entry.
- mAgendaUtil->deleteEntry(mOriginalEntry->id());
- }
+ if (mEditRange == ThisOnly) {
+ // User wants to delete only this occurence
+ mAgendaUtil->deleteRepeatedEntry(*mOriginalEntry,
+ AgendaUtil::ThisOnly);
+ } else {
+ // Delete the entry.
+ mAgendaUtil->deleteEntry(mOriginalEntry->id());
+ }
- if (close) {
- closeEditor();
- }
+ if (close) {
+ closeEditor();
}
}
}
@@ -1462,4 +1550,74 @@
{
return mAllDayCheckBoxItem;
}
+
+/*!
+ Checks if all day item is added and if selected implies reminder time is added.
+ When editing single occurence irrespective of type of the event
+ the all day item is not shown.
+ Used to calculate the index of other items which are dependant on this.
+ */
+bool CalenEditorPrivate::isReminderTimeForAllDayAdded()
+{
+ return mReminderField->isReminderTimeForAllDayAdded();
+}
+
+/*!
+ Checks if it is an all day event or not.
+ */
+bool CalenEditorPrivate::isAllDayEvent()
+{
+ if (mAllDayCheckBoxItem) {
+ return (mAllDayCheckBoxItem->contentWidgetData("checkState")
+ == Qt::Checked)? true:false;
+ } else if (!mNewEntry && mEditedEntry->type() == AgendaEntry::TypeEvent) {
+ // If editing single occurence then all day item not shown but still it
+ // is an all day event..
+ return true;;
+ } else {
+ return false;
+ }
+}
+
+/*!
+ Returns the current index of the reminder field.
+ */
+int CalenEditorPrivate::currentIndexOfReminderField()
+{
+ return mReminderField->currentReminderIndex();
+}
+
+/*!
+ Sets the index.
+ /param index indicates the index value to be set.
+ */
+void CalenEditorPrivate::setCurrentIndexOfReminderField(int index)
+{
+ mReminderField->setCurrentIndex(index);
+}
+
+/*!
+ Sets the reminder choices for a non all day event.
+ */
+void CalenEditorPrivate::setReminderChoices()
+{
+ mReminderField->setReminderChoices();
+}
+
+/*!
+ Checks if editing all occurences or a single occurence.
+ */
+bool CalenEditorPrivate::isEditRangeThisOnly()
+{
+ return (mEditRange == ThisOnly);
+}
+
+/*!
+ Checks if all day field is added.
+ */
+bool CalenEditorPrivate::isAllDayFieldAdded()
+{
+ return mIsAllDayItemAdded;
+}
+
// End of file --Don't remove this.
--- a/calendarui/caleneditor/src/caleneditorcustomitem.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditorcustomitem.cpp Fri May 14 15:51:09 2010 +0300
@@ -113,7 +113,8 @@
case CustomWidgetTo:
{
HbWidget *widgetBottom = new HbWidget();
- QGraphicsLinearLayout *layoutBottom = new QGraphicsLinearLayout(Qt::Horizontal);
+ QGraphicsLinearLayout *layoutBottom =
+ new QGraphicsLinearLayout(Qt::Horizontal);
widgetBottom->setLayout(layoutBottom);
mPushButtonTime = new HbPushButton(this);
@@ -133,20 +134,27 @@
CalenEditorDocLoader editorLocationDocLoader;
bool loadSuccess = false;
- editorLocationDocLoader.load(CALEN_EDITOR_LOCATION_XML_FILE, &loadSuccess);
+ editorLocationDocLoader.load(CALEN_EDITOR_LOCATION_XML_FILE,
+ &loadSuccess);
Q_ASSERT_X(loadSuccess, "caleneditor.cpp",
- "Unable to load caleneditor location view XML");
- HbWidget* widgetLocation = qobject_cast<HbWidget *> (editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION));
-
- mLocationLineEdit = qobject_cast<HbLineEdit *>( editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION_LINEEDIT));
+ "Unable to load caleneditor location view XML");
+ HbWidget* widgetLocation = qobject_cast<HbWidget *> (
+ editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION));
+
+ mLocationLineEdit = qobject_cast<HbLineEdit *>(
+ editorLocationDocLoader.findWidget(
+ CALEN_EDITOR_LOCATION_LINEEDIT));
mLocationLineEdit->setMinRows(1);
mLocationLineEdit->setMaxRows(4);
- mLocationPushButton = qobject_cast<HbPushButton*>(editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION_PUSHBUTTON));
+ mLocationPushButton = qobject_cast<HbPushButton*>(
+ editorLocationDocLoader.findWidget(
+ CALEN_EDITOR_LOCATION_PUSHBUTTON));
mLocationPushButton->setIcon( HbIcon("qtg_mono_location"));
- connect(mLocationPushButton, SIGNAL(clicked()), this, SLOT(launchLocationPicker()));
+ connect(mLocationPushButton, SIGNAL(clicked()), this,
+ SLOT(launchLocationPicker()));
connect(mLocationLineEdit, SIGNAL(textChanged(const QString)),
- this, SLOT(handleLocationTextChange(const QString)));
+ this, SLOT(handleLocationTextChange(const QString)));
return widgetLocation;
}
@@ -156,7 +164,12 @@
return mRepeatUntilWidget;
}
-
+ case ReminderTimeOffset:
+ {
+ mReminderTimeWidget = new HbPushButton(this);
+ return mReminderTimeWidget;
+ }
+
default:
return 0;
}
@@ -204,6 +217,10 @@
mLocationLineEdit->setText(locationString );
}
}
+
+/*!
+ Populates the date and time in proper formats on the buttons
+ */
void CalenEditorCustomItem::populateDateTime(QDateTime defaultDateTime, bool isFromItem)
{
// Store the date and time to be shown
@@ -213,17 +230,22 @@
mIsFromItem = isFromItem;
mPushButtonDate->setText(mLocale.format(defaultDateTime.date(),
- r_qtn_date_usual_with_zero));
+ r_qtn_date_usual_with_zero));
mPushButtonTime->setText(mLocale.format(defaultDateTime.time(),
- r_qtn_time_usual_with_zero));
+ r_qtn_time_usual_with_zero));
}
+/*!
+ Sets the location on the button
+ */
void CalenEditorCustomItem::populateLocation(QString location )
{
mLocationLineEdit->setText( location );
-
}
+/*!
+ Sets the date range
+ */
void CalenEditorCustomItem::setDateRange(QDate start, QDate end)
{
mMaxDate = end;
@@ -236,82 +258,104 @@
}
}
+/*!
+ Sets the time range
+ */
void CalenEditorCustomItem::setTimeRange(QTime start, QTime end)
{
mMaxTime = start;
mMinTime = end;
}
+/*!
+ Enables the date button
+ */
void CalenEditorCustomItem::enableDateButton(bool value)
{
mPushButtonDate->setEnabled(value);
}
-
+/*!
+ Handles the location change
+ */
void CalenEditorCustomItem::handleLocationTextChange(QString location)
{
emit locationTextChanged(location);
}
-
-
+/*!
+ Launches the date picker
+ */
void CalenEditorCustomItem::handleDate()
{
- // Create a date picker
- mDatePicker = new HbDateTimePicker(mDate, this);
- mDatePicker->setMinimumDate(mMinDate);
- mDatePicker->setMaximumDate(mMaxDate);
-
// Create a popup with datepicker for the user to select date.
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout);
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
// Set the proper heading
if (mIsFromItem) {
- popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_start_date")));
- }else {
- popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_end_date")));
- }
-
- popUp.setContentWidget(mDatePicker);
+ popUp->setHeadingWidget(
+ new HbLabel(hbTrId("txt_calendar_title_start_date")));
+ }else {
+ popUp->setHeadingWidget(
+ new HbLabel(hbTrId("txt_calendar_title_end_date")));
+ }
+ // Create a date picker
+ if(mDatePicker) {
+ mDatePicker = NULL;
+ }
+ mDatePicker = new HbDateTimePicker(mDate, popUp);
+ mDatePicker->setMinimumDate(mMinDate);
+ mDatePicker->setMaximumDate(mMaxDate);
+
+ popUp->setContentWidget(mDatePicker);
HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
- popUp.setPrimaryAction(okAction);
+ popUp->addAction(okAction);
connect(okAction, SIGNAL(triggered()), this, SLOT(saveDate()));
- connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
- popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel")));
- popUp.exec();
+ popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel")));
+ popUp->open();
}
+/*!
+ Launches the time picker
+ */
void CalenEditorCustomItem::handleTime()
{
+ // Create a popup with time picker for the user to select time.
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+
+ // Set the proper heading
+ if (mIsFromItem) {
+ popUp->setHeadingWidget(
+ new HbLabel(hbTrId("txt_calendar_title_start_time")));
+ }else {
+ popUp->setHeadingWidget(
+ new HbLabel(hbTrId("txt_calendar_title_end_time")));
+ }
// Create a time picker.
- mTimePicker = new HbDateTimePicker(mTime, this);
+ if(mTimePicker) {
+ mTimePicker = NULL;
+ }
+ mTimePicker = new HbDateTimePicker(mTime, popUp);
+
if(mLocale.timeStyle() == HbExtendedLocale::Time12) {
mTimePicker->setDisplayFormat("hh:mm ap");
}else {
mTimePicker->setDisplayFormat("hh:mm");
}
mTimePicker->setTime(mTime);
- // Create a popup with time picker for the user to select time.
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout);
-
- // Set the proper heading
- if (mIsFromItem) {
- popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_start_time")));
- }else {
- popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_end_time")));
- }
-
- popUp.setContentWidget(mTimePicker);
+ popUp->setContentWidget(mTimePicker);
+
HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
- popUp.setPrimaryAction(okAction);
+ popUp->addAction(okAction);
connect(okAction, SIGNAL(triggered()), this, SLOT(saveTime()));
- connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
- popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"), &popUp));
- popUp.exec();
+ popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
+ popUp->open();
}
/*!
@@ -356,6 +400,15 @@
}
/*!
+ Disable Date field.
+ */
+void CalenEditorCustomItem::disableFromToDateField()
+{
+ // disable the date field.
+ mPushButtonDate->setEnabled(false);
+}
+
+/*!
Enable/Desable ToTime filed and update time value
*/
void CalenEditorCustomItem::enableToTimeFieldAndSetTime(bool enableTimeFiles, QDateTime toDateTime)
@@ -364,7 +417,8 @@
mPushButtonTime->setEnabled(enableTimeFiles);
// Set ToTime in Editor
- mPushButtonTime->setText(mLocale.format(toDateTime.time(),r_qtn_time_usual_with_zero));
+ mPushButtonTime->setText(mLocale.format(
+ toDateTime.time(),r_qtn_time_usual_with_zero));
}
/*!
@@ -377,7 +431,7 @@
index.data(HbDataFormModelItem::ItemTypeRole).toInt());
if(itemType == CustomWidgetFrom || itemType == CustomWidgetTo || itemType == RepeatUntilOffset
- || itemType == CustomWidgetLocation ) {
+ || itemType == CustomWidgetLocation || itemType == ReminderTimeOffset ) {
return true;
} else {
return false;
@@ -400,6 +454,12 @@
mRepeatUntilWidget->setText(modelItem->contentWidgetData("text").toString());
}
break;
+
+ case ReminderTimeOffset:
+ {
+ mReminderTimeWidget->setText(modelItem->contentWidgetData("text").toString());
+ }
+ break;
}
}
--- a/calendarui/caleneditor/src/caleneditorreminderfield.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditorreminderfield.cpp Fri May 14 15:51:09 2010 +0300
@@ -18,13 +18,22 @@
// System Includes
+#include <QDate>
+
#include <hbdataformmodelitem.h>
#include <hbdataformmodel.h>
#include <hbdataform.h>
+#include <hbdatetimepicker.h>
+#include <hbextendedlocale.h>
+#include <hbi18ndef.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
// User Includes
#include "caleneditorreminderfield.h"
+#define numberOfMinutesInADay 1440
/*!
\class CalenEditorReminderField
*/
@@ -42,35 +51,16 @@
:QObject(parent),
mCalenEditor(calenEditor),
mEditorForm(form),
- mCalenEditorModel(model)
+ mCalenEditorModel(model),
+ mCustomReminderTimeItem(NULL),
+ mReminderTimeAdded(false)
{
mReminderItem = new HbDataFormModelItem();
mReminderItem->setType(HbDataFormModelItem::ComboBoxItem);
mReminderItem->setData(HbDataFormModelItem::LabelRole,
- hbTrId("txt_calendar_setlabel_alarm"));
- // Create the remaindar choices
- QStringList remaindarChoices;
- remaindarChoices << hbTrId("txt_calendar_setlabel_alarm_val_off")
- << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 5)
- << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 10)
- << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 15)
- << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 30)
- << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 1)
- << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 2);
-
- mReminderItem->setContentWidgetData(QString("items"), remaindarChoices);
-
- // Build the hash map for the reminder.
- mReminderHash[0] = 0; // OFF.
- mReminderHash[1] = 5;
- mReminderHash[2] = 10;
- mReminderHash[3] = 15;
- mReminderHash[4] = 30;
- mReminderHash[5] = 60;
- mReminderHash[6] = 120;
-
+ hbTrId("txt_calendar_setlabel_alarm"));
// Add it to the model
- mCalenEditorModel->appendDataFormItem( mReminderItem,
+ mCalenEditorModel->appendDataFormItem(mReminderItem,
mCalenEditorModel->invisibleRootItem());
}
@@ -83,6 +73,35 @@
}
/*!
+ Set the reminder choices.
+ */
+void CalenEditorReminderField::setReminderChoices()
+{
+ // Create the reminder choices
+ QStringList reminderChoices;
+ reminderChoices << hbTrId("txt_calendar_setlabel_alarm_val_off")
+ << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 5)
+ << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 10)
+ << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 15)
+ << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 30)
+ << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 1)
+ << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 2);
+
+ mReminderItem->setContentWidgetData(QString("items"), reminderChoices);
+
+ // Build the hash map for the reminder.
+ mReminderHash[0] = 0; // OFF.
+ mReminderHash[1] = 5;
+ mReminderHash[2] = 10;
+ mReminderHash[3] = 15;
+ mReminderHash[4] = 30;
+ mReminderHash[5] = 60;
+ mReminderHash[6] = 120;
+
+ mReminderItem->setEnabled(true);
+}
+
+/*!
Adds reminder item to the model
*/
void CalenEditorReminderField::addItemToModel()
@@ -93,7 +112,7 @@
}
/*!
- Removes reminder item frm the model
+ Removes reminder item from the model
*/
void CalenEditorReminderField::removeItemFromModel()
{
@@ -106,33 +125,106 @@
*/
void CalenEditorReminderField::populateReminderItem(bool newEntry)
{
+ AgendaAlarm reminder;
+ bool pastEvent = false;
+
+ // Set reference date to start date or repeat until date accordingly to
+ // decide whether its a past event or not.
+ QDate referenceDate;
+ if (!mCalenEditor->editedEntry()->isRepeating() ||
+ (mCalenEditor->isEditRangeThisOnly())) {
+ referenceDate = mCalenEditor->editedEntry()->startTime().date();
+ } else {
+ referenceDate = mCalenEditor->editedEntry()->repeatRule().until().date();
+ }
+
+ if ((referenceDate < QDate::currentDate()) ||
+ (referenceDate == QDate::currentDate()
+ && (mCalenEditor->editedEntry()->startTime().time() <
+ QTime::currentTime()))) {
+ pastEvent = true;
+ }
+
+ if (mCalenEditor->isAllDayEvent()) {
+ updateReminderChoicesForAllDay(referenceDate);
+ } else {
+ setReminderChoices();
+ }
// Set the default reminder value to 15 minutes
if (newEntry) {
- mReminderItem->setContentWidgetData("currentIndex", 3);
- // Save the reminder alarm for the entry
- AgendaAlarm reminder;
- reminder.setTimeOffset(mReminderHash.value(3));
- reminder.setAlarmSoundName(QString(" "));
- // Set the reminder to the entry as well as original entry.
- mCalenEditor->editedEntry()->setAlarm(reminder);
- mCalenEditor->originalEntry()->setAlarm(reminder);
+ if (!pastEvent) {
+ mReminderItem->setContentWidgetData("currentIndex", 3);
+ // Save the reminder alarm for the entry
+ reminder.setTimeOffset(mReminderHash.value(3));
+ 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);
+ }
} else {
+ // 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", 0);
- } else {
+ if(mReminderTimeAdded) {
+ removeReminderTimeField();
+ }
+ } else if (mCalenEditor->editedEntry()->type()
+ != AgendaEntry::TypeEvent) {
// Get the reminder offset value.
- int reminderOffset = mCalenEditor->editedEntry()->alarm().timeOffset();
+ 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);
+ } else {
+ // Insert reminder time field and display entry's reminder time.
+ // If past then disable the field.
+ if (!mReminderTimeAdded) {
+ insertReminderTimeField();
+ if (pastEvent) {
+ mCustomReminderTimeItem->setEnabled(false);
+ }
+ }
+ QStringList reminderChoicesForAllDay;
+ reminderChoicesForAllDay << hbTrId("off")
+ << hbTrId("On event day")
+ << hbTrId("1 day before")
+ << hbTrId("2 days before");
+ mReminderItem->setContentWidgetData(QString("items"),
+ reminderChoicesForAllDay);
+ 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", 1);
+ mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+ * 60));
+ } else if (offsetInMins < numberOfMinutesInADay) {
+ mReminderItem->setContentWidgetData("currentIndex", 2);
+ mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+ * 60));
+ } else {
+ mReminderItem->setContentWidgetData("currentIndex", 3);
+ offsetInMins %= (24 * 60);
+ mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+ * 60));
+ }
+ setDisplayTime();
+ }
+ if (pastEvent) {
+ mReminderItem->setEnabled(false);
}
}
mEditorForm->addConnection(mReminderItem,
SIGNAL(currentIndexChanged(int)), this,
SLOT(handleReminderIndexChanged(int)));
-
}
/*!
@@ -146,17 +238,58 @@
if (!mCalenEditor->editedEntry()->alarm().isNull()) {
reminder = mCalenEditor->editedEntry()->alarm();
}
- // If value for the index in hash table is 0 i.e reminder is "OFF",
- // then dont do anything only set the default constructed reminder to
- // the entry which is Null.
- if (mReminderHash.value(index)) {
- // If not zero then set the reminder offset
- // value to the entry.
- reminder.setTimeOffset(mReminderHash.value(index));
- reminder.setAlarmSoundName(QString(" "));
+ // Check whether all day event or not and store appropriately.
+ if (!mCalenEditor->isAllDayEvent()) {
+ // If value for the index in hash table is 0 i.e reminder is "OFF",
+ // then set the default constructed reminder to
+ // the entry which is Null.
+ if (!mReminderHash.value(index)) {
+ // Construct the default alarm which is NULL
+ reminder = AgendaAlarm();
+ } else {
+ // If not zero then set the reminder offset
+ // value to the entry.
+ reminder.setTimeOffset(mReminderHash.value(index));
+ reminder.setAlarmSoundName(QString(" "));
+ }
} else {
- // Construct the default alarm which is NULL
- reminder = AgendaAlarm();
+ QDateTime reminderDateTimeForAllDay;
+ QDateTime
+ startDateTimeForAllDay(
+ mCalenEditor->editedEntry()->startTime().date(),
+ QTime(0, 0, 0));
+ if (mReminderItem->contentWidgetData("currentIndex") == 0) {
+ reminder = AgendaAlarm();
+ mCustomReminderTimeItem->setEnabled(false);
+ } else {
+ int offset = 0;
+ if (mReminderItem->contentWidgetData("currentIndex") == 2) {
+ offset = 1;
+ } else if (mReminderItem->contentWidgetData("currentIndex") == 3) {
+ offset = 2;
+ }
+ if(!mReminderTimeAdded) {
+ 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();
+ }
+ }
+ reminderDateTimeForAllDay.setDate(
+ mCalenEditor->editedEntry()->startTime().date().addDays(
+ -offset));
+ reminderDateTimeForAllDay.setTime(mReminderTimeForAllDay);
+ int seconds =
+ reminderDateTimeForAllDay.secsTo(startDateTimeForAllDay);
+ int timeOffest = seconds / 60;
+ mCustomReminderTimeItem->setEnabled(true);
+ reminder.setTimeOffset(timeOffest);
+ reminder.setAlarmSoundName(QString(" "));
+ }
}
// Set the reminder to the entry.
mCalenEditor->editedEntry()->setAlarm(reminder);
@@ -171,4 +304,236 @@
{
return mCalenEditorModel->indexFromItem(mReminderItem);
}
+
+/*!
+ Set reminder off.
+ */
+void CalenEditorReminderField::setReminderOff()
+{
+ // Create the remindar choices
+ QStringList reminderChoices;
+ reminderChoices << hbTrId("txt_calendar_setlabel_alarm_val_off");
+ mReminderItem->setContentWidgetData(QString("items"), reminderChoices);
+ mReminderItem->setEnabled(false);
+}
+
+/*!
+ Set the default alarm for a new all day event.
+ */
+void CalenEditorReminderField::setDefaultAlarmForAllDay()
+{
+ // Set default alarm if its a new entry.
+ if (mCalenEditor->isNewEntry()) {
+ AgendaAlarm reminder;
+ QDate defaultDate
+ (mCalenEditor->editedEntry()->startTime().date().addDays(-1));
+ // Set default time.
+ mReminderTimeForAllDay.setHMS(18, 0, 0, 0);
+ setDisplayTime();
+ QDateTime startDateTimeForAllDay(
+ mCalenEditor->editedEntry()->startTime().date(), QTime(0, 0));
+ QDateTime defaultReminderDateTimeForAllDay
+ (defaultDate, mReminderTimeForAllDay);
+ int offsetInSecs =
+ defaultReminderDateTimeForAllDay.secsTo(startDateTimeForAllDay);
+ int offsetInMins = offsetInSecs/60;
+ reminder.setTimeOffset(offsetInMins);
+ reminder.setAlarmSoundName(QString(" "));
+ // Set the reminder to the entry as well as original entry.
+ mCalenEditor->editedEntry()->setAlarm(reminder);
+ mCalenEditor->originalEntry()->setAlarm(reminder);
+ }
+}
+
+/*!
+ Updates the reminder choices for an all day event.
+ \param referenceDate to indicate past or not.
+ */
+void CalenEditorReminderField::updateReminderChoicesForAllDay(QDate referenceDate)
+{
+ if (!mReminderTimeAdded){
+ insertReminderTimeField();
+ }
+ QStringList reminderChoicesForAllDay;
+ QDate tomorrow = QDate::currentDate().addDays(1);
+ QDate theDayAfterTomorrow = QDate::currentDate().addDays(2);
+
+ if (referenceDate < QDate::currentDate() ||
+ referenceDate == QDate::currentDate()) {
+ // Set reminder off for past event.
+ reminderChoicesForAllDay << hbTrId("off");
+ mReminderItem->setContentWidgetData(QString("items"),
+ reminderChoicesForAllDay);
+ mReminderItem->setEnabled(false);
+ removeReminderTimeField();
+ } else if (theDayAfterTomorrow < referenceDate ||
+ theDayAfterTomorrow == referenceDate) {
+ reminderChoicesForAllDay << hbTrId("off")
+ << hbTrId("On event day")
+ << hbTrId("1 day before")
+ << hbTrId("2 days before");
+ mReminderItem->setEnabled(true);
+ mCustomReminderTimeItem->setEnabled(true);
+ } else {
+ reminderChoicesForAllDay << hbTrId("off")
+ << hbTrId("On event day")
+ << hbTrId("1 day before");
+ mReminderItem->setEnabled(true);
+ mCustomReminderTimeItem->setEnabled(true);
+ }
+ if (mReminderItem->isEnabled()) {
+ mReminderItem->setContentWidgetData(QString("items"),
+ reminderChoicesForAllDay);
+ }
+}
+
+/*!
+ Insert the reminder time field for an all day event.
+ */
+void CalenEditorReminderField::insertReminderTimeField()
+{
+ HbDataFormModelItem::DataItemType itemType =
+ static_cast<HbDataFormModelItem::DataItemType> (ReminderTimeOffset);
+
+ // If all day item is not added then insert at one level before.
+ int index = CalenEditorPrivate::ReminderTimeForAllDayItem;
+ if(!mCalenEditor->isAllDayFieldAdded()) {
+ index = CalenEditorPrivate::ReminderTimeForAllDayItem - 1;
+ }
+ mCustomReminderTimeItem = mCalenEditorModel->insertDataFormItem(
+ index,
+ itemType,
+ QString(hbTrId("Reminder Time")),
+ mCalenEditorModel->invisibleRootItem());
+ if (currentReminderIndex() != 1){
+ mReminderTimeForAllDay.setHMS(18,0,0,0);
+ } else {
+ mReminderTimeForAllDay.setHMS(8,0,0,0);
+ }
+
+ mEditorForm->addConnection(mCustomReminderTimeItem, SIGNAL(clicked()),
+ this, SLOT(launchReminderTimePicker()));
+ setDisplayTime();
+ mReminderTimeAdded = true;
+}
+
+/*!
+ Set the reminder time selected by the user.
+ */
+void CalenEditorReminderField::setDisplayTime()
+{
+ HbExtendedLocale locale = HbExtendedLocale::system();
+ QString timeString = locale.format(
+ mReminderTimeForAllDay,
+ r_qtn_time_usual_with_zero);
+ mCustomReminderTimeItem->setContentWidgetData("text", timeString);
+}
+
+/*!
+ Remove the reminder time field if its not an all day event.
+ */
+void CalenEditorReminderField::removeReminderTimeField()
+{
+ mReminderTimeAdded = false;
+ if (mCustomReminderTimeItem) {
+ QModelIndex reminderIndex =
+ mCalenEditorModel->indexFromItem(mCustomReminderTimeItem);
+ mCalenEditorModel->removeItem(
+ mCalenEditorModel->index(
+ reminderIndex.row(), 0));
+ mCustomReminderTimeItem = NULL;
+ }
+}
+
+/*!
+ Launches time picker to select time.
+ */
+void CalenEditorReminderField::launchReminderTimePicker()
+{
+ mTimePicker = new HbDateTimePicker(mReminderTimeForAllDay);
+ mTimePicker->setTime(mReminderTimeForAllDay);
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setContentWidget(mTimePicker);
+ popUp->setHeadingWidget( new HbLabel(
+ hbTrId("Reminder Time")));
+ HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
+ popUp->addAction(okAction);
+ connect(okAction, SIGNAL(triggered()), this, SLOT(setReminderTimeForAllDay()));
+ connect(okAction, SIGNAL(triggered()), popUp, SLOT(close()));
+ popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"),
+ popUp));
+ popUp->open();
+}
+
+/*!
+ Set the reminder time chosen.
+ */
+void CalenEditorReminderField::setReminderTimeForAllDay()
+{
+ mReminderTimeForAllDay = mTimePicker->time();
+ if (mReminderTimeForAllDay.isValid()) {
+ // Change the time displayed to that selected by the user.
+ setDisplayTime();
+ handleReminderIndexChanged(currentReminderIndex());
+ }
+}
+
+/*!
+ Checks if reminder field is enabled or not.
+ */
+bool CalenEditorReminderField::isReminderFieldEnabled()
+{
+ return mReminderItem->isEnabled();
+}
+
+/*!
+ Returns the number of items present in the reminder option.
+ */
+int CalenEditorReminderField::reminderItemsCount()
+{
+ QVariant strings = mReminderItem->contentWidgetData("items");
+ QStringList stringList(strings.toStringList());
+ int count = stringList.count();
+ return count;
+}
+
+/*!
+ Returns the current chosen index.
+ */
+int CalenEditorReminderField::currentReminderIndex()
+{
+ QVariant countVariant = mReminderItem->contentWidgetData("currentIndex");
+ int index = countVariant.toInt();
+ return index;
+}
+
+/*!
+ Sets the chosen index as current index.
+ /param index indicates the idex value to be set.
+ */
+void CalenEditorReminderField::setCurrentIndex(int index)
+{
+ mReminderItem->setContentWidgetData("currentIndex", index);
+}
+
+/*!
+ Disables the reminder time field.
+ */
+void CalenEditorReminderField::disableReminderTimeField()
+{
+ if (mReminderTimeAdded) {
+ mCustomReminderTimeItem->setEnabled(false);
+ }
+}
+
+/*!
+ Checks if reminder time field is added or not.
+ */
+bool CalenEditorReminderField::isReminderTimeForAllDayAdded()
+{
+ return mReminderTimeAdded;
+}
+
// End of file --Don't remove this.
--- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Fri May 14 15:51:09 2010 +0300
@@ -18,6 +18,7 @@
// System Includes
+#include <QDate>
#include <hbdataformmodelitem.h>
#include <hbdataformviewitem.h>
#include <hbdataformmodel.h>
@@ -178,11 +179,11 @@
AgendaRepeatRule(
AgendaRepeatRule::InvalidRule));
}
- connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
- SLOT(handleRepeatIndexChanged(int)));
// Update the repeat choices depending upon the duration
updateRepeatChoices();
+ connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
+ SLOT(handleRepeatIndexChanged(int)));
}
/*!
@@ -296,6 +297,7 @@
break;
}
mCalenEditor->addDiscardAction();
+ mCalenEditor->updateReminderChoices();
}
/*!
@@ -314,10 +316,13 @@
{
HbDataFormModelItem::DataItemType itemType =
static_cast<HbDataFormModelItem::DataItemType> (RepeatUntilOffset);
-
- QModelIndex repeatIndex = mCalenEditorModel->indexFromItem(mRepeatItem);
+
+ int index = CalenEditorPrivate::RepeatUntilItem;
+ if (!mCalenEditor->isReminderTimeForAllDayAdded()) {
+ index -= 1;
+ }
mCustomRepeatUntilItem = mCalenEditorModel->insertDataFormItem(
- CalenEditorPrivate::RepeatUntilItem,
+ index,
itemType,
QString(
hbTrId(
@@ -351,12 +356,19 @@
*/
void CalenEditorRepeatField::launchRepeatUntilDatePicker()
{
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setHeadingWidget( new HbLabel(
+ hbTrId("txt_calendar_title_repeat_until")));
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+
if (mDatePicker) {
mDatePicker = NULL;
}
if (mRepeatRuleType == AgendaRepeatRule::DailyRule) {
QDate minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1);
- mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+ mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
mDatePicker->setMinimumDate(minDate);
mDatePicker->setMaximumDate(QDate(31, 12, 2100));
mDatePicker->setDate(mRepeatUntilDate);
@@ -367,36 +379,30 @@
} else {
minDate = mCalenEditor->editedEntry()->endTime().date().addDays(14);
}
- mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+ mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
mDatePicker->setMinimumDate(minDate);
mDatePicker->setMaximumDate(QDate(31, 12, 2100));
mDatePicker->setDate(mRepeatUntilDate);
} else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) {
QDate minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1);
- mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+ mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
mDatePicker->setMinimumDate(minDate);
mDatePicker->setMaximumDate(QDate(31, 12, 2100));
mDatePicker->setDate(mRepeatUntilDate);
} else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) {
QDate minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1);
- mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+ mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
mDatePicker->setMinimumDate(minDate);
mDatePicker->setMaximumDate(QDate(31, 12, 2100));
mDatePicker->setDate(mRepeatUntilDate);
}
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout);
- popUp.setContentWidget(mDatePicker);
- popUp.setHeadingWidget( new HbLabel(
- hbTrId("txt_calendar_title_repeat_until")));
+ popUp->setContentWidget(mDatePicker);
+
HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
- popUp.setPrimaryAction(okAction);
+ popUp->addAction(okAction);
connect(okAction, SIGNAL(triggered()), this, SLOT(setRepeatUntilDate()));
- connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
- popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"),
- &popUp));
- popUp.exec();
+ popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
+ popUp->open();
}
/*!
@@ -411,6 +417,15 @@
r_qtn_date_usual_with_zero);
mCustomRepeatUntilItem->setContentWidgetData("text", dateString);
}
+ mCalenEditor->updateReminderChoices();
+}
+
+/*!
+ Returns the repeatuntildate displayed.
+ */
+QDate CalenEditorRepeatField::repeatUntilDate()
+{
+ return mRepeatUntilDate;
}
/*!
@@ -526,7 +541,6 @@
}
// Set the previous user's choice
mRepeatComboBox->setCurrentIndex(choice);
- handleRepeatIndexChanged(choice);
}
/*!
--- a/calendarui/calenplugins/calenplugins.pro Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/calenplugins/calenplugins.pro Fri May 14 15:51:09 2010 +0300
@@ -17,7 +17,6 @@
TEMPLATE = subdirs
-SUBDIRS += calensettingsplugin
SUBDIRS += agendaeventviewerplugin
CONFIG += ordered
--- a/calendarui/calenplugins/calensettingsplugin/calensettingsplugin.pro Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: This is the project file defnition for calensettingsplugin.
-#
-
-
-TEMPLATE = lib
-TARGET = calensettingsplugin
-DEPENDPATH += . \
- ./inc \
- ./src
-INCLUDEPATH += . \
- ../../inc
-
-CONFIG += hb plugin
-
-
-symbian: {
-
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.UID3 = 0x2002B338
-
- LIBS += -lcalensettings \
- -lcpframework
-
- deploy.path = C:
- headers.sources = qmakepluginstubs/calensettingsplugin.qtplugin
- headers.path = /resource/qt/plugins/controlpanel
-
- # This is for new exporting system coming in garden
- for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-
- TARGET.CAPABILITY = CAP_GENERAL_DLL
-
- plugin.sources = calensettingsplugin.dll
- plugin.path = \resource\qt\plugins\controlpanel
- DEPLOYMENT += plugin
-}
-
-# Input
-HEADERS += calensettingsplugin.h \
- calendarsettingsview.h
-
-SOURCES += calensettingsplugin.cpp \
- calendarsettingsview.cpp
-
-
-# End of file --Don't remove this.
\ No newline at end of file
--- a/calendarui/calenplugins/calensettingsplugin/inc/calendarsettingsview.h Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
- *
- * Description:
- *
-*/
-
-#ifndef CalendarSettingsView_H_
-#define CalendarSettingsView_H_
-
-#include <cpbasesettingview.h>
-
-class SettingsUiUtility;
-
-class CalendarSettingsView : public CpBaseSettingView
-{
- Q_OBJECT
-public:
- explicit CalendarSettingsView(QGraphicsItem *parent = 0);
- virtual ~CalendarSettingsView();
-public slots:
-
-private:
- SettingsUiUtility *mSettingsUtility;
-
-};
-#endif// CalendarSettingsView_H_
--- a/calendarui/calenplugins/calensettingsplugin/inc/calensettingsplugin.h Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
- *
- * Description:
- *
-*/
-
-
-#ifndef CalenSettingsPlugin_H_
-#define CalenSettingsPlugin_H_
-
-#include <cppluginplatinterface.h>
-#include <qobject.h>
-
-class CpItemDataHelper;
-
-class CalenSettingsPlugin : public QObject, public CpPluginPlatInterface
-{
- Q_OBJECT
- Q_INTERFACES(CpPluginPlatInterface)
-
-public:
- CalenSettingsPlugin();
- virtual ~CalenSettingsPlugin();
-
- virtual int uid() const;
- virtual CpSettingFormItemData *createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif /* CalenSettingsPlugin_H_ */
--- a/calendarui/calenplugins/calensettingsplugin/src/calendarsettingsview.cpp Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
- *
- * Description:
- *
-*/
-
-
-#include <hbdataform.h>
-#include "calendarsettingsview.h"
-#include "calensettings.h"
-
-CalendarSettingsView::CalendarSettingsView(QGraphicsItem *parent)
-:CpBaseSettingView(0, parent)
-{
- HbDataForm *form = settingForm();
-
- if (form) {
- form->setHeading(hbTrId("txt_calendar_subhead_calendar_settings"));
-
- CalenSettings *settings = new CalenSettings(form);
- settings->createModel();
- settings->populateSettingList();
- }
-}
-
-CalendarSettingsView::~CalendarSettingsView()
-{
-}
--- a/calendarui/calenplugins/calensettingsplugin/src/calensettingsplugin.cpp Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
- *
- * Description:
- *
-*/
-
-#include <cpsettingformentryitemdataimpl.h>
-
-#include "calensettingsplugin.h"
-#include "calendarsettingsview.h"
-#include <cpitemdatahelper.h>
-
-
-CalenSettingsPlugin::CalenSettingsPlugin()
-{
-}
-
-CalenSettingsPlugin::~CalenSettingsPlugin()
-{
-}
-
-int CalenSettingsPlugin::uid() const
-{
- // TODO: get a uid and replace it.
- return 0x20029F7F;
-}
-
-CpSettingFormItemData *CalenSettingsPlugin::createSettingFormItemData(CpItemDataHelper& itemDataHelper) const
-{
- //CpItemDataHelper* pHelper = new CpItemDataHelper();
-
- // For now dummyicon
- HbIcon* icon = new HbIcon();
- return new CpSettingFormEntryItemDataImpl<CalendarSettingsView>(itemDataHelper, QString("Calendar application"),
- QString("Calendar settings plugin"), *icon);
-}
-
-Q_EXPORT_PLUGIN2(CalenSettingsPlugin, CalenSettingsPlugin)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/data/xml/calendayview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="newEventAction" type="HbAction">
+ <string locid="txt_calendar_opt_new_event" name="text"/>
+ </object>
+ <object name="goToDateAction" type="HbAction">
+ <string locid="txt_calendar_opt_go_to_date" name="text"/>
+ </object>
+ <object name="settingsAction" type="HbAction">
+ <string locid="txt_calendar_opt_settings" name="text"/>
+ </object>
+ <object name="todayAction" type="HbAction">
+ <string locid="txt_calendar_opt_go_to_today" name="text"/>
+ </object>
+ <widget name="dayView" type="HbView">
+ <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="headingRegionalPluginWidget" type="HbWidget">
+ <widget name="headingWidget" type="HbGroupBox">
+ <string name="titleText" value=""/>
+ <real name="z" value="1"/>
+ <sizehint type="PREFERRED" width="53.43284un"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="headingWidget"/>
+ </layout>
+ </widget>
+ <widget name="noEventsLabel" type="HbLabel">
+ <real name="z" value="2"/>
+ <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Undefined" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="eventsList" type="HbListView">
+ <widget name="listItemPrototype" role="HbListView:prototype" type="HbListViewItem"/>
+ <real name="z" value="2"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <ref object="newEventAction" role="HbMenu:addAction"/>
+ <ref object="todayAction" role="HbMenu:addAction"/>
+ <ref object="goToDateAction" role="HbMenu:addAction"/>
+ <ref object="settingsAction" role="HbMenu:addAction"/>
+ </widget>
+ <string locid="txt_calendar_title_calendar" name="title"/>
+ </widget>
+ <section name="emptyList">
+ <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="noEventsLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="noEventsLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="noEventsLabel" dstEdge="TOP" spacing="38un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="nonEmptyList">
+ <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="eventsList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="eventsList" dstEdge="TOP" spacing="0un" src="headingRegionalPluginWidget" srcEdge="BOTTOM"/>
+ <anchoritem dst="eventsList" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="eventsList" dstEdge="BOTTOM" spacing="-0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="emptyLandscape">
+ <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="noEventsLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="noEventsLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="noEventsLabel" dstEdge="TOP" spacing="21.8806un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="emptyListState" display="QHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="emptyListState" sections="#common emptyList"/>
+ <uistate name="nonEmptyListState" sections="#common nonEmptyList"/>
+ <uistate name="emptyListLandscapeState" sections="#common emptyList emptyLandscape"/>
+ <dummydata objectName="eventsList" section="nonEmptyList" value="0"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/data/xml/calenmonthview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,518 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument context="Calendar" version="0.9">
+ <object name="NewEventAction" type="HbAction">
+ <string locid="txt_calendar_opt_new_event" name="text" value="New Event"/>
+ </object>
+ <object name="goToTodayAction" type="HbAction">
+ <string locid="txt_calendar_opt_go_to_today" name="text" value="Go to today"/>
+ </object>
+ <object name="goToDateAction" type="HbAction">
+ <string locid="txt_calendar_opt_go_to_date" name="text" value="Go to date"/>
+ </object>
+ <object name="settingsAction" type="HbAction">
+ <string locid="txt_calendar_opt_settings" name="text" value="Settings"/>
+ </object>
+ <object name="beforeDateAction" type="HbAction">
+ <string locid="txt_calendar_opt_sub_before_date" name="text" value="Before date"/>
+ </object>
+ <object name="allEntriesAction" type="HbAction">
+ <string locid="txt_calendar_opt_sub_all_entries" name="text" value="All entries"/>
+ </object>
+ <widget name="monthView" type="HbView">
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <widget name="monthViewExceptPreviewPane" type="HbWidget">
+ <widget name="monthTitle" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3.5un" type="PREFERRED" width="52un"/>
+ <sizehint height="3.5un" type="MINIMUM" width="52un"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <sizehint height="3.5un" type="MAXIMUM" width="52un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="dayNamesWidget" type="HbWidget">
+ <widget name="firstDayLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+ <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+ <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="secondDayLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+ <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+ <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="thirdDayLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+ <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+ <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="fourthDayLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+ <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+ <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="fifthDayLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+ <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+ <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="sixthDayLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+ <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+ <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="seventhDayLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+ <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+ <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <real name="z" value="6"/>
+ <sizehint height="3un" type="PREFERRED" width="52un"/>
+ <sizehint height="3un" type="MINIMUM" width="52un"/>
+ <sizehint height="3un" type="MAXIMUM" width="52un"/>
+ <layout orientation="Horizontal" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="firstDayLabel"/>
+ <linearitem itemname="secondDayLabel"/>
+ <linearitem itemname="thirdDayLabel"/>
+ <linearitem itemname="fourthDayLabel"/>
+ <linearitem itemname="fifthDayLabel"/>
+ <linearitem itemname="sixthDayLabel"/>
+ <linearitem itemname="seventhDayLabel"/>
+ </layout>
+ </widget>
+ <widget name="weekNumbersWidget" type="HbWidget">
+ <widget name="firstWeekLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="secondWeekLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="thirdWeekLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="fourthWeekLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="fifthWeekLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <widget name="sixthWeekLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
+ <enums name="elideMode" value="ElideNone"/>
+ <enums name="textFormat" value="PlainText"/>
+ <string name="plainText" value=""/>
+ <enums name="logicalFont" value="FontSecondary"/>
+ </widget>
+ <real name="z" value="3"/>
+ <sizehint height="43.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="43.77612un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="62.77612un" type="MAXIMUM" width="6.41604un"/>
+ <layout orientation="Vertical" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="firstWeekLabel"/>
+ <linearitem itemname="secondWeekLabel"/>
+ <linearitem itemname="thirdWeekLabel"/>
+ <linearitem itemname="fourthWeekLabel"/>
+ <linearitem itemname="fifthWeekLabel"/>
+ <linearitem itemname="sixthWeekLabel"/>
+ </layout>
+ </widget>
+ <widget name="monthGridWeekNumWidget" type="HbWidget">
+ <widget name="monthGrid" type="HbGridView">
+ <integer name="columnCount" value="7"/>
+ <real name="z" value="4"/>
+ <enums name="scrollingStyle" value="PanOrFlick"/>
+ <sizehint height="43.77612un" type="PREFERRED" width="52un"/>
+ <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+ <sizehint height="43.77612un" type="MINIMUM" width="0un"/>
+ <integer name="rowCount" value="6"/>
+ </widget>
+ <real name="z" value="4"/>
+ <sizehint height="43.77612un" type="PREFERRED" width="23.8806un"/>
+ <sizehint height="43.77612un" type="MINIMUM" width="2.68657un"/>
+ <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+ <layout orientation="Horizontal" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="monthGrid"/>
+ </layout>
+ </widget>
+ <widget name="prevPaneWidget" type="HbWidget">
+ <widget name="prevPaneLayout" type="HbWidget">
+ <widget name="prevPaneContainer" type="HbWidget">
+ <widget name="prevPreviewPane" type="HbScrollArea">
+ <widget name="prevPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+ <real name="z" value="0"/>
+ <layout orientation="Vertical" spacing="0.75un" type="linear">
+ <contentsmargins bottom="0.75un" left="2un" right="2un" top="0.75un"/>
+ </layout>
+ </widget>
+ <real name="z" value="1"/>
+ <enums name="verticalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="clampingStyle" value="StrictClamping"/>
+ <enums name="scrollingStyle" value="PanOrFlick"/>
+ <bool name="frictionEnabled" value="FALSE"/>
+ </widget>
+ <widget name="NoEntriesLabelPrev" type="HbLabel">
+ <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <enums name="elideMode" value="ElideNone"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+ <layout type="anchor">
+ <anchoritem dst="prevPreviewPane" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="prevPreviewPane" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="prevPreviewPane" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="prevPreviewPane" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="NoEntriesLabelPrev" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="NoEntriesLabelPrev" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="NoEntriesLabelPrev" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="NoEntriesLabelPrev" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="prevPaneContainer"/>
+ </layout>
+ </widget>
+ <real name="z" value="1"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="prevPaneLayout"/>
+ </layout>
+ </widget>
+ <widget name="currPaneWidget" type="HbWidget">
+ <widget name="currPaneLayout" type="HbWidget">
+ <widget name="currPaneContainer" type="HbWidget">
+ <widget name="currPreviewPane" type="HbScrollArea">
+ <widget name="currPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+ <real name="z" value="0"/>
+ <layout orientation="Vertical" spacing="0.75un" type="linear">
+ <contentsmargins bottom="0.75un" left="2un" right="2un" top="0.75un"/>
+ </layout>
+ </widget>
+ <real name="z" value="1"/>
+ <enums name="verticalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="clampingStyle" value="StrictClamping"/>
+ <enums name="scrollingStyle" value="PanOrFlick"/>
+ <bool name="frictionEnabled" value="FALSE"/>
+ </widget>
+ <widget name="NoEntriesLabelCurr" type="HbLabel">
+ <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <enums name="elideMode" value="ElideNone"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+ <layout type="anchor">
+ <anchoritem dst="currPreviewPane" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="currPreviewPane" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="currPreviewPane" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="currPreviewPane" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="NoEntriesLabelCurr" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="NoEntriesLabelCurr" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="NoEntriesLabelCurr" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="NoEntriesLabelCurr" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="currPaneContainer"/>
+ </layout>
+ </widget>
+ <real name="z" value="1"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="currPaneLayout"/>
+ </layout>
+ </widget>
+ <widget name="nextPaneWidget" type="HbWidget">
+ <widget name="nextPaneLayout" type="HbWidget">
+ <widget name="nextPaneContainer" type="HbWidget">
+ <widget name="nextPreviewPane" type="HbScrollArea">
+ <widget name="nextPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+ <real name="z" value="0"/>
+ <layout orientation="Vertical" spacing="0.75un" type="linear">
+ <contentsmargins bottom="0.75un" left="2un" right="2un" top="0.75un"/>
+ </layout>
+ </widget>
+ <real name="z" value="1"/>
+ <enums name="verticalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="clampingStyle" value="StrictClamping"/>
+ <enums name="scrollingStyle" value="PanOrFlick"/>
+ <bool name="frictionEnabled" value="FALSE"/>
+ </widget>
+ <widget name="NoEntriesLabelNext" type="HbLabel">
+ <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <enums name="elideMode" value="ElideNone"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+ <layout type="anchor">
+ <anchoritem dst="nextPreviewPane" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="nextPreviewPane" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="nextPreviewPane" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="nextPreviewPane" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="NoEntriesLabelNext" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="NoEntriesLabelNext" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="NoEntriesLabelNext" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="NoEntriesLabelNext" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="nextPaneContainer"/>
+ </layout>
+ </widget>
+ <real name="z" value="1"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="nextPaneLayout"/>
+ </layout>
+ </widget>
+ <real name="z" value="2"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+ <sizehint height="230.8806un" type="MAXIMUM" width="52un"/>
+ <layout orientation="Vertical" spacing="0.75un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="monthTitle"/>
+ <linearitem itemname="dayNamesWidget"/>
+ <linearitem itemname="monthGridWeekNumWidget"/>
+ </layout>
+ </widget>
+ <real name="z" value="0"/>
+ <layout orientation="Horizontal" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="monthViewExceptPreviewPane"/>
+ </layout>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <ref object="NewEventAction" role="HbMenu:addAction"/>
+ <ref object="goToTodayAction" role="HbMenu:addAction"/>
+ <ref object="goToDateAction" role="HbMenu:addAction"/>
+ <widget name="deleteSubMenu" role="HbMenu:menu" type="HbMenu">
+ <ref object="beforeDateAction" role="HbMenu:addAction"/>
+ <ref object="allEntriesAction" role="HbMenu:addAction"/>
+ </widget>
+ <ref object="settingsAction" role="HbMenu:addAction"/>
+ </widget>
+ </widget>
+ <section name="portrait">
+ <widget name="prevPaneLayout" type="HbWidget">
+ <sizehint height="22un" type="PREFERRED" width="11.9403un"/>
+ </widget>
+ <widget name="prevPaneContainer" type="HbWidget">
+ <sizehint height="22un" type="PREFERRED" width="23.8806un"/>
+ </widget>
+ <widget name="prevPaneWidget" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="22un" type="FIXED" width="52un"/>
+ </widget>
+
+ <widget name="currPaneContainer" type="HbWidget">
+ <sizehint height="22un" type="PREFERRED" width="23.8806un"/>
+ </widget>
+ <widget name="currPaneLayout" type="HbWidget">
+ <sizehint height="22un" type="PREFERRED" width="11.9403un"/>
+ </widget>
+ <widget name="currPaneWidget" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="22un" type="FIXED" width="52un"/>
+ </widget>
+
+ <widget name="nextPaneLayout" type="HbWidget">
+ <sizehint height="22un" type="PREFERRED" width="11.9403un"/>
+ </widget>
+ <widget name="nextPaneWidget" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="22un" type="FIXED" width="52un"/>
+ </widget>
+ <widget name="nextPaneContainer" type="HbWidget">
+ <sizehint height="22un" type="PREFERRED" width="23.8806un"/>
+ </widget>
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <enums name="focusDelegation" value="FocusDelegationBasedOnDirection"/>
+ <layout orientation="Vertical" spacing="0.75un" type="linear">
+ <contentsmargins bottom="0.75un" left="0.75un" right="0.75un" top="0.75un"/>
+ <linearitem itemname="monthViewExceptPreviewPane"/>
+ <linearitem itemname="currPaneWidget"/>
+ </layout>
+ </widget>
+ <widget name="monthGridWeekNumWidget" type="HbWidget">
+ <sizehint height="42.77612un" type="PREFERRED" width="52un"/>
+ <sizehint height="42.77612un" type="MINIMUM" width="52un"/>
+ <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+ </widget>
+ <widget name="monthGrid" type="HbGridView">
+ <sizehint height="43.77612un" type="PREFERRED" width="52un"/>
+ <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+ <sizehint height="43.77612un" type="MINIMUM" width="0un"/>
+ </widget>
+ <widget name="weekNumbersWidget" type="HbWidget">
+ <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="42.77612un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="62.77612un" type="MAXIMUM" width="6.41604un"/>
+ </widget>
+ <widget name="prevPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+ <sizehint type="MINIMUM" width="52un"/>
+ <sizehint type="MAXIMUM" width="52un"/>
+ </widget>
+ <widget name="currPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+ <sizehint type="MINIMUM" width="52un"/>
+ <sizehint type="MAXIMUM" width="52un"/>
+ </widget>
+ <widget name="nextPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+ <sizehint type="MINIMUM" width="52un"/>
+ <sizehint type="MAXIMUM" width="52un"/>
+ </widget>
+ </section>
+ <section name="landscape">
+ <widget name="prevPaneWidget" type="HbWidget">
+ <sizehint height="42.8806un" type="FIXED" width="40.8un"/>
+ </widget>
+ <widget name="currPaneWidget" type="HbWidget">
+ <sizehint height="42.8806un" type="FIXED" width="40.8un"/>
+ </widget>
+ <widget name="nextPaneWidget" type="HbWidget">
+ <sizehint height="42.8806un" type="FIXED" width="40.8un"/>
+ </widget>
+ <widget name="prevPreviewPaneContents" type="HbWidget">
+ <sizehint type="MINIMUM" width="40.8un"/>
+ <sizehint type="MAXIMUM" width="40.8un"/>
+ </widget>
+ <widget name="currPreviewPaneContents" type="HbWidget">
+ <sizehint type="MINIMUM" width="40.8un"/>
+ <sizehint type="MAXIMUM" width="40.8un"/>
+ </widget>
+ <widget name="nextPreviewPaneContents" type="HbWidget">
+ <sizehint type="MINIMUM" width="40.8un"/>
+ <sizehint type="MAXIMUM" width="40.8un"/>
+ </widget>
+ <widget name="monthGridWeekNumWidget" type="HbWidget">
+ <sizehint height="34.77612un" type="MAXIMUM" width="52un"/>
+ <sizehint height="34.77612un" type="MAXIMUM" width="52un"/>
+ <sizehint height="34.77612un" type="MINIMUM" width="52un"/>
+ </widget>
+ <widget name="monthGrid" type="HbGridView">
+ <sizehint height="34.77612un" type="PREFERRED" width="52un"/>
+ <sizehint height="34.77612un" type="MAXIMUM" width="52un"/>
+ <sizehint height="34.77612un" type="MINIMUM" width="0un"/>
+ </widget>
+ <widget name="weekNumbersWidget" type="HbWidget">
+ <sizehint height="34.77612un" type="PREFERRED" width="6.41604un"/>
+ <sizehint height="34.77612un" type="MINIMUM" width="6.41604un"/>
+ <sizehint height="34.77612un" type="MAXIMUM" width="6.41604un"/>
+ </widget>
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <layout orientation="Horizontal" spacing="0.75un" type="linear">
+ <contentsmargins bottom="0.75un" left="0.75un" right="0.75un" top="0.75un"/>
+ <linearitem itemname="monthViewExceptPreviewPane"/>
+ <linearitem itemname="currPaneWidget"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="PortraitUiState" display="QHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="landscapeUIState" sections="#common landscape"/>
+ <uistate name="PortraitUiState" sections="#common portrait"/>
+ <uistate name="portrait" sections="#common portrait"/>
+ <uistate name="landscape" sections="#common landscape"/>
+ </metadata>
+</hbdocument>
--- a/calendarui/controller/inc/calenactionuiutils.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calenactionuiutils.h Fri May 14 15:51:09 2010 +0300
@@ -42,13 +42,6 @@
{
public:
- enum TDeleteConfirmationType
- {
- EDeleteEntry = 1,
- EDeleteToDo,
- EDeleteToDos,
- EDeleteAll
- };
enum TRepeatQueryType
{
@@ -78,9 +71,6 @@
AgendaEntry& entry,
const bool status );
- static int showDeleteConfirmationQueryL(const TDeleteConfirmationType type,
- const TInt count = 0);
-
private: // Construction and destruction
// Hiding constructor, because this is static utility class.
//lint -e{1526}
--- a/calendarui/controller/inc/calencontroller.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calencontroller.h Fri May 14 15:51:09 2010 +0300
@@ -62,25 +62,32 @@
{
public: // Construction and destruction
- /**
+ /**
* C++ constructor
*/
CCalenController(bool isFromServiceFrmwrk);
/**
- * Constructs CCalenController with existing CAknViewAppUi. If the
- * controller has been previously initialized with the same CAknViewAppUi,
- * the existing instance will be returned.
- * @param aAppUi Reference to CAknViewAppUi
- * @return CCalenController pointer
- */
- static CCalenController* InstanceL();
+ * Constructs CCalenController with existing CAknViewAppUi. If the
+ * controller has been previously initialized with the same CAknViewAppUi,
+ * the existing instance will be returned.
+ * @param aAppUi Reference to CAknViewAppUi
+ * @return CCalenController pointer
+ */
+ static CCalenController* InstanceL();
- /**
- * CCalenController is a reference counting singleton. Call Release()
- * when you are done with it, it will clean itself when it needs to
- */
- void Release();
+
+ /**
+ * Releases all plugins, should only be called when
+ * the application is exiting.
+ */
+ void ReleaseCustomisations();
+
+ /**
+ * CCalenController is a reference counting singleton. Call Release()
+ * when you are done with it, it will clean itself when it needs to
+ */
+ void Release();
/**
* destructor
--- a/calendarui/controller/inc/calendeleteui.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calendeleteui.h Fri May 14 15:51:09 2010 +0300
@@ -29,11 +29,19 @@
#include "calenactionuiutils.h"
#include "calennotificationhandler.h"
#include "calencommandhandler.h"
-
+#include "hb_calencommands.hrh"
// FORWARD DECLARATIONS
class CCalenController;
+class HbAction;
+enum TDeleteConfirmationType
+{
+ EDeleteEntry = 1,
+ EDeleteToDo,
+ EDeleteToDos,
+ EDeleteAll
+};
// CLASS DECLARATION
/**
@@ -121,28 +129,21 @@
void deleteEntriesEndingAtMidnight( QDateTime aMidnight );
/**
- * Delete entry by passing CCalEntryView and CCalEntry
- * Will query user for confirmation before deletion
- * @return ETrue user confirms to delete EFalse otherwise
- */
- TBool DeleteEntryL( AgendaEntry& aEntry );
-
- /**
* Delete entry without querying the user
*/
TBool DeleteEntryWithoutQueryL();
-
+
/**
* Delete the given entry. Ask the user whether to delete the
* instance or the entire series.
*/
- TBool DeleteSingleInstanceL( AgendaEntry& aInstance );
+ void DeleteSingleInstanceL( AgendaEntry& aInstance );
/**
* Delete the given entry, using aRepeatType to determine
* whether to delete the instance or the entire series.
*/
- TBool DeleteSingleInstanceL( AgendaEntry& aInstance,
+ void DeleteSingleInstanceL( AgendaEntry& aInstance,
AgendaUtil::RecurrenceRange aRepeatType );
/**
@@ -152,7 +153,7 @@
* @param aRepeatType Repeat type choosen to apply on delete
* @return ETrue is user confirms to delete, EFalse otherwise
*/
- TBool DoDeleteSingleInstanceL( AgendaEntry& aInstance,
+ void DoDeleteSingleInstanceL( AgendaEntry& aInstance,
bool aHasRepeatType,
AgendaUtil::RecurrenceRange aRepeatType );
@@ -162,11 +163,6 @@
void HandleECalenNotifyViewCreatedL();
/**
- * Multiple entries delete query
- */
- TInt ShowMultipleEntriesDeleteQueryL(int aCount);
-
- /**
* Get the date from user.
*/
void dateQuery();
@@ -177,6 +173,18 @@
* or the entire series of a repeating entry
*/
void showRepeatingEntryDeleteQuery();
+
+ /**
+ * Shows a confirmation query to the user if
+ * he/she wants to delete instance/instances
+ */
+ void showDeleteQuery(const TDeleteConfirmationType type,
+ const int count = 0);
+
+ /**
+ * Deletes the entries before the selected date
+ */
+ void getSelectedDateAndDelete();
private: // own methods
/**
@@ -200,7 +208,9 @@
public slots:
void doCompleted( int aFirstPassError );
- void getSelectedDate();
+ void handleDateQuery(HbAction* action);
+ void handleDeletion(HbAction* action);
+ void handleDeleteCancel();
private slots:
void handleRepeatedEntryDelete(int index);
@@ -228,20 +238,20 @@
bool iIsDeleting; // True, if asynchronous delete is running
QDateTime iStartTime;
QDateTime iEndTime;
- QDateTime mDateTime; // Get the date selected by user.
HbDateTimePicker *mDatePicker;
// Confirmation note id is stored here. Note is shown when asynchronous
// delete completes.
int iConfirmationNoteId;
CCalenController& iController;
-
+ TCalenCommandId mDeleteCommand;
+ AgendaUtil::RecurrenceRange mRecurrenceRange;
+
// Stored command if the entry view
// needs to constructed asyncronously
TCalenCommand iStoredCommand;
int iMutlipleContextIdsCount;
bool iMoreEntriesToDelete;
bool iDisplayQuery;
- bool mIsDateValid;
int iEntriesToDelete;
};
--- a/calendarui/controller/inc/calenviewmanager.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calenviewmanager.h Fri May 14 15:51:09 2010 +0300
@@ -95,6 +95,8 @@
void removeDayViews();
+ void constructOtherViews();
+
public: // from MCalenNotificationHandler
/**
@@ -132,16 +134,16 @@
* day
*/
void loadAlternateDayView();
-
- public slots:
- void constructOtherViews();
private slots:
+ void handleMainViewReady();
void handleViewingCompleted(const QDate date);
void handleEditingStarted();
void handleEditingCompleted();
void handleDeletingStarted();
void handleDeletingCompleted();
+ void handleInstanceViewCreation(int status);
+ void handleEntryViewCreation(int status);
private: // Data
--- a/calendarui/controller/src/calenactionuiutils.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenactionuiutils.cpp Fri May 14 15:51:09 2010 +0300
@@ -105,62 +105,4 @@
TRACE_EXIT_POINT;
}
-int CalenActionUiUtils::showDeleteConfirmationQueryL(const TDeleteConfirmationType type,
- const int count)
- {
- TRACE_ENTRY_POINT;
- int retStatus = 0;
-
-
- HbMessageBox popup(HbMessageBox::MessageTypeQuestion);
- popup.setIconVisible(true);
- popup.setTimeout(HbPopup::NoTimeout);
-
- QString text = 0;
-
- switch(type)
- {
- case CalenActionUiUtils::EDeleteEntry:
- {
- // TODO: Add the text id
- text.append("Delete entry?");
- break;
- }
- case CalenActionUiUtils::EDeleteToDo:
- {
- text.append(hbTrId("txt_calendar_info_delete_todo_note"));
- break;
- }
- case CalenActionUiUtils::EDeleteToDos:
- {//"Delete %N to-do notes?"
- // TODO: Add the text id
- text.append("Delete %N to-do's?").arg(count);
- break;
- }
- case CalenActionUiUtils::EDeleteAll:
- {
- text.append(hbTrId("txt_calendar_info_delete_all_calendar_entries"));
- break;
- }
- default:
- break;
- }
-
- popup.setText(text);
-
- popup.setPrimaryAction(new HbAction(
- hbTrId("txt_calendar_button_delete"), &popup));
- popup.setSecondaryAction(new HbAction(
- hbTrId("txt_calendar_button_cancel"), &popup));
- HbAction *selected = popup.exec();
- if (selected == popup.primaryAction()) {
- retStatus = 1;
- }
-
- TRACE_EXIT_POINT
- return retStatus;
- }
-
-
-
// End of file
--- a/calendarui/controller/src/calencontroller.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calencontroller.cpp Fri May 14 15:51:09 2010 +0300
@@ -51,6 +51,7 @@
TRACE_ENTRY_POINT;
iIsFromServiceFrmWrk = isFromServiceFrmwrk;
iNextServicesCommandBase = KCustomCommandRangeStart;
+ iRefCount = 0;
// Store the pointer in tls, also avoid multiple creations
checkMultipleCreation();
@@ -171,7 +172,24 @@
TRACE_EXIT_POINT;
return self;
}
+
+// ----------------------------------------------------------------------------
+// CCalenController::ReleaseCustomisations
+// Releases any plugins by deleting the customisation manager
+// should only be called on exiting by the application.
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CCalenController::ReleaseCustomisations()
+ {
+ TRACE_ENTRY_POINT;
+ delete iCustomisationManager;
+ iCustomisationManager = NULL;
+
+ TRACE_EXIT_POINT;
+ }
+
// ----------------------------------------------------------------------------
// CCalenController::Release
// Decrement the reference count of this singleton.
@@ -204,14 +222,38 @@
CCalenController::~CCalenController()
{
TRACE_ENTRY_POINT;
+
if ( iServices )
{
iServices->Release();
}
- delete iNotifier;
- delete iActionUi;
- delete iViewManager;
- delete iCustomisationManager;
+
+ if( iNotifier )
+ {
+ delete iNotifier;
+ iNotifier = NULL;
+ }
+
+ if( iActionUi )
+ {
+ delete iActionUi;
+ iActionUi = NULL;
+ }
+
+ if( iViewManager )
+ {
+ delete iViewManager;
+ iViewManager = NULL;
+ }
+
+ if( iCustomisationManager )
+ {
+ delete iCustomisationManager;
+ iCustomisationManager = NULL;
+ }
+
+
+ Dll::SetTls( NULL );
TRACE_EXIT_POINT;
}
--- a/calendarui/controller/src/calendeleteui.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calendeleteui.cpp Fri May 14 15:51:09 2010 +0300
@@ -20,6 +20,7 @@
#include <QtGui>
#include <hbdatetimepicker.h>
#include <hbdialog.h>
+#include <hbmessagebox.h>
#include <hbaction.h>
#include <hblabel.h>
#include <hbradiobuttonlist.h>
@@ -29,7 +30,6 @@
// User includes
#include "calendarui_debug.h"
#include "calendeleteui.h"
-#include "hb_calencommands.hrh"
#include "calencontext.h"
#include "calencontroller.h"
#include "CleanupResetAndDestroy.h"
@@ -139,28 +139,35 @@
{
TRACE_ENTRY_POINT;
TBool continueCommand(EFalse);
-
+
switch( aCommand.Command() )
{
case ECalenDeleteCurrentEntry:
-
- DeleteCurrentEntryL(); // Entry & instance
+ mDeleteCommand = ECalenDeleteCurrentEntry;
+ DeleteCurrentEntryL(); // Entry & instance
break;
case ECalenDeleteSeries:
- DeleteThisOrAllL( AgendaUtil::ThisAndAll );
+ mDeleteCommand = ECalenDeleteSeries;
+ DeleteThisOrAllL( AgendaUtil::ThisAndAll );
break;
case ECalenDeleteCurrentOccurrence:
- DeleteThisOrAllL( AgendaUtil::ThisOnly );
+ mDeleteCommand = ECalenDeleteCurrentOccurrence;
+ DeleteThisOrAllL( AgendaUtil::ThisOnly );
break;
case ECalenDeleteEntryWithoutQuery:
- continueCommand = DeleteEntryWithoutQueryL();
+ //TODO:
+ // This case is not handled currently as no such commands
+ // has been issued. So this has to be handled once we start
+ // issuing the command.
+ /*continueCommand = DeleteEntryWithoutQueryL();*/
break;
case ECalenDeleteAllEntries:
- DeleteAllEntriesL(); // EntryView & instance
+ mDeleteCommand = ECalenDeleteAllEntries;
+ DeleteAllEntriesL(); // EntryView & instance
break;
case ECalenDeleteEntriesBeforeDate:
@@ -186,26 +193,21 @@
// ----------------------------------------------------------------------------
//
void CalenDeleteUi::DeleteThisOrAllL( AgendaUtil::RecurrenceRange aRepeatType )
- {
- TRACE_ENTRY_POINT;
-
- bool isDeleted( false );
-
- if( iController.context().instanceId().mEntryLocalUid )
- {
- AgendaEntry instance =
- CalenActionUiUtils::findPossibleInstanceL(iController.context().instanceId(),
- iController.Services().agendaInterface() );
- if( !instance.isNull() )
- {
- isDeleted = DeleteSingleInstanceL( instance, aRepeatType );
- }
- }
- iController.BroadcastNotification( isDeleted? ECalenNotifyEntryDeleted :
- ECalenNotifyDeleteFailed );
-
- TRACE_EXIT_POINT;
- }
+{
+ TRACE_ENTRY_POINT;
+
+ if( iController.context().instanceId().mEntryLocalUid )
+ {
+ AgendaEntry instance = CalenActionUiUtils::findPossibleInstanceL(
+ iController.context().instanceId(),
+ iController.Services().agendaInterface() );
+ if( !instance.isNull() )
+ {
+ DeleteSingleInstanceL( instance, aRepeatType );
+ }
+ }
+ TRACE_EXIT_POINT;
+}
// ----------------------------------------------------------------------------
// CalenDeleteUi::DeleteEntryWithoutQueryL()
@@ -228,7 +230,7 @@
if(!iMoreEntriesToDelete)
{
- iDisplayQuery = ShowMultipleEntriesDeleteQueryL(iMutlipleContextIdsCount);
+ //iDisplayQuery = ShowMultipleEntriesDeleteQueryL(iMutlipleContextIdsCount);
}
if(iDisplayQuery)
@@ -290,47 +292,38 @@
//
void CalenDeleteUi::DeleteCurrentEntryL()
{
- TRACE_ENTRY_POINT;
+ TRACE_ENTRY_POINT;
+
+ // Make sure we're focused on an entry.
+ if (iController.context().instanceId().mEntryLocalUid) {
+ // Fetch the entry
+ AgendaEntry entry = iController.Services().agendaInterface()->fetchById(
+ iController.context().instanceId().mEntryLocalUid);
- bool deleted( false );
- TCalenNotification notification = ECalenNotifyDeleteFailed;
-
- // Make sure we're focused on an entry.
- if (iController.context().instanceId().mEntryLocalUid) {
- // Fetch the entry
- AgendaEntry entry = iController.Services().agendaInterface()->fetchById(
- iController.context().instanceId().mEntryLocalUid);
-
- // Check if the entry is a To-Do
- if (AgendaEntry::TypeTodo == entry.type()) {
- if(!entry.isNull()) {
- deleted = DeleteEntryL(entry);
- if(deleted) {
- // Delete is successful
- notification = ECalenNotifyEntryDeleted;
- }
- }
- }
- else {
- if (entry.isRepeating() || !entry.recurrenceId().isNull()) {
- // Show a confirmation note whether the user
- // wants to delete the single instance or all of them
- showRepeatingEntryDeleteQuery();
- } else {
- // If the entry is not a repeating entry,
- // delete it directly
- deleted = DeleteEntryL(entry);
- if (deleted) {
- // Delete is successful
- notification = ECalenNotifyEntryDeleted;
- }
- }
- }
- }
-
- iController.BroadcastNotification( notification );
-
- TRACE_EXIT_POINT;
+ // Check if the entry is a To-Do
+ if (AgendaEntry::TypeTodo == entry.type()) {
+ if(!entry.isNull()) {
+ showDeleteQuery(entry.type() == AgendaEntry::TypeTodo ?
+ EDeleteToDo :
+ EDeleteEntry );
+ }
+ }
+ else {
+ if (entry.isRepeating() || !entry.recurrenceId().isNull()) {
+ // Show a confirmation note whether the user
+ // wants to delete the single instance or all of them
+ showRepeatingEntryDeleteQuery();
+ } else {
+ // If the entry is not a repeating entry,
+ // delete it directly
+ // Save the entry for later reference in the slot
+ showDeleteQuery(entry.type() == AgendaEntry::TypeTodo ?
+ EDeleteToDo :
+ EDeleteEntry );
+ }
+ }
+ }
+ TRACE_EXIT_POINT;
}
// ----------------------------------------------------------------------------
@@ -341,24 +334,10 @@
//
void CalenDeleteUi::DeleteAllEntriesL()
{
- TRACE_ENTRY_POINT;
-
ASSERT( !iIsDeleting );
- const int buttonId = CalenActionUiUtils::showDeleteConfirmationQueryL(
- CalenActionUiUtils::EDeleteAll );
- if( buttonId )
- {
- HandleDeleteMultipleEventsL( AgendaUtil::minTime(), AgendaUtil::maxTime(),1 );
- }
- else
- {
- // notify delete failed
- iController.BroadcastNotification(ECalenNotifyDeleteFailed);
- }
-
- TRACE_EXIT_POINT;
- }
+ showDeleteQuery(EDeleteAll );
+ }
// ----------------------------------------------------------------------------
// CalenDeleteUi::DeleteEntriesBeforeDateL
@@ -369,63 +348,72 @@
void CalenDeleteUi::DeleteEntriesBeforeDateL()
{
TRACE_ENTRY_POINT;
-
ASSERT( !iIsDeleting );
-
- TCalenNotification notification = ECalenNotifyDeleteFailed;
// launch the datepicker
- mIsDateValid = false;
dateQuery();
-
- if( mIsDateValid )
- {
- // Do delete only if inputted day is after beginning of range
- if( mDateTime > AgendaUtil::minTime() )
- {
- // Two pass delete:
- // 1. pass
- // To prevent destroying entries starting and ending midnight
- // subtract one second and do delete on that range.
- mDateTime = mDateTime.addSecs(-1);
- mDateTime = ( mDateTime > AgendaUtil::minTime()? mDateTime : AgendaUtil::minTime());
-
- HandleDeleteMultipleEventsL( AgendaUtil::minTime(),
- mDateTime,1 );
- notification = ECalenNotifyMultipleEntriesDeleted;
- }
- }
-
- iController.BroadcastNotification( notification );
TRACE_EXIT_POINT;
}
-
+
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::dateQuery
+// Launches the popup for the date selection
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
void CalenDeleteUi::dateQuery()
{
// Create a popup with datepicker to select the date.
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout );
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+ popUp->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_set_date")));
+
QDateTime currentDateTime(CalenDateUtils::today());
QDate currentDate(currentDateTime.date());
- mDatePicker = new HbDateTimePicker(currentDate);
+ if(mDatePicker) {
+ mDatePicker = NULL;
+ }
+ mDatePicker = new HbDateTimePicker(popUp);
mDatePicker->setMinimumDate(CalenDateUtils::minTime().date());
mDatePicker->setMaximumDate(currentDate);
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout );
- popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_set_date")));
- popUp.setContentWidget(mDatePicker);
- HbAction *okAction = new HbAction(hbTrId("txt_calendar_button_dialog_delete"));
- popUp.setPrimaryAction(okAction);
- connect(okAction,SIGNAL(triggered()),this,SLOT(getSelectedDate()));
- connect(okAction,SIGNAL(triggered()),&popUp,SLOT(close()));
- popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"),&popUp));
- popUp.exec();
+ mDatePicker->setDate(currentDate);
+
+ popUp->setContentWidget(mDatePicker);
+
+ popUp->addAction(new HbAction(hbTrId("txt_calendar_button_dialog_delete")));
+ popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"),popUp));
+ // Show the popup
+ popUp->open(this, SLOT(handleDateQuery(HbAction*)));
}
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::handleDateQuery
+// Handles the selection for the date query
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::handleDateQuery(HbAction* action)
+{
+ if(action->text() == hbTrId("txt_calendar_button_dialog_delete")) {
+ getSelectedDateAndDelete();
+ }else {
+ handleDeleteCancel();
+ }
+}
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::showRepeatingEntryDeleteQuery
+// Launches the popup for deleting the repeating entry
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
void CalenDeleteUi::showRepeatingEntryDeleteQuery()
{
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout);
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
HbWidget *editWidget = new HbWidget();
@@ -441,38 +429,67 @@
layout->addItem(editButtonList);
- popUp.setContentWidget(editWidget);
- popUp.setHeadingWidget(new HbLabel(
+ popUp->setContentWidget(editWidget);
+ popUp->setHeadingWidget(new HbLabel(
hbTrId("txt_calendar_title_delete_repeated_entry")));
- connect(editButtonList, SIGNAL(itemSelected(int)), this,
- SLOT(handleRepeatedEntryDelete(int)));
- connect(editButtonList, SIGNAL(itemSelected(int)), &popUp, SLOT(close()));
-
- // Create secondary action
+ // Add cancel action
HbAction *cancelAction = new HbAction(
hbTrId("txt_calendar_button_softkey1_cancel"));
- popUp.setSecondaryAction(cancelAction);
- connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleCancel()));
- connect(cancelAction, SIGNAL(triggered()), &popUp, SLOT(close()));
+ popUp->addAction(cancelAction);
+ connect(editButtonList, SIGNAL(itemSelected(int)), this,
+ SLOT(handleRepeatedEntryDelete(int)));
+ connect(editButtonList, SIGNAL(itemSelected(int)), popUp, SLOT(close()));
+ connect(cancelAction, SIGNAL(triggered()), this,
+ SLOT(handleDeleteCancel()));
// Show the popup
- popUp.exec();
+ popUp->open();
+}
+
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::handleDeleteCancel
+// Handles the cancel action
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::handleDeleteCancel()
+{
+ iController.BroadcastNotification(ECalenNotifyDeleteFailed);
}
-void CalenDeleteUi::getSelectedDate()
- {
- QDate selectedDate(mDatePicker->date());
-
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::getSelectedDateAndDelete
+// Deletes the entries before the selected date
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::getSelectedDateAndDelete()
+{
+ QDate selectedDate(mDatePicker->date());
+
// Check if the date is within the range.
- if(selectedDate.isValid())
- {
+ if(selectedDate.isValid()) {
QTime time(0,0,0,0);
- mDateTime.setDate(selectedDate);
- mDateTime.setTime(time);
- mIsDateValid = true;
+ QDateTime dateTime;
+ dateTime.setDate(selectedDate);
+ dateTime.setTime(time);
+ // Do delete only if inputted day is after beginning of range
+ if(dateTime > AgendaUtil::minTime()) {
+ // Two pass delete:
+ // 1. pass
+ // To prevent destroying entries starting and ending midnight
+ // subtract one second and do delete on that range.
+ dateTime = dateTime.addSecs(-1);
+ dateTime = ( dateTime > AgendaUtil::minTime()? dateTime : AgendaUtil::minTime());
+
+ HandleDeleteMultipleEventsL( AgendaUtil::minTime(), dateTime,1 );
+ iController.BroadcastNotification(ECalenNotifyEntryDeleted);
+ }else {
+ iController.BroadcastNotification(ECalenNotifyDeleteFailed);
}
- }
+ }
+}
void CalenDeleteUi::handleRepeatedEntryDelete(int index)
{
@@ -498,6 +515,127 @@
}
}
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::showDeleteQuery
+// Launches the popup for deleting the instance/instances
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::showDeleteQuery(const TDeleteConfirmationType type,
+ const int count)
+ {
+ HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+ popup->setDismissPolicy(HbDialog::NoDismiss);
+ popup->setTimeout(HbDialog::NoTimeout);
+ popup->setAttribute( Qt::WA_DeleteOnClose, true );
+
+ QString text = 0;
+
+ switch(type)
+ {
+ case EDeleteEntry:
+ {
+ // TODO: Add the text id
+ text.append("Delete entry?");
+ break;
+ }
+ case EDeleteToDo:
+ {
+ text.append(hbTrId("txt_calendar_info_delete_todo_note"));
+ break;
+ }
+ case EDeleteToDos:
+ {//"Delete %N to-do notes?"
+ // TODO: Add the text id
+ text.append("Delete %N to-do's?").arg(count);
+ break;
+ }
+ case EDeleteAll:
+ {
+ text.append(hbTrId("txt_calendar_info_delete_all_calendar_entries"));
+ break;
+ }
+ default:
+ break;
+ }
+
+ popup->setText(text);
+
+ QList<QAction*> list = popup->actions();
+ for(int i=0; i < list.count(); i++)
+ {
+ popup->removeAction(list[i]);
+ }
+ popup->addAction(new HbAction(hbTrId("txt_calendar_button_delete"), popup));
+ popup->addAction(new HbAction(
+ hbTrId("txt_calendar_button_cancel"), popup));
+ popup->open(this, SLOT(handleDeletion(HbAction*)));
+ }
+
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::handleDeletion
+// Deletes the entries based on the user selection
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::handleDeletion(HbAction* action)
+{
+ TCalenNotification notification = ECalenNotifyDeleteFailed;
+
+ if(action->text() == hbTrId("txt_calendar_button_delete")) {
+
+ switch (mDeleteCommand) {
+
+ case ECalenDeleteCurrentEntry:
+ {
+ // Get the entry
+ AgendaEntry entry =
+ iController.Services().agendaInterface()->fetchById(
+ iController.context().instanceId().mEntryLocalUid);
+ // Delete the entry if the delete button is been pressed
+ iController.Services().agendaInterface()->deleteEntry(entry.id());
+ notification = ECalenNotifyEntryDeleted;
+ }
+ break;
+
+ case ECalenDeleteSeries:
+ case ECalenDeleteCurrentOccurrence:
+ {
+ AgendaEntry instance =
+ CalenActionUiUtils::findPossibleInstanceL(
+ iController.context().instanceId(),
+ iController.Services().agendaInterface() );
+ QDateTime recId = instance.recurrenceId().toUTC();
+ const bool child = recId.isNull();
+
+ if( !child || mRecurrenceRange == AgendaUtil::ThisOnly
+ || mRecurrenceRange == AgendaUtil::ThisAndAll) {
+ iController.Services().agendaInterface()->deleteRepeatedEntry(
+ instance, mRecurrenceRange );
+ }
+ notification = ECalenNotifyEntryDeleted;
+ }
+ break;
+
+ case ECalenDeleteAllEntries:
+ {
+ HandleDeleteMultipleEventsL( AgendaUtil::minTime(),
+ AgendaUtil::maxTime(),1 );
+ notification = ECalenNotifyEntryDeleted;
+ }
+ break;
+
+ default:
+ break;
+
+ }
+ }
+ // If the user presses cancel button the notification will be
+ // ECalenNotifyDeleteFailed as default.
+ // Notify the status
+ iController.BroadcastNotification(notification);
+}
+
void CalenDeleteUi::entryDeleted(ulong id)
{
if (iController.context().instanceId().mEntryLocalUid == id) {
@@ -639,11 +777,11 @@
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
-TBool CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance )
+void CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance )
{
TRACE_ENTRY_POINT;
+ DoDeleteSingleInstanceL( aInstance, EFalse, AgendaUtil::ThisAndAll );
TRACE_EXIT_POINT;
- return DoDeleteSingleInstanceL( aInstance, EFalse, AgendaUtil::ThisAndAll );
}
// -----------------------------------------------------------------------------
@@ -652,12 +790,13 @@
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
-TBool CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance,
+void CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance,
AgendaUtil::RecurrenceRange aRepeatType )
{
TRACE_ENTRY_POINT;
+ DoDeleteSingleInstanceL( aInstance, ETrue, aRepeatType );
TRACE_EXIT_POINT;
- return DoDeleteSingleInstanceL( aInstance, ETrue, aRepeatType );
+
}
// -----------------------------------------------------------------------------
@@ -669,107 +808,43 @@
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
-TBool CalenDeleteUi::DoDeleteSingleInstanceL( AgendaEntry& aInstance,
- bool aHasRepeatType,
- AgendaUtil::RecurrenceRange aRepeatType )
- {
- TRACE_ENTRY_POINT;
-
- bool repeating = aInstance.isRepeating();
-
- if( !repeating )
- {
- // Even though there is no RRule, the entry might
- // have a list of rdates.
- QList<QDate> rDates = aInstance.rDates();
- repeating = ( rDates.count() > 0 );
- }
- QDateTime recId = aInstance.recurrenceId().toUTC();
- const bool child = recId.isNull();
-
- if( !aHasRepeatType )
- {
- aRepeatType = AgendaUtil::ThisAndAll;
- }
+void CalenDeleteUi::DoDeleteSingleInstanceL(
+ AgendaEntry& aInstance,
+ bool aHasRepeatType,
+ AgendaUtil::RecurrenceRange aRepeatType )
+{
+ TRACE_ENTRY_POINT;
+ bool repeating = aInstance.isRepeating();
- bool doDelete( ETrue );
-
- if( !aHasRepeatType && ( child || repeating ) && ( aInstance.type() != AgendaEntry::TypeAnniversary ) )
- {
- //doDelete = CalenActionUiUtils::ShowRepeatTypeQueryL( aRepeatType,
- // CalenActionUiUtils::EDelete );
- }
- else
- {
- doDelete = CalenActionUiUtils::showDeleteConfirmationQueryL(aInstance.type() == AgendaEntry::TypeTodo ?
- CalenActionUiUtils::EDeleteToDo :
- CalenActionUiUtils::EDeleteEntry );
- }
-
- if( doDelete )
- {
- if( !child || aRepeatType == AgendaUtil::ThisOnly )
- {
- iController.Services().agendaInterface()->deleteRepeatedEntry( aInstance, aRepeatType );
- }
- else if( aRepeatType == AgendaUtil::ThisAndAll )
- {
- iController.Services().agendaInterface()->deleteRepeatedEntry( aInstance, aRepeatType );
- }
- }
+ if( !repeating ) {
+ // Even though there is no RRule, the entry might
+ // have a list of rdates.
+ QList<QDate> rDates = aInstance.rDates();
+ repeating = ( rDates.count() > 0 );
+ }
+ QDateTime recId = aInstance.recurrenceId().toUTC();
+ const bool child = recId.isNull();
- TRACE_EXIT_POINT;
- return doDelete;
- }
-
-// -----------------------------------------------------------------------------
-// CalenDeleteUi::DeleteEntryL
-// Deletes an entry from the database
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CalenDeleteUi::DeleteEntryL( AgendaEntry& entry )
- {
- TRACE_ENTRY_POINT;
-
- TBool doDelete = CalenActionUiUtils::showDeleteConfirmationQueryL(entry.type() == AgendaEntry::TypeTodo ?
- CalenActionUiUtils::EDeleteToDo :
- CalenActionUiUtils::EDeleteEntry );
-
- if( doDelete )
- {
- iController.Services().agendaInterface()->deleteEntry(entry.id());
- }
+ if( !aHasRepeatType ) {
+ aRepeatType = AgendaUtil::ThisAndAll;
+ }
+ // For later reference in handleDeletion()
+ mRecurrenceRange = aRepeatType;
- TRACE_EXIT_POINT;
- return doDelete;
- }
-
-// -----------------------------------------------------------------------------
-// CalenDeleteUi::ShowMultipleEntriesDeleteQueryL
-// For displaying multiple entries deletion confirmation query
-// -----------------------------------------------------------------------------
-//
-TInt CalenDeleteUi::ShowMultipleEntriesDeleteQueryL(int aCount)
+ if( !aHasRepeatType && ( child || repeating ) &&
+ ( aInstance.type() != AgendaEntry::TypeAnniversary ) ) {
+ //doDelete = CalenActionUiUtils::ShowRepeatTypeQueryL( aRepeatType,
+ // CalenActionUiUtils::EDelete );
+ }
+ else
{
- TRACE_ENTRY_POINT;
- if( aCount > 1 )
- {
- TRACE_EXIT_POINT;
- return CalenActionUiUtils::showDeleteConfirmationQueryL(CalenActionUiUtils::EDeleteToDos, aCount );
- }
- else if( aCount == 1 )
- {
- TRACE_EXIT_POINT;
- return CalenActionUiUtils::showDeleteConfirmationQueryL(CalenActionUiUtils::EDeleteToDo);
- }
- else
- {
- TRACE_EXIT_POINT;
- return 0; //return 0 for other invalid aCount value ( < 0 )
- }
-
+ showDeleteQuery(aInstance.type() == AgendaEntry::TypeTodo ?
+ EDeleteToDo :
+ EDeleteEntry );
}
+ TRACE_EXIT_POINT;
+}
+
// -----------------------------------------------------------------------------
// CalenDeleteUi::DialogDismissedL
--- a/calendarui/controller/src/calenviewmanager.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenviewmanager.cpp Fri May 14 15:51:09 2010 +0300
@@ -53,8 +53,16 @@
mMonthViewDocLoader = NULL;
mDayViewDocLoader = NULL;
mDayViewAltDocLoader = NULL;
+ mCalenDayView = NULL;
+ mCalenMonthView = NULL;
+ mCalenDayViewAlt = NULL;
- mController.MainWindow().setItemVisible(Hb::NaviPaneItem, false);
+ // Connect to instance view and entry view creation signals from agenda
+ // interface
+ connect(mController.agendaInterface(), SIGNAL(instanceViewCreationCompleted(int)),
+ this, SLOT(handleInstanceViewCreation(int)));
+ connect(mController.agendaInterface(), SIGNAL(entryViewCreationCompleted(int)),
+ this, SLOT(handleEntryViewCreation(int)));
if (isFromServiceFrmwrk) {
// Dont load any views until our remote slot gets called in
@@ -69,7 +77,7 @@
// Connect to the view ready signal so that we construct other view
// once this view is shown
connect(&mController.MainWindow(), SIGNAL(viewReady()),
- this, SLOT(constructOtherViews()));
+ this, SLOT(handleMainViewReady()));
mController.MainWindow().addView(mCalenMonthView);
mController.MainWindow().setCurrentView(mCalenMonthView);
@@ -106,18 +114,28 @@
void CalenViewManager::constructAndActivateView(int view)
{
TRACE_ENTRY_POINT;
+ // We are here because, some other application is launching calendar with
+ // the view, hence connect to viewReady() signal to do any lazy loading
+ // in the slot
+
+ // Connect to the view ready signal so that we construct other view
+ // once this view is shown
+ connect(&mController.MainWindow(), SIGNAL(viewReady()),
+ this, SLOT(handleMainViewReady()));
if (view == ECalenMonthView) {
mFirstView = ECalenMonthView;
loadMonthView();
ActivateDefaultViewL(ECalenMonthView);
// Add month view to mainwindow.
mController.MainWindow().addView(mCalenMonthView);
+ mController.MainWindow().setCurrentView(mCalenMonthView);
} else if (view == ECalenDayView) {
mFirstView = ECalenDayView;
loadDayView();
ActivateDefaultViewL(ECalenDayView);
// Add day view to mainwindow.
mController.MainWindow().addView(mCalenDayView);
+ mController.MainWindow().setCurrentView(mCalenDayView);
}
TRACE_EXIT_POINT;
}
@@ -150,7 +168,7 @@
// Get the calenmonth view from the loader.
mCalenMonthView = static_cast<CalenMonthView *>
(mMonthViewDocLoader->findWidget(CALEN_MONTHVIEW));
- Q_ASSERT_X(mCalenDayView, "calenviewmanager.cpp",
+ Q_ASSERT_X(mCalenMonthView, "calenviewmanager.cpp",
"Unable to load calenMonth view");
// Setup the month view.
@@ -192,6 +210,27 @@
}
// ----------------------------------------------------------------------------
+// CalenViewManager::handleMainViewReady
+// Slot to handle viewReady() signal from mainwindow
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::handleMainViewReady()
+{
+ // Construct the month view part that is kept for lazy loading
+ if (mCalenMonthView) {
+ mCalenMonthView->doLazyLoading();
+ }
+
+ // Construct other views
+ constructOtherViews();
+
+ // disconnect the view ready signal as we dont need it anymore
+ disconnect(&mController.MainWindow(), SIGNAL(viewReady()),
+ this, SLOT(handleMainViewReady()));
+}
+
+// ----------------------------------------------------------------------------
// CalenViewManager::constructOtherViews
// Constructs the other views apart frm firstview and adds them to main window
// (other items were commented in a header).
@@ -217,10 +256,6 @@
// Setup the settings view
mSettingsView = new CalenSettingsView(mController.Services());
-
- // disconnect the view ready signal as we dont need it anymore
- disconnect(&mController.MainWindow(), SIGNAL(viewReady()),
- this, SLOT(constructOtherViews()));
}
// ----------------------------------------------------------------------------
@@ -283,22 +318,22 @@
mCurrentViewId = ECalenDayView;
if (mController.MainWindow().currentView() == mCalenDayView) {
HbEffect::add(mCalenDayView,
- ":/fxml/view_show",
+ ":/fxml/view_hide_back",
"hide");
HbEffect::add(mCalenDayViewAlt,
- ":/fxml/view_hide",
+ ":/fxml/view_show_back",
"show");
mCalenDayViewAlt->doPopulation();
- mController.MainWindow().setCurrentView(mCalenDayViewAlt, true, Hb::ViewSwitchUseBackAnim);
+ mController.MainWindow().setCurrentView(mCalenDayViewAlt, true, Hb::ViewSwitchUseNormalAnim);
} else {
HbEffect::add(mCalenDayViewAlt,
- ":/fxml/view_show",
+ ":/fxml/view_hide_back",
"hide");
HbEffect::add(mCalenDayView,
- ":/fxml/view_hide",
+ ":/fxml/view_show_back",
"show");
mCalenDayView->doPopulation();
- mController.MainWindow().setCurrentView(mCalenDayView, true, Hb::ViewSwitchUseBackAnim);
+ mController.MainWindow().setCurrentView(mCalenDayView, true, Hb::ViewSwitchUseNormalAnim);
}
}
@@ -309,6 +344,8 @@
//
void CalenViewManager::removeDayViews()
{
+ mCalenDayView->clearListModel();
+ mCalenDayViewAlt->clearListModel();
mController.MainWindow().removeView(mCalenDayView);
mController.MainWindow().removeView(mCalenDayViewAlt);
}
@@ -358,22 +395,28 @@
if (mController.MainWindow().currentView() == mCalenDayView) {
// This happens when settings view or event viewer is opened
// from the agenda view. Simply repopulate the view
- mCalenDayView->doPopulation();
- mController.MainWindow().setCurrentView(mCalenDayView);
+ if (mCalenDayView) {
+ mCalenDayView->doPopulation();
+ mController.MainWindow().setCurrentView(mCalenDayView);
+ }
} else if (mController.MainWindow().currentView() == mCalenDayViewAlt){
// This happens when settings view or event viewer is opened
// from the agenda view. Simply repopulate the view
- mCalenDayViewAlt->doPopulation();
- mController.MainWindow().setCurrentView(mCalenDayViewAlt);
+ if (mCalenDayViewAlt) {
+ mCalenDayViewAlt->doPopulation();
+ mController.MainWindow().setCurrentView(mCalenDayViewAlt);
+ }
} else {
// This is called whenever the day view is opened from the month
// view. Since the day view is not added to the mainwindow,
// add the day views to mainwindow and set any one of them as
// current view
- mCalenDayView->doPopulation();
- mController.MainWindow().addView(mCalenDayView);
- mController.MainWindow().setCurrentView(mCalenDayView);
- mController.MainWindow().addView(mCalenDayViewAlt);
+ if (mCalenDayView) {
+ mCalenDayView->doPopulation();
+ mController.MainWindow().addView(mCalenDayView);
+ mController.MainWindow().setCurrentView(mCalenDayView);
+ mController.MainWindow().addView(mCalenDayViewAlt);
+ }
}
break;
case ECalenLandscapeDayView:
@@ -611,4 +654,27 @@
qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
}
+// ----------------------------------------------------------------------------
+// CalenViewManager::handleInstanceViewCreation
+// Slot to handle completion of instance view creation
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::handleInstanceViewCreation(int status)
+{
+ Q_UNUSED(status);
+ mCalenMonthView->fetchEntriesAndUpdateModel();
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewManager::handleDeletingCompleted
+// Slot to handle completion of entry view creation
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::handleEntryViewCreation(int status)
+{
+ // Nothing Yet
+ Q_UNUSED(status);
+}
// End of file --Don't remove this.
--- a/calendarui/eabi/calencontrolleru.def Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/eabi/calencontrolleru.def Fri May 14 15:51:09 2010 +0300
@@ -11,21 +11,22 @@
_ZN16CCalenController19CancelNotificationsEP25MCalenNotificationHandler @ 10 NONAME
_ZN16CCalenController20CustomisationManagerEv @ 11 NONAME
_ZN16CCalenController21BroadcastNotificationE18TCalenNotification @ 12 NONAME
- _ZN16CCalenController21checkMultipleCreationEv @ 13 NONAME
- _ZN16CCalenController24handleServiceManagerSlotEiRK9QDateTime @ 14 NONAME
- _ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandler18TCalenNotification @ 15 NONAME
- _ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandlerR6RArrayI18TCalenNotificationE @ 16 NONAME
- _ZN16CCalenController7InfobarEv @ 17 NONAME
- _ZN16CCalenController7ReleaseEv @ 18 NONAME
- _ZN16CCalenController7contextEv @ 19 NONAME
- _ZN16CCalenController8NotifierEv @ 20 NONAME
- _ZN16CCalenController8ServicesEv @ 21 NONAME
- _ZN16CCalenController9InstanceLEv @ 22 NONAME
- _ZN16CCalenController9OfferMenuEP6HbMenu @ 23 NONAME
- _ZN16CCalenControllerC1Eb @ 24 NONAME
- _ZN16CCalenControllerC2Eb @ 25 NONAME
- _ZN16CCalenControllerD1Ev @ 26 NONAME
- _ZN16CCalenControllerD2Ev @ 27 NONAME
- _ZTI16CCalenController @ 28 NONAME
- _ZTV16CCalenController @ 29 NONAME
+ _ZN16CCalenController21ReleaseCustomisationsEv @ 13 NONAME
+ _ZN16CCalenController21checkMultipleCreationEv @ 14 NONAME
+ _ZN16CCalenController24handleServiceManagerSlotEiRK9QDateTime @ 15 NONAME
+ _ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandler18TCalenNotification @ 16 NONAME
+ _ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandlerR6RArrayI18TCalenNotificationE @ 17 NONAME
+ _ZN16CCalenController7InfobarEv @ 18 NONAME
+ _ZN16CCalenController7ReleaseEv @ 19 NONAME
+ _ZN16CCalenController7contextEv @ 20 NONAME
+ _ZN16CCalenController8NotifierEv @ 21 NONAME
+ _ZN16CCalenController8ServicesEv @ 22 NONAME
+ _ZN16CCalenController9InstanceLEv @ 23 NONAME
+ _ZN16CCalenController9OfferMenuEP6HbMenu @ 24 NONAME
+ _ZN16CCalenControllerC1Eb @ 25 NONAME
+ _ZN16CCalenControllerC2Eb @ 26 NONAME
+ _ZN16CCalenControllerD1Ev @ 27 NONAME
+ _ZN16CCalenControllerD2Ev @ 28 NONAME
+ _ZTI16CCalenController @ 29 NONAME
+ _ZTV16CCalenController @ 30 NONAME
--- a/calendarui/eabi/calenviewsu.def Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/eabi/calenviewsu.def Fri May 14 15:51:09 2010 +0300
@@ -1,20 +1,20 @@
EXPORTS
_ZN12CalenDayView12doPopulationEv @ 1 NONAME
- _ZN12CalenDayView18HandleNotificationE18TCalenNotification @ 2 NONAME
- _ZN12CalenDayView9docLoaderEv @ 3 NONAME
- _ZN12CalenDayView9setupViewEP14CalenDocLoader @ 4 NONAME
- _ZN12CalenDayViewC1ER14MCalenServices @ 5 NONAME
- _ZN12CalenDayViewC2ER14MCalenServices @ 6 NONAME
- _ZN12CalenDayViewD0Ev @ 7 NONAME
- _ZN12CalenDayViewD1Ev @ 8 NONAME
- _ZN12CalenDayViewD2Ev @ 9 NONAME
- _ZN14CalenMonthGrid10appendRowsEv @ 10 NONAME
- _ZN14CalenMonthGrid10panGestureERK7QPointF @ 11 NONAME
- _ZN14CalenMonthGrid11downGestureEi @ 12 NONAME
- _ZN14CalenMonthGrid11prependRowsEv @ 13 NONAME
- _ZN14CalenMonthGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 14 NONAME
- _ZN14CalenMonthGrid11qt_metacastEPKc @ 15 NONAME
- _ZN14CalenMonthGrid12timerExpiredEv @ 16 NONAME
+ _ZN12CalenDayView14clearListModelEv @ 2 NONAME
+ _ZN12CalenDayView18HandleNotificationE18TCalenNotification @ 3 NONAME
+ _ZN12CalenDayView9docLoaderEv @ 4 NONAME
+ _ZN12CalenDayView9setupViewEP14CalenDocLoader @ 5 NONAME
+ _ZN12CalenDayViewC1ER14MCalenServices @ 6 NONAME
+ _ZN12CalenDayViewC2ER14MCalenServices @ 7 NONAME
+ _ZN12CalenDayViewD0Ev @ 8 NONAME
+ _ZN12CalenDayViewD1Ev @ 9 NONAME
+ _ZN12CalenDayViewD2Ev @ 10 NONAME
+ _ZN14CalenMonthGrid10appendRowsEv @ 11 NONAME
+ _ZN14CalenMonthGrid10panGestureERK7QPointF @ 12 NONAME
+ _ZN14CalenMonthGrid11downGestureEi @ 13 NONAME
+ _ZN14CalenMonthGrid11prependRowsEv @ 14 NONAME
+ _ZN14CalenMonthGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 15 NONAME
+ _ZN14CalenMonthGrid11qt_metacastEPKc @ 16 NONAME
_ZN14CalenMonthGrid13itemActivatedERK11QModelIndex @ 17 NONAME
_ZN14CalenMonthGrid14setActiveDatesE5QDate @ 18 NONAME
_ZN14CalenMonthGrid14setCurrentIdexEi @ 19 NONAME
@@ -25,165 +25,172 @@
_ZN14CalenMonthGrid17scrollingFinishedEv @ 24 NONAME
_ZN14CalenMonthGrid18orientationChangedEN2Qt11OrientationE @ 25 NONAME
_ZN14CalenMonthGrid19getStaticMetaObjectEv @ 26 NONAME
- _ZN14CalenMonthGrid19setFocusToProperDayEv @ 27 NONAME
- _ZN14CalenMonthGrid20updateMonthGridModelER5QListI14CalenMonthDataEi @ 28 NONAME
- _ZN14CalenMonthGrid7setViewEP14CalenMonthView @ 29 NONAME
- _ZN14CalenMonthGrid9upGestureEi @ 30 NONAME
- _ZN14CalenMonthGridC1EP13QGraphicsItem @ 31 NONAME
- _ZN14CalenMonthGridC2EP13QGraphicsItem @ 32 NONAME
- _ZN14CalenMonthGridD0Ev @ 33 NONAME
- _ZN14CalenMonthGridD1Ev @ 34 NONAME
- _ZN14CalenMonthGridD2Ev @ 35 NONAME
- _ZN14CalenMonthView10createGridEv @ 36 NONAME
- _ZN14CalenMonthView11qt_metacallEN11QMetaObject4CallEiPPv @ 37 NONAME
- _ZN14CalenMonthView11qt_metacastEPKc @ 38 NONAME
- _ZN14CalenMonthView12createEditorEv @ 39 NONAME
- _ZN14CalenMonthView12doPopulationEv @ 40 NONAME
- _ZN14CalenMonthView12getActiveDayEv @ 41 NONAME
- _ZN14CalenMonthView12setActiveDayE9QDateTime @ 42 NONAME
- _ZN14CalenMonthView13getCurrentDayEv @ 43 NONAME
- _ZN14CalenMonthView13launchDayViewEv @ 44 NONAME
- _ZN14CalenMonthView13monthDataListEv @ 45 NONAME
- _ZN14CalenMonthView14addWeekNumbersEv @ 46 NONAME
- _ZN14CalenMonthView14firstDayOfGridEv @ 47 NONAME
- _ZN14CalenMonthView14rowsInFutMonthEv @ 48 NONAME
- _ZN14CalenMonthView14setDateToLabelEv @ 49 NONAME
- _ZN14CalenMonthView15dateFromContextERK13MCalenContext @ 50 NONAME
- _ZN14CalenMonthView15getInstanceListER5QListI11AgendaEntryE9QDateTimeS4_ @ 51 NONAME
- _ZN14CalenMonthView15onLocaleChangedEi @ 52 NONAME
- _ZN14CalenMonthView15rowsInPrevMonthEv @ 53 NONAME
- _ZN14CalenMonthView16getCurrGridIndexEv @ 54 NONAME
- _ZN14CalenMonthView16setCurrGridIndexEi @ 55 NONAME
- _ZN14CalenMonthView16staticMetaObjectE @ 56 NONAME DATA 16
- _ZN14CalenMonthView17changeOrientationEN2Qt11OrientationE @ 57 NONAME
- _ZN14CalenMonthView17populateNextMonthEv @ 58 NONAME
- _ZN14CalenMonthView17populatePrevMonthEv @ 59 NONAME
- _ZN14CalenMonthView17removeWeekNumbersEv @ 60 NONAME
- _ZN14CalenMonthView18addBackgroundFrameEv @ 61 NONAME
- _ZN14CalenMonthView18completePopulationEv @ 62 NONAME
- _ZN14CalenMonthView19getStaticMetaObjectEv @ 63 NONAME
- _ZN14CalenMonthView19populatePreviewPaneER9QDateTime @ 64 NONAME
- _ZN14CalenMonthView20prepareForPopulationEv @ 65 NONAME
- _ZN14CalenMonthView21refreshViewOnGoToDateEv @ 66 NONAME
- _ZN14CalenMonthView22setContextForActiveDayEi @ 67 NONAME
- _ZN14CalenMonthView22updateWeekNumGridModelEv @ 68 NONAME
- _ZN14CalenMonthView23handleChangeOrientationEv @ 69 NONAME
- _ZN14CalenMonthView23handleGridItemActivatedEv @ 70 NONAME
- _ZN14CalenMonthView24handlePreviewPaneGestureEb @ 71 NONAME
- _ZN14CalenMonthView24populateWithInstanceViewEv @ 72 NONAME
- _ZN14CalenMonthView24updateModelWithPrevMonthEv @ 73 NONAME
- _ZN14CalenMonthView25handleGridItemLongPressedEiR7QPointF @ 74 NONAME
- _ZN14CalenMonthView25handleLeftEffectCompletedERKN8HbEffect12EffectStatusE @ 75 NONAME
- _ZN14CalenMonthView26handleRightEffectCompletedERKN8HbEffect12EffectStatusE @ 76 NONAME
- _ZN14CalenMonthView26updateModelWithFutureMonthEv @ 77 NONAME
- _ZN14CalenMonthView35updateMonthDataArrayWithActiveDatesEv @ 78 NONAME
- _ZN14CalenMonthView7setDateEv @ 79 NONAME
- _ZN14CalenMonthView9goToTodayEv @ 80 NONAME
- _ZN14CalenMonthView9setupViewEP14CalenDocLoader @ 81 NONAME
- _ZN14CalenMonthViewC1ER14MCalenServices @ 82 NONAME
- _ZN14CalenMonthViewC2ER14MCalenServices @ 83 NONAME
- _ZN14CalenMonthViewD0Ev @ 84 NONAME
- _ZN14CalenMonthViewD1Ev @ 85 NONAME
- _ZN14CalenMonthViewD2Ev @ 86 NONAME
- _ZN16CalenPreviewPane11qt_metacallEN11QMetaObject4CallEiPPv @ 87 NONAME
- _ZN16CalenPreviewPane11qt_metacastEPKc @ 88 NONAME
- _ZN16CalenPreviewPane13populateLabelE9QDateTime @ 89 NONAME
- _ZN16CalenPreviewPane13stopScrollingEv @ 90 NONAME
- _ZN16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 91 NONAME
- _ZN16CalenPreviewPane15startAutoScrollEv @ 92 NONAME
- _ZN16CalenPreviewPane16GetInstanceListLEv @ 93 NONAME
- _ZN16CalenPreviewPane16staticMetaObjectE @ 94 NONAME DATA 16
- _ZN16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 95 NONAME
- _ZN16CalenPreviewPane17scrollingFinishedEv @ 96 NONAME
- _ZN16CalenPreviewPane17setNoEntriesLabelEP7HbLabel @ 97 NONAME
- _ZN16CalenPreviewPane19getStaticMetaObjectEv @ 98 NONAME
- _ZN16CalenPreviewPane19onTwoSecondsTimeoutEv @ 99 NONAME
- _ZN16CalenPreviewPane4DateEv @ 100 NONAME
- _ZN16CalenPreviewPane7setViewEP14CalenMonthView @ 101 NONAME
- _ZN16CalenPreviewPaneC1ER14MCalenServicesP13QGraphicsItem @ 102 NONAME
- _ZN16CalenPreviewPaneC2ER14MCalenServicesP13QGraphicsItem @ 103 NONAME
- _ZN16CalenPreviewPaneD0Ev @ 104 NONAME
- _ZN16CalenPreviewPaneD1Ev @ 105 NONAME
- _ZN16CalenPreviewPaneD2Ev @ 106 NONAME
- _ZN17CalenSettingsView11qt_metacallEN11QMetaObject4CallEiPPv @ 107 NONAME
- _ZN17CalenSettingsView11qt_metacastEPKc @ 108 NONAME
- _ZN17CalenSettingsView14initializeFormEv @ 109 NONAME
- _ZN17CalenSettingsView16staticMetaObjectE @ 110 NONAME DATA 16
- _ZN17CalenSettingsView18launchPreviousViewEv @ 111 NONAME
- _ZN17CalenSettingsView19getStaticMetaObjectEv @ 112 NONAME
- _ZN17CalenSettingsViewC1ER14MCalenServicesP13QGraphicsItem @ 113 NONAME
- _ZN17CalenSettingsViewC2ER14MCalenServicesP13QGraphicsItem @ 114 NONAME
- _ZN17CalenSettingsViewD0Ev @ 115 NONAME
- _ZN17CalenSettingsViewD1Ev @ 116 NONAME
- _ZN17CalenSettingsViewD2Ev @ 117 NONAME
- _ZN18CalenDayViewWidgetC1ER14MCalenServicesP14CalenDocLoader @ 118 NONAME
- _ZN18CalenDayViewWidgetC2ER14MCalenServicesP14CalenDocLoader @ 119 NONAME
- _ZN18CalenDayViewWidgetD0Ev @ 120 NONAME
- _ZN18CalenDayViewWidgetD1Ev @ 121 NONAME
- _ZN18CalenDayViewWidgetD2Ev @ 122 NONAME
- _ZN21CalenThickLinesDrawer11qt_metacallEN11QMetaObject4CallEiPPv @ 123 NONAME
- _ZN21CalenThickLinesDrawer11qt_metacastEPKc @ 124 NONAME
- _ZN21CalenThickLinesDrawer16staticMetaObjectE @ 125 NONAME DATA 16
- _ZN21CalenThickLinesDrawer19getStaticMetaObjectEv @ 126 NONAME
- _ZN21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 127 NONAME
- _ZN21CalenThickLinesDrawerC1EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 128 NONAME
- _ZN21CalenThickLinesDrawerC2EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 129 NONAME
- _ZN21CalenThickLinesDrawerD0Ev @ 130 NONAME
- _ZN21CalenThickLinesDrawerD1Ev @ 131 NONAME
- _ZN21CalenThickLinesDrawerD2Ev @ 132 NONAME
- _ZNK14CalenMonthGrid10metaObjectEv @ 133 NONAME
- _ZNK14CalenMonthView10metaObjectEv @ 134 NONAME
- _ZNK16CalenPreviewPane10metaObjectEv @ 135 NONAME
- _ZNK17CalenSettingsView10metaObjectEv @ 136 NONAME
- _ZNK21CalenThickLinesDrawer10metaObjectEv @ 137 NONAME
- _ZTI14CalenMonthGrid @ 138 NONAME
- _ZTI14CalenMonthView @ 139 NONAME
- _ZTI16CalenPreviewPane @ 140 NONAME
- _ZTI17CalenSettingsView @ 141 NONAME
- _ZTI21CalenThickLinesDrawer @ 142 NONAME
- _ZTV14CalenMonthGrid @ 143 NONAME
- _ZTV14CalenMonthView @ 144 NONAME
- _ZTV16CalenPreviewPane @ 145 NONAME
- _ZTV17CalenSettingsView @ 146 NONAME
- _ZTV21CalenThickLinesDrawer @ 147 NONAME
- _ZThn16_N12CalenDayViewD0Ev @ 148 NONAME
- _ZThn16_N12CalenDayViewD1Ev @ 149 NONAME
- _ZThn16_N14CalenMonthGridD0Ev @ 150 NONAME
- _ZThn16_N14CalenMonthGridD1Ev @ 151 NONAME
- _ZThn16_N14CalenMonthViewD0Ev @ 152 NONAME
- _ZThn16_N14CalenMonthViewD1Ev @ 153 NONAME
- _ZThn16_N16CalenPreviewPaneD0Ev @ 154 NONAME
- _ZThn16_N16CalenPreviewPaneD1Ev @ 155 NONAME
- _ZThn16_N17CalenSettingsViewD0Ev @ 156 NONAME
- _ZThn16_N17CalenSettingsViewD1Ev @ 157 NONAME
- _ZThn16_N18CalenDayViewWidgetD0Ev @ 158 NONAME
- _ZThn16_N18CalenDayViewWidgetD1Ev @ 159 NONAME
- _ZThn16_N21CalenThickLinesDrawerD0Ev @ 160 NONAME
- _ZThn16_N21CalenThickLinesDrawerD1Ev @ 161 NONAME
- _ZThn28_N12CalenDayView18HandleNotificationE18TCalenNotification @ 162 NONAME
- _ZThn8_N12CalenDayViewD0Ev @ 163 NONAME
- _ZThn8_N12CalenDayViewD1Ev @ 164 NONAME
- _ZThn8_N14CalenMonthGrid15mousePressEventEP24QGraphicsSceneMouseEvent @ 165 NONAME
- _ZThn8_N14CalenMonthGrid17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 166 NONAME
- _ZThn8_N14CalenMonthGridD0Ev @ 167 NONAME
- _ZThn8_N14CalenMonthGridD1Ev @ 168 NONAME
- _ZThn8_N14CalenMonthViewD0Ev @ 169 NONAME
- _ZThn8_N14CalenMonthViewD1Ev @ 170 NONAME
- _ZThn8_N16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 171 NONAME
- _ZThn8_N16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 172 NONAME
- _ZThn8_N16CalenPreviewPaneD0Ev @ 173 NONAME
- _ZThn8_N16CalenPreviewPaneD1Ev @ 174 NONAME
- _ZThn8_N17CalenSettingsViewD0Ev @ 175 NONAME
- _ZThn8_N17CalenSettingsViewD1Ev @ 176 NONAME
- _ZThn8_N18CalenDayViewWidgetD0Ev @ 177 NONAME
- _ZThn8_N18CalenDayViewWidgetD1Ev @ 178 NONAME
- _ZThn8_N21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 179 NONAME
- _ZThn8_N21CalenThickLinesDrawerD0Ev @ 180 NONAME
- _ZThn8_N21CalenThickLinesDrawerD1Ev @ 181 NONAME
- _ZN14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 182 NONAME
- _ZN14CalenMonthView27showHideRegionalInformationEv @ 183 NONAME
- _ZThn8_N14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 184 NONAME
- _ZN16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 185 NONAME
- _ZThn8_N16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 186 NONAME
- _ZN14CalenMonthView22addRemoveActionsInMenuEv @ 187 NONAME
+ _ZN14CalenMonthGrid19handleAppendingRowsER5QListI14CalenMonthDataE @ 27 NONAME
+ _ZN14CalenMonthGrid19setFocusToProperDayEv @ 28 NONAME
+ _ZN14CalenMonthGrid20handlePrependingRowsER5QListI14CalenMonthDataE @ 29 NONAME
+ _ZN14CalenMonthGrid20updateMonthGridModelER5QListI14CalenMonthDataEib @ 30 NONAME
+ _ZN14CalenMonthGrid24handlePanGestureFinishedEv @ 31 NONAME
+ _ZN14CalenMonthGrid33updateMonthGridWithInActiveMonthsER5QListI14CalenMonthDataE @ 32 NONAME
+ _ZN14CalenMonthGrid34updateMonthGridWithEventIndicatorsER5QListI14CalenMonthDataE @ 33 NONAME
+ _ZN14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 34 NONAME
+ _ZN14CalenMonthGrid7setViewEP14CalenMonthView @ 35 NONAME
+ _ZN14CalenMonthGrid9upGestureEi @ 36 NONAME
+ _ZN14CalenMonthGridC1EP13QGraphicsItem @ 37 NONAME
+ _ZN14CalenMonthGridC2EP13QGraphicsItem @ 38 NONAME
+ _ZN14CalenMonthGridD0Ev @ 39 NONAME
+ _ZN14CalenMonthGridD1Ev @ 40 NONAME
+ _ZN14CalenMonthGridD2Ev @ 41 NONAME
+ _ZN14CalenMonthView10createGridEv @ 42 NONAME
+ _ZN14CalenMonthView11qt_metacallEN11QMetaObject4CallEiPPv @ 43 NONAME
+ _ZN14CalenMonthView11qt_metacastEPKc @ 44 NONAME
+ _ZN14CalenMonthView12createEditorEv @ 45 NONAME
+ _ZN14CalenMonthView12doPopulationEv @ 46 NONAME
+ _ZN14CalenMonthView12getActiveDayEv @ 47 NONAME
+ _ZN14CalenMonthView12setActiveDayE9QDateTime @ 48 NONAME
+ _ZN14CalenMonthView13doLazyLoadingEv @ 49 NONAME
+ _ZN14CalenMonthView13getCurrentDayEv @ 50 NONAME
+ _ZN14CalenMonthView13launchDayViewEv @ 51 NONAME
+ _ZN14CalenMonthView13monthDataListEv @ 52 NONAME
+ _ZN14CalenMonthView14addWeekNumbersEv @ 53 NONAME
+ _ZN14CalenMonthView14firstDayOfGridEv @ 54 NONAME
+ _ZN14CalenMonthView14rowsInFutMonthEv @ 55 NONAME
+ _ZN14CalenMonthView14setDateToLabelEv @ 56 NONAME
+ _ZN14CalenMonthView15dateFromContextERK13MCalenContext @ 57 NONAME
+ _ZN14CalenMonthView15getInstanceListER5QListI5QDateE9QDateTimeS4_ @ 58 NONAME
+ _ZN14CalenMonthView15onLocaleChangedEi @ 59 NONAME
+ _ZN14CalenMonthView15rowsInPrevMonthEv @ 60 NONAME
+ _ZN14CalenMonthView16getCurrGridIndexEv @ 61 NONAME
+ _ZN14CalenMonthView16onContextChangedEv @ 62 NONAME
+ _ZN14CalenMonthView16setCurrGridIndexEi @ 63 NONAME
+ _ZN14CalenMonthView16staticMetaObjectE @ 64 NONAME DATA 16
+ _ZN14CalenMonthView17changeOrientationEN2Qt11OrientationE @ 65 NONAME
+ _ZN14CalenMonthView17populateNextMonthEv @ 66 NONAME
+ _ZN14CalenMonthView17populatePrevMonthEv @ 67 NONAME
+ _ZN14CalenMonthView17removeWeekNumbersEv @ 68 NONAME
+ _ZN14CalenMonthView18addBackgroundFrameEv @ 69 NONAME
+ _ZN14CalenMonthView18completePopulationEv @ 70 NONAME
+ _ZN14CalenMonthView19getStaticMetaObjectEv @ 71 NONAME
+ _ZN14CalenMonthView19populatePreviewPaneER9QDateTime @ 72 NONAME
+ _ZN14CalenMonthView20prepareForPopulationEv @ 73 NONAME
+ _ZN14CalenMonthView21refreshViewOnGoToDateEv @ 74 NONAME
+ _ZN14CalenMonthView22addRemoveActionsInMenuEv @ 75 NONAME
+ _ZN14CalenMonthView22setContextForActiveDayEi @ 76 NONAME
+ _ZN14CalenMonthView22updateWeekNumGridModelEv @ 77 NONAME
+ _ZN14CalenMonthView23handleChangeOrientationEv @ 78 NONAME
+ _ZN14CalenMonthView23handleGridItemActivatedEv @ 79 NONAME
+ _ZN14CalenMonthView24handlePreviewPaneGestureEb @ 80 NONAME
+ _ZN14CalenMonthView24populateWithInstanceViewEv @ 81 NONAME
+ _ZN14CalenMonthView24updateModelWithPrevMonthEv @ 82 NONAME
+ _ZN14CalenMonthView25handleLeftEffectCompletedERKN8HbEffect12EffectStatusE @ 83 NONAME
+ _ZN14CalenMonthView26fetchEntriesAndUpdateModelEv @ 84 NONAME
+ _ZN14CalenMonthView26handleRightEffectCompletedERKN8HbEffect12EffectStatusE @ 85 NONAME
+ _ZN14CalenMonthView26updateModelWithFutureMonthEv @ 86 NONAME
+ _ZN14CalenMonthView27showHideRegionalInformationEv @ 87 NONAME
+ _ZN14CalenMonthView35updateMonthDataArrayWithActiveDatesEv @ 88 NONAME
+ _ZN14CalenMonthView7setDateEv @ 89 NONAME
+ _ZN14CalenMonthView9goToTodayEv @ 90 NONAME
+ _ZN14CalenMonthView9setupViewEP14CalenDocLoader @ 91 NONAME
+ _ZN14CalenMonthViewC1ER14MCalenServices @ 92 NONAME
+ _ZN14CalenMonthViewC2ER14MCalenServices @ 93 NONAME
+ _ZN14CalenMonthViewD0Ev @ 94 NONAME
+ _ZN14CalenMonthViewD1Ev @ 95 NONAME
+ _ZN14CalenMonthViewD2Ev @ 96 NONAME
+ _ZN16CalenPreviewPane11qt_metacallEN11QMetaObject4CallEiPPv @ 97 NONAME
+ _ZN16CalenPreviewPane11qt_metacastEPKc @ 98 NONAME
+ _ZN16CalenPreviewPane13populateLabelE9QDateTime @ 99 NONAME
+ _ZN16CalenPreviewPane13stopScrollingEv @ 100 NONAME
+ _ZN16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 101 NONAME
+ _ZN16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 102 NONAME
+ _ZN16CalenPreviewPane15startAutoScrollEv @ 103 NONAME
+ _ZN16CalenPreviewPane16GetInstanceListLEv @ 104 NONAME
+ _ZN16CalenPreviewPane16staticMetaObjectE @ 105 NONAME DATA 16
+ _ZN16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 106 NONAME
+ _ZN16CalenPreviewPane17scrollingFinishedEv @ 107 NONAME
+ _ZN16CalenPreviewPane17setNoEntriesLabelEP7HbLabel @ 108 NONAME
+ _ZN16CalenPreviewPane19getStaticMetaObjectEv @ 109 NONAME
+ _ZN16CalenPreviewPane19onTwoSecondsTimeoutEv @ 110 NONAME
+ _ZN16CalenPreviewPane4DateEv @ 111 NONAME
+ _ZN16CalenPreviewPane7setViewEP14CalenMonthView @ 112 NONAME
+ _ZN16CalenPreviewPaneC1ER14MCalenServicesP13QGraphicsItem @ 113 NONAME
+ _ZN16CalenPreviewPaneC2ER14MCalenServicesP13QGraphicsItem @ 114 NONAME
+ _ZN16CalenPreviewPaneD0Ev @ 115 NONAME
+ _ZN16CalenPreviewPaneD1Ev @ 116 NONAME
+ _ZN16CalenPreviewPaneD2Ev @ 117 NONAME
+ _ZN17CalenSettingsView11qt_metacallEN11QMetaObject4CallEiPPv @ 118 NONAME
+ _ZN17CalenSettingsView11qt_metacastEPKc @ 119 NONAME
+ _ZN17CalenSettingsView14initializeFormEv @ 120 NONAME
+ _ZN17CalenSettingsView16staticMetaObjectE @ 121 NONAME DATA 16
+ _ZN17CalenSettingsView18launchPreviousViewEv @ 122 NONAME
+ _ZN17CalenSettingsView19getStaticMetaObjectEv @ 123 NONAME
+ _ZN17CalenSettingsViewC1ER14MCalenServicesP13QGraphicsItem @ 124 NONAME
+ _ZN17CalenSettingsViewC2ER14MCalenServicesP13QGraphicsItem @ 125 NONAME
+ _ZN17CalenSettingsViewD0Ev @ 126 NONAME
+ _ZN17CalenSettingsViewD1Ev @ 127 NONAME
+ _ZN17CalenSettingsViewD2Ev @ 128 NONAME
+ _ZN18CalenDayViewWidgetC1ER14MCalenServicesP14CalenDocLoader @ 129 NONAME
+ _ZN18CalenDayViewWidgetC2ER14MCalenServicesP14CalenDocLoader @ 130 NONAME
+ _ZN18CalenDayViewWidgetD0Ev @ 131 NONAME
+ _ZN18CalenDayViewWidgetD1Ev @ 132 NONAME
+ _ZN18CalenDayViewWidgetD2Ev @ 133 NONAME
+ _ZN21CalenThickLinesDrawer11qt_metacallEN11QMetaObject4CallEiPPv @ 134 NONAME
+ _ZN21CalenThickLinesDrawer11qt_metacastEPKc @ 135 NONAME
+ _ZN21CalenThickLinesDrawer16staticMetaObjectE @ 136 NONAME DATA 16
+ _ZN21CalenThickLinesDrawer19getStaticMetaObjectEv @ 137 NONAME
+ _ZN21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 138 NONAME
+ _ZN21CalenThickLinesDrawerC1EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 139 NONAME
+ _ZN21CalenThickLinesDrawerC2EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 140 NONAME
+ _ZN21CalenThickLinesDrawerD0Ev @ 141 NONAME
+ _ZN21CalenThickLinesDrawerD1Ev @ 142 NONAME
+ _ZN21CalenThickLinesDrawerD2Ev @ 143 NONAME
+ _ZNK14CalenMonthGrid10metaObjectEv @ 144 NONAME
+ _ZNK14CalenMonthView10metaObjectEv @ 145 NONAME
+ _ZNK16CalenPreviewPane10metaObjectEv @ 146 NONAME
+ _ZNK17CalenSettingsView10metaObjectEv @ 147 NONAME
+ _ZNK21CalenThickLinesDrawer10metaObjectEv @ 148 NONAME
+ _ZTI14CalenMonthGrid @ 149 NONAME
+ _ZTI14CalenMonthView @ 150 NONAME
+ _ZTI16CalenPreviewPane @ 151 NONAME
+ _ZTI17CalenSettingsView @ 152 NONAME
+ _ZTI21CalenThickLinesDrawer @ 153 NONAME
+ _ZTV14CalenMonthGrid @ 154 NONAME
+ _ZTV14CalenMonthView @ 155 NONAME
+ _ZTV16CalenPreviewPane @ 156 NONAME
+ _ZTV17CalenSettingsView @ 157 NONAME
+ _ZTV21CalenThickLinesDrawer @ 158 NONAME
+ _ZThn16_N12CalenDayViewD0Ev @ 159 NONAME
+ _ZThn16_N12CalenDayViewD1Ev @ 160 NONAME
+ _ZThn16_N14CalenMonthGridD0Ev @ 161 NONAME
+ _ZThn16_N14CalenMonthGridD1Ev @ 162 NONAME
+ _ZThn16_N14CalenMonthViewD0Ev @ 163 NONAME
+ _ZThn16_N14CalenMonthViewD1Ev @ 164 NONAME
+ _ZThn16_N16CalenPreviewPaneD0Ev @ 165 NONAME
+ _ZThn16_N16CalenPreviewPaneD1Ev @ 166 NONAME
+ _ZThn16_N17CalenSettingsViewD0Ev @ 167 NONAME
+ _ZThn16_N17CalenSettingsViewD1Ev @ 168 NONAME
+ _ZThn16_N18CalenDayViewWidgetD0Ev @ 169 NONAME
+ _ZThn16_N18CalenDayViewWidgetD1Ev @ 170 NONAME
+ _ZThn16_N21CalenThickLinesDrawerD0Ev @ 171 NONAME
+ _ZThn16_N21CalenThickLinesDrawerD1Ev @ 172 NONAME
+ _ZThn28_N12CalenDayView18HandleNotificationE18TCalenNotification @ 173 NONAME
+ _ZThn8_N12CalenDayViewD0Ev @ 174 NONAME
+ _ZThn8_N12CalenDayViewD1Ev @ 175 NONAME
+ _ZThn8_N14CalenMonthGrid15mousePressEventEP24QGraphicsSceneMouseEvent @ 176 NONAME
+ _ZThn8_N14CalenMonthGrid17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 177 NONAME
+ _ZThn8_N14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 178 NONAME
+ _ZThn8_N14CalenMonthGridD0Ev @ 179 NONAME
+ _ZThn8_N14CalenMonthGridD1Ev @ 180 NONAME
+ _ZThn8_N14CalenMonthViewD0Ev @ 181 NONAME
+ _ZThn8_N14CalenMonthViewD1Ev @ 182 NONAME
+ _ZThn8_N16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 183 NONAME
+ _ZThn8_N16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 184 NONAME
+ _ZThn8_N16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 185 NONAME
+ _ZThn8_N16CalenPreviewPaneD0Ev @ 186 NONAME
+ _ZThn8_N16CalenPreviewPaneD1Ev @ 187 NONAME
+ _ZThn8_N17CalenSettingsViewD0Ev @ 188 NONAME
+ _ZThn8_N17CalenSettingsViewD1Ev @ 189 NONAME
+ _ZThn8_N18CalenDayViewWidgetD0Ev @ 190 NONAME
+ _ZThn8_N18CalenDayViewWidgetD1Ev @ 191 NONAME
+ _ZThn8_N21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 192 NONAME
+ _ZThn8_N21CalenThickLinesDrawerD0Ev @ 193 NONAME
+ _ZThn8_N21CalenThickLinesDrawerD1Ev @ 194 NONAME
--- a/calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp Fri May 14 15:51:09 2010 +0300
@@ -375,21 +375,27 @@
TRACE_ENTRY_POINT;
QString text = QString::fromUtf16(aMsgText.Ptr(),aMsgText.Length());
- // Instantiate a popup
- HbMessageBox popup;
- popup.setDismissPolicy(HbDialog::NoDismiss);
- popup.setTimeout(HbDialog::NoTimeout);
- popup.setIconVisible(false);
+ // Instantiate a popup
+ HbMessageBox *popup = new HbMessageBox();
+ popup->setDismissPolicy(HbDialog::NoDismiss);
+ popup->setTimeout(HbDialog::NoTimeout);
+ popup->setIconVisible(false);
+ popup->setAttribute( Qt::WA_DeleteOnClose, true );
+
+ popup->setHeadingWidget(new HbLabel("Lunar Calendar"));
+ popup->setText(text);
+
+ // Remove the default actions
+ QList<QAction*> list = popup->actions();
+ for(int i=0; i < list.count(); i++)
+ {
+ popup->removeAction(list[i]);
+ }
+ // Sets the primary action
+ popup->addAction(new HbAction(hbTrId("txt_calendar_button_cancel"), popup));
- popup.setHeadingWidget(new HbLabel("Lunar Calendar"));
- popup.setText(text);
-
- // Sets the primary action
- popup.setPrimaryAction(new HbAction(hbTrId("txt_calendar_button_cancel"),
- &popup));
-
- // Launch popup syncronously
- popup.exec();
+ // Launch popup
+ popup->open();
TRACE_EXIT_POINT;
}
--- a/calendarui/rom/Calendar.iby Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/rom/Calendar.iby Fri May 14 15:51:09 2010 +0300
@@ -31,7 +31,6 @@
// Application registration file.
data=DATAZ_\private\10003a3f\import\apps\CALENDAR_REG.RSC \private\10003a3f\import\apps\CALENDAR_REG.RSC
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\calensettingsplugin.qtplugin resource\qt\plugins\controlpanel\calensettingsplugin.qtplugin
data=\epoc32\data\z\pluginstub\calengriditemstyleplugin.qtplugin \private\10005901\calengriditemstyleplugin.qtplugin
data=\epoc32\data\z\resource\qt\plugins\calendar\agendaeventviewerplugin.qtplugin resource\qt\plugins\calendar\agendaeventviewerplugin.qtplugin
@@ -44,7 +43,6 @@
file=ABI_DIR\BUILD_DIR\caleneditor.dll SHARED_LIB_DIR\caleneditor.dll
file=ABI_DIR\BUILD_DIR\calenviews.dll SHARED_LIB_DIR\calenviews.dll
file=ABI_DIR\BUILD_DIR\calensettings.dll SHARED_LIB_DIR\calensettings.dll
-file=ABI_DIR\BUILD_DIR\calensettingsplugin.dll SHARED_LIB_DIR\calensettingsplugin.dll
file=ABI_DIR\BUILD_DIR\calengriditemstyleplugin.dll SHARED_LIB_DIR\calengriditemstyleplugin.dll
file=ABI_DIR\BUILD_DIR\calencontroller.dll SHARED_LIB_DIR\calencontroller.dll
file=ABI_DIR\BUILD_DIR\agendaeventviewer.dll SHARED_LIB_DIR\agendaeventviewer.dll
--- a/calendarui/views/inc/calendayview.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calendayview.h Fri May 14 15:51:09 2010 +0300
@@ -88,6 +88,11 @@
CALENDAYVIEW_EXPORT CalenDocLoader* docLoader();
/**
+ * @brief clears the list model from the view
+ */
+ CALENDAYVIEW_EXPORT void clearListModel();
+
+ /*
* @brief Refreshes the view with the date set in the context
*/
void refreshViewOnGoToDate();
--- a/calendarui/views/inc/calendayviewwidget.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calendayviewwidget.h Fri May 14 15:51:09 2010 +0300
@@ -32,6 +32,7 @@
class HbGroupBox;
class HbListView;
class HbLabel;
+class HbAction;
class HbDateTimePicker;
class XQSettingsManager;
class MCalenServices;
@@ -90,6 +91,11 @@
*/
void handleLocaleChange();
+ /**
+ * @brief clears the list model from the view
+ */
+ void clearListModel();
+
private:
/**
@@ -219,6 +225,17 @@
* events for some day other than the current day
*/
void goToToday();
+
+ /**
+ * @brief This slot connected to aboutToClose()signal of contextmenu
+ * To reset the flag of mLongTapEventFlag
+ */
+ void contextMenuClosed();
+
+ /**
+ * @brief Called when contextMenu item is triggered
+ */
+ void contextManuTriggered(HbAction *action);
private:
/**
@@ -321,6 +338,13 @@
*/
XQSettingsManager *mSettingsManager;
+
+ /**
+ * @var mLongTapeventFlag
+ * @brief Set flag true if contextmenu is opened
+ */
+ bool mLongTapEventFlag;
+
};
#endif //CALENDAYVIEWWIDGET_H
--- a/calendarui/views/inc/calengriditemprototype.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calengriditemprototype.h Fri May 14 15:51:09 2010 +0300
@@ -28,13 +28,18 @@
class HbIconItem;
class HbTextItem;
class HbFrameItem;
-class CalenGridItem;
+
+// CONSTANTS
+const QString focusIconName = "qtg_fr_cal_focused_day_ind";
+const QString eventIndname = "qtg_graf_cal_event_ind";
class CalenGridItemPrototype : public HbGridViewItem
{
Q_OBJECT
public:
+ CalenGridItemPrototype(QColor todayIndColor, QColor activeColor, QColor inActiveColor,
+ QGraphicsWidget *parent = 0);
CalenGridItemPrototype(QGraphicsWidget *parent = 0);
virtual ~CalenGridItemPrototype()
{
@@ -46,19 +51,20 @@
void pressStateChanged(bool pressed,bool animate);
void pressStateChanged(bool animate);
bool canSetModelIndex(const QModelIndex& index);
+ void createPrimitives();
private:
void drawUnderline(bool underlineEnabled);
private:
- QGraphicsLinearLayout *mLayout;
- CalenGridItem *mWidget;
+ QColor mTodayUnderLineColor;
+ QColor mActiveTextColor;
+ QColor mInActiveTextColor;
QColor mCurrentDateColor;
QColor mGridBorderColor;
HbIconItem *mEventIndicatorItem;
HbTextItem *mMonthDayInfoItem;
HbFrameItem *mFocusIndicatorItem;
HbIconItem *mTodayIndicatorItem;
- QColor mTodayUnderLineColor;
};
#endif // CALENGRIDITEMPROTOTYPE_H
--- a/calendarui/views/inc/calenmonthgrid.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calenmonthgrid.h Fri May 14 15:51:09 2010 +0300
@@ -56,7 +56,11 @@
~CalenMonthGrid();
void setView(CalenMonthView *view);
void updateMonthGridModel(QList<CalenMonthData> &monthDataArray,
- int indexToBeScrolled);
+ int indexToBeScrolled, bool isFirstTime);
+ void updateMonthGridWithInActiveMonths(
+ QList<CalenMonthData> &monthDataArray);
+ void updateMonthGridWithEventIndicators(
+ QList<CalenMonthData> &monthDataArray);
void setCurrentIdex(int index);
int getCurrentIndex();
@@ -64,11 +68,15 @@
void orientationChanged(Qt::Orientation newOrientation);
private:
+ void handlePrependingRows(QList<CalenMonthData > &monthDataList);
+ void handleAppendingRows(QList<CalenMonthData > &monthDataList);
+ void handlePanGestureFinished();
void mousePressEvent(QGraphicsSceneMouseEvent* event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
void setFocusToProperDay();
void setActiveDates(QDate activeDate);
- void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
+ void paint(QPainter* painter,
+ const QStyleOptionGraphicsItem* option, QWidget* widget);
public slots:
void scrollingFinished();
@@ -80,7 +88,6 @@
void downGesture(int value);
void upGesture(int value);
void panGesture(const QPointF &delta);
- void timerExpired();
private:
QStandardItemModel *mModel;
@@ -97,6 +104,8 @@
QColor mGridLineColor;
QColor mGridBorderColor;
QGraphicsWidget* mContentWidget;
+ QList<QString> mLocalisedDates;
+ QPointF mStartPos;
};
#endif // CALENMONTHGRID_H
--- a/calendarui/views/inc/calenmonthview.h Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calenmonthview.h Fri May 14 15:51:09 2010 +0300
@@ -66,8 +66,8 @@
public: // From CCalenView
virtual void doPopulation();
void setupView(CalenDocLoader *docLoader);
+ void doLazyLoading();
void handleGridItemActivated();
- void handleGridItemLongPressed(int index, QPointF &coords);
void setContextForActiveDay(int index);
QDateTime getCurrentDay();
QDateTime getActiveDay();
@@ -84,6 +84,7 @@
void populatePreviewPane(QDateTime &dateTime);
void handlePreviewPaneGesture(bool rightGesture);
QDateTime firstDayOfGrid();
+ void fetchEntriesAndUpdateModel();
private:
void createGrid();
@@ -93,8 +94,8 @@
QDateTime dateFromContext( const MCalenContext &context );
void setActiveDay(QDateTime day);
void setDate();
- void getInstanceList(QList<AgendaEntry> &list,
- QDateTime rangeStart, QDateTime rangeEnd);
+ void getInstanceList(QList<QDate> &list,
+ QDateTime rangeStart, QDateTime rangeEnd);
void handleChangeOrientation();
void setDateToLabel();
void updateWeekNumGridModel();
@@ -173,6 +174,7 @@
CalenPluginLabel *mCurrRegionalInfo;
CalenPluginLabel *mNextRegionalInfo;
HbMenu *mDeleteSubMenu;
+ QColor mWeekDaysColor;
};
#endif //CALENMONTHVIEW_H
--- a/calendarui/views/resources/calenresources.qrc Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/resources/calenresources.qrc Fri May 14 15:51:09 2010 +0300
@@ -10,6 +10,8 @@
<qresource prefix="/fxml">
<file alias="view_show">view_show_normal.fxml</file>
<file alias="view_hide">view_hide_normal.fxml</file>
+ <file alias="view_hide_back">view_hide_back.fxml</file>
+ <file alias="view_show_back">view_show_back.fxml</file>
<file alias="portrait_preview_pane_show_on_left_gesture">portrait_preview_pane_show_on_left_gesture_normal.fxml</file>
<file alias="portrait_preview_pane_hide_on_left_gesture">portrait_preview_pane_hide_on_left_gesture_normal.fxml</file>
<file alias="portrait_preview_pane_show_on_right_gesture">portrait_preview_pane_show_on_right_gesture_normal.fxml</file>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/resources/view_hide_back.fxml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,10 @@
+<layers>
+<visual>
+ <param name="translation_x" type="anim">
+ <duration>0.35</duration>
+ <style>outquad</style>
+ <start>extrect.right</start>
+ <end ref="screen.width">1</end>
+ </param>
+</visual>
+</layers>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/resources/view_show_back.fxml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,10 @@
+<layers>
+<visual>
+ <param name="translation_x" type="anim">
+ <duration>0.35</duration>
+ <style>outquad</style>
+ <start ref="screen.width">-1</start>
+ <end>extrect.left</end>
+ </param>
+</visual>
+</layers>
\ No newline at end of file
--- a/calendarui/views/src/calendayview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calendayview.cpp Fri May 14 15:51:09 2010 +0300
@@ -111,7 +111,7 @@
// Dont override the soft key behavior if day view is the first view
if (ECalenDayView != mServices.getFirstView()) {
- mSoftKeyAction = new HbAction(Hb::BackAction);
+ mSoftKeyAction = new HbAction(Hb::BackNaviAction);
setNavigationAction(mSoftKeyAction);
// Connect to the signal triggered by clicking on back button.
connect(mSoftKeyAction, SIGNAL(triggered()), this,
@@ -308,4 +308,14 @@
mServices.IssueCommandL(ECalenMonthView);
}
+// ----------------------------------------------------------------------------
+// CCalenDayView::clearListModel
+// clears the list model
+// ----------------------------------------------------------------------------
+//
+void CalenDayView::clearListModel()
+ {
+ mDayViewWidget->clearListModel();
+ }
+
// End of file --Don't remove this.
--- a/calendarui/views/src/calendayviewwidget.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calendayviewwidget.cpp Fri May 14 15:51:09 2010 +0300
@@ -67,7 +67,8 @@
CalenDocLoader *docLoader) :
mServices(services),
mDocLoader(docLoader),
-mRegionalInfoGroupBox(NULL)
+mRegionalInfoGroupBox(NULL),
+mLongTapEventFlag(false)
{
// Construct the list view prototype
mListViewPrototype = new CalenEventListViewItem(this);
@@ -954,6 +955,7 @@
void CalenDayViewWidget::itemLongPressed(HbAbstractViewItem* listViewItem,
const QPointF& coords)
{
+ mLongTapEventFlag = true;
// Update the selection index first
mSelectedIndex = listViewItem->modelIndex().row();
@@ -968,29 +970,34 @@
HbMenu *contextMenu = new HbMenu();
// Add the open option
- HbAction *openAction = contextMenu->addAction(hbTrId("txt_common_menu_open"));
- connect(openAction, SIGNAL(triggered()), this, SLOT(viewEntry()));
+ HbAction *openAction = contextMenu->addAction(
+ hbTrId("txt_common_menu_open"));
// Check the type of event
if (AgendaEntry::TypeTodo == entry.type()) {
// Add an option to mark the note as complete
- HbAction *completeAction = contextMenu->addAction(hbTrId("txt_calendar_menu_mark_as_done"));
- connect(completeAction, SIGNAL(triggered()), this, SLOT(markAsDone()));
+ HbAction *completeAction = contextMenu->addAction(
+ hbTrId("txt_calendar_menu_mark_as_done"));
}
// Add the edit option
- HbAction *editAction = contextMenu->addAction(hbTrId("txt_common_menu_edit"));
- connect(editAction, SIGNAL(triggered()), this, SLOT(editEntry()));
+ HbAction *editAction = contextMenu->addAction(
+ hbTrId("txt_common_menu_edit"));
// Add the delete option
- HbAction *deleteAction = contextMenu->addAction(hbTrId("txt_common_menu_delete"));
- connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteEntry()));
+ HbAction *deleteAction = contextMenu->addAction(
+ hbTrId("txt_common_menu_delete"));
contextMenu->setDismissPolicy(HbMenu::TapAnywhere);
// Show context sensitive menu.
// Param const QPointF& coordinate - is a longpress position.
- contextMenu->exec(coords);
+ contextMenu->setPreferredPos(coords);
+ connect(contextMenu, SIGNAL(aboutToClose()),
+ this,
+ SLOT(contextMenuClosed()));
+
+ contextMenu->open(this, SLOT(contextManuTriggered(HbAction *)));
}
// ----------------------------------------------------------------------------
@@ -1007,9 +1014,10 @@
if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
return;
}
-
+ if( !mLongTapEventFlag ) {
// Open the event for viewing
viewEntry();
+ }
}
// ----------------------------------------------------------------------------
@@ -1051,4 +1059,42 @@
mView->refreshViewOnGoToDate();
}
+// ----------------------------------------------------------------------------
+// CalenDayViewWidget::contextMenuClosed
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenDayViewWidget::contextMenuClosed()
+{
+ mLongTapEventFlag = false;
+}
+
+// ----------------------------------------------------------------------------
+// CalenDayViewWidget::contextManuTriggered
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenDayViewWidget::contextManuTriggered(HbAction *action)
+{
+ if (action->text() == hbTrId("txt_common_menu_open")) {
+ viewEntry();
+ } else if (action->text() == hbTrId("txt_calendar_menu_mark_as_done")) {
+ markAsDone();
+ } else if (action->text() == hbTrId("txt_common_menu_edit")) {
+ editEntry();
+ } else {
+ if (action->text() == hbTrId("txt_common_menu_delete")) {
+ deleteEntry();
+ }
+ }
+}
+// ----------------------------------------------------------------------------
+// CalenDayViewWidget::clearListModel
+// clears the list model
+// ----------------------------------------------------------------------------
+//
+void CalenDayViewWidget::clearListModel()
+ {
+ mListModel->clear();
+ }
// End of file --Don't remove this.
--- a/calendarui/views/src/calengriditemprototype.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calengriditemprototype.cpp Fri May 14 15:51:09 2010 +0300
@@ -33,7 +33,6 @@
#include "calengriditemprototype.h"
#include "calencommon.h"
-#define GRIDLINE_WIDTH 0.075 //units
/*!
\class CalenGridItemPrototype
@@ -43,19 +42,45 @@
/*!
Constructor.
*/
-CalenGridItemPrototype::CalenGridItemPrototype(QGraphicsWidget *parent) :
+CalenGridItemPrototype::CalenGridItemPrototype(QColor todayIndColor, QColor activeColor, QColor inActiveColor,
+ QGraphicsWidget *parent) :
HbGridViewItem(parent),
- mLayout(0),
+ mTodayUnderLineColor(todayIndColor),
+ mActiveTextColor(activeColor),
+ mInActiveTextColor(inActiveColor),
mCurrentDateColor(Qt::black),
mGridBorderColor(Qt::gray),
mEventIndicatorItem(0),
mMonthDayInfoItem(0),
mFocusIndicatorItem(0),
- mTodayIndicatorItem(0),
- mTodayUnderLineColor(Qt::gray)
+ mTodayIndicatorItem(0)
{
- mTodayUnderLineColor = HbColorScheme::color("qtc_cal_month_current_day");
+ }
+
+/*!
+ Constructs all the primitives
+*/
+void CalenGridItemPrototype::createPrimitives()
+{
+ if (!mMonthDayInfoItem) {
+ mMonthDayInfoItem = new HbTextItem(this);
+ HbStyle::setItemName(mMonthDayInfoItem,
+ QLatin1String("monthDayInfoTextItem"));
+ mMonthDayInfoItem->setElideMode(Qt::ElideNone);
}
+
+ if (!mFocusIndicatorItem) {
+ mFocusIndicatorItem = new HbFrameItem(this);
+ mFocusIndicatorItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+ mFocusIndicatorItem->setZValue(-1);
+ HbStyle::setItemName(mFocusIndicatorItem, QLatin1String("focusIconItem"));
+ }
+
+ if (!mEventIndicatorItem) {
+ mEventIndicatorItem = new HbIconItem(this);
+ HbStyle::setItemName(mEventIndicatorItem, QLatin1String("eventIconItem"));
+ }
+}
/*!
From HbAbstractViewItem.
@@ -65,7 +90,9 @@
*/
HbAbstractViewItem *CalenGridItemPrototype::createItem()
{
- return new CalenGridItemPrototype(*this);
+ CalenGridItemPrototype* item = new CalenGridItemPrototype(*this);
+ item->createPrimitives();
+ return item;
}
/*!
@@ -74,49 +101,31 @@
\sa HbAbstractViewItem, HbGridViewItem
*/
void CalenGridItemPrototype::updateChildItems()
-{
-
- // base class implementation
- HbGridViewItem::updateChildItems();
-
+{
// Here update content of each item.
QVariant monthDayRole;
- QVariant monthFocusRole;
+ bool monthFocusRole;
bool underlineEnabled = false;
- QVariant monthEventRole;
- QVariant monthTextColorRole;
+ bool monthEventRole;
+ bool monthTextColorRole;
QVariant itemData = modelIndex().data(Qt::UserRole + 1);
if (itemData.isValid()) {
if (itemData.canConvert<QVariantList>()) {
+
// Get the item list
QVariantList itemList = itemData.toList();
// Get the day text
monthDayRole = itemList.at(CalendarNamespace::CalendarMonthDayRole);
if (monthDayRole.canConvert<QString>()) {
- QString monthDayText = monthDayRole.toString();
-
- if (!mMonthDayInfoItem) {
- mMonthDayInfoItem = new HbTextItem(this);
- HbStyle::setItemName(mMonthDayInfoItem,
- QLatin1String("monthDayInfoTextItem"));
-
- }
-
- mMonthDayInfoItem->setText(monthDayText);
- mMonthDayInfoItem->setElideMode(Qt::ElideNone);
+ mMonthDayInfoItem->setText(monthDayRole.toString());
}
// Get the focus data
- monthFocusRole = itemList.at(CalendarNamespace::CalendarMonthFocusRole);
- if (monthFocusRole.canConvert<QString>()) {
- QString focusIconPath = monthFocusRole.toString();
- if (!mFocusIndicatorItem) {
- mFocusIndicatorItem = new HbFrameItem(this);
- mFocusIndicatorItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
- mFocusIndicatorItem->setZValue(-1);
- HbStyle::setItemName(mFocusIndicatorItem, QLatin1String("focusIconItem"));
- }
- mFocusIndicatorItem->frameDrawer().setFrameGraphicsName(focusIconPath);
+ monthFocusRole = itemList.at(CalendarNamespace::CalendarMonthFocusRole).value<bool>();
+ if (monthFocusRole) {
+ mFocusIndicatorItem->frameDrawer().setFrameGraphicsName(focusIconName);
+ } else {
+ mFocusIndicatorItem->frameDrawer().setFrameGraphicsName(QString(""));
}
// Get the today indicator role
@@ -124,25 +133,29 @@
drawUnderline(underlineEnabled);
// Get the event indicator data
- monthEventRole = itemList.at(CalendarNamespace::CalendarMonthEventRole);
- if (monthEventRole.canConvert<QString>()) {
- QString eventIconPath = monthEventRole.toString();
- if (!mEventIndicatorItem) {
- mEventIndicatorItem = new HbIconItem(this);
- HbStyle::setItemName(mEventIndicatorItem, QLatin1String("eventIconItem"));
- }
- mEventIndicatorItem->setIconName(eventIconPath);
+ monthEventRole = itemList.at(CalendarNamespace::CalendarMonthEventRole).value<bool>();
+ if (monthEventRole) {
+ // Set the event indicator
+ //QString iconName(focusIconName);
+ mEventIndicatorItem->setIconName(eventIndname);
+ } else {
+ mEventIndicatorItem->setIconName(QString(""));
}
// Get the text color
- monthTextColorRole = itemList.at(CalendarNamespace::CalendarMonthTextColorRole);
- if (monthTextColorRole.canConvert<QColor>()) {
- QColor monthTextColor = monthTextColorRole.value<QColor>();
- mMonthDayInfoItem->setTextColor(monthTextColor);
+ monthTextColorRole = itemList.at(CalendarNamespace::CalendarMonthTextColorRole).value<bool>();
+ if (monthTextColorRole) {
+ // Set the active text color
+ mMonthDayInfoItem->setTextColor(mActiveTextColor);
+ } else {
+ // Set the inactive text color
+ mMonthDayInfoItem->setTextColor(mInActiveTextColor);
}
}
}
+ // base class implementation
+ HbGridViewItem::updateChildItems();
}
/*!
--- a/calendarui/views/src/calenmonthgrid.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calenmonthgrid.cpp Fri May 14 15:51:09 2010 +0300
@@ -16,10 +16,6 @@
*/
// System includes
-#include <qtimer.h>
-#include <hbmenu.h>
-#include <hbaction.h>
-#include <hbmainwindow.h>
#include <hbgridview.h>
#include <hbabstractviewitem.h>
#include <hbstyleloader.h>
@@ -34,7 +30,7 @@
#include "calencommon.h"
// Constants
-#define SCROLL_SPEEED 1000
+#define SCROLL_SPEEED 2000
#define GRIDLINE_WIDTH 0.075 //units
/*!
@@ -66,27 +62,26 @@
setSelectionMode(HbGridView::NoSelection);
setUniformItemSizes(true);
setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
- setClampingStyle(HbScrollArea::StrictClamping );
+ setClampingStyle(HbScrollArea::StrictClamping);
+ setEnabledAnimations(HbAbstractItemView::None);
+ resetTransform();
// Get the content widget of the scroll area to draw the grid lines
mContentWidget = contentWidget();
- // Get the color of the grid lines
+ // Get the all required colors
+ // Color of the grid lines
mGridLineColor = HbColorScheme::color("qtc_cal_grid_line");
- // Create the prototype
- CalenGridItemPrototype* gridItemPrototype = new CalenGridItemPrototype(this);
- // Create the model
- mModel = new QStandardItemModel(14*KCalenDaysInWeek, 1, this);
- // Set the mode and the prototype
- setModel(mModel,gridItemPrototype);
+ // Get the localised dates well before
+ // TODO: Need to update the mLocalisedDates when user changes the
+ // phone language keeping calendar application in background
+ HbExtendedLocale locale = HbExtendedLocale::system();
+ for (int i = 1; i <= 31; i++) {
+ mLocalisedDates.append(locale.toString(i));
+ }
- // Register the widgetml and css files
- HbStyleLoader::registerFilePath(":/");
-
- // Set the layout name
- setLayoutName("calendarCustomGridItem");
-
+ // Connect to scrolling finished signal
connect(this, SIGNAL(scrollingEnded()), this,
SLOT(scrollingFinished()));
@@ -100,6 +95,7 @@
*/
CalenMonthGrid::~CalenMonthGrid()
{
+ // Nothing Yet
}
/*!
@@ -114,55 +110,66 @@
Updates the model with the proper dates and sets the required user roles
*/
void CalenMonthGrid::updateMonthGridModel(QList<CalenMonthData> &monthDataArray,
- int indexToBeScrolled)
+ int indexToBeScrolled, bool isFirstTime)
{
- // Check the counts
- int dataCount = monthDataArray.count();
- int rowCount = mModel->rowCount();
- int countDiff = dataCount - rowCount;
- if (countDiff < 0) {
- // Delete extra rows in the model
- mModel->removeRows(dataCount,abs(countDiff));
- } else if (countDiff > 0) {
- // Add the necessary number of rows
- mModel->insertRows(rowCount,countDiff);
+ int loopStart = 0;
+ int loopEnd = monthDataArray.count();
+ if (isFirstTime) {
+ // Create the model with only 42 items as visible to the user
+ mModel = new QStandardItemModel(KCalenDaysInWeek * KNumOfVisibleRows,
+ 1, this);
+ loopStart = (mView->rowsInPrevMonth()) * KCalenDaysInWeek;
+ loopEnd = loopStart + (KCalenDaysInWeek * KNumOfVisibleRows);
+ } else {
+ // Block the signals generated by model, this is being done as
+ // we want to avoid the overload of view listening to signals
+ mModel->blockSignals(true);
+
+ // Check the counts
+ int dataCount = monthDataArray.count();
+ int rowCount = mModel->rowCount();
+ int countDiff = dataCount - rowCount;
+ if (countDiff < 0) {
+ // Delete extra rows in the model
+ mModel->removeRows(dataCount,abs(countDiff));
+ } else if (countDiff > 0) {
+ // Add the necessary number of rows
+ mModel->insertRows(rowCount,countDiff);
+ }
+ loopEnd = dataCount;
}
+
QDateTime currDate = mView->getCurrentDay();
QDateTime currDateTime = CalenDateUtils::beginningOfDay(currDate);
QDateTime activeDay = mView->getActiveDay();
QDateTime activeDateTime = CalenDateUtils::beginningOfDay(activeDay);
QModelIndex currentIndex;
-
- // Get the default text color to be set
- QColor textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
- HbExtendedLocale locale = HbExtendedLocale::system();
- for (int i = 0; i < dataCount; i++) {
+ int modelIndex = 0;
+ for (int i = loopStart; i < loopEnd; i++) {
QDateTime dateTime = monthDataArray[i].Day();
- currentIndex = mModel->index(i, 0);
- // Get the localised string for the day
- QString date = locale.toString(dateTime.date().day());
+ currentIndex = mModel->index(modelIndex++, 0);
// Create the variant list to contain the date to depict a grid item
QVariantList itemData;
- // NOTE: Add the data in the order mentioned in the
+ // !!!NOTE!!!: Add the data in the order mentioned in the
// CalendarNamespace::DataRole enum. Dont change the order.
- itemData << date;
+ itemData << mLocalisedDates.at(dateTime.date().day()-1);
// Check for active day
if (activeDateTime == CalenDateUtils::beginningOfDay(dateTime)) {
- mCurrentRow = currentIndex.row();
- // Set the focus icon
- itemData << QString("qtg_fr_cal_focused_day_ind");
+ mCurrentRow = i;
+ // Set the focus attribute to true
+ itemData << true;
} else {
// reset the highlight
- itemData << QString("");
+ itemData << false;
}
// Check for current day
if (currDateTime == CalenDateUtils::beginningOfDay(dateTime)) {
- // Set the underline icon
+ // Set the underline attribute to true
itemData << true;
} else {
itemData << false;
@@ -170,35 +177,118 @@
// Check for events
if (monthDataArray[i].HasEvents()) {
- // Set the underline icon
- itemData << QString("qtg_graf_cal_event_ind");
+ // Set the event indicator attribute
+ itemData << true;
} else {
- itemData << QString("");
+ itemData << false;
}
// Add default text color
- itemData << textColor;
+ if (monthDataArray[i].isActive()) {
+ itemData << true;
+ } else {
+ itemData << false;
+ }
mModel->itemFromIndex(currentIndex)->setData(itemData);
}
+
+ if (isFirstTime) {
+ // Color of the today indicator
+ QColor todayIndColor = HbColorScheme::color("qtc_cal_month_current_day");
+ // Color of the active dates
+ QColor mActiveTextColor =
+ HbColorScheme::color("qtc_cal_month_active_dates");
+ // Color of the inactive dates
+ QColor mInActiveTextColor =
+ HbColorScheme::color("qtc_cal_month_notactive_dates");
+
+ // Create the prototype
+ CalenGridItemPrototype* gridItemPrototype = new CalenGridItemPrototype(
+ todayIndColor, mActiveTextColor, mInActiveTextColor, this);
+
+ // Set the mode and the prototype
+ setModel(mModel,gridItemPrototype);
+
+ // Register the widgetml and css files
+ HbStyleLoader::registerFilePath(":/");
+
+ // Set the layout name
+ setLayoutName("calendarCustomGridItem");
+ } else {
+ // Since, we have finished setData, Now unblock the signals
+ mModel->blockSignals(false);
+
+ // Since till now, we had blocked signals being generated frm the mode
+ // view will be unaware of the items that we added. Hence, inform the view
+ // explicitly in one shot
+ QModelIndex leftIndex = mModel->index(0, 0);
+ QModelIndex rightIndex = mModel->index(loopEnd-1, 0);
+ dataChanged(leftIndex, rightIndex);
+
+ // NOTE: To make sure that we always display proper month,
+ // two calls have been made to scrollTo(), one with top
+ // visible item and other with bottom visible item
+ // Calculate the first visible item in the grid
+ QModelIndex firstVisibleIndex = mModel->index(indexToBeScrolled -
+ (KNumOfVisibleRows * KCalenDaysInWeek - 1), 0);
+ scrollTo(firstVisibleIndex);
+
+
+ // Calculate the last visible item in the grid
+ QModelIndex lastVisibleIndex = mModel->index(indexToBeScrolled, 0);
+ scrollTo(lastVisibleIndex);
+ }
mMonthDataArray = monthDataArray;
+}
+
+/*!
+ Updates the view with jprevious month dates when calendar is opened for the
+ first time to improve the opening time
+ */
+void CalenMonthGrid::updateMonthGridWithInActiveMonths(
+ QList<CalenMonthData> &monthDataArray)
+{
+ mMonthDataArray = monthDataArray;
+
+ // Prepend the required rows
+ handlePrependingRows(monthDataArray);
- // Get the active month
- QDateTime activeDate = mView->getActiveDay();
- // Set the text color properly
- setActiveDates(activeDate.date());
+ // Append the required rows
+ handleAppendingRows(monthDataArray);
+
+ int rowsInPrevMonth = mView->rowsInPrevMonth();
- // NOTE: To make sure that we always display proper month,
- // two calls have been made to scrollTo(), one with top
- // visible item and other with bottom visible item
- // Calculate the first visible item in the grid
- QModelIndex firstVisibleIndex = mModel->index(indexToBeScrolled -
- (KNumOfVisibleRows * KCalenDaysInWeek - 1), 0);
- scrollTo(firstVisibleIndex);
-
-
- // Calculate the last visible item in the grid
- QModelIndex lastVisibleIndex = mModel->index(indexToBeScrolled, 0);
- scrollTo(lastVisibleIndex);
+ // Calculate the proper index to be scrolled to
+ int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+ QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+ mIsAtomicScroll = true;
+ scrollTo(indexToBeScrolled);
+
+ // Scroll to proper index
+ itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) *
+ KCalenDaysInWeek) - 1;
+ indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+ mIsAtomicScroll = true;
+ scrollTo(indexToBeScrolled);
+}
+
+/*!
+ Updates the view with just event indicators
+ */
+void CalenMonthGrid::updateMonthGridWithEventIndicators(
+ QList<CalenMonthData> &monthDataArray)
+{
+ mMonthDataArray = monthDataArray;
+ for(int i = 0; i < monthDataArray.count(); i++) {
+ // Check if the day has events
+ if (monthDataArray[i].HasEvents()) {
+ QModelIndex itemIndex = mModel->index(i,0);
+ QVariant itemData = itemIndex.data(Qt::UserRole + 1);
+ QVariantList list = itemData.toList();
+ list.replace(CalendarNamespace::CalendarMonthEventRole, true);
+ mModel->itemFromIndex(itemIndex)->setData(list);
+ }
+ }
}
/*!
@@ -208,10 +298,11 @@
{
Q_UNUSED(value)
mDirection = down;
- // Before we start scrolling, setthe active text color to previous month
- QDateTime activeDate = mView->getActiveDay();
- setActiveDates(activeDate.addMonths(-1).date());
- HbScrollArea::downGesture(SCROLL_SPEEED);
+ mIsAtomicScroll = false;
+ setAttribute(Hb::InteractionDisabled);
+
+ // pass it to parent
+ HbScrollArea::downGesture(value);
}
/*!
@@ -221,10 +312,12 @@
{
Q_UNUSED(value)
mDirection = up;
- // Before we start scrolling, setthe active text color to future month
- QDateTime activeDate = mView->getActiveDay();
- setActiveDates(activeDate.addMonths(1).date());
- HbScrollArea::upGesture(SCROLL_SPEEED);
+ mIsAtomicScroll = false;
+ setAttribute(Hb::InteractionDisabled);
+
+ // pass it to parent
+ HbScrollArea::upGesture(value);
+
}
/*!
@@ -257,25 +350,20 @@
*/
void CalenMonthGrid::panGesture(const QPointF & delta)
{
+ setAttribute(Hb::InteractionDisabled);
+ mIsAtomicScroll = false;
if (!mIsPanGesture) {
mIsPanGesture = true;
mIgnoreItemActivated = true;
-
+ mStartPos = mContentWidget->pos();
// Get to know the direction of the gesture
if (delta.y() > 0) {
mDirection = down;
} else {
mDirection = up;
}
- } else { // This case is when user changes the direction while panning
- // without lifting the finger
- // Check if direction has changed
- if (((delta.y() > 0) && (mDirection == up))
- || ((delta.y() < 0) && (mDirection == down))) {
- // Direction has changed, ignore this pan
- return;
- }
}
+
// Call the parent class to perform the pan gesture
// When scrolling finished, month grid will adjust to show the proper month
HbScrollArea::panGesture(delta);
@@ -288,40 +376,87 @@
{
if (mIsPanGesture) {
- mIsPanGesture = false;
- if (mDirection == up) {
- // Make a request for upgesture
- upGesture(SCROLL_SPEEED);
- return; // return immediately
- } else if (mDirection == down) {
- // Make a request for upgesture
- downGesture(SCROLL_SPEEED);
- return; // return immediately
+ handlePanGestureFinished();
+ } else if(!mIsAtomicScroll) {
+ QDateTime activeDate = mView->getActiveDay();
+ if(mDirection == down) { // down gesture
+ if (!mIsNonActiveDayFocused) {
+ setActiveDates(activeDate.addMonths(-1).date());
+ }
+ prependRows();
+ } else if (mDirection == up) { //up gesture
+ if (!mIsNonActiveDayFocused) {
+ setActiveDates(activeDate.addMonths(1).date());
+ }
+ appendRows();
}
- } else if(!mIsAtomicScroll) {
- // Before we do anything, set the focus to proper date
- // Set it only when non active day was focussed. When inactive day
- // was focussed, we need to focus the same day
- if (!mIsNonActiveDayFocused) {
- setFocusToProperDay();
- }
- // To improve the performance, lets start the timer for 10 ms,
- // return immediately and do the other things after that
- QTimer::singleShot(10, this, SLOT(timerExpired()));
+ mDirection = invalid;
} else {
mIsAtomicScroll = false;
}
mIgnoreItemActivated = false;
+ setAttribute(Hb::InteractionDisabled, false);
}
-void CalenMonthGrid::timerExpired()
+/*!
+ Function to handle completion of pan gesture
+ */
+void CalenMonthGrid::handlePanGestureFinished()
{
- if(mDirection == down) { // down gesture
- prependRows();
- } else if (mDirection == up) { //up gesture
- appendRows();
+ mIsPanGesture = false;
+ // Get the first item that is visible
+ QList<HbAbstractViewItem *> list = visibleItems();
+ HbAbstractViewItem* item = list[0];
+ QModelIndex modelIndex = item->modelIndex();
+
+ // Get the date which is visible at the above row
+ QDateTime date = mMonthDataArray[modelIndex.row()].Day();
+
+ // Check if this date belong to current active month or
+ // previous month else future month
+ QDateTime activeMonth = mView->getActiveDay();
+ QDateTime prevMonth = activeMonth.addMonths(-1);
+ QDateTime nextMonth = activeMonth.addMonths(1);
+ int month = date.date().month();
+ if (month == activeMonth.date().month()) {
+ // Then pan is completed on current month
+ // Check if the date is more than half of the current month or it is
+ // more than or equal to half of the future month
+ if (date.date().day() > (activeMonth.date().daysInMonth()) / 2 ||
+ date.addDays(KNumOfVisibleRows*KCalenDaysInWeek).date().day() >=
+ (prevMonth.date().daysInMonth()) / 2) {
+ // up gesture to bring the next month
+ upGesture(SCROLL_SPEEED);
+ } else {
+ // we should again show the current month by scrolling downwards
+ mDirection = down;
+ mIsAtomicScroll = true;
+ scrollContentsTo(-mStartPos,500);
+ }
+ } else if (month == prevMonth.date().month()) {
+ // first visible item belongs to previous month
+ // Check if the date is more than half of the previous month
+ if (date.date().day() > (prevMonth.date().daysInMonth()) / 2) {
+ // we should again show the current month by scrolling upwards
+ mDirection = up;
+ mIsAtomicScroll = true;
+ scrollContentsTo(-mStartPos,500);
+ } else {
+ // down gesture to show the previous month
+ downGesture(SCROLL_SPEEED);
+ }
+ } else if (month == nextMonth.date().month()) {
+ // first visible item belongs to next month
+ // Check if the date is more than half of the next month
+ if (date.date().day() > (nextMonth.date().daysInMonth()) / 2) {
+ // up gesture to bring the next month
+ upGesture(SCROLL_SPEEED);
+ } else {
+ // we should again show the current month by scrolling upwards
+ mDirection = invalid;
+ scrollContentsTo(-mStartPos,500);
+ }
}
- mDirection = invalid;
}
/*!
@@ -330,43 +465,81 @@
*/
void CalenMonthGrid::prependRows()
{
+ // Before we do anything, set the focus to proper date
+ // Set it only when non active day was focussed. When inactive day
+ // was focussed, we need to focus the same day
+ if (!mIsNonActiveDayFocused) {
+ setFocusToProperDay();
+ }
+
+ // Block the signals generated by model, this is being done as
+ // we want to avoid the overload of view listening to signals
+ mModel->blockSignals(true);
+
mIsNonActiveDayFocused = false;
- QDateTime currDate = mView->getCurrentDay();
- QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+
int rowsInFutMonthEarlier = mView->rowsInFutMonth();
int rowsInPrevMonthEarlier = mView->rowsInPrevMonth();
+ // remove the cells in the future month
+ int deleteFromIndex = (rowsInPrevMonthEarlier + KNumOfVisibleRows) * KCalenDaysInWeek;
+ int numOfIndices = rowsInFutMonthEarlier * KCalenDaysInWeek;
+
// Get the updated dates from the view
mView->updateModelWithPrevMonth();
QList<CalenMonthData > monthDataList = mView->monthDataList();
mMonthDataArray = monthDataList;
- int listCount = monthDataList.count();
- // Get the updated rows to be inserted
- int rowsInPrevMonth = mView->rowsInPrevMonth();
- int rowsInFutMonth = mView->rowsInFutMonth();
+
+ // Prepend the required rows
+ handlePrependingRows(monthDataList);
+
+ // Since, we have finished setData, Now unblock the signals
+ mModel->blockSignals(false);
- // remove the cells in the future month
- int deleteFromIndex = (rowsInPrevMonthEarlier + KNumOfVisibleRows) * KCalenDaysInWeek;
- int numOfIndices = rowsInFutMonthEarlier * KCalenDaysInWeek;
- int count = mModel->rowCount();
+ int rowsInPrevMonth = mView->rowsInPrevMonth();
+ int countToBeAdded = rowsInPrevMonth * KCalenDaysInWeek;
+
+ // Since till now, we had blocked signals being generated frm the model
+ // view will be unaware of the items that we added. Hence, inform the view
+ // explicitly in one shot
+ QModelIndex leftIndex = mModel->index(0, 0);
+ QModelIndex rightIndex = mModel->index(countToBeAdded-1, 0);
+ dataChanged(leftIndex, rightIndex);
+
+ // Now remove the necessary items frm the model
+ mModel->removeRows(deleteFromIndex+countToBeAdded, numOfIndices);
+ mIsAtomicScroll = true;
+ int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+ QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+ scrollTo(indexToBeScrolled);
- count = mModel->rowCount();
-
+ // Scroll to proper index
+ itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) *
+ KCalenDaysInWeek) - 1;
+ indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+ mIsAtomicScroll = true;
+ scrollTo(indexToBeScrolled);
+ // Update the mCurrentRow
+ mCurrentRow += countToBeAdded;
+}
+
+/*!
+ Helper function that prepends the required rows to the model
+ */
+void CalenMonthGrid::handlePrependingRows(QList<CalenMonthData > &monthDataList)
+{
+ QDateTime currDate = mView->getCurrentDay();
+ QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+ int rowsInPrevMonth = mView->rowsInPrevMonth();
// Add the new days
int countToBeAdded = rowsInPrevMonth * KCalenDaysInWeek;
mModel->insertRows(0, countToBeAdded);
- count = mModel->rowCount();
-
- // Get the default text color to be set
- QColor textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
- HbExtendedLocale locale = HbExtendedLocale::system();
for (int i = 0; i < countToBeAdded; i++) {
QDateTime dateTime = monthDataList[i].Day();
// Get the localised string for the day
- QString date = locale.toString(dateTime.date().day());
QModelIndex currentIndex = mModel->index(i, 0);
// Create the variant list to contain the date to depict a grid item
@@ -374,14 +547,14 @@
// NOTE: Add the data in the order mentioned in the
// CalendarNamespace::DataRole enum. Dont change the order.
- itemData << date;
+ itemData << mLocalisedDates.at(dateTime.date().day()-1);;
- // Diable the focus role
- itemData << QString("");
+ // Disable the focus role
+ itemData << false;
// Check for current day
if (currDateTime == CalenDateUtils::beginningOfDay( dateTime )) {
- // Set the underline icon
+ // Set the underline icon attribute
itemData << true;
} else {
itemData << false;
@@ -389,39 +562,18 @@
// Update the event indicators
if (monthDataList[i].HasEvents()) {
- // Set the event indicator icon
- itemData << QString("qtg_graf_cal_event_ind");
+ // Set the event indicator attribute
+ itemData << true;
} else {
- itemData << QString("");
+ itemData << false;
}
// Add default text color
-
- itemData << textColor;
+ itemData << false;
// Set the data to model
mModel->itemFromIndex(currentIndex)->setData(itemData);
}
-
- // Update the mCurrentRow
- mCurrentRow += countToBeAdded;
- // Scroll to proper index
- int itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) *
- KCalenDaysInWeek) - 1;
- QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
- QMap<int, QVariant> data;
- data = mModel->itemData(indexToBeScrolled);
- QVariant value = data.value(Qt::DisplayRole);
- int date = value.toInt();
- mIsAtomicScroll = true;
- scrollTo(indexToBeScrolled);
-
- // Now remove the necessary items frm the model
- mModel->removeRows(deleteFromIndex+countToBeAdded, numOfIndices);
- mIsAtomicScroll = true;
- itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
- indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
- scrollTo(indexToBeScrolled);
}
/*!
@@ -430,9 +582,19 @@
*/
void CalenMonthGrid::appendRows()
{
+ // Before we do anything, set the focus to proper date
+ // Set it only when non active day was focussed. When inactive day
+ // was focussed, we need to focus the same day
+ if (!mIsNonActiveDayFocused) {
+ setFocusToProperDay();
+ }
+
+ // Block the signals generated by model, this is being done as
+ // we want to avoid the overload of view listening to signals
+ mModel->blockSignals(true);
+
mIsNonActiveDayFocused = false;
- QDateTime currDate = mView->getCurrentDay();
- QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+
int rowsInFutMonth = mView->rowsInFutMonth();
int rowsInPrevMonth = mView->rowsInPrevMonth();
// remove the cells in the previous month
@@ -442,40 +604,77 @@
mView->updateModelWithFutureMonth();
QList<CalenMonthData > monthDataList = mView->monthDataList();
mMonthDataArray = monthDataList;
- // Get the updated rows to be inserted
+
+ // Get the model count before we add any rows into the mode
+ int rowCount = mModel->rowCount();
+ // Append the required rows
+ handleAppendingRows(monthDataList);
+
+ // Since, we have finished setData, Now unblock the signals
+ mModel->blockSignals(false);
+
+ // Since till now, we had blocked signals being generated frm the mode
+ // view will be unaware of the items that we added. Hence, inform the view
+ // explicitly in one shot
+ QModelIndex leftIndex = mModel->index(rowCount-1, 0);
+ QModelIndex rightIndex = mModel->index(mModel->rowCount()-1, 0);
+ dataChanged(leftIndex, rightIndex);
+
+ // Update the mCurrentRow
+ mCurrentRow -= (countToBeDeleted);
+ for (int i = 0; i < countToBeDeleted; i++) {
+ mModel->removeRow(0);
+ }
+
+ mIsAtomicScroll = true;
+
+ rowsInFutMonth = mView->rowsInFutMonth();
rowsInPrevMonth = mView->rowsInPrevMonth();
- rowsInFutMonth = mView->rowsInFutMonth();
+
+ // Calculate the proper index to be scrolled to
+ int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+ QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+ scrollTo(indexToBeScrolled);
+
+ itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) *
+ KCalenDaysInWeek) - 1;
+ indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+ mIsAtomicScroll = true;
+ scrollTo(indexToBeScrolled);
+}
+
+/*!
+ Helper function that appends the required rows to the model
+ */
+void CalenMonthGrid::handleAppendingRows(QList<CalenMonthData > &monthDataList)
+{
+ QDateTime currDate = mView->getCurrentDay();
+ QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+ int rowsInFutMonth = mView->rowsInFutMonth();
int countToBeAdded = rowsInFutMonth * KCalenDaysInWeek;
int lastVisibleIndex = monthDataList.count() - countToBeAdded;
int rowCount = mModel->rowCount();
mModel->insertRows(rowCount, countToBeAdded);
- // Get the default text color to be set
- QColor textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
for (int i = 0; i < countToBeAdded; i++) {
- QMap<int, QVariant> data;
QModelIndex currentIndex = mModel->index(rowCount + i, 0);
QDateTime dateTime = monthDataList[lastVisibleIndex + i].Day();
- HbExtendedLocale locale = HbExtendedLocale::system();
- // Get the localised string for the day
- QString date = locale.toString(dateTime.date().day());
- data.insert(CalendarNamespace::CalendarMonthDayRole, date);
// Create the variant list to contain the date to depict a grid item
QVariantList itemData;
// NOTE: Add the data in the order mentioned in the
// CalendarNamespace::DataRole enum. Dont change the order.
- itemData << date;
+ itemData << mLocalisedDates.at(dateTime.date().day()-1);;
// Disable the focus role
- itemData << QString("");
+ itemData << false;
// Check for current day
if (currDateTime == CalenDateUtils::beginningOfDay( dateTime )) {
- // Set the underline icon
+ // Set the underline icon attribute
itemData << true;
} else {
itemData << false;
@@ -483,30 +682,18 @@
// Update the event indicators
if (monthDataList[lastVisibleIndex + i].HasEvents()) {
- // Set the underline icon
- itemData << QString("qtg_graf_cal_event_ind");
+ // Set the event indicator attribute
+ itemData << true;
} else {
- itemData << QString("");
+ itemData << false;
}
// Add default text color
- itemData << textColor;
+ itemData << false;
// Set the data to model
mModel->itemFromIndex(currentIndex)->setData(itemData);
}
-
- // Update the mCurrentRow
- mCurrentRow -= (countToBeDeleted);
- for (int i = 0; i < countToBeDeleted; i++) {
- mModel->removeRow(0);
- }
- mIsAtomicScroll = true;
-
- // Calculate the proper index to be scrolled to
- int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
- QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
- scrollTo(indexToBeScrolled);
}
/*!
@@ -528,7 +715,7 @@
QModelIndex itemIndex = mModel->index(mCurrentRow,0);
QVariant itemData = itemIndex.data(Qt::UserRole + 1);
QVariantList list = itemData.toList();
- list.replace(CalendarNamespace::CalendarMonthFocusRole, QString(""));
+ list.replace(CalendarNamespace::CalendarMonthFocusRole, false);
mModel->itemFromIndex(itemIndex)->setData(list);
// Inform view to update the context and preview panes
@@ -537,7 +724,7 @@
itemData = itemIndex.data(Qt::UserRole + 1);
list = itemData.toList();
list.replace(CalendarNamespace::CalendarMonthFocusRole,
- QString("qtg_fr_cal_focused_day_ind"));
+ true);
mModel->itemFromIndex(itemIndex)->setData(list);
// Check if inactive date is tapped
QDateTime activeMonth = mView->getActiveDay();
@@ -547,17 +734,19 @@
mIsNonActiveDayFocused = true;
mNonActiveFocusedDay = mMonthDataArray[mCurrentRow].Day();
- // Get the current active month
- QDateTime activeMonth = mView->getActiveDay();
- // Add one month to it
+ // Add one month to active month
activeMonth = activeMonth.addMonths(1);
if (activeMonth.date().month() ==
mNonActiveFocusedDay.date().month()) {
+ mDirection = up;
// up gesture
upGesture(SCROLL_SPEEED);
+ setActiveDates(activeMonth.date());
} else {
+ mDirection = down;
// down gesture
downGesture(SCROLL_SPEEED);
+ setActiveDates(activeMonth.addMonths(-2).date());
}
}
mView->setContextForActiveDay(index.row());
@@ -588,7 +777,7 @@
QModelIndex index = mModel->index(mCurrentRow,0);
QVariant itemData = index.data(Qt::UserRole + 1);
QVariantList list = itemData.toList();
- list.replace(CalendarNamespace::CalendarMonthFocusRole, QString(""));
+ list.replace(CalendarNamespace::CalendarMonthFocusRole, false);
mModel->itemFromIndex(index)->setData(list);
// Search for this date in the model
@@ -598,7 +787,7 @@
itemData = index.data(Qt::UserRole + 1);
list = itemData.toList();
list.replace(CalendarNamespace::CalendarMonthFocusRole,
- QString("qtg_fr_cal_focused_day_ind"));
+ true);
mModel->itemFromIndex(index)->setData(list);
mCurrentRow = i;
mView->setContextForActiveDay(i);
@@ -635,15 +824,12 @@
end = firstDateInGrid.daysTo(endOfActiveMonth);
// Set the active text color
- QColor textColor = HbColorScheme::color("qtc_cal_month_active_dates");
- if (textColor.isValid()) {
- for (int i = start; i < end; i++) {
- QModelIndex index = mModel->index(i,0);
- QVariant itemData = index.data(Qt::UserRole + 1);
- QVariantList list = itemData.toList();
- list.replace(CalendarNamespace::CalendarMonthTextColorRole, textColor);
- mModel->itemFromIndex(index)->setData(list);
- }
+ for (int i = start; i < end; i++) {
+ QModelIndex index = mModel->index(i,0);
+ QVariant itemData = index.data(Qt::UserRole + 1);
+ QVariantList list = itemData.toList();
+ list.replace(CalendarNamespace::CalendarMonthTextColorRole, true);
+ mModel->itemFromIndex(index)->setData(list);
}
// Now set the inactive text color to those which were active before the swipe
@@ -683,15 +869,12 @@
}
// Set the inactive text color
- textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
- if (textColor.isValid()) {
- for (int i = start; i < end; i++) {
- QModelIndex index = mModel->index(i,0);
- QVariant itemData = index.data(Qt::UserRole + 1);
- QVariantList list = itemData.toList();
- list.replace(CalendarNamespace::CalendarMonthTextColorRole, textColor);
- mModel->itemFromIndex(index)->setData(list);
- }
+ for (int i = start; i < end; i++) {
+ QModelIndex index = mModel->index(i,0);
+ QVariant itemData = index.data(Qt::UserRole + 1);
+ QVariantList list = itemData.toList();
+ list.replace(CalendarNamespace::CalendarMonthTextColorRole, false);
+ mModel->itemFromIndex(index)->setData(list);
}
}
@@ -730,6 +913,7 @@
{
Q_UNUSED(option);
Q_UNUSED(widget);
+ painter->setRenderHint(QPainter::NonCosmeticDefaultPen);
// Set the required attributes to the pen
QPen pen;
@@ -746,13 +930,29 @@
// Get the sizes of content widget
qreal contentHeight = mContentWidget->size().height();
qreal contentWidth = mContentWidget->size().width();
+ qreal rowWidth = 0.0;
+ int numOfRows = 0;
+ QPointF startPoint = mContentWidget->pos();
- // Get the num of rows
- int numOfRows = mModel->rowCount() / KCalenDaysInWeek;
- // Draw horizontal lines
- qreal rowWidth = contentHeight / numOfRows;
+ // NOTE!!!: There is a filcker when we blindly draw equally spaced lines
+ // on complete content widget when scrolling is finished. This happens only
+ // when content widget size is changed due to the change in total number
+ // of rows when we append or prepend rows. Hence, to avoid this, we draw
+ // lines on complete content widget only when it is scrolling.
+ // That means, as soon as scrolling is finished, we will end up drawing
+ // only 6 lines that are visible to the user.
+ if (mDirection == invalid) {
+ // Start point is left most point on the screen
+ startPoint = QPointF(0,0);
+ rowWidth = size().height() / KNumOfVisibleRows;
+ numOfRows = KNumOfVisibleRows;
+ } else {
+ // Get the num of rows
+ numOfRows = mModel->rowCount() / KCalenDaysInWeek;
+ // Draw horizontal lines
+ rowWidth = contentHeight / numOfRows;
+ }
- QPointF startPoint = mContentWidget->pos();
QPointF endPoint(startPoint.x() + contentWidth,
startPoint.y());
--- a/calendarui/views/src/calenmonthview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calenmonthview.cpp Fri May 14 15:51:09 2010 +0300
@@ -79,6 +79,8 @@
mLocale = HbExtendedLocale::system();
mFirstWeekLabel = NULL;
mIsPrevPaneGesture = false;
+ // Get the week day color from the theme
+ mWeekDaysColor = HbColorScheme::color("qtc_cal_week_day");
}
/*!
@@ -209,22 +211,44 @@
mMonthGrid->setView(this);
+
+
+ mIsFirstTimeLoad = true;
+
+}
+
+/*!
+ Constructs the remaining part of the month view that was kept as
+ part if lazy loading
+ */
+void CalenMonthView::doLazyLoading()
+{
+ // Add background items to all the widgets
+ addBackgroundFrame();
+
+ // Construct and add the previous month and next month items to the view
+ mMonthGrid->updateMonthGridWithInActiveMonths(mMonthDataArray);
+
+ // Check if regional information needs to be shown
+ // and add it or remove it
+ showHideRegionalInformation();
+
// Connect to the menu actions
HbAction
- *newEventAction =
- qobject_cast<HbAction *> (
+ *newEventAction =
+ qobject_cast<HbAction *> (
mDocLoader->findObject(CALEN_MONTVIEW_MENU_NEWEVENT));
connect(newEventAction, SIGNAL(triggered()), this, SLOT(createEditor()));
mGoToTodayAction =
- qobject_cast<HbAction *> (
+ qobject_cast<HbAction *> (
mDocLoader->findObject(CALEN_MONTVIEW_MENU_GOTOTODAY));
connect(mGoToTodayAction, SIGNAL(triggered()), this, SLOT(goToToday()));
HbAction
- *goToDateAction =
- qobject_cast<HbAction *> (
+ *goToDateAction =
+ qobject_cast<HbAction *> (
mDocLoader->findObject(CALEN_MONTVIEW_MENU_GOTODATE));
connect(goToDateAction, SIGNAL(triggered()), this, SLOT(goToDate()));
@@ -269,12 +293,7 @@
// Connect to the signal when options menu is shown
// This is required to add/remove dynamically some options
connect(menu(), SIGNAL(aboutToShow ()), this,
- SLOT(addRemoveActionsInMenu()));
-
- mIsFirstTimeLoad = true;
-
- // Add background items to all the widgets
- addBackgroundFrame();
+ SLOT(addRemoveActionsInMenu()));
}
/*!
@@ -529,29 +548,26 @@
long weekNumber(day.date().weekNumber());
mWeekNumbers.append(weekNumber);
}
-
- // Get the week day color from the theme
- QColor weekDayColor = HbColorScheme::color("qtc_cal_week_day");
// Update the week labels text
QString text = QString::number(mWeekNumbers.at(0));
mFirstWeekLabel->setPlainText(text);
- mFirstWeekLabel->setTextColor(weekDayColor);
+ mFirstWeekLabel->setTextColor(mWeekDaysColor);
text = QString::number(mWeekNumbers.at(1));
mSecondWeekLabel->setPlainText(text);
- mSecondWeekLabel->setTextColor(weekDayColor);
+ mSecondWeekLabel->setTextColor(mWeekDaysColor);
text = QString::number(mWeekNumbers.at(2));
mThirdWeekLabel->setPlainText(text);
- mThirdWeekLabel->setTextColor(weekDayColor);
+ mThirdWeekLabel->setTextColor(mWeekDaysColor);
text = QString::number(mWeekNumbers.at(3));
mFourthWeekLabel->setPlainText(text);
- mFourthWeekLabel->setTextColor(weekDayColor);
+ mFourthWeekLabel->setTextColor(mWeekDaysColor);
text = QString::number(mWeekNumbers.at(4));
mFifthWeekLabel->setPlainText(text);
- mFifthWeekLabel->setTextColor(weekDayColor);
+ mFifthWeekLabel->setTextColor(mWeekDaysColor);
text = QString::number(mWeekNumbers.at(5));
mSixthWeekLabel->setPlainText(text);
- mSixthWeekLabel->setTextColor(weekDayColor);
+ mSixthWeekLabel->setTextColor(mWeekDaysColor);
}
/*!
@@ -617,22 +633,22 @@
handleChangeOrientation();
}
}
- mIsFirstTimeLoad = false;
+
// prepare for the population like reading the date frm the context
// calculating the start of the grid etc.,
prepareForPopulation();
-
- // fetch list of required calendar instances
- populateWithInstanceView();
-
- populatePreviewPane(mDate);
-
+
+ // Populate the view and preview panes only if we are not opening the calendar
+ if (!mIsFirstTimeLoad) {
+ // fetch list of required calendar instances
+ populateWithInstanceView();
+ // Populate the preview panes
+ populatePreviewPane(mDate);
+ }
+
// Create the grid items with proper dates
createGrid();
- // Check if regional information needs to be shown
- // and add it or remove it
- showHideRegionalInformation();
// Complete the population
completePopulation();
@@ -642,6 +658,14 @@
// Start the auto scroll on current preview pane
mCurrPreviewPane->startAutoScroll();
+
+ // Handle regional data here if we are not populating the month view for
+ // the first time
+ if (!mIsFirstTimeLoad) {
+ showHideRegionalInformation();
+ }
+ // Reset the first time load flag
+ mIsFirstTimeLoad = false;
}
/*!
@@ -651,6 +675,7 @@
{
setActiveDay(dateFromContext(mServices.Context()));
setDate();
+ updateMonthDataArrayWithActiveDates();
}
/*!
@@ -660,13 +685,15 @@
{
setActiveDay(dateFromContext(mServices.Context()));
setDate();
+ updateMonthDataArrayWithActiveDates();
setDateToLabel();
// fetch list of required calendar instances
populateWithInstanceView();
populatePreviewPane(mDate);
- mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled);
+ mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled,
+ mIsFirstTimeLoad);
// Start the auto scroll on current preview pane
mCurrPreviewPane->startAutoScroll();
@@ -804,7 +831,8 @@
void CalenMonthView::createGrid()
{
// Update the month grid
- mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled);
+ mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled,
+ mIsFirstTimeLoad);
// Read the week number setting from cenrep
QVariant value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
@@ -1016,7 +1044,7 @@
/*!
Fetches the calenda entries for a given range
*/
-void CalenMonthView::getInstanceList(QList<AgendaEntry> &list,
+void CalenMonthView::getInstanceList(QList<QDate> &list,
QDateTime rangeStart, QDateTime rangeEnd)
{
AgendaUtil::FilterFlags filter =
@@ -1025,7 +1053,7 @@
| AgendaUtil::IncludeEvents
| AgendaUtil::IncludeReminders
| AgendaUtil::IncludeIncompletedTodos);
- list = mAgendaUtil->fetchEntriesInRange(rangeStart, rangeEnd, filter);
+ mAgendaUtil->markDatesWithEvents(rangeStart, rangeEnd, filter, list);
}
/*!
@@ -1040,18 +1068,10 @@
const int todayIndex(gridStart.daysTo(today));
QDateTime gridEnd(mLastDayOfGrid.date(), QTime(23, 59, 59, 0));
- QList<AgendaEntry> list;
-
- AgendaUtil::FilterFlags filter =
- AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries
- | AgendaUtil::IncludeAppointments
- | AgendaUtil::IncludeEvents
- | AgendaUtil::IncludeReminders
- | AgendaUtil::IncludeIncompletedTodos);
// Get the list of dates which have events
QList<QDate> datesWithEvents;
- mAgendaUtil->markDatesWithEvents(gridStart,gridEnd,filter,datesWithEvents);
+ getInstanceList(datesWithEvents,gridStart,gridEnd);
// Parse thru the list of dates and set the required flags
for(int i(0); i < datesWithEvents.count(); i++) {
@@ -1068,7 +1088,6 @@
*/
void CalenMonthView::populatePrevMonth()
{
- QList<AgendaEntry> list;
const QDateTime gridStart(CalenDateUtils::beginningOfDay(mFirstDayOfGrid));
const QDateTime today(CalenDateUtils::today());
@@ -1077,23 +1096,15 @@
QDateTime gridEnd(end.date(), QTime(23, 59, 59, 0));
- AgendaUtil::FilterFlags filter =
- AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries
- | AgendaUtil::IncludeAppointments
- | AgendaUtil::IncludeEvents
- | AgendaUtil::IncludeReminders
- | AgendaUtil::IncludeIncompletedTodos);
-
// Get the list of dates which have events
QList<QDate> datesWithEvents;
- mAgendaUtil->markDatesWithEvents(gridStart,gridEnd,filter,datesWithEvents);
+ getInstanceList(datesWithEvents,gridStart,gridEnd);
// Parse thru the list of dates and set the required flags
for(int i(0); i < datesWithEvents.count(); i++) {
int offset = mFirstDayOfGrid.date().daysTo(datesWithEvents.at(i));
mMonthDataArray[offset].SetHasEvents(true);
}
-
datesWithEvents.clear();
}
@@ -1112,27 +1123,30 @@
const int todayIndex(gridStart.daysTo(today)); // grid index for "today"
QDateTime gridEnd(mLastDayOfGrid.date(), QTime(23, 59, 59, 0));
-
- AgendaUtil::FilterFlags filter =
- AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries
- | AgendaUtil::IncludeAppointments
- | AgendaUtil::IncludeEvents
- | AgendaUtil::IncludeReminders
- | AgendaUtil::IncludeIncompletedTodos);
-
// Get the list of dates which have events
QList<QDate> datesWithEvents;
- mAgendaUtil->markDatesWithEvents(gridStart,gridEnd,filter,datesWithEvents);
+ getInstanceList(datesWithEvents,gridStart,gridEnd);
// Parse thru the list of dates and set the required flags
for(int i(0); i < datesWithEvents.count(); i++) {
int offset = mFirstDayOfGrid.date().daysTo(datesWithEvents.at(i));
mMonthDataArray[offset].SetHasEvents(true);
}
-
+ datesWithEvents.clear();
+}
-
- datesWithEvents.clear();
+/*!
+ Function that gets called when instacne view is created, so that it can
+ query agenda server for any entries
+ */
+void CalenMonthView::fetchEntriesAndUpdateModel()
+{
+ // Get to know if entries are there from the agenda server
+ populateWithInstanceView();
+ // Update the month grid model
+ mMonthGrid->updateMonthGridWithEventIndicators(mMonthDataArray);
+ // Populate the preview panes
+ populatePreviewPane(mDate);
}
/*!
@@ -1163,29 +1177,6 @@
}
/*!
- Handles the long press on a grid item
- */
-void CalenMonthView::handleGridItemLongPressed(int index, QPointF &coords)
-{
- QDateTime newActiveDay = CalenDateUtils::futureOf(mFirstDayOfGrid, index);
-
- // set the context
- mServices.Context().setFocusDateL(newActiveDay, KCalenMonthViewUidValue);
-
- HbMenu *contextMenu = new HbMenu(this);
-
- connect(contextMenu->addAction(hbTrId("txt_common_menu_open")), SIGNAL( triggered() ), this,
- SLOT( launchDayView()));
- // TODO: Add the text id
- connect(contextMenu->addAction("New Todo"), SIGNAL( triggered() ), this,
- SLOT( createEditor()));
-
- // Show context sensitive menu.
- // Param const QPointF& coordinate - is a longpress position.
- contextMenu->exec(coords);
-}
-
-/*!
Sets the context w.r.t to the active day
*/
void CalenMonthView::setContextForActiveDay(int index)
--- a/calendarui/views/src/calennativeview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calennativeview.cpp Fri May 14 15:51:09 2010 +0300
@@ -95,27 +95,31 @@
*/
void CalenNativeView::goToDate()
{
+ // Create a popup with datepicker for the user to select date.
+ HbDialog *popUp = new HbDialog();
+ popUp->setDismissPolicy(HbDialog::NoDismiss);
+ popUp->setTimeout(HbDialog::NoTimeout);
+ popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+ popUp->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_opt_go_to_date")));
+
// Get the current date.
QDateTime currentDateTime = CalenDateUtils::today();
QDate currentDate = currentDateTime.date();
- mDatePicker = new HbDateTimePicker(currentDate, this);
-
+ if(mDatePicker) {
+ mDatePicker = NULL;
+ }
+ mDatePicker = new HbDateTimePicker(currentDate, popUp);
// Set the date range.
mDatePicker->setMinimumDate(CalenDateUtils::minTime().date());
mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
-
- // Create a popup with datepicker for the user to select date.
- HbDialog popUp;
- popUp.setDismissPolicy(HbDialog::NoDismiss);
- popUp.setTimeout(HbDialog::NoTimeout);
- popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_opt_go_to_date")));
- popUp.setContentWidget(mDatePicker);
+ mDatePicker->setDate(currentDate);
+
+ popUp->setContentWidget(mDatePicker);
HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
- popUp.setPrimaryAction(okAction);
+ popUp->addAction(okAction);
connect(okAction, SIGNAL(triggered()), this, SLOT(goToSelectedDate()));
- connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
- popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"), &popUp));
- popUp.exec();
+ popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
+ popUp->open();
}
/*
--- a/calendarui/views/src/calensettingsview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calensettingsview.cpp Fri May 14 15:51:09 2010 +0300
@@ -81,7 +81,7 @@
// Add view on main window and set back softkey
mServices.MainWindow().addView(this);
- mSoftKeyAction = new HbAction(Hb::BackAction);
+ mSoftKeyAction = new HbAction(Hb::BackNaviAction);
setNavigationAction(mSoftKeyAction);
connect(mSoftKeyAction, SIGNAL(triggered()),
this, SLOT(launchPreviousView()));
--- a/clock/clockmw/bwins/clockalarmclientu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/bwins/clockalarmclientu.def Fri May 14 15:51:09 2010 +0300
@@ -24,4 +24,5 @@
?setAlarmRepeatType@AlarmClient@@AAEXW4TAlarmRepeatDefinition@@AAW4AlarmRepeatType@@@Z @ 23 NONAME ; void AlarmClient::setAlarmRepeatType(enum TAlarmRepeatDefinition, enum AlarmRepeatType &)
?qt_metacall@AlarmClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 24 NONAME ; int AlarmClient::qt_metacall(enum QMetaObject::Call, int, void * *)
?getAlarmInfo@AlarmClient@@QAEHHAAUAlarmInfo@@@Z @ 25 NONAME ; int AlarmClient::getAlarmInfo(int, struct AlarmInfo &)
+ ?deleteSnoozedAlarm@AlarmClient@@QAEHH@Z @ 26 NONAME ; int AlarmClient::deleteSnoozedAlarm(int)
--- a/clock/clockmw/bwins/clocksettingsutilityu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/bwins/clocksettingsutilityu.def Fri May 14 15:51:09 2010 +0300
@@ -1,40 +1,34 @@
EXPORTS
?timeFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 1 NONAME ; int SettingsUtility::timeFormat(class QStringList &)
?setSnoozeTime@SettingsUtility@@QAEXH@Z @ 2 NONAME ; void SettingsUtility::setSnoozeTime(int)
- ?setDateFormat@SettingsUtility@@QAEXABVQString@@@Z @ 3 NONAME ; void SettingsUtility::setDateFormat(class QString const &)
- ?time@SettingsUtility@@QAE?AVQString@@XZ @ 4 NONAME ; class QString SettingsUtility::time(void)
- ?staticMetaObject@SettingsUtility@@2UQMetaObject@@B @ 5 NONAME ; struct QMetaObject const SettingsUtility::staticMetaObject
- ?clockType@SettingsUtility@@QAEHAAVQStringList@@@Z @ 6 NONAME ; int SettingsUtility::clockType(class QStringList &)
- ?setDateSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 7 NONAME ; void SettingsUtility::setDateSeparator(class QString const &)
- ?autoUpdate@SettingsUtility@@QAEHAAVQStringList@@@Z @ 8 NONAME ; int SettingsUtility::autoUpdate(class QStringList &)
- ?dateSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 9 NONAME ; int SettingsUtility::dateSeparator(class QStringList &)
- ?setTimeZone@SettingsUtility@@QAEXABVQString@@@Z @ 10 NONAME ; void SettingsUtility::setTimeZone(class QString const &)
- ?setAutoUpdate@SettingsUtility@@QAEXABVQString@@@Z @ 11 NONAME ; void SettingsUtility::setAutoUpdate(class QString const &)
- ?setTime@SettingsUtility@@QAEXABVQString@@@Z @ 12 NONAME ; void SettingsUtility::setTime(class QString const &)
- ??_ESettingsUtility@@UAE@I@Z @ 13 NONAME ; SettingsUtility::~SettingsUtility(unsigned int)
- ??0SettingsUtility@@QAE@PAVQObject@@@Z @ 14 NONAME ; SettingsUtility::SettingsUtility(class QObject *)
- ?qt_metacall@SettingsUtility@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int SettingsUtility::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setClockType@SettingsUtility@@QAEXABVQString@@@Z @ 16 NONAME ; void SettingsUtility::setClockType(class QString const &)
- ?setTimeFormat@SettingsUtility@@QAEXABVQString@@@Z @ 17 NONAME ; void SettingsUtility::setTimeFormat(class QString const &)
- ?settingsChanged@SettingsUtility@@IAEXW4SettingsItemChanged@@VQString@@@Z @ 18 NONAME ; void SettingsUtility::settingsChanged(enum SettingsItemChanged, class QString)
- ?timeFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 19 NONAME ; class QString SettingsUtility::timeFormatString(void)
- ?tr@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString SettingsUtility::tr(char const *, char const *, int)
- ?setStartOfWeek@SettingsUtility@@QAEXH@Z @ 21 NONAME ; void SettingsUtility::setStartOfWeek(int)
- ?getStaticMetaObject@SettingsUtility@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & SettingsUtility::getStaticMetaObject(void)
- ?workdays@SettingsUtility@@QAEHAAVQStringList@@@Z @ 23 NONAME ; int SettingsUtility::workdays(class QStringList &)
- ?date@SettingsUtility@@QAE?AVQString@@XZ @ 24 NONAME ; class QString SettingsUtility::date(void)
- ?dateFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 25 NONAME ; int SettingsUtility::dateFormat(class QStringList &)
- ?setTimeSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 26 NONAME ; void SettingsUtility::setTimeSeparator(class QString const &)
- ?qt_metacast@SettingsUtility@@UAEPAXPBD@Z @ 27 NONAME ; void * SettingsUtility::qt_metacast(char const *)
- ?snoozeTime@SettingsUtility@@QAEHAAVQStringList@@@Z @ 28 NONAME ; int SettingsUtility::snoozeTime(class QStringList &)
- ?setWorkdays@SettingsUtility@@QAEXABVQString@@@Z @ 29 NONAME ; void SettingsUtility::setWorkdays(class QString const &)
- ?dateFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 30 NONAME ; class QString SettingsUtility::dateFormatString(void)
- ?metaObject@SettingsUtility@@UBEPBUQMetaObject@@XZ @ 31 NONAME ; struct QMetaObject const * SettingsUtility::metaObject(void) const
- ?timeZone@SettingsUtility@@QAE?AVQString@@XZ @ 32 NONAME ; class QString SettingsUtility::timeZone(void)
- ?timeSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 33 NONAME ; int SettingsUtility::timeSeparator(class QStringList &)
- ??1SettingsUtility@@UAE@XZ @ 34 NONAME ; SettingsUtility::~SettingsUtility(void)
- ?trUtf8@SettingsUtility@@SA?AVQString@@PBD0@Z @ 35 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *)
- ?tr@SettingsUtility@@SA?AVQString@@PBD0@Z @ 36 NONAME ; class QString SettingsUtility::tr(char const *, char const *)
- ?trUtf8@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *, int)
- ?setDate@SettingsUtility@@QAEXABVQString@@@Z @ 38 NONAME ; void SettingsUtility::setDate(class QString const &)
+ ?workdays@SettingsUtility@@QAEHAAVQStringList@@@Z @ 3 NONAME ; int SettingsUtility::workdays(class QStringList &)
+ ?setDateFormat@SettingsUtility@@QAEXABVQString@@@Z @ 4 NONAME ; void SettingsUtility::setDateFormat(class QString const &)
+ ?time@SettingsUtility@@QAE?AVQString@@XZ @ 5 NONAME ; class QString SettingsUtility::time(void)
+ ?staticMetaObject@SettingsUtility@@2UQMetaObject@@B @ 6 NONAME ; struct QMetaObject const SettingsUtility::staticMetaObject
+ ?clockType@SettingsUtility@@QAEHAAVQStringList@@@Z @ 7 NONAME ; int SettingsUtility::clockType(class QStringList &)
+ ?setDateSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 8 NONAME ; void SettingsUtility::setDateSeparator(class QString const &)
+ ?date@SettingsUtility@@QAE?AVQString@@XZ @ 9 NONAME ; class QString SettingsUtility::date(void)
+ ?dateFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 10 NONAME ; int SettingsUtility::dateFormat(class QStringList &)
+ ?dateSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 11 NONAME ; int SettingsUtility::dateSeparator(class QStringList &)
+ ?setTimeSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 12 NONAME ; void SettingsUtility::setTimeSeparator(class QString const &)
+ ?snoozeTime@SettingsUtility@@QAEHAAVQStringList@@@Z @ 13 NONAME ; int SettingsUtility::snoozeTime(class QStringList &)
+ ?qt_metacast@SettingsUtility@@UAEPAXPBD@Z @ 14 NONAME ; void * SettingsUtility::qt_metacast(char const *)
+ ?setWorkdays@SettingsUtility@@QAEXABVQString@@@Z @ 15 NONAME ; void SettingsUtility::setWorkdays(class QString const &)
+ ?dateFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 16 NONAME ; class QString SettingsUtility::dateFormatString(void)
+ ??_ESettingsUtility@@UAE@I@Z @ 17 NONAME ; SettingsUtility::~SettingsUtility(unsigned int)
+ ?metaObject@SettingsUtility@@UBEPBUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const * SettingsUtility::metaObject(void) const
+ ??0SettingsUtility@@QAE@PAVQObject@@@Z @ 19 NONAME ; SettingsUtility::SettingsUtility(class QObject *)
+ ?qt_metacall@SettingsUtility@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int SettingsUtility::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?timeSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 21 NONAME ; int SettingsUtility::timeSeparator(class QStringList &)
+ ?setClockType@SettingsUtility@@QAEXABVQString@@@Z @ 22 NONAME ; void SettingsUtility::setClockType(class QString const &)
+ ?setTimeFormat@SettingsUtility@@QAEXABVQString@@@Z @ 23 NONAME ; void SettingsUtility::setTimeFormat(class QString const &)
+ ?settingsChanged@SettingsUtility@@IAEXW4SettingsItemChanged@@VQString@@@Z @ 24 NONAME ; void SettingsUtility::settingsChanged(enum SettingsItemChanged, class QString)
+ ?timeFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 25 NONAME ; class QString SettingsUtility::timeFormatString(void)
+ ?tr@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString SettingsUtility::tr(char const *, char const *, int)
+ ??1SettingsUtility@@UAE@XZ @ 27 NONAME ; SettingsUtility::~SettingsUtility(void)
+ ?setStartOfWeek@SettingsUtility@@QAEXH@Z @ 28 NONAME ; void SettingsUtility::setStartOfWeek(int)
+ ?trUtf8@SettingsUtility@@SA?AVQString@@PBD0@Z @ 29 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *)
+ ?tr@SettingsUtility@@SA?AVQString@@PBD0@Z @ 30 NONAME ; class QString SettingsUtility::tr(char const *, char const *)
+ ?trUtf8@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *, int)
+ ?getStaticMetaObject@SettingsUtility@@SAABUQMetaObject@@XZ @ 32 NONAME ; struct QMetaObject const & SettingsUtility::getStaticMetaObject(void)
--- a/clock/clockmw/bwins/timezoneclientu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/bwins/timezoneclientu.def Fri May 14 15:51:09 2010 +0300
@@ -1,45 +1,53 @@
EXPORTS
- ??_ETimezoneClient@@UAE@I@Z @ 1 NONAME ; TimezoneClient::~TimezoneClient(unsigned int)
- ?locationSelectorModel@TimezoneClient@@QAEPAVQStandardItemModel@@XZ @ 2 NONAME ; class QStandardItemModel * TimezoneClient::locationSelectorModel(void)
- ?getUtcDstOffsetL@TimezoneClient@@QAE_NAAHABVCTzId@@@Z @ 3 NONAME ; bool TimezoneClient::getUtcDstOffsetL(int &, class CTzId const &)
- ?getLocations@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@XZ @ 4 NONAME ; class QList<struct LocationInfo> TimezoneClient::getLocations(void)
- ?getCityOffsetByNameAndId@TimezoneClient@@QAEHABVQString@@H@Z @ 5 NONAME ; int TimezoneClient::getCityOffsetByNameAndId(class QString const &, int)
- ?intToMonth@TimezoneClient@@AAE?AW4TMonth@@H@Z @ 6 NONAME ; enum TMonth TimezoneClient::intToMonth(int)
- ?getDstZoneOffset@TimezoneClient@@AAEHH@Z @ 7 NONAME ; int TimezoneClient::getDstZoneOffset(int)
- ?environmentCallback@TimezoneClient@@SAHPAX@Z @ 8 NONAME ; int TimezoneClient::environmentCallback(void *)
- ?trUtf8@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *, int)
- ?getStandardOffset@TimezoneClient@@QAEHH@Z @ 10 NONAME ; int TimezoneClient::getStandardOffset(int)
- ?getCurrentZoneInfoL@TimezoneClient@@QAE?AULocationInfo@@XZ @ 11 NONAME ; struct LocationInfo TimezoneClient::getCurrentZoneInfoL(void)
- ?createWorldClockModel@TimezoneClient@@QAEXXZ @ 12 NONAME ; void TimezoneClient::createWorldClockModel(void)
- ?dstOn@TimezoneClient@@QAE_NH@Z @ 13 NONAME ; bool TimezoneClient::dstOn(int)
- ?tr@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString TimezoneClient::tr(char const *, char const *, int)
- ?setAsCurrentLocationL@TimezoneClient@@QAEXAAULocationInfo@@@Z @ 15 NONAME ; void TimezoneClient::setAsCurrentLocationL(struct LocationInfo &)
- ?timeUpdateOn@TimezoneClient@@QAE_NXZ @ 16 NONAME ; bool TimezoneClient::timeUpdateOn(void)
- ?staticMetaObject@TimezoneClient@@2UQMetaObject@@B @ 17 NONAME ; struct QMetaObject const TimezoneClient::staticMetaObject
- ?qt_metacast@TimezoneClient@@UAEPAXPBD@Z @ 18 NONAME ; void * TimezoneClient::qt_metacast(char const *)
- ?trUtf8@TimezoneClient@@SA?AVQString@@PBD0@Z @ 19 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *)
- ?getDstRulesL@TimezoneClient@@QAEXAAVQDateTime@@0H@Z @ 20 NONAME ; void TimezoneClient::getDstRulesL(class QDateTime &, class QDateTime &, int)
- ?getSavedLocations@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@XZ @ 21 NONAME ; class QList<struct LocationInfo> TimezoneClient::getSavedLocations(void)
- ?listUpdated@TimezoneClient@@IAEXXZ @ 22 NONAME ; void TimezoneClient::listUpdated(void)
- ?populateCities@TimezoneClient@@AAEXXZ @ 23 NONAME ; void TimezoneClient::populateCities(void)
- ?tr@TimezoneClient@@SA?AVQString@@PBD0@Z @ 24 NONAME ; class QString TimezoneClient::tr(char const *, char const *)
- ?getStaticMetaObject@TimezoneClient@@SAABUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const & TimezoneClient::getStaticMetaObject(void)
- ?metaObject@TimezoneClient@@UBEPBUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const * TimezoneClient::metaObject(void) const
- ?setDateTime@TimezoneClient@@QAEXVQDateTime@@@Z @ 27 NONAME ; void TimezoneClient::setDateTime(class QDateTime)
- ??0TimezoneClient@@QAE@PAVQObject@@@Z @ 28 NONAME ; TimezoneClient::TimezoneClient(class QObject *)
- ?setTimeUpdateOn@TimezoneClient@@QAEX_N@Z @ 29 NONAME ; void TimezoneClient::setTimeUpdateOn(bool)
- ?getCountries@TimezoneClient@@QAEXAAV?$QMap@VQString@@H@@@Z @ 30 NONAME ; void TimezoneClient::getCountries(class QMap<class QString, int> &)
- ?getCityGroupIdByName@TimezoneClient@@QAEHABVQString@@@Z @ 31 NONAME ; int TimezoneClient::getCityGroupIdByName(class QString const &)
- ?checkForDstChange@TimezoneClient@@QAE_NAAUAlarmInfo@@@Z @ 32 NONAME ; bool TimezoneClient::checkForDstChange(struct AlarmInfo &)
- ?getCitiesForCountry@TimezoneClient@@QAEXHAAV?$QMap@VQString@@H@@@Z @ 33 NONAME ; void TimezoneClient::getCitiesForCountry(int, class QMap<class QString, int> &)
- ?isDSTOnL@TimezoneClient@@QAE_NH@Z @ 34 NONAME ; bool TimezoneClient::isDSTOnL(int)
- ?timechanged@TimezoneClient@@IAEXXZ @ 35 NONAME ; void TimezoneClient::timechanged(void)
- ??1TimezoneClient@@UAE@XZ @ 36 NONAME ; TimezoneClient::~TimezoneClient(void)
- ?saveLocations@TimezoneClient@@QAEXABV?$QList@ULocationInfo@@@@@Z @ 37 NONAME ; void TimezoneClient::saveLocations(class QList<struct LocationInfo> const &)
- ?getLocationInfo@TimezoneClient@@QAEXHHAAULocationInfo@@@Z @ 38 NONAME ; void TimezoneClient::getLocationInfo(int, int, struct LocationInfo &)
- ?qt_metacall@TimezoneClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 39 NONAME ; int TimezoneClient::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?addCity@TimezoneClient@@QAE?AULocationInfo@@HAAVQString@@H@Z @ 40 NONAME ; struct LocationInfo TimezoneClient::addCity(int, class QString &, int)
- ?getAllTimeZoneOffsets@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 41 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneOffsets(void)
- ?getCountriesForUTCOffset@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@H@Z @ 42 NONAME ; class QList<struct LocationInfo> TimezoneClient::getCountriesForUTCOffset(int)
- ?getAllTimeZoneIds@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 43 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneIds(void)
+ ?deleteInstance@TimezoneClient@@QAEXXZ @ 1 NONAME ; void TimezoneClient::deleteInstance(void)
+ ?addCity@TimezoneClient@@QAE?AULocationInfo@@HAAVQString@@H@Z @ 2 NONAME ; struct LocationInfo TimezoneClient::addCity(int, class QString &, int)
+ ?isNull@TimezoneClient@@QAE_NXZ @ 3 NONAME ; bool TimezoneClient::isNull(void)
+ ??_ETimezoneClient@@UAE@I@Z @ 4 NONAME ; TimezoneClient::~TimezoneClient(unsigned int)
+ ?getLocations@TimezoneClient@@QAEAAV?$QList@ULocationInfo@@@@XZ @ 5 NONAME ; class QList<struct LocationInfo> & TimezoneClient::getLocations(void)
+ ?getDstRulesL@TimezoneClient@@AAEXAAVQDateTime@@0H@Z @ 6 NONAME ; void TimezoneClient::getDstRulesL(class QDateTime &, class QDateTime &, int)
+ ?locationSelectorModel@TimezoneClient@@QAEPAVQStandardItemModel@@XZ @ 7 NONAME ; class QStandardItemModel * TimezoneClient::locationSelectorModel(void)
+ ?getUtcDstOffsetL@TimezoneClient@@AAE_NAAHABVCTzId@@@Z @ 8 NONAME ; bool TimezoneClient::getUtcDstOffsetL(int &, class CTzId const &)
+ ?mReferenceCount@TimezoneClient@@0HA @ 9 NONAME ; int TimezoneClient::mReferenceCount
+ ??0TimezoneClient@@AAE@XZ @ 10 NONAME ; TimezoneClient::TimezoneClient(void)
+ ?intToMonth@TimezoneClient@@AAE?AW4TMonth@@H@Z @ 11 NONAME ; enum TMonth TimezoneClient::intToMonth(int)
+ ?getDstZoneOffset@TimezoneClient@@AAEHH@Z @ 12 NONAME ; int TimezoneClient::getDstZoneOffset(int)
+ ?environmentCallback@TimezoneClient@@SAHPAX@Z @ 13 NONAME ; int TimezoneClient::environmentCallback(void *)
+ ?trUtf8@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *, int)
+ ?getStandardOffset@TimezoneClient@@QAEHH@Z @ 15 NONAME ; int TimezoneClient::getStandardOffset(int)
+ ?getCurrentZoneInfoL@TimezoneClient@@QAE?AULocationInfo@@XZ @ 16 NONAME ; struct LocationInfo TimezoneClient::getCurrentZoneInfoL(void)
+ ?dstOn@TimezoneClient@@QAE_NH@Z @ 17 NONAME ; bool TimezoneClient::dstOn(int)
+ ?createWorldClockModel@TimezoneClient@@QAEXXZ @ 18 NONAME ; void TimezoneClient::createWorldClockModel(void)
+ ?tr@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 19 NONAME ; class QString TimezoneClient::tr(char const *, char const *, int)
+ ?setAsCurrentLocationL@TimezoneClient@@QAEXAAULocationInfo@@@Z @ 20 NONAME ; void TimezoneClient::setAsCurrentLocationL(struct LocationInfo &)
+ ?eventMonitor@TimezoneClient@@AAEXABVXQSettingsKey@@ABVQVariant@@@Z @ 21 NONAME ; void TimezoneClient::eventMonitor(class XQSettingsKey const &, class QVariant const &)
+ ?getInstance@TimezoneClient@@SAPAV1@XZ @ 22 NONAME ; class TimezoneClient * TimezoneClient::getInstance(void)
+ ?getCityGroupIdByName@TimezoneClient@@AAEHABVQString@@@Z @ 23 NONAME ; int TimezoneClient::getCityGroupIdByName(class QString const &)
+ ?getCityOffsetByNameAndId@TimezoneClient@@AAEHABVQString@@H@Z @ 24 NONAME ; int TimezoneClient::getCityOffsetByNameAndId(class QString const &, int)
+ ?getAllTimeZoneOffsets@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 25 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneOffsets(void)
+ ?getCitiesForCountry@TimezoneClient@@AAEXHAAV?$QMap@VQString@@H@@@Z @ 26 NONAME ; void TimezoneClient::getCitiesForCountry(int, class QMap<class QString, int> &)
+ ?getCountriesForUTCOffset@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@H@Z @ 27 NONAME ; class QList<struct LocationInfo> TimezoneClient::getCountriesForUTCOffset(int)
+ ??1TimezoneClient@@EAE@XZ @ 28 NONAME ; TimezoneClient::~TimezoneClient(void)
+ ?timeUpdateOn@TimezoneClient@@QAE_NXZ @ 29 NONAME ; bool TimezoneClient::timeUpdateOn(void)
+ ?staticMetaObject@TimezoneClient@@2UQMetaObject@@B @ 30 NONAME ; struct QMetaObject const TimezoneClient::staticMetaObject
+ ?qt_metacast@TimezoneClient@@UAEPAXPBD@Z @ 31 NONAME ; void * TimezoneClient::qt_metacast(char const *)
+ ?autoTimeUpdateChanged@TimezoneClient@@IAEXH@Z @ 32 NONAME ; void TimezoneClient::autoTimeUpdateChanged(int)
+ ?trUtf8@TimezoneClient@@SA?AVQString@@PBD0@Z @ 33 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *)
+ ?listUpdated@TimezoneClient@@IAEXXZ @ 34 NONAME ; void TimezoneClient::listUpdated(void)
+ ?getSavedLocations@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@XZ @ 35 NONAME ; class QList<struct LocationInfo> TimezoneClient::getSavedLocations(void)
+ ?getLocationInfo@TimezoneClient@@AAEXHHAAULocationInfo@@@Z @ 36 NONAME ; void TimezoneClient::getLocationInfo(int, int, struct LocationInfo &)
+ ?getAllTimeZoneIds@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 37 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneIds(void)
+ ?populateCities@TimezoneClient@@AAEXXZ @ 38 NONAME ; void TimezoneClient::populateCities(void)
+ ?tr@TimezoneClient@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString TimezoneClient::tr(char const *, char const *)
+ ?setDateTime@TimezoneClient@@QAEXVQDateTime@@@Z @ 40 NONAME ; void TimezoneClient::setDateTime(class QDateTime)
+ ?metaObject@TimezoneClient@@UBEPBUQMetaObject@@XZ @ 41 NONAME ; struct QMetaObject const * TimezoneClient::metaObject(void) const
+ ?getStaticMetaObject@TimezoneClient@@SAABUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const & TimezoneClient::getStaticMetaObject(void)
+ ?mTimezoneClient@TimezoneClient@@0PAV1@A @ 43 NONAME ; class TimezoneClient * TimezoneClient::mTimezoneClient
+ ?cityUpdated@TimezoneClient@@IAEXXZ @ 44 NONAME ; void TimezoneClient::cityUpdated(void)
+ ?setTimeUpdateOn@TimezoneClient@@QAEX_N@Z @ 45 NONAME ; void TimezoneClient::setTimeUpdateOn(bool)
+ ?getCountries@TimezoneClient@@QAEXAAV?$QMap@VQString@@H@@@Z @ 46 NONAME ; void TimezoneClient::getCountries(class QMap<class QString, int> &)
+ ?checkForDstChange@TimezoneClient@@QAE_NAAUAlarmInfo@@@Z @ 47 NONAME ; bool TimezoneClient::checkForDstChange(struct AlarmInfo &)
+ ?isDSTOnL@TimezoneClient@@QAE_NH@Z @ 48 NONAME ; bool TimezoneClient::isDSTOnL(int)
+ ?timechanged@TimezoneClient@@IAEXXZ @ 49 NONAME ; void TimezoneClient::timechanged(void)
+ ?saveLocations@TimezoneClient@@QAEXABV?$QList@ULocationInfo@@@@@Z @ 50 NONAME ; void TimezoneClient::saveLocations(class QList<struct LocationInfo> const &)
+ ?qt_metacall@TimezoneClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 51 NONAME ; int TimezoneClient::qt_metacall(enum QMetaObject::Call, int, void * *)
--- a/clock/clockmw/clockalarms/inc/alarmclient.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clockalarms/inc/alarmclient.h Fri May 14 15:51:09 2010 +0300
@@ -56,6 +56,7 @@
void getAlarmList(QList<AlarmInfo>& alarmList);
void setAlarm(AlarmInfo& alarmInfo);
void deleteAlarm(int alarmId);
+ int deleteSnoozedAlarm(int alarmId);
int getAlarmInfo(int alarmId, AlarmInfo& alarmInfo);
void toggleAlarmStatus(int alarmId, int alarmStatus);
--- a/clock/clockmw/clockalarms/src/alarmclient.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clockalarms/src/alarmclient.cpp Fri May 14 15:51:09 2010 +0300
@@ -18,8 +18,6 @@
// System includes
#include <e32cmn.h>
-#include <QDebug>
-
// User includes
#include "alarmclient.h"
#include "alarmlistener.h"
@@ -34,18 +32,11 @@
AlarmClient::AlarmClient(QObject* parent)
:QObject(parent),
mListener(0)
-{
- qDebug("clock: AlarmClient::AlarmClient() -->");
-
+{
// Connect to the alarm server.
User::LeaveIfError(mAlarmSrvSession.Connect());
-
- qDebug("clock: AlarmClient::AlarmClient() - Connection done, looks ok.");
-
// Construct the listener, but do not start it.
mListener = new AlarmListener(this, mAlarmSrvSession);
-
- qDebug("clock: AlarmClient::AlarmClient() <--");
}
/*!
@@ -53,7 +44,6 @@
*/
AlarmClient::~AlarmClient()
{
- qDebug("clock: AlarmClient::~AlarmClient() -->");
if (mListener) {
mListener->stop();
@@ -61,8 +51,6 @@
mListener = 0;
}
mAlarmSrvSession.Close();
-
- qDebug("clock: AlarmClient::~AlarmClient() <--");
}
/*!
@@ -72,8 +60,6 @@
*/
void AlarmClient::getAlarmList(QList<AlarmInfo>& alarmList)
{
- qDebug() << "clock: AlarmClient::getAlarmList -->";
-
// This will hold the alarm ids returned from alarm server.
RArray<TAlarmId> alarmIdArray;
AlarmInfo alarmInfo;
@@ -135,8 +121,6 @@
}
// Cleanup.
alarmIdArray.Close();
-
- qDebug() << "clock: AlarmClient::getAlarmList <--";
}
/*!
@@ -144,8 +128,6 @@
*/
void AlarmClient::setAlarm(AlarmInfo& alarmInfo)
{
- qDebug() << "clock: AlarmClient::setAlarm -->";
-
// Get the current home time
TTime homeTime;
homeTime.HomeTime();
@@ -222,14 +204,10 @@
alarmInfo.alarmDateTime = alarmDate;
}
-
- qDebug() << "clock: AlarmClient::setAlarm <--";
}
void AlarmClient::setAlarmState(TAlarmState state, AlarmState& alarmState)
{
- qDebug() << "clock: AlarmClient::setAlarmState -->";
-
switch (state) {
case EAlarmStateInPreparation:
alarmState = InPreparation;
@@ -253,13 +231,10 @@
break;
}
- qDebug() << "clock: AlarmClient::setAlarmState <--";
}
void AlarmClient::setAlarmState(AlarmState state, TAlarmState& alarmState)
{
- qDebug() << "clock: AlarmClient::setAlarmState -->";
-
switch (state) {
case InPreparation:
alarmState = EAlarmStateInPreparation;
@@ -282,15 +257,11 @@
default:
break;
}
-
- qDebug() << "clock: AlarmClient::setAlarmState <--";
}
void AlarmClient::setAlarmRepeatType(
TAlarmRepeatDefinition repeat, AlarmRepeatType& repeatType)
{
- qDebug() << "clock: AlarmClient::setAlarmRepeatType -->";
-
switch (repeat) {
case EAlarmRepeatDefintionRepeatOnce:
repeatType = Once;
@@ -307,15 +278,11 @@
default:
break;
}
-
- qDebug() << "clock: AlarmClient::setAlarmRepeatType <--";
}
void AlarmClient::setAlarmRepeatType(
AlarmRepeatType repeat, TAlarmRepeatDefinition& repeatType)
{
- qDebug() << "clock: AlarmClient::setAlarmRepeatType -->";
-
switch (repeat) {
case Once:
repeatType = EAlarmRepeatDefintionRepeatOnce;
@@ -332,24 +299,41 @@
default:
break;
}
-
- qDebug() << "clock: AlarmClient::setAlarmRepeatType <--";
}
void AlarmClient::deleteAlarm(int alarmId)
{
- qDebug() << "clock: AlarmClient::deleteAlarm -->";
-
// Request the alarmserver to delete the alarm.
mAlarmSrvSession.AlarmDelete(alarmId);
+}
- qDebug() << "clock: AlarmClient::deleteAlarm <--";
+/*!
+ Delete the snoozed alarm.
+
+ \param alarmId needs to be deleted and reset again.
+ \return int error value if any.
+ */
+int AlarmClient::deleteSnoozedAlarm(int alarmId)
+{
+ AlarmInfo alarmInfo;
+ int retVal(KErrNone);
+ int returnVal = getAlarmInfo(alarmId, alarmInfo);
+ if (KErrNone != retVal) {
+ return retVal;
+ }
+ returnVal = mAlarmSrvSession.AlarmDelete(alarmId);
+ if (KErrNone != retVal) {
+ return retVal;
+ }
+ alarmInfo.alarmState = InPreparation;
+ alarmInfo.nextDueTime = alarmInfo.origAlarmTime;
+ setAlarm(alarmInfo);
+
+ return retVal;
}
int AlarmClient::getAlarmInfo(int alarmId, AlarmInfo& alarmInfo)
{
- qDebug() << "clock: AlarmClient::getAlarmInfo -->";
-
TASShdAlarm tempSharedAlarm;
// Get the requested alarm info from the alarm server.
@@ -373,11 +357,15 @@
tempSharedAlarm.NextDueTime().DateTime().Minute(),
tempSharedAlarm.NextDueTime().DateTime().Second());
- // Alarm day
+ // Alarm date
alarmInfo.alarmDateTime.setYMD(
tempSharedAlarm.OriginalExpiryTime().DateTime().Year(),
tempSharedAlarm.OriginalExpiryTime().DateTime().Month()+1,
tempSharedAlarm.OriginalExpiryTime().DateTime().Day()+1);
+
+ // Set alarm day.
+ alarmInfo.alarmDay =
+ tempSharedAlarm.OriginalExpiryTime().DayNoInWeek();
// The alarm status
if (EAlarmStatusEnabled == tempSharedAlarm.Status()) {
@@ -404,46 +392,31 @@
alarmInfo.volumeStatus = AlarmVolumeOff;
}
}
-
- qDebug() << "clock: AlarmClient::getAlarmInfo <--";
-
return error;
}
void AlarmClient::toggleAlarmStatus(int alarmId, int alarmStatus)
{
- qDebug() << "clock: AlarmClient::toggleAlarmStatus -->";
mAlarmSrvSession.SetAlarmStatus(alarmId, (TAlarmStatus)alarmStatus);
- qDebug() << "clock: AlarmClient::toggleAlarmStatus <--";
}
void AlarmClient::startListener()
{
- qDebug("clock: AlarmClient::startListener() -->");
+ mListener->start();
- mListener->start();
-
- qDebug("clock: AlarmClient::startListener() <--");
}
void AlarmClient::stopListener()
{
- qDebug("clock: AlarmClient::stopListener() -->");
-
mListener->stop();
- qDebug("clock: AlarmClient::stopListener() <--");
}
void AlarmClient::notifyChange(int alarmId)
{
- qDebug() << "clock: AlarmClient::notifyChange -->";
-
- emit alarmStateChanged(alarmId);
-
- qDebug() << "clock: AlarmClient::notifyChange <--";
+ emit alarmStateChanged(alarmId);
}
// End of file --Don't remove this.
--- a/clock/clockmw/clockalarms/src/alarmlistener.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clockalarms/src/alarmlistener.cpp Fri May 14 15:51:09 2010 +0300
@@ -25,57 +25,39 @@
mClient(client),
mSession(session)
{
- qDebug("clock: AlarmListener::AlarmListener -->");
-
- // Nothing to do.
-
- qDebug("clock: AlarmListener::AlarmListener <--");
+ // Nothing to do.
}
AlarmListener::~AlarmListener()
{
- qDebug("clock: AlarmListener::~AlarmListener -->");
-
if (IsActive()) {
Cancel();
}
- qDebug("clock: AlarmListener::~AlarmListener <--");
}
void AlarmListener::start()
{
- qDebug("clock: AlarmListener::start -->");
-
// Add the AO to the scheduler.
CActiveScheduler::Add(this);
// Subscrive for async notification from alarm server.
mSession.NotifyChange(iStatus, mAlarmId);
- qDebug("clock: AlarmListener::start - Successfully subscribed for change notifiation.");
-
// Set the AO active.
SetActive();
- qDebug("clock: AlarmListener::start <--");
}
void AlarmListener::stop()
{
- qDebug("clock: AlarmListener::stop -->");
-
if (IsActive()) {
Cancel();
}
-
- qDebug("clock: AlarmListener::stop <--");
}
void AlarmListener::RunL()
{
- qDebug("clock: AlarmListener::RunL --");
-
if (iStatus != KRequestPending) {
// We get notification for various changes with the alarm server.
// Only the required Events are used to emit a signal.
@@ -95,18 +77,13 @@
SetActive();
}
-
- qDebug("clock: AlarmListener::RunL <--");
}
void AlarmListener::DoCancel()
{
- qDebug("clock: AlarmListener::DoCancel -->");
-
// Cancel async request.
mSession.NotifyChangeCancel();
- qDebug("clock: AlarmListener::DoCancel <--");
}
// End of file
--- a/clock/clockmw/clocksettingsutility/inc/settingsutility.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocksettingsutility/inc/settingsutility.h Fri May 14 15:51:09 2010 +0300
@@ -42,11 +42,11 @@
~SettingsUtility();
public:
- void setTime(const QString &time);
+// void setTime(const QString &time);
QString time();
- void setTimeZone(const QString &timezone);
- QString timeZone();
+/* void setTimeZone(const QString &timezone);
+ QString timeZone();*/
void setTimeFormat(const QString &format);
int timeFormat(QStringList &format);
@@ -57,10 +57,10 @@
void setTimeSeparator(const QString &separator);
int timeSeparator(QStringList &list);
- void setAutoUpdate(const QString &value);
- int autoUpdate(QStringList &list);
+/* void setAutoUpdate(const QString &value);
+ int autoUpdate(QStringList &list);*/
- void setDate(const QString &date);
+// void setDate(const QString &date);
QString date();
void setDateFormat(const QString &format);
@@ -91,8 +91,6 @@
QStringList mDateSeparatorList;
QStringList mAutoUpdateValueList;
QStringList mSnoozeValueList;
-
- TimezoneClient *mTimeZoneClient;
};
#endif // SETTINGSUTILITY_H
--- a/clock/clockmw/clocksettingsutility/src/settingsutility.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocksettingsutility/src/settingsutility.cpp Fri May 14 15:51:09 2010 +0300
@@ -37,8 +37,6 @@
SettingsUtility::SettingsUtility(QObject *parent)
:QObject(parent)
{
- qDebug("clock: SettingsUtility::SettingsUtility -->");
-
mTimeSeparatorList << tr(".") << tr(":");
mClockTypeList << tr("Analog") << tr("Digital");
mTimeFormatList << hbTrId("txt_clk_setlabel_val_24_hour") << hbTrId("txt_clk_setlabel_val_12_hour");
@@ -46,12 +44,6 @@
mDateSeparatorList << tr(".") << tr(":") << tr("/") << tr("-");
mAutoUpdateValueList << tr("ON") << tr("OFF");
mSnoozeValueList << tr("5 minutes") << tr("15 minutes") << tr(" 30 minutes") << tr("1 hour");
-
- mTimeZoneClient = new TimezoneClient(this);
-
- qDebug("clock: SettingsUtility::SettingsUtility <--");
-
-// mSettingsMamager = new XQSettingsManager(this);
}
/*!
@@ -59,23 +51,11 @@
*/
SettingsUtility::~SettingsUtility()
{
- // Nothing yet.
+ // Nothing.
}
/*!
-
- */
-void SettingsUtility::setTime(const QString &time)
-{
- QTime newTime = QTime::fromString(time, timeFormatString());
-
- if (newTime.isValid()) {
- mTimeZoneClient->setDateTime(QDateTime(QDate::currentDate(), newTime));
- }
-}
-
-/*!
-
+ Returns the current time in the device.
*/
QString SettingsUtility::time()
{
@@ -85,64 +65,6 @@
/*!
*/
-void SettingsUtility::setTimeZone(const QString &timezone)
-{
- Q_UNUSED(timezone)
-}
-
-/*!
-
- */
-QString SettingsUtility::timeZone()
-{
- QStringList dummyList;
-
- // Get the current zone info.
- LocationInfo currentZoneInfo = mTimeZoneClient->getCurrentZoneInfoL();
-
- // Construct the GMT +/- X string.
- QString gmtOffset(hbTrId("txt_common_common_gmt"));
-
- int utcOffset = currentZoneInfo.zoneOffset;
- int offsetInHours (utcOffset/60);
- int offsetInMinutes (utcOffset%60);
-
- // Check wether the offset is +ve or -ve.
- if (0 < utcOffset) {
- // We have a positive offset. Append the '+' character.
- gmtOffset += tr("+ ");
- } else if (0 > utcOffset) {
- // We have a negative offset. Append the '-' character.
- gmtOffset += tr("- ");
- offsetInHours = -offsetInHours;
- } else {
- // We dont have an offset. We are at GMT zone.
- }
-
- // Append the hour component.
- gmtOffset += QString::number(offsetInHours);
-
- // Append the time separator.
- gmtOffset += mTimeSeparatorList.at(timeSeparator(dummyList));
-
- // Append the minute component.
- // If minute component is less less than 10, append a '00'
- if (0 <= offsetInMinutes && offsetInMinutes < 10) {
- gmtOffset += tr("00");
- } else {
- gmtOffset += QString::number(offsetInMinutes);
- }
-
- gmtOffset += tr(" ");
- // TODO: append city name when more than one cities else country name.
- gmtOffset += currentZoneInfo.cityName;
-
- return gmtOffset;
-}
-
-/*!
-
- */
void SettingsUtility::setTimeFormat(const QString& format)
{
TLocale locale;
@@ -234,8 +156,6 @@
*/
int SettingsUtility::timeSeparator(QStringList &list)
{
- qDebug() << "clock: SettingsUtility::timeSeparator -->";
-
TLocale locale;
TChar separatorChar = locale.TimeSeparator(1);
int value = -1;
@@ -249,70 +169,14 @@
}
list = mTimeSeparatorList;
-
- qDebug() << "clock: SettingsUtility::timeSeparator <--";
-
return value;
}
/*!
*/
-void SettingsUtility::setAutoUpdate(const QString &value)
-{
- // TODO: implement the changes after server is in place.
- // 1. Inform the server about the setting.
- // 2. Get the status of the change from server
- // 3. Emit the signal to inform the clients of the change in the settings item,
- // pass the enum of settings item changed and the updated value.
-
- if (0 == value.compare(tr("ON"), Qt::CaseInsensitive)) {
- mTimeZoneClient->setTimeUpdateOn(true);
- } else {
- mTimeZoneClient->setTimeUpdateOn(false);
- }
-
- emit settingsChanged(AutoTimeUpdate, value);
-}
-
-/*!
-
- */
-int SettingsUtility::autoUpdate(QStringList &list)
-{
- // TODO: implement properly. this is jst a dummy implementation.
- int value = 1;
-
- bool autoUpdate = mTimeZoneClient->timeUpdateOn();
-
- if (autoUpdate) {
- value = 0;
- }
- list = mAutoUpdateValueList;
- return value;
-}
-
-/*!
-
- */
-void SettingsUtility::setDate(const QString &date)
-{
- QDate newDate = QDate::fromString(date, dateFormatString());
-
- if (newDate.isValid()) {
- mTimeZoneClient->setDateTime(QDateTime(newDate, QTime::currentTime()));
- }
-}
-
-/*!
-
- */
QString SettingsUtility::date()
{
- qDebug() << "clock: SettingsUtility::date -->";
-
- qDebug() << "clock: SettingsUtility::date <--";
-
return QDate::currentDate().toString(dateFormatString());
}
--- a/clock/clockmw/clocktimezone/clocktimezone.pro Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocktimezone/clocktimezone.pro Fri May 14 15:51:09 2010 +0300
@@ -41,7 +41,8 @@
-lbafl \
-ltimezonelocalization \
-ltzclient \
- -lclockserverclient
+ -lclockserverclient \
+ -lxqsettingsmanager
BLD_INF_RULES.prj_exports += \
"../../data/timezonedata/timezonelocalization.loc APP_LAYER_LOC_EXPORT_PATH(timezonelocalization.loc)" \
--- a/clock/clockmw/clocktimezone/inc/timezoneclient.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocktimezone/inc/timezoneclient.h Fri May 14 15:51:09 2010 +0300
@@ -41,6 +41,8 @@
class CEnvironmentChangeNotifier;
class QStandardItemModel;
class CTzLocalizer;
+class XQSettingsManager;
+class XQSettingsKey;
const int KInitialEvent = (
EChangesLocale |
@@ -56,29 +58,31 @@
Q_OBJECT
public:
- TimezoneClient(QObject* parent = 0);
+ /*TIMEZONECLIENT_EXPORT*/ static TimezoneClient* getInstance();
+ /*TIMEZONECLIENT_EXPORT*/ void deleteInstance();
+ /*TIMEZONECLIENT_EXPORT*/ bool isNull();
+
+private:
+ TimezoneClient();
~TimezoneClient();
+private:
+
+private:
+ static TimezoneClient *mTimezoneClient;
+ static int mReferenceCount;
+
+// TODO: still refatoring
public:
- QList<LocationInfo> getLocations();
- bool getUtcDstOffsetL(int &dstOffset,
- const CTzId &tzId);
- LocationInfo getCurrentZoneInfoL();
- void setAsCurrentLocationL(LocationInfo &location);
- bool isDSTOnL(int timezoneId);
- int getStandardOffset(int timezoneId);
- void getDstRulesL(
- QDateTime &startTime, QDateTime &endTime,int timezoneId);
+ /*TIMEZONECLIENT_EXPORT*/ QList<LocationInfo> &getLocations();
+ /*TIMEZONECLIENT_EXPORT*/ LocationInfo getCurrentZoneInfoL();
+ /*TIMEZONECLIENT_EXPORT*/ void setAsCurrentLocationL(LocationInfo &location);
+ /*TIMEZONECLIENT_EXPORT*/ bool isDSTOnL(int timezoneId);
+ /*TIMEZONECLIENT_EXPORT*/ int getStandardOffset(int timezoneId);
QList<LocationInfo> getSavedLocations();
void saveLocations(const QList<LocationInfo> &locationList);
void getCountries(QMap<QString, int>& countries);
- void getCitiesForCountry(
- int id, QMap<QString, int>& cities);
- void getLocationInfo(
- int groupId, int cityIndex, LocationInfo& cityInfo);
bool dstOn(int tzId);
- int getCityGroupIdByName(const QString& name);
- int getCityOffsetByNameAndId(const QString& name, int tzId);
void setDateTime(QDateTime dateTime);
void setTimeUpdateOn(bool timeUpdate = true);
bool timeUpdateOn();
@@ -96,13 +100,25 @@
signals:
void timechanged();
void listUpdated();
-
+ void autoTimeUpdateChanged(int value);
+ void cityUpdated();
+
private:
int getDstZoneOffset(int tzId);
TMonth intToMonth(int month);
+ bool getUtcDstOffsetL(int &dstOffset, const CTzId &tzId);
+ void getDstRulesL(
+ QDateTime &startTime, QDateTime &endTime,int timezoneId);
+ void getCitiesForCountry(
+ int id, QMap<QString, int>& cities);
+ void getLocationInfo(
+ int groupId, int cityIndex, LocationInfo& cityInfo);
+ int getCityGroupIdByName(const QString& name);
+ int getCityOffsetByNameAndId(const QString& name, int tzId);
private slots:
- void populateCities();
+ void populateCities();
+ void eventMonitor(const XQSettingsKey& key, const QVariant& value);
public:
CEnvironmentChangeNotifier *mNotifier;
@@ -112,14 +128,16 @@
QMap<QString, int> mAllCountries;
QList<LocationInfo> mAllLocations;
QStandardItemModel *mWorldClockModel;
+ XQSettingsManager *mSettingsManager;
+ XQSettingsKey *mAutoTimeUpdateKey;
QList<int> mTimeZoneIds;
- bool mTimeUpdateOn;
- int mFetchCount;
+// bool mTimeUpdateOn;
int mCountryCount;
+ int mAutoTimeUpdateValue;
};
-#endif // __TIMEZONECLIENT_H__
+#endif // __TIMEZONECLIENT_H__
// End of file
--- a/clock/clockmw/clocktimezone/src/timezoneclient.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocktimezone/src/timezoneclient.cpp Fri May 14 15:51:09 2010 +0300
@@ -19,17 +19,17 @@
// System includes
#include <QList>
#include <QStandardItemModel>
-#include <QDebug>
#include <QtAlgorithms>
#include <tzlocalizationdatatypes.h>
#include <tzlocalizer.h>
#include <tz.h>
#include <vtzrules.h>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
// User includes
#include "timezoneclient.h"
#include "clockcommon.h"
-#include "debug.h"
#include "clockserverclt.h"
const int KDaysInWeek(7);
@@ -44,39 +44,78 @@
tzserver and timezonelocalization.
*/
+TimezoneClient* TimezoneClient::mTimezoneClient = 0;
+int TimezoneClient::mReferenceCount = 0;
/*!
- Default constructor.
+ Call this funtion to instantiate the TimezoneClient class.
+ */
+TimezoneClient* TimezoneClient::getInstance()
+{
+ if (!mTimezoneClient) {
+ mTimezoneClient = new TimezoneClient();
+ }
- \param parent The parent.
+ mReferenceCount++;
+ return mTimezoneClient;
+}
+
+/*!
+ Call this function to clean up the instance of TimezoneClient class.
*/
-TimezoneClient::TimezoneClient(QObject* parent)
-:QObject(parent),
- mTimeUpdateOn(false),
- mFetchCount(0)
+void TimezoneClient::deleteInstance()
{
- qDebug("clock: TimezoneClient::TimezoneClient() -->");
+ mReferenceCount--;
+
+ if (0 == mReferenceCount) {
+ delete mTimezoneClient;
+ mTimezoneClient = 0;
+ }
+}
+/*!
+ Call this function to check if the object is NULL.
+ */
+bool TimezoneClient::isNull()
+{
+ bool deleted = false;
+ if (0 == mReferenceCount) {
+ deleted = true;
+ }
+ return deleted;
+}
+
+/*!
+ The constructor.
+ */
+TimezoneClient::TimezoneClient()
+{
TCallBack callback(environmentCallback, this);
mNotifier = CEnvironmentChangeNotifier::NewL(
CActive::EPriorityStandard, callback);
mNotifier->Start();
- RClkSrvInterface clkSrvInterface1;
- User::LeaveIfError(clkSrvInterface1.Connect());
- TBool aUpdate;
- clkSrvInterface1.IsAutoTimeUpdateOn(aUpdate);
- if(aUpdate){
- mTimeUpdateOn = true;
- }
- else {
- mTimeUpdateOn = false;
- }
- clkSrvInterface1.Close();
-
mTzLocalizer = CTzLocalizer::NewL();
- qDebug("clock: TimezoneClient::TimezoneClient() <--");
+ // Create the settings manager.
+ mSettingsManager = new XQSettingsManager(this);
+
+ // Create the key for auto time update.
+ mAutoTimeUpdateKey = new XQSettingsKey(
+ XQSettingsKey::TargetCentralRepository,
+ KCRUidNitz,
+ KActiveProtocol);
+
+ // Start the monitoring for the auto time update key.
+ mSettingsManager->startMonitoring(*mAutoTimeUpdateKey);
+
+ // Get the value of auto time update from cenrep.
+ mAutoTimeUpdateValue = timeUpdateOn();
+
+ // Listen to the key value changes.
+ connect(
+ mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+ this, SLOT(eventMonitor(XQSettingsKey, QVariant)));
}
/*!
@@ -99,6 +138,11 @@
if (mTimeZoneIds.count()) {
mTimeZoneIds.clear();
}
+ // Clear the locations if exist.
+ if (mAllLocations.count()) {
+ mAllLocations.clear();
+ }
+
}
/*!
@@ -109,20 +153,15 @@
valid cityName, countryName, tz id and city group id. None of the other
data is filled.
*/
-QList<LocationInfo> TimezoneClient::getLocations()
+QList<LocationInfo>& TimezoneClient::getLocations()
{
- qDebug("clock: TimezoneClient::getLocations() -->");
-
- // This list will contain the info of the cities fetched from tz server.
- QList<LocationInfo> infoList;
-
- // Construct the timezone localizer.
- CTzLocalizer* localizer = CTzLocalizer::NewL();
- CleanupStack::PushL(localizer);
+ if (mAllLocations.count()) {
+ mAllLocations.clear();
+ }
// Get the cities, in alphabetical-ascending sorted order.
CTzLocalizedCityArray* cityArray =
- localizer->GetCitiesL(CTzLocalizer::ETzAlphaNameAscending);
+ mTzLocalizer->GetCitiesL(CTzLocalizer::ETzAlphaNameAscending);
ASSERT(cityArray);
CleanupStack::PushL(cityArray);
int cityCount = cityArray->Count();
@@ -150,7 +189,7 @@
if (country) {
delete country;
}
- country = localizer->GetCityGroupL(cityGroupId);
+ country = mTzLocalizer->GetCityGroupL(cityGroupId);
countryName.Set(country->Name());
}
@@ -162,16 +201,12 @@
cityName.Ptr(), cityName.Length());
cityInfo.countryName = QString::fromUtf16(
countryName.Ptr(), countryName.Length());
- infoList.append(cityInfo);
+ mAllLocations.append(cityInfo);
}
// Cleanup.
CleanupStack::PopAndDestroy(cityArray);
- CleanupStack::PopAndDestroy(localizer);
-
- qDebug("clock: TimezoneClient::getLocations() <--");
-
- return infoList;
+ return mAllLocations;
}
bool TimezoneClient::getUtcDstOffsetL(int& dstOffset, const CTzId& timezoneId)
@@ -246,8 +281,6 @@
LocationInfo TimezoneClient::getCurrentZoneInfoL()
{
- qDebug() << "clock: TimezoneClient::getCurrentZoneInfoL -->";
-
// Current zone info.
LocationInfo currentLocation;
int timezoneId(0);
@@ -281,140 +314,130 @@
timeZones.Close();
zoneOffsets.Close();
- // Construct CTzLocalizer object to get the timezone from the ID.
- CTzLocalizer* tzLocalizer = CTzLocalizer::NewL();
-
// Get all the localized timezones for the current timezone ID.
CTzLocalizedTimeZone* localizedTimeZone(NULL);
- if (tzLocalizer) {
- // Get the currently set localized timezone.
- CleanupStack::PushL(tzLocalizer);
- localizedTimeZone =
- tzLocalizer->GetLocalizedTimeZoneL(tzId->TimeZoneNumericID());
+ localizedTimeZone =
+ mTzLocalizer->GetLocalizedTimeZoneL(tzId->TimeZoneNumericID());
+
+ if (localizedTimeZone) {
+ CleanupStack::PushL(localizedTimeZone);
- if (localizedTimeZone) {
- CleanupStack::PushL(localizedTimeZone);
+ // Get the frequently used localized city.
+ CTzLocalizedCity* localizedCity(0);
+ localizedCity = mTzLocalizer->GetFrequentlyUsedZoneCityL(
+ CTzLocalizedTimeZone::ECurrentZone);
+ CleanupStack::PushL(localizedCity);
- // Get the frequently used localized city.
- CTzLocalizedCity* localizedCity(0);
- localizedCity = tzLocalizer->GetFrequentlyUsedZoneCityL(
- CTzLocalizedTimeZone::ECurrentZone);
- CleanupStack::PushL(localizedCity);
+ // Get all the city groups.
+ CTzLocalizedCityGroupArray* cityGroupArray =
+ mTzLocalizer->GetAllCityGroupsL(
+ CTzLocalizer::ETzAlphaNameAscending);
+ CleanupStack::PushL(cityGroupArray);
- // Get all the city groups.
- CTzLocalizedCityGroupArray* cityGroupArray =
- tzLocalizer->GetAllCityGroupsL(
- CTzLocalizer::ETzAlphaNameAscending);
- CleanupStack::PushL(cityGroupArray);
-
- // Get the index of the country corresponding to the city group ID.
- int countryIndex(1);
+ // Get the index of the country corresponding to the city group ID.
+ int countryIndex(1);
- for (int index = 0; index < cityGroupArray->Count(); index++) {
- if (localizedCity->GroupId() ==
- cityGroupArray->At(index).Id()) {
- countryIndex = index;
- }
+ for (int index = 0; index < cityGroupArray->Count(); index++) {
+ if (localizedCity->GroupId() ==
+ cityGroupArray->At(index).Id()) {
+ countryIndex = index;
}
+ }
- // Get all the cities within the currently set country.
- CTzLocalizedCityArray* cityList = tzLocalizer->GetCitiesInGroupL(
- (cityGroupArray->At(countryIndex )).Id(),
- CTzLocalizer::ETzAlphaNameAscending);
- CleanupStack::PushL(cityList);
+ // Get all the cities within the currently set country.
+ CTzLocalizedCityArray* cityList = mTzLocalizer->GetCitiesInGroupL(
+ (cityGroupArray->At(countryIndex )).Id(),
+ CTzLocalizer::ETzAlphaNameAscending);
+ CleanupStack::PushL(cityList);
- // Check if automatic time update is enabled.
- bool timeUpdateOn( false );
+ // Check if automatic time update is enabled.
+ bool timeUpdateOn( false );
- // Connect to the clock server.
- // TODO: connect to the clock server and get auto update status in
- // var: timeUpdateOn
- // Check if the country contains only one city or if automatic
- // time update is on.
- if (1 == cityList->Count() || timeUpdateOn) {
- // If yes, then display only the country name.
- // TODO
- } else {
- // Display city name.
- // TODO:
- }
+ // Connect to the clock server.
+ // TODO: connect to the clock server and get auto update status in
+ // var: timeUpdateOn
+ // Check if the country contains only one city or if automatic
+ // time update is on.
+ if (1 == cityList->Count() || timeUpdateOn) {
+ // If yes, then display only the country name.
+ // TODO
+ } else {
+ // Display city name.
+ // TODO:
+ }
- // Get the country name.
- TPtrC countryName(cityGroupArray->At(countryIndex).Name());
- currentLocation.countryName = QString::fromUtf16(
- countryName.Ptr(), countryName.Length());
-
- // Get the city name.
- TPtrC cityName(localizedCity->Name());
- currentLocation.cityName = QString::fromUtf16(
- cityName.Ptr(), cityName.Length());
+ // Get the country name.
+ TPtrC countryName(cityGroupArray->At(countryIndex).Name());
+ currentLocation.countryName = QString::fromUtf16(
+ countryName.Ptr(), countryName.Length());
- // Get the UTC offset.
- timezoneId = localizedCity->TimeZoneId();
+ // Get the city name.
+ TPtrC cityName(localizedCity->Name());
+ currentLocation.cityName = QString::fromUtf16(
+ cityName.Ptr(), cityName.Length());
- if (timezoneId) {
- // Check if the DST is on for the current timezone.
- if (isDSTOnL(timezoneId)) {
- // Get the offset with DST enabled.
- getUtcDstOffsetL(utcOffset, *tzId);
+ // Get the UTC offset.
+ timezoneId = localizedCity->TimeZoneId();
- currentLocation.dstOn = true;
- currentLocation.timezoneId = timezoneId;
- currentLocation.zoneOffset = utcOffset;
- } else {
- // Use the standard offset.
- currentLocation.dstOn = false;
- currentLocation.timezoneId = timezoneId;
- currentLocation.zoneOffset = initialTimeZoneOffset;
- }
+ if (timezoneId) {
+ // Check if the DST is on for the current timezone.
+ if (isDSTOnL(timezoneId)) {
+ // Get the offset with DST enabled.
+ getUtcDstOffsetL(utcOffset, *tzId);
+
+ currentLocation.dstOn = true;
+ currentLocation.timezoneId = timezoneId;
+ currentLocation.zoneOffset = utcOffset;
+ } else {
+ // Use the standard offset.
+ currentLocation.dstOn = false;
+ currentLocation.timezoneId = timezoneId;
+ currentLocation.zoneOffset = initialTimeZoneOffset;
}
-
- // Cleanup.
- CleanupStack::PopAndDestroy( cityList );
- CleanupStack::PopAndDestroy( cityGroupArray );
- CleanupStack::PopAndDestroy( localizedCity );
- CleanupStack::PopAndDestroy( localizedTimeZone );
}
// Cleanup.
- CleanupStack::PopAndDestroy( tzLocalizer );
+ CleanupStack::PopAndDestroy( cityList );
+ CleanupStack::PopAndDestroy( cityGroupArray );
+ CleanupStack::PopAndDestroy( localizedCity );
+ CleanupStack::PopAndDestroy( localizedTimeZone );
}
// Cleanup.
CleanupStack::PopAndDestroy( tzId );
CleanupStack::PopAndDestroy( &tzHandle );
-
- qDebug() << "clock: TimezoneClient::getCurrentZoneInfoL <--";
-
return currentLocation;
}
void TimezoneClient::setAsCurrentLocationL(LocationInfo &location)
{
- Debug::writeDebugMsg(
+/* Debug::writeDebugMsg(
"In time zone client setAsCurrentLocationL " + location.cityName +
" " +
location.countryName +
" " +
- QString::number(location.zoneOffset));
+ QString::number(location.zoneOffset));*/
- // Construct CTzLocalizer object.
- CTzLocalizer* tzLocalizer = CTzLocalizer::NewL();
- CleanupStack::PushL( tzLocalizer );
- tzLocalizer->SetTimeZoneL( location.timezoneId );
+ LocationInfo prevLocationInfo ;
+ prevLocationInfo = getCurrentZoneInfoL();
+
+ mTzLocalizer->SetTimeZoneL( location.timezoneId );
TPtrC ptrCityName(
reinterpret_cast<const TText*>(location.cityName.constData()));
CTzLocalizedCity* localizedCity =
- tzLocalizer->FindCityByNameL(ptrCityName, location.timezoneId);
+ mTzLocalizer->FindCityByNameL(ptrCityName, location.timezoneId);
CleanupStack::PushL( localizedCity );
- tzLocalizer->SetFrequentlyUsedZoneL(
+ mTzLocalizer->SetFrequentlyUsedZoneL(
*localizedCity, CTzLocalizedTimeZone::ECurrentZone);
// Cleanup.
CleanupStack::PopAndDestroy( localizedCity );
- CleanupStack::PopAndDestroy( tzLocalizer );
+
+ if(prevLocationInfo.timezoneId == location.timezoneId) {
+ emit cityUpdated();
+ }
}
bool TimezoneClient::isDSTOnL(int timezoneId)
@@ -588,16 +611,11 @@
void TimezoneClient::getCountries(QMap<QString, int>& countries)
{
- // Construct the timezone localizer.
- CTzLocalizer* localizer = CTzLocalizer::NewL();
- CleanupStack::PushL(localizer);
-
// Get all the city groups(countries).
QTime t;
t.start();
CTzLocalizedCityGroupArray* cityGroupArray =
- localizer->GetAllCityGroupsL(CTzLocalizer::ETzAlphaNameAscending);
- qDebug() << "Fetching city groups from tzloc: " << t.elapsed();
+ mTzLocalizer->GetAllCityGroupsL(CTzLocalizer::ETzAlphaNameAscending);
CleanupStack::PushL(cityGroupArray);
t.restart();
@@ -611,27 +629,18 @@
countryName.Ptr(),countryName.Length());
countries[qCountryName] = cityGroup.Id();
}
- qDebug() << "Converting " <<
- cityGroupArray->Count() <<
- "countries to qstring: " <<
- t.elapsed();
// Cleanup.
CleanupStack::PopAndDestroy(cityGroupArray);
- CleanupStack::PopAndDestroy(localizer);
}
void TimezoneClient::getCitiesForCountry(int id, QMap<QString, int>& cities)
{
- // Construct the timezone localizer.
- CTzLocalizer* localizer = CTzLocalizer::NewL();
- CleanupStack::PushL(localizer);
-
// Get the city group for the given id.
- CTzLocalizedCityArray* cityArray = localizer->GetCitiesInGroupL(id,
+ CTzLocalizedCityArray* cityArray = mTzLocalizer->GetCitiesInGroupL(id,
CTzLocalizer::ETzAlphaNameAscending);
CleanupStack::PushL(cityArray);
- CTzLocalizedCityArray* unsortedArray = localizer->GetCitiesInGroupL(id,
+ CTzLocalizedCityArray* unsortedArray = mTzLocalizer->GetCitiesInGroupL(id,
CTzLocalizer::ETzUnsorted);
CleanupStack::PushL(unsortedArray);
@@ -654,7 +663,6 @@
// Cleanup.
CleanupStack::PopAndDestroy(unsortedArray);
CleanupStack::PopAndDestroy(cityArray);
- CleanupStack::PopAndDestroy(localizer);
}
void TimezoneClient::getLocationInfo(
@@ -663,15 +671,12 @@
TRAPD(
error,
- // Construct the localizer.
- CTzLocalizer* localizer = CTzLocalizer::NewLC();
-
// Get the localized city group.
- CTzLocalizedCityGroup* cityGroup = localizer->GetCityGroupL(groupId);
+ CTzLocalizedCityGroup* cityGroup = mTzLocalizer->GetCityGroupL(groupId);
CleanupStack::PushL(cityGroup);
// Get the localized city array for the given city group.
- CTzLocalizedCityArray* cityArray = localizer->GetCitiesInGroupL(
+ CTzLocalizedCityArray* cityArray = mTzLocalizer->GetCitiesInGroupL(
groupId, CTzLocalizer::ETzUnsorted);
CleanupStack::PushL(cityArray);
@@ -690,7 +695,6 @@
// Cleanup.
CleanupStack::PopAndDestroy(cityArray);
CleanupStack::PopAndDestroy(cityGroup);
- CleanupStack::PopAndDestroy(localizer);
)
Q_UNUSED(error)
}
@@ -787,11 +791,8 @@
TPtrC namePtr;
namePtr.Set(name.utf16(), name.length());
- // Construct the timezone localizer.
- CTzLocalizer *localizer = CTzLocalizer::NewLC();
-
// Get the citygroup matching the name.
- CTzLocalizedCityGroup *cityGroup = localizer->FindCityGroupByNameL(namePtr);
+ CTzLocalizedCityGroup *cityGroup = mTzLocalizer->FindCityGroupByNameL(namePtr);
CleanupStack::PushL(cityGroup);
// Get the id.
@@ -799,7 +800,6 @@
// Cleanup.
CleanupStack::PopAndDestroy(cityGroup);
- CleanupStack::PopAndDestroy(localizer);
return id;
}
@@ -809,11 +809,8 @@
TPtrC namePtr;
namePtr.Set(name.utf16(), name.length());
- // Construct the timezone localizer.
- CTzLocalizer *localizer = CTzLocalizer::NewLC();
-
// Get the citygroup matching the name.
- CTzLocalizedCityArray *cityArray = localizer->GetCitiesL(tzId);
+ CTzLocalizedCityArray *cityArray = mTzLocalizer->GetCitiesL(tzId);
CleanupStack::PushL(cityArray);
int id;
@@ -828,10 +825,8 @@
// Cleanup.
CleanupStack::PopAndDestroy(cityArray);
- CleanupStack::PopAndDestroy(localizer);
return id;
-
}
void TimezoneClient::setDateTime(QDateTime dateTime)
@@ -850,21 +845,25 @@
void TimezoneClient::setTimeUpdateOn(bool timeUpdate)
{
- RClkSrvInterface clkSrvInterface;
- User::LeaveIfError(clkSrvInterface.Connect());
- if (timeUpdate) {
- clkSrvInterface.ActivateAllProtocols();
- }
- else {
- clkSrvInterface.DeActivateAllProtocols();
- }
- mTimeUpdateOn = timeUpdate;
+ RClkSrvInterface clkSrvInterface;
+ User::LeaveIfError(clkSrvInterface.Connect());
+ if (timeUpdate) {
+ clkSrvInterface.ActivateAllProtocols();
+ }
+ else {
+ clkSrvInterface.DeActivateAllProtocols();
+ }
clkSrvInterface.Close();
}
bool TimezoneClient::timeUpdateOn()
{
- return mTimeUpdateOn;
+ TBool autoTimeUpdateOn;
+ RClkSrvInterface clkSrvInterface;
+ User::LeaveIfError(clkSrvInterface.Connect());
+ clkSrvInterface.IsAutoTimeUpdateOn(autoTimeUpdateOn);
+ clkSrvInterface.Close();
+ return autoTimeUpdateOn;
}
QStandardItemModel *TimezoneClient::locationSelectorModel()
@@ -1245,4 +1244,29 @@
return info;
}
+
+/*!
+ Slot which is called when the value changes in cevrep.
+
+ \param key The key which got changed in cenrep.
+ \param value The new value of that key.
+ */
+void TimezoneClient::eventMonitor(const XQSettingsKey& key, const QVariant& value)
+{
+ if (key.uid() == KCRUidNitz && key.key() == KActiveProtocol) {
+ if (mSettingsManager->error() == XQSettingsManager::NoError) {
+
+ // New value of auto time update.
+ int autoTimeUpdate = value.toInt();
+
+ // Check if the auto time update value has actually changed.
+ bool keyValueChanged = (autoTimeUpdate != mAutoTimeUpdateValue);
+
+ if(keyValueChanged) {
+ mAutoTimeUpdateValue = autoTimeUpdate;
+ emit autoTimeUpdateChanged(mAutoTimeUpdateValue);
+ }
+ }
+ }
+}
// End of file --Don't remove this.
--- a/clock/clockmw/eabi/clockalarmclientu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/eabi/clockalarmclientu.def Fri May 14 15:51:09 2010 +0300
@@ -24,4 +24,5 @@
_ZNK11AlarmClient10metaObjectEv @ 23 NONAME
_ZTI11AlarmClient @ 24 NONAME
_ZTV11AlarmClient @ 25 NONAME
+ _ZN11AlarmClient18deleteSnoozedAlarmEi @ 26 NONAME
--- a/clock/clockmw/eabi/clocksettingsutilityu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/eabi/clocksettingsutilityu.def Fri May 14 15:51:09 2010 +0300
@@ -1,40 +1,34 @@
EXPORTS
- _ZN15SettingsUtility10autoUpdateER11QStringList @ 1 NONAME
- _ZN15SettingsUtility10dateFormatER11QStringList @ 2 NONAME
- _ZN15SettingsUtility10snoozeTimeER11QStringList @ 3 NONAME
- _ZN15SettingsUtility10timeFormatER11QStringList @ 4 NONAME
- _ZN15SettingsUtility11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
- _ZN15SettingsUtility11qt_metacastEPKc @ 6 NONAME
- _ZN15SettingsUtility11setTimeZoneERK7QString @ 7 NONAME
- _ZN15SettingsUtility11setWorkdaysERK7QString @ 8 NONAME
- _ZN15SettingsUtility12setClockTypeERK7QString @ 9 NONAME
- _ZN15SettingsUtility13dateSeparatorER11QStringList @ 10 NONAME
- _ZN15SettingsUtility13setAutoUpdateERK7QString @ 11 NONAME
- _ZN15SettingsUtility13setDateFormatERK7QString @ 12 NONAME
- _ZN15SettingsUtility13setSnoozeTimeEi @ 13 NONAME
- _ZN15SettingsUtility13setTimeFormatERK7QString @ 14 NONAME
- _ZN15SettingsUtility13timeSeparatorER11QStringList @ 15 NONAME
- _ZN15SettingsUtility14setStartOfWeekEi @ 16 NONAME
- _ZN15SettingsUtility15settingsChangedE19SettingsItemChanged7QString @ 17 NONAME
- _ZN15SettingsUtility16dateFormatStringEv @ 18 NONAME
- _ZN15SettingsUtility16setDateSeparatorERK7QString @ 19 NONAME
- _ZN15SettingsUtility16setTimeSeparatorERK7QString @ 20 NONAME
- _ZN15SettingsUtility16staticMetaObjectE @ 21 NONAME DATA 16
- _ZN15SettingsUtility16timeFormatStringEv @ 22 NONAME
- _ZN15SettingsUtility19getStaticMetaObjectEv @ 23 NONAME
- _ZN15SettingsUtility4dateEv @ 24 NONAME
- _ZN15SettingsUtility4timeEv @ 25 NONAME
- _ZN15SettingsUtility7setDateERK7QString @ 26 NONAME
- _ZN15SettingsUtility7setTimeERK7QString @ 27 NONAME
- _ZN15SettingsUtility8timeZoneEv @ 28 NONAME
- _ZN15SettingsUtility8workdaysER11QStringList @ 29 NONAME
- _ZN15SettingsUtility9clockTypeER11QStringList @ 30 NONAME
- _ZN15SettingsUtilityC1EP7QObject @ 31 NONAME
- _ZN15SettingsUtilityC2EP7QObject @ 32 NONAME
- _ZN15SettingsUtilityD0Ev @ 33 NONAME
- _ZN15SettingsUtilityD1Ev @ 34 NONAME
- _ZN15SettingsUtilityD2Ev @ 35 NONAME
- _ZNK15SettingsUtility10metaObjectEv @ 36 NONAME
- _ZTI15SettingsUtility @ 37 NONAME
- _ZTV15SettingsUtility @ 38 NONAME
+ _ZN15SettingsUtility10dateFormatER11QStringList @ 1 NONAME
+ _ZN15SettingsUtility10snoozeTimeER11QStringList @ 2 NONAME
+ _ZN15SettingsUtility10timeFormatER11QStringList @ 3 NONAME
+ _ZN15SettingsUtility11qt_metacallEN11QMetaObject4CallEiPPv @ 4 NONAME
+ _ZN15SettingsUtility11qt_metacastEPKc @ 5 NONAME
+ _ZN15SettingsUtility11setWorkdaysERK7QString @ 6 NONAME
+ _ZN15SettingsUtility12setClockTypeERK7QString @ 7 NONAME
+ _ZN15SettingsUtility13dateSeparatorER11QStringList @ 8 NONAME
+ _ZN15SettingsUtility13setDateFormatERK7QString @ 9 NONAME
+ _ZN15SettingsUtility13setSnoozeTimeEi @ 10 NONAME
+ _ZN15SettingsUtility13setTimeFormatERK7QString @ 11 NONAME
+ _ZN15SettingsUtility13timeSeparatorER11QStringList @ 12 NONAME
+ _ZN15SettingsUtility14setStartOfWeekEi @ 13 NONAME
+ _ZN15SettingsUtility15settingsChangedE19SettingsItemChanged7QString @ 14 NONAME
+ _ZN15SettingsUtility16dateFormatStringEv @ 15 NONAME
+ _ZN15SettingsUtility16setDateSeparatorERK7QString @ 16 NONAME
+ _ZN15SettingsUtility16setTimeSeparatorERK7QString @ 17 NONAME
+ _ZN15SettingsUtility16staticMetaObjectE @ 18 NONAME DATA 16
+ _ZN15SettingsUtility16timeFormatStringEv @ 19 NONAME
+ _ZN15SettingsUtility19getStaticMetaObjectEv @ 20 NONAME
+ _ZN15SettingsUtility4dateEv @ 21 NONAME
+ _ZN15SettingsUtility4timeEv @ 22 NONAME
+ _ZN15SettingsUtility8workdaysER11QStringList @ 23 NONAME
+ _ZN15SettingsUtility9clockTypeER11QStringList @ 24 NONAME
+ _ZN15SettingsUtilityC1EP7QObject @ 25 NONAME
+ _ZN15SettingsUtilityC2EP7QObject @ 26 NONAME
+ _ZN15SettingsUtilityD0Ev @ 27 NONAME
+ _ZN15SettingsUtilityD1Ev @ 28 NONAME
+ _ZN15SettingsUtilityD2Ev @ 29 NONAME
+ _ZNK15SettingsUtility10metaObjectEv @ 30 NONAME
+ _ZTI15SettingsUtility @ 31 NONAME
+ _ZTV15SettingsUtility @ 32 NONAME
--- a/clock/clockmw/eabi/timezoneclientu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/eabi/timezoneclientu.def Fri May 14 15:51:09 2010 +0300
@@ -1,47 +1,55 @@
EXPORTS
_ZN14TimezoneClient10intToMonthEi @ 1 NONAME
- _ZN14TimezoneClient11listUpdatedEv @ 2 NONAME
- _ZN14TimezoneClient11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
- _ZN14TimezoneClient11qt_metacastEPKc @ 4 NONAME
- _ZN14TimezoneClient11setDateTimeE9QDateTime @ 5 NONAME
- _ZN14TimezoneClient11timechangedEv @ 6 NONAME
- _ZN14TimezoneClient12getCountriesER4QMapI7QStringiE @ 7 NONAME
- _ZN14TimezoneClient12getDstRulesLER9QDateTimeS1_i @ 8 NONAME
- _ZN14TimezoneClient12getLocationsEv @ 9 NONAME
- _ZN14TimezoneClient12timeUpdateOnEv @ 10 NONAME
- _ZN14TimezoneClient13saveLocationsERK5QListI12LocationInfoE @ 11 NONAME
- _ZN14TimezoneClient14populateCitiesEv @ 12 NONAME
- _ZN14TimezoneClient15getLocationInfoEiiR12LocationInfo @ 13 NONAME
- _ZN14TimezoneClient15setTimeUpdateOnEb @ 14 NONAME
- _ZN14TimezoneClient16getDstZoneOffsetEi @ 15 NONAME
- _ZN14TimezoneClient16getUtcDstOffsetLERiRK5CTzId @ 16 NONAME
- _ZN14TimezoneClient16staticMetaObjectE @ 17 NONAME DATA 16
- _ZN14TimezoneClient17checkForDstChangeER9AlarmInfo @ 18 NONAME
- _ZN14TimezoneClient17getSavedLocationsEv @ 19 NONAME
- _ZN14TimezoneClient17getStandardOffsetEi @ 20 NONAME
- _ZN14TimezoneClient19environmentCallbackEPv @ 21 NONAME
- _ZN14TimezoneClient19getCitiesForCountryEiR4QMapI7QStringiE @ 22 NONAME
- _ZN14TimezoneClient19getCurrentZoneInfoLEv @ 23 NONAME
- _ZN14TimezoneClient19getStaticMetaObjectEv @ 24 NONAME
- _ZN14TimezoneClient20getCityGroupIdByNameERK7QString @ 25 NONAME
- _ZN14TimezoneClient21createWorldClockModelEv @ 26 NONAME
- _ZN14TimezoneClient21locationSelectorModelEv @ 27 NONAME
- _ZN14TimezoneClient21setAsCurrentLocationLER12LocationInfo @ 28 NONAME
- _ZN14TimezoneClient24getCityOffsetByNameAndIdERK7QStringi @ 29 NONAME
- _ZN14TimezoneClient5dstOnEi @ 30 NONAME
- _ZN14TimezoneClient8isDSTOnLEi @ 31 NONAME
- _ZN14TimezoneClientC1EP7QObject @ 32 NONAME
- _ZN14TimezoneClientC2EP7QObject @ 33 NONAME
- _ZN14TimezoneClientD0Ev @ 34 NONAME
- _ZN14TimezoneClientD1Ev @ 35 NONAME
- _ZN14TimezoneClientD2Ev @ 36 NONAME
- _ZNK14TimezoneClient10metaObjectEv @ 37 NONAME
- _ZTI14TimezoneClient @ 38 NONAME
- _ZTV14TimezoneClient @ 39 NONAME
- _ZThn8_N14TimezoneClientD0Ev @ 40 NONAME
- _ZThn8_N14TimezoneClientD1Ev @ 41 NONAME
- _ZN14TimezoneClient17getAllTimeZoneIdsEv @ 42 NONAME
- _ZN14TimezoneClient21getAllTimeZoneOffsetsEv @ 43 NONAME
- _ZN14TimezoneClient24getCountriesForUTCOffsetEi @ 44 NONAME
- _ZN14TimezoneClient7addCityEiR7QStringi @ 45 NONAME
+ _ZN14TimezoneClient11cityUpdatedEv @ 2 NONAME
+ _ZN14TimezoneClient11getInstanceEv @ 3 NONAME
+ _ZN14TimezoneClient11listUpdatedEv @ 4 NONAME
+ _ZN14TimezoneClient11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
+ _ZN14TimezoneClient11qt_metacastEPKc @ 6 NONAME
+ _ZN14TimezoneClient11setDateTimeE9QDateTime @ 7 NONAME
+ _ZN14TimezoneClient11timechangedEv @ 8 NONAME
+ _ZN14TimezoneClient12eventMonitorERK13XQSettingsKeyRK8QVariant @ 9 NONAME
+ _ZN14TimezoneClient12getCountriesER4QMapI7QStringiE @ 10 NONAME
+ _ZN14TimezoneClient12getDstRulesLER9QDateTimeS1_i @ 11 NONAME
+ _ZN14TimezoneClient12getLocationsEv @ 12 NONAME
+ _ZN14TimezoneClient12timeUpdateOnEv @ 13 NONAME
+ _ZN14TimezoneClient13saveLocationsERK5QListI12LocationInfoE @ 14 NONAME
+ _ZN14TimezoneClient14deleteInstanceEv @ 15 NONAME
+ _ZN14TimezoneClient14populateCitiesEv @ 16 NONAME
+ _ZN14TimezoneClient15getLocationInfoEiiR12LocationInfo @ 17 NONAME
+ _ZN14TimezoneClient15mReferenceCountE @ 18 NONAME DATA 4
+ _ZN14TimezoneClient15mTimezoneClientE @ 19 NONAME DATA 4
+ _ZN14TimezoneClient15setTimeUpdateOnEb @ 20 NONAME
+ _ZN14TimezoneClient16getDstZoneOffsetEi @ 21 NONAME
+ _ZN14TimezoneClient16getUtcDstOffsetLERiRK5CTzId @ 22 NONAME
+ _ZN14TimezoneClient16staticMetaObjectE @ 23 NONAME DATA 16
+ _ZN14TimezoneClient17checkForDstChangeER9AlarmInfo @ 24 NONAME
+ _ZN14TimezoneClient17getAllTimeZoneIdsEv @ 25 NONAME
+ _ZN14TimezoneClient17getSavedLocationsEv @ 26 NONAME
+ _ZN14TimezoneClient17getStandardOffsetEi @ 27 NONAME
+ _ZN14TimezoneClient19environmentCallbackEPv @ 28 NONAME
+ _ZN14TimezoneClient19getCitiesForCountryEiR4QMapI7QStringiE @ 29 NONAME
+ _ZN14TimezoneClient19getCurrentZoneInfoLEv @ 30 NONAME
+ _ZN14TimezoneClient19getStaticMetaObjectEv @ 31 NONAME
+ _ZN14TimezoneClient20getCityGroupIdByNameERK7QString @ 32 NONAME
+ _ZN14TimezoneClient21autoTimeUpdateChangedEi @ 33 NONAME
+ _ZN14TimezoneClient21createWorldClockModelEv @ 34 NONAME
+ _ZN14TimezoneClient21getAllTimeZoneOffsetsEv @ 35 NONAME
+ _ZN14TimezoneClient21locationSelectorModelEv @ 36 NONAME
+ _ZN14TimezoneClient21setAsCurrentLocationLER12LocationInfo @ 37 NONAME
+ _ZN14TimezoneClient24getCityOffsetByNameAndIdERK7QStringi @ 38 NONAME
+ _ZN14TimezoneClient24getCountriesForUTCOffsetEi @ 39 NONAME
+ _ZN14TimezoneClient5dstOnEi @ 40 NONAME
+ _ZN14TimezoneClient6isNullEv @ 41 NONAME
+ _ZN14TimezoneClient7addCityEiR7QStringi @ 42 NONAME
+ _ZN14TimezoneClient8isDSTOnLEi @ 43 NONAME
+ _ZN14TimezoneClientC1Ev @ 44 NONAME
+ _ZN14TimezoneClientC2Ev @ 45 NONAME
+ _ZN14TimezoneClientD0Ev @ 46 NONAME
+ _ZN14TimezoneClientD1Ev @ 47 NONAME
+ _ZN14TimezoneClientD2Ev @ 48 NONAME
+ _ZNK14TimezoneClient10metaObjectEv @ 49 NONAME
+ _ZTI14TimezoneClient @ 50 NONAME
+ _ZTV14TimezoneClient @ 51 NONAME
+ _ZThn8_N14TimezoneClientD0Ev @ 52 NONAME
+ _ZThn8_N14TimezoneClientD1Ev @ 53 NONAME
--- a/clock/clockui/bwins/clockalarmeditoru.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/bwins/clockalarmeditoru.def Fri May 14 15:51:09 2010 +0300
@@ -1,5 +1,5 @@
EXPORTS
??1ClockAlarmEditor@@UAE@XZ @ 1 NONAME ; ClockAlarmEditor::~ClockAlarmEditor(void)
- ??0ClockAlarmEditor@@QAE@HPAVQGraphicsWidget@@@Z @ 2 NONAME ; ClockAlarmEditor::ClockAlarmEditor(int, class QGraphicsWidget *)
- ?showAlarmEditor@ClockAlarmEditor@@QAEXXZ @ 3 NONAME ; void ClockAlarmEditor::showAlarmEditor(void)
+ ?showAlarmEditor@ClockAlarmEditor@@QAEXXZ @ 2 NONAME ; void ClockAlarmEditor::showAlarmEditor(void)
+ ??0ClockAlarmEditor@@QAE@AAVAlarmClient@@HPAVQObject@@@Z @ 3 NONAME ; ClockAlarmEditor::ClockAlarmEditor(class AlarmClient &, int, class QObject *)
--- a/clock/clockui/bwins/clockviewsu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/bwins/clockviewsu.def Fri May 14 15:51:09 2010 +0300
@@ -1,8 +1,11 @@
EXPORTS
- ?setupView@ClockMainView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 1 NONAME ; void ClockMainView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
- ??0ClockWorldView@@QAE@PAVQGraphicsItem@@@Z @ 2 NONAME ; ClockWorldView::ClockWorldView(class QGraphicsItem *)
- ??1ClockWorldView@@UAE@XZ @ 3 NONAME ; ClockWorldView::~ClockWorldView(void)
- ??1ClockMainView@@UAE@XZ @ 4 NONAME ; ClockMainView::~ClockMainView(void)
- ?setupView@ClockWorldView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 5 NONAME ; void ClockWorldView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
- ??0ClockMainView@@QAE@PAVQGraphicsItem@@@Z @ 6 NONAME ; ClockMainView::ClockMainView(class QGraphicsItem *)
+ ??1ClockWorldView@@UAE@XZ @ 1 NONAME ; ClockWorldView::~ClockWorldView(void)
+ ??1ClockMainView@@UAE@XZ @ 2 NONAME ; ClockMainView::~ClockMainView(void)
+ ?setupView@ClockWorldView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 3 NONAME ; void ClockWorldView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
+ ??0ClockMainView@@QAE@PAVQGraphicsItem@@@Z @ 4 NONAME ; ClockMainView::ClockMainView(class QGraphicsItem *)
+ ??0ClockWorldView@@QAE@PAVQGraphicsItem@@@Z @ 5 NONAME ; ClockWorldView::ClockWorldView(class QGraphicsItem *)
+ ?setupView@ClockMainView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 6 NONAME ; void ClockMainView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
+ ??0ClockHomeCityItem@@QAE@PAVQGraphicsItem@@@Z @ 7 NONAME ; ClockHomeCityItem::ClockHomeCityItem(class QGraphicsItem *)
+ ??1ClockHomeCityItem@@UAE@XZ @ 8 NONAME ; ClockHomeCityItem::~ClockHomeCityItem(void)
+ ?setupAfterViewReady@ClockMainView@@QAEXXZ @ 9 NONAME ; void ClockMainView::setupAfterViewReady(void)
--- a/clock/clockui/bwins/clockwidgetprotou.def Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-EXPORTS
- ??0SkinnableClock@@QAE@PAVQGraphicsItem@@@Z @ 1 NONAME ; SkinnableClock::SkinnableClock(class QGraphicsItem *)
- ?updateDisplay@SkinnableClock@@QAEX_N@Z @ 2 NONAME ; void SkinnableClock::updateDisplay(bool)
- ?updateClockType@SkinnableClock@@QAEXXZ @ 3 NONAME ; void SkinnableClock::updateClockType(void)
- ??1SkinnableClock@@UAE@XZ @ 4 NONAME ; SkinnableClock::~SkinnableClock(void)
- ?staticMetaObject@SkinnableClock@@2UQMetaObject@@B @ 5 NONAME ; struct QMetaObject const SkinnableClock::staticMetaObject
- ??_ESkinnableClock@@UAE@I@Z @ 6 NONAME ; SkinnableClock::~SkinnableClock(unsigned int)
- ?qt_metacast@SkinnableClock@@UAEPAXPBD@Z @ 7 NONAME ; void * SkinnableClock::qt_metacast(char const *)
- ?startChangeType@SkinnableClock@@AAEXXZ @ 8 NONAME ; void SkinnableClock::startChangeType(void)
- ?trUtf8@SkinnableClock@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString SkinnableClock::trUtf8(char const *, char const *)
- ?trUtf8@SkinnableClock@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString SkinnableClock::trUtf8(char const *, char const *, int)
- ?metaObject@SkinnableClock@@UBEPBUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const * SkinnableClock::metaObject(void) const
- ?tr@SkinnableClock@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString SkinnableClock::tr(char const *, char const *, int)
- ?qt_metacall@SkinnableClock@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13 NONAME ; int SkinnableClock::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?paint@SkinnableClock@@MAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 14 NONAME ; void SkinnableClock::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
- ?tr@SkinnableClock@@SA?AVQString@@PBD0@Z @ 15 NONAME ; class QString SkinnableClock::tr(char const *, char const *)
- ?getStaticMetaObject@SkinnableClock@@SAABUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const & SkinnableClock::getStaticMetaObject(void)
- ?clockTypeAnalog@SkinnableClock@@QAE_NXZ @ 17 NONAME ; bool SkinnableClock::clockTypeAnalog(void)
- ?setClockTypeAnalog@SkinnableClock@@AAEX_N@Z @ 18 NONAME ; void SkinnableClock::setClockTypeAnalog(bool)
- ?finishChangeType@SkinnableClock@@QAEXABUEffectStatus@HbEffect@@@Z @ 19 NONAME ; void SkinnableClock::finishChangeType(struct HbEffect::EffectStatus const &)
- ?clockFormat24@SkinnableClock@@QAE_NXZ @ 20 NONAME ; bool SkinnableClock::clockFormat24(void)
-
--- a/clock/clockui/clockalarmeditor/clockalarmeditor.pro Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/clockalarmeditor.pro Fri May 14 15:51:09 2010 +0300
@@ -27,7 +27,8 @@
DEPENDPATH += \
./inc \
- ./src
+ ./src \
+ ./data
symbian: {
TARGET.CAPABILITY += ALL -TCB
@@ -43,13 +44,14 @@
SOURCES += \
clockalarmeditor.cpp \
- clockalarmcustomitem.cpp
+ clockalarmcustomitem.cpp
HEADERS += \
clockalarmeditor.h \
- clockalarmcustomitem.h\
- clockalarmeditordefines.h
+ clockalarmcustomitem.h \
+ clockalarmeditordefines.h
+
+RESOURCES += \
+ clockalarmeditor.qrc
-RESOURCES += \
- data/clockalarmeditor.qrc
# End of file --Don't remove this.
--- a/clock/clockui/clockalarmeditor/data/clockalarmeditor.qrc Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/data/clockalarmeditor.qrc Fri May 14 15:51:09 2010 +0300
@@ -2,5 +2,9 @@
<qresource prefix="/translations">
<file alias="clockalarmeditor" >translations/clockalarmeditor.qm</file>
</qresource>
+
+ <qresource prefix="/xml">
+ <file alias="clockalarmeditor.docml">xml/clockalarmeditor.docml</file>
+ </qresource>
-</RCC>
+</RCC>
\ No newline at end of file
Binary file clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.qm has changed
--- a/clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.ts Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.ts Fri May 14 15:51:09 2010 +0300
@@ -2,16 +2,6 @@
<!DOCTYPE TS>
<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
<context>
-<message numerus="no" id="txt_clock_setlabel_time_format">
- <comment>1st label in Regional date & time settings view</comment>
- <source>Time format</source>
- <translation variants="no">Time format</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_common_common_clock">
<comment>Title for Date and time settings view</comment>
<source>Clock</source>
@@ -22,36 +12,6 @@
<extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_cp_main_view_list_time_info_date_info">
- <comment>The time and date information will be displayed in 2nd row</comment>
- <source>%1, %2</source>
- <translation variants="no">%1, %2</translation>
- <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>
- <extra-loc-viewid>CP main view_time & date plugin_P11</extra-loc-viewid>
- <extra-loc-positionid>list</extra-loc-positionid>
- <extra-loc-feature>CP</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_digital">
- <comment>Setting item to clock display type. Tap to toggle values.</comment>
- <source>Digital</source>
- <translation variants="no">Digital</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_main_view_list_time_date">
- <comment>This text is displayed in 1st row</comment>
- <source>Time & date</source>
- <translation variants="no">Time & date</translation>
- <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>
- <extra-loc-viewid>CP main view_time & date plugin_P11</extra-loc-viewid>
- <extra-loc-positionid>list</extra-loc-positionid>
- <extra-loc-feature>CP</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_clock_note_alarm_occurs_every_week_on_1_at_2">
<comment>Note displayed after alarm is set (every week)</comment>
<source>Alarm occurs every week on %1 at %2</source>
@@ -62,6 +22,26 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_clk_formlabel_val_alarm">
+ <comment>Default value for Description label in Alarm editor view</comment>
+ <source>Alarm</source>
+ <translation variants="no">Alarm</translation>
+ <extra-loc-layout_id>qtl_dataform_description_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>formlabel_1_val</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clk_setlabel_occurence">
+ <comment>Label for Occurence in Alarm editor</comment>
+ <source>Occurence</source>
+ <translation variants="no">Occurence</translation>
+ <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_tumbler_title_alarm_time">
<comment>Title for the time picker tumbler widget </comment>
<source>Alarm time</source>
@@ -72,13 +52,13 @@
<extra-loc-feature>Tu</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_mm_dd_yyyy">
- <comment>2nd value in combo box list for Date format label</comment>
- <source>mm dd yyyy</source>
- <translation variants="no">mm dd yyyy</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
+<message numerus="no" id="txt_clock_opt_discard_changes">
+ <comment>When user edits an already existed alarm in Alarm editor form, he can "Discard changes" from Options menu and the prevoius values are saved.</comment>
+ <source>Discard changes</source>
+ <translation variants="no">Discard changes</translation>
+ <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>opt</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -92,26 +72,6 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_setlabel_date_format">
- <comment>3rd field in Regional date & time settings view</comment>
- <source>Date format</source>
- <translation variants="no">Date format</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_regional_date_time_settings">
- <comment>Tapping on this button opens advanced date and time view</comment>
- <source>Regional date & time settings</source>
- <translation variants="no">Regional date & time settings</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_clock_dpopinfo_alarm_will_occur_at_1_after_au">
<comment>Popup Information which comes after setting the alarm.</comment>
<source>Alarm will occur at %1 after automatic daylight saving update</source>
@@ -122,6 +82,36 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_clock_subhead_new_alarm">
+ <comment>When user taps on "New alarm" toolbar button in Clock main view, alarm editor opens with the subtitle "New alarm".</comment>
+ <source>New alarm</source>
+ <translation variants="no">New alarm</translation>
+ <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>subhead</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clock_subhead_alarm">
+ <comment>When user taps on already existed alarm in the alarm list, the alarm editor opens with subtitle "Alarm"</comment>
+ <source>Alarm</source>
+ <translation variants="no">Alarm</translation>
+ <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>subhead</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clk_setlabel_val_repeat_daily">
+ <comment>2nd dropdown list value for Occurence label in Alarm editor view</comment>
+ <source>Repeat daily</source>
+ <translation variants="no">Repeat daily</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_tumbler_title_time">
<comment></comment>
<source>Time</source>
@@ -132,36 +122,6 @@
<extra-loc-feature>Tu</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_subhead_regional_date_time_settings">
- <comment>Sub-title for Regiional date & time settings</comment>
- <source>Regional date & time settings</source>
- <translation variants="no">Regional date & time settings</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_place">
- <comment>5th label for Place in Clock settings view</comment>
- <source>Place</source>
- <translation variants="no">Place</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_24_hour">
- <comment>1st Value in combo box list for Time format label</comment>
- <source>24 hour</source>
- <translation variants="no">24 hour</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_common_setlabel_dst">
<comment></comment>
<source>DST</source>
@@ -172,6 +132,46 @@
<extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_clk_setlabel_time">
+ <comment>Label for Time in Alarm editor view</comment>
+ <source>Time</source>
+ <translation variants="no">Time</translation>
+ <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clk_setlabel_val_once">
+ <comment>1st dropdown list value for Occurence label in Alarm editor view</comment>
+ <source>Once</source>
+ <translation variants="no">Once</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clk_setlabel_alarm_sound">
+ <comment>Label for Alarm sound in Alarm editor view</comment>
+ <source>Alarm sound</source>
+ <translation variants="no">Alarm sound</translation>
+ <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clk_setlabel_val_monday">
+ <comment>1st dropdown list value for Day label in Alarm editor view</comment>
+ <source>Monday</source>
+ <translation variants="no">Monday</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_clock_dpopinfo_alarm_occurs_every_day_at_1">
<comment>Note displayed after alarm is set (Everyday Time)</comment>
<source>Alarm occurs every day at %1</source>
@@ -182,36 +182,43 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="yes" id="txt_clock_list_ln_minutes">
- <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>
- <source>%Ln minutes</source>
- <translation>
- <numerusform variants="no">(s)%Ln minutes</numerusform>
- <numerusform variants="no">(p)%Ln minutes</numerusform>
- </translation>
- <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>set</extra-loc-positionid>
+<message numerus="no" id="txt_clk_setlabel_val_thursday">
+ <comment>4th dropdown list value for Day label in Alarm editor view</comment>
+ <source>Thursday</source>
+ <translation variants="no">Thursday</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_button_analog">
- <comment>Setting item to clock display type. Tap to toggle values.</comment>
- <source>Analog</source>
- <translation variants="no">Analog</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
+<message numerus="no" id="txt_clk_setlabel_val_friday">
+ <comment>5th dropdown list value for Day label in Alarm editor view</comment>
+ <source>Friday</source>
+ <translation variants="no">Friday</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_5_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_setlabel_week_starts_on">
- <comment>6th field in Regional date & time settings view</comment>
- <source>Week starts on</source>
- <translation variants="no">Week starts on</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+<message numerus="no" id="txt_clk_setlabel_val_repeat_on_workdays">
+ <comment>4th dropdown list value for Occurence label in Alarm editor view</comment>
+ <source>Repeat on workdays</source>
+ <translation variants="no">Repeat on workdays</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clk_setlabel_val_sunday">
+ <comment>7th dropdown list value for Day label in Alarm editor view</comment>
+ <source>Sunday</source>
+ <translation variants="no">Sunday</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_7_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -225,13 +232,13 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_yyyy_mm_dd">
- <comment>3rd value in combo box list for Date format label</comment>
- <source>yyyy mm dd</source>
- <translation variants="no">yyyy mm dd</translation>
+<message numerus="no" id="txt_clk_setlabel_val_tuesday">
+ <comment>2nd dropdown list value for Day label in Alarm editor view</comment>
+ <source>Tuesday</source>
+ <translation variants="no">Tuesday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -285,73 +292,23 @@
<extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_use_network_date_time">
- <comment>1st label in Date and time settings view</comment>
- <source>Use network date & time</source>
- <translation variants="no">Use network date & time</translation>
- <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time_separator">
- <comment>Subtitle for the time seperator drop down list</comment>
- <source>Time separator</source>
- <translation variants="no">Time separator</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date_separator">
- <comment>Subtitle for the date seperator drop down list</comment>
- <source>Date separator</source>
- <translation variants="no">Date separator</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
+<message numerus="no" id="txt_clk_setlabel_day">
+ <comment>Label for Day in Alarm editor view</comment>
+ <source>Day</source>
+ <translation variants="no">Day</translation>
+ <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_1</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_setlabel_workdays">
- <comment>Label for Workdays in Alarm editor</comment>
- <source>Workdays</source>
- <translation variants="no">Workdays</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date">
- <comment>Label to the date field (picker) in the settings view</comment>
- <source>Date</source>
- <translation variants="no">Date</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time">
- <comment>Label to the time field (picker) in the settings view</comment>
- <source>Time</source>
- <translation variants="no">Time</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_12_hour">
- <comment>2nd value in combo box list for Time format label</comment>
- <source>12 hour</source>
- <translation variants="no">12 hour</translation>
+<message numerus="no" id="txt_clk_setlabel_val_repeat_weekly">
+ <comment>3rd dropdown list value for Occurence label in Alarm editor view</comment>
+ <source>Repeat weekly</source>
+ <translation variants="no">Repeat weekly</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -375,33 +332,43 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_setlabel_clock_type">
- <comment>Primary text label for Clock Type</comment>
- <source>Clock Type</source>
- <translation variants="no">Clock Type</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_5</extra-loc-positionid>
+<message numerus="no" id="txt_clock_opt_delete">
+ <comment>When user creates a new alarm in Alarm editor form, he can "Delete" this alarm via Options menu.</comment>
+ <source>Delete</source>
+ <translation variants="no">Delete</translation>
+ <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>opt</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_subhead_date_time">
- <comment>Sub-title for Date & time settings view</comment>
- <source>Date & time</source>
- <translation variants="no">Date & time</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
+<message numerus="no" id="txt_clk_setlabel_val_saturday">
+ <comment>6th dropdown list value for Day label in Alarm editor view</comment>
+ <source>Saturday</source>
+ <translation variants="no">Saturday</translation>
+ <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_6_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_dd_mm_yyyy">
- <comment>1st value in combo box list for Date format label</comment>
- <source>dd mm yyyy</source>
- <translation variants="no">dd mm yyyy</translation>
+<message numerus="no" id="txt_clk_setlabel_val_wednesday">
+ <comment>3rd dropdown list value for Day label in Alarm editor view</comment>
+ <source>Wednesday</source>
+ <translation variants="no">Wednesday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clk_formlabel_description">
+ <comment>Label for Description in Alarm editor view</comment>
+ <source>Description</source>
+ <translation variants="no">Description</translation>
+ <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-positionid>formlabel_1</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockalarmeditor/data/xml/clockalarmeditor.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="deleteAction" type="HbAction">
+ <string locid="txt_clock_opt_delete" name="text" value="Delete"/>
+ </object>
+ <object name="discardChanges" type="HbAction">
+ <string locid="txt_clock_opt_discard_changes" name="text" value="Discard changes"/>
+ </object>
+ <widget name="alarmEditorView" type="HbView">
+ <widget name="alarmEditorViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <bool name="collapsable" value="FALSE"/>
+ <string name="heading" value="Group Box"/>
+ </widget>
+ <widget name="alarmEditorForm" type="HbDataForm"/>
+ <real name="z" value="0"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="subtitleGroupBox"/>
+ <linearitem itemname="alarmEditorForm"/>
+ </layout>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <ref object="deleteAction" role="HbMenu:addAction"/>
+ <ref object="discardChanges" role="HbMenu:addAction"/>
+ </widget>
+ <string locid="txt_common_common_clock" name="title" value="Clock"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- a/clock/clockui/clockalarmeditor/inc/clockalarmeditor.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/inc/clockalarmeditor.h Fri May 14 15:51:09 2010 +0300
@@ -43,13 +43,15 @@
class ClockAlarmCustomItem;
class QTranslator;
-class ClockAlarmEditor : public HbView
+class ClockAlarmEditor : public QObject
{
Q_OBJECT
public:
CLOCKALARMEDITOR_EXPORT ClockAlarmEditor(
- int alarmId = 0, QGraphicsWidget *parent = 0);
+ AlarmClient& alarmClient,
+ int alarmId = 0,
+ QObject *parent = 0);
CLOCKALARMEDITOR_EXPORT virtual ~ClockAlarmEditor();
public:
@@ -61,10 +63,10 @@
void handleDiscardAction();
void handleTimeChange(const QString &text);
void handleOccurenceChanged(int index);
- void handleCancelAction();
void handleOkAction();
void launchTimePicker();
- void handleAlarmSoundChanged();
+ void handleAlarmSoundChanged(int checkedState);
+ void selectedAction(HbAction *action);
signals:
void alarmSet();
@@ -73,7 +75,6 @@
void initModel();
void populateModelItems();
void initAlarmInfo();
- void createMenu();
void createToolbar();
void setAlarm(
QString timeInfo, QString descInfo, int repeatType,
@@ -85,9 +86,12 @@
void displayRemainingTimeNote(AlarmInfo& alarmInfo);
void getDayText(int alarmDay,QString& dayText);
int getRemainingSeconds(QDateTime& alarmDateTime);
+ void launchDialog(QString title, QString text = 0);
+ void sortAlarmDaysList(QStringList& alarmDays);
private:
int mAlarmId;
+ int mStartOfWeek;
bool mAlarmDayItemInserted;
QString mTimeFormat;
@@ -99,7 +103,7 @@
HbDataFormModelItem *mAlarmSoundItem;
HbDataFormModelItem *mAlarmDescription;
- HbView *mPreviousView;
+ HbView *mAlarmEditorView;
HbAction *mDiscardAction;
HbAction *mDeleteAction;
HbAction *mDoneAction;
@@ -111,7 +115,7 @@
XQSettingsManager *mSettingsManager;
XQSettingsKey *mPreviosAlarmTime;
- AlarmClient *mAlarmClient;
+ AlarmClient &mAlarmClient;
AlarmInfo mAlarmInfo;
TimezoneClient *mTimezoneClient;
QTranslator *mTranslator;
--- a/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp Fri May 14 15:51:09 2010 +0300
@@ -17,7 +17,6 @@
// System includes
#include <QDateTime>
-
#include <HbDataForm>
#include <HbDataFormModel>
#include <HbDataFormModelItem>
@@ -25,14 +24,14 @@
#include <HbInstance>
#include <HbAction>
#include <HbMenu>
-#include <HbToolBar>
-#include <HbLineEdit>
#include <HbLabel>
-#include <HbComboBox>
-#include <HbPushButton>
#include <HbNotificationDialog>
#include <HbDialog>
#include <HbDateTimePicker>
+#include <HbCheckBox>
+#include <HbExtendedLocale>
+#include <HbGroupBox>
+#include <HbDocumentLoader>
#include <HbApplication>
#include <xqsettingsmanager.h>
#include <xqsettingskey.h>
@@ -52,6 +51,7 @@
const int KOneMinute(1);
const int KOneHour(1);
const int KSecondsInOneDay(24 * 60 * 60);
+const int KDaysInWeek(7);
/*!
\class ClockAlarmEditor
@@ -68,9 +68,12 @@
edit.
\param parent The parent object.
*/
-ClockAlarmEditor::ClockAlarmEditor(int alarmId, QGraphicsWidget *parent)
-:HbView(parent),
+ClockAlarmEditor::ClockAlarmEditor(
+ AlarmClient &alarmClient, int alarmId,
+ QObject *parent)
+:QObject(parent),
mAlarmId(alarmId),
+ mStartOfWeek(0),
mAlarmDayItemInserted(false),
mAlarmEditorForm(0),
mAlarmEditorModel(0),
@@ -79,9 +82,8 @@
mAlarmDayItem(0),
mAlarmSoundItem(0),
mAlarmDescription(0),
- mAlarmClient(0)
- {
-
+ mAlarmClient(alarmClient)
+{
// Load the translation file and install the alarmeditor specific translator
mTranslator = new QTranslator;
//QString lang = QLocale::system().name();
@@ -91,27 +93,8 @@
//bool loaded = mTranslator->load("caleneditor_" + lang, path);
HbApplication::instance()->installTranslator(mTranslator);
- // Create the Alarm Editor DataForm.
- mAlarmEditorForm = new HbDataForm(this);
-
- // Set the title text of the Clock Alarm Editor view.
- setTitle(hbTrId("txt_common_common_clock"));
-
- // Create the alarm client object.
- mAlarmClient = new AlarmClient(this);
-
- // Set the heading of the Alarm Editor DataForm.
- if (mAlarmId && mAlarmClient) {
- mAlarmEditorForm->setHeading(
- hbTrId("txt_clock_subhead_alarm"));
- }
- else
- {
- mAlarmEditorForm->setHeading(hbTrId("txt_clock_subhead_new_alarm"));
- }
-
// create the timezone client object
- mTimezoneClient = new TimezoneClient(this);
+ mTimezoneClient = TimezoneClient::getInstance();
// Create the settings manager.
mSettingsManager = new XQSettingsManager(this);
@@ -125,30 +108,67 @@
SettingsUtility *settingsUtil = new SettingsUtility(this);
mTimeFormat = settingsUtil->timeFormatString();
+ // Get start of week from the locale.
+ HbExtendedLocale locale = HbExtendedLocale::system();
+ mStartOfWeek = locale.startOfWeek();
+
+ // Create the HbDocumentLoader object.
+ HbDocumentLoader *loader = new HbDocumentLoader();
+ bool success;
+ loader->load(":/xml/clockalarmeditor.docml", &success);
+
+ mAlarmEditorView = qobject_cast<HbView *>(
+ loader->findWidget("alarmEditorView"));
+
+ // Get the subtitle groupBox.
+ HbGroupBox *subtitleGroupBox = qobject_cast<HbGroupBox *>(
+ loader->findWidget("subtitleGroupBox"));
+
+ // Set the heading of the subtitle groupBox.
+ if (mAlarmId) {
+ subtitleGroupBox->setHeading(hbTrId("txt_clock_subhead_alarm"));
+ } else {
+ subtitleGroupBox->setHeading(hbTrId("txt_clock_subhead_new_alarm"));
+ }
+
+ // Get the Alarm Editor DataForm.
+ mAlarmEditorForm = qobject_cast<HbDataForm *> (
+ loader->findWidget("alarmEditorForm"));
+
+
// Create the alarm info structure with desired values.
initAlarmInfo();
// Creates & initializes the DataFormModel for the AlarmEditor DataForm.
initModel();
-
+
QList <HbAbstractViewItem*> prototypes = mAlarmEditorForm->itemPrototypes();
ClockAlarmCustomItem *customItem =
new ClockAlarmCustomItem(mAlarmEditorForm);
prototypes.append(customItem);
mAlarmEditorForm->setItemPrototypes(prototypes);
- // Create the menu.
- createMenu();
+ // Get the menu items for the alarm editor.
+ mDeleteAction = qobject_cast<HbAction *> (
+ loader->findObject("deleteAction"));
+ mDiscardAction = qobject_cast<HbAction *>(
+ loader->findObject("discardChanges"));
+
+ // Connect the signals for the menu item.
+ connect(
+ mDeleteAction, SIGNAL(triggered()),
+ this, SLOT(handleDeleteAction()));
+ connect(
+ mDiscardAction, SIGNAL(triggered()),
+ this, SLOT(handleDiscardAction()));
// Add the done soft key action.
- mDoneAction = new HbAction(Hb::DoneAction);
+ mDoneAction = new HbAction(Hb::DoneNaviAction);
connect(
mDoneAction, SIGNAL(triggered()),
this, SLOT(handleDoneAction()));
- setNavigationAction(mDoneAction);
+ mAlarmEditorView->setNavigationAction(mDoneAction);
- // Sets the AlarmEditor DataForm to the Clock AlarmEditor view.
- setWidget(mAlarmEditorForm);
}
/*!
@@ -156,13 +176,8 @@
*/
ClockAlarmEditor::~ClockAlarmEditor()
{
- if (mAlarmClient) {
- delete mAlarmClient;
- mAlarmClient = 0;
- }
- if(mTimezoneClient) {
- delete mTimezoneClient;
- mTimezoneClient = 0;
+ if(!mTimezoneClient->isNull()) {
+ mTimezoneClient->deleteInstance();
}
// Remove the translator
HbApplication::instance()->removeTranslator(mTranslator);
@@ -180,9 +195,8 @@
{
// Store the current view and set alarm editor as current view.
HbMainWindow *window = hbInstance->allMainWindows().first();
- mPreviousView = window->currentView();
- window->addView(this);
- window->setCurrentView(this);
+ window->addView(mAlarmEditorView);
+ window->setCurrentView(mAlarmEditorView);
}
/*!
@@ -193,6 +207,10 @@
int alarmDayIndex = -1;
if (mAlarmDayItemInserted) {
alarmDayIndex = mAlarmDayItem->contentWidgetData("currentIndex").toInt();
+ alarmDayIndex += mStartOfWeek;
+ if(alarmDayIndex >= KDaysInWeek){
+ alarmDayIndex -= KDaysInWeek;
+ }
}
setAlarm(
@@ -229,24 +247,20 @@
// Reset alarm day item.
if (mAlarmDayItemInserted) {
+ int currentIndex = mAlarmInfo.alarmDateTime.dayOfWeek() - 1;
+ currentIndex -= mStartOfWeek;
+ if(0 > currentIndex){
+ currentIndex += KDaysInWeek;
+ }
mAlarmDayItem->setContentWidgetData(
- "currentIndex",
- mAlarmInfo.alarmDateTime.dayOfWeek() - 1);
+ "currentIndex",currentIndex);
}
// Reset for alarm sound.
- QStringList alarmSoundOptions;
- alarmSoundOptions << tr("On")
- << tr("Off");
-
if (AlarmVolumeOn == mAlarmInfo.volumeStatus) {
- mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[0]);
- mAlarmSoundItem->setContentWidgetData(
- "additionalText", alarmSoundOptions[1]);
+ mAlarmSoundItem->setContentWidgetData("checkState", Qt::Checked);
} else {
- mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[1]);
- mAlarmSoundItem->setContentWidgetData(
- "additionalText", alarmSoundOptions[0]);
+ mAlarmSoundItem->setContentWidgetData("checkState", Qt::Unchecked);
}
mAlarmDescription->setContentWidgetData("text", mAlarmInfo.alarmDesc);
@@ -280,6 +294,11 @@
alarmDayIndex = 0;
}
if (mAlarmDayItemInserted) {
+ alarmDayIndex -= mStartOfWeek;
+
+ if(0 > alarmDayIndex){
+ alarmDayIndex += KDaysInWeek;
+ }
mAlarmDayItem->setContentWidgetData(
"currentIndex",
alarmDayIndex);
@@ -320,15 +339,14 @@
QString(hbTrId("txt_clock_formlabel_day")),
mAlarmEditorModel->invisibleRootItem());
+ // Add the alarm days beginning from the start of week.
QStringList alarmDays;
- alarmDays << hbTrId("txt_clk_setlabel_val_monday")
- << hbTrId("txt_clk_setlabel_val_tuesday")
- << hbTrId("txt_clk_setlabel_val_wednesday")
- << hbTrId("txt_clk_setlabel_val_thursday")
- << hbTrId("txt_clk_setlabel_val_friday")
- << hbTrId("txt_clk_setlabel_val_saturday")
- << hbTrId("txt_clk_setlabel_val_sunday");
+ sortAlarmDaysList(alarmDays);
+ alarmDayIndex -= mStartOfWeek;
+ if(0 > alarmDayIndex){
+ alarmDayIndex += KDaysInWeek;
+ }
mAlarmDayItem->setContentWidgetData("items", alarmDays);
mAlarmDayItem->setContentWidgetData(
"currentIndex",
@@ -351,16 +369,6 @@
}
/*!
- Called when `Cancel' is pressed on the Dialog.
- */
-void ClockAlarmEditor::handleCancelAction()
-{
- // Close the dialog.
- mTimePickerDialog->close();
- mTimePickerDialog->deleteLater();
-}
-
-/*!
Called when `OK' is pressed on the Dialog.
*/
void ClockAlarmEditor::handleOkAction()
@@ -372,9 +380,6 @@
// Update the selected time value.
mAlarmTimeItem->setContentWidgetData("text",newAlarmTime.toString(mTimeFormat));
- // Close the dialog.
- handleCancelAction();
-
if (mAlarmInfo.nextDueTime != newAlarmTime ) {
handleTimeChange(newAlarmTime.toString(mTimeFormat));
}
@@ -385,65 +390,57 @@
*/
void ClockAlarmEditor::launchTimePicker()
{
-
+ if (mTimePickerDialog) {
+ delete mTimePickerDialog;
+ }
- if (mTimePickerDialog) {
- delete mTimePickerDialog;
- }
-
- // Create the dialog.
- mTimePickerDialog = new HbDialog;
- mTimePickerDialog->setTimeout(HbDialog::NoTimeout);
- mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
+ // Create the dialog.
+ mTimePickerDialog = new HbDialog;
+ mTimePickerDialog->setTimeout(HbDialog::NoTimeout);
+ mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
- // Set the heading for the dialog.
- HbLabel * timeLabel =
- new HbLabel(hbTrId("txt_tumbler_title_alarm_time"),
- mTimePickerDialog);
- mTimePickerDialog->setHeadingWidget(timeLabel);
+ // Set the heading for the dialog.
+ HbLabel * timeLabel =
+ new HbLabel(hbTrId("txt_tumbler_title_alarm_time"),
+ mTimePickerDialog);
+ mTimePickerDialog->setHeadingWidget(timeLabel);
- SettingsUtility *settingsUtil = new SettingsUtility(this);
- QStringList timeSeparator;
- int index = settingsUtil->timeFormat(timeSeparator);
- QString tumblerDisplayFormat =
- mTimeFormat.replace(timeSeparator.at(index), QString("."));
+ SettingsUtility *settingsUtil = new SettingsUtility(this);
+ QStringList timeSeparator;
+ int index = settingsUtil->timeFormat(timeSeparator);
+ QString tumblerDisplayFormat =
+ mTimeFormat.replace(timeSeparator.at(index), QString("."));
- // Create the tumbler.
- HbDateTimePicker *timePicker = new HbDateTimePicker(mTimePickerDialog);
- timePicker->setDisplayFormat(tumblerDisplayFormat);
- // Set the tumbler as the content widget.
- mTimePickerDialog->setContentWidget(timePicker);
-
- QString timeString = mAlarmTimeItem->contentWidgetData("text").toString();
- QTime time = QTime::fromString(timeString, mTimeFormat);
- timePicker->setTime(time);
+ // Create the tumbler.
+ HbDateTimePicker *timePicker = new HbDateTimePicker(mTimePickerDialog);
+ timePicker->setDisplayFormat(tumblerDisplayFormat);
+
+ mTimePickerDialog->setContentWidget(timePicker);
+
+ QString timeString = mAlarmTimeItem->contentWidgetData("text").toString();
+ QTime time = QTime::fromString(timeString, mTimeFormat);
+ timePicker->setTime(time);
- mOkAction =
- new HbAction(QString(hbTrId("txt_common_button_ok")),
- mTimePickerDialog);
- mTimePickerDialog->setPrimaryAction(mOkAction);
- connect(
- mOkAction, SIGNAL(triggered()),
- this, SLOT(handleOkAction()));
+ mOkAction =
+ new HbAction(QString(hbTrId("txt_common_button_ok")),
+ mTimePickerDialog);
- mCancelAction =
- new HbAction(QString(hbTrId("txt_common_button_cancel")),
- mTimePickerDialog);
- mTimePickerDialog->setSecondaryAction( mCancelAction );
- connect(
- mCancelAction, SIGNAL(triggered()),
- this, SLOT(handleCancelAction()));
+ mCancelAction =
+ new HbAction(QString(hbTrId("txt_common_button_cancel")),
+ mTimePickerDialog);
- mTimePickerDialog->exec();
+ mTimePickerDialog->addAction(mOkAction);
+ mTimePickerDialog->addAction(mCancelAction);
-
+ mTimePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
}
/*!
Handles the alarm sound change.
*/
-void ClockAlarmEditor::handleAlarmSoundChanged()
+void ClockAlarmEditor::handleAlarmSoundChanged(int checkedState)
{
+ Q_UNUSED(checkedState)
if (AlarmVolumeOff == mAlarmInfo.volumeStatus) {
mAlarmInfo.volumeStatus = AlarmVolumeOn;
} else {
@@ -452,6 +449,16 @@
}
/*!
+ Slot to handle the selected action
+ */
+void ClockAlarmEditor::selectedAction(HbAction *action)
+{
+ if (action == mOkAction) {
+ handleOkAction();
+ }
+}
+
+/*!
Initialises the Model & sets for the AlarmEditorForm.
*/
void ClockAlarmEditor::initModel()
@@ -517,19 +524,18 @@
QString(hbTrId("txt_clk_setlabel_day")),
mAlarmEditorModel->invisibleRootItem());
+ // Add the alarm days beginning from the start of week.
QStringList alarmDays;
- alarmDays << hbTrId("txt_clk_setlabel_val_monday")
- << hbTrId("txt_clk_setlabel_val_tuesday")
- << hbTrId("txt_clk_setlabel_val_wednesday")
- << hbTrId("txt_clk_setlabel_val_thursday")
- << hbTrId("txt_clk_setlabel_val_friday")
- << hbTrId("txt_clk_setlabel_val_saturday")
- << hbTrId("txt_clk_setlabel_val_sunday");
+ sortAlarmDaysList(alarmDays);
+ int currentIndex = mAlarmInfo.alarmDateTime.dayOfWeek() - 1;
+ currentIndex -= mStartOfWeek;
+ if(0 > currentIndex){
+ currentIndex += KDaysInWeek;
+ }
mAlarmDayItem->setContentWidgetData("items", alarmDays);
mAlarmDayItem->setContentWidgetData(
- "currentIndex",
- mAlarmInfo.alarmDateTime.dayOfWeek() - 1);
+ "currentIndex",currentIndex);
mAlarmDayItemInserted = true;
}/* else { TODO: check and remove this else block.
@@ -543,23 +549,21 @@
// Alarm sound.
mAlarmSoundItem = mAlarmEditorModel->appendDataFormItem(
- HbDataFormModelItem::ToggleValueItem,
- QString(hbTrId("txt_clk_setlabel_alarm_sound")),
+ HbDataFormModelItem::CheckBoxItem,
+ QString(hbTrId("")),
mAlarmEditorModel->invisibleRootItem());
- QStringList alarmSoundOptions;
- alarmSoundOptions << tr("On")
- << tr("Off");
+
+ mAlarmSoundItem->setContentWidgetData(
+ "text", QString(hbTrId("txt_clk_setlabel_alarm_sound")));
if (AlarmVolumeOn == mAlarmInfo.volumeStatus) {
- mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[0]);
- mAlarmSoundItem->setContentWidgetData(
- "additionalText", alarmSoundOptions[1]);
- } else {
- mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[1]);
- mAlarmSoundItem->setContentWidgetData(
- "additionalText", alarmSoundOptions[0]);
+ mAlarmSoundItem->setContentWidgetData("checkState",Qt::Checked);
}
+ mAlarmEditorForm->addConnection(
+ mAlarmSoundItem, SIGNAL(stateChanged(int)),
+ this,SLOT(handleAlarmSoundChanged(int)));
+
// Description.
mAlarmDescription = mAlarmEditorModel->appendDataFormItem(
HbDataFormModelItem::TextItem,
@@ -592,36 +596,20 @@
mAlarmInfo.alarmDateTime = mAlarmInfo.alarmDateTime.addDays(1);
}
- // Set the alarm volume on by default.
- mAlarmInfo.volumeStatus = AlarmVolumeOn;
+ if (!mAlarmId) {
+ // Set the alarm volume On by default for new alarms..
+ mAlarmInfo.volumeStatus = AlarmVolumeOn;
+ }
// If editor state is a reset alarm, then its an already existing alarm
// get the alarm details and fill it in mAlarmInfo.
- if (mAlarmId && mAlarmClient) {
- mAlarmClient->getAlarmInfo(mAlarmId, mAlarmInfo);
- mAlarmClient->deleteAlarm(mAlarmId);
+ if (mAlarmId) {
+ mAlarmClient.getAlarmInfo(mAlarmId, mAlarmInfo);
+ mAlarmClient.deleteAlarm(mAlarmId);
}
}
/*!
- Creates menu items.
- */
-void ClockAlarmEditor::createMenu()
-{
- // Set the menu for the alarm editor.
- mDeleteAction = menu()->addAction(hbTrId("txt_clock_opt_delete"));
- mDiscardAction = menu()->addAction(hbTrId("txt_clock_opt_discard_changes"));
-
- // Connect the signals for the menu item.
- connect(
- mDeleteAction, SIGNAL(triggered()),
- this, SLOT(handleDeleteAction()));
- connect(
- mDiscardAction, SIGNAL(triggered()),
- this, SLOT(handleDiscardAction()));
-}
-
-/*!
Sets the alarm to the alarm server.
*/
void ClockAlarmEditor::setAlarm(
@@ -653,7 +641,7 @@
alarmInfo.volumeStatus = mAlarmInfo.volumeStatus;
// Request the listener to set the alarm.
- mAlarmClient->setAlarm(alarmInfo);
+ mAlarmClient.setAlarm(alarmInfo);
// Check if DST rule gets applied in 24hrs.
// If so we don't display the remaining time.
@@ -715,9 +703,8 @@
{
// Remove the alarm editor.
HbMainWindow *window = hbInstance->allMainWindows().first();
-
- window->removeView(this);
- window->setCurrentView(mPreviousView);
+ window->removeView(mAlarmEditorView);
+ deleteLater();
}
/*!
@@ -733,7 +720,7 @@
hbTrId("txt_clock_dpopinfo_alarm_will_occur_at_1_after_au");
QString displayText = dstRollOverText.arg(alarmTime);
// show the note
- HbNotificationDialog::launchDialog(displayText);
+ launchDialog(displayText);
}
/*!
@@ -797,7 +784,6 @@
break;
}
if (Enabled == alarmInfo.alarmStatus && !(displayText.isEmpty())) {
- //HbNotificationDialog::launchDialog(displayText);
showDisplayText = true;
}
@@ -870,17 +856,16 @@
&& !(remainingTimeText.isEmpty())) {
if (!(displayText.isEmpty()) ) {
- HbNotificationDialog::launchDialog(
- displayText, remainingTimeText);
+ launchDialog(displayText, remainingTimeText);
showDisplayText = false;
}
else {
- HbNotificationDialog::launchDialog(remainingTimeText);
+ launchDialog(remainingTimeText);
}
}
}
if (showDisplayText) {
- HbNotificationDialog::launchDialog(displayText);
+ launchDialog(displayText);
}
}
@@ -941,4 +926,35 @@
return remainingSeconds;
}
+/*!
+ Launches the soft notification.
+ */
+void ClockAlarmEditor::launchDialog(QString title, QString text)
+{
+ HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+ notificationDialog->setTitle(title);
+
+ if (!text.isNull()) {
+ notificationDialog->setText(text);
+ }
+
+ notificationDialog->setTimeout(HbPopup::ConfirmationNoteTimeout);
+ notificationDialog->show();
+}
+
+/*!
+ Sorts and appends alarm days on the basis of start of week.
+ */
+void ClockAlarmEditor::sortAlarmDaysList(QStringList& alarmDaysList)
+
+{
+ for(int index=(mStartOfWeek + 1),j=KDaysInWeek;j!=0 ;index++,j--){
+ if(index > KDaysInWeek){
+ index = index - KDaysInWeek;
+ }
+ QString alarmDayText;
+ getDayText(index, alarmDayText );
+ alarmDaysList.append(alarmDayText);
+ }
+}
// End of file --Don't remove this.
--- a/clock/clockui/clockappcontroller/src/clockappcontroller.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockappcontroller/src/clockappcontroller.cpp Fri May 14 15:51:09 2010 +0300
@@ -15,9 +15,6 @@
*
*/
-// System includes
-#include <QDebug>
-
// User includes
#include "clockappcontroller.h"
#include "clockappcontrollerifimpl.h"
@@ -38,8 +35,6 @@
mViewManager(0),
mIfImpl(0)
{
- qDebug() << "clock: ClockAppController::ClockAppController -->";
-
// Construct the interface implementation.
mIfImpl = new ClockAppControllerIfImpl(this, this);
@@ -48,8 +43,6 @@
Q_ASSERT_X(
mViewManager, "clockappcontroller.cpp",
"ClockViewManager is 0");
-
- qDebug() << "clock: ClockAppController::ClockAppController <--";
}
/*!
@@ -57,8 +50,6 @@
*/
ClockAppController::~ClockAppController()
{
- qDebug() << "clock: ClockAppController::~ClockAppController -->";
-
if (mViewManager) {
delete mViewManager;
mViewManager = 0;
@@ -67,8 +58,6 @@
delete mIfImpl;
mIfImpl = 0;
}
-
- qDebug() << "clock: ClockAppController::~ClockAppController <--";
}
// End of file --Don't remove this.
--- a/clock/clockui/clockappcontroller/src/clockappcontrollerifimpl.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockappcontroller/src/clockappcontrollerifimpl.cpp Fri May 14 15:51:09 2010 +0300
@@ -16,9 +16,6 @@
*
*/
-// System includes
-#include <QDebug>
-
// User includes
#include "clockappcontrollerifimpl.h"
#include "clockappcontroller.h"
@@ -46,16 +43,12 @@
:QObject(parent),
mAppController(controller)
{
- qDebug() << "clock: ClockAppControllerIfImpl::ClockAppControllerIfImpl -->";
-
// Construct the timezone client.
- mTimeZoneClient = new TimezoneClient(this);
+ mTimeZoneClient = TimezoneClient::getInstance();
// Construct the settings utility object.
mSettingsUtility = new SettingsUtility(this);
// Construct the alarm client object.
mAlarmClient = new AlarmClient(this);
-
- qDebug() << "clock: ClockAppControllerIfImpl::ClockAppControllerIfImpl <--";
}
/*!
@@ -63,11 +56,8 @@
*/
ClockAppControllerIfImpl::~ClockAppControllerIfImpl()
{
- qDebug() << "clock: ClockAppControllerIfImpl::~ClockAppControllerIfImpl -->";
-
- if (mTimeZoneClient) {
- delete mTimeZoneClient;
- mTimeZoneClient = 0;
+ if (!mTimeZoneClient->isNull()) {
+ mTimeZoneClient->deleteInstance();
}
if (mSettingsUtility) {
delete mSettingsUtility;
@@ -77,8 +67,6 @@
delete mAlarmClient;
mAlarmClient = 0;
}
-
- qDebug() << "clock: ClockAppControllerIfImpl::~ClockAppControllerIfImpl <--";
}
@@ -91,10 +79,6 @@
*/
TimezoneClient* ClockAppControllerIfImpl::timezoneClient()
{
- qDebug() << "clock: ClockAppControllerIfImpl::timezoneClient -->";
-
- qDebug() << "clock: ClockAppControllerIfImpl::timezoneClient <--";
-
return mTimeZoneClient;
}
@@ -107,10 +91,6 @@
*/
SettingsUtility* ClockAppControllerIfImpl::settingsUtility()
{
- qDebug() << "clock: ClockAppControllerIfImpl::settingsUtility -->";
-
- qDebug() << "clock: ClockAppControllerIfImpl::settingsUtility <--";
-
return mSettingsUtility;
}
@@ -123,10 +103,6 @@
*/
AlarmClient* ClockAppControllerIfImpl::alarmClient()
{
- qDebug() << "clock: ClockAppControllerIfImpl::alarmClient -->";
-
- qDebug() << "clock: ClockAppControllerIfImpl::alarmClient <--";
-
return mAlarmClient;
}
@@ -139,11 +115,7 @@
*/
void ClockAppControllerIfImpl::switchToView(ClockViews viewId)
{
- qDebug() << "clock: ClockAppControllerIfImpl::switchToView -->";
-
mAppController->mViewManager->showView(viewId);
-
- qDebug() << "clock: ClockAppControllerIfImpl::switchToView <--";
}
// End of file --Don't remove this.
--- a/clock/clockui/clockapplication/src/main.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockapplication/src/main.cpp Fri May 14 15:51:09 2010 +0300
@@ -32,8 +32,6 @@
*/
int main(int argc, char *argv[])
{
- qDebug("clock: main() -->");
-
// Initialization
HbApplication app(argc, argv);
@@ -56,8 +54,6 @@
// Show widget
window.show();
- qDebug("clock: main() <--");
-
// Enter event loop
return app.exec();
}
Binary file clock/clockui/clockcityselectionlist/data/translations/clockcityselectionlist.qm has changed
--- a/clock/clockui/clockcityselectionlist/data/translations/clockcityselectionlist.ts Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/data/translations/clockcityselectionlist.ts Fri May 14 15:51:09 2010 +0300
@@ -2,16 +2,6 @@
<!DOCTYPE TS>
<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
<context>
-<message numerus="no" id="txt_clock_setlabel_time_format">
- <comment>1st label in Regional date & time settings view</comment>
- <source>Time format</source>
- <translation variants="no">Time format</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_common_common_clock">
<comment>Title for Date and time settings view</comment>
<source>Clock</source>
@@ -22,143 +12,23 @@
<extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_cp_main_view_list_time_info_date_info">
- <comment>The time and date information will be displayed in 2nd row</comment>
- <source>%1, %2</source>
- <translation variants="no">%1, %2</translation>
- <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>
- <extra-loc-viewid>CP main view_time & date plugin_P11</extra-loc-viewid>
- <extra-loc-positionid>list</extra-loc-positionid>
- <extra-loc-feature>CP</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_digital">
- <comment>Setting item to clock display type. Tap to toggle values.</comment>
- <source>Digital</source>
- <translation variants="no">Digital</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_main_view_list_time_date">
- <comment>This text is displayed in 1st row</comment>
- <source>Time & date</source>
- <translation variants="no">Time & date</translation>
- <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>
- <extra-loc-viewid>CP main view_time & date plugin_P11</extra-loc-viewid>
- <extra-loc-positionid>list</extra-loc-positionid>
- <extra-loc-feature>CP</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_every_week_on_1_at_2">
- <comment>Note displayed after alarm is set (every week)</comment>
- <source>Alarm occurs every week on %1 at %2</source>
- <translation variants="no">Alarm occurs every week on %1 at %2</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_alarm_time">
- <comment>Title for the time picker tumbler widget </comment>
- <source>Alarm time</source>
- <translation variants="no">Alarm time</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_mm_dd_yyyy">
- <comment>2nd value in combo box list for Date format label</comment>
- <source>mm dd yyyy</source>
- <translation variants="no">mm dd yyyy</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_min">
- <comment>Note displayed after alarm is set (time remaining) (hrs, min)</comment>
- <source>Time to alarm %1 hours and %2 minute</source>
- <translation variants="no">Time to alarm %1 hours and %2 minute</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date_format">
- <comment>3rd field in Regional date & time settings view</comment>
- <source>Date format</source>
- <translation variants="no">Date format</translation>
+<message numerus="no" id="txt_clock_formlabel_city_name">
+ <comment>Form label for city name in add own city (popup) data entry form</comment>
+ <source>City name</source>
+ <translation variants="no">City name</translation>
<extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_regional_date_time_settings">
- <comment>Tapping on this button opens advanced date and time view</comment>
- <source>Regional date & time settings</source>
- <translation variants="no">Regional date & time settings</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_alarm_will_occur_at_1_after_au">
- <comment>Popup Information which comes after setting the alarm.</comment>
- <source>Alarm will occur at %1 after automatic daylight saving update</source>
- <translation variants="no">Alarm will occur at %1 after automatic daylight saving update</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_time">
- <comment></comment>
- <source>Time</source>
- <translation variants="no">Time</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_regional_date_time_settings">
- <comment>Sub-title for Regiional date & time settings</comment>
- <source>Regional date & time settings</source>
- <translation variants="no">Regional date & time settings</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_place">
- <comment>5th label for Place in Clock settings view</comment>
- <source>Place</source>
- <translation variants="no">Place</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
<extra-loc-positionid>formlabel_1</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_24_hour">
- <comment>1st Value in combo box list for Time format label</comment>
- <source>24 hour</source>
- <translation variants="no">24 hour</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
+<message numerus="no" id="txt_clock_formlabel_timezone">
+ <comment>Form label for timezone in add own city (popup) data entry form</comment>
+ <source>Timezone</source>
+ <translation variants="no">Timezone</translation>
+ <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
+ <extra-loc-positionid>formlabel_1</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -182,129 +52,16 @@
<extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_dpopinfo_alarm_occurs_every_day_at_1">
- <comment>Note displayed after alarm is set (Everyday Time)</comment>
- <source>Alarm occurs every day at %1</source>
- <translation variants="no">Alarm occurs every day at %1</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_clock_list_ln_minutes">
- <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>
- <source>%Ln minutes</source>
- <translation>
- <numerusform variants="no">(s)%Ln minutes</numerusform>
- <numerusform variants="no">(p)%Ln minutes</numerusform>
- </translation>
- <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>set</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_analog">
- <comment>Setting item to clock display type. Tap to toggle values.</comment>
- <source>Analog</source>
- <translation variants="no">Analog</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_week_starts_on">
- <comment>6th field in Regional date & time settings view</comment>
- <source>Week starts on</source>
- <translation variants="no">Week starts on</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_min">
- <comment>Note displayed after alarm is set (time remaining)</comment>
- <source>Time to alarm %1 hour and %2 minute</source>
- <translation variants="no">Time to alarm %1 hour and %2 minute</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_yyyy_mm_dd">
- <comment>3rd value in combo box list for Date format label</comment>
- <source>yyyy mm dd</source>
- <translation variants="no">yyyy mm dd</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
+<message numerus="no" id="txt_clock_subhead_city_list">
+ <comment>Subtitle for City list</comment>
+ <source>City list</source>
+ <translation variants="no">City list</translation>
+ <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
+ <extra-loc-positionid>subhead</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_once_only_on_next_1_a">
- <comment>Note displayed after alarm is set (only once)</comment>
- <source>Alarm occurs once only on next %1 at %2</source>
- <translation variants="no">Alarm occurs once only on next %1 at %2</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_mins">
- <comment>Note displayed after alarm is set (time remaining) (hr, mins)</comment>
- <source>Time to alarm %1 hour and %2 minutes</source>
- <translation variants="no">Time to alarm %1 hour and %2 minutes</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_city_name">
- <comment>Form label for city name in add own city (popup) data entry form</comment>
- <source>City name</source>
- <translation variants="no">City name</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_alarm_date">
- <comment>Title for the date picker tumbler widget </comment>
- <source>Alarm date</source>
- <translation variants="no">Alarm date</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_timezone">
- <comment>Form label for timezone in add own city (popup) data entry form</comment>
- <source>Timezone</source>
- <translation variants="no">Timezone</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_date">
- <comment></comment>
- <source>Date</source>
- <translation variants="no">Date</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_common_common_gmt">
<comment></comment>
<source>GMT</source>
@@ -325,135 +82,5 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_use_network_date_time">
- <comment>1st label in Date and time settings view</comment>
- <source>Use network date & time</source>
- <translation variants="no">Use network date & time</translation>
- <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time_separator">
- <comment>Subtitle for the time seperator drop down list</comment>
- <source>Time separator</source>
- <translation variants="no">Time separator</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date_separator">
- <comment>Subtitle for the date seperator drop down list</comment>
- <source>Date separator</source>
- <translation variants="no">Date separator</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_workdays">
- <comment>Label for Workdays in Alarm editor</comment>
- <source>Workdays</source>
- <translation variants="no">Workdays</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date">
- <comment>Label to the date field (picker) in the settings view</comment>
- <source>Date</source>
- <translation variants="no">Date</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time">
- <comment>Label to the time field (picker) in the settings view</comment>
- <source>Time</source>
- <translation variants="no">Time</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_12_hour">
- <comment>2nd value in combo box list for Time format label</comment>
- <source>12 hour</source>
- <translation variants="no">12 hour</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_mins">
- <comment>Note displayed after alarm is set (time remaining) (hrs, mins)</comment>
- <source>Time to alarm %1 hours and %2 minutes</source>
- <translation variants="no">Time to alarm %1 hours and %2 minutes</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_workdays_at_1">
- <comment>Note displayed after alarm is set (workdays)</comment>
- <source>Alarm occurs workdays at %1</source>
- <translation variants="no">Alarm occurs workdays at %1</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_clock_type">
- <comment>Primary text label for Clock Type</comment>
- <source>Clock Type</source>
- <translation variants="no">Clock Type</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_5</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_city_list">
- <comment>Subtitle for City list</comment>
- <source>City list</source>
- <translation variants="no">City list</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_date_time">
- <comment>Sub-title for Date & time settings view</comment>
- <source>Date & time</source>
- <translation variants="no">Date & time</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_dd_mm_yyyy">
- <comment>1st value in combo box list for Date format label</comment>
- <source>dd mm yyyy</source>
- <translation variants="no">dd mm yyyy</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
</context>
</TS>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockcityselectionlist/data/xml/clockcityselectionlist.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="addOwnCityAction" type="HbAction">
+ <string name="text" value="Add own city"/>
+ </object>
+ <widget name="clockCitySelectionView" type="HbView">
+ <widget name="clockCitySelectionWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <string locid="txt_clock_subhead_city_list" name="titleText" value="City list"/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="cityListView" type="HbListView">
+ <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
+ <string name="state" value="normal"/>
+ </widget>
+ <real name="z" value="1"/>
+ </widget>
+ <widget name="lineEdit" type="HbSearchPanel">
+ <real name="z" value="2"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="cityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="cityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="cityListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEdit" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="lineEdit" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEdit" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="cityListView" dstEdge="BOTTOM" spacing="0un" src="lineEdit" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <ref object="addOwnCityAction" role="HbMenu:addAction"/>
+ </widget>
+ <string locid="txt_common_common_clock" name="title" value="Clock"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common"/>
+ <uistate name="landscape" sections="#common"/>
+ <dummydata objectName="cityListView" section="#common" value="0"/>
+ </metadata>
+</hbdocument>
--- a/clock/clockui/clockcityselectionlist/inc/clockcityselectionlist_p.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/inc/clockcityselectionlist_p.h Fri May 14 15:51:09 2010 +0300
@@ -58,8 +58,8 @@
void updateSearchCriteria(const QString &criteria);
void handleAddOwnCityAction();
void handleOkAction();
- void handleCancelAction();
void handleTimeZoneSelection(int index);
+ void selectedAction(HbAction *action);
private:
void showCityList();
@@ -81,6 +81,9 @@
QPointer<HbComboBox> mTimeZoneComboBox;
QPointer<HbComboBox> mCountryComboBox;
+ HbAction *mOkAction;
+ HbAction *mCancelAction;
+
ClockCitySelectionList *q_ptr;
TimezoneClient *mClient;
ClockCityListProxyModel *mProxyModel;
--- a/clock/clockui/clockcityselectionlist/src/clockcityselectionlist_p.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/src/clockcityselectionlist_p.cpp Fri May 14 15:51:09 2010 +0300
@@ -67,7 +67,7 @@
mClient = client;
if (!mClient) {
- mClient = new TimezoneClient(this);
+ mClient = TimezoneClient::getInstance();
mOwnsClient = true;
}
}
@@ -77,8 +77,8 @@
*/
ClockCitySelectionListPrivate::~ClockCitySelectionListPrivate()
{
- if (mOwnsClient) {
- delete mClient;
+ if (mOwnsClient && !mClient->isNull()) {
+ mClient->deleteInstance();
}
if (mLoader) {
mLoader->reset();
@@ -103,7 +103,7 @@
void ClockCitySelectionListPrivate::populateListModel()
{
// First get the data from the timezone client.
- QList<LocationInfo> infoList = mClient->getLocations();
+ QList<LocationInfo> &infoList = mClient->getLocations();
// Sanity check.
if (!mListModel) {
@@ -135,6 +135,9 @@
mListModel->setData(
index, info.countryName, Qt::UserRole + 104);
}
+
+ // Cleanup.
+ infoList.clear();
}
/*!
@@ -273,20 +276,14 @@
widget->setLayout(layout);
// Add actions to the dialog
- HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
- mAddOwnCityDialog->setPrimaryAction(okAction);
- connect(
- okAction, SIGNAL(triggered()),
- this, SLOT(handleOkAction()));
+ mOkAction = new HbAction(hbTrId("txt_common_button_ok"));
+ mCancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
- HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
- mAddOwnCityDialog->setSecondaryAction(cancelAction);
- connect(
- cancelAction, SIGNAL(triggered()),
- this, SLOT(handleCancelAction()));
+ mAddOwnCityDialog->addAction(mOkAction);
+ mAddOwnCityDialog->addAction(mCancelAction);
mAddOwnCityDialog->setContentWidget(widget);
- mAddOwnCityDialog->exec();
+ mAddOwnCityDialog->open(this, SLOT(selectedAction(HbAction*)));
}
/*!
@@ -321,21 +318,6 @@
populateListModel();
}
}
-
- // Close the popup
- handleCancelAction();
-}
-
-/*!
- Handles Cancel action of add own city dialog
- */
-void ClockCitySelectionListPrivate::handleCancelAction()
-{
- // Close the dialog.
- if (mAddOwnCityDialog) {
- mAddOwnCityDialog->close();
- mAddOwnCityDialog->deleteLater();
- }
}
/*!
@@ -364,6 +346,15 @@
}
/*!
+ Slot to handle the selected action
+ */
+void ClockCitySelectionListPrivate::selectedAction(HbAction *action)
+{
+ if (action==mOkAction) {
+ handleOkAction();
+ }
+}
+/*!
Displays the city selection list.
*/
void ClockCitySelectionListPrivate::showCityList()
@@ -399,7 +390,7 @@
connect(
mSearchBox, SIGNAL(criteriaChanged(QString)),
this, SLOT(updateSearchCriteria(QString)));
-
+
// Construct the source model.
if (!mListModel) {
mListModel = new QStandardItemModel(0, 1, this);
@@ -441,7 +432,7 @@
// Add the view to the main window and show it.
HbMainWindow *window = hbInstance->allMainWindows().at(0);
- mBackAction = new HbAction(Hb::BackAction, this);
+ mBackAction = new HbAction(Hb::BackNaviAction, this);
mView->setNavigationAction(mBackAction);
connect(
mBackAction, SIGNAL(triggered()),
--- a/clock/clockui/clockplugins/datetimesettingsplugin/datetimesettingsplugin.pro Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/datetimesettingsplugin.pro Fri May 14 15:51:09 2010 +0300
@@ -17,31 +17,35 @@
TEMPLATE = lib
TARGET = datetimesettingsplugin
+CONFIG += hb plugin
+
DEPENDPATH += . \
./inc \
./src
+
INCLUDEPATH += . \
- ../../clocksettingsview/inc
-
-CONFIG += hb plugin
-
-LIBS += -lcpframework
+ ../../../inc \
+ ../../../clockmw/clocktimezone/inc \
+ ../../clocksettingsview/inc
-# Input
-HEADERS += datetimesettingsplugin.h \
- datetimesettingsview.h
+LIBS += \
+ -lcpframework \
+ -ltimezoneclient \
+ -lclocksettingsview \
+
+HEADERS += \
+ datetimesettingsplugin.h \
+ datetimesettingsview.h
-SOURCES += datetimesettingsplugin.cpp \
- datetimesettingsview.cpp
+SOURCES += \
+ datetimesettingsplugin.cpp \
+ datetimesettingsview.cpp
symbian: {
TARGET.EPOCALLOWDLLDATA = 1
TARGET.UID3 = 0x102818E9
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
- LIBS += -lclocksettingsview
-}
-
-symbian {
deploy.path = C:
headers.sources = qmakepluginstubs/datetimesettingsplugin.qtplugin
headers.path = /resource/qt/plugins/controlpanel
@@ -49,9 +53,9 @@
# This is for new exporting system coming in garden
for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
}
-
-TARGET.CAPABILITY = CAP_GENERAL_DLL
plugin.sources = datetimesettingsplugin.dll
plugin.path = \resource\qt\plugins\controlpanel
-DEPLOYMENT += plugin
\ No newline at end of file
+DEPLOYMENT += plugin
+
+# End of file --Don't remove this.
--- a/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsplugin.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsplugin.h Fri May 14 15:51:09 2010 +0300
@@ -10,29 +10,35 @@
* Nokia Corporation - initial contribution.
*
* Contributors:
- *
- * Description:
- *
+*
+* Description:
+* Header file for DateTimeSettingsPlugin class.
+*
*/
#ifndef DATETIMESETTINGSPLUGIN_H_
#define DATETIMESETTINGSPLUGIN_H_
-#include <cppluginplatinterface.h>
-#include <qobject.h>
+// System includes
+#include <QObject>
-class DateTimeSettingsPlugin : public QObject, public CpPluginPlatInterface
+// User includes
+#include <cpplugininterface.h>
+
+class DateTimeSettingsPlugin : public QObject, public CpPluginInterface
{
Q_OBJECT
- Q_INTERFACES(CpPluginPlatInterface)
+ Q_INTERFACES(CpPluginInterface)
public:
DateTimeSettingsPlugin();
- virtual ~DateTimeSettingsPlugin();
+ virtual ~DateTimeSettingsPlugin();
- virtual int uid() const;
- virtual CpSettingFormItemData *createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+ virtual int uid() const;
+ QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
};
#endif /* DATETIMESETTINGSPLUGIN_H_ */
+
+// End of file --Don't remove this
--- a/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsview.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsview.h Fri May 14 15:51:09 2010 +0300
@@ -10,22 +10,46 @@
* Nokia Corporation - initial contribution.
*
* Contributors:
- *
- * Description:
- *
+*
+* Description:
+* Header file for DateTimeSettingsView class.
+*
*/
#ifndef DATETIMESETTINGSVIEW_H_
#define DATETIMESETTINGSVIEW_H_
-#include <cpbasesettingview.h>
+// User includes
+#include <cpsettingformentryitemdata.h>
-class DateTimeSettingsView : public CpBaseSettingView
+// Forward declarations
+class QTimer;
+class TimezoneClient;
+
+class DateTimeSettingsView : public CpSettingFormEntryItemData
{
- Q_OBJECT
+ Q_OBJECT
public:
- explicit DateTimeSettingsView(QGraphicsItem *parent = 0);
- virtual ~DateTimeSettingsView();
+ explicit DateTimeSettingsView(
+ CpItemDataHelper &itemDataHelper, const QString &text = QString(),
+ const QString &description = QString(),
+ const HbIcon &icon = HbIcon(),
+ const HbDataFormModelItem *parent = 0);
+ virtual ~DateTimeSettingsView();
+
+private slots:
+ void onLaunchView();
+ void updateDisplayTime();
+
+private:
+ virtual CpBaseSettingView *createSettingView() const;
+
+private:
+ QTimer *mTickTimer;
+ TimezoneClient *mTimezoneClient;
};
-#endif// DATETIMESETTINGSVIEW_H_
+
+#endif // DATETIMESETTINGSVIEW_H_
+
+// End of file --Don't remove this
--- a/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsplugin.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsplugin.cpp Fri May 14 15:51:09 2010 +0300
@@ -10,40 +10,69 @@
* Nokia Corporation - initial contribution.
*
* Contributors:
- *
- * Description:
- *
+*
+* Description:
+* Definition file for class DateTimeSettingsPlugin.
+*
*/
-
+// System includes
+#include <QDateTime>
#include <cpsettingformentryitemdataimpl.h>
+#include <HbExtendedLocale>
+// User includes
#include "datetimesettingsplugin.h"
#include "datetimesettingsview.h"
+/*!
+ Constructor.
+ */
DateTimeSettingsPlugin::DateTimeSettingsPlugin()
{
}
+/*!
+ Destructor.
+ */
DateTimeSettingsPlugin::~DateTimeSettingsPlugin()
{
}
+/*!
+ Returns the uid of the plugin.
+ */
int DateTimeSettingsPlugin::uid() const
{
// UID of the plugin.
- return 0x102818E9;
+ return 0x102818E9;
}
-CpSettingFormItemData *DateTimeSettingsPlugin::
- createSettingFormItemData(
- CpItemDataHelper &itemDataHelper) const
+/*!
+ Creates the object of DateTimeSettingsView class.
+ */
+QList<CpSettingFormItemData*> DateTimeSettingsPlugin::
+ createSettingFormItemData(
+ CpItemDataHelper &itemDataHelper) const
{
- HbIcon* icon = new HbIcon();
- return new CpSettingFormEntryItemDataImpl<DateTimeSettingsView>(
- itemDataHelper,
- QString("Clock application"),
- QString("Date & Time settings plugin"),
- *icon);
+ HbIcon* icon = new HbIcon();
+ HbExtendedLocale locale = HbExtendedLocale::system();
+ QString timeInfo = locale.format(
+ QTime::currentTime(), r_qtn_time_usual_with_zero);
+ QString dateinfo = locale.format(
+ QDate::currentDate(), r_qtn_date_usual_with_zero);
+ QString displayString;
+ displayString.append(timeInfo);
+ displayString.append(" ");
+ displayString.append(dateinfo);
+
+ QList<CpSettingFormItemData*> entryItemList;
+ CpSettingFormItemData *entryItem = new DateTimeSettingsView(
+ itemDataHelper,hbTrId("txt_cp_main_view_list_time_date"),
+ displayString,*icon);
+ entryItemList.append(entryItem);
+ return entryItemList;
}
Q_EXPORT_PLUGIN2(DateTimeSettingsPlugin, DateTimeSettingsPlugin)
+
+// End of file --Don't remove this
--- a/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsview.cpp Fri May 14 15:51:09 2010 +0300
@@ -12,28 +12,108 @@
* Contributors:
*
* Description:
-* Definition file for class ClockSettingsView.
+* Definition file for class DateTimeSettingsView.
*
*/
+// System includes
+#include <QTimer>
+#include <QDateTime>
+#include <HbExtendedLocale>
+#include <cpitemdatahelper.h>
-#include <hbdataform.h>
+// User includes
#include "datetimesettingsview.h"
#include "clocksettingsview.h"
+#include "timezoneclient.h"
-DateTimeSettingsView::DateTimeSettingsView(QGraphicsItem *parent)
-:CpBaseSettingView(0, parent)
-{
- HbDataForm *form = settingForm();
+/*!
+ \class DateTimeSettingsView
+
+ This class launches the clock settings view from control panel.
+ */
+
+/*!
+ Constructor.
- if (form) {
- form->setHeading(tr("Date & Time Settings"));
+ \param itemDataHelper CpItemDataHelper object.
+ \param text text to be displayed in first line.
+ \param description test to be displayed in second line.
+ \param icon to be displayed.
+ \param parent Parent of type HbDataFormModelItem
+ */
+DateTimeSettingsView::DateTimeSettingsView(
+ CpItemDataHelper &itemDataHelper, const QString &text,
+ const QString &description, const HbIcon &icon,
+ const HbDataFormModelItem *parent):
+ CpSettingFormEntryItemData(
+ itemDataHelper, text, description, icon, parent)
+{
+ // Construct the timezone client.
+ mTimezoneClient = TimezoneClient::getInstance();
+ connect(
+ mTimezoneClient, SIGNAL(timechanged()),
+ this, SLOT(updateDisplayTime()));
- ClockSettingsView *settingsView = new ClockSettingsView(this);
- settingsView->loadSettingsView();
- }
+ // Start a timer. For updating the displayed time.
+ mTickTimer = new QTimer(this);
+ // Start the Timer for 1 minute.
+ mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
+ connect(
+ mTickTimer, SIGNAL(timeout()),
+ this, SLOT(updateDisplayTime()));
}
+/*!
+ Destructor.
+ */
DateTimeSettingsView::~DateTimeSettingsView()
{
+ if (mTickTimer) {
+ mTickTimer->stop();
+ delete mTickTimer;
+ mTickTimer = 0;
+ }
+
+ if (!mTimezoneClient->isNull()) {
+ mTimezoneClient->deleteInstance();
+ }
}
+
+/*!
+ Launches the clock settings view.
+ */
+void DateTimeSettingsView::onLaunchView()
+{
+ ClockSettingsView *settingsView = new ClockSettingsView(this);
+ settingsView->loadSettingsView();
+}
+
+/*!
+ Updates the second line i.e date & time.
+ */
+void DateTimeSettingsView::updateDisplayTime()
+{
+ HbExtendedLocale locale = HbExtendedLocale::system();
+ QString timeInfo = locale.format(
+ QTime::currentTime(), r_qtn_time_usual_with_zero);
+ QString dateinfo = locale.format(
+ QDate::currentDate(), r_qtn_date_usual_with_zero);
+ QString displayString;
+ displayString.append(timeInfo);
+ displayString.append(" ");
+ displayString.append(dateinfo);
+ setDescription(displayString);
+ // Start the Timer for 1 minute.
+ mTickTimer->start(60000);
+}
+
+/*!
+ createSettingView()
+ */
+CpBaseSettingView *DateTimeSettingsView::createSettingView() const
+{
+ return 0;
+}
+
+// End of file --Don't remove this
--- a/clock/clockui/clocksettingsview/clocksettingsview.pro Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/clocksettingsview.pro Fri May 14 15:51:09 2010 +0300
@@ -23,7 +23,6 @@
INCLUDEPATH += \
./inc \
- ../clockwidget/inc \
../../clockmw/clocksettingsutility/inc \
../../clockmw/clocktimezone/inc \
../clockcityselectionlist/inc \
@@ -43,7 +42,7 @@
-ltimezoneclient \
-lclocksettingsutility \
-lclockcityselectionlist \
- -lclockwidgetproto
+ -lxqsettingsmanager
}
SOURCES += \
Binary file clock/clockui/clocksettingsview/data/translations/clocksettingsview.qm has changed
--- a/clock/clockui/clocksettingsview/data/translations/clocksettingsview.ts Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/data/translations/clocksettingsview.ts Fri May 14 15:51:09 2010 +0300
@@ -2,6 +2,16 @@
<!DOCTYPE TS>
<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
<context>
+<message numerus="no" id="txt_common_common_clock">
+ <comment>Title for Date and time settings view</comment>
+ <source>Clock</source>
+ <translation variants="no">Clock</translation>
+ <extra-loc-layout_id></extra-loc-layout_id>
+ <extra-loc-viewid>Common</extra-loc-viewid>
+ <extra-loc-positionid>Common</extra-loc-positionid>
+ <extra-loc-feature>Co</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_clock_setlabel_time_format">
<comment>1st label in Regional date & time settings view</comment>
<source>Time format</source>
@@ -12,16 +22,6 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_common_common_clock">
- <comment>Title for Date and time settings view</comment>
- <source>Clock</source>
- <translation variants="no">Clock</translation>
- <extra-loc-layout_id></extra-loc-layout_id>
- <extra-loc-viewid>Common</extra-loc-viewid>
- <extra-loc-positionid>Common</extra-loc-positionid>
- <extra-loc-feature>Co</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_cp_main_view_list_time_info_date_info">
<comment>The time and date information will be displayed in 2nd row</comment>
<source>%1, %2</source>
@@ -127,7 +127,7 @@
<source>Monday</source>
<translation variants="no">Monday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
@@ -137,30 +137,17 @@
<source>Thursday</source>
<translation variants="no">Thursday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="yes" id="txt_clock_list_ln_minutes">
- <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>
- <source>%Ln minutes</source>
- <translation>
- <numerusform variants="no">(s)%Ln minutes</numerusform>
- <numerusform variants="no">(p)%Ln minutes</numerusform>
- </translation>
- <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>set</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_clk_setlabel_val_friday">
<comment>5th dropdown list value for Day label in Alarm editor view</comment>
<source>Friday</source>
<translation variants="no">Friday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_5_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
@@ -190,7 +177,7 @@
<source>Sunday</source>
<translation variants="no">Sunday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_7_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
@@ -210,7 +197,7 @@
<source>Tuesday</source>
<translation variants="no">Tuesday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
@@ -245,6 +232,16 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_clock_subhead_settings">
+ <comment>Sub-title for Settings view</comment>
+ <source>Settings</source>
+ <translation variants="no">Settings</translation>
+ <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-positionid>subhead</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_clock_setlabel_date_separator">
<comment>Subtitle for the date seperator drop down list</comment>
<source>Date separator</source>
@@ -295,6 +292,29 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_clock_setlabel_alarm_snooze_time">
+ <comment>Primary text label for Clock Type</comment>
+ <source>Alarm snooze time</source>
+ <translation variants="no">Alarm snooze time</translation>
+ <extra-loc-layout_id>qtl_dataform_pri_graphic</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="yes" id="txt_clock_set_ln_mins">
+ <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>
+ <source>%Ln mins</source>
+ <translation>
+ <numerusform variants = "no">%Ln mins</numerusform>
+ <numerusform variants = "no">%Ln mins</numerusform>
+ </translation>
+ <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-positionid>set</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_clock_setlabel_clock_type">
<comment>Primary text label for Clock Type</comment>
<source>Clock Type</source>
@@ -320,7 +340,7 @@
<source>Saturday</source>
<translation variants="no">Saturday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_6_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
@@ -330,7 +350,7 @@
<source>Wednesday</source>
<translation variants="no">Wednesday</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
+ <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
<extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/data/xml/clockregionalsettingsview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.8">
+ <widget name="regionalSettingsView" type="HbView">
+ <widget name="regionalSettingsWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <string locid="txt_clock_subhead_regional_date_time_settings" name="titleText" value="Regional date & time setting"/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="dataForm" type="HbDataForm">
+ <real name="z" value="2"/>
+ <string name="description" value=""/>
+ <string name="heading" value=""/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <string locid="txt_common_common_clock" name="title" value="Clock"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common"/>
+ <uistate name="landscape" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/data/xml/clocksettingsview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <widget name="clockSettingsView" type="HbView">
+ <widget name="clockSettingsViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <string locid="txt_clock_subhead_settings" name="titleText" value="Settings"/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="dataForm" type="HbDataForm">
+ <real name="z" value="11"/>
+ <string name="description" value=""/>
+ <string name="heading" value=""/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+ <string locid="txt_common_common_clock" name="title" value="Clock"/>
+ </widget>
+ <section name="landscape">
+ <widget name="clockSettingsViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="portrait">
+ <widget name="clockSettingsViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait"/>
+ <uistate name="landscape" sections="#common landscape"/>
+ </metadata>
+</hbdocument>
--- a/clock/clockui/clocksettingsview/inc/clocksettingsview.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/inc/clocksettingsview.h Fri May 14 15:51:09 2010 +0300
@@ -33,14 +33,13 @@
class HbDataFormModel;
class HbDataFormModelItem;
class HbLabel;
-
class TimezoneClient;
class SettingsUtility;
-class SkinnableClock;
class ClockSettingsDocLoader;
class ClockSettingsView;
-class SkinnableClock;
class QTranslator;
+class XQSettingsManager;
+class XQSettingsKey;
class ClockSettingsView : public QObject
{
@@ -55,13 +54,14 @@
private slots:
void handleBackAction();
- void updateDateLabel();
- void updatePlaceInfo();
- void updateClockWidget();
+ void updatePlaceItem();
void updateDateItem();
void updateTimeItem();
void handleOrientationChanged(Qt::Orientation orientation);
void handleNetworkTimeStateChange(int state);
+ void handleAutoTimeUpdateChange(int value);
+ void handleAlarmSnoozeTimeChanged(int index);
+ void eventMonitor(const XQSettingsKey& key, const QVariant& value);
private:
void setupView();
@@ -78,19 +78,18 @@
QPointer<HbDataFormModel> mSettingsModel;
-
- HbLabel *mDayDateLabel;
- HbLabel *mPlaceLabel;
-
HbDataFormModelItem *mNetworkTimeItem;
HbDataFormModelItem *mTimeDataFormItem;
HbDataFormModelItem *mDateDataFormItem;
HbDataFormModelItem *mPlaceDataFormItem;
+ HbDataFormModelItem *mAlarmSnoozeItem;
ClockSettingsDocLoader *mDocLoader;
SettingsUtility *mSettingsUtility;
- TimezoneClient *mTimezoneClient;
- SkinnableClock *mClockWidget;
+ TimezoneClient *mTimezoneClient;
+ XQSettingsManager *mSettingsManager;
+ XQSettingsKey *mAlarmSnoozeTimeKey;
+ QHash<int, int> mAlarmSnoozeTimeHash;
QTranslator *mTranslator;
};
--- a/clock/clockui/clocksettingsview/inc/settingscustomitem.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/inc/settingscustomitem.h Fri May 14 15:51:09 2010 +0300
@@ -53,21 +53,13 @@
private slots:
void launchTimePicker();
- void handleTimeOkAction();
- void handleTimeCancelAction();
-
+ void handleOkAction();
void launchDatePicker();
- void handleDateOkAction();
- void handleDateCancelAction();
-
void launchCitySelectionList();
void updatePlaceItem(LocationInfo info);
+ void launchRegSettingsView();
+ void selectedAction(HbAction *action);
- void launchRegSettingsView();
-
-private:
-
-
private:
QStringList mWeekdaysList;
@@ -77,6 +69,9 @@
QPointer<HbPushButton> mDateWidget;
QPointer<HbPushButton> mPlaceWidget;
+ HbAction *mOkAction;
+ HbAction *mCancelAction;
+
SettingsUtility *mSettingsUtility;
ClockCitySelectionList *mCitySelectionList;
TimezoneClient *mTimezoneClient;
--- a/clock/clockui/clocksettingsview/src/clockregionalsettingsview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/clockregionalsettingsview.cpp Fri May 14 15:51:09 2010 +0300
@@ -29,7 +29,7 @@
#include <HbExtendedLocale>
#include <HbListWidget>
#include <HbComboBox>
-#include <HBListWidgetItem>
+#include <HbListWidgetItem>
#include <HbApplication>
#include <QTranslator>
@@ -134,7 +134,7 @@
window->setCurrentView(mView);
// Add the back softkey.
- mBackAction = new HbAction(Hb::BackAction);
+ mBackAction = new HbAction(Hb::BackNaviAction);
mView->setNavigationAction(mBackAction);
connect(
mBackAction, SIGNAL(triggered()),
@@ -271,8 +271,6 @@
void ClockRegionalSettingsView::handleDataChanged(
const QModelIndex& topLeft, const QModelIndex& bottomRight)
{
- qDebug("clock: ClockRegionalSettingsView::handleDataChanged() -->");
-
Q_UNUSED(bottomRight)
--- a/clock/clockui/clocksettingsview/src/clocksettingsdocloader.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/clocksettingsdocloader.cpp Fri May 14 15:51:09 2010 +0300
@@ -16,13 +16,9 @@
*
*/
-// System includes.
-#include <QDebug>
-
// User includes
#include "clocksettingsdocloader.h"
#include "clocksettingsdefines.h"
-#include "skinnableclock.h"
#include "clocksettingsview.h"
/*!
@@ -39,16 +35,6 @@
*/
QObject *ClockSettingsDocLoader::createObject(const QString &type, const QString &name)
{
- qDebug() << "clock: ClockSettingsDocLoader::createObject -->";
-
- if (CLOCK_WIDGET == name) {
- QObject *object = new SkinnableClock();
- object->setObjectName(name);
- return object;
- }
-
- qDebug() << "clock: ClockSettingsDocLoader::createObject <--";
-
return HbDocumentLoader::createObject(type, name);
}
--- a/clock/clockui/clocksettingsview/src/clocksettingsview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/clocksettingsview.cpp Fri May 14 15:51:09 2010 +0300
@@ -17,7 +17,6 @@
*/
// System includes
-#include <QDebug>
#include <HbInstance>
#include <HbDataForm>
#include <HbAction>
@@ -28,6 +27,8 @@
#include <HbCheckBox>
#include <HbApplication>
#include <QTranslator>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
// User includes
#include "clocksettingsview.h"
@@ -35,9 +36,9 @@
#include "clocksettingsdocloader.h"
#include "settingsutility.h"
#include "timezoneclient.h"
-#include "skinnableclock.h"
#include "settingsdatatypes.h"
#include "settingscustomitem.h"
+#include "clockcommon.h"
/*!
\class ClockSettingsView
@@ -69,22 +70,22 @@
mSettingsUtility = new SettingsUtility();
// Construct the timezone client.
- mTimezoneClient = new TimezoneClient();
+ mTimezoneClient = TimezoneClient::getInstance();
connect(
mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updatePlaceInfo()));
- connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateDateLabel()));
- connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateClockWidget()));
+ this, SLOT(updatePlaceItem()));
connect(
mTimezoneClient, SIGNAL(timechanged()),
this, SLOT(updateDateItem()));
connect(
mTimezoneClient, SIGNAL(timechanged()),
this, SLOT(updateTimeItem()));
+ connect(
+ mTimezoneClient, SIGNAL(autoTimeUpdateChanged(int)),
+ this, SLOT(handleAutoTimeUpdateChange(int)));
+ connect(
+ mTimezoneClient, SIGNAL(cityUpdated()),
+ this, SLOT(updatePlaceItem()));
// Start a timer. For updating the remaining alarm time.
mTickTimer = new QTimer(this);
@@ -92,7 +93,22 @@
mTickTimer, SIGNAL(timeout()),
this, SLOT(updateTimeItem()));
- qDebug("clock: ClockSettingsView::ClockSettingsView() <--");
+ // Create the settings manager.
+ mSettingsManager = new XQSettingsManager(this);
+
+ // Create the key for alarm snooze time.
+ mAlarmSnoozeTimeKey = new XQSettingsKey(
+ XQSettingsKey::TargetCentralRepository,
+ KCRUidClockApp,
+ KClockAppSnoozeTime);
+
+ // Start the monitoring for the alarm snooze time key.
+ mSettingsManager->startMonitoring(*mAlarmSnoozeTimeKey);
+
+ // Listen to the key value changes.
+ connect(
+ mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+ this, SLOT(eventMonitor(XQSettingsKey, QVariant)));
}
/*!
@@ -100,8 +116,6 @@
*/
ClockSettingsView::~ClockSettingsView()
{
- qDebug("clock: ClockSettingsView::~ClockSettingsView() -->");
-
if (mDocLoader) {
delete mDocLoader;
}
@@ -113,7 +127,10 @@
mTranslator = 0;
}
- qDebug("clock: ClockSettingsView::~ClockSettingsView() <--");
+ if (!mTimezoneClient->isNull()) {
+ mTimezoneClient->deleteInstance();
+ }
+
}
/*!
@@ -121,8 +138,6 @@
*/
void ClockSettingsView::loadSettingsView()
{
- qDebug() << "clock: ClockViewManager::loadMainView -->";
-
bool loadSuccess;
// Construct the document loader instance
@@ -161,7 +176,6 @@
// Setup the view.
setupView();
- qDebug() << "clock: ClockViewManager::loadMainView <--";
}
/*!
@@ -175,109 +189,21 @@
}
/*!
- Updates the day and date in the day label.
+ Updates the zone info in the place item field.
*/
-void ClockSettingsView::updateDateLabel()
+void ClockSettingsView::updatePlaceItem()
{
- qDebug() << "clock: ClockSettingsView::updateDateLabel -->";
-
- // Get the current datetime.
- QDateTime dateTime = QDateTime::currentDateTime();
- // Get the day name.
- QString dayName = dateTime.toString("dddd");
- // Get the date in correct format.
- QString currentDate = mSettingsUtility->date();
- // Construct the day + date string.
- QString dayDateString;
- dayDateString+= dayName;
- dayDateString += " ";
- dayDateString += currentDate;
-
- mDayDateLabel->clear();
- mDayDateLabel->setPlainText(dayDateString);
-
- qDebug() << "clock: ClockSettingsView::updateDateLabel <--";
-}
-
-/*!
- Updates the zone info in the place label.
- */
-void ClockSettingsView::updatePlaceInfo()
-{
- qDebug() << "clock: ClockSettingsView::updateClockZoneInfo -->";
-
// Get the current zone info.
LocationInfo currentZoneInfo = mTimezoneClient->getCurrentZoneInfoL();
- // Construct the GMT +/- X string.
- QString gmtOffset;
-
- int utcOffset = currentZoneInfo.zoneOffset;
- int offsetInHours (utcOffset/60);
- int offsetInMinutes (utcOffset%60);
-
- // Check wether the offset is +ve or -ve.
- if (0 < utcOffset) {
- // We have a positive offset. Append the '+' character.
- gmtOffset += tr(" +");
- } else if (0 > utcOffset) {
- // We have a negative offset. Append the '-' character.
- gmtOffset += tr(" -");
- offsetInHours = -offsetInHours;
- } else {
- // We dont have an offset. We are at GMT zone.
- }
-
- // Append the hour component.
- gmtOffset += QString::number(offsetInHours);
-
- // Get the time separator from settings and append it.
- QStringList timeSeparatorList;
- int index = mSettingsUtility->timeSeparator(timeSeparatorList);
- gmtOffset += timeSeparatorList.at(index);
-
- // Append the minute component.
- // If minute component is less less than 10, append a '00'
- if (0 <= offsetInMinutes && offsetInMinutes < 10) {
- gmtOffset += tr("00");
- } else {
- gmtOffset += QString::number(offsetInMinutes);
- }
-
- gmtOffset += tr(" GMT ");
-
- // Append DST info.
- if (currentZoneInfo.dstOn) {
- gmtOffset += tr(" DST");
- }
-
- // Update the labels with the correct info.
- mPlaceLabel->clear();
if (mTimezoneClient->timeUpdateOn()) {
- mPlaceLabel->setPlainText(
- currentZoneInfo.countryName + tr(" ") + gmtOffset);
mPlaceDataFormItem->setContentWidgetData(
"text", currentZoneInfo.countryName);
} else {
QString placeInfo = currentZoneInfo.cityName
+ tr(", ") + currentZoneInfo.countryName;
- mPlaceLabel->setPlainText(placeInfo + tr(" ") + gmtOffset);
mPlaceDataFormItem->setContentWidgetData("text", placeInfo);
}
-
- qDebug() << "clock: ClockSettingsView::updateDayDateInfo <--";
-}
-
-/*!
- Updates the clock widget display.
- */
-void ClockSettingsView::updateClockWidget()
-{
- qDebug() << "clock: ClockSettingsView::updateClockWidget -->";
-
- mClockWidget->updateDisplay(true);
-
- qDebug() << "clock: ClockSettingsView::updateClockWidget <--";
}
/*!
@@ -307,8 +233,6 @@
*/
void ClockSettingsView::handleOrientationChanged(Qt::Orientation orientation)
{
- qDebug() << "clock: ClockSettingsView::handleOrientationChanged -->";
-
bool success;
// If horizontal, load the landscape section.
if (Qt::Horizontal == orientation) {
@@ -322,9 +246,6 @@
CLOCK_SETTINGS_VIEW_PORTRAIT_SECTION,
&success);
}
-
- qDebug() << "clock: ClockSettingsView::handleOrientationChanged <--";
-
}
void ClockSettingsView::handleNetworkTimeStateChange(int state)
@@ -333,36 +254,13 @@
if ((Qt::Checked == state && !cenrepValue)
|| (Qt::Unchecked == state && cenrepValue)) {
if (Qt::Checked == state) {
- // Disable the time, date and place item.
- if (mTimeDataFormItem) {
- mTimeDataFormItem->setEnabled(false);
- }
- if (mDateDataFormItem) {
- mDateDataFormItem->setEnabled(false);
- }
- if (mPlaceDataFormItem) {
- mPlaceDataFormItem->setEnabled(false);
- }
// Update the cenrep value.
mTimezoneClient->setTimeUpdateOn(true);
} else if (Qt::Unchecked == state) {
- // Enable the time, date and place item.
- if (mTimeDataFormItem) {
- mTimeDataFormItem->setEnabled(true);
- }
- if (mDateDataFormItem) {
- mDateDataFormItem->setEnabled(true);
- }
- if (mPlaceDataFormItem) {
- mPlaceDataFormItem->setEnabled(true);
- }
-
// Update the cenrep value.
mTimezoneClient->setTimeUpdateOn(false);
}
-
- updatePlaceInfo();
}
}
@@ -374,14 +272,12 @@
*/
void ClockSettingsView::setupView()
{
- qDebug("clock: ClockSettingsView::setupView() -->");
-
HbMainWindow *window = hbInstance->allMainWindows().first();
window->addView(mSettingsView);
window->setCurrentView(mSettingsView);
// Add the back softkey.
- mBackAction = new HbAction(Hb::BackAction);
+ mBackAction = new HbAction(Hb::BackNaviAction);
mSettingsView->setNavigationAction(mBackAction);
connect(
mBackAction, SIGNAL(triggered()),
@@ -391,18 +287,6 @@
mSettingsForm = static_cast<HbDataForm *> (
mDocLoader->findWidget(CLOCK_SETTINGS_DATA_FORM));
- // Get the day-date label.
- mDayDateLabel = static_cast<HbLabel *> (
- mDocLoader->findWidget(CLOCK_SETTINGS_DATE_LABEL));
-
- // Get the place label.
- mPlaceLabel = static_cast<HbLabel *> (
- mDocLoader->findWidget(CLOCK_SETTINGS_PLACE_LABEL));
-
- // Get the clock widget.
- mClockWidget = static_cast<SkinnableClock *> (
- mDocLoader->findObject(CLOCK_WIDGET));
-
// Create the custom prototype.
QList <HbAbstractViewItem*> prototypes = mSettingsForm->itemPrototypes();
SettingsCustomItem *customPrototype = new SettingsCustomItem();
@@ -411,14 +295,9 @@
// Create the model.
createModel();
- // Update the relevant info.
- updateDateLabel();
- updateClockWidget();
- updatePlaceInfo();
+ updatePlaceItem();
mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
-
- qDebug("clock: ClockSettingsView::setupView() <--");
}
/*!
@@ -514,6 +393,117 @@
(HbDataFormModelItem::CustomItemBase + RegionalSettingsItem);
mSettingsModel->appendDataFormItem(regionalSettingsItem);
+ // Add the alarm snooze time item.
+ mAlarmSnoozeItem = mSettingsModel->appendDataFormItem(
+ HbDataFormModelItem::ComboBoxItem,
+ hbTrId("txt_clock_setlabel_alarm_snooze_time"));
+ QStringList alramSnoozeTimes;
+ alramSnoozeTimes << hbTrId("txt_clock_set_ln_mins", 5)
+ << hbTrId("txt_clock_set_ln_mins", 10)
+ << hbTrId("txt_clock_set_ln_mins", 15)
+ << hbTrId("txt_clock_set_ln_mins", 30);
+
+ // Build the hash map for the reminder.
+ mAlarmSnoozeTimeHash[0] = 5;
+ mAlarmSnoozeTimeHash[1] = 10;
+ mAlarmSnoozeTimeHash[2] = 15;
+ mAlarmSnoozeTimeHash[3] = 30;
+
+ mAlarmSnoozeItem->setContentWidgetData("items", alramSnoozeTimes);
+ QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeTimeKey);
+ bool success;
+ int index;
+ int alarmSnoozeTime = value.toInt(&success);
+ if (success) {
+ index = mAlarmSnoozeTimeHash.key(alarmSnoozeTime);
+ } else {
+ index = mAlarmSnoozeTimeHash.key(15);
+ }
+ mAlarmSnoozeItem->setContentWidgetData("currentIndex", index);
+ mSettingsForm->addConnection(
+ mAlarmSnoozeItem, SIGNAL(currentIndexChanged(int)),
+ this, SLOT(handleAlarmSnoozeTimeChanged(int)));
+
+}
+
+/*!
+ Slot which handles the auto time update value changes in cenrep.
+
+ /param value New value of the auto time update.
+ */
+void ClockSettingsView::handleAutoTimeUpdateChange(int value)
+{
+ int state = (mNetworkTimeItem->contentWidgetData("checkState")).toInt();
+
+ if (value) {
+ // Disable the time, date and place item.
+ if (mTimeDataFormItem) {
+ mTimeDataFormItem->setEnabled(false);
+ }
+ if (mDateDataFormItem) {
+ mDateDataFormItem->setEnabled(false);
+ }
+ if (mPlaceDataFormItem) {
+ mPlaceDataFormItem->setEnabled(false);
+ }
+ if (Qt::Unchecked == state) {
+ mNetworkTimeItem->setContentWidgetData(
+ "checkState", Qt::Checked);
+ }
+ } else {
+ // Enable the time, date and place item.
+ if (mTimeDataFormItem) {
+ mTimeDataFormItem->setEnabled(true);
+ }
+ if (mDateDataFormItem) {
+ mDateDataFormItem->setEnabled(true);
+ }
+ if (mPlaceDataFormItem) {
+ mPlaceDataFormItem->setEnabled(true);
+ }
+ if (Qt::Checked == state) {
+ mNetworkTimeItem->setContentWidgetData(
+ "checkState", Qt::Unchecked);
+ }
+ }
+ updatePlaceItem();
+}
+
+/*!
+ Slot which handles the alarm snooze time changes.
+
+ /param value New index of the alarm snooze time.
+ */
+void ClockSettingsView::handleAlarmSnoozeTimeChanged(int index)
+{
+ if (mAlarmSnoozeTimeHash.value(index)) {
+ mSettingsManager->writeItemValue(
+ *mAlarmSnoozeTimeKey, mAlarmSnoozeTimeHash.value(index));
+ }
+}
+
+/*!
+ Slot which is called when the value changes in cenrep.
+
+ \param key The key which got changed in cenrep.
+ \param value The new value of that key.
+ */
+void ClockSettingsView::eventMonitor(
+ const XQSettingsKey& key, const QVariant& value)
+{
+ if (key.uid() == KCRUidClockApp && key.key() == KClockAppSnoozeTime) {
+ if (mSettingsManager->error() == XQSettingsManager::NoError) {
+
+ bool success;
+ int alarmSnoozeTime = value.toInt(&success);
+
+ if (success) {
+ mAlarmSnoozeItem->setContentWidgetData(
+ "currentIndex", mAlarmSnoozeTimeHash.key(
+ alarmSnoozeTime));
+ }
+ }
+ }
}
// End of file --Don't remove this.
--- a/clock/clockui/clocksettingsview/src/settingscustomitem.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/settingscustomitem.cpp Fri May 14 15:51:09 2010 +0300
@@ -54,6 +54,8 @@
{
// Construct the settignsutility.
mSettingsUtility = new SettingsUtility();
+ // Construct the timezone client.
+ mTimezoneClient = TimezoneClient::getInstance();
}
/*!
@@ -61,7 +63,9 @@
*/
SettingsCustomItem::~SettingsCustomItem()
{
-
+ if (!mTimezoneClient->isNull()) {
+ mTimezoneClient->deleteInstance();
+ }
}
/*!
@@ -74,16 +78,16 @@
}
/*!
-
+
\sa
*/
bool SettingsCustomItem::canSetModelIndex(const QModelIndex &index) const
{
- HbDataFormModelItem::DataItemType itemType =
+ HbDataFormModelItem::DataItemType itemType =
static_cast<HbDataFormModelItem::DataItemType>(
index.data(HbDataFormModelItem::ItemTypeRole).toInt());
- if(itemType >= HbDataFormModelItem::CustomItemBase &&
+ if(itemType >= HbDataFormModelItem::CustomItemBase &&
itemType <= (HbDataFormModelItem::CustomItemBase + 50)) {
return true;
} else {
@@ -97,21 +101,21 @@
HbDataFormModelItem::DataItemType itemType =
static_cast<HbDataFormModelItem::DataItemType>(
modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
+
HbDataFormModel* model =
static_cast<HbDataFormModel*>(
static_cast<HbAbstractViewItem*>(this)->itemView()->model());
- HbDataFormModelItem* modlItem = model->itemFromIndex(modelIndex());
-
+ HbDataFormModelItem* modlItem = model->itemFromIndex(modelIndex());
+
switch (itemType) {
case (TimeItemOffset + HbDataFormModelItem::CustomItemBase):
mTimeWidget->setProperty("text", modlItem->contentWidgetData("text"));
break;
-
+
case (DateItemOffset + HbDataFormModelItem::CustomItemBase):
mDateWidget->setProperty("text", modlItem->contentWidgetData("text"));
break;
-
+
case (PlaceItemOffset + HbDataFormModelItem::CustomItemBase):
mPlaceWidget->setProperty("text", modlItem->contentWidgetData("text"));
break;
@@ -176,7 +180,7 @@
this, SLOT(launchRegSettingsView()));
return regSettingsItem;
}
-
+
case (50 + HbDataFormModelItem::CustomItemBase):
{
HbListWidget *workdaysItem = new HbListWidget();
@@ -186,7 +190,7 @@
for (int index = 0; index < mWeekdaysList.count(); ++index) {
workdaysItem->addItem(mWeekdaysList.at(index));
}
-
+
QString workdaysString = workdaysSetting();
for (int i = 0, index = workdaysString.size() - 1;
index >= 0; ++i, index--) {
@@ -202,7 +206,7 @@
QItemSelectionModel::Select);
}
}
-
+
return workdaysItem;
}
@@ -242,50 +246,51 @@
mTimePickerDialog->setContentWidget(timePicker);
timePicker->setTime(QTime::currentTime());
- HbAction *okAction =
- new HbAction(QString(hbTrId("txt_common_button_ok")), mTimePickerDialog);
- mTimePickerDialog->setPrimaryAction(okAction);
- connect(
- okAction, SIGNAL(triggered()),
- this, SLOT(handleTimeOkAction()));
+ mOkAction = new HbAction(
+ QString(hbTrId("txt_common_button_ok")), mTimePickerDialog);
+ mCancelAction = new HbAction(
+ QString(hbTrId("txt_common_button_cancel")), mTimePickerDialog);
- HbAction *cancelAction =
- new HbAction(QString(hbTrId("txt_common_button_cancel")),
- mTimePickerDialog);
- mTimePickerDialog->setSecondaryAction( cancelAction );
- connect(
- cancelAction, SIGNAL(triggered()),
- this, SLOT(handleTimeCancelAction()));
+ mTimePickerDialog->addAction(mOkAction);
+ mTimePickerDialog->addAction(mCancelAction);
- mTimePickerDialog->exec();
+ mTimePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
}
/*!
- Handles the ok action of time picker dialog.
+ Handles the ok action of time/date picker dialog.
*/
-void SettingsCustomItem::handleTimeOkAction()
+void SettingsCustomItem::handleOkAction()
{
- // Get the time from the time picker.
- QTime newTime = static_cast<HbDateTimePicker *> (
- mTimePickerDialog->contentWidget())->time();
+ if (mTimePickerDialog) {
+ // Get the time from the time picker.
+ QTime newTime = static_cast<HbDateTimePicker *> (
+ mTimePickerDialog->contentWidget())->time();
- QString timeFormatString = mSettingsUtility->timeFormatString();
- // Update the display text on form item.
- mTimeWidget->setText(newTime.toString(timeFormatString));
- mSettingsUtility->setTime(newTime.toString(timeFormatString));
+ QString timeFormatString = mSettingsUtility->timeFormatString();
- // Close the dialog.
- handleTimeCancelAction();
-}
+ // If time returned by the picker is valid, then only update.
+ if (newTime.isValid()) {
+ // Update the display text on form item.
+ mTimeWidget->setText(newTime.toString(timeFormatString));
+ // Update the system time.
+ mTimezoneClient->setDateTime(QDateTime(QDate::currentDate(), newTime));
+ }
+ } else if(mDatePickerDialog) {
+ // Get the time from the time picker.
+ QDate newDate = static_cast<HbDateTimePicker *> (
+ mDatePickerDialog->contentWidget())->date();
-/*!
- Handles the cancel action of time picker dialog.
- */
-void SettingsCustomItem::handleTimeCancelAction()
-{
- // Close the dialog.
- mTimePickerDialog->close();
- mTimePickerDialog->deleteLater();
+ QString dateFormatString = mSettingsUtility->dateFormatString();
+
+ // If date returned by the picker is valid, then only update.
+ if (newDate.isValid()) {
+ // Update the display text on form item.
+ mDateWidget->setText(newDate.toString(dateFormatString));
+ // Update the system date.
+ mTimezoneClient->setDateTime(QDateTime(newDate, QTime::currentTime()));
+ }
+ }
}
/*!
@@ -315,50 +320,16 @@
mDatePickerDialog->setContentWidget(datePicker);
datePicker->setDate(QDate::currentDate());
- HbAction *okAction =
- new HbAction(QString(hbTrId("txt_common_button_ok")), mDatePickerDialog);
- mDatePickerDialog->setPrimaryAction(okAction);
- connect(
- okAction, SIGNAL(triggered()),
- this, SLOT(handleDateOkAction()));
-
- HbAction *cancelAction =
- new HbAction(QString(hbTrId("txt_common_button_cancel")),
- mDatePickerDialog);
- mDatePickerDialog->setSecondaryAction( cancelAction );
- connect(
- cancelAction, SIGNAL(triggered()),
- this, SLOT(handleDateCancelAction()));
-
- mDatePickerDialog->exec();
-}
+ mOkAction = new HbAction(
+ QString(hbTrId("txt_common_button_ok")), mDatePickerDialog);
-/*!
- Handles the ok action of date picker dialog.
- */
-void SettingsCustomItem::handleDateOkAction()
-{
- // Get the time from the time picker.
- QDate newDate = static_cast<HbDateTimePicker *> (
- mDatePickerDialog->contentWidget())->date();
+ mCancelAction = new HbAction(
+ QString(hbTrId("txt_common_button_cancel")),mDatePickerDialog);
- QString dateFormatString = mSettingsUtility->dateFormatString();
- // Update the display text on form item.
- mDateWidget->setText(newDate.toString(dateFormatString));
- mSettingsUtility->setDate(newDate.toString(dateFormatString));
-
- // Close the dialog.
- handleDateCancelAction();
-}
+ mDatePickerDialog->addAction(mOkAction);
+ mDatePickerDialog->addAction(mCancelAction);
-/*!
- Handles the ok action of date picker dialog.
- */
-void SettingsCustomItem::handleDateCancelAction()
-{
- // Close the dialog.
- mDatePickerDialog->close();
- mDatePickerDialog->deleteLater();
+ mDatePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
}
/*!
@@ -382,8 +353,6 @@
void SettingsCustomItem::updatePlaceItem(LocationInfo info)
{
if (-1 != info.timezoneId) {
- // Construct the timezone client.
- mTimezoneClient = new TimezoneClient();
mTimezoneClient->setAsCurrentLocationL(info);
}
}
@@ -399,6 +368,16 @@
}
/*!
+ Slot to handle the selected action.
+ */
+void SettingsCustomItem::selectedAction(HbAction *action)
+{
+ if (action==mOkAction) {
+ handleOkAction();
+ }
+}
+
+/*!
Returns the workdays setting string based on start of week setting.
*/
QString SettingsCustomItem::workdaysSetting()
--- a/clock/clockui/clockviewmanager/clockviewmanager.pro Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/clockviewmanager.pro Fri May 14 15:51:09 2010 +0300
@@ -29,7 +29,7 @@
./inc \
../clockviews/inc \
../clockappcontroller/inc \
- ../clockwidget/inc \
+ ../clockwidget/clockwidgetimpl/inc \
../../inc
symbian: {
@@ -39,7 +39,7 @@
LIBS += \
-lclockviews \
- -lclockwidgetproto
+ -lclockwidget
}
SOURCES += \
--- a/clock/clockui/clockviewmanager/inc/clockviewmanager.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/inc/clockviewmanager.h Fri May 14 15:51:09 2010 +0300
@@ -44,10 +44,12 @@
CLOCKVIEWMANAGER_EXPORT void showView(ClockViews view);
private:
- void loadViews();
void loadMainView();
void loadWorldClockView();
+private slots:
+ void loadOtherViews();
+
private:
ClockAppControllerIf &mAppControllerIf;
ClockMainView *mMainView;
--- a/clock/clockui/clockviewmanager/src/clockdocloader.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/src/clockdocloader.cpp Fri May 14 15:51:09 2010 +0300
@@ -15,15 +15,13 @@
*
*/
-// System includes.
-#include <QDebug>
-
// User includes
#include "clockdocloader.h"
#include "clockcommon.h"
#include "clockmainview.h"
-#include "skinnableclock.h"
+#include "clockwidget.h"
#include "clockworldview.h"
+#include "clockhomecityitem.h"
/*!
\class ClockDocLoader
@@ -39,23 +37,23 @@
*/
QObject *ClockDocLoader::createObject(const QString &type, const QString &name)
{
- qDebug() << "clock: ClockDocLoader::createObject -->";
-
if (CLOCK_MAIN_VIEW == name) {
QObject *object = new ClockMainView();
object->setObjectName(name);
return object;
} else if (CLOCK_WIDGET == name) {
- QObject *object = new SkinnableClock();
+ QObject *object = new ClockWidget();
object->setObjectName(name);
return object;
- } else if (WORLD_CLOCK_VIEW == name) {
+ } else if (CLOCK_WORLD_VIEW == name) {
QObject *object = new ClockWorldView();
object->setObjectName(name);
return object;
- }
-
- qDebug() << "clock: ClockDocLoader::createObject <--";
+ } else if (CLOCK_WORLD_HOMECITY == name) {
+ QObject *object = new ClockHomeCityItem();
+ object->setObjectName(name);
+ return object;
+ }
return HbDocumentLoader::createObject(type, name);
}
--- a/clock/clockui/clockviewmanager/src/clockviewmanager.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/src/clockviewmanager.cpp Fri May 14 15:51:09 2010 +0300
@@ -17,7 +17,6 @@
*/
// System includes
-#include <QDebug>
#include <HbMainWindow>
#include <HbInstance>
@@ -44,14 +43,17 @@
ClockViewManager::ClockViewManager(
ClockAppControllerIf &controllerIf, QObject *parent)
:QObject(parent),
- mAppControllerIf(controllerIf)
+ mAppControllerIf(controllerIf),
+ mWorldClockView(0)
{
- qDebug("clock: ClockViewManager::ClockViewManager() -->");
+ // Load the main view at the start up.
+ loadMainView();
- // Load the document and the views.
- loadViews();
-
- qDebug("clock: ClockViewManager::ClockViewManager() <--");
+ // Delay loading of other views till main view is loaded.
+ HbMainWindow *window = hbInstance->allMainWindows().first();
+ connect(
+ window, SIGNAL(viewReady()),
+ this, SLOT(loadOtherViews()));
}
/*!
@@ -90,30 +92,10 @@
}
/*!
- Loads the views from the docml file.
- */
-void ClockViewManager::loadViews()
-{
- qDebug() << "clock: ClockViewManager::loadViews -->";
-
- // Load the main view.
- loadMainView();
- // Load the world clock view.
- loadWorldClockView();
-
- // Set the main view to the window
- hbInstance->allMainWindows().first()->addView(mMainView);
-
- qDebug() << "clock: ClockViewManager::loadViews <--";
-}
-
-/*!
Loads the clock main view.
*/
void ClockViewManager::loadMainView()
{
- qDebug() << "clock: ClockViewManager::loadMainView -->";
-
bool loadSuccess;
// Construct the document loader instance
@@ -121,10 +103,6 @@
// Load the application xml.
docLoader->load(CLOCK_MAIN_VIEW_DOCML, &loadSuccess);
- Q_ASSERT_X(
- loadSuccess,
- "viewmanager.cpp",
- "Unable to load the main view app xml");
// Find the main view.
mMainView = static_cast<ClockMainView *> (
@@ -133,7 +111,8 @@
// Setup the view.
mMainView->setupView(mAppControllerIf, docLoader);
- qDebug() << "clock: ClockViewManager::loadMainView <--";
+ // Set the main view to the window
+ hbInstance->allMainWindows().first()->addView(mMainView);
}
/*!
@@ -147,20 +126,30 @@
bool loadSuccess;
// Construct the world list view from doc loader.
- docLoader->load(":/xml/worldclockview.docml", &loadSuccess);
+ docLoader->load(CLOCK_WORLD_VIEW_DOCML, &loadSuccess);
// Get the world list view.
- mWorldClockView =
- static_cast<ClockWorldView *> (docLoader->findWidget("worldClockView"));
+ mWorldClockView = static_cast<ClockWorldView *> (
+ docLoader->findWidget(CLOCK_WORLD_VIEW));
mWorldClockView->setupView(mAppControllerIf, docLoader);
+}
-/* // Get the world list widget.
- WorldListWidget *listWidget =
- qobject_cast<WorldListWidget *> (docLoader->findWidget("worldListWidget"));
- Q_ASSERT_X(listWidget,
- "viewmanager.cpp", "Unable to load the world list widget");
- listWidget->setupWidget(mWorldListView, docLoader);*/
+/*!
+ Load other views
+ */
+void ClockViewManager::loadOtherViews()
+{
+ mMainView->setupAfterViewReady();
+
+ // Load world clock view
+ loadWorldClockView();
+
+ // Disconnect the signal viewReady as all the views are loaded.
+ HbMainWindow *window = hbInstance->allMainWindows().first();
+ disconnect(
+ window, SIGNAL(viewReady()),
+ this, SLOT(loadOtherViews()));
}
// End of file --Don't remove this.
--- a/clock/clockui/clockviews/clockviews.pro Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/clockviews.pro Fri May 14 15:51:09 2010 +0300
@@ -30,7 +30,7 @@
../../clockmw/clocksettingsutility/inc \
../clocksettingsview/inc \
../clockalarmeditor/inc \
- ../clockwidget/inc \
+ ../clockwidget/clockwidgetimpl/inc \
../clockcityselectionlist/inc \
../inc
@@ -51,7 +51,8 @@
-lclocksettingsutility \
-lclocksettingsview \
-lclockcityselectionlist \
- -lclockwidgetproto
+ -lclockwidget \
+ -lclockwidgetplugin
}
SOURCES += \
@@ -59,14 +60,14 @@
clockalarmlistmodel.cpp \
clockalarmlistitemprototype.cpp \
clockworldview.cpp \
- listitemprototype.cpp
+ clockhomecityitem.cpp
HEADERS += \
clockmainview.h \
clockalarmlistmodel.h \
clockalarmlistitemprototype.h \
clockworldview.h \
- listitemprototype.h
+ clockhomecityitem.h
RESOURCES += \
clockviews.qrc
--- a/clock/clockui/clockviews/data/clockviews.qrc Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/data/clockviews.qrc Fri May 14 15:51:09 2010 +0300
@@ -2,11 +2,13 @@
<qresource prefix="/style">
<file alias="clockalarmlistitemprototype.css">style/clockalarmlistitemprototype.css</file>
<file alias="clockalarmlistitemprototype.widgetml">style/clockalarmlistitemprototype.widgetml</file>
- <file alias="listitemprototype.css" >style/listitemprototype.css</file>
- <file alias="listitemprototype.widgetml" >style/listitemprototype.widgetml</file>
+ <file alias="clockhomecityitem.css">style/clockhomecityitem.css</file>
+ <file alias="clockhomecityitem.widgetml">style/clockhomecityitem.widgetml</file>
+ <file alias="hblistviewitem.css">style/hblistviewitem.css</file>
+ <file alias="hblistviewitem.widgetml">style/hblistviewitem.widgetml</file>
</qresource>
<qresource prefix="/xml">
<file alias="clockmainview.docml">xml/clockmainview.docml</file>
- <file alias="worldclockview.docml" >xml/worldclockview.docml</file>
+ <file alias="clockworldview.docml">xml/clockworldview.docml</file>
</qresource>
</RCC>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/clockhomecityitem.css Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,44 @@
+ClockHomeCityItem{
+ layout: homecity-portrait;
+}
+ClockHomeCityItem:landscape{
+ layout: homecity-landscape;
+}
+ClockHomeCityItem::dayNightIcon{
+ top: -var(hb-param-margin-gene-top);
+ left: -var(hb-param-margin-gene-left);
+ right: var(hb-param-margin-gene-middle-horizontal);
+ bottom: var(hb-param-margin-gene-bottom);
+
+ fixed-height: var(hb-param-graphic-size-primary-large);
+ fixed-width: var(hb-param-graphic-size-primary-large);
+}
+
+ClockHomeCityItem::dateText{
+ top: -var(hb-param-margin-gene-top);
+ right: var(hb-param-margin-gene-middle-horizontal);
+ text-height: var(hb-param-text-height-tiny);
+ text-align: left;
+}
+
+ClockHomeCityItem::cityText{
+ top: -var(hb-param-margin-gene-middle-vertical);
+ right: var(hb-param-margin-gene-middle-horizontal);
+ text-height: var(hb-param-text-height-primary);
+ text-align: left;
+}
+
+ClockHomeCityItem::dstIcon{
+ top: -var(hb-param-margin-gene-top);
+ right: var(hb-param-margin-gene-right);
+
+ fixed-height: var(hb-param-graphic-size-secondary);
+ fixed-width: var(hb-param-graphic-size-secondary);
+}
+
+ClockHomeCityItem::timeText{
+ right: var(hb-param-margin-gene-right);
+ text-height: var(hb-param-text-height-tiny);
+ text-align: right;
+ fixed-width: 16un;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/clockhomecityitem.widgetml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,41 @@
+<hbwidget version="0.1" type="ClockHomeCityItem">
+ <layout name="homecity-portrait" type="mesh">
+ <meshitem src="dayNightIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="dayNightIcon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="dayNightIcon" srcEdge="RIGHT" dst="dateText" dstEdge="LEFT" />
+
+ <meshitem src="dateText" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="dateText" srcEdge="RIGHT" dst="dstIcon" dstEdge="LEFT" />
+
+ <meshitem src="cityText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
+ <meshitem src="cityText" srcEdge="BOTTOM" dst="dayNightIcon" dstEdge="BOTTOM" />
+ <meshitem src="cityText" srcEdge="RIGHT" dst="timeText" dstEdge="LEFT" />
+
+ <meshitem src="dstIcon" srcEdge="CENTERV" dst="dateText" dstEdge="CENTERV" />
+ <meshitem src="dstIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ <meshitem src="timeText" srcEdge="TOP" dst="cityText" dstEdge="TOP" />
+ <meshitem src="timeText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+ </layout>
+
+ <layout name="homecity-landscape" type="mesh">
+ <meshitem src="dayNightIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="dayNightIcon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="dayNightIcon" srcEdge="RIGHT" dst="dateText" dstEdge="LEFT" />
+
+ <meshitem src="dateText" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="dateText" srcEdge="RIGHT" dst="timeText" dstEdge="LEFT" />
+
+ <meshitem src="cityText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
+ <meshitem src="cityText" srcEdge="BOTTOM" dst="dayNightIcon" dstEdge="BOTTOM" />
+ <meshitem src="cityText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ <meshitem src="dstIcon" srcEdge="CENTERV" dst="timeText" dstEdge="CENTERV" />
+ <meshitem src="dstIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ <meshitem src="timeText" srcEdge="CENTERV" dst="dateText" dstEdge="CENTERV" />
+ <meshitem src="timeText" srcEdge="TOP" dst="dateText" dstEdge="TOP" />
+ <meshitem src="timeText" srcEdge="RIGHT" dst="dstIcon" dstEdge="LEFT" />
+ </layout>
+
+</hbwidget>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/hblistviewitem.css Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,64 @@
+
+HbListViewItem:portrait{
+ layout: citylist-portrait;
+}
+
+HbListViewItem:landscape{
+ layout: citylist-landscape;
+}
+
+HbListViewItem::icon-1{
+ top: -var(hb-param-margin-gene-top);
+ left: -var(hb-param-margin-gene-left);
+ right: var(hb-param-margin-gene-middle-horizontal);
+ bottom: var(hb-param-margin-gene-bottom);
+
+ fixed-height: var(hb-param-graphic-size-primary-large);
+ fixed-width: var(hb-param-graphic-size-primary-large);
+}
+
+HbListViewItem::text-1{
+ top: -var(hb-param-margin-gene-top);
+ right: var(hb-param-margin-gene-middle-horizontal);
+ text-height: var(hb-param-text-height-tiny);
+ text-align: left;
+}
+
+HbListViewItem::text-2{
+ top: -var(hb-param-margin-gene-middle-vertical);
+ right: var(hb-param-margin-gene-middle-horizontal);
+ text-height: var(hb-param-text-height-primary);
+ text-align: left;
+}
+
+HbListViewItem::text-3:portrait{
+ top: -var(hb-param-margin-gene-middle-vertical);
+ right: var(hb-param-margin-gene-right);
+ bottom: var(hb-param-margin-gene-bottom);
+
+ text-height: var(hb-param-text-height-tiny);
+ text-align: left;
+}
+
+HbListViewItem::text-3:landscape{
+ right: var(hb-param-margin-gene-right);
+
+ text-height: var(hb-param-text-height-tiny);
+ text-align: right;
+ fixed-width: 24un;
+}
+
+HbListViewItem::icon-2{
+ top: -var(hb-param-margin-gene-top);
+ right: var(hb-param-margin-gene-right);
+
+ fixed-height: var(hb-param-graphic-size-secondary);
+ fixed-width: var(hb-param-graphic-size-secondary);
+}
+
+HbListViewItem::text-4{
+ right: var(hb-param-margin-gene-right);
+ text-height: var(hb-param-text-height-tiny);
+ text-align: right;
+ fixed-width: 16un;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/hblistviewitem.widgetml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,52 @@
+<hbwidget version="0.1" type="HbListViewItem">
+
+ <layout name="citylist-portrait" type="mesh">
+
+ <meshitem src="icon-1" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="icon-1" srcEdge="RIGHT" dst="text-1" dstEdge="LEFT" />
+
+ <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="text-1" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT" />
+
+ <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="LEFT" />
+ <meshitem src="text-2" srcEdge="BOTTOM" dst="icon-1" dstEdge="BOTTOM" />
+ <meshitem src="text-2" srcEdge="RIGHT" dst="text-4" 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="icon-2" srcEdge="CENTERV" dst="text-1" dstEdge="CENTERV" />
+ <meshitem src="icon-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ <meshitem src="text-4" srcEdge="TOP" dst="text-2" dstEdge="TOP" />
+ <meshitem src="text-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+
+ </layout>
+
+ <layout name="citylist-landscape" type="mesh">
+
+ <meshitem src="icon-1" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="icon-1" srcEdge="RIGHT" dst="text-1" dstEdge="LEFT" />
+
+ <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="text-1" srcEdge="RIGHT" dst="text-4" dstEdge="LEFT" />
+
+ <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="LEFT" />
+ <meshitem src="text-2" srcEdge="BOTTOM" dst="icon-1" dstEdge="BOTTOM" />
+ <meshitem src="text-2" srcEdge="RIGHT" dst="text-3" dstEdge="LEFT" />
+
+ <meshitem src="text-3" srcEdge="BOTTOM" dst="text-2" dstEdge="BOTTOM" />
+ <meshitem src="text-3" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ <meshitem src="icon-2" srcEdge="CENTERV" dst="text-4" dstEdge="CENTERV" />
+ <meshitem src="icon-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+ <meshitem src="text-4" srcEdge="CENTERV" dst="text-1" dstEdge="CENTERV" />
+ <meshitem src="text-4" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT" />
+
+ </layout>
+
+</hbwidget>
--- a/clock/clockui/clockviews/data/style/listitemprototype.css Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-ListItemPrototype[layoutName="custom"]{
- layout: custom;
-}
-
-ListItemPrototype::dayNightIcon[layoutName="custom"]{
- top: -var(hb-param-margin-gene-top);
- left: -var(hb-param-margin-gene-left);
-
- fixed-height: var(hb-param-graphic-size-secondary);
- fixed-width: var(hb-param-graphic-size-secondary);
-}
-
-ListItemPrototype::dateText[layoutName="custom"]{
- left: -var(hb-param-margin-gene-left);
- top: -var(hb-param-margin-gene-top);
- right: var(hb-param-margin-gene-right);
- bottom: var(hb-param-margin-gene-bottom);
-
- text-height: var(hb-param-text-height-tiny);
- min-width: 29.7un;
-}
-
-ListItemPrototype::cityText[layoutName="custom"]{
- top: -var(hb-param-margin-gene-middle-vertical);
- right: var(hb-param-margin-gene-right);
-
- text-height: var(hb-param-text-height-primary);
- font-variant: primary;
- fixed-width: 29.7un;
-}
-
-ListItemPrototype::offsetText[layoutName="custom"]{
- top: -var(hb-param-margin-gene-middle-vertical);
- right: 11.5un;
- bottom: var(hb-param-margin-gene-bottom);
-
- text-height: var(hb-param-text-height-tiny);
- min-width: 29.7un;
-}
-
-ListItemPrototype::dstIcon[layoutName="custom"]{
- top: -var(hb-param-margin-gene-top);
- right: 6.4un;
-
- fixed-height: var(hb-param-graphic-size-secondary);
- fixed-width: var(hb-param-graphic-size-secondary);
-}
-
-ListItemPrototype::timText[layoutName="custom"]{
- top: -var(hb-param-margin-gene-middle-vertical);
- right: var(hb-param-margin-gene-right);
-
- text-height: var(hb-param-text-height-tiny);
-}
\ No newline at end of file
--- a/clock/clockui/clockviews/data/style/listitemprototype.widgetml Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-<hbwidget version="0.1" type="ListItemPrototype">
- <layout name="custom" type="mesh">
- <meshitem src="dayNightIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
- <meshitem src="dayNightIcon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
-
- <meshitem src="dateText" srcEdge="TOP" dst="" dstEdge="TOP" />
- <meshitem src="dateText" srcEdge="LEFT" dst="dayNightIcon" dstEdge="RIGHT" />
- <meshitem src="dateText" srcEdge="RIGHT" dst="dstIcon" dstEdge="LEFT" />
-
- <meshitem src="cityText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
- <meshitem src="cityText" srcEdge="TOP" dst="dateText" dstEdge="BOTTOM" />
- <meshitem src="cityText" srcEdge="RIGHT" dst="timeText" dstEdge="LEFT" />
-
- <meshitem src="offsetText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
- <meshitem src="offsetText" srcEdge="TOP" dst="cityText" dstEdge="BOTTOM" />
- <meshitem src="offsetText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
- <meshitem src="offsetText" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
-
- <meshitem src="dstIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
- <meshitem src="dstIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
-
- <meshitem src="timeText" srcEdge="TOP" dst="dstIcon" dstEdge="BOTTOM" />
- <meshitem src="timeText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
- </layout>
-</hbwidget>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/xml/clockmainview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="alarmsAction" type="HbAction">
+ <icon iconName="qtg_mono_alarm" name="icon"/>
+ </object>
+ <object name="worldClockAction" type="HbAction">
+ <icon iconName="qtg_mono_world_clock" name="icon"/>
+ </object>
+ <object name="newAlarmAction" type="HbAction">
+ <icon iconName="qtg_mono_alarm_new" name="icon"/>
+ </object>
+ <object name="settingsAction" type="HbAction">
+ <string locid="txt_clk_main_view_opt_settings" name="text" value="Settings"/>
+ </object>
+ <widget name="clockMainView" type="HbView">
+ <widget name="clockMainViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="clockWidget" plugin="clockwidgetplugin" type="ClockWidget">
+ <real name="z" value="8"/>
+ </widget>
+ <widget name="dateLabel" type="HbLabel">
+ <real name="z" value="9"/>
+ <sizehint height="var(hb-param-text-height-tiny)" type="PREFERRED"/>
+ <string name="plainText" value="Mon 18.05.2009"/>
+ </widget>
+ <widget name="placeLabel" type="HbLabel">
+ <real name="z" value="10"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED"/>
+ <string name="plainText" value="Helsinki, Finland +2 GMT"/>
+ </widget>
+ <widget name="alarmListView" type="HbListView">
+ <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
+ <string name="state" value="normal"/>
+ </widget>
+ <real name="z" value="11"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <widget name="noAlarmLabel" type="HbLabel">
+ <real name="z" value="12"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="3.9un" type="FIXED"/>
+ <string locid="txt_clk_main_view_list_no_alarms_set" name="plainText" value="No alarm set"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="clockWidget" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dateLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="clockWidget" srcEdge="BOTTOM"/>
+ <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="placeLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dateLabel" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="placeLabel" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="clockWidget" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="" srcEdge="TOP"/>
+ <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="3.58209un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="noAlarmLabel" dstEdge="TOP" spacing="23.43284un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="alarmsAction" role="HbToolBar:addAction"/>
+ <ref object="worldClockAction" role="HbToolBar:addAction"/>
+ <ref object="newAlarmAction" role="HbToolBar:addAction"/>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <ref object="settingsAction" role="HbMenu:addAction"/>
+ </widget>
+ <string locid="txt_common_common_clock" name="title" value="Clock"/>
+ </widget>
+ <section name="landscape">
+ <widget name="noAlarmLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED" width="37.7un"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM" width="37.7un"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="MAXIMUM" width="37.7un"/>
+ </widget>
+ <widget name="clockMainViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="dateLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="clockWidget" srcEdge="BOTTOM"/>
+ <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="placeLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dateLabel" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="clockWidget" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="" srcEdge="TOP"/>
+ <anchoritem dst="clockWidget" dstEdge="LEFT" spacing="9.5un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmListView" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="alarmListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmListView" dstEdge="LEFT" spacing="9.5un" src="clockWidget" srcEdge="RIGHT"/>
+ <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="alarmListView" srcEdge="LEFT"/>
+ <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="alarmListView" srcEdge="LEFT"/>
+ <anchoritem dst="noAlarmLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="noAlarmLabel" dstEdge="TOP" spacing="15.8un" src="" srcEdge="TOP"/>
+ <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="alarmListView" srcEdge="LEFT"/>
+ </layout>
+ </widget>
+ <widget name="dateLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ </widget>
+ <widget name="placeLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ </widget>
+ <widget name="clockWidget" plugin="clockwidgetplugin" type="ClockWidget">
+ <sizehint height="22.3un" type="PREFERRED" width="22.3un"/>
+ </widget>
+ </section>
+ <section name="portrait">
+ <widget name="noAlarmLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED" width="49.7un"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM" width="37.7un"/>
+ <sizehint height="var(hb-param-text-height-primary)" type="MAXIMUM" width="49.7un"/>
+ </widget>
+ <widget name="clockMainViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="clockWidget" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dateLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="clockWidget" srcEdge="BOTTOM"/>
+ <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="placeLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dateLabel" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="alarmListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="alarmListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="placeLabel" srcEdge="BOTTOM"/>
+ <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="clockWidget" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="" srcEdge="TOP"/>
+ <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="noAlarmLabel" dstEdge="TOP" spacing="17.8un" src="placeLabel" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="dateLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ </widget>
+ <widget name="placeLabel" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ </widget>
+ <widget name="clockWidget" plugin="clockwidgetplugin" type="ClockWidget">
+ <sizehint height="31.9un" type="PREFERRED" width="31.9un"/>
+ </widget>
+ </section>
+ <metadata activeUIState="landscape" display="NHD landscape" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait"/>
+ <uistate name="landscape" sections="#common landscape"/>
+ <dummydata objectName="alarmListView" section="#common" value="0"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/xml/clockworldview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="alarmsAction" type="HbAction">
+ <icon iconName="qtg_mono_alarm" name="icon"/>
+ </object>
+ <object name="worldClockAction" type="HbAction">
+ <icon iconName="qtg_mono_world_clock" name="icon"/>
+ </object>
+ <object name="addCityAction" type="HbAction">
+ <icon iconName="qtg_mono_addcity" name="icon"/>
+ </object>
+ <widget name="worldClockView" type="HbView">
+ <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ <string locid="txt_clock_subhead_world_clock" name="heading" value="World clock"/>
+ </widget>
+ <widget name="worldClockCityListView" type="HbListView">
+ <widget name="listItemPrototype" role="HbListView:prototype" type="HbListViewItem">
+ <string name="state" value="normal"/>
+ </widget>
+ <real name="z" value="2"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <widget name="homeCityWidget" type="HbWidget">
+ <real name="z" value="3"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="4.47761un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="-11.35075un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0.74627un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="-5.67911un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="alarmsAction" role="HbToolBar:addAction"/>
+ <ref object="worldClockAction" role="HbToolBar:addAction"/>
+ <ref object="addCityAction" role="HbToolBar:addAction"/>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+ <string locid="txt_common_common_clock" name="title" value="Clock"/>
+ </widget>
+ <section name="portrait-homecity">
+ <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="homeCityWidget" srcEdge="BOTTOM"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="homeCityWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="homeCityWidget" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="expr(var(hb-param-margin-gene-top) + var(hb-param-text-height-tiny) + var(hb-param-margin-gene-middle-vertical) + var(hb-param-text-height-primary) + var(hb-param-margin-gene-bottom))" src="homeCityWidget" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="portrait-nohomecity">
+ <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0.74627un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="-5.67911un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape-nohomecity">
+ <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0.74627un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="-5.67911un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape-homecity">
+ <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="homeCityWidget" srcEdge="BOTTOM"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="homeCityWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="homeCityWidget" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="12un" src="homeCityWidget" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait-nohomecity"/>
+ <uistate name="landscape" sections="#common landscape-nohomecity"/>
+ <uistate name="portrait-homecity" sections="#common portrait-homecity"/>
+ <uistate name="landscape-homecity" sections="#common landscape-homecity"/>
+ <dummydata objectName="worldClockCityListView" section="#common" value="app_list_template5"/>
+ </metadata>
+</hbdocument>
--- a/clock/clockui/clockviews/inc/clockalarmlistitemprototype.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/inc/clockalarmlistitemprototype.h Fri May 14 15:51:09 2010 +0300
@@ -21,7 +21,8 @@
// System includes
#include <QGraphicsWidget>
-#include <HbListViewItem.h>
+#include <QPointer>
+#include <hblistviewitem.h>
// Forward declarations
class QGraphicsItem;
@@ -48,7 +49,7 @@
private:
QGraphicsItem *mParent;
- HbPushButton *malarmIconItem;
+ QPointer<HbPushButton> malarmIconItem;
};
#endif // CLOCKALARMLISTITEMPROTOTYPE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/inc/clockhomecityitem.h Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Header file for ClockHomeCityItem Itemclass
+ *
+ */
+
+#ifndef CLOCKHOMECITYITEM_H
+#define CLOCKHOMECITYITEM_H
+
+// System includes
+#include <QPointer>
+#include <HbWidget>
+
+// User include.
+#include "clockviewsdefines.h"
+
+// Forward declaration
+class QGraphicsItem;
+class HbTextItem;
+class HbIconItem;
+
+class ClockHomeCityItem : public HbWidget
+{
+ Q_OBJECT
+
+public:
+ enum {
+ DayNightIndicator,
+ Date,
+ City,
+ Dst,
+ Time
+ };
+
+public:
+ CLOCKVIEWS_EXPORT ClockHomeCityItem(QGraphicsItem *parent = 0);
+ CLOCKVIEWS_EXPORT ~ClockHomeCityItem();
+
+public:
+ void setHomeCityItemData(const QVariantMap & itemData);
+
+private:
+ QPointer<HbTextItem> mDateText;
+ QPointer<HbTextItem> mCityText;
+ QPointer<HbTextItem> mTimeText;
+ QPointer<HbIconItem> mDayNightIcon;
+ QPointer<HbIconItem> mDstIcon;
+
+};
+
+#endif // CLOCKHOMECITYITEM_H
+
+// End of file --Don't remove this.
--- a/clock/clockui/clockviews/inc/clockmainview.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/inc/clockmainview.h Fri May 14 15:51:09 2010 +0300
@@ -38,8 +38,8 @@
class AlarmClient;
class TimezoneClient;
class SettingsUtility;
-class SkinnableClock;
class ClockAlarmListModel;
+class ClockWidget;
class ClockMainView : public HbView
{
@@ -52,11 +52,10 @@
public:
CLOCKVIEWS_EXPORT void setupView(
ClockAppControllerIf &controllerIf, ClockDocLoader *docLoader);
-
-public slots:
- void handleAlarmStatusChanged(int row);
+ CLOCKVIEWS_EXPORT void setupAfterViewReady();
private slots:
+ void handleAlarmStatusChanged(int row);
void refreshMainView();
void displayWorldClockView();
void addNewAlarm();
@@ -64,15 +63,19 @@
void handleActivated(const QModelIndex &index);
void handleLongPress(HbAbstractViewItem *item, const QPointF &coords);
void deleteAlarm();
- void updateDateLabel();
- void updatePlaceLabel();
- void updateClockWidget();
+ void updateView();
+ void updatePlaceLabel(int autoTimeUpdate = -1);
void handleAlarmListDisplay();
void checkOrientationAndLoadSection(Qt::Orientation orientation);
+ void selectedMenuAction(HbAction *action);
+ void handleMenuClosed();
private:
void setmodel();
void hideAlarmList(bool show);
+ void removeSnoozedAlarm();
+ void updateDateLabel();
+ void updateClockWidget();
private:
QTimer *mTickTimer;
@@ -81,10 +84,11 @@
HbAction *mDisplayWorldClockView;
HbAction *mAddNewAlarm;
HbAction *mSettingsAction;
+ HbAction *mDeleteAction;
HbLabel *mDayLabel;
HbLabel *mPlaceLabel;
- SkinnableClock *mClockWidget;
+ ClockWidget *mClockWidget;
HbLabel *mNoAlarmLabel;
HbListView *mAlarmList;
@@ -97,6 +101,7 @@
int mSelectedItem;
bool mHideAlarmList;
+ bool mIsLongTop;
};
#endif // CLOCKMAINVIEW_H
--- a/clock/clockui/clockviews/inc/clockworldview.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/inc/clockworldview.h Fri May 14 15:51:09 2010 +0300
@@ -32,8 +32,6 @@
class QGraphicsItem;
class QStandardItemModel;
class QTimer;
-class HbLabel;
-class HbPushButton;
class HbListView;
class HbListWidgetItem;
class HbAbstractViewItem;
@@ -42,6 +40,8 @@
class TimezoneClient;
class SettingsUtility;
class ClockCitySelectionList;
+class HbGroupBox;
+class ClockHomeCityItem;
class ClockWorldView : public HbView
{
@@ -57,22 +57,24 @@
private slots:
void refreshCityList();
- void updateClockDisplay();
- void updateDayDateInfo();
- void updateCurrentLocationInfo();
+ void updateCurrentLocationInfo(int networkTime);
void handleItemLongPressed(HbAbstractViewItem *item, const QPointF &coord);
void handleAddLocation();
void handleDeleteAction();
void handleSetAsCurrentLocationAction();
void handleCitySelected(LocationInfo info);
void showAlarmsView();
- void updateOffsetDifferences();
void refreshWorldView();
- void updateToolbarTexts(Qt::Orientation currentOrientation);
+ void loadSection(Qt::Orientation orientation);
+ void updateAllLocationInfo();
+ void selectedMenuAction(HbAction *action);
private:
QModelIndex addCityToList(const LocationInfo& locationInfo);
bool isDay(QDateTime dateTime);
+ QVariantList getCityListDisplayString(const LocationInfo& locationInfo);
+ QVariantList getCityListDecorationString(const LocationInfo& locationInfo);
+ void updateCityList();
private:
QTimer *mRefreshTimer;
@@ -80,14 +82,14 @@
QStandardItemModel *mCityListModel;
QPointer<HbListView> mCityListView;
- HbLabel *mDayDateLabel;
- HbLabel *mPlaceLabel;
+ ClockHomeCityItem *mHomeCityWidget;
HbAction *mAddCityAction;
HbAction *mSetCurrentLocationAction;
HbAction *mRemoveCityAction;
HbAction *mBackAction;
HbAction *mShowAlarmsViewAction;
HbAction *mDisplayWorldClockView;
+ HbAction *mAddCityMenuAction;
ClockDocLoader *mDocLoader;
ClockAppControllerIf *mAppControllerIf;
--- a/clock/clockui/clockviews/inc/listitemprototype.h Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header file for class ListItemPrototype.
-*
-*/
-
-#ifndef LISTITEMPROTOTYPE_H
-#define LISTITEMPROTOTYPE_H
-
-// System includes
-#include <HbListViewItem>
-
-// Forward declarations
-class QGraphicsItem;
-class HbIconItem;
-class HbAbstractViewItem;
-class HbTextItem;
-
-class ListItemPrototype : public HbListViewItem
-{
- Q_OBJECT
-
-public:
- explicit ListItemPrototype(QGraphicsItem *parent = 0);
- virtual ~ListItemPrototype();
-
-public:
- HbAbstractViewItem* createItem();
- void updateChildItems();
-
-private:
- HbIconItem *mDayNightIcon;
- HbTextItem *mDateText;
- HbTextItem *mCityText;
- HbTextItem *mOffsetText;
- HbIconItem *mDstIcon;
- HbTextItem *mTimeText;
-};
-
-#endif // LISTITEMPROTOTYPE_H
-
-// End of file --Don't remove this.
--- a/clock/clockui/clockviews/src/clockalarmlistitemprototype.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockalarmlistitemprototype.cpp Fri May 14 15:51:09 2010 +0300
@@ -17,7 +17,6 @@
*/
// System includes
-#include <QDebug>
#include <HbPushButton>
// User includes
@@ -37,9 +36,7 @@
\parent of type QGraphicsItem.
*/
ClockAlarmListItemPrototype::ClockAlarmListItemPrototype(QGraphicsItem *parent)
-:HbListViewItem(parent),
- mParent(parent),
- malarmIconItem(0)
+:HbListViewItem(parent)
{
// Nothing yet.
}
@@ -68,19 +65,11 @@
QString alarmIconPath = alarmIconRole.toString();
if (!malarmIconItem) {
malarmIconItem = new HbPushButton(this);
- HbStyle::setItemName(malarmIconItem,
- QLatin1String("alarmIconItem"));
+ HbStyle::setItemName(
+ malarmIconItem, QLatin1String("alarmIconItem"));
connect(
malarmIconItem, SIGNAL(clicked()),
this, SLOT(handleAlarmStatusChanged()));
- if (mParent) {
- connect(
- this,
- SIGNAL(alarmStatusHasChanged(int)),
- qobject_cast<ClockMainView*>(
- static_cast<QGraphicsWidget*>(mParent)),
- SLOT(handleAlarmStatusChanged(int)));
- }
}
malarmIconItem->setIcon(alarmIconPath);
}
@@ -94,7 +83,7 @@
*/
ClockAlarmListItemPrototype *ClockAlarmListItemPrototype::createItem()
{
- return new ClockAlarmListItemPrototype(mParent);
+ return new ClockAlarmListItemPrototype(*this);
}
/*!
@@ -103,7 +92,8 @@
void ClockAlarmListItemPrototype::handleAlarmStatusChanged()
{
int row = modelIndex().row();
- emit alarmStatusHasChanged(row);
+ emit static_cast<ClockAlarmListItemPrototype*>(
+ prototype())->alarmStatusHasChanged(row);
}
// End of file --Don't remove this.
--- a/clock/clockui/clockviews/src/clockalarmlistmodel.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockalarmlistmodel.cpp Fri May 14 15:51:09 2010 +0300
@@ -17,7 +17,6 @@
*/
// System includes
-#include <QDebug>
#include <QTimer>
#include <QStandardItemModel>
@@ -55,8 +54,6 @@
mSourceModel(0),
mAppControllerIf(controllerIf)
{
- qDebug() << "clock: ClockAlarmListModel::ClockAlarmListModel -->";
-
// Construct the source model.
mSourceModel = new QStandardItemModel(0, 1, this);
@@ -74,8 +71,6 @@
connect(
mTickTimer, SIGNAL(timeout()),
this, SLOT(updateRemainingTime()));
-
- qDebug() << "clock: ClockAlarmListModel::ClockAlarmListModel <--";
}
/*!
@@ -83,14 +78,10 @@
*/
ClockAlarmListModel::~ClockAlarmListModel()
{
- qDebug() << "clock: ClockAlarmListModel::~ClockAlarmListModel -->";
-
if (mSourceModel) {
delete mSourceModel;
mSourceModel = 0;
}
-
- qDebug() << "clock: ClockAlarmListModel::~ClockAlarmListModel <--";
}
/*!
@@ -109,10 +100,6 @@
*/
QAbstractItemModel *ClockAlarmListModel::sourceModel()
{
- qDebug() << "clock: ClockAlarmListModel::sourceModel -->";
-
- qDebug() << "clock: ClockAlarmListModel::sourceModel <--";
-
return mSourceModel;
}
@@ -121,8 +108,6 @@
*/
void ClockAlarmListModel::populateSourceModel()
{
- qDebug() << "clock: ClockAlarmListModel::populateSourceModel -->";
-
// Clear the model if it has any data already.
mSourceModel->clear();
mSourceModel->setColumnCount(1);
@@ -153,7 +138,6 @@
// Start the Timer for 1 minute.
mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
}
- qDebug() << "clock: ClockAlarmListModel::populateSourceModel <--";
}
/*!
@@ -163,8 +147,6 @@
*/
QString ClockAlarmListModel::calculateRemainingTime(AlarmInfo alarmInfo)
{
- qDebug() << "clock: ClockAlarmListModel::calculateRemainingTime -->";
-
QDateTime currentDateTime = QDateTime::currentDateTime();
QDateTime alarmTime = QDateTime(
alarmInfo.alarmDateTime, alarmInfo.nextDueTime);
@@ -217,8 +199,6 @@
formatTimeNote = hbTrId("txt_clock_main_view_setlabel_in_1days");
timeNote = formatTimeNote.arg(QString::number(dayleft));
}
- qDebug() << "clock: ClockAlarmListModel::calculateRemainingTime <--";
-
return timeNote;
}
@@ -264,8 +244,6 @@
*/
void ClockAlarmListModel::updateSourceModel(int alarmId)
{
- qDebug() << "clock: ClockAlarmListModel::updateSourceModel -->";
-
Q_UNUSED(alarmId)
int alarmInfoCount;
int modelCount;
@@ -353,8 +331,6 @@
mTickTimer->stop();
}
}
-
- qDebug() << "clock: ClockAlarmListModel::updateSourceModel <--";
}
/*!
@@ -401,8 +377,6 @@
QStringList ClockAlarmListModel::getDisplayStringListforAlarmItem(
AlarmInfo alarmInfo)
{
- qDebug() << "clock: ClockAlarmListModel::getDisplayStringforAlarmItem -->";
-
QStringList displayStringList;
QString timeString;
if (Snoozed == alarmInfo.alarmState) {
@@ -426,7 +400,8 @@
QString remainingTime = calculateRemainingTime(alarmInfo);
displayStringList.append(remainingTime);
} else {
- displayStringList.append(QString(" "));
+ // TODO: localization
+ displayStringList.append(QString("In-active"));
}
QString alarmDescription = alarmInfo.alarmDesc;
@@ -453,9 +428,6 @@
}
}
displayStringList.append(repeatTypeString);
-
- qDebug() << "clock: ClockAlarmListModel::getDisplayStringforAlarmItem <--";
-
return displayStringList;
}
@@ -479,22 +451,21 @@
if (Weekly == alarmInfo.repeatType ||
Daily == alarmInfo.repeatType ||
Workday == alarmInfo.repeatType) {
- displayiconList.append(HbIcon(":/clock/alarm_repeat"));
+ displayiconList.append(HbIcon("qtg_mono_repeat"));
} else {
displayiconList.append(QVariant());
}
item->setData(displayiconList, Qt::DecorationRole);
- // The status.
- if (Enabled == alarmInfo.alarmStatus) {
- item->setData(QString(":/clock/alarm_active"), AlarmIcon);
+
+ // Set the icon for active/in-active/snoozed alarm.
+ if (Disabled == alarmInfo.alarmStatus) {
+ item->setData(QString("qtg_mono_alarm_inactive"), AlarmIcon);
+ } else if (Snoozed == alarmInfo.alarmState) {
+ // Change the alarm icon also to alarm snooze icon
+ item->setData(QString("qtg_mono_alarm_snooze"), AlarmIcon);
} else {
- item->setData(QString(":/clock/alarm_inactive"), AlarmIcon);
- }
-
- // If the alarm is snoozed.
- if (Snoozed == alarmInfo.alarmState) {
- // TODO : Change the alarm icon also to alarm snooze icon
+ item->setData(QString("qtg_mono_alarm"), AlarmIcon);
}
// The model for the list item will have:
@@ -534,24 +505,23 @@
if (Weekly == alarmInfo.repeatType ||
Daily == alarmInfo.repeatType ||
Workday == alarmInfo.repeatType) {
- displayiconList.append(HbIcon(":/clock/alarm_repeat"));
+ displayiconList.append(HbIcon("qtg_mono_repeat"));
} else {
displayiconList.append(QVariant());
}
mSourceModel->setData(
modelIndex, displayiconList, Qt::DecorationRole);
- // The status.
- if (Enabled == alarmInfo.alarmStatus) {
- mSourceModel->setData(
- modelIndex, QString(":/clock/alarm_active"), AlarmIcon);
+
+ // Set the icon for active/in-active/snoozed alarm.
+ if (Disabled == alarmInfo.alarmStatus) {
+ mSourceModel->setData(modelIndex,
+ QString("qtg_mono_alarm_inactive"), AlarmIcon);
+ } else if (Snoozed == alarmInfo.alarmState) {
+ // Change the alarm icon also to alarm snooze icon
+ mSourceModel->setData(modelIndex,
+ QString("qtg_mono_alarm_snooze"), AlarmIcon);
} else {
- mSourceModel->setData(
- modelIndex, QString(":/clock/alarm_inactive"), AlarmIcon);
- }
-
- // If the alarm is snoozed.
- if (Snoozed == alarmInfo.alarmState) {
- // TODO : Change the alarm icon also to alarm snooze icon
+ mSourceModel->setData(modelIndex, QString("qtg_mono_alarm"), AlarmIcon);
}
// The model for the list item will have:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/src/clockhomecityitem.cpp Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition file for class ClockHomeCityItem.
+*
+*/
+
+// System Includes.
+#include <QVariantMap>
+#include <HbStyleLoader>
+#include <HbTextItem>
+#include <HbIconItem>
+#include <HbFrameItem>
+#include <HbFrameDrawer>
+
+// User Includes.
+#include "clockhomecityitem.h"
+
+/*!
+ \class ClockHomeCityItem
+
+ This class creates all the primitives for ClockHomeCityItem item.
+ */
+
+/*!
+ Constructor.
+
+ \param parent Pointer to QGraphicsItem.
+ */
+ClockHomeCityItem::ClockHomeCityItem(QGraphicsItem *parent) :
+HbWidget(parent)
+{
+ // Path for widgetml and css files.
+ HbStyleLoader::registerFilePath(":/style/clockhomecityitem.css");
+ HbStyleLoader::registerFilePath(":/style/clockhomecityitem.widgetml");
+
+ // Set the frame to the homecity widget.
+ HbFrameItem *frame = new HbFrameItem();
+ frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+ frame->frameDrawer().setFrameGraphicsName("qtg_fr_groupbox");
+ setBackgroundItem(frame->graphicsItem(), -2);
+
+}
+
+/*!
+ Destructor.
+ */
+ClockHomeCityItem::~ClockHomeCityItem()
+{
+ HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.css");
+ HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.widgetml");
+}
+
+/*!
+ Sets the data for HomeCity items.
+ To set textitem data use Qt::DisplayRole
+ To set iconitem data use Qt::DecorationRole
+ \param itemData contains the data for all the primitives.
+ */
+void ClockHomeCityItem::setHomeCityItemData(const QVariantMap &itemData)
+{
+ if (!itemData.isEmpty()) {
+ QMapIterator<QString, QVariant> iter(itemData);
+ while (iter.hasNext()) {
+ iter.next();
+ int value = iter.key().toInt();
+ switch(value) {
+ case Date:
+ if (!mDateText) {
+ mDateText = new HbTextItem(this);
+ HbStyle::setItemName(mDateText, "dateText");
+ }
+ mDateText->setText(iter.value().toString());
+ break;
+ case City:
+ if (!mCityText) {
+ mCityText = new HbTextItem(this);
+ HbStyle::setItemName(mCityText, "cityText");
+ mCityText->setTextWrapping(Hb::TextNoWrap);
+ }
+ mCityText->setText(iter.value().toString());
+ break;
+ case Time:
+ if (!mTimeText) {
+ mTimeText = new HbTextItem(this);
+ HbStyle::setItemName(mTimeText, "timeText");
+ mTimeText->setTextWrapping(Hb::TextNoWrap);
+ }
+ mTimeText->setText(iter.value().toString());
+ break;
+ case DayNightIndicator:
+ if (!mDayNightIcon) {
+ mDayNightIcon = new HbIconItem(this);
+ HbStyle::setItemName(mDayNightIcon, "dayNightIcon");
+ }
+ mDayNightIcon->setIconName(iter.value().toString());
+ break;
+ case Dst:
+ if (!mDstIcon) {
+ mDstIcon = new HbIconItem(this);
+ HbStyle::setItemName(mDstIcon, "dstIcon");
+ }
+ mDstIcon->setIconName(iter.value().toString());
+ break;
+ default:
+ break;
+ }
+ }
+ repolish();
+ }
+}
+
+// End of file --Don't remove this.
--- a/clock/clockui/clockviews/src/clockmainview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockmainview.cpp Fri May 14 15:51:09 2010 +0300
@@ -18,7 +18,6 @@
// System includes
#include <QGraphicsItem>
-#include <QDebug>
#include <HbInstance>
#include <HbLabel>
#include <HbAbstractViewItem>
@@ -39,8 +38,8 @@
#include "settingsutility.h"
#include "timezoneclient.h"
#include "clockalarmlistitemprototype.h"
-#include "skinnableclock.h"
#include "clockalarmlistmodel.h"
+#include "clockwidget.h"
/*!
\class ClockMainView
@@ -56,11 +55,10 @@
ClockMainView::ClockMainView(QGraphicsItem *parent)
:HbView(parent),
mAlarmList(0),
- mSelectedItem(-1)
+ mSelectedItem(-1),
+ mIsLongTop(false)
{
- qDebug("clock: ClockMainView::ClockMainView() -->");
-
- qDebug("clock: ClockMainView::ClockMainView() <--");
+ // Nothing yet.
}
/*!
@@ -68,8 +66,6 @@
*/
ClockMainView::~ClockMainView()
{
- qDebug("clock: ClockMainView::~ClockMainView() -->");
-
if (mDocLoader) {
delete mDocLoader;
mDocLoader = 0;
@@ -78,8 +74,11 @@
delete mAlarmListModel;
mAlarmListModel = 0;
}
+ HbStyleLoader::unregisterFilePath(
+ ":/style/clockalarmlistitemprototype.css");
+ HbStyleLoader::unregisterFilePath(
+ ":/style/clockalarmlistitemprototype.widgetml");
- qDebug("clock: ClockMainView::~ClockMainView() <--");
}
/*!
@@ -92,8 +91,6 @@
void ClockMainView::setupView(
ClockAppControllerIf &controllerIf, ClockDocLoader *docLoader)
{
- qDebug("clock: ClockMainView::setupView() -->");
-
mDocLoader = docLoader;
mAppControllerIf = &controllerIf;
@@ -121,17 +118,6 @@
}
int alarmCount = displayInfoList.count();
-
- connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updatePlaceLabel()));
- connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateDateLabel()));
- connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateClockWidget()));
-
HbMainWindow *window = hbInstance->allMainWindows().first();
bool loadSuccess = false;
@@ -155,7 +141,9 @@
this,
SLOT(handleLongPress(HbAbstractViewItem*, const QPointF&)));
- HbStyleLoader::registerFilePath(CLOCK_VIEWS_STYLE_PATH);
+ HbStyleLoader::registerFilePath(":/style/clockalarmlistitemprototype.css");
+ HbStyleLoader::registerFilePath(
+ ":/style/clockalarmlistitemprototype.widgetml");
setmodel();
// Load the correct section based on orientation.
@@ -179,6 +167,36 @@
}
}
+ mDayLabel = static_cast<HbLabel *> (
+ mDocLoader->findObject("dateLabel"));
+
+ mPlaceLabel = static_cast<HbLabel *> (
+ mDocLoader->findObject("placeLabel"));
+
+
+
+ mClockWidget = static_cast<ClockWidget*> (
+ mDocLoader->findObject(CLOCK_WIDGET));
+
+ // Update the date info.
+ updateDateLabel();
+ // Update the place info.
+ updatePlaceLabel(mTimezoneClient->timeUpdateOn());
+ // Update clock widget display.
+ updateClockWidget();
+
+ // Connect to orientation change and load appropriate section.
+ connect(
+ window, SIGNAL(orientationChanged(Qt::Orientation)),
+ this, SLOT(checkOrientationAndLoadSection(Qt::Orientation)));
+}
+
+/*!
+ To defer the connects and initialization. To be done after the view is drawn.
+ Should be called in the slot of view ready.
+ */
+void ClockMainView::setupAfterViewReady()
+{
// Get the toolbar/menu actions.
mRefreshMainView = static_cast<HbAction *> (
mDocLoader->findObject("alarmsAction"));
@@ -202,48 +220,23 @@
mAddNewAlarm, SIGNAL(triggered()),
this, SLOT(addNewAlarm()));
- if (Qt::Vertical == currentOrienation) {
- // Remove toolbar item's texts as only icons are shown.
- // TODO to use text ids from ts file.
- mRefreshMainView->setText(tr(""));
- mDisplayWorldClockView->setText(tr(""));
- mAddNewAlarm->setText("");
- } else if (Qt::Horizontal == currentOrienation) {
- // Display toolbar item's texts
- // TODO to use text ids from ts file.
- mRefreshMainView->setText(tr("Alarms"));
- mDisplayWorldClockView->setText(tr("World clock"));
- mAddNewAlarm->setText("New alarm");
- }
-
mSettingsAction = static_cast<HbAction *> (
mDocLoader->findObject("settingsAction"));
connect(
mSettingsAction, SIGNAL(triggered()),
this, SLOT(openSettings()));
- mDayLabel = static_cast<HbLabel *> (
- mDocLoader->findObject("dateLabel"));
-
- mPlaceLabel = static_cast<HbLabel *> (
- mDocLoader->findObject("placeLabel"));
-
- mClockWidget = static_cast<SkinnableClock *> (
- mDocLoader->findObject("clockWidget"));
-
- // Update the date info.
- updateDateLabel();
- // Update the place info.
- updatePlaceLabel();
- // Update clock widget display.
- updateClockWidget();
-
- // Connect to orientation change and load appropriate section.
+ // Connect the necessary timezone client call backs.
+ connect(
+ mTimezoneClient, SIGNAL(timechanged()),
+ this, SLOT(updateView()));
connect(
- window, SIGNAL(orientationChanged(Qt::Orientation)),
- this, SLOT(checkOrientationAndLoadSection(Qt::Orientation)));
-
- qDebug("clock: ClockMainView::setupView() <--");
+ mTimezoneClient, SIGNAL(autoTimeUpdateChanged(int)),
+ this, SLOT(updatePlaceLabel(int)));
+ connect(
+ mTimezoneClient, SIGNAL(cityUpdated()),
+ this, SLOT(updatePlaceLabel()));
+
}
/*!
@@ -254,13 +247,15 @@
*/
void ClockMainView::handleAlarmStatusChanged(int row)
{
- qDebug() << "clock: ClockMainView::handleAlarmStatusChanged -->";
+ AlarmInfo alarmInfo;
// Get the data for the alarm.
QList<QVariant> alarmData =
mAlarmListModel->sourceModel()->index(row, 0).data(
AlarmDetails).toList();
- int alarmStatus = alarmData.at(2).value<int>();
+ int alarmId = alarmData.at(0).value<int>();
+
+ mAlarmClient->getAlarmInfo(alarmId, alarmInfo);
mSelectedItem = row;
@@ -272,19 +267,27 @@
QString displayNote;
// Activate or deactivate the alarm depending on the alarm status.
// Display the NotificationDialog with appropriate message.
- if (!alarmStatus) {
+ if (Snoozed == alarmInfo.alarmState && Enabled == alarmInfo.alarmStatus
+ && Once != alarmInfo.repeatType) {
+ removeSnoozedAlarm();
+ displayNote.append(tr("Snoozed alarm removed"));
+ }else if (Enabled == alarmInfo.alarmStatus) {
mAlarmClient->toggleAlarmStatus(alarmId, Disabled);
- displayNote.append(hbTrId("txt_clock_main_view_dpopinfo_alarm_deactivated"));
- HbNotificationDialog::launchDialog(displayNote);
+ displayNote.append(
+ hbTrId("txt_clock_main_view_dpopinfo_alarm_deactivated"));
} else {
mAlarmClient->toggleAlarmStatus(alarmId, Enabled);
- displayNote.append(hbTrId("txt_clock_main_view_dpopinfo_alarm_activated"));
- HbNotificationDialog::launchDialog(displayNote);
+ displayNote.append(
+ hbTrId("txt_clock_main_view_dpopinfo_alarm_activated"));
}
+
+ HbNotificationDialog *dialog = new HbNotificationDialog();
+ dialog->setTitle(displayNote);
+ dialog->setTimeout(HbPopup::ConfirmationNoteTimeout);
+ dialog->show();
+
mSelectedItem = -1;
}
-
- qDebug() << "clock: ClockMainView::handleAlarmStatusChanged <--";
}
/*!
@@ -293,10 +296,8 @@
*/
void ClockMainView::refreshMainView()
{
- qDebug() << "clock: ClockMainView::refreshMainView -->";
mRefreshMainView->setChecked(true);
- qDebug() << "clock: ClockMainView::refreshMainView <--";
}
/*!
@@ -305,11 +306,8 @@
*/
void ClockMainView::displayWorldClockView()
{
- qDebug() << "clock: ClockMainView::displayWorldClockView -->";
-
mAppControllerIf->switchToView(WorldClock);
- qDebug() << "clock: ClockMainView::displayWorldClockView <--";
}
/*!
@@ -318,16 +316,8 @@
*/
void ClockMainView::addNewAlarm()
{
- qDebug() << "clock: ClockMainView::addNewAlarm -->";
-
- ClockAlarmEditor *alarmEditor = new ClockAlarmEditor();
+ ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(*mAlarmClient);
alarmEditor->showAlarmEditor();
-
- connect(
- alarmEditor, SIGNAL(alarmSet()),
- this, SLOT(handleAlarmSet()));
-
- qDebug() << "clock: ClockMainView::addNewAlarm <--";
}
/*!
@@ -336,13 +326,9 @@
*/
void ClockMainView::openSettings()
{
- qDebug() << "clock: ClockMainView::openSettings -->";
-
// Create the settings view.
ClockSettingsView *settingsView = new ClockSettingsView(this);
settingsView->loadSettingsView();
-
- qDebug() << "clock: ClockMainView::openSettings <--";
}
/*!
@@ -352,23 +338,18 @@
*/
void ClockMainView::handleActivated(const QModelIndex &index)
{
- qDebug() << "clock: ClockMainView::handleActivated -->";
-
- // Get the data for the alarm.
- int row = index.row();
- QList<QVariant> alarmData =
- mAlarmListModel->sourceModel()->index(row, 0).data(
- AlarmDetails).toList();
- int alarmId = alarmData.at(0).value<int>();
+ if(!mIsLongTop) {// Get the data for the alarm.
+ int row = index.row();
+ QList<QVariant> alarmData =
+ mAlarmListModel->sourceModel()->index(row, 0).data(
+ AlarmDetails).toList();
+ int alarmId = alarmData.at(0).value<int>();
- // Construct the alarm editor.
- ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(alarmId);
- alarmEditor->showAlarmEditor();
- connect(
- alarmEditor, SIGNAL(alarmSet()),
- this, SLOT(handleAlarmSet()));
-
- qDebug() << "clock: ClockMainView::handleActivated <--";
+ // Construct the alarm editor.
+ ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(
+ *mAlarmClient, alarmId);
+ alarmEditor->showAlarmEditor();
+ }
}
/*!
@@ -381,8 +362,7 @@
void ClockMainView::handleLongPress(
HbAbstractViewItem *item, const QPointF &coords)
{
- qDebug() << "clock: ClockMainView::handleLongPress -->";
-
+ mIsLongTop = true;
AlarmInfo alarmInfo;
// Save the item row number where the long press was made.
@@ -398,16 +378,17 @@
// On long press we display item specific context menu.
HbMenu *itemContextMenu = new HbMenu();
+ connect(
+ itemContextMenu,SIGNAL(aboutToClose()),
+ this, SLOT(handleMenuClosed()));
// Add the delete action to the context menu.
- HbAction *deleteAction = itemContextMenu->addAction(
- hbTrId("txt_clk_main_view_menu_delete_alarm"));
- connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteAlarm()));
+ mDeleteAction = itemContextMenu->addAction(
+ hbTrId("txt_clk_main_view_menu_delete_alarm"));
// Show the menu.
- itemContextMenu->exec(coords);
-
- qDebug() << "clock: ClockMainView::handleLongPress <--";
+ itemContextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+ itemContextMenu->setPreferredPos(coords);
}
/*!
@@ -416,8 +397,6 @@
*/
void ClockMainView::deleteAlarm()
{
- qDebug() << "clock: ClockMainView::deleteAlarm -->";
-
if (-1 < mSelectedItem) {
// Get the data for the alarm.
QList<QVariant> alarmData = mAlarmListModel->sourceModel()->
@@ -426,41 +405,44 @@
mAlarmClient->deleteAlarm(alarmId);
mSelectedItem = -1;
}
-
- qDebug() << "clock: ClockMainView::deleteAlarm <--";
}
/*!
- Updates the day and date in the day label.
+ Deltes the snoozed alarm.
*/
-void ClockMainView::updateDateLabel()
+void ClockMainView::removeSnoozedAlarm()
{
- qDebug() << "clock: ClockMainView::updateDateLabel -->";
+ if (-1 < mSelectedItem) {
+ // Get the data for the alarm.
+ QList<QVariant> alarmData = mAlarmListModel->sourceModel()->
+ index(mSelectedItem, 0).data(AlarmDetails).toList();
+ int alarmId = alarmData.at(0).value<int>();
+ mAlarmClient->deleteSnoozedAlarm(alarmId);
+ mSelectedItem = -1;
+ }
+}
- // Get the current datetime.
- QDateTime dateTime = QDateTime::currentDateTime();
- // Get the day name.
- QString dayName = dateTime.toString("dddd");
- // Get the date in correct format.
- QString currentDate = mSettingsUtility->date();
- // Construct the day + date string.
- QString dayDateString;
- dayDateString+= dayName;
- dayDateString += " ";
- dayDateString += currentDate;
-
- mDayLabel->setPlainText(dayDateString);
-
- qDebug() << "clock: ClockMainView::updateDateLabel <--";
+void ClockMainView::updateView()
+{
+ // Update the place label.
+ updatePlaceLabel(mTimezoneClient->timeUpdateOn());
+ // Update date label.
+ updateDateLabel();
+ // Update clock widget.
+ updateClockWidget();
}
/*!
- Updates the zone info in the place label.
+ Slot which gets called for value change in auto time update in cenrep.
+
+ \param autoTimeUpdate Value of auto time update.
*/
-void ClockMainView::updatePlaceLabel()
+void ClockMainView::updatePlaceLabel(int autoTimeUpdate)
{
- qDebug() << "clock: MainViewWidget::updateClockZoneInfo -->";
-
+ if (-1 == autoTimeUpdate) {
+ autoTimeUpdate = mTimezoneClient->timeUpdateOn();
+ }
+
// Get the current zone info.
LocationInfo currentZoneInfo = mTimezoneClient->getCurrentZoneInfoL();
@@ -498,13 +480,13 @@
} else {
gmtOffset += QString::number(offsetInMinutes);
}
-
+
// Append space.
gmtOffset += tr(" ");
-
+
// Append GMT sting.
gmtOffset += hbTrId("txt_common_common_gmt");
-
+
// Append space.
gmtOffset += tr(" ");
@@ -515,7 +497,7 @@
// Update the labels with the correct info.
mPlaceLabel->clear();
- if (mTimezoneClient->timeUpdateOn()) {
+ if(autoTimeUpdate) {
mPlaceLabel->setPlainText(
currentZoneInfo.countryName + tr(" ") + gmtOffset);
} else {
@@ -523,20 +505,6 @@
currentZoneInfo.cityName + tr(", ")
+ currentZoneInfo.countryName + tr(" ") + gmtOffset);
}
-
- qDebug() << "clock: MainViewWidget::updateDayDateInfo <--";
-}
-
-/*!
- Updates the clock widget display.
- */
-void ClockMainView::updateClockWidget()
-{
- qDebug() << "clock: ClockMainView::updateClockWidget -->";
-
- mClockWidget->updateDisplay(true);
-
- qDebug() << "clock: ClockMainView::updateClockWidget <--";
}
/*!
@@ -544,8 +512,6 @@
*/
void ClockMainView::handleAlarmListDisplay()
{
- qDebug() << "clock: ClockMainView::handleAlarmListDisplay -->";
-
// Get the list of pending clock alarms from server.
QList<AlarmInfo> alarmInfoList;
QList<AlarmInfo> displayInfoList;
@@ -567,48 +533,6 @@
}
}
- qDebug() << "clock: ClockMainView::handleAlarmListDisplay <--";
-}
-
-/*!
- Sets the model to the alarm list.
- */
-void ClockMainView::setmodel()
-{
- qDebug() << "clock: ClockMainView::setmodel -->";
-
- // Set the model.
- if (mAlarmList) {
- mAlarmList->setModel(mAlarmListModel->sourceModel());
- ClockAlarmListItemPrototype *listItemPrototype =
- new ClockAlarmListItemPrototype(this);
- mAlarmList->setItemPrototype(listItemPrototype);
- mAlarmList->setLayoutName("layout-alarmlist");
- }
-
- qDebug() << "clock: ClockMainView::setmodel <--";
-}
-
-/*!
- Hides the alarmlist in the main view.
-
- \param hide 'true' if alarm list is to be hidden.
- */
-void ClockMainView::hideAlarmList(bool hide)
-{
- qDebug() << "clock: ClockMainView::hideAlarmList -->";
-
- if (hide) {
- mNoAlarmLabel->show();
- mAlarmList->hide();
- mHideAlarmList = true;
- } else {
- mAlarmList->show();
- mNoAlarmLabel->hide();
- mHideAlarmList = false;
- }
-
- qDebug() << "clock: ClockMainView::hideAlarmList <--";
}
/*!
@@ -619,31 +543,16 @@
void ClockMainView::checkOrientationAndLoadSection(
Qt::Orientation orientation)
{
- qDebug() << "clock: ClockMainView::checkOrientationAndLoadSection -->";
-
bool success;
// If horizontal, load the landscape section.
if (Qt::Horizontal == orientation) {
mDocLoader->load(
CLOCK_MAIN_VIEW_DOCML, CLOCK_MAIN_VIEW_LANDSCAPE_SECTION,
&success);
-
- // Display toolbar item's texts
- // TODO have to use text ids from ts file.
- mRefreshMainView->setText(tr("Alarms"));
- mDisplayWorldClockView->setText(tr("World clock"));
- mAddNewAlarm->setText("New alarm");
-
} else {
mDocLoader->load(
CLOCK_MAIN_VIEW_DOCML, CLOCK_MAIN_VIEW_PORTRAIT_SECTION,
&success);
-
- // Remove toolbar item's texts as only icons are shown.
- // TODO have to use text ids from ts file.
- mRefreshMainView->setText(tr(""));
- mDisplayWorldClockView->setText(tr(""));
- mAddNewAlarm->setText("");
}
if(success) {
@@ -656,8 +565,96 @@
hideAlarmList(false);
}
}
+}
- qDebug() << "clock: ClockMainView::checkOrientationAndLoadSection <--";
+/*!
+ Slot to handle context menu actions.
+ */
+void ClockMainView::selectedMenuAction(HbAction *action)
+{
+ if (action == mDeleteAction) {
+ deleteAlarm();
+ }
+}
+
+/*!
+ Slot to handle the context menu closed.
+ */
+void ClockMainView::handleMenuClosed()
+{
+ mIsLongTop = false;
+}
+/*!
+ Sets the model to the alarm list.
+ */
+void ClockMainView::setmodel()
+{
+ // Set the model.
+ if (mAlarmList) {
+ mAlarmList->setModel(mAlarmListModel->sourceModel());
+ ClockAlarmListItemPrototype *listItemPrototype =
+ new ClockAlarmListItemPrototype();
+ connect(
+ listItemPrototype, SIGNAL(alarmStatusHasChanged(int)),
+ this, SLOT(handleAlarmStatusChanged(int)));
+ mAlarmList->setItemPrototype(listItemPrototype);
+ mAlarmList->setLayoutName("layout-alarmlist");
+ }
+
+}
+
+/*!
+ Hides the alarmlist in the main view.
+
+ \param hide 'true' if alarm list is to be hidden.
+ */
+void ClockMainView::hideAlarmList(bool hide)
+{
+ if (hide) {
+ mNoAlarmLabel->show();
+ mAlarmList->hide();
+ mHideAlarmList = true;
+ } else {
+ mAlarmList->show();
+ mNoAlarmLabel->hide();
+ mHideAlarmList = false;
+ }
+}
+
+/*!
+ Updates the day and date in the day label.
+ */
+void ClockMainView::updateDateLabel()
+{
+ // Get the current datetime.
+ QDateTime dateTime = QDateTime::currentDateTime();
+ // Get the day name.
+ QString dayName = dateTime.toString("ddd");
+ // Get the date in correct format.
+ QString currentDate = mSettingsUtility->date();
+ // Construct the day + date string.
+ QString dayDateString;
+ dayDateString+= dayName;
+ dayDateString += " ";
+ dayDateString += currentDate;
+
+ mDayLabel->setPlainText(dayDateString);
+}
+
+/*!
+ Updates the zone info in the place label.
+ */
+/*void ClockMainView::updatePlaceLabel()
+{
+ updatePlaceLabel(mTimezoneClient->timeUpdateOn());
+}*/
+
+/*!
+ Updates the clock widget display.
+ */
+void ClockMainView::updateClockWidget()
+{
+ mClockWidget->updateTime();
}
// End of file --Don't remove.
--- a/clock/clockui/clockviews/src/clockworldview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockworldview.cpp Fri May 14 15:51:09 2010 +0300
@@ -20,10 +20,7 @@
#include <QGraphicsItem>
#include <QStandardItem>
#include <QStandardItemModel>
-#include <QDebug>
#include <HbInstance>
-#include <HbLabel>
-#include <HbPushButton>
#include <HbAbstractViewItem>
#include <HbMenu>
#include <HbAction>
@@ -38,7 +35,7 @@
#include "settingsutility.h"
#include "timezoneclient.h"
#include "clockcityselectionlist.h"
-#include "listitemprototype.h"
+#include "clockhomecityitem.h"
/*!
\class ClockWorldView
@@ -55,8 +52,6 @@
:HbView(parent),
mSelectedItem(-1)
{
- qDebug("clock: ClockWorldView::ClockWorldView() -->");
-
// Timer for updating list data upon time change/update.
mRefreshTimer = new QTimer();
connect(
@@ -65,8 +60,6 @@
// Create the model.
mCityListModel = new QStandardItemModel();
-
- qDebug("clock: ClockWorldView::ClockWorldView() <--");
}
/*!
@@ -74,13 +67,13 @@
*/
ClockWorldView::~ClockWorldView()
{
- qDebug("clock: ClockWorldView::~ClockWorldView() -->");
-
if (mDocLoader) {
delete mDocLoader;
+ mDocLoader = 0;
}
-
- qDebug("clock: ClockWorldView::~ClockWorldView() <--");
+ HbStyleLoader::unregisterFilePath(":/style/hblistviewitem.css");
+ HbStyleLoader::unregisterFilePath(
+ ":/style/hblistviewitem.widgetml");
}
/*!
@@ -94,8 +87,6 @@
ClockAppControllerIf &controllerIf,
ClockDocLoader *docLoader)
{
- qDebug("clock: ClockWorldView::setupView() <--");
-
mDocLoader = docLoader;
mAppControllerIf = &controllerIf;
@@ -105,50 +96,43 @@
// Establish required connections.
connect(
mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateClockDisplay()));
- connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateDayDateInfo()));
+ this, SLOT(updateAllLocationInfo()));
connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateCurrentLocationInfo()));
+ mTimezoneClient, SIGNAL(autoTimeUpdateChanged(int)),
+ this, SLOT(updateCurrentLocationInfo(int)));
connect(
- mTimezoneClient, SIGNAL(timechanged()),
- this, SLOT(updateCurrentZoneInfo()));
+ mTimezoneClient, SIGNAL(cityUpdated()),
+ this, SLOT(updateAllLocationInfo()));
mDisplayWorldClockView = static_cast<HbAction *> (
- mDocLoader->findObject("worldClockAction"));
+ mDocLoader->findObject("worldClockAction"));
mDisplayWorldClockView->setCheckable(true);
mDisplayWorldClockView->setChecked(true);
connect(
- mDisplayWorldClockView, SIGNAL(changed()),
- this, SLOT(refreshWorldView()));
+ mDisplayWorldClockView, SIGNAL(changed()),
+ this, SLOT(refreshWorldView()));
// Get the currently added locations to the list.
mCityInfoList = mTimezoneClient->getSavedLocations();
- // Create the custom prototype.
- ListItemPrototype *customPrototype = new ListItemPrototype();
+ // Get the homecity widget.
+ mHomeCityWidget = qobject_cast<ClockHomeCityItem *>(
+ mDocLoader->findWidget(CLOCK_WORLD_HOMECITY));
+
+ // Get the city list item.
mCityListView = qobject_cast<HbListView *> (
- mDocLoader->findWidget("worldClockCityListView"));
- HbStyleLoader::registerFilePath(":/style/");
+ mDocLoader->findWidget(CLOCK_WORLD_CITYLIST));
+ HbStyleLoader::registerFilePath(":/style/hblistviewitem.css");
+ HbStyleLoader::registerFilePath(
+ ":/style/hblistviewitem.widgetml");
+ mCityListView->setLayoutName("citylist-portrait");
mCityListView->setModel(mCityListModel);
- mCityListView->setItemPrototype(customPrototype);
- mCityListView->setLayoutName("custom");
-
- mPlaceLabel =
- qobject_cast<HbLabel *> (mDocLoader->findWidget("placeLabel"));
-// mPlaceLabel->setTextWrapping(Hb::TextWordWrap);
-
- mDayDateLabel =
- qobject_cast<HbLabel *> (mDocLoader->findWidget("dateLabel"));
-
+
// Get the toolbar/menu actions.
mAddCityAction = static_cast<HbAction *> (
mDocLoader->findObject("addCityAction"));
- mAddCityAction->setIcon(HbIcon(":/clock/add_new_city.svg"));
connect(
mAddCityAction, SIGNAL(triggered()),
this, SLOT(handleAddLocation()));
@@ -159,13 +143,11 @@
mShowAlarmsViewAction, SIGNAL(triggered()),
this, SLOT(showAlarmsView()));
- HbMainWindow *window;
- window = hbInstance->allMainWindows().first();
- updateToolbarTexts(window->orientation());
+ HbMainWindow *window = hbInstance->allMainWindows().first();
connect(
window, SIGNAL(orientationChanged(Qt::Orientation)),
- this, SLOT(updateToolbarTexts(Qt::Orientation)));
+ this, SLOT(loadSection(Qt::Orientation)));
if (mCityInfoList.count() > 0) {
// There is atleast one city. Refresh needed.
@@ -175,25 +157,34 @@
mRefreshTimer->start(after * 1000);
}
- // Update the date and day info.
- updateDayDateInfo();
-
connect(
mCityListView,
SIGNAL(longPressed(HbAbstractViewItem *, const QPointF &)),
this,
SLOT(handleItemLongPressed(HbAbstractViewItem *, const QPointF &)));
+ // Update current location info.
+ updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
+
// Populate the list.
- int index = 0;
- // Update current location info.
- updateCurrentLocationInfo();
-
- for (; index < mCityInfoList.count(); index++) {
+ for (int index = 0; index < mCityInfoList.count(); index++) {
addCityToList(mCityInfoList.at(index));
}
+
+ // Adding the "Add city" in options menu.
+ mAddCityMenuAction = new HbAction(
+ QString(hbTrId("txt_clock_opt_add_city")),this);
+ menu()->addAction(mAddCityMenuAction);
+ mAddCityMenuAction->setVisible(true);
+ connect(
+ mAddCityMenuAction, SIGNAL(triggered()),
+ this, SLOT(handleAddLocation()));
- qDebug("clock: ClockWorldView::setupView() <--");
+ // Check for disabling of addCityAction in view toolbar.
+ if ((KMaximumCityListCount-1) == mCityInfoList.count()) {
+ mAddCityAction->setEnabled(false);
+ mAddCityMenuAction->setVisible(false);
+ }
}
/*!
@@ -201,46 +192,19 @@
*/
void ClockWorldView::refreshCityList()
{
+ updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
int cityInfoCount = mCityInfoList.count();
if (cityInfoCount) {
QStandardItem *item = 0;
for (int infoIndex = 0; infoIndex < cityInfoCount; infoIndex++) {
item = mCityListModel->item(infoIndex);
-
- QDateTime dateTime = QDateTime::currentDateTime();
- dateTime = dateTime.toUTC();
- dateTime = dateTime.addSecs(
- mCityInfoList.at(infoIndex).zoneOffset * 60);
-
- // Display day/night indicators.
- QString dayNightIconPath = "";
- if (isDay(dateTime)) {
- dayNightIconPath = ":/clock/day";
- } else {
- dayNightIconPath = ":/clock/night";
- }
- item->setData(dayNightIconPath, Qt::UserRole + 1000);
-
- // Update the date info.
- QString dateInfo = dateTime.toString(
- mSettingsUtility->dateFormatString());
- if (dateTime.date() == QDate::currentDate()) {
- dateInfo = tr("Today");
- }
- item->setData(dateInfo, Qt::UserRole + 1001);
-
- // Set the DST icon.
- QString dstIconPath = "";
- if (mCityInfoList.at(infoIndex).dstOn) {
- dstIconPath = ":/clock/dst_icon";
- }
- item->setData(dstIconPath, Qt::UserRole + 1004);
-
- // Update the time info.
- QString timeInfo = dateTime.toString(
- mSettingsUtility->timeFormatString());
- item->setData(timeInfo, Qt::UserRole + 1005);
+ item->setData(
+ getCityListDisplayString(mCityInfoList.at(infoIndex)),
+ Qt::DisplayRole);
+ item->setData(
+ getCityListDecorationString(mCityInfoList.at(infoIndex)),
+ Qt::DecorationRole);
}
// Start the timer again for one minute.
@@ -249,101 +213,64 @@
}
/*!
- Updates the clock display.
+ Updates the current location info.
*/
-void ClockWorldView::updateClockDisplay()
-{
-// mSkinnableClock->updateDisplay(true);
-}
-
-/*!
- Updates the day-date info.
- */
-void ClockWorldView::updateDayDateInfo()
+void ClockWorldView::updateCurrentLocationInfo(int networkTime)
{
- // Get the current datetime.
- QDateTime dateTime = QDateTime::currentDateTime();
- QString dayName = dateTime.toString("dddd");
+ HbMainWindow *window = hbInstance->allMainWindows().first();
+ Qt::Orientation currentOrienation = window->orientation();
+ loadSection(currentOrienation);
+
+ if (!networkTime) {
+ // Get the updated home city.
+ LocationInfo homeCity = mTimezoneClient->getCurrentZoneInfoL();
+
+ QMap<QString, QVariant> itemList;
+ QString value;
+ QDateTime dateTime = QDateTime::currentDateTime();
+
+ // Show the date. If date is current date then show 'today'.
+ QString dateInfo = dateTime.toString(
+ mSettingsUtility->dateFormatString());
+ itemList.insert(value.setNum(ClockHomeCityItem::Date), dateInfo);
+
+ // Show the city and country name.
+ QString placeInfo =
+ homeCity.cityName + tr(", ") + homeCity.countryName;
+ itemList.insert(value.setNum(ClockHomeCityItem::City), placeInfo);
- QString currentDate = mSettingsUtility->date();
- // Construct the day + date string.
- QString dayDateString;
- dayDateString+= dayName;
- dayDateString += " ";
- dayDateString += currentDate;
+ // Show the time at that location.
+ QString timeInfo = dateTime.toString(
+ mSettingsUtility->timeFormatString());
+ itemList.insert(value.setNum(ClockHomeCityItem::Time), timeInfo);
- mDayDateLabel->clear();
- mDayDateLabel->setPlainText(dayDateString);
+ // TODO: Use the home city specific icons.
+ // Display day/night indicators.
+ QString dayNightIconPath = "";
+ if (isDay(dateTime)) {
+ dayNightIconPath = "qtg_large_clock";
+ } else {
+ dayNightIconPath = "qtg_large_clock";
+ }
+ itemList.insert(value.setNum(
+ ClockHomeCityItem::DayNightIndicator), dayNightIconPath);
+
+ // Show dst icon when needed.
+ if (homeCity.dstOn) {
+ QString dstIconPath = "qtg_mono_day_light_saving_time";
+ itemList.insert(value.setNum(ClockHomeCityItem::Dst), dstIconPath);
+ }
+ mHomeCityWidget->setHomeCityItemData(itemList);
+ }
}
/*!
- Updates the current location info.
- */
-void ClockWorldView::updateCurrentLocationInfo()
-{
- // Get the updated home city.
- LocationInfo homeCity = mTimezoneClient->getCurrentZoneInfoL();
-
- // Construct the GMT +/- X string.
- QString gmtOffset;
-
- int utcOffset = homeCity.zoneOffset;
- int offsetInHours (utcOffset/60);
- int offsetInMinutes (utcOffset%60);
-
- // Check wether the offset is +ve or -ve.
- if (0 < utcOffset) {
- // We have a positive offset. Append the '+' character.
- gmtOffset += tr(" +");
- } else if (0 > utcOffset) {
- // We have a negative offset. Append the '-' character.
- gmtOffset += tr(" -");
- offsetInHours = -offsetInHours;
- } else {
- // We dont have an offset. We are at GMT zone.
- }
-
- // Append the hour component.
- gmtOffset += QString::number(offsetInHours);
-
- // Get the time separator from settings and append it.
- QStringList timeSeparatorList;
- int index = mSettingsUtility->timeSeparator(timeSeparatorList);
- gmtOffset += timeSeparatorList.at(index);
+ Handles the long press on each item in the citylist.
+ Displays a list item specific context menu.
- // Append the minute component.
- // If minute component is less less than 10, append a '00'
- if (0 <= offsetInMinutes && offsetInMinutes < 10) {
- gmtOffset += tr("00");
- } else {
- gmtOffset += QString::number(offsetInMinutes);
- }
-
- // Append space.
- gmtOffset += tr(" ");
-
- // Append GMT sting.
- gmtOffset += hbTrId("txt_common_common_gmt");
-
- // Append space.
- gmtOffset += tr(" ");
-
- // Append DST info.
- if (homeCity.dstOn) {
- gmtOffset += hbTrId("txt_common_setlabel_dst");
- }
-
- // Set the city and country name .
- mPlaceLabel->clear();
- if (mTimezoneClient->timeUpdateOn()) {
- mPlaceLabel->setPlainText(homeCity.countryName + tr(" ") + gmtOffset);
- } else {
- mPlaceLabel->setPlainText(
- homeCity.cityName + tr(", ") + homeCity.countryName
- + tr(" ") + gmtOffset);
- }
-}
-
+ \param item The HbAbstractViewItem that was long pressed.
+ \param coords The position where mouse was pressed.
+ */
void ClockWorldView::handleItemLongPressed(
HbAbstractViewItem *item, const QPointF &coords)
{
@@ -355,19 +282,13 @@
// Add the actions to the context menu.
mSetCurrentLocationAction = itemContextMenu->addAction(
- hbTrId("txt_clk_menu_set_as_current_location"));
+ hbTrId("txt_clk_menu_set_as_current_location"));
mRemoveCityAction = itemContextMenu->addAction(
- hbTrId("txt_clk_menu_delete"));
-
- connect(
- mSetCurrentLocationAction, SIGNAL(triggered()),
- this, SLOT(handleSetAsCurrentLocationAction()));
- connect(
- mRemoveCityAction, SIGNAL(triggered()),
- this, SLOT(handleDeleteAction()));
+ hbTrId("txt_clk_menu_delete"));
// Show the menu.
- itemContextMenu->exec(coords);
+ itemContextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+ itemContextMenu->setPreferredPos(coords);
}
/*!
@@ -393,14 +314,10 @@
void ClockWorldView::handleDeleteAction()
{
if (-1 != mSelectedItem) {
- int temp = mCityListModel->rowCount();
-
QStandardItem *item = mCityListModel->takeItem(mSelectedItem);
mCityListModel->removeRow(mSelectedItem);
delete item;
- temp = mCityListModel->rowCount();
-
mCityInfoList.removeAt(mSelectedItem);
mSelectedItem = -1;
@@ -410,6 +327,10 @@
if (mCityInfoList.count() <= 0) {
// No need to refresh the list anymore.
mRefreshTimer->stop();
+ } else if (mCityInfoList.count() < (KMaximumCityListCount-1) &&
+ !mAddCityAction->isEnabled()) {
+ mAddCityAction->setEnabled(true);
+ mAddCityMenuAction->setVisible(true);
}
}
}
@@ -419,66 +340,37 @@
*/
void ClockWorldView::handleSetAsCurrentLocationAction()
{
+ // Get the info of the selected item.
+ LocationInfo newHomeCity = mCityInfoList[mSelectedItem];
+
// Check if time update is set to ON.
// If yes, reset it to OFF and change the home location.
if (mTimezoneClient->timeUpdateOn()) {
mTimezoneClient->setTimeUpdateOn(false);
+
+ QStandardItem *item = mCityListModel->takeItem(mSelectedItem);
+ mCityListModel->removeRow(mSelectedItem);
+ delete item;
+
+ mCityInfoList.removeAt(mSelectedItem);
} else {
// The current location and home city should be swapped.
// Store the info of current home city.
LocationInfo oldHomeCity = mTimezoneClient->getCurrentZoneInfoL();
- // Get the info of the selected item.
- LocationInfo newHomeCity = mCityInfoList[mSelectedItem];
-
- QStandardItem *cityItem = mCityListModel->item(mSelectedItem);
- QDateTime dateTime = QDateTime::currentDateTime();
-
- // Display day/night indicators.
- QString dayNightIconPath = "";
- if (isDay(dateTime)) {
- dayNightIconPath = ":/clock/day";
- } else {
- dayNightIconPath = ":/clock/night";
- }
- cityItem->setData(dayNightIconPath, Qt::UserRole + 1000);
-
- // Date.
- QString dateString = dateTime.toString(
- mSettingsUtility->dateFormatString());
- if (dateTime.date() == QDate::currentDate()) {
- dateString = tr("Today");
- }
- cityItem->setData(dateString, Qt::UserRole + 1001);
-
- // The city/country name.
- QString placeInfo =
- oldHomeCity.cityName + tr(", ") + oldHomeCity.countryName;
- cityItem->setData(placeInfo, Qt::UserRole + 1002);
-
- // Dst icon.
- QString dstIconPath = "";
- if (oldHomeCity.dstOn) {
- dstIconPath = ":/clock/dst_icon";
- }
- cityItem->setData(dstIconPath, Qt::UserRole + 1004);
-
- // Time.
- QString timeString = dateTime.toString(
- mSettingsUtility->timeFormatString());
- cityItem->setData(timeString, Qt::UserRole + 1005);
// Update the info list.
mCityInfoList.removeAt(mSelectedItem);
mCityInfoList.insert(mSelectedItem, oldHomeCity);
- // Update the home city with the timezone server.
- mTimezoneClient->setAsCurrentLocationL(newHomeCity);
+
+ }
+ // Update the home city with the timezone server.
+ mTimezoneClient->setAsCurrentLocationL(newHomeCity);
- // Update the current location info.
- updateCurrentLocationInfo();
+ // Update the current location info.
+ updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
- // Update the offset difference in each list item.
- updateOffsetDifferences();
- }
+ // Update the offset difference in each list item.
+ refreshCityList();
// Update the data file.
mTimezoneClient->saveLocations(mCityInfoList);
@@ -499,15 +391,20 @@
// Now we check if the city is already added in the list.
bool proceed = true;
for (int i = 0; i < mCityInfoList.count(); i++) {
- if (info.timezoneId == mCityInfoList.at(i).timezoneId) {
+ if (info.timezoneId == mCityInfoList.at(i).timezoneId
+ && (info.cityName == mCityInfoList.at(i).cityName)
+ && (info.countryName == mCityInfoList.at(i).countryName) ) {
proceed = false;
break;
}
}
+ LocationInfo currentCity = mTimezoneClient->getCurrentZoneInfoL();
// Check if the selected city is not the home city.
- if (info.timezoneId
- == mTimezoneClient->getCurrentZoneInfoL().timezoneId) {
+ if (
+ (info.timezoneId == currentCity.timezoneId)
+ && (info.cityName == currentCity.cityName)
+ && (info.countryName == currentCity.countryName)) {
proceed = false;
}
@@ -528,7 +425,11 @@
}
}
}
-
+ if ((KMaximumCityListCount-1) == mCityInfoList.count() &&
+ mAddCityAction->isEnabled()) {
+ mAddCityAction->setEnabled(false);
+ mAddCityMenuAction->setVisible(false);
+ }
// Cleanup.
mCitySelectionList->deleteLater();
}
@@ -536,87 +437,82 @@
/*!
Navigates to the clock alarms view.
*/
-
void ClockWorldView::showAlarmsView()
{
- qDebug() << "clock: ClockWorldView::showAlarmsView -->";
+ mAppControllerIf->switchToView(MainView);
+}
- mAppControllerIf->switchToView(MainView);
-
- qDebug() << "clock: ClockWorldView::showAlarmsView <--";
+/*!
+ Slot which gets called when `World Clock' action is triggered from the view
+ toolbar. This is responsible for reloading the content of worldclock view.
+ */
+void ClockWorldView::refreshWorldView()
+{
+ mDisplayWorldClockView->setChecked(true);
}
/*!
- Updates the offset difference shown in each item with respect to the home
- city.
+ Loads the appropriate section based on window orientaion.
*/
-void ClockWorldView::updateOffsetDifferences()
+void ClockWorldView::loadSection(Qt::Orientation orientation)
{
- // Get the home city information.
- LocationInfo homeCityInfo = mTimezoneClient->getCurrentZoneInfoL();
-
- for (int iter = 0; iter < mCityListModel->rowCount(); iter++) {
- QModelIndex index = mCityListModel->index(iter, 0);
- LocationInfo cityInfo = mCityInfoList[iter];
-
- // Find out if the city being added has an offset greater than or less
- // than the homecity offset.
- QString offsetDifference;
- if (cityInfo.zoneOffset < homeCityInfo.zoneOffset) {
- offsetDifference += "-";
- } else if (cityInfo.zoneOffset > homeCityInfo.zoneOffset) {
- offsetDifference += "+";
+ bool networkTime = mTimezoneClient->timeUpdateOn();
+ bool loadSuccess;
+ if (Qt::Horizontal == orientation) {
+ if (networkTime) {
+ // Do not show home city.
+ mDocLoader->load(
+ CLOCK_WORLD_VIEW_DOCML,
+ CLOCK_WORLD_VIEW_LANDSCAPE_NOHOMECITY_SECTION,
+ &loadSuccess);
+ mHomeCityWidget->hide();
+ } else {
+ mDocLoader->load(
+ CLOCK_WORLD_VIEW_DOCML,
+ CLOCK_WORLD_VIEW_LANDSCAPE_HOMECITY_SECTION,
+ &loadSuccess);
+ mHomeCityWidget->show();
}
- // Now get the hours and minutes.
- int difference =
- qAbs(homeCityInfo.zoneOffset - cityInfo.zoneOffset);
- int hours = difference / 60;
- int minutes = difference % 60;
- offsetDifference += QString::number(hours);
- offsetDifference += "hrs";
- if (minutes) {
- offsetDifference += ", ";
- offsetDifference += QString::number(minutes);
- offsetDifference += "mins";
+ } else if (Qt::Vertical == orientation) {
+ if (networkTime) {
+ // Do not show home city.
+ mDocLoader->load(
+ CLOCK_WORLD_VIEW_DOCML,
+ CLOCK_WORLD_VIEW_PORTRAIT_NOHOMECITY_SECTION,
+ &loadSuccess);
+ mHomeCityWidget->hide();
+ } else {
+ // Show home city.
+ mDocLoader->load(
+ CLOCK_WORLD_VIEW_DOCML,
+ CLOCK_WORLD_VIEW_PORTRAIT_HOMECITY_SECTION,
+ &loadSuccess);
+ mHomeCityWidget->show();
}
- // TODO : Need to enable these code once we recieve the localisation.
- /*QString displayFormat = tr("%1hrs, %2mins");
- QString offsetString = displayFormat.arg(hours, minutes);
- offsetDifference += offsetString;*/
- mCityListModel->setData(index, offsetDifference, Qt::UserRole + 1003);
}
+ mCityListView->update();
}
/*!
- Slot which gets called when `World Clock' action is triggered from the view
- toolbar. This is responsible for reloading the content of the world clock view.
+ Slot which gets called for timeChanged signal of timezone client.
+ Refreshes both homecity & city list.
*/
-void ClockWorldView::refreshWorldView()
+void ClockWorldView::updateAllLocationInfo()
{
- qDebug() << "clock: ClockWorldView::refreshWorldView -->";
-
- mDisplayWorldClockView->setChecked(true);
-
- qDebug() << "clock: ClockWorldView::refreshWorldView <--";
+ updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
+ updateCityList();
+ refreshCityList();
}
/*!
- Slot to handle orientation changes
+ Slot to handle the selected context menu actions
*/
-void ClockWorldView::updateToolbarTexts(Qt::Orientation currentOrientation)
+void ClockWorldView::selectedMenuAction(HbAction *action)
{
- if (Qt::Horizontal == currentOrientation) {
- // Display toolbar item's texts
- // TODO to use text ids from ts file.
- mShowAlarmsViewAction->setText(tr("Alarms"));
- mDisplayWorldClockView->setText(tr("World clock"));
- mAddCityAction->setText(tr("Add city"));
- } else if(Qt::Vertical == currentOrientation){
- // Remove toolbar item's texts as only icons are shown.
- // TODO to use text ids from ts file.
- mShowAlarmsViewAction->setText(tr(""));
- mDisplayWorldClockView->setText(tr(""));
- mAddCityAction->setText("");
+ if (action == mSetCurrentLocationAction) {
+ handleSetAsCurrentLocationAction();
+ } else if (action == mRemoveCityAction) {
+ handleDeleteAction();
}
}
@@ -630,95 +526,17 @@
// Here we construct a model item and add it to the list model.
QStandardItem *modelItem = new QStandardItem();
- QDateTime dateTime = QDateTime::currentDateTime();
- dateTime = dateTime.toUTC();
- dateTime = dateTime.addSecs(locationInfo.zoneOffset * 60);
-
- // Display day/night indicators.
- QString dayNightIconPath = "";
- if (isDay(dateTime)) {
- dayNightIconPath = ":/clock/day";
- } else {
- dayNightIconPath = ":/clock/night";
- }
- modelItem->setData(dayNightIconPath, Qt::UserRole + 1000);
-
- // Show the date. If date is current date then show 'today'.
- QString dateInfo = dateTime.toString(mSettingsUtility->dateFormatString());
- if (dateTime.date() == QDate::currentDate()) {
- dateInfo = tr("Today");
- }
- modelItem->setData(dateInfo, Qt::UserRole + 1001);
-
- // Show the city and country name.
- QString placeInfo =
- locationInfo.cityName + tr(", ") + locationInfo.countryName;
- modelItem->setData(placeInfo, Qt::UserRole + 1002);
-
- // Get the homecity information.
- LocationInfo homeCityInfo = mTimezoneClient->getCurrentZoneInfoL();
- // Find out if the city being added has an offset greater than or less than
- // the homecity offset.
- QString offsetDifference;
- if (locationInfo.zoneOffset < homeCityInfo.zoneOffset) {
- offsetDifference += "-";
- } else if (locationInfo.zoneOffset > homeCityInfo.zoneOffset) {
- offsetDifference += "+";
- }
- // Now get the hours and minutes.
- int difference = qAbs(homeCityInfo.zoneOffset - locationInfo.zoneOffset);
- int hours = difference / 60;
- int minutes = difference % 60;
-
- if ( hours && minutes ) {
- if (hours == 1) {
- QString displayFormat =
- hbTrId("txt_clock_dblist_daily_val_1_hr_2_mins");
- QString offsetString = displayFormat.arg(hours).arg(minutes);
- offsetDifference += offsetString;
- }
- else {
- QString displayFormat =
- hbTrId("txt_clock_dblist_daily_val_1_hrs_2_mins");
- QString offsetString = displayFormat.arg(hours).arg(minutes);
- offsetDifference += offsetString;
- }
- }
- else if ( hours ){
- if(hours == 1 ) {
- QString displayFormat = hbTrId("txt_clock_dblist_val_1_hr");
- QString offsetString = displayFormat.arg(hours);
- offsetDifference += offsetString;
- }
- else {
- QString displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
- QString offsetString = displayFormat.arg(hours);
- offsetDifference += offsetString;
- }
- }
- else if (minutes){
- QString displayFormat = hbTrId("txt_clock_dblist_val_1_mins");
- QString offsetString = displayFormat.arg(minutes);
- offsetDifference += offsetString;
- }
-
- modelItem->setData(offsetDifference, Qt::UserRole + 1003);
-
- // Show dst icon when needed.
- QString dstIconPath = "";
- if (locationInfo.dstOn) {
- dstIconPath = ":/clock/dst_icon";
- }
- modelItem->setData(dstIconPath, Qt::UserRole + 1004);
-
- // Show the time at that location.
- QString timeInfo = dateTime.toString(mSettingsUtility->timeFormatString());
- modelItem->setData(timeInfo, Qt::UserRole + 1005);
-
// Add the item to the model.
mCityListModel->appendRow(modelItem);
- return(mCityListModel->indexFromItem(modelItem));
+ QModelIndex index = mCityListModel->indexFromItem(modelItem);
+ mCityListModel->setData(
+ index, getCityListDisplayString(locationInfo), Qt::DisplayRole);
+ mCityListModel->setData(
+ index, getCityListDecorationString(locationInfo),
+ Qt::DecorationRole);
+
+ return index;
}
/*!
@@ -737,4 +555,167 @@
return true;
}
+/*!
+ Returns the QVariantList for citylist to be set for DisplayRole.
+
+ /param locationInfo Details of the city to be added to the list.
+ */
+QVariantList ClockWorldView::getCityListDisplayString(
+ const LocationInfo& locationInfo)
+{
+ QVariantList displayString;
+ QDateTime dateTime = QDateTime::currentDateTime();
+ dateTime = dateTime.toUTC();
+ dateTime = dateTime.addSecs(locationInfo.zoneOffset * 60);
+
+ // Show the date. If date is current date then show 'today'.
+ QString dateInfo = dateTime.toString(mSettingsUtility->dateFormatString());
+ if (dateTime.date() == QDate::currentDate()) {
+ dateInfo = hbTrId("txt_clock_main_view_dblist_daily_val_today");
+ }
+ displayString.append(dateInfo);
+
+ // Show the city and country name.
+ QString placeInfo =
+ locationInfo.cityName + tr(", ") + locationInfo.countryName;
+ displayString.append(placeInfo);
+
+ // Get the homecity information.
+ LocationInfo homeCityInfo = mTimezoneClient->getCurrentZoneInfoL();
+ // Find out if the city being added has an offset greater than or less than
+ // the homecity offset.
+ QString offsetDifference;
+ if (locationInfo.zoneOffset < homeCityInfo.zoneOffset) {
+ offsetDifference += "-";
+ } else if (locationInfo.zoneOffset > homeCityInfo.zoneOffset) {
+ offsetDifference += "+";
+ }
+ // Now get the hours and minutes.
+ int difference = qAbs(homeCityInfo.zoneOffset - locationInfo.zoneOffset);
+ int hours = difference / 60;
+ int minutes = difference % 60;
+ QString displayFormat("");
+ QString offsetString("");
+
+ if ( hours && minutes ) {
+ if (hours == 1) {
+ displayFormat =
+ hbTrId("txt_clock_dblist_daily_val_1_hr_2_mins");
+ offsetString = displayFormat.arg(hours).arg(minutes);
+ offsetDifference += offsetString;
+ }
+ else {
+ displayFormat =
+ hbTrId("txt_clock_dblist_daily_val_1_hrs_2_mins");
+ offsetString = displayFormat.arg(hours).arg(minutes);
+ offsetDifference += offsetString;
+ }
+ }
+ else if ( hours ){
+ if(hours == 1 ) {
+ displayFormat = hbTrId("txt_clock_dblist_val_1_hr");
+ offsetString = displayFormat.arg(hours);
+ offsetDifference += offsetString;
+ }
+ else {
+ displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
+ offsetString = displayFormat.arg(hours);
+ offsetDifference += offsetString;
+ }
+ }
+ else if (minutes){
+ displayFormat = hbTrId("txt_clock_dblist_val_1_mins");
+ offsetString = displayFormat.arg(minutes);
+ offsetDifference += offsetString;
+ } else {
+ displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
+ offsetString = displayFormat.arg(0);
+ offsetDifference += offsetString;
+ }
+ displayString.append(offsetDifference);
+
+ // Show the time at that location.
+ QString timeInfo = dateTime.toString(mSettingsUtility->timeFormatString());
+ displayString.append(timeInfo);
+
+ return displayString;
+}
+
+/*!
+ Returns the QVariantList for citylist to be set for DecorationRole.
+
+ /param locationInfo Details of the city to be added to the list.
+ */
+QVariantList ClockWorldView::getCityListDecorationString(
+ const LocationInfo& locationInfo)
+{
+ QVariantList decorationString;
+ QDateTime dateTime = QDateTime::currentDateTime();
+ dateTime = dateTime.toUTC();
+ dateTime = dateTime.addSecs(locationInfo.zoneOffset * 60);
+
+ // Display day/night indicators.
+ // TODO: change the icon name for night when available.
+ QString dayNightIconPath = "";
+ if (isDay(dateTime)) {
+ dayNightIconPath = "qtg_large_clock";
+ } else {
+ dayNightIconPath = "qtg_large_clock";
+ }
+ decorationString.append(HbIcon(dayNightIconPath));
+
+ // Show dst icon when needed.
+ if (locationInfo.dstOn) {
+ QString dstIconPath = "qtg_mono_day_light_saving_time";
+ decorationString.append(HbIcon(dstIconPath));
+ }
+ return decorationString;
+
+}
+
+/*!
+ Updates the city list according to the home city.
+ */
+void ClockWorldView::updateCityList()
+{
+ int cityInfoCount = mCityInfoList.count();
+
+ if (cityInfoCount) {
+ bool deletion = false;
+ int index;
+ LocationInfo currentCity = mTimezoneClient->getCurrentZoneInfoL();
+ for (index = 0; index < cityInfoCount; index++) {
+ if (currentCity.timezoneId == mCityInfoList.at(index).timezoneId
+ && (currentCity.cityName ==
+ mCityInfoList.at(index).cityName)
+ && (currentCity.countryName ==
+ mCityInfoList.at(index).countryName) ) {
+ deletion = true;
+ break;
+ }
+ }
+ if (deletion) {
+ QStandardItem *item = mCityListModel->takeItem(index);
+ mCityListModel->removeRow(index);
+ delete item;
+
+ mCityInfoList.removeAt(index);
+ index = -1;
+
+ // Update the data file.
+ mTimezoneClient->saveLocations(mCityInfoList);
+
+ if (mCityInfoList.count() <= 0) {
+ // No need to refresh the list anymore.
+ mRefreshTimer->stop();
+ } else if (mCityInfoList.count() < (KMaximumCityListCount-1) &&
+ !mAddCityAction->isEnabled()) {
+ mAddCityAction->setEnabled(true);
+ mAddCityMenuAction->setVisible(true);
+ }
+
+ }
+ }
+}
+
// End of file-- Don't delete.
--- a/clock/clockui/clockviews/src/listitemprototype.cpp Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Definition file for class ListItemPrototype.
-*
-*/
-
-// System includes
-#include <QDebug>
-#include <QGraphicsLinearLayout>
-#include <HbAbstractViewItem>
-#include <HbIconItem>
-#include <HbStyle>
-#include <HbTextItem>
-
-// User includes
-#include "listitemprototype.h"
-
-/*!
- \class ListItemPrototype
-
- Prototype class for the World clock city list.
- */
-
-/*!
- Default constructor.
-
- \parent of type QGraphicsItem.
- */
-ListItemPrototype::ListItemPrototype(QGraphicsItem *parent)
-:HbListViewItem(parent),
- mDayNightIcon(0),
- mDateText(0),
- mCityText(0),
- mOffsetText(0),
- mDstIcon(0),
- mTimeText(0)
-{
- // Nothing yet.
-}
-
-/*!
- Destructor.
- */
-ListItemPrototype::~ListItemPrototype()
-{
- // Nothing yet.
-}
-
-/*!
- From HbListViewItem.
-
- \sa HbAbstractViewItem, HbListViewItem.
- */
-HbAbstractViewItem *ListItemPrototype::createItem()
-{
- return new ListItemPrototype(*this);
-}
-
-/*!
- Called for every view item in the list.
-
- \sa HbAbstractViewItem, HbListViewItem.
- */
-void ListItemPrototype::updateChildItems()
-{
- // First allow the base class to update.
- HbListViewItem::updateChildItems();
-
- // Create the individual items.
- // Create day-night icon.
- if (!mDayNightIcon) {
- mDayNightIcon = new HbIconItem(this);
- style()->setItemName(mDayNightIcon, "dayNightIcon");
- }
- mDayNightIcon->setIconName(
- modelIndex().data(Qt::UserRole + 1000).value<QString>());
-
- // Create the date text item.
- if (!mDateText) {
- mDateText = new HbTextItem(this);
- style()->setItemName(mDateText, "dateText");
- }
- mDateText->setText(modelIndex().data(Qt::UserRole + 1001).toString());
-
- // Create the city, country name text item.
- if (!mCityText) {
- mCityText = new HbTextItem(this);
- mCityText->setTextWrapping(Hb::TextNoWrap);
- style()->setItemName(mCityText, "cityText");
- }
- mCityText->setText(modelIndex().data(Qt::UserRole + 1002).toString());
-
- // Create the offset text item.
- if (!mOffsetText) {
- mOffsetText = new HbTextItem(this);
- style()->setItemName(mOffsetText, "offsetText");
- }
- mOffsetText->setText(modelIndex().data(Qt::UserRole + 1003).toString());
-
- // Create dst icon.
- if (!mDstIcon) {
- mDstIcon = new HbIconItem(this);
- style()->setItemName(mDstIcon, "dstIcon");
- }
- mDstIcon->setIconName(
- modelIndex().data(Qt::UserRole + 1004).value<QString>());
-
- // Create the time text item.
- if (!mTimeText) {
- mTimeText = new HbTextItem(this);
- style()->setItemName(mTimeText, "timeText");
- }
- mTimeText->setText(modelIndex().data(Qt::UserRole + 1005).toString());
-}
-
-// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/bwins/clockwidgetu.def Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,18 @@
+EXPORTS
+ ?tr@ClockWidget@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString ClockWidget::tr(char const *, char const *, int)
+ ?staticMetaObject@ClockWidget@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const ClockWidget::staticMetaObject
+ ??1ClockWidget@@UAE@XZ @ 3 NONAME ; ClockWidget::~ClockWidget(void)
+ ??0ClockWidget@@QAE@PAVQGraphicsItem@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 4 NONAME ; ClockWidget::ClockWidget(class QGraphicsItem *, class QFlags<enum Qt::WindowType>)
+ ?qt_metacast@ClockWidget@@UAEPAXPBD@Z @ 5 NONAME ; void * ClockWidget::qt_metacast(char const *)
+ ?updateTime@ClockWidget@@QAEXXZ @ 6 NONAME ; void ClockWidget::updateTime(void)
+ ?setClockType@ClockWidget@@QAEXABW4ClockType@1@@Z @ 7 NONAME ; void ClockWidget::setClockType(enum ClockWidget::ClockType const &)
+ ?metaObject@ClockWidget@@UBEPBUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const * ClockWidget::metaObject(void) const
+ ?loadClockWidget@ClockWidget@@QAEXXZ @ 9 NONAME ; void ClockWidget::loadClockWidget(void)
+ ?trUtf8@ClockWidget@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString ClockWidget::trUtf8(char const *, char const *, int)
+ ?tr@ClockWidget@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString ClockWidget::tr(char const *, char const *)
+ ??_EClockWidget@@UAE@I@Z @ 12 NONAME ; ClockWidget::~ClockWidget(unsigned int)
+ ?trUtf8@ClockWidget@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString ClockWidget::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@ClockWidget@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & ClockWidget::getStaticMetaObject(void)
+ ?qt_metacall@ClockWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int ClockWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?clockType@ClockWidget@@QBE?AW4ClockType@1@XZ @ 16 NONAME ; enum ClockWidget::ClockType ClockWidget::clockType(void) const
+
--- a/clock/clockui/clockwidget/clockwidget.pro Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockwidget/clockwidget.pro Fri May 14 15:51:09 2010 +0300
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of "Eclipse Public License v1.0"
@@ -11,40 +11,12 @@
#
# Contributors:
#
-# Description: Project definition file for clockui
-#
-
-TEMPLATE = lib
-TARGET = clockwidgetproto
-DEFINES += CLOCKWIDGET_LIB
-CONFIG += hb
-
-DEPENDPATH += . \
- ./src \
- ./inc \
- ../../data
-INCLUDEPATH += . \
- ../../clockmw/clocktimezone/inc \
- ../../clockmw/clocksettingsutility/inc \
- ../../inc
+# Description:
+#
-symbian: {
- TARGET.CAPABILITY = ALL -TCB
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.UID3 = 0x2002E6B4
-
- LIBS += -ltimezoneclient \
- -lclocksettingsutility
-}
-
-SOURCES += skinnableclock.cpp \
- analogclock.cpp \
- digitalclock.cpp
-
-HEADERS += skinnableclock.h \
- analogclock.h \
- digitalclock.h
-
-RESOURCES += ../../data/clockwidget.qrc
-
-# End of file --Don't remove this.
+
+
+TEMPLATE = subdirs
+SUBDIRS += clockwidgetimpl
+SUBDIRS += clockwidgetplugin
+CONFIG += ordered
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.pro Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# programs, is protected by copyright controlled by Nokia. All
+# rights are reserved. Copying, including reproducing, storing,
+# adapting or translating, any or all of this material requires the
+# prior written consent of Nokia. This material also contains
+# confidential information which may not be disclosed to others
+# without the prior written consent of Nokia.
+# ============================================================================
+#
+# Description:
+#
+
+TEMPLATE = lib
+TARGET = clockwidget
+CONFIG += hb
+DEFINES += CLOCKWIDGET_LIB
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = clockwidget
+ DESTDIR = ../release # for easy plugin loading
+}else{
+ TARGET = clockwidgetd
+ DESTDIR = ../debug # for easy plugin loading
+ }
+}
+
+DEPENDPATH += ./inc \
+ ./src
+
+INCLUDEPATH += ./inc
+
+SOURCES += \
+ clockwidget.cpp \
+ analogclockwidget.cpp
+
+HEADERS += \
+ clockwidgetdefines.h \
+ clockwidget.h \
+ analogclockwidget.h
+
+symbian {
+ TARGET.UID3 = 0x2002E715
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ LIBS += -lbafl
+}
+
+RESOURCES = clockwidgetimpl.qrc
+
+# End of file --Don't remove this
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.qrc Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,6 @@
+<RCC>
+ <qresource prefix="/resource" >
+ <file alias="analogclockwidget.widgetml">resource/analogclockwidget.widgetml</file>
+ <file alias="analogclockwidget.css">resource/analogclockwidget.css</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/analogclockwidget.h Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Clock widget
+*
+*/
+
+#ifndef ANALOGCLOCKWIDGET_H
+#define ANALOGCLOCKWIDGET_H
+
+// User includes
+#include <hbwidget.h>
+#include <QPointer>
+
+// Forward declarations
+class HbIconItem;
+class QTimer;
+
+class AnalogClockWidget : public HbWidget
+{
+ Q_OBJECT
+
+public:
+ AnalogClockWidget(QGraphicsItem *parent = 0);
+ virtual ~AnalogClockWidget();
+
+public slots:
+ void tick();
+
+protected:
+ void resizeEvent(QGraphicsSceneResizeEvent *event);
+ void polish(HbStyleParameters& params);
+
+private:
+ void updatePrimitives();
+
+private:
+ QPointer<QTimer> mTimer;
+ QPointer<HbIconItem> mClockBackground;
+ QPointer<HbIconItem> mClockHourHand;
+ QPointer<HbIconItem> mClockMinuteHand;
+ QPointer<HbIconItem> mClockSecondHand;
+};
+
+#endif
+
+// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidget.h Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Clock widget
+*
+*/
+
+#ifndef CLOCKWIDGET_H
+#define CLOCKWIDGET_H
+
+// System includes
+#include <hbwidget.h>
+
+// User includes
+#include "clockwidgetdefines.h"
+
+//Forward declarations
+
+class QGraphicsLinearLayout;
+class AnalogClockWidget;
+
+class CLOCKWIDGET_EXPORT ClockWidget : public HbWidget
+{
+ Q_OBJECT
+ Q_PROPERTY(ClockType clockType READ clockType WRITE setClockType)
+
+public:
+ enum ClockType
+ {
+ ClockTypeAnalog,
+ ClockTypeDigital
+ };
+
+ ClockWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
+ ~ClockWidget();
+ ClockType clockType() const;
+ void setClockType(const ClockType &type);
+ void loadClockWidget();
+
+public slots:
+ void updateTime();
+
+private:
+ ClockType mClockType;
+ AnalogClockWidget *mAnalogClock;
+ QGraphicsLinearLayout *mLayout;
+};
+
+#endif // CLOCKWIDGET_H
+
+// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidgetdefines.h Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: The dll header file.
+*
+*/
+
+
+#ifndef CLOCKWIDGETDEFINES_H
+#define CLOCKWIDGETDEFINES_H
+
+#include <qglobal.h>
+
+#ifdef CLOCKWIDGET_LIB
+# define CLOCKWIDGET_EXPORT Q_DECL_EXPORT
+#else
+# define CLOCKWIDGET_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif // CLOCKWIDGETDEFINES_H
+
+// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/resource/analogclockwidget.css Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,23 @@
+AnalogClockWidget {
+ layout: layout_1;
+}
+
+AnalogClockWidget::clock_background {
+ size-policy: expanding expanding;
+ zvalue: 0;
+}
+
+AnalogClockWidget::clock_minute_hand {
+ size-policy:expanding expanding;
+ zvalue: 1;
+}
+
+AnalogClockWidget::clock_hour_hand {
+ size-policy:expanding expanding;
+ zvalue: 2;
+}
+
+AnalogClockWidget::clock_second_hand {
+ size-policy:expanding expanding;
+ zvalue: 3;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/resource/analogclockwidget.widgetml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,24 @@
+<hbwidget version="0.1">
+ <layout name="layout_1" type="mesh">
+ <meshitem src="clock_background" srcEdge="TOP" dst="" dstEdge="TOP" spacing="0.0un" />
+ <meshitem src="clock_background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="0.0un" />
+ <meshitem src="clock_background" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="0.0un" />
+ <meshitem src="clock_background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="0.0un" />
+
+ <meshitem src="clock_hour_hand" srcEdge="TOP" dst="clock_background" dstEdge="TOP" spacing="0.0un" />
+ <meshitem src="clock_hour_hand" srcEdge="BOTTOM" dst="clock_background" dstEdge="BOTTOM" spacing="0.0un" />
+ <meshitem src="clock_hour_hand" srcEdge="LEFT" dst="clock_background" dstEdge="LEFT" spacing="0.0un" />
+ <meshitem src="clock_hour_hand" srcEdge="RIGHT" dst="clock_background" dstEdge="RIGHT" spacing="0.0un" />
+
+ <meshitem src="clock_minute_hand" srcEdge="TOP" dst="clock_background" dstEdge="TOP" spacing="0.0un" />
+ <meshitem src="clock_minute_hand" srcEdge="BOTTOM" dst="clock_background" dstEdge="BOTTOM" spacing="0.0un" />
+ <meshitem src="clock_minute_hand" srcEdge="LEFT" dst="clock_background" dstEdge="LEFT" spacing="0.0un" />
+ <meshitem src="clock_minute_hand" srcEdge="RIGHT" dst="clock_background" dstEdge="RIGHT" spacing="0.0un" />
+
+ <meshitem src="clock_second_hand" srcEdge="TOP" dst="clock_background" dstEdge="TOP" spacing="0.0un" />
+ <meshitem src="clock_second_hand" srcEdge="BOTTOM" dst="clock_background" dstEdge="BOTTOM" spacing="0.0un" />
+ <meshitem src="clock_second_hand" srcEdge="LEFT" dst="clock_background" dstEdge="LEFT" spacing="0.0un" />
+ <meshitem src="clock_second_hand" srcEdge="RIGHT" dst="clock_background" dstEdge="RIGHT" spacing="0.0un" />
+
+ </layout>
+</hbwidget>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/src/analogclockwidget.cpp Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: AnalogClockWidget
+*
+*/
+
+// System includes
+#include <HbIconItem>
+#include <HbStyleLoader>
+#include <QTime>
+#include <QTimer>
+
+// User includes
+#include "analogclockwidget.h"
+
+// Constants
+const int clockUpdateInterval (1000); // msec
+
+/*!
+ \class AnalogClockWidget
+
+ This class implements the analogclock widget which gets displayed
+ in the clockmainview when the clocktype is set to analog type.
+*/
+
+/*!
+ Constructor.
+ \param parent The parent of type QGraphicsItem.
+*/
+AnalogClockWidget::AnalogClockWidget(QGraphicsItem *parent)
+ : HbWidget(parent)
+{
+ HbStyleLoader::registerFilePath(":/resource");
+ updatePrimitives();
+ mTimer = new QTimer(this);
+ connect(mTimer, SIGNAL(timeout()), SLOT(tick()));
+ mTimer->start(clockUpdateInterval);
+}
+
+/*!
+ Destructor.
+ */
+AnalogClockWidget::~AnalogClockWidget()
+{
+ mTimer->stop();
+ HbStyleLoader::unregisterFilePath(":/resource");
+}
+
+/*!
+ Handles resize event from HbWidget
+ */
+void AnalogClockWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+ QGraphicsWidget::resizeEvent(event);
+ updatePrimitives();
+}
+
+/*!
+ @copydoc HbWidget::updatePrimitives()
+ */
+void AnalogClockWidget::updatePrimitives()
+{
+ if (!mClockBackground) {
+ mClockBackground = new HbIconItem(QLatin1String("qtg_graf_clock_day_bg"), this);
+ HbStyle::setItemName(mClockBackground, QLatin1String("clock_background"));
+ }
+
+ // Calculate angles for clock hands.
+ QTime time = QTime::currentTime();
+ qreal s = 6 * time.second();
+ qreal m = 6 * (time.minute() + s/360);
+ qreal h = 30 * ((time.hour() % 12) + m/360);
+
+ if (!mClockHourHand) {
+ mClockHourHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_hour"), this);
+ HbStyle::setItemName(mClockHourHand, QLatin1String("clock_hour_hand"));
+ }
+
+ int x = mClockHourHand->geometry().width()/2;
+ int y = mClockHourHand->geometry().height()/2;
+ mClockHourHand->setTransform(QTransform().translate(x, y).rotate(h).translate(-x, -y));
+
+ if (!mClockMinuteHand) {
+ mClockMinuteHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_min"), this);
+ HbStyle::setItemName(mClockMinuteHand, QLatin1String("clock_minute_hand"));
+ }
+
+ x = mClockMinuteHand->geometry().width()/2;
+ y = mClockMinuteHand->geometry().height()/2;
+ mClockMinuteHand->setTransform(QTransform().translate(x, y).rotate(m).translate(-x, -y));
+
+
+ if (!mClockSecondHand) {
+ mClockSecondHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_sec"), this);
+ HbStyle::setItemName(mClockSecondHand, QLatin1String("clock_second_hand"));
+ }
+
+ x = mClockSecondHand->geometry().width()/2;
+ y = mClockSecondHand->geometry().height()/2;
+ mClockSecondHand->setTransform(QTransform().translate(x, y).rotate(s).translate(-x, -y));
+
+}
+
+/*!
+ Updates clock visualization according to current time
+ */
+void AnalogClockWidget::tick()
+{
+ updatePrimitives();
+ update();
+}
+
+/*!
+ Handles polish event
+ */
+void AnalogClockWidget::polish( HbStyleParameters& params )
+{
+ HbWidget::polish(params);
+ updatePrimitives();
+}
+
+// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/src/clockwidget.cpp Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Clockwidget
+*
+*/
+
+// System includes
+#include <QGraphicsLinearLayout>
+
+// User includes
+#include "clockwidget.h"
+#include "analogclockwidget.h"
+
+/*!
+ \class ClockWidget
+
+ This is the generic wrapper for the clockwidget which manages analog and ditial clockwidgets.
+ */
+
+/*!
+ Constructor.
+ */
+ClockWidget::ClockWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
+ : HbWidget(parent, flags),
+ mClockType(ClockTypeAnalog)
+{
+ loadClockWidget();
+}
+
+/*!
+ Destructor.
+*/
+ClockWidget::~ClockWidget()
+{
+
+}
+
+/*!
+ Returns the clock type.
+*/
+ClockWidget::ClockType ClockWidget::clockType() const
+{
+ return mClockType;
+}
+
+/*!
+ Sets the clock type;
+*/
+void ClockWidget::setClockType(const ClockType &type)
+{
+ if (type == ClockTypeDigital) {
+ mClockType = ClockTypeDigital;
+ } else {
+ mClockType = ClockTypeAnalog;
+ }
+}
+
+/*!
+ Updates the clock time with every second
+*/
+void ClockWidget::updateTime()
+{
+ if (mClockType == ClockTypeAnalog) {
+ mAnalogClock->tick();
+ }
+}
+
+/*!
+ Constructs the clockwidget based upon its type.
+*/
+void ClockWidget::loadClockWidget()
+{
+ if (mClockType == ClockTypeAnalog) {
+ mAnalogClock = new AnalogClockWidget(this);
+ mLayout = new QGraphicsLinearLayout(Qt::Vertical);
+ mLayout->setContentsMargins(0,0,0,0);
+ mLayout->addItem(mAnalogClock);
+ setLayout(mLayout);
+ }
+}
+
+// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetplugin/clockwidgetplugin.h Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Clockwidget custom document loader plugin.
+*
+*/
+
+#ifndef CLOCKWIDGETDPLUGIN_H
+#define CLOCKWIDGETDPLUGIN_H
+
+// System includes
+#include <hbdocumentloaderplugin.h>
+#include <qplugin.h>
+
+
+class ClockWidgetPlugin : public HbDocumentLoaderPlugin
+{
+
+private:
+ virtual QObject *createObject(const QString &type, const QString &name);
+ virtual QList<const QMetaObject *> supportedObjects();
+
+};
+Q_EXPORT_PLUGIN(ClockWidgetPlugin)
+
+#endif // CLOCKWIDGETDPLUGIN_H
+
+// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetplugin/clockwidgetplugin.pro Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: This is the project specification file for the
+# clockwidgetplugin.
+#
+
+TEMPLATE = lib
+TARGET = clockwidgetplugin
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = clockwidgetplugin
+ } else {
+ TARGET = clockwidgetplugind
+ }
+}
+
+CONFIG += hb plugin
+
+win32{
+CONFIG(release, debug|release){
+ DESTDIR = ../release # for easy plugin loading
+ LIBS += -L../release -lclockwidget
+ } else {
+ DESTDIR = ../debug # for easy plugin loading
+ LIBS += -L../debug -lclockwidgetd
+ }
+}
+
+SOURCES += \
+ main.cpp
+
+INCLUDEPATH += \
+ ../clockwidgetimpl \
+ ../clockwidgetimpl/inc
+
+symbian: {
+ TARGET.UID3 = 0x2002E716
+ TARGET.EPOCALLOWDLLDATA=1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+
+ LIBS += \
+ -lclockwidget.dll
+
+ pluginstub.sources = clockwidgetplugin.dll
+ pluginstub.path = /resource/plugins
+ DEPLOYMENT += pluginstub
+ DESTDIR = $$HB_PLUGINS_DIR
+}
+
+!local {
+ target.path = $$HB_PLUGINS_DIR
+ INSTALLS += target
+}
+
+# End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetplugin/main.cpp Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Clock widget
+*
+*/
+
+// User includes
+#include "clockwidgetplugin.h"
+#include "clockwidget.h"
+
+/*!
+ \class ClockWidgetPlugin
+
+ This class is a wrapper plug-in DLL that references the custom widget DLLs that need to be part of the widget package.
+*/
+
+
+/*!
+ Creates an instance of each of the types of custom widget supported in this plug-in.
+ The code uses the parameter type to control which type of object must be created.
+ It also sets the created object's name
+*/
+QObject *ClockWidgetPlugin::createObject(const QString &type, const QString &name)
+{
+ if (type == ClockWidget::staticMetaObject.className()) {
+ QObject *object = new ClockWidget();
+ object->setObjectName(name);
+ return object;
+ }
+ return 0;
+}
+
+/*!
+ Get a QMetaObject for each custom widget and add it to the list of supported objects.
+ A QMetaObject pointer must be added for every custom widget that is created by the plug-in.
+*/
+QList<const QMetaObject *> ClockWidgetPlugin::supportedObjects()
+{
+ QList<const QMetaObject *> list;
+ list.append( &ClockWidget::staticMetaObject );
+ return list;
+}
+
+// End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/eabi/clockwidgetu.def Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,22 @@
+EXPORTS
+ _ZN11ClockWidget10updateTimeEv @ 1 NONAME
+ _ZN11ClockWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+ _ZN11ClockWidget11qt_metacastEPKc @ 3 NONAME
+ _ZN11ClockWidget12setClockTypeERKNS_9ClockTypeE @ 4 NONAME
+ _ZN11ClockWidget15loadClockWidgetEv @ 5 NONAME
+ _ZN11ClockWidget16staticMetaObjectE @ 6 NONAME DATA 16
+ _ZN11ClockWidget19getStaticMetaObjectEv @ 7 NONAME
+ _ZN11ClockWidgetC1EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 8 NONAME
+ _ZN11ClockWidgetC2EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 9 NONAME
+ _ZN11ClockWidgetD0Ev @ 10 NONAME
+ _ZN11ClockWidgetD1Ev @ 11 NONAME
+ _ZN11ClockWidgetD2Ev @ 12 NONAME
+ _ZNK11ClockWidget10metaObjectEv @ 13 NONAME
+ _ZNK11ClockWidget9clockTypeEv @ 14 NONAME
+ _ZTI11ClockWidget @ 15 NONAME
+ _ZTV11ClockWidget @ 16 NONAME
+ _ZThn16_N11ClockWidgetD0Ev @ 17 NONAME
+ _ZThn16_N11ClockWidgetD1Ev @ 18 NONAME
+ _ZThn8_N11ClockWidgetD0Ev @ 19 NONAME
+ _ZThn8_N11ClockWidgetD1Ev @ 20 NONAME
+
--- a/clock/clockui/clockwidget/inc/analogclock.h Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// analogclock.h
-
-#ifndef ANALOGCLOCK_H
-#define ANALOGCLOCK_H
-
-#include <QObject>
-
-#include <hbwidget.h>
-#include <hbeffect.h>
-
-class QGraphicsWidget;
-class QStyleOptionGraphicsItem;
-class QPainter;
-class HbIconItem;
-class HbStackedLayout;
-
-class AnalogClock : public HbWidget
-{
- Q_OBJECT
-
-public:
- AnalogClock(QGraphicsWidget *parent = 0);
- ~AnalogClock();
-
-public:
- void showNext();
- void showPrev();
-
-public slots:
- void updateDisplay();
-
-protected:
- void paint(QPainter *painter,
- const QStyleOptionGraphicsItem *option,
- QWidget *widget = 0);
-
-private:
- void constructImages();
-
-private slots:
- void widget_hidden(const HbEffect::EffectStatus &status);
-
-private:
- QString mFaceName;
- QString mHourName;
- QString mMinuteName;
-
- HbIconItem *mClockFace;
- HbIconItem *mHourHand;
- HbIconItem *mMinuteHand;
- HbStackedLayout* mParentLayout;
-
- bool mIsDay;
- bool mFirstDraw;
- int mCurrentClock;
-};
-
-#endif // ANALOGCLOCK_P_H
-
-// End of file
--- a/clock/clockui/clockwidget/inc/clockwidgetdefines.h Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- * Common definition file for clockwidget component.
- *
- */
-
-#ifndef CLOCKWIDGETDEFINES_H
-#define CLOCKWIDGETDEFINES_H
-
-// System includes
-#include <qglobal.h>
-
-#ifdef CLOCKWIDGET_LIB
-# define CLOCKWIDGET_EXPORT Q_DECL_EXPORT
-#else
-# define CLOCKWIDGET_EXPORT Q_DECL_IMPORT
-#endif
-
-#endif // CLOCKWIDGETDEFINES_H
-
-// End of file --Don't remove this.
--- a/clock/clockui/clockwidget/inc/digitalclock.h Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// digitalclock.h
-
-#ifndef DIGITALCLOCK_H
-#define DIGITALCLOCK_H
-
-#include <QObject>
-
-#include <hbwidget.h>
-#include <hbeffect.h>
-
-class QGraphicsLinearLayout;
-class QGraphicsWidget;
-class HbIconItem;
-class HbLabel;
-
-class DigitalClock : public HbWidget
-{
- Q_OBJECT
-
-public:
- DigitalClock(QGraphicsWidget *parent = 0);
- ~DigitalClock();
-
-public:
- void updateDisplay();
-
-public slots:
- void fadeBackIn(const HbEffect::EffectStatus &status);
-
-private:
- void constructImages();
-
-private:
- QGraphicsLinearLayout *mDigitalClockLayout;
- QGraphicsLinearLayout *mWidgetLayout;
- QGraphicsWidget *mDummyWidget;
-
- HbIconItem *mPositionOne;
- HbIconItem *mPositionTwo;
- HbIconItem *mPositionThree;
- HbIconItem *mPositionFour;
- HbIconItem *mSeperator;
- HbLabel *mAmPmLabel;
-
- bool m24HourFormat;
-};
-
-#endif // DIGITALCLOCK_H
-
-// End of file
--- a/clock/clockui/clockwidget/inc/skinnableclock.h Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef SKINNABLECLOCK_H
-#define SKINNABLECLOCK_H
-
-#include <QObject>
-#include <hbwidget.h>
-#include <hbeffect.h>
-
-#include "clockwidgetdefines.h"
-
-class QTimer;
-class QEvent;
-class QGraphicsLinearLayout;
-class AnalogClock;
-class DigitalClock;
-class TimezoneClient;
-class SettingsUtility;
-
-class CLOCKWIDGET_EXPORT SkinnableClock : public HbWidget
-{
- Q_OBJECT
-
-public:
- SkinnableClock(QGraphicsItem *parent = 0);
- ~SkinnableClock();
-
-public:
- bool clockTypeAnalog();
- bool clockFormat24();
-
-public slots:
- void updateDisplay(bool newTimer = true);
- void updateClockType();
- void finishChangeType(const HbEffect::EffectStatus &status);
-
-protected:
-// bool sceneEvent(QEvent *event);
- void paint(QPainter *painter,
- const QStyleOptionGraphicsItem *option,
- QWidget *widget = 0);
-
-private:
- void setClockTypeAnalog(bool analog);
- void startChangeType();
-
-private:
- QTimer *mTickTimer;
- QGraphicsLinearLayout *mLayout;
-
- AnalogClock *mAnalogClock;
- DigitalClock *mDigitalClock;
- TimezoneClient *mClient;
- SettingsUtility *mSettingsUtility;
-
- bool mAnalog;
- bool mClockFormat24;
- bool mUpdateNeeded;
-};
-
-#endif // SKINNABLECLOCK_H
-
-// End of file
--- a/clock/clockui/clockwidget/src/analogclock.cpp Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// analogclock.cpp
-
-#include <QTime>
-#include <QTimer>
-#include <QPainter>
-#include <QStyleOptionGraphicsItem>
-#include <QGraphicsWidget>
-#include <hbiconitem.h>
-#include <hbstackedlayout.h>
-
-#include "analogclock.h"
-
-const QString KPrefix(":/clock/");
-const QString KUnderScore("_");
-const QString KFaceDay(":/clock/analog_face_day");
-const QString KHourDay(":/clock/hour_hand_day");
-const QString KMinDay(":/clock/minute_hand_day");
-const QString KFaceNight("analog_face_night");
-const QString KHourNight("hour_hand_night");
-const QString KMinNight("minute_hand_night");
-
-AnalogClock::AnalogClock(QGraphicsWidget *parent)
-:HbWidget(parent),
- mIsDay(true),
- mFirstDraw(true),
- mCurrentClock(0)
-{
- // Add the required effects.
- HbEffect::add(this,
- QString(":/clock/hide_widget.fxml"),
- "hide_widget");
-
- // Construct the images here.
- constructImages();
-
- // A single shot timer after which the hands are updated to show the
- // correct time.
- // TODO: QTimer::singleShot(500, this, SLOT(updateDisplay()));
-}
-
-AnalogClock::~AnalogClock()
-{
- // No implementation yet.
-}
-
-void AnalogClock::showPrev()
-{
- mCurrentClock--;
- if (mCurrentClock < 0) {
- mCurrentClock = 3;
- }
- // Start the effect.
- HbEffect::start(this, "hide_widget", this, "widget_hidden");
-}
-
-void AnalogClock::showNext()
-{
- mCurrentClock++;
- mCurrentClock = mCurrentClock % 4;
-
- // Start the effect.
- HbEffect::start(this, "hide_widget", this, "widget_hidden");
-}
-
-void AnalogClock::updateDisplay()
-{
- // Take the current time.
- bool changeClock = false;
- QTime timeNow = QTime::currentTime();
- int hourNow = timeNow.hour();
-
- if (17 < hourNow || 6 > hourNow) {
- if (mIsDay) {
- // It was previously day. We need to change the clock
- changeClock = true;
- }
- mIsDay = false;
- } else {
- if (!mIsDay) {
- // It was previously night. We need to change the clock
- changeClock = true;
- }
- mIsDay = true;
- }
-
- if (changeClock) {
- if (mIsDay) {
- mClockFace->setIconName(mFaceName);
- mHourHand->setIconName(mHourName);
- mMinuteHand->setIconName(mMinuteName);
- } else {
- mClockFace->setIconName(mFaceName);
- mHourHand->setIconName(mHourName);
- mMinuteHand->setIconName(mMinuteName);
- }
- }
-
- // Calculate the rotation angle for hour hand.
- qreal hourAngle = 30.0*((timeNow.hour()+timeNow.minute()/60.0));
- hourAngle += 270;
-
- // Rotate the hour hand.
- mHourHand->setTransform(
- QTransform().translate(mHourHand->iconItemSize().width()/2,
- mHourHand->iconItemSize().height()/2).rotate(hourAngle)
- .translate(-mHourHand->iconItemSize().width()/2,
- -mHourHand->iconItemSize().height()/2));
-
- // Rotate the minute hand.
- mMinuteHand->setTransform(
- QTransform().translate(mMinuteHand->iconItemSize().width()/2,
- mMinuteHand->iconItemSize().height()/2)
- .rotate(6.0*(timeNow.minute()+timeNow.second()/60.0))
- .translate(-mMinuteHand->iconItemSize().width()/2,
- -mMinuteHand->iconItemSize().height()/2));
-}
-
-void AnalogClock::paint(QPainter *painter,
- const QStyleOptionGraphicsItem *option,
- QWidget *widget)
-{
- Q_UNUSED(painter)
- Q_UNUSED(option)
- Q_UNUSED(widget)
-
- if (mFirstDraw) {
- mFirstDraw = false;
-
- QTime timeNow = QTime::currentTime();
- int hourNow = timeNow.hour();
-
- // Calculate the rotation angle for hour hand.
- qreal hourAngle = 30.0 * ((timeNow.hour() + timeNow.minute() / 60.0));
- hourAngle += 270;
-
- // Rotate the hour hand.
- mHourHand->setTransform(
- QTransform().translate(mHourHand->iconItemSize().width()/2,
- mHourHand->iconItemSize().height()/2).rotate(hourAngle)
- .translate(-mHourHand->iconItemSize().width()/2,
- -mHourHand->iconItemSize().height()/2));
-
- // Rotate the minute hand.
- mMinuteHand->setTransform(
- QTransform().translate(mMinuteHand->iconItemSize().width()/2,
- mMinuteHand->iconItemSize().height()/2)
- .rotate(6.0*(timeNow.minute()+timeNow.second()/60.0))
- .translate(-mMinuteHand->iconItemSize().width()/2,
- -mMinuteHand->iconItemSize().height()/2));
-
- }
-}
-
-void AnalogClock::constructImages()
-{
- mFaceName.append(KFaceDay);
- mHourName.append(KHourDay);
- mMinuteName.append(KMinDay);
-
- mParentLayout = new HbStackedLayout(this);
-
- mClockFace = new HbIconItem(mFaceName, this);
- mHourHand = new HbIconItem(mHourName, this);
- mMinuteHand = new HbIconItem(mMinuteName, this);
-
- mParentLayout->addItem(mClockFace);
- mParentLayout->addItem(mHourHand);
- mParentLayout->addItem(mMinuteHand);
-
- setLayout(mParentLayout);
-}
-
-void AnalogClock::widget_hidden(const HbEffect::EffectStatus &status)
-{
- Q_UNUSED(status)
-
- QString clockNum;
- clockNum = clockNum.setNum(mCurrentClock);
-
- mFaceName.clear();
- mHourName.clear();
- mMinuteName.clear();
-
- if (mIsDay) {
- mFaceName.append(KPrefix);
- mFaceName.append(clockNum);
- mFaceName.append(KUnderScore);
- mFaceName.append(KFaceDay);
-
- mHourName.append(KPrefix);
- mHourName.append(clockNum);
- mHourName.append(KUnderScore);
- mHourName.append(KHourDay);
-
- mMinuteName.append(KPrefix);
- mMinuteName.append(clockNum);
- mMinuteName.append(KUnderScore);
- mMinuteName.append(KMinDay);
- } else {
- mFaceName.append(KPrefix);
- mFaceName.append(clockNum);
- mFaceName.append(KUnderScore);
- mFaceName.append(KFaceNight);
-
- mHourName.append(KPrefix);
- mHourName.append(clockNum);
- mHourName.append(KUnderScore);
- mHourName.append(KHourNight);
-
- mMinuteName.append(KPrefix);
- mMinuteName.append(clockNum);
- mMinuteName.append(KUnderScore);
- mMinuteName.append(KMinNight);
- }
-
- mClockFace->setIconName(mFaceName);
- mHourHand->setIconName(mHourName);
- mMinuteHand->setIconName(mMinuteName);
-
- HbEffect::add(this, QString(":/clock/show_widget.fxml"), "show_widget");
- HbEffect::start(this, "show_widget");
-}
-
-// End of file
--- a/clock/clockui/clockwidget/src/digitalclock.cpp Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// digitalclock.cpp
-
-#include <QGraphicsLinearLayout>
-#include <QGraphicsWidget>
-#include <QWidget>
-#include <QTime>
-
-#include <hbiconitem.h>
-#include <hblabel.h>
-#include <hbaction.h>
-
-#include "digitalclock.h"
-
-DigitalClock::DigitalClock(QGraphicsWidget *parent)
-:HbWidget(parent),
-m24HourFormat(false)
-{
- constructImages();
-}
-
-DigitalClock::~DigitalClock()
-{
- // No implementation yet.
-}
-
-void DigitalClock::updateDisplay()
-{
- QTime currentTime = QTime::currentTime();
- int currentHour, currentMin;
- if (!m24HourFormat && currentTime.hour() > 12) {
- currentHour = currentTime.hour() % 12;
- } else {
- currentHour = currentTime.hour();
- }
- currentMin = currentTime.minute();
-
- int numAt1, numAt2, numAt3, numAt4;
- numAt1 = currentHour / 10;
- numAt2 = currentHour % 10;
- numAt3 = currentMin / 10;
- numAt4 = currentMin % 10;
-
- // The first digit.
- if (m24HourFormat) {
- switch (numAt1) {
- case 0:
- mPositionOne->setIconName(":/clock/digit_zero");
- break;
- case 1:
- mPositionOne->setIconName(":/clock/digit_one");
- break;
- case 2:
- mPositionOne->setIconName(":/clock/digit_two");
- break;
- default:
- break;
- }
- } else {
- switch (numAt1) {
- case 0:
- mPositionOne->setIconName(":/clock/digit_zero");
- break;
- case 1:
- mPositionOne->setIconName(":/clock/digit_one");
- break;
- default:
- break;
- }
- }
-
- // The second digit.
- switch(numAt2) {
- case 0:
- mPositionTwo->setIconName(":/clock/digit_zero");
- break;
- case 1:
- mPositionTwo->setIconName(":/clock/digit_one");
- break;
- case 2:
- mPositionTwo->setIconName(":/clock/digit_two");
- break;
- case 3:
- mPositionTwo->setIconName(":/clock/digit_three");
- break;
- case 4:
- mPositionTwo->setIconName(":/clock/digit_four");
- break;
- case 5:
- mPositionTwo->setIconName(":/clock/digit_five");
- break;
- case 6:
- mPositionTwo->setIconName(":/clock/digit_six");
- break;
- case 7:
- mPositionTwo->setIconName(":/clock/digit_seven");
- break;
- case 8:
- mPositionTwo->setIconName(":/clock/digit_eight");
- break;
- case 9:
- mPositionTwo->setIconName(":/clock/digit_nine");
- break;
- default:
- break;
- }
-
- // The separator.
- mSeperator->setIconName(":/clock/sep_colon");
- // Start the blinking effect.
- HbEffect::start(mSeperator, "fade_out", this, "fadeBackIn");
-
- // The third digit.
- switch (numAt3) {
- case 0:
- mPositionThree->setIconName(":/clock/digit_zero");
- break;
- case 1:
- mPositionThree->setIconName(":/clock/digit_one");
- break;
- case 2:
- mPositionThree->setIconName(":/clock/digit_two");
- break;
- case 3:
- mPositionThree->setIconName(":/clock/digit_three");
- break;
- case 4:
- mPositionThree->setIconName(":/clock/digit_four");
- break;
- case 5:
- mPositionThree->setIconName(":/clock/digit_five");
- break;
- case 6:
- mPositionThree->setIconName(":/clock/digit_six");
- break;
- case 7:
- mPositionThree->setIconName(":/clock/digit_seven");
- break;
- case 8:
- mPositionThree->setIconName(":/clock/digit_eight");
- break;
- case 9:
- mPositionThree->setIconName(":/clock/digit_nine");
- break;
- default:
- break;
- }
-
- // The fourth digit.
- switch (numAt4) {
- case 0:
- mPositionFour->setIconName(":/clock/digit_zero");
- break;
- case 1:
- mPositionFour->setIconName(":/clock/digit_one");
- break;
- case 2:
- mPositionFour->setIconName(":/clock/digit_two");
- break;
- case 3:
- mPositionFour->setIconName(":/clock/digit_three");
- break;
- case 4:
- mPositionFour->setIconName(":/clock/digit_four");
- break;
- case 5:
- mPositionFour->setIconName(":/clock/digit_five");
- break;
- case 6:
- mPositionFour->setIconName(":/clock/digit_six");
- break;
- case 7:
- mPositionFour->setIconName(":/clock/digit_seven");
- break;
- case 8:
- mPositionFour->setIconName(":/clock/digit_eight");
- break;
- case 9:
- mPositionFour->setIconName(":/clock/digit_nine");
- break;
- default:
- break;
- }
-
- if (!m24HourFormat) {
- mAmPmLabel->setPlainText(currentTime.toString("ap"));
- } else {
- mAmPmLabel->setPlainText((""));
- }
-}
-
-void DigitalClock::fadeBackIn(const HbEffect::EffectStatus &status)
-{
- Q_UNUSED(status)
-
- HbEffect::start(mSeperator, "fade_in");
-}
-
-void DigitalClock::constructImages()
-{
- mDummyWidget = new QGraphicsWidget(this);
- mWidgetLayout = new QGraphicsLinearLayout(Qt::Vertical);
- mDigitalClockLayout =
- new QGraphicsLinearLayout(Qt::Horizontal, mDummyWidget);
-
- // The icon at the first position.
- mPositionOne = new HbIconItem(QString(), mDummyWidget);
- mPositionOne->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
- mDigitalClockLayout->addItem(mPositionOne);
-
- // The icon at the second position.
- mPositionTwo = new HbIconItem(QString(), mDummyWidget);
- mPositionTwo->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
- mDigitalClockLayout->addItem(mPositionTwo);
-
- // The icon for separator.
- mSeperator = new HbIconItem(QString(), mDummyWidget);
- mSeperator->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
- mDigitalClockLayout->addItem(mSeperator);
-
- // The icon at the third position.
- mPositionThree = new HbIconItem(QString(), mDummyWidget);
- mPositionThree->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
- mDigitalClockLayout->addItem(mPositionThree);
-
- // The icon at the fourth position.
- mPositionFour = new HbIconItem(QString(), mDummyWidget);
- mPositionFour->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
- mDigitalClockLayout->addItem(mPositionFour);
-
- mDummyWidget->setLayout(mDigitalClockLayout);
-
- mAmPmLabel = new HbLabel((""), this);
- //mAmPmLabel->setLogicalFont(Hb::FontPrimarySmall);
- mAmPmLabel->setAlignment(Qt::AlignRight);
-
- mWidgetLayout->addItem(mDummyWidget);
- mWidgetLayout->addItem(mAmPmLabel);
-
- QGraphicsLinearLayout *layout =
- new QGraphicsLinearLayout(Qt::Horizontal, this);
- layout->addStretch(100);
- layout->addItem(mWidgetLayout);
- layout->addStretch(100);
-
- setLayout(layout);
-
- // Add the blinking effect to the separator.
- HbEffect::add(mSeperator,
- QString(":/clock/fade_out.fxml"),
- "fade_out");
- HbEffect::add(mSeperator,
- QString(":/clock/fade_in.fxml"),
- "fade_in");
-}
-
-// End of file
--- a/clock/clockui/clockwidget/src/skinnableclock.cpp Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// skinnableclock.cpp
-
-#include <QTimer>
-#include <QTime>
-#include <QGraphicsLinearLayout>
-#include <hbaction.h>
-
-#include "skinnableclock.h"
-#include "analogclock.h"
-#include "digitalclock.h"
-#include "timezoneclient.h"
-#include "settingsutility.h"
-
-SkinnableClock::SkinnableClock(QGraphicsItem *parent)
-:HbWidget(parent),
- mAnalogClock(0),
- mDigitalClock(0),
- mAnalog(true),
- mClockFormat24(true),
- mUpdateNeeded(true)
-{
- // Enable the gestures for the widget and subscribe for "PAN" gestures.
-/* QApplication::setAttribute(Qt::AA_EnableGestures);
- grabGesture(Qt::PanGesture);*/
-
- qDebug("clock: SkinnableClock::SkinnableClock() -->");
-
- // Construct the settings utility.
- mSettingsUtility = new SettingsUtility(this);
-
- qDebug("clock: SkinnableClock::SkinnableClock() - constructed settingsutility.");
-
- // Construct the layout and the widgets.
- mLayout = new QGraphicsLinearLayout(Qt::Vertical, this);
- mAnalogClock = new AnalogClock(this);
- mDigitalClock = new DigitalClock(this);
-
- // Set the clock type according to the seetings.
- // And construct the corresponding widget.
- QStringList clockTypeList;
- int typeIndex = mSettingsUtility->clockType(clockTypeList);
- if (0 == typeIndex) {
- setClockTypeAnalog(true);
- } else {
- setClockTypeAnalog(false);
- }
-
- setLayout(mLayout);
-
- // Add the required effects.
- HbEffect::add(mAnalogClock,
- QString(":/clock/disappear.fxml"),
- "disappear");
- HbEffect::add(mDigitalClock,
- QString(":/clock/disappear.fxml"),
- "disappear");
- HbEffect::add(mAnalogClock,
- QString(":/clock/appear.fxml"),
- "appear");
- HbEffect::add(mDigitalClock,
- QString(":/clock/appear.fxml"),
- "appear");
-
- mClient = new TimezoneClient(this);
- qDebug("clock: SkinnableClock::SkinnableClock() - constructed tzclient");
-
- connect(mClient, SIGNAL(timechanged()),
- this, SLOT(updateDisplay()));
- connect(mClient, SIGNAL(timechanged()),
- this, SLOT(updateClockType()));
-
- // Start a timer.
- mTickTimer = new QTimer(this);
- QObject::connect(mTickTimer, SIGNAL(timeout()),
- this, SLOT(updateDisplay()));
- // TODO: mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
- mTickTimer->start(1000);
-
- qDebug("clock: SkinnableClock::SkinnableClock() <--");
-}
-
-SkinnableClock::~SkinnableClock()
-{
- // No implementation yet.
-}
-
-
-bool SkinnableClock::clockTypeAnalog()
-{
- return mAnalog;
-}
-
-bool SkinnableClock::clockFormat24()
-{
- return mClockFormat24;
-}
-
-void SkinnableClock::updateDisplay(bool newTimer)
-{
- if (newTimer) {
- // Start the timer again for 1 minute.
- // TODO: mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
- mTickTimer->start(1000);
- }
-
- if (mAnalog) {
- mAnalogClock->updateDisplay();
- } else {
- mDigitalClock->updateDisplay();
- }
-}
-
-void SkinnableClock::updateClockType()
-{
- // Update the clock type according to the seetings.
- QStringList clockTypeList;
- int typeIndex = mSettingsUtility->clockType(clockTypeList);
-
- if ((mAnalog && 1 == typeIndex) || (!mAnalog && 0 == typeIndex)) {
- mUpdateNeeded = true;
- mAnalog = !mAnalog;
- mDigitalClock->hide();
- mAnalogClock->hide();
- } else {
- mUpdateNeeded = false;
- }
-}
-
-/*bool SkinnableClock::sceneEvent(QEvent *event)
-{
- if (event->type() == QEvent::GraphicsSceneGesture) {
- QGraphicsSceneGestureEvent *gestureEvent =
- static_cast<QGraphicsSceneGestureEvent*>(event);
- if (const QGesture *gesture = gestureEvent->gesture(Qt::PanGesture)) {
- const QPanningGesture *panningGesture =
- static_cast<const QPanningGesture*>(gesture);
-
- if (Qt::GestureFinished == gesture->state()) {
- if (Qt::LeftDirection == panningGesture->direction()) {
- if (mAnalog) {
- mAnalogClock->showPrev();
- }
- } else if (Qt::RightDirection == panningGesture->direction()) {
- if (mAnalog) {
- mAnalogClock->showNext();
- }
- } else if (Qt::UpDirection == panningGesture->direction() ||
- Qt::DownDirection == panningGesture->direction()) {
- startChangeType();
- }
- event->accept();
- return true;
- }
- event->accept();
- return true;
- }
- }
- return HbWidget::sceneEvent(event);
-}*/
-
-void SkinnableClock::paint(QPainter *painter,
- const QStyleOptionGraphicsItem *option,
- QWidget *widget)
-{
- Q_UNUSED(painter)
- Q_UNUSED(option)
- Q_UNUSED(widget)
-
- if (mUpdateNeeded) {
- setClockTypeAnalog(mAnalog);
- mUpdateNeeded = !mUpdateNeeded;
- }
-}
-
-void SkinnableClock::setClockTypeAnalog(bool analog)
-{
- if (analog) {
- mDigitalClock->hide();
- mLayout->removeItem(mDigitalClock);
- mAnalogClock->show();
- mLayout->addItem(mAnalogClock);
- } else {
- mAnalogClock->hide();
- mLayout->removeItem(mAnalogClock);
- mDigitalClock->show();
- mLayout->addItem(mDigitalClock);
- }
-
- mAnalog = analog;
-
- // Update the display.
- updateDisplay(false);
-}
-
-void SkinnableClock::startChangeType()
-{
- if (mAnalog) {
- HbEffect::start(mAnalogClock,
- "disappear",
- this,
- "finishChangeType");
- } else {
- HbEffect::start(mDigitalClock,
- "disappear",
- this,
- "finishChangeType");
- }
-}
-
-void SkinnableClock::finishChangeType(const HbEffect::EffectStatus &status)
-{
- Q_UNUSED(status)
-
- setClockTypeAnalog(!mAnalog);
-
- if (mAnalog) {
- HbEffect::start(mAnalogClock,
- "appear");
- } else {
- HbEffect::start(mDigitalClock,
- "appear");
- }
-}
-
-// End of file
--- a/clock/clockui/eabi/clockalarmeditoru.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/eabi/clockalarmeditoru.def Fri May 14 15:51:09 2010 +0300
@@ -1,12 +1,8 @@
EXPORTS
_ZN16ClockAlarmEditor15showAlarmEditorEv @ 1 NONAME
- _ZN16ClockAlarmEditorC1EiP15QGraphicsWidget @ 2 NONAME
- _ZN16ClockAlarmEditorC2EiP15QGraphicsWidget @ 3 NONAME
+ _ZN16ClockAlarmEditorC1ER11AlarmClientiP7QObject @ 2 NONAME
+ _ZN16ClockAlarmEditorC2ER11AlarmClientiP7QObject @ 3 NONAME
_ZN16ClockAlarmEditorD0Ev @ 4 NONAME
_ZN16ClockAlarmEditorD1Ev @ 5 NONAME
_ZN16ClockAlarmEditorD2Ev @ 6 NONAME
- _ZThn16_N16ClockAlarmEditorD0Ev @ 7 NONAME
- _ZThn16_N16ClockAlarmEditorD1Ev @ 8 NONAME
- _ZThn8_N16ClockAlarmEditorD0Ev @ 9 NONAME
- _ZThn8_N16ClockAlarmEditorD1Ev @ 10 NONAME
--- a/clock/clockui/eabi/clockviewsu.def Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/eabi/clockviewsu.def Fri May 14 15:51:09 2010 +0300
@@ -1,22 +1,32 @@
EXPORTS
- _ZN13ClockMainView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 1 NONAME
- _ZN13ClockMainViewC1EP13QGraphicsItem @ 2 NONAME
- _ZN13ClockMainViewC2EP13QGraphicsItem @ 3 NONAME
- _ZN13ClockMainViewD0Ev @ 4 NONAME
- _ZN13ClockMainViewD1Ev @ 5 NONAME
- _ZN13ClockMainViewD2Ev @ 6 NONAME
- _ZN14ClockWorldView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 7 NONAME
- _ZN14ClockWorldViewC1EP13QGraphicsItem @ 8 NONAME
- _ZN14ClockWorldViewC2EP13QGraphicsItem @ 9 NONAME
- _ZN14ClockWorldViewD0Ev @ 10 NONAME
- _ZN14ClockWorldViewD1Ev @ 11 NONAME
- _ZN14ClockWorldViewD2Ev @ 12 NONAME
- _ZThn16_N13ClockMainViewD0Ev @ 13 NONAME
- _ZThn16_N13ClockMainViewD1Ev @ 14 NONAME
- _ZThn16_N14ClockWorldViewD0Ev @ 15 NONAME
- _ZThn16_N14ClockWorldViewD1Ev @ 16 NONAME
- _ZThn8_N13ClockMainViewD0Ev @ 17 NONAME
- _ZThn8_N13ClockMainViewD1Ev @ 18 NONAME
- _ZThn8_N14ClockWorldViewD0Ev @ 19 NONAME
- _ZThn8_N14ClockWorldViewD1Ev @ 20 NONAME
+ _ZN13ClockMainView19setupAfterViewReadyEv @ 1 NONAME
+ _ZN13ClockMainView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 2 NONAME
+ _ZN13ClockMainViewC1EP13QGraphicsItem @ 3 NONAME
+ _ZN13ClockMainViewC2EP13QGraphicsItem @ 4 NONAME
+ _ZN13ClockMainViewD0Ev @ 5 NONAME
+ _ZN13ClockMainViewD1Ev @ 6 NONAME
+ _ZN13ClockMainViewD2Ev @ 7 NONAME
+ _ZN14ClockWorldView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 8 NONAME
+ _ZN14ClockWorldViewC1EP13QGraphicsItem @ 9 NONAME
+ _ZN14ClockWorldViewC2EP13QGraphicsItem @ 10 NONAME
+ _ZN14ClockWorldViewD0Ev @ 11 NONAME
+ _ZN14ClockWorldViewD1Ev @ 12 NONAME
+ _ZN14ClockWorldViewD2Ev @ 13 NONAME
+ _ZN17ClockHomeCityItemC1EP13QGraphicsItem @ 14 NONAME
+ _ZN17ClockHomeCityItemC2EP13QGraphicsItem @ 15 NONAME
+ _ZN17ClockHomeCityItemD0Ev @ 16 NONAME
+ _ZN17ClockHomeCityItemD1Ev @ 17 NONAME
+ _ZN17ClockHomeCityItemD2Ev @ 18 NONAME
+ _ZThn16_N13ClockMainViewD0Ev @ 19 NONAME
+ _ZThn16_N13ClockMainViewD1Ev @ 20 NONAME
+ _ZThn16_N14ClockWorldViewD0Ev @ 21 NONAME
+ _ZThn16_N14ClockWorldViewD1Ev @ 22 NONAME
+ _ZThn16_N17ClockHomeCityItemD0Ev @ 23 NONAME
+ _ZThn16_N17ClockHomeCityItemD1Ev @ 24 NONAME
+ _ZThn8_N13ClockMainViewD0Ev @ 25 NONAME
+ _ZThn8_N13ClockMainViewD1Ev @ 26 NONAME
+ _ZThn8_N14ClockWorldViewD0Ev @ 27 NONAME
+ _ZThn8_N14ClockWorldViewD1Ev @ 28 NONAME
+ _ZThn8_N17ClockHomeCityItemD0Ev @ 29 NONAME
+ _ZThn8_N17ClockHomeCityItemD1Ev @ 30 NONAME
--- a/clock/clockui/eabi/clockwidgetprotou.def Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-EXPORTS
- _ZN14SkinnableClock11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
- _ZN14SkinnableClock11qt_metacastEPKc @ 2 NONAME
- _ZN14SkinnableClock13clockFormat24Ev @ 3 NONAME
- _ZN14SkinnableClock13updateDisplayEb @ 4 NONAME
- _ZN14SkinnableClock15clockTypeAnalogEv @ 5 NONAME
- _ZN14SkinnableClock15startChangeTypeEv @ 6 NONAME
- _ZN14SkinnableClock15updateClockTypeEv @ 7 NONAME
- _ZN14SkinnableClock16finishChangeTypeERKN8HbEffect12EffectStatusE @ 8 NONAME
- _ZN14SkinnableClock16staticMetaObjectE @ 9 NONAME DATA 16
- _ZN14SkinnableClock18setClockTypeAnalogEb @ 10 NONAME
- _ZN14SkinnableClock19getStaticMetaObjectEv @ 11 NONAME
- _ZN14SkinnableClock5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 12 NONAME
- _ZN14SkinnableClockC1EP13QGraphicsItem @ 13 NONAME
- _ZN14SkinnableClockC2EP13QGraphicsItem @ 14 NONAME
- _ZN14SkinnableClockD0Ev @ 15 NONAME
- _ZN14SkinnableClockD1Ev @ 16 NONAME
- _ZN14SkinnableClockD2Ev @ 17 NONAME
- _ZNK14SkinnableClock10metaObjectEv @ 18 NONAME
- _ZTI14SkinnableClock @ 19 NONAME
- _ZTV14SkinnableClock @ 20 NONAME
- _ZThn16_N14SkinnableClockD0Ev @ 21 NONAME
- _ZThn16_N14SkinnableClockD1Ev @ 22 NONAME
- _ZThn8_N14SkinnableClock5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 23 NONAME
- _ZThn8_N14SkinnableClockD0Ev @ 24 NONAME
- _ZThn8_N14SkinnableClockD1Ev @ 25 NONAME
-
--- a/clock/data/alarm/qtg_test_alarm.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <circle cx="30.819" cy="29.887" r="4.693"/>
- </g>
- <g>
- <g>
- <path d="M13.694,37.482c-0.165,0-0.318-0.063-0.437-0.181l0,0L8.09,32.133c-0.11-0.113-0.174-0.262-0.181-0.419l0,0
- l-0.206-6.682c-1.64-1.418-4.903-4.7-5.305-9.255l0,0c-0.026-0.296-0.037-0.585-0.037-0.865l0,0
- C2.359,11.884,3.728,9.006,6.322,6.42l0,0c2.55-2.561,5.41-3.906,8.438-3.904l0,0c0.279,0,0.554,0.015,0.826,0.035l0,0
- c4.699,0.388,8.168,3.764,9.682,5.476l0,0l6.564-0.237c0.172-0.008,0.344,0.062,0.465,0.186l0,0l5.164,5.243
- c0.238,0.241,0.234,0.631-0.004,0.869l0,0L14.13,37.304c-0.111,0.111-0.261,0.179-0.424,0.179l0,0
- C13.702,37.482,13.698,37.482,13.694,37.482L13.694,37.482z"/>
- </g>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/alarm/qtg_test_noalarm.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <g>
- <path d="M13.825,37.559c-0.165,0-0.319-0.064-0.436-0.183l0,0l-5.168-5.172c-0.111-0.109-0.175-0.261-0.178-0.414l0,0
- l-0.21-6.685c-1.64-1.419-4.899-4.705-5.3-9.254l0,0c-0.024-0.268-0.034-0.533-0.034-0.788l0,0c0-1.236,0.252-2.438,0.678-3.599
- l0,0c0.074-0.197,0.241-0.345,0.45-0.39l0,0c0.205-0.046,0.416,0.018,0.567,0.165l0,0l17.685,17.681
- c0.117,0.115,0.184,0.272,0.182,0.438l0,0c0,0.168-0.064,0.321-0.182,0.438l0,0l-7.616,7.582
- c-0.115,0.111-0.265,0.18-0.425,0.18l0,0C13.833,37.559,13.828,37.559,13.825,37.559L13.825,37.559z M3.32,12.115l0.436-0.436
- L3.32,12.115L3.32,12.115z M28.57,22.271L10.712,4.412c-0.147-0.147-0.211-0.356-0.171-0.558l0,0
- c0.04-0.203,0.178-0.371,0.369-0.448l0,0c1.281-0.537,2.616-0.812,3.978-0.808l0,0c0.282,0,0.56,0.009,0.835,0.032l0,0
- c4.698,0.388,8.168,3.76,9.682,5.477l0,0l6.564-0.241c0.17-0.006,0.342,0.061,0.463,0.181l0,0l5.164,5.243
- c0.238,0.237,0.235,0.631-0.003,0.868l0,0l-8.149,8.113c-0.121,0.118-0.279,0.179-0.437,0.179l0,0
- C28.85,22.45,28.691,22.39,28.57,22.271L28.57,22.271z"/>
- </g>
- </g>
- <g>
- <g>
- <g>
- <path d="M33.783,37.381L2.408,6.006C2.294,5.892,2.228,5.731,2.228,5.57l0,0c0-0.164,0.067-0.322,0.181-0.436l0,0l2.516-2.516
- c0.242-0.241,0.631-0.241,0.872,0l0,0l31.378,31.375c0.114,0.113,0.178,0.271,0.178,0.436l0,0c0,0.163-0.063,0.318-0.178,0.437
- l0,0l-2.515,2.515c-0.118,0.117-0.272,0.181-0.437,0.181l0,0C34.055,37.562,33.901,37.498,33.783,37.381L33.783,37.381z"/>
- </g>
- </g>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/alarm/qtg_test_repeat.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <path d="M20,37.582c-2.262,0.002-4.464-0.44-6.545-1.319l0,0c-2.005-0.848-3.807-2.064-5.348-3.603l0,0
- c-1.538-1.541-2.749-3.338-3.604-5.345l0,0c-0.872-2.078-1.317-4.287-1.314-6.542l0,0c-0.003-2.264,0.442-4.467,1.32-6.548l0,0
- c0.849-2,2.06-3.801,3.598-5.34l0,0c0.538-0.535,1.11-1.02,1.708-1.464l0,0l-2.634-0.47C7.03,6.925,6.896,6.843,6.809,6.717l0,0
- c-0.086-0.126-0.121-0.281-0.092-0.43l0,0l0.606-3.396C7.377,2.577,7.677,2.368,7.99,2.427l0,0l8.119,1.445l1.702,0.304
- c0.152,0.025,0.284,0.115,0.374,0.236l0,0c0.088,0.131,0.12,0.282,0.091,0.435l0,0l-0.31,1.695l-1.447,8.124
- c-0.028,0.149-0.11,0.282-0.237,0.371l0,0c-0.126,0.088-0.281,0.123-0.429,0.094l0,0l-3.396-0.605
- c-0.313-0.058-0.521-0.354-0.467-0.668l0,0l0.48-2.677c-0.391,0.296-0.761,0.613-1.105,0.96l0,0
- c-1.125,1.117-2.003,2.425-2.619,3.876l0,0c-0.638,1.512-0.957,3.104-0.959,4.757l0,0c0.002,1.644,0.321,3.24,0.956,4.747l0,0
- c0.62,1.46,1.498,2.765,2.623,3.886l0,0c1.117,1.122,2.423,1.999,3.882,2.62l0,0c1.513,0.637,3.105,0.955,4.754,0.958l0,0
- c1.652-0.003,3.245-0.321,4.751-0.958l0,0c1.459-0.613,2.764-1.495,3.879-2.62l0,0c1.127-1.121,2.006-2.426,2.621-3.875l0,0
- c0.633-1.518,0.955-3.114,0.955-4.758l0,0c0-1.653-0.322-3.245-0.951-4.752l0,0c-0.619-1.456-1.5-2.764-2.629-3.885l0,0
- c-1.111-1.122-2.416-2.003-3.879-2.618l0,0c-0.139-0.065-0.249-0.171-0.307-0.316l0,0c-0.06-0.142-0.057-0.3,0.004-0.439l0,0
- l1.346-3.181c0.06-0.139,0.174-0.25,0.315-0.307l0,0c0.143-0.06,0.3-0.056,0.439,0.003l0,0c2.009,0.857,3.804,2.073,5.341,3.604
- l0,0c1.543,1.542,2.756,3.335,3.608,5.345l0,0l-0.53,0.225l0.53-0.225c0.878,2.079,1.317,4.282,1.317,6.546l0,0
- c0,2.255-0.439,4.464-1.317,6.542l0,0c-0.853,2.007-2.065,3.804-3.608,5.345l0,0c-1.537,1.538-3.336,2.755-5.348,3.606l0,0
- c-2.064,0.873-4.264,1.315-6.515,1.315l0,0C20.016,37.582,20.008,37.582,20,37.582L20,37.582z"/>
- </g>
-</g>
-</svg>
--- a/clock/data/clock.qrc Mon May 03 12:30:32 2010 +0300
+++ b/clock/data/clock.qrc Fri May 14 15:51:09 2010 +0300
@@ -1,36 +1,7 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/clock">
- <file alias="alarms.svg">toolbar/qtg_test_alarm.svg</file>
- <file alias="world_clock.svg">toolbar/qtg_test_worldclock.svg</file>
- <file alias="countdown_timer.svg">toolbar/qtg_test_timer.svg</file>
- <file alias="stopwatch.svg">toolbar/qtg_test_stopwatch.svg</file>
-
- <file alias="alarm_repeat.svg">alarm/qtg_test_repeat.svg</file>
- <file alias="alarm_active.svg">alarm/qtg_test_alarm.svg</file>
- <file alias="alarm_inactive.svg">alarm/qtg_test_noalarm.svg</file>
- <file alias="new_alarm.svg">toolbar/qtg_test_newalarm.svg</file>
-
- <file alias="add_new_city.svg">toolbar/qtg_test_addnewcity.svg</file>
<file alias="day.svg">worldclock/qtg_test_day.svg</file>
<file alias="night.svg">worldclock/qtg_test_night.svg</file>
- <file alias="home_city.svg">worldclock/qtg_test_homecity.svg</file>
- <file alias="city_default.svg">worldclock/qgn_test_city_default.svg</file>
- <file alias="dst_icon.svg">worldclock/qgn_indi_dst_add.svg</file>
- <file alias="find_icon.svg">worldclock/qgn_indi_find.svg</file>
-
- <file alias="start.svg">toolbar/qtg_test_start.svg</file>
- <file alias="stop.svg">toolbar/qtg_test_stop.svg</file>
- <file alias="reset.svg">toolbar/qtg_test_reset.svg</file>
- <file alias="timer_background.svg">timer/qtg_graf_timer2_base.svg</file>
- <file alias="timer_color_arc.svg">timer/knob_arc_indicator_1min.svg</file>
- <file alias="timer_grabzone.svg">timer/qtg_graf_timer2_button.svg</file>
- <file alias="timer_arrow.svg">timer/qtg_graf_timer2_arrow.svg</file>
- <file alias="timer_hour_dial.svg">timer/qtg_graf_timer2_time24.svg</file>
- <file alias="timer_min_sec_dial.svg">timer/qtg_graf_timer2_time60.svg</file>
-
- <file alias="lap.svg">toolbar/qtg_test_lap.svg</file>
- <file alias="split.svg">toolbar/qtg_test_split.svg</file>
- <file alias="analyze.svg">toolbar/qtg_test_analyze.svg</file>
<file alias="hide_widget.fxml">effects/hide_widget.fxml</file>
<file alias="show_widget.fxml">effects/show_widget.fxml</file>
@@ -40,9 +11,6 @@
<file alias="fade_out.fxml">effects/fade_out.fxml</file>
<file alias="fade_in.fxml">effects/fade_in.fxml</file>
-
- <file alias="timerknob_appear.fxml">effects/timerknob_appear.fxml</file>
- <file alias="timerknob_disappear.fxml">effects/timerknob_disappear.fxml</file>
</qresource>
<qresource prefix="/translations">
<file alias="clock" >translations/clock.qm</file>
--- a/clock/data/timer/knob_arc_indicator_1min.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="250"
- height="250"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- version="1.0"
- sodipodi:docname="knob_arc_indicator_1min.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- style="display:inline">
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- gridtolerance="10000"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="2.4288216"
- inkscape:cx="114.10678"
- inkscape:cy="117.22377"
- inkscape:document-units="px"
- inkscape:current-layer="layer4"
- showgrid="false"
- inkscape:window-width="1400"
- inkscape:window-height="844"
- inkscape:window-x="0"
- inkscape:window-y="116"
- showguides="true"
- inkscape:guide-bbox="true" />
- <defs
- id="defs4">
- <linearGradient
- id="linearGradient5533">
- <stop
- style="stop-color:#2b2824;stop-opacity:1;"
- offset="0"
- id="stop5535" />
- <stop
- style="stop-color:#a1a2a4;stop-opacity:1"
- offset="1"
- id="stop5537" />
- </linearGradient>
- <linearGradient
- id="linearGradient5519">
- <stop
- style="stop-color:#909093;stop-opacity:1;"
- offset="0"
- id="stop5521" />
- <stop
- style="stop-color:#000000;stop-opacity:1"
- offset="1"
- id="stop5523" />
- </linearGradient>
- <linearGradient
- id="linearGradient4733">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4735" />
- <stop
- style="stop-color:#acaeae;stop-opacity:1;"
- offset="1"
- id="stop4737" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466">
- <stop
- style="stop-color:#ff2600;stop-opacity:1;"
- offset="0"
- id="stop2468" />
- <stop
- id="stop2474"
- offset="1"
- style="stop-color:#e75a00;stop-opacity:1;" />
- <stop
- style="stop-color:#007c00;stop-opacity:1;"
- offset="1"
- id="stop2476" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2470" />
- </linearGradient>
- <inkscape:perspective
- id="perspective4899"
- inkscape:persp3d-origin="249.8669 : 181.20786 : 1"
- inkscape:vp_z="456.36704 : 297.32504 : 1"
- inkscape:vp_y="3.3985116e-14 : 662.03734 : 0"
- inkscape:vp_x="43.366765 : 297.32504 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4883"
- inkscape:persp3d-origin="303.43512 : 280.77487 : 1"
- inkscape:vp_z="509.93526 : 396.89205 : 1"
- inkscape:vp_y="3.3985116e-14 : 662.03734 : 0"
- inkscape:vp_x="96.93499 : 396.89205 : 1"
- sodipodi:type="inkscape:persp3d" />
- <linearGradient
- id="linearGradient2385">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2387" />
- <stop
- id="stop2395"
- offset="1"
- style="stop-color:#a5a5a5;stop-opacity:1;" />
- <stop
- id="stop2393"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0.49803922;" />
- </linearGradient>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="71.233258 : 350.13217 : 1"
- inkscape:vp_y="3.3985116e-14 : 662.03734 : 0"
- inkscape:vp_z="484.23353 : 350.13217 : 1"
- inkscape:persp3d-origin="277.73339 : 234.01499 : 1"
- id="perspective10" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2385"
- id="radialGradient2391"
- cx="-72.643829"
- cy="-117.61642"
- fx="-72.643829"
- fy="-117.61642"
- r="120.5285"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.9999999,1.0614315,-1.0614303,-1.0000013,-181.18208,-31.401928)" />
- <clipPath
- id="clipPath">
- <path
- sodipodi:type="arc"
- style="opacity:0.85096154;fill:url(#radialGradient2391);fill-opacity:1"
- id="path2383"
- sodipodi:cx="16.303371"
- sodipodi:cy="16.512436"
- sodipodi:rx="120.5285"
- sodipodi:ry="120.5285"
- d="M 136.83187,16.512436 A 120.5285,120.5285 0 1 1 -104.22513,16.512436 A 120.5285,120.5285 0 1 1 136.83187,16.512436 z"
- transform="matrix(0.8115942,0,0,0.8115942,111.76828,111.5986)" />
- </clipPath>
- <filter
- id="filter"
- height="2"
- width="2"
- x="-0.5"
- y="-0.5">
- <feGaussianBlur
- stdDeviation="5.0"
- id="feGaussianBlur2408" />
- </filter>
- <clipPath
- id="clipPathd">
- <path
- sodipodi:type="arc"
- style="opacity:0.85096154;fill:url(#radialGradient2391);fill-opacity:1"
- id="path2413"
- sodipodi:cx="16.303371"
- sodipodi:cy="16.512436"
- sodipodi:rx="120.5285"
- sodipodi:ry="120.5285"
- d="M 136.83187,16.512436 A 120.5285,120.5285 0 1 1 -104.22513,16.512436 A 120.5285,120.5285 0 1 1 136.83187,16.512436 z"
- transform="matrix(0.8115942,0,0,0.8115942,111.76828,111.5986)" />
- </clipPath>
- <filter
- id="filterC"
- height="5"
- width="5"
- x="-0.5"
- y="-0.5">
- <feGaussianBlur
- stdDeviation="2.0"
- id="feGaussianBlur3793" />
- </filter>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2385"
- id="radialGradient4903"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.7559523,0.8114315,-1.0670036,-0.9940524,-164.10905,-48.863191)"
- cx="-72.643829"
- cy="-117.61642"
- fx="-72.643829"
- fy="-117.61642"
- r="120.5285" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2385"
- id="radialGradient4933"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.8466666,0.9088033,-1.195044,-1.1133387,-185.75851,-56.708265)"
- cx="-72.643829"
- cy="-117.61642"
- fx="-72.643829"
- fy="-117.61642"
- r="120.5285" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2385"
- id="radialGradient5877"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-4.5357145,4.8685897,-6.4020222,-5.9643152,-968.54486,-253.83334)"
- cx="-72.643829"
- cy="-117.61642"
- fx="-72.643829"
- fy="-117.61642"
- r="120.5285" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2385"
- id="radialGradient5881"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.8466666,0.9088033,-1.195044,-1.1133387,77.539643,-176.97925)"
- cx="-72.643829"
- cy="-117.61642"
- fx="-72.643829"
- fy="-117.61642"
- r="120.5285" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466"
- id="linearGradient2472"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <clipPath
- id="clipPathc">
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:url(#linearGradient2472);fill-opacity:1;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
- id="path2464"
- sodipodi:cx="-96.655701"
- sodipodi:cy="60.182178"
- sodipodi:rx="55.897274"
- sodipodi:ry="55.897274"
- d="M -40.758534,60.291552 A 55.897274,55.897274 0 1 1 -40.758439,60.21902 L -96.655701,60.182178 z"
- sodipodi:start="0.0019566857"
- sodipodi:end="6.2838444"
- transform="matrix(0.3229167,0,0,0.3229167,155.81608,105.37957)" />
- </clipPath>
- <filter
- id="filter6"
- height="3.7"
- width="2"
- x="-0.5"
- y="-0.5">
- <feGaussianBlur
- stdDeviation="8.0"
- id="feGaussianBlur2512" />
- </filter>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4733"
- id="linearGradient4739"
- x1="165.19823"
- y1="53.941807"
- x2="125.1866"
- y2="124.23114"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5519"
- id="linearGradient5525"
- x1="-37.738914"
- y1="12.326055"
- x2="-22.708267"
- y2="25.246382"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5519"
- id="linearGradient5529"
- gradientUnits="userSpaceOnUse"
- x1="-37.738914"
- y1="12.326055"
- x2="-22.708267"
- y2="25.246382"
- gradientTransform="matrix(2,0,0,2,32.019784,-17.932287)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5533"
- id="linearGradient5539"
- x1="-87.339493"
- y1="29.467791"
- x2="-64.849571"
- y2="47.590733"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9208633,0,0,0.9208633,-5.9441111,2.9194824)" />
- <linearGradient
- id="linearGradient2466-786">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2723" />
- <stop
- id="stop2725"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2727" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2729" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-863">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2733" />
- <stop
- id="stop2735"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2737" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2739" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-958">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2743" />
- <stop
- id="stop2745"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2747" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2749" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-59">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2753" />
- <stop
- id="stop2755"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2757" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2759" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-113">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2763" />
- <stop
- id="stop2765"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2767" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2769" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-114">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2773" />
- <stop
- id="stop2775"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2777" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2779" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-516">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2783" />
- <stop
- id="stop2785"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2787" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2789" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-572">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2793" />
- <stop
- id="stop2795"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2797" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2799" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-42">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2803" />
- <stop
- id="stop2805"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2807" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2809" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-502">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2813" />
- <stop
- id="stop2815"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2817" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2819" />
- </linearGradient>
- <linearGradient
- id="linearGradient2466-857">
- <stop
- style="stop-color:#00b000;stop-opacity:1;"
- offset="0"
- id="stop2823" />
- <stop
- id="stop2825"
- offset="1"
- style="stop-color:#00fb00;stop-opacity:1;" />
- <stop
- style="stop-color:#008a00;stop-opacity:1;"
- offset="1"
- id="stop2827" />
- <stop
- style="stop-color:#0a0a0a;stop-opacity:0;"
- offset="1"
- id="stop2829" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-786-750"
- id="linearGradient2472-316-637"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-786-750">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3297" />
- <stop
- id="stop3299"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3301" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3303" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-863-304"
- id="linearGradient2472-695-984"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-863-304">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3307" />
- <stop
- id="stop3309"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3311" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3313" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-958-548"
- id="linearGradient2472-327-579"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-958-548">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3317" />
- <stop
- id="stop3319"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3321" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3323" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-59-77"
- id="linearGradient2472-436-991"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-59-77">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3327" />
- <stop
- id="stop3329"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3331" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3333" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-113-656"
- id="linearGradient2472-656-45"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-113-656">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3337" />
- <stop
- id="stop3339"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3341" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3343" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-114-809"
- id="linearGradient2472-581-565"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-114-809">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3347" />
- <stop
- id="stop3349"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3351" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3353" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-516-233"
- id="linearGradient2472-877-549"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-516-233">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3357" />
- <stop
- id="stop3359"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3361" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3363" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-572-576"
- id="linearGradient2472-761-943"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-572-576">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3367" />
- <stop
- id="stop3369"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3371" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3373" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-42-738"
- id="linearGradient2472-704-254"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-42-738">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3377" />
- <stop
- id="stop3379"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3381" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3383" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-502-769"
- id="linearGradient2472-422-129"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-502-769">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3387" />
- <stop
- id="stop3389"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3391" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3393" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-857-138"
- id="linearGradient2472-565-766"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)" />
- <linearGradient
- id="linearGradient2466-857-138">
- <stop
- style="stop-color:#00c900;stop-opacity:1;"
- offset="0"
- id="stop3397" />
- <stop
- id="stop3399"
- offset="1"
- style="stop-color:#15fe15;stop-opacity:1;" />
- <stop
- style="stop-color:#00a300;stop-opacity:1;"
- offset="1"
- id="stop3401" />
- <stop
- style="stop-color:#161616;stop-opacity:0;"
- offset="1"
- id="stop3403" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466"
- id="linearGradient5058"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-786-750"
- id="linearGradient5064"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-863-304"
- id="linearGradient5066"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-958-548"
- id="linearGradient5068"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-59-77"
- id="linearGradient5070"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-113-656"
- id="linearGradient5072"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-114-809"
- id="linearGradient5074"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-516-233"
- id="linearGradient5076"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-572-576"
- id="linearGradient5078"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-42-738"
- id="linearGradient5080"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-502-769"
- id="linearGradient5082"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466-857-138"
- id="linearGradient5084"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4733"
- id="linearGradient5342"
- gradientUnits="userSpaceOnUse"
- x1="165.19823"
- y1="53.941807"
- x2="125.1866"
- y2="124.23114" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5519"
- id="linearGradient5466"
- gradientUnits="userSpaceOnUse"
- x1="-37.738914"
- y1="12.326055"
- x2="-22.708267"
- y2="25.246382" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5533"
- id="linearGradient5468"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9208633,0,0,0.9208633,-5.9441111,2.9194824)"
- x1="-87.339493"
- y1="29.467791"
- x2="-64.849571"
- y2="47.590733" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2466"
- id="linearGradient5846"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-616.67308,-109.9914)"
- x1="480.34833"
- y1="134.11082"
- x2="554.27698"
- y2="211.64575" />
- </defs>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- id="layer4"
- inkscape:label="knob_arc_indicator"
- style="display:inline">
- <path
- style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
- d="M 124.89547,37.619476 C 124.89547,37.619476 125.004,29.244371 125.11381,27.211519 C 126.23525,27.042557 132.43856,27.306326 133.73859,27.539043 C 133.53245,30.121143 132.90158,38.019781 132.90158,38.019781 C 132.90158,38.019781 127.22452,37.72865 124.89547,37.619476 z"
- id="path4938"
- sodipodi:nodetypes="ccccc" />
- </g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_arrow.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
- <rect fill="none" width="305" height="305"/>
- <g>
- <polygon points="144.583,81.027 152.321,62.391 160.058,81.027 "/>
- </g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_base.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
- <g>
- <g>
- <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="145.4951" y1="-231.5366" x2="156.7914" y2="387.755">
- <stop offset="0" style="stop-color:#FFFFFF"/>
- <stop offset="1" style="stop-color:#000000"/>
- </linearGradient>
- <path fill="url(#SVGID_1_)" d="M304,152.5c0,83.678-67.824,151.5-151.5,151.5C68.826,304,1,236.178,1,152.5
- C1,68.822,68.826,1,152.5,1C236.175,1,304,68.822,304,152.5z"/>
- <radialGradient id="SVGID_2_" cx="138.186" cy="4.4321" r="299.1064" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#FFFFFF"/>
- <stop offset="1" style="stop-color:#CCCCCC"/>
- </radialGradient>
- <path fill="url(#SVGID_2_)" d="M302.5,152.688c0,82.85-67.154,150-150,150c-82.844,0-150-67.15-150-150
- c0-82.848,67.155-150,150-150C235.345,2.688,302.5,69.84,302.5,152.688z"/>
- </g>
- <rect fill="none" width="305" height="305"/>
- </g>
- <path fill="#333333" d="M98.717,150.686c0.005-30.09,24.396-54.494,54.499-54.502l0,0c30.105,0.008,54.492,24.412,54.502,54.502
- l0,0c-0.01,30.09-24.396,54.495-54.502,54.502l0,0C123.113,205.18,98.723,180.776,98.717,150.686L98.717,150.686z M112.717,150.686
- c0.002,11.2,4.522,21.284,11.864,28.633l0,0c7.351,7.344,17.432,11.865,28.636,11.867l0,0c11.207-0.002,21.287-4.523,28.639-11.867
- l0,0c7.34-7.35,11.859-17.434,11.861-28.633l0,0c-0.002-11.199-4.521-21.279-11.861-28.633l0,0
- c-7.352-7.342-17.432-11.863-28.639-11.867l0,0c-11.204,0.004-21.285,4.525-28.636,11.867l0,0
- C117.239,129.406,112.719,139.486,112.717,150.686L112.717,150.686L112.717,150.686z"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_button.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
- <rect fill="none" width="305" height="305"/>
- <g>
- <g>
-
- <radialGradient id="SVGID_1_" cx="919.3667" cy="344.2178" r="28.1406" gradientTransform="matrix(0.9002 0 0 1.1493 -675.2947 -286.7092)" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#00B9FF"/>
- <stop offset="0.2458" style="stop-color:#00A0EE"/>
- <stop offset="0.563" style="stop-color:#0087DC"/>
- <stop offset="0.7527" style="stop-color:#007DD5"/>
- </radialGradient>
- <path fill="url(#SVGID_1_)" d="M131.613,127.092c-5.421-4.252-9.273-10.607-9.293-18.191l0,0
- c0.02-7.58,3.872-13.938,9.293-18.186l0,0c5.464-4.295,12.725-6.807,20.707-6.814l0,0c7.984,0.008,15.246,2.52,20.708,6.814l0,0
- c5.422,4.248,9.273,10.605,9.291,18.186l0,0c-0.018,7.584-3.869,13.939-9.291,18.191l0,0c-5.463,4.293-12.725,6.805-20.708,6.809
- l0,0C144.338,133.896,137.077,131.385,131.613,127.092L131.613,127.092z"/>
- <g>
- <radialGradient id="SVGID_2_" cx="152.3921" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_2_)" points="141.404,120.869 141.404,94.438 142.739,94.438 142.739,120.869 141.404,120.869 "/>
- <radialGradient id="SVGID_3_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_3_)" points="146.528,120.869 146.528,94.438 147.862,94.438 147.862,120.869 146.528,120.869 "/>
- <radialGradient id="SVGID_4_" cx="152.3931" cy="108.3408" r="19.5634" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_4_)" points="156.78,120.869 156.78,94.438 158.111,94.438 158.111,120.869 156.78,120.869 "/>
- <radialGradient id="SVGID_5_" cx="152.3916" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_5_)" points="161.902,120.869 161.902,94.438 163.238,94.438 163.238,120.869 161.902,120.869 "/>
- <radialGradient id="SVGID_6_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_6_)" points="151.652,120.869 151.652,94.438 152.986,94.438 152.986,120.869 151.652,120.869 "/>
- </g>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_colorindication.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
- <rect fill="none" width="305" height="305"/>
- <g>
- <g>
- <path fill="#8CC63F" d="M152.5,37.5c-63.513,0-115,51.488-115,114.998c0,63.512,51.487,115.002,115,115.002
- c63.512,0,115-51.49,115-115.002C267.5,88.988,216.011,37.5,152.5,37.5z M152.5,243.5c-50.257,0-91-40.742-91-91
- c0-50.26,40.742-91,91-91c50.258,0,91,40.74,91,91C243.5,202.758,202.757,243.5,152.5,243.5z"/>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_pointer.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
- <rect fill="none" width="305" height="305"/>
- <g>
- <polygon points="144.583,81.027 152.321,62.391 160.058,81.027 "/>
- <g>
-
- <radialGradient id="SVGID_1_" cx="919.3667" cy="344.4248" r="28.1409" gradientTransform="matrix(0.9002 0 0 1.1493 -675.2947 -286.9478)" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#00B9FF"/>
- <stop offset="0.2458" style="stop-color:#00A0EE"/>
- <stop offset="0.563" style="stop-color:#0087DC"/>
- <stop offset="0.7527" style="stop-color:#007DD5"/>
- </radialGradient>
- <path fill="url(#SVGID_1_)" d="M131.613,127.092c-5.421-4.252-9.273-10.607-9.293-18.191l0,0
- c0.02-7.58,3.872-13.938,9.293-18.186l0,0c5.464-4.295,12.725-6.807,20.707-6.814l0,0c7.984,0.008,15.246,2.52,20.708,6.814l0,0
- c5.422,4.248,9.273,10.605,9.291,18.186l0,0c-0.018,7.584-3.869,13.939-9.291,18.191l0,0c-5.463,4.293-12.725,6.805-20.708,6.809
- l0,0C144.338,133.896,137.077,131.385,131.613,127.092L131.613,127.092z"/>
- <g>
- <radialGradient id="SVGID_2_" cx="152.3921" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_2_)" points="141.404,120.869 141.404,94.438 142.739,94.438 142.739,120.869 141.404,120.869 "/>
- <radialGradient id="SVGID_3_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_3_)" points="146.528,120.869 146.528,94.438 147.862,94.438 147.862,120.869 146.528,120.869 "/>
- <radialGradient id="SVGID_4_" cx="152.3931" cy="108.3408" r="19.5634" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_4_)" points="156.78,120.869 156.78,94.438 158.111,94.438 158.111,120.869 156.78,120.869 "/>
- <radialGradient id="SVGID_5_" cx="152.3916" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_5_)" points="161.902,120.869 161.902,94.438 163.238,94.438 163.238,120.869 161.902,120.869 "/>
- <radialGradient id="SVGID_6_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
- <stop offset="0" style="stop-color:#26A9E0"/>
- <stop offset="0.1881" style="stop-color:#2398D4"/>
- <stop offset="0.5414" style="stop-color:#1D7FC2"/>
- <stop offset="0.7527" style="stop-color:#1B75BB"/>
- </radialGradient>
- <polygon fill="url(#SVGID_6_)" points="151.652,120.869 151.652,94.438 152.986,94.438 152.986,120.869 151.652,120.869 "/>
- </g>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_time24.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
- <g>
- <g>
- <path d="M151.501,243.486v29.012h1.999v-29.012c-0.332,0.004-0.666,0.014-1,0.014C152.166,243.5,151.834,243.49,151.501,243.486z
- "/>
- <path d="M211.632,256.945l1.734-1l-14.508-25.133c-0.572,0.34-1.15,0.676-1.73,1.002L211.632,256.945z"/>
- <path d="M255.945,213.365l1-1.73l-25.129-14.506c-0.328,0.58-0.662,1.156-1.002,1.729L255.945,213.365z"/>
- <path d="M243.488,153.5h29.014v-2h-29.014c0.004,0.332,0.012,0.664,0.012,1C243.5,152.834,243.492,153.166,243.488,153.5z"/>
- <path d="M256.947,93.365l-1-1.732l-25.133,14.508c0.34,0.572,0.674,1.148,1.002,1.73L256.947,93.365z"/>
- <path d="M213.365,49.053l-1.73-1l-14.506,25.131c0.58,0.328,1.158,0.662,1.73,1.002L213.365,49.053z"/>
- <path d="M153.5,61.512V32.5h-1.999v29.012c0.333-0.004,0.665-0.012,0.999-0.012C152.833,61.5,153.167,61.508,153.5,61.512z"/>
- <path d="M93.366,48.053l-1.731,1l14.507,25.133c0.572-0.34,1.149-0.674,1.73-1.002L93.366,48.053z"/>
- <path d="M49.056,91.633l-1,1.732l25.129,14.504c0.328-0.58,0.662-1.156,1.002-1.73L49.056,91.633z"/>
- <path d="M61.513,151.5H32.499v2h29.014c-0.005-0.334-0.013-0.666-0.013-1C61.5,152.164,61.508,151.832,61.513,151.5z"/>
- <path d="M48.056,211.635l0.999,1.73l25.132-14.508c-0.34-0.572-0.674-1.148-1.001-1.729L48.056,211.635z"/>
- <path d="M91.634,255.945l1.731,1l14.506-25.131c-0.581-0.328-1.157-0.662-1.73-1.002L91.634,255.945z"/>
- <path d="M123.222,41.303l-0.967,0.256l6.205,23.156c0.323-0.088,0.643-0.176,0.965-0.26L123.222,41.303z"/>
- <path d="M88.513,87.803L71.545,70.836l-0.707,0.709l16.967,16.967C88.039,88.273,88.275,88.037,88.513,87.803z"/>
- <path d="M41.561,122.256l-0.26,0.967l23.154,6.203c0.084-0.322,0.173-0.645,0.261-0.965L41.561,122.256z"/>
- <path d="M41.301,181.779l0.26,0.965l23.155-6.205c-0.087-0.32-0.176-0.643-0.261-0.965L41.301,181.779z"/>
- <path d="M87.805,216.486l-16.967,16.967l0.707,0.709l16.968-16.967C88.275,216.961,88.039,216.725,87.805,216.486z"/>
- <path d="M122.257,263.441l0.966,0.26l6.204-23.156c-0.322-0.084-0.644-0.174-0.965-0.262L122.257,263.441z"/>
- <path d="M181.777,263.701l0.967-0.26l-6.205-23.158c-0.322,0.088-0.643,0.178-0.967,0.262L181.777,263.701z"/>
- <path d="M216.488,217.195l16.967,16.967l0.707-0.709l-16.967-16.965C216.958,216.725,216.724,216.961,216.488,217.195z"/>
- <path d="M263.439,182.744l0.26-0.965l-23.154-6.205c-0.084,0.322-0.174,0.645-0.262,0.965L263.439,182.744z"/>
- <path d="M263.699,123.223l-0.26-0.967l-23.154,6.205c0.088,0.32,0.176,0.643,0.262,0.965L263.699,123.223z"/>
- <path d="M217.197,88.512l16.967-16.967l-0.709-0.709l-16.967,16.967C216.726,88.037,216.96,88.273,217.197,88.512z"/>
- <path d="M182.744,41.559l-0.967-0.256l-6.203,23.152c0.324,0.084,0.645,0.172,0.967,0.26L182.744,41.559z"/>
- </g>
- <g>
- <g>
- <g>
- <path d="M286.064,149.824c0.609-0.563,1.41-0.844,2.402-0.844c1.359,0,2.367,0.4,3.023,1.201s0.984,2.115,0.984,3.943
- c0,2.195-0.389,3.803-1.166,4.822s-1.963,1.529-3.557,1.529c-1.578,0-2.781-0.531-3.609-1.594s-1.242-3.211-1.242-6.445
- c0-3.359,0.533-5.811,1.6-7.354s2.67-2.314,4.811-2.314c0.711,0,1.422,0.055,2.133,0.164v1.734
- c-0.75-0.133-1.406-0.199-1.969-0.199c-1.023,0-1.84,0.457-2.449,1.371S286.095,148.082,286.064,149.824z M287.728,158.777
- c0.555,0,0.957-0.289,1.207-0.867s0.375-1.801,0.375-3.668c0-1.188-0.1-2.098-0.299-2.73s-0.619-0.949-1.26-0.949
- c-0.594,0-1.023,0.25-1.289,0.75s-0.398,1.387-0.398,2.66c0,2.172,0.133,3.516,0.398,4.031S287.15,158.777,287.728,158.777z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M274.648,93.879h-1.371V97.5h-3.164v-3.621h-6.117v-1.582l7.031-12.246h2.25v12.246h1.371V93.879z M270.113,84.867
- l-4.055,7.43h4.055V84.867z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M272.292,221.717c0.75,0.367,1.314,0.891,1.693,1.57s0.568,1.602,0.568,2.766c0,1.625-0.428,2.844-1.283,3.656
- s-2.135,1.219-3.838,1.219c-1.695,0-2.967-0.406-3.814-1.219s-1.271-2.031-1.271-3.656c0-1.164,0.18-2.088,0.539-2.771
- s0.926-1.213,1.699-1.588c-1.336-0.789-2.004-2.117-2.004-3.984c0-1.477,0.404-2.586,1.213-3.328s2.021-1.113,3.639-1.113
- s2.836,0.371,3.656,1.113s1.23,1.852,1.23,3.328C274.32,219.639,273.644,220.975,272.292,221.717z M269.433,229.346
- c0.68,0,1.174-0.227,1.482-0.68s0.463-1.41,0.463-2.871c0-1.125-0.146-1.947-0.439-2.467s-0.795-0.779-1.506-0.779
- c-0.734,0-1.236,0.256-1.506,0.768s-0.404,1.338-0.404,2.479c0,1.281,0.148,2.193,0.445,2.736S268.753,229.346,269.433,229.346
- z M269.433,220.967c0.617,0,1.059-0.232,1.324-0.697s0.398-1.232,0.398-2.303c0-1.266-0.135-2.102-0.404-2.508
- s-0.725-0.609-1.365-0.609c-0.547,0-0.957,0.262-1.23,0.785s-0.41,1.309-0.41,2.355c0,1.133,0.137,1.912,0.41,2.338
- S268.855,220.967,269.433,220.967z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M221.488,277.334h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V277.334z"/>
- <path d="M228.144,259.768c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S226.55,259.768,228.144,259.768z
- M228.062,275.846c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
- s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
- c0,3.117,0.09,5.137,0.27,6.059S227.382,275.846,228.062,275.846z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M34.605,230.834h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V230.834z"/>
- <path d="M39.621,220.322c0.609-0.563,1.41-0.844,2.402-0.844c1.359,0,2.367,0.4,3.023,1.201s0.984,2.115,0.984,3.943
- c0,2.195-0.389,3.803-1.166,4.822s-1.963,1.529-3.557,1.529c-1.578,0-2.781-0.531-3.609-1.594s-1.242-3.211-1.242-6.445
- c0-3.359,0.533-5.811,1.6-7.354s2.67-2.314,4.811-2.314c0.711,0,1.422,0.055,2.133,0.164v1.734
- c-0.75-0.133-1.406-0.199-1.969-0.199c-1.023,0-1.84,0.457-2.449,1.371S39.652,218.58,39.621,220.322z M41.285,229.275
- c0.555,0,0.957-0.289,1.207-0.867s0.375-1.801,0.375-3.668c0-1.188-0.1-2.098-0.299-2.73s-0.619-0.949-1.26-0.949
- c-0.594,0-1.023,0.25-1.289,0.75s-0.398,1.387-0.398,2.66c0,2.172,0.133,3.516,0.398,4.031S40.707,229.275,41.285,229.275z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M15.021,160.336H5.529v-1.582h3.164V145.57l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V160.336z"/>
- <path d="M24.432,151.219c0.75,0.367,1.314,0.891,1.693,1.57s0.568,1.602,0.568,2.766c0,1.625-0.428,2.844-1.283,3.656
- s-2.135,1.219-3.838,1.219c-1.695,0-2.967-0.406-3.814-1.219s-1.271-2.031-1.271-3.656c0-1.164,0.18-2.088,0.539-2.771
- s0.926-1.213,1.699-1.588c-1.336-0.789-2.004-2.117-2.004-3.984c0-1.477,0.404-2.586,1.213-3.328s2.021-1.113,3.639-1.113
- s2.836,0.371,3.656,1.113s1.23,1.852,1.23,3.328C26.459,149.141,25.783,150.477,24.432,151.219z M21.572,158.848
- c0.679,0,1.174-0.227,1.482-0.68s0.463-1.41,0.463-2.871c0-1.125-0.146-1.947-0.439-2.467s-0.795-0.779-1.506-0.779
- c-0.734,0-1.236,0.256-1.506,0.768s-0.404,1.338-0.404,2.479c0,1.281,0.148,2.193,0.445,2.736S20.893,158.848,21.572,158.848z
- M21.572,150.469c0.617,0,1.059-0.232,1.324-0.697s0.398-1.232,0.398-2.303c0-1.266-0.135-2.102-0.404-2.508
- s-0.725-0.609-1.365-0.609c-0.547,0-0.957,0.262-1.23,0.785s-0.41,1.309-0.41,2.355c0,1.133,0.137,1.912,0.41,2.338
- S20.994,150.469,21.572,150.469z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M34.395,97.5H24.75v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V97.5z"/>
- <path d="M41.262,79.934c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S39.668,79.934,41.262,79.934z M41.18,96.012
- c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482s-0.219-1.625-0.434-2.004
- s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684c0,3.117,0.09,5.137,0.27,6.059
- S40.5,96.012,41.18,96.012z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M85.561,45.166h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574V28.15c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V45.166z"/>
- <path d="M97.033,45.166h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574V28.15c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V45.166z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M151.445,25.834h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574V8.818c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V25.834z"/>
- <path d="M163.421,22.213h-1.371v3.621h-3.164v-3.621h-6.117v-1.582L159.8,8.385h2.25v12.246h1.371V22.213z M158.886,13.201
- l-4.055,7.43h4.055V13.201z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M85.772,277.334H76.28v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V277.334z"/>
- <path d="M97.538,273.713h-1.371v3.621h-3.164v-3.621h-6.117v-1.582l7.031-12.246h2.25v12.246h1.371V273.713z M93.003,264.701
- l-4.055,7.43h4.055V264.701z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M151.656,294.832h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V294.832z"/>
- <path d="M162.917,294.832h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V294.832z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M227.013,45.166h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574V28.15c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V45.166z"/>
- </g>
- </g>
- </g>
- </g>
- <rect fill="none" width="305" height="305"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_time60.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
- <g>
- <g>
- <g>
- <g>
- <path d="M219.092,34.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V34.891z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M143.613,16.939c0.609-0.563,1.41-0.844,2.402-0.844c1.359,0,2.367,0.4,3.023,1.201s0.984,2.115,0.984,3.943
- c0,2.195-0.389,3.803-1.166,4.822s-1.963,1.529-3.557,1.529c-1.578,0-2.781-0.531-3.609-1.594s-1.242-3.211-1.242-6.445
- c0-3.359,0.533-5.811,1.6-7.354s2.67-2.314,4.811-2.314c0.711,0,1.422,0.055,2.133,0.164v1.734
- c-0.75-0.133-1.406-0.199-1.969-0.199c-1.023,0-1.84,0.457-2.449,1.371S143.645,15.197,143.613,16.939z M145.277,25.893
- c0.555,0,0.957-0.289,1.207-0.867s0.375-1.801,0.375-3.668c0-1.188-0.1-2.098-0.299-2.73s-0.619-0.949-1.26-0.949
- c-0.594,0-1.023,0.25-1.289,0.75s-0.398,1.387-0.398,2.66c0,2.172,0.133,3.516,0.398,4.031S144.699,25.893,145.277,25.893z"/>
- <path d="M156.727,9.885c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S155.133,9.885,156.727,9.885z M156.645,25.963
- c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482s-0.219-1.625-0.434-2.004
- s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684c0,3.117,0.09,5.137,0.27,6.059
- S155.965,25.963,156.645,25.963z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M80.031,34.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V34.891z"/>
- <path d="M91.504,34.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V34.891z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M25.533,88.391h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V88.391z"/>
- <path d="M37.967,82.051c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S36.373,82.051,37.967,82.051z M37.885,98.129
- c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482s-0.219-1.625-0.434-2.004
- s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684c0,3.117,0.09,5.137,0.27,6.059
- S37.205,98.129,37.885,98.129z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M15.936,157.857h-1.371v3.621H11.4v-3.621H5.283v-1.582l7.031-12.246h2.25v12.246h1.371V157.857z M11.4,148.846
- l-4.055,7.43H11.4V148.846z"/>
- <path d="M21.338,150.252h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V150.252z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M82.354,270.883c0.93,0.297,1.627,0.791,2.092,1.482s0.697,1.58,0.697,2.666c0,1.773-0.447,3.08-1.342,3.92
- s-2.287,1.26-4.178,1.26c-1.203,0-2.395-0.176-3.574-0.527v-1.746c1.273,0.383,2.336,0.574,3.188,0.574
- c0.969,0,1.654-0.273,2.057-0.82s0.604-1.434,0.604-2.66c0-1.133-0.25-1.984-0.75-2.555s-1.25-0.855-2.25-0.855h-1.535v-1.582
- h1.535c0.922,0,1.613-0.25,2.074-0.75s0.691-1.25,0.691-2.25c0-0.93-0.199-1.627-0.598-2.092s-0.992-0.697-1.781-0.697
- c-0.523,0-1.465,0.176-2.824,0.527v-1.746c1.352-0.32,2.535-0.48,3.551-0.48c1.625,0,2.846,0.361,3.662,1.084
- s1.225,1.803,1.225,3.24c0,0.969-0.213,1.787-0.639,2.455S83.197,270.516,82.354,270.883z"/>
- <path d="M91.506,268.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V268.891z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M146.613,289.217c0.93,0.297,1.627,0.791,2.092,1.482s0.697,1.58,0.697,2.666c0,1.773-0.447,3.08-1.342,3.92
- s-2.287,1.26-4.178,1.26c-1.203,0-2.395-0.176-3.574-0.527v-1.746c1.273,0.383,2.336,0.574,3.188,0.574
- c0.969,0,1.654-0.273,2.057-0.82s0.604-1.434,0.604-2.66c0-1.133-0.25-1.984-0.75-2.555s-1.25-0.855-2.25-0.855h-1.535v-1.582
- h1.535c0.922,0,1.613-0.25,2.074-0.75s0.691-1.25,0.691-2.25c0-0.93-0.199-1.627-0.598-2.092s-0.992-0.697-1.781-0.697
- c-0.523,0-1.465,0.176-2.824,0.527v-1.746c1.352-0.32,2.535-0.48,3.551-0.48c1.625,0,2.846,0.361,3.662,1.084
- s1.225,1.803,1.225,3.24c0,0.969-0.213,1.787-0.639,2.455S147.457,288.85,146.613,289.217z"/>
- <path d="M156.727,280.885c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S155.133,280.885,156.727,280.885z
- M156.645,296.963c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
- s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
- c0,3.117,0.09,5.137,0.27,6.059S155.965,296.963,156.645,296.963z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M216.205,280.117h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V280.117z"/>
- <path d="M222.111,268.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V268.891z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M282.977,161.479h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V161.479z"/>
- <path d="M288.672,150.252h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
- s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
- c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
- c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V150.252z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M268.477,99.617h-9.492v-1.582h3.164V84.852l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V99.617z"/>
- <path d="M275.133,82.051c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S273.539,82.051,275.133,82.051z
- M275.051,98.129c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
- s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
- c0,3.117,0.09,5.137,0.27,6.059S274.371,98.129,275.051,98.129z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M268.266,223.449h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
- c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
- c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
- s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
- s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V223.449z"/>
- <path d="M275.133,205.883c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S273.539,205.883,275.133,205.883z
- M275.051,221.961c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
- s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
- c0,3.117,0.09,5.137,0.27,6.059S274.371,221.961,275.051,221.961z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M31.602,219.83H30.23v3.621h-3.164v-3.621h-6.117v-1.582l7.031-12.246h2.25v12.246h1.371V219.83z M27.066,210.818
- l-4.055,7.43h4.055V210.818z"/>
- <path d="M37.965,205.885c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
- c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
- s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S36.371,205.885,37.965,205.885z
- M37.883,221.963c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
- s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
- c0,3.117,0.09,5.137,0.27,6.059S37.203,221.963,37.883,221.963z"/>
- </g>
- </g>
- </g>
- <g>
- <path d="M140.828,38.072l-0.994,0.104l2.504,23.826c0.331-0.037,0.662-0.074,0.994-0.107L140.828,38.072z"/>
- <path d="M128.916,39.816l-0.979,0.209l4.998,23.508c0.326-0.07,0.65-0.146,0.978-0.213L128.916,39.816z"/>
- <path d="M117.279,42.912l-0.951,0.309l7.416,22.822c0.316-0.105,0.633-0.207,0.951-0.309L117.279,42.912z"/>
- <path d="M106.031,47.242l-0.916,0.408l9.738,21.859c0.304-0.137,0.611-0.268,0.917-0.402L106.031,47.242z"/>
- <path d="M85.146,59.168l-0.809,0.59l14.094,19.385c0.268-0.197,0.537-0.395,0.809-0.59L85.146,59.168z"/>
- <path d="M75.789,66.654l-0.742,0.668L91.096,85.15c0.246-0.223,0.498-0.441,0.746-0.664L75.789,66.654z"/>
- <path d="M67.219,75.15l-0.668,0.742l17.833,16.053c0.222-0.248,0.44-0.5,0.665-0.746L67.219,75.15z"/>
- <path d="M59.598,84.439l-0.59,0.809l19.427,14.115c0.194-0.271,0.392-0.541,0.589-0.809L59.598,84.439z"/>
- <path d="M47.49,105.275l-0.406,0.912l21.898,9.736c0.133-0.305,0.263-0.611,0.399-0.914L47.49,105.275z"/>
- <path d="M43.119,116.486l-0.311,0.953l22.809,7.4c0.102-0.32,0.205-0.637,0.31-0.953L43.119,116.486z"/>
- <path d="M39.979,128.043l-0.207,0.975l23.447,4.986c0.068-0.326,0.143-0.648,0.213-0.975L39.979,128.043z"/>
- <path d="M38.016,139.939l-0.104,0.992l23.879,2.508c0.033-0.332,0.07-0.662,0.105-0.992L38.016,139.939z"/>
- <path d="M37.914,163.971l0.104,0.994l23.879-2.51c-0.035-0.33-0.072-0.662-0.105-0.994L37.914,163.971z"/>
- <path d="M39.769,175.885l0.212,0.979l23.451-4.988c-0.07-0.326-0.145-0.65-0.213-0.979L39.769,175.885z"/>
- <path d="M42.807,187.463l0.31,0.953l22.811-7.4c-0.104-0.316-0.208-0.635-0.31-0.953L42.807,187.463z"/>
- <path d="M47.084,198.711l0.408,0.914l21.889-9.734c-0.137-0.305-0.267-0.611-0.4-0.916L47.084,198.711z"/>
- <path d="M59.01,219.654l0.588,0.811l19.428-14.117c-0.198-0.268-0.396-0.537-0.591-0.809L59.01,219.654z"/>
- <path d="M66.549,229.01l0.67,0.74l17.828-16.049c-0.224-0.246-0.442-0.496-0.664-0.744L66.549,229.01z"/>
- <path d="M75.046,237.582l0.745,0.67l16.053-17.836c-0.249-0.221-0.5-0.441-0.748-0.666L75.046,237.582z"/>
- <path d="M84.336,245.143l0.81,0.59l14.093-19.385c-0.271-0.195-0.54-0.391-0.809-0.59L84.336,245.143z"/>
- <path d="M105.115,257.252l0.914,0.406l9.739-21.865c-0.305-0.133-0.612-0.264-0.915-0.402L105.115,257.252z"/>
- <path d="M116.33,261.682l0.949,0.311l7.416-22.824c-0.317-0.102-0.634-0.203-0.949-0.309L116.33,261.682z"/>
- <path d="M127.938,264.875l0.977,0.211l4.998-23.504c-0.328-0.068-0.652-0.143-0.978-0.213L127.938,264.875z"/>
- <path d="M139.834,266.725l0.994,0.104l2.504-23.822c-0.332-0.031-0.663-0.068-0.994-0.105L139.834,266.725z"/>
- <path d="M163.865,266.828l0.994-0.104l-2.504-23.824c-0.33,0.037-0.66,0.074-0.994,0.105L163.865,266.828z"/>
- <path d="M175.779,265.086l0.979-0.211l-4.996-23.508c-0.326,0.072-0.652,0.146-0.979,0.215L175.779,265.086z"/>
- <path d="M187.418,261.992l0.949-0.311l-7.416-22.822c-0.316,0.104-0.633,0.207-0.951,0.307L187.418,261.992z"/>
- <path d="M198.664,257.658l0.916-0.406l-9.738-21.861c-0.305,0.139-0.611,0.27-0.916,0.402L198.664,257.658z"/>
- <path d="M219.551,245.732l0.809-0.59l-14.094-19.385c-0.268,0.197-0.537,0.395-0.809,0.59L219.551,245.732z"/>
- <path d="M228.904,238.252l0.744-0.67l-16.051-17.832c-0.246,0.225-0.498,0.445-0.748,0.666L228.904,238.252z"/>
- <path d="M237.477,229.75l0.67-0.74l-17.836-16.055c-0.221,0.25-0.439,0.5-0.664,0.746L237.477,229.75z"/>
- <path d="M245.098,220.465l0.588-0.811l-19.426-14.115c-0.195,0.27-0.393,0.539-0.59,0.809L245.098,220.465z"/>
- <path d="M257.207,199.625l0.404-0.914l-21.896-9.738c-0.135,0.307-0.264,0.613-0.402,0.916L257.207,199.625z"/>
- <path d="M261.576,188.416l0.311-0.953l-22.811-7.4c-0.102,0.318-0.203,0.637-0.309,0.953L261.576,188.416z"/>
- <path d="M264.717,176.863l0.207-0.979l-23.449-4.988c-0.066,0.328-0.141,0.652-0.213,0.979L264.717,176.863z"/>
- <path d="M266.68,164.965l0.104-0.994l-23.881-2.51c-0.031,0.332-0.068,0.664-0.105,0.994L266.68,164.965z"/>
- <path d="M266.783,140.932l-0.107-0.992l-23.879,2.508c0.037,0.33,0.074,0.66,0.105,0.992L266.783,140.932z"/>
- <path d="M264.924,129.018l-0.207-0.975l-23.453,4.986c0.07,0.326,0.145,0.648,0.211,0.975L264.924,129.018z"/>
- <path d="M261.887,117.439l-0.309-0.953l-22.811,7.4c0.105,0.316,0.207,0.635,0.309,0.953L261.887,117.439z"/>
- <path d="M257.613,106.188l-0.408-0.912l-21.893,9.734c0.137,0.305,0.266,0.611,0.4,0.916L257.613,106.188z"/>
- <path d="M245.686,85.248l-0.588-0.809L225.67,98.555c0.197,0.27,0.395,0.537,0.59,0.809L245.686,85.248z"/>
- <path d="M238.146,75.893l-0.672-0.742l-17.828,16.049c0.225,0.246,0.443,0.498,0.666,0.746L238.146,75.893z"/>
- <path d="M229.648,67.322l-0.742-0.668l-16.053,17.832c0.248,0.223,0.498,0.441,0.746,0.666L229.648,67.322z"/>
- <path d="M220.361,59.758l-0.813-0.59l-14.094,19.385c0.271,0.195,0.541,0.393,0.811,0.592L220.361,59.758z"/>
- <path d="M199.578,47.65l-0.912-0.408l-9.74,21.865c0.305,0.135,0.611,0.266,0.914,0.402L199.578,47.65z"/>
- <path d="M188.369,43.221l-0.953-0.309L180,65.734c0.318,0.102,0.635,0.205,0.951,0.309L188.369,43.221z"/>
- <path d="M176.76,40.025l-0.979-0.209l-4.998,23.504c0.328,0.068,0.652,0.143,0.979,0.213L176.76,40.025z"/>
- <path d="M164.861,38.176l-0.994-0.104l-2.504,23.822c0.332,0.033,0.662,0.07,0.994,0.107L164.861,38.176z"/>
- <path d="M153.35,61.463V32.451h-2.002v29.012c0.334-0.004,0.666-0.012,1-0.012S153.016,61.459,153.35,61.463z"/>
- <path d="M93.215,48.006l-1.732,0.998l14.506,25.131c0.573-0.34,1.15-0.674,1.73-1L93.215,48.006z"/>
- <path d="M48.9,91.586l-0.998,1.729l25.129,14.506c0.328-0.58,0.66-1.156,1.001-1.729L48.9,91.586z"/>
- <path d="M61.359,151.453H32.347v1.996h29.013c-0.004-0.334-0.012-0.664-0.012-0.998S61.355,151.785,61.359,151.453z"/>
- <path d="M47.9,211.584l1.002,1.734l25.131-14.508c-0.34-0.572-0.676-1.15-1.003-1.732L47.9,211.584z"/>
- <path d="M91.48,255.898l1.734,0.998l14.504-25.129c-0.581-0.328-1.158-0.662-1.73-1.002L91.48,255.898z"/>
- <path d="M151.348,243.438v29.014h2.002v-29.014c-0.334,0.004-0.668,0.014-1.002,0.014S151.682,243.441,151.348,243.438z"/>
- <path d="M211.48,256.896l1.734-0.998l-14.508-25.133c-0.574,0.34-1.15,0.674-1.732,1.002L211.48,256.896z"/>
- <path d="M255.793,213.318l1-1.734l-25.129-14.506c-0.328,0.582-0.662,1.158-1.002,1.732L255.793,213.318z"/>
- <path d="M243.334,153.449h29.014v-1.996h-29.014c0.004,0.332,0.014,0.664,0.014,0.998S243.338,153.115,243.334,153.449z"/>
- <path d="M256.791,93.314l-0.998-1.729l-25.131,14.506c0.338,0.572,0.672,1.148,1,1.729L256.791,93.314z"/>
- <path d="M213.211,49.004l-1.729-0.998l-14.506,25.129c0.58,0.328,1.156,0.662,1.729,1.002L213.211,49.004z"/>
- </g>
- </g>
- <rect fill="none" width="305" height="305"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer_bg.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="292px" height="292px" viewBox="0 0 292 292" enable-background="new 0 0 292 292" xml:space="preserve">
-<g>
- <g>
- <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="144.9668" y1="2.0586" x2="147.0384" y2="290.504">
- <stop offset="0" style="stop-color:#00B9FF"/>
- <stop offset="0.2458" style="stop-color:#00A0EE"/>
- <stop offset="0.563" style="stop-color:#0087DC"/>
- <stop offset="0.7527" style="stop-color:#007DD5"/>
- </linearGradient>
- <path fill="url(#SVGID_1_)" d="M291,146.002C291,226.086,226.082,291,146,291S1,226.086,1,146.002C1,65.916,65.918,1,146,1
- S291,65.916,291,146.002z"/>
- <g>
- <polygon points="145.717,259.359 145.717,29.361 147.715,29.361 147.715,259.359 145.717,259.359 "/>
- <polygon points="157.246,249.334 135.191,39.492 136.186,39.387 158.242,249.23 157.246,249.334 "/>
- <polygon points="135.191,249.23 157.246,39.387 158.242,39.492 136.186,249.334 135.191,249.23 "/>
- <polygon points="124.293,247.451 168.162,41.063 169.141,41.271 125.271,247.658 124.293,247.451 "/>
- <polygon points="113.639,244.543 178.842,43.871 179.793,44.18 114.592,244.852 113.639,244.543 "/>
- <polygon points="103.348,240.537 189.17,47.779 190.084,48.186 104.264,240.943 103.348,240.537 "/>
- <polygon points="84.301,229.418 208.322,58.717 209.133,59.305 85.109,230.006 84.301,229.418 "/>
- <polygon points="75.752,222.428 216.938,65.625 217.682,66.295 76.496,223.098 75.752,222.428 "/>
- <polygon points="67.98,214.584 224.783,73.396 225.453,74.141 68.65,215.326 67.98,214.584 "/>
- <polygon points="61.07,205.969 231.773,81.945 232.361,82.756 61.66,206.777 61.07,205.969 "/>
- <polygon points="50.135,186.814 242.893,100.994 243.299,101.908 50.541,187.729 50.135,186.814 "/>
- <polygon points="46.227,176.486 246.898,111.285 247.207,112.236 46.535,177.439 46.227,176.486 "/>
- <polygon points="43.418,165.807 249.807,121.938 250.016,122.916 43.627,166.785 43.418,165.807 "/>
- <polygon points="41.742,154.893 251.586,132.836 251.691,133.832 41.848,155.887 41.742,154.893 "/>
- <polygon points="41.848,132.836 251.691,154.893 251.586,155.887 41.742,133.832 41.848,132.836 "/>
- <polygon points="43.627,121.938 250.016,165.807 249.807,166.785 43.418,122.916 43.627,121.938 "/>
- <polygon points="46.533,111.285 247.207,176.488 246.898,177.439 46.227,112.236 46.533,111.285 "/>
- <polygon points="50.541,100.994 243.299,186.816 242.893,187.73 50.135,101.908 50.541,100.994 "/>
- <polygon points="61.66,81.945 232.361,205.969 231.773,206.777 61.072,82.756 61.66,81.945 "/>
- <polygon points="68.65,73.396 225.453,214.584 224.783,215.326 67.979,74.141 68.65,73.396 "/>
- <polygon points="76.494,65.625 217.682,222.43 216.938,223.098 75.752,66.295 76.494,65.625 "/>
- <polygon points="85.109,58.715 209.133,229.42 208.322,230.008 84.301,59.305 85.109,58.715 "/>
- <polygon points="168.162,247.658 124.293,41.271 125.271,41.063 169.141,247.451 168.162,247.658 "/>
- <polygon points="178.842,244.852 113.639,44.18 114.59,43.871 179.793,244.543 178.842,244.852 "/>
- <polygon points="189.17,240.943 103.348,48.186 104.262,47.779 190.084,240.537 189.17,240.943 "/>
- <polygon points="88.35,243.453 203.35,44.27 205.084,45.268 90.082,244.453 88.35,243.453 "/>
- <polygon points="88.35,45.268 90.082,44.27 205.084,243.453 203.35,244.453 88.35,45.268 "/>
- <polygon points="31.717,145.361 31.717,143.361 261.719,143.361 261.719,145.361 31.717,145.361 "/>
- <polygon points="46.623,87.729 47.625,85.996 246.811,200.996 245.811,202.725 46.623,87.729 "/>
- <polygon points="46.623,200.996 245.811,85.996 246.811,87.729 47.625,202.725 46.623,200.996 "/>
- <g>
- <g>
- <path fill="#F2F2F2" d="M135.988,281.377c0.602,0.383,1.992,0.984,3.457,0.984c2.713,0,3.553-1.729,3.527-3.025
- c-0.023-2.184-1.992-3.119-4.031-3.119h-1.176v-1.586h1.176c1.535,0,3.48-0.791,3.48-2.639c0-1.248-0.793-2.354-2.736-2.354
- c-1.248,0-2.449,0.553-3.121,1.033l-0.551-1.537c0.814-0.6,2.4-1.199,4.08-1.199c3.072,0,4.465,1.824,4.465,3.721
- c0,1.607-0.961,2.975-2.881,3.672v0.047c1.92,0.385,3.48,1.824,3.48,4.01c0,2.496-1.945,4.68-5.689,4.68
- c-1.752,0-3.287-0.553-4.057-1.057L135.988,281.377z"/>
- <path fill="#F2F2F2" d="M158.166,275.832c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
- c0-5.234,2.256-8.113,5.424-8.113C156.293,267.936,158.166,270.863,158.166,275.832z M149.693,276.072
- c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.191-2.52,3.191-6.504c0-3.84-0.984-6.361-3.168-6.361
- C151.037,269.566,149.693,271.824,149.693,276.072z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M268.225,137.771h-0.047l-2.713,1.465l-0.408-1.609l3.408-1.824h1.801v15.602h-2.041V137.771z"/>
- <path fill="#F2F2F2" d="M285.266,137.58h-5.953l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
- c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.426,5.33-5.809,5.33c-1.705,0-3.145-0.48-3.889-0.961l0.527-1.607
- c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.455-4.488-3.455
- c-0.889,0-1.584,0.096-2.16,0.168l1.008-7.49h7.465V137.58z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M13.67,151.404v-4.248H6.422v-1.393l6.959-9.961h2.281v9.697h2.184v1.656h-2.184v4.248H13.67z
- M13.67,145.5v-5.207c0-0.816,0.023-1.633,0.072-2.449H13.67c-0.48,0.912-0.865,1.584-1.297,2.305l-3.816,5.305v0.047H13.67z"
- />
- <path fill="#F2F2F2" d="M28.766,137.58h-5.953l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
- c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.426,5.33-5.809,5.33c-1.705,0-3.145-0.48-3.889-0.961l0.527-1.607
- c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.455-4.488-3.455
- c-0.889,0-1.584,0.096-2.16,0.168l1.008-7.49h7.465V137.58z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M152.01,15.832c0,5.305-1.969,8.232-5.424,8.232c-3.049,0-5.113-2.855-5.16-8.016
- c0-5.234,2.256-8.113,5.424-8.113C150.139,7.936,152.01,10.863,152.01,15.832z M143.537,16.072
- c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.193-2.52,3.193-6.504c0-3.84-0.984-6.361-3.168-6.361
- C144.881,9.566,143.537,11.824,143.537,16.072z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M201.344,266.35v-1.297l1.656-1.607c3.984-3.793,5.783-5.809,5.809-8.16
- c0-1.584-0.77-3.049-3.098-3.049c-1.416,0-2.592,0.721-3.313,1.32l-0.672-1.488c1.08-0.912,2.617-1.584,4.418-1.584
- c3.359,0,4.775,2.305,4.775,4.535c0,2.881-2.088,5.209-5.377,8.377l-1.248,1.152v0.049h7.01v1.752H201.344z"/>
- <path fill="#F2F2F2" d="M222.967,252.523h-5.951l-0.6,4.01c0.359-0.049,0.695-0.098,1.271-0.098c1.199,0,2.4,0.266,3.359,0.842
- c1.225,0.695,2.232,2.039,2.232,4.008c0,3.049-2.424,5.328-5.809,5.328c-1.703,0-3.145-0.48-3.889-0.961l0.529-1.607
- c0.648,0.385,1.92,0.865,3.336,0.865c1.992,0,3.695-1.297,3.695-3.385c-0.023-2.018-1.367-3.457-4.488-3.457
- c-0.887,0-1.584,0.096-2.16,0.168l1.01-7.488h7.463V252.523z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M252.215,78.574h-0.047l-2.713,1.463l-0.408-1.607l3.408-1.824h1.801v15.602h-2.041V78.574z"/>
- <path fill="#F2F2F2" d="M270.313,84.238c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
- c0-5.234,2.256-8.113,5.424-8.113C268.439,76.342,270.313,79.27,270.313,84.238z M261.84,84.479
- c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.191-2.52,3.191-6.504c0-3.84-0.984-6.361-3.168-6.361
- C263.184,77.973,261.84,80.23,261.84,84.479z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M28.525,216.248V212h-7.248v-1.393l6.959-9.961h2.281v9.697h2.184V212h-2.184v4.248H28.525z
- M28.525,210.344v-5.209c0-0.816,0.023-1.633,0.072-2.447h-0.072c-0.48,0.912-0.865,1.584-1.297,2.303l-3.816,5.305v0.049
- H28.525z"/>
- <path fill="#F2F2F2" d="M44.678,208.279c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
- c0-5.234,2.256-8.113,5.424-8.113C42.805,200.383,44.678,203.311,44.678,208.279z M36.205,208.52
- c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.191-2.52,3.191-6.504c0-3.84-0.984-6.361-3.168-6.361
- C37.549,202.014,36.205,204.271,36.205,208.52z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M73.986,31.451h-5.951l-0.602,4.008c0.361-0.047,0.697-0.096,1.273-0.096c1.199,0,2.4,0.264,3.359,0.84
- c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.424,5.33-5.809,5.33c-1.703,0-3.145-0.48-3.889-0.961l0.529-1.607
- c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.695-1.297,3.695-3.385c-0.023-2.016-1.367-3.455-4.488-3.455
- c-0.887,0-1.584,0.096-2.16,0.168l1.01-7.49h7.463V31.451z"/>
- <path fill="#F2F2F2" d="M86.299,31.451h-5.953l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
- c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.426,5.33-5.809,5.33c-1.705,0-3.145-0.48-3.889-0.961l0.527-1.607
- c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.455-4.488-3.455
- c-0.889,0-1.584,0.096-2.16,0.168l1.008-7.49h7.465V31.451z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M248.828,216.248v-1.297l1.656-1.607c3.984-3.793,5.783-5.809,5.809-8.162
- c0-1.584-0.77-3.047-3.098-3.047c-1.416,0-2.592,0.719-3.313,1.32l-0.672-1.488c1.08-0.912,2.617-1.584,4.418-1.584
- c3.359,0,4.775,2.303,4.775,4.535c0,2.881-2.088,5.209-5.377,8.377l-1.248,1.152v0.049h7.01v1.752H248.828z"/>
- <path fill="#F2F2F2" d="M271.508,208.279c0,5.305-1.969,8.232-5.424,8.232c-3.049,0-5.113-2.857-5.16-8.018
- c0-5.232,2.256-8.111,5.424-8.111C269.637,200.383,271.508,203.311,271.508,208.279z M263.035,208.52
- c0,4.055,1.248,6.359,3.168,6.359c2.16,0,3.193-2.52,3.193-6.504c0-3.84-0.984-6.361-3.168-6.361
- C264.379,202.014,263.035,204.27,263.035,208.52z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M214.293,25.451h-5.953l-0.6,4.008c0.359-0.049,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
- c1.225,0.695,2.232,2.039,2.232,4.008c0,3.049-2.426,5.328-5.809,5.328c-1.705,0-3.145-0.479-3.889-0.959l0.527-1.609
- c0.648,0.385,1.92,0.865,3.336,0.865c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.457-4.488-3.457
- c-0.889,0-1.584,0.098-2.16,0.168l1.008-7.488h7.465V25.451z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M71.234,263.926c0.6,0.385,1.992,0.984,3.455,0.984c2.713,0,3.553-1.729,3.529-3.023
- c-0.023-2.184-1.992-3.121-4.033-3.121H73.01v-1.584h1.176c1.537,0,3.48-0.791,3.48-2.641c0-1.248-0.791-2.352-2.736-2.352
- c-1.248,0-2.447,0.553-3.119,1.033l-0.553-1.537c0.816-0.6,2.4-1.199,4.08-1.199c3.072,0,4.465,1.824,4.465,3.719
- c0,1.609-0.961,2.977-2.881,3.674v0.047c1.92,0.385,3.48,1.824,3.48,4.008c0,2.498-1.943,4.682-5.688,4.682
- c-1.752,0-3.289-0.553-4.057-1.057L71.234,263.926z"/>
- <path fill="#F2F2F2" d="M92.354,252.525h-5.951l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.199,0,2.4,0.264,3.359,0.84
- c1.225,0.697,2.232,2.041,2.232,4.01c0,3.047-2.424,5.328-5.809,5.328c-1.703,0-3.145-0.48-3.889-0.961l0.529-1.607
- c0.648,0.385,1.92,0.863,3.336,0.863c1.992,0,3.695-1.295,3.695-3.383c-0.023-2.018-1.367-3.457-4.488-3.457
- c-0.887,0-1.584,0.096-2.16,0.168l1.01-7.488h7.463V252.525z"/>
- </g>
- <g>
- <path fill="#F2F2F2" d="M30.283,78.383h-5.951l-0.602,4.008c0.361-0.049,0.697-0.096,1.273-0.096c1.199,0,2.4,0.264,3.359,0.84
- c1.225,0.695,2.232,2.039,2.232,4.008c0,3.049-2.424,5.328-5.809,5.328c-1.703,0-3.145-0.479-3.889-0.959l0.529-1.609
- c0.648,0.385,1.92,0.865,3.336,0.865c1.992,0,3.695-1.297,3.695-3.385c-0.023-2.016-1.367-3.457-4.488-3.457
- c-0.887,0-1.584,0.098-2.16,0.168l1.01-7.488h7.463V78.383z"/>
- <path fill="#F2F2F2" d="M43.652,84.238c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
- c0-5.232,2.256-8.113,5.424-8.113C41.779,76.342,43.652,79.27,43.652,84.238z M35.18,84.479c0,4.057,1.248,6.361,3.168,6.361
- c2.16,0,3.191-2.521,3.191-6.506c0-3.84-0.984-6.359-3.168-6.359C36.523,77.975,35.18,80.23,35.18,84.479z"/>
- </g>
- </g>
- </g>
- <circle fill="#E6E6E6" cx="146" cy="146" r="95"/>
- </g>
- <rect fill="none" width="292" height="292"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer_overlay.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="292px" height="292px" viewBox="0 0 292 292" enable-background="new 0 0 292 292" xml:space="preserve">
-<g>
-
- <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="79.2285" y1="25.7695" x2="79.2285" y2="-64.2285" gradientTransform="matrix(1 0 0 -1 66.772 126.7695)">
- <stop offset="0" style="stop-color:#00B9FF"/>
- <stop offset="0.2458" style="stop-color:#00A0EE"/>
- <stop offset="0.563" style="stop-color:#0087DC"/>
- <stop offset="0.7527" style="stop-color:#007DD5"/>
- </linearGradient>
- <path fill="url(#SVGID_1_)" d="M146,101c24.856,0,45,20.146,45,44.998c0,24.855-20.145,45-45,45c-24.855,0-45-20.145-45-45
- C101,121.146,121.145,101,146,101z"/>
- <rect fill="none" width="292" height="292"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer_pointer.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="292px" height="292px" viewBox="0 0 292 292" enable-background="new 0 0 292 292" xml:space="preserve">
-<g>
- <rect fill="none" width="292" height="292"/>
- <polygon points="120.687,109.787 146.667,51.787 172.647,109.787 "/>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_addnewcity.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <g>
- <path d="M19.846,38.309l-4.657-2.392c-0.143-0.071-0.248-0.196-0.296-0.349l0,0c-0.049-0.153-0.036-0.316,0.039-0.459l0,0
- c0.003-0.011,0.422-0.822,4.043-7.836l0,0l-5.06-2.633l0.277-0.534l0.531,0.278l-0.531-0.278l-0.277,0.534
- c-0.293-0.152-0.411-0.514-0.258-0.807l0,0l0.443-0.864c1.544-3.015,4.185-4.988,7.161-5.517l0,0
- c0.402-0.781,1.234-2.395,2.95-5.722l0,0c-0.635-0.327-1.566-0.809-1.566-0.809v-0.002c-0.294-0.149-0.411-0.511-0.257-0.804
- l0,0l2.241-4.345c0.153-0.296,0.515-0.415,0.809-0.261l0,0l13.257,6.84c0.141,0.071,0.248,0.199,0.297,0.353l0,0
- c0.049,0.15,0.036,0.315-0.036,0.456l0,0l-2.241,4.348c-0.075,0.14-0.199,0.244-0.353,0.297l0,0
- c-0.153,0.049-0.316,0.032-0.46-0.04l0,0c0,0-0.621-0.321-1.563-0.808l0,0c-0.52,1.004-1.413,2.736-2.95,5.717l0,0
- c0.596,1.263,0.906,2.652,0.906,4.076l0,0c0,1.651-0.414,3.344-1.248,4.96l0,0l-0.446,0.867
- c-0.071,0.14-0.195,0.243-0.349,0.296l0,0c-0.153,0.05-0.316,0.033-0.46-0.038l0,0l-5.094-2.623
- c-1.017,1.97-4.041,7.831-4.044,7.84l0,0c-0.075,0.14-0.195,0.244-0.349,0.297l0,0c-0.059,0.019-0.12,0.028-0.18,0.028l0,0
- C20.029,38.377,19.935,38.354,19.846,38.309L19.846,38.309z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M7.52,20.1c-0.156,0-0.313-0.061-0.423-0.176l0,0c-0.11-0.109-0.175-0.266-0.175-0.423l0,0v-5.337H1.578
- c-0.157,0-0.313-0.064-0.423-0.176l0,0c-0.11-0.113-0.176-0.267-0.176-0.426l0,0V8.16c0-0.156,0.065-0.313,0.176-0.424l0,0
- c0.111-0.113,0.267-0.174,0.423-0.174l0,0l5.344-0.004V2.225c0-0.16,0.062-0.313,0.175-0.427l0,0
- c0.11-0.11,0.267-0.176,0.423-0.176l0,0h5.402c0.156,0,0.313,0.065,0.423,0.176l0,0c0.111,0.114,0.176,0.267,0.176,0.427l0,0
- v5.338h5.337V8.16V7.563c0.163,0,0.313,0.061,0.426,0.174l0,0C19.398,7.852,19.46,8,19.46,8.16l0,0v5.402
- c0,0.159-0.062,0.313-0.176,0.426l0,0c-0.114,0.111-0.264,0.173-0.426,0.173l0,0h-5.337v5.34c0,0.157-0.065,0.313-0.176,0.423
- l0,0c-0.113,0.115-0.267,0.176-0.423,0.176l0,0H7.52L7.52,20.1z"/>
- </g>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_alarm.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <circle cx="30.819" cy="29.887" r="4.693"/>
- </g>
- <g>
- <g>
- <path d="M13.694,37.482c-0.165,0-0.318-0.063-0.437-0.181l0,0L8.09,32.133c-0.11-0.113-0.174-0.262-0.181-0.419l0,0
- l-0.206-6.682c-1.64-1.418-4.903-4.7-5.305-9.255l0,0c-0.026-0.296-0.037-0.585-0.037-0.865l0,0
- C2.359,11.884,3.728,9.006,6.322,6.42l0,0c2.55-2.561,5.41-3.906,8.438-3.904l0,0c0.279,0,0.554,0.015,0.826,0.035l0,0
- c4.699,0.388,8.168,3.764,9.682,5.476l0,0l6.564-0.237c0.172-0.008,0.344,0.062,0.465,0.186l0,0l5.164,5.243
- c0.238,0.241,0.234,0.631-0.004,0.869l0,0L14.13,37.304c-0.111,0.111-0.261,0.179-0.424,0.179l0,0
- C13.702,37.482,13.698,37.482,13.694,37.482L13.694,37.482z"/>
- </g>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_analyze.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <g>
- <g>
- <path d="M35.069,11.898l-8.76-8.762c-0.111-0.117-0.268-0.178-0.429-0.178H5.36c-0.158,0-0.316,0.061-0.43,0.178
- C4.819,3.248,4.753,3.404,4.753,3.564v32.869c0,0.158,0.065,0.314,0.177,0.43c0.116,0.111,0.271,0.178,0.43,0.178h29.28
- c0.157,0,0.316-0.066,0.429-0.178c0.112-0.115,0.178-0.271,0.178-0.43V12.328C35.247,12.168,35.181,12.01,35.069,11.898z
- M19.391,8.881c1.963,0,3.551,1.6,3.551,3.57c0,1.969-1.588,3.566-3.551,3.566c-1.967,0-3.548-1.598-3.551-3.566
- C15.843,10.48,17.424,8.881,19.391,8.881z M25.164,30.09c0,0.162-0.063,0.313-0.179,0.428c-0.111,0.117-0.267,0.18-0.429,0.18
- h-9.365c-0.164,0-0.315-0.063-0.428-0.18c-0.116-0.115-0.179-0.266-0.179-0.428v-2.838c0-0.162,0.063-0.316,0.175-0.432
- c0.116-0.113,0.271-0.176,0.432-0.176h1.619V20.65l-1.085-0.023c-0.329-0.008-0.593-0.279-0.593-0.604V17.25
- c0-0.162,0.063-0.313,0.178-0.43c0.115-0.115,0.268-0.178,0.428-0.178l6.652,0.018c0.336,0,0.606,0.27,0.606,0.604v9.381h1.56
- c0.162,0,0.317,0.063,0.429,0.178c0.115,0.113,0.179,0.268,0.179,0.43V30.09z M33.559,12.729h-7.656
- c-0.333,0-0.605-0.273-0.605-0.605V4.467c0-0.338,0.272-0.607,0.605-0.607c0.337,0,0.607,0.27,0.607,0.607v7.049h7.049
- c0.337,0,0.607,0.27,0.607,0.607C34.167,12.455,33.896,12.729,33.559,12.729z"/>
- </g>
- </g>
- <rect fill="none" width="40" height="40"/>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_lap.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <g>
- <g>
- <g>
- <path d="M38.817,19.563c0.017-0.134-0.02-0.265-0.101-0.368l-2.719-3.5c-0.082-0.104-0.202-0.173-0.334-0.188
- c-0.131-0.017-0.265,0.021-0.368,0.104l-2.323,1.81c-1.211-0.732-2.574-1.239-4.027-1.464v-1.482h1.853
- c0.134,0,0.257-0.052,0.353-0.145c0.096-0.096,0.147-0.222,0.147-0.355v-2.35c0-0.132-0.055-0.263-0.147-0.353
- c-0.093-0.093-0.221-0.147-0.353-0.147h-7.049c-0.134,0-0.263,0.052-0.355,0.147c-0.093,0.09-0.145,0.221-0.145,0.353v2.35
- c0,0.273,0.219,0.494,0.494,0.497l1.85,0.02v1.466c-1.429,0.22-2.769,0.714-3.967,1.426l-2.279-1.774
- c-0.218-0.169-0.532-0.131-0.702,0.088l-2.716,3.5c-0.169,0.218-0.131,0.529,0.088,0.702l1.744,1.358
- c-0.987,1.657-1.562,3.591-1.562,5.658C16.199,33.03,21.161,38,27.268,38c6.109,0,11.074-4.97,11.074-11.087
- c0-2.044-0.562-3.961-1.529-5.604l1.816-1.412C38.732,19.814,38.801,19.696,38.817,19.563z M29.09,28.268
- c0,0.131-0.055,0.256-0.147,0.352c-0.096,0.096-0.222,0.145-0.355,0.145H26.06c-0.134,0-0.26-0.049-0.355-0.145
- c-0.093-0.096-0.145-0.221-0.145-0.352v-7.202c0-0.131,0.052-0.259,0.145-0.354c0.096-0.093,0.224-0.145,0.355-0.145h2.527
- c0.134,0,0.263,0.052,0.355,0.145c0.093,0.096,0.147,0.224,0.147,0.354V28.268z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M6.984,27.315c-3.243-1.933-5.43-5.473-5.43-9.523l0,0c0-2.067,0.576-4.002,1.563-5.658l0,0l-1.745-1.36
- c-0.219-0.172-0.257-0.482-0.088-0.701l0,0l2.719-3.499c0.17-0.219,0.483-0.257,0.702-0.088l0,0L6.983,8.26
- c1.195-0.711,2.539-1.203,3.97-1.425l0,0V5.366L9.097,5.35C8.824,5.348,8.603,5.126,8.603,4.851l0,0V2.5
- c0-0.131,0.055-0.259,0.147-0.352l0,0c0.093-0.093,0.222-0.147,0.353-0.147l0,0h4.725c0.134,0,0.26,0.052,0.355,0.147l0,0
- c0.093,0.093,0.145,0.218,0.145,0.352l0,0v7.154c0,0.146-0.063,0.281-0.172,0.377l0,0c-0.109,0.096-0.257,0.137-0.401,0.117l0,0
- c-0.377-0.057-0.751-0.093-1.128-0.093l0,0c-4.255,0.009-7.714,3.47-7.722,7.733l0,0c0,1.791,0.614,3.432,1.638,4.747l0,0
- l0.104,0.284c0.061,1.384,0.423,2.683,1.034,3.832l0,0c0.106,0.196,0.068,0.442-0.095,0.598l0,0
- c-0.096,0.091-0.22,0.138-0.345,0.138l0,0C7.152,27.388,7.063,27.364,6.984,27.315L6.984,27.315z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M14.307,32.272c-3.244-1.931-5.429-5.473-5.429-9.523l0,0c-0.003-2.068,0.573-4.004,1.561-5.66l0,0l-1.744-1.36
- c-0.218-0.17-0.259-0.483-0.087-0.699l0,0l2.717-3.498c0.17-0.222,0.483-0.257,0.702-0.088l0,0l2.279,1.774
- c1.195-0.712,2.536-1.205,3.967-1.426l0,0v-1.468l-1.852-0.017c-0.273-0.006-0.495-0.227-0.495-0.5l0,0V7.456
- c0-0.131,0.052-0.259,0.146-0.354l0,0c0.093-0.093,0.224-0.145,0.354-0.145l0,0h4.725c0.134,0,0.26,0.052,0.353,0.147l0,0
- c0.096,0.093,0.147,0.218,0.147,0.352l0,0v7.155c0,0.145-0.063,0.281-0.175,0.377l0,0c-0.109,0.096-0.254,0.14-0.399,0.117l0,0
- c-0.376-0.058-0.751-0.093-1.127-0.093l0,0c-4.258,0.008-7.715,3.471-7.724,7.734l0,0c0,1.788,0.614,3.43,1.636,4.746l0,0
- l0.106,0.284c0.061,1.382,0.421,2.682,1.035,3.831l0,0c0.106,0.196,0.065,0.442-0.096,0.598l0,0
- c-0.096,0.092-0.22,0.139-0.344,0.139l0,0C14.475,32.345,14.386,32.321,14.307,32.272L14.307,32.272z"/>
- </g>
- </g>
- </g>
- <rect fill="none" width="40" height="40"/>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_newalarm.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <g>
- <circle cx="24.229" cy="32.53" r="3.754"/>
- </g>
- <g>
- <g>
- <path d="M10.093,38.548l-4.134-4.136c-0.114-0.111-0.178-0.259-0.182-0.418l0,0l-0.163-5.287
- c-1.332-1.163-3.921-3.79-4.246-7.453l0,0c-0.023-0.242-0.03-0.475-0.03-0.703l0,0c-0.004-2.462,1.111-4.797,3.207-6.883l0,0
- c2.052-2.062,4.375-3.158,6.835-3.156l0,0c0.226,0,0.45,0.012,0.67,0.028l0,0c3.781,0.314,6.553,2.986,7.792,4.378l0,0
- l5.193-0.188c0.172-0.006,0.344,0.061,0.465,0.182l0,0l4.13,4.193c0.239,0.243,0.235,0.634-0.004,0.874l0,0l-18.66,18.573
- c-0.119,0.114-0.273,0.179-0.439,0.179l0,0C10.362,38.73,10.207,38.666,10.093,38.548L10.093,38.548z M24.618,15.781
- l0.44-0.436L24.618,15.781L24.618,15.781z"/>
- </g>
- </g>
- </g>
- <g>
- <g>
- <path d="M30.54,17.302c-0.155-0.057-0.276-0.175-0.343-0.325l0,0l-1.854-4.194c-0.138-0.313,0-0.679,0.313-0.817l0,0l7.28-3.218
- c0.313-0.138,0.676,0,0.814,0.312l0,0l1.856,4.195c0.067,0.15,0.07,0.318,0.01,0.474l0,0c-0.06,0.154-0.175,0.275-0.326,0.343
- l0,0l-7.277,3.223c-0.08,0.034-0.165,0.053-0.249,0.053l0,0C30.689,17.346,30.613,17.331,30.54,17.302L30.54,17.302z
- M35.622,9.561l0.564-0.249L35.622,9.561L35.622,9.561z M26.555,11.586L22.313,9.84c-0.315-0.128-0.467-0.492-0.336-0.804l0,0
- l3.026-7.383c0.131-0.315,0.491-0.468,0.808-0.336l0,0l4.24,1.742c0.316,0.131,0.465,0.491,0.337,0.808l0,0l-3.03,7.382
- c-0.061,0.151-0.179,0.272-0.333,0.337l0,0c-0.075,0.031-0.155,0.047-0.235,0.047l0,0C26.711,11.633,26.63,11.617,26.555,11.586
- L26.555,11.586z M25.341,2.46l0.235-0.571L25.341,2.46L25.341,2.46z"/>
- </g>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_reset.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <path d="M23.19,4.596c0.446-0.448,0.882-0.886,0.882-0.886c0.204-0.206,0.204-0.539-0.002-0.741l-1.943-1.943
- c-0.207-0.207-0.538-0.207-0.742,0l-4.912,4.917c-0.204,0.207-0.204,0.535,0,0.742l5.025,5.027c0.1,0.099,0.232,0.155,0.371,0.155
- c0.142,0,0.271-0.057,0.371-0.153l1.945-1.937c0.1-0.1,0.153-0.23,0.153-0.372c0-0.138-0.054-0.274-0.153-0.371
- c-0.001-0.001-0.217-0.215-0.502-0.501c4.621,1.053,8.869,5.089,8.838,9.701c0,0.142,0.054,0.271,0.153,0.374
- c0.099,0.1,0.232,0.149,0.37,0.149h2.74c0.141,0,0.271-0.05,0.371-0.149c0.099-0.103,0.155-0.232,0.155-0.374
- C36.285,11.217,30.01,5.507,23.19,4.596z M35.785,18.234V17.71V18.234z"/>
- <path d="M17.388,11.723c-7.556,0-13.699,6.149-13.699,13.706c0,7.554,6.143,13.702,13.699,13.702
- c7.56,0,13.702-6.148,13.706-13.702C31.09,17.872,24.947,11.723,17.388,11.723 M19.314,26.586c0,0.14-0.054,0.272-0.153,0.372
- c-0.099,0.1-0.229,0.153-0.372,0.153h-2.889c-0.139,0-0.27-0.054-0.369-0.153s-0.156-0.232-0.156-0.372v-9.545
- c0-0.139,0.057-0.272,0.156-0.371c0.097-0.097,0.233-0.154,0.369-0.154h2.889c0.14,0,0.275,0.058,0.372,0.154
- c0.1,0.099,0.153,0.232,0.153,0.371V26.586z"/>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_split.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <path d="M35.913,13.063c0.021-0.176-0.027-0.346-0.133-0.48l-3.773-4.85c-0.22-0.281-0.629-0.336-0.912-0.115l-3.251,2.531
- c-1.692-1.025-3.6-1.732-5.635-2.041V5.971h2.616c0.171,0,0.336-0.07,0.458-0.193c0.123-0.121,0.188-0.285,0.188-0.457v-3.26
- c0-0.174-0.066-0.338-0.188-0.461S24.996,1.41,24.824,1.41h-9.788c-0.171,0-0.339,0.07-0.461,0.189
- c-0.119,0.123-0.189,0.291-0.189,0.461v3.256c0,0.357,0.287,0.646,0.644,0.65l2.616,0.025v2.115
- C15.64,8.408,13.76,9.1,12.089,10.096L8.902,7.617C8.619,7.396,8.21,7.451,7.99,7.732l-3.77,4.85
- c-0.108,0.135-0.154,0.309-0.133,0.48s0.112,0.33,0.245,0.434l2.453,1.908c-1.378,2.299-2.184,4.984-2.184,7.855
- c0,8.453,6.872,15.324,15.324,15.328c8.452-0.004,15.328-6.875,15.328-15.328c0-2.838-0.784-5.5-2.137-7.783l2.549-1.98
- C35.802,13.389,35.889,13.234,35.913,13.063z M20.485,35.553c-2.71,0-5.198-0.945-7.163-2.512c-0.21-0.17-0.25-0.479-0.083-0.694
- l6.369-8.337c0.094-0.123,0.24-0.199,0.396-0.199H31.47c0.138,0,0.265,0.057,0.359,0.153c0.096,0.098,0.145,0.224,0.143,0.361
- C31.823,30.548,26.744,35.55,20.485,35.553z"/>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_start.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <path d="M7.621,37.57c-0.205-0.111-0.339-0.326-0.339-0.559l0,0V2.99c0-0.236,0.13-0.451,0.339-0.561l0,0
- C7.83,2.322,8.083,2.34,8.275,2.473l0,0l24.176,16.98c0.168,0.117,0.267,0.313,0.267,0.516l0,0c0,0.205-0.099,0.396-0.267,0.518
- l0,0L8.275,37.523C8.166,37.6,8.039,37.639,7.91,37.639l0,0C7.812,37.639,7.714,37.615,7.621,37.57L7.621,37.57z"/>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_stop.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <path d="M5.612,34.963c-0.153,0-0.296-0.06-0.406-0.169l0,0c-0.11-0.109-0.169-0.255-0.169-0.408l0,0V5.611
- c0-0.148,0.062-0.299,0.169-0.404l0,0c0.105-0.111,0.256-0.17,0.406-0.17l0,0h28.774c0.154,0,0.297,0.059,0.406,0.17l0,0
- c0.111,0.105,0.17,0.254,0.17,0.404l0,0v28.774c0,0.153-0.059,0.299-0.17,0.408l0,0c-0.109,0.105-0.252,0.169-0.406,0.169l0,0
- H5.612L5.612,34.963z"/>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_stopwatch.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <path d="M35.914,13.063c0.021-0.176-0.028-0.346-0.133-0.48l-0.515,0.4l0.515-0.4l-3.773-4.85
- c-0.221-0.281-0.631-0.336-0.914-0.115l-3.25,2.531c-1.693-1.025-3.6-1.732-5.635-2.041V5.971h2.615
- c0.172,0,0.336-0.07,0.459-0.193c0.122-0.121,0.188-0.285,0.188-0.457v-3.26c0-0.174-0.065-0.338-0.188-0.461
- C25.16,1.477,24.996,1.41,24.824,1.41h-9.788c-0.171,0-0.339,0.07-0.461,0.189c-0.119,0.123-0.189,0.291-0.189,0.461v3.256
- c0,0.357,0.287,0.646,0.644,0.65l2.616,0.025v2.115C15.64,8.408,13.76,9.1,12.089,10.096L8.902,7.617
- C8.619,7.396,8.21,7.451,7.99,7.732l-3.77,4.85c-0.108,0.135-0.154,0.309-0.133,0.48s0.112,0.33,0.245,0.434l2.453,1.908
- c-1.378,2.299-2.184,4.984-2.184,7.855c0,8.453,6.872,15.324,15.324,15.328c8.452-0.004,15.328-6.875,15.328-15.328
- c0-2.838-0.784-5.5-2.137-7.783l2.55-1.98C35.802,13.389,35.889,13.234,35.914,13.063z M22.404,25.135
- c0,0.172-0.066,0.336-0.189,0.459c-0.121,0.121-0.285,0.188-0.461,0.188h-3.508c-0.174,0-0.339-0.063-0.461-0.188
- c-0.123-0.123-0.188-0.287-0.188-0.459V15.15c0-0.172,0.07-0.34,0.188-0.457c0.123-0.123,0.29-0.189,0.461-0.189h3.508
- c0.176,0,0.34,0.066,0.461,0.189c0.123,0.121,0.189,0.285,0.189,0.457V25.135z"/>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_timer.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <g>
- <g>
- <path d="M20.788,5.788c-1.923,0-3.759,0.349-5.473,0.957l9.151,9.954c0,0,3.764,4.007-0.358,7.782
- c-4.117,3.799-7.919-0.183-7.919-0.183L6.633,13.913c-1.43,2.437-2.265,5.266-2.265,8.296c0,9.069,7.351,16.421,16.419,16.421
- c9.068,0,16.42-7.352,16.42-16.421C37.208,13.141,29.855,5.788,20.788,5.788z"/>
- </g>
- </g>
- <g>
- <path d="M3.648,6.713l14.069,15.29c0,0,2.113,2.213,4.4,0.103c2.291-2.098,0.201-4.324,0.201-4.324L8.251,2.483
- c0,0-2.251-2.3-4.443-0.288C1.618,4.211,3.648,6.713,3.648,6.713z"/>
- </g>
- </g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_worldclock.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <path d="M1.376,20C1.394,30.267,9.729,38.606,20,38.624C30.268,38.606,38.607,30.267,38.624,20
- C38.607,9.732,30.268,1.393,20,1.375C9.729,1.393,1.394,9.732,1.376,20z M9.44,23.484l-0.925,1.23c0,0-0.085,2.324-0.091,2.422
- c-0.076,0.226-0.693,0.149-0.932,0.149c-0.807,0.761,0.421,1.424,0.217,1.895c-0.198,0.457-0.454,0.971-0.774,1.431
- c-2.255-2.882-4.663-8.227-3.11-14.513c0.196,0.094,0.443,0.331,0.75,0.755c0.337,0.468,0.314,1.104,0.631,1.394
- c0.378,0.346,0.784,1.573,0.784,1.573l1.043,1.126l2.408,1.559V23.484z M32.341,29.007c-0.703,0.229-0.458-0.546-0.458-0.546
- s0.629-1.39,0.643-1.501c0.033-0.263,0.863-0.524,0.863-0.524l0.553-0.878C34.762,25.392,33.805,28.527,32.341,29.007z
- M26.614,5.048c0.263,0.034,0.183,0.284,0.479,0.284c0.101,0,0.53-0.112,1.054-0.258c4.178,2.173,7.342,6.03,8.584,10.674
- c-0.055-0.003-0.089-0.008-0.089-0.008s-0.099-0.065-0.245-0.16l-0.516-1.022l-0.817-0.066l-1.664-1.402
- c0,0,0.441,1.13,1.173,1.664c0.475,0.033,0.798-0.032,0.822-0.008c0.52,1.373-0.594,3.06-1.887,3.372
- c-0.163-0.704-0.306-0.979-0.512-1.58l-2.266-3.081L30.6,13.782l1.045,1.59c0,0,0.74,1.241,1.046,1.961
- c0.589,0.522,0.703,0.739,0.763,1.273c0.207,0.066,0.37,0.077,1.023-0.162c0.988-0.364,0.424,1.162,0.262,1.588
- c-0.592,1.444-0.724,1.331-1.656,2.279c-1.441,1.018-0.668,2.793-0.732,4.229c0,0-1.455,0.98-1.994,1.192
- c-0.5,0.714-0.01,1.389-0.261,1.406c-0.766,0.251-1.925,1.437-2.124,1.601c-0.688,0.888-1.113,1.016-1.922,0.945
- c-2.257-0.638-1.578-2.984-1.678-3.245c-0.277-0.898-1.153-1.029-0.012-2.746c0.479-0.564,0.045-1.822-0.828-3.043
- c-0.4-0.563,0.281-1.868,0.229-1.877c-1.461-0.272-1.764-0.93-1.828-1.095c0,0-2.974,0.593-4.001,0.508
- c-0.787-0.063-2.488-2.101-2.817-2.854c-0.327-0.755,0.619-3.3,0.654-3.496c0.033-0.198,2.244-1.732,2.244-1.732l1.505-1.465
- l-0.901-0.444c0,0,0.186-1.837,1.014-1.372c0.087,0.049,0.554,0.145,1.082,0.099c0.559-0.351-0.612-0.813-0.485-1.288
- c0.03-0.112,0.463-0.166,0.027-0.56c-0.696-0.631-0.195-1.089,0.239-1.198c0.48,0.176,0.785,0.608,0.785,1.198
- c0,0.592,1.559-0.27,1.654-0.37c-0.695-0.501-1.045-1.294-0.784-1.327c0.267-0.036,1.421-0.335,1.716-0.633
- C24.157,4.449,26.348,5.017,26.614,5.048z M17.624,4.73c0.215-0.104,0.614,0.104,0.889,0.063c0.277-0.041,0.521,0.063,0.521,0.063
- s-0.491,0.23-0.705,0.271C18.115,5.169,17.809,4.959,17.624,4.73z M15.487,3.866c1.532-0.454,3.157-0.699,4.835-0.699
- c1.305,0,2.576,0.148,3.796,0.426c-1.636,0.353-3.429-0.069-3.429-0.069c-0.164,0.262-0.905,0.125-1.1,0.125
- c-0.199,0-1.213,0.838-2.168,0.757c-0.459,0.295-0.865,0.624-1.359,0.46c-0.492-0.164-1.435,0.653-1.795,0.688
- c-0.489,0.155-0.724,0.119-0.792-0.025C14.599,4.841,15.058,4.28,15.487,3.866z M12.276,5.191l-0.951,1.12
- c0,0-0.196,0.587-0.306,0.74c-0.108,0.152-0.653,0.742-0.653,0.742L9.909,7.597l-0.066-0.24c0,0-0.502,0.153-0.502,0.458
- S7.403,9.388,6.819,9.851C8.281,7.936,10.142,6.342,12.276,5.191z"/>
- <path d="M24.55,6.61c0.171,0.151,0.739,0.464,0.825-0.047c0.085-0.514-0.452-1.293-0.452-1.293s-0.54,0.131-0.403,0.48
- C24.656,6.099,24.381,6.459,24.55,6.61z"/>
- <path d="M24.55,6.61c0.171,0.151,0.739,0.464,0.825-0.047c0.085-0.514-0.452-1.293-0.452-1.293s-0.54,0.131-0.403,0.48
- C24.656,6.099,24.381,6.459,24.55,6.61z"/>
- <path d="M24.55,6.61c0.171,0.151,0.739,0.464,0.825-0.047c0.085-0.514-0.452-1.293-0.452-1.293s-0.54,0.131-0.403,0.48
- C24.656,6.099,24.381,6.459,24.55,6.61z"/>
- <path d="M28.767,9.863c0,0,0.515-0.094,1.015,0.1c1.418,0.286,0.977-0.235,0.304-0.6c-0.239-0.128-0.583-0.316-0.401-0.558
- c-0.157-0.255-0.5-0.075-0.742,0.191c-0.243,0.266-0.771-0.121-0.932,0.37C27.849,9.856,28.653,10.085,28.767,9.863z"/>
- <path d="M28.767,9.863c0,0,0.515-0.094,1.015,0.1c1.418,0.286,0.977-0.235,0.304-0.6c-0.239-0.128-0.583-0.316-0.401-0.558
- c-0.157-0.255-0.5-0.075-0.742,0.191c-0.243,0.266-0.771-0.121-0.932,0.37C27.849,9.856,28.653,10.085,28.767,9.863z"/>
- <path d="M28.767,9.863c0,0,0.515-0.094,1.015,0.1c1.418,0.286,0.977-0.235,0.304-0.6c-0.239-0.128-0.583-0.316-0.401-0.558
- c-0.157-0.255-0.5-0.075-0.742,0.191c-0.243,0.266-0.771-0.121-0.932,0.37C27.849,9.856,28.653,10.085,28.767,9.863z"/>
- <path d="M22.225,9.034c-0.348,0.296-1.314,1.204-1.314,1.204l-1.345,0.479l1.214,0.19l1.244-0.369l1.951,0.129l0.318,0.919
- c0,0,2.137,1.058,2.342,0.844c0.316-0.326,0.486-0.795,0.962-0.469c0.478,0.328,1.253,0.329,1.812,0.329
- c0.232,0.067,1.053,0.611,1.03-0.739c-0.362-0.304-2.352-0.177-2.915-1.48l-0.285,0.041c0,0,0.189,0.92-0.041,0.902
- c-0.537-0.039-1.096-1.001-1.096-1.001l-0.104-0.408l-1.401-0.793c0,0-0.007,0.234,1.085,1.191c0,0-0.369,0.631-0.858,0.664
- c0.124-0.164,0.216-0.655,0.216-0.655l-1.345-1.077C23.694,8.936,22.52,8.784,22.225,9.034z"/>
- <path d="M22.225,9.034c-0.348,0.296-1.314,1.204-1.314,1.204l-1.345,0.479l1.214,0.19l1.244-0.369l1.951,0.129l0.318,0.919
- c0,0,2.137,1.058,2.342,0.844c0.316-0.326,0.486-0.795,0.962-0.469c0.478,0.328,1.253,0.329,1.812,0.329
- c0.232,0.067,1.053,0.611,1.03-0.739c-0.362-0.304-2.352-0.177-2.915-1.48l-0.285,0.041c0,0,0.189,0.92-0.041,0.902
- c-0.537-0.039-1.096-1.001-1.096-1.001l-0.104-0.408l-1.401-0.793c0,0-0.007,0.234,1.085,1.191c0,0-0.369,0.631-0.858,0.664
- c0.124-0.164,0.216-0.655,0.216-0.655l-1.345-1.077C23.694,8.936,22.52,8.784,22.225,9.034z"/>
- <path d="M22.225,9.034c-0.348,0.296-1.314,1.204-1.314,1.204l-1.345,0.479l1.214,0.19l1.244-0.369l1.951,0.129l0.318,0.919
- c0,0,2.137,1.058,2.342,0.844c0.316-0.326,0.486-0.795,0.962-0.469c0.478,0.328,1.253,0.329,1.812,0.329
- c0.232,0.067,1.053,0.611,1.03-0.739c-0.362-0.304-2.352-0.177-2.915-1.48l-0.285,0.041c0,0,0.189,0.92-0.041,0.902
- c-0.537-0.039-1.096-1.001-1.096-1.001l-0.104-0.408l-1.401-0.793c0,0-0.007,0.234,1.085,1.191c0,0-0.369,0.631-0.858,0.664
- c0.124-0.164,0.216-0.655,0.216-0.655l-1.345-1.077C23.694,8.936,22.52,8.784,22.225,9.034z"/>
- <path d="M32.08,10.315c0.381,0.356,0.218,0.622,0.471,0.847c0.252,0.224,0.842,0.25,0.463-0.261
- c-0.459-0.617-0.939-1.096-1.045-1.248c-0.203-0.284,0.115-0.88-0.42-0.626C31.234,9.586,31.534,9.806,32.08,10.315z"/>
- <path d="M32.08,10.315c0.381,0.356,0.218,0.622,0.471,0.847c0.252,0.224,0.842,0.25,0.463-0.261
- c-0.459-0.617-0.939-1.096-1.045-1.248c-0.203-0.284,0.115-0.88-0.42-0.626C31.234,9.586,31.534,9.806,32.08,10.315z"/>
- <path d="M32.08,10.315c0.381,0.356,0.218,0.622,0.471,0.847c0.252,0.224,0.842,0.25,0.463-0.261
- c-0.459-0.617-0.939-1.096-1.045-1.248c-0.203-0.284,0.115-0.88-0.42-0.626C31.234,9.586,31.534,9.806,32.08,10.315z"/>
- </g>
-</g>
-</svg>
Binary file clock/data/translations/clock.qm has changed
--- a/clock/data/translations/clock.ts Mon May 03 12:30:32 2010 +0300
+++ b/clock/data/translations/clock.ts Fri May 14 15:51:09 2010 +0300
@@ -2,14 +2,14 @@
<!DOCTYPE TS>
<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
<context>
-<message numerus="no" id="txt_clock_setlabel_time_format">
- <comment>1st label in Regional date & time settings view</comment>
- <source>Time format</source>
- <translation variants="no">Time format</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
+<message numerus="no" id="txt_common_common_clock">
+ <comment>Title for Date and time settings view</comment>
+ <source>Clock</source>
+ <translation variants="no">Clock</translation>
+ <extra-loc-layout_id></extra-loc-layout_id>
+ <extra-loc-viewid>Common</extra-loc-viewid>
+ <extra-loc-positionid>Common</extra-loc-positionid>
+ <extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
<message numerus="no" id="txt_clock_dblist_val_1_hr">
@@ -22,24 +22,24 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_formlabel_val_alarm">
- <comment>Default value for Description label in Alarm editor view</comment>
- <source>Alarm</source>
- <translation variants="no">Alarm</translation>
- <extra-loc-layout_id>qtl_dataform_description_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1_val</extra-loc-positionid>
+<message numerus="no" id="txt_clock_dblist_daily_val_1_hr_2_mins">
+ <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Hour and Mins)</comment>
+ <source>%1 hr %2 mins</source>
+ <translation variants="no">%1 hr %2 mins</translation>
+ <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
+ <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_tumbler_title_alarm_time">
- <comment>Title for the time picker tumbler widget </comment>
- <source>Alarm time</source>
- <translation variants="no">Alarm time</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
+<message numerus="no" id="txt_clock_dblist_val_1_mins">
+ <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Mins)</comment>
+ <source>%1 mins</source>
+ <translation variants="no">%1 mins</translation>
+ <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
+ <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
<message numerus="no" id="txt_clk_setlabel_val_mm_dd_yyyy">
@@ -47,7 +47,7 @@
<source>mm dd yyyy</source>
<translation variants="no">mm dd yyyy</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
<extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
@@ -62,23 +62,23 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_opt_discard_changes">
- <comment>When user edits an already existed alarm in Alarm editor form, he can "Discard changes" from Options menu and the prevoius values are saved.</comment>
- <source>Discard changes</source>
- <translation variants="no">Discard changes</translation>
+<message numerus="no" id="txt_clock_opt_add_city">
+ <comment></comment>
+ <source>Add city</source>
+ <translation variants="no">Add city</translation>
<extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
<extra-loc-positionid>opt</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_button_regional_date_time_settings">
- <comment>Tapping on this button opens advanced date and time view</comment>
- <source>Regional date & time settings</source>
- <translation variants="no">Regional date & time settings</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
+<message numerus="no" id="txt_clk_menu_show_on_homescreen">
+ <comment>Long tap menu on an added city in World clock view (both portrait and landscape)</comment>
+ <source>Show on homescreen</source>
+ <translation variants="no">Show on homescreen</translation>
+ <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
+ <extra-loc-positionid>menu</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -92,26 +92,6 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_subhead_alarm">
- <comment>When user taps on already existed alarm in the alarm list, the alarm editor opens with subtitle "Alarm"</comment>
- <source>Alarm</source>
- <translation variants="no">Alarm</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_repeat_daily">
- <comment>2nd dropdown list value for Occurence label in Alarm editor view</comment>
- <source>Repeat daily</source>
- <translation variants="no">Repeat daily</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_clock_main_view_setlabel_in_1hr_2mins">
<comment>Secondary text displaying the time remaining for the alarm (hour, mins)</comment>
<source>In %1hr %2mins</source>
@@ -122,53 +102,33 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_tumbler_title_time">
+<message numerus="no" id="txt_common_setlabel_dst">
<comment></comment>
- <source>Time</source>
- <translation variants="no">Time</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
+ <source>DST</source>
+ <translation variants="no">DST</translation>
+ <extra-loc-layout_id></extra-loc-layout_id>
+ <extra-loc-viewid>Common</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+ <extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_formlabel_place">
- <comment>5th label for Place in Clock settings view</comment>
- <source>Place</source>
- <translation variants="no">Place</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_time">
- <comment>Label for Time in Alarm editor view</comment>
- <source>Time</source>
- <translation variants="no">Time</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+<message numerus="no" id="txt_clock_main_view_setlabel_in_1hrs_2mins">
+ <comment>Secondary text displaying the time remaining for the alarm (hours, mins)</comment>
+ <source>In %1hrs %2mins</source>
+ <translation variants="no">In %1hrs %2mins</translation>
+ <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hrs_2mins</extra-loc-layout_id>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
<extra-loc-positionid>setlabel_1</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_once">
- <comment>1st dropdown list value for Occurence label in Alarm editor view</comment>
- <source>Once</source>
- <translation variants="no">Once</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_friday">
- <comment>5th dropdown list value for Day label in Alarm editor view</comment>
- <source>Friday</source>
- <translation variants="no">Friday</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_5_val</extra-loc-positionid>
+<message numerus="no" id="txt_clock_main_view_button_alarms">
+ <comment></comment>
+ <source>Alarms</source>
+ <translation variants="no">Alarms</translation>
+ <extra-loc-layout_id>qtl_toolbar_tiny1_3</extra-loc-layout_id>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
+ <extra-loc-positionid>button</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -182,33 +142,23 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_setlabel_week_starts_on">
- <comment>6th field in Regional date & time settings view</comment>
- <source>Week starts on</source>
- <translation variants="no">Week starts on</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+<message numerus="no" id="txt_clock_main_view_dblist_daily_val_workdays">
+ <comment>Layout ID Parent. Custom Layout. Text to show the alarm occurance.</comment>
+ <source>Workdays</source>
+ <translation variants="no">Workdays</translation>
+ <extra-loc-layout_id>txt_clock_main_view_dblist_daily_val_today</extra-loc-layout_id>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
+ <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_repeat_on_workdays">
- <comment>4th dropdown list value for Occurence label in Alarm editor view</comment>
- <source>Repeat on workdays</source>
- <translation variants="no">Repeat on workdays</translation>
+<message numerus="no" id="txt_clk_setlabel_val_yyyy_mm_dd">
+ <comment>3rd value in combo box list for Date format label</comment>
+ <source>yyyy mm dd</source>
+ <translation variants="no">yyyy mm dd</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_sunday">
- <comment>7th dropdown list value for Day label in Alarm editor view</comment>
- <source>Sunday</source>
- <translation variants="no">Sunday</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_7_val</extra-loc-positionid>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -222,23 +172,13 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_yyyy_mm_dd">
- <comment>3rd value in combo box list for Date format label</comment>
- <source>yyyy mm dd</source>
- <translation variants="no">yyyy mm dd</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_mins">
- <comment>Note displayed after alarm is set (time remaining) (hr, mins)</comment>
- <source>Time to alarm %1 hour and %2 minutes</source>
- <translation variants="no">Time to alarm %1 hour and %2 minutes</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
+<message numerus="no" id="txt_clock_subhead_world_clock">
+ <comment>Subtitle for World Clock view</comment>
+ <source>World Clock</source>
+ <translation variants="no">World Clock</translation>
+ <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
+ <extra-loc-positionid>subhead</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -252,23 +192,13 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_formlabel_city_name">
- <comment>Form label for city name in add own city (popup) data entry form</comment>
- <source>City name</source>
- <translation variants="no">City name</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_timezone">
- <comment>Form label for timezone in add own city (popup) data entry form</comment>
- <source>Timezone</source>
- <translation variants="no">Timezone</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
+<message numerus="no" id="txt_clock_button_add_city">
+ <comment></comment>
+ <source>Add city</source>
+ <translation variants="no">Add city</translation>
+ <extra-loc-layout_id>qtl_toolbar_tiny1_3</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
+ <extra-loc-positionid>button</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -282,6 +212,16 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_clock_main_view_setlabel_in_1hrs_2min">
+ <comment>Secondary text displaying the time remaining for the alarm (hours, min)</comment>
+ <source>In %1hrs %2min</source>
+ <translation variants="no">In %1hrs %2min</translation>
+ <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hrs_2min</extra-loc-layout_id>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_common_common_gmt">
<comment></comment>
<source>GMT</source>
@@ -292,13 +232,23 @@
<extra-loc-feature>Co</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_opt_add_own_city">
- <comment>"Add own city" from Options menu in City list </comment>
- <source>Add own city</source>
- <translation variants="no">Add own city</translation>
- <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>opt</extra-loc-positionid>
+<message numerus="no" id="txt_short_caption_clock">
+ <comment>Clock application in Application library grid</comment>
+ <source>Clock</source>
+ <translation variants="no">Clock</translation>
+ <extra-loc-layout_id>qtl_grid_applications_sec</extra-loc-layout_id>
+ <extra-loc-viewid>Clock</extra-loc-viewid>
+ <extra-loc-positionid>grid</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clock_main_view_setlabel_in_1days">
+ <comment>Layout ID Parent. Custom layout. Days remaining for the alarm</comment>
+ <source>In %1days</source>
+ <translation variants="no">In %1days</translation>
+ <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1days</extra-loc-layout_id>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
+ <extra-loc-positionid>setlabel_1</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -322,36 +272,6 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_setlabel_date">
- <comment>Label to the date field (picker) in the settings view</comment>
- <source>Date</source>
- <translation variants="no">Date</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_workdays">
- <comment>Label for Workdays in Alarm editor</comment>
- <source>Workdays</source>
- <translation variants="no">Workdays</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_12_hour">
- <comment>2nd value in combo box list for Time format label</comment>
- <source>12 hour</source>
- <translation variants="no">12 hour</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_clock_main_view_setlabel_every_1">
<comment>Layout ID Parent. Custom. Alarm Occurance detail.</comment>
<source>Every %1</source>
@@ -362,499 +282,6 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_mins">
- <comment>Note displayed after alarm is set (time remaining) (hrs, mins)</comment>
- <source>Time to alarm %1 hours and %2 minutes</source>
- <translation variants="no">Time to alarm %1 hours and %2 minutes</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_repeat_weekly">
- <comment>3rd dropdown list value for Occurence label in Alarm editor view</comment>
- <source>Repeat weekly</source>
- <translation variants="no">Repeat weekly</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_workdays_at_1">
- <comment>Note displayed after alarm is set (workdays)</comment>
- <source>Alarm occurs workdays at %1</source>
- <translation variants="no">Alarm occurs workdays at %1</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_long_caption_clock">
- <comment>Clock application in Application library list</comment>
- <source>Clock</source>
- <translation variants="no">Clock</translation>
- <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>
- <extra-loc-viewid>Clock</extra-loc-viewid>
- <extra-loc-positionid>list</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_date_time">
- <comment>Sub-title for Date & time settings view</comment>
- <source>Date & time</source>
- <translation variants="no">Date & time</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_dpopinfo_alarm_deactivated">
- <comment>Information shown in a popup once the alarm is deactivated</comment>
- <source>Alarm Deactivated</source>
- <translation variants="no">Alarm Deactivated</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_menu_set_as_current_location">
- <comment>Long tap menu on an added city in the World clock view (both portrait and landscape)</comment>
- <source>Set as current location</source>
- <translation variants="no">Set as current location</translation>
- <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
- <extra-loc-positionid>menu</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_main_view_opt_settings">
- <comment>Item in Options menu from Clock main vew</comment>
- <source>Settings</source>
- <translation variants="no">Settings</translation>
- <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
- <extra-loc-positionid>opt</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_wednesday">
- <comment>3rd dropdown list value for Day label in Alarm editor view</comment>
- <source>Wednesday</source>
- <translation variants="no">Wednesday</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_common_clock">
- <comment>Title for Date and time settings view</comment>
- <source>Clock</source>
- <translation variants="no">Clock</translation>
- <extra-loc-layout_id></extra-loc-layout_id>
- <extra-loc-viewid>Common</extra-loc-viewid>
- <extra-loc-positionid>Common</extra-loc-positionid>
- <extra-loc-feature>Co</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_main_view_list_time_info_date_info">
- <comment>The time and date information will be displayed in 2nd row</comment>
- <source>%1, %2</source>
- <translation variants="no">%1, %2</translation>
- <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>
- <extra-loc-viewid>CP main view_time & date plugin_P11</extra-loc-viewid>
- <extra-loc-positionid>list</extra-loc-positionid>
- <extra-loc-feature>CP</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_digital">
- <comment>Setting item to clock display type. Tap to toggle values.</comment>
- <source>Digital</source>
- <translation variants="no">Digital</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_main_view_list_time_date">
- <comment>This text is displayed in 1st row</comment>
- <source>Time & date</source>
- <translation variants="no">Time & date</translation>
- <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>
- <extra-loc-viewid>CP main view_time & date plugin_P11</extra-loc-viewid>
- <extra-loc-positionid>list</extra-loc-positionid>
- <extra-loc-feature>CP</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_every_week_on_1_at_2">
- <comment>Note displayed after alarm is set (every week)</comment>
- <source>Alarm occurs every week on %1 at %2</source>
- <translation variants="no">Alarm occurs every week on %1 at %2</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dblist_daily_val_1_hr_2_mins">
- <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Hour and Mins)</comment>
- <source>%1 hr %2 mins</source>
- <translation variants="no">%1 hr %2 mins</translation>
- <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>
- <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
- <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_occurence">
- <comment>Label for Occurence in Alarm editor</comment>
- <source>Occurence</source>
- <translation variants="no">Occurence</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dblist_val_1_mins">
- <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Mins)</comment>
- <source>%1 mins</source>
- <translation variants="no">%1 mins</translation>
- <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>
- <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
- <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date_format">
- <comment>3rd field in Regional date & time settings view</comment>
- <source>Date format</source>
- <translation variants="no">Date format</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_min">
- <comment>Note displayed after alarm is set (time remaining) (hrs, min)</comment>
- <source>Time to alarm %1 hours and %2 minute</source>
- <translation variants="no">Time to alarm %1 hours and %2 minute</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_menu_show_on_homescreen">
- <comment>Long tap menu on an added city in World clock view (both portrait and landscape)</comment>
- <source>Show on homescreen</source>
- <translation variants="no">Show on homescreen</translation>
- <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
- <extra-loc-positionid>menu</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_alarm_will_occur_at_1_after_au">
- <comment>Popup Information which comes after setting the alarm.</comment>
- <source>Alarm will occur at %1 after automatic daylight saving update</source>
- <translation variants="no">Alarm will occur at %1 after automatic daylight saving update</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_new_alarm">
- <comment>When user taps on "New alarm" toolbar button in Clock main view, alarm editor opens with the subtitle "New alarm".</comment>
- <source>New alarm</source>
- <translation variants="no">New alarm</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_regional_date_time_settings">
- <comment>Sub-title for Regiional date & time settings</comment>
- <source>Regional date & time settings</source>
- <translation variants="no">Regional date & time settings</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_24_hour">
- <comment>1st Value in combo box list for Time format label</comment>
- <source>24 hour</source>
- <translation variants="no">24 hour</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1hrs_2mins">
- <comment>Secondary text displaying the time remaining for the alarm (hours, mins)</comment>
- <source>In %1hrs %2mins</source>
- <translation variants="no">In %1hrs %2mins</translation>
- <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hrs_2mins</extra-loc-layout_id>
- <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_country">
- <comment>Form label for country in add own city (popup) data entry form</comment>
- <source>Country</source>
- <translation variants="no">Country</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_setlabel_dst">
- <comment></comment>
- <source>DST</source>
- <translation variants="no">DST</translation>
- <extra-loc-layout_id></extra-loc-layout_id>
- <extra-loc-viewid>Common</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Co</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_alarm_sound">
- <comment>Label for Alarm sound in Alarm editor view</comment>
- <source>Alarm sound</source>
- <translation variants="no">Alarm sound</translation>
- <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_monday">
- <comment>1st dropdown list value for Day label in Alarm editor view</comment>
- <source>Monday</source>
- <translation variants="no">Monday</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_button_alarms">
- <comment></comment>
- <source>Alarms</source>
- <translation variants="no">Alarms</translation>
- <extra-loc-layout_id>qtl_toolbar_tiny1_3</extra-loc-layout_id>
- <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_alarm_occurs_every_day_at_1">
- <comment>Note displayed after alarm is set (Everyday Time)</comment>
- <source>Alarm occurs every day at %1</source>
- <translation variants="no">Alarm occurs every day at %1</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_thursday">
- <comment>4th dropdown list value for Day label in Alarm editor view</comment>
- <source>Thursday</source>
- <translation variants="no">Thursday</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_clock_list_ln_minutes">
- <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>
- <source>%Ln minutes</source>
- <translation>
- <numerusform variants="no">(s)%Ln minutes</numerusform>
- <numerusform variants="no">(p)%Ln minutes</numerusform>
- </translation>
- <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>set</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_analog">
- <comment>Setting item to clock display type. Tap to toggle values.</comment>
- <source>Analog</source>
- <translation variants="no">Analog</translation>
- <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>button</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_min">
- <comment>Note displayed after alarm is set (time remaining)</comment>
- <source>Time to alarm %1 hour and %2 minute</source>
- <translation variants="no">Time to alarm %1 hour and %2 minute</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_dblist_daily_val_workdays">
- <comment>Layout ID Parent. Custom Layout. Text to show the alarm occurance.</comment>
- <source>Workdays</source>
- <translation variants="no">Workdays</translation>
- <extra-loc-layout_id>txt_clock_main_view_dblist_daily_val_today</extra-loc-layout_id>
- <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
- <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_tuesday">
- <comment>2nd dropdown list value for Day label in Alarm editor view</comment>
- <source>Tuesday</source>
- <translation variants="no">Tuesday</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_world_clock">
- <comment>Subtitle for World Clock view</comment>
- <source>World Clock</source>
- <translation variants="no">World Clock</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_once_only_on_next_1_a">
- <comment>Note displayed after alarm is set (only once)</comment>
- <source>Alarm occurs once only on next %1 at %2</source>
- <translation variants="no">Alarm occurs once only on next %1 at %2</translation>
- <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>dpopinfo</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_alarm_date">
- <comment>Title for the date picker tumbler widget </comment>
- <source>Alarm date</source>
- <translation variants="no">Alarm date</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_date">
- <comment></comment>
- <source>Date</source>
- <translation variants="no">Date</translation>
- <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>
- <extra-loc-viewid>Tumbler</extra-loc-viewid>
- <extra-loc-positionid>title</extra-loc-positionid>
- <extra-loc-feature>Tu</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1hrs_2min">
- <comment>Secondary text displaying the time remaining for the alarm (hours, min)</comment>
- <source>In %1hrs %2min</source>
- <translation variants="no">In %1hrs %2min</translation>
- <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hrs_2min</extra-loc-layout_id>
- <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_short_caption_clock">
- <comment>Clock application in Application library grid</comment>
- <source>Clock</source>
- <translation variants="no">Clock</translation>
- <extra-loc-layout_id>qtl_grid_applications_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock</extra-loc-viewid>
- <extra-loc-positionid>grid</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_day">
- <comment>Label for Day in Alarm editor view</comment>
- <source>Day</source>
- <translation variants="no">Day</translation>
- <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1days">
- <comment>Layout ID Parent. Custom layout. Days remaining for the alarm</comment>
- <source>In %1days</source>
- <translation variants="no">In %1days</translation>
- <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1days</extra-loc-layout_id>
- <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_use_network_date_time">
- <comment>1st label in Date and time settings view</comment>
- <source>Use network date & time</source>
- <translation variants="no">Use network date & time</translation>
- <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time_separator">
- <comment>Subtitle for the time seperator drop down list</comment>
- <source>Time separator</source>
- <translation variants="no">Time separator</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date_separator">
- <comment>Subtitle for the date seperator drop down list</comment>
- <source>Date separator</source>
- <translation variants="no">Date separator</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time">
- <comment>Label to the time field (picker) in the settings view</comment>
- <source>Time</source>
- <translation variants="no">Time</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_1</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
<message numerus="no" id="txt_clock_main_view_dblist_daily_val_today">
<comment>Layout ID Parent. Custom Layout. Text to show the alarm occurance.</comment>
<source>Today</source>
@@ -865,40 +292,40 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_setlabel_clock_type">
- <comment>Primary text label for Clock Type</comment>
- <source>Clock Type</source>
- <translation variants="no">Clock Type</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_1</extra-loc-viewid>
- <extra-loc-positionid>setlabel_5</extra-loc-positionid>
+<message numerus="no" id="txt_long_caption_clock">
+ <comment>Clock application in Application library list</comment>
+ <source>Clock</source>
+ <translation variants="no">Clock</translation>
+ <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>
+ <extra-loc-viewid>Clock</extra-loc-viewid>
+ <extra-loc-positionid>list</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_subhead_city_list">
- <comment>Subtitle for City list</comment>
- <source>City list</source>
- <translation variants="no">City list</translation>
- <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>
- <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
- <extra-loc-positionid>subhead</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_opt_delete">
- <comment>When user creates a new alarm in Alarm editor form, he can "Delete" this alarm via Options menu.</comment>
- <source>Delete</source>
- <translation variants="no">Delete</translation>
+<message numerus="no" id="txt_clk_main_view_opt_settings">
+ <comment>Item in Options menu from Clock main vew</comment>
+ <source>Settings</source>
+ <translation variants="no">Settings</translation>
<extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
<extra-loc-positionid>opt</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clock_main_view_dpopinfo_alarm_activated">
- <comment>Information shown in a popup once the alarm is activated</comment>
- <source>Alarm Activated</source>
- <translation variants="no">Alarm Activated</translation>
+<message numerus="no" id="txt_clk_menu_set_as_current_location">
+ <comment>Long tap menu on an added city in the World clock view (both portrait and landscape)</comment>
+ <source>Set as current location</source>
+ <translation variants="no">Set as current location</translation>
+ <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>
+ <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
+ <extra-loc-positionid>menu</extra-loc-positionid>
+ <extra-loc-feature>Cl</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_clock_main_view_dpopinfo_alarm_deactivated">
+ <comment>Information shown in a popup once the alarm is deactivated</comment>
+ <source>Alarm Deactivated</source>
+ <translation variants="no">Alarm Deactivated</translation>
<extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
<extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
<extra-loc-positionid>dpopinfo</extra-loc-positionid>
@@ -915,23 +342,13 @@
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
-<message numerus="no" id="txt_clk_setlabel_val_saturday">
- <comment>6th dropdown list value for Day label in Alarm editor view</comment>
- <source>Saturday</source>
- <translation variants="no">Saturday</translation>
- <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>setlabel_6_val</extra-loc-positionid>
- <extra-loc-feature>Cl</extra-loc-feature>
- <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_formlabel_description">
- <comment>Label for Description in Alarm editor view</comment>
- <source>Description</source>
- <translation variants="no">Description</translation>
- <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
- <extra-loc-positionid>formlabel_1</extra-loc-positionid>
+<message numerus="no" id="txt_clock_main_view_dpopinfo_alarm_activated">
+ <comment>Information shown in a popup once the alarm is activated</comment>
+ <source>Alarm Activated</source>
+ <translation variants="no">Alarm Activated</translation>
+ <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
+ <extra-loc-positionid>dpopinfo</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
@@ -940,7 +357,7 @@
<source>dd mm yyyy</source>
<translation variants="no">dd mm yyyy</translation>
<extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>
- <extra-loc-viewid>Clock_Date & time settings_P04_3</extra-loc-viewid>
+ <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
<extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
<extra-loc-feature>Cl</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
--- a/clock/data/worldclock/qgn_clock_time_zone.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="320px" version="1.1" viewBox="0 0 640 320" width="640px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<defs id="symbolDefs">
-<symbol id="pin" overflow="visible">
- <polygon points="0,0 0.947,-6.288 3.851,-11.624 0.583,-13.402 6.224,-17.481 7.354,-23.541 15.773,-18.959 11.299,-14.72 10.937,-7.769 7.669,-9.546 4.766,-4.209 "/>
-</symbol>
-</defs>
-
-<g id="worldmap">
-<rect fill="#E8F5F8" height="320" width="640"/>
-<g>
-<path d="M225.453,37.671c0.315,0,1.583-0.28,2.057-0.438c0.474-0.158,1.022-0.588,1.022-0.588 s-1.184-0.552-1.737-0.552c-0.552,0-2.368-0.868-2.605-0.475c-0.237,0.395-1.184,0.79-1.184,0.79s1.105,0.631,1.342,0.631 S225.453,37.671,225.453,37.671z" fill="#B9C5D1"/>
-<path d="M485.456,141.13C485.456,141.99,484.461,142.28,485.456,141.13" fill="#B9C5D1"/>
-<path d="M487.706,148.706c0.112-0.56,0.255-0.866-0.474-1.479C487.022,147.859,487.18,148.353,487.706,148.706" fill="#B9C5D1"/>
-<path d="M487.054,146.339c0.732-1.096-0.944-0.704-0.918-0.525C486.264,146.672,487.264,146.511,487.054,146.339" fill="#B9C5D1"/>
-<path d="M494.574,159.773c-0.021-0.042,0.021-1.404-1.125-2.07C493.473,158.692,494.125,158.889,494.574,159.773" fill="#B9C5D1"/>
-<path d="M496.586,162.082c-0.097-0.337,0.998,2.11,0.651,1.895C494.404,162.206,496.593,163.1,496.586,162.082" fill="#B9C5D1"/>
-<path d="M499.429,166.581c-0.237-0.19-1.825-2.19-1.835-2.19C498.662,164.391,498.974,165.985,499.429,166.581" fill="#B9C5D1"/>
-<path d="M513.343,153.974c-0.178,0-0.118,0.474-0.415-0.118s0.237-1.007,0.237-1.007s0.533,0.415,0.533,0.651 C513.698,153.737,513.343,153.974,513.343,153.974z" fill="#B9C5D1"/>
-<path d="M540.578,116.923c-0.02,0,1.351,0.112,1.48-0.06C541.547,117.544,541.056,117.676,540.578,116.923" fill="#B9C5D1"/>
-<path d="M543.835,116.271c-0.217-0.079-0.434-0.157-0.651-0.236c-0.079,0.099-0.158,0.197-0.237,0.296 C543.249,116.427,543.545,116.407,543.835,116.271" fill="#B9C5D1"/>
-<path d="M211.263,72.977c-0.148-0.06-1.006-0.267-1.362-0.385c-0.355-0.118-1.036-0.533-1.273-0.533 c-0.236,0-0.77-0.029-1.006-0.088c-0.237-0.06-1.273-0.207-1.273-0.207s-0.208,0.118,0.118,0.266s1.214,0.296,1.244,0.414 c0.029,0.119-0.267,0.297,0.177,0.444c0.444,0.148,0.977,0.355,1.362,0.385c0.385,0.029,0.622,0.029,1.007,0.029 c0.385,0,0.651-0.147,0.799-0.177C211.204,73.095,211.263,72.977,211.263,72.977z" fill="#B9C5D1"/>
-<path d="M178.867,61.386c0.112-0.118,0.678-0.395,1.356-0.474c0.678-0.078,1.13-0.197,0.904-0.434 c-0.226-0.237-0.904-0.553-1.243-0.395c-0.339,0.157-1.355,0.315-1.355,0.631C178.528,61.031,178.867,61.386,178.867,61.386z" fill="#B9C5D1"/>
-<path d="M161.706,23.072c-0.316,0.118-0.355,0.197-0.592,0.236c-0.237,0.04-1.421-0.158-1.421-0.039 c0,0.118-0.552,0.236-0.671,0.236c-0.118,0-0.631-0.236-0.474-0.276c0.158-0.039,0.829-0.117,0.671-0.117 c-0.158,0-0.513-0.158-0.513-0.316s0.552-0.435,0.552-0.435s1.026,0,1.263,0s0.75-0.079,0.868,0.119 C161.508,22.678,161.706,23.072,161.706,23.072z" fill="#B9C5D1"/>
-<path d="M377.016,93.277c-0.072-0.043-0.296-0.346-0.356-0.357c0.002,0-0.563,0.766-0.098,0.699 C376.821,93.582,377.07,93.61,377.016,93.277" fill="#B9C5D1"/>
-<path d="M375.625,93.011c0.274-0.09,0.169-0.474-0.034-0.521C375.208,92.399,375.181,93.037,375.625,93.011" fill="#B9C5D1"/>
-<path d="M382.078,97.154c-0.323,0.217-0.753,0.303-1.047,0.507c-0.162,0.112,0.252,0.433,0.196,0.603 c-0.08,0.242-0.648,0.153-0.843,0.435c-0.269,0.388-1.096,0.347-1.505,0.249c-0.337-0.08-0.835-0.318-0.598-0.75 c0.232-0.425,0.698-0.235,1.042-0.499c0.307-0.236,0.744-0.027,1.091-0.018C380.897,97.695,381.583,97.279,382.078,97.154" fill="#B9C5D1"/>
-<path d="M367.424,97.924c-0.381,0.381-1.738,0.393-2.26,0.508c-0.332,0.073-0.674-0.315-0.948-0.468 c-0.456-0.253-1.082,0.109-1.558-0.129c-0.352-0.176-0.329-0.417,0.089-0.474c0.717-0.098,1.144,0.044,1.833,0.106 C365.522,97.554,366.481,97.774,367.424,97.924" fill="#B9C5D1"/>
-<path d="M370.947,95.793c-0.126,0.377-0.589,0.665-0.829,0.977C369.731,96.153,370.477,95.824,370.947,95.793" fill="#B9C5D1"/>
-<path d="M365.915,89.578c-0.164,0.246-0.823,0.352-0.807-0.026C365.121,89.229,365.969,89.221,365.915,89.578" fill="#B9C5D1"/>
-<path d="M366.24,94.491c-0.061,0.018-1.095-0.089-1.007,0.089c0.085,0.171,0.493,0.04,0.642,0.228 C366.045,95.022,366.246,94.659,366.24,94.491" fill="#B9C5D1"/>
-<path d="M364.642,95.083c0.107-0.087,0.22-0.354,0.17-0.491c-0.011-0.031-0.687,0.494-0.763,0.55 C364.245,95.252,364.467,95.221,364.642,95.083" fill="#B9C5D1"/>
-<path d="M368.608,97.48c0.171-0.173,0.337-0.772,0.72-0.641c0.164,0.057-0.482,0.755-0.75,0.758 C368.588,97.559,368.599,97.52,368.608,97.48" fill="#B9C5D1"/>
-<path d="M364.76,91.502c-0.06-0.094-0.736-0.629-0.737-0.606C363.997,91.257,364.418,91.66,364.76,91.502" fill="#B9C5D1"/>
-<path d="M0,27.472c0,0,0.818,1.145,3.435,0.49s4.579-1.799,9.485-0.49c0,0,4.906,1.309,5.724-0.164 c0.818-1.472,6.869-2.78,6.706-1.799s-1.799,1.472-0.164,1.963c1.635,0.49,5.724,0,5.56,1.472 c-0.163,1.473-7.522,0.818-8.013,2.453c-0.491,1.636-7.85,1.472-9.813,0.654c-1.962-0.818-4.252,1.145-5.724,1.145 c-1.472,0-7.032-1.472-7.196-0.817V27.472z" fill="#B9C5D1"/>
-<path d="M0.823,33.425v1.21c0,0,2.813-0.425,3.696-0.262c0.883,0.164,1.047-0.163,0.916-0.49 s-1.145-0.393-1.505-0.688C3.571,32.901,1.15,33.294,0.823,33.425z" fill="#B9C5D1"/>
-<path d="M0,38.004c0,0,8.145,1.93,8.995,2.715c0.851,0.785-0.065,0.785,0,1.177 c0.065,0.394,0.981,0.197,0.981,0.394s-0.098,0.72,0.327,0.393s0.458,0.131,0.752,0c0.294-0.132-1.21-1.079-0.719-1.309 c0.49-0.229,2.322,0.196,2.813,0.327c0.491,0.131,2.617,0.621,3.467,0.687c0.851,0.065,2.453,0.262,1.962,0.491 c-0.49,0.229-2.061,1.046-3.238,0.589c0,0,0.589,0.851-0.229,0.719c-0.818-0.131-1.799-0.72-1.832-0.359 c-0.033,0.359,1.014,1.93,0.36,2.093c-0.654,0.164-2.225,0.426-2.781,0.197c-0.556-0.229-1.374-0.916-1.962-0.884 c-0.589,0.033-0.588,0.458-1.603-0.981c0,0-0.458-0.752-2.093-0.196c-1.636,0.557-2.257,0.785-2.617-0.13 c-0.36-0.916,0.065-0.785,0.392-0.949c0.327-0.163,0.393-0.654,0.066-0.523s-0.72,0.426-0.851,0.262 c-0.131-0.164-0.196-0.556-0.458-0.262s-1.178,0.065-1.178,0.49c0,0.426,0.687,0.852,0.426,1.243 C0.72,44.578,0.196,44.905,0,44.905V38.004z" fill="#B9C5D1"/>
-<path d="M15.15,48.046c0,0-0.164-1.243,1.995-0.851c0,0,1.145-0.327,1.668,0.229s1.635-0.359,2.191,0.491 s0.556,0.687,0.556,0.687s-2.028-0.098-2.42,0C19.141,48.602,16.491,47.653,15.15,48.046z" fill="#B9C5D1"/>
-<path d="M22.738,53.377c0,0,3.042-0.589,3.435-0.196S28.888,56.517,22.738,53.377z" fill="#B9C5D1"/>
-<path d="M6.221,67.833c0,0-4.351-0.393-1.374,1.047L6.221,67.833z" fill="#B9C5D1"/>
-<path d="M7.169,68.095c0,0-1.112,0.653-0.622,1.046c0.491,0.394,1.832-0.556,1.766-0.687 C8.249,68.323,8.15,67.931,7.169,68.095z" fill="#B9C5D1"/>
-<path d="M9.818,67.702c0,0,2.715,1.243,3.565,0.457c0.851-0.784,0.098-0.425,1.014-0.163 c0.916,0.262,3.009-0.981-2.943-0.785C11.454,67.211,9.394,66.492,9.818,67.702z" fill="#B9C5D1"/>
-<path d="M20.056,66.23c0,0-4.023,0.163-3.369,0.916C17.341,67.898,19.5,67.473,20.056,66.23z" fill="#B9C5D1"/>
-<path d="M20.678,66.066c0,0,1.439-1.341,1.963-1.014c0.523,0.327-1.341,1.668-1.668,1.439 C20.645,66.263,20.678,66.066,20.678,66.066z" fill="#B9C5D1"/>
-<path d="M23.622,65.674c0,0,0.556-1.439,2.028-1.569C27.122,63.973,28.004,65.543,23.622,65.674z" fill="#B9C5D1"/>
-<path d="M0,299.032c0,0,47.962,0,66.248-4.493c18.286-4.492,74.042,1.498,73.443-1.198 c-0.6-2.695,29.376-3.595,42.566-4.193c13.19-0.599,32.076-25.161,32.076-14.977s-2.398,16.475-2.098,17.973 c0.299,1.497,35.072,9.585,45.264,6.889c10.192-2.695,39.869-16.175,61.152-15.276c21.284,0.898,60.553-1.797,67.448-0.599 s20.684-8.088,33.874-5.691s24.88,7.788,31.175,6.59c6.295-1.198,12.891-2.097,14.989-4.493c2.098-2.396,31.475-1.498,44.964-1.498 s37.771-3.894,55.756-0.897c17.986,2.994,60.553,6.589,56.656,10.783c-3.896,4.193-19.785,6.589-12.59,9.585 c7.194,2.995,27.878,1.797,29.077,2.097V320H0V299.032z" fill="#B9C5D1"/>
-<path d="M146.684,28.423c0,0-2.016,0.891-2.719,0.797s-5.157,0.516-2.156,1.313c0,0,0.328,0.375-0.516,0.281 c-0.844-0.094-5.673,0.188-1.688,1.594c3.985,1.406,2.625,0.142,5.017,1.688c2.392,1.547,3.798-0.375,4.36-0.891 s0.656-3.47-0.375-4.079C147.575,28.517,146.872,28.142,146.684,28.423z" fill="#B9C5D1"/>
-<path d="M142.783,17.813c0,0,3.863-0.306,2.847,0.61C144.613,19.338,142.072,19.644,142.783,17.813z" fill="#B9C5D1"/>
-<path d="M166.266,47.191c0,0,0.915,0.102,1.118-0.915s1.728-3.05,3.354-1.932c1.626,1.119,8.843,2.237,7.217,2.745 c-1.626,0.508-5.286,1.017-8.234,1.017S165.757,48.005,166.266,47.191z" fill="#B9C5D1"/>
-<path d="M172.161,50.038c0,0-1.423-2.339,2.948-1.322C175.109,48.716,174.397,50.139,172.161,50.038z" fill="#B9C5D1"/>
-<path d="M183.648,40.991c0,0-0.204-1.729,3.151-1.525l0.204,1.22C187.003,40.686,185.173,41.295,183.648,40.991z" fill="#B9C5D1"/>
-<path d="M135.16,24.93c0,0-1.423-2.644,3.66-0.204c0,0,9.148-1.829,9.25,0.306s-7.404-0.568-6.607,1.423 C141.665,26.963,136.583,25.946,135.16,24.93z" fill="#B9C5D1"/>
-<path d="M117.574,21.677c0,0,7.116-2.644,8.539-1.22c1.423,1.423-3.146,5.168-8.892,1.313" fill="#B9C5D1"/>
-<path d="M134.245,26.657c0,0,5.489,0.306,2.745,0.61S133.737,28.792,134.245,26.657z" fill="#B9C5D1"/>
-<path d="M149.086,23.913c0,0,12.91-0.102,12.199,1.017c-0.712,1.118,8.132,1.728,10.877,1.22 c2.744-0.508,7.929-0.915,7.624,0.203c-0.305,1.118-13.825,2.033-16.976,1.729c-3.151-0.306-6.709-0.509-6.607-1.322 s-5.794-1.321-6.709-2.033C148.578,24.015,148.171,24.116,149.086,23.913z" fill="#B9C5D1"/>
-<path d="M170.484,121.421c0,0,4.432-3.952,8.827-1.33c0,0,3.103,0.037,3.546,0.924 c0.443,0.887,2.29,1.81,2.955,1.957c0.665,0.148,2.474,0.85,2.807,1.256s-0.369,0.85-1.292,0.85s-4.247,0.517-4.395,0 c-0.148-0.518,0.775-0.369,0.665-0.887c-0.11-0.517-0.332-0.887-0.997-1.107c-0.665-0.222-1.81-0.813-3.509-0.998 c-1.699-0.184-4.284,0.443-5.318,0.037s-0.739-0.887-1.256-0.775c-0.517,0.111-2.104,0.738-2.253,0.332 C170.115,121.272,170.484,121.421,170.484,121.421z" fill="#B9C5D1"/>
-<path d="M190.392,125.653c0,0,1.034-0.688,2.622-0.207c1.588,0.48,2.433-0.191,3.029,0.037s2.283,0.051,1.78,0.524 c-0.503,0.474-0.856,0.621-0.487,0.769c0.37,0.147,1.884-0.775,1.81,0.332c-0.073,1.108-0.184,1.319-0.738,0.997 s-1.446-0.541-2.034-0.233s-1.253-0.542-1.696,0.049s-1.071,2.622-1.478,0.296c0,0-5.096,0.221-4.727-0.332 c0.369-0.555,2.917-0.961,3.989-0.407C192.46,127.478,189.949,126.782,190.392,125.653z" fill="#B9C5D1"/>
-<path d="M181.786,127.552c0,0,4.765,0.259,3.73,0.775C184.482,128.845,180.42,129.14,181.786,127.552z" fill="#B9C5D1"/>
-<path d="M201.316,127.961c0,0,2.501-1.193,3.138,0.029C205.091,129.214,200.126,128.998,201.316,127.961z" fill="#B9C5D1"/>
-<path d="M180.014,111.966c0,0,5.008,0.671,3.796,1.998c0,0-0.251,0.439-0.583-0.188S179.09,112.113,180.014,111.966 z" fill="#B9C5D1"/>
-<path d="M181.797,115.641c0,0-0.769,1.89,0.257,1.637C183.079,117.025,183.174,116.286,181.797,115.641z" fill="#B9C5D1"/>
-<path d="M186.218,116.693c0,0,1.145,0.369,0.591,0.591C186.255,117.506,186.145,117.358,186.218,116.693z" fill="#B9C5D1"/>
-<path d="M184.741,120.017c0,0,2.186,0.348,1.684,1.078C185.923,121.827,184.334,120.645,184.741,120.017z" fill="#B9C5D1"/>
-<path d="M190.65,120.497c0,0,1.107-0.406,1.145,0.369C191.795,120.866,190.835,121.532,190.65,120.497z" fill="#B9C5D1"/>
-<path d="M189.8,123.078c0,0,1.146-1.103,1.257-0.66C191.167,122.861,191.387,123.664,189.8,123.078z" fill="#B9C5D1"/>
-<path d="M183.67,119.205c0,0,1.553,0.784,1.423-0.31C185.093,118.896,183.744,118.467,183.67,119.205z" fill="#B9C5D1"/>
-<path d="M188.767,119.943c0,0,0.032,0.678,0.293,0.856C189.32,120.978,190.17,119.5,188.767,119.943z" fill="#B9C5D1"/>
-<path d="M192.494,121.51c0,0,0.962,0.978,1.184,0.739C193.9,122.012,193.709,120.859,192.494,121.51z" fill="#B9C5D1"/>
-<path d="M214.815,136.514c0,0-0.602,1.307,0.47,0.789C216.356,136.785,215.084,136.869,214.815,136.514z" fill="#B9C5D1"/>
-<path d="M211.444,131.984c0,0-0.997-1.034,0.702-0.739C212.146,131.245,212.33,132.021,211.444,131.984z" fill="#B9C5D1"/>
-<path d="M211.796,133.406c0,0-0.573-0.609,0.202-0.757C211.998,132.649,212.775,133.24,211.796,133.406z" fill="#B9C5D1"/>
-<path d="M211.791,134.057c0,0,0.142,1.485,0.571,1.474S214.098,134.14,211.791,134.057z" fill="#B9C5D1"/>
-<g>
-<path d="M40.308,56.611c0,0-4.857,3.909-9.003,5.094s-6.752,4.62,1.659,1.304 c8.41-3.317,10.661-3.317,10.898-4.502s6.042-5.212,7.226-4.383s6.634-2.132,9.121-1.185c2.488,0.947,4.502,1.185,7.108,1.303 c2.606,0.119,11.846,3.554,14.333,6.278c0,0-1.185-0.474-0.119-2.369c1.066-1.895,2.725-0.592,2.132,0.119 c-0.592,0.71-2.487,1.065-1.066,1.658c1.421,0.592,5.804,2.843,6.042,4.501c0.237,1.659,4.027,4.146,4.856,4.976 s1.777,1.066,1.777,1.066s-3.554-0.119-2.843,0.592c0.71,0.711,7.463,3.08,8.884,3.08s0.474,0,0.474,0s-0.829,6.516-2.014,9.121 c-1.185,2.606,2.606,10.188,5.331,13.387c2.724,3.198,5.804,3.554,7.344,6.159c1.54,2.606,5.804,6.989,5.094,7.463 c-0.711,0.474,6.278,6.16,6.989,8.529c0.711,2.369,2.014,1.303,2.014,0.237c0-1.066-4.501-8.056-6.989-9.951 s-3.554-3.909-2.725-4.501c0.83-0.593,4.265,2.605,4.265,3.672s2.488,1.896,3.672,3.554s2.014,2.014,4.383,4.502 c2.369,2.487,4.738,4.501,4.265,6.396s1.066,2.843,2.606,4.027s2.369,1.304,3.672,2.014c0,0,9.003,5.213,11.017,3.909 c2.014-1.303,8.055,3.08,9.477,3.436c1.422,0.355,3.791,0.355,5.449,2.014s5.567,4.383,6.516,6.397 c0.947,2.014,5.804,4.146,5.923,2.724c0.118-1.421,2.132-3.908,2.843-2.369c0.711,1.54,3.672,2.488,2.843,5.805 c-0.829,3.317-1.895,7.463-2.961,7.7c-1.066,0.236-8.411,7.107,3.672,24.521c0,0,10.306,6.278,11.728,11.609 s-1.54,14.097-2.251,17.888c-0.71,3.79-4.146,13.741-3.554,17.058c0.593,3.317-1.303,6.516-1.658,7.227 c0,0,1.54-1.659,2.014-1.066c0.474,0.592-1.066,4.62-2.725,7.345c-1.658,2.724-1.54,15.044,12.794,15.518 c0,0,4.501-0.118,4.62-0.829c0,0-6.515,0.947-7.226-6.516c0,0,6.871-5.686,6.16-6.87c-0.711-1.185-3.08,0.118-3.317-1.54 s4.62-2.962,4.857-6.16c0.237-3.198-0.355-3.554-0.355-3.554s6.634,1.304,5.331-3.198c0,0,13.031,3.554,9.358-5.805 c0,0,2.606-0.829,5.212-2.961c2.606-2.133,9.714-7.463,9.24-13.149c0,0,1.185-4.265,6.752-5.449c0,0,4.264-0.592,4.62-1.303 s4.265-3.08,4.383-5.805c0.118-2.725,0.355-9.714,2.25-12.438s6.989-6.988,5.923-11.017c-1.066-4.027-2.487-2.487-3.909-3.08 c-1.421-0.592-6.87-3.435-8.647-3.554c-1.777-0.118-9.595-4.027-11.372-3.554c-1.777,0.475,1.777-5.804-4.146-5.804 c0,0-4.383-6.516-9.951-6.871c-5.567-0.355-7.818-6.16-8.292-7.581c-0.474-1.422-6.989,0.355-7.818,0.71 c-0.829,0.355-2.843,0.355-4.265-0.71c-1.421-1.066-3.316-3.198-4.027-2.606c-0.711,0.593-2.606-1.54-4.738,0.118 c-2.132,1.659-5.923,0.829-5.449,2.488c0.474,1.658-1.066,4.027-1.658,3.909c-0.593-0.119-1.896-1.896-2.843-1.896 s-6.871,1.776-7.818-0.118c-0.948-1.896-2.014-3.791-1.066-10.543c0,0-9.358,0.947-9.24-0.948 c0.118-1.896,2.843-5.449,2.724-8.766c-0.118-3.317-5.449,0.829-6.515,2.961c0,0-5.212,5.094-8.766,0.83 c-3.554-4.265-10.188-30.207,21.796-18.48c0,0,5.923,5.924,3.317,7.227c0,0-1.54,1.421,0.829,0.947c0,0,1.895,1.304,0.237-7.699 c0,0-2.369-3.317,0.711-5.213s12.438-3.909,8.411-8.884c0,0,2.014-5.805,7.818-6.634c5.805-0.829,1.896-1.304,1.54-4.265 c0,0,9.122-4.976,9.003-3.554c0,0-3.435,4.856,1.777,2.369c5.212-2.487,7.107-2.606,8.766-3.673c0,0-0.592-2.605-4.146-0.118 c0,0-23.455-8.884,7.344-9.121c0,0,9.832-0.947-5.094-9.121c0,0-6.634-6.278-6.752-8.411c0,0-6.989,8.647-8.647,3.08 s-15.518-7.937-15.874-6.041s4.383,6.989,2.725,10.068c-1.659,3.08-3.554,12.557-6.397,9.596 c-2.843-2.962-1.54-6.989-14.097-8.767c-12.557-1.776-14.097-6.159-9.24-8.884s11.553-6.588,13.29-8.077 c0,0-0.95-0.524-0.59-0.918c0.36-0.393,3.899,0.754,4.718,0.622c0.819-0.13,4.652-0.948,2.981-2.914s1.409-1.048,1.311-1.604 c-0.099-0.558-2.981-0.655-2.031-1.475s4.783,0.754,4.881-0.131s-2.719-0.394-2.064-0.819s3.21,0.426,3.473,0.196 c0.262-0.229-1.54-0.688-0.688-0.786c0.852-0.098,1.965-0.164,2.555,0.524s5.013,1.441,3.571,1.77 c-1.441,0.327-1.867,0.917-1.081,0.851c0.787-0.064,2.981-0.982,2.556-0.393s-0.328,1.311,1.278,0.786 c1.605-0.523,3.604,1.18,3.407,1.9c-0.196,0.721-3.702,2.097-3.734,2.392c-0.033,0.295,1.9,0.327,1.343,0.622 c-0.557,0.295-4.718,0.885-5.897,0.328c-1.179-0.558-2.555,1.343-1.54,1.867s8.027-0.95,10.025,1.311c0,0,1.048-0.229,1.441,0.032 c0.393,0.263-0.95,0.426-0.557,0.787c0.393,0.359,3.276,0.982,3.604,0.688c0,0,7.043,2.392,6.847,1.572 c-0.196-0.818-4.882-2.719-5.832-3.047c0,0,1.704-0.098,2.195,0.263c0.491,0.36,6.454,2.162,6.355,1.769 c-0.098-0.393-2.654-0.459-1.966-1.016s1.868-0.327,1.9-0.688s-2.654-1.081-2.228-1.311c0.426-0.229-0.229-1.213-0.59-1.016 c-0.36,0.196-4.849-2.031-3.374-2.687c1.474-0.655,3.768,0.819,4.226,0.491c0.458-0.327,2.162-1.18,1.671-0.688 c-0.492,0.491-0.099,2.687,0,2.326c0.098-0.36,2.457,1.048,1.965,0.098c-0.491-0.95,0.721-2.391,2.687-2.521 s-0.721-1.18-1.311-0.885c-0.589,0.295-0.852-0.196-0.917-0.688c-0.065-0.492-2.162-0.394-2.654-0.688 c-0.491-0.295-6.257-1.049-5.995-1.638c0.262-0.59,2.654-0.786,2.522-1.18c-0.131-0.393-3.538-0.164-2.981-0.557 c0.557-0.393,2.162,0.458,2.195-0.263s-10.124-3.439-11.696-3.112c0,0-12.351-0.556-12.351-1.277c0-0.721-0.033-1.016-1.212-1.835 c-1.18-0.819-6.618-0.753-7.044-0.458c-0.426,0.294,0.066,1.245,0.098,1.998c0.033,0.753,1.999,0.885,0.852,1.408 c-1.147,0.525-4.849-0.621-3.244-2.194c1.605-1.573,2.359-1.441,1.704-1.835c-0.655-0.394-9.239-0.786-7.831,4.488 c0,0,3.866-0.196,3.669,0.36c-0.196,0.558-2.883-0.36-2.817,0.263c0.065,0.622,11.925,1.311,11.663,1.9 c-0.262,0.589-4.521-0.099-4.783,0.327s-1.605,6.323-4.75,2.72c-3.145-3.604-8.125-6.127-9.992-6.487c0,0,8.583-3.112,6.749-3.604 c-1.834-0.491-9.435-1.016-9.599-0.557c-0.164,0.458,0.753,3.078,0.229,3.865c-0.524,0.787-3.735,2.293-1.082,3.964 c0,0-5.929,0.557-6.323,1.016c-0.393,0.459,1.769,0.557,1.212,1.475c-0.557,0.917-10.418-0.263-8.125-0.557 c2.293-0.295,5.962-2.064,4.586-2.688c-1.361-0.615-10.293-7.102-13.464-4.634c-0.034,0.025-0.066,0.053-0.099,0.081 c0,0-26.799-4.063-28.699-3.112c-1.9,0.949,0.229,1.441,0.459,1.475c0,0-4.292,5.798,5.11,4.389c0,0,3.997-2.588,4.652-2.489 c0,0,0.229,4.161,2.162,4.128c0,0-0.229,2.129,6.847,2.293c0,0,0.852,1.803,4.652,1.245c0,0,6.684,1.213-5.438,0.983 c0,0-14.579-4.292-15.988-3.539c-1.409,0.754-2.228,1.18-2.031,0.328c0.196-0.852-1.212,0.491-2.687,0.065 c-1.475-0.426-14.48-1.999-20.017,0.95c0,0-14.939-1.409-16.02-1.835c-1.082-0.426-8.715-0.36-12.023-1.966 c-3.309-1.604-5.537-0.688-6.225-0.557c-0.688,0.131-4.456,0.688-5.701,0.95c-1.245,0.262-4.259,0.295-5.373,1.016 c-1.114,0.721-0.59,2.162-2.522,2.261c-1.934,0.098-5.635,0.786-0.558,2.85c0,0,8.944,3.375,1.573,2.49 c0,0-8.583-0.622-8.256,0.426s2.097,0.491,2.392,1.277c0.295,0.786-3.473,1.999,9.599,0.819c0,0,1.867,0.852,0.623,1.376 c-1.245,0.524-3.702-0.328-5.832,0.229c-2.129,0.557-5.832,3.637-2.326,4.619c0,0,0.125,1.294,0.655,1.9 c0.229,0.262,2.949,1.638,3.506,1.474c0.557-0.163,2.391-0.818,2.162,0.688c-0.229,1.507,3.538,1.966,5.078,0.852 C39.494,55.59,40.368,54.489,40.308,56.611z" fill="#B9C5D1"/>
-<path d="M159.149,15.171c0,0,11.081-1.017,15.248-0.509c4.168,0.509,27.04-3.66,34.563-0.915 c0,0-4.676,1.524-10.166,2.236c-5.489,0.712-9.25,5.998-13.723,5.896c-4.473-0.102-3.151,2.949-5.693,2.949 c-2.541,0-18.5,1.117-17.078-0.61c1.423-1.729,2.948-0.407,2.948-1.017c0-0.61-3.151-1.83,3.151-0.61c0,0,1.729-1.423,0.712-1.22 s-4.676-0.61,1.017-1.22l1.016-0.508c0,0-1.423-0.712-3.558-1.119c-2.135-0.406,1.22-1.524,5.998-0.203 c0,0,10.978-1.017,11.385-1.524c0.406-0.509-8.539-0.406-16.976-0.102S157.93,16.085,159.149,15.171z" fill="#B9C5D1"/>
-<path d="M150.204,17.61c0,0,2.745-2.236,5.998-1.424c3.253,0.813,10.775,1.932,9.962,2.948 c-0.813,1.017-2.338,3.558-7.827,2.236C152.847,20.05,147.561,19.947,150.204,17.61z" fill="#B9C5D1"/>
-<path d="M133.025,19.847c0,0,9.657-0.102,10.877,0.406c1.22,0.509,2.948,2.542-2.033,2.033 C136.888,21.778,132.923,22.49,133.025,19.847z" fill="#B9C5D1"/>
-<path d="M102.021,24.93c0,0,14.028-3.66,13.926-2.644s-1.321,2.136-0.102,1.83c1.22-0.305,5.083,1.525,7.624,1.829 c2.542,0.306,1.728,0.204,1.728,0.204l-1.22-1.83c0,0,15.147,0.712,8.335,2.948C125.503,29.504,110.865,28.895,102.021,24.93z" fill="#B9C5D1"/>
-<path d="M146.443,20.66c0,0,6.099-0.407,5.692,0.508c-0.406,0.915-3.253,2.135-4.473,1.118 C146.443,21.271,146.443,20.66,146.443,20.66z" fill="#B9C5D1"/>
-<path d="M198.656,19.697c0,0-9.128,3.923,10.009,6.966c19.137,3.043,14.493,7.848,14.573,9.449 c0.08,1.601,7.687,22.019,13.933,18.176c6.246-3.844,3.924-9.368,10.57-10.489c6.646-1.121,36.913-11.771,21.779-12.892 c0,0-2.242-3.284,8.968-1.682c11.21,1.601,9.449-14.733,3.363-12.571c-6.085,2.161-7.607,1.44-9.048,1.361 c-1.441-0.081,6.406-2.322-0.08-4.164s-36.753,0.16-44.2,0.881C221.076,15.453,200.898,14.813,198.656,19.697z" fill="#B9C5D1"/>
-</g>
-<path d="M283.082,44.222c0,0-1.632-1.605-3.125-1.38c-1.492,0.225,0.777,1.083,0.92,1.41 c0.144,0.327-2.003,0.92-1.656,1.206c0.348,0.286,2.78,0.47,2.351,0.776s-1.717,0.94-1.083,1.104 c0.634,0.163,8.473-0.249,10.093-0.513c1.62-0.265,6.853-0.775,5.892-1.88c-0.96-1.104-6.807-2.125-8.524-1.88 S283.222,43.599,283.082,44.222z" fill="#B9C5D1"/>
-<path d="M562.112,186.847c-0.557-0.102,7.599,8.084,8.974,4.932c1.375-3.153,1.375-3.315,1.132-5.417 c-0.242-2.102,1.698-8.327,2.264-6.549c0.566,1.779,9.782,17.867,15.038,22.799s-0.937,31.177-12.693,26.437 s-8.57-9.943-11.965-9.459c-3.396,0.485-1.05,4.123-7.114-1.698c-6.063-5.82-26.518,8.732-31.126,4.205 c-4.608-4.527,0.565-5.256-1.94-11.076c-2.506-5.821,4.042-18.191,15.846-21.505c11.804-3.315,11.076-4.365,11.804-6.387 s2.263,0.08,2.344-1.132c0.081-1.213-4.689,0.242-3.557-1.132c1.132-1.375,9.459,0.646,11.885-0.809 C565.427,178.601,563.891,187.17,562.112,186.847z" fill="#B9C5D1"/>
-<path d="M583.698,231.635c0,0-2.991,1.375-5.417,0.647C575.856,231.554,586.447,244.732,583.698,231.635z" fill="#B9C5D1"/>
-<path d="M535.96,115.62c0,0-3.599,4.934-1.497,5.499C536.565,121.686,538.347,116.023,535.96,115.62z" fill="#B9C5D1"/>
-<path d="M534.787,127.264c0.221,1.992,0.342,3.314-1.27,4.493c-1.222,0.894,1.599,2.272,1.891,2.827 c0.734,1.396,3.084,2.912,5.07,3.038c2.175,0.138-0.885-2.224-1.333-2.537c-1.58-1.107-2.955-1.292-1.991-3.327 c0.563-1.188,1.33-2.084,0.847-3.46C537.514,126.917,535.828,125.442,534.787,127.264" fill="#B9C5D1"/>
-<path d="M528.562,147.637c0,0-0.404,3.558-3.072,4.204c-2.668,0.646-3.557,3.962-6.953,3.072 c-3.396-0.889,0.081,4.204-1.293,3.477c-1.374-0.728-2.736-2.489-3.309-1.042c-0.572,1.446,0.316,8.479,5.087,8.722 c4.771,0.243,8.247,3.315,8.408,0.971c0.162-2.345,1.391-5.994,3.202-7.444c1.811-1.449-0.049-3.308-0.21-5.814 C530.259,151.274,535.029,147.879,528.562,147.637z" fill="#B9C5D1"/>
-<path d="M552.088,162.431c0,0,6.306-3.477,8.569,3.638c0,0,0.485,0.728,1.455-0.404s-0.323-5.013,11.237,0 c11.561,5.013,6.306,4.285,7.6,4.527c1.294,0.243,2.83,0.89,2.587,1.778c-0.242,0.89-1.131-0.081-0.97,1.213 s0.154,1.227,1.451,2.473s4.866,2.005,4.618,2.96c-0.249,0.954-5.453,0.593-5.746-0.178c-0.293-0.77-0.647-1.94-2.183-2.91 c-1.536-0.97-2.344-2.021-3.719-1.051c-1.375,0.97-4.285,3.8-5.578,2.668s-2.991-2.91-3.234-2.507 c-0.242,0.404-5.255,3.801-2.102-2.829s-1.867-3.028-3.884-3.374c-2.018-0.345-3.796,0.787-5.089-0.669 c-1.294-1.455-0.162-1.455-0.324-2.587C556.615,164.047,551.118,164.29,552.088,162.431z" fill="#B9C5D1"/>
-<path d="M214.875,251.454c0,0-2.512-0.439-2.605,1.263s1.612,1.856,1.923,1.082 C214.502,253.023,216.022,251.746,214.875,251.454z" fill="#B9C5D1"/>
-<path d="M216.69,252.401c0,0-2.653,1.707-0.482,1.707s4.651-0.775,3.566-1.24S216.69,252.401,216.69,252.401z" fill="#B9C5D1"/>
-<path d="M253.833,255.952c0,0,4.605,3.951,4.5,2.604C258.228,257.21,256.881,255.16,253.833,255.952z" fill="#B9C5D1"/>
-<path d="M306.912,62.212c0,0-1.774,0.913-1.623,1.039c0.152,0.127,0.913,0.229,0.608,0.355 c-0.304,0.127-0.051,0.405-0.634,0.583s-0.608-0.381-1.395-0.278c-0.786,0.101-1.651,0.575-1.13,0.592 c0.521,0.016,1.054,0.017,0.725,0.346c-0.33,0.33-0.735,0.076-0.71,0.38c0.025,0.305,0.05,0.711,0.634,0.634 c0.583-0.075,1.414-0.561,1.404-0.255s-0.035,0.18-0.314,0.483c-0.278,0.305-0.974,1.3-1.146,1.411 c-0.172,0.11-0.78-0.498-0.882,0.034s0.558,1.42,1.318,1.395c0.76-0.025,2.966-1.166,3.879-1.142 c0.913,0.025,1.521,0.33,1.876-0.126c0.355-0.457,0.913-0.38,0.608-1.242s-0.659-1.547-0.38-1.876 c0.279-0.33,1.825-0.457,1.623-0.736c-0.203-0.278-0.836-0.837-1.293-1.318c0,0-0.203-0.025-0.761,0.152s-0.406,0.405-0.812-0.051 c-0.405-0.456-0.496-0.75-0.717-0.654C307.571,62.034,306.912,62.212,306.912,62.212z" fill="#B9C5D1"/>
-<path d="M309.844,56.414c0,0-1.056,0.753-1.715,1.184s-0.959,1.833-0.771,1.854c0.188,0.022,1.43-1.474,1.988-1.956 C309.903,57.015,310.267,55.991,309.844,56.414z" fill="#B9C5D1"/>
-<path d="M308.463,50.455c0,0,0.184-0.372-0.316-0.354c-0.5,0.019-0.753-0.413-0.323-0.489 c0.431-0.075,1.953-0.152,1.623,0c-0.33,0.152-0.418,0.621-0.59,0.806C308.687,50.601,308.746,50.666,308.463,50.455z" fill="#B9C5D1"/>
-<path d="M308.305,50.93c0,0,1.301,0.419,0.829,0.552S308.152,51.132,308.305,50.93z" fill="#B9C5D1"/>
-<path d="M309.489,59.334c0,0-1.69,0.85-1.259,0.824s0.507-0.354,1.014-0.126c0.507,0.228,2.039,0.069,1.666,0.288 c-0.373,0.218-1.26,0.776-0.652,0.903c0.608,0.126,2.028-0.102,2.307,0.354s-1.191,1.344-0.837,1.496 c0.355,0.151,2.282,0.431,2.814,0c0,0-0.158-0.073-0.041,0.521c0.117,0.594,1.229,0.094,1.066,0.749 c-0.163,0.656-0.163,1.366-0.67,1.315c-0.507-0.051-1.978-0.152-2.104,0.279c-0.126,0.431-0.938,0.836-0.532,0.861 s0.735-0.634,1.141-0.178c0.406,0.457,0.837,0.532,0.355,0.913c-0.481,0.38-2.738,0.608-2.408,0.862 c0.33,0.254,1.014-0.406,1.318-0.051c0.304,0.354,0.649,0.504,1.085,0.416c0.436-0.087,1.577,0.269,1.272,0.547 c-0.304,0.279-1.8,0.305-2.155,0.635c-0.355,0.329-2.003,1.141-2.003,1.394c0,0.254,0.482,0.634,1.8-0.203 c0,0,1.521,0.685,2.104-0.785c0,0,1.054,0.438,1.744,0.308s2.788,0.215,4.224-0.236c1.436-0.452,2.931-0.554,2.678-1.01 s-1.474,0.2-1.257-0.293s4.147-1.532,0.826-2.698c0,0-1.352,0.266-1.576,0.094c-0.224-0.17,0.69,0.162,0.474-0.473 c-0.216-0.636-2.042-2.512-3.334-2.664c0,0-0.397-1.684-0.731-1.716c-0.333-0.033-2.134-0.261-2.919-0.616 c0,0,1.044,0.022,1.144-0.331c0.099-0.354-0.18-0.683,0.2-0.76c0.38-0.075,1.737-1.824,1.3-2.002 c-0.438-0.178-3.708,0.734-3.759,0.051c-0.051-0.686,0.025-0.938,0.406-0.938s1.623-0.558,1.268-0.634s-2.814,0.456-3.169,0 c-0.355-0.457-1.09,0.229-1.065,0.558s0.507,0.735,0.203,0.735c-0.305,0-0.355-0.253-0.583-0.051 c-0.229,0.203-0.102,0.761-0.305,0.786c-0.203,0.024-1.851-0.278-1.572,0.051s1.503,0.046,1.55,0.429 c0.047,0.382-0.333,0.696-0.562,0.763C309.726,59.768,309.607,59.548,309.489,59.334z" fill="#B9C5D1"/>
-<path d="M315.528,56.098c-0.103-0.005-1.166-0.173-0.632-0.591c0.534-0.419,0.939-0.495,1.167-0.495 s0.938-0.304,0.583,0C316.292,55.316,315.905,56.12,315.528,56.098z" fill="#B9C5D1"/>
-<path d="M318.447,53.998c0,0,0.253-0.38,0-0.482c-0.253-0.102-0.634-0.38,0.229-0.785 c0.861-0.406,0.811-0.33,0.633-0.152C319.132,52.755,318.701,54.581,318.447,53.998z" fill="#B9C5D1"/>
-<path d="M344.56,18.501c0,0-5.292-0.083-4.673,0.653c0.619,0.737,2.009,0.234,1.932,1.046 c-0.077,0.811,1.468,0.733,1.931,1.004c0.464,0.271,3.083-0.082,3.705-0.408c0.621-0.325,3.468-0.287,2.933,0.177 c-0.536,0.463-4.667,0.733-4.281,1.081s4.942-0.193,4.209,0.192c-0.734,0.387-4.595-0.076-4.441,0.503 c0.154,0.578,3.321,1.969,4.093,1.776c0.772-0.193,1.39-0.734,2.201-1.43c0.811-0.694,1.236-1.66,1.429-1.429 c0.193,0.232,1.313,0.811,1.352-0.154s3.9-1.313,2.355-1.583s-2.279,0.772-2.819,0.116c-0.541-0.656,0.309-1.313-0.386-1.043 c-0.695,0.271-1.352,0.85-1.583,0.348s-0.811-0.579-1.776-0.889c-0.966-0.309-1.192,1.01-1.291,1.162 c-0.099,0.151-0.64,0.729-0.872,0.229c-0.231-0.502-1.197-1.235-1.738-1.159c-0.541,0.078-0.579,1.12-1.39,0.85 C344.638,19.273,344.792,18.732,344.56,18.501z" fill="#B9C5D1"/>
-<path d="M353.441,18.037c1.494-0.548,7.125-0.038,7.269,0.238c0.704,0.309,2.674-0.432,3.621-0.306 c1.157,0.153,3.625-0.269,4.494,0.647c-0.566-0.597-5.609,1.28-6.695,1.196c-1.497-0.113-4.083-0.776-3.496-1.004 C357.99,19.059,353.1,18.893,353.441,18.037" fill="#B9C5D1"/>
-<path d="M357.777,21.91c0,0,6.902,0.027,6.516,0.298s-1.39,0.927-2.819,0.772S356.783,22.578,357.777,21.91z" fill="#B9C5D1"/>
-<path d="M337.475,84.103c-0.037,0.054,0.058,0.652-0.333,0.652c-0.392,0-1.146,0.276-1.131,0.639 c0.015,0.363,1.016,1.842,1.248,1.436c0.232-0.405,0.435-0.957,0.362-1.392C337.547,85.002,337.678,83.813,337.475,84.103z" fill="#B9C5D1"/>
-<path d="M336.938,87.322c0,0-0.319,0.624-0.783,0.537c-0.464-0.087-0.609-0.56-0.74-0.377 c-0.131,0.183-0.363,0.362-0.029,0.725c0.334,0.362,0.435,0.465,0.363,0.885c-0.073,0.421-0.348,0.406-0.16,0.421 s0.333-0.203,0.261,0.188c-0.073,0.392-0.368,1.014-0.329,1.159c0.039,0.146,0.271,0.872,1.315,0.437c0,0-0.232-0.464,0.014-0.464 c0.247,0,0.827,0.305,0.958,0.116s0.653-1.509,0.392-1.741c-0.262-0.232-0.413-0.224-0.41-0.301 c0.003-0.076,0.496-0.047,0.424-0.352s-0.218-0.449-0.377-0.74c-0.159-0.29,0.045-0.636-0.224-0.644 C337.344,87.163,337.054,87.148,336.938,87.322z" fill="#B9C5D1"/>
-<path d="M343.625,92.806c0,0,0.203-0.435,0.565-0.319c0.363,0.116,1.712,0.682,2.466,0.291 c0.754-0.393,1.64-0.001,1.813-0.378c0,0-0.508,0.754-0.696,1.189c-0.189,0.436,0.45,1.131,0.246,1.204 c-0.203,0.072,0.058-0.072-0.29,0.203c-0.348,0.275-0.986,0.275-1.276-0.102s-1.233-0.624-1.45-0.639 c-0.218-0.014-1.625-0.087-1.929-0.58S342.566,92.53,343.625,92.806z" fill="#B9C5D1"/>
-<path d="M346.257,96.346c0,0-0.368-0.142-0.296-0.021c0.072,0.122-0.016,0.383,0.057,0.455 c0.073,0.073,0.79,0.197,0.772,0.019C346.79,96.799,346.337,96.345,346.257,96.346z" fill="#B9C5D1"/>
-<path d="M419.699,32.486c0,0,3.745,1.296,3.411,2.227c-0.334,0.93,0.376,1.955-1.438,1.088 c-1.814-0.868-3.604-0.924-4.576-0.947s-0.71-0.71-1.42-1.025c-0.71-0.315-4.576,0-3.866-0.867c0.71-0.868,2.13-0.474,2.367-1.421 c0.237-0.946,4.369-1.075,3.959-1.8c-0.409-0.724-1.302-0.592-1.302-0.592s2.387-0.578,3.967-1.42 c1.581-0.843,3.158-0.843,4.657-1.474c1.5-0.631,2.604-1.578,3.393-1.578s8.521,0.395,9.072-0.236 c0.552-0.631,5.91-0.678,5.2-0.145c-0.71,0.532-0.957,0.999-2.25,1.124c-1.293,0.125-3.345-0.033-4.528,0.125 c-1.183,0.158-7.257,0.553-7.889,1.184c-0.631,0.631-1.856,1.33-5.464,2.006c0,0,0.729,0.902,0.059,1.539 C422.381,30.909,419.62,32.25,419.699,32.486z" fill="#B9C5D1"/>
-<path d="M455.91,18.451c0,0-2.388-0.117-0.997,0.293c1.39,0.41,4.545,1.515,3.757,0.726 C457.881,18.682,455.91,18.451,455.91,18.451z" fill="#B9C5D1"/>
-<path d="M481.895,16.223c0,0-2.662-0.249-1.584,0c1.079,0.25,2.35,1.24,2.464,0.47 C482.888,15.921,481.895,16.223,481.895,16.223z" fill="#B9C5D1"/>
-<path d="M461.541,16.574c0,0-1.53,0.608-0.347,0.608s2.407,0.628,1.637-0.08 C462.062,16.394,461.541,16.574,461.541,16.574z" fill="#B9C5D1"/>
-<path d="M407.479,36.725c0,0-2.69,2.152-0.954,2.152c1.735,0,4.396-0.834,3.5-1.206 C409.127,37.299,407.479,36.725,407.479,36.725z" fill="#B9C5D1"/>
-<path d="M402.58,16.788c0,0-2.236-0.239-1.749,0.314c0.486,0.554,1.828,0.396,2.143,0.316 c0.316-0.078,1.42-0.552,1.42-0.552L402.58,16.788z" fill="#B9C5D1"/>
-<path d="M408.163,16.75c0,0-2.428,0.985-3.453,0.906c0,0,0.71,0.158,1.894,0.158c1.183,0,6.447,0.27,5.314-0.536 s-2.001-0.568-2.001-0.568L408.163,16.75z" fill="#B9C5D1"/>
-<path d="M409.63,18.334c0,0,1.768-0.549,2.053,0.176S410.29,18.38,409.63,18.334z" fill="#B9C5D1"/>
-<path d="M413.325,17.923c0,0,2.697-0.05,2.287,0.117C415.202,18.209,414.524,19.137,413.325,17.923z" fill="#B9C5D1"/>
-<path d="M417.806,16.315c0,0,8.44-0.079,7.415,0.315S419.147,18.604,417.806,16.315z" fill="#B9C5D1"/>
-<path d="M427.926,17.09c0,0-2.358,0.39-0.913,0.497c1.446,0.108,4.763,0.521,3.826-0.084 C429.901,16.899,427.926,17.09,427.926,17.09z" fill="#B9C5D1"/>
-<path d="M431.929,15.25c0,0-1.367,0.917-0.21,0.667c1.156-0.25,2.484,0.105,1.583-0.425 C432.399,14.962,431.929,15.25,431.929,15.25z" fill="#B9C5D1"/>
-<path d="M420.418,15.56c0,0-1.382,0.895-0.222,0.664c1.16-0.231,2.483,0.146,1.59-0.398 C420.894,15.28,420.418,15.56,420.418,15.56z" fill="#B9C5D1"/>
-<path d="M420.267,17.733c0,0-1.382,0.895-0.221,0.664c1.16-0.231,2.482,0.146,1.59-0.398 C420.742,17.454,420.267,17.733,420.267,17.733z" fill="#B9C5D1"/>
-<path d="M433.294,16.788c0,0-2.358,0.39-0.913,0.497s4.763,0.521,3.826-0.084S433.294,16.788,433.294,16.788z" fill="#B9C5D1"/>
-<path d="M221.743,69.603c-0.206,0.06-7.688,5.594-6.471,6.178c1.216,0.584,7.203-0.925,7.543-0.194 c0.341,0.729,3.456,3.114,4.088,1.752c0.633-1.363,1.217-2.775-1.266-3.894C223.156,72.324,223.25,69.168,221.743,69.603z" fill="#B9C5D1"/>
-<path d="M325.676,89.565c0,0-0.941,0.499-0.596,0.634s2.571,0.212,2.036-0.115 C326.581,89.756,326.271,89.258,325.676,89.565z" fill="#B9C5D1"/>
-<path d="M327.539,89.22c0,0-0.134,0.346,0.077,0.326c0.211-0.02,0.922,0.596,0.769,0.192 C328.23,89.335,328.134,88.989,327.539,89.22z" fill="#B9C5D1"/>
-<path d="M323.486,90.91c0,0-0.903,0.537-0.422,0.519c0.48-0.02,0.912-0.114,0.754-0.331 S323.486,90.91,323.486,90.91z" fill="#B9C5D1"/>
-<path d="M489.604,16.648c-0.203,0-6.757,0.541-6.217,1.825c0.54,1.283,4.865,0.743,6.014,1.148 c1.149,0.405,2.433,0.135,4.257,0.676c1.825,0.54,6.149,1.148,4.933,0.338c-1.216-0.812,1.216-0.946-0.135-1.824 c-1.352-0.879-3.243,0.067-3.919-0.271c-0.676-0.338-1.487-0.608-1.082-0.878c0.405-0.271-0.675-1.353-1.689-1.353 S489.604,16.648,489.604,16.648z" fill="#B9C5D1"/>
-<path d="M498.117,21.717c0,0,2.028-1.718,3.075-2.211c1.047-0.492,7.601,1.062,6.655,1.399 C506.901,21.244,499.671,21.784,498.117,21.717z" fill="#B9C5D1"/>
-<path d="M509.229,21.734c0,0,3.35,0.794,3.35-0.018S511.487,21.077,509.229,21.734z" fill="#B9C5D1"/>
-<path d="M408.68,181.614c-0.117,0.105-2.102,3.679-3.469,4.835c-1.366,1.157-5.781,1.104-5.834,3.102 s0.052,1.734-0.053,1.997s1.261,3.521,0.158,4.73s-1.663,8.288,0.746,8.927s4.615,0.533,4.773-0.097 c0.158-0.631,2.891-12.51,3.732-14.244C409.573,189.131,410.677,179.828,408.68,181.614z" fill="#B9C5D1"/>
-<path d="M627.16,221.591c0,0,3.086,2.333,3.131,4.94c0.045,2.608-2.435,3.271-0.417,3.967 c2.018,0.695,1.276,1.84,1.717,2.591c0.44,0.75,1.067,1.027,3.154-1.965c2.087-2.992,2.026-2.179,2.681-2.996 s-1.637-0.205-2.75-0.553c-1.113-0.348-2.048-3.78-2.157-3.549c-0.109,0.23,0.167,1.693-0.626,1.044 C631.1,224.421,627.725,219.564,627.16,221.591z" fill="#B9C5D1"/>
-<path d="M624.446,236.413c0,0-3.967,3.062-5.01,3.062c-1.044,0-2.505,0.696-2.854,1.531 c-0.348,0.835,0.835,1.044,1.392,1.601s-0.453,1.275,0.583,1.385c1.036,0.108,0.786-1.044,1.146-1.146 c0.359-0.101,2.934,1.082,3.352,0.108c0.417-0.975,1.252-0.069,1.322-1.322c0.07-1.252-0.264-2.796,1.434-2.929 s3.816-0.272,2.781-0.6s-1.21-0.944-0.381-1.526c0.829-0.581,2.341-2.167,2.072-2.453c-0.269-0.285,0.636-2.165-0.408-1.608 s-1.531,2.088-1.879,1.323c-0.348-0.767-0.093-2.152-0.603-1.459c-0.51,0.692-0.928-0.073-1.136,1.598 C626.047,235.647,624.934,233.212,624.446,236.413z" fill="#B9C5D1"/>
-<path d="M542.483,157.373c-2.118,0.075-4.623-0.033-6.634,0.704c-1.806,0.662-5.554,7.969-3.087,8.207 c0.076,0.794-0.468,1.789-0.46,2.639c0.014,1.456,1.336,1.671,1.484,0.134c0.068-0.711-0.332-3.477,0.792-3.608 c2.536-0.298,1.273,2.582,2.108,3.646c0.295,0.376,0.856-0.96,1.108-0.498c0.1,0.182,0.199,2.167,0.65,1.93 c0.811-0.426,1.685-2.938,0.384-3.293c-0.949-0.259-0.797-1.592-1.279-2.371c-0.735-1.187-1.31-1.891,0.325-2.398 c0.149-0.046,2.302-0.527,2.112-0.737c-1.546-1.709-3.855,1.603-4.7,1.285c-1.947-0.731-0.827-3.532,1.083-3.4 c2.066,0.142,4.176,0.136,6.186-0.476C544.584,158.519,544.312,156.458,542.483,157.373" fill="#B9C5D1"/>
-<path d="M499.98,164.428c1.479,0.433,4.59,5.186,6.909,6.77c2.318,1.583,1.592-3.113,2.428-4.262 c0.835-1.148-2.25-2.604-3.02-3.492s-1.421-1.599-1.421-1.599s0.29,0.203,0.375-0.137c0.085-0.34,1.275-1.36-0.138-2.585 c-1.413-1.226-5.744-3.314-6.928-4.144s-1.945-0.667-3.476-2.367c-1.53-1.701-1.379-1.539-1.615-1.189 c-0.236,0.349-3.139-1.06-3.139-1.06c-0.759,0.641-0.006,1.823,2.19,3.492c2.197,1.668,0.864,1.816,2.224,2.327 s1.275,1.445,2.691,3.946C497.061,160.129,499.609,164.319,499.98,164.428z" fill="#B9C5D1"/>
-<path d="M508.141,172.079c0,0,0.936-2.21,6.036,0.085s2.38,0.595,2.89,0.17c0.51-0.426,5.917-0.18,6.401,0.165 c0.485,0.345-3.251,0.222-2.191,1.006s2.591,1.294,3.611,1.124c1.02-0.17,2.541,0.653,1.185,1.008 c-1.355,0.353-2.244-0.654-3.967-0.533c-1.724,0.12-9.034-2.005-10.479-1.835c-1.445,0.171-3.138,1.043-2.635,0.255 C509.494,172.735,508.821,172.164,508.141,172.079z" fill="#B9C5D1"/>
-<path d="M543.759,143.347c-0.376,0.641-1.673,3.166-2.733,2.336c-1.807-1.416-2.704,2.176-3.59,1.948 c1.421,0.368,2.659-1.326,3.362,0.776c0.123,0.366,2.337,2.625,2.563,2.311c0.271-0.468,0.283-0.938,0.036-1.408 c-0.306-1.038,1.007-1.313,1.502-1.96C545.921,146.014,544.979,144.16,543.759,143.347" fill="#B9C5D1"/>
-<path d="M442.712,248.165c0,0,3.158-1.325,3.312-0.968c0.153,0.356-0.662,1.681-1.63,1.656 C443.425,248.827,442.33,249.184,442.712,248.165z" fill="#B9C5D1"/>
-<path d="M179.63,283.455c-0.841,0.92-4.947,1.626-5.647,0.925c0.225,0.225,2.55,0.652,2.51,0.825 c-0.722,3.13,3.017,0.216,3.864,2.081C180.12,286.764,179.902,282.912,179.63,283.455" fill="#B9C5D1"/>
-<path d="M163.896,281.166c0,0-4.677,1.529-4.413,0.835C159.748,281.309,163.024,280.132,163.896,281.166z" fill="#B9C5D1"/>
-<path d="M170.883,282.468c0,0-3.175,0.029-2.878,0.261c0.297,0.23,1.685,0.792,2.411,0.23 S171.581,282.604,170.883,282.468z" fill="#B9C5D1"/>
-<path d="M183.544,285.767c0,0-1.333,1.623-0.573,1.678C183.731,287.499,184.771,287.158,183.544,285.767z" fill="#B9C5D1"/>
-<path d="M44,124.439c0,0-1.168,1.859,0.197,1.813C45.563,126.208,46.853,125.448,44,124.439z" fill="#B9C5D1"/>
-<path d="M37.408,120.943c0,0-0.438,0.696,0.074,0.68C37.994,121.605,38.477,121.321,37.408,120.943z" fill="#B9C5D1"/>
-<path d="M40.019,121.635c0,0-0.809,0.146-0.451,0.513C39.925,122.513,40.461,122.678,40.019,121.635z" fill="#B9C5D1"/>
-<path d="M41.955,122.462c0,0-0.809,0.147-0.452,0.513C41.861,123.341,42.396,123.506,41.955,122.462z" fill="#B9C5D1"/>
-<path d="M43.655,123.471c0,0-0.764-0.537-0.808-0.026C42.805,123.953,43.078,124.475,43.655,123.471z" fill="#B9C5D1"/>
-<ellipse cx="638.435" cy="68.771" fill="#B9C5D1" rx="1.08" ry="0.743"/>
-<ellipse cx="627.481" cy="66.565" fill="#B9C5D1" rx="1.08" ry="0.285"/>
-<ellipse cx="615.925" cy="63.265" fill="#B9C5D1" rx="0.794" ry="1.587" transform="matrix(0.6867 -0.727 0.727 0.6867 146.9921 467.5763)"/>
-<ellipse cx="638.183" cy="34.335" fill="#B9C5D1" rx="1.107" ry="0.506"/>
-<path d="M533.261,140.148c0,0-5.089,6.24-4.85,6.32c0.239,0.079,1.51-1.152,2.544-2.027 c1.033-0.874,0.875-1.471,1.511-2.027S534.056,140.268,533.261,140.148z" fill="#B9C5D1"/>
-<path d="M534.691,136.015c-1.008,0.518-0.068,1.657,0.604,2.266C535.499,138.465,537.489,136.868,534.691,136.015" fill="#B9C5D1"/>
-<path d="M539.335,139.828c-0.471-0.134-2.081-0.21-2.338-0.435c0.663,0.58-0.132,1.441-0.013,2.074 C537.034,141.734,539.696,140.985,539.335,139.828" fill="#B9C5D1"/>
-<path d="M539.979,141.183c-0.463,0.345-2.755,3.437-0.954,3.18C540.542,144.146,540.049,142.456,539.979,141.183" fill="#B9C5D1"/>
-<path d="M548.882,157.122c0.435-0.405,0.634-0.902,0.596-1.491c-1.292-1.292-2.562,2.299-2.281,3.063 c1.3,3.531-0.355,1.231,2.102,3.959c-0.595-1.007-1.078-2.065-1.448-3.175c0.513,0.369,1.085,0.58,1.716,0.635 C548.321,159.776,548.844,157.934,548.882,157.122" fill="#B9C5D1"/>
-<path d="M547.173,166.265c0,0,5.074-2.764,6.253,1.381c0,0-1.165-0.109-1.483-0.507s-0.875-0.437-0.994-0.437 c-0.099,0-0.736,0.188-1.025,0.011c-0.062-0.038-0.107-0.094-0.127-0.17c-0.12-0.438-0.955-0.159-1.471-0.12 C547.81,166.463,547.253,166.94,547.173,166.265z" fill="#B9C5D1"/>
-<path d="M545.67,163.621c0,0-2.992-0.285-3.185-0.285c-0.192,0-1.032,0.318-0.9,0.403 c0.131,0.085,3.048-0.122,3.077,0.263c0.03,0.386,0.467,1.474,0.637,1.281C545.469,165.091,546.367,163.832,545.67,163.621z" fill="#B9C5D1"/>
-<path d="M544.419,165.956c0.753-0.488,2.258,0.287,1.613,1.175C546.032,167.131,543.666,166.444,544.419,165.956" fill="#B9C5D1"/>
-<path d="M527.981,175.112c0,0-1.419-0.259-1.437,0.849S528.12,175.875,527.981,175.112z" fill="#B9C5D1"/>
-<path d="M542.993,175.026c0,0-7.15-0.606-8.345,0.173s-1.939,0.069-1.731,0.225 C533.124,175.58,540.17,177.779,542.993,175.026z" fill="#B9C5D1"/>
-<path d="M532.656,175.303c0,0-2.735-1.039-2.666-0.45c0.069,0.589,0.658,0.831,0.381,0.849 c-0.277,0.018-1.177-0.45-1.541-0.138c-0.364,0.312,0.364,1.315,2.631,0.605C531.542,176.144,532.519,175.647,532.656,175.303z" fill="#B9C5D1"/>
-<path d="M531.912,177c0,0,2.026,0.19,2.719,0.571c0.692,0.381,0.987,0.225,0.952,0.468 c-0.035,0.242,0.052,0.813-0.416,0.779c-0.468-0.035-0.832,0.173-1.299-0.329S531.392,177.242,531.912,177z" fill="#B9C5D1"/>
-<path d="M560.59,170.072c-1.482,0.688-2.289,1.434-1.489,3.311C560.167,173.194,562.286,170.947,560.59,170.072" fill="#B9C5D1"/>
-<path d="M542.663,176.775c-0.346,0.032-4.545,1.926-3.492,2.769c0.728,0.584,6.514-4.378,7.408-4.19 C545.249,175.074,543.051,175.196,542.663,176.775" fill="#B9C5D1"/>
-<path d="M546.006,174.23c0,0-2.07-0.947-1.896,0.05C544.284,175.278,545.606,174.331,546.006,174.23z" fill="#B9C5D1"/>
-<path d="M555.36,173.134c-1.334,0.501-1.923,1.981-1.896,1.971C554.434,174.781,555.066,174.125,555.36,173.134" fill="#B9C5D1"/>
-<path d="M587.609,164.333c0,0,1.308,0.854,2.715,2.062c1.408,1.206,2.412,3.434,2.337,2.396 C592.587,167.752,589.52,164.132,587.609,164.333z" fill="#B9C5D1"/>
-<path d="M589.899,167.883c0,0,1.029,0.874,0.526,1.126c-0.503,0.251-0.302-0.252-0.905,0.453 c-0.604,0.703-2.212-0.102-2.514,0.302c-0.302,0.401,0.252,1.256-0.804,0.955c-1.056-0.302-2.132-0.422-1.77-0.034 c0.362,0.386,1.82,1.039,2.977,0.737c1.157-0.302,4.503-1.192,3.596-3.56C591.004,167.862,590.127,167.209,589.899,167.883z" fill="#B9C5D1"/>
-<path d="M595.524,169.303c1.438,0.612-0.739,3.812,2.411,3.747C598.664,173.035,596.066,169.534,595.524,169.303" fill="#B9C5D1"/>
-<path d="M598.729,173.442c0.979,0.238,0.958,3.76,2.738,2.875C601.836,176.135,599.28,173.576,598.729,173.442" fill="#B9C5D1"/>
-<path d="M601.452,174.334c-0.66,0.032-1.303-2.185-2.257-1.296C599.71,173.776,600.462,174.208,601.452,174.334" fill="#B9C5D1"/>
-<path d="M603.887,176.293c-0.66,0.033-1.304-2.185-2.257-1.295C602.145,175.736,602.897,176.167,603.887,176.293" fill="#B9C5D1"/>
-<path d="M607.598,178c-0.053-0.709-2.071-0.864-1.726-2.023C606.088,175.254,607.602,178.063,607.598,178" fill="#B9C5D1"/>
-<path d="M591.596,179.956c0,0,1.946-0.037,2.198,0.667c0.251,0.704,0.704,0.955-0.051,0.904 C592.989,181.478,591.963,181.15,591.596,179.956z" fill="#B9C5D1"/>
-<path d="M604.955,176.953c0.582,0.571,2.048,0.282,0.949,1.59C606.228,178.157,603.138,177.99,604.955,176.953" fill="#B9C5D1"/>
-<path d="M604.653,179.869c0,0,2.313,1.156,2.163,1.257C606.665,181.226,604.804,181.579,604.653,179.869z" fill="#B9C5D1"/>
-<path d="M606.739,179.456c0.876,0.363,1.68,0.275,2.435,0.996C608.438,180.526,607.096,180.233,606.739,179.456" fill="#B9C5D1"/>
-<path d="M611.341,195.104c0,0,7.85,5.715,7.592,5.682c0,0-0.704-0.252-1.659-0.252s-4.726-2.514-5.078-3.369 c-0.352-0.854-1.504-2.126-1.179-2.194C611.341,194.902,611.341,195.104,611.341,195.104z" fill="#B9C5D1"/>
-<path d="M635.539,190.929c-0.598,0.265-1.313,0.52-1.896,1.005c-0.04,0.033,2.678,0.427,3.395,0.048 C636.639,191.513,636.14,191.162,635.539,190.929" fill="#B9C5D1"/>
-<path d="M637.612,189.17c-0.319,0.149-0.977,1.395-0.807,1.457c1.216,0.451,3.805-1.523,2.118-1.282" fill="#B9C5D1"/>
-<path d="M543.139,138.115c-2.629-0.137,0.107,4.079-0.368,4.511C543.517,141.948,543.864,138.804,543.139,138.115" fill="#B9C5D1"/>
-<path d="M539.69,139.177c0.106,0.084,1.45,0.902,1.362,0.474c-0.045-0.22-1.178-1.885-1.296-1.482 C539.677,138.502,539.655,138.839,539.69,139.177" fill="#B9C5D1"/>
-<path d="M541.303,140.738c-0.433,0.689-0.736,1.672-0.502,2.485C540.73,142.979,542.9,141.402,541.303,140.738" fill="#B9C5D1"/>
-<ellipse cx="604.785" cy="28.993" fill="#B9C5D1" rx="2.378" ry="0.349"/>
-<path d="M571.591,86.934c0,0-0.791,0.445-1.632,2.721c-0.841,2.276-0.989,3.117-3.018,4.256 c-2.028,1.138-3.909,2.275-4.651,3.265s-4.206-0.247-7.026,1.583c-2.819,1.831-4.7,2.227-3.859,3.019 c0.841,0.791-0.543,1.88,1.089,2.325s2.721,0,2.77-1.781c0.05-1.781,2.522-3.417,3.018-3.391s1.683-0.814,2.277,0.273 c0.594,1.089,0.594,2.969,1.781,1.633c1.188-1.336,4.305-1.435,5.542-2.771S575.796,89.11,571.591,86.934z" fill="#B9C5D1"/>
-<path d="M551.306,110.039c-1.328,1.327-3.251,2.57-4.405,4.001C547.612,113.159,551.71,112.257,551.306,110.039" fill="#B9C5D1"/>
-<path d="M556.919,102.304c0,0-0.959-1.794,0.474-2.249s1.334-1.297,1.829-0.752 c0.495,0.544,0.792,1.286,0.248,1.435C558.925,100.886,557.393,102.54,556.919,102.304z" fill="#B9C5D1"/>
-<path d="M570.404,85.102c0,0,0.136,0.577,0.488,0.512c0.352-0.066,0.896,0.428,0.352,0.479 c-0.544,0.049-1.434,0.147-1.434,0.147s-0.446-0.643,0.197-1.483c0.644-0.842,0.049-1.484,0.544-1.386s0.94,1.484,1.286,0.445 c0.347-1.039-0.314-3.701,0.239-4.003c0.553-0.302,1.295,0.886,2.334,1.281c1.04,0.396,2.871,0.842,3.563,0.99 c0.692,0.148,0.742,0.939,1.039,1.286c0.296,0.347,1.237,0.396-0.099,0.544s-1.386-0.494-2.127,0.396 c-0.742,0.891-0.643,1.337-1.435,1.287s-1.386,0.049-2.276-0.445c-0.89-0.495-1.435-0.692-1.682-0.495 C571.146,84.854,570.404,85.102,570.404,85.102z" fill="#B9C5D1"/>
-<path d="M595.701,72.059c0,0-1.365,2.097-0.888,1.657C595.29,73.277,596.211,72.572,595.701,72.059z" fill="#B9C5D1"/>
-<path d="M593.037,74.663c0,0-2.961,2.193-2.605,2.309C590.788,77.087,593.06,75.554,593.037,74.663z" fill="#B9C5D1"/>
-<path d="M588.66,77.878c0,0-2.602,1.605-2.018,1.521S588.808,78.818,588.66,77.878z" fill="#B9C5D1"/>
-<path d="M584.999,79.857c0,0-4.444,1.257-3.212,1.494C583.02,81.589,584.999,80.698,584.999,79.857z" fill="#B9C5D1"/>
-<path d="M617.398,187.968c0.694,0.176,0.118,2.072,1.476,1.683C619.172,189.564,617.706,188.045,617.398,187.968" fill="#B9C5D1"/>
-<path d="M619.904,191.878c-0.336-0.097-0.277-1.329-0.916-1.044C619.122,191.296,619.427,191.644,619.904,191.878" fill="#B9C5D1"/>
-<path d="M620.794,193.287c-0.336-0.098-0.276-1.328-0.915-1.044C620.011,192.705,620.316,193.054,620.794,193.287" fill="#B9C5D1"/>
-<path d="M622.372,194.79c0.091-0.342-0.886-0.808-0.521-1.319C622.084,193.144,622.363,194.822,622.372,194.79" fill="#B9C5D1"/>
-<path d="M621.22,193.805c0.01,0.402,1.097,0.428,0.204,0.967C620.272,195.465,621.183,192.322,621.22,193.805" fill="#B9C5D1"/>
-<path d="M617.609,197.111c0,0,0.968,0.983,0.874,1.008S617.39,198,617.609,197.111z" fill="#B9C5D1"/>
-<path d="M621.982,194.973c0,0,0.833,0.45,0.887,0.712c0.054,0.263,0.121,0.264,0.121,0.264l-0.067-0.001 C622.923,195.947,622.011,195.55,621.982,194.973z" fill="#B9C5D1"/>
-<path d="M618.634,186.807c0.26-0.268,0.556-0.49,0.887-0.668c0.188-0.067,1.071,2.393,0.59,2.474 C619.648,188.688,619.103,187.024,618.634,186.807" fill="#B9C5D1"/>
-<g>
-<g>
-<path d="M455.928,29.903c-0.301-0.114-0.611-0.17-0.848-0.136C454.579,29.839,455.185,29.826,455.928,29.903z M639.881,44.734v-7.261c0,0-7.258-1.119-9.57-1.211c-2.313-0.091-7.697-1.563-6.976-0.601c0.721,0.962,2.71,1.58,0.874,1.812 c-1.836,0.232-5.243-0.567-4.382-0.769c0.862-0.201,1.343-1.765,0.02-1.283c-1.323,0.48-2.165,1.322-4.931,1.082 c-2.767-0.241-17.631-2.895-20.963-2.049c-3.332,0.846-3.606-2.189-5.033-3.077c-1.426-0.888,0.739-2.692,3.505-2.692 s6.561-1.063,4.182-1.313c-2.378-0.251-14.29-0.829-17.17-1.184c-2.881-0.355-7.818-1.953-8.901-0.991 c-1.082,0.962-10.631-0.014-8.743,0.715c1.888,0.728,9.938,3.267,14.091,1.696c4.153-1.569,9.806,0.836,9.084,1.918 c-0.721,1.083-3.127,1.685-5.773,1.685s-7.149-0.662-7.86-0.308c-0.711,0.355-1.991-0.455-3.079,0.888 c-1.088,1.344-11.07-0.821-11.792,0.381c-0.721,1.203-6.667,3.428-5.378,1.474s3.935-1.354,2.492-2.556 c-1.443-1.203-8.419-3.969-10.944-2.766c-2.526,1.202-2.405,2.886-3.849,2.525c-1.443-0.361-4.068-2.169-5.653-1.684 c-1.585,0.484-19.844,0.962-18.281,0.36s9.123-1.209,8.229-3.19s-8.192-2.693-11.398-2.338c-3.206,0.356-1.643-1.688-2.604-1.688 s-7.134,1.897-9.622,2.044c0,0-14.072-0.36-14.672,0.722c-0.602,1.083-5.893,1.443-7.817,1.443c-1.925,0-6.179,0.721-5.773,1.083 c0.405,0.361,3.055,0.874,1.708,1.278c-1.347,0.405-8.563,0.646-8.563,0.646s-0.31,1.906,2.732,2.817s1.72,0.258,1.539,1.065 c-0.182,0.808,2.021,1.548,0.799,1.538c-1.222-0.009-4.709-3.016-6.152-3.016s-0.81-1.168-1.367-1.245s-0.678,0.403-1.64,0.403 s-2.11-0.372-2.919-0.848c-0.328-0.192-0.897-0.287-1.404-0.34c0.766,0.292,1.471,0.983,0.753,1.672 c-1,0.959-1.481-0.845-2.804-1.206c-1.323-0.36,0,1.563-1.203,1.804c-1.203,0.241-1.589,5.854-0.671,5.646 c0.917-0.207,5.033-0.66,4.115-0.267c-0.918,0.394-4.024,1.534-3.493,1.806c0.53,0.271,1.973,0.512,0.65,1.113 c-1.323,0.602-4.856,2.535-6.216,2.29s-1.273-0.71-1.273-0.71s4.406,0.591,4.204-4.824c-0.202-5.415,0.769-6.336-0.563-6.497 c-1.332-0.161-3.367-2.045-5.171-0.843c-1.804,1.203-4.811,2.405-4.931,3.729c-0.12,1.322,0.841,2.164,1.563,2.886 c0.722,0.722,2.559,0.695,1.938,1.79c-0.621,1.095-0.494,2.179-2.298,0.856c-1.805-1.323-9.027-2.539-10.824-2.525 c-1.798,0.012-3.97-3.368-3.97-1.564s2.764,1.725,2.468,2.582c-0.296,0.858,0.28,1.288-1.214,0.977s-7.868-1.393-10.634-0.552 c-2.766,0.842-6.896,0.924-8.98,2.206c-2.085,1.282-3.889,2.365-4.25,1.282s1.924-2.646,0.481-3.007 c-1.443-0.361-3.35-0.953-4.141,0.666c-0.79,1.619,0.653,1.739-0.67,2.341c-1.323,0.602-7.064,2.179-7.381,2.953 c-0.316,0.774,3.652,2.459-5.248-0.066c0,0,2.525,1.563,1.563,2.405c-0.962,0.842-3.582,1.42-4.437-0.433 s-3.042-3.355-3.813-4.589s15.207,2.604,14.194-1.059c0,0-8.74-3.789-16.242-4.447c-7.502-0.658-2.792-1.627-5.508-1.623 c-2.716,0.003-2.716,0.363-4.521,0.363c-1.804,0-0.685-1.234-1.906-0.857c-1.221,0.377-0.981-0.104-3.506,0.737 s-0.36,1.203-4.33,1.323c-3.969,0.12-10.704,1.684-12.027,2.165c-1.323,0.48-2.085,1.138-0.962,0.962 c1.123-0.176,4.674-0.671,4.441-0.035c0,0-0.46,0.603-2.288,1.573s-3.817,1.126-4.279,2.733 c-0.461,1.607-0.119,1.088-2.118,1.977c-1.999,0.888-6.283,2.431-7.14,2.888c-0.857,0.456-2.627,0.742-3.542,2.741 c-0.914,2,0.571,2.284,0.743,3.827c0.171,1.542,4.859,2.949,8.456-0.067c0,0,5.439,4.899,4.661,5.082 c-0.779,0.184-2.835,0.869-2.778,1.154s-1.056,0.66-0.157,0.873c0.899,0.213,1.431,0.891,0.908,0.809s-0.694,0.774,0.848-0.025 c1.542-0.8,0.85-0.646,0.79-1.277c-0.059-0.631,0.752,0.25,0.752,0.25s2.17,0.571,2.228,0.113 c0.057-0.457,1.028-0.742,2.056-0.971c1.028-0.229,1.448-4.159,2.838-4.879c1.39-0.719,3.898-0.952,3.672-1.835 s-2.054-0.997-2.682-1.111s-0.813-0.248-0.778-0.724c0.036-0.476,1.578-4.304,4.148-4.589c2.57-0.286,3.827-1.257,3.656-2.057 c-0.171-0.799,0.179-1.761,1.518-2.108c1.338-0.348,5.623,0.167,5.451,0.853c-0.172,0.685-8.625,4.854-8.168,5.198 c0.457,0.342,1.485,1.484,0.743,2.228c-0.743,0.742-0.971,1.428,1.942,1.599c2.914,0.172,10.682-0.8,11.367-0.399 c0.686,0.399,3.027,0.399,2.513,0.686c-0.514,0.285-2.399-0.286-3.77,0.8c-1.371,1.085-7.083,0.228-8.283,0.742 c-1.2,0.514-2.742,0.343-2.399,0.628c0.342,0.286-1.04,0.281-0.571,0.857c0.469,0.574,2.056-0.972,3.655,0.057 c1.6,1.028-0.057,2.57-0.971,2.399s-3.027-1.143-3.427,0.057c-0.4,1.2-1.038,2.609-2.347,3.361 c-1.309,0.752-2.052,1.037-3.137,0.009c0,0-6.219,2.021-7.286,1.77c-1.067-0.252-0.753-1.431-1.36-1.172 c-0.607,0.26-4.557,1.377-4.655,0.982s-1.189-0.737-1.492-1.237c-0.304-0.499-0.442-0.814-0.245-1.288 c0.198-0.474,1.444,1.517,1.729,0.832c0.286-0.687-0.392-0.684-0.624-0.97c-0.233-0.287-0.918-1.087-0.233-1.145 c0.686-0.058,1.574-0.087,1.102-0.414c-0.473-0.328-0.93-0.557-0.873-1.413c0.057-0.857-2.426-0.76-3.469,0.248 s-0.247,1.514-0.474,2.289s0.23-0.024,0.059,1.118c-0.172,1.143,0.895,1.866,0.533,2.019c0,0-1.447,0.323-3.161,0.666 s-2.913-0.114-3.313,0.686s-1.235,3.317-5.416,4.028c0,0,0.381,0.554-0.586,1.318c-0.967,0.766-4.28,1.622-4.623,1.508 s-0.645-1.115-0.743-0.172c-0.097,0.945,0.514,1.429-0.228,1.429c-0.743,0-0.8-0.343-3.085-0.229c0,0-4.627,0.399-1.485,1.656 s5.346,2.44,5.329,3.905c-0.017,1.464,0.514,4.705-1.636,4.342c-2.151-0.364-4.436,0.207-5.349-0.25 c-0.914-0.457-1.428-0.285-2.685-0.285c-1.256,0-2-0.344-2.627-0.058s-1.831,0.296-1.772,0.69c0.059,0.396,1.438,0.663,0.691,1.5 c-0.747,0.837,0.224,2.494-0.29,3.637c-0.514,1.142-1.078,2.869-0.539,3.091s0.939,0.907,0.653,1.764 c-0.286,0.857,0.571,0.971,2.114,0.914s1.885,0.686,2.17,0.972c0.286,0.285,1.483,0.88,2.227,0.04s2.686-0.384,3.828-0.384 s1.823-1.163,2.882-1.353c1.06-0.189,2.68-1.733,2.526-2.446c-0.153-0.713,0.46-3.826,2.246-3.97 c1.442-0.115,2.766-1.526,3.41-3.622c0.551-1.792,4.244,0.195,5.215,0.024c0.971-0.172,2.627-2.971,5.083-2.514 c2.457,0.457,2.693,2.152,2.775,2.762c0.082,0.608,3.566,2.95,4.879,2.95c1.314,0,2.681,1.328,3.054,1.863 c0.373,0.536,1.327,0.237,1.421,0.986c0.095,0.749,1.006,0.671,0.572,1.382c-0.434,0.709-0.935,1.652-0.535,1.709 c0.4,0.058,0.969-0.368,1.403-1.019c0.434-0.651,0.881-0.353,0.824-0.694c-0.057-0.344-0.914-0.686-0.856-1.314 c0.057-0.628,0.938-1.286,1.354-1.129c0.416,0.158,2.165,1.085,2.033,0.336c-0.132-0.749-1.854-1.4-2.764-1.874 c-0.91-0.475-1.708-0.26-1.48-0.967s-0.41-0.337-1.776-0.494c-1.366-0.156-2.28-1.07-2.28-1.755c0-0.686-1.657-1.372-2.627-2.685 c-0.971-1.314,0.487-0.788,0.171-0.946c-0.315-0.157,0.8-1.625,1.6-1.396c0.8,0.229,0.298,2.079,1.006,1.812 c0.708-0.269,1.065-1.599,1.046-0.908s-0.322,1.067,0.355,0.711c0,0,0.392-0.643,0.335-0.071 c-0.058,0.57,1.142,2.709,2.685,3.011c1.542,0.302,5.084,0.93,5.426,2.415c0,0,0.54,2.443,0.171,2.628 c-0.368,0.185,0.914,0.228,0.628,0.8c-0.286,0.571,1.491,1.871,1.491,1.871s-1.182,1.322,0.178,1.953 c0,0-0.069-1.083,0.502-0.912c0.571,0.172,2.399-0.113,2.628-0.056c0.229,0.056,0.856,0.285,0.856,0.285 s-3.586,0.513-3.335,0.742c0.25,0.229,0.993,0.571,0.993,1.143s-0.561,0.118,0.605,0.573s1.451,1.141,1.623,0.854 c0.171-0.285,0.492-1.445,0.332-1.979s0.183-1.219,0.925-1.048c0.743,0.172,1.287,0.844,1.443,0.279 c0.157-0.564-3.919-1.702-3.138-2.19c0.781-0.487,1.184,0.198,1.125-0.059c-0.058-0.258-2.057-2.6-1.257-2.485 c0.799,0.114,0.856,0.971,1.428,1.085s-0.342-0.285,0.628-1.085c0.971-0.8,3.028-0.686,4.056-0.343 c1.028,0.343,4.456-0.629,5.141-0.172c0.686,0.458,0.514,0.687,0.057,0.687s-4.744,0.104-5.256,0.537 c-0.513,0.434-0.227,2.204,0.058,1.861c0.286-0.343,1.085-1.428,1.371-0.914c0.286,0.515-0.311,0.486-0.127,1.243 s-0.178,0.828-0.178,0.828s-1.776,0.237-1.302,0.415c0.474,0.177,1.835,0.084,1.835,0.427s-0.77,0.579-0.77,0.579 s1.284,1.077,2.484,1.135c0,0-0.949,0.534-0.589,0.581c0.36,0.047,2.047-0.193,2.546,0.355s2.614,1.059,2.842-0.71 c0,0,2.284,0.573,2.798,1.087c0.514,0.515,2.056,0.515,2.856-0.228c0.8-0.743,1.883-0.253,2.398-0.327 c0.515-0.073,1.365-0.892,1.6-0.416s-0.193,0.253-0.571,1.371c-0.378,1.117,0.799,2.113,0.342,2.685s-2.056,5.712-3.484,5.77 c-1.428,0.057-3.458-0.588-3.985-0.294s-2.881-0.593-4.018,0.079c-1.136,0.671-6.505-1.385-7.648-0.528 c0,0-1.511-1.042-3.897-0.892c0,0-5.871-2.192-5.699-0.079c0.171,2.113,0.8,1.714,0,2.57s-2.285,0.971-3.941-0.114 c-1.657-1.085-2.342-0.571-3.199-1.314c-0.856-0.742-2.342-2.398-6.226-2.228c0,0-4.85-1.918-4.024-2.387 c0.825-0.469,3.167-4.011,1.682-4.811c-1.485-0.799-2.685-0.514-4.513-0.399c-1.828,0.114-14.912,2.482-17.194,2.97 c-2.252,0.48-5.712,1.2-6.626,0.344c-0.914-0.857-2.113-1.714-2.513-0.458c-0.4,1.257-0.803,2.481-3.628,4.012 c-2.826,1.529-2.712,2.786-2.655,3.814s0.971,1.828,0.514,2.285s-2.523,2.581-3.433,2.719c-0.897,0.135-2.752-1.873-3.181,2.829 c-0.005,0.062-0.011,0.125-0.016,0.188c0,0-3.652,1.461-3.823,3.117c-0.172,1.656-0.515,1.371-1.2,3.256 c-0.686,1.885-0.4,3.085-0.171,5.369c0.229,2.285,0.754,7.611-0.489,8.499c-1.243,0.889-0.425,6.581,3.231,9.209 c0,0,0.628-0.286,0.971,1.199s4.341,4.398,5.369,5.198c1.028,0.8,4.913,3.941,7.711,2.971c0,0,5.998,0.057,8.797,0.285 s6.854-4.341,11.367-2.513c0,0,0.914-0.344,1.599,1.77c0.686,2.114,3.951,1.705,5.003,1.768c0,0,5.279,1.945,1.28,8.63 c0,0,3.199,6.739,7.712,11.252c0,0,1.771,4.913,1.371,7.255s-1.771,2.398-2.742,3.998c-0.971,1.6-2.285,6.854-1.828,7.94 c0.457,1.085,5.483,6.797,5.369,7.882c-0.114,1.086-0.285,7.998,2.742,9.939c0,0,2.799,2.8,3.142,5.599 c0,0,0.914,0.057,0.628,1.771c-0.285,1.714-0.799,4.513,1.6,4.97c2.399,0.457,3.085-0.686,4.741-0.857 c1.657-0.171,4.742-0.171,5.427-1.085c0,0,0.628-0.457,1.828,0.114s6.169-3.998,7.483-5.255c1.313-1.257,0.914-3.143,1.771-3.37 c0.856-0.229,2.105-3.052,3.17-5.518c0.257-0.595,2.313-1.565,3.513-2.365c1.199-0.8,2.935-3.571,0.04-7.755 c0,0,3.73-4.298,6.358-5.841c2.627-1.542,2.97,0.173,3.198-2.112s1.542-5.827,0.971-6.798c-0.571-0.972-0.057-1.371-0.457-2.342 c-0.4-0.972-1.085-0.229-1.428-1.371c-0.342-1.143,0.139-3.511-0.473-4.44c-0.612-0.929-2.326-0.814-1.698-1.9 c0.629-1.085,2.457-1.542,3.085-5.313c0,0,2.399-4.227,3.542-5.197c1.143-0.972,9.368-7.141,10.567-9.254 c1.2-2.113,7.24-12.603,5.463-12.426c-1.777,0.178-8.547,4.029-12.203,2.201c-3.656-1.828-1.771-2.171-2.229-3.256 c-0.457-1.085-4.33-5.362-5.106-5.337c-0.776,0.024-1.576,0.596-1.919-2.032s-3.22-3.979-3.409-4.36 c-0.189-0.381,0.839-2.322-0.589-4.322c-1.428-1.999-2.17-0.285-2.57-3.027c-0.4-2.741-2.057-4.684-3.028-6.055 c-0.971-1.371-3.147-5.569-2.516-6.126c0.631-0.558,2.573,3.384,3.316,3.556c0,0,0.4-2.628,1.028-2.685s-0.229,1.37-0.057,2.171 c0.171,0.8,1.199,0.342,1.713,1.599s2.742,3.771,3.999,5.427s1.771,5.198,2.57,6.397c0.8,1.199,2.114,1.543,3.313,4.284 c0,0,2.571,1.542,2.514,3.313c-0.057,1.771,0.286,6.512,2.228,6.797c1.942,0.286,2.113-1.656,4.513-1.485 c2.399,0.172,4.456-1.313,7.826-2.741s3.142-3.599,4.513-3.599s2.914,1.027,3.084-0.229c0.171-1.257,1.713-0.743,2.228-1.885 c0.514-1.144,1.828-0.571,2.171-1.144c0.342-0.57,0.25-2.949,1.039-2.988c0.789-0.038,4.845-3.401-0.296-5.918 c0,0-1.828,0.682-2.342-0.689c-0.514-1.37-0.057-3.256-0.914-3.313c-0.857-0.057-2.627,3.085-4.627,3.199 s-2.228,1.656-3.313,0.457c-1.085-1.2-0.172-1.844-0.291-2.613c-0.119-0.77-1.766-0.585-2.108-1.499s-1.485-1.6-2.285-2.399 c-0.8-0.8-2.517-3.246-1.173-3.736s3.424-0.067,3.612,1.006c0.188,1.074,2.016,2.273,3.043,2.788 c1.028,0.514,4.728,3.788,6.962,1.237c0,0,1.663,0.075,2.006,1.332s5.945,1.588,6.343,1.509c0,0,1.769,1.291,2.054,0.434 c0.285-0.856,6.257-0.876,7.241-0.552c0.984,0.323,1.295,0.469,1.54,1.539c0.244,1.069-0.156,1.526,1.501,1.755 c1.656,0.229,2.799,1.656,3.77,1.656c0,0-1.371,0.171-1.428,0.571c-0.057,0.4,4.284,4.227,4.97,4.227s1.134-0.634,1.134-0.634 l-0.355,1.894c0,0,1.247,3.411,1.776,5.445c0.529,2.035,1.453,2.224,1.615,3.006c0.162,0.782,2.374,5.011,2.57,5.826 s2.285,6.397,3.713,5.027c1.428-1.371,1.498-1.505,1.634-1.667c0.137-0.161,1.895,0.474,2.013,0.829 c0.119,0.355-0.277,0.323-0.563,1.123c0,0,0.229,4.398,1.942,3.941c1.714-0.457,2.742-5.426-1.313-6.454 c0,0-1.614,0.559-1.664-0.149c-0.049-0.708,1.244,0.06,1.421-0.71c0.178-0.77-0.328-3.368,0.129-3.597 c0.457-0.229,0.172-4.284,0.628-5.598c0.457-1.314,3.839-0.442,3.861-1.992c0.023-1.55,0.308-2.007,1.964-2.692 c1.657-0.685,3.085-3.256,3.713-3.198c0.628,0.058,1.942-3.37,3.142-2.913c1.2,0.457,6.341-0.399,7.769,0.229 c1.428,0.628,1.885,2.57,3.027,2.855c1.143,0.286-0.399,1.771,0.286,2s1.999-2.399,1.656,0.343 c-0.343,2.741-1.771,3.771-0.114,3.884c1.656,0.114,4.512-0.628,5.026,0.4c0.514,1.027,1.372,4.684,1.828,6.968 c0.457,2.285,0.058,2.628-0.114,4.113c-0.171,1.485-0.515,2.685,0.057,3.37c0.571,0.686,3.599,2.171,3.542,3.142 c-0.057,0.971,0.457,3.027,0.914,4.056c0.457,1.028,5.338,5.039,5.712,4.056s-2.399-7.883-4.912-9.939 c-2.513-2.057-2.627-3.084-2.627-4.684s-0.457-6.283,1.028-6.512c1.485-0.229,7.483,3.198,7.483,5.598s0.4,2.171,0,2.971 c0,0,1.085,1.085,1.828-0.457c0.743-1.542,8.335-3.636,7.167-6.959s-7.167-8.692-7.109-10.806 c0.058-2.114,3.713-5.084,5.141-5.027c1.428,0.058,2.239-0.642,2.205,0.622s1.184,2.189,1.184,2.189s-3.96,0.788-3.217,1.759 s3.028,3.484,4.285-1.143c0,0-1.143-1.542-0.743-2.399c0.4-0.856,7.597-2.284,10.053-3.484 c2.456-1.199,11.238-10.753,10.76-12.488c0,0-3.92,1.038-2.605-0.591c1.315-1.631,0.473-4.878-1.09-7.523 c-1.563-2.646,6.013-3.849,4.57-4.812c-1.443-0.962-12.026-0.962-8.659-2.887c3.367-1.924,8.659-5.171,7.938-2.886 s-4.45,3.007-1.083,2.767c3.368-0.241,6.984-2.013,6.258-0.285s-2.141,1.921-0.652,2.486c1.49,0.564,3.198-1.185,3.02,1.184 c-0.178,2.367-1.219,2.753-1.29,3.951c-0.072,1.197,0.993,1.316,3.244,0.665c2.25-0.651,4.092-2.71,0.965-7.4 c0,0-1.804-0.601,1.083-2.767c2.887-2.164,3.009-5.763,5.354-4.926c2.344,0.838,14.974-5.238,15.394-12.784 c0,0-0.061-3.097,1.623-2.495c1.684,0.602,1.082,3.969,0.962,6.014c-0.121,2.045-0.601,4.45,0.481,3.367 c1.083-1.082,3.729,2.045,2.526-0.36s-2.646-5.292-0.962-5.292c1.684,0,3.022,2.268,2.593,1.134 c-0.429-1.134-1.284-8.559-2.901-9.056s-2.699-0.857-5.706-0.256c-3.007,0.601-9.224-0.036-7.438-1.4 c1.786-1.366,8.105-8.405,20.22-7.893s15.558,1.513,15.039,0.592c-0.52-0.92,0.432-4.229,2.783-4.439 c2.351-0.21,4.795-0.946,5.21,0.475c0.415,1.42,4.115-0.323,6.28-1.767s1.555,0.64-0.004,1.944 c-1.559,1.303-8.553,4.734-11.25,6.747s-1.657,6.865-1.362,8.878c0.295,2.012-2.149,2.701-2.043,3.57 c0.106,0.87,7.804-3.94,11.171-8.511c3.367-4.571,2.045-3.849,1.563-5.533c-0.481-1.684,1.443-3.487,2.887-3.487 c1.443,0,11.305,0,15.635-2.165c4.33-2.165,11.964-0.598,11.995-2.163s-3.216-2.527-2.976-3.61L639.881,44.734z M379.794,85.262 c-2.278,0-4.422,1.206-4.422,1.206c-11.257-1.206-1.675-8.979,2.479-9.448s1.407,2.345,2.278,3.887s3.819-1.81,3.819-1.81 c0.201-1.005-1.273-0.134-1.541-1.34s2.479-1.475,4.154-1.341s0.268,1.407-0.469,2.145s-1.139,0.268,0.536,1.541 s6.902,3.283,6.902,5.763S382.072,85.262,379.794,85.262z M414.103,87.004c-1.675,0-0.603,0.603,0.603,1.943 s1.407,1.943,1.273,4.623s-2.211,2.011-5.696,1.273s-3.686-3.283-3.083-5.695s1.005-0.737,2.01-1.407s-3.752-2.479-4.355-5.026 s-0.134-0.804-1.139-1.943s1.273,0,4.221-3.015s4.825-1.475,4.825-1.475c3.686,2.747-1.742,3.082-1.876,3.753 s-1.005-0.47-2.077,1.005s2.68,1.005,2.948,2.01s1.675,0.536,1.407,1.273s0.536,1.876,1.273,0.871s1.407,0.402,2.949,1.341 S415.778,87.004,414.103,87.004z M458.606,83.766c-0.503,1.006-1.676,0.753-3.017,0.67 C455.589,84.436,459.109,82.76,458.606,83.766z M465.563,78.066c0,0-1.005,0.335-1.173-0.503 C464.389,77.563,465.814,76.223,465.563,78.066z M514.005,63.483c-1.09,0.587-0.838,0.922-1.425,1.341s-0.419,0.167-1.844,0.922 s-1.928,2.012-3.604,2.012s-2.85,0.42-2.934,0.084c0,0,6.956-2.18,7.543-3.521s3.436-5.027,3.52-3.938 S515.095,62.896,514.005,63.483z" fill="#B9C5D1"/>
-</g>
-</g>
-<path d="M365.873,94.03c-0.359,0.168-1.146-0.172-0.847-0.595C365.282,93.074,366.198,93.659,365.873,94.03" fill="#B9C5D1"/>
-<path d="M612.933,181.818c0.582,0.571,2.048,0.282,0.949,1.59C614.206,183.022,611.115,182.855,612.933,181.818" fill="#B9C5D1"/>
-<path d="M490.528,155.252c-0.021-0.042,0.021-1.404-1.125-2.07C489.427,154.171,490.079,154.367,490.528,155.252" fill="#B9C5D1"/>
-</g>
-</g>
-<!-- Kabul, Afghanistan -->
-<circle id="1760-1-0" cx="443.0" cy="98.7" r="2" fill="red"/>
-<!-- New Delhi, India -->
-<circle id="1624-45-0" cx="458.5" cy="116.2" r="2" fill="red"/>
-<!-- Mumbai, India -->
-<circle id="1624-45-1" cx="450.0" cy="127.8" r="2" fill="red"/>
-<!-- Chennai, India -->
-<circle id="1624-45-2" cx="462.2" cy="139.2" r="2" fill="red"/>
-<!-- Kolkata, India -->
-<circle id="1624-45-3" cx="470.5" cy="121.5" r="2" fill="red"/>
-<!-- London, UK -->
-<circle id="2592-33-0" cx="364.5" cy="52.9" r="2" fill="red"/>
-<!-- Paris, France -->
-<circle id="2696-34-0" cx="324.1" cy="73.2" r="2" fill="red"/>
-<!-- Helsinki, Finland -->
-<circle id="2632-104-0" cx="319.9" cy="68.3" r="2" fill="red"/>
-<!-- Berlin, Germany -->
-<circle id="2528-36-0" cx="343.9" cy="66.7" r="2" fill="red"/>
-</svg>
--- a/clock/data/worldclock/qgn_indi_dst_add.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg width="13" height="13" viewBox="0 0 13 13">
-<path d="M9.127,7.21c0,1.071-0.872,1.942-1.942,1.942c-1.071,0-1.942-0.871-1.942-1.942c0-1.071,0.871-1.942,1.942-1.942 C8.255,5.268,9.127,6.139,9.127,7.21z M7.185,4.268c-1.623,0-2.942,1.32-2.942,2.942s1.32,2.942,2.942,2.942 s2.942-1.32,2.942-2.942S8.807,4.268,7.185,4.268z"/>
-<path d="M6.685,1.986V3.05c0,0-0.003,0.499,0.5,0.499s0.5-0.499,0.5-0.499V1.986c0,0-0.019-0.5-0.5-0.5 S6.685,1.986,6.685,1.986z"/>
-<path d="M6.685,11.393v1.063c0,0-0.003,0.499,0.5,0.499s0.5-0.499,0.5-0.499v-1.063c0,0-0.019-0.5-0.5-0.5 S6.685,11.393,6.685,11.393z"/>
-<path d="M12.419,6.721h-1.063c0,0-0.499-0.003-0.499,0.5s0.499,0.5,0.499,0.5h1.063c0,0,0.5-0.019,0.5-0.5 S12.419,6.721,12.419,6.721z"/>
-<path d="M3.013,6.721H1.949c0,0-0.499-0.003-0.499,0.5s0.499,0.5,0.499,0.5h1.063c0,0,0.5-0.019,0.5-0.5 S3.013,6.721,3.013,6.721z"/>
-<path d="M10.532,3.166L9.78,3.917c0,0-0.355,0.351,0,0.707c0.356,0.355,0.707,0.001,0.707,0.001l0.752-0.752 c0,0,0.34-0.367,0-0.708S10.532,3.166,10.532,3.166z"/>
-<path d="M3.881,9.817l-0.752,0.752c0,0-0.355,0.351,0.001,0.707c0.355,0.355,0.706,0,0.706,0l0.752-0.752 c0,0,0.341-0.367,0-0.707C4.248,9.477,3.881,9.817,3.881,9.817z"/>
-<path d="M11.24,10.568l-0.752-0.752c0,0-0.351-0.355-0.707,0c-0.355,0.356-0.001,0.707-0.001,0.707l0.752,0.752 c0,0,0.367,0.34,0.708,0S11.24,10.568,11.24,10.568z"/>
-<path d="M4.588,3.917L3.836,3.165c0,0-0.351-0.355-0.707,0.001c-0.355,0.355,0,0.706,0,0.706l0.752,0.752 c0,0,0.367,0.341,0.707,0C4.929,4.284,4.588,3.917,4.588,3.917z"/>
-</svg>
\ No newline at end of file
--- a/clock/data/worldclock/qgn_indi_find.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="26px" version="1.1" viewBox="0 0 24 26" width="24px" x="0px" y="0px">
-<path d="M16.877,3.904c-6.466-0.738-10.905,6.168-8.039,11.672l-7.117,7.115l0.319,0.644c0.778,1.565,1.923,2.136,2.345,2.345 L5.029,26l7.076-7.076c0.902,0.494,1.901,0.814,2.955,0.935C19.787,20.397,24,16.703,24,11.864C24,7.343,20.447,4.31,16.877,3.904z"/>
-<path d="M9.088,16.741c0.434,0.213,0.821,0.491,1.111,0.782c0.145,0.145,0.286,0.313,0.419,0.5l-6.436,6.369 c-0.172-0.124-0.327-0.256-0.461-0.391c-0.289-0.29-0.568-0.679-0.783-1.111L9.088,16.741z" fill="#EB8C32"/>
-<path d="M22.403,9.043c-1.208-2.742-4.095-4.503-7.229-4.146c-5.106,0.58-7.72,6.121-5.358,10.389L22.403,9.043z" fill="#E1E1E1"/>
-<path d="M22.251,8.742l-1.795,0.896c0.256,0.514,0.434,1.073,0.502,1.675c0.314,2.757-1.664,5.246-4.421,5.56 c-2.153,0.245-4.14-0.914-5.056-2.748l-1.795,0.897c1.285,2.566,4.062,4.188,7.078,3.843c3.858-0.438,6.629-3.922,6.189-7.78 C22.858,10.243,22.61,9.458,22.251,8.742" fill="#B4B4B4"/>
-<path d="M15.286,5.899c-4.132,0.471-6.717,5.06-4.588,8.905l10.776-5.368C20.494,7.219,18.094,5.579,15.286,5.899z" fill="#968C82"/>
-<path d="M12.221,16.597c1.259,1.001,2.832,1.452,4.429,1.27c1.598-0.182,3.029-0.975,4.031-2.232 c1.002-1.259,1.453-2.834,1.271-4.434c-0.081-0.711-0.289-1.385-0.6-2.007l-1.795,0.897c0.207,0.415,0.354,0.861,0.407,1.336 c0.018,0.154,0.026,0.31,0.026,0.463c0,0.906-0.304,1.779-0.876,2.499c-0.669,0.84-1.624,1.369-2.691,1.491 c-1.067,0.121-2.118-0.18-2.958-0.849c-0.467-0.37-0.825-0.835-1.084-1.353l-1.795,0.898C10.974,15.352,11.522,16.042,12.221,16.597 z" fill="#5F5A50"/>
-<path d="M10.979,18.627L4.825,24.78C4.514,24.625,4.243,24.435,4,24.235l6.433-6.434 C10.633,18.045,10.824,18.316,10.979,18.627z" fill="#B44B00"/>
-<path d="M20.619,9.983c-0.827-2.032-2.932-3.352-5.22-3.091c-2.755,0.314-4.735,2.803-4.422,5.558 c0.079,0.689,0.293,1.33,0.614,1.898L20.619,9.983z" fill="#FFFFFF"/>
-<path d="M20.456,9.639l-8.975,4.486c0.916,1.834,2.902,2.993,5.056,2.748c2.757-0.313,4.735-2.803,4.421-5.56 C20.89,10.712,20.712,10.152,20.456,9.639" fill="#EBEBEB"/>
-<rect fill="none" height="26" width="24"/>
-</svg>
--- a/clock/data/worldclock/qgn_test_city_default.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="42" height="36" viewBox="0 0 42 36">
-<rect fill="none" height="36" width="42"/>
-<linearGradient id="SVGID_1" gradientUnits="userSpaceOnUse" x1="21.12" y1="18.23" x2="28.7" y2="33.17">
-<stop stop-color="#AABBD7" offset="0"/>
-<stop stop-color="#92A5CC" offset="0.26"/>
-<stop stop-color="#6C83BB" offset="0.71"/>
-<stop stop-color="#637DB5" offset="0.76"/>
-<stop stop-color="#4C6EA4" offset="0.83"/>
-<stop stop-color="#265689" offset="0.91"/>
-<stop stop-color="#003D6D" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1)" points="6.983,6.5 5.511,7.279 5.511,29.5 35.709,29.5 36.489,28.028 36.489,6.5 "/>
-<linearGradient id="SVGID_2" gradientUnits="userSpaceOnUse" x1="20.2" y1="-0.08" x2="21.06" y2="32.84">
-<stop stop-color="#FFFFFF" offset="0.15"/>
-<stop stop-color="#A2C2DD" offset="1"/>
-</linearGradient>
-<rect fill="url(#SVGID_2)" height="21.66" width="29.64" x="5.86" y="7.489"/>
-<linearGradient id="SVGID_3" gradientUnits="userSpaceOnUse" x1="35.32" y1="1.53" x2="36.25" y2="32.21">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#496DA2" offset="0.71"/>
-<stop stop-color="#235487" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#SVGID_3)" points="36.139,6.851 36.139,27.94 35.5,29.149 35.5,7.489 "/>
-<linearGradient id="SVGID_4" gradientUnits="userSpaceOnUse" x1="20.88" y1="3.11" x2="21.56" y2="25.88">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#496DA2" offset="0.71"/>
-<stop stop-color="#235487" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4)" points="35.5,7.489 36.139,6.851 7.069,6.851 5.86,7.489 "/>
-<linearGradient id="SVGID_5" gradientUnits="userSpaceOnUse" x1="20.31" y1="4.4" x2="20.5" y2="15.99">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#A2C2DD" offset="0.35"/>
-<stop stop-color="#6C83BB" offset="0.7"/>
-<stop stop-color="#003D6D" offset="1"/>
-</linearGradient>
-<rect fill="url(#SVGID_5)" height="19.096" width="26.695" x="7.19" y="8.725"/>
-<linearGradient id="SVGID_6" gradientUnits="userSpaceOnUse" x1="20.3" y1="12.61" x2="20.58" y2="25.51">
-<stop stop-color="#D6E6EC" offset="0"/>
-<stop stop-color="#298595" offset="1"/>
-</linearGradient>
-<path d="M33.885,27.821V19.12l-2.148-0.299c-0.068-1.166-0.291-4.934-0.293-4.934 c-0.004-0.084-1.654-0.09-1.689-0.009l-0.258,4.632l-1.301-0.181c-0.055-1.231-0.299-6.597-0.301-6.597 c-0.002-0.084-1.654-0.09-1.689-0.009l-0.271,6.29l-4.15-2.027l-2.74,1l0.005,1.643l-1.615-0.354l-0.528,0.118l-0.167-2.383 c1.619-0.07,2.872-0.532,2.872-1.093c0-0.578-1.329-1.052-3.024-1.099l-0.212-3.023l-0.107-0.002l-0.206,3.025 c-1.705,0.043-3.052,0.518-3.052,1.099c0,0.565,1.269,1.03,2.902,1.095l-0.177,2.643l-0.507,0.111v-1.726l-3.929-0.766 l-4.111,0.847l0.005,10.699" fill="url(#SVGID_6)"/>
-</svg>
\ No newline at end of file
--- a/clock/data/worldclock/qtg_test_homecity.svg Mon May 03 12:30:32 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
- <rect fill="none" width="40" height="40"/>
- <g>
- <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="22.2627" y1="1.3389" x2="19.0624" y2="39.7377">
- <stop offset="0" style="stop-color:#FFFFFF"/>
- <stop offset="1" style="stop-color:#4F4F4F"/>
- </linearGradient>
- <path fill="url(#SVGID_1_)" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" d="M34.326,38.682V17.68
- L20.402,2.889L5.727,17.68v21.002H34.326z"/>
- <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="20.916" y1="0.4121" x2="19.7791" y2="21.6352">
- <stop offset="0" style="stop-color:#D07100"/>
- <stop offset="1" style="stop-color:#A23600"/>
- </linearGradient>
- <polygon fill="url(#SVGID_2_)" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" points="20.256,1.318
- 38.556,17.469 35.365,21.055 20.33,7.807 4.844,20.959 1.443,17.572 "/>
- <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="20.9043" y1="21.8818" x2="19.9962" y2="38.8339">
- <stop offset="0" style="stop-color:#17BFFF"/>
- <stop offset="1" style="stop-color:#05002E"/>
- </linearGradient>
- <rect x="15.327" y="22.881" fill="url(#SVGID_3_)" width="10.2" height="15.801"/>
- <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="23.999" y1="30.1406" x2="23.7214" y2="33.4714">
- <stop offset="0" style="stop-color:#C6FF45"/>
- <stop offset="1" style="stop-color:#4B8B00"/>
- </linearGradient>
- <ellipse fill="url(#SVGID_4_)" cx="23.854" cy="31.881" rx="1.5" ry="1.602"/>
- </g>
-</g>
-</svg>
--- a/clock/ftudatetimewizard/inc/ftudatetimeview.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/ftudatetimewizard/inc/ftudatetimeview.h Fri May 14 15:51:09 2010 +0300
@@ -19,10 +19,11 @@
#define FTUDATETIMEVIEW_H
// System includes
-#include <hbwidget.h>
-#include <hbview.h>
-#include <hbdialog.h>
-#include <qdatetime.h>
+#include <QPointer>
+#include <QDateTime>
+#include <HbWidget>
+#include <HbView>
+#include <HbDialog>
#include "clockcityselectionlist.h"
// Forward declarations.
@@ -56,6 +57,7 @@
void updateDate();
void updateTime();
void HandleLocationChange(LocationInfo);
+ void selectedAction(HbAction *action);
private:
void createMainLayout();
@@ -63,22 +65,27 @@
void populateDateTimeGroup();
void populatePlaceGroup();
void wizardEditedDate(const QDate &date);
-
+
+private:
HbDataForm* mDateTimePlaceForm;
HbDataFormModel* mDateTimePlaceModel;
-
+
HbDataFormModelItem *mDateItem;
HbDataFormModelItem *mTimeItem;
HbDataFormModelItem *mAutoTimeUpdateItem;
HbDataFormModelItem *mPlaceGroup;
HbDataFormModelItem *mCountryItem;
HbDataFormModelItem *mCityItem;
-
+
HbDateTimePicker* mDatePicker;
HbDateTimePicker* mTimePicker;
- HbDialog* mDatetimepopup;
+ QPointer<HbDialog> mDatePickerDialog;
+ QPointer<HbDialog> mTimePickerDialog;
+
+ HbAction *mOkAction;
+ HbAction *mCancelAction;
SettingsUtility *mSettingsUtility;
-
+
TimezoneClient *mTimeZoneClient;
ClockCitySelectionList* mCitySelectionList;
bool mTimeAutoUpdate;
--- a/clock/ftudatetimewizard/inc/ftudatetimewizardfactory.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/ftudatetimewizard/inc/ftudatetimewizardfactory.h Fri May 14 15:51:09 2010 +0300
@@ -19,7 +19,7 @@
#define FTUDATETIMEWIZARDFACTORY_H
// System includes
-#include <qobject>
+#include <QObject>
// User includes
#include "ftuwizardfactory.h"
--- a/clock/ftudatetimewizard/src/ftudatetimeview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/clock/ftudatetimewizard/src/ftudatetimeview.cpp Fri May 14 15:51:09 2010 +0300
@@ -60,8 +60,7 @@
FtuDateTimeView::FtuDateTimeView() :
HbView(),
mDatePicker(NULL),
-mTimePicker(NULL),
-mDatetimepopup(NULL)
+mTimePicker(NULL)
{
//TODO: Localisation has to be done
// set title for wizard
@@ -73,10 +72,10 @@
new FtuDateTimeCustomItem(mDateTimePlaceForm);
prototypes.append(customItem);
mDateTimePlaceForm->setItemPrototypes(prototypes);
-
+
// Construct the settings utility.
mSettingsUtility = new SettingsUtility();
- mTimeZoneClient = new TimezoneClient();
+ mTimeZoneClient = TimezoneClient::getInstance();
mTimeAutoUpdate = mTimeZoneClient->timeUpdateOn();
}
@@ -88,6 +87,10 @@
delete mDateTimePlaceForm;
delete mDateTimePlaceModel;
delete mSettingsUtility;
+
+ if (!mTimeZoneClient->isNull()) {
+ mTimeZoneClient->deleteInstance();
+ }
}
/*!
Creates the main view.
@@ -123,7 +126,7 @@
*/
void FtuDateTimeView::populateDateTimeGroup()
{
- HbDataFormModelItem *dateTimeGroup =
+ HbDataFormModelItem *dateTimeGroup =
mDateTimePlaceModel->appendDataFormGroup
(QString(tr("Date and Time")),
mDateTimePlaceModel->invisibleRootItem());
@@ -146,7 +149,7 @@
SLOT(populateDatePicker()));
mDateTimePlaceForm->addConnection(mTimeItem, SIGNAL(clicked()), this,
SLOT(populateTimePicker()));
- mDateTimePlaceForm->addConnection(mAutoTimeUpdateItem, SIGNAL(clicked()),
+ mDateTimePlaceForm->addConnection(mAutoTimeUpdateItem, SIGNAL(clicked()),
this, SLOT(setAutoTimeupDate()));
}
@@ -165,14 +168,14 @@
mCityItem = mDateTimePlaceModel->appendDataFormItem(
HbDataFormModelItem::CustomItemBase,
QString(tr("City")), mPlaceGroup);
-
+
// Connect the items to the proper slots
mDateTimePlaceForm->addConnection(mCountryItem, SIGNAL(clicked()), this,
SLOT(populateCitySelectionList()));
mDateTimePlaceForm->addConnection(mCityItem, SIGNAL(clicked()), this,
SLOT(populateCitySelectionList()));
-
-
+
+
}
/*!
@@ -189,12 +192,12 @@
} else {
mAutoTimeUpdateItem->setContentWidgetData("text", tr("OFF"));
}
- mCountryItem->setContentWidgetData("text",
+ mCountryItem->setContentWidgetData("text",
mTimeZoneClient->getCurrentZoneInfoL().countryName);
- mCityItem->setContentWidgetData("text",
+ mCityItem->setContentWidgetData("text",
mTimeZoneClient->getCurrentZoneInfoL().cityName);
- // Set the date,time,country and city fields disable
+ // Set the date,time,country and city fields disable
// if auto time update is ON
if (mTimeAutoUpdate) {
mDateItem->setEnabled(false);
@@ -209,14 +212,13 @@
*/
void FtuDateTimeView::populateDatePicker()
{
- if (mDatetimepopup) {
- delete mDatetimepopup;
- mDatetimepopup = NULL;
+ if (mDatePickerDialog) {
+ delete mDatePickerDialog;
}
- mDatetimepopup = new HbDialog();
+ mDatePickerDialog = new HbDialog();
- mDatetimepopup->setDismissPolicy(HbDialog::NoDismiss);
- mDatetimepopup->setTimeout(HbDialog::NoDismiss);
+ mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
+ mDatePickerDialog->setTimeout(HbDialog::NoDismiss);
if(mDatePicker) {
mDatePicker = NULL;
@@ -225,54 +227,53 @@
this);
mDatePicker->setMinimumDate(QDate::fromString("01/01/1900", "dd/MM/yyyy"));
mDatePicker->setMaximumDate(QDate::fromString("31/12/2100", "dd/MM/yyyy"));
- mDatePicker->setDisplayFormat(mSettingsUtility->dateFormatString());
- // Sets the primary action and secondary action
- HbAction *primaryAction = new HbAction(tr("OK"), mDatetimepopup);
- HbAction *secondaryAction = new HbAction(tr("Cancel"), mDatetimepopup);
+ mDatePickerDialog->setContentWidget(mDatePicker);
- mDatetimepopup->setPrimaryAction(primaryAction);
- mDatetimepopup->setSecondaryAction(secondaryAction);
- mDatetimepopup->setContentWidget(mDatePicker);
+ // Add ok and cancel actions.
+ mOkAction = new HbAction(
+ hbTrId("txt_common_button_ok"), mDatePickerDialog);
+ mCancelAction = new HbAction(
+ hbTrId("txt_common_button_cancel"), mDatePickerDialog);
- connect(primaryAction, SIGNAL(triggered()), this, SLOT(updateDate()));
- connect(secondaryAction, SIGNAL(triggered()), mDatetimepopup, SLOT(close()));
- mDatetimepopup->exec();
+ mDatePickerDialog->addAction(mOkAction);
+ mDatePickerDialog->addAction(mCancelAction);
+
+ mDatePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
}
/*!
Populates the Time Picker.
*/
void FtuDateTimeView::populateTimePicker()
-{
- if (mDatetimepopup) {
- delete mDatetimepopup;
- mDatetimepopup = NULL;
+{
+ if (mTimePickerDialog) {
+ delete mTimePickerDialog;
}
- mDatetimepopup = new HbDialog();
- mDatetimepopup->setDismissPolicy(HbDialog::NoDismiss);
- mDatetimepopup->setTimeout(HbDialog::NoDismiss);
+ mTimePickerDialog = new HbDialog();
+ mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
+ mTimePickerDialog->setTimeout(HbDialog::NoDismiss);
if(mTimePicker) {
mTimePicker = NULL;
}
- mTimePicker = new HbDateTimePicker(QTime().currentTime(),
- this);
+ mTimePicker = new HbDateTimePicker(
+ QTime().currentTime(), this);
mTimePicker->setDisplayFormat(mSettingsUtility->timeFormatString());
- // Sets the primary action and secondary action
- HbAction *primaryAction = new HbAction(tr("OK"), mDatetimepopup);
- HbAction *secondaryAction = new HbAction(tr("Cancel"), mDatetimepopup);
+ mTimePickerDialog->setContentWidget(mTimePicker);
- mDatetimepopup->setPrimaryAction(primaryAction);
- mDatetimepopup->setSecondaryAction(secondaryAction);
+ // Add ok and cancel actions.
+ mOkAction = new HbAction(
+ hbTrId("txt_common_button_ok"), mTimePickerDialog);
- mDatetimepopup->setContentWidget(mTimePicker);
+ mCancelAction = new HbAction(
+ hbTrId("txt_common_button_cancel"), mTimePickerDialog);
- connect(primaryAction, SIGNAL(triggered()), this, SLOT(updateTime()));
- connect(secondaryAction, SIGNAL(triggered()), mDatetimepopup, SLOT(close()));
+ mTimePickerDialog->addAction(mOkAction);
+ mTimePickerDialog->addAction(mCancelAction);
- mDatetimepopup->exec();
+ mTimePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
}
/*!
@@ -334,6 +335,27 @@
}
/*!
+ Slot to handle the selected action.
+ */
+void FtuDateTimeView::selectedAction(HbAction *action)
+{
+ // Update time/date based on the picker selected.
+ if (action == mOkAction) {
+ if (mTimePickerDialog) {
+ updateTime();
+ } else if(mDatePickerDialog) {
+ updateDate();
+ }
+ }else {
+ if(mTimePickerDialog) {
+ mTimePickerDialog->deleteLater();
+ } else if(mDatePickerDialog) {
+ mDatePickerDialog->deleteLater();
+ }
+ }
+}
+
+/*!
Sets the device date.
*/
void FtuDateTimeView::updateDate()
@@ -341,7 +363,7 @@
QDate date = mDatePicker->date();
// Set device Date
if (date.isValid()) {
- mDateItem->setContentWidgetData("text",
+ mDateItem->setContentWidgetData("text",
date.toString(mSettingsUtility->dateFormatString()));
mTimeZoneClient->setDateTime(QDateTime(date, QTime::currentTime()));
wizardEditedDate(date);
@@ -356,7 +378,7 @@
QTime time = mTimePicker->time();
// Set device Time
if (time.isValid()) {
- mTimeItem->setContentWidgetData("text",
+ mTimeItem->setContentWidgetData("text",
time.toString(mSettingsUtility->timeFormatString()));
mTimeZoneClient->setDateTime(QDateTime(QDate::currentDate(), time));
wizardEditedDate(QDate::currentDate());
@@ -370,7 +392,7 @@
QDate FtuDateTimeView::getWizardCompletedDate()
{
XQSettingsManager *settingsManager = new XQSettingsManager();
- XQSettingsKey *ftuPluginDateCenrepKey =
+ XQSettingsKey *ftuPluginDateCenrepKey =
new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
KCRUidClockApp, KFtuPluginDate);
// Read the initial values from the cenrep
@@ -392,10 +414,10 @@
void FtuDateTimeView::wizardEditedDate(const QDate &date)
{
XQSettingsManager *settingsManager = new XQSettingsManager();
- XQSettingsKey *ftuPluginDateCenrepKey =
+ XQSettingsKey *ftuPluginDateCenrepKey =
new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
KCRUidClockApp, KFtuPluginDate);
- QString dateString = date.toString(mSettingsUtility->dateFormatString());
+ QString dateString = date.toString(mSettingsUtility->dateFormatString());
settingsManager->writeItemValue(*ftuPluginDateCenrepKey,dateString);
// Cleanup.
--- a/clock/inc/clockcommon.h Mon May 03 12:30:32 2010 +0300
+++ b/clock/inc/clockcommon.h Fri May 14 15:51:09 2010 +0300
@@ -25,10 +25,17 @@
const QString CITY_INFO_DB ("cityInfo.dat");
const QString CLOCK_DEBUG_FILE("debug.txt");
const QString PATH_TEXT("C:/");
+const int KMaximumCityListCount(50);
const long int KCRUidNitz = { 0x101F8876 };
+/** Active Protocol key */
+const long int KActiveProtocol = 0x00000001;
+/** Previous alarm time high */
+const long int KPreviousAlarmTime = 0x00000002;
-const long int KPreviousAlarmTime = 0x00000002;
+const long int KCRUidClockApp = { 0x101F874D };
+/** Alarm snooze time key */
+const long int KClockAppSnoozeTime = 0x00000002;
// Common definitions for docml.
#define CLOCK_MAIN_VIEW_DOCML ":/xml/clockmainview.docml"
@@ -38,9 +45,14 @@
#define CLOCK_WIDGET "clockWidget"
#define CLOCK_ALARMLIST "alarmListView"
#define CLOCK_NOALARMLABEL "noAlarmLabel"
-#define WORLD_CLOCK_VIEW_DOCML ":/xml/worldclockview.docml"
-#define WORLD_CLOCK_VIEW "worldClockView"
-#define CLOCK_VIEWS_STYLE_PATH ":/style"
+#define CLOCK_WORLD_VIEW_DOCML ":/xml/clockworldview.docml"
+#define CLOCK_WORLD_VIEW "worldClockView"
+#define CLOCK_WORLD_CITYLIST "worldClockCityListView"
+#define CLOCK_WORLD_HOMECITY "homeCityWidget"
+#define CLOCK_WORLD_VIEW_PORTRAIT_NOHOMECITY_SECTION "portrait-nohomecity"
+#define CLOCK_WORLD_VIEW_PORTRAIT_HOMECITY_SECTION "portrait-homecity"
+#define CLOCK_WORLD_VIEW_LANDSCAPE_NOHOMECITY_SECTION "landscape-nohomecity"
+#define CLOCK_WORLD_VIEW_LANDSCAPE_HOMECITY_SECTION "landscape-homecity"
#endif // CLOCKCOMMON_H
--- a/clock/rom/clock.iby Mon May 03 12:30:32 2010 +0300
+++ b/clock/rom/clock.iby Fri May 14 15:51:09 2010 +0300
@@ -44,15 +44,15 @@
// Binaries.
file=ABI_DIR\BUILD_DIR\clockalarmclient.dll SHARED_LIB_DIR\clockalarmclient.dll
file=ABI_DIR\BUILD_DIR\timezoneclient.dll SHARED_LIB_DIR\timezoneclient.dll
-file=ABI_DIR\BUILD_DIR\clockstopwatchengine.dll SHARED_LIB_DIR\clockstopwatchengine.dll
file=ABI_DIR\BUILD_DIR\clocksettingsutility.dll SHARED_LIB_DIR\clocksettingsutility.dll
file=ABI_DIR\BUILD_DIR\clocksettingsview.dll SHARED_LIB_DIR\clocksettingsview.dll
-file=ABI_DIR\BUILD_DIR\clockwidgetproto.dll SHARED_LIB_DIR\clockwidgetproto.dll
file=ABI_DIR\BUILD_DIR\clockcityselectionlist.dll SHARED_LIB_DIR\clockcityselectionlist.dll
file=ABI_DIR\BUILD_DIR\clockalarmeditor.dll SHARED_LIB_DIR\clockalarmeditor.dll
file=ABI_DIR\BUILD_DIR\clockappcontroller.dll SHARED_LIB_DIR\clockappcontroller.dll
file=ABI_DIR\BUILD_DIR\clockviewmanager.dll SHARED_LIB_DIR\clockviewmanager.dll
file=ABI_DIR\BUILD_DIR\clockviews.dll SHARED_LIB_DIR\clockviews.dll
+file=ABI_DIR\BUILD_DIR\clockwidget.dll SHARED_LIB_DIR\clockwidget.dll
+file=ABI_DIR\BUILD_DIR\clockwidgetplugin.dll SHARED_LIB_DIR\clockwidgetplugin.dll
file=ABI_DIR\BUILD_DIR\datetimesettingsplugin.dll SHARED_LIB_DIR\datetimesettingsplugin.dll
data=\epoc32\data\c\resource\qt\plugins\controlpanel\datetimesettingsplugin.qtplugin resource\qt\plugins\controlpanel\datetimesettingsplugin.qtplugin
Binary file notes/data/translations/notes.qm has changed
--- a/notes/data/translations/notes.ts Mon May 03 12:30:32 2010 +0300
+++ b/notes/data/translations/notes.ts Fri May 14 15:51:09 2010 +0300
@@ -534,7 +534,7 @@
</message>
<message numerus="no" id="txt_notes_button_alarm_date">
<comment>Layout ID Parent. Date Push Button in Dataform to set alarm date for a To-do note. This action opens the date picker component</comment>
- <source>%1</source>
+ <source>%2</source>
<translation variants="no" type="unfinished"></translation>
<extra-loc-layout_id>txt_notes_button_2</extra-loc-layout_id>
<extra-loc-viewid>Notes_P8</extra-loc-viewid>
@@ -602,6 +602,16 @@
<extra-loc-feature>No</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_tsw_caption_notes">
+ <comment>Notes application name in Task Switcher</comment>
+ <source>Notes</source>
+ <translation variants="no" type="unfinished"></translation>
+ <extra-loc-layout_id>txt_tsw_caption_notes</extra-loc-layout_id>
+ <extra-loc-viewid>tsw01</extra-loc-viewid>
+ <extra-loc-positionid>caption</extra-loc-positionid>
+ <extra-loc-feature>ts</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_notes_subhead_collections">
<comment>Sub title for Collections view</comment>
<source>Collections</source>
@@ -812,6 +822,16 @@
<extra-loc-feature>No</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_notes_dpopinfo_note_moved_to_todos">
+ <comment>If a plain note is marked as To-do note in the list view, the marked item disappears from the current view with a notification dialog </comment>
+ <source>Note moved to To-do's</source>
+ <translation variants="no" type="unfinished"></translation>
+ <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
+ <extra-loc-viewid>Notes</extra-loc-viewid>
+ <extra-loc-positionid>dpopinfo</extra-loc-positionid>
+ <extra-loc-feature>No</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_notes_menu_mark_as_done">
<comment>Item specific menu item to mark a task as completed</comment>
<source>Mark as done</source>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notescollectionsview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="allNotesAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_all" name="icon"/>
+ </object>
+ <object name="collectionsViewAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_collections" name="icon"/>
+ </object>
+ <object name="newNoteAction" type="HbAction">
+ <icon iconName="qtg_mono_create_event" name="icon"/>
+ </object>
+ <widget name="notesCollectionView" type="HbView">
+ <widget name="notesCollectionWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <string locid="txt_notes_subhead_collections" name="heading" value="Collections"/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="listView" type="HbListView">
+ <widget name="listItemPrototype" role="HbListView:prototype" type="HbListViewItem"/>
+ <real name="z" value="2"/>
+
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="listView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="listView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="listView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="listView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="allNotesAction" role="HbToolBar:addAction"/>
+ <ref object="collectionsViewAction" role="HbToolBar:addAction"/>
+ <ref object="newNoteAction" role="HbToolBar:addAction"/>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+ <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+ </widget>
+ <metadata activeUIState="portrait" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common"/>
+ <uistate name="landscape" sections="#common"/>
+ <dummydata objectName="listView" section="#common" value="0"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notesfavoriteview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="allNotesAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_all" name="icon"/>
+ </object>
+ <object name="displayCollectionsAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_collections" name="icon"/>
+ </object>
+ <object name="newNoteAction" type="HbAction">
+ <icon iconName="qtg_mono_create_event" name="icon"/>
+ </object>
+ <object name="deleteAction" type="HbAction">
+ <string locid="txt_common_opt_delete" name="text" value="Delete"/>
+ </object>
+ <widget name="notesFavoriteView" type="HbView">
+ <widget name="notesFavoriteViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <string locid="txt_notes_subhead_favorites" name="heading" value="Favorites"/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="favoritesListView" type="HbListView">
+ <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
+ <string name="state" value="normal"/>
+ </widget>
+ <real name="z" value="2"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="favoritesListView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="favoritesListView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="favoritesListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="favoritesListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="allNotesAction" role="HbToolBar:addAction"/>
+ <ref object="displayCollectionsAction" role="HbToolBar:addAction"/>
+ <ref object="newNoteAction" role="HbToolBar:addAction"/>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/> -->
+ </widget>
+ <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common"/>
+ <uistate name="landscape" sections="#common"/>
+ <dummydata objectName="favoritesListView" section="#common" value="0"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notesmainview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="allNotesAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_all" name="icon"/>
+ </object>
+ <object name="collectionsViewAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_collections" name="icon"/>
+ </object>
+ <object name="newNoteAction" type="HbAction">
+ <icon iconName="qtg_mono_create_event" name="icon"/>
+ </object>
+ <object name="deleteAction" type="HbAction">
+ <string locid="txt_common_opt_delete" name="text" value="Delete"/>
+ </object>
+ <widget name="notesMainView" type="HbView">
+ <widget name="notesMainViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="viewHeading" type="HbGroupBox">
+ <string name="heading" value=" "/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="listView" type="HbListView">
+ <widget name="prototype" role="HbListView:prototype" type="HbListViewItem"/>
+ <real name="z" value="2"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="viewHeading" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="viewHeading" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="viewHeading" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="listView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="listView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="viewHeading" srcEdge="BOTTOM"/>
+ <anchoritem dst="listView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="listView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="allNotesAction" role="HbToolBar:addAction"/>
+ <ref object="collectionsViewAction" role="HbToolBar:addAction"/>
+ <ref object="newNoteAction" role="HbToolBar:addAction"/>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/> -->
+ </widget>
+ <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+ </widget>
+ <metadata activeUIState="portrait" display="QHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common"/>
+ <uistate name="landscape" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notesnoteview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="allNotesAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_all" name="icon"/>
+ </object>
+ <object name="displayCollectionsAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_collections" name="icon"/>
+ </object>
+ <object name="newNoteAction" type="HbAction">
+ <icon iconName="qtg_mono_create_event" name="icon"/>
+ </object>
+ <object name="deleteAction" type="HbAction">
+ <string locid="txt_common_opt_delete" name="text" value="Delete"/>
+ </object>
+ <widget name="notesNoteView" type="HbView">
+ <widget name="notesNoteViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <string locid="txt_notes_list_plain_notes" name="heading" value="Recent notes"/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="noteListView" type="HbListView">
+ <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
+ <string name="state" value="normal"/>
+ </widget>
+ <real name="z" value="2"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="noteListView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="noteListView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="noteListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="noteListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="allNotesAction" role="HbToolBar:addAction"/>
+ <ref object="displayCollectionsAction" role="HbToolBar:addAction"/>
+ <ref object="newNoteAction" role="HbToolBar:addAction"/>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/> -->
+ </widget>
+ <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common"/>
+ <uistate name="landscape" sections="#common"/>
+ <dummydata objectName="noteListView" section="#common" value="0"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notestodoview.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="allNotesAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_all" name="icon"/>
+ </object>
+ <object name="displayCollectionsAction" type="HbAction">
+ <icon iconName="qtg_mono_notes_collections" name="icon"/>
+ </object>
+ <object name="newTodoAction" type="HbAction">
+ <icon iconName="qtg_mono_create_event" name="icon"/>
+ </object>
+ <object name="deleteAction" type="HbAction">
+ <string locid="txt_common_opt_delete" name="text" value="Delete"/>
+ </object>
+ <widget name="notesTodoView" type="HbView">
+ <widget name="notesTodoViewWidget" role="HbView:widget" type="HbWidget">
+ <widget name="subtitleGroupBox" type="HbGroupBox">
+ <string name="heading" value=" "/>
+ <real name="z" value="1"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="todoListView" type="HbListView">
+ <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
+ <string name="state" value="normal"/>
+ </widget>
+ <real name="z" value="2"/>
+ <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="todoListView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="todoListView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="todoListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+ <anchoritem dst="todoListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="allNotesAction" role="HbToolBar:addAction"/>
+ <ref object="displayCollectionsAction" role="HbToolBar:addAction"/>
+ <ref object="newTodoAction" role="HbToolBar:addAction"/>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/> -->
+ </widget>
+ <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common"/>
+ <uistate name="landscape" sections="#common"/>
+ <dummydata objectName="todoListView" section="#common" value="0"/>
+ </metadata>
+</hbdocument>
--- a/notes/notesui/bwins/notesmodelu.def Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/bwins/notesmodelu.def Fri May 14 15:51:09 2010 +0300
@@ -41,4 +41,5 @@
?populateSourceModel@NotesModel@@AAEXXZ @ 40 NONAME ; void NotesModel::populateSourceModel(void)
?dateFormatString@NotesModel@@AAE?AVQString@@XZ @ 41 NONAME ; class QString NotesModel::dateFormatString(void)
?timeFormatString@NotesModel@@AAE?AVQString@@XZ @ 42 NONAME ; class QString NotesModel::timeFormatString(void)
+ ?handleInstanceViewCreationCompleted@NotesModel@@AAEXH@Z @ 43 NONAME ; void NotesModel::handleInstanceViewCreationCompleted(int)
--- a/notes/notesui/bwins/notesviewsu.def Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/bwins/notesviewsu.def Fri May 14 15:51:09 2010 +0300
@@ -4,14 +4,18 @@
??1NotesMainView@@UAE@XZ @ 3 NONAME ; NotesMainView::~NotesMainView(void)
??0NotesFavoriteView@@QAE@PAVQGraphicsWidget@@@Z @ 4 NONAME ; NotesFavoriteView::NotesFavoriteView(class QGraphicsWidget *)
??1NotesFavoriteView@@UAE@XZ @ 5 NONAME ; NotesFavoriteView::~NotesFavoriteView(void)
- ?setupView@NotesMainView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 6 NONAME ; void NotesMainView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
- ??0NotesTodoView@@QAE@PAVQGraphicsWidget@@@Z @ 7 NONAME ; NotesTodoView::NotesTodoView(class QGraphicsWidget *)
- ??0NotesMainView@@QAE@PAVQGraphicsWidget@@@Z @ 8 NONAME ; NotesMainView::NotesMainView(class QGraphicsWidget *)
- ??1NotesTodoView@@UAE@XZ @ 9 NONAME ; NotesTodoView::~NotesTodoView(void)
- ?setupView@NotesFavoriteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 10 NONAME ; void NotesFavoriteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
- ?setupView@NotesTodoView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 11 NONAME ; void NotesTodoView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
- ??0NotesCollectionView@@QAE@PAVQGraphicsWidget@@@Z @ 12 NONAME ; NotesCollectionView::NotesCollectionView(class QGraphicsWidget *)
- ??0NotesNoteView@@QAE@PAVQGraphicsWidget@@@Z @ 13 NONAME ; NotesNoteView::NotesNoteView(class QGraphicsWidget *)
- ??1NotesNoteView@@UAE@XZ @ 14 NONAME ; NotesNoteView::~NotesNoteView(void)
- ?setupView@NotesNoteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 15 NONAME ; void NotesNoteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+ ??0NotesNoteView@@QAE@PAVQGraphicsWidget@@@Z @ 6 NONAME ; NotesNoteView::NotesNoteView(class QGraphicsWidget *)
+ ?setupView@NotesMainView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 7 NONAME ; void NotesMainView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+ ??0NotesTodoView@@QAE@PAVQGraphicsWidget@@@Z @ 8 NONAME ; NotesTodoView::NotesTodoView(class QGraphicsWidget *)
+ ??0NotesMainView@@QAE@PAVQGraphicsWidget@@@Z @ 9 NONAME ; NotesMainView::NotesMainView(class QGraphicsWidget *)
+ ??1NotesNoteView@@UAE@XZ @ 10 NONAME ; NotesNoteView::~NotesNoteView(void)
+ ?setupAfterViewReady@NotesMainView@@QAEXXZ @ 11 NONAME ; void NotesMainView::setupAfterViewReady(void)
+ ?setupView@NotesNoteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 12 NONAME ; void NotesNoteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+ ??1NotesTodoView@@UAE@XZ @ 13 NONAME ; NotesTodoView::~NotesTodoView(void)
+ ?setupView@NotesFavoriteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 14 NONAME ; void NotesFavoriteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+ ?setupView@NotesTodoView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 15 NONAME ; void NotesTodoView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+ ??0NotesCollectionView@@QAE@PAVQGraphicsWidget@@@Z @ 16 NONAME ; NotesCollectionView::NotesCollectionView(class QGraphicsWidget *)
+ ?updateTitle@NotesMainView@@QAEXXZ @ 17 NONAME ; void NotesMainView::updateTitle(void)
+ ?populateListView@NotesCollectionView@@QAEXXZ @ 18 NONAME ; void NotesCollectionView::populateListView(void)
+ ?updateTitle@NotesTodoView@@QAEXXZ @ 19 NONAME ; void NotesTodoView::updateTitle(void)
--- a/notes/notesui/eabi/notesmodelu.def Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/eabi/notesmodelu.def Fri May 14 15:51:09 2010 +0300
@@ -41,4 +41,5 @@
_ZTV25NotesSortFilterProxyModel @ 40 NONAME
_ZN10NotesModel16dateFormatStringEv @ 41 NONAME
_ZN10NotesModel16timeFormatStringEv @ 42 NONAME
+ _ZN10NotesModel35handleInstanceViewCreationCompletedEi @ 43 NONAME
--- a/notes/notesui/eabi/notesviewsu.def Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/eabi/notesviewsu.def Fri May 14 15:51:09 2010 +0300
@@ -1,52 +1,56 @@
EXPORTS
- _ZN13NotesMainView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 1 NONAME
- _ZN13NotesMainViewC1EP15QGraphicsWidget @ 2 NONAME
- _ZN13NotesMainViewC2EP15QGraphicsWidget @ 3 NONAME
- _ZN13NotesMainViewD0Ev @ 4 NONAME
- _ZN13NotesMainViewD1Ev @ 5 NONAME
- _ZN13NotesMainViewD2Ev @ 6 NONAME
- _ZN13NotesTodoView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 7 NONAME
- _ZN13NotesTodoViewC1EP15QGraphicsWidget @ 8 NONAME
- _ZN13NotesTodoViewC2EP15QGraphicsWidget @ 9 NONAME
- _ZN13NotesTodoViewD0Ev @ 10 NONAME
- _ZN13NotesTodoViewD1Ev @ 11 NONAME
- _ZN13NotesTodoViewD2Ev @ 12 NONAME
- _ZN17NotesFavoriteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 13 NONAME
- _ZN17NotesFavoriteViewC1EP15QGraphicsWidget @ 14 NONAME
- _ZN17NotesFavoriteViewC2EP15QGraphicsWidget @ 15 NONAME
- _ZN17NotesFavoriteViewD0Ev @ 16 NONAME
- _ZN17NotesFavoriteViewD1Ev @ 17 NONAME
- _ZN17NotesFavoriteViewD2Ev @ 18 NONAME
- _ZN19NotesCollectionView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 19 NONAME
- _ZN19NotesCollectionViewC1EP15QGraphicsWidget @ 20 NONAME
- _ZN19NotesCollectionViewC2EP15QGraphicsWidget @ 21 NONAME
- _ZN19NotesCollectionViewD0Ev @ 22 NONAME
- _ZN19NotesCollectionViewD1Ev @ 23 NONAME
- _ZN19NotesCollectionViewD2Ev @ 24 NONAME
- _ZThn16_N13NotesMainViewD0Ev @ 25 NONAME
- _ZThn16_N13NotesMainViewD1Ev @ 26 NONAME
- _ZThn16_N13NotesTodoViewD0Ev @ 27 NONAME
- _ZThn16_N13NotesTodoViewD1Ev @ 28 NONAME
- _ZThn16_N17NotesFavoriteViewD0Ev @ 29 NONAME
- _ZThn16_N17NotesFavoriteViewD1Ev @ 30 NONAME
- _ZThn16_N19NotesCollectionViewD0Ev @ 31 NONAME
- _ZThn16_N19NotesCollectionViewD1Ev @ 32 NONAME
- _ZThn8_N13NotesMainViewD0Ev @ 33 NONAME
- _ZThn8_N13NotesMainViewD1Ev @ 34 NONAME
- _ZThn8_N13NotesTodoViewD0Ev @ 35 NONAME
- _ZThn8_N13NotesTodoViewD1Ev @ 36 NONAME
- _ZThn8_N17NotesFavoriteViewD0Ev @ 37 NONAME
- _ZThn8_N17NotesFavoriteViewD1Ev @ 38 NONAME
- _ZThn8_N19NotesCollectionViewD0Ev @ 39 NONAME
- _ZThn8_N19NotesCollectionViewD1Ev @ 40 NONAME
- _ZN13NotesNoteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 41 NONAME
- _ZN13NotesNoteViewC1EP15QGraphicsWidget @ 42 NONAME
- _ZN13NotesNoteViewC2EP15QGraphicsWidget @ 43 NONAME
- _ZN13NotesNoteViewD0Ev @ 44 NONAME
- _ZN13NotesNoteViewD1Ev @ 45 NONAME
- _ZN13NotesNoteViewD2Ev @ 46 NONAME
- _ZThn16_N13NotesNoteViewD0Ev @ 47 NONAME
- _ZThn16_N13NotesNoteViewD1Ev @ 48 NONAME
- _ZThn8_N13NotesNoteViewD0Ev @ 49 NONAME
- _ZThn8_N13NotesNoteViewD1Ev @ 50 NONAME
+ _ZN13NotesMainView19setupAfterViewReadyEv @ 1 NONAME
+ _ZN13NotesMainView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 2 NONAME
+ _ZN13NotesMainViewC1EP15QGraphicsWidget @ 3 NONAME
+ _ZN13NotesMainViewC2EP15QGraphicsWidget @ 4 NONAME
+ _ZN13NotesMainViewD0Ev @ 5 NONAME
+ _ZN13NotesMainViewD1Ev @ 6 NONAME
+ _ZN13NotesMainViewD2Ev @ 7 NONAME
+ _ZN13NotesNoteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 8 NONAME
+ _ZN13NotesNoteViewC1EP15QGraphicsWidget @ 9 NONAME
+ _ZN13NotesNoteViewC2EP15QGraphicsWidget @ 10 NONAME
+ _ZN13NotesNoteViewD0Ev @ 11 NONAME
+ _ZN13NotesNoteViewD1Ev @ 12 NONAME
+ _ZN13NotesNoteViewD2Ev @ 13 NONAME
+ _ZN13NotesTodoView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 14 NONAME
+ _ZN13NotesTodoViewC1EP15QGraphicsWidget @ 15 NONAME
+ _ZN13NotesTodoViewC2EP15QGraphicsWidget @ 16 NONAME
+ _ZN13NotesTodoViewD0Ev @ 17 NONAME
+ _ZN13NotesTodoViewD1Ev @ 18 NONAME
+ _ZN13NotesTodoViewD2Ev @ 19 NONAME
+ _ZN17NotesFavoriteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 20 NONAME
+ _ZN17NotesFavoriteViewC1EP15QGraphicsWidget @ 21 NONAME
+ _ZN17NotesFavoriteViewC2EP15QGraphicsWidget @ 22 NONAME
+ _ZN17NotesFavoriteViewD0Ev @ 23 NONAME
+ _ZN17NotesFavoriteViewD1Ev @ 24 NONAME
+ _ZN17NotesFavoriteViewD2Ev @ 25 NONAME
+ _ZN19NotesCollectionView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 26 NONAME
+ _ZN19NotesCollectionViewC1EP15QGraphicsWidget @ 27 NONAME
+ _ZN19NotesCollectionViewC2EP15QGraphicsWidget @ 28 NONAME
+ _ZN19NotesCollectionViewD0Ev @ 29 NONAME
+ _ZN19NotesCollectionViewD1Ev @ 30 NONAME
+ _ZN19NotesCollectionViewD2Ev @ 31 NONAME
+ _ZThn16_N13NotesMainViewD0Ev @ 32 NONAME
+ _ZThn16_N13NotesMainViewD1Ev @ 33 NONAME
+ _ZThn16_N13NotesNoteViewD0Ev @ 34 NONAME
+ _ZThn16_N13NotesNoteViewD1Ev @ 35 NONAME
+ _ZThn16_N13NotesTodoViewD0Ev @ 36 NONAME
+ _ZThn16_N13NotesTodoViewD1Ev @ 37 NONAME
+ _ZThn16_N17NotesFavoriteViewD0Ev @ 38 NONAME
+ _ZThn16_N17NotesFavoriteViewD1Ev @ 39 NONAME
+ _ZThn16_N19NotesCollectionViewD0Ev @ 40 NONAME
+ _ZThn16_N19NotesCollectionViewD1Ev @ 41 NONAME
+ _ZThn8_N13NotesMainViewD0Ev @ 42 NONAME
+ _ZThn8_N13NotesMainViewD1Ev @ 43 NONAME
+ _ZThn8_N13NotesNoteViewD0Ev @ 44 NONAME
+ _ZThn8_N13NotesNoteViewD1Ev @ 45 NONAME
+ _ZThn8_N13NotesTodoViewD0Ev @ 46 NONAME
+ _ZThn8_N13NotesTodoViewD1Ev @ 47 NONAME
+ _ZThn8_N17NotesFavoriteViewD0Ev @ 48 NONAME
+ _ZThn8_N17NotesFavoriteViewD1Ev @ 49 NONAME
+ _ZThn8_N19NotesCollectionViewD0Ev @ 50 NONAME
+ _ZThn8_N19NotesCollectionViewD1Ev @ 51 NONAME
+ _ZN13NotesMainView11updateTitleEv @ 52 NONAME
+ _ZN13NotesTodoView11updateTitleEv @ 53 NONAME
+ _ZN19NotesCollectionView16populateListViewEv @ 54 NONAME
Binary file notes/notesui/noteseditor/data/translations/notes.qm has changed
--- a/notes/notesui/noteseditor/data/translations/notes.ts Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/data/translations/notes.ts Fri May 14 15:51:09 2010 +0300
@@ -534,7 +534,7 @@
</message>
<message numerus="no" id="txt_notes_button_alarm_date">
<comment>Layout ID Parent. Date Push Button in Dataform to set alarm date for a To-do note. This action opens the date picker component</comment>
- <source>%1</source>
+ <source>%2</source>
<translation variants="no" type="unfinished"></translation>
<extra-loc-layout_id>txt_notes_button_2</extra-loc-layout_id>
<extra-loc-viewid>Notes_P8</extra-loc-viewid>
@@ -602,6 +602,16 @@
<extra-loc-feature>No</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_tsw_caption_notes">
+ <comment>Notes application name in Task Switcher</comment>
+ <source>Notes</source>
+ <translation variants="no" type="unfinished"></translation>
+ <extra-loc-layout_id>txt_tsw_caption_notes</extra-loc-layout_id>
+ <extra-loc-viewid>tsw01</extra-loc-viewid>
+ <extra-loc-positionid>caption</extra-loc-positionid>
+ <extra-loc-feature>ts</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_notes_subhead_collections">
<comment>Sub title for Collections view</comment>
<source>Collections</source>
@@ -812,6 +822,16 @@
<extra-loc-feature>No</extra-loc-feature>
<extra-loc-blank>False</extra-loc-blank>
</message>
+<message numerus="no" id="txt_notes_dpopinfo_note_moved_to_todos">
+ <comment>If a plain note is marked as To-do note in the list view, the marked item disappears from the current view with a notification dialog </comment>
+ <source>Note moved to To-do's</source>
+ <translation variants="no" type="unfinished"></translation>
+ <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>
+ <extra-loc-viewid>Notes</extra-loc-viewid>
+ <extra-loc-positionid>dpopinfo</extra-loc-positionid>
+ <extra-loc-feature>No</extra-loc-feature>
+ <extra-loc-blank>False</extra-loc-blank>
+</message>
<message numerus="no" id="txt_notes_menu_mark_as_done">
<comment>Item specific menu item to mark a task as completed</comment>
<source>Mark as done</source>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/data/xml/notesnoteeditor.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="makeFavoriteAction" type="HbAction">
+ <string locid="txt_notes_opt_mark_as_favorite" name="text" value="Mark as favourite"/>
+ </object>
+ <object name="makeAsTodoAction" type="HbAction">
+ <string locid="txt_notes_opt_make_it_as_todo_note" name="text" value="Make it as To-do note"/>
+ </object>
+ <object name="discardChangesAction" type="HbAction">
+ <string locid="txt_notes_opt_discard_changes" name="text" value="Discard changes"/>
+ </object>
+ <object name="newNoteAction" type="HbAction">
+ <string locid="txt_notes_opt_new_note" name="text" value="New note"/>
+ </object>
+ <object name="deleteAction" type="HbAction">
+ <icon iconName="qtg_mono_delete" name="icon"/>
+ </object>
+ <object name="addToCalendarAction" type="HbAction">
+ <icon iconName="qtg_mono_add_to_calendar" name="icon"/>
+ </object>
+ <widget name="notesEditorView" type="HbView">
+ <widget name="noteEditorWidget" role="HbView:widget" type="HbWidget">
+ <widget name="notesEditorSubHeading" type="HbGroupBox">
+ <string name="titleText" value=" "/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="editorHeading" type="HbLabel">
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <sizehint height="var(hb-param-text-height-secondary)" type="PREFERRED" width="48un"/>
+ <string locid="txt_notes_subhead_new_note" name="plainText" value="New note"/>
+ </widget>
+ <widget name="favoriteIcon" type="HbLabel">
+ <enums name="alignment" value="AlignRight|AlignTrailing"/>
+ <sizehint height="var(hb-param-graphic-size-secondary)" type="PREFERRED" width="4un"/>
+ </widget>
+ <widget name="textEdit" type="HbTextEdit"/>
+ <layout type="anchor">
+ <anchoritem dst="notesEditorSubHeading" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="notesEditorSubHeading" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="notesEditorSubHeading" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="notesEditorSubHeading" dstEdge="BOTTOM" spacing="0un" src="textEdit" srcEdge="TOP"/>
+ <anchoritem dst="textEdit" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="textEdit" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="textEdit" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="editorHeading" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="editorHeading" dstEdge="TOP" spacing="0.5un" src="" srcEdge="TOP"/>
+ <anchoritem dst="editorHeading" dstEdge="BOTTOM" spacing="0un" src="textEdit" srcEdge="TOP"/>
+ <anchoritem dst="favoriteIcon" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="favoriteIcon" dstEdge="BOTTOM" spacing="0un" src="textEdit" srcEdge="TOP"/>
+ <anchoritem dst="favoriteIcon" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="editorHeading" srcEdge="RIGHT"/>
+ <anchoritem dst="favoriteIcon" dstEdge="TOP" spacing="0.5un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <ref object="makeAsTodoAction" role="HbMenu:addAction"/>
+ <ref object="makeFavoriteAction" role="HbMenu:addAction"/>
+ </widget>
+ <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+ <enums name="orientation" value="Horizontal"/>
+ <ref object="addToCalendarAction" role="HbToolBar:addAction"/>
+ <ref object="deleteAction" role="HbToolBar:addAction"/>
+ </widget>
+ <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/data/xml/todoeditor.docml Fri May 14 15:51:09 2010 +0300
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <widget name="todoEditorview" type="HbView">
+ <widget name="todoEditorwidget" role="HbView:widget" type="HbWidget">
+ <widget name="subHeading" type="HbGroupBox">
+ <string locid="txt_notes_subhead_new_todo" name="titleText" value="New To-do"/>
+ <bool name="collapsable" value="FALSE"/>
+ </widget>
+ <widget name="todoEditorDataForm" type="HbDataForm">
+ <string name="description" value=""/>
+ <string name="heading" value=""/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="subHeading" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="subHeading" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="subHeading" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="todoEditorDataForm" dstEdge="TOP" spacing="0un" src="subHeading" srcEdge="BOTTOM"/>
+ <anchoritem dst="todoEditorDataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="todoEditorDataForm" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="todoEditorDataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portriat" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- a/notes/notesui/noteseditor/inc/notesnoteeditor.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/inc/notesnoteeditor.h Fri May 14 15:51:09 2010 +0300
@@ -48,7 +48,6 @@
private:
void execute(AgendaEntry entry);
QString getDescription();
- bool showDeleteConfirmationQuery();
private slots:
void markNoteAsTodo();
@@ -63,6 +62,7 @@
void handleEntrySaveFromCalendar();
void handleCalendarEditorClosed();
void handleNewNoteAction();
+ void selectedAction(HbAction *action);
private:
HbView *mEditor;
@@ -77,6 +77,9 @@
QPointer<HbAction> mMarkFavouriteAction;
QPointer<HbAction> mDiscardChangesAction;
QPointer<HbAction> mNewNoteAction;
+ HbAction *mDeleteNoteAction;
+ HbAction *mCancelDeleteAction;
+ ulong mEntryId;
NotesEditorDocLoader *mDocLoader;
NotesEditorPrivate* mOwner;
--- a/notes/notesui/noteseditor/inc/notestodoeditor.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/inc/notestodoeditor.h Fri May 14 15:51:09 2010 +0300
@@ -71,7 +71,6 @@
void addMenu();
bool validAlarmSet();
void addDiscardChangesAction();
- bool showDeleteConfirmationQuery();
private slots:
void saveTodo();
@@ -80,6 +79,7 @@
void handleRemoveDescriptionAction();
void handleDeleteAction();
void handleDiscardChangesAction();
+ void selectedAction(HbAction *action);
private:
NotesEditorPrivate* mOwner;
@@ -99,7 +99,8 @@
HbAction *mDoneAction;
HbAction *mDiscardAction;
QPointer<HbAction> mDescriptionAction;
-
+ HbAction *mDeleteTodoAction;
+ HbAction *mCancelDeleteAction;
HbGroupBox *mSubHeading;
NotesEditorDocLoader *mDocLoader;
--- a/notes/notesui/noteseditor/inc/notestodoeditorcustomitem.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/inc/notestodoeditorcustomitem.h Fri May 14 15:51:09 2010 +0300
@@ -45,9 +45,11 @@
private slots:
void launchTimePicker();
void launchDatePicker();
+ void selectDueDate();
+ void selectedAction(HbAction *action);
+
+private:
void handleOkAction();
- void handleCancelAction();
- void selectDueDate();
private:
QPointer<HbDialog> mTimePickerDialog;
@@ -55,6 +57,10 @@
QPointer<HbPushButton> mTimeWidget;
QPointer<HbPushButton> mDateWidget;
QPointer<HbPushButton> mDueDateItem;
+
+ HbAction *mOkAction;
+ HbAction *mCancelAction;
+
NotesEditorPrivate* mNotesTodoeditorPvt;
bool mDueDatePickerIsActive;
--- a/notes/notesui/noteseditor/src/notesnoteeditor.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/notesnoteeditor.cpp Fri May 14 15:51:09 2010 +0300
@@ -230,7 +230,7 @@
// Set our view as the current view.
HbMainWindow *window = hbInstance->allMainWindows().first();
- HbAction *action = new HbAction(Hb::BackAction);
+ HbAction *action = new HbAction(Hb::BackNaviAction);
mEditor->setNavigationAction(action);
connect(
action, SIGNAL(triggered()),
@@ -295,19 +295,33 @@
*/
void NotesNoteEditor::deleteNote()
{
- if (showDeleteConfirmationQuery()) {
- mOwner->deleteNote();
+ HbMessageBox *confirmationQuery = new HbMessageBox(
+ HbMessageBox::MessageTypeQuestion);
+ confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+ confirmationQuery->setTimeout(HbDialog::NoTimeout);
+ confirmationQuery->setIconVisible(true);
- HbMainWindow *window = hbInstance->allMainWindows().first();
- bool status = false;
+ QString displayText;
+ displayText = displayText.append(hbTrId("txt_notes_info_delete_note"));
+
+ confirmationQuery->setText(displayText);
- // Now close the editor.
- window->removeView(mEditor);
+ // Remove the default actions.
+ QList<QAction *> defaultActions = confirmationQuery->actions();
+ for (int index=0;index<defaultActions.count();index++) {
+ confirmationQuery->removeAction(defaultActions[index]);
+ }
+ defaultActions.clear();
- mOwner->editingCompleted(status);
+ // Add delete and cancel actions.
+ mDeleteNoteAction = new HbAction(
+ hbTrId("txt_notes_button_dialog_delete"));
+ mCancelDeleteAction = new HbAction(
+ hbTrId("txt_common_button_cancel"));
+ confirmationQuery->addAction(mDeleteNoteAction);
+ confirmationQuery->addAction(mCancelDeleteAction);
- }
-
+ confirmationQuery->open(this, SLOT(selectedAction(HbAction*)));
}
/*!
@@ -526,32 +540,21 @@
}
/* !
- Show the delete confirmation query.
+ Slot to handle the selected action from delete message box.
*/
-bool NotesNoteEditor::showDeleteConfirmationQuery()
+void NotesNoteEditor::selectedAction(HbAction *action)
{
- bool retValue(false);
-
- HbMessageBox confirmationQuery(HbMessageBox::MessageTypeQuestion);
- confirmationQuery.setDismissPolicy(HbDialog::NoDismiss);
- confirmationQuery.setTimeout(HbDialog::NoTimeout);
- confirmationQuery.setIconVisible(true);
+ if (action == mDeleteNoteAction) {
+ mOwner->deleteNote();
- QString displayText;
- displayText = displayText.append(hbTrId("txt_notes_info_delete_note"));
-
- confirmationQuery.setText(displayText);
+ HbMainWindow *window = hbInstance->allMainWindows().first();
+ bool status = false;
- confirmationQuery.setPrimaryAction(new HbAction(
- hbTrId("txt_notes_button_dialog_delete"), &confirmationQuery));
- confirmationQuery.setSecondaryAction(new HbAction(
- hbTrId("txt_common_button_cancel"), &confirmationQuery));
- HbAction *selected = confirmationQuery.exec();
- if (selected == confirmationQuery.primaryAction()) {
- retValue = true;
+ // Now close the editor.
+ window->removeView(mEditor);
+
+ mOwner->editingCompleted(status);
}
-
- return retValue;
}
// End of file --Don't remove this.
--- a/notes/notesui/noteseditor/src/notestodoeditor.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/notestodoeditor.cpp Fri May 14 15:51:09 2010 +0300
@@ -32,10 +32,9 @@
#include <HbAction>
#include <HbComboBox>
#include <HbExtendedLocale>
-#include <HbDateTimePicker>
#include <HbLabel>
#include <HbPushButton>
-#include <HbCheckbox>
+#include <HbCheckBox>
#include <HbDialog>
#include <HbGroupBox>
#include <HbMessageBox>
@@ -296,7 +295,7 @@
// Store the current view and set our view as the current view.
HbMainWindow *window = hbInstance->allMainWindows().first();
- HbAction *action = new HbAction(Hb::BackAction);
+ HbAction *action = new HbAction(Hb::BackNaviAction);
mEditor->setNavigationAction(action);
connect(
action, SIGNAL(triggered()),
@@ -636,14 +635,33 @@
*/
void NotesTodoEditor::handleDeleteAction()
{
- if (showDeleteConfirmationQuery()) {
- // Delete the to-do entry.
- mOwner->deleteNote();
+ HbMessageBox *confirmationQuery = new HbMessageBox(
+ HbMessageBox::MessageTypeQuestion);
+ confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+ confirmationQuery->setTimeout(HbDialog::NoTimeout);
+ confirmationQuery->setIconVisible(true);
+
+ QString displayText;
+ displayText = displayText.append(hbTrId("txt_notes_info_delete_todo_note"));
+
+ confirmationQuery->setText(displayText);
- // Close the to-do editor.
- close();
+ // Remove the default actions.
+ QList<QAction *> defaultActions = confirmationQuery->actions();
+ for (int index=0;index<defaultActions.count();index++) {
+ confirmationQuery->removeAction(defaultActions[index]);
}
+ defaultActions.clear();
+ // Add delete and cancel actions.
+ mDeleteTodoAction = new HbAction(
+ hbTrId("txt_notes_button_dialog_delete"));
+ mCancelDeleteAction = new HbAction(
+ hbTrId("txt_common_button_cancel"));
+ confirmationQuery->addAction(mDeleteTodoAction);
+ confirmationQuery->addAction((mCancelDeleteAction));
+
+ confirmationQuery->open(this, SLOT(selectedAction(HbAction*)));
}
/*!
@@ -653,35 +671,20 @@
{
// Close the to-do editor
close();
-
}
-/* !
- Show the delete confirmation query.
+/*!
+ Slot to handle selected action in delete confirmation note.
*/
-bool NotesTodoEditor::showDeleteConfirmationQuery()
+void NotesTodoEditor::selectedAction(HbAction *action)
{
- bool retValue(false);
-
- HbMessageBox confirmationQuery(HbMessageBox::MessageTypeQuestion);
- confirmationQuery.setDismissPolicy(HbDialog::NoDismiss);
- confirmationQuery.setTimeout(HbDialog::NoTimeout);
- confirmationQuery.setIconVisible(true);
-
- QString displayText;
- displayText = displayText.append(hbTrId("txt_notes_info_delete_todo_note"));
+ if (action==mDeleteTodoAction) {
+ // Delete the to-do entry.
+ mOwner->deleteNote();
- confirmationQuery.setText(displayText);
+ // Close the to-do editor.
+ close();
+ }
+}
- confirmationQuery.setPrimaryAction(new HbAction(
- hbTrId("txt_notes_button_dialog_delete"), &confirmationQuery));
- confirmationQuery.setSecondaryAction(new HbAction(
- hbTrId("txt_common_button_cancel"), &confirmationQuery));
- HbAction *selected = confirmationQuery.exec();
- if (selected == confirmationQuery.primaryAction()) {
- retValue = true;
- }
-
- return retValue;
-}
// End of file --Don't remove this.
--- a/notes/notesui/noteseditor/src/notestodoeditorcustomitem.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/notestodoeditorcustomitem.cpp Fri May 14 15:51:09 2010 +0300
@@ -187,7 +187,7 @@
mTimePickerDialog->setHeadingWidget(timeLabel);
// Create the tumbler.
HbDateTimePicker *timePicker = new HbDateTimePicker(mTimePickerDialog);
-
+
// Set the format for time picker.
timePicker->setDisplayFormat(mNotesTodoeditorPvt->timeFormatString());
// Set the time needs to be displayed in time picker.
@@ -197,21 +197,15 @@
// Set the tumbler as the content widget.
mTimePickerDialog->setContentWidget(timePicker);
-
- HbAction *okAction = new HbAction(QString("Ok"), mTimePickerDialog);
- mTimePickerDialog->setPrimaryAction(okAction);
- connect(
- okAction, SIGNAL(triggered()),
- this, SLOT(handleOkAction()));
+ mOkAction = new HbAction(
+ hbTrId("txt_common_button_ok"), mTimePickerDialog);
+ mTimePickerDialog->addAction(mOkAction);
- HbAction *cancelAction = new HbAction(QString("Cancel"), mTimePickerDialog);
- mTimePickerDialog->setSecondaryAction(cancelAction);
+ mCancelAction = new HbAction(
+ hbTrId("txt_common_button_cancel"), mTimePickerDialog);
+ mTimePickerDialog->addAction(mCancelAction);
- connect(
- cancelAction, SIGNAL(triggered()),
- this, SLOT(handleCancelAction()));
-
- mTimePickerDialog->exec();
+ mTimePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
}
/*!
@@ -238,32 +232,90 @@
datePicker->setDateRange(QDate::fromString("01/01/1900",
mNotesTodoeditorPvt->dateFormatString()), QDate::fromString("31/12/2100",
mNotesTodoeditorPvt->dateFormatString()));
-
+
// Set the date format in date picker.
datePicker->setDisplayFormat(mNotesTodoeditorPvt->dateFormatString());
// Set the date needs to be in focus in date picker.
datePicker->setDate(QDate::fromString(mDateWidget->text(),
mNotesTodoeditorPvt->dateFormatString()));
-
+
// Set the tumbler as the content widget.
mDatePickerDialog->setContentWidget(datePicker);
+ mOkAction = new HbAction(
+ hbTrId("txt_common_button_ok"), mDatePickerDialog);
+ mDatePickerDialog->addAction(mOkAction);
- HbAction *okAction = new HbAction(QString("Ok"), mDatePickerDialog);
- mDatePickerDialog->setPrimaryAction(okAction);
- connect(
- okAction, SIGNAL(triggered()),
- this, SLOT(handleOkAction()));
+ mCancelAction = new HbAction(
+ hbTrId("txt_common_button_cancel"), mDatePickerDialog);
+ mDatePickerDialog->addAction(mCancelAction);
+
+ mDatePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
+}
+
+/*
+ Launches date picker for selecting the due date
+ */
+void NotesTodoEditorCustomItem::selectDueDate()
+{
+ if( mDueDateItem->isDown()) {
+ mDueDateItem->setDown(false);
+ return;
+ }
+
+ mDueDatePickerIsActive = true;
+
+ if (mDatePickerDialog) {
+ delete mDatePickerDialog;
+ }
+
+ // Create the dialog.
+ mDatePickerDialog = new HbDialog;
+ mDatePickerDialog->setTimeout(HbDialog::NoTimeout);
+ mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
- HbAction *cancelAction = new HbAction(QString("Cancel"), mDatePickerDialog);
- mDatePickerDialog->setSecondaryAction(cancelAction);
- connect(
- cancelAction, SIGNAL(triggered()),
- this, SLOT(handleCancelAction()));
+ // Create date picker
+ HbDateTimePicker *datePicker = new HbDateTimePicker(mDatePickerDialog);
+ // Set the min/max date for the editor.
+ datePicker->setDateRange(QDate::fromString("01/01/1900",
+ mNotesTodoeditorPvt->dateFormatString()), QDate::fromString("31/12/2100",
+ mNotesTodoeditorPvt->dateFormatString()));
+
+ // Set the format of date picker.
+ datePicker->setDisplayFormat(mNotesTodoeditorPvt->dateFormatString());
+ // Set the date needs to be displayed in datepicker.
+ datePicker->setDate(QDate::fromString(mDueDateItem->text(),
+ mNotesTodoeditorPvt->dateFormatString()));
+
+ // Set the heading text
+ HbLabel *label = new HbLabel(hbTrId("txt_notes_formlabel_due_date"));
+ mDatePickerDialog->setHeadingWidget(label);
+
+ // Set the tumbler as the content widget.
+ mDatePickerDialog->setContentWidget(datePicker);
- mDatePickerDialog->exec();
+ mOkAction = new HbAction(
+ hbTrId("txt_common_button_ok"), mDatePickerDialog);
+ mDatePickerDialog->addAction(mOkAction);
+
+ mCancelAction = new HbAction(
+ hbTrId("txt_common_button_cancel"), mDatePickerDialog);
+ mDatePickerDialog->addAction(mCancelAction);
+
+ mDatePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
}
+
+/*!
+ Slot to handle the selected action.
+ */
+void NotesTodoEditorCustomItem::selectedAction(HbAction *action)
+{
+ if (action == mOkAction) {
+ handleOkAction();
+ }
+}
+
/*!
Handles the ok action of date/time picker dialog.
*/
@@ -339,77 +391,6 @@
alarmDateItem->setContentWidgetData("alarmDate",dueDateText);
}
}
-
- handleCancelAction();
-}
-/*!
- Handles the ok action of date/time picker dialog.
- */
-void NotesTodoEditorCustomItem::handleCancelAction()
-{
- // Close the dialog.
- if (mDatePickerDialog) {
- mDatePickerDialog->close();
- mDatePickerDialog->deleteLater();
- }else {
- mTimePickerDialog->close();
- mTimePickerDialog->deleteLater();
- }
-}
-
-/*
- Launches date picker for selecting the due date
- */
-void NotesTodoEditorCustomItem::selectDueDate()
-{
- if( mDueDateItem->isDown()) {
- mDueDateItem->setDown(false);
- return;
- }
-
- mDueDatePickerIsActive = true;
-
- if (mDatePickerDialog) {
- delete mDatePickerDialog;
- }
-
- // Create the dialog.
- mDatePickerDialog = new HbDialog;
- mDatePickerDialog->setTimeout(HbDialog::NoTimeout);
- mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
-
- // Create date picker
- HbDateTimePicker *datePicker = new HbDateTimePicker(mDatePickerDialog);
- // Set the min/max date for the editor.
- datePicker->setDateRange(QDate::fromString("01/01/1900",
- mNotesTodoeditorPvt->dateFormatString()), QDate::fromString("31/12/2100",
- mNotesTodoeditorPvt->dateFormatString()));
-
- // Set the format of date picker.
- datePicker->setDisplayFormat(mNotesTodoeditorPvt->dateFormatString());
- // Set the date needs to be displayed in datepicker.
- datePicker->setDate(QDate::fromString(mDueDateItem->text(),
- mNotesTodoeditorPvt->dateFormatString()));
-
- // Set the heading text
- HbLabel *label = new HbLabel(hbTrId("txt_notes_formlabel_due_date"));
- mDatePickerDialog->setHeadingWidget(label);
-
- // Add actions to date picker
- HbAction *okAction = new HbAction(tr("Ok"));
- mDatePickerDialog->setPrimaryAction(okAction);
- connect(
- okAction, SIGNAL(triggered()),
- this, SLOT(handleOkAction()));
-
- HbAction *cancelAction = new HbAction(tr("Cancel"));
- mDatePickerDialog->setSecondaryAction(cancelAction);
- connect(
- cancelAction, SIGNAL(triggered()),
- this, SLOT(handleCancelAction()));
-
- mDatePickerDialog->setContentWidget(datePicker);
- mDatePickerDialog->exec();
}
// End of file --Don't delete.
--- a/notes/notesui/notesmodel/inc/notesmodel.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesmodel/inc/notesmodel.h Fri May 14 15:51:09 2010 +0300
@@ -55,6 +55,7 @@
void populateSourceModel(QList<ulong> ids);
void addEntryToModel(ulong id);
void removeEntryFromModel(ulong id);
+ void handleInstanceViewCreationCompleted(int status);
private:
void modifyEntryInModel(ulong id, int row);
--- a/notes/notesui/notesmodel/src/notesmodel.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesmodel/src/notesmodel.cpp Fri May 14 15:51:09 2010 +0300
@@ -68,8 +68,10 @@
mAgendaUtil, SIGNAL(entryUpdated(ulong)),
this, SLOT(updateSourceModel(ulong)));
- // Populate the model in a different thread.
- QTimer::singleShot(1, this, SLOT(populateSourceModel()));
+ // Connect for instance view creation completed signal
+ connect(
+ mAgendaUtil, SIGNAL(instanceViewCreationCompleted(int)),
+ this,SLOT(handleInstanceViewCreationCompleted(int)));
}
/*!
@@ -325,6 +327,15 @@
}
/*!
+ Populate the model after instance view creation.
+ */
+void NotesModel::handleInstanceViewCreationCompleted(int status)
+{
+ Q_UNUSED(status);
+ populateSourceModel();
+}
+
+/*!
Modifies the content of a given `row' with the data of the entry given by
`id'.
--- a/notes/notesui/notesviewmanager/inc/notesviewmanager.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviewmanager/inc/notesviewmanager.h Fri May 14 15:51:09 2010 +0300
@@ -27,6 +27,7 @@
// Forward declarations
class HbMainWindow;
+class HbAction;
class NotesMainView;
class NotesModel;
class AgendaUtil;
@@ -54,11 +55,12 @@
void loadTodoView();
void loadFavoritesView();
void loadNoteView();
- bool showDeleteConfirmationQuery(ulong entryId);
private slots:
void loadOtherViews();
void deleteEntryFromView(ulong entryId);
+ void selectedAction(HbAction *action);
+ void handleInstanceViewCreationCompleted(int status);
private:
NotesAppControllerIf &mAppControllerIf;
@@ -70,6 +72,10 @@
NotesFavoriteView *mFavoriteView;
NotesNoteView *mNoteView;
+ HbAction *mDeleteAction;
+ HbAction *mCancelAction;
+ ulong mEntryId;
+
private:
Q_DISABLE_COPY(NotesViewManager)
};
--- a/notes/notesui/notesviewmanager/src/notesviewmanager.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviewmanager/src/notesviewmanager.cpp Fri May 14 15:51:09 2010 +0300
@@ -59,6 +59,10 @@
mAgendaUtil = mAppControllerIf.agendaUtil();
+ connect(
+ mAgendaUtil, SIGNAL(instanceViewCreationCompleted(int)),
+ this,SLOT(handleInstanceViewCreationCompleted(int)));
+
// Load the main view at the start up.
loadNotesMainView();
@@ -249,21 +253,12 @@
}
/*!
- Delete the entry.
- */
-void NotesViewManager::deleteEntryFromView(ulong entryId)
-{
- if (showDeleteConfirmationQuery(entryId)) {
- // Delete the given note.
- mAgendaUtil->deleteEntry(entryId);
- }
-}
-
-/*!
Loads other views from the docml file.
*/
void NotesViewManager::loadOtherViews()
{
+ mMainView->setupAfterViewReady();
+
// Load the collection view.
loadNotesCollectionView();
// Load the to-do view.
@@ -280,38 +275,71 @@
this, SLOT(loadOtherViews()));
}
-/* !
- Show the delete confirmation query.
+/*!
+ Delete the entry.
*/
-bool NotesViewManager::showDeleteConfirmationQuery(ulong noteId)
+void NotesViewManager::deleteEntryFromView(ulong entryId)
{
- bool retValue(false);
-
- HbMessageBox confirmationQuery(HbMessageBox::MessageTypeQuestion);
- confirmationQuery.setDismissPolicy(HbDialog::NoDismiss);
- confirmationQuery.setTimeout(HbDialog::NoTimeout);
- confirmationQuery.setIconVisible(true);
+ mEntryId = entryId;
+ HbMessageBox *confirmationQuery = new HbMessageBox(
+ HbMessageBox::MessageTypeQuestion);
+ confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+ confirmationQuery->setTimeout(HbDialog::NoTimeout);
+ confirmationQuery->setIconVisible(true);
QString displayText;
QString x;
- AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+ AgendaEntry entry = mAgendaUtil->fetchById(entryId);
if (AgendaEntry::TypeTodo == entry.type()) {
displayText += hbTrId("txt_notes_info_delete_todo_note");
} else {
displayText += hbTrId("txt_notes_info_delete_note");
}
- confirmationQuery.setText(displayText);
+ confirmationQuery->setText(displayText);
+
+ // Remove the default actions.
+ QList<QAction *> defaultActions = confirmationQuery->actions();
+ for (int index=0;index<defaultActions.count();index++) {
+ confirmationQuery->removeAction(defaultActions[index]);
+ }
+ defaultActions.clear();
+
+ // Add delete and cancel actions
+ mDeleteAction = new HbAction(hbTrId("txt_notes_button_dialog_delete"));
+ mCancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
+
+ confirmationQuery->addAction(mDeleteAction);
+ confirmationQuery->addAction(mCancelAction);
+
+ confirmationQuery->open(this, SLOT(selectedAction(HbAction*)));
+}
- confirmationQuery.setPrimaryAction(new HbAction(
- hbTrId("txt_notes_button_dialog_delete"), &confirmationQuery));
- confirmationQuery.setSecondaryAction(new HbAction(
- hbTrId("txt_common_button_cancel"), &confirmationQuery));
- HbAction *selected = confirmationQuery.exec();
- if (selected == confirmationQuery.primaryAction()) {
- retValue = true;
+/*!
+ Slot to handle the delete action
+ */
+void NotesViewManager::selectedAction(HbAction *action)
+{
+ if (action == mDeleteAction) {
+ // Delete the given note.
+ mAgendaUtil->deleteEntry(mEntryId);
}
+}
- return retValue;
+/*!
+ Slot to handle instance view creation complete.
+ */
+void NotesViewManager::handleInstanceViewCreationCompleted(int status)
+{
+ Q_UNUSED(status)
+
+ // Update the title for main view.
+ mMainView->updateTitle();
+
+ // Populate collections view.
+ mCollectionView->populateListView();
+
+ // Update the title for to-do view.
+ mTodoView->updateTitle();
}
// End of file --Don't remove this.
--- a/notes/notesui/notesviews/inc/notescollectionview.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notescollectionview.h Fri May 14 15:51:09 2010 +0300
@@ -47,6 +47,7 @@
public:
NOTESVIEWS_EXPORT void setupView(
NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
+ NOTESVIEWS_EXPORT void populateListView();
private slots:
void displayAllNotesView();
@@ -60,7 +61,7 @@
void handleActionStateChanged();
private:
- void populateListView();
+
int todosCount();
int recentNotesCount();
--- a/notes/notesui/notesviews/inc/notesfavoriteview.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notesfavoriteview.h Fri May 14 15:51:09 2010 +0300
@@ -67,6 +67,8 @@
void handleActionStateChanged();
void handleOrientationChanged(Qt::Orientation);
void openNote();
+ void selectedMenuAction(HbAction *action);
+ void handleMenuClosed();
private:
HbListView *mListView;
@@ -87,6 +89,7 @@
NotesModel *mNotesModel;
NotesSortFilterProxyModel *mProxyModel;
NotesEditor *mNotesEditor;
+ bool mIsLongTop;
};
#endif // NOTESFAVORITEVIEW_H
--- a/notes/notesui/notesviews/inc/notesmainview.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notesmainview.h Fri May 14 15:51:09 2010 +0300
@@ -53,6 +53,9 @@
public:
NOTESVIEWS_EXPORT void setupView(
NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
+ NOTESVIEWS_EXPORT void setupAfterViewReady();
+ NOTESVIEWS_EXPORT void updateTitle();
+
signals:
void deleteEntry(ulong entryId);
@@ -74,6 +77,8 @@
void updateSubTitle(ulong id=0);
void markNoteAsTodo();
void openNote();
+ void selectedMenuAction(HbAction *action);
+ void handleMenuClosed();
private:
HbListView *mListView;
@@ -102,6 +107,7 @@
NotesSortFilterProxyModel *mProxyModel;
NotesEditor *mNotesEditor;
AgendaEventViewer *mAgendaEventViewer;
+ bool mIsLongTop;
};
#endif // NOTESMAINVIEW_H
--- a/notes/notesui/notesviews/inc/notesnoteview.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notesnoteview.h Fri May 14 15:51:09 2010 +0300
@@ -49,7 +49,7 @@
public:
NOTESVIEWS_EXPORT void setupView(
NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
-
+
signals:
void deleteEntry(ulong entryId);
@@ -67,6 +67,8 @@
void handleActionStateChanged();
void handleOrientationChanged(Qt::Orientation);
void openNote();
+ void selectedMenuAction(HbAction *action);
+ void handleMenuClosed();
private:
HbListView *mListView;
@@ -88,6 +90,7 @@
NotesModel *mNotesModel;
NotesSortFilterProxyModel *mProxyModel;
NotesEditor *mNotesEditor;
+ bool mIsLongTop;
};
#endif // NOTESNOTEVIEW_H
--- a/notes/notesui/notesviews/inc/notestodoview.h Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notestodoview.h Fri May 14 15:51:09 2010 +0300
@@ -50,7 +50,8 @@
public:
NOTESVIEWS_EXPORT void setupView(
NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
-
+ NOTESVIEWS_EXPORT void updateTitle();
+
signals:
void deleteEntry(ulong entryId);
@@ -71,6 +72,8 @@
void handleOrientationChanged(Qt::Orientation);
void updateSubTitle(ulong id=0);
void openTodo();
+ void selectedMenuAction(HbAction *action);
+ void handleMenuClosed();
private:
HbListView *mListView;
@@ -94,6 +97,7 @@
NotesSortFilterProxyModel *mProxyModel;
NotesEditor *mNotesEditor;
AgendaEventViewer *mAgendaEventViewer;
+ bool mIsLongTop;
};
#endif // NOTESTODOVIEW_H
--- a/notes/notesui/notesviews/src/notescollectionview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notescollectionview.cpp Fri May 14 15:51:09 2010 +0300
@@ -117,9 +117,6 @@
mListView, SIGNAL(activated(const QModelIndex &)),
this, SLOT(handleActivated(const QModelIndex &)));
- // Populate the content of the view.
- populateListView();
-
// Get the toolbar/menu actions.
mAllNotesAction = static_cast<HbAction *> (
mDocLoader->findObject("allNotesAction"));
@@ -158,6 +155,46 @@
}
/*!
+ Populate the content of the view.
+ */
+void NotesCollectionView::populateListView()
+{
+ QStandardItemModel *model = new QStandardItemModel(this);
+ model->setColumnCount(1);
+
+ QString countString(hbTrId("txt_notes_list_note_count"));
+
+ // Add To-do's item.
+ QStandardItem *item = new QStandardItem();
+ QStringList todoStringList;
+ todoStringList.append(hbTrId("txt_notes_list_todos"));
+ todoStringList.append(countString.arg(QString::number(todosCount())));
+ item->setData(todoStringList, Qt::DisplayRole);
+ model->appendRow(item);
+
+ // Add Favorites item.
+ item = new QStandardItem();
+ QStringList favStringList;
+ favStringList.append(hbTrId("txt_notes_list_favorites"));
+ favStringList.append(countString.arg(mFavouriteModel->rowCount()));
+ item->setData(favStringList, Qt::DisplayRole);
+ model->appendRow(item);
+
+ // Add Recent notes item.
+ item = new QStandardItem();
+ QStringList notesStringList;
+ notesStringList.append(hbTrId("txt_notes_list_plain_notes"));
+ notesStringList.append(
+ countString.arg(QString::number(recentNotesCount())));
+ item->setData(notesStringList, Qt::DisplayRole);
+ model->appendRow(item);
+
+ HbStyleLoader::registerFilePath(":/style");
+ mListView->setLayoutName("custom");
+ mListView->setModel(model);
+}
+
+/*!
Displays all notes view.
*/
void NotesCollectionView::displayAllNotesView()
@@ -315,46 +352,6 @@
mViewCollectionAction->setChecked(true);
}
-/*!
- Populate the content of the view.
- */
-void NotesCollectionView::populateListView()
-{
- QStandardItemModel *model = new QStandardItemModel(this);
- model->setColumnCount(1);
-
- QString countString(hbTrId("txt_notes_list_note_count"));
-
- // Add To-do's item.
- QStandardItem *item = new QStandardItem();
- QStringList todoStringList;
- todoStringList.append(hbTrId("txt_notes_list_todos"));
- todoStringList.append(countString.arg(QString::number(todosCount())));
- item->setData(todoStringList, Qt::DisplayRole);
- model->appendRow(item);
-
- // Add Favorites item.
- item = new QStandardItem();
- QStringList favStringList;
- favStringList.append(hbTrId("txt_notes_list_favorites"));
- favStringList.append(countString.arg(mFavouriteModel->rowCount()));
- item->setData(favStringList, Qt::DisplayRole);
- model->appendRow(item);
-
- // Add Recent notes item.
- item = new QStandardItem();
- QStringList notesStringList;
- notesStringList.append(hbTrId("txt_notes_list_plain_notes"));
- notesStringList.append(
- countString.arg(QString::number(recentNotesCount())));
- item->setData(notesStringList, Qt::DisplayRole);
- model->appendRow(item);
-
- HbStyleLoader::registerFilePath(":/style");
- mListView->setLayoutName("custom");
- mListView->setModel(model);
-}
-
/*!
Returns the todos count
--- a/notes/notesui/notesviews/src/notesfavoriteview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notesfavoriteview.cpp Fri May 14 15:51:09 2010 +0300
@@ -30,6 +30,7 @@
#include <HbAbstractViewItem>
#include <HbGroupBox>
#include <HbListViewItem>
+#include <HbNotificationDialog>
// User includes
#include "notesfavoriteview.h"
@@ -56,7 +57,8 @@
NotesFavoriteView::NotesFavoriteView(QGraphicsWidget *parent)
:HbView(parent),
mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false)
{
// Nothing yet.
}
@@ -176,35 +178,37 @@
*/
void NotesFavoriteView::handleItemReleased(const QModelIndex &index)
{
- // Sanity check.
- if (!index.isValid()) {
- return;
- }
+ if (!mIsLongTop) {
+ // Sanity check.
+ if (!index.isValid()) {
+ return;
+ }
- // First get the id of the note and get the corresponding information from
- // agendautil.
- ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+ // First get the id of the note and get the corresponding information from
+ // agendautil.
+ ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
- if (0 >= noteId) {
- // Something wrong.
- return;
- }
+ if (0 >= noteId) {
+ // Something wrong.
+ return;
+ }
- // Get the entry details.
- AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+ // Get the entry details.
+ AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+
+ if (entry.isNull()) {
- if (entry.isNull()) {
+ // Entry invalid.
+ return;
+ }
- // Entry invalid.
- return;
+ // Now launch the editor with the obtained info.
+ mNotesEditor = new NotesEditor(mAgendaUtil, this);
+ connect(
+ mNotesEditor, SIGNAL(editingCompleted(bool)),
+ this, SLOT(handleEditingCompleted(bool)));
+ mNotesEditor->edit(entry);
}
-
- // Now launch the editor with the obtained info.
- mNotesEditor = new NotesEditor(mAgendaUtil, this);
- connect(
- mNotesEditor, SIGNAL(editingCompleted(bool)),
- this, SLOT(handleEditingCompleted(bool)));
- mNotesEditor->edit(entry);
}
/*!
@@ -219,6 +223,7 @@
HbAbstractViewItem *item, const QPointF &coords)
{
mSelectedItem = item;
+ mIsLongTop = true;
// Get the entry of the selected item.
ulong noteId = item->modelIndex().data(
@@ -227,37 +232,28 @@
// Display a context specific menu.
HbMenu *contextMenu = new HbMenu();
+ connect(
+ contextMenu,SIGNAL(aboutToClose()),
+ this, SLOT(handleMenuClosed()));
// Add actions to the context menu.
mOpenAction =
contextMenu->addAction(hbTrId("txt_common_menu_open"));
- connect(
- mOpenAction, SIGNAL(triggered()),
- this, SLOT(openNote()));
mDeleteAction =
contextMenu->addAction(hbTrId("txt_common_menu_delete"));
- connect(
- mDeleteAction, SIGNAL(triggered()),
- this, SLOT(deleteNote()));
mRemoveFavoriteAction =
contextMenu->addAction(
hbTrId("txt_notes_menu_remove_from_favorites"));
- connect(
- mRemoveFavoriteAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsNotFavourite()));
-
mMarkTodoAction =
contextMenu->addAction(
hbTrId("txt_notes_menu_make_it_as_todo_note"));
- connect(
- mMarkTodoAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsTodo()));
// Show the menu.
- contextMenu->exec(coords);
+ contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+ contextMenu->setPreferredPos(coords);
}
/*!
@@ -352,6 +348,14 @@
// Delete the old entry.
mAgendaUtil->deleteEntry(entry.id());
+
+ // Show the soft notification.
+ HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+ notificationDialog->setTimeout(
+ HbNotificationDialog::ConfirmationNoteTimeout);
+ notificationDialog->setTitle(
+ hbTrId("txt_notes_dpopinfo_note_moved_to_todos"));
+ notificationDialog->show();
}
/*!
@@ -430,5 +434,29 @@
// Launch the notes editor with the obtained info.
mNotesEditor->edit(entry);
}
+
+/*
+ Slot to handle the context menu actions.
+ */
+void NotesFavoriteView::selectedMenuAction(HbAction *action)
+{
+ if(action == mOpenAction) {
+ openNote();
+ } else if (action == mDeleteAction) {
+ deleteNote();
+ } else if (action ==mRemoveFavoriteAction){
+ markNoteAsNotFavourite();
+ } else if (action == mMarkTodoAction) {
+ markNoteAsTodo();
+ }
+}
+
+/*!
+ Slot to handle the context menu closed.
+ */
+void NotesFavoriteView::handleMenuClosed()
+{
+ mIsLongTop = false;
+}
// End of file --Don't remove this.
--- a/notes/notesui/notesviews/src/notesmainview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notesmainview.cpp Fri May 14 15:51:09 2010 +0300
@@ -57,7 +57,8 @@
NotesMainView::NotesMainView(QGraphicsWidget *parent)
:HbView(parent),
mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false)
{
// Nothing yet.
}
@@ -122,9 +123,26 @@
this, SLOT(scrollTo(QModelIndex)));
// Get the view heading label
- mViewHeading = static_cast<HbLabel *> (
+/* mViewHeading = static_cast<HbLabel *> (
+ mDocLoader->findWidget("viewHeading"));*/
+
+ mSubTitle = static_cast<HbGroupBox *>(
mDocLoader->findWidget("viewHeading"));
+ // Handles the orientation change for list items
+ HbMainWindow *window = hbInstance->allMainWindows().first();
+ handleOrientationChanged(window->orientation());
+ connect(
+ window, SIGNAL(orientationChanged(Qt::Orientation)),
+ this, SLOT(handleOrientationChanged(Qt::Orientation)));
+
+ // Set the graphics size for the icons.
+ HbListViewItem *prototype = mListView->listItemPrototype();
+ prototype->setGraphicsSize(HbListViewItem::SmallIcon);
+}
+
+void NotesMainView::setupAfterViewReady()
+{
// Get the toolbar/menu actions.
mAddNoteAction = static_cast<HbAction *> (
mDocLoader->findObject("newNoteAction"));
@@ -159,19 +177,6 @@
mViewCollectionAction, SIGNAL(triggered()),
this, SLOT(displayCollectionView()));
- mSubTitle = static_cast<HbGroupBox *>(
- mDocLoader->findWidget("viewHeading"));
-
- // Handles the orientation change for list items
- HbMainWindow *window = hbInstance->allMainWindows().first();
- handleOrientationChanged(window->orientation());
- connect(
- window, SIGNAL(orientationChanged(Qt::Orientation)),
- this, SLOT(handleOrientationChanged(Qt::Orientation)));
-
- // Update sub heading text for main view.
- updateSubTitle();
-
connect(
mAgendaUtil, SIGNAL(entryAdded(ulong)),
this,SLOT(updateSubTitle(ulong)));
@@ -181,10 +186,14 @@
connect(
mAgendaUtil, SIGNAL(entryUpdated(ulong)),
this, SLOT(updateSubTitle(ulong)));
+}
- // Set the graphics size for the icons.
- HbListViewItem *prototype = mListView->listItemPrototype();
- prototype->setGraphicsSize(HbListViewItem::SmallIcon);
+/*
+ Updates the title text for the first launch
+ */
+void NotesMainView::updateTitle()
+{
+ updateSubTitle();
}
/*!
@@ -212,46 +221,48 @@
*/
void NotesMainView::handleItemReleased(const QModelIndex &index)
{
- // Sanity check.
- if (!index.isValid()) {
- return;
- }
+ if(!mIsLongTop) {
+ // Sanity check.
+ if (!index.isValid()) {
+ return;
+ }
- // First get the id of the note and get the corresponding information from
- // agendautil.
- ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+ // First get the id of the note and get the corresponding information from
+ // agendautil.
+ ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
- if (0 >= noteId) {
- // Something wrong.
- return;
- }
+ if (0 >= noteId) {
+ // Something wrong.
+ return;
+ }
- // Get the entry details.
- AgendaEntry entry = mAgendaUtil->fetchById(noteId);
- if (entry.isNull()) {
- // Entry invalid.
- return;
- }
+ // Get the entry details.
+ AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+ if (entry.isNull()) {
+ // Entry invalid.
+ return;
+ }
- if(AgendaEntry::TypeTodo == entry.type()) {
- // Construct agenda event viewer.
- mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
+ if(AgendaEntry::TypeTodo == entry.type()) {
+ // Construct agenda event viewer.
+ mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
- connect(
- mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
- this, SLOT(handleViewingCompleted()));
- // Launch agenda event viewer
- mAgendaEventViewer->view(
- entry, AgendaEventViewer::ActionEditDelete);
- }else if(AgendaEntry::TypeNote == entry.type()) {
- // Construct notes editor.
- mNotesEditor = new NotesEditor(mAgendaUtil, this);
- connect(
- mNotesEditor, SIGNAL(editingCompleted(bool)),
- this, SLOT(handleEditingCompleted(bool)));
+ connect(
+ mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
+ this, SLOT(handleViewingCompleted()));
+ // Launch agenda event viewer
+ mAgendaEventViewer->view(
+ entry, AgendaEventViewer::ActionEditDelete);
+ }else if(AgendaEntry::TypeNote == entry.type()) {
+ // Construct notes editor.
+ mNotesEditor = new NotesEditor(mAgendaUtil, this);
+ connect(
+ mNotesEditor, SIGNAL(editingCompleted(bool)),
+ this, SLOT(handleEditingCompleted(bool)));
- // Launch the notes editor with the obtained info.
- mNotesEditor->edit(entry);
+ // Launch the notes editor with the obtained info.
+ mNotesEditor->edit(entry);
+ }
}
}
@@ -266,6 +277,7 @@
void NotesMainView::handleItemLongPressed(
HbAbstractViewItem *item, const QPointF &coords)
{
+ mIsLongTop = true;
mSelectedItem = item;
ulong noteId = item->modelIndex().data(
@@ -274,74 +286,48 @@
// Display a context specific menu.
HbMenu *contextMenu = new HbMenu();
+ connect(
+ contextMenu,SIGNAL(aboutToClose()),
+ this, SLOT(handleMenuClosed()));
+
mOpenAction =
contextMenu->addAction(hbTrId("txt_common_menu_open"));
- connect(
- mOpenAction, SIGNAL(triggered()),
- this, SLOT(openNote()));
// Add actions to the context menu.
if (AgendaEntry::TypeTodo == entry.type()) {
mEditTodoAction =
contextMenu->addAction(hbTrId("txt_common_menu_edit"));
- connect(
- mEditTodoAction, SIGNAL(triggered()),
- this, SLOT(editTodo()));
}
mDeleteAction =
contextMenu->addAction(hbTrId("txt_common_menu_delete"));
- connect(
- mDeleteAction, SIGNAL(triggered()),
- this, SLOT(deleteNote()));
if (AgendaEntry::TypeNote == entry.type()) {
if (entry.favourite()) {
mMakeFavouriteAction = contextMenu->addAction(
hbTrId("txt_notes_menu_remove_from_favorites"));
-
- connect(
- mMakeFavouriteAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsFavourite()));
-
} else {
mMakeFavouriteAction = contextMenu->addAction(
hbTrId("txt_notes_menu_mark_as_favorite"));
-
- connect(
- mMakeFavouriteAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsFavourite()));
}
mMarkTodoAction =
contextMenu->addAction(
hbTrId("txt_notes_menu_make_it_as_todo_note"));
- connect(
- mMarkTodoAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsTodo()));
} else if (AgendaEntry::TypeTodo == entry.type()) {
if (AgendaEntry::TodoNeedsAction == entry.status()) {
mTodoStatusAction = contextMenu->addAction(
hbTrId("txt_notes_menu_mark_as_done"));
-
- connect(
- mTodoStatusAction , SIGNAL(triggered()),
- this, SLOT(markTodoStatus()));
-
} else if (AgendaEntry::TodoCompleted == entry.status()) {
mTodoStatusAction = contextMenu->addAction(
hbTrId("txt_notes_menu_mark_as_not_done"));
-
- connect(
- mTodoStatusAction , SIGNAL(triggered()),
- this, SLOT(markTodoStatus()));
}
}
// Show the menu.
- contextMenu->exec(coords);
-
+ contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+ contextMenu->setPreferredPos(coords);
}
/*!
@@ -453,10 +439,7 @@
*/
void NotesMainView::handleViewingCompleted()
{
-
-
mAgendaEventViewer->deleteLater();
-
}
/*!
@@ -473,7 +456,6 @@
void NotesMainView::editTodo()
{
-
// Get the selected list item index
QModelIndex index = mSelectedItem->modelIndex();
if (!index.isValid()) {
@@ -619,4 +601,33 @@
entry, AgendaEventViewer::ActionEditDelete);
}
}
+
+/*!
+ Slot to handle the selected context menu actions
+ */
+void NotesMainView::selectedMenuAction(HbAction *action)
+{
+ if (action == mOpenAction) {
+ openNote();
+ } else if (action == mEditTodoAction) {
+ editTodo();
+ } else if (action == mDeleteAction) {
+ deleteNote();
+ } else if (action == mMakeFavouriteAction) {
+ markNoteAsFavourite();
+ } else if (action == mMarkTodoAction) {
+ markNoteAsTodo();
+ } else if (action == mTodoStatusAction) {
+ markTodoStatus();
+ }
+}
+
+/*!
+ Slot to handle the context menu closed.
+ */
+void NotesMainView::handleMenuClosed()
+{
+ mIsLongTop = false;
+}
+
// End of file --Don't remove this.
--- a/notes/notesui/notesviews/src/notesnoteview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notesnoteview.cpp Fri May 14 15:51:09 2010 +0300
@@ -26,6 +26,7 @@
#include <HbGroupBox>
#include <HbListViewItem>
#include <HbInstance>
+#include <HbNotificationDialog>
// User includes
#include "notesnoteview.h"
@@ -53,7 +54,8 @@
NotesNoteView::NotesNoteView(QGraphicsWidget *parent)
:HbView(parent),
mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false)
{
// Nothing yet.
}
@@ -170,34 +172,36 @@
*/
void NotesNoteView::handleItemReleased(const QModelIndex &index)
{
- // Sanity check.
- if (!index.isValid()) {
- return;
- }
+ if(!mIsLongTop) {
+ // Sanity check.
+ if (!index.isValid()) {
+ return;
+ }
- // First get the id of the note and get the corresponding information from
- // agendautil.
- ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+ // First get the id of the note and get the corresponding information from
+ // agendautil.
+ ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
- if (0 >= noteId) {
- // Something wrong.
- return;
- }
+ if (0 >= noteId) {
+ // Something wrong.
+ return;
+ }
- // Get the entry details.
- AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+ // Get the entry details.
+ AgendaEntry entry = mAgendaUtil->fetchById(noteId);
- if (entry.isNull()) {
- // Entry invalid.
- return;
+ if (entry.isNull()) {
+ // Entry invalid.
+ return;
+ }
+
+ // Now launch the editor with the obtained info.
+ mNotesEditor = new NotesEditor(mAgendaUtil, this);
+ connect(
+ mNotesEditor, SIGNAL(editingCompleted(bool)),
+ this, SLOT(handleEditingCompleted(bool)));
+ mNotesEditor->edit(entry);
}
-
- // Now launch the editor with the obtained info.
- mNotesEditor = new NotesEditor(mAgendaUtil, this);
- connect(
- mNotesEditor, SIGNAL(editingCompleted(bool)),
- this, SLOT(handleEditingCompleted(bool)));
- mNotesEditor->edit(entry);
}
/*!
@@ -212,6 +216,7 @@
HbAbstractViewItem *item, const QPointF &coords)
{
mSelectedItem = item;
+ mIsLongTop = true;
ulong noteId = item->modelIndex().data(
NotesNamespace::IdRole).value<qulonglong>();
@@ -219,48 +224,32 @@
// Display a context specific menu.
HbMenu *contextMenu = new HbMenu();
+ connect(
+ contextMenu,SIGNAL(aboutToClose()),
+ this, SLOT(handleMenuClosed()));
// Add actions to the context menu.
mOpenAction =
contextMenu->addAction(hbTrId("txt_common_menu_open"));
- connect(
- mOpenAction, SIGNAL(triggered()),
- this, SLOT(openNote()));
mDeleteAction =
contextMenu->addAction(hbTrId("txt_common_menu_delete"));
- connect(
- mDeleteAction, SIGNAL(triggered()),
- this, SLOT(deleteNote()));
if (AgendaEntry::TypeNote == entry.type()) {
if (entry.favourite()) {
- mMakeFavouriteAction =
- contextMenu->addAction(
+ mMakeFavouriteAction = contextMenu->addAction(
hbTrId("txt_notes_menu_remove_from_favorites"));
-
- connect(
- mMakeFavouriteAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsFavourite()));
-
} else {
- mMakeFavouriteAction =
- contextMenu->addAction(
+ mMakeFavouriteAction = contextMenu->addAction(
hbTrId("txt_notes_menu_mark_as_favorite"));
-
- connect(
- mMakeFavouriteAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsFavourite()));
}
mMarkTodoAction = contextMenu->addAction(
hbTrId("txt_notes_menu_make_it_as_todo_note"));
- connect(
- mMarkTodoAction, SIGNAL(triggered()),
- this, SLOT(markNoteAsTodo()));
}
// Show the menu.
- contextMenu->exec(coords);
+ contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+ contextMenu->setPreferredPos(coords);
}
/*!
@@ -357,6 +346,13 @@
// Delete the old entry.
mAgendaUtil->deleteEntry(entry.id());
+ // Show the soft notification.
+ HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+ notificationDialog->setTimeout(
+ HbNotificationDialog::ConfirmationNoteTimeout);
+ notificationDialog->setTitle(
+ hbTrId("txt_notes_dpopinfo_note_moved_to_todos"));
+ notificationDialog->show();
}
/*!
@@ -437,5 +433,29 @@
// Launch the notes editor with the obtained info.
mNotesEditor->edit(entry);
}
+
+/*!
+ Slot to handle context menu actions.
+ */
+void NotesNoteView::selectedMenuAction(HbAction *action)
+{
+ if (action == mOpenAction) {
+ openNote();
+ } else if (action == mDeleteAction) {
+ deleteNote();
+ } else if (action == mMakeFavouriteAction) {
+ markNoteAsFavourite();
+ } else if (action == mMarkTodoAction) {
+ markNoteAsTodo();
+ }
+}
+
+/*!
+ Slot to handle the context menu closed.
+ */
+void NotesNoteView::handleMenuClosed()
+{
+ mIsLongTop = false;
+}
// End of file --Don't remove this.
--- a/notes/notesui/notesviews/src/notestodoview.cpp Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notestodoview.cpp Fri May 14 15:51:09 2010 +0300
@@ -57,7 +57,8 @@
NotesTodoView::NotesTodoView(QGraphicsWidget *parent)
:HbView(parent),
mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false)
{
// Nothing yet.
}
@@ -149,9 +150,6 @@
mSubTitle = static_cast<HbGroupBox *>(
mDocLoader->findWidget("subtitleGroupBox"));
- // Update sub heading text for to-do collections view.
- updateSubTitle();
-
connect(
mAgendaUtil, SIGNAL(entryAdded(ulong)),
this,SLOT(updateSubTitle(ulong)));
@@ -167,6 +165,14 @@
prototype->setGraphicsSize(HbListViewItem::SmallIcon);
}
+/*
+ Updates the title text for the first launch
+ */
+void NotesTodoView::updateTitle()
+{
+ updateSubTitle();
+}
+
/*!
Opens the to-do editor to create a new to-do.
*/
@@ -190,28 +196,30 @@
*/
void NotesTodoView::handleItemReleased(const QModelIndex &index)
{
- // Sanity check.
- if (!index.isValid()) {
- return;
- }
+ if(!mIsLongTop) {
+ // Sanity check.
+ if (!index.isValid()) {
+ return;
+ }
- // First get the id of the to-do and get the corresponding information from
- // agendautil.
- ulong toDoId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+ // First get the id of the to-do and get the corresponding information from
+ // agendautil.
+ ulong toDoId = index.data(NotesNamespace::IdRole).value<qulonglong>();
- if (0 >= toDoId) {
- // Something wrong.
- return;
- }
+ if (0 >= toDoId) {
+ // Something wrong.
+ return;
+ }
- // Construct agenda event viewer.
- mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
+ // Construct agenda event viewer.
+ mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
- connect(
- mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
- this, SLOT(handleViewingCompleted()));
- // Launch agenda event viewer
- mAgendaEventViewer->view(toDoId, AgendaEventViewer::ActionEditDelete);
+ connect(
+ mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
+ this, SLOT(handleViewingCompleted()));
+ // Launch agenda event viewer
+ mAgendaEventViewer->view(toDoId, AgendaEventViewer::ActionEditDelete);
+ }
}
/*!
@@ -226,6 +234,7 @@
HbAbstractViewItem *item, const QPointF &coords)
{
mSelectedItem = item;
+ mIsLongTop = true;
// Get the entry of the selected item.
ulong noteId = item->modelIndex().data(
@@ -234,46 +243,34 @@
// Display a context specific menu.
HbMenu *contextMenu = new HbMenu();
+ connect(
+ contextMenu,SIGNAL(aboutToClose()),
+ this, SLOT(handleMenuClosed()));
// Add actions to the context menu.
mOpenAction =
contextMenu->addAction(hbTrId("txt_common_menu_open"));
- connect(
- mOpenAction, SIGNAL(triggered()),
- this, SLOT(openTodo()));
mEditAction = contextMenu->addAction(
hbTrId("txt_common_menu_edit"));
- connect(
- mEditAction, SIGNAL(triggered()),
- this, SLOT(editTodo()));
mDeleteAction = contextMenu->addAction(
hbTrId("txt_common_menu_delete"));
- connect(
- mDeleteAction, SIGNAL(triggered()),
- this, SLOT(deleteTodo()));
if (AgendaEntry::TypeTodo == entry.type()) {
if (AgendaEntry::TodoNeedsAction == entry.status()) {
mTodoStatusAction = contextMenu->addAction(
hbTrId("txt_notes_menu_mark_as_done"));
- connect(
- mTodoStatusAction , SIGNAL(triggered()),
- this, SLOT(markTodoStatus()));
-
} else if (AgendaEntry::TodoCompleted == entry.status()) {
mTodoStatusAction =
contextMenu->addAction(
hbTrId("txt_notes_menu_mark_as_not_done"));
- connect(
- mTodoStatusAction , SIGNAL(triggered()),
- this, SLOT(markTodoStatus()));
}
}
// Show the menu.
- contextMenu->exec(coords);
+ contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+ contextMenu->setPreferredPos(coords);
}
/*!
@@ -465,4 +462,28 @@
entry, AgendaEventViewer::ActionEditDelete);
}
+/*
+ Slot to handle the context menu actions.
+ */
+void NotesTodoView::selectedMenuAction(HbAction *action)
+{
+ if (action == mOpenAction) {
+ openTodo();
+ } else if (action == mEditAction) {
+ editTodo();
+ } else if (action == mDeleteAction) {
+ deleteTodo();
+ } else if (action == mTodoStatusAction) {
+ markTodoStatus();
+ }
+}
+
+
+/*!
+ Slot to handle the context menu closed.
+ */
+void NotesTodoView::handleMenuClosed()
+{
+ mIsLongTop = false;
+}
// End of file --Don't remove this.
--- a/organizer_plat/agenda_interface_api/inc/agendautil.h Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_interface_api/inc/agendautil.h Fri May 14 15:51:09 2010 +0300
@@ -120,6 +120,8 @@
void entryDeleted(ulong id);
void entryUpdated(ulong id);
void entriesDeleted(int status);
+ void entryViewCreationCompleted(int status);
+ void instanceViewCreationCompleted(int status);
private:
friend class AgendaUtilPrivate;
--- a/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/src/unittest_caleneditor.cpp Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/src/unittest_caleneditor.cpp Fri May 14 15:51:09 2010 +0300
@@ -2,7 +2,7 @@
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
+ * under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
--- a/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/unittest_caleneditor.pro Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/unittest_caleneditor.pro Fri May 14 15:51:09 2010 +0300
@@ -2,7 +2,7 @@
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
+# under the terms of "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
--- a/organizer_plat/calendar_exporter_api/inc/CalenExporter.h Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_exporter_api/inc/CalenExporter.h Fri May 14 15:51:09 2010 +0300
@@ -25,7 +25,7 @@
#include <e32base.h>
#include <f32file.h> // for TParse
#include <s32mem.h>
-#include <agnexportobserver.h>
+#include <AgnExportObserver.h>
// FORWARD DECLARATIONS
--- a/organizer_plat/calendar_importer_api/inc/CalenImporter.h Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_importer_api/inc/CalenImporter.h Fri May 14 15:51:09 2010 +0300
@@ -23,7 +23,7 @@
// INCLUDES
#include <e32base.h>
#include <f32file.h>
-#include <agnimportobserver.h>
+#include <AgnImportObserver.h>
--- a/pimappservices/calendar/client/src/calentryimpl.cpp Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/client/src/calentryimpl.cpp Fri May 14 15:51:09 2010 +0300
@@ -1510,8 +1510,6 @@
void CCalEntryImpl::SetDTStampL(const TCalTime& aDTStampTime)
{
- __ASSERT_ALWAYS( EntryTypeL() != CCalEntry::ENote,
- User::Leave(KErrNotSupported));
LoadFullEntryL();
iFullEntry->SetDTStampUtcL(aDTStampTime.TimeUtcL());
}
--- a/pimappservices/calendar/tsrc/tcal_dataexchange.cpp Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/tsrc/tcal_dataexchange.cpp Fri May 14 15:51:09 2010 +0300
@@ -133,7 +133,7 @@
_LIT(KSUMMARY, "First Entry");
_LIT(KAttachmentFile, "tcal_datax_attachment.vcs");
_LIT(KAttachmentCidFile, "c:\\calendar_attachments\\tcal_attach.jpg");
-_LIT(KCalendarAttachmentsDir, "c:\\private\\10003a5b\\attachments");
+
_LIT8(KTzEuropeHelsinki, "Europe/Helsinki");
_LIT8(KTzAmericaVancouver, "America/Vancouver");
--- a/pimappservices/calendar/tsrc/tcal_dataexchange.mmp Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/tsrc/tcal_dataexchange.mmp Fri May 14 15:51:09 2010 +0300
@@ -22,8 +22,10 @@
SOURCE tcal_dataexchange.cpp
USERINCLUDE .
+APP_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include
+
LIBRARY calinterimapi.lib
LIBRARY euser.lib estor.lib efsrv.lib caltestlib.lib
LIBRARY pimtestclient.lib
--- a/pimappservices/calendarvcalplugin/src/agmvcalx.cpp Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendarvcalplugin/src/agmvcalx.cpp Fri May 14 15:51:09 2010 +0300
@@ -437,9 +437,10 @@
// DTSTAMP
TCalTime dTStamp = aEntry->DTStampL();
-
- if ( dTStamp.TimeUtcL() != Time::NullTTime() )
- {
+
+ if ( dTStamp.TimeUtcL() != Time::NullTTime() &&
+ CCalEntry::ENote != aEntry->EntryTypeL() )
+ {
AddDateTimePropertyL(aParser, KVersitTokenXDTSTAMP, dTStamp.TimeUtcL(), TVersitDateTime::EIsUTC, iTimeFlag);
}
--- a/pimappsupport/chinesecalendaralg/test/group/calcontable.mmp Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/chinesecalendaralg/test/group/calcontable.mmp Fri May 14 15:51:09 2010 +0300
@@ -22,6 +22,8 @@
SOURCE calcontable.cpp
USERINCLUDE ../../calcontablesrc
USERINCLUDE ../../originalinc
+
+APP_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include
LIBRARY euser.lib efsrv.lib cconoriginal.lib charconv.lib
--- a/pimappsupport/vcardandvcal/Ticket/VTicket.MMP Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/Ticket/VTicket.MMP Fri May 14 15:51:09 2010 +0300
@@ -22,6 +22,7 @@
SOURCEPATH ../Ticket
userinclude ../inc
+APP_LAYER_SYSTEMINCLUDE
systeminclude /epoc32/include
source VTicketMaster.CPP
--- a/pimappsupport/vcardandvcal/tsrc/TJapaneseSoundProperty.mmp Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/tsrc/TJapaneseSoundProperty.mmp Fri May 14 15:51:09 2010 +0300
@@ -21,7 +21,9 @@
sourcepath .
userinclude .
-userinclude ../inc
+userinclude ../inc
+
+APP_LAYER_SYSTEMINCLUDE
systeminclude /epoc32/include
source TJapaneseSoundProperty.cpp
--- a/pimappsupport/vcardandvcal/tsrc/Test_saveloadbinoom.mmp Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/tsrc/Test_saveloadbinoom.mmp Fri May 14 15:51:09 2010 +0300
@@ -23,6 +23,7 @@
userinclude ../tsrc
userinclude ../inc
+APP_LAYER_SYSTEMINCLUDE
systeminclude /epoc32/include
source Test_saveloadbinoom.cpp
library euser.lib estor.lib efsrv.lib
--- a/pimappsupport/vcardandvcal/tsrc/UnitTest_PBAPSupport/group/TestExternalize.mmp Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/tsrc/UnitTest_PBAPSupport/group/TestExternalize.mmp Fri May 14 15:51:09 2010 +0300
@@ -21,6 +21,8 @@
SOURCEPATH ../src
USERINCLUDE ../inc
USERINCLUDE ../../../inc
+
+APP_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include
SOURCE TestExternalize.cpp