From 5d3504f9964565926803efd56c4e3c26a1c801e1 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Tue, 18 Jan 2005 10:17:03 +0000 Subject: [PATCH] emoticons support ! --- plugins/gtkgui/config.py | 13 +++ plugins/gtkgui/emoticons/angry.png | Bin 0 -> 679 bytes plugins/gtkgui/emoticons/bat.png | Bin 0 -> 678 bytes plugins/gtkgui/emoticons/beer.png | Bin 0 -> 695 bytes plugins/gtkgui/emoticons/biggrin.png | Bin 0 -> 708 bytes plugins/gtkgui/emoticons/blush.png | Bin 0 -> 657 bytes plugins/gtkgui/emoticons/boy.png | Bin 0 -> 678 bytes plugins/gtkgui/emoticons/brflower.png | Bin 0 -> 701 bytes plugins/gtkgui/emoticons/brheart.png | Bin 0 -> 720 bytes plugins/gtkgui/emoticons/coffee.png | Bin 0 -> 872 bytes plugins/gtkgui/emoticons/coolglasses.png | Bin 0 -> 624 bytes plugins/gtkgui/emoticons/cry.png | Bin 0 -> 779 bytes plugins/gtkgui/emoticons/cuffs.png | Bin 0 -> 714 bytes plugins/gtkgui/emoticons/devil.png | Bin 0 -> 684 bytes plugins/gtkgui/emoticons/drink.png | Bin 0 -> 673 bytes plugins/gtkgui/emoticons/flower.png | Bin 0 -> 681 bytes plugins/gtkgui/emoticons/frowning.png | Bin 0 -> 944 bytes plugins/gtkgui/emoticons/girl.png | Bin 0 -> 689 bytes plugins/gtkgui/emoticons/heart.png | Bin 0 -> 627 bytes plugins/gtkgui/emoticons/hugleft.png | Bin 0 -> 749 bytes plugins/gtkgui/emoticons/hugright.png | Bin 0 -> 712 bytes plugins/gtkgui/emoticons/kiss.png | Bin 0 -> 681 bytes plugins/gtkgui/emoticons/lamp.png | Bin 0 -> 768 bytes plugins/gtkgui/emoticons/mail.png | Bin 0 -> 899 bytes plugins/gtkgui/emoticons/music.png | Bin 0 -> 794 bytes plugins/gtkgui/emoticons/no.png | Bin 0 -> 689 bytes plugins/gtkgui/emoticons/oh.png | Bin 0 -> 780 bytes plugins/gtkgui/emoticons/phone.png | Bin 0 -> 580 bytes plugins/gtkgui/emoticons/photo.png | Bin 0 -> 757 bytes plugins/gtkgui/emoticons/pussy.png | Bin 0 -> 753 bytes plugins/gtkgui/emoticons/rainbow.png | Bin 0 -> 832 bytes plugins/gtkgui/emoticons/smile.png | Bin 0 -> 770 bytes plugins/gtkgui/emoticons/star.png | Bin 0 -> 715 bytes plugins/gtkgui/emoticons/stare.png | Bin 0 -> 766 bytes plugins/gtkgui/emoticons/tongue.png | Bin 0 -> 609 bytes plugins/gtkgui/emoticons/unhappy.png | Bin 0 -> 825 bytes plugins/gtkgui/emoticons/wink.png | Bin 0 -> 766 bytes plugins/gtkgui/emoticons/yes.png | Bin 0 -> 693 bytes plugins/gtkgui/gtkgui.glade | 110 ++++++++++++++++++++++ plugins/gtkgui/gtkgui.py | 114 ++++++++++++++++++++++- plugins/gtkgui/pixmaps/smile.png | Bin 0 -> 770 bytes 41 files changed, 236 insertions(+), 1 deletion(-) create mode 100644 plugins/gtkgui/emoticons/angry.png create mode 100644 plugins/gtkgui/emoticons/bat.png create mode 100644 plugins/gtkgui/emoticons/beer.png create mode 100644 plugins/gtkgui/emoticons/biggrin.png create mode 100644 plugins/gtkgui/emoticons/blush.png create mode 100644 plugins/gtkgui/emoticons/boy.png create mode 100644 plugins/gtkgui/emoticons/brflower.png create mode 100644 plugins/gtkgui/emoticons/brheart.png create mode 100644 plugins/gtkgui/emoticons/coffee.png create mode 100644 plugins/gtkgui/emoticons/coolglasses.png create mode 100644 plugins/gtkgui/emoticons/cry.png create mode 100644 plugins/gtkgui/emoticons/cuffs.png create mode 100644 plugins/gtkgui/emoticons/devil.png create mode 100644 plugins/gtkgui/emoticons/drink.png create mode 100644 plugins/gtkgui/emoticons/flower.png create mode 100644 plugins/gtkgui/emoticons/frowning.png create mode 100644 plugins/gtkgui/emoticons/girl.png create mode 100644 plugins/gtkgui/emoticons/heart.png create mode 100644 plugins/gtkgui/emoticons/hugleft.png create mode 100644 plugins/gtkgui/emoticons/hugright.png create mode 100644 plugins/gtkgui/emoticons/kiss.png create mode 100644 plugins/gtkgui/emoticons/lamp.png create mode 100644 plugins/gtkgui/emoticons/mail.png create mode 100644 plugins/gtkgui/emoticons/music.png create mode 100644 plugins/gtkgui/emoticons/no.png create mode 100644 plugins/gtkgui/emoticons/oh.png create mode 100644 plugins/gtkgui/emoticons/phone.png create mode 100644 plugins/gtkgui/emoticons/photo.png create mode 100644 plugins/gtkgui/emoticons/pussy.png create mode 100644 plugins/gtkgui/emoticons/rainbow.png create mode 100644 plugins/gtkgui/emoticons/smile.png create mode 100644 plugins/gtkgui/emoticons/star.png create mode 100644 plugins/gtkgui/emoticons/stare.png create mode 100644 plugins/gtkgui/emoticons/tongue.png create mode 100644 plugins/gtkgui/emoticons/unhappy.png create mode 100644 plugins/gtkgui/emoticons/wink.png create mode 100644 plugins/gtkgui/emoticons/yes.png create mode 100644 plugins/gtkgui/pixmaps/smile.png diff --git a/plugins/gtkgui/config.py b/plugins/gtkgui/config.py index 41232f115..e1a382842 100644 --- a/plugins/gtkgui/config.py +++ b/plugins/gtkgui/config.py @@ -217,6 +217,13 @@ class preference_Window: else: self.plugin.config['mergeaccounts'] = 0 self.plugin.roster.regroup = self.plugin.config['mergeaccounts'] + #use emoticons + chk = self.xml.get_widget('use_emoticons_checkbutton') + if chk.get_active(): + self.plugin.config['useemoticons'] = 1 + self.plugin.roster.mkemoticons() + else: + self.plugin.config['useemoticons'] = 0 #autopopup if self.chk_autopp.get_active(): self.plugin.config['autopopup'] = 1 @@ -356,6 +363,8 @@ class preference_Window: self.xml = gtk.glade.XML(GTKGUI_GLADE, 'Preferences', APP) self.window = self.xml.get_widget('Preferences') self.plugin = plugin + self.xml.get_widget('image_emoticons').set_from_file(\ + 'plugins/gtkgui/pixmaps/smile.png') self.combo_iconstyle = self.xml.get_widget('combo_iconstyle') self.chk_autopp = self.xml.get_widget('chk_autopopup') self.chk_autoppaway = self.xml.get_widget('chk_autopopupaway') @@ -400,6 +409,10 @@ class preference_Window: #Merge accounts st = self.plugin.config['mergeaccounts'] self.xml.get_widget('merge_checkbutton').set_active(st) + + #Use emoticons + st = self.plugin.config['useemoticons'] + self.xml.get_widget('use_emoticons_checkbutton').set_active(st) #Autopopup st = self.plugin.config['autopopup'] diff --git a/plugins/gtkgui/emoticons/angry.png b/plugins/gtkgui/emoticons/angry.png new file mode 100644 index 0000000000000000000000000000000000000000..22e285d6b7b86e065da5d369ab59459f87468f85 GIT binary patch literal 679 zcmV;Y0$BZtP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@36D`QcU3I?`lpmC}fQY z2G*=g&}VQ_XRrn9P|$Pn$c?csoWLHGAP)r{Bk6Qw`1Chm6$)CW$;sr~N6)lCy3l+n zSkASv<|(I2@To6i0+CegbH&pxS#!?FdUNtF6l_(_sF}(ld6|B>jW7M=_(>Z0?_~f0 N002ovPDHLkV1m}?3kLuI literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/bat.png b/plugins/gtkgui/emoticons/bat.png new file mode 100644 index 0000000000000000000000000000000000000000..2767603050b228dd70c5ca1d445ea50ced36a5e9 GIT binary patch literal 678 zcmV;X0$KfuP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@36`YXd=H>@tX7bOG;}YakHa)8iJ!Shzux*>oAl#+7A;e-5o5^t& z0vG_KgE|k%2QEzn$j;yxoE?Ds!)=hX$K<{k+}DDs_jxUA#G}DL?e%OsFIZ>2(_dP4e+$4N``4EU0NVOwKi+401GbiB9{m1YK>z>% M07*qoM6N<$g5fL@)c^nh literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/beer.png b/plugins/gtkgui/emoticons/beer.png new file mode 100644 index 0000000000000000000000000000000000000000..b28d7e3225224541aebbfaf251904c4ffdd8f565 GIT binary patch literal 695 zcmV;o0!aOdP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3DmeCQd%UF#C4)?R)lZi^DYYruTj`Z~pHABEmlwpM0lvO9kM~=QZGI z3FyrLcO$@6*9=k)-}ZnHSNQ8jK-?*yGXPw)0mt=Eh;sOOl$B^rogC&eH?aYGWfc+v zs4{zwFOKlrq3D3(z7F6!a|aBFcEAAcpjDI*A3%4Fo4m=I1r0#c4iboWPsaK>h#Qs$ zAgR6q)bbjDbxsSYWFi1ofv21VAYaWIWTZzzQ;xhi1>m=y1GKFe07FP3)|stSg0QlF q*!UMnXOfDhO#|aQC;o+Bf8z_T?ntEXUYacc0000KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3ExfIvo4qSs1xz(L<$I2MD zvNEnsjH&H|sVyyNbTI+?Iv?}?Dk7@>QC{ToTwejS`Fwh--xKXNiy&uq#>+5D-VfUX z0Vn{R8Ah0qLLd{!LOg&?8r6WbmI3B}*XHXj0+7T&^7vvlfHHRM*8$JArF&f$W$S=3 z>5Bj+Klmx4riqIv;=1+(02h?rbz@u@zuv|dz1h+eRXGuH00000NkvXXu0mjfPE-HT literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/boy.png b/plugins/gtkgui/emoticons/boy.png new file mode 100644 index 0000000000000000000000000000000000000000..9502e878b16d3faf90cf5738697932842db8dfeb GIT binary patch literal 678 zcmV;X0$KfuP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@33==Rb|T_x5j;s?l2%P!451pxswTc}Qa1R!lW5JM-`jJO zTLkkwCw%W>4nEv72x|~l;jRSB^5`c(A*qluc0BuZW~G2}(Ey@hq9{g@86e|7CSA-3&lsZ{T+iUzM)mZBZ52n*aa+ M07*qoM6N<$f+1K2X#fBK literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/brflower.png b/plugins/gtkgui/emoticons/brflower.png new file mode 100644 index 0000000000000000000000000000000000000000..d8be5ea617bd9ab2be633a0173338280c349ec57 GIT binary patch literal 701 zcmV;u0z&KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3KyCTmXuku~Ce(Q2;~$uuG5xYyl>n1GwfK^fCU++1*kZI^*kh!15-GNfZhm) z3lZi$1;oQ6b>dY_9|2{a)b19E-o9oV0Wd0x$iEP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3g&>_aC(t*WeF(THpNHwxoMyX)WHJEI>p?c_0%|qRKMF7!K|F3f zsY984yB_n6eEY8Be;r+^c~`MQ}b;aK$m0000KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3rjc<-_Lt+tt^#|HM@{V%{wEwVulGqd#qtaacUz4It02I^UdcQ>y=kPbA` z#|+s>Lk=~Pok{q)&N8u)BAFEdswRQL@>Wfu^9j>#0NbT7-agf{g%UJ?y*;=C9j1 zKuv5#@MjMU{m8g{Bbzx;(E@P*6L1fjGzA_plZF68*y^PS5;SX8J|+V-Qt%G+HR30Q zZZ8W{(BlH}wFv57B~&*VH&0Gmmwk${le-kjtq6*51oDxB>}N9ewn)m^b+zee$Y?0Ui0000KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3chC0rEBpR=uzQEV{p|H^Kve$AmFu zlYRz}DcIV=BY<*@{i0)pnC}@NKsuzIFaN}_3o1YdKJLQ5+xP|5xm`avoT6I*0000< KMNUMnLSTY5y7Zv{ literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/cry.png b/plugins/gtkgui/emoticons/cry.png new file mode 100644 index 0000000000000000000000000000000000000000..4136f7ff23cdbe8658cfee299c5abb05ce6cd18c GIT binary patch literal 779 zcmV+m1N8ifP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3NDcrq!!DKgTgTM97}idgOnWJSdv*oh94qjeD_EHxf(!ugif2kN zlj9w@VRo=RXIh?00QjUCMr4;=p|u+NHfK%sN&-L=OvuGEnYRyLuA7eQLH^o|sWzDa z(8Q^nk*)LgVZ1l1nfLxwbu0q#D{yB{75{1Cz&Eilo?apQWkE2-&2dn#O<2x8fN%g; zfk*C4X4@KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3YH_rknh|ATRV7)2L z&lTUqB&);8M&pUi7cmtU4k)-_J#o3KY`;5pkbN_}IOn$4xjx^mzC98I2jt=aKrK+3 zQ4{z%HNtBnL`-BYNHI7Mpg7w$F##lEK>x#>?5A6( zFR!ErU>hirLN$>y*4Z;)&L6BLmdI~Wu(^b07*qoM6N<$f&`5ha{vGU literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/devil.png b/plugins/gtkgui/emoticons/devil.png new file mode 100644 index 0000000000000000000000000000000000000000..f469a1d7b775b7c35412c4442a4b0ea1ddc37829 GIT binary patch literal 684 zcmV;d0#p5oP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3^q-7IK>n4eIBPfp|uuLO1*7g4PSVNKwJos%u~TX!C9UP zhT%;`ArOarR?xP0PcmKoX2@p+oLM<|d@N-oA;Emx=`0URXCyGq)a-)GPT@nqSY000bOA=0-PWc(8jF@oAG_@AS-C{ON1O> zVk8(VCQ$*{T$wXQ0=xoB_)>AYvu0mV+QQn0az#df;9q$$Z{m$fK`7#+>VO|(sVD0A SF)C3Cv literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/drink.png b/plugins/gtkgui/emoticons/drink.png new file mode 100644 index 0000000000000000000000000000000000000000..970a96131f959b6f1ddc325da81c52c1fc1c2735 GIT binary patch literal 673 zcmV;S0$%-zP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3wvZe{c`s^+u zc&ilhT$uqaD0nu|!ioD>`#XX13JlJmiy)SrfN6bWcrXVz8bHwOtp)t8fGVp&vo(O2 z$IU0TY2F6#Klmx&rv`rAK>V@6*E688`xb0XtT*>x<&gFUd?FanrXzjF00000NkvXX Hu0mjfV;2V^ literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/flower.png b/plugins/gtkgui/emoticons/flower.png new file mode 100644 index 0000000000000000000000000000000000000000..6151ff5aaf4d6d79fbd0b63940e448056009c6f9 GIT binary patch literal 681 zcmV;a0#^NrP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3J}ErMfa zY$5j?Hv948Fa{&Z;f;&(zI_WC5iza8-$nq@`38^^kZgUd*MQuubp0m*CaDI@E+^q!h7zD~GtJ@YleKmq z1|T+j%yd67e+6*o_MYdCi*(IhfYq)Z<0dIV>fHH(J^=GPCu5QtZK=X literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/frowning.png b/plugins/gtkgui/emoticons/frowning.png new file mode 100644 index 0000000000000000000000000000000000000000..ab04d33e721f79882131761b566acac94ca10dc5 GIT binary patch literal 944 zcmV;h15f;kP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3hwlPAg~A}??<5MUT#c#6ncCwEjOKx8__AT6*emB$$# zGW7F#@v58UcM$n-%jSd+WX~W3%H%c^msu~5m3kr7iuq}mB|vJ4SRc1&Y%(IxHK&!A zMe>T<=0c#C&TBrFKLSdAK<}|gXLf-?#);gq6DirrzYrIA{Gf?1>OcL^3qBMJcTv>3 zP`YSF>CBDdcZox1$fqS_lM zkwoZ(&4^$k`q9c?2Zh?5_KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3VMU2pKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3mJ&h5 z3W$;pDwccE4XO8Ir^To63@>r*rR#Ul!JYz3HnkyiGt=K@?qU7T+}3SEy@50L+Jm50IItb6aj(6)B4I#pl(Od6DS|7~C{JpgZvmPE1cjeP(B N002ovPDHLkV1fZ#^dKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3ZRV_BBPw5~51-yY3%t^&ab0g_9#_y~Y8Pf(It z9Mpw7KyCq~rk(Vt1~x!|La5{xz-pA1WLF^yDJZh%lB~M>3N+(RHIz&SC>`~K{RALVW52* fZuU415^eqfjLw44%-Ev|00000NkvXXu0mjfi|Qlp literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/hugright.png b/plugins/gtkgui/emoticons/hugright.png new file mode 100644 index 0000000000000000000000000000000000000000..5865d5a9695e0063d9c7ca36885d7db821e72710 GIT binary patch literal 712 zcmV;(0yq7MP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@34!K~y-)l~c))!!QhEJ!v9U@a@gT=vmDuE5n97GbvqWOAT&t(kEKOtU>Kj)wKI|Dz4sS^ ub%A9 literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/kiss.png b/plugins/gtkgui/emoticons/kiss.png new file mode 100644 index 0000000000000000000000000000000000000000..b951063f7ab50dfc09343e7c5df526e47754fbaf GIT binary patch literal 681 zcmV;a0#^NrP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3{KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3=}|t41h;yY|0 zyh3;bGfVfV7ZDTyIKao+d2)CG>S*QwdIrt1(+66BkDq#6PUZmN1Na0}b$aME&`;%L zl9@A@d8en};A;{WR!VNocJ-hE+qmsgG7j`S{SO*Q_t{iw+kJBdZk?GW0jx?OpABoU z%g$_9;J4Y_-@GcdPy>jr(%tnIm(1z(02##0xmDHe-Tg7&0mP*DKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3xCn`?Ve0#ZcZO51xJ$U3e?)$y> zzIU+zSjWUsVgpEq3D}q+x{Y=b4`U?vbUtCI=QWg6_!Hn>xj0;Uts#~I)x1JJ%MB#H zixJ+0@UA`BeH+0bFnj*WVRg&_ zQV4Umdwv4<(t*{8^QU}wzkDy@U3mt^9#d#h0+OSC&)|{3?wx{-Jg8-g=*DS{XnNWu z)Ef1oMmEmCrp)x}^gHB1fP9*vn1+yx6jDmg63VBu_-0DV!0JlHM*i8 zKQxE>WCl{c6)ixml4X3P002ovPDHLkV1g_(b{7Bu literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/music.png b/plugins/gtkgui/emoticons/music.png new file mode 100644 index 0000000000000000000000000000000000000000..56fa9c3d0d22fec69fd0e5ac25a3552f6f912e6b GIT binary patch literal 794 zcmV+#1LgdQP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3px`_( zci|m*@K1cT&U$PM@K1eBuf$*yAij^$)*V0O%D2}+_LjkNNWwr89pE0gY81}7 z?xHb5I1iOTqwLPCx+=!#1V|~jn~EH$RdFL4V^Dyt04hqj5=}LoOwEAN*{B;Z`vpJ& zk{DivMhIy}K>n30aeO{D0)oq026Tn$E!bsvRqDw@qD}fbKZYH+cL6#QO&R zJW_`0A+_mrrF($nKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3A@5;kB53Y}ggHb5hx zVGRmDOCX{l8VeA`iyctg!sVMdlbQGYD^BjaGjqN>_s+|iS?(Xj$t``Qv^fHBU^{Et zVb!zssBV=~-f7w{Sff^S@ewEja1a65FFF~}a#+rQGS!J8Xxy(l0On-gauO&4$OJ@f zkYnciwCj2aa`!&3uKsDq&I`LF6CZ(i09AA_?432Bn2wu)YbS(w00vbQK(`3ZMDh$k zl{GM=YM6k@%o<>P(GcGWW7_Ni?<4?&3(X$^FzEU}12lQw{wDx80HWXcD*)2Vp!D7q X^~r;St^O@400000NkvXXu0mjff{Y0b literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/oh.png b/plugins/gtkgui/emoticons/oh.png new file mode 100644 index 0000000000000000000000000000000000000000..41907a2323abf8c3606474a1b2866dd36a5aff9c GIT binary patch literal 780 zcmV+n1M~ceP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@34Wn5cS@y}7Z4*E6(1hY(&_v# z#A=Vl<^o~>;52{G(TU0~08lEGtr2)~vW^Z^_F!;oKp21-Rh6&`=698?aGLr4~ z-X%bXV7mwog{Gnd%#60J$yeWk$1~Do$Q7N=CvrIYf4_x$U*j*@o|gt-x`b;00000< KMNUMnLSTYo0X}K~ literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/phone.png b/plugins/gtkgui/emoticons/phone.png new file mode 100644 index 0000000000000000000000000000000000000000..b5600c959ffd6590df9076da671e604b7e5dd82b GIT binary patch literal 580 zcmV-K0=xZ*P)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3hWQ|g6kN&~SN5?wIGDDKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3oq0(M0L5=8{!hW} zO^M5^Yw)*v+@M-F;Hl#IZ9#cgp?+!>sPzV|yiM@=>wgl3l7ih^huyod@1Q>{+83QC z(}d6VIC{_*9yd;*fCfG+=zYLQ35!hcU=9wQ6^<^1p#=kMiNa zx;UL-mZSn2aB9*I;T4)^E$RmC*2qrtlonQDM3mA68h*5%` z6Xpgs+`YFRCHjplj?>#$gG!dkEBKOBur#na+{LBw?j(oD7(NB2g+bCkaO*a2oxwbL n2vc3uXGu0-$xqL}|Cl}j`@9q!n#*l300000NkvXXu0mjfXJRr@ literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/pussy.png b/plugins/gtkgui/emoticons/pussy.png new file mode 100644 index 0000000000000000000000000000000000000000..3b1473e085dcddc38f3482b8707c4dc58ecc830e GIT binary patch literal 753 zcmVKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3mXpJh>*V`di-V60WH1NN+8x>JUO})Q00iO>d#+II zG(82ERu49{wkrV0IN9H?E5=dS6j8<7Bj3^Cv-UBhl1AsL13KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3Z%i}yxN#a%qdCjq+hA%~F2;G2a*g;aojA$DywQ9OH95p`BFUAH;m zZrwoJU83pQioiE9+}3lUq!M8g!$|5}kV&+z3%h!$u;`%{->8s^ND@}%UW|55PRKHB zGY>nL(P*6`-RnJyFx}>m?}ZCCx*X}ui0VwTkZP?d0vqYoc9yw_q+umjRH3<{5@Ru* z#ueuyIeh4&7mW2>iiio#Sed&}fyJ(fPl3X{7Y;BPPjuU564sK6tU=DYBNd*80}vz- z_x(^oviDwJ70=;gSk4gSFrj|7KJg`-a|+)7`gxzu9cRtI|BWAi^|P!eE#l<>0000< KMNUMnLSTZXQc=DD literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/smile.png b/plugins/gtkgui/emoticons/smile.png new file mode 100644 index 0000000000000000000000000000000000000000..981b7d915d23798a88c70808e08205a0075f04c2 GIT binary patch literal 770 zcmV+d1O5DoP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3D&+D3*=RHjKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3mLP@^V2U}o+(+zC2_&p;Nu?xg`t8)i{L&exiYNh8a^=ZnRgC;&b3C$Juo;ApQ>KvV3l_U6GUOxnTN_KM~Kd#>Q~{d!DRz$<&Q&@ z%;3TzH+cDt;JB(`yueU_$~OZ<1=WKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3?Kc3Uk7a)=! zFXV@sd|Q>Tcjfc--k`4H=NtK@k({l|1kyN?>s#{Kvb;C*6Vg@u+LYh!lao72?vCZF z9l5qDAC%=vz8mrlpfklGmHSg&Zl1K?4rk?!G$1^Of=KRE5O1Mieyk1o1mG3V{mfu( zQl1-40hl()bVPR67OD&K_LRIbA(wI~07-O0E}l8LNAc;BykAP>FOJK_kraR=WKuvd zb?#A&_sxP_&LvS8>;S|T@W`sNzQPE+PY?B2BLkunYhq9lNTw@=#bG%=kO2q?9syLo wAPlS%kS^}|FR*9iGHnJHo`3xp{`xn*1NdD)iy?>KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3%iK~y-6rIWD{fFKM-f5T$T=LoLg2(*k~=?abz z?~n_Dgy?DUiU9usNs`cQEOxOUa)~F vbq%v%aRe+`!C1#0!}DGc0U30A;cGWuKZatfdr;gH00000NkvXXu0mjfUw!1$ literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/unhappy.png b/plugins/gtkgui/emoticons/unhappy.png new file mode 100644 index 0000000000000000000000000000000000000000..464b3de4229080e6a06858062735fcc6265ea5a3 GIT binary patch literal 825 zcmV-91IGM`P)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3;Gxp zFaO84KK&nB`{2J<@lBitp=i#Y@aBKX^p9YLAR5F683N+F=3o17k$fJ*5V&TLjWEs4 zOMm^ZTlgK!2Z@K*KLm?gr(OK76L|u~5V!##XTvo2to;wB%V&KCi$^v*f_pLjWG zAP&d|WEX%ivI}5hFc--B9Do}FHXx|#9@wuSKf@HGhXDwK!ay_Z*neryeW(V2oCgYR zkYbRH*kZvx^YVYAxHJD%f{y$bbK8SzfMfO*up*F4K;8lQ8AOBlAaRhqdD6N6TH(jR z&KGptiE02y5@Z7?syvGjagK~ZepmEA^k2+%_kV7itq22Pu>f)&ES_!CFM$IL#0QCk zYzB#o1D(!iw;g*lg8T*wAdpR>?$&1~kIFb#ki0t#J_VmaRfU>d{+ z1sKTBAZMd%#+erc9Cm;)$VM*ft^e6AHWSVZKLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3t|eGx%oFMYfSKAra0GU;x+A@y(>XZFsSbIy2!r0}1UUyRGyvlM_|9zO>?JqF#5 zg06-^gEK1xN;SW|27SCI@nw>LjIM)*=cd!H>G;rofTWtI)1cWbiR3W3zX`gGS@e6R z_K~T%mj?L;U@{Q^j^__|b01D(fc<&~z%@IAMdO@-=gy$EIS2UyKr5P;@u0D5+Kw^+ zxXooIPR99L=(J6(rm0>tRZAHFE-?wZXeN?Vzv!EKop^dHp}(_bs;p-Km;g-&!*z1% zG^72Xk$kU~P36@E0N(-{SrxyD{gr91#LXKkIRFlVM)pj^ wZ45&*w4<{9 literal 0 HcmV?d00001 diff --git a/plugins/gtkgui/emoticons/yes.png b/plugins/gtkgui/emoticons/yes.png new file mode 100644 index 0000000000000000000000000000000000000000..91ea768e2a16f626c12f8e99f27bb49b8a4e2635 GIT binary patch literal 693 zcmV;m0!safP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3mP?1FhY{(=%|#i4j6#;PPgMx#!L=k(ovRDAQ>-YbKQjyg%EF z>h?_6c00`(u+o72qGk4o9i$Q<-3=X}@(KWyN%sH@$7Ro%1t?Mw{4s0!{cgim##XbA zzZu$>ck0%Z=76hRPe9avGizXd&G%v7Da_8x-1-$>>m38ejppkL{^zcB + + + True + False + 0 + + + + True + False + 0 + + + + True + True + Use Emoticons + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + + + + 0 + True + True + + + + + + True + + + 0 + False + True + + + + + + + + + False + True + + + + + + True + False + 0 + + + + True + 0.5 + 0.5 + 0 + 0 + + + 0 + True + True + + + + + + True + Emoticons + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + tab + + + 5 diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py index bcb3697dc..0c3301d0c 100644 --- a/plugins/gtkgui/gtkgui.py +++ b/plugins/gtkgui/gtkgui.py @@ -223,7 +223,20 @@ class message_Window: buffer.insert_with_tags_by_name(end_iter, ttxt, tag) if len(otxt) > 0: - buffer.insert(end_iter, otxt) + beg = 0 + if self.plugin.config['useemoticons']: + index = 0 + while index < len(otxt): + if otxt[index] in self.plugin.roster.begin_emot: + for s in self.plugin.roster.emoticons: + l = len(s) + if s == otxt[index:index+l]: + buffer.insert(end_iter, otxt[beg:index]) + buffer.insert_pixbuf(end_iter, self.plugin.roster.emoticons[s]) + index+=l + beg = index + index+=1 + buffer.insert(end_iter, otxt[beg:]) #scroll to the end of the textview conversation.scroll_to_mark(buffer.get_mark('end'), 0.1, 0, 0, 0) @@ -1721,6 +1734,102 @@ class roster_Window: self.plugin.windows[account]['browser'] = \ browseAgent_Window(self.plugin, account) + def mkemoticons(self): + """initialize emoticons array""" + emots = {':-)' : 'smile.png', + ':)' : 'smile.png', + ';-)' : 'wink.png', + ';)' : 'wink.png', + ':-p' : 'tongue.png', + ':-P' : 'tongue.png', + ':p' : 'tongue.png', + ':P' : 'tongue.png', + ':d' : 'biggrin.png', + ':D' : 'biggrin.png', + ':-d' : 'biggrin.png', + ':-D' : 'biggrin.png', + ':>' : 'biggrin.png', + ':->' : 'biggrin.png', + ':(' : 'unhappy.png', + ':-(' : 'unhappy.png', + ';(' : 'cry.png', + ';-(' : 'cry.png', + ':\'(' : 'cry.png', + ';\'-(' : 'cry.png', + ':-O' : 'oh.png', + ':-o' : 'oh.png', + ':O' : 'oh.png', + ':o' : 'oh.png', + ':-@' : 'angry.png', + ':@' : 'angry.png', + ':-$' : 'blush.png', + ':$' : 'blush.png', + ':-|' : 'stare.png', + ':|' : 'stare.png', + ':-S' : 'frowing.png', + ':-s' : 'frowing.png', + ':S' : 'frowing.png', + ':s' : 'frowing.png', + 'B-)' : 'coolglasses.png', + 'B)' : 'coolglasses.png', + '8-)' : 'coolglasses.png', + '8)' : 'coolglasses.png', + '(H)' : 'coolglasses.png', + '(h)' : 'coolglasses.png', + ':-[' : 'bat.png', + ':[' : 'bat.png', + '(l)' : 'heart.png', + '(L)' : 'heart.png', + '(u)' : 'brheart.png', + '(U)' : 'brheart.png', + '(y)' : 'yes.png', + '(Y)' : 'yes.png', + '(n)' : 'no.png', + '(N)' : 'no.png', + '(z)' : 'boy.png', + '(Z)' : 'boy.png', + '(@)' : 'pussy.png', + '(})' : 'hugleft.png', + '({)' : 'hugright.png', + '(6)' : 'devil.png', + '(r)' : 'rainbow.png', + '(R)' : 'rainbow.png', + '(w)' : 'brflower.png', + '(W)' : 'brflower.png', + '(f)' : 'flower.png', + '(F)' : 'flower.png', + '(p)' : 'photo.png', + '(P)' : 'photo.png', + '(t)' : 'phone.png', + '(T)' : 'phone.png', + '(*)' : 'star.png', + '(8)' : 'music.png', + '(i)' : 'lamp.png', + '(I)' : 'lamp.png', + '(b)' : 'beer.png', + '(B)' : 'beer.png', + '(d)' : 'drink.png', + '(D)' : 'drink.png', + '(c)' : 'coffee.png', + '(C)' : 'coffee.png', + '(%)' : 'cuffs.png', + '(e)' : 'mail.png', + '(E)' : 'mail.png', + '(k)' : 'kiss.png', + '(K)' : 'kiss.png' + } + path = 'plugins/gtkgui/emoticons/' + self.emoticons = {} + self.begin_emot = "" + for e in emots: + file = path + emots[e] + if not os.path.exists(file): + continue + pix = gtk.gdk.pixbuf_new_from_file(file) + self.emoticons[e] = pix + if not e[0] in self.begin_emot: + self.begin_emot += e[0] + def mkpixbufs(self): """initialise pixbufs array""" iconstyle = self.plugin.config['iconstyle'] @@ -1915,6 +2024,8 @@ class roster_Window: model.set_sort_column_id(1, gtk.SORT_ASCENDING) self.tree.set_model(model) self.mkpixbufs() + if self.plugin.config['useemoticons']: + self.mkemoticons() liststore = gtk.ListStore(gobject.TYPE_STRING, gtk.Image) self.cb = gtk.ComboBox() @@ -2580,6 +2691,7 @@ class plugin: 'userfont': 'Sans 10',\ 'saveposition': 1,\ 'mergeaccounts': 0,\ + 'useemoticons': 1,\ 'x-position': 0,\ 'y-position': 0,\ 'width': 150,\ diff --git a/plugins/gtkgui/pixmaps/smile.png b/plugins/gtkgui/pixmaps/smile.png new file mode 100644 index 0000000000000000000000000000000000000000..981b7d915d23798a88c70808e08205a0075f04c2 GIT binary patch literal 770 zcmV+d1O5DoP)KLZ*U+}7DyFQ_caOwTA$FtoI^RB%km zPfAq?t}HG|%`H~&%uCKMD#$NNEJ;lPs)e`@3D&+D3*=RHj