← Back to team overview

ubuntu-touch-coreapps-reviewers team mailing list archive

[Merge] lp:~majster-pl/ubuntu-calendar-app/new-agenda-view into lp:ubuntu-calendar-app

 

Szymon Waliczek has proposed merging lp:~majster-pl/ubuntu-calendar-app/new-agenda-view into lp:ubuntu-calendar-app.

Requested reviews:
  Ubuntu Calendar Developers (ubuntu-calendar-dev)

For more details, see:
https://code.launchpad.net/~majster-pl/ubuntu-calendar-app/new-agenda-view/+merge/287448

New Agenda page proposal.
-- 
Your team Ubuntu Calendar Developers is requested to review the proposed merge of lp:~majster-pl/ubuntu-calendar-app/new-agenda-view into lp:ubuntu-calendar-app.
=== modified file 'AgendaView.qml'
--- AgendaView.qml	2016-02-03 08:06:25 +0000
+++ AgendaView.qml	2016-02-29 10:27:23 +0000
@@ -19,7 +19,7 @@
 import QtQuick 2.4
 import QtOrganizer 5.0
 import Ubuntu.Components 1.3
-import Ubuntu.Components.ListItems 1.0 as ListItem
+//import Ubuntu.Components.ListItems 1.0 as ListItem
 import "dateExt.js" as DateExt
 import "./3rd-party/lunar.js" as Lunar
 
@@ -45,33 +45,20 @@
         return !!enabled_calendars.length;
     }
 
-    Action {
-        id: calendarTodayAction
-        objectName:"todaybutton"
-        iconName: "calendar-today"
-        text: i18n.tr("Today")
-        onTriggered: {
-            currentDay = new Date()
-            goToBeginning()
-        }
-    }
 
+    // Page Header
     header: PageHeader {
-        id: pageHeader
-
         title: i18n.tr("Agenda")
         leadingActionBar.actions: tabs.tabsAction
         trailingActionBar.actions: [
-            calendarTodayAction,
-            commonHeaderActions.newEventAction,
-            commonHeaderActions.showCalendarAction,
-            commonHeaderActions.reloadAction,
-            commonHeaderActions.syncCalendarAction,
-            commonHeaderActions.settingsAction
+            commonHeaderActions.settingsAction,
+            commonHeaderActions.newEventAction
         ]
         flickable: eventList
     }
 
+
+    // ListModel to hold all events for upcoming 7days.
     EventListModel {
         id: eventListModel
         startPeriod: currentDay.midnight();
@@ -88,6 +75,7 @@
         ]
     }
 
+    // spinner while agenda is loading.
     ActivityIndicator {
         visible: running
         running: eventListModel.isLoading
@@ -95,21 +83,15 @@
         z:2
     }
 
+    // Label to be showen when there is no upcoming events or if no calendar is selected.
     Label {
         id: noEventsOrCalendarsLabel
-        text: {
-            var default_title = i18n.tr( "No upcoming events" );
-
-            if ( !root.hasEnabledCalendars() ) {
-                default_title = i18n.tr("You have no calendars enabled")
-            }
-
-            return default_title;
-        }
-        visible: (eventListModel.count === 0) && !eventListModel.isLoading
+        text: !root.hasEnabledCalendars() ? i18n.tr("You have no calendars enabled") : i18n.tr( "No upcoming events" )
+        visible: (eventListModel.itemCount === 0) && !eventListModel.isLoading
         anchors.centerIn: parent
     }
 
+    // button to be showen when no calendar is selected (onClick will take user to list of all calendars)
     Button {
         text: i18n.tr( "Enable calendars" )
         visible: !root.hasEnabledCalendars()
@@ -124,6 +106,7 @@
         }
     }
 
+    // Main ListView with all upcoming events.
     ListView{
         id: eventList
         objectName: "eventList"
@@ -134,14 +117,17 @@
         delegate: listDelegate
     }
 
+    // Scrollbar
     Scrollbar{
         flickableItem: eventList
         align: Qt.AlignTrailing
     }
 
