From: helge Date: Mon, 20 Sep 2004 12:48:58 +0000 (+0000) Subject: work on mailer X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2fc53b5666234690ae14b38edf9d4d377f0a6ef;p=scalable-opengroupware.org work on mailer git-svn-id: http://svn.opengroupware.org/SOGo/trunk@309 d1b88da0-ebda-0310-925b-ed51d893ca5b --- diff --git a/SOGo/SoObjects/Mailer/ChangeLog b/SOGo/SoObjects/Mailer/ChangeLog index e7ca1869..7080dcf7 100644 --- a/SOGo/SoObjects/Mailer/ChangeLog +++ b/SOGo/SoObjects/Mailer/ChangeLog @@ -1,3 +1,7 @@ +2004-09-20 Helge Hess + + * SOGoMailAccounts.m: added hardcoded mail-account key (v0.9.3) + 2004-09-08 Helge Hess * added missing account objects (v0.9.2) diff --git a/SOGo/SoObjects/Mailer/SOGoMailAccounts.m b/SOGo/SoObjects/Mailer/SOGoMailAccounts.m index ae903cf1..2856feb0 100644 --- a/SOGo/SoObjects/Mailer/SOGoMailAccounts.m +++ b/SOGo/SoObjects/Mailer/SOGoMailAccounts.m @@ -25,4 +25,51 @@ @implementation SOGoMailAccounts +/* listing the available mailboxes */ + +- (NSArray *)toManyRelationshipKeys { + // TODO: hardcoded + return [NSArray arrayWithObjects: + @"mail.opengroupware.org", + nil]; +} + +/* name lookup */ + +- (BOOL)isValidMailAccountName:(NSString *)_key { + if ([_key length] == 0) + return NO; + + return YES; +} + +- (id)mailAccountWithName:(NSString *)_key inContext:(id)_ctx { + static Class ctClass = Nil; + id ct; + + if (ctClass == Nil) + ctClass = NSClassFromString(@"SOGoMailAccount"); + if (ctClass == Nil) { + [self logWithFormat:@"ERROR: missing SOGoMailAccount class!"]; + return nil; + } + + ct = [[ctClass alloc] initWithName:_key inContainer:self]; + return [ct autorelease]; +} + +- (id)lookupName:(NSString *)_key inContext:(id)_ctx acquire:(BOOL)_flag { + id obj; + + /* first check attributes directly bound to the application */ + if ((obj = [super lookupName:_key inContext:_ctx acquire:NO])) + return obj; + + if ([self isValidMailAccountName:_key]) + return [self mailAccountWithName:_key inContext:_ctx]; + + /* return 404 to stop acquisition */ + return [NSException exceptionWithHTTPStatus:404 /* Not Found */]; +} + @end /* SOGoMailAccounts */ diff --git a/SOGo/SoObjects/Mailer/Version b/SOGo/SoObjects/Mailer/Version index 1bf86739..fc795f55 100644 --- a/SOGo/SoObjects/Mailer/Version +++ b/SOGo/SoObjects/Mailer/Version @@ -1,3 +1,3 @@ # $Id$ -SUBMINOR_VERSION:=2 +SUBMINOR_VERSION:=3 diff --git a/SOGo/SoObjects/SOGo/ChangeLog b/SOGo/SoObjects/SOGo/ChangeLog index 6cc26756..3d132a0d 100644 --- a/SOGo/SoObjects/SOGo/ChangeLog +++ b/SOGo/SoObjects/SOGo/ChangeLog @@ -1,5 +1,8 @@ 2004-09-20 Helge Hess + * SOGoObject.m: added a default GET method which redirects to + url + "/view" (v0.9.18) + * SOGoObject.m(-description): added name of container (v0.9.17) 2004-09-08 Helge Hess diff --git a/SOGo/SoObjects/SOGo/SOGoObject.m b/SOGo/SoObjects/SOGo/SOGoObject.m index 03087268..889b25e1 100644 --- a/SOGo/SoObjects/SOGo/SOGoObject.m +++ b/SOGo/SoObjects/SOGo/SOGoObject.m @@ -85,7 +85,7 @@ /* operations */ - (NSException *)delete { - return [NSException exceptionWithHTTPStatus:500 /* not implemented */ + return [NSException exceptionWithHTTPStatus:501 /* not implemented */ reason:@"delete not yet implemented, sorry ..."]; } @@ -105,6 +105,22 @@ return [self delete]; } +- (id)GETAction:(WOContext *)_ctx { + // TODO: I guess this should really be done by SOPE (redirect to + // default method) + WOResponse *r; + NSString *uri; + + uri = [[_ctx request] uri]; + if (![uri hasSuffix:@"/"]) uri = [uri stringByAppendingString:@"/"]; + uri = [uri stringByAppendingString:@"view"]; + + r = [_ctx response]; + [r setStatus:302 /* moved */]; + [r setHeader:uri forKey:@"location"]; + return r; +} + /* description */ - (void)appendAttributesToDescription:(NSMutableString *)_ms { diff --git a/SOGo/SoObjects/SOGo/Version b/SOGo/SoObjects/SOGo/Version index 15ba30f9..3b031fb7 100644 --- a/SOGo/SoObjects/SOGo/Version +++ b/SOGo/SoObjects/SOGo/Version @@ -1,3 +1,3 @@ # $Id: Version 170 2004-08-11 10:45:40Z helge $ -SUBMINOR_VERSION:=17 +SUBMINOR_VERSION:=18 diff --git a/SOGo/UI/Common/ChangeLog b/SOGo/UI/Common/ChangeLog index 4b4aeb2d..40e21db4 100644 --- a/SOGo/UI/Common/ChangeLog +++ b/SOGo/UI/Common/ChangeLog @@ -1,5 +1,7 @@ 2004-09-20 Helge Hess + * UIxPageFrame.m: added item ivar (v0.9.26) + * UIxPageFrame.wox: improved debugging section (v0.9.25) 2004-09-10 Marcus Mueller diff --git a/SOGo/UI/Common/UIxPageFrame.m b/SOGo/UI/Common/UIxPageFrame.m index 3ff66963..dc080ec5 100644 --- a/SOGo/UI/Common/UIxPageFrame.m +++ b/SOGo/UI/Common/UIxPageFrame.m @@ -1,12 +1,33 @@ +/* + Copyright (C) 2004 SKYRIX Software AG + + This file is part of OpenGroupware.org. + + OGo is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + OGo is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with OGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ // $Id$ #include @interface UIxPageFrame : UIxComponent { - NSString *title; - NSString *rootURL; - NSString *userRootURL; + NSString *title; + NSString *rootURL; + NSString *userRootURL; + id item; } - (NSString *)rootURL; @@ -21,8 +42,9 @@ @implementation UIxPageFrame - (void)dealloc { - [self->title release]; - [self->rootURL release]; + [self->item release]; + [self->title release]; + [self->rootURL release]; [self->userRootURL release]; [super dealloc]; } @@ -30,12 +52,27 @@ /* accessors */ - (void)setTitle:(NSString *)_value { - ASSIGN(self->title, _value); + ASSIGNCOPY(self->title, _value); } - (NSString *)title { - if([self isUIxDebugEnabled]) + if ([self isUIxDebugEnabled]) return self->title; - return [self labelForKey:@"OpenGroupware.org"]; + + return [self labelForKey:@"OpenGroupware.org"]; +} + +- (void)setItem:(id)_item { + ASSIGN(self->item, _item); +} +- (id)item { + return self->item; +} + +/* notifications */ + +- (void)sleep { + [self->item release]; self->item = nil; + [super sleep]; } /* URL generation */ @@ -44,14 +81,14 @@ WOContext *ctx; NSArray *traversalObjects; - if (self->rootURL) + if (self->rootURL != nil) return self->rootURL; ctx = [self context]; traversalObjects = [ctx objectTraversalStack]; self->rootURL = [[[traversalObjects objectAtIndex:0] rootURLInContext:ctx] - retain]; + copy]; return self->rootURL; } diff --git a/SOGo/UI/Common/Version b/SOGo/UI/Common/Version index 8b283eb3..3f897055 100644 --- a/SOGo/UI/Common/Version +++ b/SOGo/UI/Common/Version @@ -1,3 +1,3 @@ -# $Id$ +# Version file -SUBMINOR_VERSION:=25 +SUBMINOR_VERSION:=26 diff --git a/SOGo/UI/Mailer/ChangeLog b/SOGo/UI/Mailer/ChangeLog index fbd74c10..6a613fc5 100644 --- a/SOGo/UI/Mailer/ChangeLog +++ b/SOGo/UI/Mailer/ChangeLog @@ -1,3 +1,7 @@ +2004-09-20 Helge Hess + + * work on mailer (v0.9.2) + 2004-09-01 Marcus Mueller * GNUmakefile.preamble: fixed for gsmake 1.9.2 build (v0.9.1) diff --git a/SOGo/UI/Mailer/GNUmakefile b/SOGo/UI/Mailer/GNUmakefile index dc95ec83..4a6011c7 100644 --- a/SOGo/UI/Mailer/GNUmakefile +++ b/SOGo/UI/Mailer/GNUmakefile @@ -10,28 +10,37 @@ MailerUI_PRINCIPAL_CLASS = MailerUIProduct MailerUI_LANGUAGES = English French -MailerUI_OBJC_FILES = \ - MailerUIProduct.m \ - \ - UIxMailListView.m \ +MailerUI_OBJC_FILES += \ + MailerUIProduct.m \ + \ + UIxMailMainFrame.m \ + UIxMailAccountsView.m \ + UIxMailAccountView.m \ + UIxMailListView.m \ UIxMailView.m \ UIxMailEditor.m \ -MailerUI_RESOURCE_FILES += \ - Version \ - product.plist \ +MailerUI_RESOURCE_FILES += \ + Version \ + product.plist \ -MailerUI_RESOURCE_FILES += \ - UIxMailListView.wox \ +MailerUI_RESOURCE_FILES += \ + UIxMailMainFrame.wox \ + UIxMailAccountsView.wox \ + UIxMailAccountView.wox \ + UIxMailListView.wox \ UIxMailView.wox \ - UIxMailEditor.wox \ + UIxMailEditor.wox \ -MailerUI_LOCALIZED_RESOURCE_FILES += \ - default.strings \ +MailerUI_RESOURCE_FILES += \ + uix.css \ + mailer.css \ -ADDITIONAL_INCLUDE_DIRS += \ - -I.. -I../.. -I../../.. +MailerUI_RESOURCE_FILES += \ + screenshots/*.png +MailerUI_LOCALIZED_RESOURCE_FILES += \ + default.strings # make diff --git a/SOGo/UI/Mailer/GNUmakefile.preamble b/SOGo/UI/Mailer/GNUmakefile.preamble index 5bc2f5c6..25790009 100644 --- a/SOGo/UI/Mailer/GNUmakefile.preamble +++ b/SOGo/UI/Mailer/GNUmakefile.preamble @@ -1,5 +1,8 @@ # $Id$ +ADDITIONAL_INCLUDE_DIRS += \ + -I.. -I../.. -I../../.. + ADDITIONAL_INCLUDE_DIRS += \ -I.. \ -I../.. \ diff --git a/SOGo/UI/Mailer/UIxMailAccountView.m b/SOGo/UI/Mailer/UIxMailAccountView.m new file mode 100644 index 00000000..baeaa01c --- /dev/null +++ b/SOGo/UI/Mailer/UIxMailAccountView.m @@ -0,0 +1,35 @@ +/* + Copyright (C) 2004 SKYRIX Software AG + + This file is part of OpenGroupware.org. + + OGo is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + OGo is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with OGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ +// $Id: UIxMailAccountView.m 308 2004-09-20 10:51:12Z helge $ + +#include + +@interface UIxMailAccountView : UIxComponent +{ +} + +@end + +#include "common.h" + +@implementation UIxMailAccountView + +@end /* UIxMailAccountView */ diff --git a/SOGo/UI/Mailer/UIxMailAccountView.wox b/SOGo/UI/Mailer/UIxMailAccountView.wox new file mode 100644 index 00000000..1aeccab6 --- /dev/null +++ b/SOGo/UI/Mailer/UIxMailAccountView.wox @@ -0,0 +1,12 @@ + + +

