Added calendar default reminder support.

This commit is contained in:
Ludovic Marcotte
2013-11-20 17:42:11 -05:00
parent f167475c91
commit df3e9033f3
10 changed files with 151 additions and 154 deletions
@@ -111,18 +111,19 @@
"personalCalendar" = "Personal calendar";
"firstCalendar" = "First enabled calendar";
"reminderTime_0000" = "0 minutes";
"reminderTime_0005" = "5 minutes";
"reminderTime_0010" = "10 minutes";
"reminderTime_0015" = "15 minutes";
"reminderTime_0030" = "30 minutes";
"reminderTime_0100" = "1 hour";
"reminderTime_0200" = "2 hours";
"reminderTime_0400" = "4 hours";
"reminderTime_0800" = "8 hours";
"reminderTime_1200" = "1/2 day";
"reminderTime_2400" = "1 day";
"reminderTime_4800" = "2 days";
"reminder_NONE" = "No reminder";
"reminder_5_MINUTES_BEFORE" = "5 minutes before";
"reminder_10_MINUTES_BEFORE" = "10 minutes before";
"reminder_15_MINUTES_BEFORE" = "15 minutes before";
"reminder_30_MINUTES_BEFORE" = "30 minutes before";
"reminder_45_MINUTES_BEFORE" = "45 minutes before";
"reminder_1_HOUR_BEFORE" = "1 hour before";
"reminder_2_HOURS_BEFORE" = "2 hours before";
"reminder_5_HOURS_BEFORE" = "5 hours before";
"reminder_15_HOURS_BEFORE" = "15 hours before";
"reminder_1_DAY_BEFORE" = "1 day before";
"reminder_2_DAYS_BEFORE" = "2 days before";
"reminder_1_WEEK_BEFORE" = "1 week before";
/* Mailer */
"Show subscribed mailboxes only" = "Show subscribed mailboxes only";
+93 -53
View File
@@ -58,11 +58,55 @@
workweek = from -> to
identities */
static NSArray *reminderItems = nil;
static NSArray *reminderValues = nil;
@implementation UIxPreferences
+ (void) initialize
{
if (!reminderItems && !reminderValues)
{
reminderItems = [NSArray arrayWithObjects:
@"5_MINUTES_BEFORE",
@"10_MINUTES_BEFORE",
@"15_MINUTES_BEFORE",
@"30_MINUTES_BEFORE",
@"45_MINUTES_BEFORE",
@"-",
@"1_HOUR_BEFORE",
@"2_HOURS_BEFORE",
@"5_HOURS_BEFORE",
@"15_HOURS_BEFORE",
@"-",
@"1_DAY_BEFORE",
@"2_DAYS_BEFORE",
@"1_WEEK_BEFORE",
nil];
reminderValues = [NSArray arrayWithObjects:
@"-PT5M",
@"-PT10M",
@"-PT15M",
@"-PT30M",
@"-PT45M",
@"",
@"-PT1H",
@"-PT2H",
@"-PT5H",
@"-PT15H",
@"",
@"-P1D",
@"-P2D",
@"-P1W",
nil];
[reminderItems retain];
[reminderValues retain];
}
}
- (id) init
{
//NSDictionary *locale;
SOGoDomainDefaults *dd;
if ((self = [super init]))
@@ -485,6 +529,54 @@
return [userDefaults calendarTasksDefaultClassification];
}
- (NSArray *) reminderList
{
return reminderItems;
}
- (NSString *) itemReminderText
{
NSString *text;
if ([item isEqualToString: @"-"])
text = item;
else
text = [self labelForKey: [NSString stringWithFormat: @"reminder_%@", item]];
return text;
}
- (void) setReminder: (NSString *) theReminder
{
NSString *value;
int index;
index = NSNotFound;
value = @"NONE";
if (theReminder && [theReminder caseInsensitiveCompare: @"-"] != NSOrderedSame)
index = [reminderItems indexOfObject: theReminder];
if (index != NSNotFound)
value = [reminderValues objectAtIndex: index];
[userDefaults setCalendarDefaultReminder: value];
}
- (NSString *) reminder
{
NSString *value;
int index;
value = [userDefaults calendarDefaultReminder];
index = [reminderValues indexOfObject: value];
if (index != NSNotFound)
return [reminderItems objectAtIndex: index];
return @"NONE";
}
- (NSArray *) hoursList
{
static NSMutableArray *hours = nil;
@@ -558,58 +650,6 @@
[userDefaults setFirstWeekOfYear: newFirstWeek];
}
- (BOOL) reminderEnabled
{
return [userDefaults reminderEnabled];
}
- (void) setReminderEnabled: (BOOL) newValue
{
[userDefaults setReminderEnabled: newValue];
}
- (BOOL) remindWithASound
{
return [userDefaults remindWithASound];
}
- (void) setRemindWithASound: (BOOL) newValue
{
[userDefaults setRemindWithASound: newValue];
}
- (NSArray *) reminderTimesList
{
static NSArray *reminderTimesList = nil;
if (!reminderTimesList)
{
reminderTimesList = [NSArray arrayWithObjects: @"0000", @"0005",
@"0010", @"0015", @"0030", @"0100",
@"0200", @"0400", @"0800", @"1200",
@"2400", @"4800", nil];
[reminderTimesList retain];
}
return reminderTimesList;
}
- (NSString *) itemReminderTimeText
{
return [self labelForKey:
[NSString stringWithFormat: @"reminderTime_%@", item]];
}
- (NSString *) userReminderTime
{
return [userDefaults reminderTime];
}
- (void) setReminderTime: (NSString *) newTime
{
[userDefaults setReminderTime: newTime];
}
/* Mailer */
- (void) setShowSubscribedFoldersOnly: (BOOL) showSubscribedFoldersOnly
{
+1 -5
View File
@@ -1,8 +1,6 @@
/* UIxComponentEditor.h - this file is part of SOGo
*
* Copyright (C) 2006-2012 Inverse inc.
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
* Copyright (C) 2006-2013 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -42,8 +40,6 @@
NSString *saveURL;
NSMutableArray *calendarList;
//NSMutableArray *organizerList;
//NSDictionary *organizerIdentity;
NSDictionary *organizerProfile;
/* individual values */
+28 -14
View File
@@ -1152,25 +1152,39 @@ iRANGE(2);
return reminderItems;
}
- (void) setReminder: (NSString *) theReminder
{
ASSIGN(reminder, theReminder);
}
- (void) setReminder: (NSString *) theReminder
{
ASSIGN(reminder, theReminder);
}
- (NSString *) reminder
{
return reminder;
}
{
if ([[self clientObject] isNew])
{
NSString *value;
int index;
value = [userDefaults calendarDefaultReminder];
index = [reminderValues indexOfObject: value];
if (index != NSNotFound)
return [reminderItems objectAtIndex: index];
return @"NONE";
}
- (void) setReminderQuantity: (NSString *) theReminderQuantity
{
ASSIGN(reminderQuantity, theReminderQuantity);
}
return reminder;
}
- (void) setReminderQuantity: (NSString *) theReminderQuantity
{
ASSIGN(reminderQuantity, theReminderQuantity);
}
- (NSString *) reminderQuantity
{
return reminderQuantity;
}
{
return reminderQuantity;
}
- (NSString *) itemReminderText
{
@@ -204,6 +204,13 @@
const:id="tasksClassification"
const:name="tasksClassification"
string="itemClassificationText" selection="tasksDefaultClassification"/></dd>
<dt><var:string label:value="Default reminder :"/></dt>
<dd><var:popup list="reminderList" item="item"
const:disabledValue="-"
label:noSelectionString="reminder_NONE"
const:name="reminderList"
const:id="reminderList"
string="itemReminderText" var:selection="reminder"/></dd>
</dl>
<label><var:string label:value="Categories"/></label>
@@ -250,17 +250,6 @@
<input type="checkbox" name="delegateReceiveUpdates" /> <var:string label:value="Keep sending me updates" /> -->
</span>
</label>
<!--TODO: I'm not sure how to send this
<label><var:string label:value="Reminder:" />
<span class="content"><var:popup list="reminderList" item="item"
const:disabledValue="-"
label:noSelectionString="reminder_NONE"
const:name="reminderList"
const:id="reminderList"
string="itemReminderText"
var:selection="reminder"
const:onchange="?" /></span>
</label>-->
</var:if>
</div>
<var:if condition="hasAttendees">