txtreader-0.6.5/0000755000000000000000000000000011540043322012214 5ustar rootroottxtreader-0.6.5/i18n/0000755000000000000000000000000011531132103012767 5ustar rootroottxtreader-0.6.5/i18n/txtreader_English.qm0000775000000000001440000000600711537665262017227 0ustar rootuserse>) 2 D6Zcb!p (^8rbm_zb-22a7I^ GNc6ʴ5E j pU  OcT Vb 5B D z k B: d  # Q P;i U%1 TxtReader&%1 %2 TxtReader&About TxtReader &Add Bookmark TxtReader&Back TxtReader &Background TxtReader &Bg color TxtReader &Bg image TxtReader &Bookmark TxtReader&Changes TxtReader &Clear All TxtReader&Close TxtReader&Codec TxtReader&Color TxtReader &Del Current TxtReader&Exit Fullscreen TxtReader&Find TxtReader&Font TxtReader &Full Screen TxtReader&GB2312 TxtReader&Go Back TxtReader&Hide TxtReader &Instruction TxtReader&Jump TxtReader &Language TxtReader&Next TxtReader&Open TxtReader&Quit TxtReader&Reset TxtReader&Restore TxtReader&Search TxtReader &Set Font TxtReader&UTF-8 TxtReader&Zoom In TxtReader &Zoom Out TxtReaderf<p align=center>Txt Reader %1 </p><p align=right> Design by <a href='http://code.google.com/p/txtreader4linux/' target=_blank>lsyer</a></p><p align=center>CopyLeft(C)2006-2011</p>

Txt Reader %1

Design by lsyer

CopyLeft(C)2006-YEAR

 TxtReaderAbout TxtReader*Cannot read file,please contact to author! TxtReaderUFailed to read file %1. Perhaps it is not there, or you don't have access permission. TxtReaderJump to: TxtReader Open new file TxtReaderPage %1 /Total %2 TxtReaderPlease input the mark: TxtReaderRead File Failed TxtReaderSearch: TxtReaderSelect bg-image TxtReaderSet Font - Txt Reader %1 TxtReaderTxtReader Changes TxtReader(picture files (*.png *.jpg *.jpeg *.gif) TxtReadertext files (*.txt) TxtReader txtreader_%1 TxtReadertxtreader-0.6.5/i18n/txtreader_English.ts0000775000000000001440000002263711537665271017247 0ustar rootusers TxtReader Page %1 /Total %2 Cannot read file,please contact to author! &Changes TxtReader Changes Read File Failed Failed to read file %1. Perhaps it is not there, or you don't have access permission. &Close &GB2312 &UTF-8 &%1 %2 Open new file text files (*.txt) <p align=center>Txt Reader %1 </p><p align=right> Design by <a href='HOMEPAGE' target=_blank>lsyer</a></p><p align=center>CopyLeft(C)2006-YEAR</p> <p align=center>Txt Reader %1 </p><p align=right> Design by <a href='http://code.google.com/p/txtreader4linux/' target=_blank>lsyer</a></p><p align=center>CopyLeft(C)2006-2011</p> &Back Jump to: Search: Please input the mark: %1 Select bg-image picture files (*.png *.jpg *.jpeg *.gif) &Open &Jump &Add Bookmark &Find &Next &Zoom In &Zoom Out &Set Font &Color &Bg color &Bg image &Reset &Full Screen &Exit Fullscreen &Hide &Restore &Quit &About &Search &Instruction About txtreader_%1 Set Font - Txt Reader %1 &Del Current &Clear All &Language &Bookmark &Font &Background &Codec &Go Back txtreader-0.6.5/i18n/txtreader_zh_CN.qm0000775000000000001440000000753711537665333016647 0ustar rootusers) ;2$ rT6BZvcbp n<^rb _zb22 y7I^ G 2Nc6ʴ5 j/ pUf Oc Vb 5   5 B: dj  Q ;%i %1%1 TxtReader &%1 %2&%1 %2 TxtReader(&A)Qs N&About TxtReader(&A)mRNf{~ &Add Bookmark TxtReader(&B) V&Back TxtReader(&B) fo &Background TxtReader(&C) r &Bg color TxtReader(&P)V rG &Bg image TxtReader(&B)Nf {~ &Bookmark TxtReader(&C)fee_&Changes TxtReader(&C)ndb@g  &Clear All TxtReader(&C)Qs &Close TxtReader(&C) x&Codec TxtReader(&C) r&Color TxtReader(&D)R d_SRM &Del Current TxtReader(&N)QQh\O&Exit Fullscreen TxtReader (&F)gb~&Find TxtReader(&F)[W OS&Font TxtReader(&F)Qh \O &Full Screen TxtReader&GB2312&GB2312 TxtReader(&G)Vޖ&Go Back TxtReader(&H) &Hide TxtReader(&I)Ou(cSW &Instruction TxtReader(&J) l&Jump TxtReader&Language &Language TxtReader(&N)N NN*&Next TxtReader(&O)bS _&Open TxtReader(&Q) Q&Quit TxtReader(&D) &Reset TxtReader(&R)`b Y &Restore TxtReader(&S)d }"&Search TxtReader(&A) n &Set Font TxtReader &UTF-8&UTF-8 TxtReader&F)e> Y'&Zoom In TxtReader(&S)) \ &Zoom Out TxtReaderf<p align=center>Txt Reader %1 </p><p align=right> Design by <a href='http://code.google.com/p/txtreader4linux/' target=_blank>lsyer</a></p><p align=center>CopyLeft(C)2006-2011</p>

Txt Reader %1

Design by lsyer

CopyLeft(C)2006-YEAR

 TxtReaderQsNAbout TxtReaderSeN T|O\!*Cannot read file,please contact to author! TxtReader8SeN%1Y1%0\nSeNN [XW( blg gCP0UFailed to read file %1. Perhaps it is not there, or you don't have access permission. TxtReaderlR0:Jump to: TxtReader bS_eeN Open new file TxtReader{, %1 u/Qq %2 uPage %1 /Total %2 TxtReader Qeh{~:Please input the mark: TxtReader SeNY1%Read File Failed TxtReaderd}":Search: TxtReader bfoVrGSelect bg-image TxtReader([WOSn - Txt Reader %1Set Font - Txt Reader %1 TxtReaderTxtReaderfee_TxtReader Changes TxtReader>VPeN (*.png *.jpg *.jpeg *.gif)(picture files (*.png *.jpg *.jpeg *.gif) TxtReadereg,eN (*.txt)text files (*.txt) TxtReader txtreader_%1 TxtReadertxtreader-0.6.5/i18n/txtreader_zh_CN.ts0000775000000000001440000002442011537665335016650 0ustar rootusers TxtReader Page %1 /Total %2 第 %1 页/共 %2 页 Cannot read file,please contact to author! 读取文件错误,请联系作者! &Changes (&C)更新日志 TxtReader Changes TxtReader更新日志 Read File Failed 读取文件失败 Failed to read file %1. Perhaps it is not there, or you don't have access permission. 读取文件%1失败。\n可能文件不存在,或者没有访问权限。 &Close (&C)关 闭 &GB2312 &GB2312 &UTF-8 &UTF-8 &%1 %2 &%1 %2 Open new file 打开新文件 text files (*.txt) 文本文件 (*.txt) <p align=center>Txt Reader %1 </p><p align=right> Design by <a href='HOMEPAGE' target=_blank>lsyer</a></p><p align=center>CopyLeft(C)2006-YEAR</p> <p align=center>Txt Reader %1 </p><p align=right> Design by <a href='http://code.google.com/p/txtreader4linux/' target=_blank>lsyer</a></p><p align=center>CopyLeft(C)2006-2011</p> &Back (&B)返 回 Jump to: 跳转到: Search: 搜索: Please input the mark: 请输入标签: %1 %1 Select bg-image 选择背景图片 picture files (*.png *.jpg *.jpeg *.gif) 图像文件 (*.png *.jpg *.jpeg *.gif) &Open (&O)打 开 &Jump (&J)跳 转 &Add Bookmark (&A)添加书签 &Find (&F)查找 &Next (&N)下一个 &Zoom In &F)放 大 &Zoom Out (&S)缩 小 &Set Font (&A)设 置 &Color (&C)颜 色 &Bg color (&C)颜 色 &Bg image (&P)图 片 &Reset (&D)重 设 &Full Screen (&F)全 屏 &Exit Fullscreen (&N)退出全屏 &Hide (&H)隐 藏 &Restore (&R)恢 复 &Quit (&Q)退 出 &About (&A)关 于 &Search (&S)搜 索 &Instruction (&I)使用指南 About 关于 txtreader_%1 Set Font - Txt Reader %1 字体设置 - Txt Reader %1 &Del Current (&D)删除当前 &Clear All (&C)清除所有 &Language &Language &Bookmark (&B)书 签 &Font (&F)字 体 &Background (&B)背 景 &Codec (&C)编 码 &Go Back (&G)返回阅读 txtreader-0.6.5/icon.ico0000775000000000001440000000627610741040320014044 0ustar rootusers  ( @NNLLNNLLS S Q Q 䵊䵊j)j)h&h&f$f$d!d!aa__]]S S Q Q 䵊䵊j)j)h&h&f$f$d!d!aa__]]WW䵊䵊q2q2o/o/䵊䵊䵊䵊䵊䵊䵊䵊䵊䵊bbWW䵊䵊q2q2o/o/䵊䵊䵊䵊䵊䵊䵊䵊䵊䵊bb__䵊䵊սսu8u8ަq2q2n0n0䵊䵊e#e#__䵊䵊սսu8u8ަq2q2n0n0䵊䵊e#e#g%g%䵊䵊z>z>q3q3o0o0䵊䵊j*j*g%g%䵊䵊z>z>q3q3o0o0䵊䵊j*j*p0p0䵊䵊Dz~D~Ds5s5䵊䵊n0n0p0p0䵊䵊Dz~D~Ds5s5䵊䵊n0n0u7u7ϷJJx{>ٺNN|A|A䵊䵊x;x;{>{>ٺNN|A|A䵊䵊x;x;EE㾉SSFF䵊䵊|A|AEE㾉SSFF䵊䵊|A|ALLWWKK䵊䵊GGLLWWKK䵊䵊GGSSÐ[Ð[QQNNLLSSÐ[Ð[QQNNLLďZďZGGő\ő\ďZďZUUďZďZGGő\ő\ďZďZUUɕaɕaSSő]ő]Đ[Đ[ÏYÏYɕaɕaSSő]ő]Đ[Đ[ÏYÏYʗbʗbǓ_Ǔ_ʗbʗbǓ_Ǔ_txtreader-0.6.5/images/0000755000000000000000000000000011537316153013474 5ustar rootroottxtreader-0.6.5/images/about.png0000775000000000001440000000107510615761116015512 0ustar rootusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDAT8kZQϠ.I BE!di.Btp BYZȞ(CS`#}tX %;\ι?*'LFiTh("2VsضM𖵵#eY""2,QU?nooq!lmmQ.1 Cssxxt~R++FVGeǡr~N^'43CR?; F%a+>5|< UZ'/377b677\cv:\/"p8>,ۦNn˲ƚ* oױMj^ET"LR,~ Y\TjA⒅8< xhض.FA8yGPZ( tg=UdZ`2 @xfXIENDB`txtreader-0.6.5/images/search.png0000644000000000000000000000130511306622667015452 0ustar rootrootPNG  IHDRabKGDC pHYs oy7IDAT8˵OkAN$B֘`#x7"rhC`V, M%9l1TI[n*dgggwl潼?$ |666¹\f<~BzX,NӝBp:%xxyyIW'li畕s,G9>uWBKb1)hf|`LNN] e1fYQ`0xV;1IclB" J)t]S'Xz7F˘-Z!ak곅<kT*eŋ>B_ߧ;;[eW*h6Aq<̍X*KC4cp( 6Aw~w4L$.ᡀ.be~|pka#Jp6>V'M=e gMY$|/ O1Nc l?&hdD׵R"akۅQjkIx{4}1o ( ܭ"zTXtSoftwarex+//.NN,H/J6XS\IENDB`txtreader-0.6.5/images/bg.png0000775000000000001440000000124110630561140014753 0ustar rootusersPNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<3IDAT8?haƟ.i]/$FiJE.UHqs($f%j' -.@QB^|9Dmh}ܽ;#-PJGBJIȅG*]~*6'xa_=%+S0 SH|t݀!ÑS&C3PꐡUpPkktK+`9!lf(5t+VZ]62AR Mb|n$rsDoWP]nĖSI@`d ־qx N@#D{iGV<:G" i(B@ ܆pAZ?#i% A6Sh%0pku b&N{^(<{|U h+rϦ"A 7se4RJAK?G1)*?ױ:wQd!B4s1V n-AǏ-GMNKd#BD$ʖ̂iIENDB`txtreader-0.6.5/images/bgcolor.png0000775000000000001440000000121710630561140016015 0ustar rootusersPNG  IHDRabKGD pHYs  ~tIME 1# tEXtCommentCreated with The GIMPd%nIDAT8˥MkQ33X41 ]kB7e.BUФ֍h FӦEZIxW8} }]/ΕIIZ&d8JWqζO#^vF|qNݽ^mmX۬|@lo/zw ?q.icuoX;m6.[Nz7!\~c8'td  z- 0,b|\Ao$LF e΍}w! .!XO.tD/\EI(;k`M0$b )|jAj!VU03]7AG&%K#>zPjS)1P@Y}nIg(Zd$w>7qg /?|g0ڙ]-UpW_Es p!E!Z8/ABSTA:gRtp $Ÿ+<IENDB`txtreader-0.6.5/images/bgimage.png0000775000000000001440000000151510630561140015762 0ustar rootusersPNG  IHDRabKGDC pHYs  ~tIME 4E؂4IDAT8˭]hSw4I=i<ͬª2q@](x!lvU!+J׋*n* S66t(Xw1B4MڤYڦM9(D^xiniV@}&y|1ރ<9~d`f1[ss> w ԼۑRm+K yǣ P}T] [|䘜S01>8z}C:7KPYZ^f~a[p+E ]ܚ:2(g))jJJPrV(;+TVܲxP-1;eiPM0Kwց1FFM:c,;߄iѦlLv Ob`gn rU݁a( C R&q@ eY Ɨ0B fx`ϫ#MfDd{n'B||3yy2?@mp)\:XALzTXtSoftwarexsPMLOMLLV033R7070TH.,.tȭ,.LK-K)-+KK^3zTXtSignaturexKKMI10375J11HJ54770JHL14051J;A IENDB`txtreader-0.6.5/images/searchCur.png0000644000000000000000000000127511160474143016122 0ustar rootrootPNG  IHDRabKGD pHYs^tIME +JIDAT8˽KHTasΤ#3% +J+(@f´Ъ JZZE 7-""iAVXSN:Z^O3~BpQѳAYq%vwץ ]m O <( ?|,H̅HAQMN.c1p g.Ͽ}CMu-џS3= "1}CiMozqcIb-ac7wDp@)Sϣp!R^NeӘxoj:|78ym6qm ~   PRv?o߅nlT]`mh#i# 1| MӠ*Դ@x$da D D)AgH!I!@ <\yl9y^Z8R(Q$XOŇf)xH`i}*h2 H~QR7Mhcoj>Xuٳ=POhlj-`~ 3U%/AgV|o2txx1<ڠ'Vީ.ml\/ &4pФIENDB`txtreader-0.6.5/images/exit.png0000644000000000000000000000150611532331217015146 0ustar rootrootPNG  IHDRasRGBbKGD pHYs oytIME 3M|IDAT8ekY?$&3B,a !D=xR\AՃ='==yѓ7/*8Mf $D'lg;ޫ=8֥T[U{Ul$PEU /-,,9+!@lT1FoXJ'pIEa1###2fUՇ,#dY?!ZJ~ϟ77m9PEB@uUu1zٳHDHS0K(:?t"1it0:H͛TϟW2o`5x?ĠJpL]Ev>eKBh{8y$d9$SH>|`@g(:~{S^Zbiz/^Ei{rRlRۨ|}nKvZU !؀'|9Hh@`uբ̡z$Dˌ$_#i\< ygf߻իS9z_VV{G?~Le!I[[|o4voE1,ܡx +ds>^1y #ǏY^IULDQ Q<5EEZkkR NO#DDZz/6H1?f/(2ͮ;gIENDB`txtreader-0.6.5/images/font.png0000775000000000001440000000131410605016516015336 0ustar rootusersPNG  IHDRabKGD pHYs  ~tIME  4f1tEXtCommentCreated with The GIMPd%n0IDAT8˅KTa{3W""L`E? r]o* %D6+).p^1gx=-ay4Z*-T:)Z떣TUQJI*T:;5_JbbHPT.f,,myH0=@{g<wdvBV))`|c׹rq3.Od!|4zAq}ܘ'ē9G2%FB#JAbR o& HBKbdic(jGd`dҜnf8A{s]Z0st3;(G" .mܶqCQVR]Ey7Yz9>9pK"?بzm7h \q 04zgLdR&a4j>F֟\*5*[Xʍ\l2Ry~GsBSeIENDB`txtreader-0.6.5/images/jump.png0000775000000000001440000000106410605016516015345 0ustar rootusersPNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<IDAT8OKAƟj$k%XPZhV(('~G詗~B(-,1k}=a7ay #"$IHm]Ko X9;F뿕79(Jk9_T.jv&7xJ.nׄTڶbOٝXd\-ԛ.8? &;("+d&o~~F\Y{po[:8CxR; #CPsmav^흽S=z͋>h=IENDB`txtreader-0.6.5/images/lang.png0000775000000000001440000000106710526431426015321 0ustar rootusersPNG  IHDRabKGDC pHYs B(xtIME 8+UQyIDAT8˝OHa̴&aRȊ]K"D6 Bd]mlm. HLaS38~thb.|Ï}`q`RJYfGӴqeDZ[v]OšJ#{!bUpMok!PTEQB:3eܾ't:8| ';:@JlXHu]S(H,KonrHǩw˼/ğF6?jE]U76BJ "y`mS4BOQmh5?!wL&Mp $=;˳)j w\[E*] KҮkK$'ߋp̹h|rqnria<m=i64[J6ʫċOU+_IENDB`txtreader-0.6.5/images/min.png0000775000000000001440000000107410605016516015156 0ustar rootusersPNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<IDAT8SjA=UC&GDd# FAlqڽ_G\@8Sa&{u]t7Lf:=9Sa$=' 拧Xpcs+Vf㗫fac0q5Q4(/Z!Uc&M5U}@#4.!,}})&!TBQB2L"CvKzΝ~}֍Y ę``0.֦0hi1̥Ǜ\8w54N<BOʡڵiHf4M:Wr_osˈ(}{?( -ߺꮑ<`kϦ98SB82׍=:nŋ)J'-L8:vxmDDyMsRJGOh&_k_,]~꺦\TW==@)auӯA~to6}͑5 I ?Կ0Ցv.P`7o5KYzDdʫe:!Xu h i zg{ L  <.d''oiBIENDB`txtreader-0.6.5/images/open.png0000775000000000001440000000111410605016516015327 0ustar rootusersPNG  IHDRabKGD pHYs  tIME  VtEXtCommentCreated with The GIMPd%nIDAT8˥KkQw:%  E]/qQ"o#>]EUn]鴝fr; < 9{ērs( __<uRNT*pn$fe !{M0c 7`vl5]~raD)##a5qƧ.^4{~nݱ%޿[yna&{I[l} $IZkWuZ-3T"YE!Nh{DžqK%Vbg#oWWQJe67XX[eRZEܥX,22L:0Za3j=ed=s|l6|0}j.;V[_dbZk|#'Vx/'GZELA@#IENDB`txtreader-0.6.5/images/restore.png0000775000000000001440000000106110605016516016052 0ustar rootusersPNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<IDAT8jQ3wqh6i`i d!"n:"#YŬP &m23E҆Pps?~sA8Tz{OzgO^`<*g!1,UZeOEhp&,c>^_?VwwPQU> ڰ.Ƙ7WfNe6bR,]EC6/.Nr?DQo ǕK^m%l8]HobUXl2f/!AsNmze&MtcQ._ǯ=Z}vwY־DOxܴJE7> N7 |Vi}(?} <4@7O@ĺQ& 30+ 㦈QB@7IN_ouIENDB`txtreader-0.6.5/images/setfont.png0000775000000000001440000000106310605016516016053 0ustar rootusersPNG  IHDRabKGD pHYs  tIME9tEXtCommentCreated with The GIMPd%nIDAT8˥Na֥I/s1:JA18B(z8+hB0PjbHD9}#Wpڻ⣇EQ(o{u9IMdX $EE>~ABX!aW}FRBc_/l~~Aכƻ%r2NF\.G6l "8| Ȧ/n&)S]|B9FS!I~$ nrR @V @\Z٥hl6V+@I,?_[?^1 te!{b"'0,o@xp K\S`ique _`ljdIENDB`txtreader-0.6.5/images/zoom-in.png0000775000000000001440000000121410605016516015757 0ustar rootusersPNG  IHDRabKGDC pHYs  ~tIME4 =%IDAT8˕OHq??m/nS0Kb)7 yPE'ѡXt :;!b]Thb(hIQS{vh'{|x/ (,~`l1H(6iEUU,b#җ:`lhm?@.=+3T n ̽H#Mz RWjƥX5.ў QKr@BP2<.q4BPUU2EQUIqfgg@O-j)p96"Kp㞉Qrj+u`,,,y-U2s6ms$Mܾӷy1l01%Ghg3rv㕹瓹taEZZ:}| @Q{^ k'̥S/KzWn>4aAs =B0KC*hlDI&zTzhřKG~ ->vt}IENDB`txtreader-0.6.5/images/zoom-out.png0000775000000000001440000000121610605016516016162 0ustar rootusersPNG  IHDRabKGDC pHYs  ~tIME4IDAT8˕KHTas=atQ DhQ` e{Ah"ko8 2tYՠ MArU93E6=G4>16$hj FGpRc3`mw~\ n ~9 PKԐؓ\$ ٯJy:;˫'ؐi@:!k:*]q=}.(u={s G2 )zEp]-P8v~wa.Rc7+u @Qɚ|B4T`Ͷ."TYV@C-֚*Z_CqKqq;XBKkAl #@@nm0z^,]An~u5Ӌie{g^Ţo fGG9{J`m-OT5-L"*C$ΨX<'XʬȜ]SVD >3Jːc!b}`t| IENDB`txtreader-0.6.5/images/reset.png0000775000000000001440000000121210471203234015503 0ustar rootusersPNG  IHDRabKGD pHYs B(xtIME #!IDAT8˕Ohaǿ҈ABCxbDP];<Aui%+$IENDB`txtreader-0.6.5/images/close.png0000644000000000000000000000133011532331407015276 0ustar rootrootPNG  IHDRasRGBbKGD pHYs oytIME eXIDAT8uKh]UosëMH }`6(:*>pG8Tq3BGH'řD"K'B1 !i m4in 9g;ؚ>^_{9wN讅|Dpo@xw7&'bZGyoڼ}^oꙹ|R>4x_B:{!ZXB=3B0)(,>WCMUAFS'x]ߢw$+_,B!VGDNX.0d VC~{4 +l_p -P1J~y̋; 6YCiFܾF=鋜x$`_u*<@ESkHY]O-yAE*_v_dm:rL7[EzsIrs5)M^DoQJ3S9dwɄ\bCV?揄IF9]x]fϯ3*c/iF 5%M&2׸=kW Yc)\4u,Fci_hOѐgmMniP}y}fjZ|`LJPd[?s2IENDB`txtreader-0.6.5/images/bookmark-clear.png0000644000000000000000000000153611532415251017072 0ustar rootrootPNG  IHDRasRGBbKGD pHYs  tIME "!CIDAT8eKH\Wё I3a0i\hRB(nJZ ڶFUgsʆib2 J %bclB ,FqbB"oe(X9 `1:g&.pN [| hȊTvj1w~U:P P&@zP24Ë)G5<(l \s(;~mI I2$#+*2oC pOjli {xK =$r@YY0_jjs!,md@uevv-F@utAGO'8RSSq[NPhl $止$7 ac~yqhN~S]4/fx}"R,0M4dG-;0C:{::l4$Ja'*&'Y0CmIENDB`txtreader-0.6.5/images/bookmark-del.png0000644000000000000000000000132511532414676016556 0ustar rootrootPNG  IHDRasRGBbKGD pHYs  tIME &@hDUIDAT8˕MHTa{;8MC0jPPnWn ZbZZm ~~ 2qbDlΏu=9p@DΞ *P64뵵ks nÛuOJynks17GG(Ρ~b(#c?9֘L_2sӋܿ{sg0iU}.B\d3g=r–Wо(2!%0>~yݒKfݦLMX ~q1jQZ[VePD Sf'V:3Ĥ 5McQBNvЦCv%j.n|m` P(m4t6AD@ `Y|"R9x Q/5'8#A:A(ϴ<:搷?QraQE)76mp%[X E4G/mw]rHd2ɋWQJ͒, 6M&)(Uq8"CO"?b12L=H$8j^wL(dr/ʣHIENDB`txtreader-0.6.5/images/bookmark-new.png0000644000000000000000000000146311532414613016575 0ustar rootrootPNG  IHDRasRGBbKGD pHYs  tIME /xIDAT8mOhTW}7258Uk4\( .ĝԅR(BfBTE*3PD I8e2o."0Vgqχ9W>|B̟;QޥvATT@Pknn+^VrⷳV*qܣbnan KzSOJ###tR<(Nғy[ܖoƌoP U8~*"8AB! 1)S CBriuk(3ObS]LPz]Whk'.TVcÐD*,(5O#P Txt Reader(文本阅读器) for linux


NOTICE:
Designed with QT4, and tested in Everest linux 0.5.9 and Magic linux 2.5. Before installtion please check the QT4 library.

Usages:

1.Right click on the tray icon or the reader, you could see a menu to show all the operations you could do;
2.Click the "Open" action from the menu, you could browse files and select one to open; Or drag and drop a file to open it;
3.Press "→" or "↓" or click the right to pagedown,"↑" or "←" or click the left to pageup;
4.Press "Esc" will hide the reader to a tray icon while the reader is activated;
5.Show and hide the reader by left click on the tray icon;
6.You could select the codec for your files by select the "Codec" submenu;
7.Using the "Bookmark" submenu,you could add or delete bookmark;
8.Other functions would be found if you have a try.

Design by lsyer
CopyLeft◎2006-2011

txtreader-0.6.5/README_zh_CN.HTML0000775000000000001440000000222411540033221015111 0ustar rootusers

Txt Reader(文本阅读器) for linux


注意:使用QT4设计,在Everest0.5.9和Magic linux 2.5下测试通过,使用前请安装QT4库

使用说明:

1.托盘图标或窗口中点击右键,可看到所有功能菜单;
2.从菜单中选择“打开”命令,可浏览本机文件夹并打开指定文档;也可拖拽打开指定文档;
3.方向键“→”或“↓”、鼠标点击阅读界面左1/4向下翻页,“↑”或“←”、鼠标点击阅读界面右1/4向上翻页;
4.窗口处于激活状态时,按“Esc”键隐藏界面至托盘图标;
5.在托盘图标上单击可进行阅读器的隐藏与显示切换;
6.编码子菜单中可切换打开文件时所使用编码;
7.菜单中书签项可增加书签,若需删除书签则可跳转至书签所指示页面并选择删除菜单;
8.其它字体放大、缩小、颜色设置等功能不再一一列举,请自行尝试。

Design by lsyer
CopyLeft◎2006-2011

txtreader-0.6.5/src/0000755000000000000000000000000011537157412013017 5ustar rootroottxtreader-0.6.5/src/main.cpp0000775000000000001440000000103711533154407014641 0ustar rootusers#include "TxtReader.h" #include int main(int argc,char ** argv) { QApplication app(argc,argv); QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); TxtReader * txtReader = new TxtReader(0,argv[1]); txtReader->setWindowFlags(Qt::CustomizeWindowHint|Qt::WindowTitleHint); //txtReader->setWindowTitle(QObject::tr("TXT Reader --- By lsyer")); txtReader->setMinimumSize(270,196); txtReader->setMaximumSize(2430,1764); //txtReader->resize(804,468); txtReader->show(); return app.exec(); } txtreader-0.6.5/src/ReaderView.h0000644000000000000000000000046311533135327015225 0ustar rootroot#ifndef READERVIEW_H #define READERVIEW_H #include #include class TxtReader; class ReaderView : public QTextEdit { Q_OBJECT public: ReaderView(QWidget * parent = 0); protected: void keyPressEvent(QKeyEvent * event); private: TxtReader *p; }; #endif // READERVIEW_H txtreader-0.6.5/src/ReaderView.cpp0000644000000000000000000000214111537146032015552 0ustar rootroot#include "ReaderView.h" #include "TxtReader.h" ReaderView::ReaderView(QWidget * parent) :QTextEdit(parent) { p = (TxtReader *)parent; setWordWrapMode(QTextOption::WrapAnywhere); setAlignment(Qt::AlignTop|Qt::AlignLeft); setReadOnly(true); setTextInteractionFlags(Qt::NoTextInteraction); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setFrameStyle(QFrame::NoFrame); //setContextMenuPolicy(Qt::CustomContextMenu); QPalette pl=this->palette(); pl.setBrush(QPalette::Base,QBrush(QColor(255,0,0,0))); this->setPalette(pl); this->setAttribute(Qt::WA_TransparentForMouseEvents,true);//disable mouse event for ReaderView.Also to see grabMouse() } void ReaderView::keyPressEvent(QKeyEvent * event) { if (event->key() == Qt::Key_Right || event->key() == Qt::Key_Down){ p->jumpToNextPage(); } else if (event->key() == Qt::Key_Left || event->key() == Qt::Key_Up){ p->jumpToPrePage(); } else { QTextEdit::keyPressEvent(event); } return ; } txtreader-0.6.5/src/TxtReader.cpp0000775000000000001440000010703211540042707015616 0ustar rootusers#include "TxtReader.h" TxtReader::TxtReader(QWidget * parent,QString infile) :QWidget(parent) { //w1 = 0; version = QString("0.6.5"); setWindowTitle( QString("TXTReader %1 --- By lsyer").arg(version)); qApp->installTranslator(&appTranslator); qApp->setQuitOnLastWindowClosed(false); setAcceptDrops(true); QSettings settings("lsyer", "txtreader"); QPoint pos = settings.value("pos", QPoint(100, 60)).toPoint(); QSize size = settings.value("size", QSize(840, 618)).toSize(); curFile = settings.value("curFile", QString("")).toString(); curOffset = -1; txtFont.fromString(settings.value("txtFont",QString("仿宋_GB2312,14,-1,5,50,0,0,0,0,0")).toString()); txtColor=QColor(settings.value("txtColor", QColor("#000000")).toString()); o_isfullscreen = settings.value("o_isfullscreen", 0).toBool(); bgColor=QColor(settings.value("bgColor", QColor("#ffffff")).toString()); bgImage = settings.value("bgImage", QString("")).toString(); codecstr = settings.value("codecstr", QString("GB2312")).toString(); uilang = settings.value("uilang", QString("zh_CN")).toString(); createActions(); createLanguageMenu(); createTrayIcon(); setStyleSheet( "TxtReader {background-color: "+bgColor.name()+";background-image: url("+bgImage+");background-position:center;;}"); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); icon = QIcon(":/images/icon.png"); trayIcon->setIcon(icon); this->setWindowIcon(icon); trayIcon->setToolTip(QString("TxtReader %1").arg(version)); trayIcon->show(); upLine.setFrameShape(QFrame::HLine); upLine.setFrameShadow(QFrame::Sunken); bottomLine.setFrameShape(QFrame::HLine); bottomLine.setFrameShadow(QFrame::Sunken); viewTitleLabel.setFixedHeight(15); QSpacerItem *leftSpacer=new QSpacerItem(15,1,QSizePolicy::Fixed,QSizePolicy::Fixed); viewContentEdit = new ReaderView(this); viewContentEdit->setStyleSheet("color:"+txtColor.name()+";"); viewContentEdit->setFont(txtFont); //connect(viewContentEdit,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(myShowContextMenu(QPoint))); viewInstructionLabel.setFont(txtFont); viewInstructionLabel.setWordWrap(true); viewInstructionLabel.setAlignment(Qt::AlignTop|Qt::AlignLeft); viewInstructionLabel.setVisible(false); QSpacerItem *rightSpacer=new QSpacerItem(15,1,QSizePolicy::Fixed,QSizePolicy::Fixed); viewPageLabel.setFixedHeight(15); viewPageLabel.setStyleSheet("color:"+txtColor.name()+";"); viewPageLabel.setAlignment(Qt::AlignTop|Qt::AlignRight); //viewPageLabel.setText(QString(tr("第 %1 页/共 %2 页")).arg(curPageNum).arg(doc.pageCount())); QGridLayout *layout = new QGridLayout; layout->addItem(leftSpacer,0,0); layout->addWidget(&viewTitleLabel,0,1); layout->addItem(rightSpacer,0,2); layout->addWidget(&upLine,1,1); layout->addWidget(viewContentEdit,2,1); layout->addWidget(&viewInstructionLabel,3,1); layout->addWidget(&bottomLine,4,1); layout->addWidget(&viewPageLabel,5,1); this->setLayout(layout); setSizeBaseAndIncIncrement(); appTranslator.load(":/i18n/txtreader_" + uilang); retranslateUi(); //qDebug()<<"infile2:"<< infile <<"\n"; if(infile.isEmpty()){ loadFile(curFile); }else{ loadFile(infile); } if(o_isfullscreen){ viewfullscreenAction->setEnabled(false); nofullscreenAction->setEnabled(true); showFullScreen(); }else{ viewfullscreenAction->setEnabled(true); nofullscreenAction->setEnabled(false); resize(size); move(pos); } restoreAction->setEnabled(false); } void TxtReader::resizeEvent(QResizeEvent *event) { //qDebug()<<":resizeEvent\n"; //if(event->spontaneous()){ //if resizeEvent is created inside the app reGenPageList(); QWidget::resizeEvent(event); //qDebug()<<"this->width():"<width()<<" this->height()"<height()<<"\n"; //qDebug()<<"viewContentEdit->width():"<width()<<" viewContentEdit->height()"<height()<<"\n"; //qDebug()<<"base.width():"<width()-viewContentEdit->width()<<" base.height()"<height()-viewContentEdit->height()<<"\n"; //} } void TxtReader::setSizeBaseAndIncIncrement() { QFontMetrics fm(txtFont); this->setBaseSize(fm.maxWidth()+60,qMax(fm.lineSpacing(),fm.height())+94);//52+8,86+8,and 52,86 is the basesize of other widgets.And 8 will be used in genPageList(QString &content,QList &list) this->setSizeIncrement(fm.maxWidth(),qMax(fm.lineSpacing(),fm.height())); } void TxtReader::jumpToOffset(int offset) { //qDebug()<FileContent.size()){ jumpToPage(1); return; } int i; for(i=0;i offset) break; } //qDebug()< TotalPageNum) curPageNum = TotalPageNum; else curPageNum = pageNum; viewContentEdit->setText(FileContent.mid(PageOffsetList[curPageNum-1],PageOffsetList[curPageNum]-PageOffsetList[curPageNum-1])); viewPageLabel.setText(QString(tr("Page %1 /Total %2")).arg(curPageNum).arg(TotalPageNum)); return; } void TxtReader::jumpToPrePage(){ jumpToPage(curPageNum-1); curOffset = PageOffsetList[curPageNum-1]; return; } void TxtReader::jumpToNextPage(){ jumpToPage(curPageNum+1); curOffset = PageOffsetList[curPageNum-1]; return; } void TxtReader::genPageList(QString &content,QList &list){ /**/ QApplication::setOverrideCursor(Qt::WaitCursor); qDebug()<<"StartTime:"<height()-8) / qMax(fm.lineSpacing(),fm.height()); int PageLineNow=0; int PageWidth=viewContentEdit->width()-8; int LineWidthNow=0; int AsciiWidth=fm.width("i"),ChineseWidth=qMax(fm.maxWidth(),fm.width("中")); int newPageOffset=0; list.append(0); int FileContentSize=content.size(); for(int offset=0;offset PageWidth){ LineWidthNow = ChineseWidth; PageLineNow++; newPageOffset = offset; } }else if (b == 10){// \n LineWidthNow=0; PageLineNow++; newPageOffset = offset+1; }else if (b != 13){// not \r // Ascii LineWidthNow += AsciiWidth; if(LineWidthNow > PageWidth){ LineWidthNow = AsciiWidth; PageLineNow++; newPageOffset = offset; } } /************************************** ******** optimized by upper code if (b == 10){// \n LineWidthNow=0; PageLineNow++; newPageOffset = offset+1; }else if (b != 13){// \r if(b == 0) {// Chinese LineWidthNow += ChineseWidth; }else{// Ascii LineWidthNow += AsciiWidth; } if(LineWidthNow > PageWidth){ LineWidthNow = fm.width(FileContent[offset]); PageLineNow++; newPageOffset = offset; } } */ if(PageLineNow==PageLineNum){ PageLineNow=0; list.append(newPageOffset); } } if(list.last() != FileContentSize || FileContentSize == 0) list.append(FileContentSize); TotalPageNum=PageOffsetList.size() - 1; //qDebug()<<"txtFont.pointSize():"<width()<<" fm.width(i):"<height()<<" LineHeight:"<showMessage(tr("File loaded"), 2000); //jumpToOffset(curOffset); //reSizeEvent will do auomaticly. return 1; } QString TxtReader::readInstructionContent(){ QFile file(QString(":/README_%1.HTML").arg(uilang)); if (!file.open(QFile::ReadOnly | QFile::Text)) { return QString(tr("Cannot read file,please contact to author!")); } QTextStream in(&file); in.setCodec("UTF-8"); return in.readAll(); } void TxtReader::readOrInstruct(){ static int i = 0; i = ++i % 2; if(i){ if(viewInstructionLabel.text().isEmpty()) viewInstructionLabel.setText(readInstructionContent()); viewContentEdit->setVisible(false); viewPageLabel.setText(""); viewInstructionLabel.setVisible(true); instructionAct->setText(tr("&Go Back")); }else{ backToRead(); } } void TxtReader::backToRead() { viewContentEdit->setVisible(true); viewPageLabel.setText(QString(tr("Page %1 /Total %2")).arg(curPageNum).arg(TotalPageNum)); viewInstructionLabel.setVisible(false); instructionAct->setText(tr("&Instruction")); } void TxtReader::showChanges(){ QFile file(QString(":/CHANGES.TXT")); if (!file.open(QFile::ReadOnly | QFile::Text)) { QMessageBox::warning(this, QString("TxtReader %1").arg(version), tr("Cannot read file,please contact to author!")); return; } QTextStream in(&file); in.setCodec("UTF-8"); QDialog changesDialog; changesDialog.setWindowIcon(this->windowIcon()); changesDialog.setWindowTitle(tr("TxtReader Changes")); QGridLayout l; QTextEdit t; t.setReadOnly(true); t.setText(in.readAll()); QPushButton b(QIcon(":/images/close.png"),tr("&Close"),this); connect(&b,SIGNAL(clicked()),&changesDialog,SLOT(close())); l.addWidget(&t); l.addWidget(&b,1,0,Qt::AlignRight); changesDialog.setLayout(&l); changesDialog.resize(400,300); changesDialog.exec(); } void TxtReader::myShowContextMenu(QPoint point) { trayIconMenu->exec(point); } void TxtReader::createActions() { openAct = new QAction(QIcon(":/images/open.png"),"", this); //openAct->setShortcut(tr("Ctrl+O")); connect(openAct, SIGNAL(triggered()), this, SLOT(open())); jumpAct = new QAction(QIcon(":/images/jump.png"),"", this); //openAct->setShortcut(tr("Ctrl+O")); connect(jumpAct, SIGNAL(triggered()), this, SLOT(slotJumpToPage())); addBookmarkAct = new QAction(QIcon(":/images/bookmark-new.png"),"", this); //openAct->setShortcut(tr("Ctrl+O")); connect(addBookmarkAct, SIGNAL(triggered()), this, SLOT(addBookmark())); delBookmarkAct = new QAction(QIcon(":/images/bookmark-del.png"),"", this); //openAct->setShortcut(tr("Ctrl+O")); connect(delBookmarkAct, SIGNAL(triggered()), this, SLOT(delBookmark())); clearBookmarkAct = new QAction(QIcon(":/images/bookmark-clear.png"),"", this); //openAct->setShortcut(tr("Ctrl+O")); connect(clearBookmarkAct, SIGNAL(triggered()), this, SLOT(clearBookmark())); addTxtSizeAct = new QAction(QIcon(":/images/zoom-in.png"),"", this); //openAct->setShortcut(tr("Ctrl+O")); connect(addTxtSizeAct, SIGNAL(triggered()), this, SLOT(addTxtSize())); subTxtSizeAct = new QAction(QIcon(":/images/zoom-out.png"),"", this); //openAct->setShortcut(tr("Ctrl+O")); connect(subTxtSizeAct, SIGNAL(triggered()), this, SLOT(subTxtSize())); setfontAct = new QAction(QIcon(":/images/setfont.png"),"", this); connect(setfontAct, SIGNAL(triggered()), this, SLOT(setfont())); setfontcolorAct = new QAction(QIcon(":/images/bgcolor.png"),"", this); connect(setfontcolorAct, SIGNAL(triggered()), this, SLOT(setfontcolor())); setbgcolorAct = new QAction(QIcon(":/images/bgcolor.png"),"", this); connect(setbgcolorAct, SIGNAL(triggered()), this, SLOT(setbgcolor())); setbgimageAct = new QAction(QIcon(":/images/bgimage.png"),"", this); connect(setbgimageAct, SIGNAL(triggered()), this, SLOT(setbgimage())); delbgimageAct = new QAction(QIcon(":/images/reset.png"),"", this); connect(delbgimageAct, SIGNAL(triggered()), this, SLOT(resetbg())); codecActionGroup = new QActionGroup(this); connect(codecActionGroup, SIGNAL(triggered(QAction *)), this, SLOT(setcodecstr(QAction *))); GB2312Act = new QAction(tr("&GB2312"), this); GB2312Act->setData("GB2312"); GB2312Act->setCheckable(true); codecActionGroup->addAction(GB2312Act); if (codecstr == "GB2312") GB2312Act->setChecked(true); UTF8Act = new QAction(tr("&UTF-8"), this); UTF8Act->setData("UTF-8"); UTF8Act->setCheckable(true); codecActionGroup->addAction(UTF8Act); if (codecstr == "UTF-8") UTF8Act->setChecked(true); searchOriAct = new QAction(QIcon(":/images/searchOri.png"),"", this); connect(searchOriAct, SIGNAL(triggered()), this, SLOT(slotSearchOri())); searchCurAct = new QAction(QIcon(":/images/searchCur.png"),"", this); connect(searchCurAct, SIGNAL(triggered()), this, SLOT(slotSearchCur())); for (int i = 0; i < MaxRecentFiles; ++i) { recentFileActs[i] = new QAction(this); recentFileActs[i]->setVisible(false); connect(recentFileActs[i], SIGNAL(triggered()), this, SLOT(openRecentFile())); } //maximizeAction = new QAction(tr("Ma&ximize"), this); //connect(maximizeAction, SIGNAL(triggered()), this, SLOT(showMaximized())); viewfullscreenAction = new QAction(QIcon(":/images/fullscreen.png"),"", this); connect(viewfullscreenAction, SIGNAL(triggered()), this, SLOT(myshowfullscreen())); nofullscreenAction = new QAction(QIcon(":/images/nofullscreen.png"),"", this); connect(nofullscreenAction, SIGNAL(triggered()), this, SLOT(myexitfullscreen())); hiddenAction = new QAction(QIcon(":/images/min.png"),"", this); connect(hiddenAction, SIGNAL(triggered()), this, SLOT(myhide())); restoreAction = new QAction(QIcon(":/images/restore.png"),"", this); connect(restoreAction, SIGNAL(triggered()), this, SLOT(myrestore())); quitAction = new QAction(QIcon(":/images/exit.png"),"", this); //quitAction->setShortcut(tr("Ctrl+Q")); connect(quitAction, SIGNAL(triggered()), this, SLOT(quitaction())); aboutAct = new QAction(QIcon(":/images/about.png"),"", this); //aboutAct->setShortcut(tr("Ctrl+A")); //aboutAct->setStatusTip(tr("Show the application's About box")); connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); instructionAct = new QAction(QIcon(":/images/instruction.png"),"", this); //instructionAct->setShortcut(tr("Ctrl+A")); //instructionAct->setStatusTip(tr("Show the application's About box")); connect(instructionAct, SIGNAL(triggered()), this, SLOT(readOrInstruct())); return ; } void TxtReader::createLanguageMenu() { languageMenu = new QMenu(this); languageMenu->setIcon(QIcon(":/images/lang.png")); languageActionGroup = new QActionGroup(this); connect(languageActionGroup, SIGNAL(triggered(QAction *)), this, SLOT(switchLanguage(QAction *))); QDir qmDir(":/i18n/"); QStringList fileNames = qmDir.entryList(QStringList("txtreader_*.qm")); for (int i = 0; i < fileNames.size(); ++i) { QString locale = fileNames[i]; locale.remove(0, locale.indexOf('_') + 1); locale.chop(3); QAction *action = new QAction(tr("&%1 %2") .arg(i + 1).arg(locale), this); action->setCheckable(true); action->setData(locale); languageMenu->addAction(action); languageActionGroup->addAction(action); if (locale == uilang) action->setChecked(true); } } void TxtReader::createTrayIcon() { trayIconMenu = new QMenu(this); trayIconMenu->addAction(openAct); trayIconMenu->addAction(jumpAct); bookmarkMenu = trayIconMenu->addMenu(QIcon(":/images/bookmark.png"),""); bookmarkMenu->addAction(addBookmarkAct); bookmarkMenu->addAction(delBookmarkAct); bookmarkMenu->addAction(clearBookmarkAct); bookmarkMenu->addSeparator(); setfontMenu = trayIconMenu->addMenu(QIcon(":/images/font.png"),""); setfontMenu->addAction(addTxtSizeAct); setfontMenu->addAction(subTxtSizeAct); setfontMenu->addAction(setfontAct); setfontMenu->addAction(setfontcolorAct); bgMenu = trayIconMenu->addMenu(QIcon(":/images/bg.png"),""); bgMenu->addAction(setbgcolorAct); bgMenu->addAction(setbgimageAct); bgMenu->addAction(delbgimageAct); codecMenu = trayIconMenu->addMenu(QIcon(":/images/codec.png"),""); codecMenu->addAction(GB2312Act); codecMenu->addAction(UTF8Act); searchMenu = trayIconMenu->addMenu(QIcon(":/images/search.png"),""); searchMenu->addAction(searchOriAct); searchMenu->addAction(searchCurAct); separatorAct = trayIconMenu->addSeparator(); for (int i = 0; i < MaxRecentFiles; ++i) trayIconMenu->addAction(recentFileActs[i]); trayIconMenu->addSeparator(); //trayIconMenu->addAction(maximizeAction); trayIconMenu->addAction(viewfullscreenAction); trayIconMenu->addAction(nofullscreenAction); trayIconMenu->addAction(hiddenAction); trayIconMenu->addAction(restoreAction); trayIconMenu->addMenu(languageMenu); trayIconMenu->addAction(instructionAct); trayIconMenu->addAction(aboutAct); trayIconMenu->addSeparator(); trayIconMenu->addAction(quitAction); updateRecentFileActions(); trayIcon = new QSystemTrayIcon(this); trayIcon->setContextMenu(trayIconMenu); return ; } void TxtReader::setCurrentFile(const QString &fileName) { curFile = fileName; setWindowTitle(QString("%1 - TxtReader %2").arg(strippedName(curFile)) .arg(version)); QSettings settings("lsyer", "txtreader"); QStringList files = settings.value("recentFileList").toStringList(); files.removeAll(fileName); files.prepend(fileName); while (files.size() > MaxRecentFiles) files.removeLast(); settings.setValue("recentFileList", files); updateRecentFileActions(); return ; } void TxtReader::updateRecentFileActions() { QSettings settings("lsyer", "txtreader"); QStringList files = settings.value("recentFileList").toStringList(); int numRecentFiles = qMin(files.size(), (int)MaxRecentFiles); for (int i = 0; i < numRecentFiles; ++i) { QString text = tr("&%1 %2").arg(i + 1).arg(strippedName(files[i])); recentFileActs[i]->setText(text); recentFileActs[i]->setData(files[i]); recentFileActs[i]->setVisible(true); } for (int j = numRecentFiles; j < MaxRecentFiles; ++j) recentFileActs[j]->setVisible(false); separatorAct->setVisible(numRecentFiles > 0); return ; } QString TxtReader::strippedName(const QString &fullFileName) { return QFileInfo(fullFileName).fileName(); } void TxtReader::open() { QString fileName = QFileDialog::getOpenFileName(this,tr("Open new file"),QFileInfo(curFile).dir().path(),tr("text files (*.txt)")); if(loadFile(fileName)){ reGenPageList(); backToRead(); } } void TxtReader::about() { QDialog aboutDialog; aboutDialog.setWindowIcon(this->windowIcon()); aboutDialog.setWindowTitle(tr("About")); QGridLayout l; QLabel p; p.setPixmap(QPixmap(":/images/icon.png")); QLabel t; t.setText(tr("

Txt Reader %1

Design by lsyer

CopyLeft(C)2006-YEAR

").arg(version)); QPushButton c(tr("&Changes")); connect(&c,SIGNAL(clicked()),this,SLOT(showChanges())); QPushButton b(QIcon(":/images/close.png"),tr("&Back"),this); connect(&b,SIGNAL(clicked()),&aboutDialog,SLOT(close())); b.setFocus(); l.addWidget(&p,0,0,Qt::AlignCenter); l.addWidget(&t,0,1,1,2,Qt::AlignCenter); l.addWidget(&c,1,0,1,2,Qt::AlignCenter); l.addWidget(&b,1,2,Qt::AlignCenter); aboutDialog.setLayout(&l); aboutDialog.setFixedSize(aboutDialog.sizeHint()); //aboutDialog.setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); aboutDialog.exec(); return ; } void TxtReader::setcodecstr(QAction *action) { //QAction *action = qobject_cast(sender()); //if (action){ codecstr = action->data().toString(); if (codecstr == "UTF-8"){ UTF8Act->setChecked(true); GB2312Act->setChecked(false); } else { UTF8Act->setChecked(false); GB2312Act->setChecked(true); } if(loadFile(curFile)) reGenPageList(); //} return ; } void TxtReader::slotJumpToPage() { bool ok; int i = QInputDialog::getInteger(this, QString("Txt Reader %1").arg(version), tr("Jump to:"), curPageNum,1,TotalPageNum,1, &ok); if (ok){ jumpToPage(i); curOffset = PageOffsetList[curPageNum-1]; } return ; } void TxtReader::slotSearchOri() { bool ok; searchText = QInputDialog::getText(this, QString("Txt Reader %1").arg(version), tr("Search:"), QLineEdit::Normal,searchText, &ok); if ( ok && !(searchText.isNull()) ){ int pos=FileContent.indexOf(searchText); if(pos != -1){ jumpToOffset(pos); curOffset = pos; } } return ; } void TxtReader::slotSearchCur() { if ( !(searchText.isNull()) ){ int pos=FileContent.indexOf(searchText,curOffset + 1); if(pos != -1){ jumpToOffset(pos); curOffset = pos; } } return ; } void TxtReader::addBookmark() { bool ok; QString text = QInputDialog::getText(this, QString("Txt Reader %1").arg(version), tr("Please input the mark:"), QLineEdit::Normal, tr("%1").arg(curPageNum), &ok); if (ok && !text.isEmpty()){ QAction * bookmark = new QAction(tr("%1").arg(text), this); bookmark->setData(PageOffsetList[curPageNum-1]); connect(bookmark, SIGNAL(triggered()), this, SLOT(openBookmark())); bookmarkArray.append(bookmark); bookmarkMenu->addAction(bookmark); } return ; } void TxtReader::delBookmark() { for(int i=0;idata().toInt()>=PageOffsetList[curPageNum-1] && bookmarkArray[i]->data().toInt()<=PageOffsetList[curPageNum]){ delete bookmarkArray[i]; bookmarkArray.removeAt(i); break; } } return ; } void TxtReader::clearBookmark() { qDeleteAll(bookmarkArray); bookmarkArray.clear(); return ; } void TxtReader::openBookmark() { QAction *action = qobject_cast(sender()); if (action){ jumpToOffset(action->data().toInt()); } return ; } void TxtReader::getBookDependSetting(){ QSettings settings("lsyer", tr("txtreader_%1").arg(strippedName(curFile))); curOffset = settings.value("curOffset", 0).toInt(); int j = settings.value("bookmarknum", 0).toInt()+1; for(int k=1;k < j;++k){ QAction * bookmark = new QAction(settings.value(QString("bookmark%1words").arg(k)/*, QString(tr("未知标签"))*/).toString(), this); bookmark->setData(settings.value(QString("bookmark%1offset").arg(k)/*, 1*/).toInt()); connect(bookmark, SIGNAL(triggered()), this, SLOT(openBookmark())); bookmarkArray.append(bookmark); bookmarkMenu->addAction(bookmark); } } void TxtReader::saveBookDependSetting(){ if(curOffset != -1){ QSettings settings("lsyer", tr("txtreader_%1").arg(strippedName(curFile))); settings.setValue("curOffset", curOffset); int j=bookmarkArray.size(); settings.setValue("bookmarknum",j); int k=0; for(int i=0;idata().toString()); settings.setValue(QString("bookmark%1words").arg(k),bookmarkArray[i]->text()); } qDeleteAll(bookmarkArray); bookmarkArray.clear(); } return; } void TxtReader::addTxtSize() { if(txtFont.pointSize() < 25){ txtFont.setPointSize(txtFont.pointSize()+1); this->setSizeIncrement(txtFont.pointSize(),txtFont.pointSize()); QApplication::setOverrideCursor(Qt::WaitCursor); setSizeBaseAndIncIncrement(); reGenPageList(); viewContentEdit->setFont(txtFont); QApplication::restoreOverrideCursor(); } return; } void TxtReader::subTxtSize() { if(txtFont.pointSize() > 5){ txtFont.setPointSize(txtFont.pointSize()-1); this->setSizeIncrement(txtFont.pointSize(),txtFont.pointSize()); QApplication::setOverrideCursor(Qt::WaitCursor); setSizeBaseAndIncIncrement(); reGenPageList(); viewContentEdit->setFont(txtFont); QApplication::restoreOverrideCursor(); } return; } void TxtReader::setfont() { bool ok; QFont font = QFontDialog::getFont(&ok, txtFont, this,QString(tr("Set Font - Txt Reader %1")).arg(version)); if (ok && font!=txtFont) { txtFont = font; this->setSizeIncrement(txtFont.pointSize(),txtFont.pointSize()); QApplication::setOverrideCursor(Qt::WaitCursor); setSizeBaseAndIncIncrement(); reGenPageList(); viewContentEdit->setFont(txtFont); QApplication::restoreOverrideCursor(); } return; } void TxtReader::setfontcolor() { QColor Color = QColorDialog::getColor(txtColor, this); if (Color.isValid()) { txtColor=Color; viewContentEdit->setStyleSheet("color:"+txtColor.name()+";"); viewPageLabel.setStyleSheet("color:"+txtColor.name()+";"); } return ; } void TxtReader::setbgcolor() { QColor Color = QColorDialog::getColor(bgColor, this); if (Color.isValid()) { bgColor=Color; setStyleSheet( "TxtReader {background-color: "+bgColor.name()+";background-image: url("+bgImage+");background-position:center;;}"); } return ; } void TxtReader::setbgimage() { QString fileName = QFileDialog::getOpenFileName(this,tr("Select bg-image"),QFileInfo(bgImage).dir().path(),tr("picture files (*.png *.jpg *.jpeg *.gif)")); if (!fileName.isEmpty()) { bgImage=fileName; setStyleSheet( "TxtReader {background-color: "+bgColor.name()+";background-image: url("+bgImage+");background-position:center;;}"); } return ; } void TxtReader::resetbg() { bgImage = ""; bgColor=QColor(Qt::white); setStyleSheet( "TxtReader {background-color: "+bgColor.name()+";background-image: url("+bgImage+");background-position:center;}"); } void TxtReader::hideAndRestore() { if(isHidden()){ myrestore(); }else{ myhide(); } } void TxtReader::myhide() { if(isHidden()) return; o_isfullscreen = isFullScreen(); hiddenAction->setEnabled(false); restoreAction->setEnabled(true); hide(); } void TxtReader::myrestore() { if(o_isfullscreen){ showFullScreen(); }else{ show(); } hiddenAction->setEnabled(true); restoreAction->setEnabled(false); } void TxtReader::myshowfullscreen() { o_isfullscreen = true; viewfullscreenAction->setEnabled(false); nofullscreenAction->setEnabled(true); //showFullScreen(); myrestore(); } void TxtReader::myexitfullscreen() { o_isfullscreen = false; viewfullscreenAction->setEnabled(true); nofullscreenAction->setEnabled(false); showNormal(); myrestore(); } void TxtReader::switchLanguage(QAction *action) { QString locale = action->data().toString(); uilang = locale; appTranslator.load(":/i18n/txtreader_" + locale); retranslateUi(); } void TxtReader::retranslateUi() { viewPageLabel.setText(QString(tr("Page %1 /Total %2")).arg(curPageNum).arg(TotalPageNum)); //newAction->setText(tr("&New"));// openAct->setText(tr("&Open"));// = new QAction(QIcon(":/images/open.png"),tr("(&O)打 开"), this); jumpAct->setText(tr("&Jump"));// = new QAction(QIcon(":/images/jump.png"),tr("(&J)跳 转"), this); addBookmarkAct->setText(tr("&Add Bookmark"));// = new QAction(QIcon(":/images/addbookmark.png"),tr("(&A)添加书签"), this); delBookmarkAct->setText(tr("&Del Current")); clearBookmarkAct->setText(tr("&Clear All")); searchOriAct->setText(tr("&Find")); searchCurAct->setText(tr("&Next")); addTxtSizeAct->setText(tr("&Zoom In"));// = new QAction(QIcon(":/images/zoom-in.png"),tr("(&F)放 大"), this); subTxtSizeAct->setText(tr("&Zoom Out"));// = new QAction(QIcon(":/images/zoom-out.png"),tr("(&S)缩 小"), this); setfontAct->setText(tr("&Set Font"));// = new QAction(QIcon(":/images/setfont.png"),tr("(&A)设 置"), this); setfontcolorAct->setText(tr("&Color"));// = new QAction(QIcon(":/images/bgcolor.png"),tr("(&C)颜 色"), this); setbgcolorAct->setText(tr("&Bg color"));// = new QAction(QIcon(":/images/bgcolor.png"),tr("(&C)颜 色"), this); setbgimageAct->setText(tr("&Bg image"));// = new QAction(QIcon(":/images/bgimage.png"),tr("(&P)图 片"), this); delbgimageAct->setText(tr("&Reset"));// = new QAction(QIcon(":/images/reset.png"),tr("(&D)重 设"), this); viewfullscreenAction->setText(tr("&Full Screen"));// = new QAction(QIcon(":/images/fullscreen.png"),tr("(&F)全 屏"), this); nofullscreenAction->setText(tr("&Exit Fullscreen")); hiddenAction->setText(tr("&Hide"));// = new QAction(QIcon(":/images/min.png"),tr("(&H)隐 藏"), this); restoreAction->setText(tr("&Restore"));// = new QAction(QIcon(":/images/restore.png"),tr("(&R)恢 复"), this); quitAction->setText(tr("&Quit"));// = new QAction(QIcon(":/images/exit.png"),tr("(&Q)退 出"), this); aboutAct->setText(tr("&About"));// = new QAction(QIcon(":/images/about.png"),tr("(&A)关 于"), this); instructionAct->setText(tr("&Instruction"));// = new QAction(QIcon(":/images/instruction.png"),tr("(&I)程序说明"), this); languageMenu->setTitle(tr("&Language")); bookmarkMenu->setTitle(tr("&Bookmark"));// = trayIconMenu->addMenu(QIcon(":/images/bookmark.png"),tr("(&B)书 签")); setfontMenu->setTitle(tr("&Font"));// = trayIconMenu->addMenu(QIcon(":/images/font.png"),tr("(&F)字 体")); bgMenu->setTitle(tr("&Background"));// = trayIconMenu->addMenu(QIcon(":/images/bg.png"),tr("(&G)背 景")); codecMenu->setTitle(tr("&Codec"));// = trayIconMenu->addMenu(QIcon(":/images/codec.png"),tr("(&C)编 码")); searchMenu->setTitle(tr("&Search")); } void TxtReader::iconActivated(QSystemTrayIcon::ActivationReason reason) { switch (reason) { case QSystemTrayIcon::Trigger: // case QSystemTrayIcon::DoubleClick: hideAndRestore(); break; //case QSystemTrayIcon::MiddleClick: //showMessage(); //break; default: break; } return ; } void TxtReader::quitaction() { QSettings settings("lsyer", "txtreader"); settings.setValue("pos", pos()); settings.setValue("size", size()); settings.setValue("curFile", curFile); settings.setValue("o_isfullscreen", o_isfullscreen); settings.setValue("txtFont", txtFont); settings.setValue("txtColor", txtColor); settings.setValue("bgColor", bgColor); settings.setValue("bgImage", bgImage); settings.setValue("codecstr", codecstr); settings.setValue("uilang", uilang); saveBookDependSetting(); qApp->quit(); return ; } void TxtReader::openRecentFile() { QAction *action = qobject_cast(sender()); if (action){ if(action->data().toString()!=curFile){ if(loadFile(action->data().toString())){ reGenPageList(); backToRead(); } } } return ; } void TxtReader::keyPressEvent(QKeyEvent * event) { if (event->key() == Qt::Key_Right || event->key() == Qt::Key_Down){ jumpToNextPage(); } else if (event->key() == Qt::Key_Left || event->key() == Qt::Key_Up){ jumpToPrePage(); } else if (event->key() == Qt::Key_Escape) { myhide(); } else { QWidget::keyPressEvent(event); } return ; } void TxtReader::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton){ if(this->x()+3*this->width()/4< event->globalX() && event->globalX() < this->x()+this->width()){ jumpToNextPage(); }else if(this->x()< event->globalX() && event->globalX() < this->x()+this->width()/4){ jumpToPrePage(); }else{ dragPosition = event->globalPos() - frameGeometry().topLeft(); event->accept(); } }else{ QWidget::mousePressEvent(event); } return ; } void TxtReader::mouseMoveEvent(QMouseEvent *event) { if (event->buttons() & Qt::LeftButton) { move(event->globalPos() - dragPosition); event->accept(); }else{ QWidget::mouseMoveEvent(event); } return ; } void TxtReader::contextMenuEvent(QContextMenuEvent *event) { myShowContextMenu(event->globalPos()); return ; } void TxtReader::closeEvent ( QCloseEvent * event ) { hideAndRestore(); event->ignore(); } void TxtReader::dragEnterEvent(QDragEnterEvent *event) { event->acceptProposedAction(); } void TxtReader::dropEvent(QDropEvent *event) { QList urls = event->mimeData()->urls(); if (urls.isEmpty()) return; QString fileName = urls.first().toLocalFile(); if (fileName.isEmpty()) return; if(loadFile(fileName)) reGenPageList(); } void TxtReader::paintEvent(QPaintEvent *) { QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); } txtreader-0.6.5/src/TxtReader.h0000775000000000001440000001040311537321773015267 0ustar rootusers#ifndef TXTREADER_H #define TXTREADER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "ReaderView.h" class TxtReader : public QWidget { Q_OBJECT public: TxtReader(QWidget * parent = 0,QString infile = ""); void jumpToPrePage(); void jumpToNextPage(); protected: void keyPressEvent(QKeyEvent * event); void mouseMoveEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event); void closeEvent ( QCloseEvent * event ); void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); //for context menu void contextMenuEvent(QContextMenuEvent *event); void paintEvent(QPaintEvent *); virtual void resizeEvent(QResizeEvent *event); private: QString version,bgImage,uilang; QFont txtFont; QColor txtColor,bgColor; int curPageNum,curOffset; bool o_isfullscreen; QLabel viewTitleLabel; ReaderView *viewContentEdit; QLabel viewInstructionLabel; QLabel viewPageLabel; //QSpacerItem *leftSpacer,*rightSpacer; QFrame upLine,bottomLine; QGridLayout *layout; QString FileContent; QList PageOffsetList; int TotalPageNum; QString searchText; QPoint dragPosition; void jumpToOffset(int offset); void jumpToPage(int pageNum); int loadFile(const QString &fileName); QString readInstructionContent(); void genPageList(QString &content,QList &list); void reGenPageList(); QIcon icon; QAction *openAct; QAction *aboutAct; QAction *instructionAct; QString codecstr; QMenu *searchMenu; QAction *searchOriAct; QAction *searchCurAct; QMenu *codecMenu; QAction *GB2312Act; QAction *UTF8Act; QActionGroup *codecActionGroup; QAction *jumpAct; QMenu *bookmarkMenu; QList bookmarkArray; QAction *addBookmarkAct; QAction *delBookmarkAct; QAction *clearBookmarkAct; QMenu *setfontMenu; QAction *addTxtSizeAct; QAction *subTxtSizeAct; QAction *setfontAct; QAction *setfontcolorAct; QMenu * bgMenu; QAction * setbgcolorAct; QAction * setbgimageAct; QAction * delbgimageAct; QMenu * languageMenu; QActionGroup *languageActionGroup; void createLanguageMenu(); QTranslator appTranslator; //for trayIcon void createActions(); void createTrayIcon(); //QAction *maximizeAction; QAction *viewfullscreenAction; QAction *nofullscreenAction; QAction *hiddenAction; QAction *restoreAction; QAction *quitAction; QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; // for recentfiles menu void setCurrentFile(const QString &fileName); void updateRecentFileActions(); QString strippedName(const QString &fullFileName); QString curFile; QMenu *recentFilesMenu; enum { MaxRecentFiles = 5 }; QAction *recentFileActs[MaxRecentFiles]; QAction *separatorAct; void setSizeBaseAndIncIncrement(); void backToRead(); private slots: void open(); void about(); void slotSearchOri(); void slotSearchCur(); void readOrInstruct(); void showChanges(); void myShowContextMenu(QPoint point); void setcodecstr(QAction *action); void slotJumpToPage(); void getBookDependSetting(); void saveBookDependSetting(); void addBookmark(); void delBookmark(); void clearBookmark(); void openBookmark(); void addTxtSize(); void subTxtSize(); void setfont(); void setfontcolor(); void setbgcolor(); void setbgimage(); void resetbg(); void hideAndRestore(); void myhide(); void myrestore(); void myshowfullscreen(); void myexitfullscreen(); void switchLanguage(QAction *action); void retranslateUi(); //for trayIcon void iconActivated(QSystemTrayIcon::ActivationReason reason); void quitaction(); //for recentfiles void openRecentFile(); }; #endif txtreader-0.6.5/txtreader.pro0000775000000000001440000000107511532664106015151 0ustar rootusers# ##################################################################### # Automatically generated by qmake (2.01a) ?? ?? 1 18:34:39 2008 # ##################################################################### TEMPLATE = app TARGET = DEPENDPATH += . \ src INCLUDEPATH += . \ src # Input HEADERS += src/TxtReader.h \ src/ReaderView.h SOURCES += src/main.cpp \ src/TxtReader.cpp \ src/ReaderView.cpp RESOURCES += txtreader.qrc RC_FILE = myapp.rc win32:QMAKE_LFLAGS += -static-libgcc TRANSLATIONS = i18n/txtreader_English.ts \ i18n/txtreader_zh_CN.ts txtreader-0.6.5/txtreader.pro.user0000775000000000001440000010003411540043000016100 0ustar rootusers RunConfiguration0-BaseEnvironmentBase 2 RunConfiguration0-CommandLineArguments RunConfiguration0-ProFile txtreader.pro RunConfiguration0-RunConfiguration.name txtreader RunConfiguration0-UseDyldImageSuffix false RunConfiguration0-UseTerminal false RunConfiguration0-UserEnvironmentChanges RunConfiguration0-UserSetName false RunConfiguration0-UserSetWorkingDirectory false RunConfiguration0-UserWorkingDirectory RunConfiguration0-type Qt4ProjectManager.Qt4RunConfiguration activeRunConfiguration 0 activebuildconfiguration Release buildConfiguration-Debug Debug 0 0 2 buildConfiguration-Release Release 0 0 0 buildconfiguration-Debug-buildstep0 Debug ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\Administrator\Application Data CLIENTNAME=Console COMMONPROGRAMFILES=C:\Program Files\Common Files COMPUTERNAME=MICROSOF-ADB2E6 COMSPEC=C:\WINDOWS\system32\cmd.exe FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\Documents and Settings\Administrator LOGONSERVER=\\MICROSOF-ADB2E6 NUMBER_OF_PROCESSORS=2 OS=Windows_NT PATH=D:\Qt\2010.02.1\qt\bin;d:\Qt\2010.02.1\qt\bin;d:\Qt\2010.02.1\bin;d:\Qt\2010.02.1\mingw\bin;C:\WINDOWS\System32 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=0f0d PROGRAMFILES=C:\Program Files PROMPT=$P$G QMAKESPEC=win32-g++ QTDIR=D:/Qt/2010.02.1/qt SESSIONNAME=Console SYSTEMDRIVE=C: SYSTEMROOT=C:\WINDOWS TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp USERDOMAIN=MICROSOF-ADB2E6 USERNAME=Administrator USERPROFILE=C:\Documents and Settings\Administrator WINDIR=C:\WINDOWS D:/txtreader-0.5.3/txtreader.pro -spec win32-g++ -r CONFIG+=debug d:/qt/2010.02.1/qt/bin/qmake.exe true D:/txtreader-0.5.3 buildconfiguration-Debug-buildstep1 Debug ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\Administrator\Application Data CLIENTNAME=Console COMMONPROGRAMFILES=C:\Program Files\Common Files COMPUTERNAME=MICROSOF-ADB2E6 COMSPEC=C:\WINDOWS\system32\cmd.exe FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\Documents and Settings\Administrator LOGONSERVER=\\MICROSOF-ADB2E6 NUMBER_OF_PROCESSORS=2 OS=Windows_NT PATH=D:\Qt\2010.02.1\qt\bin;d:\Qt\2010.02.1\qt\bin;d:\Qt\2010.02.1\bin;d:\Qt\2010.02.1\mingw\bin;C:\WINDOWS\System32 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=0f0d PROGRAMFILES=C:\Program Files PROMPT=$P$G QMAKESPEC=win32-g++ QTDIR=D:/Qt/2010.02.1/qt SESSIONNAME=Console SYSTEMDRIVE=C: SYSTEMROOT=C:\WINDOWS TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp USERDOMAIN=MICROSOF-ADB2E6 USERNAME=Administrator USERPROFILE=C:\Documents and Settings\Administrator WINDIR=C:\WINDOWS false -w D:/Qt/2010.02.1/mingw/bin/mingw32-make.exe true D:/txtreader-0.5.3 buildconfiguration-Debug-cleanstep0 Debug ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\Administrator\Application Data CLIENTNAME=Console COMMONPROGRAMFILES=C:\Program Files\Common Files COMPUTERNAME=MICROSOF-ADB2E6 COMSPEC=C:\WINDOWS\system32\cmd.exe FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\Documents and Settings\Administrator LOGONSERVER=\\MICROSOF-ADB2E6 NUMBER_OF_PROCESSORS=2 OS=Windows_NT PATH=;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=0f0d PROGRAMFILES=C:\Program Files QTDIR= SESSIONNAME=Console SYSTEMDRIVE=C: SYSTEMROOT=C:\WINDOWS TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp USERDOMAIN=MICROSOF-ADB2E6 USERNAME=Administrator USERPROFILE=C:\Documents and Settings\Administrator WINDIR=C:\WINDOWS true clean -w D:/Qt/2010.02.1/mingw/bin/mingw32-make.exe true D:/txtreader-0.5.3 true clean buildconfiguration-Release-buildstep0 Release COLORTERM=1 COLUMNS=80 CONSOLE=/dev/console CPU=i686 CSHEDIT=emacs DAEMON=/usr/bin/lxdm DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Xw1k3bw3eA,guid=e3cd44d7e03dabec603759f500000028 DESKTOP_SESSION=LXDE DISPLAY=:0 DO_BLOGD=no DO_CONFIRM=no DO_FASTBOOT=no DO_FORCEFSCK=no DO_QUIET=yes ENV=/etc/bash.bashrc FROM_HEADER= GNOME_KEYRING_CONTROL=/tmp/keyring-Q6RojH GNOME_KEYRING_PID=1734 GPG_AGENT_INFO=/tmp/gpg-1KXjFB/S.gpg-agent:1801:1 GTK_IM_MODULE=ibus G_BROKEN_FILENAMES=1 HISTSIZE=1000 HOME=/root HOST=linux-egh4.site HOSTNAME=linux-egh4.site HOSTTYPE=i386 INIT_VERSION=sysvinit-2.88 INPUTRC=/etc/inputrc JAVA_BINDIR=/usr/lib/jvm/jre/bin JAVA_HOME=/usr/lib/jvm/jre JAVA_ROOT=/usr/lib/jvm/jre JRE_HOME=/usr/lib/jvm/jre KDEROOTHOME=/root/.kdm LANG=POSIX LC_CTYPE=zh_CN.UTF-8 LD_LIBRARY_PATH=/usr/lib/qtcreator: LESS=-M -I -R LESSCLOSE=lessclose.sh %s %s LESSKEY=/etc/lesskey.bin LESSOPEN=lessopen.sh %s LESS_ADVANCED_PREPROCESSOR=no LINES=25 LOGNAME=root LS_COLORS=no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.xz=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32: LS_OPTIONS=-A -N --color=tty -T 0 MACHTYPE=i686-suse-linux MAIL=/var/spool/mail/root MANPATH=/usr/share/man:/usr/local/man MINICOM=-c on MORE=-sl NNTPSERVER=news OSTYPE=linux PAGER=less PATH=/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/jvm/jre/bin PREVLEVEL=N PROFILEREAD=true PWD=/root PYTHONSTARTUP=/etc/pythonstart QTDIR=/usr/share/qt4/ QT_IM_MODULE=ibus QT_IM_SWITCHER=imsw-multi QT_SYSTEM_DIR=/usr/share/desktop-data REDIRECT=/dev/char/../tty1 ROOTFS_BLKDEV=/dev/sda7 ROOTFS_FSCK=0 ROOTFS_FSTYPE=ext4 RUNLEVEL=5 SAL_USE_VCLPLUGIN=gtk SHELL=/bin/bash SHLVL=2 SPLASH=no SPLASHCFG= TERM=xterm TMPDIR=/tmp USER=root WINDOWMANAGER=/usr/bin/startlxde XAUTHORITY=/var/run/lxdm/lxdm-:0.auth XCURSOR_THEME=DMZ XDG_CONFIG_DIRS=/etc/xdg XDG_CONFIG_HOME=/root/.config XDG_CURRENT_DESKTOP=LXDE XDG_DATA_DIRS=/usr/local/share:/usr/share XDG_MENU_PREFIX=lxde- XDG_SESSION_COOKIE=20410853c4d80bdde6cab90200000164-1300251430.498855-472803652 XKEYSYMDB=/usr/share/X11/XKeysymDB XMODIFIERS=@im=ibus XNLSPATH=/usr/share/X11/nls XSESSION_IS_UP=yes _LXSESSION_PID=1744 splash=silent /opt/ltmp/Reader/txtreader-0.6.5/txtreader.pro -spec linux-g++ -r /usr/bin/qmake false /opt/ltmp/Reader/txtreader-0.6.5 buildconfiguration-Release-buildstep1 Release COLORTERM=1 COLUMNS=80 CONSOLE=/dev/console CPU=i686 CSHEDIT=emacs DAEMON=/usr/bin/lxdm DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Xw1k3bw3eA,guid=e3cd44d7e03dabec603759f500000028 DESKTOP_SESSION=LXDE DISPLAY=:0 DO_BLOGD=no DO_CONFIRM=no DO_FASTBOOT=no DO_FORCEFSCK=no DO_QUIET=yes ENV=/etc/bash.bashrc FROM_HEADER= GNOME_KEYRING_CONTROL=/tmp/keyring-Q6RojH GNOME_KEYRING_PID=1734 GPG_AGENT_INFO=/tmp/gpg-1KXjFB/S.gpg-agent:1801:1 GTK_IM_MODULE=ibus G_BROKEN_FILENAMES=1 HISTSIZE=1000 HOME=/root HOST=linux-egh4.site HOSTNAME=linux-egh4.site HOSTTYPE=i386 INIT_VERSION=sysvinit-2.88 INPUTRC=/etc/inputrc JAVA_BINDIR=/usr/lib/jvm/jre/bin JAVA_HOME=/usr/lib/jvm/jre JAVA_ROOT=/usr/lib/jvm/jre JRE_HOME=/usr/lib/jvm/jre KDEROOTHOME=/root/.kdm LANG=POSIX LC_CTYPE=zh_CN.UTF-8 LD_LIBRARY_PATH=/usr/lib/qtcreator: LESS=-M -I -R LESSCLOSE=lessclose.sh %s %s LESSKEY=/etc/lesskey.bin LESSOPEN=lessopen.sh %s LESS_ADVANCED_PREPROCESSOR=no LINES=25 LOGNAME=root LS_COLORS=no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.xz=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32: LS_OPTIONS=-A -N --color=tty -T 0 MACHTYPE=i686-suse-linux MAIL=/var/spool/mail/root MANPATH=/usr/share/man:/usr/local/man MINICOM=-c on MORE=-sl NNTPSERVER=news OSTYPE=linux PAGER=less PATH=/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/jvm/jre/bin PREVLEVEL=N PROFILEREAD=true PWD=/root PYTHONSTARTUP=/etc/pythonstart QTDIR=/usr/share/qt4/ QT_IM_MODULE=ibus QT_IM_SWITCHER=imsw-multi QT_SYSTEM_DIR=/usr/share/desktop-data REDIRECT=/dev/char/../tty1 ROOTFS_BLKDEV=/dev/sda7 ROOTFS_FSCK=0 ROOTFS_FSTYPE=ext4 RUNLEVEL=5 SAL_USE_VCLPLUGIN=gtk SHELL=/bin/bash SHLVL=2 SPLASH=no SPLASHCFG= TERM=xterm TMPDIR=/tmp USER=root WINDOWMANAGER=/usr/bin/startlxde XAUTHORITY=/var/run/lxdm/lxdm-:0.auth XCURSOR_THEME=DMZ XDG_CONFIG_DIRS=/etc/xdg XDG_CONFIG_HOME=/root/.config XDG_CURRENT_DESKTOP=LXDE XDG_DATA_DIRS=/usr/local/share:/usr/share XDG_MENU_PREFIX=lxde- XDG_SESSION_COOKIE=20410853c4d80bdde6cab90200000164-1300251430.498855-472803652 XKEYSYMDB=/usr/share/X11/XKeysymDB XMODIFIERS=@im=ibus XNLSPATH=/usr/share/X11/nls XSESSION_IS_UP=yes _LXSESSION_PID=1744 splash=silent false -w /usr/bin/make true /opt/ltmp/Reader/txtreader-0.6.5 buildconfiguration-Release-cleanstep0 Release COLORTERM=1 COLUMNS=80 CONSOLE=/dev/console CPU=i686 CSHEDIT=emacs DAEMON=/usr/bin/lxdm DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-BU9HSieyJR,guid=610a6558161a20306d49a0b200000027 DESKTOP_SESSION=LXDE DISPLAY=:0 DO_BLOGD=no DO_CONFIRM=no DO_FASTBOOT=no DO_FORCEFSCK=no DO_QUIET=yes ENV=/etc/bash.bashrc FROM_HEADER= GNOME_KEYRING_CONTROL=/tmp/keyring-ROQe6L GNOME_KEYRING_PID=1892 GPG_AGENT_INFO=/tmp/gpg-Ots2Bn/S.gpg-agent:1959:1 GTK_IM_MODULE=ibus G_BROKEN_FILENAMES=1 HISTSIZE=1000 HOME=/root HOST=linux-egh4.site HOSTNAME=linux-egh4.site HOSTTYPE=i386 INIT_VERSION=sysvinit-2.88 INPUTRC=/etc/inputrc JAVA_BINDIR=/usr/lib/jvm/jre/bin JAVA_HOME=/usr/lib/jvm/jre JAVA_ROOT=/usr/lib/jvm/jre JRE_HOME=/usr/lib/jvm/jre KDEROOTHOME=/root/.kdm LANG=POSIX LANGUAGE=zh_CN.UTF-8 LC_CTYPE=zh_CN.UTF-8 LD_LIBRARY_PATH=/usr/lib/qtcreator: LESS=-M -I -R LESSCLOSE=lessclose.sh %s %s LESSKEY=/etc/lesskey.bin LESSOPEN=lessopen.sh %s LESS_ADVANCED_PREPROCESSOR=no LINES=25 LOGNAME=root LS_COLORS=no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.xz=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32: LS_OPTIONS=-A -N --color=tty -T 0 MACHTYPE=i686-suse-linux MAIL=/var/spool/mail/root MANPATH=/usr/share/man:/usr/local/man MAN_KEEP_FORMATTING=yes MINICOM=-c on MORE=-sl NNTPSERVER=news OSTYPE=linux PAGER=less PATH=/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/jvm/jre/bin PREVLEVEL=N PROFILEREAD=true PWD=/root PYTHONSTARTUP=/etc/pythonstart QTDIR=/usr/share/qt4/ QT_IM_MODULE=ibus QT_IM_SWITCHER=imsw-multi QT_SYSTEM_DIR=/usr/share/desktop-data REDIRECT=/dev/char/../tty1 ROOTFS_BLKDEV=/dev/sda7 ROOTFS_FSCK=0 ROOTFS_FSTYPE=ext4 RUNLEVEL=5 SAL_USE_VCLPLUGIN=gtk SHELL=/bin/bash SHLVL=2 SPLASH=no SPLASHCFG= TERM=xterm TMPDIR=/tmp USER=root WINDOWMANAGER=/usr/bin/startlxde XAUTHORITY=/var/run/lxdm/lxdm-:0.auth XCURSOR_THEME=DMZ XDG_CONFIG_DIRS=/etc/xdg XDG_CONFIG_HOME=/root/.config XDG_CURRENT_DESKTOP=LXDE XDG_DATA_DIRS=/usr/local/share:/usr/share XDG_MENU_PREFIX=lxde- XDG_SESSION_COOKIE=20410853c4d80bdde6cab90200000164-1298864129.573479-491668288 XKEYSYMDB=/usr/share/X11/XKeysymDB XMODIFIERS=@im=ibus XNLSPATH=/usr/share/X11/nls XSESSION_IS_UP=yes _LXSESSION_PID=1902 splash=silent true clean -w /usr/bin/make true /opt/ltmp/Reader/txtreader-0.6.4 true clean buildconfigurations Debug Release buildstep0 buildstep1 buildsteps trolltech.qt4projectmanager.qmake trolltech.qt4projectmanager.make cleanstep0 true cleansteps trolltech.qt4projectmanager.make defaultFileEncoding System project txtreader-0.6.5/txtreader.qrc0000775000000000001440000000254511537316205015140 0ustar rootusers images/about.png images/bg.png images/bgcolor.png images/bgimage.png images/codec.png images/exit.png images/font.png images/icon.png images/jump.png images/min.png images/open.png images/restore.png images/setfont.png images/zoom-in.png images/zoom-out.png images/instruction.png images/fullscreen.png images/nofullscreen.png images/lang.png i18n/txtreader_zh_CN.qm i18n/txtreader_English.qm README_zh_CN.HTML README_English.HTML CHANGES.TXT images/close.png images/reset.png images/bookmark-clear.png images/bookmark-del.png images/bookmark-new.png images/bookmark.png images/search.png images/searchCur.png images/searchOri.png txtreader-0.6.5/txtreader.spec0000775000000000001440000000250511537153401015276 0ustar rootusersSummary: TxtReader(文本阅读器) for linux Name: txtreader Version: 0.6.5 Release: 1 License: GPL Group: Desktop/KDE BuildRoot: /var/tmp/%{name}-%{version}-root Source: %{name}-%{version}.tar.gz %description TxtReader(文本阅读器) for linux 0.6.5 %prep %setup %Build make %install mkdir -p $RPM_BUILD_ROOT/usr/share/txtreader cp -f txtreader $RPM_BUILD_ROOT/usr/share/txtreader/ cp -f icon.png $RPM_BUILD_ROOT/usr/share/txtreader/ cp -f README_*.HTML $RPM_BUILD_ROOT/usr/share/txtreader/ cp -f CHANGES.TXT $RPM_BUILD_ROOT/usr/share/txtreader/ mkdir -p $RPM_BUILD_ROOT/usr/bin ln -s /usr/share/txtreader/txtreader $RPM_BUILD_ROOT/usr/bin/txtreader #Install application link for X-Windows mkdir -p $RPM_BUILD_ROOT/usr/share/applications cat > cat > $RPM_BUILD_ROOT/usr/share/applications/txtreader.desktop < - update to 0.6.4 * Wed Jun 24 2009 lsyer - create txtreader-0.6.5/ui/0000755000000000000000000000000011531132103012625 5ustar rootroottxtreader-0.6.5/Makefile0000775000000000001440000002411211537155223014062 0ustar rootusers############################################################################# # Makefile for building: txtreader # Generated by qmake (2.01a) (Qt 4.6.3) on: Mon Feb 28 17:53:27 2011 # Project: txtreader.pro # Template: app # Command: /usr/bin/qmake -unix -o Makefile txtreader.pro ############################################################################# ####### Compiler, tools and options CC = gcc CXX = g++ DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED CFLAGS = -pipe -O2 -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -W -D_REENTRANT $(DEFINES) CXXFLAGS = -pipe -O2 -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -W -D_REENTRANT $(DEFINES) INCPATH = -I/usr/share/qt4/mkspecs/default -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -Isrc -I. LINK = g++ LFLAGS = -Wl,-O1 LIBS = $(SUBLIBS) -L/usr/lib -lQtGui -L/usr/lib -L/usr/X11R6/lib -lQtCore -lpthread AR = ar cqs RANLIB = QMAKE = /usr/bin/qmake TAR = tar -cf COMPRESS = gzip -9f COPY = cp -f SED = sed COPY_FILE = $(COPY) COPY_DIR = $(COPY) -r STRIP = strip INSTALL_FILE = install -m 644 -p INSTALL_DIR = $(COPY_DIR) INSTALL_PROGRAM = install -m 755 -p DEL_FILE = rm -f SYMLINK = ln -f -s DEL_DIR = rmdir MOVE = mv -f CHK_DIR_EXISTS= test -d MKDIR = mkdir -p ####### Output directory OBJECTS_DIR = ./ ####### Files SOURCES = src/main.cpp \ src/TxtReader.cpp \ src/ReaderView.cpp moc_TxtReader.cpp \ moc_ReaderView.cpp \ qrc_txtreader.cpp OBJECTS = main.o \ TxtReader.o \ ReaderView.o \ moc_TxtReader.o \ moc_ReaderView.o \ qrc_txtreader.o DIST = /usr/share/qt4/mkspecs/common/g++.conf \ /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ /usr/share/qt4/mkspecs/features/qt_functions.prf \ /usr/share/qt4/mkspecs/features/qt_config.prf \ /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ /usr/share/qt4/mkspecs/features/default_pre.prf \ /usr/share/qt4/mkspecs/features/release.prf \ /usr/share/qt4/mkspecs/features/default_post.prf \ /usr/share/qt4/mkspecs/features/warn_on.prf \ /usr/share/qt4/mkspecs/features/qt.prf \ /usr/share/qt4/mkspecs/features/unix/thread.prf \ /usr/share/qt4/mkspecs/features/moc.prf \ /usr/share/qt4/mkspecs/features/resources.prf \ /usr/share/qt4/mkspecs/features/uic.prf \ /usr/share/qt4/mkspecs/features/yacc.prf \ /usr/share/qt4/mkspecs/features/lex.prf \ /usr/share/qt4/mkspecs/features/include_source_dir.prf \ txtreader.pro QMAKE_TARGET = txtreader DESTDIR = TARGET = txtreader first: all ####### Implicit rules .SUFFIXES: .o .c .cpp .cc .cxx .C .cpp.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .cc.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .cxx.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .C.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .c.o: $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" ####### Build rules all: Makefile $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) Makefile: txtreader.pro /usr/share/qt4/mkspecs/default/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \ /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ /usr/share/qt4/mkspecs/features/qt_functions.prf \ /usr/share/qt4/mkspecs/features/qt_config.prf \ /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ /usr/share/qt4/mkspecs/features/default_pre.prf \ /usr/share/qt4/mkspecs/features/release.prf \ /usr/share/qt4/mkspecs/features/default_post.prf \ /usr/share/qt4/mkspecs/features/warn_on.prf \ /usr/share/qt4/mkspecs/features/qt.prf \ /usr/share/qt4/mkspecs/features/unix/thread.prf \ /usr/share/qt4/mkspecs/features/moc.prf \ /usr/share/qt4/mkspecs/features/resources.prf \ /usr/share/qt4/mkspecs/features/uic.prf \ /usr/share/qt4/mkspecs/features/yacc.prf \ /usr/share/qt4/mkspecs/features/lex.prf \ /usr/share/qt4/mkspecs/features/include_source_dir.prf \ /usr/lib/libQtGui.prl \ /usr/lib/libQtCore.prl $(QMAKE) -unix -o Makefile txtreader.pro /usr/share/qt4/mkspecs/common/g++.conf: /usr/share/qt4/mkspecs/common/unix.conf: /usr/share/qt4/mkspecs/common/linux.conf: /usr/share/qt4/mkspecs/qconfig.pri: /usr/share/qt4/mkspecs/features/qt_functions.prf: /usr/share/qt4/mkspecs/features/qt_config.prf: /usr/share/qt4/mkspecs/features/exclusive_builds.prf: /usr/share/qt4/mkspecs/features/default_pre.prf: /usr/share/qt4/mkspecs/features/release.prf: /usr/share/qt4/mkspecs/features/default_post.prf: /usr/share/qt4/mkspecs/features/warn_on.prf: /usr/share/qt4/mkspecs/features/qt.prf: /usr/share/qt4/mkspecs/features/unix/thread.prf: /usr/share/qt4/mkspecs/features/moc.prf: /usr/share/qt4/mkspecs/features/resources.prf: /usr/share/qt4/mkspecs/features/uic.prf: /usr/share/qt4/mkspecs/features/yacc.prf: /usr/share/qt4/mkspecs/features/lex.prf: /usr/share/qt4/mkspecs/features/include_source_dir.prf: /usr/lib/libQtGui.prl: /usr/lib/libQtCore.prl: qmake: FORCE @$(QMAKE) -unix -o Makefile txtreader.pro dist: @$(CHK_DIR_EXISTS) .tmp/txtreader1.0.0 || $(MKDIR) .tmp/txtreader1.0.0 $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/txtreader1.0.0/ && $(COPY_FILE) --parents src/TxtReader.h src/ReaderView.h .tmp/txtreader1.0.0/ && $(COPY_FILE) --parents txtreader.qrc .tmp/txtreader1.0.0/ && $(COPY_FILE) --parents src/main.cpp src/TxtReader.cpp src/ReaderView.cpp .tmp/txtreader1.0.0/ && $(COPY_FILE) --parents i18n/txtreader_English.ts i18n/txtreader_zh_CN.ts .tmp/txtreader1.0.0/ && (cd `dirname .tmp/txtreader1.0.0` && $(TAR) txtreader1.0.0.tar txtreader1.0.0 && $(COMPRESS) txtreader1.0.0.tar) && $(MOVE) `dirname .tmp/txtreader1.0.0`/txtreader1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/txtreader1.0.0 clean:compiler_clean -$(DEL_FILE) $(OBJECTS) -$(DEL_FILE) *~ core *.core ####### Sub-libraries distclean: clean -$(DEL_FILE) $(TARGET) -$(DEL_FILE) Makefile check: first mocclean: compiler_moc_header_clean compiler_moc_source_clean mocables: compiler_moc_header_make_all compiler_moc_source_make_all compiler_moc_header_make_all: moc_TxtReader.cpp moc_ReaderView.cpp compiler_moc_header_clean: -$(DEL_FILE) moc_TxtReader.cpp moc_ReaderView.cpp moc_TxtReader.cpp: src/ReaderView.h \ src/TxtReader.h /usr/bin/moc $(DEFINES) $(INCPATH) src/TxtReader.h -o moc_TxtReader.cpp moc_ReaderView.cpp: src/ReaderView.h /usr/bin/moc $(DEFINES) $(INCPATH) src/ReaderView.h -o moc_ReaderView.cpp compiler_rcc_make_all: qrc_txtreader.cpp compiler_rcc_clean: -$(DEL_FILE) qrc_txtreader.cpp qrc_txtreader.cpp: txtreader.qrc \ README_zh_CN.HTML \ CHANGES.TXT \ README_English.HTML \ i18n/txtreader_English.qm \ i18n/txtreader_zh_CN.qm \ images/fullscreen.png \ images/open.png \ images/setfont.png \ images/close.png \ images/bg.png \ images/instruction.png \ images/jump.png \ images/lang.png \ images/bookmark-clear.png \ images/restore.png \ images/bookmark-del.png \ images/about.png \ images/icon.png \ images/codec.png \ images/nofullscreen.png \ images/bookmark-new.png \ images/font.png \ images/reset.png \ images/min.png \ images/zoom-out.png \ images/bgcolor.png \ images/exit.png \ images/bgimage.png \ images/zoom-in.png \ images/bookmark.png /usr/bin/rcc -name txtreader txtreader.qrc -o qrc_txtreader.cpp compiler_image_collection_make_all: qmake_image_collection.cpp compiler_image_collection_clean: -$(DEL_FILE) qmake_image_collection.cpp compiler_moc_source_make_all: compiler_moc_source_clean: compiler_uic_make_all: compiler_uic_clean: compiler_yacc_decl_make_all: compiler_yacc_decl_clean: compiler_yacc_impl_make_all: compiler_yacc_impl_clean: compiler_lex_make_all: compiler_lex_clean: compiler_clean: compiler_moc_header_clean compiler_rcc_clean ####### Compile main.o: src/main.cpp src/TxtReader.h \ src/ReaderView.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o src/main.cpp TxtReader.o: src/TxtReader.cpp src/TxtReader.h \ src/ReaderView.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o TxtReader.o src/TxtReader.cpp ReaderView.o: src/ReaderView.cpp src/ReaderView.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ReaderView.o src/ReaderView.cpp moc_TxtReader.o: moc_TxtReader.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_TxtReader.o moc_TxtReader.cpp moc_ReaderView.o: moc_ReaderView.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ReaderView.o moc_ReaderView.cpp qrc_txtreader.o: qrc_txtreader.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_txtreader.o qrc_txtreader.cpp ####### Install install: all mkdir -p /usr/share/txtreader cp -f txtreader /usr/share/txtreader/ cp -f icon.png /usr/share/txtreader/ cp -f README_*.HTML /usr/share/txtreader/ cp -f CHANGES.TXT /usr/share/txtreader/ mkdir -p /usr/bin ln -s /usr/share/txtreader/txtreader /usr/bin/txtreader #Install application link for X-Windows mkdir -p /usr/share/applications echo "[Desktop Entry]" > /usr/share/applications/txtreader.desktop echo "Name=Txt Reader" >> /usr/share/applications/txtreader.desktop echo "GenericName=Txt Reader" >> /usr/share/applications/txtreader.desktop echo "GenericName[zh_CN]=文本阅读器" >> /usr/share/applications/txtreader.desktop echo "Comment=Txt Reader for linux" >> /usr/share/applications/txtreader.desktop echo "Comment[zh_CN]=Txt Reader(文本阅读器) for linux" >> /usr/share/applications/txtreader.desktop echo "Exec=/usr/share/txtreader/txtreader" >> /usr/share/applications/txtreader.desktop echo "Icon=/usr/share/txtreader/icon.png" >> /usr/share/applications/txtreader.desktop echo "Terminal=0" >> /usr/share/applications/txtreader.desktop echo "Type=Application" >> /usr/share/applications/txtreader.desktop echo "Categories=Qt;KDE;Utility;" >> /usr/share/applications/txtreader.desktop uninstall: all rm -rf /usr/share/txtreader rm -rf /usr/bin/txtreader rm -rf /usr/share/applications/txtreader.desktop FORCE: txtreader-0.6.5/CHANGES.TXT0000644000000000000000000001174511540043176013704 0ustar rootrootChanges 2011-3-14 0.6.5 -------------------------------- -增加搜索功能 -再次优化分页算法,通过略微提高代码和空间复杂性换得性能改进 -解决设置背景时阅读区域不能使用的BUG -解决linux及win下字体宽度取值方式不同而造成win版本在特定大小字体下不能正确分行的BUG -增加软链接/usr/bin/txtreader -增加Makefile文件中install与uninstall部分 2011-3-1 0.6.4 累积更新 -------------------------------- -重写分页算法,打开书籍速度显著提高 -更新书签位置、当前阅读进度的记录方式,为每本书籍分别保存历史信息 -简化程序结构,增强代码可读性 -优化使用指南与阅读界面切换算法 -增加清除书签菜单 -解决托盘状态About对话框确认后程序退出的问题 -解决全屏、正常阅读与隐藏之间相互切换不正常的BUG -解决历史文件不存在时不能自动清除的BUG -其它更新,如新的菜单图标等 2010-4-16 0.5.3 -------------------------------- -优化程序说明与阅读界面切换算法 -改变阅读界面,使之更符合阅读习惯 -优化分页算法 2009-5-29 0.5.2 -------------------------------- -增加鼠标翻页功能:左侧1/4向上翻页,右侧1/4向下翻页; 2008-11-2 0.5.1 -------------------------------- -增加文件拖拽打开功能 -增加传入参数打开文件功能 -修正打开历史文档时书签错误 -修正托盘图标时全屏及退出全屏bug 2008-10-6 0.4.5 -------------------------------- -修复“退出全屏”菜单的ICON错误 -修正右键及托盘菜单 -增加退出全屏的位置及大小检测 2008-5-5 0.4.4 -------------------------------- -增加多语言支持 -优化部分代码 2008-5-1 0.4.3 -------------------------------- -增加全屏、退出全屏功能 -增加按“↓”键下向翻页、按“↑”键向上翻页 -修正初始化不能显示总页数及一个其它BUG 2008-1-10 0.4.2 -------------------------------- -修正一个在XP、2000系统上编译运行出错的BUG -简化内部loadfile()和类的生成函数两处代码 2008-1-9 0.4.1 -------------------------------- -修正程序说明显示时没有切换到第一页的问题 2008-1-7 0.4.0 -------------------------------- -重写程序代码,提高效率和重用性 -添加程序使用说明菜单 -修正背景图片不能正常显示的bug,并增加背景重置功能 2007-11-3 0.3.2 -------------------------------- -修改隐藏显示关于对话框时程序推出错误 -增加标题栏显示当前阅读书籍名称功能 -修改点击关闭按钮时程序退出bug,隐藏窗口 2007-6-18 0.3.1 -------------------------------- -增加字体颜色设置功能 -增加背景色或背景图片设置功能 2007-5-19 0.2.2 -------------------------------- -增加字体设置功能 -将增大、减小、设置字体功能归类到字体菜单 -增加当前编码标志 -优化对象生成,减少内存占用 2007-5-16 0.2.1 -------------------------------- -改进算法,显著加快翻页速度 -提供增大、减小字体动作 -修改文件加载函数,减少加载函数功能,修改几个小bug 2007-5-12 0.1.1 -------------------------------- -支持gb2312编码和utf8编码文本 -支持书签操作,可以添加任意个书签 -提供保存最近5个阅读过的书籍,便于再次查看 -提供跳转至指定页 -支持任务栏图标及内容菜单 -按Esc键或点击关闭按钮隐藏至任务栏,在任务栏图标单击进行显示与隐藏切换 -退出时保存当前状态信息,打开时恢复书签、打消、位置等状态 -按左右键执行翻页操作,左:上一页 右:下一页 Author:lsyer(lishao378@sohu.com) HomePage:http://code.google.com/p/txtreader4linux/txtreader-0.6.5/icon.png0000644000000000000000000000122511537156302013663 0ustar rootrootPNG  IHDR szzsRGBbKGD pHYs  tIME ۙIDATXKA?Sn:%HPAAH;<,4* T^L@$AF!v!|NL1˖wwv7~ee+c[Mى k' pg 6 TJH8J@܄*w,g@W·KĹ Mя^x`s%wI:6UP: :e^#]R*0NDSވ!7 ɋH`] 8uudLG*M*C@gt:ar?&+%ZvT@6^.xs@{ =ߗXR./^fYE=|up$%_ާ",GqnԆ#VGu難P dnbƢuS?d~oWT={B*.sī7 ω;%SKFG -'7o?_^*?IENDB`