зеркало из https://github.com/mozilla/gecko-dev.git
Downloads Button D&D
This commit is contained in:
Родитель
5ccac856fe
Коммит
d1240b90a7
|
@ -93,7 +93,9 @@
|
|||
<command id="cmd_textZoomEnlarge" oncommand="ZoomManager.prototype.getInstance().enlarge();"/>
|
||||
<command id="Browser:OpenLocation" oncommand="openLocation();"/>
|
||||
|
||||
<command id="Tools:Downloads" oncommand="toOpenWindowByType('Download:Manager', 'chrome://mozapps/content/downloads/downloads.xul');"/>
|
||||
<command id="Tools:Downloads" oncommand="toOpenWindowByType('Download:Manager',
|
||||
'chrome://mozapps/content/downloads/downloads.xul',
|
||||
'chrome,all,dialog=no,resizable');"/>
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
<command id="minimizeWindow" label="&minimizeWindow.label;" disabled="true"/>
|
||||
|
|
|
@ -1601,6 +1601,34 @@ var goButtonObserver = {
|
|||
}
|
||||
}
|
||||
|
||||
var DownloadsButtonDNDObserver = {
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// nsDragAndDrop
|
||||
onDragOver: function (aEvent, aFlavour, aDragSession)
|
||||
{
|
||||
aDragSession.canDrop = (aFlavour.contentType == "text/x-moz-url" ||
|
||||
aFlavour.contentType == "text/unicode");
|
||||
},
|
||||
|
||||
onDrop: function (aEvent, aXferData, aDragSession)
|
||||
{
|
||||
var split = aXferData.data.split("\n");
|
||||
var url = split[0];
|
||||
if (url != aXferData.data) { //do nothing, not a valid URL
|
||||
var name = split[1];
|
||||
saveURL(url, name, null, true, true);
|
||||
}
|
||||
},
|
||||
|
||||
getSupportedFlavours: function ()
|
||||
{
|
||||
var flavourSet = new FlavourSet();
|
||||
flavourSet.appendFlavour("text/x-moz-url");
|
||||
flavourSet.appendFlavour("text/unicode");
|
||||
return flavourSet;
|
||||
}
|
||||
}
|
||||
|
||||
function focusSearchBar()
|
||||
{
|
||||
var searchBar = document.getElementById("search-bar");
|
||||
|
@ -1790,14 +1818,16 @@ function toJavaScriptConsole()
|
|||
toOpenWindowByType("global:console", "chrome://global/content/console.xul");
|
||||
}
|
||||
|
||||
function toOpenWindowByType(inType, uri)
|
||||
function toOpenWindowByType(inType, uri, features)
|
||||
{
|
||||
var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
|
||||
var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
|
||||
var topWindow = windowManagerInterface.getMostRecentWindow(inType);
|
||||
|
||||
if ( topWindow )
|
||||
if (topWindow)
|
||||
topWindow.focus();
|
||||
else if (features)
|
||||
window.open(uri, "_blank", features);
|
||||
else
|
||||
window.open(uri, "_blank", "chrome,extrachrome,menubar,resizable,scrollbars,status,toolbar");
|
||||
}
|
||||
|
|
|
@ -460,6 +460,10 @@
|
|||
|
||||
<toolbarbutton id="downloads-button" class="toolbarbutton-1"
|
||||
observes="Tools:Downloads"
|
||||
ondragdrop="nsDragAndDrop.drop(event, DownloadsButtonDNDObserver); event.preventBubble()"
|
||||
ondragover="nsDragAndDrop.dragOver(event, DownloadsButtonDNDObserver); event.preventBubble()"
|
||||
ondragenter="nsDragAndDrop.dragEnter(event, DownloadsButtonDNDObserver); event.preventBubble()"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, DownloadsButtonDNDObserver); event.preventBubble()"
|
||||
label="&downloads.label;"
|
||||
tooltiptext="&downloads.tooltip;"/>
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче