diff --git a/ChangeLog b/ChangeLog index a897b2012..f2847208b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-06-05 Wolfgang Sourdeau + * UI/Scheduler/UIxCalendarProperties.m (-calDavURL, -webDavICSURL) + (-webDavXMLURL): new accessors for the URL now appearing at the + bottom of the properties page. + * UI/WebServerResources/generic.js (onBodyClickContextMenu): leave the context menu to appear on "A" elements with a "clickableLink" class. diff --git a/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings b/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings index b91a4a07c..e9587475d 100644 --- a/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings +++ b/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Tarefa Confidencial)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/Czech.lproj/Localizable.strings b/UI/Scheduler/Czech.lproj/Localizable.strings index 7d57c7159..674168a33 100644 --- a/UI/Scheduler/Czech.lproj/Localizable.strings +++ b/UI/Scheduler/Czech.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Důvěrný úkol)"; "Show alarms" = "Zobrazit upomínky"; "Show tasks" = "Zobrazit úkoly"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/Dutch.lproj/Localizable.strings b/UI/Scheduler/Dutch.lproj/Localizable.strings index e3908139c..27cb0e963 100644 --- a/UI/Scheduler/Dutch.lproj/Localizable.strings +++ b/UI/Scheduler/Dutch.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Vertrouwelijke taak)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/English.lproj/Localizable.strings b/UI/Scheduler/English.lproj/Localizable.strings index af9825b12..8082eacb2 100644 --- a/UI/Scheduler/English.lproj/Localizable.strings +++ b/UI/Scheduler/English.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Confidential task)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/French.lproj/Localizable.strings b/UI/Scheduler/French.lproj/Localizable.strings index 44a17be34..f9d26dc8c 100644 --- a/UI/Scheduler/French.lproj/Localizable.strings +++ b/UI/Scheduler/French.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Tâche confidentielle)"; "Show alarms" = "Afficher les alarmes"; "Show tasks" = "Afficher les tâches"; +"Links to this Calendar" = "Liens vers cet agenda"; +"CalDAV url" = "Accès en CalDAV"; +"WebDAV ICS URL" = "Représentation ICS en WebDAV"; +"WebDAV XML URL" = "Représentation XML en WebDAV"; + /* Error messages */ "dayFieldInvalid" = "Veuillez spécifier un chiffre supérieur ou égal à 1 dans le champ Jours."; "weekFieldInvalid" = "Veuillez spécifier un chiffre supérieur ou égal à 1 dans le champ Semaine(s)."; diff --git a/UI/Scheduler/German.lproj/Localizable.strings b/UI/Scheduler/German.lproj/Localizable.strings index 6fbec4fc9..7de5b4de2 100644 --- a/UI/Scheduler/German.lproj/Localizable.strings +++ b/UI/Scheduler/German.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Vertrauliche Aufgabe)"; "Show alarms" = "Zeige Erinnerungen"; "Show tasks" = "Zeige Aufgaben"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Im Feld Tage ist ein numerischer Wert größer oder gleich 1 erforderlich."; "weekFieldInvalid" = "Im Feld Woche(n) ist ein numerischer Wert größer oder gleich 1 erforderlich."; diff --git a/UI/Scheduler/Hungarian.lproj/Localizable.strings b/UI/Scheduler/Hungarian.lproj/Localizable.strings index 053650a28..6c218dc51 100644 --- a/UI/Scheduler/Hungarian.lproj/Localizable.strings +++ b/UI/Scheduler/Hungarian.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Bizalmas feladat)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/Italian.lproj/Localizable.strings b/UI/Scheduler/Italian.lproj/Localizable.strings index ff55ff9b5..e4f539b54 100644 --- a/UI/Scheduler/Italian.lproj/Localizable.strings +++ b/UI/Scheduler/Italian.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Attività confidenziale)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/Russian.lproj/Localizable.strings b/UI/Scheduler/Russian.lproj/Localizable.strings index 9b3901fc4..a179cfaed 100644 --- a/UI/Scheduler/Russian.lproj/Localizable.strings +++ b/UI/Scheduler/Russian.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Confidential task)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/Spanish.lproj/Localizable.strings b/UI/Scheduler/Spanish.lproj/Localizable.strings index 18cee0987..f204b957f 100644 --- a/UI/Scheduler/Spanish.lproj/Localizable.strings +++ b/UI/Scheduler/Spanish.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Tarea confidencial)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Scheduler/Swedish.lproj/Localizable.strings b/UI/Scheduler/Swedish.lproj/Localizable.strings index 5fa6ad50e..277d7908a 100644 --- a/UI/Scheduler/Swedish.lproj/Localizable.strings +++ b/UI/Scheduler/Swedish.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Konfidentiell uppgift)"; "Show alarms" = "Visa alarm"; "Show tasks" = "Visa uppgifter"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Ange ett numeriskt värde in dagsfältet större än eller lika med 1."; "weekFieldInvalid" = "Ange ett numeriskt värde in veckofältet större än eller lika med 1."; diff --git a/UI/Scheduler/UIxCalendarProperties.h b/UI/Scheduler/UIxCalendarProperties.h index bb5483e46..75781c0d4 100644 --- a/UI/Scheduler/UIxCalendarProperties.h +++ b/UI/Scheduler/UIxCalendarProperties.h @@ -29,6 +29,7 @@ @interface UIxCalendarProperties : UIxComponent { SOGoAppointmentFolder *calendar; + NSString *baseCalDAVURL; BOOL reloadTasks; } diff --git a/UI/Scheduler/UIxCalendarProperties.m b/UI/Scheduler/UIxCalendarProperties.m index a25b6c566..68d4f998d 100644 --- a/UI/Scheduler/UIxCalendarProperties.m +++ b/UI/Scheduler/UIxCalendarProperties.m @@ -22,6 +22,7 @@ #import #import +#import #import @@ -39,12 +40,19 @@ if ((self = [super init])) { calendar = [self clientObject]; + baseCalDAVURL = nil; reloadTasks = NO; } return self; } +- (void) dealloc +{ + [baseCalDAVURL release]; + [super dealloc]; +} + - (NSString *) calendarID { return [calendar folderReference]; @@ -241,4 +249,36 @@ return [self jsCloseWithRefreshMethod: action]; } +- (NSString *) _baseCalDAVURL +{ + NSString *davURL; + + if (!baseCalDAVURL) + { + davURL = [[calendar realDavURL] absoluteString]; + if ([davURL hasSuffix: @"/"]) + baseCalDAVURL = [davURL substringToIndex: [davURL length] - 1]; + else + baseCalDAVURL = davURL; + [baseCalDAVURL retain]; + } + + return baseCalDAVURL; +} + +- (NSString *) calDavURL +{ + return [NSString stringWithFormat: @"%@/", [self _baseCalDAVURL]]; +} + +- (NSString *) webDavICSURL +{ + return [NSString stringWithFormat: @"%@.ics", [self _baseCalDAVURL]]; +} + +- (NSString *) webDavXMLURL +{ + return [NSString stringWithFormat: @"%@.xml", [self _baseCalDAVURL]]; +} + @end diff --git a/UI/Scheduler/Ukrainian.lproj/Localizable.strings b/UI/Scheduler/Ukrainian.lproj/Localizable.strings index b09838aca..536fc1e8f 100644 --- a/UI/Scheduler/Ukrainian.lproj/Localizable.strings +++ b/UI/Scheduler/Ukrainian.lproj/Localizable.strings @@ -521,6 +521,11 @@ vtodo_class2 = "(Конфіденційне завдання)"; "Show alarms" = "Сповіщення"; "Show tasks" = "Завдання"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Будь ласка, зазначте числове значення в полі дні, що більше або рівно 1."; "weekFieldInvalid" = "Будь ласка, зазначте числове значення в полі тиждень(і), що більше або рівно 1."; diff --git a/UI/Scheduler/Welsh.lproj/Localizable.strings b/UI/Scheduler/Welsh.lproj/Localizable.strings index ce2d4dc49..7e72f0d06 100644 --- a/UI/Scheduler/Welsh.lproj/Localizable.strings +++ b/UI/Scheduler/Welsh.lproj/Localizable.strings @@ -529,6 +529,11 @@ vtodo_class2 = "(Tasg gyhoeddus)"; "Show alarms" = "Show alarms"; "Show tasks" = "Show tasks"; +"Links to this Calendar" = "Links to this Calendar"; +"CalDAV url" = "CalDAV url"; +"WebDAV ICS URL" = "WebDAV ICS URL"; +"WebDAV XML URL" = "WebDAV XML URL"; + /* Error messages */ "dayFieldInvalid" = "Please specify a numerical value in the Days field greater or equal to 1."; "weekFieldInvalid" = "Please specify a numerical value in the Week(s) field greater or equal to 1."; diff --git a/UI/Templates/SchedulerUI/UIxCalendarProperties.wox b/UI/Templates/SchedulerUI/UIxCalendarProperties.wox index 5f2f6df4e..6a96c1317 100644 --- a/UI/Templates/SchedulerUI/UIxCalendarProperties.wox +++ b/UI/Templates/SchedulerUI/UIxCalendarProperties.wox @@ -99,6 +99,17 @@ /> + +