commit 8de0fd0fab25c2596ed0719ad40964b36d014634 Author: Sukhbir Singh sukhbir@torproject.org Date: Sun Aug 25 19:50:10 2013 -0400
Allow users to easily toggle checking for new messages --- chrome/content/preferences.js | 47 ++++++++++++++++++++++++++++++++++++++-- chrome/content/preferences.xul | 1 + chrome/locale/en/torbirdy.dtd | 2 ++ defaults/preferences/prefs.js | 1 + 4 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/chrome/content/preferences.js b/chrome/content/preferences.js index d138b96..0f667c3 100644 --- a/chrome/content/preferences.js +++ b/chrome/content/preferences.js @@ -101,6 +101,17 @@ if (!org.torbirdy.prefs) org.torbirdy.prefs = new function() { pub.prefs.clearUserPref(pub.customBranch + pref); };
+ pub.fetchAllMessages = function() { + if (pub.fetchAll.checked) { + pub.idle.checked = true; + pub.startupFolder.checked = true; + } + else { + pub.idle.checked = false; + pub.startupFolder.checked = false; + } + }; + pub.checkSetting = function() { var index = pub.anonService.selectedIndex; if (index === 2) { @@ -344,6 +355,27 @@ if (!org.torbirdy.prefs) org.torbirdy.prefs = new function() { pub.strbundle.GetStringFromName("torbirdy.restart")); }
+ // Fetch all messages for all accounts. + // default: false + // Only change the state if it is required. + if (pub.fetchAll.checked !== pub.prefs.getBoolPref(pub.prefBranch + 'fetchall')) { + var accounts = pub.getAccount(); + if (pub.fetchAll.checked) { + pub.prefs.setBoolPref(pub.prefBranch + 'fetchall', true); + for (var i = 0; i < accounts.length; i++) { + accounts[i].loginAtStartUp = true; + accounts[i].doBiff = true; + } + } + else { + pub.prefs.setBoolPref(pub.prefBranch + 'fetchall', false); + for (var i = 0; i < accounts.length; i++) { + accounts[i].loginAtStartUp = false; + accounts[i].doBiff = false; + } + } + } + // Enigmail. // --throw-keyids - default: true var enigmail_throwkeyid = pub.enigmail.checked; @@ -420,6 +452,7 @@ if (!org.torbirdy.prefs) org.torbirdy.prefs = new function() { pub.emailwizard = document.getElementById('torbirdy-email-wizard'); pub.renegotiation = document.getElementById('torbirdy-renegotiation'); pub.keyserver = document.getElementById('torbirdy-enigmail-keyserver'); + pub.fetchAll = document.getElementById('torbirdy-email-automatic');
// Make sure the user really wants to change these settings. var warnPrompt = pub.prefs.getBoolPref("extensions.torbirdy.warn"); @@ -510,6 +543,15 @@ if (!org.torbirdy.prefs) org.torbirdy.prefs = new function() { pub.timezone.checked = true; }
+ // Fetch all messages for all accounts. + // default: false + var fetchAllMessages = pub.prefs.getBoolPref(pub.prefBranch + 'fetchall'); + if (fetchAllMessages) { + pub.fetchAll.checked = true; + } else { + pub.fetchAll.checked = false; + } + // Enigmal settings // --throw-keyids - default: true var enigmail_throwkeyid = pub.prefs.getBoolPref(pub.prefBranch + 'enigmail.throwkeyid'); @@ -592,13 +634,14 @@ if (!org.torbirdy.prefs) org.torbirdy.prefs = new function() { pub.restoreDefaults = function() { // Set the values to their default state. pub.anonService.selectedIndex = 0; - pub.idle.checked = false; - pub.startupFolder.checked = false; pub.timezone.checked = false; pub.enigmail.checked = false; pub.confirmemail.checked = false; pub.emailwizard.checked = false; pub.renegotiation.checked = false; + pub.idle.checked = false; + pub.startupFolder.checked = false; + pub.fetchAll.checked = false; // Save the settings and close the window. pub.checkSetting(); pub.onAccept(); diff --git a/chrome/content/preferences.xul b/chrome/content/preferences.xul index 523e344..cd38163 100644 --- a/chrome/content/preferences.xul +++ b/chrome/content/preferences.xul @@ -98,6 +98,7 @@ <checkbox accesskey="&torbirdy.prefs.startup_folder.key;" id="torbirdy-startup-folder" label="&torbirdy.prefs.startup_folder.label;"/> <checkbox accesskey="&torbirdy.prefs.timezone.key;" id="torbirdy-timezone" label="&torbirdy.prefs.timezone.label;"/> <checkbox accesskey="&torbirdy.prefs.emailwizard.key;" id="torbirdy-email-wizard" label="&torbirdy.prefs.emailwizard.label;"/> + <checkbox accesskey="&torbirdy.prefs.automatic.key;" id="torbirdy-email-automatic" label="&torbirdy.prefs.automatic.label;" oncommand="org.torbirdy.prefs.fetchAllMessages();"/> </vbox> </groupbox>
diff --git a/chrome/locale/en/torbirdy.dtd b/chrome/locale/en/torbirdy.dtd index 2880b9a..2d8d268 100644 --- a/chrome/locale/en/torbirdy.dtd +++ b/chrome/locale/en/torbirdy.dtd @@ -45,6 +45,8 @@ <!ENTITY torbirdy.prefs.confirmemail.key "c"> <!ENTITY torbirdy.prefs.emailwizard.label "Enable Thunderbird's automatic email configuration wizard [default: disabled]"> <!ENTITY torbirdy.prefs.emailwizard.key "w"> +<!ENTITY torbirdy.prefs.automatic.label "Check for new messages automatically for all accounts [default: disabled]"> +<!ENTITY torbirdy.prefs.automatic.key "f"> <!ENTITY torbirdy.prefs.renegotiation.label "Allow connections to servers that do not support SSL/TLS with secure renegotiation [default: do not allow]"> <!ENTITY torbirdy.prefs.renegotiation.key "r"> <!ENTITY torbirdy.prefs.account_specific "Account-Specific"> diff --git a/defaults/preferences/prefs.js b/defaults/preferences/prefs.js index 673cc5b..e736745 100644 --- a/defaults/preferences/prefs.js +++ b/defaults/preferences/prefs.js @@ -9,3 +9,4 @@ pref("extensions.torbirdy.timezone", true); pref("extensions.torbirdy.whonix_run", true); pref("extensions.torbirdy.info_run", false); pref("extensions.torbirdy.emailwizard", false); +pref("extensions.torbirdy.fetchall", false);