Merge lp:~mihirsoni/ubuntu-calendar-app/1297739 into lp:ubuntu-calendar-app
- 1297739
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | David Planella |
Approved revision: | 308 |
Merged at revision: | 353 |
Proposed branch: | lp:~mihirsoni/ubuntu-calendar-app/1297739 |
Merge into: | lp:ubuntu-calendar-app |
Diff against target: |
278 lines (+138/-7) 3 files modified
Defines.js (+26/-0) EventDetails.qml (+24/-2) NewEvent.qml (+88/-5) |
To merge this branch: | bzr merge lp:~mihirsoni/ubuntu-calendar-app/1297739 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
David Planella | Approve | ||
Alan Pope πΊπ§π± π¦ (community) | Approve | ||
Ubuntu Phone Apps Jenkins Bot | continuous-integration | Approve | |
Kunal Parmar | Needs Fixing | ||
Review via email: mp+221109@code.launchpad.net |
Commit message
Added Repeat options for weekdays.
Description of the change
Added Repeat options for weekdays.
- 289. By Mihir Soni
-
cleande the code
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
David Planella (dpm) wrote : | # |
Thanks Mihir. A couple of things I've seen:
21 + property var weekLabel:
22 + i18n.tr("Mo"),\
23 + i18n.tr("Tu"),\
24 + i18n.tr("We"),\
25 + i18n.tr("Th"),\
26 + i18n.tr("Fr"),\
27 + i18n.tr("Sa")];}', Qt.application, 'weekLabelObj');
Generally translations for week days are provided by Qt and translators don't need to translate them. See http://
42 + val += i18n.tr(
Same here, this shouldn't need explicit translation.
- 290. By Mihir Soni
-
Removed translation from weekdays
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:290
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 291. By Mihir Soni
-
resolved margin issues
- 292. By Mihir Soni
-
uncomment visibility condition
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:292
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
David Planella (dpm) wrote : | # |
So on my last comment I wasn't suggesting to remove translations, but rather to use the http://
As the branch stands now, the day names will appear in English only.
- 293. By Mihir Soni
-
Added localization form Qt.locale
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:293
http://
Executed test runs:
SUCCESS: http://
deb: http://
FAILURE: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 294. By Mihir Soni
-
Merge from trunk
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:294
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Kunal Parmar (pkunal-parmar) wrote : | # |
I dont see these options,
Daily, Weekly, Monthly, Yearly.
Every Weekday
Every Mon, Wed, Fri
Every Tue, Thu
Did you added those ?
- 295. By Mihir Soni
-
added more recurrence options
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:295
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 296. By Mihir Soni
-
merge from trunk
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:296
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 297. By Mihir Soni
-
This happens will be Weekly for all days of Week
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:297
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
@Kunal - are you happy for this to land now?
Kunal Parmar (pkunal-parmar) wrote : | # |
Getting warning after launching the NewEvent page.
file://
Kunal Parmar (pkunal-parmar) wrote : | # |
When I selected Weekly option and selected Sunday. its not getting saved and getting following in terminal
Array is
Kunal Parmar (pkunal-parmar) wrote : | # |
Added some more comments.
Mihir Soni (mihirsoni) wrote : | # |
> When I selected Weekly option and selected Sunday. its not getting saved and
> getting following in terminal
>
> Array is
Hi ,
I have modified the logic accordingly, but i observer that there is difference in QT and EDS days index. EDS doesn't consider 0 as Sunday.
- 298. By Mihir Soni
-
Change as per review comments
- 299. By Mihir Soni
-
merge from trunk
Mihir Soni (mihirsoni) wrote : | # |
I have incorporated all change as per your comments.
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:299
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
Testing this on the desktop. In the week view I created a new event for Mon, Wed, Fri. When I clicked save it didn't save and I see this in the console output:-
virtual QtOrganizer:
Mihir Soni (mihirsoni) wrote : | # |
Hi Popey,
this exists in latest merge as well , i this is causing because of some other issue not because of this MR.
I just took latest branch , and created event it shows same in console.
- 300. By Mihir Soni
Mihir Soni (mihirsoni) wrote : | # |
Hi Kunal,
I see , after saving data without sorting , it jumble all the time.
so if i store data ,
rule.daysOfWeek = [Qt.Monday,
after saving in EventDetails , it displays in different order.
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:300
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
I tried navigating to today, created an event and chose "every tuesday and thursday". It created an event today (Friday) and every Tuesday and Thursday.
Is this desired/expected and consistent with other calendars? I tried Google calendar, and if you choose "Every Tues/Thurs" then it doesn't create an event for today (Friday) but only starting next Tuesday.
I'd suggest we should do the same, and similar for Mon-Tues-Weds too.
Kunal Parmar (pkunal-parmar) wrote : | # |
> Hi Kunal,
>
> I see , after saving data without sorting , it jumble all the time.
>
> so if i store data ,
> rule.daysOfWeek = [Qt.Monday,
>
> after saving in EventDetails , it displays in different order.
What i mean is, currently I see you are sorting data when you are saving and you are sorting when you are reading.
I think you need sort operation at one place only. I think sorting while you are saving data should be good enough. I guess we should get sorted data back.
- 301. By Mihir Soni
-
remove sorting from all places
Mihir Soni (mihirsoni) wrote : | # |
> > Hi Kunal,
> >
> > I see , after saving data without sorting , it jumble all the time.
> >
> > so if i store data ,
> > rule.daysOfWeek = [Qt.Monday,
> >
> > after saving in EventDetails , it displays in different order.
>
> What i mean is, currently I see you are sorting data when you are saving and
> you are sorting when you are reading.
>
> I think you need sort operation at one place only. I think sorting while you
> are saving data should be good enough. I guess we should get sorted data back.
As you mentioned , i modified it but it didn't work well on my machine. Could you suggest me if i have done something wrong ?
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:301
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
Looks like we got a new pep8 which is a bit more strict on comments. Can you fix those?
Mihir Soni (mihirsoni) wrote : | # |
Hi Kunal,
I tried to create an event on Sat , for weekely repeat option , Mon-Wed-Fri
Actual output :-
It created event on Sat, Mon-Wed-Fri.
Expected output :-
It should create an event starting from coming Mon-Wed-Fri instead of creating on Sat.
Also, if you observe the daysOfWeek sorting it got changed too.
as per last discussion here is the dump of event :
Before saving :-
objectName ->
modified -> true
itemType -> 502
itemDetails -> [object Object]
itemId -> qtorganizer:::
manager ->
collectionId -> qtorganizer:::
description -> This event should starts from coming Monday
displayLabel -> Mon-Wed-Fri
guid ->
allDay -> false
startDateTime -> Sat Jun 28 07:30:00 2014 GMT+0530
endDateTime -> Sat Jun 28 08:00:00 2014 GMT+0530
priority -> 0
recurrence -> QDeclarativeOrg
limit:10
frequency:2
DaysofWeek:1,3,5
location ->
After Saving :
modified -> false
itemType -> 502
itemDetails -> [object Object]
itemId -> qtorganizer:
manager -> qtorganizer:eds:
collectionId -> qtorganizer:
description -> This event should starts from coming Monday
displayLabel -> Mon-Wed-Fri
guid -> 20140627T191347
allDay -> false
startDateTime -> Sat Jun 28 07:30:00 2014 GMT+0530
endDateTime -> Sat Jun 28 08:00:00 2014 GMT+0530
priority -> 0
recurrence -> QDeclarativeOrg
limit:10
frequency:2
DaysofWeek:3,1,5
location ->
attendees -> [object Object]
I have removed blank keys to make it more visible
Kunal Parmar (pkunal-parmar) wrote : | # |
Hi,
Following line
event.recurrenc
should be inside below Condition.
if( event.itemType === Type.Event )
It looks like bug in original code, Can you check ?
Kunal Parmar (pkunal-parmar) wrote : | # |
Following code needs to be move to separate function.
166 + switch(
167 + case 2:
168 + rule.daysOfWeek = [Qt.Monday,
169 + break;
170 + case 3:
171 + rule.daysOfWeek = [Qt.Monday,
172 + break;
173 + case 4:
174 + rule.daysOfWeek = [Qt.Tuesday,
175 + break;
176 + case 5:
177 + rule.daysOfWeek = weekDays.length === 0 ? [date.getDay()] : weekDays.sort();
178 + break;
179 + }
Kunal Parmar (pkunal-parmar) wrote : | # |
>
> Also, if you observe the daysOfWeek sorting it got changed too.
In that case, just sort when reading the value. as while inserting sorting order is not preserved anyway.
- 302. By Mihir Soni
-
changes as per review comments
- 303. By Mihir Soni
-
Merge from trunk
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:303
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 304. By Mihir Soni
-
moved daysOfWeek into function
- 305. By Mihir Soni
-
removed hard code values from Enum values
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:305
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 306. By Mihir Soni
-
Removed typos
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:306
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Kunal Parmar (pkunal-parmar) wrote : | # |
Thanks, added few more comments
- 307. By Mihir Soni
-
Changes as per review comments
- 308. By Mihir Soni
-
resolved typo
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:307
http://
Executed test runs:
UNSTABLE: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
I just tried this branch on device. Created an event for today, repeating for Tuesday and Thursday only. It appears in my calendar on Friday, and every Friday.
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:308
http://
Executed test runs:
UNSTABLE: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Mihir Soni (mihirsoni) wrote : | # |
I have observed this was wondering it is something with wrong with my machine.
But if we look at event Details, it shows proper information including of recurrence.
I am still investigating this issue.
Mihir Soni (mihirsoni) wrote : | # |
This MR is blocked on eds bug #1336880
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:308
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
Based on the comments from Renato on the linked bug I'm approving this.
David Planella (dpm) wrote : | # |
Top-approving after discussion with popey.
Preview Diff
1 | === modified file 'Defines.js' |
2 | --- Defines.js 2014-04-13 10:24:08 +0000 |
3 | +++ Defines.js 2014-07-01 09:17:37 +0000 |
4 | @@ -17,9 +17,18 @@ |
5 | |
6 | var recurrenceLabel = getRecurrenceLabels(); |
7 | var limitLabel = getLimitLabels(); |
8 | +var weekLabel = getWeekLabels(); |
9 | +// It contains multiple weekly entries to handle following occurence |
10 | +//1.Every Weekday (Monday to Friday |
11 | +//2.Every Monday, Wednesday and Friday |
12 | +//3.Every Tuesday and Thursday |
13 | +//4.Weekly |
14 | var recurrenceValue = [ QtPim.RecurrenceRule.Invalid, |
15 | QtPim.RecurrenceRule.Daily, |
16 | QtPim.RecurrenceRule.Weekly, |
17 | + QtPim.RecurrenceRule.Weekly, |
18 | + QtPim.RecurrenceRule.Weekly, |
19 | + QtPim.RecurrenceRule.Weekly, |
20 | QtPim.RecurrenceRule.Monthly, |
21 | QtPim.RecurrenceRule.Yearly]; |
22 | |
23 | @@ -48,6 +57,9 @@ |
24 | QtObject {\ |
25 | property var recurrenceLabel:[i18n.tr("Once"),\ |
26 | i18n.tr("Daily"),\ |
27 | + i18n.tr("Every Weekday (Monday to Friday)"),\ |
28 | + i18n.tr("Every Monday, Wednesday and Friday"),\ |
29 | + i18n.tr("Every Tuesday and Thursday"),\ |
30 | i18n.tr("Weekly"),\ |
31 | i18n.tr("Monthly"),\ |
32 | i18n.tr("Yearly")];}', Qt.application, 'RecurrenceLabelObj'); |
33 | @@ -62,3 +74,17 @@ |
34 | i18n.tr("After Date")];}', Qt.application, 'LimitLabelObj'); |
35 | return object.limitLabel; |
36 | } |
37 | +function getWeekLabels(){ |
38 | + var object = Qt.createQmlObject('\ |
39 | + import QtQuick 2.0;\ |
40 | + import Ubuntu.Components 0.1;\ |
41 | + QtObject {\ |
42 | + property var weekLabel:[Qt.locale().dayName(7,Locale.NarrowFormat),\ |
43 | + Qt.locale().dayName(1,Locale.NarrowFormat),\ |
44 | + Qt.locale().dayName(2,Locale.NarrowFormat),\ |
45 | + Qt.locale().dayName(3,Locale.NarrowFormat),\ |
46 | + Qt.locale().dayName(4,Locale.NarrowFormat),\ |
47 | + Qt.locale().dayName(5,Locale.NarrowFormat),\ |
48 | + Qt.locale().dayName(6,Locale.NarrowFormat)];}', Qt.application, 'weekLabelObj'); |
49 | + return object.weekLabel; |
50 | +} |
51 | |
52 | === modified file 'EventDetails.qml' |
53 | --- EventDetails.qml 2014-06-27 00:03:24 +0000 |
54 | +++ EventDetails.qml 2014-07-01 09:17:37 +0000 |
55 | @@ -27,6 +27,7 @@ |
56 | title: "Event Details" |
57 | |
58 | Component.onCompleted: { |
59 | + |
60 | showEvent(event); |
61 | } |
62 | |
63 | @@ -56,13 +57,27 @@ |
64 | } |
65 | |
66 | index = recurrenceRule[0].frequency ; |
67 | + if(index === RecurrenceRule.Weekly ){ |
68 | + var sorted = recurrenceRule[0].daysOfWeek.sort(); |
69 | + var val = i18n.tr("Every ") |
70 | + for(var j=0;j<sorted.length;++j){ |
71 | + val += Qt.locale().dayName(sorted[j],Locale.LongFormat) + " ," |
72 | + } |
73 | + weekDaysHeader.value = val.slice(0,-1) // Trim last comma from the string |
74 | + weekDaysHeader.visible = true; |
75 | + } |
76 | } |
77 | else{ |
78 | limitHeader.visible = false |
79 | index = 0 |
80 | } |
81 | } |
82 | - recurrentHeader.value = Defines.recurrenceLabel[index]; |
83 | + // This happens will be weekly in following cases: |
84 | + // 1. Weekdays Monday to Friday |
85 | + // 2. Monday,Wednesday,Friday |
86 | + // 3. Tuesday & Thursday |
87 | + // 4. Manual weekdays |
88 | + recurrentHeader.value = Defines.recurrenceLabel[index === RecurrenceRule.Weekly ? 5 : index]; |
89 | } |
90 | |
91 | function updateContacts(event) { |
92 | @@ -353,7 +368,7 @@ |
93 | |
94 | //Guest Entries ends |
95 | ThinDivider{} |
96 | - property int recurranceAreaMaxWidth: Math.max( recurrentHeader.headerWidth, reminderHeader.headerWidth,limitHeader.headerWidth) //Dynamic Height |
97 | + property int recurranceAreaMaxWidth: Math.max( recurrentHeader.headerWidth, reminderHeader.headerWidth,weekDaysHeader.headerWidth,limitHeader.headerWidth) //Dynamic Height |
98 | EventDetailsInfo{ |
99 | id: recurrentHeader |
100 | xMargin: column.recurranceAreaMaxWidth |
101 | @@ -365,10 +380,17 @@ |
102 | header: i18n.tr("Remind me") |
103 | } |
104 | EventDetailsInfo{ |
105 | + id: weekDaysHeader |
106 | + xMargin: column.recurranceAreaMaxWidth |
107 | + header: i18n.tr("Repeats On"); |
108 | + visible: false |
109 | + } |
110 | + EventDetailsInfo{ |
111 | id: limitHeader |
112 | xMargin: column.recurranceAreaMaxWidth |
113 | header: i18n.tr("Repetition Ends") |
114 | } |
115 | + |
116 | } |
117 | } |
118 | } |
119 | |
120 | === modified file 'NewEvent.qml' |
121 | --- NewEvent.qml 2014-06-26 22:48:45 +0000 |
122 | +++ NewEvent.qml 2014-07-01 09:17:37 +0000 |
123 | @@ -101,7 +101,8 @@ |
124 | if(e.recurrence ) { |
125 | var recurrenceRule = e.recurrence.recurrenceRules; |
126 | index = ( recurrenceRule.length > 0 ) ? recurrenceRule[0].frequency : 0; |
127 | - if(index > 0 ){ |
128 | + if(index > 0 ) |
129 | + { |
130 | limit.visible = true; |
131 | if(recurrenceRule[0].limit !== undefined){ |
132 | var temp = recurrenceRule[0].limit; |
133 | @@ -118,6 +119,15 @@ |
134 | // If limit is infinite |
135 | limitOptions.selectedIndex = 0; |
136 | } |
137 | + if(index === RecurrenceRule.Weekly){ |
138 | + index = getWeekDaysIndex(recurrenceRule[0].daysOfWeek.sort()); |
139 | + } |
140 | + if(recurrenceRule[0].daysOfWeek.length>0 && index === 5){ |
141 | + for(var j = 0;j<recurrenceRule[0].daysOfWeek.length;++j){ |
142 | + //Start childern after first element. |
143 | + weeksRow.children[recurrenceRule[0].daysOfWeek[j]+1].checked = true; |
144 | + } |
145 | + } |
146 | } |
147 | } |
148 | recurrenceOption.selectedIndex = index; |
149 | @@ -132,7 +142,26 @@ |
150 | } |
151 | reminderOption.selectedIndex = index; |
152 | } |
153 | + function getWeekDaysIndex(daysOfWeek){ |
154 | + var index = 0; |
155 | + if(compareArrays(daysOfWeek,[Qt.Monday,Qt.Tuesday,Qt.Wednesday,Qt.Thursday,Qt.Friday])) |
156 | + index = 2 |
157 | + else if(compareArrays(daysOfWeek,[Qt.Monday,Qt.Wednesday,Qt.Friday])) |
158 | + index = 3 |
159 | + else if(compareArrays(daysOfWeek,[Qt.Tuesday,Qt.Thursday])) |
160 | + index = 4 |
161 | + else |
162 | + index = 5 |
163 | + return index; |
164 | + } |
165 | |
166 | + function compareArrays(daysOfWeek, actualArray){ |
167 | + if (daysOfWeek.length !== actualArray.length) return false; |
168 | + for (var i = 0; i < actualArray.length; i++) { |
169 | + if (daysOfWeek[i] !== actualArray[i]) return false; |
170 | + } |
171 | + return true; |
172 | + } |
173 | //Save the new or Existing event |
174 | function saveToQtPim() { |
175 | internal.clearFocus() |
176 | @@ -159,8 +188,8 @@ |
177 | var recurrenceRule = Defines.recurrenceValue[ recurrenceOption.selectedIndex ]; |
178 | var rule = Qt.createQmlObject("import QtOrganizer 5.0; RecurrenceRule {}", event.recurrence,"NewEvent.qml"); |
179 | if( recurrenceRule !== RecurrenceRule.Invalid ) { |
180 | - |
181 | rule.frequency = recurrenceRule; |
182 | + rule.daysOfWeek = getDaysOfWeek(); |
183 | if(limitOptions.selectedIndex === 1 && recurrenceOption.selectedIndex > 0){ |
184 | rule.limit = parseInt(limitCount.text); |
185 | } |
186 | @@ -171,8 +200,9 @@ |
187 | rule.limit = undefined; |
188 | } |
189 | } |
190 | + event.recurrence.recurrenceRules = [rule]; |
191 | } |
192 | - event.recurrence.recurrenceRules = [rule]; |
193 | + |
194 | //remove old reminder value |
195 | var oldVisualReminder = event.detail(Detail.VisualReminder); |
196 | if(oldVisualReminder) { |
197 | @@ -199,11 +229,28 @@ |
198 | audibleReminder.secondsBeforeStart = reminderTime; |
199 | event.setDetail(audibleReminder); |
200 | } |
201 | - |
202 | model.saveItem(event); |
203 | pageStack.pop(); |
204 | } |
205 | } |
206 | + function getDaysOfWeek(){ |
207 | + var daysOfWeek = []; |
208 | + switch(recurrenceOption.selectedIndex){ |
209 | + case 2: |
210 | + daysOfWeek = [Qt.Monday,Qt.Tuesday,Qt.Wednesday,Qt.Thursday,Qt.Friday]; |
211 | + break; |
212 | + case 3: |
213 | + daysOfWeek = [Qt.Monday,Qt.Wednesday,Qt.Friday]; |
214 | + break; |
215 | + case 4: |
216 | + daysOfWeek = [Qt.Tuesday,Qt.Thursday]; |
217 | + break; |
218 | + case 5: |
219 | + daysOfWeek = internal.weekDays.length === 0 ? [date.getDay()] : internal.weekDays; |
220 | + break; |
221 | + } |
222 | + return daysOfWeek; |
223 | + } |
224 | |
225 | function openDatePicker (element, caller, callerProperty, mode) { |
226 | element.highlighted = true; |
227 | @@ -467,6 +514,42 @@ |
228 | containerHeight: itemHeight * 4 |
229 | } |
230 | } |
231 | + |
232 | + Row { |
233 | + id:weeksRow |
234 | + width: parent.width |
235 | + spacing: units.gu(4) |
236 | + anchors.margins: units.gu(1) |
237 | + visible: recurrenceOption.selectedIndex == 5 |
238 | + Label { |
239 | + text: i18n.tr("Repeats On:") |
240 | + anchors.verticalCenter: parent.verticalCenter |
241 | + } |
242 | + Repeater{ |
243 | + model: Defines.weekLabel |
244 | + width: parent.width |
245 | + CheckBox { |
246 | + id: weekCheck |
247 | + anchors.verticalCenter: parent.verticalCenter |
248 | + onCheckedChanged: { |
249 | + //EDS consider 7 as Sunday index so if the index is 0 then we have to explicitly push Sunday. |
250 | + if(index === 0) |
251 | + (checked) ? internal.weekDays.push(Qt.Sunday) : internal.weekDays.splice(internal.weekDays.indexOf(Qt.Sunday),1); |
252 | + else |
253 | + (checked) ? internal.weekDays.push(index) : internal.weekDays.splice(internal.weekDays.indexOf(index),1); |
254 | + } |
255 | + checked: { |
256 | + (internal.weekDays.length === 0 && index === date.getDay() && isEdit== false) ? true : false; |
257 | + } |
258 | + Label{ |
259 | + id:lbl |
260 | + text:modelData |
261 | + anchors.centerIn: parent |
262 | + width: parent.width + units.gu(7) |
263 | + } |
264 | + } |
265 | + } |
266 | + } |
267 | Item { |
268 | id: limit |
269 | visible: recurrenceOption.selectedIndex != 0 |
270 | @@ -563,7 +646,7 @@ |
271 | |
272 | QtObject { |
273 | id: internal |
274 | - |
275 | + property var weekDays : []; |
276 | function clearFocus() { |
277 | Qt.inputMethod.hide() |
278 | titleEdit.focus = false |
PASSED: Continuous integration, rev:289 91.189. 93.70:8080/ job/ubuntu- calendar- app-ci/ 498/ 91.189. 93.70:8080/ job/generic- mediumtests- trusty/ 2850 91.189. 93.70:8080/ job/generic- mediumtests- trusty/ 2850/artifact/ work/output/ *zip*/output. zip 91.189. 93.70:8080/ job/generic- mediumtests- utopic/ 389 91.189. 93.70:8080/ job/generic- mediumtests- utopic/ 389/artifact/ work/output/ *zip*/output. zip 91.189. 93.70:8080/ job/ubuntu- calendar- app-trusty- amd64-ci/ 332 91.189. 93.70:8080/ job/ubuntu- calendar- app-utopic- amd64-ci/ 56
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: 91.189. 93.70:8080/ job/ubuntu- calendar- app-ci/ 498/rebuild
http://