]> err.no Git - scalable-opengroupware.org/blobdiff - UI/MailerUI/UIxMailFilterPanel.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1200 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / MailerUI / UIxMailFilterPanel.m
index bb81e965a54739a4dbd4f58396eed5979c04a45e..ea38b7ed1b831b8020d310410a2a529b5392a173 100644 (file)
  02111-1307, USA.
  */
 
-#include <NGObjWeb/WOComponent.h>
+#import <NGObjWeb/WOContext.h>
+#import <NGObjWeb/WORequest.h>
+#import <EOControl/EOQualifier.h>
+#import <NGObjWeb/WOComponent.h>
 
 @interface UIxMailFilterPanel : WOComponent
 {
 
 @end
 
-#include <SOGoUI/UIxComponent.h>
-#include "common.h"
-
 @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;
-}
-
-- (NSString *)filterLabel
-{
-#if 1
-  return [[[self context] page] labelForKey:[self valueForKey:@"filter"]];
-#else
-  return [self valueForKey:@"filter"];
-#endif
-}
-
-- (NSString *)selectedFilter
-{
-  return  [[[self context] request] formValueForKey:@"filterpopup"];
-}
-
-- (EOQualifier *)filterQualifier
-{
-  NSString *selectedFilter;
+//   q = [EOQualifier qualifierWithQualifierFormat:
+//                  @"(subject doesContain: %@) OR "
+//                  @"(from doesContain: %@)",
+//                  s, s];
+//   return q;
+// }
+
+// - (NSString *) filterLabel
+// {
+// #if 1
+//   return [[context page] labelForKey:[self valueForKey:@"filter"]];
+// #else
+//   return [self valueForKey:@"filter"];
+// #endif
+// }
+
+// - (NSString *) selectedFilter
+// {
+//   return  [[context request] formValueForKey: @"filterpopup"];
+// }
+
+// - (EOQualifier *) filterQualifier
+// {
+//   NSString *selectedFilter;
   
-  selectedFilter = [self selectedFilter];
+//   selectedFilter = [self selectedFilter];
   
-  return [selectedFilter length] > 0
-    ? [filterToQualifier objectForKey:selectedFilter] : nil;
-}
-
-- (EOQualifier *) qualifier
-{
-  EOQualifier *sq, *fq;
-  NSArray *qa;
+//   return [selectedFilter length] > 0
+//     ? [filterToQualifier objectForKey:selectedFilter] : nil;
+// }
+
+// - (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 */