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

本文分享了作者从Thunderbird早期版本升级到3.0 RC1的使用体验,重点介绍了如何解决新版中无法删除重复邮件的问题,并通过修改相关扩展实现该功能。

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);
.

 
内容概要:本文介绍了一个关于三相桥式全控整流及有源逆变电路的实验仿真模型,重点研究三相整流器与逆变器在Simulink环境下的建模与仿真技术。内容涵盖电力电子变换器的工作原理、控制策略设计、系统动态响应分析,并进一步扩展至10kV配电网中不同中性点接地方式(中性点不接地、经小电阻接地、经消弧线圈接地)下的单相、两相短路接地及相间短路故障的仿真研究,全面呈现了电力系统典型故障的暂态特性。此外,文档还整合了丰富的科研资源,涵盖电力系统优化、新能源并网、故障诊断、微电网调度等多个前沿方向,充分体现了Matlab/Simulink在电气工程仿真中的核心地位和广泛应用价值。; 适合人群:电气工程、自动化、电力电子等相关专业的高校学生、科研人员及工程技术人员,具备一定的电路理论基础和仿真软件操作经验者更佳。; 使用场景及目标:①用于教学实验中帮助理解三相整流与逆变电路的工作机制;②支撑科研项目中对电力系统故障特性的建模与分析;③作为开发新型控制算法(如PWM控制、低电压穿越等)的仿真验证平台;④辅助完成毕业设计、课题研究或工程方案评估; 阅读建议:此资源以Simulink仿真实现为核心,强调理论与实践结合,建议读者在学习过程中同步搭建模型,动手调试参数,深入理解各模块功能与系统整体行为,同时可参考文中提供的完整资源链接拓展研究视野。
内容概要:本文介绍了一个关于风光制氢合成氨系统优化研究的论文复现资源,依托Cplex求解器在Matlab环境中实现系统建模与求解。该资源聚焦于新能源耦合系统,涵盖风能、太阳能发电制氢,并进一步合成氨的全流程能量管理与优化调度,通过数学建模与优化算法实现系统经济性与运行效率的最大化。内容不仅包括风光出力不确定性处理、电解水制氢、氢气储存与转化、氨合成工艺等关键环节的建模,还整合了多种智能优化算法与电力系统调度策略,如二阶锥规划、多目标优化与需求响应机制,旨在为科研人员提供一套完整的综合能源系统优化研究框架与代码实现范例。; 适合人群:具备一定电力系统、优化理论及Matlab编程基础的研究生、科研人员及工程技术人员,尤其适合从事新能源系统优化、综合能源系统规划、氢能与氨能转化等前沿方向的研究者。; 使用场景及目标:① 复现高水平期刊论文中的风光制氢合成氨系统优化模型,掌握Cplex在Matlab中的建模与求解流程;② 学习并应用二阶锥规划、多目标优化、需求响应等先进优化方法于综合能源系统科研项目中;③ 借助提供的完整Matlab代码案例,快速搭建仿真环境,加速科研进程,提升学术创新能力与工程实践水平。; 阅读建议:此资源以科研复现为核心,强调理论与实践深度融合,建议读者在学习过程中结合文档中的代码实例,逐步调试与理解模型构建逻辑,并尝试进行参数调整与模型拓展,以深化对综合能源系统多能耦合与优化调度机制的理解与应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值