+    // ListView delegate
     Component{
         id: listDelegate
 
+        // Main item to hold listitem delegate.
         Item {
             id: root
             property var event: eventListModel.items[index];
@@ -153,14 +139,15 @@
                 setDetails();
             }
 
+            // function to set all detail in delegate (to be run on every eventListModel change.
             function setDetails() {
                 if(event === null || event === undefined) {
                     return;
                 }
 
-                headerContainer.visible = false;
+                headerContainer.visible = false; // hide headerContainer
                 if( index == 0 ) {
-                    headerContainer.visible = true;
+                    headerContainer.visible = true; // if this is first event in that date then show headerContainer
                 } else {
                     var prevEvent = eventListModel.items[index-1];
                     if( prevEvent.startDateTime.midnight() < event.startDateTime.midnight()) {
@@ -174,7 +161,8 @@
 
                 // TRANSLATORS: the first argument (%1) refers to a start time for an event,
                 // while the second one (%2) refers to the end time
-                var timeString = i18n.tr("%1 - %2").arg(startTime).arg(endTime)
+                var timeStringStart = i18n.tr("%1").arg(startTime) + " -"
+                var timeStringEnd = i18n.tr("%1").arg(endTime)
 
                 if (mainView.displayLunarCalendar) {
                     var lunarDate = Lunar.calendar.solar2lunar(event.startDateTime.getFullYear(),
@@ -183,18 +171,31 @@
                     header.text = i18n.tr("%1 %2 %3 %4 %5").arg(lunarDate.gzYear).arg(lunarDate .IMonthCn).arg(lunarDate.IDayCn)
                                                             .arg(lunarDate.gzDay).arg(lunarDate.isTerm ? lunarDate.Term : "")
                 } else {
-                    header.text = date
+                    header.text = date.charAt(0).toUpperCase() + date.slice(1);
                 }
 
-                timeLabel.text = timeString
+                timeLabelStart.text = timeStringStart
+                timeLabelEnd.text = timeStringEnd
                 header.color = event.startDateTime.toLocaleDateString() === new Date().toLocaleDateString() ? UbuntuColors.orange : UbuntuColors.darkGrey
-                detailsContainer.color = eventListModel.collection(event.collectionId).color
+                calendarIndicator.backgroundColor = eventListModel.collection(event.collectionId).color
 
-                if( event.displayLabel) {
-                    titleLabel.text = event.displayLabel;
+                if(event.displayLabel) {
+                    eventLabel.text = i18n.tr("%1").arg(event.displayLabel);
+                }
+                if(event.location) {
+                    locationLabel.text = i18n.tr("%1").arg(event.location);
+                    locationLabel.color = Theme.palette.selected.backgroundText
+                    locationLabel.font.italic = false
+                } else {
+                    locationLabel.text = i18n.tr("no location")
+                    locationLabel.color = "#b3b3b3"
+                    locationLabel.font.italic = true
                 }
             }
 
+
+
+            // main Column to hold   header (date) and details (time, Description and location)
             Column {
                 id: container
                 objectName: "eventContainer" + index
@@ -202,13 +203,17 @@
                 width: parent.width
                 anchors.top: parent.top
 
-                //Not using ListItem.Header because of bug #1380766
-                ListItem.Standard{
+                // Header ListItem eg. ( Friday, October 29th 2015 )
+                ListItem {
                     id: headerContainer
-
-                    height: visible ? header.height + units.gu(1) : 0
+                    height: visible ? header.height + units.gu(3) : 0
                     width: parent.width
-
+                    // ListItem background (changing color when pressed)
+                    Rectangle {
+                        anchors.fill: parent
+                        color: headerMouseArea.pressed ? "#ededed" : "#f7f7f7"
+                    }
+                    // Label to hold string with date eg. ( Friday, October 29th 2015 )
                     Label{
                         id: header
                         fontSize: "medium"
@@ -216,65 +221,119 @@
                         elide: Text.ElideRight
                         anchors {
                             left: parent.left
+                            leftMargin: units.gu(2)
+                            verticalCenter: parent.verticalCenter
+                        }
+                    }
+                    // MouseArea, onClicked new page with dayle view will open.
+                    MouseArea {
+                        id: headerMouseArea
+                        anchors.fill: parent
+                        onClicked: {
+                            Haptics.play()
+                            dateSelected(event.startDateTime);
+                        }
+                    }
+
+                }
+
+                // Main ListItem to hold Details about event eg. ( 19:30 -   Beer with the team )
+                //                                               ( 20:00     Hicter             )
+                ListItem {
+                    id: detailsListItem
+                    width: parent.width
+                    height: detailsColumn.height + units.gu(4)
+
+                    // ListItem background (changing color when pressed)
+                    Rectangle {
+                        anchors.fill: parent
+                        color: detailsMouseArea.pressed ? "#f7f7f7" : "white"
+                    }
+
+                    // Little icon in left top corner of every event to indicate color of the calendar.
+                    UbuntuShape {
+                        id: calendarIndicator
+                        anchors {
+                            left: parent.left;
                             leftMargin: units.gu(1)
+                            top: parent.top;
+                            topMargin: units.gu(1)
+                        }
+                        width: units.gu(1)
+                        height: width
+                        aspect: UbuntuShape.DropShadow
+                    }
+
+                    // main Column to hold Grid with times, Description and location.
+                    Column{
+                        id: detailsColumn
+                        anchors {
+                            left: parent.left
+                            right: parent.right
                             verticalCenter: parent.verticalCenter
                         }
-                    }
-                    onClicked: {
-                        dateSelected(event.startDateTime);
-                    }
-                    showDivider: false
-                }
-                ListItem.ThinDivider {}
-
-                Rectangle{
-                    id: detailsContainer
-
-                    anchors {
-                        left: parent.left
-                        right: parent.right
-                    }
-
-                    height: detailsColumn.height + units.gu(1)
-
-                    ListItem.Standard{
-                        showDivider:false
-                        Column{
-                            id: detailsColumn
-
+
+                        // Mian Grid
+                        Grid {
+                            columns: 2
+                            columnSpacing: units.gu(1.5)
                             anchors {
-                                top: parent.top
                                 left: parent.left
+                                leftMargin: units.gu(3)
                                 right: parent.right
-                                margins: units.gu(0.5)
                             }
 
-                            Label{
-                                id: timeLabel
-                                objectName: "timeLabel" + index
-                                color:"White"
+                            // Event time start
+                            Label{
+                                id: timeLabelStart
+                                objectName: "timeLabelStart" + index
+                                color: UbuntuColors.coolGrey
+                                fontSize: "small"
+                            }
+                            // Event descriptions
+                            Label{
+                                id: eventLabel
+                                objectName: "eventLabel" + index
+                                width: parent.width - timeLabelStart.width - parent.columnSpacing
+                                elide: Text.ElideRight
+                                color: UbuntuColors.coolGrey
                                 font.bold: true
                                 fontSize: "small"
-                                width: parent.width
                             }
 
+                            // Event time End
                             Label{
-                                id: titleLabel
-                                objectName: "titleLabel" + index
-
-                                color:"White"
+                                id: timeLabelEnd
+                                objectName: "timeLabelEnd" + index
+                                color: UbuntuColors.coolGrey
                                 fontSize: "small"
-                                width: parent.width
-                                maximumLineCount: 2
+                            }
+
+                            // Event Location
+                            Label{
+                                id: locationLabel
+                                objectName: "locationLabel" + index
+                                width: parent.width - timeLabelStart.width - parent.columnSpacing
                                 elide: Text.ElideRight
-                                wrapMode: Text.WrapAtWordBoundaryOrAnywhere
+                                color: UbuntuColors.coolGrey
+                                fontSize: "small"
                             }
                         }
+
+
+                    }
+
+                    // MouseArea, onClicked open new edit event page.
+                    MouseArea {
+                        id: detailsMouseArea
+                        anchors.fill: parent
                         onClicked: {
+                            Haptics.play()
                             pageStack.push(Qt.resolvedUrl("EventDetails.qml"), {"event":event,"model":eventListModel});
                         }
                     }
                 }
+
             }
         }
     }

=== modified file 'calendar.qml'
--- calendar.qml	2016-02-03 14:55:42 +0000
+++ calendar.qml	2016-02-29 10:27:23 +0000
@@ -92,9 +92,7 @@
     focus: true
     Keys.forwardTo: [pageStack.currentPage]
 
-    headerColor: "#E8E8E8"
-    backgroundColor: "#f5f5f5"
-    footerColor: "#ECECEC"
+    backgroundColor: "white"
     anchorToKeyboard: true
 
     Connections {
@@ -515,7 +513,7 @@
                     id: agendaTabLoader
 
                     asynchronous: true
-                    sourceComponent: agendaViewComp
+//                    sourceComponent: agendaViewComp
                     active: false
                     // Load page on demand and keep it on memory until the application is closed
                     enabled: tabs.isReady && (tabs.selectedTab == agendaTab)
@@ -524,6 +522,16 @@
                             active = true
                         }
                     }
+
+                    // workaround to problem with not displaying agenda after app start... ( ocures only when app starts witn agenda view )
+                    Timer {
+                        id: loadingDelay
+                        running: false
+                        interval: 500
+                        onTriggered: parent.sourceComponent = agendaViewComp
+                    }
+
+                    Component.onCompleted: loadingDelay.start()
                 }
             }
         }
@@ -611,6 +619,8 @@
                 tabs.currentDay = date;
                 tabs.selectedTabIndex = dayTab.index
             }
+            Component.onCompleted: print("NOSZ KURWA!")
         }
