Monotone-Parent: eef1670b5893ad8df47967498257fdeeffe9a146

Monotone-Revision: 141eec0e0735d9102db7806b689a727f14c663f7

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-03-18T15:26:53
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-03-18 15:26:53 +00:00
parent 45ffa33ddd
commit 00650bb1cb
5 changed files with 346 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
2007-03-18 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* 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.

View File

@@ -0,0 +1,32 @@
/* UIxAttendeesEditor.h - this file is part of SOGo
*
* Copyright (C) 2007 Inverse groupe conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* 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 <SOGoUI/UIxComponent.h>
@interface UIxAttendeesEditor : UIxComponent
@end
#endif /* UIXATTENDEESEDITOR_H */

View File

@@ -0,0 +1,36 @@
/* UIxAttendeesEditor.m - this file is part of SOGo
*
* Copyright (C) 2007 Inverse groupe conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* 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 <Common/UIxPageFrame.h>
#import "UIxAttendeesEditor.h"
@implementation UIxAttendeesEditor
- (id) defaultAction
{
[[self parent] setToolbar: @""];
return self;
}
@end

View File

@@ -0,0 +1,92 @@
<?xml version='1.0' standalone='yes'?>
<!DOCTYPE var:component>
<var:component
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:uix="OGo:uix"
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label"
className="UIxPageFrame"
const:toolbar="none"
const:popup="YES">
<script type="text/javascript" rsrc:src="skycalendar.js"><!-- space --></script>
<div id="attendeesView">
<div id="freeBusyView">
<table id="freeBusy"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:uix="OGo:uix"
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label">
<thead>
<tr class="freeBusyHeader1"
><th class="attendees"><!--space --></th
></tr>
<tr class="freeBusyHeader2"
><th class="attendees"><!--space --></th
></tr>
<tr class="freeBusyHeader3"
><th class="attendees"><!--space --></th
></tr>
</thead>
<tbody>
<tr class="futureAttendee"
><td class="attendees"><input type="text" class="textField"
readonly="readonly" /></td
></tr>
<tr class="attendeeModel"
><td class="attendees"><input type="text" class="textField" /></td
></tr>
</tbody>
</table>
</div>
<div id="freeBusyFooter">
<div id="legend" onmousedown="return false;">
<ul>
<li><span class="colorBox free"><!-- spacer --></span
><var:string label:value="Free" /></li>
<li><span class="colorBox busy"><!-- spacer --></span
><var:string label:value="Busy" /></li>
<li><span class="colorBox maybe-busy"><!-- spacer --></span
><var:string label:value="Maybe busy" /></li>
<li><span class="colorBox noFreeBusy"><!-- spacer --></span
><var:string label:value="No free-busy information" /></li>
</ul>
</div>
<div id="freeBusyButtons">
<a href="#" class="button _disabled"
><var:string label:value="Previous slot" /></a>
<a href="#" class="button _disabled"
><var:string label:value="Next slot" /></a><br />
<a href="#" class="button _disabled"
><var:string label:value="Previous hour" /></a>
<a href="#" class="button _disabled"
><var:string label:value="Next hour" /></a>
</div>
<div id="freeBusyReplicas">
<div><var:string label:value="From"
/><var:component className="UIxTimeDateControl"
const:controlID="startTime"
const:dayStartHour="0"
const:dayEndHour="23"
/></div>
<div><var:string label:value="To"
/><var:component className="UIxTimeDateControl"
const:controlID="endTime"
const:dayStartHour="0"
const:dayEndHour="23"
/></div>
</div>
<div id="windowButtons">
<hr />
<a id="cancelButton" href="#" class="button"
><var:string label:value="Cancel"/></a>
<a id="okButton" href="#" class="button"
><var:string label:value="OK"/></a>
</div>
</div>
</div>
</var:component>

View File

@@ -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; }