Mercurial > snowl
changeset 70:e7090c3ef207
persist the source ID
author | Myk Melez <myk@mozilla.org> |
---|---|
date | Tue, 13 May 2008 18:25:31 -0700 |
parents | e6c3b67e38ff |
children | ef0473874aa5 |
files | extension/content/river.js |
diffstat | 1 files changed, 26 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/extension/content/river.js Tue May 13 16:03:33 2008 -0700 +++ b/extension/content/river.js Tue May 13 18:25:31 2008 -0700 @@ -109,11 +109,11 @@ this._collection = new SnowlCollection(null, null, true); + this.rebuildSourceMenu(); + this._updateToolbar(); this.writeContent(); - - this.rebuildSourceMenu(); }, uninit: function SH_uninit() { @@ -138,10 +138,24 @@ this._collection.read = false; document.getElementById("unreadButton").checked = true; } + if ("filter" in this._params) { this._collection.filter = this._params.filter; document.getElementById("filterTextbox").value = this._params.filter; } + + if ("sourceID" in this._params) { + this._collection.sourceID = this._params.sourceID; + let menu = document.getElementById("sourceMenu"); + let item; + for (let i = 0; item = menu.getItemAtIndex(i); i++) { + if (item.value == this._params.sourceID) { + menu.selectedItem = item; + break; + } + } + } + }, onCommandUnreadButton: function(aEvent, aButton) { @@ -167,6 +181,13 @@ this._updateURI(); }, + onCommandSourceMenu: function(aEvent) { + let sourceMenu = document.getElementById("sourceMenu"); + this._collection.sourceID = sourceMenu.selectedItem.value; + this.rebuildView(); + this._updateURI(); + }, + _updateURI: function() { let params = []; @@ -176,6 +197,9 @@ if (this._collection.filter) params.push("filter=" + encodeURIComponent(this._collection.filter)); + if (this._collection.sourceID) + params.push("sourceID=" + encodeURIComponent(this._collection.sourceID)); + let query = params.length > 0 ? "?" + params.join("&") : ""; let spec = "chrome://snowl/content/river.xhtml" + query; let uri = Cc["@mozilla.org/network/io-service;1"]. @@ -742,12 +766,6 @@ sourceMenu.appendItem(source.title, source.id); sourceMenu.selectedIndex = 0; - }, - - onCommandSourceMenu: function(aEvent) { - let sourceMenu = document.getElementById("sourceMenu"); - this._collection.sourceID = sourceMenu.selectedItem.value; - this.rebuildView(); } };