mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-22 11:55:24 +00:00
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:
@@ -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."
|
||||
|
||||
@@ -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 :"/>
|
||||
|
||||
@@ -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; }
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user