Merge lp:~pkunal-parmar/ubuntu-calendar-app/SyncSelection into lp:ubuntu-calendar-app

Proposed by Kunal Parmar
Status: Merged
Approved by: Mihir Soni
Approved revision: 713
Merged at revision: 715
Proposed branch: lp:~pkunal-parmar/ubuntu-calendar-app/SyncSelection
Merge into: lp:ubuntu-calendar-app
Diff against target: 342 lines (+104/-4)
9 files modified
MonthComponent.qml (+24/-2)
MonthComponentDateDelegate.qml (+1/-0)
MonthView.qml (+7/-0)
TimeLineBaseComponent.qml (+7/-0)
TimeLineHeader.qml (+14/-0)
TimeLineHeaderComponent.qml (+18/-2)
WeekView.qml (+7/-0)
calendar.qml (+11/-0)
dateExt.js (+15/-0)
To merge this branch: bzr merge lp:~pkunal-parmar/ubuntu-calendar-app/SyncSelection
Reviewer Review Type Date Requested Status
Mihir Soni Approve
Ubuntu Phone Apps Jenkins Bot continuous-integration Approve
Review via email: mp+270237@code.launchpad.net

Commit message

resolves Bug #1475747

Description of the change

resolves Bug #1475747

To post a comment you must log in.
713. By Kunal Parmar

print statement removed

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Mihir Soni (mihirsoni) wrote :

