Showing Tooltips in XUL Browser.

Keep the following code in the respective files.

.xul File

<browser id = “browser1″

type=”content-primary”

name=”content-primary”

src=”file:///Users/praveen/Desktop/Tooltip.html”

tooltip=”aHTMLTooltip”

flex=”1″ />

<tooltip id=”aHTMLTooltip” onpopupshowing=”return FillInHTMLTooltip(document.tooltipNode);”/>

.js File
function FillInHTMLTooltip(tipElement)
{

var retVal = false;
if (tipElement.namespaceURI == “http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&#8221;)
return retVal;

const XLinkNS = “http://www.w3.org/1999/xlink&#8221;;

var titleText = null;
var XLinkTitleText = null;

while (!titleText && !XLinkTitleText && tipElement) {
if (tipElement.nodeType == Node.ELEMENT_NODE) {
titleText = tipElement.getAttribute(“title”);
XLinkTitleText = tipElement.getAttributeNS(XLinkNS, “title”);
}
tipElement = tipElement.parentNode;
}

var texts = [titleText, XLinkTitleText];
var tipNode = document.getElementById(“aHTMLTooltip”);

for (var i = 0; i < texts.length; ++i) {
var t = texts[i];
if (t && t.search(/\S/) >= 0) {
tipNode.setAttribute(“label”, t);
retVal = true;
}
}

return retVal;
}

technorati tags:, , , ,

Blogged with Flock

Posted in MOzilla. 1 Comment »

XUL Browser secret features to show up Tooltips

Secret Features

        user_pref(“browser.chrome.tooltips.attrlist.enabled”, true);

        user_pref(“browser.chrome.tooltips.attrlist”,
                “alt|src|data|title|href|cite|action|onclick|onmouseover|onsubmit”);

        By the secret settings above (by the “user.js” or the “about:config” feature), the browser popups all of attributes in the list. If the pointed element doesn’t have the attribute, the browser finds a parental node which has the attribute. And, the following setting shows attributes for all of parental nodes:

        user_pref(“browser.chrome.tooltips.attrlist.recursively”, true);

These features possibly prevents spoofings and phishings.

NOTE: Cited from http://piro.sakura.ne.jp/xul/_popupalt.html.en

technorati tags:, , , ,

Blogged with Flock

Change default printer in Mac

The following statement change default printer to “hp LaserJet 1320 series (FBBF32)”.

What u have to do is replace non-alphanumeric symbols with “_”.

system(“lpoptions -d hp_LaserJet_1320_series__FBBF32_”);

Code to set our printer as default printer and reset to previous one.

=================================================================

=================================================================

// Create Session for Printing Operation.

PMCreateSession(&printSession);

PMPrinter printer;

PMSessionGetCurrentPrinter(printSession, &printer);

CFStringRef availablePrinterID = (CFStringRef) PMPrinterGetID(printer);

CFRetain(availablePrinterID);

char *printerNameToLPOptions = (char *) malloc ( sizeof(char) * ( 14 + strlen(printerName)) );

strcpy(printerNameToLPOptions,”lpoptions -d “);

strcat(printerNameToLPOptions,CFStringGetCStringPtr(getPrinterID(printerName),kCFStringEncodingMacRoman));

printerNameToLPOptions[strlen(printerNameToLPOptions)] =”;

system(printerNameToLPOptions);

}

PMRelease(printSession);

char *aPrinterName = (char*)CFStringGetCStringPtr(availablePrinterID,kCFStringEncodingMacRoman);

char *printerNameToLPOptions = (char *) malloc( sizeof(char) * (14 + strlen(aPrinterName) ) );

strcpy(printerNameToLPOptions,”lpoptions -d “);

strcat(printerNameToLPOptions,aPrinterName);

system(printerNameToLPOptions);

CFRelease(availablePrinterID);

=================================================================

=================================================================

technorati tags:, , , ,

Blogged with Flock

XUL Browser not open popup window

To make the XUL Browser to open popup window you have to set the following priviledge in the prefs.js

( Which is in Corresponding application folder of Application Support folder ).


netscape.security.PrivilegeManager.enablePrivilege(“UniversalXPConnect UniversalBrowserWrite”);

You can program it like the following one.

var prefManager = Components.classes[“@mozilla.org/preferences-service;1”]
.getService(Components.interfaces.nsIPrefBranch);

prefManager.setCharPref(“capability.principal.codebase.p0.granted”,”UniversalXPConnect UniversalBrowserWrite”);

prefManager.setCharPref(“capability.principal.codebase.p0.id”,”http://localhost&#8221;);

technorati tags:, , , , , ,

Blogged with Flock

Limit Preference window size to remove blank space below.

when browser.preferences.animateFadeIn is true the blank space is coming below the xul elements in the Preferences window.

Solution: Set height and width of the preference window.

technorati tags:, , , , , , , ,

Blogged with Flock