self->isReadOnly =
[[dict objectForKey:@"access"] isEqualToString:@"READ-WRITE"]
? NoNumber : YesNumber;
+
+ TODO: to implement copy, use "uid copy" instead of "copy" as used by
+ NGImap4Client.
*/
@implementation SOGoMailManager
+2005-02-12 Helge Hess <helge.hess@opengroupware.org>
+
+ * v0.9.99
+
+ * product.plist: also map index method of mail folder to
+ UIxMailListView
+
+ * UIxMailListView.m: added subject/sender searching (bug OGo #1209)
+
2005-02-10 Helge Hess <helge.hess@opengroupware.org>
* UIxMailPartLinkViewer.wox, UIxMailPartMessageViewer.wox: added
NSArray *messages;
unsigned firstMessageNumber;
id message;
+ NSString *searchText;
}
- (NSString *)defaultSortKey;
static int attachmentFlagSize = 8096;
- (void)dealloc {
+ [self->searchText release];
[self->sortedUIDs release];
[self->messages release];
[self->message release];
return self->message;
}
+- (void)setSearchText:(NSString *)_txt {
+ ASSIGNCOPY(self->searchText, _txt);
+}
+- (NSString *)searchText {
+ if (self->searchText == nil) {
+ // TODO: kinda hack
+ self->searchText =
+ [[[[self context] request] formValueForKey:@"searchtext"] copy];
+ }
+ return self->searchText;
+}
+
- (BOOL)showToAddress {
NSString *ftype;
return keys;
}
-- (id)qualifier {
- return nil;
+- (EOQualifier *)searchTextQualifier {
+ EOQualifier *q;
+ NSString *s;
+
+ s = [self searchText];
+ if ([s length] == 0)
+ return nil;
+
+ q = [EOQualifier qualifierWithQualifierFormat:
+ @"(subject doesContain: %@) OR "
+ @"(from doesContain: %@)",
+ s, s];
+ return q;
+}
+- (EOQualifier *)qualifier {
+ return [self searchTextQualifier];
}
- (NSString *)defaultSortKey {
/* actions */
- (id)defaultAction {
-#if 0
- [self logWithFormat:@"default action ..."];
-#endif
self->firstMessageNumber =
[[[[self context] request] formValueForKey:@"idx"] intValue];
return self;
<option value="all" ><var:string label:value="All" /></option>
<option value="unread"><var:string label:value="Unread" /></option>
</select>
+-->
- Subject or Sender contains:
- <input name="searchtext" type="text" />
- <input name="clear" type="submit" value="Clear" />
+ <var:string label:value="Subject or Sender contains" />:
+ <input name="searchtext" type="text" var:value="searchText" />
+<!--
+ <input type="button" onclick="clearSearch(this)" label:value="Clear" />
-->
</div>
# version file
-SUBMINOR_VERSION:=98
+SUBMINOR_VERSION:=99
+# v0.9.99 requires libNGMime v4.5.212
# v0.9.97 requires SoObjects/Mailer v0.9.71
# v0.9.97 requires libNGExtensions v4.5.142
# v0.9.94 requires SoObjects/Mailer v0.9.69
div_$msgid
readdiv_$msgid
unreaddiv_$msgid
-*/
-/*
Window Properties:
width, height
bool: resizable, scrollbars, toolbar, location, directories, status,
menubar, copyhistory
*/
+/* mail list */
+
function clickedUid(sender, msguid) {
var urlstr;
return true;
}
+function clearSearch(sender) {
+ var searchField = window.document.getElementById("searchtext");
+ if (searchField) searchField.value="";
+ return true;
+}
+
+/* compose support */
+
function clickedCompose(sender) {
var urlstr;
protectedBy = "View";
pageName = "UIxMailListView";
};
+ index = {
+ protectedBy = "View";
+ pageName = "UIxMailListView";
+ };
GET = { /* hack to make it work as the default method */
protectedBy = "View";
pageName = "UIxMailListView";