bug 249820

change alertDialog from window to dialog to remove last vestiges of dialogOverlay
r=mostafah
This commit is contained in:
mattwillis%gmail.com 2004-12-23 00:26:47 +00:00
parent c5328b582e
commit 3699fc6a01
2 changed files with 81 additions and 98 deletions

View File

@ -41,10 +41,12 @@ var gAllEvents = new Array();
var CreateAlarmBox = true;
var kungFooDeathGripOnEventBoxes = new Array();
var gICalLib;
var gCalendarBundle;
var calendarsToPublish = new Array();
function onLoad()
{
gCalendarBundle = document.getElementById("bundle_calendar");
var calendarEventService = opener.gEventSource;
gICalLib = calendarEventService.getICalLib();
@ -66,15 +68,12 @@ function onLoad()
buildEventBoxes();
}
doSetOKCancel( onOkButton, 0 );
}
function buildEventBoxes()
{
//remove all the old event boxes.
var EventContainer = document.getElementById( "event-container-rows" );
var tooManyDescValue ;
if( EventContainer )
{
@ -97,21 +96,21 @@ function buildEventBoxes()
}
//reset the text
var TooManyDesc = document.getElementById( "too-many-alarms-description" );
var tooManyDescValue ;
if( gAllEvents.length > 6 )
{
var TooManyDesc = document.getElementById( "too-many-alarms-description" );
TooManyDesc.removeAttribute( "collapsed" );
tooManyDescValue = gCalendarBundle.getFormattedString("TooManyAlarmsMessage", [gAllEvents.length]);
TooManyDesc.setAttribute( "value", tooManyDescValue );
}
else
{
var TooManyDesc = document.getElementById( "too-many-alarms-description" );
TooManyDesc.setAttribute( "collapsed", "true" );
}
}
sizeToContent();
}
function onAlarmCall( Event )
@ -167,10 +166,11 @@ function createAlarmBox( Event )
var EventDescription = document.createTextNode( Event.description );
OuterBox.getElementsByAttribute( "name", "Description" )[0].appendChild( EventDescription );
var displayDate;
if( !Event.recur )
var displayDate = new Date( Event.start.getTime() );
displayDate = new Date( Event.start.getTime() );
else
var displayDate = new Date( Event.displayDate );
displayDate = new Date( Event.displayDate );
var EventDisplayDate = document.createTextNode( getFormatedDate( displayDate ) );
OuterBox.getElementsByAttribute( "name", "StartDate" )[0].appendChild( EventDisplayDate );
@ -207,13 +207,11 @@ function removeAlarmBox( Event )
if( EventAlarmBoxes.item(0) )
{
//there are still boxes left.
return( false );
}
else
{
//close the dialog
self.close();
return;
}
//close the dialog
self.close();
}
function getArrayId( Event )
@ -230,6 +228,7 @@ function getArrayId( Event )
function onOkButton( ) // "Acknowledge All Alarms" button
{
var i;
// Set each alarm's last alarm ack date/time to now
for( i = 0; i < gAllEvents.length; i++ )
{
@ -292,13 +291,6 @@ function onOkButton( ) // "Acknowledge All Alarms" button
return( true );
}
function onCancelButton()
{
//just close the dialog
return( true );
}
function acknowledgeAlarm( Event )
{
Event.lastAlarmAck = new Date();

View File

@ -38,25 +38,28 @@
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
<!-- CSS File with all styles specific to the dialog -->
<?xml-stylesheet href="chrome://calendar/skin/alertDialog.css" ?>
<!-- DTD File with all strings specific to the calendar -->
<!DOCTYPE window
<!DOCTYPE dialog
[
<!ENTITY % dtd1 SYSTEM "chrome://calendar/locale/global.dtd" > %dtd1;
<!ENTITY % dtd2 SYSTEM "chrome://calendar/locale/calendar.dtd" > %dtd2;
<!ENTITY % dtd3 SYSTEM "chrome://global/locale/brand.dtd" > %dtd3;
]>
<window id="calendar-alarmwindow"
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="calendar-alarmwindow"
title="&brandShortName; - &event.title.heading; - &event.title.alarm;"
onload="onLoad()"
windowtype="calendarAlarmWindow"
persist="screenX screenY"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
buttons="accept"
buttonlabelaccept="&calendar.alarm.acknowledgeall.label;"
ondialogaccept="return onOkButton();">
<!-- Javascript includes -->
@ -68,80 +71,68 @@
<stringbundleset id="stringbundleset">
<stringbundle id="bundle_calendar" src="chrome://calendar/locale/calendar.properties"/>
</stringbundleset>
<script type="application/x-javascript">
var gCalendarBundle = document.getElementById("bundle_calendar");
</script>
<!-- The dialog -->
<!-- dialog-box: from dialogOverlay.xul -->
<vbox id="dialog-box">
<hbox flex="1">
<grid flex="1" id="event-container-box">
<columns>
<column flex="1"/>
<column flex="2" crop="right"/>
<column flex="1"/>
<column flex="1" id="last-column" collapsed="true"/>
</columns>
<rows id="event-container-rows"/>
<row class="ca-event-alert-row" name="sample-row" collapsed="true">
<!-- NOTE: ALL ITEMS USE name INSTEAD OF id BECAUSE THE BOX IS DUPLICATED FOR EACH EVENT -->
<vbox align="start" pack="center">
<button name="AcknowledgeButton" wrap="none"
label="&calendar.alarm.acknowledge.label;"
class="alarm-acknowledge-button-class"/>
<button name="EditEvent" wrap="none"
label="&calendar.edit.button.label;"
class="alarm-acknowledge-button-class"/>
<box align="center" pack="center" flex="1">
<button name="SnoozeButton" wrap="none"
label="&calendar.alarm.snooze.label;"
class="alarm-acknowledge-button-class"/>
<textbox name="alarm-length-field" class="alarm-length-field-class"/>
<!-- standard-dialog-content: from dialogOverlay.xul -->
<vbox id="standard-dialog-content">
<grid flex="1" id="event-container-box">
<columns>
<column flex="1"/>
<column flex="2" crop="right"/>
<column flex="1"/>
<column flex="1" id="last-column" collapsed="true"/>
</columns>
<rows id="event-container-rows"/>
<row class="ca-event-alert-row" name="sample-row" collapsed="true">
<!-- NOTE: ALL ITEMS USE name INSTEAD OF id BECAUSE THE BOX IS DUPLICATED FOR EACH EVENT -->
<vbox align="start" pack="center">
<button name="AcknowledgeButton" wrap="none"
label="&calendar.alarm.acknowledge.label;"
class="alarm-acknowledge-button-class"/>
<button name="EditEvent" wrap="none"
label="&calendar.edit.button.label;"
class="alarm-acknowledge-button-class"/>
<box align="center" pack="center" flex="1">
<button name="SnoozeButton" wrap="none"
label="&calendar.alarm.snooze.label;"
class="alarm-acknowledge-button-class"/>
<textbox name="alarm-length-field" class="alarm-length-field-class"/>
<menulist name="alarm-length-units"
labelnumber="labelplural" crop="none">
<menupopup >
<menuitem label="&alarm.units.minutes;"
labelplural="&alarm.units.minutes;"
labelsingular="&alarm.units.minutes.singular;"
value="minutes"/>
<menuitem label="&alarm.units.hours;"
labelplural="&alarm.units.hours;"
labelsingular="&alarm.units.hours.singular;"
value="hours"/>
<menuitem label="&alarm.units.days;"
labelplural="&alarm.units.days;"
labelsingular="&alarm.units.days.singular;"
value="days"/>
</menupopup>
</menulist>
</box>
</vbox>
<!--
Note: this number is arbitrary. it should be moved out
into a dtd or some other place than here, like a css.
-->
<vbox class="alarm-description">
<description name="Title"/>
<description name="Description"/>
</vbox>
<vbox>
<description name="StartDate"/>
<description name="StartTime"/>
</vbox>
<description name="NumberOfTimes" NumberOfTimes="1"/>
<separator class="thin"/>
</row>
</grid>
<label id="too-many-alarms-description" value="" collapsed="true"/>
<box>
<spacer flex="1"/>
<button id="dialog-btn-yes" label="&calendar.alarm.acknowledgeall.label;" default="true" oncommand="doOKButton();"/>
</box>
</vbox>
</vbox> <!-- dialog-box -->
</window>
<menulist name="alarm-length-units"
labelnumber="labelplural" crop="none">
<menupopup >
<menuitem label="&alarm.units.minutes;"
labelplural="&alarm.units.minutes;"
labelsingular="&alarm.units.minutes.singular;"
value="minutes"/>
<menuitem label="&alarm.units.hours;"
labelplural="&alarm.units.hours;"
labelsingular="&alarm.units.hours.singular;"
value="hours"/>
<menuitem label="&alarm.units.days;"
labelplural="&alarm.units.days;"
labelsingular="&alarm.units.days.singular;"
value="days"/>
</menupopup>
</menulist>
</box>
</vbox>
<!--
Note: this number is arbitrary. it should be moved out
into a dtd or some other place than here, like a css.
-->
<vbox class="alarm-description">
<description name="Title"/>
<description name="Description"/>
</vbox>
<vbox>
<description name="StartDate"/>
<description name="StartTime"/>
</vbox>
<description name="NumberOfTimes" NumberOfTimes="1"/>
<separator class="thin"/>
</row>
</grid>
<label id="too-many-alarms-description" value="" collapsed="true"/>
</hbox>
</dialog>