Monotone-Parent: 35156d431d203984a125b3638bbea9d7877ed199
Monotone-Revision: c67e433732722d75d043f48a847d38b5f7acad9d Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-09-22T15:58:43 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
819c3bcab4
commit
b491d2b0eb
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2009-09-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* UI/MailerUI/UIxMailListView.m (+initialize): new method
|
||||
initialized the two new global NSArray: defaultColumnOrder
|
||||
(hardcoded values), udColumnOrder (system default values).
|
||||
(-columnsDisplayOrder): we now cache the resulting set of keys.
|
||||
We also test for the presence of invalid keys by comparing the
|
||||
configured array with the hardcoded one above.
|
||||
(-setCurrentColumn:, currentColumn): new accessors.
|
||||
|
||||
2009-09-21 Ludovic Marcotte <lmarcotte@inverse.ca>
|
||||
|
||||
* SOPE/NGCards/versitCardsSaxDriver/VSSaxDriver.m
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
{
|
||||
NSArray *sortedUIDs; /* we always need to retrieve all anyway! */
|
||||
NSArray *messages;
|
||||
NSMutableArray *userDefinedOrder;
|
||||
unsigned firstMessageNumber;
|
||||
id message;
|
||||
EOQualifier *qualifier;
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#import <NGObjWeb/NSException+HTTP.h>
|
||||
#import <NGExtensions/NSNull+misc.h>
|
||||
#import <NGExtensions/NSString+misc.h>
|
||||
#import <NGExtensions/NSObject+Logs.h>
|
||||
|
||||
#import <EOControl/EOQualifier.h>
|
||||
|
||||
|
@ -55,10 +56,32 @@
|
|||
|
||||
#import "UIxMailListView.h"
|
||||
|
||||
static NSArray *defaultColumnOrder = nil;
|
||||
static NSArray *udColumnOrder = nil;
|
||||
|
||||
#define messagesPerPage 50
|
||||
|
||||
@implementation UIxMailListView
|
||||
|
||||
+ (void) initialize
|
||||
{
|
||||
if (!defaultColumnOrder)
|
||||
{
|
||||
defaultColumnOrder = [NSArray arrayWithObjects: @"Flagged",
|
||||
@"Attachment", @"Subject", @"From",
|
||||
@"Unread", @"Date", @"Priority", @"Size",
|
||||
nil];
|
||||
[defaultColumnOrder retain];
|
||||
}
|
||||
|
||||
if (!udColumnOrder)
|
||||
{
|
||||
udColumnOrder = [[NSUserDefaults standardUserDefaults]
|
||||
arrayForKey: @"SOGoMailListViewColumnsOrder"];
|
||||
[udColumnOrder retain];
|
||||
}
|
||||
}
|
||||
|
||||
- (id) init
|
||||
{
|
||||
SOGoUser *user;
|
||||
|
@ -69,6 +92,7 @@
|
|||
user = [context activeUser];
|
||||
ASSIGN (dateFormatter, [user dateFormatterInContext: context]);
|
||||
ASSIGN (userTimeZone, [user timeZone]);
|
||||
userDefinedOrder = nil;
|
||||
folderType = 0;
|
||||
currentColumn = nil;
|
||||
}
|
||||
|
@ -85,6 +109,7 @@
|
|||
[dateFormatter release];
|
||||
[userTimeZone release];
|
||||
[currentColumn release];
|
||||
[userDefinedOrder release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
@ -811,35 +836,47 @@
|
|||
|
||||
- (NSArray *) columnsDisplayOrder
|
||||
{
|
||||
NSMutableArray *userDefinedOrder;
|
||||
NSMutableArray *testColumns;
|
||||
NSArray *defaultsOrder;
|
||||
NSUserDefaults *ud;
|
||||
unsigned int i;
|
||||
|
||||
ud = [[context activeUser] userSettings];
|
||||
defaultsOrder = [ud arrayForKey: @"SOGoMailListViewColumnsOrder"];
|
||||
if (![defaultsOrder count])
|
||||
if (!userDefinedOrder)
|
||||
{
|
||||
defaultsOrder = [[NSUserDefaults standardUserDefaults]
|
||||
arrayForKey: @"SOGoMailListViewColumnsOrder"];
|
||||
ud = [[context activeUser] userSettings];
|
||||
defaultsOrder = [ud arrayForKey: @"SOGoMailListViewColumnsOrder"];
|
||||
if (![defaultsOrder count])
|
||||
defaultsOrder = [NSArray arrayWithObjects: @"Flagged",
|
||||
@"Attachment", @"Subject", @"From",
|
||||
@"Unread", @"Date", @"Priority", @"Size", nil];
|
||||
}
|
||||
userDefinedOrder = [NSMutableArray arrayWithArray: defaultsOrder];
|
||||
{
|
||||
defaultsOrder = udColumnOrder;
|
||||
if (![defaultsOrder count])
|
||||
defaultsOrder = defaultColumnOrder;
|
||||
}
|
||||
userDefinedOrder = [defaultsOrder mutableCopy];
|
||||
|
||||
if ([self showToAddress])
|
||||
{
|
||||
i = [userDefinedOrder indexOfObject: @"From"];
|
||||
if (i != NSNotFound)
|
||||
[userDefinedOrder replaceObjectAtIndex: i withObject: @"To"];
|
||||
}
|
||||
else
|
||||
{
|
||||
i = [userDefinedOrder indexOfObject: @"To"];
|
||||
if (i != NSNotFound)
|
||||
[userDefinedOrder replaceObjectAtIndex: i withObject: @"From"];
|
||||
testColumns = [userDefinedOrder mutableCopy];
|
||||
[testColumns removeObjectsInArray: defaultColumnOrder];
|
||||
if ([testColumns count] > 0)
|
||||
{
|
||||
[self errorWithFormat: @"one or more column names specified in"
|
||||
@" SOGoMailListViewColumnsOrder are invalid: '%@'",
|
||||
[testColumns componentsJoinedByString: @"', '"]];
|
||||
[self errorWithFormat: @" falling back on hardcoded column order"];
|
||||
userDefinedOrder = [defaultColumnOrder mutableCopy];
|
||||
}
|
||||
[testColumns release];
|
||||
|
||||
if ([self showToAddress])
|
||||
{
|
||||
i = [userDefinedOrder indexOfObject: @"From"];
|
||||
if (i != NSNotFound)
|
||||
[userDefinedOrder replaceObjectAtIndex: i withObject: @"To"];
|
||||
}
|
||||
else
|
||||
{
|
||||
i = [userDefinedOrder indexOfObject: @"To"];
|
||||
if (i != NSNotFound)
|
||||
[userDefinedOrder replaceObjectAtIndex: i withObject: @"From"];
|
||||
}
|
||||
}
|
||||
|
||||
return [[self columnsMetaData] objectsForKeys: userDefinedOrder
|
||||
|
@ -851,6 +888,16 @@
|
|||
return [NSString stringWithFormat: @"%d", [[self columnsDisplayOrder] count]];
|
||||
}
|
||||
|
||||
- (void) setCurrentColumn: (NSDictionary *) newCurrentColumn
|
||||
{
|
||||
ASSIGN (currentColumn, newCurrentColumn);
|
||||
}
|
||||
|
||||
- (NSDictionary *) currentColumn
|
||||
{
|
||||
return currentColumn;
|
||||
}
|
||||
|
||||
- (NSString *) columnTitle
|
||||
{
|
||||
return [self labelForKey: [currentColumn objectForKey: @"value"]];
|
||||
|
|
Loading…
Reference in New Issue