ubuntu-touch-coreapps-reviewers team mailing list archive
-
ubuntu-touch-coreapps-reviewers team
-
Mailing list archive
-
Message #08722
[Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
Nekhelesh Ramananthan has proposed merging lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app.
Commit message:
- Transitioned EventsDetails.qml to PageHeader
- Removed uses of deprecated ListItems like Subtitled, Header etc
- Fixed translator comments and removed incorrect uses of i18n.tr() calls
- Sorted and categorized guests list into Attending, Not Attending and No Reply as per design
- Cleaned up code
Requested reviews:
Ubuntu Calendar Developers (ubuntu-calendar-dev)
Related bugs:
Bug #1393538 in Ubuntu Calendar App: "Redesign Event Details view"
https://bugs.launchpad.net/ubuntu-calendar-app/+bug/1393538
Bug #1552697 in Ubuntu Calendar App: ""%1 %2 %3 %4 %5" needs translators' comment"
https://bugs.launchpad.net/ubuntu-calendar-app/+bug/1552697
For more details, see:
https://code.launchpad.net/~nik90/ubuntu-calendar-app/revamp-eventdetails-page/+merge/288492
- Transitioned EventsDetails.qml to PageHeader
- Removed uses of deprecated ListItems like Subtitled, Header etc
- Fixed translator comments and removed incorrect uses of i18n.tr() calls
- Sorted and categorized guests list into Attending, Not Attending and No Reply as per design
- Cleaned up code
--
Your team Ubuntu Calendar Developers is requested to review the proposed merge of lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app.
=== modified file 'AgendaView.qml'
--- AgendaView.qml 2016-03-03 22:32:56 +0000
+++ AgendaView.qml 2016-03-09 09:23:12 +0000
@@ -161,8 +161,8 @@
ListItemLayout {
id: listitemlayout
padding.top: units.gu(1)
- title.text: mainView.displayLunarCalendar ? i18n.tr("%1 %2 %3 %4 %5").arg(lunarDate.gzYear).arg(lunarDate .IMonthCn).arg(lunarDate.IDayCn)
- .arg(lunarDate.gzDay).arg(lunarDate.isTerm ? lunarDate.Term : "")
+ title.text: mainView.displayLunarCalendar ? ("%1 %2 %3 %4 %5").arg(lunarDate.gzYear).arg(lunarDate .IMonthCn).arg(lunarDate.IDayCn)
+ .arg(lunarDate.gzDay).arg(lunarDate.isTerm ? lunarDate.Term : "")
: date
title.color: event.startDateTime.toLocaleDateString() === new Date().toLocaleDateString() ? UbuntuColors.orange : UbuntuColors.darkGrey
}
=== modified file 'AllDayEventComponent.qml'
--- AllDayEventComponent.qml 2016-03-04 03:08:09 +0000
+++ AllDayEventComponent.qml 2016-03-09 09:23:12 +0000
@@ -143,10 +143,8 @@
}
if(repeater.compactView) {
- // TRANSLATORS: the first parameter refers to the number of all-day events
- // on a given day. "Ev." is short form for "Events".
- // Please keep the translation of "Ev." to 3 characters only, as the week view
- // where it's shown has limited space
+ // TRANSLATORS: Please keep the translation of this string to a max of
+ // 5 characters as the week view where it is shown has limited space.
return i18n.tr("%1 event", "%1 events", events.length).arg(events.length)
} else {
if( events.length > 1) {
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2015-11-23 09:21:05 +0000
+++ CMakeLists.txt 2016-03-09 09:23:12 +0000
@@ -1,23 +1,34 @@
project(com.ubuntu.calendar)
cmake_minimum_required(VERSION 2.8.9)
+
find_program(INTLTOOL_MERGE intltool-merge)
+if(NOT INTLTOOL_MERGE)
+ message(FATAL_ERROR "Could not find intltool-merge, please install the intltool package")
+endif()
+
find_program(INTLTOOL_EXTRACT intltool-extract)
+if(NOT INTLTOOL_EXTRACT)
+ message(FATAL_ERROR "Could not find intltool-extract, please install the intltool package")
+endif()
+
+option(INSTALL_TESTS "Install the tests on make install" on)
+option(CLICK_MODE "Installs to a contained location" on)
# Standard install paths
include(GNUInstallDirs)
-option(INSTALL_TESTS "Install the tests on make install" on)
-option(CLICK_MODE "Installs to a contained location" on)
+# Tests
+enable_testing()
-set(APP_NAME calendar)
-set(DESKTOP_FILE "${PROJECT_NAME}_${APP_NAME}.desktop")
-set(APPLICATION_FILE "${PROJECT_NAME}_${APP_NAME}.application")
-set(URLS_FILE "${PROJECT_NAME}_${APP_NAME}.url-dispatcher")
-set(MAIN_QML calendar.qml)
-set(ICON_FILE calendar-app@xxxxxx)
-set(AUTOPILOT_DIR calendar_app)
-set(APP_HARDCODE calendar-app)
-set(UBUNTU_MANIFEST_PATH "click/manifest.json.in" CACHE INTERNAL "Relative path to the manifest file")
+set(APP_NAME calendar)
+set(DESKTOP_FILE "${PROJECT_NAME}_${APP_NAME}.desktop")
+set(APPLICATION_FILE "${PROJECT_NAME}_${APP_NAME}.application")
+set(URLS_FILE "${PROJECT_NAME}_${APP_NAME}.url-dispatcher")
+set(MAIN_QML calendar.qml)
+set(ICON_FILE calendar-app@xxxxxx)
+set(AUTOPILOT_DIR calendar_app)
+set(APP_HARDCODE calendar-app)
+set(UBUNTU_MANIFEST_PATH "click/manifest.json.in" CACHE INTERNAL "Relative path to the manifest file")
if(CLICK_MODE)
if(NOT DEFINED BZR_SOURCE)
@@ -77,9 +88,6 @@
install(DIRECTORY "3rd-party" DESTINATION ${DATA_DIR})
-# Tests
-enable_testing()
-
add_subdirectory(click)
add_subdirectory(po)
add_subdirectory(tests)
=== modified file 'EventDetails.qml'
--- EventDetails.qml 2016-03-02 19:55:52 +0000
+++ EventDetails.qml 2016-03-09 09:23:12 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2014 Canonical Ltd
+ * Copyright (C) 2013-2016 Canonical Ltd
*
* This file is part of Ubuntu Calendar App
*
@@ -15,11 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
import QtQuick 2.4
import Ubuntu.Components 1.3
-import Ubuntu.Components.ListItems 1.0 as ListItem
-import Ubuntu.Components.Themes.Ambiance 1.0
-import Ubuntu.Components.Popups 1.0
+import Ubuntu.Components.Popups 1.3
import QtOrganizer 5.0
import "Defines.js" as Defines
@@ -32,45 +31,44 @@
property var event
property var model
+ property var collection: model.collection(event.collectionId);
- anchors{
- left: parent.left
- right: parent.right
- bottom: parent.bottom
+ header: PageHeader {
+ title: i18n.tr("Event Details")
+ flickable: flicable
+ trailingActionBar.actions: Action {
+ text: i18n.tr("Edit");
+ objectName: "edit"
+ iconName: "edit";
+ enabled: !collection.extendedMetaData("collection-readonly")
+ onTriggered: {
+ if( event.itemType === Type.EventOccurrence ) {
+ var dialog = PopupUtils.open(Qt.resolvedUrl("EditEventConfirmationDialog.qml"),root,{"event": event});
+ dialog.editEvent.connect( function(eventId){
+ if( eventId === event.parentId ) {
+ showEditEventPage(internal.parentEvent, model)
+ } else {
+ showEditEventPage(event, model)
+ }
+ });
+ } else {
+ showEditEventPage(event, model)
+ }
+ }
+ }
}
- flickable: null
-
- title: i18n.tr("Event Details")
-
Component.onCompleted: {
showEvent(event)
}
- Connections{
- target: pageStack
- onCurrentPageChanged:{
- if( pageStack.currentPage === root) {
- showEvent(event)
- }
- }
- }
-
- RemindersModel {
- id: reminderModel
- }
-
- function updateCollection(event) {
-
- var collection = model.collection( event.collectionId );
- calendarIndicator.color = collection.color
- eventInfo.color=collection.color
- // TRANSLATORS: the first parameter refers to the name of event calendar.
- calendarName.text = i18n.tr("%1 Calendar").arg( collection.name)
-
- //disable edit in case of read only calendar
- if( collection.extendedMetaData("collection-readonly") === true ) {
- editAction.enabled = false
+ Keys.onEscapePressed: {
+ pageStack.pop();
+ }
+
+ Keys.onPressed: {
+ if ((event.key === Qt.Key_E) && ( event.modifiers & Qt.ControlModifier)) {
+ showEditEventPage(event, model);
}
}
@@ -79,103 +77,124 @@
if (event.recurrence) {
if(event.recurrence.recurrenceRules[0] !== undefined){
var rule = event.recurrence.recurrenceRules[0];
- repeatLabel.text = eventUtils.getRecurrenceString(rule)
+ mainEventDetailsLayout.summary.text = eventUtils.getRecurrenceString(rule)
} else {
//For event occurs once, event.recurrence.recurrenceRules == []
- repeatLabel.text = Defines.recurrenceLabel[0];
+ mainEventDetailsLayout.summary.text = Defines.recurrenceLabel[0];
}
}
}
function updateContacts(event) {
- var attendees = event.attendees;
+ var attendees
+ var attendingCount, notAttendingCount
+
+ attendingCount = 0
+ notAttendingCount = 0
+ attendees = event.attendees
+
contactModel.clear();
+
if( attendees !== undefined ) {
for (var j = 0 ; j < attendees.length ; ++j) {
- var name = attendees[j].name.trim().length === 0 ?
- attendees[j].emailAddress.replace("mailto:", ""):
- attendees[j].name
-
- contactModel.append( {"name": name,"participationStatus": attendees[j].participationStatus } );
+ var name = attendees[j].name.trim().length === 0 ? attendees[j].emailAddress.replace("mailto:", "")
+ : attendees[j].name
+
+ // Sort the participating guests by Attending, Not-Attending and No-Reply for easier diaply in the list view.
+ if(attendees[j].participationStatus === 0) {
+ contactModel.insert(attendingCount+notAttendingCount, {"name": name,"participationStatus": attendees[j].participationStatus})
+ notAttendingCount++
+ }
+
+ else if(attendees[j].participationStatus === 1) {
+ contactModel.insert(attendingCount, {"name": name,"participationStatus": attendees[j].participationStatus})
+ attendingCount++
+ }
+
+ else {
+ contactModel.append({"name": name,"participationStatus": attendees[j].participationStatus});
+ }
}
}
}
function updateReminder(event) {
- var reminder = event.detail( Detail.VisualReminder)
+ var reminder = event.detail(Detail.VisualReminder)
if(reminder) {
for(var i=0; i<reminderModel.count; i++) {
if(reminder.secondsBeforeStart === reminderModel.get(i).value) {
- reminderHeader.subText = reminderModel.get(i).label
+ reminderLayout.subtitle.text = reminderModel.get(i).label
}
}
} else {
- reminderHeader.subText = reminderModel.get(0).label
- }
- }
-
- function updateLocation(event) {
- if( event.location ) {
- locationLabel.text = event.location
- }
- }
-
- function showEvent(e) {
+ reminderLayout.subtitle.text = reminderModel.get(0).label
+ }
+ }
+
+ function getDate(e) {
+ var dateLabel = null
+
var startTime = e.startDateTime.toLocaleTimeString(Qt.locale(), Locale.ShortFormat)
var endTime = e.endDateTime.toLocaleTimeString(Qt.locale(), Locale.ShortFormat)
-
- var lunarStartDate = null;
- var lunarEndDate = null;
+ var startDay = e.startDateTime.toLocaleDateString(Qt.locale(), Locale.LongFormat)
+ var endDay = e.endDateTime.toLocaleDateString(Qt.locale(), Locale.LongFormat)
+
+ var lunarStartDate = null
+ var lunarEndDate = null
+
+ var allDayString = i18n.tr("(All Day)")
+
if (mainView.displayLunarCalendar) {
lunarStartDate = Lunar.calendar.solar2lunar(e.startDateTime.getFullYear(),
- e.startDateTime.getMonth() + 1,
- e.startDateTime.getDate())
+ e.startDateTime.getMonth() + 1,
+ e.startDateTime.getDate())
lunarEndDate = Lunar.calendar.solar2lunar(e.endDateTime.getFullYear(),
- e.endDateTime.getMonth() + 1,
- e.endDateTime.getDate())
+ e.endDateTime.getMonth() + 1,
+ e.endDateTime.getDate())
}
if( e.allDay ) {
var days = Math.floor((e.endDateTime - e.startDateTime) / Date.msPerDay);
if( days !== 1 ) {
if (mainView.displayLunarCalendar) {
- dateLabel.text = i18n.tr("%1 %2 %3 - %4 %5 %6 (All Day)")
- .arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn)
+ dateLabel = ("%1 %2 %3 - %4 %5 %6").arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn)
.arg(lunarEndDate.gzYear).arg(lunarEndDate .IMonthCn).arg(lunarEndDate.IDayCn)
} else {
- dateLabel.text = i18n.tr("%1 - %2 (All Day)")
- .arg( e.startDateTime.toLocaleDateString(Qt.locale(), Locale.LongFormat))
- .arg( e.endDateTime.addDays(-1).toLocaleDateString(Qt.locale(), Locale.LongFormat))
+ dateLabel = ("%1 - %2").arg(startDay).arg(e.endDateTime.addDays(-1).toLocaleDateString(Qt.locale(), Locale.LongFormat))
}
} else {
if (mainView.displayLunarCalendar) {
- dateLabel.text = i18n.tr("%1 %2 %3 (All Day)")
- .arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn)
+ dateLabel = ("%1 %2 %3").arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn)
} else {
- dateLabel.text = i18n.tr("%1 (All Day)").arg( e.startDateTime.toLocaleDateString(Qt.locale(), Locale.LongFormat))
+ dateLabel = startDay
}
}
- } else {
+
+ dateLabel = dateLabel.concat(" ", allDayString)
+ }
+
+ else {
if (e.endDateTime.getDate() !== e.startDateTime.getDate()) {
if (mainView.displayLunarCalendar) {
- dateLabel.text = i18n.tr("%1 %2 %3, %4 - %5 %6 %7, %8")
- .arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn).arg(startTime)
+ dateLabel = ("%1 %2 %3, %4 - %5 %6 %7, %8").arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn).arg(startTime)
.arg(lunarEndDate.gzYear).arg(lunarEndDate .IMonthCn).arg(lunarEndDate.IDayCn).arg(endTime);
} else {
- dateLabel.text = e.startDateTime.toLocaleDateString(Qt.locale(), Locale.LongFormat) + ", " +startTime + " - "
- + e.endDateTime.toLocaleDateString(Qt.locale(), Locale.LongFormat) + ", " + endTime;
+ dateLabel = ("%1, %2 - %3, %4").arg(startDay).arg(startTime).arg(endDay).arg(endTime)
}
} else {
if (mainView.displayLunarCalendar) {
- dateLabel.text = i18n.tr("%1 %2 %3, %4 - %5")
- .arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn).arg(startTime).arg(endTime);
+ dateLabel = ("%1 %2 %3, %4 - %5").arg(lunarStartDate.gzYear).arg(lunarStartDate .IMonthCn).arg(lunarStartDate.IDayCn).arg(startTime).arg(endTime)
} else {
- dateLabel.text = e.startDateTime.toLocaleDateString(Qt.locale(), Locale.LongFormat) + ", " +startTime + " - " + endTime;
+ dateLabel = ("%1, %2 - %3").arg(startDay).arg(startTime).arg(endTime)
}
}
}
+ return dateLabel
+ }
+
+ function showEvent(e) {
if( e.itemType === Type.EventOccurrence ){
var requestId = -1;
model.onItemsFetched.connect( function(id,fetchedItems){
@@ -187,24 +206,10 @@
});
requestId = model.fetchItems([e.parentId]);
}
- // This is the event title
- if( e.displayLabel) {
- titleLabel.text = e.displayLabel;
- }
-
- if( e.description ) {
- descLabel.text = e.description;
- }
-
- updateCollection(e);
updateContacts(e);
-
updateRecurrence(e);
-
updateReminder(e);
-
- updateLocation(e);
}
function showEditEventPage(event, model) {
@@ -223,37 +228,22 @@
})
}
- Keys.onEscapePressed: {
- pageStack.pop();
- }
-
- Keys.onPressed: {
- if ((event.key === Qt.Key_E) && ( event.modifiers & Qt.ControlModifier)) {
- showEditEventPage(event, model);
- }
- }
-
- head.actions: [
- Action {
- text: i18n.tr("Edit");
- objectName: "edit"
- iconName: "edit";
- onTriggered: {
- if( event.itemType === Type.EventOccurrence ) {
- var dialog = PopupUtils.open(Qt.resolvedUrl("EditEventConfirmationDialog.qml"),root,{"event": event});
- dialog.editEvent.connect( function(eventId){
- if( eventId === event.parentId ) {
- showEditEventPage(internal.parentEvent, model)
- } else {
- showEditEventPage(event, model)
- }
- });
- } else {
- showEditEventPage(event, model)
- }
+ Connections{
+ target: pageStack
+ onCurrentPageChanged:{
+ if( pageStack.currentPage === root) {
+ showEvent(event)
}
}
- ]
+ }
+
+ RemindersModel {
+ id: reminderModel
+ }
+
+ ListModel {
+ id: contactModel
+ }
EventUtils{
id:eventUtils
@@ -264,12 +254,6 @@
property var parentEvent;
}
- Rectangle {
- id: bg
- color: "white"
- anchors.fill: parent
- }
-
Scrollbar {
flickableItem: flicable
align: Qt.AlignTrailing
@@ -280,156 +264,124 @@
clip: interactive
anchors.fill: parent
- interactive: contentHeight > height
-
contentWidth: parent.width
- contentHeight: column.height + eventInfo.height + units.gu(3) /*top margin + spacing */
+ contentHeight: column.height + titleContainer.height
Rectangle{
- id: eventInfo
+ id: titleContainer
+ color: collection.color
width: parent.width
- height: eventInfoList.height + units.gu(5)
-
- Column{
- id:eventInfoList
-
- anchors {
- left: parent.left
- right: parent.right
- top: parent.top
- margins: units.gu(2)
- }
-
- spacing: units.gu(0.5)
-
- Label{
- id: titleLabel
- objectName: "titleLabel"
- fontSize: "large"
- width: parent.width
- wrapMode: Text.WordWrap
- color: "white"
- }
-
- Label{
- id: dateLabel
- objectName: "dateLabel"
- color: "white"
- fontSize: "medium"
- width: parent.width
- wrapMode: Text.WordWrap
- }
-
- Label{
- id: repeatLabel
- objectName: "repeatLabel"
- color: "white"
- fontSize: "small"
- width: parent.width
- wrapMode: Text.WordWrap
- visible: repeatLabel.text !== ""
- }
-
- Label{
- id: locationLabel
- objectName: "locationLabel"
- color: "white"
- fontSize: "small"
- width: parent.width
- wrapMode: Text.WordWrap
- visible: locationLabel.text !== ""
- }
+ height: titleLabel.implicitHeight + units.gu(2)
+
+ Label{
+ id: titleLabel
+ objectName: "titleLabel"
+ textSize: Label.Large
+ wrapMode: Text.WordWrap
+ color: "white"
+ text: event.displayLabel
+ anchors { left: parent.left; right: parent.right; margins: units.gu(2); verticalCenter: parent.verticalCenter }
}
}
Column{
id: column
- spacing: units.gu(1)
- anchors{
- top: eventInfo.bottom
- right: parent.right
- left:parent.left
- margins: units.gu(2)
- }
-
- Row{
+ width: parent.width
+ anchors.top: titleContainer.bottom
+
+ ListItem {
+ height: mainEventDetailsLayout.height + divider.height
+ ListItemLayout {
+ id: mainEventDetailsLayout
+ title.text: getDate(event)
+ subtitle.text: event.location
+ }
+ }
+
+ ListItem {
+ height: units.gu(6)
+ Row{
+ id: calendarNameRow
+
+ spacing: units.gu(1)
+ anchors { verticalCenter: parent.verticalCenter; left: parent.left; right: parent.right; margins: units.gu(2) }
+
+ Label {
+ text: i18n.tr("Calendar")
+ }
+
+ UbuntuShape{
+ id: calendarIndicator
+ width: parent.height
+ height: width
+ color: collection.color
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ Label{
+ id:calendarName
+ objectName: "calendarName"
+ text: collection.name
+ }
+ }
+ }
+
+ ListView{
+ model: contactModel
width: parent.width
- spacing: units.gu(1)
- UbuntuShape{
- id: calendarIndicator
- width: parent.height
- height: width
- anchors.verticalCenter: parent.verticalCenter
+ height: count !== 0 ? (count+1) * units.gu(7): 0
+ interactive: false
+
+ section.property: "participationStatus"
+ section.labelPositioning: ViewSection.InlineLabels
+ section.delegate: ListItem {
+ height: headerText.height + divider.height
+ ListItemLayout {
+ id: headerText
+ title.text: {
+ if (section === "0") {
+ return i18n.tr("Not Attending")
+ }
+
+ else if (section === "1") {
+ return i18n.tr("Attending")
+ }
+
+ else if (section === "2") {
+ return i18n.tr("No Reply")
+ }
+ }
+ title.font.weight: Font.DemiBold
+ }
}
- Label{
- id:calendarName
- objectName: "calendarName"
- anchors.verticalCenter: parent.verticalCenter
+
+ delegate: ListItem {
+ height: contactListItemLayout.height + divider.height
+ ListItemLayout {
+ id: contactListItemLayout
+ title.text: name
+ }
}
}
- Label{
+ ListItem {
id: descLabel
- objectName: "descriptionLabel"
- visible: text != ""
- width: parent.width
- wrapMode: Text.WordWrap
+ height: descriptionLabelLayout.height + divider.height
+ visible: descriptionLabelLayout.summary.text !== ""
+ ListItemLayout {
+ id: descriptionLabelLayout
+ title.text: i18n.tr("Description")
+ summary.text: event.description
+ }
}
- Column {
- anchors{
- right: parent.right
- left:parent.left
- margins: units.gu(-2)
- }
-
- ListItem.Header {
- text: i18n.tr("Guests")
- visible: contactModel.count !== 0
- }
-
- //Guest Entery Model starts
- Column{
- id: contactList
- objectName: 'contactList'
-
- anchors {
- left: parent.left
- right: parent.right
- }
-
- ListModel {
- id: contactModel
- }
-
- Repeater{
- model: contactModel
- delegate: ListItem.Standard {
- Label {
- text: name
- objectName: "eventGuest%1".arg(index)
- color: UbuntuColors.midAubergine
- anchors {
- left: parent.left
- leftMargin: units.gu(2)
- verticalCenter: parent.verticalCenter
- }
- }
-
- control: CheckBox {
- enabled: false
- checked: participationStatus
- }
- }
- }
- }
- //Guest Entries ends
-
- ListItem.Subtitled {
- id: reminderHeader
- text: i18n.tr("Reminder")
+ ListItem {
+ height: reminderLayout.height + divider.height
+ ListItemLayout {
+ id: reminderLayout
+ title.text: i18n.tr("Reminder")
}
}
}
=== modified file 'HeaderDateComponent.qml'
--- HeaderDateComponent.qml 2016-03-02 19:55:52 +0000
+++ HeaderDateComponent.qml 2016-03-09 09:23:12 +0000
@@ -87,7 +87,7 @@
var lunarDate = Lunar.calendar.solar2lunar(date.getFullYear(),
date.getMonth() + 1,
date.getDate())
- return i18n.tr("%1 %2 %3").arg(lunarDate.IDayCn).arg(lunarDate.gzDay).arg(lunarDate.isTerm ? lunarDate.Term : "")
+ return ("%1 %2 %3").arg(lunarDate.IDayCn).arg(lunarDate.gzDay).arg(lunarDate.isTerm ? lunarDate.Term : "")
} else {
return date.getDate();
}
=== modified file 'MonthComponent.qml'
--- MonthComponent.qml 2016-03-02 19:55:52 +0000
+++ MonthComponent.qml 2016-03-09 09:23:12 +0000
@@ -312,6 +312,8 @@
id: weekNumLabel;
objectName: "weekNumLabel";
width: parent.width;
+ // TRANSLATORS: This is shown in the month view as "Wk" as a title
+ // to indicate the week numbers. It should be a max of up to 3 characters.
text: i18n.tr("Wk");
horizontalAlignment: Text.AlignHCenter;
verticalAlignment: Text.AlignVCenter;
=== modified file 'po/com.ubuntu.calendar.pot'
--- po/com.ubuntu.calendar.pot 2016-03-03 22:32:56 +0000
+++ po/com.ubuntu.calendar.pot 2016-03-09 09:23:12 +0000
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-03-04 04:02+0530\n"
+"POT-Creation-Date: 2016-03-09 14:27+0530\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,7 +18,7 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: ../AgendaView.qml:50 ../calendar.qml:292 ../calendar.qml:518
+#: ../AgendaView.qml:50 ../calendar.qml:321 ../calendar.qml:547
msgid "Agenda"
msgstr ""
@@ -34,11 +34,6 @@
msgid "Enable calendars"
msgstr ""
-#: ../AgendaView.qml:164
-#, qt-format
-msgid "%1 %2 %3 %4 %5"
-msgstr ""
-
#: ../AgendaView.qml:191
msgid "no event name set"
msgstr ""
@@ -51,24 +46,24 @@
msgid "New event"
msgstr ""
-#. TRANSLATORS: the first parameter refers to the number of all-day events
-#. on a given day. "Ev." is short form for "Events".
-#. Please keep the translation of "Ev." to 3 characters only, as the week view
-#. where it's shown has limited space
-#: ../AllDayEventComponent.qml:150
+#. TRANSLATORS: Please keep the translation of this string to a max of
+#. 5 characters as the week view where it is shown has limited space.
+#: ../AllDayEventComponent.qml:148
#, qt-format
-msgid "%1 ev."
-msgstr ""
+msgid "%1 event"
+msgid_plural "%1 events"
+msgstr[0] ""
+msgstr[1] ""
#. TRANSLATORS: the argument refers to the number of all day events
-#: ../AllDayEventComponent.qml:154
+#: ../AllDayEventComponent.qml:152
#, qt-format
msgid "%1 all day event"
msgid_plural "%1 all day events"
msgstr[0] ""
msgstr[1] ""
-#: ../CalendarChoicePopup.qml:34 ../EventActions.qml:51
+#: ../CalendarChoicePopup.qml:34 ../EventActions.qml:52
msgid "Calendars"
msgstr ""
@@ -78,11 +73,11 @@
#. TRANSLATORS: Please translate this string to 15 characters only.
#. Currently ,there is no way we can increase width of action menu currently.
-#: ../CalendarChoicePopup.qml:48 ../EventActions.qml:36
+#: ../CalendarChoicePopup.qml:48 ../EventActions.qml:37
msgid "Sync"
msgstr ""
-#: ../CalendarChoicePopup.qml:48 ../EventActions.qml:36
+#: ../CalendarChoicePopup.qml:48 ../EventActions.qml:37
msgid "Syncing"
msgstr ""
@@ -95,7 +90,7 @@
msgstr ""
#: ../ColorPickerDialog.qml:55 ../DeleteConfirmationDialog.qml:60
-#: ../EditEventConfirmationDialog.qml:53 ../NewEvent.qml:340
+#: ../EditEventConfirmationDialog.qml:53 ../NewEvent.qml:343
msgid "Cancel"
msgstr ""
@@ -107,23 +102,17 @@
msgid "Search contact"
msgstr ""
-#: ../DayView.qml:71 ../MonthView.qml:50 ../WeekView.qml:54 ../YearView.qml:57
+#: ../DayView.qml:72 ../MonthView.qml:50 ../WeekView.qml:55 ../YearView.qml:57
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:115 ../DayView.qml:203 ../MonthView.qml:78
-#: ../WeekView.qml:137 ../WeekView.qml:256
+#: ../DayView.qml:122 ../MonthView.qml:78 ../WeekView.qml:144
msgid "MMMM yyyy"
msgstr ""
-#: ../DayView.qml:201 ../MonthView.qml:73 ../WeekView.qml:254
-#, qt-format
-msgid "%1 %2"
-msgstr ""
-
#: ../DeleteConfirmationDialog.qml:31
msgid "Delete Recurring Event"
msgstr ""
@@ -151,11 +140,11 @@
msgid "Delete this"
msgstr ""
-#: ../DeleteConfirmationDialog.qml:51 ../NewEvent.qml:347
+#: ../DeleteConfirmationDialog.qml:51 ../NewEvent.qml:350
msgid "Delete"
msgstr ""
-#: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:335
+#: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:338
msgid "Edit Event"
msgstr ""
@@ -173,73 +162,58 @@
msgid "Edit this"
msgstr ""
-#: ../EventActions.qml:63 ../Settings.qml:29
+#: ../EventActions.qml:64 ../Settings.qml:29
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:97
+#: ../EventBubble.qml:104
#, 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:108 ../EventBubble.qml:113
+#: ../EventBubble.qml:115 ../EventBubble.qml:120
#, qt-format
msgid "%1 <b>%2</b>"
msgstr ""
-#: ../EventDetails.qml:44 ../NewEvent.qml:483
+#: ../EventDetails.qml:36 ../NewEvent.qml:486
msgid "Event Details"
msgstr ""
-#. TRANSLATORS: the first parameter refers to the name of event calendar.
-#: ../EventDetails.qml:69
-#, qt-format
-msgid "%1 Calendar"
-msgstr ""
-
-#: ../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:153
-#, qt-format
-msgid "%1 %2 %3 (All Day)"
-msgstr ""
-
-#: ../EventDetails.qml:156
-#, qt-format
-msgid "%1 (All Day)"
-msgstr ""
-
-#: ../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
+#: ../EventDetails.qml:39
msgid "Edit"
msgstr ""
-#: ../EventDetails.qml:389 ../NewEvent.qml:589
-msgid "Guests"
-msgstr ""
-
-#: ../EventDetails.qml:432 ../EventReminder.qml:35 ../NewEvent.qml:701
+#: ../EventDetails.qml:152
+msgid "(All Day)"
+msgstr ""
+
+#: ../EventDetails.qml:312 ../NewEvent.qml:552
+#: com.ubuntu.calendar_calendar.desktop.in.in.h:1
+msgid "Calendar"
+msgstr ""
+
+#: ../EventDetails.qml:345
+msgid "Not Attending"
+msgstr ""
+
+#: ../EventDetails.qml:349
+msgid "Attending"
+msgstr ""
+
+#: ../EventDetails.qml:353
+msgid "No Reply"
+msgstr ""
+
+#: ../EventDetails.qml:380 ../NewEvent.qml:518
+msgid "Description"
+msgstr ""
+
+#: ../EventDetails.qml:389 ../EventReminder.qml:35 ../NewEvent.qml:710
msgid "Reminder"
msgstr ""
@@ -262,7 +236,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:685
+#: ../EventRepetition.qml:242 ../NewEvent.qml:688
msgid "Repeats"
msgstr ""
@@ -293,11 +267,6 @@
msgid "Weekly on %1"
msgstr ""
-#: ../HeaderDateComponent.qml:90
-#, qt-format
-msgid "%1 %2 %3"
-msgstr ""
-
#: ../LimitLabelModel.qml:25
msgid "Never"
msgstr ""
@@ -310,59 +279,62 @@
msgid "After Date"
msgstr ""
-#: ../MonthComponent.qml:315
+#. TRANSLATORS: This is shown in the month view as "Wk" as a title
+#. to indicate the week numbers. It should be a max of up to 3 characters.
+#: ../MonthComponent.qml:317
msgid "Wk"
msgstr ""
-#: ../NewEvent.qml:171
+#: ../MonthView.qml:73 ../WeekView.qml:131
+#, qt-format
+msgid "%1 %2"
+msgstr ""
+
+#: ../NewEvent.qml:174
msgid "End time can't be before start time"
msgstr ""
-#: ../NewEvent.qml:335 ../NewEventBottomEdge.qml:52
+#: ../NewEvent.qml:338 ../NewEventBottomEdge.qml:52
msgid "New Event"
msgstr ""
-#: ../NewEvent.qml:364
+#: ../NewEvent.qml:367
msgid "Save"
msgstr ""
-#: ../NewEvent.qml:375
+#: ../NewEvent.qml:378
msgid "Error"
msgstr ""
-#: ../NewEvent.qml:377
+#: ../NewEvent.qml:380
msgid "OK"
msgstr ""
-#: ../NewEvent.qml:437
+#: ../NewEvent.qml:440
msgid "From"
msgstr ""
-#: ../NewEvent.qml:450
+#: ../NewEvent.qml:453
msgid "To"
msgstr ""
-#: ../NewEvent.qml:467
+#: ../NewEvent.qml:470
msgid "All day event"
msgstr ""
-#: ../NewEvent.qml:497
+#: ../NewEvent.qml:500
msgid "Event Name"
msgstr ""
-#: ../NewEvent.qml:515
-msgid "Description"
-msgstr ""
-
-#: ../NewEvent.qml:534
+#: ../NewEvent.qml:537
msgid "Location"
msgstr ""
-#: ../NewEvent.qml:549 com.ubuntu.calendar_calendar.desktop.in.in.h:1
-msgid "Calendar"
+#: ../NewEvent.qml:592
+msgid "Guests"
msgstr ""
-#: ../NewEvent.qml:598
+#: ../NewEvent.qml:601
msgid "Add Guest"
msgstr ""
@@ -467,7 +439,7 @@
msgid "All Day"
msgstr ""
-#: ../WeekView.qml:131 ../WeekView.qml:132
+#: ../WeekView.qml:138 ../WeekView.qml:139
msgid "MMM"
msgstr ""
@@ -476,26 +448,26 @@
msgid "Year %1"
msgstr ""
-#: ../calendar.qml:46
+#: ../calendar.qml:48
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:260 ../calendar.qml:434
+#: ../calendar.qml:289 ../calendar.qml:463
msgid "Year"
msgstr ""
-#: ../calendar.qml:268 ../calendar.qml:455
+#: ../calendar.qml:297 ../calendar.qml:484
msgid "Month"
msgstr ""
-#: ../calendar.qml:276 ../calendar.qml:476
+#: ../calendar.qml:305 ../calendar.qml:505
msgid "Week"
msgstr ""
-#: ../calendar.qml:284 ../calendar.qml:497
+#: ../calendar.qml:313 ../calendar.qml:526
msgid "Day"
msgstr ""
Follow ups
-
[Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: noreply, 2016-03-21
-
[Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Renato Araujo Oliveira Filho, 2016-03-21
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Renato Araujo Oliveira Filho, 2016-03-21
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Nekhelesh Ramananthan, 2016-03-16
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Renato Araujo Oliveira Filho, 2016-03-15
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Renato Araujo Oliveira Filho, 2016-03-14
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Renato Araujo Oliveira Filho, 2016-03-10
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Jenkins Bot, 2016-03-10
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Nekhelesh Ramananthan, 2016-03-10
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Renato Araujo Oliveira Filho, 2016-03-09
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Jenkins Bot, 2016-03-09
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Jenkins Bot, 2016-03-09
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Szymon Waliczek, 2016-03-09
-
Re: [Merge] lp:~nik90/ubuntu-calendar-app/revamp-eventdetails-page into lp:ubuntu-calendar-app
From: Jenkins Bot, 2016-03-09