From 0c2d6ddc3e0edb57fe630ef5f95176825eb07b62 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 23 Sep 2011 19:25:56 +0000 Subject: [PATCH] See ChangeLog. Monotone-Parent: 6bb1bd2b9a63daae8f56da56b2ba72ac8bad2d3e Monotone-Revision: bc6a066b0ed99cc7226c2f6c089a4ed6987ee423 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2011-09-23T19:25:56 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 12 ++++++++++ NEWS | 5 ++-- .../Localizable.strings | 6 +++++ .../English.lproj/Localizable.strings | 6 +++++ .../Hungarian.lproj/Localizable.strings | 6 +++++ .../Norwegian.lproj/Localizable.strings | 6 +++++ .../Swedish.lproj/Localizable.strings | 6 +++++ UI/PreferencesUI/UIxPreferences.m | 24 +++++++++++++++++++ .../Welsh.lproj/Localizable.strings | 6 +++++ UI/Templates/PreferencesUI/UIxPreferences.wox | 5 ++++ UI/Templates/SchedulerUI/UIxCalMainView.wox | 2 +- UI/WebServerResources/SchedulerUI.js | 21 ++++++++++++++-- UI/WebServerResources/UIxPreferences.css | 2 +- UI/WebServerResources/UIxPreferences.js | 2 +- 14 files changed, 102 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7414eb7a4..27b7e3906 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2011-09-23 Francis Lachapelle + + * UI/PreferencesUI/UIxPreferences.m (-defaultCalendarList, -itemCalendarText, + -userDefaultCalendar, -setUserDefaultCalendar:): new methods to + show a popup menu for the new defaults SOGoDefaultCalendar. This + option sets which calendar is used when creating an event or a + task (selected, personal, first enabled). + + * UI/WebServerResources/SchedulerUI.js (eventsListCallback): + events are always editable and erasable for superusers. + (newEvent): added supported for the new defaults SOGoDefaultCalendar. + 2011-09-23 Wolfgang Sourdeau * OpenChange/MAPIStoreMailFolder.m (-lastMessageModificationTime): diff --git a/NEWS b/NEWS index 8fdcf1e2d..10d75d456 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,11 @@ 1.3-2011MMDD (1.3.9) --------------------- New Features - - + - new user defaults SOGoDefaultCalendar to specify which calendar is used when + creating an event or a task (selected, personal, first enabled). Enhancements - - phone numbers in the contacts web module are now links (tel://). + - phone numbers in the contacts web module are now links (tel:). Bug Fixes - diff --git a/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings b/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings index 1bb6c205a..f403b5dec 100644 --- a/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings +++ b/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings @@ -92,6 +92,12 @@ "firstWeekOfYear_First4DayWeek" = "Primeira semana com 4 dias"; "firstWeekOfYear_FirstFullWeek" = "Primeira semana com 5 dias"; +/* Default Calendar */ +"Default calendar :" = "Default calendar"; +"selectedCalendar" = "Selected calendar"; +"personalCalendar" = "Personal calendar"; +"firstCalendar" = "First enabled calendar"; + "reminderTime_0000" = "0 minutos"; "reminderTime_0005" = "5 minutos"; "reminderTime_0010" = "10 minutos"; diff --git a/UI/PreferencesUI/English.lproj/Localizable.strings b/UI/PreferencesUI/English.lproj/Localizable.strings index d9e1864b9..8380e23bd 100644 --- a/UI/PreferencesUI/English.lproj/Localizable.strings +++ b/UI/PreferencesUI/English.lproj/Localizable.strings @@ -92,6 +92,12 @@ "firstWeekOfYear_First4DayWeek" = "First 4-day week"; "firstWeekOfYear_FirstFullWeek" = "First full week"; +/* Default Calendar */ +"Default calendar :" = "Default calendar"; +"selectedCalendar" = "Selected calendar"; +"personalCalendar" = "Personal calendar"; +"firstCalendar" = "First enabled calendar"; + "reminderTime_0000" = "0 minutes"; "reminderTime_0005" = "5 minutes"; "reminderTime_0010" = "10 minutes"; diff --git a/UI/PreferencesUI/Hungarian.lproj/Localizable.strings b/UI/PreferencesUI/Hungarian.lproj/Localizable.strings index f22cafb62..67778850f 100644 --- a/UI/PreferencesUI/Hungarian.lproj/Localizable.strings +++ b/UI/PreferencesUI/Hungarian.lproj/Localizable.strings @@ -92,6 +92,12 @@ "firstWeekOfYear_First4DayWeek" = "Első 4 napos héttől"; "firstWeekOfYear_FirstFullWeek" = "Első teljes héttől"; +/* Default Calendar */ +"Default calendar :" = "Default calendar"; +"selectedCalendar" = "Selected calendar"; +"personalCalendar" = "Personal calendar"; +"firstCalendar" = "First enabled calendar"; + "reminderTime_0000" = "0 perc"; "reminderTime_0005" = "5 perc"; "reminderTime_0010" = "10 perc"; diff --git a/UI/PreferencesUI/Norwegian.lproj/Localizable.strings b/UI/PreferencesUI/Norwegian.lproj/Localizable.strings index 9e61302fd..cc50e232a 100644 --- a/UI/PreferencesUI/Norwegian.lproj/Localizable.strings +++ b/UI/PreferencesUI/Norwegian.lproj/Localizable.strings @@ -92,6 +92,12 @@ "firstWeekOfYear_First4DayWeek" = "Første 4-dagersuken i året"; "firstWeekOfYear_FirstFullWeek" = "Første hele uken i året"; +/* Default Calendar */ +"Default calendar :" = "Default calendar"; +"selectedCalendar" = "Selected calendar"; +"personalCalendar" = "Personal calendar"; +"firstCalendar" = "First enabled calendar"; + "reminderTime_0000" = "0 minutter"; "reminderTime_0005" = "5 minutter"; "reminderTime_0010" = "10 minutter"; diff --git a/UI/PreferencesUI/Swedish.lproj/Localizable.strings b/UI/PreferencesUI/Swedish.lproj/Localizable.strings index 9d5975ffb..09b2b68ef 100644 --- a/UI/PreferencesUI/Swedish.lproj/Localizable.strings +++ b/UI/PreferencesUI/Swedish.lproj/Localizable.strings @@ -92,6 +92,12 @@ "firstWeekOfYear_First4DayWeek" = "Första 4-dagarsveckan på året"; "firstWeekOfYear_FirstFullWeek" = "Första hela veckan på året"; +/* Default Calendar */ +"Default calendar :" = "Default calendar"; +"selectedCalendar" = "Selected calendar"; +"personalCalendar" = "Personal calendar"; +"firstCalendar" = "First enabled calendar"; + "reminderTime_0000" = "0 minuter"; "reminderTime_0005" = "5 minuter"; "reminderTime_0010" = "10 minuter"; diff --git a/UI/PreferencesUI/UIxPreferences.m b/UI/PreferencesUI/UIxPreferences.m index 7fa82b57f..4efed6639 100644 --- a/UI/PreferencesUI/UIxPreferences.m +++ b/UI/PreferencesUI/UIxPreferences.m @@ -421,6 +421,30 @@ [userDefaults setFirstDayOfWeek: [newDay intValue]]; } +- (NSArray *) defaultCalendarList +{ + NSMutableArray *options; + + options = [NSArray arrayWithObjects: @"selected", @"personal", @"first", nil]; + + return options; +} + +- (NSString *) itemCalendarText +{ + return [self labelForKey: [NSString stringWithFormat: @"%@Calendar", item]]; +} + +- (NSString *) userDefaultCalendar +{ + return [userDefaults defaultCalendar]; +} + +- (void) setUserDefaultCalendar: (NSString *) newValue +{ + [userDefaults setDefaultCalendar: newValue]; +} + - (NSArray *) hoursList { static NSMutableArray *hours = nil; diff --git a/UI/PreferencesUI/Welsh.lproj/Localizable.strings b/UI/PreferencesUI/Welsh.lproj/Localizable.strings index e6faa2241..e7d9c1d2b 100644 --- a/UI/PreferencesUI/Welsh.lproj/Localizable.strings +++ b/UI/PreferencesUI/Welsh.lproj/Localizable.strings @@ -92,6 +92,12 @@ "firstWeekOfYear_First4DayWeek" = "First 4-day week"; "firstWeekOfYear_FirstFullWeek" = "Wythnos cyntaf llawn"; +/* Default Calendar */ +"Default calendar :" = "Default calendar"; +"selectedCalendar" = "Selected calendar"; +"personalCalendar" = "Personal calendar"; +"firstCalendar" = "First enabled calendar"; + "reminderTime_0000" = "0 munud"; "reminderTime_0005" = "5 munud"; "reminderTime_0010" = "10 munud"; diff --git a/UI/Templates/PreferencesUI/UIxPreferences.wox b/UI/Templates/PreferencesUI/UIxPreferences.wox index edd86e7c5..cd808145e 100644 --- a/UI/Templates/PreferencesUI/UIxPreferences.wox +++ b/UI/Templates/PreferencesUI/UIxPreferences.wox @@ -102,6 +102,11 @@ const:id="firstWeek" string="itemFirstWeekText" selection="userFirstWeek" />
+
diff --git a/UI/Templates/SchedulerUI/UIxCalMainView.wox b/UI/Templates/SchedulerUI/UIxCalMainView.wox index 4a32c2e53..6cb0de48a 100644 --- a/UI/Templates/SchedulerUI/UIxCalMainView.wox +++ b/UI/Templates/SchedulerUI/UIxCalMainView.wox @@ -7,7 +7,7 @@ xmlns:rsrc="OGo:url" xmlns:label="OGo:label" className="UIxPageFrame" - const:userDefaultsKeys="SOGoCalendarCategoriesColors" + const:userDefaultsKeys="SOGoCalendarCategoriesColors,SOGoDefaultCalendar" const:userSettingsKeys="Calendar,ShowCompletedTasks" const:jsFiles="SchedulerUIDnD.js" title="title"> diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index 668b5e456..67a51dc4f 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -36,7 +36,24 @@ var clipboard = null; var eventsToCopy = []; function newEvent(type, day, hour, duration) { - var folder = getSelectedFolder(); + var folder = null; + if (UserDefaults['SOGoDefaultCalendar'] == 'personal') + folder = $("calendarList").down("li"); + else if (UserDefaults['SOGoDefaultCalendar'] == 'first') { + var list = $("calendarList"); + var inputs = list.select("input"); + for (var i = 0; i < inputs.length; i++) { + var input = inputs[i]; + if (input.checked) { + folder = input.up(); + break; + } + } + if (!folder) + folder = list.down("li"); + } + else + folder = getSelectedFolder(); var folderID = folder.readAttribute("id"); var urlstr = ApplicationBaseURL + folderID + "/new" + type; var params = []; @@ -908,7 +925,7 @@ function eventsListCallback(http) { if (rTime) row.recurrenceTime = escape(rTime); row.isException = data[i][17]; - row.editable = data[i][18]; + row.editable = data[i][18] || IsSuperUser; row.erasable = data[i][19] || IsSuperUser; var startDate = new Date(); startDate.setTime(data[i][5] * 1000); diff --git a/UI/WebServerResources/UIxPreferences.css b/UI/WebServerResources/UIxPreferences.css index 6668375c7..c984839d4 100644 --- a/UI/WebServerResources/UIxPreferences.css +++ b/UI/WebServerResources/UIxPreferences.css @@ -51,7 +51,7 @@ DIV.listWrapper #calendarCategoriesListWrapper { bottom: 30px; right: 2em; - top: 88px; + top: 108px; left: 2em; } #contactsCategoriesListWrapper diff --git a/UI/WebServerResources/UIxPreferences.js b/UI/WebServerResources/UIxPreferences.js index 748d33e47..a07939e55 100644 --- a/UI/WebServerResources/UIxPreferences.js +++ b/UI/WebServerResources/UIxPreferences.js @@ -88,7 +88,7 @@ function _setupEvents() { var widgets = [ "timezone", "shortDateFormat", "longDateFormat", "timeFormat", "weekStartDay", "dayStartTime", "dayEndTime", "firstWeek", "messageCheck", "sortByThreads", - "subscribedFoldersOnly", "language" ]; + "subscribedFoldersOnly", "language", "defaultCalendar" ]; for (var i = 0; i < widgets.length; i++) { var widget = $(widgets[i]); if (widget) {