+
     }
 }

=== modified file 'po/com.ubuntu.calendar.pot'
--- po/com.ubuntu.calendar.pot	2016-02-17 14:56:56 +0000
+++ po/com.ubuntu.calendar.pot	2016-02-29 10:27:23 +0000
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-11 21:36+0800\n"
+"POT-Creation-Date: 2016-02-28 01:56+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
@@ -18,28 +18,37 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: ../AgendaView.qml:51 ../DayView.qml:40 ../MonthView.qml:39
-#: ../WeekView.qml:44 ../YearView.qml:36
-msgid "Today"
-msgstr ""
-
-#: ../AgendaView.qml:92
+#: ../AgendaView.qml:51 ../calendar.qml:289 ../calendar.qml:510
+msgid "Agenda"
+msgstr ""
+
+#: ../AgendaView.qml:89
+msgid "You have no calendars enabled"
+msgstr ""
+
+#: ../AgendaView.qml:89
 msgid "No upcoming events"
 msgstr ""
 
-#: ../AgendaView.qml:95
-msgid "You have no calendars enabled"
-msgstr ""
-
-#: ../AgendaView.qml:105
+#: ../AgendaView.qml:96
 msgid "Enable calendars"
 msgstr ""
 
 #. TRANSLATORS: the first argument (%1) refers to a start time for an event,
 #. while the second one (%2) refers to the end time
