[Pkg-mozext-commits] [sage-extension] 30/39: auto feed title, settings update

David Prévot taffit at moszumanska.debian.org
Fri May 1 03:10:21 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to tag sage_1_1
in repository sage-extension.

commit 1898246617b8090d5a7023d6dad5b9c85e7c213b
Author: Peter Andrews <petea at jhu.edu>
Date:   Mon May 31 23:14:20 2004 +0000

    auto feed title, settings update
---
 src/sage/content/commonfunc.js         |  5 +++
 src/sage/content/createhtml.js         |  9 ++----
 src/sage/content/getrsstitle.js        | 44 +++++++-------------------
 src/sage/content/sage.js               | 10 +++++-
 src/sage/content/sage.xul              |  1 -
 src/sage/content/settings/settings.js  | 58 ++++++++++++++++++----------------
 src/sage/content/settings/settings.xul |  8 ++++-
 src/sage/content/updatechecker.js      | 35 ++++++++++----------
 src/sage/locale/en-US/sage.dtd         |  5 ++-
 src/sage/locale/en-US/sage.properties  |  2 +-
 src/sage/locale/ja-JP/sage.dtd         |  3 ++
 11 files changed, 90 insertions(+), 90 deletions(-)

diff --git a/src/sage/content/commonfunc.js b/src/sage/content/commonfunc.js
index 368e93d..83b4f0f 100755
--- a/src/sage/content/commonfunc.js
+++ b/src/sage/content/commonfunc.js
@@ -3,6 +3,11 @@ var CommonFunc = {
 	RSS_READER_FOLDER_ID: "sage.folder_id",
 	USER_AGENT: "Mozilla/5.0 (Sage)",
 
+	USER_CSS_ENABLE: "sage.user_css.enable",
+	USER_CSS_PATH: "sage.user_css.path",
+	ALLOW_ENCODED_CONTENT: "sage.allow_encoded_content",
+	AUTO_FEED_TITLE: "sage.auto_feed_title",
+	RENDER_FEEDS: "sage.render_feeds",
 
 
 // ++++++++++ ++++++++++ Bookmark RDF ++++++++++ ++++++++++
diff --git a/src/sage/content/createhtml.js b/src/sage/content/createhtml.js
index c3e68ba..a622236 100755
--- a/src/sage/content/createhtml.js
+++ b/src/sage/content/createhtml.js
@@ -1,7 +1,4 @@
 var CreateHTML = {
-	USER_CSS_ENABLE: "sage.user_css.enable",
-	USER_CSS_PATH: "sage.user_css.path",
-	ALLOW_ENCODED_CONTENT: "sage.allow_encoded_content",
 	HTML_SOURCE: CommonFunc.loadText("chrome://sage/content/res/template-html.txt"),
 	ITEM_SOURCE: CommonFunc.loadText("chrome://sage/content/res/template-item.txt"),
 	DEFAULT_CSS: "chrome://sage/content/res/sage.css",
@@ -49,8 +46,8 @@ var CreateHTML = {
 	},
 
 	getUserCssURL: function() {
-		var userCssEnable = CommonFunc.getPrefValue(this.USER_CSS_ENABLE, "bool", false);
-		var userCssPath = CommonFunc.getPrefValue(this.USER_CSS_PATH, "wstr", "");
+		var userCssEnable = CommonFunc.getPrefValue(CommonFunc.USER_CSS_ENABLE, "bool", false);
+		var userCssPath = CommonFunc.getPrefValue(CommonFunc.USER_CSS_PATH, "wstr", "");
 		if(!userCssEnable || !userCssPath) return null;
 
 		var ioService = Components.classes["@mozilla.org/network/io-service;1"]
@@ -70,7 +67,7 @@ var CreateHTML = {
 	},
 
 	createHTMLSource: function(feed) {
-		var allowEContent = CommonFunc.getPrefValue(this.ALLOW_ENCODED_CONTENT, "bool", false);
+		var allowEContent = CommonFunc.getPrefValue(CommonFunc.ALLOW_ENCODED_CONTENT, "bool", true);
 
 		var htmlSource = this.HTML_SOURCE;
 		var cssUrl	= this.getUserCssURL();
diff --git a/src/sage/content/getrsstitle.js b/src/sage/content/getrsstitle.js
index 38448e8..5dd309f 100755
--- a/src/sage/content/getrsstitle.js
+++ b/src/sage/content/getrsstitle.js
@@ -16,20 +16,20 @@ var GetRssTitle = {
 		this.httpReq.open("GET", this.url);
 		this.httpReq.setRequestHeader("User-Agent", USER_AGENT);
 		this.httpReq.overrideMimeType("application/xml");
-		try{
+		try {
 			this.httpReq.send(null);
-		}catch(e){
+		} catch(e) {
 				// FAILURE
 			this.httpReq.abort();
 			this.checking = false;
 		}
 	},
 	
-	httpReadyStateChange: function(){
-		if(GetRssTitle.httpReq.readyState == 2){
-			try{
+	httpReadyStateChange: function() {
+		if(GetRssTitle.httpReq.readyState == 2) {
+			try {
 				GetRssTitle.httpReq.status;
-			}catch(e){
+			} catch(e) {
 					// URL NOT AVAILABLE
 				GetRssTitle.httpReq.abort();
 				GetRssTitle.checking = false;
@@ -37,40 +37,20 @@ var GetRssTitle = {
 		}
 	},
 	
-	httpLoaded: function(){
+	httpLoaded: function() {
 		this.checking = false;
 		
-		var xmlDoc = GetRssTitle.httpReq.responseXML;
-		var rootNodeName = xmlDoc.documentElement.localName.toLowerCase();
-		var rssTitle = "";
+		var feed = new Feed(GetRssTitle.httpReq.responseXML);
+		var rssTitle = feed.getTitle();
 
-		switch(rootNodeName){
-			case "rss":	// RSS
-			case "rdf":
-				var channelNode = xmlDoc.getElementsByTagName("channel")[0];
-				var titleNode = channelNode.getElementsByTagName("title")[0];
-				rssTitle = CommonFunc.getInnerText(titleNode);
-				break;
-			case "feed": // ATOM
-				for(var i = xmlDoc.documentElement.firstChild; i!=null; i=i.nextSibling){
-					if(i.nodeType != i.ELEMENT_NODE) continue;
-					if(i.localName == "title") rssTitle = CommonFunc.getInnerText(i);
-				}
-				break;
-			default:
-				return;
-				break;
-		}
 		if(!rssTitle) return;
 		
-		var prompt = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
-						.getService(Components.interfaces.nsIPromptService);
+		var prompt = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
 		var resultValue = { value: rssTitle };
 		var result = prompt.prompt(window, "RSS Reader Panel", "New Title", resultValue, null, {});
 
-		if(result){
-			CommonFunc.setBMDSProperty(GetRssTitle.res,
-							CommonFunc.BM_NAME, resultValue.value);
+		if(result) {
+			CommonFunc.setBMDSProperty(GetRssTitle.res, CommonFunc.BM_NAME, resultValue.value);
 		}
 	}
 }
\ No newline at end of file
diff --git a/src/sage/content/sage.js b/src/sage/content/sage.js
index aa5ab10..bc45428 100755
--- a/src/sage/content/sage.js
+++ b/src/sage/content/sage.js
@@ -61,6 +61,8 @@ function init() {
 	toggleShowFeedItemList();
 
   aConsoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);
+
+	aConsoleService.logStringMessage("Sage initialized.");
 }
 
 
@@ -469,6 +471,12 @@ function httpGetResult(aResultCode) {
 	if(aResultCode == RESULT_OK) {
 		currentFeed = new Feed(responseXML);
 
+		if(CommonFunc.getPrefValue(CommonFunc.AUTO_FEED_TITLE, "bool", true)) {
+			if(CommonFunc.getBMDSProperty(lastResource.res, CommonFunc.BM_NAME) != currentFeed.getTitle()) {
+				CommonFunc.setBMDSProperty(lastResource.res, CommonFunc.BM_NAME, currentFeed.getTitle());
+			}
+		}
+
 		if(lastResource.res) {
 			BMSVC.updateLastVisitedDate(lastResource.url, responseXML.characterSet);
 			CommonFunc.setBMDSProperty(lastResource.res, CommonFunc.BM_DESCRIPTION, CommonFunc.STATUS_NO_UPDATE);
@@ -476,7 +484,7 @@ function httpGetResult(aResultCode) {
 		setStatusDone();
 		setRssItemListBox();
 		
-		if(getCheckboxCheck("chkOpenHTML")) {
+		if(CommonFunc.getPrefValue(CommonFunc.RENDER_FEEDS, "bool", true)) {
 			CreateHTML.openHTML(currentFeed);
 		}
 	} else {
diff --git a/src/sage/content/sage.xul b/src/sage/content/sage.xul
index f80a7c1..6170da0 100755
--- a/src/sage/content/sage.xul
+++ b/src/sage/content/sage.xul
@@ -56,7 +56,6 @@
 		<spacer flex="1"/>
 		<toolbarbutton type="menu" label="&menu.tools;">
 			<menupopup>
-				<menuitem id="chkOpenHTML" type="checkbox" persist="checked" label="&menu.openHTML;"/>
 				<menuitem id="chkShowSearchBar" type="checkbox" persist="checked" label="&menu.showSearchBar;" oncommand="toggleShowSearchBar()"/>
 				<menuitem id="chkShowTooltip" type="checkbox" persist="checked" checked="true" label="&menu.showDescTooltip;"/>
 				<menuitem id="chkShowFeedItemList" type="checkbox" persist="checked" label="&menu.showFeedItemList;" oncommand="toggleShowFeedItemList()"/>
diff --git a/src/sage/content/settings/settings.js b/src/sage/content/settings/settings.js
index a7c3053..ae39f06 100755
--- a/src/sage/content/settings/settings.js
+++ b/src/sage/content/settings/settings.js
@@ -1,54 +1,56 @@
 
-const RSS_READER_FOLDER_ID = CommonFunc.RSS_READER_FOLDER_ID;
-const USER_CSS_ENABLE = "sage.user_css.enable";
-const USER_CSS_PATH = "sage.user_css.path";
-const ALLOW_ENCODED_CONTENT = "sage.allow_encoded_content";
-
 var sageFolderID;
 
 var chkUserCssEnable;
 var txtUserCssPath;
 var chkAllowEContent;
+var chkAutoFeedTitle;
+var chkRenderFeeds;
 
 var gList;
 var gNameArc;
 var strRes // stringbundle �I�u�W�F�N�g
 
-function init(){
+function init() {
 	initServices();
 	initBMService();
-	
+
 	strRes = document.getElementById("strRes");
-	
-  		// �ݒ�̓ǂݍ���
-  	sageFolderID = CommonFunc.getPrefValue(RSS_READER_FOLDER_ID, "str", "NC:BookmarksRoot");
+
+  sageFolderID = CommonFunc.getPrefValue(CommonFunc.RSS_READER_FOLDER_ID, "str", "NC:BookmarksRoot");
 	gNameArc = RDF.GetResource(NC_NS + "Name");
 	gList = document.getElementById("select-menu");
 
 	chkUserCssEnable = document.getElementById("chkUserCssEnable");
-	chkUserCssEnable.checked = CommonFunc.getPrefValue(USER_CSS_ENABLE, "bool", false);
+	chkUserCssEnable.checked = CommonFunc.getPrefValue(CommonFunc.USER_CSS_ENABLE, "bool", false);
 
 	txtUserCssPath = document.getElementById("txtUserCssPath");
-	txtUserCssPath.value = CommonFunc.getPrefValue(USER_CSS_PATH, "wstr", "");
+	txtUserCssPath.value = CommonFunc.getPrefValue(CommonFunc.USER_CSS_PATH, "wstr", "");
 
 	chkAllowEContent = document.getElementById("chkAllowEContent");
-	chkAllowEContent.checked = CommonFunc.getPrefValue(ALLOW_ENCODED_CONTENT, "bool", false);
+	chkAllowEContent.checked = CommonFunc.getPrefValue(CommonFunc.ALLOW_ENCODED_CONTENT, "bool", true);
+
+	chkAutoFeedTitle = document.getElementById("chkAutoFeedTitle");
+	chkAutoFeedTitle.checked = CommonFunc.getPrefValue(CommonFunc.AUTO_FEED_TITLE, "bool", true);
 
+	chkRenderFeeds = document.getElementById("chkRenderFeeds");
+	chkRenderFeeds.checked = CommonFunc.getPrefValue(CommonFunc.RENDER_FEEDS, "bool", true);
 
 	setDisabled();
 
 	setTimeout(fillSelectFolderMenupopup, 0);
 }
 
-function accept(){
-	// �ݒ�̏�������
-	CommonFunc.setPrefValue(RSS_READER_FOLDER_ID, "str", sageFolderID);
-	CommonFunc.setPrefValue(USER_CSS_ENABLE, "bool", chkUserCssEnable.checked);
-	CommonFunc.setPrefValue(USER_CSS_PATH, "wstr", txtUserCssPath.value);
-	CommonFunc.setPrefValue(ALLOW_ENCODED_CONTENT, "bool", chkAllowEContent.checked);
+function accept() {
+	CommonFunc.setPrefValue(CommonFunc.RSS_READER_FOLDER_ID, "str", sageFolderID);
+	CommonFunc.setPrefValue(CommonFunc.USER_CSS_ENABLE, "bool", chkUserCssEnable.checked);
+	CommonFunc.setPrefValue(CommonFunc.USER_CSS_PATH, "wstr", txtUserCssPath.value);
+	CommonFunc.setPrefValue(CommonFunc.ALLOW_ENCODED_CONTENT, "bool", chkAllowEContent.checked);
+	CommonFunc.setPrefValue(CommonFunc.AUTO_FEED_TITLE, "bool", chkAutoFeedTitle.checked);
+	CommonFunc.setPrefValue(CommonFunc.RENDER_FEEDS, "bool", chkRenderFeeds.checked);
 }
 
-function uninstall(){
+function uninstall() {
 	var prompt = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
 
 	var checkValue = { value: true };
@@ -104,13 +106,13 @@ function selectFolder(aEvent){
 }
 
 
-function setDisabled(){
+function setDisabled() {
 	txtUserCssPath.disabled = !chkUserCssEnable.checked;
 	document.getElementById("btnBrowseCss").disabled = !chkUserCssEnable.checked;
 }
 
 
-function browseCss(){
+function browseCss() {
 	var fpicker = Components.classes["@mozilla.org/filepicker;1"]
 					.createInstance(Components.interfaces.nsIFilePicker);
 	fpicker.init(window, "Select CSS File", fpicker.modeOpen);
@@ -118,16 +120,16 @@ function browseCss(){
 	fpicker.appendFilters(fpicker.filterAll);
 
 	var showResult = fpicker.show();
-	if(showResult == fpicker.returnOK){
+	if(showResult == fpicker.returnOK) {
 		txtUserCssPath.value = fpicker.file.path;	
 	}
 }
 
-function fillSelectFolderMenupopup (){
+function fillSelectFolderMenupopup () {
 	var popup = document.getElementById("select-folder");
 
 	// clearing the old menupopup
-	while (popup.hasChildNodes()){
+	while (popup.hasChildNodes()) {
 		popup.removeChild(popup.firstChild);
 	}
 
@@ -139,13 +141,13 @@ function fillSelectFolderMenupopup (){
 
 	var folder = RDF.GetResource("NC:BookmarksRoot");
 	fillFolder(popup, folder, 1);
-	if(gList.selectedIndex == -1){
+	if(gList.selectedIndex == -1) {
 		gList.selectedIndex = 0;
 		sageFolderID = "NC:BookmarksRoot";
 	}
 }
 
-function fillFolder(aPopup, aFolder, aDepth){
+function fillFolder(aPopup, aFolder, aDepth) {
 	RDFC.Init(BMDS, aFolder);
 	var children = RDFC.GetElements();
 	while (children.hasMoreElements()){
@@ -158,7 +160,7 @@ function fillFolder(aPopup, aFolder, aDepth){
 			element.setAttribute("label", indentation + name);
 			element.setAttribute("id", curr.Value);
 			aPopup.appendChild(element);
-			if (curr.Value == sageFolderID){
+			if (curr.Value == sageFolderID) {
 				gList.selectedItem = element;
 			}
 			fillFolder(aPopup, curr, ++aDepth);
diff --git a/src/sage/content/settings/settings.xul b/src/sage/content/settings/settings.xul
index 29012f1..2a02486 100755
--- a/src/sage/content/settings/settings.xul
+++ b/src/sage/content/settings/settings.xul
@@ -35,7 +35,14 @@
 </hbox>
 
 <groupbox>
+	<caption label="&settings.general.caption;"/>
+	<checkbox id="chkAutoFeedTitle" label="&settings.autoFeedTitle.label;"/>
+</groupbox>
+
+<groupbox>
 	<caption label="&openInContentsArea.caption;"/>
+	<checkbox id="chkRenderFeeds" label="&settings.renderFeeds.label;"/>
+	<checkbox id="chkAllowEContent" label="&allowEContent.label;"/>
 	<vbox flex="1">
 		<checkbox id="chkUserCssEnable" label="&enableUserCss.label;" oncommand="setDisabled()"/>
 		<hbox align="center">
@@ -44,7 +51,6 @@
 			<button id="btnBrowseCss" oncommand="browseCss()" label="&browseCss.label;"/>
 		</hbox>
 	</vbox>
-	<checkbox id="chkAllowEContent" label="&allowEContent.label;"/>
 </groupbox>
 
 </dialog>
diff --git a/src/sage/content/updatechecker.js b/src/sage/content/updatechecker.js
index 2173de7..c515e81 100755
--- a/src/sage/content/updatechecker.js
+++ b/src/sage/content/updatechecker.js
@@ -4,16 +4,16 @@ var UpdateChecker = {
 	httpReq: null,
 	lastResource: null,
 
-	startCheck: function(aCheckFolderId){
+	startCheck: function(aCheckFolderId) {
 		if(this.checking) return;
 	
 		this.resourceList = CommonFunc.getBMDSCChildren(aCheckFolderId);
 		
 			// Delete separator and updeed resource
-		for(var i=0; i<this.resourceList.length; i++){
+		for(var i=0; i<this.resourceList.length; i++) {
 			var url = CommonFunc.getBMDSProperty(this.resourceList[i], CommonFunc.BM_URL);
 			var desc = CommonFunc.getBMDSProperty(this.resourceList[i], CommonFunc.BM_DESCRIPTION);
-			if(!url || desc == CommonFunc.STATUS_UPDATE || desc == CommonFunc.STATUS_NO_CHECK){
+			if(!url || desc == CommonFunc.STATUS_UPDATE || desc == CommonFunc.STATUS_NO_CHECK) {
 				this.resourceList.splice(i,1);
 			}
 		}
@@ -22,22 +22,22 @@ var UpdateChecker = {
 		this.check();
 	},
 
-	done: function(){
-		if(this.checking){
+	done: function() {
+		if(this.checking) {
 			this.httpReq.abort();
 		}
 	},
 
-	check: function(){
+	check: function() {
 		this.lastResource = this.resourceList.shift();
 		var name = CommonFunc.getBMDSProperty(this.lastResource, CommonFunc.BM_NAME);
 		var url = CommonFunc.getBMDSProperty(this.lastResource, CommonFunc.BM_URL);
 
-		if(!url){
+		if(!url) {
 			this.checkResult(false, 0);
 		}
 
-		if(this.httpReq){
+		if(this.httpReq) {
 			this.httpReq.abort();
 		}
 		
@@ -48,10 +48,10 @@ var UpdateChecker = {
 		this.httpReq.open("GET", url);
 		this.httpReq.setRequestHeader("User-Agent", USER_AGENT);
 		this.httpReq.overrideMimeType("application/xml");
-		try{
+		try {
 			this.httpReq.send(null);
 			this.onCheck(name, url);
-		}catch(e){
+		} catch(e) {
 				// FAILURE
 			this.httpReq.abort();
 			this.checkResult(false, 0);
@@ -59,11 +59,11 @@ var UpdateChecker = {
 	},
 
 
-	httpReadyStateChange: function(){
-		if(UpdateChecker.httpReq.readyState == 2){
-			try{
+	httpReadyStateChange: function() {
+		if(UpdateChecker.httpReq.readyState == 2) {
+			try {
 				UpdateChecker.httpReq.status;
-			}catch(e){
+			} catch(e) {
 					// URL NOT AVAILABLE
 				UpdateChecker.httpReq.abort();
 				UpdateChecker.checkResult(false, 0);
@@ -86,10 +86,10 @@ var UpdateChecker = {
 			} catch(e) {}
 		}
 		
-		UpdateChecker.checkResult(true, lastModified, feed);
+		UpdateChecker.checkResult(true, lastModified);
 	},
 
-	checkResult: function(aSucceed, aLastModified, feed) {
+	checkResult: function(aSucceed, aLastModified) {
 		var name = CommonFunc.getBMDSProperty(this.lastResource, CommonFunc.BM_NAME);
 		var url = CommonFunc.getBMDSProperty(this.lastResource, CommonFunc.BM_URL);
 		var status = 0;
@@ -101,9 +101,6 @@ var UpdateChecker = {
 			lastVisit /= 1000;
 		}
 
-		//if(feed)
-		//	aConsoleService.logStringMessage(feed.getTitle() + " aLastModified: " + aLastModified + ", lastVisit: " + lastVisit);
-
 		if(aLastModified) {
 			if(aLastModified > lastVisit) {
 				status = CommonFunc.STATUS_UPDATE;
diff --git a/src/sage/locale/en-US/sage.dtd b/src/sage/locale/en-US/sage.dtd
index 85fbc39..18e6cda 100755
--- a/src/sage/locale/en-US/sage.dtd
+++ b/src/sage/locale/en-US/sage.dtd
@@ -18,10 +18,13 @@
 
 
 <!-- Setting Dialog -->
+<!ENTITY settings.general.caption     "General">
+<!ENTITY settings.autoFeedTitle.label     "Automatically Update Feed Titles">
+<!ENTITY settings.renderFeeds.label     "Render Feeds In Contents Area">
 <!ENTITY settingWindow.title                    "Sage Settings">
 <!ENTITY selectFolder.label			"Select Feed Folder">
 <!ENTITY uninstall.label			"Uninstall">
-<!ENTITY openInContentsArea.caption		"Open In Contents Area">
+<!ENTITY openInContentsArea.caption		"Feed Rendering">
 <!ENTITY enableUserCss.label			"Use custom CSS">
 <!ENTITY browseCss.label			"Browse...">
 <!ENTITY allowEContent.label			"Allow HTML Tags">
diff --git a/src/sage/locale/en-US/sage.properties b/src/sage/locale/en-US/sage.properties
index ce89f4c..9991618 100755
--- a/src/sage/locale/en-US/sage.properties
+++ b/src/sage/locale/en-US/sage.properties
@@ -1,6 +1,6 @@
 RESULT_OK_STR = OK
 RESULT_PARSE_ERROR_STR = XML Parse Error
-RESULT_NOT_RSS_STR = This XML File Is Not RSS File
+RESULT_NOT_RSS_STR = Feed Parse Error
 RESULT_NOT_FOUND_STR = File Not Found
 RESULT_NOT_AVAILABLE_STR = Not Available URL
 RESULT_ERROR_FAILURE_STR = Load Failure
diff --git a/src/sage/locale/ja-JP/sage.dtd b/src/sage/locale/ja-JP/sage.dtd
index 507126a..4039a0c 100755
--- a/src/sage/locale/ja-JP/sage.dtd
+++ b/src/sage/locale/ja-JP/sage.dtd
@@ -19,6 +19,9 @@
 
 
 <!-- Setting Dialog -->
+<!ENTITY settings.general.caption     "General">
+<!ENTITY settings.autoFeedTitle.label     "Automatically Update Feed Titles">
+<!ENTITY settings.renderFeeds.label     "Render Feeds In Contents Area">
 <!ENTITY settingWindow.title		"設定: RSS リーダパネル">
 <!ENTITY selectFolder.label			"RSS リストフォルダの選択">
 <!ENTITY uninstall.label			"アンインストール">

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/sage-extension.git



More information about the Pkg-mozext-commits mailing list