[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [torbirdy/develop] Add overlay to disable automatic checking and fetching of RSS feeds (#19031)
commit 0968621f307da8a9a0fcf6de9b30fb757169ccfe
Author: Sukhbir Singh <sukhbir@xxxxxxxxxxxxxx>
Date: Wed May 11 21:32:14 2016 -0400
Add overlay to disable automatic checking and fetching of RSS feeds (#19031)
To disable checking of new articles on startup and after a fixed interval (100
minutes as defined in FeedUtils.jsm), add an overlay which disables both these
settings after a new RSS account is created. This is similar to what we are
doing with the manual email configuration wizard.
---
chrome.manifest | 1 +
chrome/content/feedwizard.js | 43 +++++++++++++++++++++++++++++++++++++++++++
chrome/content/feedwizard.xul | 10 ++++++++++
3 files changed, 54 insertions(+)
diff --git a/chrome.manifest b/chrome.manifest
index 78f1183..431b4c9 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -3,6 +3,7 @@ content castironthunderbirdclub chrome/content/
overlay chrome://messenger/content/messenger.xul chrome://castironthunderbirdclub/content/overlay.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6}
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://castironthunderbirdclub/content/composeoverlay.xul
overlay chrome://messenger/content/accountcreation/emailWizard.xul chrome://castironthunderbirdclub/content/emailwizard.xul
+overlay chrome://messenger-newsblog/content/feedAccountWizard.xul chrome://castironthunderbirdclub/content/feedwizard.xul
component {ebd85413-18c8-4265-a708-a8890ec8d1ed} components/torbirdy.js
contract @torproject.org/torbirdy;1 {ebd85413-18c8-4265-a708-a8890ec8d1ed}
diff --git a/chrome/content/feedwizard.js b/chrome/content/feedwizard.js
new file mode 100644
index 0000000..07b01bc
--- /dev/null
+++ b/chrome/content/feedwizard.js
@@ -0,0 +1,43 @@
+Components.utils.import("resource://gre/modules/Preferences.jsm");
+
+if (!org) var org = {};
+if (!org.torbirdy) org.torbirdy = {};
+
+if (!org.torbirdy.feedwizard) org.torbirdy.feedwizard = new function() {
+ var pub = {};
+
+ pub.fixFeedAccount = function(account) {
+ let accountKey = account.incomingServer.key;
+
+ let pref_spec = [
+ ['mail.server.%serverkey%.check_new_mail', false],
+ ['mail.server.%serverkey%.login_at_startup', false]
+ ];
+
+ for each (var [pref_template, value] in pref_spec) {
+ let pref = pref_template.replace("%serverkey%", accountKey);
+ Preferences.set(pref, value);
+ }
+ };
+
+ // From comm-release/mailnews/extensions/newsblog/content/feedAccountWizard.js : onFinish().
+ // We need to disable automatic checking of articles on startup and every X
+ // (100 is the default) minutes. Since these values are in FeedUtils.jsm, we
+ // use this overlay, create the account, and then apply our settings.
+ FeedAccountWizard.onFinish = function() {
+ let account = FeedUtils.createRssAccount(this.accountName);
+ if ("gFolderTreeView" in window.opener.top)
+ // Opened from 3pane File->New or Appmenu New Message, or
+ // Account Central link.
+ window.opener.top.gFolderTreeView.selectFolder(account.incomingServer.rootMsgFolder);
+ else if ("selectServer" in window.opener)
+ // Opened from Account Settings.
+ window.opener.selectServer(account.incomingServer);
+
+ // Now apply the settings.
+ pub.fixFeedAccount(account);
+ window.close();
+ };
+
+ return pub;
+};
diff --git a/chrome/content/feedwizard.xul b/chrome/content/feedwizard.xul
new file mode 100644
index 0000000..2f3c935
--- /dev/null
+++ b/chrome/content/feedwizard.xul
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+
+<?xml-stylesheet href="chrome://messenger/skin/accountWizard.css" type="text/css"?>
+
+<wizard id="castironthunderbirdclub-feedwizard-overlay"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+ <script type="application/javascript" src="chrome://castironthunderbirdclub/content/feedwizard.js" />
+
+</wizard>
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits