40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
return xDecoder.decode(array);
}
catch (e) {
console.error(e);
return null;
}
},
saveFile: function (sFilename, sData) {
if (!this.xDataFolder) {
this.prepareDataFolder();
}
let xEncoder = new TextEncoder();
let xEncodedRes = xEncoder.encode(sData);
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
return xDecoder.decode(array);
}
catch (e) {
console.error(e);
return null;
}
},
loadAs: function (callback) {
let xFilePicker = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
xFilePicker.init(window, "Charger fichier", Ci.nsIFilePicker.modeOpen);
xFilePicker.appendFilters(Ci.nsIFilePicker.filterAll | Ci.nsIFilePicker.filterText);
xFilePicker.open(async function (nReturnValue) {
if (nReturnValue == Ci.nsIFilePicker.returnOK || nReturnValue == Ci.nsIFilePicker.returnReplace) {
console.log(xFilePicker.file.path);
try {
let xDecoder = new TextDecoder();
let array = await OS.File.read(xFilePicker.file.path);
callback(xDecoder.decode(array));
}
catch (e) {
console.error(e);
callback(null);
}
}
});
},
saveFile: function (sFilename, sData) {
if (!this.xDataFolder) {
this.prepareDataFolder();
}
let xEncoder = new TextEncoder();
let xEncodedRes = xEncoder.encode(sData);
|
69
70
71
72
73
74
75
76
77
78
79
|
xFilePicker.init(window, "Enregistrer sous", Ci.nsIFilePicker.modeSave);
xFilePicker.appendFilters(Ci.nsIFilePicker.filterAll | Ci.nsIFilePicker.filterText);
xFilePicker.open(function (nReturnValue) {
if (nReturnValue == Ci.nsIFilePicker.returnOK || nReturnValue == Ci.nsIFilePicker.returnReplace) {
let xEncoder = new TextEncoder();
let xEncodedRes = xEncoder.encode(sData);
OS.File.writeAtomic(xFilePicker.file.path, xEncodedRes, {tmpPath: "file.txt.tmp"});
}
});
}
}
|
|
|
89
90
91
92
93
94
95
96
97
98
99
|
xFilePicker.init(window, "Enregistrer sous", Ci.nsIFilePicker.modeSave);
xFilePicker.appendFilters(Ci.nsIFilePicker.filterAll | Ci.nsIFilePicker.filterText);
xFilePicker.open(function (nReturnValue) {
if (nReturnValue == Ci.nsIFilePicker.returnOK || nReturnValue == Ci.nsIFilePicker.returnReplace) {
let xEncoder = new TextEncoder();
let xEncodedRes = xEncoder.encode(sData);
OS.File.writeAtomic(xFilePicker.file.path, xEncodedRes, {tmpPath: "file.txt.tmp"});
}
});
}
}
|