`

Remove Duplicate Messages扩展用于ThunderBird 3的补丁

    博客分类:
  • XUL
阅读更多

Thunderbird的发展真是够慢的,去年12月就出了3.0 beta1了,现在才出3.0rc1。这一年间每次新的beta版本出来我多试用,一方面是似乎没觉得有多少吸引人的新功能(未认真发掘?),另一方面是因为lightning 等关键扩展不可用的关系,一直没有正式换用v3版本。

这次3.0rc1出来,加上lightning之后试用,觉得基本上可以了,于是正式切换。

但有一个说小不小说大不大的问题让我不爽: 不能删除重复邮件了。旧的Remove Duplicate Messages扩展在v3上用不起来,新的R-D-M Alternative也完全不能工作(AMO上的评价又都还说不错,奇怪)。

今早上着手来解决这个问题,参照R-D-M Alternative的代码来看哪些地方需要修改。结果是搞定了,不过早上的两个多小时都搭进去了, :-)

 

diff -Ner removeduplicates-nosub/chrome/content/removeduplicates/removeduplicates.js removeduplicates-v3/chrome/content/removeduplicates/removeduplicates.js
507,508c
    /*
    if (msgWindow.SelectFolder) {
       msgWindow.SelectFolder( folderList[0].URI );
    }
    else {
      msgWindow.windowCommands.selectFolder( folderList[0].URI );
    }*/
    var x = gDBView;
.
231c
      if (folder.getMessages) {	  
          folderMessages = folder.getMessages(msgWindow);
      } else {
          folderMessages = folder.messages;
      }      
.
diff -Ner removeduplicates-nosub/chrome/content/removeduplicates/showduplicatemessages.js removeduplicates-v3/chrome/content/removeduplicates/showduplicatemessages.js
508,509c
      }      
      msgWindow.windowCommands.selectMessage(null); //FIXME
.
496c
        msgWindow.SelectMessage( message.folder.getUriForMsg (message) );        
      }
      else {
//      msgWindow.windowCommands.selectFolder( message.folder.URI );
        msgWindow.windowCommands.selectMessage( message.folder.getUriForMsg (message) );                                
      }
.
494a
      if (msgWindow.SelectFolder) {
.
493c
      var message = getMessage ( messageTable[i].messageUri );
.
488c
  //var messageToRemove = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
  var messageToRemove = Components.classes["@mozilla.org/array;1"].createInstance(Components.interfaces.nsIMutableArray);
.
329,331c
    if (msgWindow.SelectFolder) {
      msgWindow.SelectFolder( message.folder.URI );
      msgWindow.SelectMessage( message.folder.getUriForMsg (message) );
      msgWindow.SelectMessage( message.folder.getUriForMsg (message) );
    }
    else {
      msgWindow.windowCommands.selectFolder( message.folder.URI );
      msgWindow.windowCommands.selectMessage( message.folder.getUriForMsg (message) );
      msgWindow.windowCommands.selectMessage( message.folder.getUriForMsg (message) );      
    }
.
287c
  if ( messageToRemove.length > 0)
.
282c
        messageToRemove.appendElement ( message, false );
.
278c
          messageToRemove.appendElement ( message, false );
.
274c
      var message = getMessage ( messageTable[i].messageUri );
.
269c

  //var messageToRemove = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
  // nsISupportsArray replaced with nsIArray by Mozilla bug 435290
  var messageToRemove = Components.classes["@mozilla.org/array;1"].createInstance(Components.interfaces.nsIMutableArray);
.

 
0
0
分享到:
评论

相关推荐

    Remove Duplicate Lines:删除文本文件中的重复行-开源

    Test.txt可能是包含重复行的文本文件,用于演示如何使用"Remove Duplicate Lines"。Test_NoDuplicates.txt可能是经过处理后的文件,即所有重复行已被删除,展示了软件的处理效果。 使用"Remove Duplicate Lines" 的...

    删除重复网址*Remove Duplicate URL*去重复url

    删除重复 去重复url 删除重复网址 remove duplicate url 一个国外的删除重复网址软件

    Remove Duplicate Email-crx插件

    "Remove Duplicate Email-crx插件"是一款专门针对电子邮件营销领域设计的Chrome浏览器扩展程序。它旨在帮助用户在进行电子邮件营销活动时,有效地去除邮箱列表中的重复条目,从而提高工作效率和邮件发送的准确性。 ...

    remove_duplicate_files:用于从类似备份目录中删除重复文件的 Python 脚本

    remove_duplicate_files 我有许多包含类似文件的备份。 为了确保我只检查了一次文件,我编写了这个脚本来删除任何重复项。 如果文件位于相同位置,相对于搜索目录,并且具有相同的二进制内容,则文件被视为重复。 ...

    最好用的文件去重Duplicate Cleaner Pro v3.24专业破解版

    该软件提供了用于音乐文件搜索的扩展支持,允许你使用 ID 标签信息(演唱者,标题,专辑等)识别副本音轨。搜索结果在一个类别当中分组显示并且提供一个让你可以根据时期,音频质量,位置以及其它方面快速地选择文件...

    remove-duplicate-items-js-problem:使用JS删除重复项

    删除重复项目标:此分配的目的是使用迭代器或使用诸如Set内置对象从数组中删除重复项。...Add the remote to the starter codegit remote add starter ...问题如果有任何问题,在处提出问题

    ODIR(Outlook Duplicate Items Remover)自动删除outlook重复邮件注册破解

    面对众多的重复邮件,如何可以快速地删除重复邮件,Outlook Duplicate Items Remover ,快速,简单

    重复图片查找软件Duplicate Picture Finder.1.0.5.10汉化版.rar

    Duplicate Picture Finder 1.0.5.10汉化版正是为了解决这个问题而设计的,它是一款专用于查找并管理重复图片的工具。 这款软件的核心功能是查找完全相同的图片以及相似的图片。它采用了先进的图像比对算法,能够在...

    Outlook duplicate items remover

    删除重复邮件,非常好用,使用前务必先关闭OUTLOOK,进去后就好了

    Remove-duplicate-fasta:Python脚本删除重复的Fasta序列

    -Python script to remove whole duplicate fasta sequences i.e identical sequence and header -input file must be in fasta format usage: python remove_duplicate_fasta.py inputfile outputfile 例子: ...

    Duplicate File Cleaner 2.5.4.168注册码

    然而,在真实场景下,这些注册码应该是由软件开发商提供的唯一且合法的密钥,用于激活特定版本的Duplicate File Cleaner软件。 ### 使用注册码激活软件 1. **获取官方注册码**:首先,用户应通过正规渠道购买软件...

    outlook duplicate items remover

    Outlook Duplicate Items Remover是一款专为Microsoft Outlook设计的工具,旨在帮助用户解决电子邮件、联系人、日历项、任务和笔记等重复数据的问题。在Outlook中,由于各种原因(如手动复制、同步错误或软件故障)...

    ODIR(Outlook Duplicate Items Remover)

    用于去除 outlook 中重复的项目,如 邮件 联系人 日历 之类的 免费软件,不过官网 http://www.vaita.com 已变了 好像只能用于 outlook 2007 或 outlook 2003 对于 office 2019 没用 关于 outlook 导出 ics 文件,...

    ORACLE Duplicate复制数据库

    ### ORACLE RMAN DUPLICATE 数据库复制详解 #### 概述 在Oracle环境中,通过RMAN(Recovery Manager)工具可以高效地复制整个数据库。本文将详细介绍如何利用RMAN的`DUPLICATE`命令来实现数据库的复制,并针对两种...

    Oracle RMAN DUPLICATE教程

    通过 RMAN Duplicate,用户可以在不中断生产环境的情况下创建用于测试、开发或灾难恢复目的的数据库副本。 在 **Oracle 11g R2** 版本中,提供了两种主要的方式来创建 Duplicate Database: 1. **Active Database ...

    Rman通过duplicate创建standby

    3. **配置参数文件**: 备用数据库的`init.ora`或`spfile`需要包含特定的参数以定义其作为备用的角色。如描述中所示,`db_name`应设置为备用数据库的名称,`db_unique_name`则用来唯一标识该实例。`log_archive_...

    通过duplicate搭建oracle dataguard环境

    ### Oracle DataGuard 环境搭建详解:使用Duplicate方法 #### 一、Oracle DataGuard简介与应用场景 Oracle DataGuard是一种高可用性和灾难恢复解决方案,它能够保护数据免受逻辑和物理故障的影响。DataGuard通过...

    Vistanita Duplicate Finder

    3. Remove any product identification, copyright, proprietary notices or labels from Vistanita Duplicate Finder. 4. Distribute, re-distribute, rent, lease or sell the licensed version of Vistanita ...

    Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库

    4. 使用 RMAN duplicate 命令:使用 RMAN duplicate 命令从活动数据库复制到 Auxiliary 库,例如:RMAN> DUPLICATE TARGET DATABASE TO Dave2> FROM ACTIVE DATABASE3> NOFILENAMECHECK4> PASSWORD FILE5> SPFILE;...

    Extended Duplicate Options

    为了进一步扩展MAYA的功能,开发者们创造了许多插件,其中之一便是"Extended Duplicate"。这个插件提供了对MAYA内置复制功能的增强,使得在创建复杂的场景或模型时能更加高效和灵活。 Extended Duplicate插件的核心...

Global site tag (gtag.js) - Google Analytics