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:
mozilla.mano%sent.com 2005-06-07 19:43:43 +00:00
Родитель 61dd1db389
Коммит 75d6398eba
3 изменённых файлов: 74 добавлений и 4 удалений

Просмотреть файл

@ -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?