<?xml version="1.0"?>

<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->

<?xml-stylesheet href="chrome://editor/skin/editor.css" type="text/css"?> 
<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?> 
<!DOCTYPE dialog SYSTEM "chrome://editor/locale/EditorSpellCheck.dtd">

<!-- dialog containing a control requiring initial setup -->
<dialog id="spellCheckDlg" buttons="cancel" title="&windowTitle.label;"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    persist="screenX screenY"
    onload = "Startup()"
    ondialogaccept="return doDefault();"
    ondialogcancel="return CancelSpellCheck();">

  <script type="application/javascript" src="chrome://editor/content/editorUtilities.js"/>
  <script type="application/javascript" src="chrome://editor/content/EdDialogCommon.js"/>
  <script type="application/javascript" src="chrome://communicator/content/utilityOverlay.js"/>
  <script type="application/javascript" src="chrome://editor/content/EdSpellCheck.js"/>
  <script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>

  <broadcaster id="args" value=""/>

  <stringbundle id="languageBundle" src="chrome://global/locale/languageNames.properties"/>
  <stringbundle id="regionBundle" src="chrome://global/locale/regionNames.properties"/>

  <grid>
    <columns>
      <column class="spell-check"/>
      <column class="spell-check" flex="1"/>
      <column class="spell-check"/>
    </columns>
    <rows>
      <row align="center">
        <label id="MisspelledWordLabel" value="&misspelledWord.label;"/>
        <label class="bold" id="MisspelledWord" crop="end"/>
        <button class="spell-check" label="&recheckButton.label;" oncommand="Recheck();"
                accesskey="&recheckButton.accessKey;"/>
      </row>
      <row align="center">
        <label id="ReplaceWordLabel" value="&wordEditField.label;"
               control="ReplaceWordInput"
               accesskey="&wordEditField.accessKey;"/>
        <textbox id="ReplaceWordInput" oninput="ChangeReplaceWord()" flex="1"/>
        <button id="CheckWord" oncommand="CheckWord()" label="&checkwordButton.label;"
                accesskey="&checkwordButton.accessKey;"/>
      </row>
    </rows>
  </grid>
  <label id="SuggestedListLabel" value="&suggestions.label;"
         control="SuggestedList"
         accesskey="&suggestions.accessKey;"/>
  <grid flex="1">
    <columns><column flex="1"/><column/></columns>
    <rows>
      <row flex="1">
        <!-- BUG! setting class="MinWidth20em" on tree doesn't work (width=0) -->
        <listbox  rows="6" id="SuggestedList" onselect="SelectSuggestedWord()"
                  ondblclick="if (gAllowSelectWord) Replace(event.target.getAttribute('label'));"/>
        <vbox>
          <grid>
            <columns><column class="spell-check" flex="1"/><column class="spell-check" flex="1"/></columns>
            <rows>
              <row>
                <button id="Replace" label="&replaceButton.label;"
                        oncommand="Replace(gDialog.ReplaceWordInput.value);"
                        accesskey="&replaceButton.accessKey;"/>
                <button id="Ignore"  oncommand="Ignore();" label="&ignoreButton.label;"
                        accesskey="&ignoreButton.accessKey;"/>
              </row>
              <row>
                <button id="ReplaceAll" oncommand="ReplaceAll();" label="&replaceAllButton.label;"
                        accesskey="&replaceAllButton.accessKey;"/>
                <button id="IgnoreAll"  oncommand="IgnoreAll();" label="&ignoreAllButton.label;"
                        accesskey="&ignoreAllButton.accessKey;"/>
              </row>
            </rows> 
          </grid>
          <separator/>
          <label value="&userDictionary.label;"/>
          <hbox align="start">
            <button class="spell-check" id="AddToDictionary" oncommand="AddToDictionary()" label="&addToUserDictionaryButton.label;"
                    accesskey="&addToUserDictionaryButton.accessKey;"/>
            <button class="spell-check" id="EditDictionary"  oncommand="EditDictionary()" label="&editUserDictionaryButton.label;"
                    accesskey="&editUserDictionaryButton.accessKey;"/>
          </hbox>
        </vbox>
      </row>
      <label value ="&languagePopup.label;"
             control="LanguageMenulist"
             accesskey="&languagePopup.accessKey;"/>
      <row>
        <menulist id="LanguageMenulist" oncommand="SelectLanguage()">
          <menupopup onpopupshowing="InitLanguageMenu(gDialog.LanguageMenulist.selectedItem.value);">
            <!-- dynamic content populated by JS -->
            <menuseparator/>
            <menuitem value="more-cmd" label="&moreDictionaries.label;"/>
          </menupopup>
        </menulist>
        <hbox flex="1">
          <button class="spell-check" dlgtype="cancel" id="Stop" label="&stopButton.label;" oncommand="CancelSpellCheck();"
                  accesskey="&stopButton.accessKey;"/>
          <spacer flex="1"/>
          <button class="spell-check" id="Close" label="&closeButton.label;" oncommand="onClose();"
                  accesskey="&closeButton.accessKey;"/>
          <button class="spell-check" id="Send" label="&sendButton.label;" oncommand="onClose();"
                  accesskey="&sendButton.accessKey;" hidden="true"/>
        </hbox>
      </row>
    </rows>
  </grid>
</dialog>
