<?xml version="1.0"?> <!-- -*- Mode: HTML -*- --> 
<!-- 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/. -->


<!DOCTYPE overlay SYSTEM "chrome://global/locale/editMenuOverlay.dtd">

<overlay id="editMenuOverlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/javascript" src="chrome://global/content/editMenuOverlay.js"/>

  <commandset id="editMenuCommands">
    <commandset id="editMenuCommandSetAll" commandupdater="true" events="focus,select"
                oncommandupdate="goUpdateGlobalEditMenuItems()"/>
    <commandset id="editMenuCommandSetUndo" commandupdater="true" events="undo"
                oncommandupdate="goUpdateUndoEditMenuItems()"/>
    <commandset id="editMenuCommandSetPaste" commandupdater="true" events="clipboard"
                oncommandupdate="goUpdatePasteMenuItems()"/>
    <command id="cmd_undo" oncommand="goDoCommand('cmd_undo')"/>
    <command id="cmd_redo" oncommand="goDoCommand('cmd_redo')"/>
    <command id="cmd_cut" oncommand="goDoCommand('cmd_cut')"/>
    <command id="cmd_copy" oncommand="goDoCommand('cmd_copy')"/>
    <command id="cmd_paste" oncommand="goDoCommand('cmd_paste')"/>
    <command id="cmd_delete" oncommand="goDoCommand('cmd_delete')"/>
    <command id="cmd_selectAll" oncommand="goDoCommand('cmd_selectAll')"/>
    <command id="cmd_switchTextDirection" oncommand="goDoCommand('cmd_switchTextDirection');"/>
  </commandset>

  <!-- These key nodes are here only for show. The real bindings come from
       XBL, in platformHTMLBindings.xml. See bugs 57078 and 71779. -->

  <keyset id="editMenuKeys">
    <key id="key_undo" key="&undoCmd.key;" modifiers="accel" command="cmd_undo"/>
#ifdef XP_UNIX
    <key id="key_redo" key="&undoCmd.key;" modifiers="accel,shift" command="cmd_redo"/>
#else
    <key id="key_redo" key="&redoCmd.key;" modifiers="accel" command="cmd_redo"/>
#endif
    <key id="key_cut" key="&cutCmd.key;" modifiers="accel" command="cmd_cut"/>
    <key id="key_copy" key="&copyCmd.key;" modifiers="accel" command="cmd_copy"/>
    <key id="key_paste" key="&pasteCmd.key;" modifiers="accel" command="cmd_paste"/>
    <key id="key_delete" keycode="VK_DELETE" command="cmd_delete"/>
    <key id="key_selectAll" key="&selectAllCmd.key;" modifiers="accel" command="cmd_selectAll"/>
    <key id="key_find" key="&findCmd.key;" modifiers="accel" command="cmd_find"/>
    <key id="key_findAgain" key="&findAgainCmd.key;" modifiers="accel" command="cmd_findAgain"/>
    <key id="key_findPrevious" key="&findAgainCmd.key;" modifiers="shift,accel" command="cmd_findPrevious"/>
    <key id="key_findAgain2" keycode="&findAgainCmd.key2;" command="cmd_findAgain"/>
    <key id="key_findPrevious2" keycode="&findAgainCmd.key2;" modifiers="shift" command="cmd_findPrevious"/>
  </keyset>

  <!-- Edit Menu -->
  <menu id="menu_edit" label="&editMenu.label;"
        accesskey="&editMenu.accesskey;"/>

  <menuitem id="menu_undo" label="&undoCmd.label;"
            key="key_undo" accesskey="&undoCmd.accesskey;"
            command="cmd_undo"/>
  <menuitem id="menu_redo" label="&redoCmd.label;"
            key="key_redo" accesskey="&redoCmd.accesskey;"
            command="cmd_redo"/>
  <menuitem id="menu_cut" label="&cutCmd.label;"
            key="key_cut" accesskey="&cutCmd.accesskey;"
            command="cmd_cut"/>
  <menuitem id="menu_copy" label="&copyCmd.label;"
            key="key_copy" accesskey="&copyCmd.accesskey;"
            command="cmd_copy"/>
  <menuitem id="menu_paste" label="&pasteCmd.label;"
            key="key_paste" accesskey="&pasteCmd.accesskey;"
            command="cmd_paste"/>
  <menuitem id="menu_delete" label="&deleteCmd.label;"
            key="key_delete" accesskey="&deleteCmd.accesskey;"
            command="cmd_delete"/>
  <menuitem id="menu_selectAll" label="&selectAllCmd.label;"
            key="key_selectAll" accesskey="&selectAllCmd.accesskey;"
            command="cmd_selectAll"/>
  <menuitem id="menu_find" label="&findCmd.label;"
            key="key_find" accesskey="&findCmd.accesskey;"
            command="cmd_find"/>
  <menuitem id="menu_findAgain" label="&findAgainCmd.label;"
            key="key_findAgain" accesskey="&findAgainCmd.accesskey;"
            command="cmd_findAgain"/>
  <menuitem id="menu_findPrevious" label="&findPreviousCmd.label;"
            key="key_findPrevious" accesskey="&findPreviousCmd.accesskey;"
            command="cmd_findPrevious"/>

  <menuitem id="cMenu_undo" label="&undoCmd.label;"
            accesskey="&undoCmd.accesskey;" command="cmd_undo"/>
  <menuitem id="cMenu_redo" label="&redoCmd.label;"
            accesskey="&redoCmd.accesskey;" command="cmd_redo"/>
  <menuitem id="cMenu_cut" label="&cutCmd.label;"
            accesskey="&cutCmd.accesskey;" command="cmd_cut"/>
  <menuitem id="cMenu_copy" label="&copyCmd.label;"
            accesskey="&copyCmd.accesskey;" command="cmd_copy"/>
  <menuitem id="cMenu_paste" label="&pasteCmd.label;"
            accesskey="&pasteCmd.accesskey;" command="cmd_paste"/>
  <menuitem id="cMenu_delete" label="&deleteCmd.label;"
            accesskey="&deleteCmd.accesskey;" command="cmd_delete"/>
  <menuitem id="cMenu_selectAll" label="&selectAllCmd.label;"
            accesskey="&selectAllCmd.accesskey;" command="cmd_selectAll"/>
  <menuitem id="cMenu_find" label="&findCmd.label;"
            accesskey="&findCmd.accesskey;" command="cmd_find"/>
  <menuitem id="cMenu_findAgain" label="&findAgainCmd.label;"
            accesskey="&findAgainCmd.accesskey;" command="cmd_findAgain"/>
  <menuitem id="cMenu_findPrevious" label="&findPreviousCmd.label;"
            accesskey="&findPreviousCmd.accesskey;" command="cmd_findPrevious"/>
</overlay>