-#: ../AgendaView.qml:168 ../EventBubble.qml:133
-#, qt-format
-msgid "%1 - %2"
+#: ../AgendaView.qml:164 ../AgendaView.qml:165 ../AgendaView.qml:183
+#: ../AgendaView.qml:186
+#, qt-format
+msgid "%1"
+msgstr ""
+
+#: ../AgendaView.qml:171
+#, qt-format
+msgid "%1 %2 %3 %4 %5"
+msgstr ""
+
+#: ../AgendaView.qml:190
+msgid "no location"
 msgstr ""
 
 #. TRANSLATORS: the first parameter refers to the number of all-day events
@@ -59,21 +68,21 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../CalendarChoicePopup.qml:33 ../EventActions.qml:60
+#: ../CalendarChoicePopup.qml:33 ../EventActions.qml:63
 msgid "Calendars"
 msgstr ""
 
-#: ../CalendarChoicePopup.qml:37
+#: ../CalendarChoicePopup.qml:37 ../Settings.qml:32
 msgid "Back"
 msgstr ""
 
 #. TRANSLATORS: Please translate this string  to 15 characters only.
 #. Currently ,there is no way we can increase width of action menu currently.
-#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:36
+#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:37
 msgid "Sync"
 msgstr ""
 
-#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:36
+#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:37
 msgid "Syncing"
 msgstr ""
 
@@ -98,13 +107,23 @@
 msgid "Search contact"
 msgstr ""
 
+#: ../DayView.qml:41 ../MonthView.qml:40 ../WeekView.qml:45 ../YearView.qml:43
+msgid "Today"
+msgstr ""
+
 #. TRANSLATORS: this is a time formatting string,
 #. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
 #. It's used in the header of the month and week views
