注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

祝灾区人民早日度过难关

努力工作

 
 
 

日志

 
 

[yc]qterm-0.4.0彩色存盘功能bug修正  

2008-01-07 20:38:29|  分类: IT传奇 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
    bug修正情况:
    1.原来彩色存盘时,控制字符中的[会丢失。现在不会了。
    2.取消了"Copy Colorful Article"的右键菜单项和按钮。把普通存盘(copy article)和彩色存盘(copy Colorful Article)两个功能合并到一个菜单项中。使用时选择:主菜单->Edit->Copy with color ,然后选择右键菜单项"Copy Article"和按钮就能彩色存盘,否则为普通存盘。(操作与Copy功能类似)。这样对代码的改动最小,解决了原来两个功能快捷键和图标雷同的问题,还保证了Qterm中操作的一致性,以方便用户。
    3.关于重复下载问题,似乎很少遇到。
    4.qterm的python模块中的getAttrText方法返回的彩色字符中缺少"["的问题也得到修正。
    5.qterm中不提供额外的接口copyColorfulArticle,只是在原来的copyArticle上增加一个参数colorful,如果为True则为彩色存盘。默认为False,也就是说,与原来的方法的接口是兼容的。
例子copyColorfuleArticle.py:

import qterm
import sys, time

f=open("/home/study/prog/python/qterm/test.txt","w")
lp=long(sys.argv[0])
f.write(qterm.copyArticle(lp, True))
f.close()

    保存为.py文件,然后在qterm主菜单中选择script->run,当前文章就会被彩色保
存到test.txt。

    原理:
    class QTermTextLine类中的getAttrText声明中,默认控制字符是"\x1b\x1b"而不是"\x1b\x1b\x5b",即少了一个"[".
QCString getAttrText( int index = -1, int len = -1, const QCString& escape="\x1b\x1b" );
    当执行Copy操作时,这个控制字符是从配置文件里改的。所以没问题。
    当执行Copy Article时,若选择彩色存盘,则调用的是默认参数的getAttrText,所以导致缺少了一个"[",qterm中的python模块qterm的getAttrText也是同样的原因。
    由于不同的BBS的控制字符可能不同,所以最保险的办法不论是Copy还是Copy Article,都从配置文件里读。
    此外,我把原代码的改动尽量地减少到最低限度。代码中原来的函数接口都不变(qterm提供的python接口是个例外,但是也是与原来的接口兼容的。)只在代码中根据pWin->m_bCopyColor的值来决定是调用getText还是getAttrText。
    若有其它bug,欢迎广大网友fix它们或者和我联系。

附qterm-0.4.0源代码和补丁:
源代码:
http://www.newsmth.net/att.php?p.69.206347.6850.bz2
补丁:
http://www.newsmth.net/att.php?s.69.206347.2253.patch
  评论这张
 
阅读(59)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018