Account Settings Page

+ screenshot +
diff --git a/SOGo/UI/Mailer/UIxMailAccountsView.m b/SOGo/UI/Mailer/UIxMailAccountsView.m new file mode 100644 index 00000000..15fed209 --- /dev/null +++ b/SOGo/UI/Mailer/UIxMailAccountsView.m @@ -0,0 +1,35 @@ +/* + Copyright (C) 2004 SKYRIX Software AG + + This file is part of OpenGroupware.org. + + OGo is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + OGo is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with OGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ +// $Id: UIxMailAccountsView.m 308 2004-09-20 10:51:12Z helge $ + +#include + +@interface UIxMailAccountsView : UIxComponent +{ +} + +@end + +#include "common.h" + +@implementation UIxMailAccountsView + +@end /* UIxMailAccountsView */ diff --git a/SOGo/UI/Mailer/UIxMailAccountsView.wox b/SOGo/UI/Mailer/UIxMailAccountsView.wox new file mode 100644 index 00000000..0cc5de5a --- /dev/null +++ b/SOGo/UI/Mailer/UIxMailAccountsView.wox @@ -0,0 +1,13 @@ + + +

Account Settings Page

+ screenshot + +
diff --git a/SOGo/UI/Mailer/UIxMailEditor.wox b/SOGo/UI/Mailer/UIxMailEditor.wox index 7f53e297..1ec087db 100644 --- a/SOGo/UI/Mailer/UIxMailEditor.wox +++ b/SOGo/UI/Mailer/UIxMailEditor.wox @@ -7,8 +7,7 @@ className="UIxPageFrame" title="name" > - -
- clientObject: -
+

