[Project_owners] How to focus <dialog/> ?

Matthew Waymost waymost at gmail.com
Sat Jan 28 09:13:57 EST 2006


I use the code below for my own options dialog, and I've never had a problem
with it.

var optionsWindow = ForwardFork.mediator.getMostRecentWindow
("forwardfork:options");

// if its open, focus it; otherwise, open it
if (optionsWindow && !optionsWindow.closed)
optionsWindow.document.commandDispatcher.focusedWindow.focus();
else optionsWindow =
window.openDialog("chrome://forwardfork/content/forwardForkPrefs.xul","ForwardFork
Options","chrome,centerscreen,resizable");

Basically, you have to make sure a window (or dialog) )exists and that it
isn't closed. Then, based on that, you decide whether to refocus an open
dialog or open a new one.

HTH, Matt

On 1/28/06, Eric H. Jung <grimholtz at yahoo.com> wrote:
>
> Hi,
>
> I asked this question here
> http://forums.mozillazine.org/viewtopic.php?t=373278 but that didn't
> help...
>
> I'm using this code to focus/activate/bring-to-top both <window/> and
> <dialog/> elements:
>
> Components.classes["@mozilla.org/appshell/window-mediator;1"]
>   .getService(Components.interfaces.nsIWindowMediator)
>   .getMostRecentWindow("passwordmaker")
>   .focus();
>
> It works if getMostRecentWindow() returns a <window/>, but if it
> returns a modal <dialog/>, I get this exception:
>
> "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)
> [nsIDOMWindowInternal.focus]"  nsresult: "0x80004005
>
> I'm using windowtype="passwordmaker" as a dialog attribute. Anyone know
> what I'm doing wrong?
>
> Thank you,
> Eric Jung
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> _______________________________________________
> Project_owners mailing list
> Project_owners at mozdev.org
> http://mozdev.org/mailman/listinfo/project_owners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mozdev.org/pipermail/project_owners/attachments/20060128/fb1dac71/attachment.htm


More information about the Project_owners mailing list