-#: ../DayView.qml:59 ../MonthView.qml:60 ../WeekView.qml:63
+#: ../DayView.qml:64 ../DayView.qml:157 ../MonthView.qml:62
+#: ../MonthView.qml:149 ../WeekView.qml:68 ../WeekView.qml:180
 msgid "MMMM yyyy"
 msgstr ""
 
+#: ../DayView.qml:155 ../MonthView.qml:144 ../WeekView.qml:178
+#, qt-format
+msgid "%1 %2"
+msgstr ""
+
 #: ../DeleteConfirmationDialog.qml:31
 msgid "Delete Recurring Event"
 msgstr ""
@@ -136,7 +155,7 @@
 msgid "Delete"
 msgstr ""
 
-#: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:324
+#: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:325
 msgid "Edit Event"
 msgstr ""
 
@@ -154,10 +173,21 @@
 msgid "Edit this"
 msgstr ""
 
-#: ../EventActions.qml:50 ../NewEvent.qml:324
+#: ../EventActions.qml:52 ../NewEvent.qml:325
 msgid "New Event"
 msgstr ""
 
+#: ../EventActions.qml:75 ../Settings.qml:30
+msgid "Settings"
+msgstr ""
+
+#. TRANSLATORS: the first argument (%1) refers to a start time for an event,
+#. while the second one (%2) refers to the end time
+#: ../EventBubble.qml:133
+#, qt-format
+msgid "%1 - %2"
+msgstr ""
+
 #. TRANSLATORS: the first argument (%1) refers to a time for an event,
 #. while the second one (%2) refers to title of event
 #: ../EventBubble.qml:144 ../EventBubble.qml:149
@@ -165,35 +195,55 @@
 msgid "%1 <b>%2</b>"
 msgstr ""
 
-#: ../EventDetails.qml:43 ../NewEvent.qml:435
+#: ../EventDetails.qml:44 ../NewEvent.qml:436
 msgid "Event Details"
 msgstr ""
 
 #. TRANSLATORS: the first parameter refers to the name of event calendar.
-#: ../EventDetails.qml:68
+#: ../EventDetails.qml:69
 #, qt-format
 msgid "%1 Calendar"
 msgstr ""
 
-#: ../EventDetails.qml:129
+#: ../EventDetails.qml:143
+#, qt-format
+msgid "%1 %2 %3 - %4 %5 %6 (All Day)"
+msgstr ""
+
+#: ../EventDetails.qml:147
 #, qt-format
 msgid "%1 - %2 (All Day)"
 msgstr ""
 
-#: ../EventDetails.qml:133
+#: ../EventDetails.qml:153
+#, qt-format
+msgid "%1 %2 %3 (All Day)"
+msgstr ""
+
+#: ../EventDetails.qml:156
 #, qt-format
 msgid "%1 (All Day)"
 msgstr ""
 
-#: ../EventDetails.qml:203
+#: ../EventDetails.qml:162
+#, qt-format
+msgid "%1 %2 %3, %4 - %5 %6 %7, %8"
+msgstr ""
+
+#: ../EventDetails.qml:171
+#, qt-format
+msgid "%1 %2 %3, %4 - %5"
+msgstr ""
+
+#: ../EventDetails.qml:238
 msgid "Edit"
 msgstr ""
 
-#: ../EventDetails.qml:354 ../NewEvent.qml:537
+#: ../EventDetails.qml:389 ../NewEvent.qml:538
 msgid "Guests"
 msgstr ""
 
-#: ../EventDetails.qml:397 ../EventReminder.qml:35 ../NewEvent.qml:634
+#: ../EventDetails.qml:432 ../EventReminder.qml:35 ../NewEvent.qml:635
 msgid "Reminder"
 msgstr ""
 
@@ -216,7 +266,7 @@
 #. TRANSLATORS: this refers to how often a recurrent event repeats
 #. and it is shown as the header of the option selector to choose
 #. its repetition
-#: ../EventRepetition.qml:242 ../NewEvent.qml:618
+#: ../EventRepetition.qml:242 ../NewEvent.qml:619
 msgid "Repeats"
 msgstr ""
 