Mail Compose

+ screenshot + \ No newline at end of file diff --git a/SOGo/UI/Mailer/UIxMailListView.wox b/SOGo/UI/Mailer/UIxMailListView.wox index 7f53e297..cebf5060 100644 --- a/SOGo/UI/Mailer/UIxMailListView.wox +++ b/SOGo/UI/Mailer/UIxMailListView.wox @@ -7,8 +7,5 @@ className="UIxPageFrame" title="name" > - -
- clientObject: -
+ \ No newline at end of file diff --git a/SOGo/UI/Mailer/UIxMailMainFrame.m b/SOGo/UI/Mailer/UIxMailMainFrame.m new file mode 100644 index 00000000..6e6f838c --- /dev/null +++ b/SOGo/UI/Mailer/UIxMailMainFrame.m @@ -0,0 +1,118 @@ +/* + Copyright (C) 2004 SKYRIX Software AG + + This file is part of OpenGroupware.org. + + OGo is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + OGo is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with OGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ +// $Id: UIxPageFrame.m 278 2004-08-26 23:29:09Z helge $ + +#include + +@interface UIxPageFrame : UIxComponent +{ + NSString *title; + NSString *rootURL; + NSString *userRootURL; + id item; +} + +- (NSString *)rootURL; +- (NSString *)userRootURL; +- (NSString *)calendarRootURL; + +@end + +#include "common.h" +#include + +@implementation UIxPageFrame + +- (void)dealloc { + [self->item release]; + [self->title release]; + [self->rootURL release]; + [self->userRootURL release]; + [super dealloc]; +} + +/* accessors */ + +- (void)setTitle:(NSString *)_value { + ASSIGNCOPY(self->title, _value); +} +- (NSString *)title { + if ([self isUIxDebugEnabled]) + return self->title; + + return [self labelForKey:@"OpenGroupware.org"]; +} + +- (void)setItem:(id)_item { + ASSIGN(self->item, _item); +} +- (id)item { + return self->item; +} + +/* notifications */ + +- (void)sleep { + [self->item release]; self->item = nil; + [super sleep]; +} + +/* URL generation */ + +- (NSString *)rootURL { + WOContext *ctx; + NSArray *traversalObjects; + + if (self->rootURL != nil) + return self->rootURL; + + ctx = [self context]; + traversalObjects = [ctx objectTraversalStack]; + self->rootURL = [[[traversalObjects objectAtIndex:0] + rootURLInContext:ctx] + copy]; + return self->rootURL; +} + +- (NSString *)userRootURL { + WOContext *ctx; + NSArray *traversalObjects; + + if (self->userRootURL) + return self->userRootURL; + + ctx = [self context]; + traversalObjects = [ctx objectTraversalStack]; + self->userRootURL = [[[[traversalObjects objectAtIndex:1] + baseURLInContext:ctx] + stringByAppendingString:@"/"] + retain]; + return self->userRootURL; +} + +- (NSString *)calendarRootURL { + return [[self userRootURL] stringByAppendingString:@"Calendar/"]; +} +- (NSString *)contactsRootURL { + return [[self userRootURL] stringByAppendingString:@"Contacts/"]; +} + +@end /* UIxPageFrame */ diff --git a/SOGo/UI/Mailer/UIxMailMainFrame.wox b/SOGo/UI/Mailer/UIxMailMainFrame.wox new file mode 100644 index 00000000..a1260ebc --- /dev/null +++ b/SOGo/UI/Mailer/UIxMailMainFrame.wox @@ -0,0 +1,90 @@ + + + + + <var:string value="title"/> + + + + + + + + + + + + + + + + + + +
+ Toolbar +
+ Folder Tree + +
  • +
    +
    + +
    + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    clientObject:
    traversal stack: + +
    +
    +
    traversal path: + + + +
    request type: +
    path info:
    rootURL:
    active user:
    +
    +
    + + diff --git a/SOGo/UI/Mailer/UIxMailView.m b/SOGo/UI/Mailer/UIxMailView.m index 95c28d14..e04f18b5 100644 --- a/SOGo/UI/Mailer/UIxMailView.m +++ b/SOGo/UI/Mailer/UIxMailView.m @@ -30,12 +30,13 @@ @end +#include #include "common.h" @implementation UIxMailView - (BOOL)isDeletableClientObject { - return [[self clientObject] respondsToSelector:@selector(delete)]; + return [[self clientObject] respondsToSelector:@selector(delete)]; } - (id)deleteAction { diff --git a/SOGo/UI/Mailer/UIxMailView.wox b/SOGo/UI/Mailer/UIxMailView.wox index 00d401b4..33fa9bed 100644 --- a/SOGo/UI/Mailer/UIxMailView.wox +++ b/SOGo/UI/Mailer/UIxMailView.wox @@ -7,8 +7,7 @@ className="UIxPageFrame" title="name" > - -
    - clientObject: -
    +

    Mail View

    + screenshot + diff --git a/SOGo/UI/Mailer/Version b/SOGo/UI/Mailer/Version index 237a5904..1bf86739 100644 --- a/SOGo/UI/Mailer/Version +++ b/SOGo/UI/Mailer/Version @@ -1,3 +1,3 @@ # $Id$ -SUBMINOR_VERSION:=1 +SUBMINOR_VERSION:=2 diff --git a/SOGo/UI/Mailer/bundle-info.plist b/SOGo/UI/Mailer/bundle-info.plist index fa33c7db..ed832400 100644 --- a/SOGo/UI/Mailer/bundle-info.plist +++ b/SOGo/UI/Mailer/bundle-info.plist @@ -1,6 +1,4 @@ { - "__cvs__" = "$Id$"; - requires = { bundleManagerVersion = 1; classes = ( diff --git a/SOGo/UI/Mailer/mailer.css b/SOGo/UI/Mailer/mailer.css new file mode 100644 index 00000000..c1656e15 --- /dev/null +++ b/SOGo/UI/Mailer/mailer.css @@ -0,0 +1,739 @@ +.aptview_title { + font-size: 10pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + color: #000000; + font-weight: bold; +} + +.aptview_text { + font-size: 10pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + color: #000000; +} + +.apt_other { + color: #000000; +} + +.apt_other_print { + font-style: italic; +} + +.anais_me { + color: #0000FF; +} + +.anais_uids { + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; +} + +/* day overview */ + + +.dayoverview_content { + padding: 1px; + margin: 0px 0px 0px 0px; + vertical-align: top; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + font-size: 9pt; +} + +.dayoverview_content_time { + background-color: #d2d2cc; + text-align: center; +} + +.dayoverview_content_time_link { + font-size: 8pt; +} +.dayoverview_content_time_link a { + color: #0033cc; + text-decoration: none; +} +.dayoverview_content_time_link a:hover { + color: #ff0000; + text-decoration: underline; +} + +.dayoverview_content_apts { + color: #0033cc; + background-color: #e8e8e0; + text-align: left; + vertical-align: top; +} + +.dayoverview_cal { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.dayoverview_cal table { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.dayoverview_cal td { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.dayoverview_cal a { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px; + text-decoration: none; +} +.dayoverview_cal a:hover { + text-decoration: underline; +} + +.dayoverview_cal_title { + background-color: #d2d2cc; + text-align: center; + font-size: 10pt; + font-weight: bold; + letter-spacing: 0pt; +} + +.dayoverview_cal_day_header { + background-color: #d2d2cc; + text-align: center; + vertical-align: top; + font-size: 11pt; +// width: 24px; +// padding: 2px 2px 2px 2px; +// margin: 2px 2px 2px 2px; +} + +.dayoverview_cal_content { + color: #0033cc; + background-color: #e8e8e0; + text-align: center; + vertical-align: top; +} + +.dayoverview_cal_content_hilite { + color: #0033cc; + background-color: #fffff0; + text-align: center; + vertical-align: top; +} + +.dayoverview_cal_content_selected { + color: #ff0000; +} +.dayoverview_cal_content_selected a { + color: #ff0000; +} +.dayoverview_cal_content_selected a:hover { + color: #ff0000; +} + +.dayoverview_cal_content_dimmed { + color: #0033cc; + background-color: #d2d2cc; + text-align: center; + vertical-align: top; +} +.dayoverview_cal_content_dimmed a { + color: #5a5a5a; +} +.dayoverview_cal_content_dimmed a:hover { + color: #5a5a5a; +} + + +/* day printview */ + + +.dayprintview { + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + font-size: 10pt; +} + +td.dayprintview_time { + font-size: 10pt; + font-weight: bold; + text-align: center; +} + +td.dayprintview_content { + font-size: 10pt; + text-align: left; +} + +h1.dayprintview, h2.dayprintview { + font-size: 11pt; + font-weight: bold; + margin: 0px; + padding: 0px; + text-align: center; +} + +h1.dayprintview { + font-style: italic; +} + + +/* week overview */ + + +.weekoverview_title { + font-size: 10pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + color: #000000; + background-color: #d2d2cc; +} + +.weekoverview_title a { + color: #0033cc; + text-decoration: none; +} + +.weekoverview_title_hilite { + font-size: 10pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + color: #000000; + background-color: #d2d2cc; + font-weight: bold; +} + +.weekoverview_title_hilite a { + color: #0033cc; + text-decoration: none; +} + +.weekoverview_title_daylink { + font-size: 12pt; + color: #0033cc; + font-weight: bold; +} + +.weekoverview_title_newlink { + font-size: 8pt; +} + +.weekoverview_holidayinfo { + font-size: 8pt; + font-weight: bold; +} + +.weekoverview_content { + color: #FFFFFF; + background-color: #e8e8e0; +} + +.weekoverview_content a { + color: #0000FF; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + text-decoration: none; +} + +.weekoverview_content_hilite { + background-color: #fffff0; +} + +.weekoverview_content_hilite a { + color: #0000FF; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + text-decoration: none; +} + + +/* week columnsview */ + + +.weekcolumnsview { +} + +.weekcolumnsview_title { + font-size: 10pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + color: #000000; + background-color: #d2d2cc; + padding: 4px; +} + +.weekcolumnsview_title a { + color: #0033cc; + text-decoration: none; +} + +.weekcolumnsview_title_hilite { + font-size: 10pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + color: #000000; + background-color: #d2d2cc; + font-weight: bold; + padding: 4px; +} + +.weekcolumnsview_title_hilite a { + color: #0033cc; + text-decoration: none; +} + +.weekcolumnsview_title_daylink { + font-size: 12pt; + color: #0033cc; + font-weight: bold; +} + +.weekcolumnsview_title_newlink { + font-size: 8pt; +} + +.weekcolumnsview_holidayinfo { + font-size: 8pt; + font-weight: bold; +} + +.weekcolumnsview_content { + color: #FFFFFF; + background-color: #e8e8e0; +} + +.weekcolumnsview_content a { + color: #0000FF; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + text-decoration: none; +} + +.weekcolumnsview_content_hilite { + background-color: #fffff0; +} + +.weekcolumnsview_content_hilite a { + color: #0000FF; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + text-decoration: none; +} + +.weekcolumnsview_cal { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.weekcolumnsview_cal table { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.weekcolumnsview_cal td { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.weekcolumnsview_cal a { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px; + text-decoration: none; +} +.weekcolumnsview_cal a:hover { + text-decoration: underline; +} + +.weekcolumnsview_cal_title { + background-color: #d2d2cc; + text-align: center; + font-size: 10pt; + font-weight: bold; + letter-spacing: 0pt; +} + +.weekcolumnsview_cal_day_header { + background-color: #d2d2cc; + text-align: center; + vertical-align: middle; + font-size: 11pt; + width: 20px; + padding: 2px 2px 2px 2px; + margin: 2px 2px 2px 2px; +} + +.weekcolumnsview_cal_content { + color: #000000; + background-color: #e8e8e0; + text-align: center; + vertical-align: middle; + font-size: 10pt; + letter-spacing: 0pt; +} + +.weekcolumnsview_cal_content_hilite { + color: #000000; + background-color: #fffff0; + text-align: center; + vertical-align: middle; + font-size: 10pt; + letter-spacing: 0pt; +} + +.weekcolumnsview_cal_content_dimmed { + color: #5a5a5a; + background-color: #d2d2cc; + text-align: center; + vertical-align: middle; + font-size: 10pt; + letter-spacing: 0pt; +} + +.weekcolumnsview_cal_week { + background-color: #d2d2cc; + width: 16pt; + text-align: center; + vertical-align: middle; +} + + +/* week printview */ + +td.weekprintview { + border: 1px solid; +} + +h1.weekprintview, h2.weekprintview { + font-size: 10pt; + font-weight: bold; + margin: 0px; + padding: 0px; + text-align: center; +} + +h1.weekprintview { + font-size: 12pt; + font-style: italic; +} + + +.weekprintview_title { + font-size: 11pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; +} + +.weekprintview_title_hilite a { + color: #0033cc; + text-decoration: none; +} + +.weekprintview_holidayinfo { + font-size: 10pt; + font-weight: bold; +} + +.weekprintview_content, .weekprintview_apt_time { + font-size: 10pt; +} + +.weekprintview_apt_time { + font-weight: bold; + font-style: italic; +} + + +/* month overview */ + + +.monthoverview { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 2px; +} + +.monthoverview a { + color: #0033cc; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 7pt; + font-style: normal; + font-weight: normal; + letter-spacing: 0pt; + text-decoration: none; +} + +.monthoverview a:hover { + text-decoration: underline; +} + +.monthoverview_title { + background-color: #d2d2cc; + text-align: center; +} + +.monthoverview_week { + background-color: #d2d2cc; + width: 16pt; + text-align: center; + vertical-align: middle; +} + +.monthoverview_week a { + color: #000000; + font-size: 10pt; +} + +.monthoverview_week_hilite { + background-color: #fffff0; + width: 16pt; + text-align: center; + vertical-align: middle; +} + +.monthoverview_week_hilite a { + color: #000000; + font-size: 10pt; +} + +.monthoverview_content { + background-color: #e8e8e0; + font-size: 9pt; + height: 60; +} +.monthoverview_content a { + font-style: italic; + font-weight: bold; +} +.monthoverview_content td { + text-align: left; + vertical-align: top; +} + +.monthoverview_content_hilite { + background-color: #fffff0; + font-size: 9pt; + height: 60; +} +.monthoverview_content_hilite a { + font-style: italic; + font-weight: bold; +} +.monthoverview_content_hilite td { + text-align: left; + vertical-align: top; +} + +.monthoverview_content_dimmed { + background-color: #d2d2cc; + font-size: 9pt; + height: 60; +} +.monthoverview_content_dimmed a { + font-style: normal; + font-weight: normal; +} +.monthoverview_content_dimmed td { + text-align: left; + vertical-align: top; +} + +.monthoverview_day a { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 12pt; +} + +.monthoverview_day_new a { + font-style: normal; + font-weight: normal; +} + +.monthoverview_day_new a:hover { + font-style: normal; + font-weight: normal; + color: #ff0000; +} + +.monthoverview_content_link { + font-style: normal; + font-weight: normal; +} + +/* month printview */ + +.monthprintview { + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + font-size: 9pt; +} + +h1.monthprintview_header, h2.monthprintview_header { + font-size: 10pt; + font-weight: bold; + margin: 0px; + padding: 0px; + text-align: center; +} + +h1.monthprintview_header { + font-size: 12pt; + font-style: italic; +} + +.monthprintview_title { + text-align: center; +} + +.monthprintview_week { + width: 16pt; + text-align: center; + vertical-align: middle; +} + +.monthprintview_apt, .monthprintview_apt_time { + font-size: 7pt; +} + +.monthprintview_apt_time { + font-weight: bold; + font-style: italic; +} + +td.monthprintview_content { + text-align: left; + vertical-align: top; + font-style: italic; + font-weight: bold; + font-size: 12pt; + height: 60; +} + +td.monthprintview_content_dimmed { + text-align: left; + vertical-align: top; + font-size: 12pt; + height: 60; +} + + +/* year overview */ + + +.yearoverview { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.yearoverview table { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.yearoverview td { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.yearoverview a { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px; + text-decoration: none; +} +.yearoverview a:hover { + text-decoration: underline; +} + +.yearoverview_title { + background-color: #d2d2cc; + text-align: center; + font-size: 10pt; + font-weight: bold; + letter-spacing: 0pt; +} + +.yearoverview_day_header { + background-color: #d2d2cc; + text-align: center; + vertical-align: middle; + font-size: 10pt; + width: 18px; /* this delimits all td's! */ +} + +.yearoverview_content { + color: #0033cc; + background-color: #e8e8e0; + text-align: center; + vertical-align: middle; + font-weight: bold; + font-style: italic; +} +.yearoverview_content a { + color: #0033cc; +} +.yearoverview_content a:hover { + color: #ff0000; +} + +.yearoverview_content_hilite { + color: #0033cc; + background-color: #fffff0; + text-align: center; + vertical-align: middle; + font-weight: bold; + font-style: italic; +} +.yearoverview_content_hilite a { + color: #0033cc; +} +.yearoverview_content_hilite a:hover { + color: #ff0000; +} + +.yearoverview_content_dimmed { + color: #0033cc; + background-color: #d2d2cc; + text-align: center; + vertical-align: middle; +} +.yearoverview_content_dimmed a { + color: #0033cc; +} +.yearoverview_content_dimmed a:hover { + color: #ff0000; +} + +.yearoverview_week { + background-color: #d2d2cc; + width: 16pt; + text-align: center; + vertical-align: middle; +} + +.yearoverview_week_hilite { + background-color: #fffff0; + width: 16pt; + text-align: center; + vertical-align: middle; +} diff --git a/SOGo/UI/Mailer/product.plist b/SOGo/UI/Mailer/product.plist index 68c3260d..d27ac42a 100644 --- a/SOGo/UI/Mailer/product.plist +++ b/SOGo/UI/Mailer/product.plist @@ -2,6 +2,11 @@ requires = ( MAIN, CommonUI, Mailer ); publicResources = ( + "tbird_073_accountview.png", + "tbird_073_compose.png", + "tbird_073_mailwelcome.png", + "tbird_073_settings.png", + "tbird_073_viewer.png", ); factories = { @@ -43,5 +48,23 @@ }; }; }; + + SOGoMailAccounts = { + methods = { + view = { + protectedBy = "View"; + pageName = "UIxMailAccountsView"; + }; + }; + }; + + SOGoMailAccount = { + methods = { + view = { + protectedBy = "View"; + pageName = "UIxMailAccountView"; + }; + }; + }; }; } diff --git a/SOGo/UI/Mailer/screenshots/tbird_073_accountview.png b/SOGo/UI/Mailer/screenshots/tbird_073_accountview.png new file mode 100644 index 00000000..fd863293 Binary files /dev/null and b/SOGo/UI/Mailer/screenshots/tbird_073_accountview.png differ diff --git a/SOGo/UI/Mailer/screenshots/tbird_073_compose.png b/SOGo/UI/Mailer/screenshots/tbird_073_compose.png new file mode 100644 index 00000000..7cf4fd2e Binary files /dev/null and b/SOGo/UI/Mailer/screenshots/tbird_073_compose.png differ diff --git a/SOGo/UI/Mailer/screenshots/tbird_073_mailwelcome.png b/SOGo/UI/Mailer/screenshots/tbird_073_mailwelcome.png new file mode 100644 index 00000000..3d8cd861 Binary files /dev/null and b/SOGo/UI/Mailer/screenshots/tbird_073_mailwelcome.png differ diff --git a/SOGo/UI/Mailer/screenshots/tbird_073_settings.png b/SOGo/UI/Mailer/screenshots/tbird_073_settings.png new file mode 100644 index 00000000..0842f35a Binary files /dev/null and b/SOGo/UI/Mailer/screenshots/tbird_073_settings.png differ diff --git a/SOGo/UI/Mailer/screenshots/tbird_073_viewer.png b/SOGo/UI/Mailer/screenshots/tbird_073_viewer.png new file mode 100644 index 00000000..c784f358 Binary files /dev/null and b/SOGo/UI/Mailer/screenshots/tbird_073_viewer.png differ diff --git a/SOGo/UI/Mailer/uix.css b/SOGo/UI/Mailer/uix.css new file mode 100644 index 00000000..de9a4fb4 --- /dev/null +++ b/SOGo/UI/Mailer/uix.css @@ -0,0 +1,238 @@ +/* SOGo UI Stylesheet */ + +/* common stuff */ + +body { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + background-color: #FFFFFF; + margin: 0px; + margin-top: 0px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; +} + +a:link { + color: #0033CC; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + text-decoration: none; +} +a:visited { + color: #660066; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + text-decoration: none; +} +a:hover { + color: #FF0000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + text-decoration: underline; +} + +.linecolor { + background-color: #06348B; +} + +.defaultfont { + text-decoration: none; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 8pt; + color: #000000; +} + +.window_label { + color: #06348b; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 12pt; + font-weight: bold; +} + + +/* tabs */ + +.tab { + color: #000000; + background-color: #e8e8e0; + font-size: 10pt; + text-decoration: none; + width: 100px; + height: 22px; + border-top: 1px solid #06348b; + border-right: 1px solid #06348b; +} + +.tab a { + color: #000000; + border: none; + text-decoration: none; +} + +.tab_selected { + color: #000000; + background-color: #f5f5e9; + font-size: 10pt; + text-decoration: none; + font-weight: bold; + width: 100px; + height: 22px; + border-top: 1px solid #06348b; + border-right: 1px solid #06348b; +} + +.tab_selected a { + color: #000000; + border: none; + text-decoration: none; +} + +.tabview_body { + background-color: #f5f5e9; +} + + +/* buttons */ + +.button_auto_env { + height: 16px; + text-align: center; + vertical-align: middle; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; + overflow: hidden; +} + +.button_auto_env a { + text-decoration: none; + color: #000000; +} + +.button_auto_env a:hover { + text-decoration: underline; + color: #ff0000; +} + +.button_auto { + height: 20px; + border-style: outset; + border-color: #DDDDDD; + border-width: 2px; + color: #000000; + background-color: #e8e8e0; + font-size: 8pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + text-decoration: none; + text-color: #000000; + text-align: center; + vertical-align: middle; + padding-left: 5px; + padding-right: 5px; + padding-top: 1px; + padding-bottom: 1px; + overflow: hidden; +} + +.button_submit_env { + height: 24px; + text-align: center; + vertical-align: middle; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; + overflow: hidden; +} + +.button_submit_env a { + text-decoration: none; + color: #000000; +} + +.button_submit_env a:hover { + text-decoration: underline; + color: #ff0000; +} + +.button_submit { + height: 30px; + border-style: outset; + border-color: #DDDDDD; + border-width: 2px; + color: #000000; + background-color: #e8e8e0; + font-size: 8pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + text-decoration: none; + text-color: #000000; + text-align: center; + vertical-align: middle; + padding-left: 5px; + padding-right: 5px; + padding-top: 2px; + padding-bottom: 3px; + overflow: hidden; +} + +/* header */ + +div#header { + margin-left: 5px; + margin-right: 5px; + padding: 0; + border-bottom: 1px solid #000000; +} +div#header img.headerlogo { + float: right; + width: 182px; + height: 30px; +} + +div#header div#headerhistory { + font-size: 11px; + color: #000000; + margin: 0px; + padding-top: 18px; + height: 12px; +} +div#header a, div#header span { + margin: 0px; +} +div#header span#navtitle { + font-weight: bold; +} +div#header a:hover { + text-decoration: none; +} + +/* the dock */ + +a.skydockfont { + text-decoration: none; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 8pt; + color: #06348B; +} +font.skydockfont { + text-decoration: none; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 8pt; + color: #06348B; +} +font.skydockfont_inactiveMail { + text-decoration: none; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 8pt; + color: #CCCCCC; + font-weight: bold; +} +font.skydockfont_newMail { + text-decoration: none; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 8pt; + color: #06348B; + font-weight: bold; +} +table.skytextdocktable { + padding: 0px; + table-layout: auto; +}