Ok here is my code now lol::
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var RDF = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
try{
var history =
Components.classes["@mozilla.org/rdf/datasource;1?name=local-store"].
getService(Components.interfaces.nsIRDFDataSource);
var tbId="chrome://browser/content/browser.xul#MyToolbar";
alert(tbId);
var isDisabled=history.HasAssertion(
RDF.GetResource(tbId),
RDF.GetResource("collapsed"),
RDF.GetLiteral("true"),
true
);
if(isDisabled==true)
alert('disabled');
else
alert('enabled');
Thanks for Michel
Vindys
Michel Gutierrez wrote:
> You may simplify your code by checking directly the 'collapsed' property
> of your toolbar RDF resource instead of walking through the whole
> locastore db:
>
> var tbId="chrome://browser/content/browser.xul#MyToolbar";
> var isDisabled=DS.HasAssertion(
> rdfService.GetResource(tbId),
> rdfService.GetResource("collapsed"),
> rdfService.GetLiteral("true"),
> true
> );
>
> /mig
>
> [EMAIL PROTECTED] wrote:
> > Hi,
> >
> > First of all thanks to mig to give me idea light to local store....
> > I have finished the problem and i can now find whether my toolbar is
> > enabled or disabled. Here is the code if any one needs it any time...
> >
> > Also please tell if I can make the code some more better.
> >
> >
> >
> > function FindtoolbarInRdf()
> > {
> >
> >
> >
> > netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
> >
> >
> > var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
> > getService(Components.interfaces.nsIRDFService);
> > var DS = rdfService.GetDataSource('rdf:local-store');
> >
> > DS =DS.QueryInterface(Components.interfaces.nsIRDFDataSource);
> >
> > var all_res=DS.GetAllResources();
> > var t=" ";
> >
> > for(var r=0; all_res.hasMoreElements(); r++)
> > {
> > var arcCursor;
> >
> > if(t.length>5000)
> > break;
> > var res=all_res.getNext().QueryInterface(
> > Components.interfaces.nsIRDFResource);
> > var tool=res.Value;
> > //Here add your toolbar name
> > var b='chrome://browser/content/browser.xul#MyToolbar';
> >
> > if(tool==b)
> > {
> >
> >
> >
> > arcCursor = DS.ArcLabelsOut(res);
> > showArcs(res, arcCursor);
> > }
> > }
> >
> >
> >
> > }
> >
> > function showArcs(res, arcCursor)
> > {
> > var arcTargets;
> > var thisArc;
> > var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
> > getService(Components.interfaces.nsIRDFService);
> >
> > var DS = rdfService.GetDataSource('rdf:local-store');
> > DS =DS.QueryInterface(Components.interfaces.nsIRDFDataSource);
> >
> > while(arcCursor.hasMoreElements())
> > {
> >
> > thisArc = arcCursor.getNext().QueryInterface(
> > Components.interfaces.nsIRDFResource);
> >
> > if(thisArc.Value=="collapsed")
> > {
> > arcTargets =DS.GetTargets( res, thisArc, true );
> >
> > while(arcTargets.hasMoreElements())
> > {
> > thisTarget = arcTargets.getNext();
> >
> > if (thisTarget instanceof
> > Components.interfaces.nsIRDFLiteral)
> > {
> > thisTarget.QueryInterface(
> > Components.interfaces.nsIRDFLiteral);
> > if(thisTarget.Value=="true")
> > alert('toolbar is disabled');
> > }
> > }
> > }
> > }
> >
> >
> > }
> >
> >
> >
> > Thanks,
> >
> > Vindy
> >
> >
> > [EMAIL PROTECTED] wrote:
> >
> >>Thanks a lot mig,
> >>
> >>Let me try to do some thing with nsIRDFResource.
> >>
> >>Thanks for ur fast replies
> >>Vindys
> >>Michel Gutierrez wrote:
> >>
> >>>As far as I understand, the toolbar is not disabled in the overlay. When
> >>>the toolbar is defined in the overlay, Firefox decides from its
> >>>localstore info whether the toolbar should be displayed.
> >>>You can access the localstore data programmatically using the RDF API
> >>>(nsIDatasource, nsIRDFResource, ...)
> >>>
> >>>/mig
> >>>
> >>>
> >>>>I saw the localstrore.rdf and found my extension with collapsed =true.
> >>>>But is there a way to find programmically tht the toolbar is disabled
> >>>>in my overlay.xul?
> >>>
> >>>>>>I m making a toolbar in mozilla firefox and right now i m struck in one
> >>>>>>position. I want to know when my toolbar is disabled/enabled by right
> >>>>>>clicking on toolbar and unticking my toolbar or by view -> toolbar.
> >>>
> >>>>>I think you should be able to get this information from the localstore
> >>>>>database.
> >>>>>If your toolbar is disabled, you should have the property 'collapsed' of
> >>>>>your toolbar set to 'true'
> >>>>>Maybe there are better ways to do this.
> >
> >
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom