diff --git a/extension/dialog.js b/extension/dialog.js index 013a062..63f7577 100644 --- a/extension/dialog.js +++ b/extension/dialog.js @@ -15,6 +15,14 @@ webpg.dialog = { this.qs = {}; webpg.dialog.selectedKeys = []; + var aux = []; + aux = webpg.preferences.selectedKeys.get(); + if(aux) { + webpg.dialog.selectedKeys = aux; + } else { + webpg.dialog.selectedKeys = []; + } + var _ = webpg.utils.i18n.gettext; webpg.pubkeylist = {}; @@ -201,6 +209,8 @@ webpg.dialog = { unescape(webpg.dialog.qs.signers)!==null) ? [unescape(webpg.dialog.qs.signers)] : null; + webpg.preferences.selectedKeys.set(webpg.dialog.selectedKeys); + webpg.utils.sendRequest({"msg": "encrypt", "data": unescape(webpg.dialog.qs.encrypt_data), "pre_selection": pre_selection, diff --git a/extension/preferences.js b/extension/preferences.js index 850d5c8..a0396f4 100644 --- a/extension/preferences.js +++ b/extension/preferences.js @@ -267,6 +267,36 @@ webpg.preferences = { } }, + selectedKeys: { + get: function() { + var qtd = webpg.localStorage.getItem('howManySelectedKeys'); + if(qtd && qtd > 0) { + var result = new Array(qtd); + for(var i = 0; i < qtd; i++) { + result[i] = webpg.localStorage.getItem(i+'SelectedKeys'); + } + return result; + } else { + return ''; + } + }, + + set: function(value1) { + var value = []; + value = value1; + var size = 0; + size = value.length; + var i = 0; + for(; i < size; i++) { + webpg.localStorage.setItem(i+'SelectedKeys', value[i]); + } + webpg.localStorage.setItem('howManySelectedKeys', size); + }, + + clear: function(){ + webpg.localStorage.setItem('howManySelectedKeys', ''); + } + }, /* Class: webpg.preferences.gnupgbin Provides methods to get/set the GnuPG binary execututable