diff --git a/NEWS b/NEWS
index 591d70832..54b0ce42e 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ Enhancements
- [web] mail filters are now sortable
- [web] now supports RFC6154 and NoInferiors IMAP flag
- [web] improved confirm dialogs for deletions
+ - [web] show all/only this calendar
Bug fixes
- [web] handle birthday dates before 1970
diff --git a/UI/Scheduler/English.lproj/Localizable.strings b/UI/Scheduler/English.lproj/Localizable.strings
index 12d24630e..717bf5e37 100644
--- a/UI/Scheduler/English.lproj/Localizable.strings
+++ b/UI/Scheduler/English.lproj/Localizable.strings
@@ -437,6 +437,13 @@ vtodo_class2 = "(Confidential task)";
"When I modify my calendar, send a mail to" = "When I modify my calendar, send a mail to";
"Email Address" = "Email Address";
"Export" = "Export";
+
+/* Show only the calendar for which the menu is displayed */
+"Show Only This Calendar" = Show Only This Calendar";
+
+/* Show all calendar (personal, subscriptions and web) */
+"Show All Calendars" = "Show All Calendars";
+
"Links to this Calendar" = "Links to this Calendar";
"Authenticated User Access" = "Authenticated User Access";
"CalDAV URL" = "CalDAV URL ";
diff --git a/UI/Templates/SchedulerUI/UIxCalMainView.wox b/UI/Templates/SchedulerUI/UIxCalMainView.wox
index 2b5e3d3b7..d448c3d4e 100644
--- a/UI/Templates/SchedulerUI/UIxCalMainView.wox
+++ b/UI/Templates/SchedulerUI/UIxCalMainView.wox
@@ -188,6 +188,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/WebServerResources/js/Scheduler/CalendarsController.js b/UI/WebServerResources/js/Scheduler/CalendarsController.js
index b8349e469..f91a246b7 100644
--- a/UI/WebServerResources/js/Scheduler/CalendarsController.js
+++ b/UI/WebServerResources/js/Scheduler/CalendarsController.js
@@ -21,6 +21,8 @@
vm.share = share;
vm.importCalendar = importCalendar;
vm.exportCalendar = exportCalendar;
+ vm.showOnly = showOnly;
+ vm.showAll = showAll;
vm.showLinks = showLinks;
vm.showProperties = showProperties;
vm.subscribeToFolder = subscribeToFolder;
@@ -202,6 +204,19 @@
window.location.href = ApplicationBaseURL + '/' + calendar.id + '.ics' + '/export';
}
+ function showOnly(calendar) {
+ _.forEach(Calendar.$findAll(), function(o) {
+ if (calendar.id == o.id)
+ o.active = 1;
+ else
+ o.active = 0;
+ });
+ }
+
+ function showAll() {
+ _.forEach(Calendar.$findAll(), function(o) { o.active = 1; });
+ }
+
function showLinks(calendar) {
$mdDialog.show({
parent: angular.element(document.body),