1つのnsIFilePicker.appendFilters()
で複数の拡張子のフィルタを追加する時、定数の小さな順にドロップダウンに登録される。ので、任意の順番にしたい場合は複数のnsIFilePicker.appendFilters()
を並べてやる必要がある。
nsIFilePicker.appendFilters()
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var filePicker = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
filePicker.init(window, "Select a File", nsIFilePicker.modeOpen);
filePicker.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText | nsIFilePicker.filterAll);
var res = filePicker.show();
appendFilters()
の引数の順序には意味がない。
nsIFilePicker.appendFilters()
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var filePicker = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
filePicker.init(window, "Select a File", nsIFilePicker.modeOpen);
filePicker.appendFilters(nsIFilePicker.filterHTML);
filePicker.appendFilters(nsIFilePicker.filterText);
filePicker.appendFilters(nsIFilePicker.filterAll);
var res = filePicker.show();
それぞれのappendFilters()
の順序に従ってフィルタが追加される。
というメモ。