]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1162 d1b88da0-ebda-0310...
authorwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Tue, 28 Aug 2007 21:46:49 +0000 (21:46 +0000)
committerwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Tue, 28 Aug 2007 21:46:49 +0000 (21:46 +0000)
ChangeLog
SoObjects/Appointments/SOGoFreeBusyObject.m
SoObjects/Mailer/SOGoDraftObject.h
SoObjects/Mailer/SOGoDraftObject.m
UI/MailerUI/UIxMailEditor.m
UI/MainUI/SOGoUserHomePage.m
UI/WebServerResources/MailerUI.css

index 6c30d788f91489c6536a9ab81a0e7c454a7a89b8..915951cb4c4589e4522edc5b8707cdc16d894d3c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2007-08-28  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Mailer/SOGoDraftObject.m: added support for the
+       "In-Reply-To" header field when replying.
+
+       * UI/MainUI/SOGoUserHomePage.m: add the "c_" prefix to the quick
+       table field names that are queried.
+
+       * SoObjects/Appointments/SOGoFreeBusyObject.m ([SOGoFreeBusyObject
+       -iCalStringForFreeBusyInfos:_infosfrom:_startDateto:_endDate]):
+       add the "c_" prefix to the quick table field names that are
+       queried.
+
 2007-08-24  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
        * SoObjects/Appointments/SOGoAppointmentFolder.m
index d8559111a895feb2f18c293c4e333b571a9c2bb5..bddee8ace64bc7575e1677ed7bac6e017f124932 100644 (file)
   info = [events nextObject];
   while (info)
     {
-      if ([[info objectForKey: @"isopaque"] boolValue])
+      if ([[info objectForKey: @"c_isopaque"] boolValue])
         {
-          type = [self _fbTypeForEventStatus: [info objectForKey: @"status"]];
+          type = [self _fbTypeForEventStatus: [info objectForKey: @"c_status"]];
           [freebusy addFreeBusyFrom: [info objectForKey: @"startDate"]
                     to: [info objectForKey: @"endDate"]
                     type: type];
index 0a2415e81abb2ef49ae9be1ad5d2f2200e20bc88..f2d4484929cf7e1e33f964fd11a424ca375e9225 100644 (file)
@@ -53,6 +53,7 @@
   NGImap4Envelope *envelope;
   int IMAP4ID;
   NSMutableDictionary *headers;
+  NSString *inReplyTo;
   NSString *text;
   NSString *sourceURL;
   NSString *sourceFlag;
index a8a6313510e89b82fbabdd9e1d916b627bdbef0a..173e62d091dc442329f5eb76fd3c4e36db45859b 100644 (file)
@@ -65,7 +65,8 @@
 
 static NSString *contentTypeValue = @"text/plain; charset=utf-8";
 static NSString *headerKeys[] = {@"subject", @"to", @"cc", @"bcc", 
-                                @"from", @"replyTo", nil};
+                                @"from", @"replyTo",
+                                nil};
 
 @implementation SOGoDraftObject
 
@@ -99,6 +100,7 @@ static BOOL        showTextAttachmentsInline  = NO;
       text = @"";
       sourceURL = nil;
       sourceFlag = nil;
+      inReplyTo = nil;
     }
 
   return self;
@@ -112,6 +114,7 @@ static BOOL        showTextAttachmentsInline  = NO;
   [path release];
   [sourceURL release];
   [sourceFlag release];
+  [inReplyTo release];
   [super dealloc];
 }
 
@@ -161,7 +164,7 @@ static BOOL        showTextAttachmentsInline  = NO;
   id headerValue;
   unsigned int count;
 
-  for (count = 0; count < 6; count++)
+  for (count = 0; count < 7; count++)
     {
       headerValue = [newHeaders objectForKey: headerKeys[count]];
       if (headerValue)
@@ -187,6 +190,11 @@ static BOOL        showTextAttachmentsInline  = NO;
   return text;
 }
 
+- (void) setInReplyTo: (NSString *) newInReplyTo
+{
+  ASSIGN (inReplyTo, newInReplyTo);
+}
+
 - (void) setSourceURL: (NSString *) newSourceURL
 {
   ASSIGN (sourceURL, newSourceURL);
@@ -208,6 +216,8 @@ static BOOL        showTextAttachmentsInline  = NO;
       [infos setObject: headers forKey: @"headers"];
       if (text)
        [infos setObject: text forKey: @"text"];
+      if (inReplyTo)
+       [infos setObject: inReplyTo forKey: @"inReplyTo"];
       if (IMAP4ID > -1)
        [infos setObject: [NSNumber numberWithInt: IMAP4ID]
               forKey: @"IMAP4ID"];
@@ -262,6 +272,10 @@ static BOOL        showTextAttachmentsInline  = NO;
   value = [infoDict objectForKey: @"sourceFlag"];
   if (value)
     [self setSourceFlag: value];
+
+  value = [infoDict objectForKey: @"inReplyTo"];
+  if (value)
+    [self setInReplyTo: value];
 }
 
 - (NSString *) relativeImap4Name
