1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
74
75
76
77
78
79
80
81
82
83
84
85
|
Components.utils.import("chrome://redirector/content/code/redirector.js");
Components.utils.import("chrome://redirector/content/code/redirectorprefs.js");
Components.utils.import("chrome://redirector/content/code/xpcom.js");
$(document).ready(function() {
var prefs = new RedirectorPrefs();
var strings = StringBundleService.createBundle('chrome://redirector/locale/redirector.properties', LocaleService.getApplicationLocale());
function tr(name) {
return strings.GetStringFromName(name);
}
function trPlural(name, count) {
name += count == 1 ? 'Singular' : '';
return strings.formatStringFromName(name, [count],1);
}
function getFile(captionKey, mode) {
var picker = new FilePicker(window, tr(captionKey), mode);
picker.defaultExtension = ".rjson";
var dir = prefs.defaultDir;
if (dir) {
picker.displayDirectory = new LocalFile(dir);
}
picker.appendFilter(tr('redirectorFiles'), '*.rjson');
if (picker.show() == picker.returnCancel) {
return null;
}
prefs.defaultDir = picker.displayDirectory.path;
return picker.file;
}
function exportRedirects() {
var file = getFile('exportCaption', FilePickerMode.save);
if (file) {
Redirector.exportRedirects(file);
}
}
function importRedirects() {
var file = getFile('importCaption', FilePickerMode.open);
var result;
if (!file) {
return;
}
result = Redirector.importRedirects(file);
var msg, imported, existed;
imported = result & 0xFFFF;
existed = result >> 16;
if (imported > 0) {
msg = trPlural('importedMessage', imported);
if (existed > 0) {
msg += ', ' + trPlural('existedMessage',existed);
} else {
msg += '.';
}
} else if (imported == 0 && existed > 0) {
msg = trPlural('allExistedMessage', existed);
} else { //Both 0
msg = tr('importedNone');
}
var title = tr('importResult');
PromptService.alert(null, title, msg);
if (imported > 0) {
var newlist = [];
for (var i = Redirector.redirectCount-imported; i < Redirector.redirectCount; i++) {
newlist.push(Redirector.getRedirectAt(i));
}
//this.addItemsToListBox(newlist);
}
}
function databind() {
for (var i = 0; i < Redirector.redirectCount; i++) {
var redirect = Redirector.getRedirectAt(i);
$('#redirect-list');
}
}
$('#import').click(importRedirects);
$('#export').click(exportRedirects);
});
|