[Pkg-mozext-commits] [nostalgy] 09/15: Modernize code and prepare for TB 26.0 (thanks to Jens Hatlak).
Guido Guenther
agx at moszumanska.debian.org
Mon Jul 14 11:15:43 UTC 2014
This is an automated email from the git hooks/post-receive script.
agx pushed a commit to annotated tag debian/0.2.32-1
in repository nostalgy.
commit 69c3eb1871e33c3936e6fe5f94fd37a0f13704ec
Author: alain.frisch <alain.frisch at 56b81dcf-5a2f-0410-9db0-014be2e416ff>
Date: Mon Dec 16 14:04:09 2013 +0000
Modernize code and prepare for TB 26.0 (thanks to Jens Hatlak).
git-svn-id: svn://frisch.fr/nostalgy/trunk@228 56b81dcf-5a2f-0410-9db0-014be2e416ff
---
CHANGES | 3 ++
chrome.manifest | 2 ++
chrome.manifest.pack | 2 ++
components/nostalgy-autocomplete.js | 69 +++++++++++++++++++++++++++++++++++++
config_build.sh | 2 +-
content/edit_prefs.xul | 1 +
content/edit_rule.xul | 2 ++
content/folders.js | 49 +++++++-------------------
content/messageOverlay.xul | 1 +
content/thunderbirdOverlay.xul | 1 +
files | 1 +
install.rdf | 2 +-
12 files changed, 97 insertions(+), 38 deletions(-)
diff --git a/CHANGES b/CHANGES
index 6d2358b..cae2ebc 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+0.2.32
+ - Modernize code and prepare for TB 26.0 (thanks to Jens Hatlak)
+
0.2.31
- Fix for TB >= 20 (thanks to Aaron Solochek)
- Add hot keys for "Move up/down" in the rule edition popup (thanks to Michael vann Rooyen)
diff --git a/chrome.manifest b/chrome.manifest
index ba9a14c..435093a 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -3,3 +3,5 @@ locale nostalgy en-US locale/en-US/
overlay chrome://messenger/content/messenger.xul chrome://nostalgy/content/thunderbirdOverlay.xul
overlay chrome://messenger/content/messageWindow.xul chrome://nostalgy/content/messageOverlay.xul
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://nostalgy/content/composerOverlay.xul
+component {0368fb30-62f8-11e3-949a-0800200c9a66} components/nostalgy-autocomplete.js
+contract @mozilla.org/autocomplete/search;1?name=nostalgy-autocomplete {0368fb30-62f8-11e3-949a-0800200c9a66}
diff --git a/chrome.manifest.pack b/chrome.manifest.pack
index acbab62..e9b1102 100644
--- a/chrome.manifest.pack
+++ b/chrome.manifest.pack
@@ -3,3 +3,5 @@ locale nostalgy en-US jar:chrome/nostalgy.jar!/locale/en-US/
overlay chrome://messenger/content/messenger.xul chrome://nostalgy/content/thunderbirdOverlay.xul
overlay chrome://messenger/content/messageWindow.xul chrome://nostalgy/content/messageOverlay.xul
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://nostalgy/content/composerOverlay.xul
+component {0368fb30-62f8-11e3-949a-0800200c9a66} components/nostalgy-autocomplete.js
+contract @mozilla.org/autocomplete/search;1?name=nostalgy-autocomplete {0368fb30-62f8-11e3-949a-0800200c9a66}
diff --git a/components/nostalgy-autocomplete.js b/components/nostalgy-autocomplete.js
new file mode 100644
index 0000000..eb2b282
--- /dev/null
+++ b/components/nostalgy-autocomplete.js
@@ -0,0 +1,69 @@
+const Cc = Components.classes;
+const Ci = Components.interfaces;
+const Cu = Components.utils;
+
+Cu.import('resource://gre/modules/XPCOMUtils.jsm');
+
+const CLASS_ID = Components.ID('0368fb30-62f8-11e3-949a-0800200c9a66');
+const CLASS_NAME = "Nostalgy Folder Autocomplete";
+const CONTRACT_ID = '@mozilla.org/autocomplete/search;1?name=nostalgy-autocomplete';
+
+
+// nsIAutoCompleteResult implementation
+
+function NostalgyAutoCompleteResult(searchString, results) {
+ const ACR = Ci.nsIAutoCompleteResult;
+ this._searchResult = results.length > 0 ? ACR.RESULT_SUCCESS : ACR.NOMATCH;
+ this._searchString = searchString;
+ this._results = results;
+}
+
+NostalgyAutoCompleteResult.prototype = {
+ _searchString: "",
+ _searchResult: 0,
+ _results: [],
+
+ get searchString() { return this._searchString; },
+ get searchResult() { return this._searchResult; },
+ get defaultIndex() { return 0; },
+ get errorDescription() { return ""; },
+ get matchCount() { return this._results.length; },
+ getValueAt: function(index) { return this._results[index]; },
+ getCommentAt: function(index) { return ""; },
+ getStyleAt: function(index) { return null; },
+ getImageAt : function (index) { return ""; },
+ removeValueAt: function(index, removeFromDb) { this._results.splice(index, 1); },
+ getLabelAt: function(index) { return this._results[index]; },
+ QueryInterface: XPCOMUtils.generateQI([ Ci.nsIAutoCompleteResult ])
+};
+
+
+// nsIAutoCompleteSearch implementation
+
+function NostalgyAutoCompleteSearch() {
+ this.wrappedJSObject = this;
+}
+
+NostalgyAutoCompleteSearch.prototype = {
+ classID: CLASS_ID,
+ classDescription : CLASS_NAME,
+ contractID : CONTRACT_ID,
+ _f: null,
+
+ attachGetValuesFunction: function(f) { this._f = f; },
+
+ startSearch: function(searchString, searchParam, previousResult, listener) {
+ var searchResults = this._f(searchString);
+ var result = new NostalgyAutoCompleteResult(searchString, searchResults);
+ listener.onSearchResult(this, result);
+ },
+
+ stopSearch: function() {},
+
+ QueryInterface: XPCOMUtils.generateQI([ Ci.nsIAutoCompleteSearch ])
+};
+
+
+// XPCOM component creation
+
+const NSGetFactory = XPCOMUtils.generateNSGetFactory([ NostalgyAutoCompleteSearch ]);
diff --git a/config_build.sh b/config_build.sh
index 8d40480..449871e 100644
--- a/config_build.sh
+++ b/config_build.sh
@@ -4,6 +4,6 @@ APP_NAME=nostalgy
CHROME_PROVIDERS="content locale"
CLEAN_UP=0
ROOT_FILES=
-ROOT_DIRS="defaults"
+ROOT_DIRS="defaults components"
BEFORE_BUILD=
AFTER_BUILD=
diff --git a/content/edit_prefs.xul b/content/edit_prefs.xul
index 3618269..ef17467 100644
--- a/content/edit_prefs.xul
+++ b/content/edit_prefs.xul
@@ -111,6 +111,7 @@ shortcuts to move/copy the message to this folder.</label>
<radio value="SaveGo" label="Save+Go"/>
</radiogroup>
<textbox style="width:600px" type="autocomplete" id="folderselect"
+ autocompletesearch="nostalgy-autocomplete"
nostalgyfolderbox="NostalgySelectFolder();"/>
<button label="Create" oncommand="NostalgySelectFolder();"/>
</hbox>
diff --git a/content/edit_rule.xul b/content/edit_rule.xul
index d178e93..2820efc 100644
--- a/content/edit_rule.xul
+++ b/content/edit_rule.xul
@@ -42,6 +42,7 @@
<label value="when message is under folder"/>
<textbox type="autocomplete" id="underselect"
normaltab="true"
+ autocompletesearch="nostalgy-autocomplete"
nostalgyfolderbox="NostalgyChooseUnder();"/>
</row>
@@ -49,6 +50,7 @@
<label value="then save to"/>
<textbox type="autocomplete" id="folderselect"
normaltab="true"
+ autocompletesearch="nostalgy-autocomplete"
nostalgyfolderbox="NostalgyChooseFolder();"/>
</row>
</rows>
diff --git a/content/folders.js b/content/folders.js
index 721b3b6..d49f466 100644
--- a/content/folders.js
+++ b/content/folders.js
@@ -131,31 +131,15 @@ function NostalgyFolderMatch(f,reg) {
}
}
-function NostalgyAutocomplete(box) {
- this.box = box;
- this.xresults =
- Components.classes[
- "@mozilla.org/autocomplete/results;1"
- ].getService(Components.interfaces.nsIAutoCompleteResults);
-}
-
-NostalgyAutocomplete.prototype.onStartLookup =
- function(text, results, listener) {
- var items = this.xresults.items;
+function NostalgyGetAutoCompleteValuesFunction(box) {
+ return function NostalgyGetAutoCompleteValues(text) {
+ var values = [];
var nb = 0;
- items.Clear();
var add_folder = function (fname) {
- var newitem =
- Components.classes[
- "@mozilla.org/autocomplete/item;1"
- ].createInstance(Components.interfaces.nsIAutoCompleteItem);
- newitem.value = NostalgyCrop(fname);
-
- items.AppendElement(newitem);
+ values.push(NostalgyCrop(fname));
nb++;
};
-
var f = function (folder) { add_folder(NostalgyFolderName(folder)); };
if (text == "") {
@@ -188,27 +172,15 @@ NostalgyAutocomplete.prototype.onStartLookup =
nostalgy_search_folder_options.do_tags =
nostalgy_completion_options.always_include_tags ||
(text.substr(0,1) == ":");
- NostalgyIterateMatches(text, this.box.shell_completion, f);
+ NostalgyIterateMatches(text, box.shell_completion, f);
if (nb == 0 && !nostalgy_search_folder_options.do_tags) {
nostalgy_search_folder_options.do_tags = true;
- NostalgyIterateMatches(text, this.box.shell_completion, f);
+ NostalgyIterateMatches(text, box.shell_completion, f);
}
}
- this.xresults.searchString = text;
- this.xresults.defaultItemIndex = 0;
- listener.onAutoComplete(this.xresults, 1);
+ return values;
};
-
-NostalgyAutocomplete.prototype.onStopLookup =
- function() { };
-NostalgyAutocomplete.prototype.onAutoComplete =
- function(text, results, listener){ };
-
-NostalgyAutocomplete.prototype.QueryInterface =
-function(iid) {
- if (iid.equals(Components.interfaces.nsIAutoCompleteSession)) return this;
- throw Components.results.NS_NOINTERFACE;
}
function NostalgyStartLookup() {
@@ -310,7 +282,12 @@ function NostalgyFolderSelectionBox(box) {
}
box.shell_completion = false;
- box.addSession(new NostalgyAutocomplete(box));
+ var nac =
+ Components
+ .classes["@mozilla.org/autocomplete/search;1?name=nostalgy-autocomplete"]
+ .getService()
+ .wrappedJSObject;
+ nac.attachGetValuesFunction(NostalgyGetAutoCompleteValuesFunction(box));
box.processInput = NostalgyProcessInput;
box.processKeyPress = NostalgyProcessKeyPress;
box.startLookup = NostalgyStartLookup;
diff --git a/content/messageOverlay.xul b/content/messageOverlay.xul
index 666270a..2606588 100644
--- a/content/messageOverlay.xul
+++ b/content/messageOverlay.xul
@@ -26,6 +26,7 @@
<statusbarpanel flex="1">
<label id="nostalgy-command-label"/>
<textbox id="nostalgy-folderbox" type="autocomplete" tabScrolling="true"
+ autocompletesearch="nostalgy-autocomplete"
ontextentered="NostalgyRunCommand();"
ontextcommand="NostalgyRunCommand();"
ontextreverted="NostalgyHide(true);"
diff --git a/content/thunderbirdOverlay.xul b/content/thunderbirdOverlay.xul
index d668c4c..b911fc2 100644
--- a/content/thunderbirdOverlay.xul
+++ b/content/thunderbirdOverlay.xul
@@ -39,6 +39,7 @@
<statusbarpanel flex="1">
<label id="nostalgy-command-label"/>
<textbox id="nostalgy-folderbox" type="autocomplete" tabScrolling="true"
+ autocompletesearch="nostalgy-autocomplete"
ontextentered="NostalgyRunCommand();"
ontextcommand="NostalgyRunCommand();"
ontextreverted="NostalgyHide(true);"
diff --git a/files b/files
index 7737634..63b8aab 100644
--- a/files
+++ b/files
@@ -19,5 +19,6 @@ content/about.xhtml
locale/en-US/nostalgy.properties
locale/en-US/nostalgy.dtd
defaults/preferences/nostalgy.js
+components/nostalgy-autocomplete.js
install.rdf
chrome.manifest
diff --git a/install.rdf b/install.rdf
index d254814..a2104fe 100644
--- a/install.rdf
+++ b/install.rdf
@@ -5,7 +5,7 @@
<RDF:Description RDF:about="urn:mozilla:install-manifest"
em:id="nostalgy at alain.frisch"
em:name="Nostalgy"
- em:version="0.2.31"
+ em:version="0.2.34"
em:creator="Alain Frisch"
em:description="Adds shortcuts to change folder, move message, with folder completion"
em:homepageURL="http://alain.frisch.fr/soft_mozilla.html"
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/nostalgy.git
More information about the Pkg-mozext-commits
mailing list