зеркало из https://github.com/mozilla/gecko-dev.git
Bug 179845 - Support dragging a link onto the 'New Tab' and 'New Window' toolbar buttons. patch from Ben Basson <cusser.bugs@cusser.net>, r=mconnor, a=asa.
This commit is contained in:
Родитель
61dd1db389
Коммит
75d6398eba
|
@ -2485,6 +2485,68 @@ var bookmarksButtonObserver = {
|
|||
}
|
||||
}
|
||||
|
||||
var newTabButtonObserver = {
|
||||
onDragOver: function(aEvent, aFlavour, aDragSession)
|
||||
{
|
||||
var statusTextFld = document.getElementById("statusbar-display");
|
||||
statusTextFld.label = gNavigatorBundle.getString("droponnewtabbutton");
|
||||
aEvent.target.setAttribute("dragover", "true");
|
||||
return true;
|
||||
},
|
||||
onDragExit: function (aEvent, aDragSession)
|
||||
{
|
||||
var statusTextFld = document.getElementById("statusbar-display");
|
||||
statusTextFld.label = "";
|
||||
aEvent.target.removeAttribute("dragover");
|
||||
},
|
||||
onDrop: function (aEvent, aXferData, aDragSession)
|
||||
{
|
||||
var xferData = aXferData.data.split("\n");
|
||||
var uri = xferData[0] ? xferData[0] : xferData[1];
|
||||
if (uri)
|
||||
openNewTabWith(uri, aXferData, aEvent, false);
|
||||
},
|
||||
getSupportedFlavours: function ()
|
||||
{
|
||||
var flavourSet = new FlavourSet();
|
||||
flavourSet.appendFlavour("text/unicode");
|
||||
flavourSet.appendFlavour("text/x-moz-url");
|
||||
flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
|
||||
return flavourSet;
|
||||
}
|
||||
}
|
||||
|
||||
var newWindowButtonObserver = {
|
||||
onDragOver: function(aEvent, aFlavour, aDragSession)
|
||||
{
|
||||
var statusTextFld = document.getElementById("statusbar-display");
|
||||
statusTextFld.label = gNavigatorBundle.getString("droponnewwindowbutton");
|
||||
aEvent.target.setAttribute("dragover", "true");
|
||||
return true;
|
||||
},
|
||||
onDragExit: function (aEvent, aDragSession)
|
||||
{
|
||||
var statusTextFld = document.getElementById("statusbar-display");
|
||||
statusTextFld.label = "";
|
||||
aEvent.target.removeAttribute("dragover");
|
||||
},
|
||||
onDrop: function (aEvent, aXferData, aDragSession)
|
||||
{
|
||||
var xferData = aXferData.data.split("\n");
|
||||
var uri = xferData[0] ? xferData[0] : xferData[1];
|
||||
if (uri)
|
||||
openNewWindowWith(uri, aXferData, null, false);
|
||||
},
|
||||
getSupportedFlavours: function ()
|
||||
{
|
||||
var flavourSet = new FlavourSet();
|
||||
flavourSet.appendFlavour("text/unicode");
|
||||
flavourSet.appendFlavour("text/x-moz-url");
|
||||
flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
|
||||
return flavourSet;
|
||||
}
|
||||
}
|
||||
|
||||
var goButtonObserver = {
|
||||
onDragOver: function(aEvent, aFlavour, aDragSession)
|
||||
{
|
||||
|
@ -2512,9 +2574,9 @@ var goButtonObserver = {
|
|||
getSupportedFlavours: function ()
|
||||
{
|
||||
var flavourSet = new FlavourSet();
|
||||
flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
|
||||
flavourSet.appendFlavour("text/x-moz-url");
|
||||
flavourSet.appendFlavour("text/unicode");
|
||||
flavourSet.appendFlavour("text/x-moz-url");
|
||||
flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
|
||||
return flavourSet;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -343,12 +343,18 @@
|
|||
<toolbarbutton id="new-tab-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
label="&tabCmd.label;"
|
||||
command="cmd_newNavigatorTab"
|
||||
tooltiptext="&newTabButton.tooltip;"/>
|
||||
tooltiptext="&newTabButton.tooltip;"
|
||||
ondragover="nsDragAndDrop.dragOver(event, newTabButtonObserver);"
|
||||
ondragdrop="nsDragAndDrop.drop(event, newTabButtonObserver);"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, newTabButtonObserver);"/>
|
||||
|
||||
<toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
label="&newNavigatorCmd.label;"
|
||||
command="key_newNavigator"
|
||||
tooltiptext="&newWindowButton.tooltip;"/>
|
||||
tooltiptext="&newWindowButton.tooltip;"
|
||||
ondragover="nsDragAndDrop.dragOver(event, newWindowButtonObserver);"
|
||||
ondragdrop="nsDragAndDrop.drop(event, newWindowButtonObserver);"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, newWindowButtonObserver);"/>
|
||||
|
||||
<toolbarbutton id="cut-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
label="&cutCmd.label;"
|
||||
|
|
|
@ -7,6 +7,8 @@ defaultStatus=
|
|||
droponbookmarksbutton=Drop a link to bookmark it
|
||||
dropondownloadsbutton=Drop a link or file to download it
|
||||
dropongobutton=Drop a link or file to open it
|
||||
droponnewtabbutton=Drop a link or file to open it in a new tab
|
||||
droponnewwindowbutton=Drop a link or file to open it in a new window
|
||||
droponhomebutton=Drop a link or file to make it your home page
|
||||
droponhometitle=Set Home Page
|
||||
droponhomemsg=Do you want this document to be your new home page?
|
||||
|
|
Загрузка…
Ссылка в новой задаче