зеркало из https://github.com/mozilla/gecko-dev.git
bug 48465 adding code so that you can open a bookmarks panel
from mailnews. r=ben r=mcafee
This commit is contained in:
Родитель
96a4822448
Коммит
58a1e06f60
|
@ -120,3 +120,47 @@ function OpenBookmarkURL(event, node, datasources)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
function sidebarOpenURL(event, treeitem, root)
|
||||
{
|
||||
|
||||
if (treeitem.getAttribute("container") == "true")
|
||||
return(false);
|
||||
|
||||
if (treeitem.getAttribute("type") == "http://home.netscape.com/NC-rdf#BookmarkSeparator")
|
||||
return(false);
|
||||
|
||||
var id = treeitem.id;
|
||||
if (!id)
|
||||
return(false);
|
||||
|
||||
// rjc: add support for anonymous resources; if the node has
|
||||
// a "#URL" property, use it, otherwise default to using the id
|
||||
try
|
||||
{
|
||||
var theRootNode = document.getElementById(root);
|
||||
var ds = null;
|
||||
if (rootNode)
|
||||
{
|
||||
ds = theRootNode.database;
|
||||
}
|
||||
|
||||
var rdf = nsJSComponentManager.getService(RDFSERVICE_CONTRACTID, "nsIRDFService");
|
||||
if (rdf)
|
||||
{
|
||||
if (ds)
|
||||
{
|
||||
var src = rdf.GetResource(id, true);
|
||||
var prop = rdf.GetResource("http://home.netscape.com/NC-rdf#URL", true);
|
||||
var target = ds.GetTarget(src, prop, true);
|
||||
if (target) target = target.QueryInterface(nsIRDFLiteral);
|
||||
if (target) target = target.Value;
|
||||
if (target) id = target;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
}
|
||||
openTopWin(id);
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
ondraggesture="return BeginDragTree(event);"
|
||||
ondragdrop="return DropOnTree(event);"
|
||||
datasources="rdf:bookmarks rdf:files rdf:localsearch rdf:internetsearch rdf:httpindex"
|
||||
onclick="return clicked(event, event.target.parentNode.parentNode)">
|
||||
onclick="sidebarOpenURL(event, event.target.parentNode.parentNode, 'Tree')">
|
||||
|
||||
<template>
|
||||
<rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
|
||||
|
|
Загрузка…
Ссылка в новой задаче