Skip to content

Commit 1bb8a97

Browse files
committed
#54 Text added to textarea on panel for preview and editing
1 parent a02cadf commit 1bb8a97

19 files changed

+138
-46
lines changed

data/html/ConfirmPanel.html

+14
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
<body>
66
<form>
77
<table>
8+
<tr>
9+
<td colspan="2">
10+
<textarea id="previewArea" style="width:100%;"></textarea>
11+
</td>
12+
</tr>
813
<tr>
914
<td>
1015
<div data-l10n-id="fileName_title"></div>
@@ -136,6 +141,15 @@
136141
<input id="showNotifications" type="checkbox">
137142
</td>
138143
</tr>
144+
<tr>
145+
<td>
146+
<div data-l10n-id="preview_title"></div>
147+
</td>
148+
<td>
149+
<input id="preview" type="checkbox">
150+
</td>
151+
</tr>
152+
139153
<tr>
140154
<td>
141155
<div data-l10n-id="saveMode_title"></div>

data/js/ConfirmPanel.js

+31-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
var text;
2+
13
window.addEventListener('click', function(event) {
24

35
if (event.target.id.indexOf('pathToFileButton') == 0){
@@ -22,6 +24,18 @@ window.addEventListener('click', function(event) {
2224
document.getElementById("timestamp").disabled = false;
2325
}
2426

27+
if (document.getElementById("html").checked){
28+
document.getElementById("previewArea").value = JSON.parse(text).html;
29+
}else{
30+
document.getElementById("previewArea").value = JSON.parse(text).plain
31+
}
32+
33+
if (document.getElementById("preview").checked){
34+
document.getElementById("previewArea").style.visibility = "visible";
35+
}else{
36+
document.getElementById("previewArea").style.visibility = "hidden";
37+
}
38+
2539
}, false);
2640

2741

@@ -53,7 +67,9 @@ var SaveTextToFile_Panel = {
5367
confirmPanel: document.getElementById("confirmPanel").checked,
5468
html: document.getElementById("html").checked,
5569
showWidget: document.getElementById("showWidget").checked,
56-
showNotifications: document.getElementById("showNotifications").checked
70+
showNotifications: document.getElementById("showNotifications").checked,
71+
preview: document.getElementById("preview").checked,
72+
text: document.getElementById("previewArea").value
5773
});
5874

5975
self.port.emit("save", selectedPrefs);
@@ -84,6 +100,8 @@ self.port.on("prefs", function (prefs) {
84100
document.getElementById("html").checked = parsedPrefs.html;
85101
document.getElementById("showWidget").checked = parsedPrefs.showWidget;
86102
document.getElementById("showNotifications").checked = parsedPrefs.showNotifications;
103+
document.getElementById("preview").checked = parsedPrefs.preview;
104+
text = parsedPrefs.text;
87105

88106
if (parsedPrefs.saveMode == 1){
89107

@@ -93,4 +111,16 @@ self.port.on("prefs", function (prefs) {
93111

94112
document.getElementById("timestamp").disabled = false;
95113
}
114+
115+
if (parsedPrefs.html){
116+
document.getElementById("previewArea").value = JSON.parse(text).html;
117+
}else{
118+
document.getElementById("previewArea").value = JSON.parse(text).plain;
119+
}
120+
121+
if (document.getElementById("preview").checked){
122+
document.getElementById("previewArea").style.visibility = "visible" ;
123+
}else{
124+
document.getElementById("previewArea").style.visibility = "hidden";
125+
}
96126
});

lib/ContextMenu.js

+2-11
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,9 @@ exports.init = function() {
1111
label: Localisation.getString("saveTextToFile_id"),
1212
context: ContextMenu.SelectionContext(),
1313
contentScriptFile: [ Data.get("js/ListenForContextClick.js"), Data.get("js/SendSelectedText.js") ],
14-
onMessage: function (text) {
14+
onMessage: function (text) {
1515

16-
console.log(Preference.get('html'));
17-
console.log('html: ' + JSON.parse(text).html);
18-
console.log('plain: ' + JSON.parse(text).plain);
19-
20-
21-
if (Preference.get('html')){
22-
File.saveTo(JSON.parse(text).html);
23-
}else {
24-
File.saveTo(JSON.parse(text).plain);
25-
}
16+
File.saveTo(text);
2617
}
2718
});
2819
};

lib/File.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,15 @@ exports.saveTo = function(selectedText) {
3636

3737
}else{ // save text without showing confirmation Panel
3838

39-
if(selectedText === "" || selectedText === null){
39+
var text;
40+
41+
if (Preference.get('html')){
42+
text = JSON.parse(selectedText).html;
43+
}else{
44+
text = JSON.parse(selectedText).plain;
45+
}
46+
47+
if(text === "" || text === null){
4048

4149
if (Preference.get('showNotifications')){
4250

@@ -45,7 +53,7 @@ exports.saveTo = function(selectedText) {
4553

4654
}else{
4755

48-
Chrome.saveTo(selectedText);
56+
Chrome.saveTo(text);
4957
}
5058
}
5159
};

lib/Panel.js

+23-19
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ exports.init = function() {
1111

1212
panel = Panel.Panel({
1313
width: 490,
14-
height: 525,
14+
height: 600,
1515
contentURL: Data.get("html/ConfirmPanel.html"),
1616
contentScriptFile: Data.get("js/ConfirmPanel.js"),
1717
onShow: function() {
@@ -26,25 +26,27 @@ exports.init = function() {
2626

2727
panel.port.on("save", function (selectedPrefs) {
2828

29-
var parsedPerfs = JSON.parse(selectedPrefs);
29+
var parsedPrefs = JSON.parse(selectedPrefs);
3030

31-
Preference.set('fileName', parsedPerfs.fileName);
32-
Preference.set('pathToFile', parsedPerfs.pathToFile);
33-
Preference.set('format', parseInt(parsedPerfs.format));
34-
Preference.set('datestamp', parsedPerfs.datestamp);
35-
Preference.set('timestamp', parsedPerfs.timestamp);
36-
Preference.set('datestampInLine', parsedPerfs.datestampInLine);
37-
Preference.set('timestampInLine', parsedPerfs.timestampInLine);
38-
Preference.set('dateFormat', parseInt(parsedPerfs.dateFormat));
39-
Preference.set('lineSeparator', parsedPerfs.lineSeparator);
40-
Preference.set('currentURL', parsedPerfs.currentURL);
41-
Preference.set('pagenameForFilename', parsedPerfs.pagenameForFilename);
42-
Preference.set('saveMode', parseInt(parsedPerfs.saveMode));
43-
Preference.set('confirmPanel', parsedPerfs.confirmPanel);
44-
Preference.set('html', parsedPerfs.html);
45-
Preference.set('showWidget', parsedPerfs.showWidget);
46-
Preference.set('showNotifications', parsedPerfs.showNotifications);
31+
Preference.set('fileName', parsedPrefs.fileName);
32+
Preference.set('pathToFile', parsedPrefs.pathToFile);
33+
Preference.set('format', parseInt(parsedPrefs.format));
34+
Preference.set('datestamp', parsedPrefs.datestamp);
35+
Preference.set('timestamp', parsedPrefs.timestamp);
36+
Preference.set('datestampInLine', parsedPrefs.datestampInLine);
37+
Preference.set('timestampInLine', parsedPrefs.timestampInLine);
38+
Preference.set('dateFormat', parseInt(parsedPrefs.dateFormat));
39+
Preference.set('lineSeparator', parsedPrefs.lineSeparator);
40+
Preference.set('currentURL', parsedPrefs.currentURL);
41+
Preference.set('pagenameForFilename', parsedPrefs.pagenameForFilename);
42+
Preference.set('saveMode', parseInt(parsedPrefs.saveMode));
43+
Preference.set('confirmPanel', parsedPrefs.confirmPanel);
44+
Preference.set('html', parsedPrefs.html);
45+
Preference.set('showWidget', parsedPrefs.showWidget);
46+
Preference.set('showNotifications', parsedPrefs.showNotifications);
47+
Preference.set('preview', parsedPrefs.preview);
4748

49+
selectedText = parsedPrefs.text;
4850

4951

5052
if(selectedText === "" || selectedText === null){
@@ -101,7 +103,9 @@ function getPreferences() {
101103
confirmPanel: Preference.get('confirmPanel'),
102104
html: Preference.get('html'),
103105
showWidget: Preference.get('showWidget'),
104-
showNotifications: Preference.get('showNotifications')
106+
showNotifications: Preference.get('showNotifications'),
107+
preview: Preference.get('preview'),
108+
text: selectedText
105109
});
106110

107111
panel.port.emit("prefs", prefs);

locale/cs-CZ.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=Otevřít dialogové okno preferencí při "uložit tex
6060

6161
html_title=Uložit vybraného textu ve formátu HTML?
6262
html_description=Uložit vybraného textu ve formátu HTML?
63+
64+
preview_title=Náhled textu?
65+
preview_description=bude Vybraný text bude přidán do editovatelného textového pole na "Potvrdit nastavení" panel

locale/de-DE.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=�ffnen -Dialog , wenn "Save Text to File" geklickt wi
6060

6161
html_title=Speichern ausgewählt html Text?
6262
html_description=Speichern ausgewählt html Text?
63+
64+
preview_title=Vorschau Text?
65+
preview_description=Ausgewählte Text in editierbare Textarea auf Holz "Einstellungen bestätigen" hinzugefügt werden

locale/en-GB.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=Open preferences dialog when "Save Text to File" is cli
6060

6161
html_title=Save selected html text?
6262
html_description=Save selected html text?
63+
64+
preview_title=Preview text?
65+
preview_description=Selected text will be added to editable textarea on 'Confirm settings' panel

locale/en-US.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=Open preferences dialog when "Save Text to File" is cli
6060

6161
html_title=Save selected html text?
6262
html_description=Save selected html text?
63+
64+
preview_title=Preview text?
65+
preview_description=Selected text will be added to editable textarea on 'Confirm settings' panel

locale/es-ES.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=abierto al di�logo de preferencias " Guardar texto en
6060

6161
html_title=Guardar texto HTML seleccionado?
6262
html_description=Guardar texto HTML seleccionado?
63+
64+
preview_title=Vista previa de texto?
65+
preview_description=El texto seleccionado se agregará al área de texto editable en 'Confirmar' panel de configuración

locale/fr-FR.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=dialogue des pr�f�rences ouverte lorsque " Sauvegar
6060

6161
html_title=Enregistrer le texte HTML sélectionné?
6262
html_description=Enregistrer le texte HTML sélectionné?
63+
64+
preview_title=taille du texte?
65+
preview_description=texte sélectionné sera ajouté à textarea modifiable sur le panneau «Paramètres de confirmer

locale/it-IT.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=Quando "Salva testo su file" viene cliccato finestra di
6060

6161
html_title=Salva html testo selezionato?
6262
html_description=Salva html testo selezionato?
63+
64+
preview_title=testo Preview?
65+
preview_description=Il testo selezionato verrà aggiunto alla textarea modificabili su 'Conferma impostazioni' pannello

locale/ja-JP.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description="テキストをファイルに保存"をクリック
6060

6161
html_title=選択されたHTMLテキストを保存しますか?
6262
html_description=選択されたHTMLテキストを保存しますか?
63+
64+
preview_title=プレビューテキスト?
65+
preview_description=選択したテキストがパネル「設定の確認」を上の編集可能なテキストエリアに追加されます

locale/ko-KR.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=환경 설정 열기 대화 상자가 때 "파일에
6060

6161
html_title=선택한 HTML 텍스트를 저장 하시겠습니까?
6262
html_description=선택한 HTML 텍스트를 저장 하시겠습니까?
63+
64+
preview_title=미리보기 텍스트?
65+
preview_description=선택한 텍스트는 패널의 '설정 확인'을 편집 가능한 텍스트 영역에 추가됩니다

locale/pl-PL.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=Otwórz okno preferencji, gdy "Zapisz tekst do pliku" k
6060

6161
html_title=Zapisz zaznaczony tekst HTML?
6262
html_description=Zapisz zaznaczony tekst HTML?
63+
64+
preview_title=Podgląd tekstu?
65+
preview_description=Zaznaczony tekst zostanie dodany do edycji tekstowego na "Potwierdź ustawienia" panel

locale/ru-RU.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=Открытый диалог настроек, ког
6060

6161
html_title=Сохранить выбранный HTML текст?
6262
html_description=Сохранить выбранный HTML текст?
63+
64+
preview_title=анонса?
65+
preview_description=Выделенный текст будет добавлен в редактируемый текстовой на "Подтвердите настройки" панели

locale/uk-UA.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=Відкритий діалог налаштувань,
6060

6161
html_title=Зберегти обраний HTML текст?
6262
html_description=Зберегти обраний HTML текст?
63+
64+
preview_title=анонса?
65+
preview_description=Виділений текст буде додано до редагований текстової на "Підтвердити налаштування" панелі

locale/zh-CH.properties

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ confirmPanel_description=打開首選項“對話框中點擊”保存文本文
6060

6161
html_title=保存所選的HTML文本?
6262
html_description=保存所選的HTML文本?
63+
64+
preview_title=預覽文本?
65+
preview_description=選定的文本將被添加到可編輯文本區域的“確認設置”面板

package.json

+19-13
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"description": "Saves highlighted text to a file in a specified directory",
66
"author": "Robert Byrne",
77
"license": "GNU GPL v3",
8-
"version": "2.3",
8+
"version": "2.4",
99
"permissions": {"private-browsing": true},
1010
"preferences": [{
1111
"name": "fileName",
@@ -113,6 +113,24 @@
113113
"type": "bool",
114114
"value": true
115115
},
116+
{
117+
"name": "confirmPanel",
118+
"title": "Confirm settings?",
119+
"type": "bool",
120+
"value": true
121+
},
122+
{
123+
"name": "html",
124+
"title": "Save selected html text?",
125+
"type": "bool",
126+
"value": false
127+
},
128+
{
129+
"name": "preview",
130+
"title": "Preview text?",
131+
"type": "bool",
132+
"value": true
133+
},
116134
{
117135
"name": "saveMode",
118136
"title": "Save mode?",
@@ -128,17 +146,5 @@
128146
"label": "Append"
129147
}
130148
]
131-
},
132-
{
133-
"name": "confirmPanel",
134-
"title": "Confirm settings?",
135-
"type": "bool",
136-
"value": true
137-
},
138-
{
139-
"name": "html",
140-
"title": "Save selected html text?",
141-
"type": "bool",
142-
"value": false
143149
}]
144150
}

0 commit comments

Comments
 (0)