mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-06 00:45:09 +00:00
feat(preferences): button to reset contacts categories to defaults
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
|
||||
#import <SOPE/NGCards/iCalRecurrenceRule.h>
|
||||
|
||||
#import <SOGo/NSArray+Utilities.h>
|
||||
#import <SOGo/NSObject+Utilities.h>
|
||||
#import <SOGo/NSString+Utilities.h>
|
||||
#import <SOGo/SOGoDomainDefaults.h>
|
||||
@@ -299,14 +300,16 @@ static SoProduct *preferencesProduct = nil;
|
||||
//
|
||||
if (![defaults contactsCategories])
|
||||
{
|
||||
categoryLabels = [[[self labelForKey: @"contacts_category_labels" withResourceManager: [preferencesProduct resourceManager]]
|
||||
componentsSeparatedByString: @","]
|
||||
sortedArrayUsingSelector: @selector (localizedCaseInsensitiveCompare:)];
|
||||
NSArray *contactsCategories;
|
||||
|
||||
if (!categoryLabels)
|
||||
categoryLabels = [NSArray array];
|
||||
contactsCategories = [[[[self labelForKey: @"contacts_category_labels" withResourceManager: [preferencesProduct resourceManager]]
|
||||
componentsSeparatedByString: @","] trimmedComponents]
|
||||
sortedArrayUsingSelector: @selector (localizedCaseInsensitiveCompare:)];
|
||||
|
||||
[defaults setContactsCategories: categoryLabels];
|
||||
if (!contactsCategories)
|
||||
contactsCategories = [NSArray array];
|
||||
|
||||
[defaults setContactsCategories: contactsCategories];
|
||||
}
|
||||
|
||||
if (![[defaults source] objectForKey: @"SOGoMailAddOutgoingAddresses"])
|
||||
|
||||
@@ -36,13 +36,7 @@
|
||||
|
||||
// Addressbook
|
||||
NSMutableDictionary *addressBooksIDWithDisplayName;
|
||||
|
||||
// Calendar categories
|
||||
NSString *category;
|
||||
NSArray *calendarCategories;
|
||||
NSDictionary *calendarCategoriesColors;
|
||||
|
||||
NSArray *contactsCategories;
|
||||
|
||||
NSCalendarDate *today;
|
||||
|
||||
// Sieve filtering
|
||||
|
||||
@@ -113,10 +113,6 @@ static NSArray *reminderValues = nil;
|
||||
referenceDate = [referenceDate addYear:0 month:0 day:(-[referenceDate dayOfMonth] + 1) hour:0 minute:0 second:0];
|
||||
ASSIGN (today, referenceDate);
|
||||
|
||||
calendarCategories = nil;
|
||||
calendarCategoriesColors = nil;
|
||||
category = nil;
|
||||
|
||||
ASSIGN (daysOfWeek, [locale objectForKey: NSWeekDayNameArray]);
|
||||
|
||||
dd = [user domainDefaults];
|
||||
@@ -157,10 +153,6 @@ static NSArray *reminderValues = nil;
|
||||
[user release];
|
||||
[sieveFilters release];
|
||||
[vacationOptions release];
|
||||
[calendarCategories release];
|
||||
[calendarCategoriesColors release];
|
||||
[category release];
|
||||
[contactsCategories release];
|
||||
[forwardOptions release];
|
||||
[daysOfWeek release];
|
||||
[addressBooksIDWithDisplayName release];
|
||||
@@ -863,6 +855,23 @@ static NSArray *reminderValues = nil;
|
||||
return [defaultCategoriesColors jsonRepresentation];
|
||||
}
|
||||
|
||||
//
|
||||
// Used by templates
|
||||
//
|
||||
- (NSString *) defaultContactsCategories
|
||||
{
|
||||
NSArray *contactsCategories;
|
||||
|
||||
contactsCategories = [[[[self labelForKey: @"contacts_category_labels" withResourceManager: [self resourceManager]]
|
||||
componentsSeparatedByString: @","] trimmedComponents]
|
||||
sortedArrayUsingSelector: @selector (localizedCaseInsensitiveCompare:)];
|
||||
|
||||
if (!contactsCategories)
|
||||
contactsCategories = [NSArray array];
|
||||
|
||||
return [contactsCategories jsonRepresentation];
|
||||
}
|
||||
|
||||
//
|
||||
// Used by templates
|
||||
//
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
var timeZonesList = <var:string value="timeZonesList" const:escapeHTML="NO"/>;
|
||||
var defaultEmailAddresses = <var:string value="defaultEmailAddresses" const:escapeHTML="NO"/>;
|
||||
var defaultCalendarCategories = <var:string value="defaultCalendarCategoriesColors" const:escapeHTML="NO"/>;
|
||||
var defaultContactsCategories = <var:string value="defaultContactsCategories" const:escapeHTML="NO"/>;
|
||||
var forwardConstraints = <var:string value="forwardConstraints" const:escapeHTML="NO"/>;
|
||||
var forwardConstraintsDomains = <var:string value="forwardConstraintsDomains" const:escapeHTML="NO"/>;
|
||||
var sieveCapabilities = <var:string value="sieveCapabilities" const:escapeHTML="NO"/>;
|
||||
@@ -545,6 +546,11 @@
|
||||
</md-list>
|
||||
|
||||
<div layout="row" layout-align="end center">
|
||||
<md-button type="button"
|
||||
label:aria-label="Reset to defaults"
|
||||
ng-click="app.resetContactsCategories(preferencesForm)">
|
||||
<var:string label:value="Reset to defaults"/>
|
||||
</md-button>
|
||||
<md-button type="button"
|
||||
label:aria-label="Add Contact Category"
|
||||
ng-click="app.addContactCategory(preferencesForm)">
|
||||
|
||||
@@ -55,6 +55,11 @@
|
||||
});
|
||||
};
|
||||
|
||||
this.resetContactsCategories = function(form) {
|
||||
this.preferences.defaults.SOGoContactsCategories = $window.defaultContactsCategories;
|
||||
form.$setDirty();
|
||||
};
|
||||
|
||||
this.resetCalendarCategories = function(form) {
|
||||
this.preferences.defaults.SOGoCalendarCategories = _.keys($window.defaultCalendarCategories);
|
||||
this.preferences.defaults.SOGoCalendarCategoriesColorsValues = _.values($window.defaultCalendarCategories);
|
||||
|
||||
Reference in New Issue
Block a user