NsIFilePicker: Difference between revisions
From MozillaZine Knowledge Base
Jump to navigationJump to search
mNo edit summary |
|||
Line 9: | Line 9: | ||
var fp = Components.classes["@mozilla.org/filepicker;1"] | var fp = Components.classes["@mozilla.org/filepicker;1"] | ||
.createInstance(nsIFilePicker); | .createInstance(nsIFilePicker); | ||
fp.init( | fp.init(windowHandle, "Dialog Title", nsIFilePicker.modeOpen); | ||
fp.appendFilters(nsIFilePicker.filterAll | nsIFilePicker.filterText); | fp.appendFilters(nsIFilePicker.filterAll | nsIFilePicker.filterText); | ||
Line 17: | Line 17: | ||
var file = fp.file; | var file = fp.file; | ||
// work with returned nsILocalFile... | // work with returned nsILocalFile... | ||
}</pre> | } | ||
// to get a simple windowHandle you may use .. (returns the any most recent one) | |||
const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1"; | |||
const kWindowMediatorIID = Components.interfaces.nsIWindowMediator; | |||
const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID); | |||
var windowHandle = kWindowMediator.getMostRecentWindow(null); | |||
</pre> | |||
==Notes== | ==Notes== |
Revision as of 19:00, 27 April 2005
This page is part of the extension development documentation project.
Ask your questions in MozillaZine Forums. Also try browsing example code.
Note: development documentation is in process of being moved to Mozilla Development Center (MDC).
Using nsIFilePicker
const nsIFilePicker = Components.interfaces.nsIFilePicker; var fp = Components.classes["@mozilla.org/filepicker;1"] .createInstance(nsIFilePicker); fp.init(windowHandle, "Dialog Title", nsIFilePicker.modeOpen); fp.appendFilters(nsIFilePicker.filterAll | nsIFilePicker.filterText); var rv = fp.show(); if (rv == nsIFilePicker.returnOK) { var file = fp.file; // work with returned nsILocalFile... } // to get a simple windowHandle you may use .. (returns the any most recent one) const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1"; const kWindowMediatorIID = Components.interfaces.nsIWindowMediator; const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID); var windowHandle = kWindowMediator.getMostRecentWindow(null);
Notes
- If you pass empty string as dialog title, the dialog will have default title
- When checking return value for Save dialog, be sure to check for nsIFilePicker.returnReplace too.
- Available modes: modeOpen, modeSave, modeGetFolder, modeOpenMultiple.
- Available filters: filterAll, filterHTML, filterText, filterImages, filterXML, filterXUL, filterApps.