mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-01 01:39:30 +00:00
Monotone-Parent: ba0fe3320acf6275bb89d9dc7c60d9082e266489
Monotone-Revision: a49a85f45a53edd3675c0c11f90d016ef0761963 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-06-27T21:23:01 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -34,16 +34,16 @@
|
||||
|
||||
@implementation UIxMailFilterPanel
|
||||
|
||||
static NSArray *filters = nil;
|
||||
static NSDictionary *filterToQualifier = nil;
|
||||
static NSArray *filters = nil;
|
||||
// static NSDictionary *filterToQualifier = nil;
|
||||
|
||||
+ (void)initialize {
|
||||
// TODO: also available: answered, draft [custom: NotJunk and Junk]
|
||||
// Note: we currently cannot use: "flags != 'deleted'"
|
||||
static NSString *quals[] = {
|
||||
@"all", nil,
|
||||
@"read", @"flags = 'seen' AND NOT (flags = 'deleted')",
|
||||
@"unread", @"flags = 'unseen' AND NOT (flags = 'deleted')",
|
||||
@"all", nil,
|
||||
@"read", @"flags = 'seen' AND NOT (flags = 'deleted')",
|
||||
@"unread", @"flags = 'unseen' AND NOT (flags = 'deleted')",
|
||||
@"deleted", @"flags = 'deleted'",
|
||||
@"flagged", @"flags = 'flagged'",
|
||||
nil, nil
|
||||
@@ -63,7 +63,7 @@ static NSDictionary *filterToQualifier = nil;
|
||||
}
|
||||
}
|
||||
|
||||
filterToQualifier = [md copy];
|
||||
// filterToQualifier = [md copy];
|
||||
filters = [ma copy];
|
||||
[md release]; md = nil;
|
||||
[ma release]; ma = nil;
|
||||
@@ -80,106 +80,110 @@ static NSDictionary *filterToQualifier = nil;
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[self->searchCriteria release];
|
||||
[self->searchText release];
|
||||
- (void) dealloc
|
||||
{
|
||||
[searchCriteria release];
|
||||
[searchText release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
/* accessors */
|
||||
|
||||
- (void)setSearchText: (NSString *)_txt
|
||||
- (void) setSearchText: (NSString *) _txt
|
||||
{
|
||||
ASSIGNCOPY(self->searchText, _txt);
|
||||
ASSIGN (searchText, _txt);
|
||||
}
|
||||
|
||||
- (void)setSearchCriteria: (NSString *)_txt
|
||||
- (void) setSearchCriteria: (NSString *) _txt
|
||||
{
|
||||
ASSIGNCOPY(self->searchText, _txt);
|
||||
ASSIGN (searchText, _txt);
|
||||
}
|
||||
|
||||
- (NSString *)searchText
|
||||
- (NSString *) searchText
|
||||
{
|
||||
if (self->searchText == nil)
|
||||
if (!searchText)
|
||||
{
|
||||
self->searchText =
|
||||
[[[[self context] request] formValueForKey:@"search"] copy];
|
||||
searchText = [[context request] formValueForKey: @"value"];
|
||||
[searchText retain];
|
||||
}
|
||||
return self->searchText;
|
||||
|
||||
return searchText;
|
||||
}
|
||||
|
||||
- (NSString *)searchCriteria
|
||||
- (NSString *) searchCriteria
|
||||
{
|
||||
if (self->searchCriteria == nil)
|
||||
if (!searchCriteria)
|
||||
{
|
||||
self->searchCriteria =
|
||||
[[[[self context] request] formValueForKey:@"criteria"] copy];
|
||||
searchCriteria = [[context request] formValueForKey: @"criteria"];
|
||||
[searchCriteria retain];
|
||||
}
|
||||
return self->searchCriteria;
|
||||
|
||||
return searchCriteria;
|
||||
}
|
||||
|
||||
/* filters */
|
||||
|
||||
- (NSArray *)filters
|
||||
- (NSArray *) filters
|
||||
{
|
||||
return filters;
|
||||
}
|
||||
|
||||
/* qualifiers */
|
||||
|
||||
- (EOQualifier *) searchTextQualifier
|
||||
{
|
||||
EOQualifier *q;
|
||||
NSString *s;
|
||||
// - (EOQualifier *) searchTextQualifier
|
||||
// {
|
||||
// EOQualifier *q;
|
||||
// NSString *s;
|
||||
|
||||
s = [self searchText];
|
||||
if ([s length] == 0)
|
||||
return nil;
|
||||
// s = [self searchText];
|
||||
// if ([s length] == 0)
|
||||
// return nil;
|
||||
|
||||
q = [EOQualifier qualifierWithQualifierFormat:
|
||||
@"(subject doesContain: %@) OR "
|
||||
@"(from doesContain: %@)",
|
||||
s, s];
|
||||
return q;
|
||||
}
|
||||
// q = [EOQualifier qualifierWithQualifierFormat:
|
||||
// @"(subject doesContain: %@) OR "
|
||||
// @"(from doesContain: %@)",
|
||||
// s, s];
|
||||
// return q;
|
||||
// }
|
||||
|
||||
- (NSString *)filterLabel
|
||||
{
|
||||
#if 1
|
||||
return [[[self context] page] labelForKey:[self valueForKey:@"filter"]];
|
||||
#else
|
||||
return [self valueForKey:@"filter"];
|
||||
#endif
|
||||
}
|
||||
// - (NSString *) filterLabel
|
||||
// {
|
||||
// #if 1
|
||||
// return [[context page] labelForKey:[self valueForKey:@"filter"]];
|
||||
// #else
|
||||
// return [self valueForKey:@"filter"];
|
||||
// #endif
|
||||
// }
|
||||
|
||||
- (NSString *)selectedFilter
|
||||
{
|
||||
return [[[self context] request] formValueForKey:@"filterpopup"];
|
||||
}
|
||||
// - (NSString *) selectedFilter
|
||||
// {
|
||||
// return [[context request] formValueForKey: @"filterpopup"];
|
||||
// }
|
||||
|
||||
- (EOQualifier *)filterQualifier
|
||||
{
|
||||
NSString *selectedFilter;
|
||||
// - (EOQualifier *) filterQualifier
|
||||
// {
|
||||
// NSString *selectedFilter;
|
||||
|
||||
selectedFilter = [self selectedFilter];
|
||||
// selectedFilter = [self selectedFilter];
|
||||
|
||||
return [selectedFilter length] > 0
|
||||
? [filterToQualifier objectForKey:selectedFilter] : nil;
|
||||
}
|
||||
// return [selectedFilter length] > 0
|
||||
// ? [filterToQualifier objectForKey:selectedFilter] : nil;
|
||||
// }
|
||||
|
||||
- (EOQualifier *) qualifier
|
||||
{
|
||||
EOQualifier *sq, *fq;
|
||||
NSArray *qa;
|
||||
// - (EOQualifier *) qualifier
|
||||
// {
|
||||
// EOQualifier *sq, *fq;
|
||||
// NSArray *qa;
|
||||
|
||||
sq = [self searchTextQualifier];
|
||||
fq = [self filterQualifier];
|
||||
// sq = [self searchTextQualifier];
|
||||
// fq = [self filterQualifier];
|
||||
|
||||
if (fq == nil) return sq;
|
||||
if (sq == nil) return fq;
|
||||
// if (fq == nil) return sq;
|
||||
// if (sq == nil) return fq;
|
||||
|
||||
qa = [NSArray arrayWithObjects:fq, sq, nil];
|
||||
return [[[EOAndQualifier alloc] initWithQualifierArray:qa] autorelease];
|
||||
}
|
||||
// qa = [NSArray arrayWithObjects:fq, sq, nil];
|
||||
|
||||
// return [[[EOAndQualifier alloc] initWithQualifierArray:qa] autorelease];
|
||||
// }
|
||||
|
||||
@end /* UIxMailFilterPanel */
|
||||
|
||||
@@ -7,27 +7,16 @@
|
||||
>
|
||||
<div class="menu" id="searchMenu">
|
||||
<ul id="searchOptions">
|
||||
<li id="subject"
|
||||
onmousedown="return false;"
|
||||
onmouseup="setSearchCriteria(event);"><var:string label:value="Subject"/></li>
|
||||
<li id="sender"
|
||||
onmousedown="return false;"
|
||||
onmouseup="setSearchCriteria(event);"><var:string label:value="Sender"/></li>
|
||||
<li id="subject_or_sender"
|
||||
onmousedown="return false;"
|
||||
onmouseup="setSearchCriteria(event);"><var:string label:value="Subject or Sender"/></li>
|
||||
<li id="to_or_cc"
|
||||
onmousedown="return false;"
|
||||
onmouseup="setSearchCriteria(event);"><var:string label:value="To or Cc"/></li>
|
||||
<li id="entire_message"
|
||||
onmousedown="return false;"
|
||||
onmouseup="setSearchCriteria(event);"><var:string label:value="Entire Message"/></li>
|
||||
<li id="find_in_message"
|
||||
onmousedown="return false;"
|
||||
onmouseup="setSearchCriteria(event);"><var:string label:value="Find In Message"/></li>
|
||||
<li id="subject"><var:string label:value="Subject"/></li>
|
||||
<li id="sender"><var:string label:value="Sender"/></li>
|
||||
<li id="subject_or_sender"><var:string
|
||||
label:value="Subject or Sender"/></li>
|
||||
<li id="to_or_cc"><var:string label:value="To or Cc"/></li>
|
||||
<li id="entire_message"><var:string
|
||||
label:value="Entire Message"/></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="filterPanel">
|
||||
<var:if condition="hideFrame" const:negate="YES"
|
||||
><span class="searchBox" style="float: right">
|
||||
@@ -38,11 +27,11 @@
|
||||
menuid="searchMenu" />
|
||||
</span>
|
||||
|
||||
<var:string label:value="View:" />
|
||||
<!-- <var:string label:value="View:" />
|
||||
<var:popup list="filters"
|
||||
item="filter" string="filterLabel" value="filter"
|
||||
selection="selectedFilter"
|
||||
const:name="filterpopup" />
|
||||
const:name="filterpopup" /> -->
|
||||
</var:if>
|
||||
</div>
|
||||
</container>
|
||||
|
||||
Reference in New Issue
Block a user