diff --git a/ChangeLog b/ChangeLog index b2ccd4a40..d30677112 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2006-07-06 Wolfgang Sourdeau + + * The toolbar code from the MailerUI product was taken, renamed as + "UIxToolBar" and put into UI/Common. Toolbar plists were created + for the Contacts and Scheduler products and put in their respectir + Toolbars/ subdirectories. Finally, + UI/Templates/{UIxToolbarButton,UIxToolbarSeparator}.wox, and + UI/Common/{UIxToolbarButton,UIxToolbarSeparator}.m were removed + and an invocation to the UIxToolbar component was put at the top + of UI/Templaces/UIxPageFrame.wox. + + * UI/Common/UIxToolbar.m: new "isLastGroup" method to determine + within the templates whether a separator should be displayed. + 2006-07-05 Wolfgang Sourdeau * UI/Templates/UIxPageFrame.wox: replaced central table with a DIV. diff --git a/UI/Common/GNUmakefile b/UI/Common/GNUmakefile index cd2d55be0..1f3411281 100644 --- a/UI/Common/GNUmakefile +++ b/UI/Common/GNUmakefile @@ -20,6 +20,7 @@ CommonUI_OBJC_FILES += \ UIxTabView.m \ UIxTabItem.m \ \ + UIxToolbar.m \ UIxToolbarButton.m \ UIxToolbarSeparator.m diff --git a/UI/MailerUI/UIxMailToolbar.m b/UI/Common/UIxToolbar.m similarity index 77% rename from UI/MailerUI/UIxMailToolbar.m rename to UI/Common/UIxToolbar.m index bc7bd7def..42c614581 100644 --- a/UI/MailerUI/UIxMailToolbar.m +++ b/UI/Common/UIxToolbar.m @@ -19,11 +19,22 @@ 02111-1307, USA. */ +#if LIB_FOUNDATION_LIBRARY +# include +#elif NeXT_Foundation_LIBRARY || COCOA_Foundation_LIBRARY +# include +# include +#endif + +#include +#include +#include + #include @class NSArray, NSDictionary; -@interface UIxMailToolbar : UIxComponent +@interface UIxToolbar : UIxComponent { NSArray *toolbarConfig; NSArray *toolbarGroup; @@ -31,11 +42,9 @@ } @end -#include -#include "common.h" #include -@implementation UIxMailToolbar +@implementation UIxToolbar - (void)dealloc { [self->toolbarGroup release]; @@ -58,6 +67,7 @@ - (void)setToolbarGroup:(id)_group { ASSIGN(self->toolbarGroup, _group); } + - (id)toolbarGroup { return self->toolbarGroup; } @@ -65,6 +75,7 @@ - (void)setButtonInfo:(id)_info { ASSIGN(self->buttonInfo, _info); } + - (id)buttonInfo { return self->buttonInfo; } @@ -80,6 +91,30 @@ return [[self application] resourceManager]; } +- (id) pathToResourceNamed: (NSString *) name +{ + WOResourceManager *rm; + NSRange r; + NSString *fw, *rn; + + r = [name rangeOfString: @"/"]; + if (r.length > 0) + { + fw = [name substringToIndex: r.location]; + rn = [name substringFromIndex: (r.location + r.length)]; + } + else + { + rn = name; + fw = nil; + } + + rm = [self pageResourceManager]; + + return [rm pathForResourceNamed: rn inFramework: fw + languages: [[self context] resourceLookupLanguages]]; +} + - (id)loadToolbarConfigFromResourceNamed:(NSString *)_name { /* Note: we cannot cache by name because we don't know how the resource @@ -90,24 +125,10 @@ cache the parsed content for a given path; */ static NSMutableDictionary *pathToConfig = nil; - WOResourceManager *rm; NSDictionary *tb; - NSRange r; - NSString *fw, *rn, *path; + NSString *path; - r = [_name rangeOfString:@"/"]; - if (r.length > 0) { - fw = [_name substringToIndex:r.location]; - rn = [_name substringFromIndex:(r.location + r.length)]; - } - else { - rn = _name; - fw = nil; - } - - rm = [self pageResourceManager]; - path = [rm pathForResourceNamed:rn inFramework:fw - languages:[[self context] resourceLookupLanguages]]; + path = [self pathToResourceNamed: _name]; if (path == nil) { [self errorWithFormat:@"Did not find toolbar resource: %@", _name]; return nil; @@ -122,7 +143,7 @@ if (pathToConfig == nil) pathToConfig = [[NSMutableDictionary alloc] initWithCapacity:32]; [pathToConfig setObject:(tb ? tb : (id)[NSNull null]) forKey:path]; - + return tb; } @@ -171,6 +192,18 @@ return label; } +- (id) buttonImage { + WOResourceManager *rm; + NSString *image; + + rm = [self pageResourceManager]; + image = [buttonInfo objectForKey: @"image"]; + if (image && [image length] > 0) + image = [rm urlForResourceNamed: image]; + + return image; +} + /* enable/disable buttons */ - (BOOL)isButtonEnabled { @@ -184,4 +217,9 @@ return [[[[self context] page] valueForKeyPath:onOffKey] boolValue]; } -@end /* UIxMailToolbar */ +- (BOOL) isLastGroup { + return ([toolbarConfig indexOfObject: toolbarGroup] + == ([toolbarConfig count] - 1)); +} + +@end /* UIxToolbar */ diff --git a/UI/Common/UIxToolbarButton.m b/UI/Common/UIxToolbarButton.m deleted file mode 100644 index 0a7fc3514..000000000 --- a/UI/Common/UIxToolbarButton.m +++ /dev/null @@ -1,113 +0,0 @@ -#import -#import - -#import - -@interface UIxToolbarButton : UIxComponent -{ - NSString *buttonImage; - NSString *buttonLabel; - NSString *buttonLink; - NSString *buttonTooltip; -} - -- (void) setButtonImage: (NSString *) newButtonImage; -- (NSString *) buttonImage; - -- (void) setButtonLabel: (NSString *) newButtonLabel; -- (NSString *) buttonLabel; - -- (void) setButtonLink: (NSString *) newButtonLink; -- (NSString *) buttonLink; - -- (void) setButtonTooltip: (NSString *) newButtonTooltip; -- (NSString *) buttonTooltip; - -@end - -@implementation UIxToolbarButton - - -- (id) init -{ - if ((self = [super init])) - { - buttonImage = nil; - buttonLabel = nil; - buttonLink = nil; - buttonTooltip = nil; - } - - return self; -} - -- (void) dealloc -{ - if (buttonImage) - [buttonImage release]; - if (buttonLabel) - [buttonLabel release]; - if (buttonLink) - [buttonLink release]; - if (buttonTooltip) - [buttonTooltip release]; - [super dealloc]; -} - -- (void) setButtonLabel: (NSString *) newButtonLabel -{ - if (buttonLabel) - [buttonLabel release]; - buttonLabel = newButtonLabel; - if (buttonLabel) - [buttonLabel retain]; -} - -- (NSString *) buttonLabel -{ - return buttonLabel; -} - -- (void) setButtonImage: (NSString *) newButtonImage -{ - if (buttonImage) - [buttonImage release]; - buttonImage = newButtonImage; - if (buttonImage) - [buttonImage retain]; -} - -- (NSString *) buttonImage -{ - return buttonImage; -} - -- (void) setButtonLink: (NSString *) newButtonLink -{ - if (buttonLink) - [buttonLink release]; - buttonLink = newButtonLink; - if (buttonLink) - [buttonLink retain]; -} - -- (NSString *) buttonLink -{ - return [self completeHrefForMethod: buttonLink]; -} - -- (void) setButtonTooltip: (NSString *) newButtonTooltip -{ - if (buttonTooltip) - [buttonTooltip release]; - buttonTooltip = newButtonTooltip; - if (buttonTooltip) - [buttonTooltip retain]; -} - -- (NSString *) buttonTooltip -{ - return buttonTooltip; -} - -@end diff --git a/UI/Common/UIxToolbarSeparator.m b/UI/Common/UIxToolbarSeparator.m deleted file mode 100644 index 5b3ef5761..000000000 --- a/UI/Common/UIxToolbarSeparator.m +++ /dev/null @@ -1,14 +0,0 @@ -#import -#import - -#import - -@interface UIxToolbarSeparator : UIxComponent -{ -} - -@end - -@implementation UIxToolbarSeparator - -@end diff --git a/UI/Contacts/GNUmakefile b/UI/Contacts/GNUmakefile index 318589a20..7dfeee4c7 100644 --- a/UI/Contacts/GNUmakefile +++ b/UI/Contacts/GNUmakefile @@ -30,6 +30,9 @@ ContactsUI_RESOURCE_FILES += \ Images/properties.png \ Images/write.png +ContactsUI_RESOURCE_FILES += \ + Toolbars/SOGoContactFolder.toolbar + ContactsUI_LOCALIZED_RESOURCE_FILES += \ Localizable.strings \ diff --git a/UI/Contacts/product.plist b/UI/Contacts/product.plist index 6da687a4e..c2e8b723a 100644 --- a/UI/Contacts/product.plist +++ b/UI/Contacts/product.plist @@ -9,6 +9,12 @@ categories = { SOGoContactFolder = { + slots = { + toolbar = { + protectedBy = "View"; + value = "SOGoContactFolder.toolbar"; + }; + }; methods = { view = { protectedBy = "View"; @@ -27,6 +33,12 @@ }; SOGoContactObject = { + slots = { + toolbar = { + protectedBy = "View"; + value = "SOGoContactObject.toolbar"; + }; + }; methods = { view = { protectedBy = "View"; diff --git a/UI/MailerUI/GNUmakefile b/UI/MailerUI/GNUmakefile index 174b2737b..6c6aac881 100644 --- a/UI/MailerUI/GNUmakefile +++ b/UI/MailerUI/GNUmakefile @@ -19,7 +19,6 @@ MailerUI_OBJC_FILES += \ UIxMailMainFrame.m \ UIxMailTree.m \ UIxMailTreeBlock.m \ - UIxMailToolbar.m \ \ UIxMailAccountsView.m \ UIxMailAccountView.m \ @@ -46,7 +45,8 @@ MailerUI_OBJC_FILES += \ MailerUI_RESOURCE_FILES += \ Version \ product.plist \ - Toolbars/*.toolbar + Toolbars/*.toolbar \ + Images/*.png MailerUI_LOCALIZED_RESOURCE_FILES += \ Localizable.strings diff --git a/UI/MailerUI/Toolbars/SOGoDraftObject.toolbar b/UI/MailerUI/Toolbars/SOGoDraftObject.toolbar index d13346cae..432b22b1a 100644 --- a/UI/MailerUI/Toolbars/SOGoDraftObject.toolbar +++ b/UI/MailerUI/Toolbars/SOGoDraftObject.toolbar @@ -1,21 +1,27 @@ -( /* the toolbar groups */ +( /* the toolbar groups -*-cperl-*- */ ( /* first group */ - { link = "#"; isSafe = NO; - onclick = "clickedEditorSend(this);return false;"; - cssClass = "tbicon_send"; label = "Send"; }, - { link = "#"; target = "addressbook"; - onclick = "openAddressbook(this);return false;"; - cssClass = "tbicon_addressbook"; label = "Addressbook"; }, - { link = "#"; target = "anais"; - onclick = "openAnais(this);return false;"; - cssClass = "tbicon_anais"; label = "Anais"; }, - { link = "#"; isSafe = NO; - onclick = "clickedEditorAttach(this)"; - cssClass = "tbicon_attach"; label = "Attach"; }, - { link = "#"; isSafe = NO; - onclick = "clickedEditorSave(this);return false;"; - cssClass = "tbicon_save"; label = "Save"; }, - { link = "delete"; isSafe = NO; - cssClass = "tbicon_delete"; label = "Delete"; }, + { link = "#"; isSafe = NO; + onclick = "clickedEditorSend(this);return false;"; + image = "tb-compose-send-flat-24x24.png"; + cssClass = "tbicon_send"; label = "Send"; }, + { link = "#"; target = "addressbook"; + onclick = "openAddressbook(this);return false;"; + image = "tb-mail-addressbook-flat-24x24.png"; + cssClass = "tbicon_addressbook"; label = "Addressbook"; }, + { link = "#"; target = "anais"; + onclick = "openAnais(this);return false;"; + image = "tbtb_anais.png"; + cssClass = "tbicon_anais"; label = "Anais"; }, + { link = "#"; isSafe = NO; + onclick = "clickedEditorAttach(this)"; + image = "tb-compose-attach-flat-24x24.png"; + cssClass = "tbicon_attach"; label = "Attach"; }, + { link = "#"; isSafe = NO; + onclick = "clickedEditorSave(this);return false;"; + image = "tb-mail-file-flat-24x24.png"; + cssClass = "tbicon_save"; label = "Save"; }, + { link = "delete"; isSafe = NO; + image = "tb-mail-delete-flat-24x24.png"; + cssClass = "tbicon_delete"; label = "Delete"; }, ) ) diff --git a/UI/MailerUI/Toolbars/SOGoMailAccount.toolbar b/UI/MailerUI/Toolbars/SOGoMailAccount.toolbar index fb3cfd320..a47c8399c 100644 --- a/UI/MailerUI/Toolbars/SOGoMailAccount.toolbar +++ b/UI/MailerUI/Toolbars/SOGoMailAccount.toolbar @@ -1,18 +1,21 @@ -( /* the toolbar groups */ - ( /* first group */ - { link = "getMail"; - cssClass = "tbicon_getmail"; label = "Get Mail"; }, - { - link = "#"; // "compose"; // target = "_blank"; - isSafe = NO; - onclick = "clickedCompose(this);return false;"; - cssClass = "tbicon_compose"; label = "Write"; - }, - ), - ( // fourth group (folders) - { link = "#"; onclick="return ctxFolderAdd(this)"; - enabled = "showFolderCreateButton"; - isSafe = NO; - cssClass = "tbicon_folderadd"; label = "Create"; } - ) -) \ No newline at end of file +( /* the toolbar groups -*-cperl-*- */ + ( /* first group */ + { link = "getMail"; + image = "tb-mail-getmail-flat-24x24.png"; + cssClass = "tbicon_getmail"; label = "Get Mail"; }, + { + link = "#"; // "compose"; // target = "_blank"; + isSafe = NO; + image = "tb-mail-write-flat-24x24.png"; + onclick = "clickedCompose(this);return false;"; + cssClass = "tbicon_compose"; label = "Write"; + }, + ), + ( // fourth group (folders) + { link = "#"; onclick="return ctxFolderAdd(this)"; + enabled = "showFolderCreateButton"; + isSafe = NO; + image = "tbtb_folderadd.png"; + cssClass = "tbicon_folderadd"; label = "Create"; } + ) +) diff --git a/UI/MailerUI/Toolbars/SOGoMailFolder.toolbar b/UI/MailerUI/Toolbars/SOGoMailFolder.toolbar index c119b469c..a32403f40 100644 --- a/UI/MailerUI/Toolbars/SOGoMailFolder.toolbar +++ b/UI/MailerUI/Toolbars/SOGoMailFolder.toolbar @@ -1,10 +1,12 @@ -( /* the toolbar groups */ +( /* the toolbar groups -*-cperl-*- */ ( /* first group */ { link = "getMail"; + image = "tb-mail-getmail-flat-24x24.png"; cssClass = "tbicon_getmail"; label = "Get Mail"; }, { link = "#"; // "compose"; // target = "_blank"; isSafe = NO; + image = "tb-mail-write-flat-24x24.png"; onclick = "clickedCompose(this);return false;"; cssClass = "tbicon_compose"; label = "Write"; }, ), @@ -13,36 +15,46 @@ ( // second group { link = "#"; isSafe = NO; onclick="openMessageWindowsForSelection(this, 'reply'); return false;"; + image = "tb-mail-reply-flat-24x24.png"; cssClass = "tbicon_reply"; label = "Reply"; }, { link = "#"; isSafe = NO; onclick="openMessageWindowsForSelection(this, 'replyall'); return false;"; + image = "tb-mail-replyall-flat-24x24.png"; cssClass = "tbicon_replyall"; label = "Reply All"; }, { link = "#"; isSafe = NO; onclick="openMessageWindowsForSelection(this, 'forward'); return false;"; + image = "tb-mail-forward-flat-24x24.png"; cssClass = "tbicon_forward"; label = "Forward"; }, ), ( // third group /* TODO: maybe this should be a default or get enabled with no trash writes - { link = "expunge"; isSafe = NO; - enabled = clientObject.isDeleteAndExpungeAllowed; - cssClass = "tbicon_delete"; label = "Expunge"; }, + { link = "expunge"; isSafe = NO; + enabled = clientObject.isDeleteAndExpungeAllowed; + image = "tb-mail-delete-flat-24x24.png"; + cssClass = "tbicon_delete"; label = "Expunge"; }, */ - + // TODO: rename to uixTrashSelectedMessages, be more consistent with // SOGoMailObject.toolbar (trash AND delete button) { link = "#"; isSafe = NO; onclick = "uixDeleteSelectedMessages(this); return false;"; enabled = clientObject.isDeleteAndExpungeAllowed; - cssClass = "tbicon_delete"; label = "Delete"; }, + image = "tb-mail-delete-flat-24x24.png"; + cssClass = "tbicon_delete"; label = "Delete"; + } + , /* TODO: enable when implemented - // TODO: enable when we know how to mark junk (#971) - { link = "#"; isSafe = NO; - cssClass = "tbicon_junk"; label = "Junk"; }, + // TODO: enable when we know how to mark junk #971) + { link = "#"; isSafe = NO; + image = "tb-mail-junk-flat-24x24.png"; + cssClass = "tbicon_junk"; label = "Junk"; + } + , */ ), @@ -51,19 +63,24 @@ { link = "#"; onclick="return ctxFolderAdd(this)"; enabled = "clientObject.isCreateAllowed"; isSafe = NO; - cssClass = "tbicon_folderadd"; label = "Create"; }, + image = "tbtb_folderadd.png"; + cssClass = "tbicon_folderadd"; label = "Create"; + } + , { link = "#"; onclick="return ctxFolderDelete(this)"; enabled = "clientObject.isCreateAllowed"; // TODO: correct? isSafe = NO; + image = "tbtb_folderdel.png"; cssClass = "tbicon_folderdel"; label = "Delete"; }, ), -/* + /* ( // fourth group - //TODO: enable when we can print (#1207) - // { link = "#"; cssClass = "tbicon_print"; label = "Print"; }, - - { link = "#"; cssClass = "tbicon_stop"; label = "Stop"; }, - ) -*/ + //TODO: enable when we can print ( #1207) + // { link = "#"; cssClass = "tbicon_print"; label = "Print"; }, + + { + link = "#"; cssClass = "tbicon_stop"; label = "Stop"; }, + ) + */ ) diff --git a/UI/MailerUI/Toolbars/SOGoMailObject.toolbar b/UI/MailerUI/Toolbars/SOGoMailObject.toolbar index df7816b8c..593355f7e 100644 --- a/UI/MailerUI/Toolbars/SOGoMailObject.toolbar +++ b/UI/MailerUI/Toolbars/SOGoMailObject.toolbar @@ -1,11 +1,13 @@ -( /* the toolbar groups */ +( /* the toolbar groups -*-cperl-*- */ ( /* first group */ { link = "getMail"; + image = "tb-mail-getmail-flat-24x24.png"; cssClass = "tbicon_getmail"; label = "Get Mail"; }, { link = "#"; // "compose"; // target = "_blank"; isSafe = NO; + image = "tb-mail-write-flat-24x24.png"; onclick = "clickedCompose(this);return false;"; cssClass = "tbicon_compose"; label = "Write"; }, ), @@ -13,24 +15,29 @@ ( // second group { link = "reply"; isSafe = NO; + image = "tb-mail-reply-flat-24x24.png"; cssClass = "tbicon_reply"; label = "Reply"; }, { link = "replyall"; isSafe = NO; + image = "tb-mail-replyall-flat-24x24.png"; cssClass = "tbicon_replyall"; label = "Reply All"; }, { link = "forward"; isSafe = NO; + image = "tb-mail-forward-flat-24x24.png"; cssClass = "tbicon_forward"; label = "Forward"; }, ), ( // third group { link = "delete"; isSafe = NO; enabled = showMarkDeletedButton; + image = "tb-mail-delete-flat-24x24.png"; cssClass = "tbicon_delete"; label = "Delete"; }, { link = "trash"; isSafe = NO; enabled = showTrashButton; + image = "tb-mail-delete-flat-24x24.png"; cssClass = "tbicon_delete"; label = "Delete"; }, /* TODO: enable when we know how to mark junk (#971) @@ -47,4 +54,4 @@ { link = "#"; cssClass = "tbicon_stop"; label = "Stop"; }, ), */ -) \ No newline at end of file +) diff --git a/UI/MailerUI/Toolbars/SOGoTrashFolder.toolbar b/UI/MailerUI/Toolbars/SOGoTrashFolder.toolbar index 77973076f..ebd5e490e 100644 --- a/UI/MailerUI/Toolbars/SOGoTrashFolder.toolbar +++ b/UI/MailerUI/Toolbars/SOGoTrashFolder.toolbar @@ -1,12 +1,15 @@ -( /* the toolbar groups */ +( /* the toolbar groups -*-cperl-*- */ ( /* first group */ { link = "getMail"; cssClass = "tbicon_getmail"; label = "Get Mail"; - }, + image = "tb-mail-getmail-flat-24x24.png"; + tooltip = "test coucou blabla"; + }, { link = "#"; // "compose"; // target = "_blank"; isSafe = NO; + image = "tb-mail-write-flat-24x24.png"; onclick = "clickedCompose(this);return false;"; cssClass = "tbicon_compose"; label = "Write"; }, @@ -14,13 +17,16 @@ ( // third group { link = "emptyTrash"; isSafe = NO; enabled = clientObject.isDeleteAndExpungeAllowed; + image = "tb-mail-junk-flat-24x24.png"; cssClass = "tbicon_trash"; label = "Empty Trash"; }, /* TODO: enable when implemented // TODO: enable when delete works (#1212) { link = "#"; isSafe = NO; + image = "tb-mail-delete-flat-24x24.png"; cssClass = "tbicon_delete"; label = "Delete"; }, // TODO: enable when we know how to mark junk (#971) { link = "#"; isSafe = NO; + image = "tb-mail-junk-flat-24x24.png"; cssClass = "tbicon_junk"; label = "Junk"; }, */ ), @@ -30,4 +36,4 @@ { link = "#"; cssClass = "tbicon_stop"; label = "Stop"; }, ) */ -) \ No newline at end of file +) diff --git a/UI/MailerUI/UIxMailEditor.m b/UI/MailerUI/UIxMailEditor.m index 49f7a5525..fc8720c7d 100644 --- a/UI/MailerUI/UIxMailEditor.m +++ b/UI/MailerUI/UIxMailEditor.m @@ -54,7 +54,6 @@ #include #include #include -#include #include #include #include diff --git a/UI/MailerUI/product.plist b/UI/MailerUI/product.plist index 35f10cb2e..79e0802d8 100644 --- a/UI/MailerUI/product.plist +++ b/UI/MailerUI/product.plist @@ -1,4 +1,4 @@ -{ +{ /* -*-cperl-*- */ requires = ( MAIN, CommonUI, Mailer, Sieve ); publicResources = ( @@ -228,6 +228,7 @@ value = ( /* the toolbar groups */ ( /* first group */ { link = "getMail"; + image = "tb-mail-getmail-flat-24x24.png"; cssClass = "tbicon_getmail"; label = "Get Mail"; }, ) ); @@ -290,12 +291,14 @@ value = ( /* the toolbar groups */ ( /* first group */ { link = "getMail"; + image = "tb-mail-getmail-flat-24x24.png"; cssClass = "tbicon_getmail"; label = "Get Mail"; }, { - link = "#"; // "compose"; // target = "_blank"; - isSafe = NO; - onclick = "clickedCompose(this);return false;"; - cssClass = "tbicon_compose"; label = "Write"; }, + link = "#"; // "compose"; // target = "_blank"; + isSafe = NO; + onclick = "clickedCompose(this);return false;"; + image = "tb-mail-write-flat-24x24.png"; + cssClass = "tbicon_compose"; label = "Write"; }, ) ); }; @@ -387,13 +390,15 @@ value = ( /* the toolbar groups */ ( /* first group */ { - link = "getMail"; - cssClass = "tbicon_getmail"; label = "Get Mail"; + link = "getMail"; + image = "tb-mail-getmail-flat-24x24.png"; + cssClass = "tbicon_getmail"; label = "Get Mail"; }, { - link = "#"; // "compose"; // target = "_blank"; - onclick = "clickedNewFilter(this); return false"; - cssClass = "tbicon_compose"; label = "New Filter"; + link = "#"; // "compose"; // target = "_blank"; + onclick = "clickedNewFilter(this); return false"; + image = "tb-mail-write-flat-24x24.png"; + cssClass = "tbicon_compose"; label = "New Filter"; }, ), ( /* second group @@ -422,11 +427,13 @@ protectedBy = "View"; value = ( /* the toolbar groups */ ( /* first group */ - { link = "#"; + { link = "#"; onclick = "clickedEditorSave(this);return false;"; - cssClass = "tbicon_save"; label = "Save"; }, - { link = "#"; + image = "tb-mail-file-flat-24x24.png"; + cssClass = "tbicon_save"; label = "Save"; }, + { link = "#"; onclick = "clickedEditorDelete(this);return false;"; + image = "tb-mail-delete-flat-24x24.png"; cssClass = "tbicon_delete"; label = "Delete"; }, ) ); diff --git a/UI/Scheduler/GNUmakefile b/UI/Scheduler/GNUmakefile index bb54b5fa2..7ce6c5184 100644 --- a/UI/Scheduler/GNUmakefile +++ b/UI/Scheduler/GNUmakefile @@ -83,6 +83,9 @@ SchedulerUI_RESOURCE_FILES += \ images/new-task.png \ images/week-view.png +SchedulerUI_RESOURCE_FILES += \ + Toolbars/SOGoAppointmentFolder.toolbar + SchedulerUI_LOCALIZED_RESOURCE_FILES += \ Localizable.strings \ diff --git a/UI/Scheduler/product.plist b/UI/Scheduler/product.plist index 1a57d357a..4c0cafa78 100644 --- a/UI/Scheduler/product.plist +++ b/UI/Scheduler/product.plist @@ -29,6 +29,12 @@ categories = { SOGoAppointmentFolder = { + slots = { + toolbar = { + protectedBy = "View"; + value = "SOGoAppointmentFolder.toolbar"; + }; + }; methods = { dayoverview = { protectedBy = "View"; diff --git a/UI/Templates/ContactsUI/UIxContactView.wox b/UI/Templates/ContactsUI/UIxContactView.wox index 826bbcee7..846f4f832 100644 --- a/UI/Templates/ContactsUI/UIxContactView.wox +++ b/UI/Templates/ContactsUI/UIxContactView.wox @@ -8,38 +8,6 @@ title="name" > -
- - - - - - - - - - - - - - -
- diff --git a/UI/Templates/ContactsUI/UIxContactsListView.wox b/UI/Templates/ContactsUI/UIxContactsListView.wox index dedf060a9..62555d1ef 100644 --- a/UI/Templates/ContactsUI/UIxContactsListView.wox +++ b/UI/Templates/ContactsUI/UIxContactsListView.wox @@ -24,38 +24,6 @@ } -
- - - - - - - - - - - - - - -
-
diff --git a/UI/Templates/MailerUI/UIxMailMainFrame.wox b/UI/Templates/MailerUI/UIxMailMainFrame.wox index eba8b7573..d3be199b6 100644 --- a/UI/Templates/MailerUI/UIxMailMainFrame.wox +++ b/UI/Templates/MailerUI/UIxMailMainFrame.wox @@ -51,29 +51,10 @@ + +
-
- - - - - -
- - - - - - -
-
- - -
-
diff --git a/UI/Templates/MailerUI/UIxMailPanelFrame.wox b/UI/Templates/MailerUI/UIxMailPanelFrame.wox index 80c42e8a9..92ade7685 100644 --- a/UI/Templates/MailerUI/UIxMailPanelFrame.wox +++ b/UI/Templates/MailerUI/UIxMailPanelFrame.wox @@ -100,26 +100,7 @@
- - - - - - -
- - - - - - -
-
- - -
+ diff --git a/UI/Templates/MailerUI/UIxMailToolbar.wox b/UI/Templates/MailerUI/UIxMailToolbar.wox deleted file mode 100644 index 85148700d..000000000 --- a/UI/Templates/MailerUI/UIxMailToolbar.wox +++ /dev/null @@ -1,35 +0,0 @@ - -
- - - - - - - - - - - - - - - - - - - - - - -
diff --git a/UI/Templates/UIxAppointmentEditor.wox b/UI/Templates/UIxAppointmentEditor.wox index 831a21e8c..537731229 100644 --- a/UI/Templates/UIxAppointmentEditor.wox +++ b/UI/Templates/UIxAppointmentEditor.wox @@ -222,8 +222,7 @@ - - TODO: need attendee selector (AB) diff --git a/UI/Templates/UIxCalDayChartview.wox b/UI/Templates/UIxCalDayChartview.wox index 65d643e3e..b5a7b6b58 100644 --- a/UI/Templates/UIxCalDayChartview.wox +++ b/UI/Templates/UIxCalDayChartview.wox @@ -8,53 +8,6 @@ title="name" > -
- - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - - - - - -
-
-
- - - - - - - - - - - - - - - - - - - - -
-
diff --git a/UI/Templates/UIxCalDayPrintview.wox b/UI/Templates/UIxCalDayPrintview.wox index 47554e559..889181ab6 100644 --- a/UI/Templates/UIxCalDayPrintview.wox +++ b/UI/Templates/UIxCalDayPrintview.wox @@ -8,53 +8,6 @@ title="title" > -
- - - - - - - - - - - - - - - - - - - - -
-
diff --git a/UI/Templates/UIxCalMonthOverview.wox b/UI/Templates/UIxCalMonthOverview.wox index 803cab92b..24b01d306 100644 --- a/UI/Templates/UIxCalMonthOverview.wox +++ b/UI/Templates/UIxCalMonthOverview.wox @@ -8,53 +8,6 @@ title="name" > -
- - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - - - - - -
-
diff --git a/UI/Templates/UIxCalWeekColumnsview.wox b/UI/Templates/UIxCalWeekColumnsview.wox index 2e6479257..1a97f86f1 100644 --- a/UI/Templates/UIxCalWeekColumnsview.wox +++ b/UI/Templates/UIxCalWeekColumnsview.wox @@ -8,53 +8,6 @@ className="UIxPageFrame" title="name"> -
- - - - - - - - - - - - - - - - - - - - -
-
diff --git a/UI/Templates/UIxCalWeekListview.wox b/UI/Templates/UIxCalWeekListview.wox index 41ead99f0..3099088f2 100644 --- a/UI/Templates/UIxCalWeekListview.wox +++ b/UI/Templates/UIxCalWeekListview.wox @@ -9,53 +9,6 @@ title="name" > -
- - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - - - - - -
-
diff --git a/UI/Templates/UIxCalYearOverview.wox b/UI/Templates/UIxCalYearOverview.wox index 58df4d564..edb104e8e 100644 --- a/UI/Templates/UIxCalYearOverview.wox +++ b/UI/Templates/UIxCalYearOverview.wox @@ -8,49 +8,6 @@ title="name" > -
- - - - - - - - - - - - - - - - -
-
diff --git a/UI/Templates/UIxPageFrame.wox b/UI/Templates/UIxPageFrame.wox index a8cb074cf..b6ff117d5 100644 --- a/UI/Templates/UIxPageFrame.wox +++ b/UI/Templates/UIxPageFrame.wox @@ -38,6 +38,8 @@ > + +
diff --git a/UI/Templates/UIxToolbar.wox b/UI/Templates/UIxToolbar.wox new file mode 100644 index 000000000..7e8c544f4 --- /dev/null +++ b/UI/Templates/UIxToolbar.wox @@ -0,0 +1,38 @@ + +
+ + + + + + + +
+ +
+
+ +
+
+ + + + + + +
+
diff --git a/UI/Templates/UIxToolbarButton.wox b/UI/Templates/UIxToolbarButton.wox deleted file mode 100644 index e1632696e..000000000 --- a/UI/Templates/UIxToolbarButton.wox +++ /dev/null @@ -1,18 +0,0 @@ - - - -
- -
-
diff --git a/UI/Templates/UIxToolbarSeparator.wox b/UI/Templates/UIxToolbarSeparator.wox deleted file mode 100644 index 4bb3c9e03..000000000 --- a/UI/Templates/UIxToolbarSeparator.wox +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/UI/WebServerResources/uix.css b/UI/WebServerResources/uix.css index 4dfe0e087..2cccd2f28 100644 --- a/UI/WebServerResources/uix.css +++ b/UI/WebServerResources/uix.css @@ -291,12 +291,12 @@ DIV.linkbanner A:hover A.toolbarButton { color: #000; + cursor: default; text-decoration: none; } SPAN.toolbarButton { display: block; text-align: center; - width: 5em; height: 2.5em; float: left; padding: .5em; @@ -331,6 +331,8 @@ SPAN.toolbarButton:active .toolbarButton IMG.buttonImage { border: 0px; + width: 24px; + height: 24px; margin: auto; } .toolbarButton .buttonLabel