[Pkg-mozext-commits] [nostalgy] 49/252: *** empty log message ***

David Prévot taffit at moszumanska.debian.org
Tue Jun 14 15:24:40 UTC 2016


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

taffit pushed a commit to branch master
in repository nostalgy.

commit bed1e538ac32dbe25770ca83234bf20bfaa6960f
Author: frisch <frisch at 56b81dcf-5a2f-0410-9db0-014be2e416ff>
Date:   Wed Nov 8 14:34:51 2006 +0000

    *** empty log message ***
---
 CHANGES                |  2 ++
 content/about.xhtml    |  5 +++--
 content/edit_prefs.js  | 53 ++++++++++++++++++++++++++++++++++++++++++--------
 content/edit_prefs.xul |  5 ++++-
 content/edit_rule.js   | 10 ++++++----
 content/edit_rule.xul  | 14 ++++++-------
 content/nostalgy.js    | 27 ++++++++++++++++++++-----
 files                  | 16 +++++++--------
 8 files changed, 95 insertions(+), 37 deletions(-)

diff --git a/CHANGES b/CHANGES
index 28808f8..1d21f71 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,8 @@ Since 0.1.9
   - triple Escape to clear the quick search box
   - double Escape in composer to focus on the message body
   - Escape-A in composer to open the AttachFile dialog
+  - allow to move rules up/down
+  - rules can match on recipients (To/Cc)
 
 0.1.9
   - allow installation on Thunderbird 2.0b1
diff --git a/content/about.xhtml b/content/about.xhtml
index aa066d5..cf903cc 100644
--- a/content/about.xhtml
+++ b/content/about.xhtml
@@ -105,8 +105,9 @@ uppercase, you don't need to press Shift.</p>
    <h3>Rules</h3>
 
    <p>Nostalgy has a notion of rule. A rule associates a folder to a
-   message by looking for a substring of the Sender or Subject (or both)
-   headers. A rule can be restricted to match messages only under
+   message by looking for a substring of the From or To/Cc, or Subject 
+   headers (or a combination of them). 
+   A rule can be restricted to match messages only under
    a given server/folder. When a rule selects a folder for a given message,
     Nostalgy
    informs you in the status line.  You can then use the Shift-S/Shift-C
