# ***** 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 the Shared Places Commands.
#
# The Initial Developer of the Original Code is Google Inc.
# Portions created by the Initial Developer are Copyright (C) 2005-2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#   Ben Goodger <beng@google.com>
#   Asaf Romano <mano@mozilla.com>
#   Michael Kohler <michaelkohler@live.com>
#
# 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 *****

<!DOCTYPE overlay [
<!ENTITY % placesDTD SYSTEM "chrome://browser/locale/places/places.dtd">
%placesDTD;
<!ENTITY % editMenuOverlayDTD SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuOverlayDTD;
]>

<overlay id="placesOverlay"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/x-javascript"
          src="chrome://global/content/globalOverlay.js"/>
  <script type="application/x-javascript"
          src="chrome://browser/content/utilityOverlay.js"/>
  <script type="application/x-javascript" 
          src="chrome://browser/content/places/utils.js"/>
  <script type="application/x-javascript"
          src="chrome://browser/content/places/controller.js"/>
  <script type="application/x-javascript"
          src="chrome://browser/content/places/treeView.js"/>
  <script type="application/x-javascript"
          src="chrome://global/content/nsDragAndDrop.js"/>

  <!-- Bookmarks and history tooltip -->
  <tooltip id="bhTooltip" noautohide="true"
           onpopupshowing="return window.top.BookmarksEventHandler.fillInBHTooltip(document, event)">
    <vbox id="bhTooltipTextBox" flex="1">
      <label id="bhtTitleText" class="tooltip-label" />
      <label id="bhtUrlText" crop="center" class="tooltip-label" />
    </vbox>
  </tooltip>

  <commandset id="placesCommands"
              commandupdater="true"
              events="focus,sort,places"
              oncommandupdate="goUpdatePlacesCommands();">
    <command id="placesCmd_open"
             oncommand="goDoPlacesCommand('placesCmd_open');"/>
    <command id="placesCmd_open:window"
             oncommand="goDoPlacesCommand('placesCmd_open:window');"/>
    <command id="placesCmd_open:tab"
             oncommand="goDoPlacesCommand('placesCmd_open:tab');"/>

    <command id="placesCmd_new:bookmark"
             oncommand="goDoPlacesCommand('placesCmd_new:bookmark');"/>
    <command id="placesCmd_new:livemark"
             oncommand="goDoPlacesCommand('placesCmd_new:livemark');"/>
    <command id="placesCmd_new:folder"
             oncommand="goDoPlacesCommand('placesCmd_new:folder');"/>
    <command id="placesCmd_new:separator"
             oncommand="goDoPlacesCommand('placesCmd_new:separator');"/>
    <command id="placesCmd_show:info" 
             oncommand="goDoPlacesCommand('placesCmd_show:info');"/>
    <command id="placesCmd_rename"
             oncommand="goDoPlacesCommand('placesCmd_show:info');"
             observes="placesCmd_show:info"/>
    <command id="placesCmd_reload"
             oncommand="goDoPlacesCommand('placesCmd_reload');"/>
    <command id="placesCmd_reloadMicrosummary"
             oncommand="goDoPlacesCommand('placesCmd_reloadMicrosummary');"/>
    <command id="placesCmd_sortBy:name"
             oncommand="goDoPlacesCommand('placesCmd_sortBy:name');"/>
    <command id="placesCmd_moveBookmarks"
             oncommand="goDoPlacesCommand('placesCmd_moveBookmarks');"/>
    <command id="placesCmd_deleteDataHost"
             oncommand="goDoPlacesCommand('placesCmd_deleteDataHost');"/>
    <command id="placesCmd_createBookmark"
             oncommand="goDoPlacesCommand('placesCmd_createBookmark');"/>

    <!-- Special versions of cut/copy/paste/delete which check for an open context menu. -->
    <command id="placesCmd_cut"
             oncommand="goDoPlacesCommand('placesCmd_cut');"/>
    <command id="placesCmd_copy"
             oncommand="goDoPlacesCommand('placesCmd_copy');"/>
    <command id="placesCmd_paste"
             oncommand="goDoPlacesCommand('placesCmd_paste');"/>
    <command id="placesCmd_delete"
             oncommand="goDoPlacesCommand('placesCmd_delete');"/>
  </commandset>

  <popup id="placesContext"
         onpopupshowing="this._view = PlacesUIUtils.getViewForNode(document.popupNode);
                         return this._view.buildContextMenu(this);"
         onpopuphiding="this._view.destroyContextMenu();">
    <menuitem id="placesContext_open"
              command="placesCmd_open"
              label="&cmd.open.label;"
              accesskey="&cmd.open.accesskey;"
              default="true"
              selectiontype="single"
              selection="link"/>
    <menuitem id="placesContext_open:newwindow"
              command="placesCmd_open:window"
              label="&cmd.open_window.label;"
              accesskey="&cmd.open_window.accesskey;"
              selectiontype="single"
              selection="link"/>
    <menuitem id="placesContext_open:newtab"
              command="placesCmd_open:tab"
              label="&cmd.open_tab.label;"
              accesskey="&cmd.open_tab.accesskey;"
              selectiontype="single"
              selection="link"/>
    <menuitem id="placesContext_openContainer:tabs"
              oncommand="var view = PlacesUIUtils.getViewForNode(document.popupNode);
                         view.controller.openSelectionInTabs(event);"
              onclick="checkForMiddleClick(this, event);"
              label="&cmd.open_all_in_tabs.label;"
              accesskey="&cmd.open_all_in_tabs.accesskey;"
              selectiontype="single"
              selection="folder|host|query"/>
    <menuitem id="placesContext_openLinks:tabs"
              oncommand="var view = PlacesUIUtils.getViewForNode(document.popupNode);
                         view.controller.openSelectionInTabs(event);"
              onclick="checkForMiddleClick(this, event);"
              label="&cmd.open_all_in_tabs.label;"
              accesskey="&cmd.open_all_in_tabs.accesskey;"
              selectiontype="multiple"
              selection="link"/>
    <menuseparator id="placesContext_openSeparator"/>
    <menuitem id="placesContext_new:bookmark"
              command="placesCmd_new:bookmark"
              label="&cmd.new_bookmark.label;"
              accesskey="&cmd.new_bookmark.accesskey;"
              selection="any"
              hideifnoinsertionpoint="true"/>
    <menuitem id="placesContext_new:folder"
              command="placesCmd_new:folder"
              label="&cmd.new_folder.label;"
              accesskey="&cmd.context_new_folder.accesskey;"
              selection="any"
              hideifnoinsertionpoint="true"/>
    <menuitem id="placesContext_new:separator"
              command="placesCmd_new:separator"
              label="&cmd.new_separator.label;"
              accesskey="&cmd.new_separator.accesskey;"
              closemenu="single"
              selection="any"
              hideifnoinsertionpoint="true"/>
    <menuseparator id="placesContext_newSeparator"/>
    <menuitem id="placesContext_createBookmark"
              command="placesCmd_createBookmark"
              label="&cmd.bookmarkLink.label;"
              accesskey="&cmd.bookmarkLink.accesskey;"
              selection="link"
              forcehideselection="bookmark|tagChild"/>
    <menuitem id="placesContext_cut"
              command="placesCmd_cut"
              label="&cutCmd.label;"
              accesskey="&cutCmd.accesskey;" 
              closemenu="single"
              selection="bookmark|folder|separator|query"
              forcehideselection="tagChild|livemarkChild"/>
    <menuitem id="placesContext_copy"
              command="placesCmd_copy"
              label="&copyCmd.label;"
              closemenu="single"
              accesskey="&copyCmd.accesskey;" 
              selection="any"/>
    <menuitem id="placesContext_paste"
              command="placesCmd_paste"
              label="&pasteCmd.label;"
              closemenu="single"
              accesskey="&pasteCmd.accesskey;"
              selection="any"
              hideifnoinsertionpoint="true"/>
    <menuseparator id="placesContext_editSeparator"/>
    <menuitem id="placesContext_delete"
              command="placesCmd_delete"
              label="&deleteCmd.label;"
              accesskey="&deleteCmd.accesskey;"
              closemenu="single"
              selection="bookmark|tagChild|folder|query|dynamiccontainer|separator|host"/>
    <menuitem id="placesContext_delete_history"
              command="placesCmd_delete"
              label="&cmd.delete.label;"
              accesskey="&cmd.delete.accesskey;"
              closemenu="single"
              selection="link"
              forcehideselection="bookmark"/>
    <menuitem id="placesContext_deleteHost"
              command="placesCmd_deleteDataHost"
              label="&cmd.deleteDomainData.label;"
              accesskey="&cmd.deleteDomainData.accesskey;"
              closemenu="single"
              selection="link|host"
              selectiontype="single"
              hideifprivatebrowsing="true"
              forcehideselection="bookmark"/>
    <menuseparator id="placesContext_deleteSeparator"/>
    <menuitem id="placesContext_reload"
              command="placesCmd_reload"
              label="&cmd.reloadLivebookmark.label;"
              accesskey="&cmd.reloadLivebookmark.accesskey;"
              closemenu="single"
              selection="livemark/feedURI"/>
    <menuitem id="placesContext_reloadMicrosummary"
              command="placesCmd_reloadMicrosummary"
              label="&cmd.reloadMicrosummary.label;"
              accesskey="&cmd.reloadMicrosummary.accesskey;"
              closemenu="single"
              selection="microsummary"/>
    <menuitem id="placesContext_sortBy:name"
              command="placesCmd_sortBy:name"
              label="&cmd.sortby_name.label;"
              accesskey="&cmd.context_sortby_name.accesskey;"
              closemenu="single"
              selection="folder"/>
    <menuseparator id="placesContext_sortSeparator"/>
    <menuitem id="placesContext_show:info"
              command="placesCmd_show:info"
              label="&cmd.properties.label;" 
              accesskey="&cmd.properties.accesskey;"
              selection="bookmark|folder|query"
              forcehideselection="livemarkChild"/>
  </popup>

</overlay>
