зеркало из 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="cmd_textZoomEnlarge" oncommand="ZoomManager.prototype.getInstance().enlarge();"/>
|
||||||
<command id="Browser:OpenLocation" oncommand="openLocation();"/>
|
<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
|
#ifdef XP_MACOSX
|
||||||
<command id="minimizeWindow" label="&minimizeWindow.label;" disabled="true"/>
|
<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()
|
function focusSearchBar()
|
||||||
{
|
{
|
||||||
var searchBar = document.getElementById("search-bar");
|
var searchBar = document.getElementById("search-bar");
|
||||||
|
@ -1790,14 +1818,16 @@ function toJavaScriptConsole()
|
||||||
toOpenWindowByType("global:console", "chrome://global/content/console.xul");
|
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 windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
|
||||||
var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
|
var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
|
||||||
var topWindow = windowManagerInterface.getMostRecentWindow(inType);
|
var topWindow = windowManagerInterface.getMostRecentWindow(inType);
|
||||||
|
|
||||||
if ( topWindow )
|
if (topWindow)
|
||||||
topWindow.focus();
|
topWindow.focus();
|
||||||
|
else if (features)
|
||||||
|
window.open(uri, "_blank", features);
|
||||||
else
|
else
|
||||||
window.open(uri, "_blank", "chrome,extrachrome,menubar,resizable,scrollbars,status,toolbar");
|
window.open(uri, "_blank", "chrome,extrachrome,menubar,resizable,scrollbars,status,toolbar");
|
||||||
}
|
}
|
||||||
|
|
|
@ -460,6 +460,10 @@
|
||||||
|
|
||||||
<toolbarbutton id="downloads-button" class="toolbarbutton-1"
|
<toolbarbutton id="downloads-button" class="toolbarbutton-1"
|
||||||
observes="Tools:Downloads"
|
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;"
|
label="&downloads.label;"
|
||||||
tooltiptext="&downloads.tooltip;"/>
|
tooltiptext="&downloads.tooltip;"/>
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче