[meego-packaging] [meego-commits] 20494: Changes to MeeGo:1.2:oss:Testing/meego-app-calendar

Zhu, Peter J peter.j.zhu at intel.com
Wed Jun 15 13:18:13 PDT 2011


Sirisha,

You seem missed this thread. Your latest sr didn't fix this ye

Peter

> -----Original Message-----
> From: meego-packaging-bounces at meego.com
> [mailto:meego-packaging-bounces at meego.com] On Behalf Of Zhu, Peter J
> Sent: Saturday, June 11, 2011 9:29 PM
> To: meego-packaging at meego.com
> Subject: Re: [meego-packaging] [meego-commits] 20494: Changes to
> MeeGo:1.2:oss:Testing/meego-app-calendar
>
> Why does it still have below ?
>   Requires mkcal
>   BuildRequires: pkgconfig(libmkcal)
>   BuildRequires:  pkgconfig(timed)
>
> Peter
>
> > -----Original Message-----
> > From: meego-commits-bounces at meego.com
> > [mailto:meego-commits-bounces at meego.com] On Behalf Of Sirisha
> > Muppavarapu
> > Sent: Friday, June 10, 2011 5:03 PM
> > To: meego-commits at meego.com
> > Cc: Muppavarapu, Sirisha
> > Subject: [meego-commits] 20494: Changes to
> > MeeGo:1.2:oss:Testing/meego-app-calendar
> >
> > Hi,
> > I have made the following changes to meego-app-calendar in project
> > MeeGo:1.2:oss:Testing. Please review and accept ASAP.
> >
> > Thank You,
> > Sirisha Muppavarapu
> >
> > [This message was auto-generated]
> >
> > ---
> >
> > Request #20494:
> >
> >   submit:   devel:meego-ux/meego-app-calendar(r15) ->
> > MeeGo:1.2:oss:Testing/meego-app-calendar
> >
> >
> > Message:
> >     * Fri June 10 2011 Sirisha Muppavarapu
> <sirisha.muppavarapu at intel.com>
> > - 0.2.9
> > - Migrated to use EDS
> > - BMC# 16556 - GLS - i18n - Calender: Date text disappears when tapping ">"
> in
> > Day/Week/Month views
> > - BMC# 17055 - Unable to view calendar event detail underneath of another
> > event
> > - BMC# 16261 - GLS - i18n - Calendar: Day view: display time is not translated
> > - BMC# 16259 - GLS - i18n - Calendar: Day view: time in Events are not
> > translated
> > - BMC# 16251 - GLS - i18n - Calendar: new event - time for Start time/ End
> time
> > are not translated
> > - BMC# 18590 - [L10N] Missing comments
> >
> > State:   new          2011-06-10T17:03:20 smuppava
> > Comment: None
> >
> >
> >
> > changes files:
> > --------------
> > --- meego-app-calendar.changes
> > +++ meego-app-calendar.changes
> > @@ -0,0 +1,9 @@
> > +* Fri June 10 2011 Sirisha Muppavarapu <sirisha.muppavarapu at intel.com> -
> > 0.2.9
> > +- Migrated to use EDS
> > +- BMC# 16556 - GLS - i18n - Calender: Date text disappears when tapping
> ">"
> > in Day/Week/Month views
> > +- BMC# 17055 - Unable to view calendar event detail underneath of another
> > event
> > +- BMC# 16261 - GLS - i18n - Calendar: Day view: display time is not
> translated
> > +- BMC# 16259 - GLS - i18n - Calendar: Day view: time in Events are not
> > translated
> > +- BMC# 16251 - GLS - i18n - Calendar: new event - time for Start time/ End
> > time are not translated
> > +- BMC# 18590 - [L10N] Missing comments
> > +
> >
> > old:
> > ----
> >   meego-app-calendar-0.2.8.tar.bz2
> >
> > new:
> > ----
> >   meego-app-calendar-0.2.9.tar.bz2
> >
> > spec files:
> > -----------
> > --- meego-app-calendar.spec
> > +++ meego-app-calendar.spec
> > @@ -7,7 +7,7 @@
> >
> >  Name:       meego-app-calendar
> >  Summary:    MeeGo Calendar Application
> > -Version:    0.2.8
> > +Version:    0.2.9
> >  Release:    1
> >  Group:      Applications/Productivity
> >  License:    Apache 2.0
> > @@ -30,6 +30,7 @@
> >  BuildRequires:  pkgconfig(libmkcal)
> >  BuildRequires:  pkgconfig(timed)
> >  BuildRequires:  pkgconfig(meego-ux-content)
> > +BuildRequires:  kcal-eds-devel
> >
> >
> >  %description
> >
> > other changes:
> > --------------
> >
> > ++++++ meego-app-calendar-0.2.8.tar.bz2 ->
> > meego-app-calendar-0.2.9.tar.bz2
> > --- CalendarDayView.qml
> > +++ CalendarDayView.qml
> > @@ -47,12 +47,22 @@
> >          }
> >      }
> >
> > +    CalendarController {
> > +        id:controller
> > +    }
> > +
> > +    Connections {
> > +        target:controller
> > +        onDbLoaded: {
> > +            console.log("Inside
> > onDbReady....#$#$######$#$#$#$#$#$#$#$#$#$#$")
> > +            initDate();
> > +        }
> > +    }
> > +
> > +
> >      function initDate()
> >      {
> >          dateInFocus = window.appDateInFocus;
> > -        window.eventDay=dateInFocus.getDate();
> > -        window.eventMonth=(dateInFocus.getMonth()+1);
> > -        window.eventYear=dateInFocus.getFullYear();
> >          dateInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateFull);
> >          resetCalendarDayModels(dateInFocus);
> >      }
> > @@ -124,15 +134,11 @@
> >
> >
> >      function resetCalendarDayModels(coreDateVal) {
> > -        var tmpDate = new Date(utilities.getLongDate(coreDateVal));
> >          allDayViewModel.loadGivenDayModel(coreDateVal);
> >          daysModel.loadGivenWeekValuesFromDate(coreDateVal);
> >          allDayEventsCount = allDayViewModel.count;
> >          timeListModel.loadGivenDayModel(coreDateVal);
> > -        window.eventDay=tmpDate.getDate();
> > -        window.eventMonth=(tmpDate.getMonth()+1);
> > -        window.eventYear=tmpDate.getFullYear();
> > -        dateInFocus = tmpDate;
> > +        dateInFocus = coreDateVal;
> >          window.appDateInFocus = dateInFocus;
> >          dateInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateFull);
> >
> >
> timeListView.positionViewAtIndex(window.positionOfView,ListView.Beginning);
> > @@ -206,6 +212,7 @@
> >
> >      CalendarWeekModel {
> >          id:daysModel
> > +        //weekStartIndex:1
> >      }
> >
> >      TimeListModel {
> > @@ -288,7 +295,7 @@
> >
> >                                      Text {
> >                                            id: dateValTxt
> > -
> >
> text:i18nHelper.localDate(coreDateVal,Labs.LocaleHelper.DateWeekdayDaySh
> > ort) //dateValString
> > +
> >
> text:i18nHelper.localDate(coreDateVal,Labs.LocaleHelper.DateWeekdayDaySh
> > ort)
> >
> >
> color:isCurrentDate(coreDateVal,index)?theme_buttonFontColorActive:theme
> > _fontColorNormal
> >                                            font.pixelSize:
> >
> (window.inLandscape)?theme_fontPixelSizeLarge:theme_fontPixelSizeMedium
> >                                            anchors.verticalCenter:
> > parent.verticalCenter
> > @@ -415,7 +422,8 @@
> >
> > anchors.top: parent.top
> >                                                           Text
> {
> >
> id:
> > allDayDescText
> > -
> > text: (index==2 && (allDayViewModel.count>3))?qsTr("%1 more events
> > exist","Events count").arg(allDayViewModel.count-2):summary
> > +
> > //: %1 corresponds to Events count
> > +
> > text: (index==2 && (allDayViewModel.count>3))?qsTr("%1 more events
> > exist").arg(allDayViewModel.count-2):summary
> >
> > anchors.left: parent.left
> >
> > anchors.leftMargin: 20
> >
> > anchors.verticalCenter: parent.verticalCenter
> > @@ -513,7 +521,7 @@
> >
> >                                               Text {
> >                                                   id: timeValText
> > -                                                 text: timeVal
> > +
> > text:(index%2==0)?i18nHelper.localTime(timeVal,
> > Labs.LocaleHelper.TimeFull):""
> >
> > anchors.top:parent.top
> >
> > anchors.horizontalCenter:parent.horizontalCenter
> >                                                   font.bold: true
> > @@ -570,7 +578,8 @@
> >
> >
> > Text {
> >
> > id: eventTime
> > -
> > text: qsTr("%1 - %2","StartTime -
> > EndTime").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort));
> > +
> > //: This is time range ("StartTime - EndTime") %1 is StartTime and %2 is
> > EndTime
> > +
> > text: qsTr("%1 - %2").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull));
> >
> > color:theme_fontColorNormal
> >
> > width: descriptionBox.width
> >
> > font.pixelSize:theme_fontPixelSizeMedium
> > @@ -679,5 +688,5 @@
> >              }//end of calData
> >
> >          }//end of spacerImage
> > -    }//end of top column
> > +    }//end of top column
> >  }
> > --- CalendarListView.qml
> > +++ CalendarListView.qml
> > @@ -31,7 +31,8 @@
> >          target:window
> >          onSearchResultCountChanged: {
> >              searchCount = window.searchResultCount;
> > -            results.text = qsTr("%1 results found","Search result
> > count").arg(searchCount)
> > +            //: %1 corresponds to Search result count
> > +            results.text = qsTr("%1 results found").arg(searchCount)
> >          }
> >      }
> >
> > @@ -70,7 +71,8 @@
> >              height:50
> >              Text {
> >                  id:results
> > -                text: qsTr("%1 results found","Search result
> > count").arg(searchCount)
> > +                //: %1 corresponds to Search result count
> > +                text: qsTr("%1 results found").arg(searchCount)
> >                  anchors.left: parent.left
> >                  anchors.leftMargin: 10
> >                  font.bold: true
> > @@ -141,7 +143,8 @@
> >                          width:displayBox.width
> >                          Text {
> >                              id:timeText
> > -                            text: allDay?qsTr("All day"):qsTr("%1
> > - %2","StartTime - EndTime").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort));
> > +                            //: This is time range ("StartTime -
> > EndTime") %1 is StartTime and %2 is EndTime
> > +                            text: allDay?qsTr("All day"):qsTr("%1
> > - %2","StartTime - EndTime").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull));
> >                              font.bold: true
> >                              font.pixelSize:
> theme_fontPixelSizeMedium
> >                              color:theme_fontColorInactive
> > --- CalendarMonthView.qml
> > +++ CalendarMonthView.qml
> > @@ -51,9 +51,6 @@
> >      function initDate()
> >      {
> >          dateInFocus = window.appDateInFocus;
> > -        window.eventDay=dateInFocus.getDate();
> > -        window.eventMonth=(dateInFocus.getMonth()+1);
> > -        window.eventYear=dateInFocus.getFullYear();
> >          dateInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateFull);
> >          monthInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateMonthYear);
> >          resetCalendarModels(dateInFocus);
> > @@ -70,26 +67,17 @@
> >      }
> >
> >      function resetCalendarModels(coreDateVal) {
> > -        var tmpDate = new Date(utilities.getLongDate(coreDateVal));
> >          monthModel.loadGivenMonthValuesFromOffset(coreDateVal);
> >          allEventsViewModel.loadGivenDayModel(coreDateVal);
> > -
> > -        window.eventDay=tmpDate.getDate();
> > -        window.eventMonth=(tmpDate.getMonth()+1);
> > -        window.eventYear=tmpDate.getFullYear();
> > -        dateInFocus = tmpDate;
> > +        dateInFocus = coreDateVal;
> >          dateInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateFull);
> >          monthInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateMonthYear);
> >      }
> >
> >      function resetDataModel(coreDateVal) {
> > -        var tmpDate = new Date(utilities.getLongDate(coreDateVal));
> >          allEventsViewModel.loadGivenDayModel(coreDateVal);
> >          monthModel.loadGivenMonthValuesFromOffset(coreDateVal);
> > -        window.eventDay=tmpDate.getDate();
> > -        window.eventMonth=(tmpDate.getMonth()+1);
> > -        window.eventYear=tmpDate.getFullYear();
> > -        dateInFocus = tmpDate;
> > +        dateInFocus = coreDateVal;
> >          dateInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateFull);
> >          monthInFocusVal = i18nHelper.localDate(dateInFocus,
> > Labs.LocaleHelper.DateMonthYear);
> >      }
> > @@ -124,6 +112,7 @@
> >          onGotoDateChanged: {
> >              if(window.gotoDate) {
> >                  dateInFocus = window.dateFromOutside;
> > +                window.appDateInFocus = dateInFocus;
> >                  resetDataModel(dateInFocus);
> >                  window.gotoDate = false;
> >              }
> > @@ -222,6 +211,7 @@
> >
> >      CalendarWeekModel {
> >          id:weekDaysModel
> > +        //weekStartIndex:1
> >      }
> >
> >      TopItem {
> > @@ -545,7 +535,8 @@
> >
> >
> > Text {
> >
> > id: eventTime
> > -
> > text: allDay?qsTr("All day"):qsTr("%1 - %2","StartTime -
> > EndTime").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort));
> > +
> > //: This is time range ("StartTime - EndTime") %1 is StartTime and %2 is
> > EndTime
> > +
> > text: allDay?qsTr("All day"):qsTr("%1 - %2","StartTime -
> > EndTime").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull));
> >
> > color:theme_fontColorNormal
> >
> > font.pixelSize: theme_fontPixelSizeMedium
> >
> > width: eventBox.width
> > --- CalendarWeekView.qml
> > +++ CalendarWeekView.qml
> > @@ -50,12 +50,10 @@
> >      function initDate()
> >      {
> >          dateInFocus = window.appDateInFocus;
> > -        window.eventDay=dateInFocus.getDate();
> > -        window.eventMonth=(dateInFocus.getMonth()+1);
> > -        window.eventYear=dateInFocus.getFullYear();
> >          var startDate = utilities.getStartDateOfWeek(dateInFocus);
> >          var endDate = utilities.getEndDateOfWeek(startDate);
> > -        dateInFocusVal = qsTr("%1 - %2","Week's StartDate - Week's
> > EndDate").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localDate(endDate,
> > Labs.LocaleHelper.DateFull));
> > +        //: This is week date range %1 is Week's Start Date and %2 is
> Week's
> > EndDate
> > +        dateInFocusVal = qsTr("%1
> > - %2").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localDate(endDate,
> > Labs.LocaleHelper.DateFull));
> >          dayInFocusIndex = dateInFocus.getDay();
> >          if(dayInFocusIndex==0) {//i.e if day is sunday
> >              dayInFocusIndex = 7;
> > @@ -75,7 +73,8 @@
> >
> daysModel.loadGivenWeekValuesFromDate(dateInFocus)
> >                  var startDate =
> > utilities.getStartDateOfWeek(dateInFocus);
> >                  var endDate = utilities.getEndDateOfWeek(startDate);
> > -                dateInFocusVal = qsTr("%1 - %2","Week's StartDate -
> > Week's EndDate").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localDate(endDate,
> > Labs.LocaleHelper.DateFull));
> > +                //: This is week date range %1 is Week's Start Date
> > and %2 is Week's EndDate
> > +                dateInFocusVal = qsTr("%1
> > - %2").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localDate(endDate,
> > Labs.LocaleHelper.DateFull));
> >                  dayInFocusIndex = dateInFocus.getDay();
> >                  if(dayInFocusIndex==0) {//i.e if day is sunday
> >                      dayInFocusIndex = 7;
> > @@ -114,26 +113,19 @@
> >      }
> >
> >      function resetCalendarDayModels(coreDateVal) {
> > -        var tmpDate = new Date(utilities.getLongDate(coreDateVal));
> > -        window.eventDay=tmpDate.getDate();
> > -        window.eventMonth=(tmpDate.getMonth()+1);
> > -        window.eventYear=tmpDate.getFullYear();
> > -        dateInFocus = tmpDate;
> > +        dateInFocus = coreDateVal;
> >          window.appDateInFocus = dateInFocus;
> >          var startDate = utilities.getStartDateOfWeek(dateInFocus);
> >          var endDate = utilities.getEndDateOfWeek(startDate);
> > -        dateInFocusVal = qsTr("%1 - %2","Week's StartDate - Week's
> > EndDate").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localDate(endDate,
> > Labs.LocaleHelper.DateFull));
> > +        //: This is week date range %1 is Week's Start Date and %2 is
> Week's
> > EndDate
> > +        dateInFocusVal = qsTr("%1
> > - %2").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localDate(endDate,
> > Labs.LocaleHelper.DateFull));
> >          daysModel.loadGivenWeekValuesFromDate(dateInFocus);
> >          eventsListView.contentY = (UtilMethods.EDayTimeStart*50);
> >      }
> >
> >      function setDateInFocus(coreDateVal)
> >      {
> > -        var tmpDate = new Date(utilities.getLongDate(coreDateVal));
> > -        window.eventDay=tmpDate.getDate();
> > -        window.eventMonth=(tmpDate.getMonth()+1);
> > -        window.eventYear=tmpDate.getFullYear();
> > -        dateInFocus = tmpDate;
> > +        dateInFocus = coreDateVal;
> >          window.appDateInFocus = dateInFocus;
> >      }
> >
> > @@ -204,6 +196,7 @@
> >
> >      CalendarWeekModel {
> >          id:daysModel
> > +        //weekStartIndex:1
> >      }
> >
> >      TimeListModel {
> > @@ -351,7 +344,8 @@
> >
> > anchors.top: parent.top
> >
> > Text {
> >
> > id: allDayDescText
> > -
> > text: (index==2 && (allDayViewModel.count>3))?qsTr("%1 more events
> > exist","Events count").arg(allDayViewModel.count-2):summary
> > +
> > //: %1 corresponds to events count
> > +
> > text: (index==2 && (allDayViewModel.count>3))?qsTr("%1 more events
> > exist").arg(allDayViewModel.count-2):summary
> >
> > anchors.left: parent.left
> >
> > anchors.leftMargin: 2
> >
> > anchors.verticalCenter: parent.verticalCenter
> > @@ -468,7 +462,7 @@
> >
> >                                                  Text {
> >
> > id:timeValText
> > -                                                    text:timeVal
> > +
> > text:(index%2==0)?i18nHelper.localTime(timeVal,
> > Labs.LocaleHelper.TimeFull):""
> >
> > anchors.top:parent.top
> >
> > anchors.left:parent.left
> >
> > anchors.leftMargin: 5
> > @@ -516,7 +510,8 @@
> >
> >
> > Text {
> >
> > id: eventTime
> > -
> > text: qsTr("%1 - %2","StartTime -
> > EndTime").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort));
> > +
> > //: This is time range ("StartTime - EndTime") %1 is StartTime and %2 is
> > EndTime
> > +
> > text: qsTr("%1 - %2").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull));
> >
> > color:theme_fontColorNormal
> >
> > font.pixelSize:theme_fontPixelSizeSmall
> >
> > width:descriptionBox.width
> > --- EventDetailsView.qml
> > +++ EventDetailsView.qml
> > @@ -42,7 +42,8 @@
> >          if(allDay) {
> >              eventTime = qsTr("All day");
> >          } else  {
> > -            eventTime = qsTr("%1, %2 - %3","Event StartDate, StartTime
> -
> > EndTime ").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort));
> > +            //: This is Date, Time range ("Event StartDate, StartTime -
> > EndTime ") %1 is Event StartDate, %2 is StartTime and %3 is EndTime
> > +            eventTime = qsTr("%1, %2
> > - %3").arg(i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFull)).arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull));
> >          }
> >          viewEventDetails.title = summary;
> >          visible = true;
> > @@ -100,7 +101,8 @@
> >                              anchors.leftMargin:10
> >                              Text {
> >                                  id:eventTimeTxt
> > -                                text:qsTr("%1 (GMT %2)","1:event
> > time and 2:GMT offset").arg(eventTime).arg(zoneOffset/(60*60))
> > +                                //: This is EventTime followed by
> GMT
> > offset ("%1 is event time and %2 is GMT offset")
> > +                                text:qsTr("%1
> > (GMT %2)").arg(eventTime).arg(zoneOffset/(60*60))
> >                                  font.pixelSize:
> > theme_fontPixelSizeMedium
> >                                  color:theme_fontColorNormal
> >                                  width: timeBox.width
> > @@ -109,7 +111,8 @@
> >
> >                              Text {
> >                                  id:repeatValText
> > -                                text: qsTr("%1 %2","Repeats
> > frequency").arg(qsTr("Repeats")).arg(repeatText)
> > +                                //: This corresponds to Repeats
> > frequency text. %1 is frequency of the event and %2 is the translated text for
> > "Repeats"
> > +                                text:
> > qsTr("%1 %2").arg(qsTr("Repeats")).arg(repeatText)
> >                                  anchors.top: eventTimeTxt.bottom
> >                                  font.pixelSize:
> > theme_fontPixelSizeMedium
> >                                  color:theme_fontColorNormal
> > --- MultipleEventsPopup.qml
> > +++ MultipleEventsPopup.qml
> > @@ -100,7 +100,8 @@
> >                      height: 50
> >                      width:parent.width
> >                      radius: 5
> > -                    property string timeVal:(allDay)?qsTr("All
> > day"):qsTr("%1 - %2","StartTime -
> > EndTime").arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort))
> > +                    //: This is Events Time range ("StartTime - EndTime
> > ") %1 is StartTime and %2 is EndTime
> > +                    property string timeVal:(allDay)?qsTr("All
> > day"):qsTr("%1 - %2","StartTime -
> > EndTime" ).arg(i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull)).arg(i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull))
> >                      Column {
> >                          spacing: 5
> >                          anchors.top: parent.top
> > @@ -129,7 +130,8 @@
> >                      ExtendedMouseArea {
> >                          anchors.fill: parent
> >                          onClicked: {
> > -                            var dateTimeStr = qsTr("%1, %2","Event
> > StartDate, Start and End Time
> String").arg(i18nHelper.localDate(coreDateVal,
> > Labs.LocaleHelper.DateFull)).arg(timeVal)
> > +                            //: This is Date, Time range ("Event
> > StartDate, StartTime and EndTime String ") %1 is Event StartDate, %2 is
> > StartTime and EndTime string (already translated and passed as argument)
> > +                            var dateTimeStr =
> > qsTr("%1, %2").arg(i18nHelper.localDate(coreDateVal,
> > Labs.LocaleHelper.DateFull)).arg(timeVal)
> >
> >
> window.openViewFromMonthMultiEvents( eventListPopup.xVal,eventListPopu
> >
> p.yVal,window,uid,description,summary,location,alarmType,utilities.getRepeat
> > TypeString(repeatType),dateTimeStr,coreDateVal,zoneName,zoneOffset);
> >                              eventListPopup.close();
> >                              eventListPopup.visible = false;
> > --- NewEventView.qml
> > +++ NewEventView.qml
> > @@ -236,13 +236,13 @@
> >              if(eventStartHr==-1 || eventEndHr==-1) {
> >                  startTime = utilities.getCurrentTimeVal();
> >                  startTime = utilities.roundTime(startTime);
> > -                startTimeStr = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort);
> > +                startTimeStr = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull);
> >                  endTime = utilities.addHMToCurrentTime(1,0);
> >                  endTime = utilities.roundTime(endTime);
> > -                endTimeStr = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort);
> > +                endTimeStr = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull);
> >              } else {
> >                  startTime =
> utilities.createTimeFromVals(eventStartHr,0);
> > -                startTimeStr = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort);
> > +                startTimeStr = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull);
> >
> >                  var eventEndTimeStr = eventEndHr.toString();
> >                  if(eventEndTimeStr.length > 3) {
> > @@ -250,7 +250,7 @@
> >                  } else {
> >                      endTime =
> >
> utilities.createTimeFromVals(parseInt(eventEndTimeStr.substr(0,1)),parseInt(e
> > ventEndTimeStr.substr(1,2)));
> >                  }
> > -                endTimeStr = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort);
> > +                endTimeStr = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull);
> >              }
> >
> >              startDateTxt.text = startDateStr;
> > @@ -283,8 +283,8 @@
> >
> >              startDateTxt.text = i18nHelper.localDate(startDate,
> > Labs.LocaleHelper.DateFullShort);
> >              finishDateTxt.text = i18nHelper.localDate(endDate,
> > Labs.LocaleHelper.DateFullShort);
> > -            startTimeTxt.text = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort);
> > -            finishTimeTxt.text = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort);
> > +            startTimeTxt.text = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull);
> > +            finishTimeTxt.text = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull);
> >
> >              container.allDaySet = allDayCheck.on;
> >              startDateStr= startDateTxt.text;
> > @@ -303,6 +303,7 @@
> >              repeatCmb.selectedIndex = editEvent.repeatType;
> >              repeatCmb.selectedTitle =
> > utilities.getRepeatTypeString(editEvent.repeatType);
> >              repeatEndCmb.selectedIndex = editEvent.repeatEndType;
> > +            repeatEndCmb.selectedTitle =
> > utilities.getRepeatEndTypeString(editEvent.repeatEndType);
> >              tzCmb.reInit();
> >
> >              if(editEvent.repeatType != UtilMethods.ENoRepeat) {
> > @@ -343,13 +344,13 @@
> >          {
> >              if(fromIndex==1) {
> >                  startTime = timeVal;
> > -                startTimeTxt.text = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFullShort);
> > +                startTimeTxt.text = i18nHelper.localTime(startTime,
> > Labs.LocaleHelper.TimeFull);
> >                  //Temporary Fix to bug BMC:17374
> >                  startTimeTxt.visible=false;
> >                  startTimeTxt.visible=true;
> >              } else if(fromIndex==2) {
> >                  endTime = timeVal;
> > -                finishTimeTxt.text = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFullShort);
> > +                finishTimeTxt.text = i18nHelper.localTime(endTime,
> > Labs.LocaleHelper.TimeFull);
> >                  //Temporary Fix to bug BMC:17374
> >                  finishTimeTxt.visible=false;
> >                  finishTimeTxt.visible=true;
> > @@ -915,7 +916,7 @@
> >                                        title:
> >
> (windowType==UtilMethods.EAddEvent)?qsTr("Never"):utilities.getRepeatType
> > String(container.repeatType)
> >                                        replaceDropDownTitle:true
> >                                        titleColor: "black"
> > -                                      model: [  qsTr("Never"),
> > qsTr("Every day"), qsTr("Every week") , qsTr("Every 2 weeks"),qsTr("Every
> > month"),qsTr("Every year"),qsTr("Other...")]
> > +                                      model: [  qsTr("Never"),
> > qsTr("Every day"), qsTr("Every week") , qsTr("Every 2 weeks"),qsTr("Every
> > month"),qsTr("Every year"),qsTr("Other")]
> >                                        payload:
> >
> [ UtilMethods.ENoRepeat,UtilMethods.EEveryDay,UtilMethods.EEveryWeek,U
> >
> tilMethods.EEvery2Weeks,UtilMethods.EEveryMonth,UtilMethods.EEveryYear,
> > UtilMethods.EOtherRepeat ]
> >                                        onTriggered: {
> >
> > repeatCmbBlock.repeatType = payload[index];
> > @@ -970,7 +971,7 @@
> >                                                height:30
> >
> > replaceDropDownTitle:true
> >                                                titleColor: "black"
> > -                                              model:
> > [  qsTr("Repeats forever"), qsTr("Ends after number of times..."), qsTr("Ends
> > after date...")]
> > +                                              model:
> > [  qsTr("Repeats forever"), qsTr("Ends after number of times"), qsTr("Ends
> > after date")]
> >                                                payload:
> > [UtilMethods.EForever,UtilMethods.EForNTimes,UtilMethods.EAfterDate]
> >                                                onTriggered: {
> >
> > repeatEndComboBox.repeatEndType = payload[index];
> > @@ -1107,7 +1108,7 @@
> >                                        replaceDropDownTitle:true
> >                                        titleColor: "black"
> >
> > -                                      model: [  qsTr("No
> reminder"),
> > qsTr("10 minutes before"), qsTr("15 minutes before"),qsTr("30 minutes
> > before"),qsTr("1 hour before"),qsTr("2 hours before"),qsTr("1 day
> > before"),qsTr("2 days before"),qsTr("1 week before"),qsTr("Other...")]
> > +                                      model: [  qsTr("No
> reminder"),
> > qsTr("10 minutes before"), qsTr("15 minutes before"),qsTr("30 minutes
> > before"),qsTr("1 hour before"),qsTr("2 hours before"),qsTr("1 day
> > before"),qsTr("2 days before"),qsTr("1 week before"),qsTr("Other")]
> >                                        payload:
> >
> [UtilMethods.ENoAlarm,UtilMethods.E10MinB4,UtilMethods.E15MinB4,UtilM
> >
> ethods.E30MinB4,UtilMethods.E1HrB4,UtilMethods.E2HrsB4,UtilMethods.E1
> >
> DayB4,UtilMethods.E2DaysB4,UtilMethods.E1WeekB4,UtilMethods.EOtherAla
> > rm]
> >                                        onTriggered: {
> >                                            selectedIndex =
> > payload[index];
> > --- TimeZoneListDelegate.qml
> > +++ TimeZoneListDelegate.qml
> > @@ -28,9 +28,6 @@
> >        property variant offsetArr
> >        property variant gmtNameArr
> >
> > -      Labs.TimezoneListModel {
> > -          id: timezonelist
> > -      }
> >        onTriggered: {
> >            gmtOffset = offsetArr[index]*3600;
> >            gmtName = gmtNameArr[index];
> > @@ -42,11 +39,12 @@
> >            var payloadArr1 = new Array();
> >            var offsetArr1 = new Array();
> >            var gmtNameArr1 = new Array();
> > -          for(var i=0;i<timezonelist.count;i++) {
> > -              modelArr1[i] = ((timezonelist.getData(i,
> > Labs.TimezoneListModel.EGMTOffset) < 0)? ((qsTr("%1
> > (GMT %2%3)").arg(timezonelist.getData(i,
> > Labs.TimezoneListModel.ETitle)).arg(timezonelist.getData(i,
> > Labs.TimezoneListModel.EGMTOffset)).arg(":00"))):(qsTr(("%1 (GMT
> > +%2%3)").arg(timezonelist.getData(i,
> > Labs.TimezoneListModel.ETitle)).arg(timezonelist.getData(i,
> > Labs.TimezoneListModel.EGMTOffset)).arg(":00"))));
> > +          for(var i=0;i<window.addEditTimeZoneList.count;i++) {
> > +              //: This Time zone string  %1 corresponds to
> cityname, %2
> > corresponds to offset %3 corrsponds to translated string for "00"
> > +              modelArr1[i] = ((window.addEditTimeZoneList.getData(i,
> > Labs.TimezoneListModel.EGMTOffset) < 0)? ((qsTr("%1
> > (GMT %2%3)").arg(window.addEditTimeZoneList.getData(i,
> > Labs.TimezoneListModel.ETitle)).arg(window.addEditTimeZoneList.getData(i,
> > Labs.TimezoneListModel.EGMTOffset)).arg(":00"))):(qsTr(("%1 (GMT
> > +%2%3)").arg(window.addEditTimeZoneList.getData(i,
> > Labs.TimezoneListModel.ETitle)).arg(window.addEditTimeZoneList.getData(i,
> > Labs.TimezoneListModel.EGMTOffset)).arg(":00"))));
> >                payloadArr1[i] = i;
> > -              offsetArr1[i] = timezonelist.getData(i,
> > Labs.TimezoneListModel.EGMTOffset);
> > -              gmtNameArr1[i] = timezonelist.getData(i,
> > Labs.TimezoneListModel.ETitle);
> > +              offsetArr1[i] = window.addEditTimeZoneList.getData(i,
> > Labs.TimezoneListModel.EGMTOffset);
> > +              gmtNameArr1[i] = window.addEditTimeZoneList.getData(i,
> > Labs.TimezoneListModel.ETitle);
> >            }
> >
> >            tzCmb.modelArr = modelArr1;
> > --- common.pri
> > +++ common.pri
> > @@ -1 +1 @@
> > -VERSION = 0.2.8
> > +VERSION = 0.2.9
> > --- lib/calendarcontroller.cpp
> > +++ lib/calendarcontroller.cpp
> > @@ -16,6 +16,8 @@
> >
> >  using namespace std;
> >
> > +static CalendarDBSingleton *instance = NULL;
> > +
> >  CalendarController::CalendarController(QObject *parent) : QObject(parent)
> >  {
> >      setUpCalendars();
> > @@ -26,15 +28,21 @@
> >  {
> >  }
> >
> > +void CalendarController :: emitDbLoaded() {
> > +    qDebug()<<"Inside CalendarController, emitDbLoaded()";
> > +    emit dbLoaded();
> > +}
> > +
> >  bool CalendarController::setUpCalendars()
> >  {
> >      bool setUpStatus=true;
> >      try {
> > -        CalendarDBSingleton::instance();
> > +        instance = CalendarDBSingleton::instance();
> >          calendar = CalendarDBSingleton::calendarPtr();
> >          storage = CalendarDBSingleton::storagePtr();
> > +        connect(instance,SIGNAL(dbLoaded()),this,
> SLOT(emitDbLoaded()));
> >
> > -        //This part of code is to support multiple calendars
> > +        /*//This part of code is to support multiple calendars
> >          notebook = storage->defaultNotebook().data();
> >          if(notebook->color().isEmpty()) {
> >              notebook->setColor("Blue");
> > @@ -42,8 +50,8 @@
> >          if(notebook->description().isEmpty()){
> >              notebook->setDescription("Default Calendar");
> >          }
> > -        nUid = notebook->uid();
> > -        storage->loadNotebookIncidences(notebook->uid());
> > +        nUid = notebook->uid();*/
> > +        //storage->loadNotebookIncidences(notebook->uid());
> >
> >      } catch (exception &e) {
> >          setUpStatus=false;
> > @@ -92,7 +100,7 @@
> >          }
> >
> >          if(actionType == EAddEvent) {
> > -            calendar->addEvent(coreEvent,notebook->uid());
> > +            calendar->addEvent(coreEvent); //,notebook->uid()
> >          } else if(actionType == EModifyEvent) {
> >              coreEvent->setRevision(coreEvent->revision()+1);
> >          }
> > @@ -114,7 +122,7 @@
> >  {
> >      bool deleted = true;
> >      try {
> > -        storage->loadNotebookIncidences(nUid);
> > +        //storage->loadNotebookIncidences(nUid);
> >          KCalCore::Event::Ptr coreEvent =
> > KCalCore::Event::Ptr(calendar->event(eventUid));
> >          if(!coreEvent.isNull()) {
> >              deleted = calendar->deleteEvent(coreEvent);
> > @@ -135,18 +143,14 @@
> >    */
> >  void CalendarController::handleRepeat(KCalCore::Event::Ptr
> > coreEventPtr,const IncidenceIO&  eventIO)
> >  {
> > +   KCalCore::Recurrence *eventRecurrence = coreEventPtr->recurrence();
> >     try {
> >          if(eventIO.getRepeatType()==ENoRepeat){
> > -            /*eventRecurrence->setDaily(1);
> > -            eventRecurrence->setDuration(1);
> > -            if(eventIO.isAllDay()) {
> > -
> > eventRecurrence->setEndDateTime(eventIO.getStartDateTime());
> > -            } else {
> > -
> > eventRecurrence->setEndDateTime(eventIO.getEndDateTime());
> > -            }*/
> > +            KCalCore :: RecurrenceRule::List rList =
> > eventRecurrence->rRules();
> > +            for(int i=0;i<rList.count();i++) {
> > +               eventRecurrence->deleteRRule(rList.at(i));
> > +            }
> >          } else {
> > -            KCalCore::Recurrence *eventRecurrence =
> > coreEventPtr->recurrence();
> > -
> >              switch(eventIO.getRepeatType()) {
> >
> >                  case EEveryDay: {
> > --- lib/calendarcontroller.h
> > +++ lib/calendarcontroller.h
> > @@ -19,6 +19,7 @@
> >  #include <QDebug>
> >  #include <QtDeclarative/qdeclarative.h>
> >  #include <QObject>
> > +#include "ekcal/ekcal-storage.h"
> >
> >
> >  #include <incidenceio.h>
> > @@ -40,6 +41,14 @@
> >      Q_INVOKABLE QList<IncidenceIO> getEventsFromDB(int
> > listType,KDateTime startDate=KDateTime::currentLocalDateTime(),
> > KDateTime endDate=KDateTime::currentLocalDateTime(),const QString
> > uid="");
> >      Q_INVOKABLE QObject* getEventForEdit(const QString uid);
> >      Q_INVOKABLE QDateTime getEventPositonInView(const QString uid);
> > +
> > +signals:
> > +    void dbLoaded();
> > +
> > +public slots:
> > +    void emitDbLoaded();
> > +
> > +
> >  private:
> >      bool setUpCalendars();
> >      void handleRepeat(KCalCore::Event::Ptr coreEventPtr,const
> > IncidenceIO& eventIO);
> > @@ -48,8 +57,8 @@
> >
> >
> >  private:
> > -    ExtendedCalendar::Ptr calendar;
> > -    ExtendedStorage::Ptr storage;
> > +    KCalCore::Calendar::Ptr calendar;
> > +    eKCal::EStorage::Ptr storage;
> >
> >      Notebook *notebook;
> >      QString nUid;
> > --- lib/calendardbsingleton.cpp
> > +++ lib/calendardbsingleton.cpp
> > @@ -9,30 +9,51 @@
> >  #include "calendardbsingleton.h"
> >
> >  CalendarDBSingleton* CalendarDBSingleton::pinstance = 0;// pointer
> > initialized
> > -ExtendedCalendar::Ptr CalendarDBSingleton::calendar =
> > ExtendedCalendar::Ptr ( new
> > ExtendedCalendar(KDateTime::Spec::LocalZone()));
> > -ExtendedStorage::Ptr CalendarDBSingleton::storage =
> > calendar->defaultStorage(calendar );
> > +eKCal::EStorage::Ptr CalendarDBSingleton::storage =
> > eKCal::EStorage::defaultStorage(KCalCore::IncidenceBase::TypeEvent);
> > +KCalCore::Calendar::Ptr CalendarDBSingleton::calendar =
> > storage->calendar();
> > +MeeGoCalendarObserver* CalendarDBSingleton::myObserver = new
> > MeeGoCalendarObserver(CalendarDBSingleton::calendarPtr());
> >
> >  CalendarDBSingleton* CalendarDBSingleton::instance()
> >  {
> >      if (pinstance == 0) // true when called first time
> >      {
> >          pinstance = new CalendarDBSingleton(); // create sole instance
> > +        connect(myObserver,SIGNAL(dbReady()),pinstance,
> > SLOT(emitDbLoaded()));
> >      }
> >      return pinstance; // address of sole  instance
> >  }
> >
> > +CalendarDBSingleton::~CalendarDBSingleton()
> > +{
> > +    if(pinstance != NULL) {
> > +        delete pinstance;
> > +        pinstance = NULL;
> > +    }
> > +    if(myObserver != NULL) {
> > +        delete myObserver;
> > +        myObserver = NULL;
> > +    }
> > +}
> > +
> >  CalendarDBSingleton::CalendarDBSingleton()
> >  {
> > -    storage->open();
> > +    calendar->registerObserver(myObserver);
> > +    storage->registerObserver(myObserver);
> > +    storage->startLoading();
> >  }
> >
> > -ExtendedCalendar::Ptr& CalendarDBSingleton::calendarPtr()
> > +KCalCore::Calendar::Ptr& CalendarDBSingleton::calendarPtr()
> >  {
> >      return calendar;
> >  }
> >
> > -ExtendedStorage::Ptr& CalendarDBSingleton::storagePtr()
> > +eKCal::EStorage::Ptr& CalendarDBSingleton::storagePtr()
> >  {
> >      return storage;
> >  }
> >
> > +
> > +void CalendarDBSingleton :: emitDbLoaded() {
> > +    qDebug()<<"Inside CalendarDBSingleton, emitDbLoaded()";
> > +    emit dbLoaded();
> > +}
> > --- lib/calendardbsingleton.h
> > +++ lib/calendardbsingleton.h
> > @@ -11,27 +11,45 @@
> >
> >  #include <extendedcalendar.h>
> >  #include <extendedstorage.h>
> > +#include <meegocalendarobserver.h>
> > +
> > +#include "ekcal/ekcal-storage.h"
> > +#include <qdebug.h>
> >
> >  using namespace mKCal;
> > +using namespace eKCal;
> > +
> >
> > -class CalendarDBSingleton
> > +class CalendarDBSingleton : public QObject
> >  {
> > +      Q_OBJECT
> >  public:
> >      static CalendarDBSingleton* instance();
> > -    static ExtendedCalendar::Ptr& calendarPtr();
> > -    static ExtendedStorage::Ptr& storagePtr();
> > +    static KCalCore::Calendar::Ptr& calendarPtr();
> > +    static eKCal::EStorage::Ptr& storagePtr();
> > +
> > +signals:
> > +    void dbLoaded();
> > +    void dbChanged();
> > +
> > + public slots:
> > +    void emitDbLoaded();
> > +    void emitDbChanged();
> >
> >  protected:
> >
> >      CalendarDBSingleton();
> > +    ~CalendarDBSingleton();
> >      CalendarDBSingleton(const CalendarDBSingleton&);
> >      CalendarDBSingleton& operator= (const CalendarDBSingleton&);
> >
> >  private:
> >
> > +    static MeeGoCalendarObserver *myObserver;
> >      static CalendarDBSingleton* pinstance;
> > -    static ExtendedCalendar::Ptr calendar;
> > -    static ExtendedStorage::Ptr storage;
> > -};
> > +    static KCalCore::Calendar::Ptr calendar;
> > +    static eKCal::EStorage::Ptr storage;
> > +} ;
> >
> >  #endif //CALENDARDBSINGLETON_H
> > +
> > --- lib/calendarmonthmodel.cpp
> > +++ lib/calendarmonthmodel.cpp
> > @@ -121,6 +121,7 @@
> >                  IncidenceIO ioObject2 = list.at(1);
> >                  if(ioObject2.isAllDay()) event2 = allDayText;
> >                  event2 += ioObject2.getSummary();
> > +                //: %1 corresponds to events count
> >                  event3 = tr("%1 more
> > events").arg(QString::number(eventsCount - 2));
> >              }
> >
> > --- lib/calendarweekmodel.cpp
> > +++ lib/calendarweekmodel.cpp
> > @@ -25,7 +25,6 @@
> >      roles.insert(DateItem::DateValString, "dateValString");
> >      roles.insert(DateItem::CoreDateVal, "coreDateVal");
> >      setRoleNames(roles);
> > -
> >      loadCurrentWeekValues();
> >  }
> >
> > --- lib/calendarweekmodel.h
> > +++ lib/calendarweekmodel.h
> > @@ -35,13 +35,25 @@
> >  {
> >      Q_OBJECT
> >      Q_PROPERTY(int count READ getCount);
> > +    Q_PROPERTY(int weekStartIndex READ getWeekStartDay WRITE
> > setWeekStartDay);
> >
> >  public:
> >      CalendarWeekModel(QObject *parent = 0);
> >      ~CalendarWeekModel();
> >
> >      int getCount() const
> > -        { return itemsList.count(); }
> > +    { return itemsList.count(); }
> > +
> > +    void setWeekStartDay(const int startDay)
> > +    {
> > +        weekStartDay = startDay;
> > +        //loadCurrentWeekValues();
> > +    }
> > +
> > +    int getWeekStartDay()
> > +    {
> > +        return weekStartDay;
> > +    }
> >
> >      int rowCount(const QModelIndex &parent = QModelIndex()) const;
> >      int columnCount(const QModelIndex &parent = QModelIndex()) const;
> > @@ -57,6 +69,7 @@
> >
> >  protected:
> >      QList<DateItem *> itemsList;
> > +    int weekStartDay;
> >
> >  };
> >
> > --- lib/lib.pro
> > +++ lib/lib.pro
> > @@ -2,6 +2,8 @@
> >  TARGET = meegocalendar
> >  TEMPLATE = lib
> >
> > +INCLUDEPATH += ../lib
> > +LIBS += -L../lib -lekcal
> >  CONFIG += link_pkgconfig
> >  PKGCONFIG += libkcalcoren libmkcal
> >
> > @@ -19,7 +21,8 @@
> >      timelistmodel.cpp \
> >      utilmethods.cpp \
> >      eventsdatamodel.cpp \
> > -    calendardbsingleton.cpp
> > +    calendardbsingleton.cpp \
> > +    meegocalendarobserver.cpp
> >
> >  INSTALL_HEADERS += \
> >      calendarcontroller.h \
> > @@ -31,13 +34,13 @@
> >      incidenceio.h \
> >      timelistmodel.h \
> >      utilmethods.h \
> > -    viewcalendarmodel.h \
> > -
> > -HEADERS += $$INSTALL_HEADERS \
> >      eventsdatamodel.h \
> >      filterterminate.h \
> >      calendardbsingleton.h
> >
> > +HEADERS += $$INSTALL_HEADERS \
> > +    meegocalendarobserver.h
> > +
> >  target.path = $$INSTALL_ROOT/usr/lib
> >  INSTALLS += target
> >
> > --- lib/meegocalendarobserver.cpp
> > +++ lib/meegocalendarobserver.cpp
> > +#include "meegocalendarobserver.h"
> > +
> > --- lib/meegocalendarobserver.h
> > +++ lib/meegocalendarobserver.h
> > +#ifndef MEEGOCALENDAROBSERVER_H
> > +#define MEEGOCALENDAROBSERVER_H
> > +
> > +
> > +#include "ekcal/ekcal-storage.h"
> > +#include <icalformat.h>
> > +#include <qdebug.h>
> > +using namespace eKCal;
> > +
> > +class MeeGoCalendarObserver :  public QObject, public
> > eKCal::StorageObserver, public KCalCore::Calendar::CalendarObserver
> > +{
> > +        Q_OBJECT;
> > +        KCalCore::ICalFormat m_format;
> > +        KCalCore::Calendar::Ptr m_calendar;
> > +        QString m_prefix;
> > +        QDebug (*m_dbg)();
> > +
> > +        qint64 m_lastChange;
> > +        int m_idleDurationMS;
> > +        int m_idleTimer;
> > +
> > +        /* storage observer */
> > +        virtual void loadingComplete(bool success, const QString &error)
> > +        {
> > +            m_dbg() << m_prefix << "loading completed" <<
> > +                (success ? "successfully" : "with error:") << error;
> > +            qDebug()<<"Inside MeeGoCalendarObserver,
> loadingComplete
> > before dbReady()";
> > +            emit dbReady();
> > +        }
> > +
> > +        virtual void savingComplete(bool success, const QString &error)
> > +        {
> > +            m_dbg() << m_prefix << "saving completed" <<
> > +                (success ? "successfully" : "with error:") << error;
> > +        }
> > +
> > +        /* calendar observer */
> > +        virtual void calendarIncidenceAdded(const
> KCalCore::Incidence::Ptr
> > &incidence)
> > +        {
> > +            m_dbg() << m_prefix << "added:" <<
> > m_format.toICalString(incidence);
> > +            m_lastChange = QDateTime::currentMSecsSinceEpoch();
> > +        }
> > +
> > +        virtual void calendarIncidenceAdditionCanceled (const
> > KCalCore::Incidence::Ptr &incidence)
> > +        {
> > +            m_dbg() << m_prefix << "addition canceled:" <<
> > m_format.toICalString(incidence);
> > +            m_lastChange = QDateTime::currentMSecsSinceEpoch();
> > +        }
> > +
> > +        virtual void calendarIncidenceChanged (const
> > KCalCore::Incidence::Ptr &incidence)
> > +        {
> > +            m_dbg() << m_prefix << "changed:" <<
> > m_format.toICalString(incidence);
> > +            m_lastChange = QDateTime::currentMSecsSinceEpoch();
> > +        }
> > +
> > +        virtual void calendarIncidenceDeleted (const
> > KCalCore::Incidence::Ptr &incidence)
> > +        {
> > +            m_dbg() << m_prefix << "deleted:" <<
> > m_format.toICalString(incidence);
> > +            m_lastChange = QDateTime::currentMSecsSinceEpoch();
> > +        }
> > +
> > +        virtual void calendarModified(bool modified, KCalCore::Calendar
> > *calendar)
> > +        {
> > +            m_dbg() << m_prefix << "calendar modified:" << (modified ?
> > "yes" : "no");
> > +            m_lastChange = QDateTime::currentMSecsSinceEpoch();
> > +        }
> > +
> > +        void timerEvent(QTimerEvent *event)
> > +        {
> > +            if (isIdle()) {
> > +                endIdleWatch();
> > +                emit idle();
> > +            }
> > +        }
> > +
> > +    public:
> > +        MeeGoCalendarObserver() {}
> > +
> > +        MeeGoCalendarObserver(const KCalCore::Calendar::Ptr
> &calendar,
> > +
> > +                           const QString prefix =
> > "MyCalendarObserver",
> > +                           QDebug (*dbg)() = qDebug) :
> > +            m_calendar(calendar),
> > +            m_prefix(prefix),
> > +            m_dbg(dbg),
> > +            m_idleTimer(0)
> > +        {}
> > +
> > +        /**
> > +         * start watching for changes to the calendar, emit idle() when
> > +         * nothing is seen for the requested period of time
> > +         */
> > +        void beginIdleWatch(int ms)
> > +        {
> > +            m_idleTimer = startTimer(ms);
> > +            m_idleDurationMS = ms;
> > +            m_lastChange = QDateTime::currentMSecsSinceEpoch();
> > +        }
> > +
> > +        bool isIdle()
> > +        {
> > +            qint64 now = QDateTime::currentMSecsSinceEpoch();
> > +            return m_lastChange + m_idleDurationMS < now;
> > +        }
> > +
> > +        void endIdleWatch()
> > +        {
> > +            if (m_idleTimer) {
> > +                killTimer(m_idleTimer);
> > +                m_idleTimer = 0;
> > +            }
> > +        }
> > +
> > +    signals:
> > +        void idle();
> > +        void dbReady();
> > +        void dbChanged();
> > +
> > +    public slots:
> > +        void dumpCalendar()
> > +        {
> > +            m_dbg() << m_prefix << m_format.toString(m_calendar);
> > +        }
> > +
> > +
> > +} ;
> > +
> > +
> > +
> > +#endif // MEEGOCALENDAROBSERVER_H
> > --- lib/timelistmodel.cpp
> > +++ lib/timelistmodel.cpp
> > @@ -10,7 +10,7 @@
> >  #include <inttypes.h>
> >  #include <utilmethods.h>
> >
> > -TimeListItem::TimeListItem(int index, QString timeVal, int startHr, int
> > endHr,EventsDataModel *dataModel,QObject *parent) : QObject(parent)
> > +TimeListItem::TimeListItem(int index, QTime timeVal, int startHr, int
> > endHr,EventsDataModel *dataModel,QObject *parent) : QObject(parent)
> >  {
> >      this->index = index;
> >      this->timeVal = timeVal;
> > @@ -34,103 +34,102 @@
> >  void TimeListModel::loadValues()
> >  {
> >
> > -    UtilMethods utilities;
> >      QTime startTime;
> >      startTime.setHMS(0,0,0);
> > -    itemsList << new
> >
> TimeListItem(0,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyste
> > mLocale),0,0,getDataModelAtIndex(0));
> > -    itemsList << new
> TimeListItem(1,tr(""),0,100,getDataModelAtIndex(1));
> > +    itemsList << new
> > TimeListItem(0,startTime,0,0,getDataModelAtIndex(0));
> > +    itemsList << new
> > TimeListItem(1,startTime,0,100,getDataModelAtIndex(1));
> >
> >      startTime.setHMS(1,0,0);
> > -    itemsList << new
> >
> TimeListItem(2,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyste
> > mLocale),1,130,getDataModelAtIndex(2));
> > -    itemsList << new
> TimeListItem(3,tr(""),1,200,getDataModelAtIndex(3));
> > +    itemsList << new
> > TimeListItem(2,startTime,1,130,getDataModelAtIndex(2));
> > +    itemsList << new
> > TimeListItem(3,startTime,1,200,getDataModelAtIndex(3));
> >
> >      startTime.setHMS(2,0,0);
> > -    itemsList << new
> >
> TimeListItem(4,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyste
> > mLocale),2,230,getDataModelAtIndex(4));
> > -    itemsList << new
> TimeListItem(5,tr(""),2,300,getDataModelAtIndex(5));
> > +    itemsList << new
> > TimeListItem(4,startTime,2,230,getDataModelAtIndex(4));
> > +    itemsList << new
> > TimeListItem(5,startTime,2,300,getDataModelAtIndex(5));
> >
> >      startTime.setHMS(3,0,0);
> > -    itemsList << new
> >
> TimeListItem(6,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyste
> > mLocale),3,330,getDataModelAtIndex(6));
> > -    itemsList << new
> TimeListItem(7,tr(""),3,400,getDataModelAtIndex(7));
> > +    itemsList << new
> > TimeListItem(6,startTime,3,330,getDataModelAtIndex(6));
> > +    itemsList << new
> > TimeListItem(7,startTime,3,400,getDataModelAtIndex(7));
> >
> >      startTime.setHMS(4,0,0);
> > -    itemsList << new
> >
> TimeListItem(8,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyste
> > mLocale),4,430,getDataModelAtIndex(8));
> > -    itemsList << new
> TimeListItem(9,tr(""),4,500,getDataModelAtIndex(9));
> > +    itemsList << new
> > TimeListItem(8,startTime,4,430,getDataModelAtIndex(8));
> > +    itemsList << new
> > TimeListItem(9,startTime,4,500,getDataModelAtIndex(9));
> >
> >      startTime.setHMS(5,0,0);
> > -    itemsList << new
> >
> TimeListItem(10,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),5,530,getDataModelAtIndex(10));
> > -    itemsList << new
> > TimeListItem(11,tr(""),5,600,getDataModelAtIndex(11));
> > +    itemsList << new
> > TimeListItem(10,startTime,5,530,getDataModelAtIndex(10));
> > +    itemsList << new
> > TimeListItem(11,startTime,5,600,getDataModelAtIndex(11));
> >
> >      startTime.setHMS(6,0,0);
> > -    itemsList << new
> >
> TimeListItem(12,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),6,630,getDataModelAtIndex(12));
> > -    itemsList << new
> > TimeListItem(13,tr(""),6,700,getDataModelAtIndex(13));
> > +    itemsList << new
> > TimeListItem(12,startTime,6,630,getDataModelAtIndex(12));
> > +    itemsList << new
> > TimeListItem(13,startTime,6,700,getDataModelAtIndex(13));
> >
> >      startTime.setHMS(7,0,0);
> > -    itemsList << new
> >
> TimeListItem(14,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),7,730,getDataModelAtIndex(14));
> > -    itemsList << new
> > TimeListItem(15,tr(""),7,800,getDataModelAtIndex(15));
> > +    itemsList << new
> > TimeListItem(14,startTime,7,730,getDataModelAtIndex(14));
> > +    itemsList << new
> > TimeListItem(15,startTime,7,800,getDataModelAtIndex(15));
> >
> >      startTime.setHMS(8,0,0);
> > -    itemsList << new
> >
> TimeListItem(16,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),8,830,getDataModelAtIndex(16));
> > -    itemsList << new
> > TimeListItem(17,tr(""),8,900,getDataModelAtIndex(17));
> > +    itemsList << new
> > TimeListItem(16,startTime,8,830,getDataModelAtIndex(16));
> > +    itemsList << new
> > TimeListItem(17,startTime,8,900,getDataModelAtIndex(17));
> >
> >      startTime.setHMS(9,0,0);
> > -    itemsList << new
> >
> TimeListItem(18,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),9,930,getDataModelAtIndex(18));
> > -    itemsList << new
> > TimeListItem(19,tr(""),9,1000,getDataModelAtIndex(19));
> > +    itemsList << new
> > TimeListItem(18,startTime,9,930,getDataModelAtIndex(18));
> > +    itemsList << new
> > TimeListItem(19,startTime,9,1000,getDataModelAtIndex(19));
> >
> >      startTime.setHMS(10,0,0);
> > -    itemsList << new
> >
> TimeListItem(20,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),10,1030,getDataModelAtIndex(20));
> > -    itemsList << new
> > TimeListItem(21,tr(""),10,1100,getDataModelAtIndex(21));
> > +    itemsList << new
> > TimeListItem(20,startTime,10,1030,getDataModelAtIndex(20));
> > +    itemsList << new
> > TimeListItem(21,startTime,10,1100,getDataModelAtIndex(21));
> >
> >      startTime.setHMS(11,0,0);
> > -    itemsList << new
> >
> TimeListItem(22,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),11,1130,getDataModelAtIndex(22));
> > -    itemsList << new
> > TimeListItem(23,tr(""),11,1200,getDataModelAtIndex(23));
> > +    itemsList << new
> > TimeListItem(22,startTime,11,1130,getDataModelAtIndex(22));
> > +    itemsList << new
> > TimeListItem(23,startTime,11,1200,getDataModelAtIndex(23));
> >
> >      startTime.setHMS(12,0,0);
> > -    itemsList << new
> >
> TimeListItem(24,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),12,1230,getDataModelAtIndex(24));
> > -    itemsList << new
> > TimeListItem(25,tr(""),12,1300,getDataModelAtIndex(25));
> > +    itemsList << new
> > TimeListItem(24,startTime,12,1230,getDataModelAtIndex(24));
> > +    itemsList << new
> > TimeListItem(25,startTime,12,1300,getDataModelAtIndex(25));
> >
> >      startTime.setHMS(13,0,0);
> > -    itemsList << new
> >
> TimeListItem(26,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),13,1330,getDataModelAtIndex(26));
> > -    itemsList << new
> > TimeListItem(27,tr(""),13,1400,getDataModelAtIndex(27));
> > +    itemsList << new
> > TimeListItem(26,startTime,13,1330,getDataModelAtIndex(26));
> > +    itemsList << new
> > TimeListItem(27,startTime,13,1400,getDataModelAtIndex(27));
> >
> >      startTime.setHMS(14,0,0);
> > -    itemsList << new
> >
> TimeListItem(28,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),14,1430,getDataModelAtIndex(28));
> > -    itemsList << new
> > TimeListItem(29,tr(""),14,1500,getDataModelAtIndex(29));
> > +    itemsList << new
> > TimeListItem(28,startTime,14,1430,getDataModelAtIndex(28));
> > +    itemsList << new
> > TimeListItem(29,startTime,14,1500,getDataModelAtIndex(29));
> >
> >      startTime.setHMS(15,0,0);
> > -    itemsList << new
> >
> TimeListItem(30,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),15,1530,getDataModelAtIndex(30));
> > -    itemsList << new
> > TimeListItem(31,tr(""),15,1600,getDataModelAtIndex(31));
> > +    itemsList << new
> > TimeListItem(30,startTime,15,1530,getDataModelAtIndex(30));
> > +    itemsList << new
> > TimeListItem(31,startTime,15,1600,getDataModelAtIndex(31));
> >
> >      startTime.setHMS(16,0,0);
> > -    itemsList << new
> >
> TimeListItem(32,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),16,1630,getDataModelAtIndex(32));
> > -    itemsList << new
> > TimeListItem(33,tr(""),16,1700,getDataModelAtIndex(33));
> > +    itemsList << new
> > TimeListItem(32,startTime,16,1630,getDataModelAtIndex(32));
> > +    itemsList << new
> > TimeListItem(33,startTime,16,1700,getDataModelAtIndex(33));
> >
> >      startTime.setHMS(17,0,0);
> > -    itemsList << new
> >
> TimeListItem(34,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),17,1730,getDataModelAtIndex(34));
> > -    itemsList << new
> > TimeListItem(35,tr(""),17,1800,getDataModelAtIndex(35));
> > +    itemsList << new
> > TimeListItem(34,startTime,17,1730,getDataModelAtIndex(34));
> > +    itemsList << new
> > TimeListItem(35,startTime,17,1800,getDataModelAtIndex(35));
> >
> >      startTime.setHMS(18,0,0);
> > -    itemsList << new
> >
> TimeListItem(36,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),18,1830,getDataModelAtIndex(36));
> > -    itemsList << new
> > TimeListItem(37,tr(""),18,1900,getDataModelAtIndex(37));
> > +    itemsList << new
> > TimeListItem(36,startTime,18,1830,getDataModelAtIndex(36));
> > +    itemsList << new
> > TimeListItem(37,startTime,18,1900,getDataModelAtIndex(37));
> >
> >      startTime.setHMS(19,0,0);
> > -    itemsList << new
> >
> TimeListItem(38,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),19,1930,getDataModelAtIndex(38));
> > -    itemsList << new
> > TimeListItem(39,tr(""),19,2000,getDataModelAtIndex(39));
> > +    itemsList << new
> > TimeListItem(38,startTime,19,1930,getDataModelAtIndex(38));
> > +    itemsList << new
> > TimeListItem(39,startTime,19,2000,getDataModelAtIndex(39));
> >
> >      startTime.setHMS(20,0,0);
> > -    itemsList << new
> >
> TimeListItem(40,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),20,2030,getDataModelAtIndex(40));
> > -    itemsList << new
> > TimeListItem(41,tr(""),20,2100,getDataModelAtIndex(41));
> > +    itemsList << new
> > TimeListItem(40,startTime,20,2030,getDataModelAtIndex(40));
> > +    itemsList << new
> > TimeListItem(41,startTime,20,2100,getDataModelAtIndex(41));
> >
> >      startTime.setHMS(21,0,0);
> > -    itemsList << new
> >
> TimeListItem(42,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),21,2130,getDataModelAtIndex(42));
> > -    itemsList << new
> > TimeListItem(43,tr(""),21,2200,getDataModelAtIndex(43));
> > +    itemsList << new
> > TimeListItem(42,startTime,21,2130,getDataModelAtIndex(42));
> > +    itemsList << new
> > TimeListItem(43,startTime,21,2200,getDataModelAtIndex(43));
> >
> >      startTime.setHMS(22,0,0);
> > -    itemsList << new
> >
> TimeListItem(44,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),22,2230,getDataModelAtIndex(44));
> > -    itemsList << new
> > TimeListItem(45,tr(""),22,2300,getDataModelAtIndex(45));
> > +    itemsList << new
> > TimeListItem(44,startTime,22,2230,getDataModelAtIndex(44));
> > +    itemsList << new
> > TimeListItem(45,startTime,22,2300,getDataModelAtIndex(45));
> >
> >      startTime.setHMS(23,0,0);
> > -    itemsList << new
> >
> TimeListItem(46,utilities.getTimeInFormat(startTime,UtilMethods::ETimeSyst
> > emLocale),23,2330,getDataModelAtIndex(46));
> > -    itemsList << new
> > TimeListItem(47,tr(""),23,2300,getDataModelAtIndex(47));
> > +    itemsList << new
> > TimeListItem(46,startTime,23,2330,getDataModelAtIndex(46));
> > +    itemsList << new
> > TimeListItem(47,startTime,23,2300,getDataModelAtIndex(47));
> >  }
> >
> >
> > @@ -232,6 +231,21 @@
> >      return;
> >  }
> >
> > +void TimeListModel::sortEventList()
> > +{
> > +    int i , j;
> > +    for(i=0;i < eventsList.count();i++)
> > +    {
> > +        for(j=0; j < i; j++)
> > +        {
> > +            if(((CalendarDataItem*)(eventsList.at(i)))->heightUnits >
> > ((CalendarDataItem*)(eventsList.at(j)))->heightUnits)
> > +            {
> > +                eventsList.swap( i, j );
> > +            }
> > +        }
> > +    }
> > +}
> > +
> >  void TimeListModel::assignDisplayValues()
> >  {
> >      int count = eventsList.count();
> > @@ -270,7 +284,8 @@
> >          }
> >
> >      }
> > -
> > +    sortEventList();
> > +
> >      //Assign width values based on number of items at an index and their
> > height
> >      for(int i=0;i<count;i++)
> >      {
> > --- lib/timelistmodel.h
> > +++ lib/timelistmodel.h
> > @@ -21,7 +21,7 @@
> >  class TimeListItem : QObject{
> >      Q_OBJECT
> >  public:
> > -    TimeListItem(int index, QString timeVal, int startHr, int endHr,
> > EventsDataModel *modelData, QObject *parent = 0);
> > +    TimeListItem(int index, QTime timeVal, int startHr, int endHr,
> > EventsDataModel *modelData, QObject *parent = 0);
> >
> >      enum TimeListItemRoles {
> >          Index = Qt::UserRole+1,
> > @@ -34,7 +34,7 @@
> >      int index;
> >      int startHr;
> >      int endHr;
> > -    QString timeVal;
> > +    QTime timeVal;
> >      EventsDataModel *dataModel;
> >
> >  };
> > @@ -68,6 +68,7 @@
> >      QVariant data(const QModelIndex &index, int role) const;
> >      void clearData();
> >      Q_INVOKABLE void loadGivenDayModel(QDate nextDate);
> > +    void sortEventList();
> >
> >  protected:
> >      QList<TimeListItem*> itemsList;
> > --- lib/utilmethods.cpp
> > +++ lib/utilmethods.cpp
> > @@ -169,6 +169,7 @@
> >
> >      startDateVal = inFocusDateVal.addDays(1-dayOfWeek);
> >      endDateVal = startDateVal.addDays(6);
> > +    //: %1 is StartDate and %2 is EndDate (will be deleted from code soon)
> >      QString toTxt = tr("%1
> >
> - %2").arg(getDateInFormat(startDateVal,UtilMethods::EDefault)).arg(getDat
> > eInFormat(endDateVal,UtilMethods::EDefault));
> >      return toTxt;
> >  }
> > @@ -281,7 +282,7 @@
> >          case E1DayB4: { alarmText = tr("1 day before"); break; }
> >          case E2DaysB4: { alarmText = tr("2 days before"); break; }
> >          case E1WeekB4: { alarmText = tr("1 week before"); break; }
> > -        case EOtherAlarm: { alarmText = tr("Other..."); break; }
> > +        case EOtherAlarm: { alarmText = tr("Other"); break; }
> >      }
> >      return alarmText;
> >  }
> > @@ -296,13 +297,23 @@
> >          case EEvery2Weeks: {repeatText = tr("Every 2 weeks"); break;}
> >          case EEveryMonth: {repeatText = tr("Every month"); break;}
> >          case EEveryYear: {repeatText = tr("Every year"); break;}
> > -        case EOtherRepeat: {repeatText = tr("Other..."); break;}
> > +        case EOtherRepeat: {repeatText = tr("Other"); break;}
> >      }
> >      return repeatText;
> >  }
> >
> > +QString UtilMethods::getRepeatEndTypeString(int repeatEndType)
> > +{
> > +    QString repeatEndText="";
> > +    switch(repeatEndType) {
> > +        case EForever: {repeatEndText = tr("Repeats forever"); break;}
> > +        case EForNTimes: {repeatEndText = tr("Ends after number of
> > times"); break;}
> > +        case EAfterDate:  {repeatEndText = tr("Ends after date"); break;}
> > +    }
> > +    return repeatEndText;
> > +}
> >
> > - QString UtilMethods::getLocalTimeZoneName()
> > +QString UtilMethods::getLocalTimeZoneName()
> >   {
> >       QString zoneName="";
> >       zoneName =
> KDateTime::currentLocalDateTime().timeZone().name();
> > --- lib/utilmethods.h
> > +++ lib/utilmethods.h
> > @@ -243,7 +243,7 @@
> >      Q_INVOKABLE QString getAlarmString(int alarmType);
> >      Q_INVOKABLE QString getLocalTimeZoneName();
> >      Q_INVOKABLE QString getRepeatTypeString(int repeatType);
> > -
> > +    Q_INVOKABLE QString getRepeatEndTypeString(int repeatEndType);
> >
> >      ~UtilMethods();
> >  };
> > --- main.qml
> > +++ main.qml
> > @@ -57,6 +57,9 @@
> >              }
> >          }
> >
> > +        Labs.TimezoneListModel {
> > +            id: timezonelist
> > +        }
> >
> >          Loader {
> >              id: addNewEventLoader
> > @@ -120,8 +123,6 @@
> >
> >      }
> >
> > -
> > -
> >      Component.onCompleted: {
> >          appDateInFocus = utilities.getCurrentDateVal();
> >          switchBook(dayViewComponent)
> > @@ -143,6 +144,7 @@
> >      property int searchResultCount:0
> >      property date appDateInFocus
> >      property int positionOfView:UtilMethods.EDayTimeStart
> > +    property variant addEditTimeZoneList : timezonelist
> >
> >
> >      Connections {
> > --- ts/meego-app-calendar.ts
> > +++ ts/meego-app-calendar.ts
> > @@ -24,41 +24,45 @@
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarDayView.qml" line="342"/>
> > +        <location filename="../../CalendarDayView.qml" line="349"/>
> >          <source>All day</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarDayView.qml" line="418"/>
> > +        <location filename="../../CalendarDayView.qml" line="426"/>
> >          <source>%1 more events exist</source>
> > -        <comment>Events count</comment>
> > +        <extracomment>%1 corresponds to Events
> count</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarDayView.qml" line="573"/>
> > +        <location filename="../../CalendarDayView.qml" line="582"/>
> >          <source>%1 - %2</source>
> > -        <comment>StartTime - EndTime</comment>
> > +        <extracomment>This is time range ("StartTime -
> > EndTime") %1 is StartTime and %2 is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >  </context>
> >  <context>
> >      <name>CalendarListView</name>
> >      <message>
> > -        <location filename="../../CalendarListView.qml" line="34"/>
> > -        <location filename="../../CalendarListView.qml" line="73"/>
> > +        <location filename="../../CalendarListView.qml" line="35"/>
> > +        <location filename="../../CalendarListView.qml" line="75"/>
> >          <source>%1 results found</source>
> > -        <comment>Search result count</comment>
> > +        <extracomment>%1 corresponds to Search result count
> > +----------
> > +%1 corresponds to Search result count</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarListView.qml" line="144"/>
> > +        <location filename="../../CalendarListView.qml" line="147"/>
> >          <source>All day</source>
> > +        <extracomment>This is time range ("StartTime -
> > EndTime") %1 is StartTime and %2 is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarListView.qml" line="144"/>
> > +        <location filename="../../CalendarListView.qml" line="147"/>
> >          <source>%1 - %2</source>
> >          <comment>StartTime - EndTime</comment>
> > +        <extracomment>This is time range ("StartTime -
> > EndTime") %1 is StartTime and %2 is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >  </context>
> > @@ -70,8 +74,9 @@
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/calendarmonthmodel.cpp"
> line="124"/>
> > +        <location filename="../../lib/calendarmonthmodel.cpp"
> > line="125"/>
> >          <source>%1 more events</source>
> > +        <extracomment>%1 corresponds to events
> count</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >  </context>
> > @@ -98,14 +103,16 @@
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarMonthView.qml" line="548"/>
> > +        <location filename="../../CalendarMonthView.qml" line="539"/>
> >          <source>All day</source>
> > +        <extracomment>This is time range ("StartTime -
> > EndTime") %1 is StartTime and %2 is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarMonthView.qml" line="548"/>
> > +        <location filename="../../CalendarMonthView.qml" line="539"/>
> >          <source>%1 - %2</source>
> >          <comment>StartTime - EndTime</comment>
> > +        <extracomment>This is time range ("StartTime -
> > EndTime") %1 is StartTime and %2 is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >  </context>
> > @@ -132,28 +139,29 @@
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarWeekView.qml" line="58"/>
> > -        <location filename="../../CalendarWeekView.qml" line="78"/>
> > -        <location filename="../../CalendarWeekView.qml" line="125"/>
> > +        <location filename="../../CalendarWeekView.qml" line="56"/>
> > +        <location filename="../../CalendarWeekView.qml" line="77"/>
> > +        <location filename="../../CalendarWeekView.qml" line="121"/>
> > +        <location filename="../../CalendarWeekView.qml" line="514"/>
> >          <source>%1 - %2</source>
> > -        <comment>Week's StartDate - Week's
> > EndDate</comment>
> > +        <extracomment>This is week date range %1 is Week's Start
> > Date and %2 is Week's EndDate
> > +----------
> > +This is week date range %1 is Week's Start Date and %2 is
> > Week's EndDate
> > +----------
> > +This is week date range %1 is Week's Start Date and %2 is
> > Week's EndDate
> > +----------
> > +This is time range ("StartTime - EndTime") %1 is StartTime
> and %2
> > is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarWeekView.qml" line="311"/>
> > +        <location filename="../../CalendarWeekView.qml" line="304"/>
> >          <source>All Day</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../CalendarWeekView.qml" line="354"/>
> > +        <location filename="../../CalendarWeekView.qml" line="348"/>
> >          <source>%1 more events exist</source>
> > -        <comment>Events count</comment>
> > -        <translation type="unfinished"></translation>
> > -    </message>
> > -    <message>
> > -        <location filename="../../CalendarWeekView.qml" line="519"/>
> > -        <source>%1 - %2</source>
> > -        <comment>StartTime - EndTime</comment>
> > +        <extracomment>%1 corresponds to events
> count</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >  </context>
> > @@ -183,40 +191,41 @@
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../EventDetailsView.qml" line="45"/>
> > +        <location filename="../../EventDetailsView.qml" line="46"/>
> >          <source>%1, %2 - %3</source>
> > -        <comment>Event StartDate, StartTime - EndTime </comment>
> > +        <extracomment>This is Date, Time range ("Event
> StartDate,
> > StartTime - EndTime ") %1 is Event StartDate, %2 is StartTime and %3 is
> > EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../EventDetailsView.qml" line="103"/>
> > +        <location filename="../../EventDetailsView.qml" line="105"/>
> >          <source>%1 (GMT %2)</source>
> > -        <comment>1:event time and 2:GMT offset</comment>
> > +        <extracomment>This is EventTime followed by GMT offset
> > ("%1 is event time and %2 is GMT offset")</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../EventDetailsView.qml" line="112"/>
> > +        <location filename="../../EventDetailsView.qml" line="115"/>
> >          <source>%1 %2</source>
> > -        <comment>Repeats frequency</comment>
> > +        <extracomment>This corresponds to Repeats frequency text. %1
> is
> > frequency of the event and %2 is the translated text for
> > "Repeats"</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../EventDetailsView.qml" line="112"/>
> > +        <location filename="../../EventDetailsView.qml" line="115"/>
> >          <source>Repeats</source>
> > +        <extracomment>This corresponds to Repeats frequency text. %1
> is
> > frequency of the event and %2 is the translated text for
> > "Repeats"</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../EventDetailsView.qml" line="171"/>
> > +        <location filename="../../EventDetailsView.qml" line="174"/>
> >          <source>Reminder: </source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../EventDetailsView.qml" line="212"/>
> > +        <location filename="../../EventDetailsView.qml" line="215"/>
> >          <source>Show in calendar view</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../EventDetailsView.qml" line="249"/>
> > +        <location filename="../../EventDetailsView.qml" line="252"/>
> >          <source>Edit</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> > @@ -232,24 +241,26 @@
> >  <context>
> >      <name>MultipleEventsPopup</name>
> >      <message>
> > -        <location filename="../../MultipleEventsPopup.qml" line="103"/>
> > +        <location filename="../../MultipleEventsPopup.qml" line="104"/>
> >          <source>All day</source>
> > +        <extracomment>This is Events Time range ("StartTime -
> > EndTime ") %1 is StartTime and %2 is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../MultipleEventsPopup.qml" line="103"/>
> > +        <location filename="../../MultipleEventsPopup.qml" line="104"/>
> >          <source>%1 - %2</source>
> >          <comment>StartTime - EndTime</comment>
> > +        <extracomment>This is Events Time range ("StartTime -
> > EndTime ") %1 is StartTime and %2 is EndTime</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../MultipleEventsPopup.qml" line="132"/>
> > +        <location filename="../../MultipleEventsPopup.qml" line="134"/>
> >          <source>%1, %2</source>
> > -        <comment>Event StartDate, Start and End Time
> String</comment>
> > +        <extracomment>This is Date, Time range ("Event
> StartDate,
> > StartTime and EndTime String ") %1 is Event StartDate, %2 is StartTime
> > and EndTime string (already translated and passed as
> > argument)</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../MultipleEventsPopup.qml" line="160"/>
> > +        <location filename="../../MultipleEventsPopup.qml" line="162"/>
> >          <source>Close</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> > @@ -277,170 +288,170 @@
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="463"/>
> > +        <location filename="../../NewEventView.qml" line="464"/>
> >          <source>Event title</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="533"/>
> > +        <location filename="../../NewEventView.qml" line="534"/>
> >          <source>Date & time</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="583"/>
> > +        <location filename="../../NewEventView.qml" line="584"/>
> >          <source>All-day</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="636"/>
> > +        <location filename="../../NewEventView.qml" line="637"/>
> >          <source>Start time</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="706"/>
> > +        <location filename="../../NewEventView.qml" line="707"/>
> >          <source>End time</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="789"/>
> > +        <location filename="../../NewEventView.qml" line="790"/>
> >          <source>More...</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="858"/>
> > +        <location filename="../../NewEventView.qml" line="859"/>
> >          <source>Time zone</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="890"/>
> > +        <location filename="../../NewEventView.qml" line="891"/>
> >          <source>Repeat</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="915"/>
> > -        <location filename="../../NewEventView.qml" line="918"/>
> > +        <location filename="../../NewEventView.qml" line="916"/>
> > +        <location filename="../../NewEventView.qml" line="919"/>
> >          <source>Never</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="918"/>
> > +        <location filename="../../NewEventView.qml" line="919"/>
> >          <source>Every day</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="918"/>
> > +        <location filename="../../NewEventView.qml" line="919"/>
> >          <source>Every week</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="918"/>
> > +        <location filename="../../NewEventView.qml" line="919"/>
> >          <source>Every 2 weeks</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="918"/>
> > +        <location filename="../../NewEventView.qml" line="919"/>
> >          <source>Every month</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="918"/>
> > +        <location filename="../../NewEventView.qml" line="919"/>
> >          <source>Every year</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="918"/>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > -        <source>Other...</source>
> > +        <location filename="../../NewEventView.qml" line="919"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> > +        <source>Other</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="973"/>
> > +        <location filename="../../NewEventView.qml" line="974"/>
> >          <source>Repeats forever</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="973"/>
> > -        <source>Ends after number of times...</source>
> > +        <location filename="../../NewEventView.qml" line="974"/>
> > +        <source>Ends after number of times</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="973"/>
> > -        <source>Ends after date...</source>
> > +        <location filename="../../NewEventView.qml" line="974"/>
> > +        <source>Ends after date</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1081"/>
> > +        <location filename="../../NewEventView.qml" line="1082"/>
> >          <source>Reminders</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1106"/>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1107"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>No reminder</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>10 minutes before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>15 minutes before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>30 minutes before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>1 hour before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>2 hours before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>1 day before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>2 days before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1110"/>
> > +        <location filename="../../NewEventView.qml" line="1111"/>
> >          <source>1 week before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1154"/>
> > +        <location filename="../../NewEventView.qml" line="1155"/>
> >          <source>Location</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1203"/>
> > +        <location filename="../../NewEventView.qml" line="1204"/>
> >          <source>Notes</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1256"/>
> > +        <location filename="../../NewEventView.qml" line="1257"/>
> >          <source>Delete event</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1352"/>
> > +        <location filename="../../NewEventView.qml" line="1353"/>
> >          <source>Save</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../NewEventView.qml" line="1372"/>
> > +        <location filename="../../NewEventView.qml" line="1373"/>
> >          <source>Cancel</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> > @@ -448,99 +459,116 @@
> >  <context>
> >      <name>TimeZoneListDelegate</name>
> >      <message>
> > -        <location filename="../../TimeZoneListDelegate.qml" line="46"/>
> > +        <location filename="../../TimeZoneListDelegate.qml" line="44"/>
> >          <source>%1 (GMT %2%3)</source>
> > +        <extracomment>This Time zone string %1 corresponds to
> > cityname, %2 corresponds to offset %3 corrsponds to translated string for
> > "00"</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >  </context>
> >  <context>
> >      <name>UtilMethods</name>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="172"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="173"/>
> >          <source>%1 - %2</source>
> > +        <extracomment>%1 is StartDate and %2 is EndDate (will be
> deleted
> > from code soon)</extracomment>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="275"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="276"/>
> >          <source>No reminder</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="276"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="277"/>
> >          <source>10 minutes before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="277"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="278"/>
> >          <source>15 minutes before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="278"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="279"/>
> >          <source>30 minutes before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="279"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="280"/>
> >          <source>1 hour before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="280"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="281"/>
> >          <source>2 hours before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="281"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="282"/>
> >          <source>1 day before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="282"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="283"/>
> >          <source>2 days before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="283"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="284"/>
> >          <source>1 week before</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="284"/>
> > -        <location filename="../../lib/utilmethods.cpp" line="299"/>
> > -        <source>Other...</source>
> > +        <location filename="../../lib/utilmethods.cpp" line="285"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="300"/>
> > +        <source>Other</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="293"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="294"/>
> >          <source>Never</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="294"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="295"/>
> >          <source>Every day</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="295"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="296"/>
> >          <source>Every week</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="296"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="297"/>
> >          <source>Every 2 weeks</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="297"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="298"/>
> >          <source>Every month</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../lib/utilmethods.cpp" line="298"/>
> > +        <location filename="../../lib/utilmethods.cpp" line="299"/>
> >          <source>Every year</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> > +    <message>
> > +        <location filename="../../lib/utilmethods.cpp" line="309"/>
> > +        <source>Repeats forever</source>
> > +        <translation type="unfinished"></translation>
> > +    </message>
> > +    <message>
> > +        <location filename="../../lib/utilmethods.cpp" line="310"/>
> > +        <source>Ends after number of times</source>
> > +        <translation type="unfinished"></translation>
> > +    </message>
> > +    <message>
> > +        <location filename="../../lib/utilmethods.cpp" line="311"/>
> > +        <source>Ends after date</source>
> > +        <translation type="unfinished"></translation>
> > +    </message>
> >  </context>
> >  <context>
> >      <name>main</name>
> > @@ -565,22 +593,22 @@
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../main.qml" line="88"/>
> > +        <location filename="../../main.qml" line="91"/>
> >          <source>Delete event?</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../main.qml" line="92"/>
> > +        <location filename="../../main.qml" line="95"/>
> >          <source>Cancel</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../main.qml" line="93"/>
> > +        <location filename="../../main.qml" line="96"/>
> >          <source>Delete</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >      <message>
> > -        <location filename="../../main.qml" line="103"/>
> > +        <location filename="../../main.qml" line="106"/>
> >          <source>Are you sure you want to delete this event?</source>
> >          <translation type="unfinished"></translation>
> >      </message>
> >
> > ++++++ meego-app-calendar.yaml
> > --- meego-app-calendar.yaml
> > +++ meego-app-calendar.yaml
> > @@ -1,6 +1,6 @@
> >  Name: meego-app-calendar
> >  Summary: MeeGo Calendar Application
> > -Version: 0.2.8
> > +Version: 0.2.9
> >  Release: 1
> >  Group: Applications/Productivity
> >  License: Apache 2.0
> > @@ -24,6 +24,8 @@
> >      - libmkcal
> >      - timed
> >      - meego-ux-content
> > +PkgBR:
> > +    - kcal-eds-devel
> >  Builder: qmake
> >  Files:
> >      - "%{_libdir}/qt4/imports/MeeGo/App/Calendar"
> >
> > _______________________________________________
> > MeeGo-commits mailing list
> > MeeGo-commits at meego.com
> > http://lists.meego.com/listinfo/meego-commits
> _______________________________________________
> MeeGo-packaging mailing list
> MeeGo-packaging at meego.com
> http://lists.meego.com/listinfo/meego-packaging


More information about the MeeGo-packaging mailing list