From 10d0ede71d6be5276aa95fc68417255cd42e51f3 Mon Sep 17 00:00:00 2001 From: Stephen Dranger Date: Tue, 8 Feb 2011 01:56:30 -0600 Subject: [PATCH] fdssdf --- .gitignore | 3 ++- TODO | 33 +++++++++------------------- convo.py | 11 +++++----- convo.pyc | Bin 22491 -> 22476 bytes irc.py | 2 ++ irc.pyc | Bin 13005 -> 13203 bytes logs/chums.js | 2 +- memos.py | 36 +++++++++++++++++++++++++++++-- memos.pyc | Bin 29390 -> 30655 bytes menus.py | 16 +++++++------- menus.pyc | Bin 19985 -> 20025 bytes parsetools.py | 3 +++ parsetools.pyc | Bin 5465 -> 5688 bytes pesterchum.ico | Bin 0 -> 3638 bytes pesterchum.js | 2 +- pesterchum.py | 37 +++++++++++++++++++++++++++----- setup.py | 12 +++++------ themes/pesterchum/op.gif | Bin 0 -> 111 bytes themes/pesterchum/style.js | 6 ++++-- themes/pesterchum/trollcool.gif | Bin 0 -> 111 bytes themes/trollian/op.gif | Bin 0 -> 111 bytes themes/trollian/style.js | 4 +++- 22 files changed, 112 insertions(+), 55 deletions(-) create mode 100644 pesterchum.ico create mode 100644 themes/pesterchum/op.gif create mode 100644 themes/pesterchum/trollcool.gif create mode 100644 themes/trollian/op.gif diff --git a/.gitignore b/.gitignore index 4cf8dd1..0ccc61f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -logs/* \ No newline at end of file +logs/* +build/* \ No newline at end of file diff --git a/TODO b/TODO index f3e1ae1..44efa4f 100644 --- a/TODO +++ b/TODO @@ -1,46 +1,33 @@ Features: -* dropped messages when chatting -* X closes to tray -* color text is not being translated to server? +* comment history (up button) +* page up/down scrolling +* System tray menu +* troll colors +* ctrl-tab should prefer new convos +* Idling +* More complex quirks: random, spelling, by-sound +* change profile only once we have confirmation from server * convo backgrounds -- make them more like http://www.mspaintadventures.com/storyfiles/hs2/02546_2.gif -* make other ppl ops -* turn off sound option!! * help button on quirks menu? * help menu -- about and forum +* dropped messages when chatting ? -- release alpha * scroll bar style? * User commands/stop user from sending commands accidentally * shared buddy lists - changes to the buddy list should refresh it? multiple clients share buddy list??? -* System tray menu * new sound on CEASE and BEGIN? -* comment history (up button) -* page up/down scrolling -* get rid of border on chat window? -* Idling -* ctrl-tab should prefer new convos -* More complex quirks: random, spelling, by-sound -* Implement TC options * chumList not scaling -- QListView + delegate? * spell check? * Help menu -* change profile only once we have confirmation from server -- release beta * log viewer * pick your own icon * time codes -* theme elements define, implement * Theme checking * don't clear new message when clicking away from tab? * Spy mode * Animated * put code into separate files * hide offline chums -* chum list groups - - - --- MEMOS: -list has "CREATE" CACNCEL JOIN buttons -no "--" for sys mesg - +* chum list groups \ No newline at end of file diff --git a/convo.py b/convo.py index aa541a7..9bfbbe2 100644 --- a/convo.py +++ b/convo.py @@ -343,6 +343,7 @@ class PesterConvo(QtGui.QFrame): self.textArea.append(convertTags(msg)) self.mainwindow.chatlog.log(self.title(), convertTags(msg, "bbcode")) self.newmessage = False + self.history = [] def title(self): return self.chum.handle @@ -448,21 +449,21 @@ class PesterConvo(QtGui.QFrame): @QtCore.pyqtSlot() def sentMessage(self): - text = self.textInput.text() + text = unicode(self.textInput.text()) if text == "": return # deal with quirks here if self.applyquirks: - qtext = self.mainwindow.userprofile.quirks.apply(unicode(text)) - text = QtCore.QString(qtext) - self.textInput.setText("") + qtext = self.mainwindow.userprofile.quirks.apply(text) + text = qtext self.addMessage(text, True) # if ceased, rebegin if hasattr(self, 'chumopen') and not self.chumopen: self.mainwindow.newConvoStarted.emit(QtCore.QString(self.title()), True) # convert color tags - text = convertTags(unicode(text), "ctag") + text = convertTags(text, "ctag") self.messageSent.emit(text, self.title()) + self.textInput.setText("") @QtCore.pyqtSlot() def addThisChum(self): diff --git a/convo.pyc b/convo.pyc index f1930fca3c00408c16dd388553de0db59b86063f..e375bcfa41a33e18857e929fa58cc84a256569f5 100644 GIT binary patch delta 324 zcmX|+Jx;?w5QX1N2o4*Y1dt_uIwXoz5h5*jh}WW|K(ZBWfi00O9Z|TV_9>{MC^a{r zp{9chAt(?BUni`WF-gZzP zgH+gn>%wiq1*k}5EEpAIK`5ww(Nn>1p=OXbO3MVrC?~DnM_7*jVIf=uzYRC|^&PgR zfA`AtJ2(?!)=`M~Xo_9ElBM?TiJ0jix%ZH1u;x8Eq01(;=S^lOW7fX~Qj*l)xMF5c yrMErZ_N83s^ZC^*PxHdt7nz%tb#Y7)b=lB985;5tjd(x@>v8(P^tS%E_@p0LFF`c` delta 326 zcmX@Jp7Hj2M)r%Jc)5Pv@!!b)C4m1E0|P@114AYdF)}nWOcn@~s%K)zH)LQ0i83=} zvM^+_GGwwbl&~|@09AldEfYft2SX+&Lk$y1q?VB(j}f8)sE3Oo1*`~c05?ce2@gXv z69Z!jFUY18pcbG7CJ^;}3_SUoaJ%>!G6fh)JRn8`jS>X92xI}&0FWgmLI{_nFoTQ& z+75E6Fi0=ZG7uZ0k7@FqK-I}?L6(fMlkAEy&oRA=C17`NYzR3YOVHgs;kmTi(I#YAQ-j9vFqVt|A7)Z3gX}{ zH#>==gXr!m(nYrpqHjX-eE1F_FK7B9c>RgOyN{!XU|OT8zNvK&l)#wK7f>O_KtF^k z*(gCt8xktA5kbW^VyLo>GE~Jz1z9ht7L8>gFSC6Br#@rm@%DJ56($FUd&`XG4bQ71&mJG*+0h5@IvdC~{Xd60=eq3wECO&y1he5HEOo+aU=lU(tw?1#o zX|7K;XY{8Jn=^9t?$$d6MS1&)Nb0v%ovQk`l~PAAw7)I(tdwzxKBx|GB>mJeeO_q9$i*maJC8Um=xtlT}7mIi+1>71K#Y z$*vsLAw@GqlrADGL??+3N5I4(Om>7!kI3Us9XX@ak*AfKBW8-puHbLCG`2=*R=-m8 zleVK@C5KEv-&#%SLgxm4r=@CT4cWDn4(3dYgNm#=vg%3j2F>=8nNKHO@~8c2o$QW+BsrOQ(|OYC7IBng-M*3$di?gLkpP&^E6t??sKTVdDJ#? zM8&ca`tZ^(P}=of&O2ZQ9wJVDUfk8d)m=X2=bc><6RMUY0t2%mvnJ(OM`n>6bB}jK z+y95C?l}=XK-#Ac?LjBs*42;=TyE9r35d!&mgx@iP})P*a;<|3kg}UQm+7;}uF$fm zQZHFoi-s1&!BGrfA(&6;eBou~p^F`1O^|c!igW7~=e8@(ORqS$>+{?TBn>OI`zv$q z_#F+RtOXkU)lH`B$T{oM%AHq9(d+lXIrMi>sy>?0wP9Occl-6rAju#PF$81*N}a!3`*G4PCCBykhMw6yJy*E zG&dIQ>x419nP!nKWD@O)Ricgi`Fw93FIXFQrRw>W-kPH1;iIYet*Ib*$-^_FYduO` zKXYK+pz;+&wb*hxLW|K8ZbwcQug*V%K;O&=zsqtx4ICj4rcM+sL5T5cCLH6>}}*oTIu4^?u9U4=Fujurd5_TbAdoBZ-N)@m%gWmOPrUQCwgoj~Q>{+mHsE7q`!Fj7d0* zbpmRq1->ib2LeI>b{>Fb$ES?64WpdQbj6=e|{BFrK+2}z`| zkT(2ebrwNxG{e!5aHMIxy1u>Kxg%QsCD{ve-;R~R7ZC_USMaX{dzuEC!M z10clQBA_dzi3e`pp_cNgn-p#$n7pBSohg%m$L)Z#BE8+*Hg%n<)}s4?&~(vFLLbkIe~Cy2kcyD@wG zo3aBp?K>fDYGX?y#eS(fjB1_bN}XjaW=t~~$=I35`WoH;&On2Boi46=ZMefJIs6}C zt!!m6xPGpR=TkR;T8>s9_sVBb>PMGL1%EcQ+AFQnlH`tcQ63on@z@7Aen|yMBc%i! zOj-$zOvcA;BPOYLEW|c~Ym5n4DBvpsWD*!32@oOUB>^Av!2YW|h7YRz)%{K0QpxyP z4s5LO4hTQMFYN!8TEsVwG!5y(xIw6Y6tG`F2EdkzwMRyKCX=bSQ7#r5gr}?Nf?&F& zrJ4=Am5g%&E^mNX6+bo7woXc0SA25POju)wG@ghb6WsVj)E*OXN`PA~dR(y60wP>9 zy3N}tM5iMj84Y_^;iai(_-CUvZj2^=YxLfd8q|J+%ExdD16!oRr>!xizQ+g6J5@Jd zGV9fc9E?vjofcJboLoWWQB`UTrb!|vk=Io|!1tKl2axJ~GEo&6LGIaXidcUx7y9+j zfns!vcRDLN4zjWAVt`cK?l~}$NW>?%C(XFifs(SA*l}9zI>kFXSCwn=Kkr=M(WnNbkYDBHke2pnytN<2yYoaOoKy9Dh@Nz{@6@o3y09-z`F0=XBivLdL<=zY0r zi-3#VIaQI>D^PDgnM+2603ESIBC}AA%>cTHcJ8uowGtD?Mxpiy*eu|B0lgwFVKU^c zMxTJ~0{R6Q0Ja|@hi^Y(@3JNmBa_BX&|>_HsSPbnz*5V=^{T>ApUdYiEC6)*@_Yrp i#lAvc#1{)iL%!zmkauQD;=6giE#ds|XLR;q*M9+<>+H1ubeuAE9Bn2hrcOqU@lkE8HHjVd5BKTPI>W=nh!4@V|H|g+<(3 zx6fM!db&jA6NlyagSx_v62hWYC33{!|1-7hA3gO&S_Q=I;*z#WI)dh5$Y;V1(-d25 zJ*#jMNHG<wIiNS^?{9{A4Z3qC8o(*kEeG+>c>s2nEXuPic*w=JQ zZAre>#Ud>c%;lJe*MT+^&Zij0(g-r>vD4E{&)o6k%Pr5Vc|Mb$uh1x! z^U<~Osmu5ZjB+q2L*&K67+DXoN>QSmq?lF0sRAR+DU_U$NusMcN);obhOd8hM=dNf z9T1;S*{NIRvYuk?Nd13t8pKzjAX%XZi$QlT>oZvbx{FCFHAN<<&=|?|N2zEV`5~I~bdIhbR(ZZuH-$NGWuz$kv;>DY}a2dGeBC)ZV91cOPAUAKf5y z>I8iF774#)#U*8s&p~k$i^7$@SVKGJ*D7oVJu5{^>U1vz6V4TzAA`7)D?P|BpZUr$ zU%4_q#B%Ghx_Gw1Og05T#@d+8JnmYKhZ(JSW)yj3ojTkD zaTgd{Ax;Z2KpQ%FL)^Va)lcz|%nFNXkf2Ft>V2H`#A`Mf+aT7(Q;tR8p7nTu_ z+iLOO+kUS;i-SEm__wZS)gpfWfjjCJeyTg7K8M%4PpPL!HmAOfKk9i>T|%vQL7hwf zyf>iKvv~W#3N?w|?SHAJrlWzADXEa7&}7dPUe+ov3k*9}?x>nKC3H!04U`2sxM_iI zjCneJVaOh(mS3DU9%m37w}L-mlSKGri%o7VW)+rvne==yk)Vzt!+AWQRvN*i12E6M zBOjp^|D+~k!~D4E!PUrUwyl*EtV#+#QgTlyAu|+n_=hAEF7j6MwuuptR=p<_;;wbL z9Ex0NA%1t~RXo4zGs!IvwJTMK$9G@EP+w8rWtz#_eul>w78rhpT3@~A3NNoRT*EK+ zopQfT%L{z>t(esx#Jc{fOe?WcgI&kb{xQ3Fvt#d`noVIAX}nE)gW)BHC5B%x{E8sV z7PJnA1%^Lhc6nPpE56B|(rE!ILwV`XtpaMyLbQV(8$I3h%>4r}KG38F@TGz9hH^7G zPB5sQ%;xc!mn=6LNr$74n|&Iik8TEr1{*sw<%63;JBdZV8YqF(WAYj1tES%#tFwg+ zXRlO*oHGrV27{Kc5AP0c_Pj;$Xg^`NiOpJ>@2|9saj>JhzB3j*5_aHmts?6tvpIf) zc-q(Kz^!=2>#X_2T=du_K6Ek3K&7iJWmnnsxK&X3X_duqi%(@Fi--PYRX3A?ea~1t zezwY%AV@;aZp?CitRfGrk2Qmw28wV(vY{4`8 zFRDDO9O=(=nZ-xr$O^g}A0H`KK74WH1@3Xi1mVdnlC3!|YtFXyt9Y02^} zT7?U6CR(p<;&ai$k`Gw)EryE>7FPc@uU=rt!CyunqTg3fPqpIcxZhq$A1N6uXnb64S8C7NGC4F=En&5#`Dy!Cl2@k|l3nq= zjp-^$PZQnH52qK@1?-tQL+i7%yIr%#qQ_&#k?1Q}GCL!@ht;e2?(7TpO-3&Wflk=kS>9p+(>vo8Qp^qTuCY{+&AB_zeho(oTwA~83PINSA zuMoSGVW2ZWY~hQ`E%R-n*`sS=2#t+WcQwhI@UfMFCTnxb}GU@(w0 zF>ci0S&(3T1fv@PQ^yz~(Xb$H5EUP+!GxX0=pSIb=T-`FaetZb%=eu+=gxSR&1IQ+ z<+rtT>ie;rdC6mw0Dw-ApY$7C^Tdl41B?J<47hKvceEH3V_p*btVFd4R2yUfhAM%P zwt{K_tqd{@Sc)Hw*X*E}wgqJoltC@uG*YnQUsc-yY9%N|)PdJYR)Hcx#>*gMDl{~2 zYv>Tsd;^C_Py_61agNgGoiyJyK7k3;YGHMV@wT)qGipi|fAjq(Mm%}JCS?_87DzPl?Zku3J z`g~i!AU~$WlR`F&7XJx0g9HAX-1p0Wi%sie2NdSclI0cfk*5qj(6>sW~tDPADg<+9=svFC3zdYp&+gW zqtYVDIo%s-Wm0};JR7cOi+DZkVmXXEJN1q5VdfS-v6$HS|Lv&Dd%_34=Sh6leYO4_ z$z{SFjs_z=i9aGHSjL>mk7JR3{;BoIgnP@qLdH)7M(_|m6ZnBd2|noUG9(uCjcB!z Xt>T}ayOv3Mu|Qbm7u134y)AzM)!^1T delta 891 zcmZ9I(MwZt6vxkT+g)33&gIl);$DhP-OPcdm7;Si6;ir;@F78FH{`;S%KK6*4AxVW zU?&jSB87S=EwmfdATThW%*;@No_g;k`V0D<-^@u5zt6qj-}#>N`+a|fJkI3NzWvAL zyx%jlV&7YaW%}7TWXk|#kxn+95T2D?zgy7~qw5FX%_WC@(e%Q`O$C;RC%IG%FXxSi@HhdJSkc)>$jy-av&m z{eh{HOPcHlO~o79AY=P?!`k9u``Rlt5A@443S<<}k8&m%r6}ad$O-GX&J_(H89W3) zZ@L@kQ?sACqXCN4d8s};a!kD<9?=k0Fj8ab)Y#Ru+9`zEB|wkEp%6c^8fPQ~g8cTX zo6*XMGAbD7=~sBfRS}oAsNEgnTEuB%TlLz$m$K#1Xn(WCdd2V__ z^Whq5jy=GaREV9zSM)o!h3oXOcSc!b!+Uc$-ik^w9Ze@1aE)Fk0=R5$CGKHJdgS$G zuKzRegiXd5k>)aezi_)@gXL$&BY~iW|K!WB%L1k19rU7aR2<{zpN*8\1", string) + string = string.replace(" :trollcool:", " " % ("themes/pesterchum/trollcool.gif")) # ugh hardcoded, gross i know. but its just 1 smiley + elif format == "bbcode": + string = string.replace(" :trollcool:", " [img]http://www.mspaintadventures.com/storyfiles/hs2/scraps/trollcool.gif[/img]") return string def escapeBrackets(string): diff --git a/parsetools.pyc b/parsetools.pyc index a872cfce57b0db78ff44865e57b80be93d59a0f8..bb5bc725f2ff8d010cd9302b5a432dfb8c94ba81 100644 GIT binary patch delta 386 zcmY+7%Syvg5Qb+`HKt9PHk2-`Us#{lO7oIorROZjhbr$-Lqx-&7r}+eI*lxE>Lw&O{Pb+1zMQ1o=mg$<51SVx>s9Qak{A#tX z-Jy-dY;kkXVl1c=G8hbME)CkY$J$2U^jI%6X-)TCLYW^Pb!=yr=UH@_P(5r1^nYH9 zBvFwhK9;6=GN6JvR0|rGu!yRt@m<5I_+30q;acQn7_LT7nM+)ceR+tu5>IAt5clId X^&ZiV&+;Py`_XRUOJCNvLU`XMf9KkqMUW|dUgq0zai6MoH zp@xB>nTes6fgz8Pff2|F*5KLf%Ji3I@+0~}VMfNZ&51%cnHY;FTZ?{USL4*@Was1s0CIIEKL7v# diff --git a/pesterchum.ico b/pesterchum.ico new file mode 100644 index 0000000000000000000000000000000000000000..5b8fa1c9836a1056eeb39329dd51e2f6997bd136 GIT binary patch literal 3638 zcmeHIOHRZv41G;f0V{?R&=ukq%yBrzoPay9L!6>#U_TNUKtiloAQeBSNz*13AYc{{ zOK$AQ#+;xdGA0|7<0jSksk7zRM}cK?F2`#nw` zp0bz<)C$xJ{J{#CnE*4_$bpS%ol0whYa0>k6fnlAOF#l7-I1k;Psw~gojg6idwYIl-`B#8AxiF~CsKRsN7`$W#y%baujjtcc9O6a4Sja!#3@MavxTBms8--# zRA6dDxy1tH=!EL23S^&JMj p95JyU^NdaRmgWY#%=dsz^%*#&rWkE}QI`2(-Z$WiI`np+z5}>8KFgxLcAH;wF#h)yU3=Av`Iv_4cEd#TOhu7tM z+MC>;E-8IzEA~TPv`3k79^cA&3m&Xekv98aaYEB(VgIedIoux>N(h-A>$un$qb0;( F4FHAgBEJ9t literal 0 HcmV?d00001 diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 171bd6c..589e99f 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -34,6 +34,7 @@ "addchum": "ADD CHUM", "unblockchum": "UNBLOCK", "banuser": "BAN USER", + "opuser": "MAKE OP", "quirksoff": "QUIRKS OFF" } }, @@ -84,7 +85,7 @@ "protective": { "icon": "$path/protective.gif", "color": "#00ff00" }, -"blocked": { "icon": "$path/blocked.gif", "color": "black" } + "blocked": { "icon": "$path/blocked.gif", "color": "black" } } }, @@ -259,6 +260,7 @@ "style": " border:0px; margin-top: 5px; margin-right:10px;" } }, - "systemMsgColor": "#646464" + "systemMsgColor": "#646464", + "op": { "icon": "$path/op.gif" } } } \ No newline at end of file diff --git a/themes/pesterchum/trollcool.gif b/themes/pesterchum/trollcool.gif new file mode 100644 index 0000000000000000000000000000000000000000..25e8ffb7968bcf91cd3ac8acc58216ce6b24e980 GIT binary patch literal 111 zcmZ?wbhEHb6l4%!Sj58ciGhK^`ah89>gxLcAH;wF#h)yU3=Av`Iv_4cEd#TOhu7tM z+MC>;E-8IzEA~TPv`3k79^cA&3m&Xekv98aaYEB(VgIedIoux>N(h-A>$un$qb0;( F4FHAgBEJ9t literal 0 HcmV?d00001 diff --git a/themes/trollian/op.gif b/themes/trollian/op.gif new file mode 100644 index 0000000000000000000000000000000000000000..25e8ffb7968bcf91cd3ac8acc58216ce6b24e980 GIT binary patch literal 111 zcmZ?wbhEHb6l4%!Sj58ciGhK^`ah89>gxLcAH;wF#h)yU3=Av`Iv_4cEd#TOhu7tM z+MC>;E-8IzEA~TPv`3k79^cA&3m&Xekv98aaYEB(VgIedIoux>N(h-A>$un$qb0;( F4FHAgBEJ9t literal 0 HcmV?d00001 diff --git a/themes/trollian/style.js b/themes/trollian/style.js index 6315787..024b86d 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -34,6 +34,7 @@ "addchum": "Add Chump", "unblockchum": "Mercy", "banuser": "Ban", + "opuser": "Promote", "quirksoff": "Quirks Off" } }, "chums": { "style": "font-size: 12px; background: white; border:2px solid #c2c2c2; padding: 5px; font-family: 'Arial';selection-background-color:rgb(200,200,200); ", @@ -309,6 +310,7 @@ "style": "width: 19px; height: 19px; border:0px; margin-left: 2px;" } }, - "systemMsgColor": "#646464" + "systemMsgColor": "#646464", + "op": { "icon": "$path/op.gif" } } } \ No newline at end of file