Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Ouvrir un "nsIFilePicker" sur un dossier choisi.

Envoyé par : Raphael

Date : 17/07/2007 17:58

Bonjour, j'utilise un nsIFilePicker pour sélectionner un fichier à charger... J'ai déjà sauvegardé un "dossier par défaut" dans mes préférences, donc je voudrais juste ouvrir mon nsIFilePicker directement sur mon dossier par défaut sélectionné dans mes préférences...

Est-ce possible ? Je sais manipuler les "mode", les "filtres" mais je n'ai pas trouvé comment passer en paramètre un "dossier de départ".

Merci d'avance.

# Re: Ouvrir un "nsIFilePicker" sur un dossier choisi, c'est possible ?

Envoyé par : thefab

Date : 17/07/2007 18:44

Sur MDC http://developer.mozilla.org/en/docs/nsI(..)

Set the property displayDirectory to a nsILocalFile in order to specify the default display directory for the dialog

# Re: Ouvrir un "nsIFilePicker" sur un dossier choisi, c'est possible ?

Envoyé par : Raphael

Date : 17/07/2007 18:48

Ouep, j'ai vu ça mais je dois mal m'y prendre :

var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
			.createInstance(nsIFilePicker);
fp.init(window, $("i18n").getString("choose.decks.path"), nsIFilePicker.modeGetFolder);
// Ouverture du dossier de Decks par défaut
/*var decks_folder = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("CurProcD", Components.interfaces.nsILocalFile);
decks_folder.initWithPath(UserPrefs["Deckbuilder_Decks_Path"]);
fp.setAttribute('displayDirectory', decks_folder);*/
if (fp.show() == nsIFilePicker.returnOK) {
  $("deckbuilder_decks_path").value = fp.file.path;
}

Où est-ce que je fais une erreur ?

# Re: Ouvrir un "nsIFilePicker" sur un dossier choisi, c'est possible ?

Envoyé par : thefab

Date : 22/07/2007 17:01

Tu ne dois pas utiliser setAttribute car il ne s'agit pas d'une balise XUL mais d'un attribut au sens objet.

Essaye de remplacer:

fp.setAttribute('displayDirectory', decks_folder);

par:

fp.displayDirectory = decks_folder;

# Re: Ouvrir un "nsIFilePicker" sur un dossier choisi, c'est possible ?

Envoyé par : Raphael

Date : 22/07/2007 20:28

Impeccable ! Je ne connaissais pas cette subtilité.

Merci beaucoup, je passe en "Résolu"

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.