From 00650bb1cb0f21483459755ae80799bd3fdf3a0f Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Sun, 18 Mar 2007 15:26:53 +0000 Subject: [PATCH] Monotone-Parent: eef1670b5893ad8df47967498257fdeeffe9a146 Monotone-Revision: 141eec0e0735d9102db7806b689a727f14c663f7 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-03-18T15:26:53 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 2 + UI/Scheduler/UIxAttendeesEditor.h | 32 +++ UI/Scheduler/UIxAttendeesEditor.m | 36 ++++ .../SchedulerUI/UIxAttendeesEditor.wox | 92 +++++++++ UI/WebServerResources/UIxAttendeesEditor.css | 184 ++++++++++++++++++ 5 files changed, 346 insertions(+) create mode 100644 UI/Scheduler/UIxAttendeesEditor.h create mode 100644 UI/Scheduler/UIxAttendeesEditor.m create mode 100644 UI/Templates/SchedulerUI/UIxAttendeesEditor.wox create mode 100644 UI/WebServerResources/UIxAttendeesEditor.css diff --git a/ChangeLog b/ChangeLog index fba167e2e..b8893994b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2007-03-18 Wolfgang Sourdeau + * UI/Scheduler/UIxAttendeesEditor.m): new component. + * UI/Scheduler/UIxComponentEditor.m: no longer a superclass for the task and appointment editors. Now a container component handling the common elements of tasks and events. diff --git a/UI/Scheduler/UIxAttendeesEditor.h b/UI/Scheduler/UIxAttendeesEditor.h new file mode 100644 index 000000000..dc58eedab --- /dev/null +++ b/UI/Scheduler/UIxAttendeesEditor.h @@ -0,0 +1,32 @@ +/* UIxAttendeesEditor.h - this file is part of SOGo + * + * Copyright (C) 2007 Inverse groupe conseil + * + * Author: Wolfgang Sourdeau + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef UIXATTENDEESEDITOR_H +#define UIXATTENDEESEDITOR_H + +#import + +@interface UIxAttendeesEditor : UIxComponent + +@end + +#endif /* UIXATTENDEESEDITOR_H */ diff --git a/UI/Scheduler/UIxAttendeesEditor.m b/UI/Scheduler/UIxAttendeesEditor.m new file mode 100644 index 000000000..891f8b983 --- /dev/null +++ b/UI/Scheduler/UIxAttendeesEditor.m @@ -0,0 +1,36 @@ +/* UIxAttendeesEditor.m - this file is part of SOGo + * + * Copyright (C) 2007 Inverse groupe conseil + * + * Author: Wolfgang Sourdeau + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#import + +#import "UIxAttendeesEditor.h" + +@implementation UIxAttendeesEditor + +- (id) defaultAction +{ + [[self parent] setToolbar: @""]; + + return self; +} + +@end diff --git a/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox b/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox new file mode 100644 index 000000000..62a89147b --- /dev/null +++ b/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox @@ -0,0 +1,92 @@ + + + + +
+
+ + + + + + + + + + + +
+
+
+
+
    +
  • +
  • +
  • +
  • +
+
+
+ +
+ + +
+
+
+
+
+
+
+ + +
+
+
+
diff --git a/UI/WebServerResources/UIxAttendeesEditor.css b/UI/WebServerResources/UIxAttendeesEditor.css new file mode 100644 index 000000000..be9c1f2bc --- /dev/null +++ b/UI/WebServerResources/UIxAttendeesEditor.css @@ -0,0 +1,184 @@ +DIV#attendeesView +{ position: absolute; + left: 1em; + right: 1em; + top: 1em; + bottom: 1em; + margin: 0px; + padding: 0px; + border: 0px; } + +DIV#freeBusyView +{ position: static; + margin-left: 12.5em; + overflow: auto; + border-top: 2px solid #222; + border-left: 2px solid #222; + border-right: 1px solid #fff; + border-bottom: 1px solid #fff; + -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow; + -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow; } + +TABLE#freeBusy TD, +TABLE#freeBusy TH +{ padding: 0px; + margin: 0px; + border: 0px; } + +TABLE#freeBusy TH.attendees, +TABLE#freeBusy TD.attendees +{ position: absolute; + padding: 0px .5em; + margin: 0px; + width: 11em; + border: 0px !important; + background: #dbdad5 !important; + overflow: hidden; + left: 0px; } + +TABLE#freeBusy TD.attendees IMG +{ position: absolute; + left: 0em; + top: .5em; } + +TABLE#freeBusy TD.attendees INPUT +{ width: 10em; + margin: 0px; + margin-left: 10px; } + +TABLE#freeBusy TR.freeBusyHeader2 TH +{ font-weight: normal; } + +TABLE#freeBusy TR.freeBusyHeader1 TH, +TABLE#freeBusy TR.freeBusyHeader2 TH, +TABLE#freeBusy TR.freeBusyHeader3 TH +{ text-align: left; + color: #777; + background: #fff; + border-collapse: collapse; } + +TABLE#freeBusy TR.freeBusyHeader2 TH +{ width: 6em; } + +TABLE#freeBusy TR.freeBusyHeader3 TH +{ border-bottom: 1px solid #cecbff; } + +TABLE#freeBusy TR.attendeeModel +{ display: none; } + +TABLE#freeBusy TR.futureAttendee TD +{ border-right: none; } + +TABLE#freeBusy TD +{ border-bottom: 1px solid #cecbff; + border-right: 1px solid #cecbff; + height: 2em; + background-color: #fff; } + +TABLE#freeBusy TD.noFreeBusy +{ background-color: #559; + border-right: 0px; } + +SPAN.freeBusyZoneElement +{ display: block; + float: left; + width: 25%; + margin: 0px; + padding: 0px; + border: 0px; } + +TABLE#freeBusy TR.freeBusyHeader3 SPAN.freeBusyZoneElement +{ height: .25em; } + +TABLE#freeBusy TD SPAN.freeBusyZoneElement +{ height: 100%; } + +SPAN[class~="colorBox"].free, +TABLE#freeBusy TD SPAN.freeBusyZoneElement +{ background-color: #8ca6bd; } + +TABLE#freeBusy TH SPAN[class~="freeBusyZoneElement"].busy +{ background-color: #c55 !important; } + +DIV#freeBusyFooter +{ position: absolute; + height: 14em; + left: 0px; + right: 0px; + bottom: 0px; + line-height: 2em; + text-align: right; } + +DIV#legend +{ margin-left: 1em; + text-align: left; } + +DIV#legend UL +{ cursor: default; + float: left; + width: 30%; + margin: 0px; + padding: 0px; + line-height: 1.5em; + list-style-type: none; + list-style-image: none; } + +DIV#legend UL LI +{ white-space: nowrap; + margin: 0px; + padding: 0px; } + +DIV#legend UL IMG +{ margin-right: .5em; } + +DIV#legend UL LI SPAN.colorBox +{ float: left; + margin-right: .5em; } + +SPAN.colorBox +{ display: block; + float: right; + border: 1px solid #333; + margin: .12em; + width: 1em; + height: .75em; } + +SPAN[class~="colorBox"].busy, +SPAN[class~="freeBusyZoneElement"].busy +{ background-color: #5a6b79 !important; } + +SPAN[class~="colorBox"].maybe-busy, +SPAN[class~="freeBusyZoneElement"].maybe-busy +{ background-color: #adc0d0 !important; } + +SPAN[class~="colorBox"].noFreeBusy +{ background-color: #559; } + +DIV#freeBusyButtons +{ position: absolute; + top: 6em; + left: 0px; + width: 30em; + height: 4em; + text-align: center; } + +DIV#freeBusyButtons A.button +{ width: 5em; } + +DIV#freeBusyReplicas +{ position: absolute; + top: 6em; + right: 0px; + width: 30em; + height: 4em; } + +DIV#freeBusyReplicas LABEL +{ line-height: 1.5em; } + +DIV#windowButtons +{ position: absolute; + bottom: 0px; + left: 0px; + right: 0px; + height: 4em; + text-align: right; }