New button "Add default email addresses" for the vacation tab of the preferences window.

Monotone-Parent: 47f2f8615e2de608097b0eb96881d051d4b7e9a6
Monotone-Revision: 565a1bad1f0abc7187afc4117f947fa311875346

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2009-10-14T22:11:13
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2009-10-14 22:11:13 +00:00
parent f281877100
commit 4cfa21406e
7 changed files with 68 additions and 25 deletions
+9
View File
@@ -1,5 +1,14 @@
2009-10-14 Francis Lachapelle <flachapelle@inverse.ca>
* UI/PreferencesUI/UIxPreferences.m (-defaultEmailAddresses): new
method that returns a string representation of all the user's
email addresses.
* UI/WebServerResources/UIxPreferences.js
(addDefaultEmailAddresses): new function that make sure all of the
user's default email addresses appear in the addresses textarea of
the vacation tab.
* UI/WebServerResources/SchedulerUI.js (changeCalendarDisplay):
don't highlight the day selection when in the day view.
(eventsListCallback): don't popup event window when
@@ -21,6 +21,7 @@
"Enable vacation auto reply" = "Enable vacation auto reply";
"Auto reply message :" = "Auto reply message :";
"Email addresses (separated by commas) :" = "Email addresses (separated by commas) :";
"Add default email addresses" = "Add default email addresses";
"Days between responses :" = "Days between responses :";
"Do not send responses to mailing lists" = "Do not send responses to mailing lists";
"Please specify your message and your email addresses for which you want to enable auto reply."
@@ -20,6 +20,7 @@
"Enable vacation auto reply" = "Enable vacation auto reply";
"Auto reply message :" = "Auto reply message :";
"Email addresses (separated by commas) :" = "Email addresses (separated by commas) :";
"Add default email addresses" = "Ajouter les adresses par défaut";
"Days between responses :" = "Days between responses :";
"Do not send responses to mailing lists" = "Do not send responses to mailing lists";
"Please specify your message and your email addresses for which you want to enable auto reply."
+19 -14
View File
@@ -742,28 +742,33 @@ static BOOL forwardEnabled = NO;
forKey: @"autoReplyEmailAddresses"];
}
- (NSString *) autoReplyEmailAddresses
- (NSString *) defaultEmailAddresses
{
NSArray *addressesList;
NSMutableArray *newAddressesList;
NSMutableArray *uniqueAddressesList;
NSString *address;
unsigned int i;
addressesList = [vacationOptions objectForKey: @"autoReplyEmailAddresses"];
if (!addressesList)
uniqueAddressesList = [NSMutableArray array];
addressesList = [NSMutableArray arrayWithArray: [user allEmails]];
for (i = 0; i < [addressesList count]; i++)
{
newAddressesList = [NSMutableArray array];
addressesList = [NSMutableArray arrayWithArray: [user allEmails]];
for (i = 0; i < [addressesList count]; i++)
{
address = [addressesList objectAtIndex: i];
if (![newAddressesList containsObject: address])
[newAddressesList addObject: address];
}
addressesList = newAddressesList;
address = [addressesList objectAtIndex: i];
if (![uniqueAddressesList containsObject: address])
[uniqueAddressesList addObject: address];
}
return [addressesList componentsJoinedByString: @", "];
return [uniqueAddressesList componentsJoinedByString: @", "];
}
- (NSString *) autoReplyEmailAddresses
{
NSArray *addressesList;
addressesList = [vacationOptions objectForKey: @"autoReplyEmailAddresses"];
return (addressesList?
[addressesList componentsJoinedByString: @", "] : [self defaultEmailAddresses]);
}
- (NSArray *) daysBetweenResponsesList
@@ -187,7 +187,6 @@
var:checked="enableVacation" />
<var:string label:value="Enable vacation auto reply"/></label>
<div id="vacation">
<label><var:string label:value="Auto reply message :"/><br/>
<textarea const:name="autoReplyText"
const:id="autoReplyText"
@@ -195,9 +194,15 @@
</label><br/>
<label><var:string label:value="Email addresses (separated by commas) :"/><br/>
<input type="hidden"
const:id="defaultEmailAddresses"
var:value="defaultEmailAddresses" />
<textarea const:name="autoReplyEmailAddresses"
const:id="autoReplyEmailAddresses"
var:value="autoReplyEmailAddresses" />
var:value="autoReplyEmailAddresses" /><br/>
<span><input type="button" class="button"
id="addDefaultEmailAddresses"
label:value="Add default email addresses" /></span>
</label><br/>
<label><var:string label:value="Days between responses :"/>
+6 -2
View File
@@ -69,11 +69,15 @@ DIV#windowButtons
#vacation, #forward
{ padding-left: 2.5em; }
#vacation label
#vacation LABEL
{ margin-left: 0; }
#vacation TEXTAREA
{ width: 100%; }
#vacation TEXTAREA#autoReplyText
{ height: 100px; }
#vacation TEXTAREA#autoReplyEmailAddresses
{ height: 50px; }
{ height: 50px; }
#vacation SPAN
{ float: right; }
#vacation BR
{ clear: both; }
+25 -7
View File
@@ -70,25 +70,40 @@ function onChoiceChanged(event) {
_setupEvents(false);
}
function addDefaultEmailAddresses() {
var defaultAddresses = $("defaultEmailAddresses").value.split(/, */);
var addresses = $("autoReplyEmailAddresses").value.split(/, */);
defaultAddresses.each(function(adr) {
for (var i = 0; i < addresses.length; i++)
if (adr == addresses[i])
break;
if (i == addresses.length)
addresses.push(adr);
});
$("autoReplyEmailAddresses").value = addresses.join(", ");
}
function initPreferences() {
_setupEvents(true);
if (typeof (initAdditionalPreferences) != "undefined")
initAdditionalPreferences();
if ($("signature")) {
onComposeMessagesTypeChange ();
onComposeMessagesTypeChange();
}
var table = $("categoriesList");
if (table) {
resetCategoriesColors (null);
resetCategoriesColors(null);
var r = $$("TABLE#categoriesList tbody tr");
for (var i=0; i<r.length; i++)
r[i].identify ();
for (var i= 0; i < r.length; i++)
r[i].identify();
table.multiselect = true;
resetTableActions ();
$("categoryAdd").observe ("click", onCategoryAdd);
$("categoryDelete").observe ("click", onCategoryDelete);
resetTableActions();
$("categoryAdd").observe("click", onCategoryAdd);
$("categoryDelete").observe("click", onCategoryDelete);
}
// Disable placement (after) if composing in HTML
@@ -99,6 +114,9 @@ function initPreferences() {
}
onReplyPlacementListChange ();
}
if ($("addDefaultEmailAddresses"))
$("addDefaultEmailAddresses").observe("click", addDefaultEmailAddresses);
}
function resetTableActions() {