Looks good to me !

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'MonthComponent.qml'
--- MonthComponent.qml 2015-08-03 04:32:33 +0000
+++ MonthComponent.qml 2015-09-05 05:34:16 +0000
@@ -30,6 +30,7 @@
3030
31 property var currentMonth;31 property var currentMonth;
32 property var isYearView;32 property var isYearView;
33 property var selectedDay;
3334
34 property string dayLabelFontSize: "medium"35 property string dayLabelFontSize: "medium"
35 property string dateLabelFontSize: "large"36 property string dateLabelFontSize: "large"
@@ -40,7 +41,8 @@
40 property alias dateLabelDelegate : dateLabelRepeater.delegate41 property alias dateLabelDelegate : dateLabelRepeater.delegate
4142
42 signal monthSelected(var date);43 signal monthSelected(var date);
43 signal dateSelected(var date)44 signal dateSelected(var date);
45 signal dateHighlighted(var date);
4446
45 //creatng timer only if we need to show events in month47 //creatng timer only if we need to show events in month
46 Loader {48 Loader {
@@ -90,6 +92,7 @@
90 property int todayMonth: today.getMonth()92 property int todayMonth: today.getMonth()
91 property int todayYear: today.getFullYear()93 property int todayYear: today.getFullYear()
9294
95
93 //date from month will start, this date might be from previous month96 //date from month will start, this date might be from previous month
94 property var monthStart: currentMonth.weekStart( Qt.locale().firstDayOfWeek )97 property var monthStart: currentMonth.weekStart( Qt.locale().firstDayOfWeek )
95 property int monthStartDate: monthStart.getDate()98 property int monthStartDate: monthStart.getDate()
@@ -113,10 +116,29 @@
113 property int dayFontSize: FontUtils.sizeToPixels(root.dayLabelFontSize)116 property int dayFontSize: FontUtils.sizeToPixels(root.dayLabelFontSize)
114117
115 property int selectedIndex: -1118 property int selectedIndex: -1
119
120 function findSelectedDayIndex(){
121 if(!selectedDay) {
122 return -1;
123 }
124
125 if( todayMonth === selectedDay.getMonth() && selectedDay.getFullYear() === todayYear){
126 return selectedDay.getDate() +
127 (Date.daysInMonth(monthStartYear, monthStartMonth) - monthStartDate);
128 } else {
129 return -1;
130 }
131 }
132 }
133
134 onSelectedDayChanged: {
135 if( isCurrentItem ) {
136 intern.selectedIndex = intern.findSelectedDayIndex();
137 }
116 }138 }
117139
118 onCurrentMonthChanged: {140 onCurrentMonthChanged: {
119 intern.selectedIndex = -1141 intern.selectedIndex = -1;
120 }142 }
121143
122 Column{144 Column{
123145
=== modified file 'MonthComponentDateDelegate.qml'
--- MonthComponentDateDelegate.qml 2015-08-20 12:14:57 +0000
+++ MonthComponentDateDelegate.qml 2015-09-05 05:34:16 +0000
@@ -114,6 +114,7 @@
114 root.dateSelected(selectedDate);114 root.dateSelected(selectedDate);
115 } else {115 } else {
116 intern.selectedIndex = index116 intern.selectedIndex = index
117 root.dateHighlighted(selectedDate)
117 }118 }
118 }119 }
119 }120 }
120121
=== modified file 'MonthView.qml'
--- MonthView.qml 2015-03-01 14:01:35 +0000
+++ MonthView.qml 2015-09-05 05:34:16 +0000
@@ -25,8 +25,10 @@
25 objectName: "monthViewPage"25 objectName: "monthViewPage"
2626
27 property var currentMonth: DateExt.today();27 property var currentMonth: DateExt.today();
28 property var selectedDay;
2829
29 signal dateSelected(var date);30 signal dateSelected(var date);
31 signal dateHighlighted(var date);
3032
31 Keys.forwardTo: [monthViewPath]33 Keys.forwardTo: [monthViewPath]
3234
@@ -111,11 +113,16 @@
111 currentMonth: monthViewPath.addMonth(monthViewPath.startMonth,113 currentMonth: monthViewPath.addMonth(monthViewPath.startMonth,
112 monthViewPath.indexType(index));114 monthViewPath.indexType(index));
113115
116 selectedDay: monthViewPage.selectedDay
114 isYearView: false117 isYearView: false
115118
116 onDateSelected: {119 onDateSelected: {
117 monthViewPage.dateSelected(date);120 monthViewPage.dateSelected(date);
118 }121 }
122
123 onDateHighlighted: {
124 monthViewPage.dateHighlighted(date);
125 }
119 }126 }
120 }127 }
121 }128 }
122129
=== modified file 'TimeLineBaseComponent.qml'
--- TimeLineBaseComponent.qml 2015-07-25 05:19:10 +0000
+++ TimeLineBaseComponent.qml 2015-09-05 05:34:16 +0000
@@ -35,6 +35,7 @@
35 property bool isActive: false35 property bool isActive: false
36 property alias contentY: timeLineView.contentY36 property alias contentY: timeLineView.contentY
37 property alias contentInteractive: timeLineView.interactive37 property alias contentInteractive: timeLineView.interactive
38 property var selectedDay;
3839
39 property int type: ViewType.ViewTypeWeek40 property int type: ViewType.ViewTypeWeek
4041
@@ -44,6 +45,7 @@
44 property EventListModel mainModel;45 property EventListModel mainModel;
4546
46 signal dateSelected(var date);47 signal dateSelected(var date);
48 signal dateHighlighted(var date);
4749
48 function scrollToCurrentTime() {50 function scrollToCurrentTime() {
49 var currentTime = new Date();51 var currentTime = new Date();
@@ -139,10 +141,15 @@
139 contentX: timeLineView.contentX141 contentX: timeLineView.contentX
140 type: root.type142 type: root.type
141 isActive: root.isActive143 isActive: root.isActive
144 selectedDay: root.selectedDay
142145
143 onDateSelected: {146 onDateSelected: {
144 root.dateSelected(date);147 root.dateSelected(date);
145 }148 }
149
150 onDateHighlighted: {
151 root.dateHighlighted(date);
152 }
146 }153 }
147154
148 SimpleDivider{}155 SimpleDivider{}
149156
=== modified file 'TimeLineHeader.qml'
--- TimeLineHeader.qml 2015-07-25 05:19:10 +0000
+++ TimeLineHeader.qml 2015-09-05 05:34:16 +0000
@@ -30,8 +30,10 @@
30 property double contentX;30 property double contentX;
31 property int firstDayOfWeek: Qt.locale().firstDayOfWeek31 property int firstDayOfWeek: Qt.locale().firstDayOfWeek
32 property bool isActive: false;32 property bool isActive: false;
33 property var selectedDay;
3334
34 signal dateSelected(var date);35 signal dateSelected(var date);
36 signal dateHighlighted(var date);
3537
36 width: parent.width38 width: parent.width
37 height: units.gu(10)39 height: units.gu(10)
@@ -155,10 +157,22 @@
155 width: parent.width157 width: parent.width
156 height: units.gu(5)158 height: units.gu(5)
157 isCurrentItem: root.isActive159 isCurrentItem: root.isActive
160 selectedDay: {
161 if( root.selectedDay && startDay.weekNumber(Qt.locale().firstDayOfWeek)
162 === root.selectedDay.weekNumber(Qt.locale().firstDayOfWeek)) {
163 root.selectedDay;
164 } else {
165 null;
166 }
167 }
158168
159 onDateSelected: {169 onDateSelected: {
160 root.dateSelected(date);170 root.dateSelected(date);
161 }171 }
172
173 onDateHighlighted: {
174 root.dateHighlighted(date);
175 }
162 }176 }
163177
164 SimpleDivider{}178 SimpleDivider{}
165179
=== modified file 'TimeLineHeaderComponent.qml'
--- TimeLineHeaderComponent.qml 2015-07-25 05:19:10 +0000
+++ TimeLineHeaderComponent.qml 2015-09-05 05:34:16 +0000
@@ -31,27 +31,42 @@
31 property var currentDay31 property var currentDay
3232
33 property int highlightedIndex;33 property int highlightedIndex;
34 property var selectedDay;
3435
35 signal dateSelected(var date);36 signal dateSelected(var date);
37 signal dateHighlighted(var date);
3638
37 width: parent.width39 width: parent.width
38 height: units.gu(4)40 height: units.gu(4)
3941
42 function findSelectedDayIndex() {
43 if(!selectedDay){
44 return -1;
45 }
46 return DateExt.daysBetween(startDay, selectedDay);
47 }
48
40 onIsCurrentItemChanged: {49 onIsCurrentItemChanged: {
41 highlightedIndex = -150 highlightedIndex = -1
42 }51 }
4352
53 onSelectedDayChanged: {
54 if(isCurrentItem){
55 highlightedIndex = findSelectedDayIndex()
56 }
57 }
58
44 Repeater{59 Repeater{
45 model: type == ViewType.ViewTypeWeek ? 7 : 160 model: type == ViewType.ViewTypeWeek ? 7 : 1
4661
47 delegate: HeaderDateComponent{62 delegate: HeaderDateComponent{
48 date: type == ViewType.ViewTypeWeek ? startDay.addDays(index) : startDay63 date: type == ViewType.ViewTypeWeek ? startDay.addDays(index) : startDay
49 dayFormat: Locale.ShortFormat64 dayFormat: Locale.ShortFormat
50 highlighted: (type == ViewType.ViewTypeWeek) && (highlightedIndex == index)65 highlighted: (type == ViewType.ViewTypeWeek) && (highlightedIndex === index)
5166
52 dayColor: {67 dayColor: {
53 if( type == ViewType.ViewTypeWeek && date.isSameDay(DateExt.today())){68 if( type == ViewType.ViewTypeWeek && date.isSameDay(DateExt.today())){
54 header.highlightedIndex = index69 //header.highlightedIndex = index
55 UbuntuColors.orange70 UbuntuColors.orange
56 } /*else if( type == ViewType.ViewTypeDay && date.isSameDay(currentDay) ) {71 } /*else if( type == ViewType.ViewTypeDay && date.isSameDay(currentDay) ) {
57 UbuntuColors.orange72 UbuntuColors.orange
@@ -71,6 +86,7 @@
71 header.dateSelected(date);86 header.dateSelected(date);
72 } else {87 } else {
73 header.highlightedIndex = index88 header.highlightedIndex = index
89 header.dateHighlighted(date);
74 }90 }
75 }91 }
76 }92 }
7793
=== modified file 'WeekView.qml'
--- WeekView.qml 2015-03-20 17:32:03 +0000
+++ WeekView.qml 2015-09-05 05:34:16 +0000
@@ -28,8 +28,10 @@
28 property var dayStart: new Date();28 property var dayStart: new Date();
29 property var firstDay: dayStart.weekStart(Qt.locale().firstDayOfWeek);29 property var firstDay: dayStart.weekStart(Qt.locale().firstDayOfWeek);
30 property bool isCurrentPage: false30 property bool isCurrentPage: false
31 property var selectedDay;
3132
32 signal dateSelected(var date);33 signal dateSelected(var date);
34 signal dateHighlighted(var date);
3335
34 Keys.forwardTo: [weekViewPath]36 Keys.forwardTo: [weekViewPath]
3537
@@ -106,6 +108,7 @@
106 isActive: parent.PathView.isCurrentItem108 isActive: parent.PathView.isCurrentItem
107 startDay: firstDay.addDays( weekViewPath.indexType(index) * 7)109 startDay: firstDay.addDays( weekViewPath.indexType(index) * 7)
108 keyboardEventProvider: weekViewPath110 keyboardEventProvider: weekViewPath
111 selectedDay: weekViewPage.selectedDay
109112
110 onIsActiveChanged: {113 onIsActiveChanged: {
111 timeLineView.scrollTocurrentDate();114 timeLineView.scrollTocurrentDate();
@@ -115,6 +118,10 @@
115 weekViewPage.dateSelected(date);118 weekViewPage.dateSelected(date);
116 }119 }
117120
121 onDateHighlighted:{
122 weekViewPage.dateHighlighted(date);
123 }
124
118 Connections{125 Connections{
119 target: calendarTodayAction126 target: calendarTodayAction
120 onTriggered:{127 onTriggered:{
121128
=== modified file 'calendar.qml'
--- calendar.qml 2015-06-11 12:29:28 +0000
+++ calendar.qml 2015-09-05 05:34:16 +0000
@@ -214,6 +214,7 @@
214 Keys.forwardTo: [tabs.currentPage.item]214 Keys.forwardTo: [tabs.currentPage.item]
215215
216 property var currentDay: DateExt.today();216 property var currentDay: DateExt.today();
217 property var selectedDay;
217218
218 // Arguments on startup219 // Arguments on startup
219 property bool newevent: false;220 property bool newevent: false;
@@ -385,6 +386,7 @@
385 source: tabs.selectedTab == monthTab ? Qt.resolvedUrl("MonthView.qml"):""386 source: tabs.selectedTab == monthTab ? Qt.resolvedUrl("MonthView.qml"):""
386 onLoaded: {387 onLoaded: {
387 item.currentMonth = tabs.currentDay.midnight();388 item.currentMonth = tabs.currentDay.midnight();
389 item.selectedDay = tabs.selectedDay;
388 }390 }
389391
390 anchors{392 anchors{
@@ -399,6 +401,10 @@
399 tabs.currentDay = date;401 tabs.currentDay = date;
400 tabs.selectedTabIndex = dayTab.index;402 tabs.selectedTabIndex = dayTab.index;
401 }403 }
404
405 onDateHighlighted:{
406 tabs.selectedDay = date;
407 }
402 }408 }
403 }409 }
404 }410 }
@@ -414,6 +420,7 @@
414 onLoaded: {420 onLoaded: {
415 item.isCurrentPage= Qt.binding(function() { return tabs.selectedTab == weekTab })421 item.isCurrentPage= Qt.binding(function() { return tabs.selectedTab == weekTab })
416 item.dayStart = tabs.currentDay;422 item.dayStart = tabs.currentDay;
423 item.selectedDay = tabs.selectedDay;
417 }424 }
418425
419 anchors{426 anchors{
@@ -432,6 +439,10 @@
432 tabs.currentDay = date;439 tabs.currentDay = date;
433 tabs.selectedTabIndex = dayTab.index;440 tabs.selectedTabIndex = dayTab.index;
434 }441 }
442
443 onDateHighlighted:{
444 tabs.selectedDay = date;
445 }
435 }446 }
436 }447 }
437 }448 }
438449
=== modified file 'dateExt.js'
--- dateExt.js 2015-04-02 12:54:38 +0000
+++ dateExt.js 2015-09-05 05:34:16 +0000
@@ -132,3 +132,18 @@
132 return ( date1.getFullYear() === date2.getFullYear()132 return ( date1.getFullYear() === date2.getFullYear()
133 && date1.getMonth() === date2.getMonth() )133 && date1.getMonth() === date2.getMonth() )
134}134}
135
136function daysBetween( date1, date2 ) {
137 //Get 1 day in milliseconds
138 var one_day=1000*60*60*24;
139
140 // Convert both dates to milliseconds
141 var date1_ms = date1.getTime();
142 var date2_ms = date2.getTime();
143
144 // Calculate the difference in milliseconds
145 var difference_ms = date2_ms - date1_ms;
146
147 // Convert back to days and return
148 return Math.round(difference_ms/one_day);
149}

Subscribers

People subscribed via source and target branches

to status/vote changes: