From 553cb396fed56c312b47b923a207843194ff3da9 Mon Sep 17 00:00:00 2001 From: C Robert Date: Thu, 20 Aug 2009 19:20:12 +0000 Subject: [PATCH] Mantis 112: Save events list view in Calendar module Monotone-Parent: 29f7969895a4f6ac8b5194a0152152408c0e0ecb Monotone-Revision: 0f96bbd5bd12a4eb42f2da32dac803b09f41e85e Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-08-20T19:20:12 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ UI/Scheduler/UIxCalFilterPanel.m | 7 +++++++ UI/Scheduler/UIxCalListingActions.m | 17 +++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/ChangeLog b/ChangeLog index b3a862bf2..b0e26ef44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,10 @@ * UI/Scheduler/UIxDatePicker.m: Fix to use user-defined format, if any. Mantis 1911. * UI/Scheduler/UIxDatePicker.m: Removed changes from 1911: too many issues. + * UI/Scheduler/UIxCalFilterPanel.m (selectedFilter): Added support for + CalendarDefaultFilter user default. Mantis 112 + * UI/Scheduler/UIxCalListingActions.m (checkFilterValue): Added to support + CalendarDefaultFilter user default. Mantis 112 2009-08-19 Cyril Robert diff --git a/UI/Scheduler/UIxCalFilterPanel.m b/UI/Scheduler/UIxCalFilterPanel.m index 20f511813..9ca38107d 100644 --- a/UI/Scheduler/UIxCalFilterPanel.m +++ b/UI/Scheduler/UIxCalFilterPanel.m @@ -24,6 +24,7 @@ #import #import #import +#import #import @@ -110,8 +111,14 @@ static NSArray *filters = nil; - (NSString *) selectedFilter { NSString *selectedFilter; + NSUserDefaults *ud; selectedFilter = [self queryParameterForKey: @"filterpopup"]; + if (![selectedFilter length]) + { + ud = [[context activeUser] userDefaults]; + selectedFilter = [ud objectForKey: @"CalendarDefaultFilter"]; + } if (![selectedFilter length]) selectedFilter = @"view_today"; diff --git a/UI/Scheduler/UIxCalListingActions.m b/UI/Scheduler/UIxCalListingActions.m index 11582ceac..e3c166d49 100644 --- a/UI/Scheduler/UIxCalListingActions.m +++ b/UI/Scheduler/UIxCalListingActions.m @@ -458,6 +458,22 @@ static NSArray *tasksFields = nil; return response; } +- (void) checkFilterValue +{ + NSString *filter; + NSUserDefaults *ud; + + filter = [[context request] formValueForKey: @"filterpopup"]; + if ([filter length] + && ![filter isEqualToString: @"view_all"] + && ![filter isEqualToString: @"view_future"]) + { + ud = [[context activeUser] userDefaults]; + [ud setObject: filter forKey: @"CalendarDefaultFilter"]; + [ud synchronize]; + } +} + - (WOResponse *) eventsListAction { NSArray *oldEvent; @@ -468,6 +484,7 @@ static NSArray *tasksFields = nil; NSString *sort, *ascending; [self _setupContext]; + [self checkFilterValue]; newEvents = [NSMutableArray array]; events = [[self _fetchFields: eventsFields