]> err.no Git - scalable-opengroupware.org/blobdiff - UI/PreferencesUI/UIxPreferences.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1267 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / PreferencesUI / UIxPreferences.m
index 958675336d3381bc37ee272fdb42e99a6be7e8b0..192d8267e2d289b1b9488d00faac14dbcf4db2f1 100644 (file)
@@ -28,6 +28,7 @@
 #import <NGObjWeb/WOContext.h>
 #import <NGObjWeb/WORequest.h>
 
+#import <SoObjects/SOGo/NSArray+Utilities.h>
 #import <SoObjects/SOGo/NSDictionary+Utilities.h>
 #import <SoObjects/SOGo/SOGoUser.h>
 
@@ -472,7 +473,12 @@ static BOOL shouldDisplayPasswordChange = NO;
 //         string="itemIdentityText" selection="defaultIdentity"/></label>
 - (NSArray *) identitiesList
 {
-  return [user allIdentities];
+  NSDictionary *primaryAccount;
+
+#warning we manage only one account per user at this time...
+  primaryAccount = [[user mailAccounts] objectAtIndex: 0];
+
+  return [primaryAccount objectForKey: @"identities"];
 }
 
 - (NSString *) itemIdentityText
@@ -480,9 +486,9 @@ static BOOL shouldDisplayPasswordChange = NO;
   return [item keysWithFormat: @"%{fullName} <%{email}>"];
 }
 
-- (NSDictionary *) defaultIdentity
+- (NSMutableDictionary *) defaultIdentity
 {
-  NSDictionary *currentIdentity, *defaultIdentity;
+  NSMutableDictionary *currentIdentity, *defaultIdentity;
   NSEnumerator *identities;
 
   defaultIdentity = nil;
@@ -496,6 +502,19 @@ static BOOL shouldDisplayPasswordChange = NO;
   return defaultIdentity;
 }
 
+- (NSString *) signature
+{
+  return [[self defaultIdentity] objectForKey: @"signature"];
+}
+
+- (void) setSignature: (NSString *) newSignature
+{
+  [[self defaultIdentity] setObject: newSignature
+                         forKey: @"signature"];
+  [userDefaults setObject: [user mailAccounts]
+               forKey: @"MailAccounts"];
+}
+
 - (id <WOActionResults>) defaultAction
 {
   id <WOActionResults> results;