@@ -469,15 +483,21 @@ static BOOL        showTextAttachmentsInline  = NO;
 - (void) fetchMailForReplying: (SOGoMailObject *) sourceMail
                        toAll: (BOOL) toAll
 {
-  NSString *contentForReply;
+  NSString *contentForReply, *msgID;
   NSMutableDictionary *info;
+  NGImap4Envelope *sourceEnvelope;
 
   [sourceMail fetchCoreInfos];
 
   info = [NSMutableDictionary dictionaryWithCapacity: 16];
   [info setObject: [sourceMail subjectForReply] forKey: @"subject"];
+
+  sourceEnvelope = [sourceMail envelope];
   [self _fillInReplyAddresses: info replyToAll: toAll
-       envelope: [sourceMail envelope]];
+       envelope: sourceEnvelope];
+  msgID = [sourceEnvelope messageID];
+  if ([msgID length] > 0)
+    [self setInReplyTo: msgID];
   contentForReply = [sourceMail contentForReply];
   [self setText: contentForReply];
   [self setHeaders: info];
@@ -1000,7 +1020,9 @@ static BOOL        showTextAttachmentsInline  = NO;
     [map setObjects:[map objectsForKey: @"from"] forKey: @"reply-to"];
   
   /* add subject */
-  
+  if (inReplyTo)
+    [map setObject: inReplyTo forKey: @"in-reply-to"];
+
   if ([(s = [headers objectForKey: @"subject"]) length] > 0)
     [map setObject: [s asQPSubjectString: @"utf-8"]
         forKey: @"subject"];
index a221609e1e33e212febbb28a501099605b3507dc..726b7970989472ed5898a46cd53b6ce42404f16f 100644 (file)
@@ -73,7 +73,6 @@
 
 @implementation UIxMailEditor
 
-static BOOL keepMailTmpFile = NO;
 static BOOL showInternetMarker = NO;
 static BOOL useLocationBasedSentFolder = NO;
 static NSDictionary *internetMailHeaders = nil;
@@ -85,13 +84,9 @@ static NSArray *infoKeys = nil;
   
   infoKeys = [[NSArray alloc] initWithObjects:
                                @"subject", @"to", @"cc", @"bcc", 
-                             @"from", @"replyTo",
+                             @"from", @"replyTo", @"inReplyTo",
                              nil];
   
-  keepMailTmpFile = [ud boolForKey:@"SOGoMailEditorKeepTmpFile"];
-  if (keepMailTmpFile)
-    NSLog(@"WARNING: keeping mail files.");
-  
   useLocationBasedSentFolder =
     [ud boolForKey:@"SOGoUseLocationBasedSentFolder"];
   
index f64869933f8b3b01a2a1f92d0364f693672d8c8d..410753ec8e375e32b8733666a37c7a99bfe922cb 100644 (file)
@@ -97,9 +97,9 @@ static NSString *defaultModule = nil;
   record = [records nextObject];
   while (record)
     {
-      status = [record objectForKey: @"status"];
+      status = [record objectForKey: @"c_status"];
  
-      value = [[record objectForKey: @"startdate"] intValue];
+      value = [[record objectForKey: @"c_startdate"] intValue];
       currentDate = [NSCalendarDate dateWithTimeIntervalSince1970: value];
       if ([currentDate earlierDate: startDate] == currentDate)
         startInterval = 0;
@@ -107,7 +107,7 @@ static NSString *defaultModule = nil;
         startInterval
           = ([currentDate timeIntervalSinceDate: startDate] / 900);
 
-      value = [[record objectForKey: @"enddate"] intValue];
+      value = [[record objectForKey: @"c_enddate"] intValue];
       currentDate = [NSCalendarDate dateWithTimeIntervalSince1970: value];
       if ([currentDate earlierDate: endDate] == endDate)
         endInterval = [items count] - 1;
index 9c383e66bfd87f8882b48b5a3f7e896bed1fa3f3..24261f7e52a7d1a76011f4dbd5ca4e5d43d9b988 100644 (file)
@@ -369,7 +369,7 @@ img.mailer_imagecontent
 DIV.mailer_plaincontent
 { 
   font-family: monospace, fixed;
-  white-space: pre;
+  white-space: normal;
   font-size: inherit;
   margin: 0px;
   padding: 0px;