@@ -247,6 +297,11 @@
 msgid "Weekly on %1"
 msgstr ""
 
+#: ../HeaderDateComponent.qml:90
+#, qt-format
+msgid "%1 %2 %3"
+msgstr ""
+
 #: ../LimitLabelModel.qml:25
 msgid "Never"
 msgstr ""
@@ -259,6 +314,10 @@
 msgid "After Date"
 msgstr ""
 
+#: ../MonthComponent.qml:262
+msgid "Wk"
+msgstr ""
+
 #: ../NewEvent.qml:84
 msgid "Save"
 msgstr ""
@@ -267,43 +326,43 @@
 msgid "End time can't be before start time"
 msgstr ""
 
-#: ../NewEvent.qml:334
+#: ../NewEvent.qml:335
 msgid "Error"
 msgstr ""
 
-#: ../NewEvent.qml:336
+#: ../NewEvent.qml:337
 msgid "OK"
 msgstr ""
 
-#: ../NewEvent.qml:389
+#: ../NewEvent.qml:390
 msgid "From"
 msgstr ""
 
-#: ../NewEvent.qml:402
+#: ../NewEvent.qml:403
 msgid "To"
 msgstr ""
 
-#: ../NewEvent.qml:419
+#: ../NewEvent.qml:420
 msgid "All day event"
 msgstr ""
 
-#: ../NewEvent.qml:448
+#: ../NewEvent.qml:449
 msgid "Event Name"
 msgstr ""
 
-#: ../NewEvent.qml:466
+#: ../NewEvent.qml:467
 msgid "Description"
 msgstr ""
 
-#: ../NewEvent.qml:484
+#: ../NewEvent.qml:485
 msgid "Location"
 msgstr ""
 
-#: ../NewEvent.qml:499 com.ubuntu.calendar_calendar.desktop.in.in.h:1
+#: ../NewEvent.qml:500 com.ubuntu.calendar_calendar.desktop.in.in.h:1
 msgid "Calendar"
 msgstr ""
 
-#: ../NewEvent.qml:541
+#: ../NewEvent.qml:542
 msgid "Add Guest"
 msgstr ""
 
@@ -390,52 +449,56 @@
 msgid "2 weeks"
 msgstr ""
 
+#: ../Settings.qml:60
+msgid "Show week numbers"
+msgstr ""
+
+#: ../Settings.qml:91
+msgid "Show lunar calendar"
+msgstr ""
+
 #: ../TimeLineBase.qml:73
 msgid "Untitled"
 msgstr ""
 
 #. TRANSLATORS: W refers to Week, followed by the actual week number (%1)
-#: ../TimeLineHeader.qml:54
+#: ../TimeLineHeader.qml:53
 #, qt-format
 msgid "W%1"
 msgstr ""
 
-#: ../TimeLineHeader.qml:66
+#: ../TimeLineHeader.qml:65
 msgid "All Day"
 msgstr ""
 
-#: ../YearView.qml:54
+#: ../YearView.qml:61 ../YearView.qml:112
 #, qt-format
 msgid "Year %1"
 msgstr ""
 
-#: ../calendar.qml:45
+#: ../calendar.qml:46
 msgid ""
 "Calendar app accept four arguments: --starttime, --endtime, --newevent and --"
 "eventid. They will be managed by system. See the source for a full comment "
 "about them"
 msgstr ""
 
-#: ../calendar.qml:354
+#: ../calendar.qml:257 ../calendar.qml:426
 msgid "Year"
 msgstr ""
 
-#: ../calendar.qml:388
+#: ../calendar.qml:265 ../calendar.qml:447
 msgid "Month"
 msgstr ""
 
-#: ../calendar.qml:421
+#: ../calendar.qml:273 ../calendar.qml:468
 msgid "Week"
 msgstr ""
 
-#: ../calendar.qml:459
+#: ../calendar.qml:281 ../calendar.qml:489
 msgid "Day"
 msgstr ""
 
-#: ../calendar.qml:491
-msgid "Agenda"
-msgstr ""
-
 #: com.ubuntu.calendar_calendar.desktop.in.in.h:2
 msgid "A calendar for Ubuntu which syncs with online accounts."
 msgstr ""


Follow ups