diff --git a/content/edit_prefs.js b/content/edit_prefs.js
index f3d80dc..ccf961f 100644
--- a/content/edit_prefs.js
+++ b/content/edit_prefs.js
@@ -37,12 +37,11 @@ var boolPrefs = [
 function SetItem(item, rule) {
   var f = item.childNodes.item(0);
   var lab = "";
-  if (rule.field == "any") { lab = "Any"; }
-  else if (rule.field == "sender") { lab = "Sender"; }
-  else if (rule.field == "subject") { lab = "Subject"; }
-  else alert("Internal error: unknown field " + rule.field);
+  if (rule.sender) lab = lab + "F";
+  if (rule.recipients) lab = lab + "R";
+  if (rule.subject) lab = lab + "S";
 
-  f.setAttribute("value", rule.field);
+  f.setAttribute("value", lab);
   f.setAttribute("label", lab);
 
   item.childNodes.item(1).setAttribute("label", rule.contains);
@@ -57,10 +56,13 @@ function SetItem(item, rule) {
 }
 
 function RuleOfItem(item) {
+ var fields = item.childNodes.item(0).getAttribute("value");
  return ({ folder: item.childNodes.item(3).getAttribute("value"),
            under: item.childNodes.item(2).getAttribute("value"),
 	   contains: item.childNodes.item(1).getAttribute("label"),
-	   field: item.childNodes.item(0).getAttribute("value") });
+           sender: fields.indexOf("F") >= 0,
+           recipients: fields.indexOf("R") >= 0,
+           subject: fields.indexOf("S") >= 0 });
 }
 
 function CreateItem(rule) {
@@ -69,6 +71,15 @@ function CreateItem(rule) {
   item.appendChild(document.createElement("listcell"));
   item.appendChild(document.createElement("listcell"));
   item.appendChild(document.createElement("listcell"));
+ 
+  // convert from previous version
+  if (rule.field == "any") { 
+   rule.sender = true;
+   rule.recipients = true;
+   rule.subject = true;
+  } else if (rule.field == "sender") rule.sender = true
+  else if (rule.field == "subject") rule.subject = true;
+
   SetItem(item,rule);
   gList.appendChild(item);
   gList.selectedItem = item;
@@ -77,7 +88,9 @@ function CreateItem(rule) {
 
 function StrOfRule(rule) {
   return (
-   "{field: '"    + rule.field            + "'," +
+   "{sender: '"   + rule.sender           + "'," +
+   " recipients:'"+ rule.recipients       + "'," +
+   " subject:  '" + rule.subject          + "'," +
    " contains:  " + rule.contains.quote() + "," +
    " under:  "    + rule.under.quote()    + "," +
    " folder:  "   + rule.folder.quote()   + "}"
@@ -110,6 +123,29 @@ function DoEdit() {
   }
 }
 
+function SwapItems(idx1,idx2) {
+  var item1 = gList.getItemAtIndex(idx1);
+  var item2 = gList.getItemAtIndex(idx2);
+  var rule1 = RuleOfItem(item1);
+  var rule2 = RuleOfItem(item2);
+  SetItem(item1,rule2);
+  SetItem(item2,rule1);
+  gList.selectedIndex = idx2;
+  gList.ensureIndexIsVisible(idx2);
+}
+
+function DoMoveUp(idx1,idx2) {
+  var idx = gList.selectedIndex;
+  if (idx == 0) return;
+  SwapItems(idx,idx-1);
+}
+
+function DoMoveDown(idx1,idx2) {
+  var idx = gList.selectedIndex;
+  if (idx == gList.getRowCount() - 1) return;
+  SwapItems(idx,idx+1);
+}
+
 function onAcceptChanges() {
   var prefs = Components.classes["@mozilla.org/preferences-service;1"].
                          getService(Components.interfaces.nsIPrefBranch);
@@ -123,7 +159,8 @@ function onAcceptChanges() {
 }
 
 function DoNewRule() {
-  EditRule({ field:"any", contains:"", folder:"", under:"" }, CreateItem);
+  EditRule({ sender:true, recipients:true, subject:true, 
+             contains:"", folder:"", under:"" }, CreateItem);
 }
 
 function DoDelete() {
diff --git a/content/edit_prefs.xul b/content/edit_prefs.xul
index 3d704dd..6a2e772 100644
--- a/content/edit_prefs.xul
+++ b/content/edit_prefs.xul
@@ -43,7 +43,10 @@ shortcuts to move/copy the message to this folder.</label>
   <hbox>
   <button label="Edit" accesskey="E" oncommand="DoEdit();"/>
   <button label="Delete" accesskey="D" oncommand="DoDelete();"/>
-  <button label="New rule" accesskey="N" oncommand="DoNewRule();"/>
+  <button label="New" accesskey="N" oncommand="DoNewRule();"/>
+  <separator orient="vertical"/>
+  <button label="Move up" oncommand="DoMoveUp();"/>
+  <button label="Move down" oncommand="DoMoveDown();"/>
   </hbox>
  </vbox>
  </groupbox>
diff --git a/content/edit_rule.js b/content/edit_rule.js
index 98acb76..627fded 100644
--- a/content/edit_rule.js
+++ b/content/edit_rule.js
@@ -2,7 +2,6 @@ function gEBI(id) { return (document.getElementById(id)); }
 
 var gFolderSelect = null;
 var gContainsSelect = null;
-var gFieldSelect = null;
 var gUnderSelect = null;
 
 function onNostalgyLoad() {
@@ -10,7 +9,6 @@ function onNostalgyLoad() {
  if (!rule) { alert("rule=null!"); }
 
  gContainsSelect = gEBI("contains");
- gFieldSelect = gEBI("field");
  gFolderSelect = gEBI("folderselect");
  NostalgyFolderSelectionBox(gFolderSelect);
  gUnderSelect = gEBI("underselect");
@@ -21,7 +19,9 @@ function onNostalgyLoad() {
  gFolderSelect.value = rule.folder;
  gUnderSelect.value = rule.under;
  gContainsSelect.value = rule.contains;
- gFieldSelect.selectedItem = gEBI(rule.field);
+ gEBI("sender").checked = rule.sender;
+ gEBI("recipients").checked = rule.recipients;
+ gEBI("subject").checked = rule.subject;
 }
 
 function onAcceptChanges() {
@@ -35,7 +35,9 @@ function onAcceptChanges() {
    return false;
  }
  var rule = { 
-    field: gFieldSelect.selectedItem.getAttribute("id"),
+    sender: gEBI("sender").checked,
+    recipients: gEBI("recipients").checked,
+    subject: gEBI("subject").checked,
     contains: gContainsSelect.value,
     folder: folder_name(folder),
     under: gUnderSelect.value
diff --git a/content/edit_rule.xul b/content/edit_rule.xul
index 36b3e8b..36e4f01 100644
--- a/content/edit_rule.xul
+++ b/content/edit_rule.xul
@@ -24,23 +24,21 @@
 
   <rows>
     <row>
-      <label value="If header"/>
-      <radiogroup id="field">
+      <label value="Look header(s)"/>
       <hbox>
-        <radio id="sender" label="Sender"/>
-        <radio id="subject" selected="true" label="Subject"/>
-        <radio id="any" label="Sender or Subject"/>
+      <checkbox id="sender" label="From"/>  
+      <checkbox id="recipients" label="To/Cc"/>  
+      <checkbox id="subject" label="Subject"/>  
       </hbox>
-      </radiogroup>
    </row>
 
     <row>
-      <label value="contains"/>
+      <label value="for substring"/>
       <textbox id="contains"/>
     </row>
 
     <row>
-      <label value="and message folder is under"/>
+      <label value="when message is under folder"/>
       <textbox type="autocomplete" tabScrolling="true" id="underselect"
              flex="3" maxrows="15" crop="end" ontextcommand="ChooseUnder();"/>
     </row>
diff --git a/content/nostalgy.js b/content/nostalgy.js
index 94877e4..085dc06 100644
--- a/content/nostalgy.js
+++ b/content/nostalgy.js
@@ -56,7 +56,17 @@ var NostalgyRules =
      var r = eval(this._branch.getCharPref("rules"));
      var i;
      for (i = 0; i < r.length; i++) {
-       r[i].contains = r[i].contains.toLowerCase();
+       var rule = r[i];
+       rule.contains = rule.contains.toLowerCase();
+       // convert from previous version
+       if (rule.field) {
+       if (rule.field == "any") { 
+        rule.sender = true;
+        rule.recipients = true;
+        rule.subject = true;
+       } else if (rule.field == "sender") rule.sender = true
+       else if (rule.field == "subject") rule.subject = true;
+       }
      }
      this.rules = r;
     } catch (ex) { }
@@ -89,7 +99,7 @@ var NostalgyRules =
     }
   },
 
-  apply: function(sender,subject)
+  apply: function(sender,subject,recipients)
   {
     var folder = null;
     var rules = this.rules;
@@ -97,8 +107,9 @@ var NostalgyRules =
     var current_folder = full_folder_name(gDBView.msgFolder);
     for (i = 0; (i < rules.length) && (!folder); i++) {
       var r = rules[i];
-      if (((r.field != "subject") && (sender.indexOf(r.contains) >= 0)
-          || (r.field != "sender") && (subject.indexOf(r.contains) >= 0))
+      if (((r.subject && (subject.indexOf(r.contains) >= 0))
+        ||(r.sender && (sender.indexOf(r.contains) >= 0))
+        ||(r.recipients && (recipients.indexOf(r.contains) >= 0)))
          && (current_folder.indexOf(r.under) == 0))
       {
         folder = FindFolderExact(r.folder);
@@ -209,6 +220,11 @@ function NostalgyRunCommand() {
   NostalgyHide();
 }
 
+function MailRecipients() {
+ var hdr = gDBView.hdrForFirstSelectedMessage;
+ return((hdr.recipients + ", " + hdr.ccList).toLowerCase());
+}
+
 function MailAuthor() {
  return(gDBView.hdrForFirstSelectedMessage.author.toLowerCase());
 }
@@ -227,7 +243,7 @@ function register_folder(folder) {
 function NostalgySuggest() {
  var r = null;
  try {
-  r = NostalgyRules.apply(MailAuthor(), MailSubject());
+  r = NostalgyRules.apply(MailAuthor(), MailSubject(), MailRecipients());
   if (r) { return(r); }
  } catch (ex) { }
 
@@ -332,6 +348,7 @@ function NostalgyEscape(ev) {
     300);
   if (NostalgyEscapePressed == 3) onClearSearch();
   if (NostalgyEscapePressed == 2) SetFocusThreadPane();
+  alert(MailRecipients());
 }
 
 function onNostalgyKeyPress(ev) {
diff --git a/files b/files
index 0d4123a..8b27024 100644
--- a/files
+++ b/files
@@ -1,17 +1,15 @@
-content/.#nostalgy.js.1.3
-content/thunderbirdOverlay.xul
-content/about.xhtml
 content/about.xul
-content/edit_prefs.js
 content/edit_prefs.xul
-content/edit_rule.js
+content/thunderbirdOverlay.xul
+content/composer.js
+content/messageOverlay.xul
+content/about.xhtml
 content/edit_rule.xul
 content/folders.js
-content/messageOverlay.xul
-content/nostalgy.js
-content/.#nostalgy.js.1.15
-content/composer.js
+content/edit_rule.js
 content/composerOverlay.xul
+content/edit_prefs.js
+content/nostalgy.js
 locale/en-US/nostalgy.dtd
 locale/en-US/nostalgy.properties
 defaults/preferences/nostalgy.js

-- 
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