Adding initial panel impl that supports dropping of urls into the Web Panels bar.

git-svn-id: svn://10.0.0.236/trunk@145479 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
hyatt%mozilla.org
2003-08-02 06:15:59 +00:00
parent f73f92095c
commit 8e55ffceb8
2 changed files with 41 additions and 2 deletions

View File

@@ -0,0 +1,29 @@
var panelAreaDNDObserver = {
onDrop: function (aEvent, aXferData, aDragSession)
{
var url = transferUtils.retrieveURLFromData(aXferData.data, aXferData.flavour.contentType);
// valid urls don't contain spaces ' '; if we have a space it isn't a valid url so bail out
if (!url || !url.length || url.indexOf(" ", 0) != -1)
return;
var uri = getShortcutOrURI(url);
try {
document.getElementById('browser').webNavigation.loadURI(uri, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
} catch (e) {}
// keep the event from being handled by the dragDrop listeners
// built-in to gecko if they happen to be above us.
aEvent.preventDefault();
},
getSupportedFlavours: function ()
{
var flavourSet = new FlavourSet();
flavourSet.appendFlavour("text/x-moz-url");
flavourSet.appendFlavour("text/unicode");
flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
return flavourSet;
}
};

View File

@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<!DOCTYPE window [
<!ENTITY % webPanelsDTD SYSTEM "chrome://browser/locale/web-panels.dtd" >
@@ -9,6 +9,16 @@
<page id="webpanels-window"
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://browser/content/browser.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>
<script type="application/x-javascript" src="chrome://browser/content/contentAreaUtils.js"/>
<script type="application/x-javascript" src="chrome://browser/content/web-panels.js"/>
<description style="color:red; margin-top:1em">The implementation of this panel is in progress.</description>
<hbox align="center">
<label value="Active Panel:"/>
<menulist flex="1" label="(None)"/>
</hbox>
<browser id="browser" type="content" flex="1"
onclick="return contentAreaClick(event);"
ondragdrop="nsDragAndDrop.drop(event, panelAreaDNDObserver);"/>
</page>