mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 07:05:24 +00:00
367 lines
16 KiB
XML
367 lines
16 KiB
XML
<?xml version="1.0"?>
|
|
<!-- -*- Mode: xml; indent-tabs-mode: nil; -*- -->
|
|
<!--
|
|
- ***** BEGIN LICENSE BLOCK *****
|
|
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
-
|
|
- The contents of this file are subject to the Mozilla Public License Version
|
|
- 1.1 (the "License"); you may not use this file except in compliance with
|
|
- the License. You may obtain a copy of the License at
|
|
- http://www.mozilla.org/MPL/
|
|
-
|
|
- Software distributed under the License is distributed on an "AS IS" basis,
|
|
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
- for the specific language governing rights and limitations under the
|
|
- License.
|
|
-
|
|
- The Original Code is calendar views.
|
|
-
|
|
- The Initial Developer of the Original Code is Oracle Corporation
|
|
- Portions created by the Initial Developer are Copyright (C) 2005
|
|
- the Initial Developer. All Rights Reserved.
|
|
-
|
|
- Contributor(s):
|
|
- Stuart Parmenter <stuart.parmenter@oracle.com>
|
|
- Simon Paquet <bugzilla@babylonsounds.com>
|
|
- Joey Minta <jminta@gmail.com>
|
|
- Cédric Corazza <cedric.corazza@wanadoo.fr>
|
|
-
|
|
- Alternatively, the contents of this file may be used under the terms of
|
|
- either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
- in which case the provisions of the GPL or the LGPL are applicable instead
|
|
- of those above. If you wish to allow use of your version of this file only
|
|
- under the terms of either the GPL or the LGPL, and not to allow others to
|
|
- use your version of this file under the terms of the MPL, indicate your
|
|
- decision by deleting the provisions above and replace them with the notice
|
|
- and other provisions required by the GPL or the LGPL. If you do not delete
|
|
- the provisions above, a recipient may use your version of this file under
|
|
- the terms of any one of the MPL, the GPL or the LGPL.
|
|
-
|
|
- ***** END LICENSE BLOCK ***** -->
|
|
|
|
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://calendar/content/calendar-event-dialog.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://calendar/content/datetimepickers/datetimepickers.css" ?>
|
|
|
|
<!DOCTYPE dialog
|
|
[
|
|
<!ENTITY % calendar-event-dialogDTD SYSTEM "chrome://calendar/locale/calendar-event-dialog.dtd">
|
|
%calendar-event-dialogDTD;
|
|
]>
|
|
|
|
<dialog
|
|
id="calendar-event-dialog"
|
|
title="&event.title.label;"
|
|
buttons="accept,cancel,disclosure"
|
|
ondialogaccept="return onAccept();"
|
|
ondialogcancel="return onCancel();"
|
|
ondialogdisclosure="toggleDetails();"
|
|
onload="onLoad()"
|
|
persist="screenX screenY width"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
|
|
<!-- Javascript includes -->
|
|
<script type="application/x-javascript" src="chrome://calendar/content/calendar-event-dialog.js"/>
|
|
<script type="application/x-javascript" src="chrome://calendar/content/calendar-dialog-utils.js"/>
|
|
<script type="application/x-javascript" src="chrome://calendar/content/calendarUtils.js"/>
|
|
<script type="application/x-javascript" src="chrome://calendar/content/applicationUtil.js"/>
|
|
|
|
<!-- Used for the button to show/hide details -->
|
|
<script type="application/x-javascript">
|
|
var moreLabel = "&calendar.more.label; >>";
|
|
var lessLabel = "<< &calendar.less.label;";
|
|
</script>
|
|
|
|
|
|
<vbox id="dialog-box" flex="1">
|
|
<label id="read-only-item" value="&newevent.readonly.item.warning;"
|
|
class="warning-text-class" hidden="true"/>
|
|
|
|
<grid flex="1">
|
|
<columns>
|
|
<column/>
|
|
<column flex="1"/>
|
|
</columns>
|
|
|
|
<rows>
|
|
<row align="center">
|
|
<label value="&newevent.title.label;"
|
|
accesskey="&newevent.title.accesskey;"
|
|
control="item-title"/>
|
|
<hbox flex="1" align="center">
|
|
<textbox id="item-title" oninput="updateAccept();" flex="1"/>
|
|
<menulist id="component-type" crop="none" disabled="true"
|
|
oncommand="updateComponentType(this.value)">
|
|
<menupopup id="component-menulist-menupopup">
|
|
<menuitem label="&newevent.itemType.event.label;"
|
|
value="event"/>
|
|
<menuitem label="&newevent.itemType.todo.label;"
|
|
value="todo"/>
|
|
</menupopup>
|
|
</menulist>
|
|
</hbox>
|
|
</row>
|
|
|
|
<row align="center">
|
|
<label value="&newevent.location.label;"
|
|
accesskey="&newevent.location.accesskey;"
|
|
control="item-location"/>
|
|
<textbox id="item-location"/>
|
|
</row>
|
|
|
|
<row align ="center">
|
|
<hbox align="center">
|
|
<label value="&newevent.from.label;" class="event-only"
|
|
accesskey="&newevent.from.accesskey;"
|
|
control="event-starttime"/>
|
|
<label value="&newevent.date.label;" class="todo-only"
|
|
accesskey="&newevent.date.accesskey;"
|
|
control="todo-has-entrydate"/>
|
|
</hbox>
|
|
<hbox>
|
|
<datetimepicker id="event-starttime" onchange="onStartTimeChange();"
|
|
class="event-only"/>
|
|
<checkbox id="event-all-day" oncommand="updateAllDay();"
|
|
class="event-only" label="&newevent.alldayevent.label;"
|
|
accesskey="&newevent.alldayevent.accesskey;"/>
|
|
<checkbox id="todo-has-entrydate" oncommand="updateEntryDate();"
|
|
class="todo-only checkbox-no-label"/>
|
|
<datetimepicker id="todo-entrydate" onchange="onStartTimeChange();"
|
|
class="todo-only"/>
|
|
<spacer flex="1"/>
|
|
</hbox>
|
|
</row>
|
|
|
|
<row>
|
|
<hbox align="center">
|
|
<label value="&newevent.to.label;" class="event-only"
|
|
accesskey="&newevent.to.accesskey;"
|
|
control="event-endtime"/>
|
|
<label value="&newtodo.duedate.label;" class="todo-only"
|
|
accesskey="&newtodo.duedate.accesskey;"
|
|
control="todo-has-duedate"/>
|
|
</hbox>
|
|
<vbox>
|
|
<hbox align="center">
|
|
<datetimepicker id="event-endtime" onchange="onEndTimeChange();" class="event-only"/>
|
|
<checkbox id="todo-has-duedate" oncommand="updateDueDate();" class="todo-only checkbox-no-label"/>
|
|
<datetimepicker id="todo-duedate" onchange="onEndTimeChange();" class="todo-only"/>
|
|
<checkbox id="item-recurrence" oncommand="updateRecurrence();"
|
|
label="&newevent.repeat2.label;"
|
|
accesskey="&newevent.repeat2.accesskey;"/>
|
|
<button id="set-recurrence" label="&newevent.set.label;"
|
|
oncommand="editRecurrence();"
|
|
accesskey="&newevent.set.accesskey;"/>
|
|
</hbox>
|
|
<label id="end-time-warning" class="warning-text-class"
|
|
value="&newevent.endtime.warning;"/>
|
|
<label id="task-repeat-warning" class="warning-text-class"
|
|
value="&newtodo.repeatstart.warning;" hidden="true"/>
|
|
</vbox>
|
|
</row>
|
|
|
|
<row>
|
|
<spacer height="5"/>
|
|
</row>
|
|
|
|
<row align="center">
|
|
<label value="&newevent.server.label;"
|
|
accesskey="&newevent.server.accesskey;"
|
|
control="item-calendar"/>
|
|
<hbox align="center">
|
|
<menulist id="item-calendar" oncommand="updateAccept()"/>
|
|
<label id="read-only-cal"
|
|
value="&newevent.readonly.cal.warning;"
|
|
class="warning-text-class" hidden="true"/>
|
|
<spacer flex="1"/>
|
|
<hbox id="categories-box" align="center">
|
|
<label value="&newtodo.categories.label;" class="label"
|
|
accesskey="&newtodo.categories.accesskey;"
|
|
control="item-categories"/>
|
|
<menulist id="item-categories" oncommand="categorySelect(this.value)"/>
|
|
</hbox>
|
|
</hbox>
|
|
</row>
|
|
|
|
<!-- Details -->
|
|
|
|
<row details="true">
|
|
<spacer height="5"/>
|
|
</row>
|
|
|
|
<!-- We work off of this row's collapsed state to determine whether or
|
|
not to show details when loading the dialog -->
|
|
<row id="description-row" details="true" collapsed="true" persist="collapsed" flex="1">
|
|
<label value="&newevent.description.label;"
|
|
accesskey="&newevent.description.accesskey;"
|
|
control="item-description"/>
|
|
<textbox id="item-description" multiline="true" rows="4" flex="1"/>
|
|
</row>
|
|
|
|
<row details="true">
|
|
<label value="&newevent.attendees.label;"
|
|
accesskey="&newevent.attendees.accesskey;"
|
|
control="attendees-list"/>
|
|
<hbox flex="1">
|
|
<!-- XXX This should be changed to a richlistbox that actually
|
|
- works and doesn't need to be constrained by max-height.
|
|
-->
|
|
<calendar-attendee-list id="attendees-list" flex="1"
|
|
style="max-height: 12em;"/>
|
|
<spacer width="10"/>
|
|
|
|
<grid>
|
|
<columns>
|
|
<column/>
|
|
<column/>
|
|
</columns>
|
|
|
|
<rows>
|
|
<row align="center">
|
|
<label value="&newevent.privacy.label;"
|
|
accesskey="&newevent.privacy.accesskey;"
|
|
control="privacy-menulist"/>
|
|
<menulist id="privacy-menulist" crop="none">
|
|
<menupopup>
|
|
<menuitem label="&newevent.public.label;" value="PUBLIC"/>
|
|
<menuitem label="&newevent.private.label;" value="PRIVATE"/>
|
|
<menuitem label="&newevent.confidential.label;" value="CONFIDENTIAL"/>
|
|
</menupopup>
|
|
</menulist>
|
|
</row>
|
|
|
|
<row align="center">
|
|
<label id="priority-label"
|
|
value="&newtodo.priority.label;"
|
|
accesskey="&newtodo.priority.accesskey;"
|
|
control="priority-levels"/>
|
|
<menulist id="priority-levels">
|
|
<menupopup>
|
|
<menuitem label="&priority.level.none;" value="0"/>
|
|
<menuitem label="&priority.level.low;" value="9"/>
|
|
<menuitem label="&priority.level.medium;" value="5"/>
|
|
<menuitem label="&priority.level.high;" value="1"/>
|
|
</menupopup>
|
|
</menulist>
|
|
</row>
|
|
|
|
<row align="center">
|
|
<label id="status-label" class="event-only"
|
|
value="&newevent.status.label;"
|
|
accesskey="&newevent.status.accesskey;"
|
|
control="event-status"/>
|
|
<menulist id="event-status" class="event-only">
|
|
<menupopup>
|
|
<menuitem label="&newevent.status.none.label;"
|
|
value="NONE"/>
|
|
<menuitem label="&newevent.status.tentative.label;"
|
|
value="TENTATIVE"/>
|
|
<menuitem label="&newevent.status.confirmed.label;"
|
|
value="CONFIRMED"/>
|
|
<menuitem label="&newevent.status.cancelled.label;"
|
|
value="CANCELLED"/>
|
|
</menupopup>
|
|
</menulist>
|
|
</row>
|
|
|
|
<row align="center">
|
|
<label value="&newevent.alarm.label;"
|
|
accesskey="&newevent.alarm.accesskey;"
|
|
control="item-alarm"/>
|
|
<hbox align="center">
|
|
<menulist id="item-alarm" oncommand="updateAlarm()">
|
|
<menupopup>
|
|
<menuitem label="&newevent.none.label;" value="none" selected="true"/>
|
|
<menuseparator/>
|
|
<menuitem label="&newevent.15minutes.before.label;" length="15" unit="minutes" relation="START"/>
|
|
<menuitem label="&newevent.30minutes.before.label;" length="30" unit="minutes" relation="START"/>
|
|
<menuseparator/>
|
|
<menuitem id="alarm-custom-menuitem" label="&newevent.custom.label;" value="custom"/>
|
|
</menupopup>
|
|
</menulist>
|
|
</hbox>
|
|
</row>
|
|
|
|
<row id="alarm-details">
|
|
<spacer flex="1"/>
|
|
<vbox>
|
|
<hbox>
|
|
<textbox id="alarm-length-field" size="1" oninput="validateIntegers(event);"/>
|
|
<menulist id="alarm-length-units">
|
|
<menupopup>
|
|
<menuitem label="&alarm.units.minutes;" value="minutes" selected="true"/>
|
|
<menuitem label="&alarm.units.hours;" value="hours"/>
|
|
<menuitem label="&alarm.units.days;" value="days"/>
|
|
</menupopup>
|
|
</menulist>
|
|
<menulist id="alarm-trigger-relation" oncommand="updateAccept()">
|
|
<menupopup>
|
|
<menuitem label="&newevent.before.label;" value="START" selected="true"/>
|
|
<menuitem label="&newevent.after.label;" value="END"/>
|
|
</menupopup>
|
|
</menulist>
|
|
</hbox>
|
|
</vbox>
|
|
</row>
|
|
|
|
<row id="alarm-warnings">
|
|
<spacer flex="1"/>
|
|
<vbox>
|
|
<label id="alarm-start-warning" value="&alarm.start.warning;"
|
|
class="warning-text-class"/>
|
|
<label id="alarm-end-warning" value="&alarm.due.warning;"
|
|
class="warning-text-class"/>
|
|
</vbox>
|
|
</row>
|
|
</rows>
|
|
</grid>
|
|
</hbox>
|
|
</row>
|
|
|
|
<row details="true">
|
|
<spacer height="5"/>
|
|
</row>
|
|
|
|
<row align="center" details="true">
|
|
<label value="&newevent.uri.label;"
|
|
accesskey="&newevent.uri.accesskey;" control="item-url"/>
|
|
<hbox flex="1">
|
|
<textbox id="item-url" flex="1" oninput="updateURL(this.value)"/>
|
|
<button id="load-url-button" oncommand="loadURL()"
|
|
label="&newevent.uri.visit.label;"
|
|
accesskey="&newevent.uri.visit.accesskey;"/>
|
|
</hbox>
|
|
</row>
|
|
|
|
<row class="todo-only" details="true">
|
|
<label id="todo-status-label" value="&newevent.status.label;"/>
|
|
<hbox align="center">
|
|
<menulist id="todo-status" class="todo-only"
|
|
oncommand="updateToDoStatus(this.value);">
|
|
<menupopup>
|
|
<menuitem label="&newevent.status.none.label;"
|
|
value="NONE"/>
|
|
<menuitem label="&newevent.status.needsaction.label;"
|
|
value="NEEDS-ACTION"/>
|
|
<menuitem label="&newevent.status.inprogress.label;"
|
|
value="IN-PROCESS"/>
|
|
<menuitem label="&newevent.status.completed.label;"
|
|
value="COMPLETED"/>
|
|
<menuitem label="&newevent.status.cancelled.label;"
|
|
value="CANCELLED"/>
|
|
</menupopup>
|
|
</menulist>
|
|
<datepicker id="completed-date-picker" class="todo-only"
|
|
value="" disabled="true"/>
|
|
<textbox id="percent-complete-textbox" size="3" oninput="validateIntegers(event);"/>
|
|
<label id="percent-complete-label" class="todo-only"
|
|
value="&newtodo.percentcomplete.label;"/>
|
|
</hbox>
|
|
</row>
|
|
</rows>
|
|
</grid>
|
|
<spacer height="10"/>
|
|
</vbox>
|
|
</dialog>
|