From a58dbe2943bd52c0ba4802ac3dd569319a23605c Mon Sep 17 00:00:00 2001 From: Stephen Dranger <dranger@gmail.com> Date: Sun, 6 Feb 2011 18:50:21 -0600 Subject: [PATCH] 0.0.10 --- TODO | 12 +- convo.py | 54 +++- convo.pyc | Bin 20210 -> 22466 bytes generic.pyc | Bin 3575 -> 3575 bytes irc.py | 11 +- irc.pyc | Bin 11433 -> 11776 bytes mash | 109 ++++++++ memos.py | 40 ++- memos.pyc | Bin 28447 -> 28999 bytes menus.py | 9 +- menus.pyc | Bin 19758 -> 19985 bytes oyoyo/helpers.py | 6 + oyoyo/helpers.pyc | Bin 4748 -> 5013 bytes parsetools.py | 5 + parsetools.pyc | Bin 5345 -> 5479 bytes pesterchum.js | 2 +- pesterchum.py | 382 ++++++++++++++++++---------- profiles/ghostDunk.js | 2 +- profiles/microMachines.js | 1 + profiles/testProfile.js | 2 +- themes/pesterchum/style.js | 22 +- themes/pesterchum7/abouticon.png | Bin 0 -> 3774 bytes themes/pesterchum7/acceptant.gif | Bin 0 -> 126 bytes themes/pesterchum7/alarm.wav | Bin 0 -> 25388 bytes themes/pesterchum7/amazed.gif | Bin 0 -> 97 bytes themes/pesterchum7/bemused.gif | Bin 0 -> 93 bytes themes/pesterchum7/blocked.gif | Bin 0 -> 97 bytes themes/pesterchum7/chummy.gif | Bin 0 -> 106 bytes themes/pesterchum7/convobg.png | Bin 0 -> 472 bytes themes/pesterchum7/detestful.gif | Bin 0 -> 165 bytes themes/pesterchum7/devious.gif | Bin 0 -> 127 bytes themes/pesterchum7/discontent.gif | Bin 0 -> 127 bytes themes/pesterchum7/distraught.gif | Bin 0 -> 93 bytes themes/pesterchum7/ecstatic.gif | Bin 0 -> 137 bytes themes/pesterchum7/gbgbig.png | Bin 0 -> 46884 bytes themes/pesterchum7/h.gif | Bin 0 -> 101 bytes themes/pesterchum7/insolent.gif | Bin 0 -> 97 bytes themes/pesterchum7/leftarrow.png | Bin 0 -> 2894 bytes themes/pesterchum7/m.gif | Bin 0 -> 44 bytes themes/pesterchum7/manipulative.gif | Bin 0 -> 168 bytes themes/pesterchum7/memo.png | Bin 0 -> 2874 bytes themes/pesterchum7/mirthful.gif | Bin 0 -> 125 bytes themes/pesterchum7/moodcheck1.gif | Bin 0 -> 109 bytes themes/pesterchum7/moodcheck2.gif | Bin 0 -> 110 bytes themes/pesterchum7/moodcheck3.gif | Bin 0 -> 110 bytes themes/pesterchum7/moodcheck4.gif | Bin 0 -> 110 bytes themes/pesterchum7/moodcheck5.gif | Bin 0 -> 133 bytes themes/pesterchum7/mystified.gif | Bin 0 -> 95 bytes themes/pesterchum7/offline.gif | Bin 0 -> 71 bytes themes/pesterchum7/pcbg.png | Bin 0 -> 9236 bytes themes/pesterchum7/perky.gif | Bin 0 -> 127 bytes themes/pesterchum7/pleasant.gif | Bin 0 -> 94 bytes themes/pesterchum7/pranky.gif | Bin 0 -> 92 bytes themes/pesterchum7/rancorous.gif | Bin 0 -> 138 bytes themes/pesterchum7/relaxed.gif | Bin 0 -> 125 bytes themes/pesterchum7/rightarrow.png | Bin 0 -> 2877 bytes themes/pesterchum7/sleek.gif | Bin 0 -> 134 bytes themes/pesterchum7/smooth.gif | Bin 0 -> 86 bytes themes/pesterchum7/style.js | 259 +++++++++++++++++++ themes/pesterchum7/trayicon.gif | Bin 0 -> 116 bytes themes/pesterchum7/trayicon.png | Bin 0 -> 3708 bytes themes/pesterchum7/trayicon2.png | Bin 0 -> 3708 bytes themes/pesterchum7/vigorous.gif | Bin 0 -> 172 bytes themes/pesterchum7/x.gif | Bin 0 -> 55 bytes themes/trollian/style.js | 8 +- 65 files changed, 743 insertions(+), 181 deletions(-) create mode 100644 mash create mode 100644 profiles/microMachines.js create mode 100644 themes/pesterchum7/abouticon.png create mode 100644 themes/pesterchum7/acceptant.gif create mode 100644 themes/pesterchum7/alarm.wav create mode 100644 themes/pesterchum7/amazed.gif create mode 100644 themes/pesterchum7/bemused.gif create mode 100644 themes/pesterchum7/blocked.gif create mode 100644 themes/pesterchum7/chummy.gif create mode 100644 themes/pesterchum7/convobg.png create mode 100644 themes/pesterchum7/detestful.gif create mode 100644 themes/pesterchum7/devious.gif create mode 100644 themes/pesterchum7/discontent.gif create mode 100644 themes/pesterchum7/distraught.gif create mode 100644 themes/pesterchum7/ecstatic.gif create mode 100644 themes/pesterchum7/gbgbig.png create mode 100644 themes/pesterchum7/h.gif create mode 100644 themes/pesterchum7/insolent.gif create mode 100644 themes/pesterchum7/leftarrow.png create mode 100644 themes/pesterchum7/m.gif create mode 100644 themes/pesterchum7/manipulative.gif create mode 100644 themes/pesterchum7/memo.png create mode 100644 themes/pesterchum7/mirthful.gif create mode 100644 themes/pesterchum7/moodcheck1.gif create mode 100644 themes/pesterchum7/moodcheck2.gif create mode 100644 themes/pesterchum7/moodcheck3.gif create mode 100644 themes/pesterchum7/moodcheck4.gif create mode 100644 themes/pesterchum7/moodcheck5.gif create mode 100644 themes/pesterchum7/mystified.gif create mode 100644 themes/pesterchum7/offline.gif create mode 100644 themes/pesterchum7/pcbg.png create mode 100644 themes/pesterchum7/perky.gif create mode 100644 themes/pesterchum7/pleasant.gif create mode 100644 themes/pesterchum7/pranky.gif create mode 100644 themes/pesterchum7/rancorous.gif create mode 100644 themes/pesterchum7/relaxed.gif create mode 100644 themes/pesterchum7/rightarrow.png create mode 100644 themes/pesterchum7/sleek.gif create mode 100644 themes/pesterchum7/smooth.gif create mode 100644 themes/pesterchum7/style.js create mode 100644 themes/pesterchum7/trayicon.gif create mode 100644 themes/pesterchum7/trayicon.png create mode 100644 themes/pesterchum7/trayicon2.png create mode 100644 themes/pesterchum7/vigorous.gif create mode 100644 themes/pesterchum7/x.gif diff --git a/TODO b/TODO index c515bc3..36817fd 100644 --- a/TODO +++ b/TODO @@ -1,18 +1,13 @@ Features: -* memo kicking -* user import -* Transparent background? -* tab right-click menu on tabbed convos, chat window -* link to memos +* X closes to tray * color text is not being translated to server? * convo backgrounds -- make them more like http://www.mspaintadventures.com/storyfiles/hs2/02546_2.gif * PESTERLOG: in convo window * help button on quirks menu? * tab recombining gives wrong window icon * help menu -- about and forum -* profile switch should say current profile -* X closes to tray -- 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??? @@ -21,13 +16,14 @@ Features: * 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 -* more robust IRC error handling +* change profile only once we have confirmation from server -- release beta * log viewer * pick your own icon diff --git a/convo.py b/convo.py index c454e71..d5ffe33 100644 --- a/convo.py +++ b/convo.py @@ -3,7 +3,7 @@ import re from PyQt4 import QtGui, QtCore from dataobjs import PesterProfile, Mood -from generic import PesterIcon +from generic import PesterIcon, RightClickList from parsetools import escapeBrackets, convertTags class PesterTabWindow(QtGui.QFrame): @@ -255,7 +255,10 @@ class PesterText(QtGui.QTextEdit): def mousePressEvent(self, event): url = self.anchorAt(event.pos()) if url != "": - QtGui.QDesktopServices.openUrl(QtCore.QUrl(url, QtCore.QUrl.TolerantMode)) + if url[0] == "#" and url != "#pesterchum": + self.parent().mainwindow.showMemos(url[1:]) + else: + QtGui.QDesktopServices.openUrl(QtCore.QUrl(url, QtCore.QUrl.TolerantMode)) QtGui.QTextEdit.mousePressEvent(self, event) def mouseMoveEvent(self, event): QtGui.QTextEdit.mouseMoveEvent(self, event) @@ -283,7 +286,7 @@ class PesterConvo(QtGui.QFrame): self.mainwindow = mainwindow convo = self.mainwindow.theme["convo"] self.resize(*convo["size"]) - self.setStyleSheet(convo["style"]) + self.setStyleSheet("QFrame { %s } QScrollBar:vertical { %s } QScrollBar::handle:vertical { %s }" % (convo["style"], convo["scrollbar"]["style"], convo["scrollbar"]["handle"])) self.setWindowIcon(self.icon()) self.setWindowTitle(self.title()) @@ -313,7 +316,24 @@ class PesterConvo(QtGui.QFrame): self.setLayout(self.layout) + self.optionsMenu = QtGui.QMenu(self) + self.optionsMenu.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + self.addChumAction = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/addchum"], self) + self.connect(self.addChumAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('addThisChum()')) + self.blockAction = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/blockchum"], self) + self.connect(self.blockAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('blockThisChum()')) + self.quirksOff = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/quirksoff"], self) + self.quirksOff.setCheckable(True) + self.connect(self.quirksOff, QtCore.SIGNAL('toggled(bool)'), + self, QtCore.SLOT('toggleQuirks(bool)')) + self.optionsMenu.addAction(self.quirksOff) + self.optionsMenu.addAction(self.addChumAction) + self.optionsMenu.addAction(self.blockAction) + self.chumopen = False + self.applyquirks = True if parent: parent.addChat(self) @@ -394,15 +414,18 @@ class PesterConvo(QtGui.QFrame): if self.parent(): self.parent().showChat(self.title()) self.raiseChat() - + def contextMenuEvent(self, event): + if event.reason() == QtGui.QContextMenuEvent.Mouse: + self.optionsMenu.popup(event.globalPos()) def closeEvent(self, event): self.mainwindow.waitingMessages.messageAnswered(self.title()) self.windowClosed.emit(self.title()) + def setChumOpen(self, o): self.chumopen = o def changeTheme(self, theme): self.resize(*theme["convo/size"]) - self.setStyleSheet(theme["convo/style"]) + self.setStyleSheet("QFrame { %s } QScrollBar:vertical { %s } QScrollBar::handle:vertical { %s }" % (convo["style"], convo["scrollbar"]["style"], convo["scrollbar"]["handle"])) margins = theme["convo/margins"] self.layout.setContentsMargins(margins["left"], margins["top"], margins["right"], margins["bottom"]) @@ -415,17 +438,23 @@ class PesterConvo(QtGui.QFrame): self.chumLabel.setMaximumHeight(self.mainwindow.theme["convo/chumlabel/maxheight"]) self.chumLabel.setMinimumHeight(self.mainwindow.theme["convo/chumlabel/minheight"]) self.chumLabel.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Expanding)) + self.quirksOff.setText(self.mainwindow.theme["main/menus/rclickchumlist/quirksoff"]) + self.addChumAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/addchum"]) + self.blockAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/blockchum"]) + self.textArea.changeTheme(theme) self.textInput.changeTheme(theme) + @QtCore.pyqtSlot() def sentMessage(self): text = self.textInput.text() if text == "": return # deal with quirks here - qtext = self.mainwindow.userprofile.quirks.apply(unicode(text)) - text = QtCore.QString(qtext) + if self.applyquirks: + qtext = self.mainwindow.userprofile.quirks.apply(unicode(text)) + text = QtCore.QString(qtext) self.textInput.setText("") self.addMessage(text, True) # if ceased, rebegin @@ -435,6 +464,17 @@ class PesterConvo(QtGui.QFrame): text = convertTags(unicode(text), "ctag") self.messageSent.emit(text, self.title()) + @QtCore.pyqtSlot() + def addThisChum(self): + self.mainwindow.addChum(self.chum) + @QtCore.pyqtSlot() + def blockThisChum(self): + self.mainwindow.blockChum(self.chum.handle) + @QtCore.pyqtSlot(bool) + def toggleQuirks(self, toggled): + self.applyquirks = not toggled + + messageSent = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) windowClosed = QtCore.pyqtSignal(QtCore.QString) diff --git a/convo.pyc b/convo.pyc index 9fdf065d966fd33cfcf4d6993f1d9c0c68667e0a..d509eefcb854b235c4c7908850c780b5940534c3 100644 GIT binary patch delta 7458 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 delta 5566 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 diff --git a/generic.pyc b/generic.pyc index 69c7bc65b1e99a36a1eaecd90c53eeaed6250362..cc9b4e29bd33bedddb2ec6b068f7f5c5c74311f5 100644 GIT binary patch delta 16 Ycmew^{au><;wN6N>6-o<*+1|C06yjh$^ZZW delta 16 Ycmew^{au><;wN4%l?y%_*+1|C06&}t`v3p{ diff --git a/irc.py b/irc.py index f48289d..82def57 100644 --- a/irc.py +++ b/irc.py @@ -8,7 +8,7 @@ import random from dataobjs import Mood, PesterProfile from generic import PesterList -logging.basicConfig(level=logging.DEBUG) +logging.basicConfig(level=logging.INFO) class PesterIRC(QtCore.QObject): def __init__(self, window): @@ -85,6 +85,15 @@ class PesterIRC(QtCore.QObject): c = unicode(channel) h = unicode(handle) helpers.kick(self.cli, h, c) + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) + def setChannelMode(self, channel, mode, command): + c = unicode(channel) + m = unicode(mode) + cmd = unicode(command) + if cmd == "": + cmd = None + helpers.mode(self.cli, c, m, cmd) + def updateIRC(self): self.conn.next() diff --git a/irc.pyc b/irc.pyc index 34d021fb24e7682bc22669ead0fcf10139ced3dd..29bc2ffc67dab75e65293555d64da49fe232e1dc 100644 GIT binary patch delta 1310 zcmZ`%O-xi*6h3E|dB`AEosQtZ`~dUw2D&l9Rtt$~#ZnSFqZd&?lsx85%NS+`d5^XW z2vwT?q(31&8yC80Of<UCkV!B`H?U--i6*8=<HEHrG{#kv-g5>*NHjC=%Xh!?fA6_D z^21o|qgM_7C*9fQ+8c;>D|hg3^yR%!@X>0`zHxgG{0Oj!FuEV?z05~Lz~*K_Kjd3r z(F3F5?P3H9QPE@Dbsgvzy|t?A8eweK*qCkK?zuzU;+vvA>K+oCN6Eu&RI?>F^hMoX zs>(U1VS*Yo1C?HH=z|3>0MzQwr@y26bA~mz0CUKx=e@!`!hOPPgc~qtfQ@k817$y; z4KQy&2?1RX6l!1&px}i${r9osqE}o7O^;5V(b)k^E~sKkqsu*H%B8$wBBx^6&Z|a! zGPyU^z|h6;nFg1&T)9}ZO13)40%|C_H7plxvQk~iU79<2_voZmD&?oX(&>0EXQu}6 z>_q-Gpr6J9zc*NH;Kl&WG`$I2H;!qp`YKmGj3V~XgJ8;&s;fK?_INQvu~4@$$aY0m zC{UkedYs_|Erf33g-W_PfWgzOOfc|B>M%o&PP7agUo-uN?zHsb6?)rpFO_3qKf@^o z4l)g9GIWVquLk-jd<L)6$B_kNgta4dKN1O^Wh%iuUbSL|UPjLN_>yl?COTnMEwmD~ z@HREYF5?I-$HLKB?NBZB?j$c_VehxvhjvE~`?@t*rh(SKbnvs*^n2?zQdisOxI*8x zt&ee=E>Du1oGscDiVHgY>Ivu5grkmVruJws`B9WKA#=-7FVMzd8D?^ovN1AEk*>DK zafa5~hwwf%#oxqj_BzKfu0d8|DqoUKnY0|sb!XH?I*>@z%Y|}T^*vdMQCy=3iP=LJ zS&&te%RI?Pd5Nv{+X|FLY-N|9sE{1Mby`VYttJk#I!+hrKiO5M=~TgS9oL$1AJVnd zCH#YuW@MXV*6i{9rX3&Cl39umakP|`QMVRA(n`f&I5&-?>+vb&)6aKb;t<&}G3RKw zV-o+R)sD8%mu%{1m|`e1I1DcR*U=RGndz?#e==|vYKb~JkKr^;cg`DfnbY*Tvu6kA O@6UXZr9&T0WA1;p&HpF> delta 1131 zcmaKsJxo(k6vywy(#l5>ga-L&OTQloiy<OkMu}PxEb<6iN{tFFw6QHEeGP-42*ijc zXmS=81_n_QjY_8u4on&yh>4S{i;Ig1lZ*F%pFl{ALx1_-|2_AdbI-f!e0XET^yQbi z*xep@XL`Z;)7%@r#)l#mY>BZ@4T~CByjHT9MeEpN0Snb1G_5RdlfM0+FAf$<zd`pY zV5l}Z_Vs}CVEkbj?AkTOlCzL|cPX=>89k@xufHgo^y(V<jXtIhDMxd+4YfyTv+9vK z$Qa8M2r#ZF)N5JiXL36hJLer_srKbgS9ck>pYGIky8A_p+9#kD3S`oWxTXrh)Qdnb zaEZRvZSYubslJk1uD}@u3_v>&rdQTr$qmSxfQ{yjZKWn5XQGMmsbrK$wdI?_*sB2s z03=b2P-b9KKszKbo{Z25`zT+f75lw*G^2?h(@<|Z8`m@>o|>3Q#8XlI{8eG-i3g!% zcYeCiFj_bz)@!uhFlN+usLXMTKc}?g8CR*uY3)vnfd3>xI?P1@^gb(~T7hX=adj1T z3i*<@T^7na=S0>vSEJ?M4P{*;{I!Vu6qc95)yHGmWMoW57a5fBWI8+<H6@gaI!Y;& z%q9mVmoxC>82wQ4wz55W#R=MRyLp0YJ;QvH(w?1?>xjAr1S#!3#%F2S>nXvwWeqh$ zd2fj4smhl<H47K>)eBsPlHW;sd*4YvD2L!c$bH)K_46$%Q&#oF7Pvt?1Ny0$`3L%~ zEbxbPx6xKE3+wv`Y862zjp_rTKhuxKlsf=d*4&@@{ux<raqoR4;u$TPifq&Srtjr* zI4NJHj0)4+<1zk~YMPycXR*}-M1dHP1n@xAZUEm=f6np?FJLMD3z)hLpg;97U=>i9 h-gTwWlk~B9&M4;_r@of1BD8((e9y3-p0uQS=nvN=*}MP% diff --git a/mash b/mash new file mode 100644 index 0000000..449e112 --- /dev/null +++ b/mash @@ -0,0 +1,109 @@ +diff --git a/memos.py b/memos.py +index 239947e..af7ab32 100644 +--- a/memos.py ++++ b/memos.py +@@ -236,7 +236,9 @@ class MemoText(PesterText): + time = TimeTracker(newtime) + parent.times[chum.handle] = time + timeGrammar = time.getGrammar() +- self.append(convertTags(chum.memojoinmsg(systemColor, time.getTime(), timeGrammar, window.theme["convo/text/joinmemo"]))) ++ msg = chum.memojoinmsg(systemColor, time.getTime(), timeGrammar, window.theme["convo/text/joinmemo"]) ++ self.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + else: + time = parent.time + +@@ -356,7 +358,9 @@ class PesterMemo(PesterConvo): + p = self.mainwindow.profile() + timeGrammar = self.time.getGrammar() + systemColor = QtGui.QColor(self.mainwindow.theme["memos/systemMsgColor"]) +- self.textArea.append(convertTags(p.memoopenmsg(systemColor, self.time.getTime(), timeGrammar, self.mainwindow.theme["convo/text/openmemo"], self.channel))) ++ msg = p.memoopenmsg(systemColor, self.time.getTime(), timeGrammar, self.mainwindow.theme["convo/text/openmemo"], self.channel) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + + self.op = False + self.newmessage = False +@@ -482,18 +486,24 @@ class PesterMemo(PesterConvo): + self.times[handle].setCurrent(close) + grammar = self.times[handle].getGrammar() + self.times[handle].removeTime(close) +- self.textArea.append(convertTags(chum.memoclosemsg(systemColor, grammar, window.theme["convo/text/closememo"]))) ++ msg = chum.memoclosemsg(systemColor, grammar, window.theme["convo/text/closememo"]) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + elif timed not in self.times[handle]: + self.times[handle].addTime(timed) + grammar = self.times[handle].getGrammar() +- self.textArea.append(convertTags(chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]))) ++ msg = chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + else: + self.times[handle].setCurrent(timed) + else: + if timed is not None: + ttracker = TimeTracker(timed) + grammar = ttracker.getGrammar() +- self.textArea.append(convertTags(chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]))) ++ msg = chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + self.times[handle] = ttracker + + @QtCore.pyqtSlot() +@@ -556,7 +566,9 @@ class PesterMemo(PesterConvo): + while self.times[h].getTime() is not None: + t = self.times[h] + grammar = t.getGrammar() +- self.textArea.append(convertTags(chum.memoclosemsg(systemColor, grammar, self.mainwindow.theme["convo/text/closememo"]))) ++ msg = chum.memoclosemsg(systemColor, grammar, self.mainwindow.theme["convo/text/closememo"]) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + self.times[h].removeTime(t.getTime()) + if update == "nick": + self.addUser(newnick) +@@ -583,7 +595,9 @@ class PesterMemo(PesterConvo): + opgrammar = self.time.getGrammar() + else: + opgrammar = TimeGrammar("CURRENT", "C", "RIGHT NOW") +- self.textArea.append(convertTags(chum.memobanmsg(opchum, opgrammar, systemColor, grammar))) ++ msg = chum.memobanmsg(opchum, opgrammar, systemColor, grammar) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + ttracker.removeTime(ttracker.getTime()) + + if chum is self.mainwindow.profile(): +@@ -599,7 +613,9 @@ class PesterMemo(PesterConvo): + self.resetSlider(curtime) + self.mainwindow.joinChannel.emit(self.channel) + me = self.mainwindow.profile() +- self.textArea.append(convertTags(me.memoopenmsg(systemColor, self.time.getTime(), self.time.getGrammar(), self.mainwindow.theme["convo/text/openmemo"], self.channel))) ++ msg = me.memoopenmsg(systemColor, self.time.getTime(), self.time.getGrammar(), self.mainwindow.theme["convo/text/openmemo"], self.channel) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + elif ret == QtGui.QMessageBox.Cancel: + if self.parent(): + i = self.parent().tabIndices[self.channel] +@@ -639,7 +655,9 @@ class PesterMemo(PesterConvo): + time = txt2delta(self.timeinput.text()) + present = self.time.addTime(time) + if not present: +- self.textArea.append(convertTags(me.memojoinmsg(systemColor, time, self.time.getGrammar(), self.mainwindow.theme["convo/text/joinmemo"]))) ++ msg = me.memojoinmsg(systemColor, time, self.time.getGrammar(), self.mainwindow.theme["convo/text/joinmemo"]) ++ self.textArea.append(convertTags(msg)) ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + + serverText = "PESTERCHUM:TIME>"+delta2txt(time, "server") + self.messageSent.emit(serverText, self.title()) +@@ -651,7 +669,9 @@ class PesterMemo(PesterConvo): + if removed: + grammar = self.time.getGrammarTime(time) + systemColor = QtGui.QColor(self.mainwindow.theme["memos/systemMsgColor"]) +- self.textArea.append(convertTags(me.memoclosemsg(systemColor, grammar, self.mainwindow.theme["convo/text/closememo"]))) ++ ++ self.textArea.append(convertTags( ++ window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) + + newtime = self.time.getTime() + if newtime is None: diff --git a/memos.py b/memos.py index 239947e..2de5da2 100644 --- a/memos.py +++ b/memos.py @@ -236,7 +236,9 @@ class MemoText(PesterText): time = TimeTracker(newtime) parent.times[chum.handle] = time timeGrammar = time.getGrammar() - self.append(convertTags(chum.memojoinmsg(systemColor, time.getTime(), timeGrammar, window.theme["convo/text/joinmemo"]))) + msg = chum.memojoinmsg(systemColor, time.getTime(), timeGrammar, window.theme["convo/text/joinmemo"]) + self.append(convertTags(msg)) + window.chatlog.log(parent.channel, convertTags(msg, "bbcode")) else: time = parent.time @@ -356,7 +358,9 @@ class PesterMemo(PesterConvo): p = self.mainwindow.profile() timeGrammar = self.time.getGrammar() systemColor = QtGui.QColor(self.mainwindow.theme["memos/systemMsgColor"]) - self.textArea.append(convertTags(p.memoopenmsg(systemColor, self.time.getTime(), timeGrammar, self.mainwindow.theme["convo/text/openmemo"], self.channel))) + msg = p.memoopenmsg(systemColor, self.time.getTime(), timeGrammar, self.mainwindow.theme["convo/text/openmemo"], self.channel) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) self.op = False self.newmessage = False @@ -482,18 +486,24 @@ class PesterMemo(PesterConvo): self.times[handle].setCurrent(close) grammar = self.times[handle].getGrammar() self.times[handle].removeTime(close) - self.textArea.append(convertTags(chum.memoclosemsg(systemColor, grammar, window.theme["convo/text/closememo"]))) + msg = chum.memoclosemsg(systemColor, grammar, window.theme["convo/text/closememo"]) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) elif timed not in self.times[handle]: self.times[handle].addTime(timed) grammar = self.times[handle].getGrammar() - self.textArea.append(convertTags(chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]))) + msg = chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) else: self.times[handle].setCurrent(timed) else: if timed is not None: ttracker = TimeTracker(timed) grammar = ttracker.getGrammar() - self.textArea.append(convertTags(chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]))) + msg = chum.memojoinmsg(systemColor, timed, grammar, window.theme["convo/text/joinmemo"]) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) self.times[handle] = ttracker @QtCore.pyqtSlot() @@ -556,7 +566,9 @@ class PesterMemo(PesterConvo): while self.times[h].getTime() is not None: t = self.times[h] grammar = t.getGrammar() - self.textArea.append(convertTags(chum.memoclosemsg(systemColor, grammar, self.mainwindow.theme["convo/text/closememo"]))) + msg = chum.memoclosemsg(systemColor, grammar, self.mainwindow.theme["convo/text/closememo"]) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) self.times[h].removeTime(t.getTime()) if update == "nick": self.addUser(newnick) @@ -583,7 +595,9 @@ class PesterMemo(PesterConvo): opgrammar = self.time.getGrammar() else: opgrammar = TimeGrammar("CURRENT", "C", "RIGHT NOW") - self.textArea.append(convertTags(chum.memobanmsg(opchum, opgrammar, systemColor, grammar))) + msg = chum.memobanmsg(opchum, opgrammar, systemColor, grammar) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) ttracker.removeTime(ttracker.getTime()) if chum is self.mainwindow.profile(): @@ -599,7 +613,9 @@ class PesterMemo(PesterConvo): self.resetSlider(curtime) self.mainwindow.joinChannel.emit(self.channel) me = self.mainwindow.profile() - self.textArea.append(convertTags(me.memoopenmsg(systemColor, self.time.getTime(), self.time.getGrammar(), self.mainwindow.theme["convo/text/openmemo"], self.channel))) + msg = me.memoopenmsg(systemColor, self.time.getTime(), self.time.getGrammar(), self.mainwindow.theme["convo/text/openmemo"], self.channel) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) elif ret == QtGui.QMessageBox.Cancel: if self.parent(): i = self.parent().tabIndices[self.channel] @@ -639,7 +655,9 @@ class PesterMemo(PesterConvo): time = txt2delta(self.timeinput.text()) present = self.time.addTime(time) if not present: - self.textArea.append(convertTags(me.memojoinmsg(systemColor, time, self.time.getGrammar(), self.mainwindow.theme["convo/text/joinmemo"]))) + msg = me.memojoinmsg(systemColor, time, self.time.getGrammar(), self.mainwindow.theme["convo/text/joinmemo"]) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) serverText = "PESTERCHUM:TIME>"+delta2txt(time, "server") self.messageSent.emit(serverText, self.title()) @@ -651,7 +669,9 @@ class PesterMemo(PesterConvo): if removed: grammar = self.time.getGrammarTime(time) systemColor = QtGui.QColor(self.mainwindow.theme["memos/systemMsgColor"]) - self.textArea.append(convertTags(me.memoclosemsg(systemColor, grammar, self.mainwindow.theme["convo/text/closememo"]))) + msg = me.memoclosemsg(systemColor, grammar, self.mainwindow.theme["convo/text/closememo"]) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, convertTags(msg, "bbcode")) newtime = self.time.getTime() if newtime is None: diff --git a/memos.pyc b/memos.pyc index 8e6e6b47b7b1a387638adcbf9987ed5b5bcd5631..577a5f0c162fe05ccc8878c0230e74bd558b5ff9 100644 GIT binary patch delta 3272 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 delta 2740 zcmai0X>1!+5T04ziJi+=oVZPT&^T?bHa($D(gRVhG;yJ6q3PvK(haR$;{{S>tx!dP zIE0`Bf~pny$6ax(_yI!j0}xa~2!zBTB#_!4z@Mss1V78nTW<&z60-N{?YuWL-yH9I z`{_lT`w;_Q{T`{B+Bo=D;ITIJ*{9n!AwEN&XWH=_`ZKd(2Eb?pGX<6gMiW?Jup(eI z!z_SR3zip*2GISGn)Sjg${+JpfR+c0G?XJ?`9b%A9)Kl!5GFM^5#vQi7GhbI$O_NS z%jWkL*a&Nt>slZm;Ax1bV$4_sdbPMI*DFMe=}LQIqXQ}_pk_T-_A6X1V6=h&S)$;x z(+JFJ@<*!@6!op#wZe(c@4}am{zH}Qm7~<Ws=M0s1Hh3Zxq?1Mx2*a$kloJj*&15h zkxF`aYI=DXH}bma<H_-{<E052=xCyQJFegm<vKUudYbF}2)&f+n#OhZPhA1T5dGZ! zB8KV7o}(DF|LS=eYr?D@<VVbxw%X^{T=u3Jc0Cwd!0ZDn1V%qt)gZA1z!;#{HY{qX zl)&67;)C0uGT9C~!0t@aZr*qjwagCt?53x*bOkxvH>-JIsD;9bu{;CL4$<)D7RFQD zJWgxduJ_j=gLs0{TOP-)^!k>Qc#Kx`y@GlB%f8zXi?nE98c))hff7#Jk*yKLvfaEb ziFnHH-TsmvAGLqDc?9vi-Fs`NhVRhf+dFF_>{8sS_#U#)-R{Sw2~^DiFd2fvtm+C0 zk1LOmn)E~A9{PB&Z#RqLU?jjyszNt{<x`p9T6?9}QnMbnn#D#9i>EZ?bS<zHfWlo) z7dWPk6qR?Sd#<s|-OhGdk(2D04leBT;wk!VS8`^Y4TU7Xf_X2X*(^HJq1=^WFrw0x zWv5OHQU8y1IcRR^oAZ3ER0Ttvu)$KSQms;V=_I`|)YnvsvLsi?-(To9$EM8g$%2uW za%R#L9=29z-{a*4)t1(h<=nACN%}K;v#dWS!vGJN2z@rZn_9EO{tHs~9rQr9H@X&M z{EK3*)~H1=%)f5?LiRNc|FG}7Gl6YY8gH#)b?}6FLk#?wlcSL0M_{WuzvH8~_sn6O zvLn;sTEwZ-UaJari~@Z>GTL-Xg{)X5<>alB)^Qrzo37(@B)~|5$pz=crs%}pWVF)p zlB<eh6MeCFdAnN$EH2{)U4|q1M?6AHx<^q?s|WQk+_ck7Q}e#{>lR6ojKykcmD3qj z!ZlJlrw}brX8XK}xxp!E9X-5n*^RZ3k8;uL!DJp(1SqAig{iNFAO97_hisTdab>jz zOg0>FsEjV}yKbfd^8LIcpuD)=E11|t#kZr)d&O(3aGG8NdM)!FlpB=l!W=CDi+Pge z+<!Ij4@V0QZa^0xL&llnFB*<i+Rk-98HB<Fq8S8Zse&B^D+<Ok7h^T(b$ljRUBt^l zua|(-%XQ#r87tgL8*FnIGs;*DteCsFVn!wZoD(P?w|3bgiM8s)CWn8pMY&yBk*JI? z&{be`s0HSB@y#`I;g{oTVLl^#{yJUGbnEEmbw>PElsT*hNXZM^^od!qT)e}F{{U`N zcy~GuyF|Irx!}d<u3$=)6KbZm7(HMm9Aj(Q7&}<4!erAvEWYJK`gJ5t5AKf-a{sCu z)vdeJb4k#nV6Fj+Co#Fol4U*&Y^GNw!I`fWlXA_?(?)_W?Jv>YqwnK7YCKS`|2H3G zgGg^4xQr>9JD8)up|k#|oaGnj<wG}MH~n&`7c<m)xETlSfx|JxN&C(tQN$Bu<UU_| zzigE&5io%f%rRkryv|=;pU{ZDXGS{PDNMC$d<26(4m2TFk#m1>dph~&S7vc-A=Rot zJYez(<P*$!k-(Xod25|qiNe!7Z*T)wTq)PD%a!!*M3l;#YCX)1^uuT?Mrm$reb+U4 zPz;!5wd@iZF3NC8hM#!I_^Dxhxz>m@+_Q0YKgT&Op))H1XtkKaI5uDa`?aW(gaFIs z+0IYtJD^v`H{${NdAv)$sH(vTgUK1-Jk%)oUKIf^RXMTG-(V8E1m_ci;}pr)4S&n< zeZyz7PMr{4ZRQ1cFCTdIJ>y&&!oqGMju%Sw{zN8VunaO$x-xM?`!!hza%kBhUe0cl zLA0|SEXxEaceI_JKDsmgutc8V1&Q2=yMZ&%%Wo0-z_^Qc8wdF#(l$QEGc+}M73b`! zdo=8=WizE7R`X+ce@F{?!a*LjkT(<zE$1f|S{YBqLv15*f7~DP#jE2r_W5H^dqe$+ LK;kMqKd1c-bB`Rp diff --git a/menus.py b/menus.py index eb3611c..25ab2c4 100644 --- a/menus.py +++ b/menus.py @@ -187,6 +187,7 @@ class PesterChooseProfile(QtGui.QDialog): self.parent = parent self.setStyleSheet(self.theme["main/defaultwindow/style"]) + self.currentHandle = QtGui.QLabel("CHANGING FROM %s" % userprofile.chat.handle) self.chumHandle = QtGui.QLineEdit(self) self.chumHandle.setMinimumWidth(200) self.chumHandleLabel = QtGui.QLabel(self.theme["main/mychumhandle/label/text"], self) @@ -232,6 +233,8 @@ class PesterChooseProfile(QtGui.QDialog): if collision: collision_warning = QtGui.QLabel("%s is taken already! Pick a new profile." % (collision)) layout_0.addWidget(collision_warning) + else: + layout_0.addWidget(self.currentHandle, alignment=QtCore.Qt.AlignHCenter) layout_0.addLayout(layout_1) if avail_profiles: profileLabel = QtGui.QLabel("Or choose an existing profile:", self) @@ -389,7 +392,7 @@ class PesterUserlist(QtGui.QDialog): addChum = QtCore.pyqtSignal(QtCore.QString) class PesterMemoList(QtGui.QDialog): - def __init__(self, parent): + def __init__(self, parent, channel=""): QtGui.QDialog.__init__(self, parent) self.setModal(False) self.theme = parent.theme @@ -406,7 +409,8 @@ class PesterMemoList(QtGui.QDialog): self, QtCore.SLOT('joinActivatedMemo(QListWidgetItem *)')) self.orjoinlabel = QtGui.QLabel("OR MAKE A NEW MEMO:") - self.newmemo = QtGui.QLineEdit(self) + self.newmemo = QtGui.QLineEdit(channel, self) + self.secretChannel = QtGui.QCheckBox("HIDDEN?", self) self.timelabel = QtGui.QLabel("TIMEFRAME:") self.timeslider = TimeSlider(QtCore.Qt.Horizontal, self) @@ -428,6 +432,7 @@ class PesterMemoList(QtGui.QDialog): layout_0.addWidget(self.channelarea) layout_0.addWidget(self.orjoinlabel) layout_0.addWidget(self.newmemo) + layout_0.addWidget(self.secretChannel) layout_0.addWidget(self.timelabel) layout_0.addWidget(self.timeslider) layout_0.addWidget(self.timeinput) diff --git a/menus.pyc b/menus.pyc index e7171d2d11bbc114abc074ba6c8729f88678ce50..a149307144721a765d4f34daa289c371d10a0491 100644 GIT binary patch delta 2753 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 delta 2407 zcmZuyeQc9u5WlDG+pb-=cHI{nWo4hVTQ(dM-GnKl8*Iu%-X#)20)w}VH`zMJUJyn{ zi6aUU5xAK789@{E4}@TmXi$m%ArdiQq9(>@#Kai?!1x_W{KLEFdD{(Qn)h;d&)q$D z_uTz@^hI&%dExo|_X1z{vi>ukK$YVsC(fxFz=ci0v=>Yt7!H^cAS?hgA5uhJU^t<I zxG4wA8~wm%1<aEnYYL@ZA(#O$$Xa7dK?f$OJYcvXCBO`VSp-u6WgOjBgrs}1bT5HI z<zkhBSq6p&f2o+8p2IGa6u}K<g|zd_^k!u5Epnlf>2?jwO6l%_lm|xpRZ(*}ik)~^ zMht^F4-6G&S1a3gZwSL=9v!B^l&7gYSwNMHJ+@D*P5M9>!0sEvvLEwjg{_vFd@y`c zsoGW}m8u>uq^Q@bo*I>JPOg@+YO#@)PhdB`mZO=qVAg?Eue?Yuv9;N@@d4SfSPq8l z)|5+?UI2!AHkDC>^i=*0(t+E4lYiQf?aT&H*;7@%Z1xQ*kDOd9WzK$qY(3?#!DwA} zo{Rv?JOYz`Naf2Y>Oqq{6{LvrQ_B&dCu>XR9D|%JHDZz~P<{o<ObK*hSjw~F_;Lmm zR6TEQs_g-Y$ri-qn9_9GIjDz;kxZ}5J#VBtakR2@MTl)uu55RUS>)!hk!+;>3MDt& zm1gZ|WCo&Tcw|`v?yUI}chydaCj6te3H$0=HGK;J;6z<po{N|*+XgK>S!em&By1Z@ z8p8>U)a!V#{=3iwsX!D9ul*}=;GTxnc)8*4mT@}KcQDz`B*J7HlbuZ1G3sEhkjV}_ z<7z(^(y%!i5dUU6qYfc<;j&nz7{&Fm8nGAm#+t?Mtkuu4fN<fBSW_j((S1w=lSU>7 znLLe~TJFYFV^FNfJk|J$L+ruZnqL-=;nn8lq6mvy4rxcoE|__><zY=Mdh7OTA*Qir z@wE05sUOOGusAH}!f);v6PvOB&QrnT9Q6c~MNFnKzkRLt2C>69)P9hBe`_!ESX|N? z3;iAA+UvxQW%hS$60vFac!7zZNgtDYnbb2m&V)V+j|EG%ik)aJ8KHnbEQyIj=wG^y z${$*~@Gefw@(@`wU~M;(L;9QS!zt)|mwuMXyF@H*$RoSQtO0W<IXJAJ<6dabkg^qv zJ3G?};^<o^fW}}yF%B?<WSoq;tdUsDjK)aHj2jXjF!Oks2v|u&6SvN5D-*PL`K%#~ zwU7Lu4@5cJE!-0qeLO#L`W)j=;@6$m(>e4jm5AiEp^rv*V;NZGU=dQ!vG?0Xo=UJJ zY!aTTEo5VbdxV^`QLaiZ6m2;zM3oFx1cpqJG#ojUz6F#hz-&;8NY@CM^TAS3$e~og z$o~d}n=y*;l>RXY;T(*WDi7+A$jSui5pJ3MhpUsuPDnYk#x`i=Wc%+XC(D%=Gxl<| zXUSzU_RKl`1M%fK|FDhRq^Rc{<tbH2VC<BF!4MH3h&Y4&U43E!URpE{&vv!BpQSg{ zpTp~2(fTB@awL<9M@JGPqn4Ky=15|AaC2f<=NH#c<C^97h}ZDw@&!R21GVu1=2r4H zx)0Fmj<3Sfc(n*&N4yEQ##`MV^7$cL*d533;{kCFe~ovzFR=1$QVxiBaH{)T_i<L7 zz^y$IaRDFinJ-S_>hins$DWWlpZTY!O~j;&+%>s`w=Nv}f5PMvt=@V(y)s{Xgy&Z# zBOkN!B9p^JqE6-{RLR6HG7{mw-hjA-M|vNi%dhp8i^F)McZ0ZsYx}BOX8b>8*UL<( zP8*^=V~#%1xncShUeKcVh<$>4!S}d@w<Yse-}^$G#>{<Rh_CR#s#Y<9UGw7FRXYC? g9sS3G3}HGiw$9G_Rf^Mz*ZO0g^%d0>4_4g&AC>UteE<Le diff --git a/oyoyo/helpers.py b/oyoyo/helpers.py index 38841b1..104f023 100644 --- a/oyoyo/helpers.py +++ b/oyoyo/helpers.py @@ -41,6 +41,12 @@ def channel_list(cli): def kick(cli, handle, channel): cli.send("KICK %s %s" % (channel, handle)) +def mode(cli, channel, mode, options=None): + cmd = "MODE %s %s" % (channel, mode) + if options: + cmd += " %s" % (options) + cli.send(cmd) + def msgrandom(cli, choices, dest, user=None): o = "%s: " % user if user else "" o += random.choice(choices) diff --git a/oyoyo/helpers.pyc b/oyoyo/helpers.pyc index 616708876580ff19d02472a801d6f436b763383f..e5b17da6abb110ba3d8dc2bd4f39e243966dd719 100644 GIT binary patch delta 927 zcmZuuOKVe65T3cYdEDIGJZ>JMv1x1xMq5jjLW+H*wzUswtEUSkT?EWYONHhNH!cd1 zLfeIi8#%b}C%7yDSBmb$jUedWrAsZ{>&$5t7bf?7=bLZl%$zgxtn}hy{_~L&t&XlP zH{kRaq`gYZ|M5J3bJqYFfdhnE1f&HA05uDm7RV?_8)OVN1F%ots1{=&9oRIqVrwN1 zGVw<tZ&GJ)K&CVyuM0A*^Cv)NKxQ>hf~2}R;=@o&f$V`A#pU&xG&Iw&4}kK#wlmPo zoY)4el?z=HpP0J=y8jHn;W~jt=+I}th5@<9CUgSexquy$tB{eakk~>}0JZ=~rx&3F zO2>It{3zk_>g-&x<kRP~NP8J+7Y0F@TP9c*S%S8iC*1aAvmGYlJ#24zEx*nF#<o<4 z_GIP^@j+UCga9y!VRY4A@E2ZFd!e1)B8j^8NzwwD!emXC>`^~)OnJdzaN|*{F{<j} zLbiuPE^r8~zj5yZ74<Qk!;1PAKE`SFHFC$iOn%jhoDGTrW{37frp=FN__KsQQ$TS^ zy|muqyt*6xfJ>^^{(>vrV>^d9ploLi*HzugX2&U1Oc4B2bX;-K_l|=#^~tG)rZ{F& z4aL{-UiWEyfHS;KERXQ9O<Jb~PcrBhF7k>0rC!vjTgmv94L-;X0ZbTW?xEm1ZJvX- zLw~WrT9sj1y-JqO%@8ez*wz=)?j<(o)c53lY^YnQ%G4MK=?U`O>UHTg>UF`x6nerb zW@&~TLmvZAQWP2b)tglRAWu~cF<fOBVc?sJ8w~Rdw+Zxnx%q0rb=_f7LPpH6Oe<yu MtUxTJ9=LtK0W^h{F8}}l delta 729 zcmZvZyKfUg5Qk^ahjVM6?-^TQlY{^v7X=WBkU}1W7zIOP1RE$YLdJMaghYtZg(4M2 zTu?+vXhg-IK<NS+DhdjkAR*BsDoO;@%&Y-XaHsor9>1B{+kHN{J5l-Yt&n>)d%50* z-_Jf;SLjQ>Jgd|mJJ17YIM8uGOVBycd05ZDj(~<V!8~Xe)-4msnMeV&_a{PG-*j+6 z2gaam2s(lub?`vPpofj^gSJ2yjU9kK2n~{zkD8hYIuYyu2wgFL44ru3Td<al^aJt4 z#;4gI;yCt(w#P<j_eqAJ3@U8d920DnvFa~L_U}G=(4NJXGg>TjVw5HH{nd>-bNJpV zi5dLtd>4!ONnW)lDUV%wz)}f5w5zx$ZNHr^Q#7@>R;Xk6BKJmA@kaigSjBPoqqx-n z>6U~@u;8tU>)7&&#d(sd1;RfA=aB|_l7i{Ijqd$UdqZEtJ+F~nV(}uL@^1>&-}R@t z)$5>sn(JFEA50#!GQV8oivP{1@eJ&S-ig~>$fp3pw-Sd|#dEg!`Zu@fRTnsRma&X4 z!-?_=nMsy?vmukd$nJUk8r~7NupZ4VoMF*0VQYxcZ0gN+v#Iv8j61845i?4RF$Uk4 vI)rbdBU4jsPBTt2W*EFlb&j#hs1p(}hkqpw1J-3N*OIn$WkzN&jSv3<vpab1 diff --git a/parsetools.py b/parsetools.py index 5417607..da7231e 100644 --- a/parsetools.py +++ b/parsetools.py @@ -5,6 +5,7 @@ from PyQt4 import QtGui _ctag_begin = re.compile(r'<c=(.*?)>') _ctag_rgb = re.compile(r'\d+,\d+,\d+') _urlre = re.compile(r"(?i)(http://[^\s<]+)") +_memore = re.compile(r" (#[A-Za-z0-9_]+)") def convertTags(string, format="html"): if format not in ["html", "bbcode", "ctag"]: @@ -40,6 +41,10 @@ def convertTags(string, format="html"): elif format=="ctag": return matchobj.group(1) string = _urlre.sub(urlrep, string) + if format == "html": + print string + string = _memore.sub(r" <a href='\1'>\1</a>", string) + print string return string def escapeBrackets(string): diff --git a/parsetools.pyc b/parsetools.pyc index e63ad4e730befd824519d744ccfa455febf4f326..d52cb82b926f1c9f0a56fee7769b8e5e1feadf0b 100644 GIT binary patch delta 521 zcmXX>O-LJ25T04x-R^%9gF*sfNrKr%*ThByK|{2M<Ra1tMPsO}Zdxs<kffLXob({{ zP{JIf&}&OCJ?*83UW7s~1@YD%d+MQ-LXQQd^Mda&-}~m9na4LjZvQN%FaKJ4wzjsq z3pYpRx5m+XGf1~5Isp4Jgen{(v@{5BL8!qA4o+R$f)jw24I#q1XAeH?jP>F?=X$xV zWxo~pPs{$oHkp{w&RISM2o0*>%ZgwKk0m&A0iOfZ8+{q}B?xuk>{x;qAV|G&h{O82 zXGWjV8$m1jJ^Bu3^1__S0BE7lk>ThiId>NWcdy%dxKwD*7OL&p#ZpkE_eu^G`l^)m zzREq@2c3f>`lme0>YVjb4C0>{I>`j4aU2~r!MThH)S_2vb_6{t8B6p>w{VWG^l2<o z(YPxYc&<WSqpD0XYfcYEpXoeZ8*lTT5Hk$C8$dTWeAMw0LKE(rVz}wk7xMz|L}wNv zmg%)!#XNnp`xr#4j)KaJXll@A>;W#*$Jhq$Me+D|37^ofv6AA5>OFFkwNy^fNda{M jYXa^I*kMyE>|CZ#Nh>wZlF5t4BnO9AGCi%Nshag42?b*z delta 399 zcmYjM!Ab&A6n%GOW*le68EqWI0g1F6O*0{Il?^Qnf+Qv)2?@-JphZNw32f&gh$6Y| zTh$NDwoeG6T`g<Vy1t<M#6|CM&O7g&!@c)?mp+Tm+piw`vRhj{HeDi}9-)6Tb~=eb zW<ivVfbA<RP}qo#Z)ZhdJFY%{KExGplzYlvF&4zI4cF3;k*9{X;6^|T*Tg4C<#;iT zh=C3jLY9Ctat=hS%gfl8FER?xB&Qh@3@Zr^*kH)XFdm(YKmlv&CRA~#mZc)aTt*M8 zlD|ND34hdvS|a5y{<F%YYj~+W<_p})5)Js@&bz0_M=tN>^T{S9{4zH6SEz(`9Dv%S zjRxd!&lo@_d@&@DDm=M?@8$t`SWmQ}7v3d41USPJt1890yNwT)mzn3X$*IL@ms6K$ aGVnTjDLrk`RRa@D!2sHVmRG8ZtmuD5%0%e^ diff --git a/pesterchum.js b/pesterchum.js index 2ab9987..233397c 100644 --- a/pesterchum.js +++ b/pesterchum.js @@ -1 +1 @@ -{"tabs": false, "chums": ["aquaMarinist", "marineAquist", "unknownTraveler", "tentacleTherapist", "macruralAlchemist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "adiosToreador", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "illuminatedWax"], "defaultprofile": "testProfile", "block": []} \ No newline at end of file +{"tabs": false, "chums": ["marineAquist", "unknownTraveler", "tentacleTherapist", "macruralAlchemist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "adiosToreador", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "testOut", "aquaMarinist"], "defaultprofile": "testProfile", "block": []} \ No newline at end of file diff --git a/pesterchum.py b/pesterchum.py index d9997d9..78f2715 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -7,6 +7,7 @@ from string import Template import random import json import re +import socket from PyQt4 import QtGui, QtCore import pygame @@ -52,11 +53,11 @@ class NoneSound(object): class PesterLog(object): def __init__(self, handle): self.handle = handle - if not os.path.exists("logs/%s" % (handle)): - os.mkdir("logs/%s" % (handle)) self.convos = {} def log(self, handle, msg): if not self.convos.has_key(handle): + if not os.path.exists("logs/%s" % (self.handle)): + os.mkdir("logs/%s" % (self.handle)) time = datetime.now().strftime("%Y-%m-%d.%H.%M.txt") if not os.path.exists("logs/%s/%s" % (self.handle, handle)): os.mkdir("logs/%s/%s" % (self.handle, handle)) @@ -126,7 +127,20 @@ class pesterTheme(dict): s = Template(v) d[k] = s.safe_substitute(path=self.path) return d - + def get(self, key, default): + try: + ret = self[key] + except KeyError: + return default + else: + return ret + def has_key(self, key): + try: + self[key] + except KeyError: + return False + else: + return True class userConfig(object): def __init__(self): @@ -147,8 +161,9 @@ class userConfig(object): def tabs(self): return self.config["tabs"] def addChum(self, chum): - newchums = self.config['chums'] + [chum.handle] - self.set("chums", newchums) + if chum.handle not in self.config['chums']: + newchums = self.config['chums'] + [chum.handle] + self.set("chums", newchums) def removeChum(self, chum): if type(chum) is PesterProfile: handle = chum.handle @@ -518,6 +533,9 @@ class PesterMoodHandler(QtCore.QObject): newbutton.setSelected(True) newmood = Mood(m) self.mainwindow.userprofile.chat.mood = newmood + if self.mainwindow.currentMoodIcon: + moodicon = newmood.icon(self.mainwindow.theme) + self.mainwindow.currentMoodIcon.setPixmap(moodicon.pixmap(moodicon.realsize())) self.mainwindow.moodUpdated.emit() class PesterMoodButton(QtGui.QPushButton): @@ -577,6 +595,7 @@ class PesterWindow(MovingWindow): self.tabconvo = None self.tabmemo = None + self.setAutoFillBackground(True) self.setObjectName("main") self.config = userConfig() if self.config.defaultprofile(): @@ -606,6 +625,9 @@ class PesterWindow(MovingWindow): self.memoaction = memoaction self.connect(memoaction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('showMemos()')) + self.importaction = QtGui.QAction(self.theme["main/menus/client/import"], self) + self.connect(self.importaction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('importExternalConfig()')) self.menu = QtGui.QMenuBar(self) filemenu = self.menu.addMenu(self.theme["main/menus/client/_name"]) @@ -613,6 +635,7 @@ class PesterWindow(MovingWindow): filemenu.addAction(opts) filemenu.addAction(memoaction) filemenu.addAction(userlistaction) + filemenu.addAction(self.importaction) filemenu.addAction(exitaction) changetheme = QtGui.QAction(self.theme["main/menus/profile/theme"], self) @@ -718,6 +741,10 @@ class PesterWindow(MovingWindow): else: for m in self.memos.values(): m.close() + def paintEvent(self, event): + palette = QtGui.QPalette() + palette.setBrush(QtGui.QPalette.Window, QtGui.QBrush(self.backgroundImage)) + self.setPalette(palette) def closeEvent(self, event): self.closeConversations() @@ -793,7 +820,7 @@ class PesterWindow(MovingWindow): self.connect(self.tabmemo, QtCore.SIGNAL('windowClosed()'), self, QtCore.SLOT('memoTabsClosed()')) - def newMemo(self, channel, timestr): + def newMemo(self, channel, timestr, secret=False): if channel == "#pesterchum": return if self.memos.has_key(channel): @@ -820,6 +847,10 @@ class PesterWindow(MovingWindow): # chat client send memo open self.memos[channel] = memoWindow self.joinChannel.emit(channel) # race condition? + self.secret = secret + if self.secret: + self.secret = True + self.setChannelMode.emit(channel, "+s", "") memoWindow.sendTimeInfo() memoWindow.show() @@ -845,7 +876,10 @@ class PesterWindow(MovingWindow): self.resize(*theme["main/size"]) self.setWindowIcon(PesterIcon(theme["main/icon"])) self.setWindowTitle(theme["main/windowtitle"]) - self.setStyleSheet("QFrame#main { "+theme["main/style"]+" }") + self.setStyleSheet("QFrame#main { %s }" % (theme["main/style"])) + self.backgroundImage = QtGui.QPixmap(theme["main/background-image"]) + self.backgroundMask = self.backgroundImage.mask() + self.setMask(self.backgroundMask) self.menu.setStyleSheet("QMenuBar { background: transparent; %s } QMenuBar::item { background: transparent; %s } " % (theme["main/menubar/style"], theme["main/menu/menuitem"]) + "QMenu { background: transparent; %s } QMenu::item::selected { %s }" % (theme["main/menu/style"], theme["main/menu/selected"])) newcloseicon = PesterIcon(theme["main/close/image"]) self.closeButton.setIcon(newcloseicon) @@ -861,6 +895,7 @@ class PesterWindow(MovingWindow): self.exitaction.setText(theme["main/menus/client/exit"]) self.userlistaction.setText(theme["main/menus/client/userlist"]) self.memoaction.setText(theme["main/menus/client/memos"]) + self.importaction.setText(theme["main/menus/client/import"]) self.filemenu.setTitle(theme["main/menus/client/_name"]) self.changetheme.setText(theme["main/menus/profile/theme"]) self.changequirks.setText(theme["main/menus/profile/quirks"]) @@ -879,18 +914,27 @@ class PesterWindow(MovingWindow): self.moods = PesterMoodHandler(self, *[PesterMoodButton(self, **d) for d in theme["main/moods"]]) self.moods.showButtons() # chum + addChumStyle = "QPushButton { %s }" % (theme["main/addchum/style"]) + if theme.has_key("main/addchum/pressed"): + addChumStyle += "QPushButton:pressed { %s }" % (theme["main/addchum/pressed"]) + pesterButtonStyle = "QPushButton { %s }" % (theme["main/pester/style"]) + if theme.has_key("main/pester/pressed"): + pesterButtonStyle += "QPushButton:pressed { %s }" % (theme["main/pester/pressed"]) + blockButtonStyle = "QPushButton { %s }" % (theme["main/block/style"]) + if theme.has_key("main/block/pressed"): + pesterButtonStyle += "QPushButton:pressed { %s }" % (theme["main/block/pressed"]) self.addChumButton.setText(theme["main/addchum/text"]) self.addChumButton.resize(*theme["main/addchum/size"]) self.addChumButton.move(*theme["main/addchum/loc"]) - self.addChumButton.setStyleSheet(theme["main/addchum/style"]) + self.addChumButton.setStyleSheet(addChumStyle) self.pesterButton.setText(theme["main/pester/text"]) self.pesterButton.resize(*theme["main/pester/size"]) self.pesterButton.move(*theme["main/pester/loc"]) - self.pesterButton.setStyleSheet(theme["main/pester/style"]) + self.pesterButton.setStyleSheet(pesterButtonStyle) self.blockButton.setText(theme["main/block/text"]) self.blockButton.resize(*theme["main/block/size"]) self.blockButton.move(*theme["main/block/loc"]) - self.blockButton.setStyleSheet(theme["main/block/style"]) + self.blockButton.setStyleSheet(blockButtonStyle) # buttons self.mychumhandleLabel.setText(theme["main/mychumhandle/label/text"]) self.mychumhandleLabel.move(*theme["main/mychumhandle/label/loc"]) @@ -902,6 +946,18 @@ class PesterWindow(MovingWindow): self.mychumcolor.resize(*theme["main/mychumhandle/colorswatch/size"]) self.mychumcolor.move(*theme["main/mychumhandle/colorswatch/loc"]) self.mychumcolor.setStyleSheet("background: %s" % (self.profile().colorhtml())) + if self.theme.has_key("main/mychumhandle/currentMood"): + moodicon = self.profile().mood.icon(theme) + self.currentMoodIcon = QtGui.QLabel(self) + self.currentMoodIcon.setPixmap(moodicon.pixmap(moodicon.realsize())) + self.currentMoodIcon.move(*theme["main/mychumhandle/currentMood"]) + self.currentMoodIcon.show() + else: + if hasattr(self, 'currentMoodIcon') and self.currentMoodIcon: + self.currentMoodIcon.hide() + self.currentMoodIcon = None + + if theme["main/mychumhandle/colorswatch/text"]: self.mychumcolor.setText(theme["main/mychumhandle/colorswatch/text"]) @@ -915,6 +971,8 @@ class PesterWindow(MovingWindow): self.theme = theme # do self self.initTheme(theme) + # set mood + self.moods.updateMood(theme['main/defaultmood']) # chum area self.chumList.changeTheme(theme) # do open windows @@ -1136,12 +1194,22 @@ class PesterWindow(MovingWindow): self.unblockedChum.emit(handle) @QtCore.pyqtSlot() - def showMemos(self): + def importExternalConfig(self): + f = QtGui.QFileDialog.getOpenFileName(self) + fp = open(f, 'r') + for l in fp.xreadlines(): + # import chumlist + chum_mo = re.match("handle: ([A-Za-z0-9]+)", l) + if chum_mo is not None: + chum = PesterProfile(chum_mo.group(1)) + self.addChum(chum) + @QtCore.pyqtSlot() + def showMemos(self, channel=""): if not hasattr(self, 'memochooser'): self.memochooser = None if self.memochooser: return - self.memochooser = PesterMemoList(self) + self.memochooser = PesterMemoList(self, channel) self.connect(self.memochooser, QtCore.SIGNAL('accepted()'), self, QtCore.SLOT('joinSelectedMemo()')) self.connect(self.memochooser, QtCore.SIGNAL('rejected()'), @@ -1153,9 +1221,11 @@ class PesterWindow(MovingWindow): newmemo = self.memochooser.newmemoname() selectedmemo = self.memochooser.selectedmemo() time = unicode(self.memochooser.timeinput.text()) + secret = self.memochooser.secretChannel.isChecked() if newmemo: channel = "#"+unicode(newmemo).replace(" ", "_") - self.newMemo(channel, time) + channel = re.sub(r"[^A-Za-z0-9#_]", "", channel) + self.newMemo(channel, time, secret=secret) elif selectedmemo: channel = "#"+unicode(selectedmemo.text()) self.newMemo(channel, time) @@ -1415,6 +1485,7 @@ class PesterWindow(MovingWindow): kickUser = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) joinChannel = QtCore.pyqtSignal(QtCore.QString) leftChannel = QtCore.pyqtSignal(QtCore.QString) + setChannelMode = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) class IRCThread(QtCore.QThread): def __init__(self, ircobj): @@ -1422,8 +1493,12 @@ class IRCThread(QtCore.QThread): self.irc = ircobj def run(self): irc = self.irc + irc.IRCConnect() while 1: - irc.updateIRC() + try: + irc.updateIRC() + except socket.error: + self.exit(1) class PesterTray(QtGui.QSystemTrayIcon): def __init__(self, icon, mainwindow, parent): @@ -1440,134 +1515,161 @@ class PesterTray(QtGui.QSystemTrayIcon): else: self.setIcon(PesterIcon(self.mainwindow.theme["main/newmsgicon"])) -def main(): +class MainProgram(QtCore.QObject): + def __init__(self): + QtCore.QObject.__init__(self) + self.app = QtGui.QApplication(sys.argv) + if pygame.mixer: + # we could set the frequency higher but i love how cheesy it sounds + try: + pygame.mixer.init() + except pygame.error, e: + print "Warning: No sound! %s" % (e) + else: + print "Warning: No sound!" + self.widget = PesterWindow() + self.widget.show() - app = QtGui.QApplication(sys.argv) - if pygame.mixer: - # we could set the frequency higher but i love how cheesy it sounds - pygame.mixer.init() - else: - print "Warning: No sound!" - widget = PesterWindow() - widget.show() + self.trayicon = PesterTray(PesterIcon(self.widget.theme["main/icon"]), self.widget, self.app) + self.trayicon.show() + self.trayicon.connect(self.trayicon, + QtCore.SIGNAL('activated(QSystemTrayIcon::ActivationReason)'), + self.widget, + QtCore.SLOT('systemTrayActivated(QSystemTrayIcon::ActivationReason)')) + self.trayicon.connect(self.widget, + QtCore.SIGNAL('trayIconSignal(int)'), + self.trayicon, + QtCore.SLOT('changeTrayIcon(int)')) - trayicon = PesterTray(PesterIcon(widget.theme["main/icon"]), widget, app) - trayicon.show() - - trayicon.connect(trayicon, - QtCore.SIGNAL('activated(QSystemTrayIcon::ActivationReason)'), - widget, - QtCore.SLOT('systemTrayActivated(QSystemTrayIcon::ActivationReason)')) - trayicon.connect(widget, - QtCore.SIGNAL('trayIconSignal(int)'), - trayicon, - QtCore.SLOT('changeTrayIcon(int)')) - - - irc = PesterIRC(widget) - irc.IRCConnect() - irc.connect(widget, QtCore.SIGNAL('sendMessage(QString, QString)'), - irc, QtCore.SLOT('sendMessage(QString, QString)')) - irc.connect(widget, - QtCore.SIGNAL('newConvoStarted(QString, bool)'), - irc, QtCore.SLOT('startConvo(QString, bool)')) - irc.connect(widget, - QtCore.SIGNAL('convoClosed(QString)'), - irc, QtCore.SLOT('endConvo(QString)')) - irc.connect(widget, - QtCore.SIGNAL('profileChanged()'), - irc, - QtCore.SLOT('updateProfile()')) - irc.connect(widget, - QtCore.SIGNAL('moodRequest(PyQt_PyObject)'), - irc, - QtCore.SLOT('getMood(PyQt_PyObject)')) - irc.connect(widget, - QtCore.SIGNAL('moodsRequest(PyQt_PyObject)'), - irc, - QtCore.SLOT('getMoods(PyQt_PyObject)')) - irc.connect(widget, - QtCore.SIGNAL('moodUpdated()'), - irc, - QtCore.SLOT('updateMood()')) - irc.connect(widget, - QtCore.SIGNAL('mycolorUpdated()'), - irc, - QtCore.SLOT('updateColor()')) - irc.connect(widget, - QtCore.SIGNAL('blockedChum(QString)'), - irc, - QtCore.SLOT('blockedChum(QString)')) - irc.connect(widget, - QtCore.SIGNAL('unblockedChum(QString)'), - irc, - QtCore.SLOT('unblockedChum(QString)')) - irc.connect(widget, - QtCore.SIGNAL('requestNames(QString)'), - irc, - QtCore.SLOT('requestNames(QString)')) - irc.connect(widget, - QtCore.SIGNAL('requestChannelList()'), - irc, - QtCore.SLOT('requestChannelList()')) - irc.connect(widget, - QtCore.SIGNAL('joinChannel(QString)'), - irc, - QtCore.SLOT('joinChannel(QString)')) - irc.connect(widget, - QtCore.SIGNAL('leftChannel(QString)'), - irc, - QtCore.SLOT('leftChannel(QString)')) - irc.connect(widget, - QtCore.SIGNAL('kickUser(QString, QString)'), - irc, - QtCore.SLOT('kickUser(QString, QString)')) + self.irc = PesterIRC(self.widget) + self.connectWidgets(self.irc, self.widget) + self.ircapp = IRCThread(self.irc) + self.connect(self.ircapp, QtCore.SIGNAL('finished()'), + self, QtCore.SLOT('restartIRC()')) -# IRC --> Main window - irc.connect(irc, QtCore.SIGNAL('connected()'), - widget, QtCore.SLOT('connected()')) - irc.connect(irc, - QtCore.SIGNAL('moodUpdated(QString, PyQt_PyObject)'), - widget, - QtCore.SLOT('updateMoodSlot(QString, PyQt_PyObject)')) - irc.connect(irc, - QtCore.SIGNAL('colorUpdated(QString, QColor)'), - widget, - QtCore.SLOT('updateColorSlot(QString, QColor)')) - irc.connect(irc, - QtCore.SIGNAL('messageReceived(QString, QString)'), - widget, - QtCore.SLOT('deliverMessage(QString, QString)')) - irc.connect(irc, - QtCore.SIGNAL('memoReceived(QString, QString, QString)'), - widget, - QtCore.SLOT('deliverMemo(QString, QString, QString)')) - irc.connect(irc, - QtCore.SIGNAL('nickCollision(QString, QString)'), - widget, - QtCore.SLOT('nickCollision(QString, QString)')) - irc.connect(irc, - QtCore.SIGNAL('namesReceived(QString, PyQt_PyObject)'), - widget, - QtCore.SLOT('updateNames(QString, PyQt_PyObject)')) - irc.connect(irc, - QtCore.SIGNAL('userPresentUpdate(QString, QString, QString)'), - widget, - QtCore.SLOT('userPresentUpdate(QString, QString, QString)')) - irc.connect(irc, - QtCore.SIGNAL('channelListReceived(PyQt_PyObject)'), - widget, - QtCore.SLOT('updateChannelList(PyQt_PyObject)')) - irc.connect(irc, - QtCore.SIGNAL('timeCommand(QString, QString, QString)'), - widget, - QtCore.SLOT('timeCommand(QString, QString, QString)')) + def connectWidgets(self, irc, widget): + irc.connect(widget, QtCore.SIGNAL('sendMessage(QString, QString)'), + irc, QtCore.SLOT('sendMessage(QString, QString)')) + irc.connect(widget, + QtCore.SIGNAL('newConvoStarted(QString, bool)'), + irc, QtCore.SLOT('startConvo(QString, bool)')) + irc.connect(widget, + QtCore.SIGNAL('convoClosed(QString)'), + irc, QtCore.SLOT('endConvo(QString)')) + irc.connect(widget, + QtCore.SIGNAL('profileChanged()'), + irc, + QtCore.SLOT('updateProfile()')) + irc.connect(widget, + QtCore.SIGNAL('moodRequest(PyQt_PyObject)'), + irc, + QtCore.SLOT('getMood(PyQt_PyObject)')) + irc.connect(widget, + QtCore.SIGNAL('moodsRequest(PyQt_PyObject)'), + irc, + QtCore.SLOT('getMoods(PyQt_PyObject)')) + irc.connect(widget, + QtCore.SIGNAL('moodUpdated()'), + irc, + QtCore.SLOT('updateMood()')) + irc.connect(widget, + QtCore.SIGNAL('mycolorUpdated()'), + irc, + QtCore.SLOT('updateColor()')) + irc.connect(widget, + QtCore.SIGNAL('blockedChum(QString)'), + irc, + QtCore.SLOT('blockedChum(QString)')) + irc.connect(widget, + QtCore.SIGNAL('unblockedChum(QString)'), + irc, + QtCore.SLOT('unblockedChum(QString)')) + irc.connect(widget, + QtCore.SIGNAL('requestNames(QString)'), + irc, + QtCore.SLOT('requestNames(QString)')) + irc.connect(widget, + QtCore.SIGNAL('requestChannelList()'), + irc, + QtCore.SLOT('requestChannelList()')) + irc.connect(widget, + QtCore.SIGNAL('joinChannel(QString)'), + irc, + QtCore.SLOT('joinChannel(QString)')) + irc.connect(widget, + QtCore.SIGNAL('leftChannel(QString)'), + irc, + QtCore.SLOT('leftChannel(QString)')) + irc.connect(widget, + QtCore.SIGNAL('kickUser(QString, QString)'), + irc, + QtCore.SLOT('kickUser(QString, QString)')) + irc.connect(widget, + QtCore.SIGNAL('setChannelMode(QString, QString, QString)'), + irc, + QtCore.SLOT('setChannelMode(QString, QString, QString)')) - ircapp = IRCThread(irc) - ircapp.start() - status = widget.loadingscreen.exec_() - if status == QtGui.QDialog.Rejected: - sys.exit(0) - sys.exit(app.exec_()) -main() + # IRC --> Main window + irc.connect(irc, QtCore.SIGNAL('connected()'), + widget, QtCore.SLOT('connected()')) + irc.connect(irc, + QtCore.SIGNAL('moodUpdated(QString, PyQt_PyObject)'), + widget, + QtCore.SLOT('updateMoodSlot(QString, PyQt_PyObject)')) + irc.connect(irc, + QtCore.SIGNAL('colorUpdated(QString, QColor)'), + widget, + QtCore.SLOT('updateColorSlot(QString, QColor)')) + irc.connect(irc, + QtCore.SIGNAL('messageReceived(QString, QString)'), + widget, + QtCore.SLOT('deliverMessage(QString, QString)')) + irc.connect(irc, + QtCore.SIGNAL('memoReceived(QString, QString, QString)'), + widget, + QtCore.SLOT('deliverMemo(QString, QString, QString)')) + irc.connect(irc, + QtCore.SIGNAL('nickCollision(QString, QString)'), + widget, + QtCore.SLOT('nickCollision(QString, QString)')) + irc.connect(irc, + QtCore.SIGNAL('namesReceived(QString, PyQt_PyObject)'), + widget, + QtCore.SLOT('updateNames(QString, PyQt_PyObject)')) + irc.connect(irc, + QtCore.SIGNAL('userPresentUpdate(QString, QString, QString)'), + widget, + QtCore.SLOT('userPresentUpdate(QString, QString, QString)')) + irc.connect(irc, + QtCore.SIGNAL('channelListReceived(PyQt_PyObject)'), + widget, + QtCore.SLOT('updateChannelList(PyQt_PyObject)')) + irc.connect(irc, + QtCore.SIGNAL('timeCommand(QString, QString, QString)'), + widget, + QtCore.SLOT('timeCommand(QString, QString, QString)')) + + @QtCore.pyqtSlot() + def restartIRC(self): + self.widget.show() + self.widget.activateWindow() + self.irc = PesterIRC(self.widget) + self.connectWidgets(self.irc, self.widget) + self.ircapp = IRCThread(self.irc) + self.connect(self.ircapp, QtCore.SIGNAL('finished()'), + self, QtCore.SLOT('restartIRC()')) + self.ircapp.start() + status = self.widget.loadingscreen.exec_() + if status == QtGui.QDialog.Rejected: + sys.exit(0) + + def run(self): + self.ircapp.start() + status = self.widget.loadingscreen.exec_() + if status == QtGui.QDialog.Rejected: + sys.exit(0) + sys.exit(self.app.exec_()) + +pesterchum = MainProgram() +pesterchum.run() diff --git a/profiles/ghostDunk.js b/profiles/ghostDunk.js index 43ce8df..7c7adc1 100644 --- a/profiles/ghostDunk.js +++ b/profiles/ghostDunk.js @@ -1 +1 @@ -{"color": "#ff00ff", "theme": "trollian", "quirks": [], "handle": "ghostDunk"} \ No newline at end of file +{"color": "#ff00ff", "theme": "pesterchum7", "quirks": [], "handle": "ghostDunk"} \ No newline at end of file diff --git a/profiles/microMachines.js b/profiles/microMachines.js new file mode 100644 index 0000000..52c0648 --- /dev/null +++ b/profiles/microMachines.js @@ -0,0 +1 @@ +{"color": "#aa00ff", "theme": "pesterchum", "quirks": [], "handle": "microMachines"} \ No newline at end of file diff --git a/profiles/testProfile.js b/profiles/testProfile.js index 223100d..e63a331 100644 --- a/profiles/testProfile.js +++ b/profiles/testProfile.js @@ -1 +1 @@ -{"color": "#aa00ff", "theme": "trollian", "quirks": [], "handle": "testProfile"} \ No newline at end of file +{"color": "#aa00ff", "theme": "pesterchum", "quirks": [], "handle": "testProfile"} \ No newline at end of file diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 2bfe997..aea785d 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -1,5 +1,6 @@ {"main": - {"style": "background-image:url($path/pcbg.png); background-repeat: no-repeat;", + {"style": "background-repeat: no-repeat;", + "background-image": "$path/pcbg.png", "size": [232, 380], "icon": "$path/trayicon.png", "newmsgicon": "$path/trayicon2.png", @@ -19,6 +20,7 @@ "options": "OPTIONS", "memos": "MEMOS", "userlist": "USERLIST", + "import": "IMPORT", "exit": "EXIT"}, "profile": {"_name": "PROFILE", "switch": "SWITCH", @@ -31,7 +33,8 @@ "blockchum": "BLOCK", "addchum": "ADD CHUM", "unblockchum": "UNBLOCK", - "banuser": "BAN USER" + "banuser": "BAN USER", + "quirksoff": "QUIRKS OFF" } }, "chums": { "style": "border:2px solid yellow; background-color: black;color: white;font: bold;font-family: 'Courier';selection-background-color:#646464; ", @@ -94,13 +97,14 @@ }, "mychumhandle": { "label": { "text": "CHUMHANDLE:", "loc": [19,232], - "style": "color: rgba(255, 255, 0, 0%) ;font:bold; font-family: 'Courier';" }, + "style": "color: rgba(255, 255, 0, 0%) ;font:bold; font-family: 'Courier';" }, "handle": { "style": "background: black; padding: 3px; color:white; font-family:'Courier'; font:bold; text-align:left;", - "loc": [14,246], + "loc": [36,246], "size": [190, 21] }, "colorswatch": { "loc": [196,246], "size": [23,21], - "text": "" } + "text": "" }, + "currentMood": [18, 249] }, "defaultwindow": { "style": "background: #fdb302; font-family:'Courier';font:bold;selection-background-color:#919191; " }, @@ -110,6 +114,7 @@ "text": "" }, "pester": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(255, 255, 0, 0%); font-family:'Courier';", + "pressed" : "background: rgb(255, 255, 255, 30%);", "loc": [150,202], "size": [71, 22], "text": "" @@ -185,16 +190,17 @@ }, "convo": {"style": "background-color: #fdb302; background-image:url($path/convobg.png); background-repeat: no-repeat; border:2px solid yellow; font-family: 'Courier'", + "scrollbar": { "style" : "", "handle": "" }, "margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 }, - "size": [400, 250], - "chumlabel": { "style": "background: rgb(196, 138, 0); color: white; border:0px; font-size: 12px;", + "size": [520, 325], + "chumlabel": { "style": "background: rgb(196, 138, 0); color: white; border:0px; font-size: 14px;", "align": { "h": "center", "v": "center" }, "minheight": 26, "maxheight": 26, "text" : ":: $handle ::" }, "textarea": { - "style": "background: white; font:bold; border:2px solid #c48a00;text-align:center; margin-top:21px; margin-right:10px; margin-left:10px; font-size: 12px;" + "style": "background: white; font:bold; border:2px solid #c48a00;text-align:center; margin-top:21px; margin-right:10px; margin-left:10px; font-size: 14px;" }, "input": { "style": "background: white; border:2px solid #c48a00;margin-top:3px; margin-right:10px; margin-left:10px; font-size: 12px;" diff --git a/themes/pesterchum7/abouticon.png b/themes/pesterchum7/abouticon.png new file mode 100644 index 0000000000000000000000000000000000000000..02fa8875f007b5291673a8e78f7499c1c0f0f317 GIT binary patch literal 3774 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 F{RjO5rXc_T literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/acceptant.gif b/themes/pesterchum7/acceptant.gif new file mode 100644 index 0000000000000000000000000000000000000000..f549f70b9a0b87e9eba121816edabdb7b8029c0e GIT binary patch literal 126 zcmZ?wbhEHb6krfwSi}GV|NsAgU(AqU#Bhm$AqC6@3M&3&VPs%nW6%Mq0I6kQcGlRY z_HT`?c>`<mzN+14r>H0Og$lTqFLU4&$Y(#iHsNeh%<L7n-YZYkzQOsC!$WMP;~ovE WISFlw9aYN&A0HPynYD|P!5RR9{wo&% literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/alarm.wav b/themes/pesterchum7/alarm.wav new file mode 100644 index 0000000000000000000000000000000000000000..910abdcb31e2cf53c97fd614ec556630c0ad378a GIT binary patch literal 25388 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 I|1<*s4}BueQ2+n{ literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/amazed.gif b/themes/pesterchum7/amazed.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c2f1e6c311919ca4d941cc2af50ac9190975c4c GIT binary patch literal 97 zcmZ?wbhEHb6ky<ESi}GV|NsAg@Sx%UcZLTG815|-1#*Fcia%Kx85r0YbU-RVY8jZ- uGFDx-)85CaI`?(lvW?nDS>hfCmt}M{B}TCnye>E^Z9lUz?AkUJ25SI*m?Jj; literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/bemused.gif b/themes/pesterchum7/bemused.gif new file mode 100644 index 0000000000000000000000000000000000000000..15a9813b822f37b65c1d2fc16f546932cd8b86e4 GIT binary patch literal 93 zcmZ?wbhEHb6ky<ESi}GV|NsAg@Sx%UcZLTG815|-1#*Fcia%Kx85r0YbU-RVY8jZ7 qGFDx-)85CaI`?(lvW?nDS>hfCmu0M4_Vi_e@9&gMmf%1p25SHS1tF^d literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/blocked.gif b/themes/pesterchum7/blocked.gif new file mode 100644 index 0000000000000000000000000000000000000000..5031b07cb021724c5c88f5977b7488a20eae730b GIT binary patch literal 97 zcmZ?wbhEHb6krfwXkcXc&%p5i|9{1Qg3d*$i6yBi3gww484B*6z5xu1KUo;L7#JCJ z7=QqzoPkNXrFmuM-it{gn{IXUpPF@Rdo2I+)E*JP3A2*AExSHGY|sv1V6X-N%ts*d literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/chummy.gif b/themes/pesterchum7/chummy.gif new file mode 100644 index 0000000000000000000000000000000000000000..26c9ad37e69925168040d4e1f47ac31db5582e03 GIT binary patch literal 106 zcmZ?wbhEHb6ky<ESi}GV|NsAg@Sx%UcZLTG815|-1#*Fcia%Kx85r0YbU-RVY8jaI zGge);)85CaI`?(lvW?0|SmGWBmt`=o(~;a$5HP_>h9mJXugl*@eP@<0?Ut~b$iiR^ E0KOh3HUIzs literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/convobg.png b/themes/pesterchum7/convobg.png new file mode 100644 index 0000000000000000000000000000000000000000..7907669875deef5afd23b5b6b6c71f0dea3612c5 GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^VL+_K!3HEXx2^F7QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0XB4uLSEsD@VqP(!Y#i(^QJ^V?a0d50AQSl`ZDfBfy=OF@}S zMPm)N`0PIxlydag<J1ZPyQ2Me>#jd7ymR1o;i3ci%w4Tb3nGp>u_>(S4An_tI5dkU zoYo`v)c;?s-T!~hr|$aD>x)x&-|xF`v-|auRjT*qN7m}@JiFrDzG;g)&$6Z@{{8xG zua?=m?{nAgFitDgXIq~X8dTh?Xnbz5mGScxH?Fdr6}qGTQ>A$7*30Yo9bZTP{<Hgr zj%nAam-BoNPyEugQ@K5(yYuX2HSxH$nQ#AHwlaJDr$h2`eaPwf7B{2EbJ+J@ZSH(~ z{i0Xi)N?ocZ+6|8dL(?#)Tfyu6S5KvH(F=jczcD<`aIh&+sd{Dx7SYn(z`8r^U{Zz n+}FF~S0<Y=_-_r_-Q_RA*7Q&3qk%gxHW)lz{an^LB{Ts5HoDPM literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/detestful.gif b/themes/pesterchum7/detestful.gif new file mode 100644 index 0000000000000000000000000000000000000000..c050d314a3486f6ab20bfbfed59fe3c2ebf5dee8 GIT binary patch literal 165 zcmZ?wbhEHb6krfw*vtR||NsAgU(AqU#Bhm$p@@MY1t_v~DNqnBiB2f~WMO1r;9$@J zNr22?U<nFX(AlzgOPqBB`{A<E_?NA7RyJMRwT)F#_@0l11Ghwx=3~po;|Dh1ZP+FI vP=G@wZ~l`_H*4HjRhXuFC5L7mi_2>&ovV^ENo&f*6_GEtrCsi0V6X-NDAG2y literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/devious.gif b/themes/pesterchum7/devious.gif new file mode 100644 index 0000000000000000000000000000000000000000..06ba8be00096c0dc5e40b994382aca5ea12446d9 GIT binary patch literal 127 zcmZ?wbhEHb6krfwSi}GV|NsAgU(AqU#Bhm$AqC6@3M&3&VPs%nW6%Mq0I6kQcG1|T z_HT`?c>`<mzN+14r>G~LvzV6VD8L%9Drft;bqQTBYM-{qF>R3Sz4AeTsd1j`#Rn06 XC;2y5Hf}W%?3`?JHfvWK3xhQP_0%ni literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/discontent.gif b/themes/pesterchum7/discontent.gif new file mode 100644 index 0000000000000000000000000000000000000000..addcf54adc17679d59584c14b100bd9a0acdd705 GIT binary patch literal 127 zcmZ?wbhEHb6krfwSi}GV|NsAgU(AqU#Bhm$AqC6@3M&3&VPs%nW6%Mq0I6kQcG1|T z_HT`?c>`<mzN+14r>G~LvzW%}C=$DiY3ZsmBS!9J5zp@C?bN!a%EEA}WoFybu+17$ XGQmZP9aYPC9vv6#%$V21!e9*mo3$!{ literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/distraught.gif b/themes/pesterchum7/distraught.gif new file mode 100644 index 0000000000000000000000000000000000000000..0103ac5b8083641a615cb2418acd3df62aa26718 GIT binary patch literal 93 zcmZ?wbhEHb6ky<ESi}GV|AF8;!-EAN23P<@DE?$&WME)n&;fBkY8jZ7JXT%O)85Ca iI`?(lvW?P*S>hfCmu1{))RCISKRvD3r6iDv!5RSb<{Sk8 literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/ecstatic.gif b/themes/pesterchum7/ecstatic.gif new file mode 100644 index 0000000000000000000000000000000000000000..dc3ee6116a9416234498ee7e50478a8cf808b33e GIT binary patch literal 137 zcmZ?wbhEHb6krfwSi}GV|NsAgU(AqU#Bhm$AqB`?x)dm)_>+Z^fq|Vt2c!a|mVwz% zW4rplHMZsrtjYVTcAuT1o^;M)8mps7>@KFItICWRxtB#SmFC|Ub4u`#`R8;<>Eg7^ k4?L$D4lc{!2?}_$<w6X{I=j57g1Z`&1kYAXWMHrc07(Ebd;kCd literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/gbgbig.png b/themes/pesterchum7/gbgbig.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9bcc799b9c775cf880c00bfe9de869f064841d GIT binary patch literal 46884 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 literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/h.gif b/themes/pesterchum7/h.gif new file mode 100644 index 0000000000000000000000000000000000000000..184514ea88e000103feee28a80ec05db176c2d62 GIT binary patch literal 101 zcmZ?wbhEHblw*)%Si}GV|Ns9#x^dH?Lx+G2umFfq{K>+|z`(+w1LA<xGB9g-?7H*M v;FRa;y%w*}?*5;kq36Ka@l0~r3eIIY?7Q#nx%7R-`<nOv4=89bGFSruy%Q!e literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/insolent.gif b/themes/pesterchum7/insolent.gif new file mode 100644 index 0000000000000000000000000000000000000000..d642481122423e2f23ae0ed635cded8e059999e5 GIT binary patch literal 97 zcmZ?wbhEHb6ky<ESi}GV|AF8;!-EAN23P<@DE?$&WME)n&;fBkY8jZ-JXT%O)85Ca mI`?(lvW?P*S>hfCmu0MKe6y3y@kfEYj`_@r@N3&t7_0$)n;%^O literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/leftarrow.png b/themes/pesterchum7/leftarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..4caf00b9ace4036c6e4d0be594267d174508824d GIT binary patch literal 2894 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 literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/m.gif b/themes/pesterchum7/m.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f6c3969063c4fed40f04072327f619637988c8f GIT binary patch literal 44 scmZ?wbhEHbWMg1rXkY+=|Ns9h{$ycfU|?j>0r5dH3{1=|{b3B&0L&~1D*ylh literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/manipulative.gif b/themes/pesterchum7/manipulative.gif new file mode 100644 index 0000000000000000000000000000000000000000..642d9886b21d60a86682fb36022ba4a449195c29 GIT binary patch literal 168 zcmZ?wbhEHb6krfw*vtR||NsAgU(AqU#Bhm$p@@MY1t_v~DNqnBiB2f~WMO1r;9$@J zNr22?U<nOa(AlzgOPqBB`{A<E_?NA7RyJMRwT;zr#U{or4T{sZwo6+vZAjbAX|rib yQJM?eybJ2at{raa3%ME!Hn8y-d!{aU?R2p1jf+DZ*VQRk*r%TCI5LHU!5RR<@;4>` literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/memo.png b/themes/pesterchum7/memo.png new file mode 100644 index 0000000000000000000000000000000000000000..92fd30a0fed7a65a225970fab2178dc62e1b6753 GIT binary patch literal 2874 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 Y06kY#SoNKbQ2+n{07*qoM6N<$g58!=OaK4? literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/mirthful.gif b/themes/pesterchum7/mirthful.gif new file mode 100644 index 0000000000000000000000000000000000000000..cbf895ca2431f7c4f44e7d34f6ef3a277e147c27 GIT binary patch literal 125 zcmZ?wbhEHb6krfwSi}GV|NsAgU(AqU#Bhm$AqC6@3M&3&VPs%nW6%Mq0I6kQcGB3U z_HT`?c>`<mzN+14r>G~LvzX@MRq`rIEc4>QmY7-h?!MDrFne!+|CUoG49@-8iV_Dp VSd}lI?AB6R$gR<IwLqA`8UVDqEC2ui literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/moodcheck1.gif b/themes/pesterchum7/moodcheck1.gif new file mode 100644 index 0000000000000000000000000000000000000000..0804f904eddd00c3fc3167a595a8c6ab2c5b5c5b GIT binary patch literal 109 zcmZ?wbhEHb%wP~>n8*ME|G@yrQ2fcl$iTqFpaT*G$ult7P3d2G`Yr$BIa_XZZ@#zZ zH-FnBk7>_3XE99JcJI_KBewHpA=kg(J7C2h@}tQmaZQJh*7P&WK6CbZEx)p=G>U=2 F8UUgAEu;Vd literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/moodcheck2.gif b/themes/pesterchum7/moodcheck2.gif new file mode 100644 index 0000000000000000000000000000000000000000..d646f21d29d40673df6406c1e1dd2da2dca177e1 GIT binary patch literal 110 zcmZ?wbhEHb%wP~>n8*ME|G@yrQ2fcl$iTqFpaT*G$ult7Pw8KI`Yr$BIa_XZZ@#zZ zH-FnBk7>_3>lh|%yLW1r5!?B)kn7*?9kAjL`O)N(xTeELYx<dGpE-NImS0)*wMv75 G!5RS1FD_94 literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/moodcheck3.gif b/themes/pesterchum7/moodcheck3.gif new file mode 100644 index 0000000000000000000000000000000000000000..f88321bb92d77aa781a6ed93cf66c03d2740c7ac GIT binary patch literal 110 zcmZ?wbhEHb%wP~>n8*ME|G@yrQ2fcl$iTqFpaT*G$ult7Pw8KI`Yr$BIa_XZZ@#zZ zH-FnBk7>_3mvJzx&^x~Eea_J@e{Yzb)BkvndtJk!MGdJwTGP)g`^?$vwfxGeufMby G7_0&9LND$B literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/moodcheck4.gif b/themes/pesterchum7/moodcheck4.gif new file mode 100644 index 0000000000000000000000000000000000000000..4cea74f19abfe62fc5610bdc5f8d68debc03ba7b GIT binary patch literal 110 zcmZ?wbhEHb%wP~>n8*ME|G@yrQ2fcl$iTqFpaT*G$ult7Pw8KI`Yr$BIa_XZZ@#zZ zH-FnBk7>_3mx(Z}&^x~Eea_J@e{Yzb)BkvnTdD5QqkuFYt?6f$edg@-T7G5K*H@Yh G4AubSD=%yS literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/moodcheck5.gif b/themes/pesterchum7/moodcheck5.gif new file mode 100644 index 0000000000000000000000000000000000000000..40ba9a1c9072488c1273fd21f799ffb0774e4a53 GIT binary patch literal 133 zcmZ?wbhEHbyvQKNFp&WS{{R1<l9B=>6@RiYGB7YR=zv5)@(fI2bNW}Fe#^gj&X!x< zoA2%U&ENLOW7@OMWv@<cd&hnJlh5^Uz1~d|zT542{I~5$(1s45v_AKxpE)_r7GBYE j$~v1?erw%#Zocm0Pd5GR@mqcU&9>jX{imO@GFSru9|Ay^ literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/mystified.gif b/themes/pesterchum7/mystified.gif new file mode 100644 index 0000000000000000000000000000000000000000..56341d690ab1dd68ac003c32d2b3f08cb548f160 GIT binary patch literal 95 zcmZ?wbhEHb6ky<ESi}GV|NsAg@Sx%UcZLTG815|-1#*Fcia%Kx85r0YbU-RVY8jYS sGFDx-)85CaI`?(lvW?nDS>hfCmu1{))RCISe|<xG>WYazuAB_k05|#}&;S4c literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/offline.gif b/themes/pesterchum7/offline.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3c6b53ded9b0bf072e5852d57576d4a29980942 GIT binary patch literal 71 zcmZ?wbhEHb6ky<En8*ME|NsAwkB<kEia%Kx85o!ubU>mYc?KqlIl3#0_MVriN%u?1 Tytn5!f6)w!G+$3yRt9ST?Uoh3 literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/pcbg.png b/themes/pesterchum7/pcbg.png new file mode 100644 index 0000000000000000000000000000000000000000..688eab7167f4653da92f8227c5552221ca43c925 GIT binary patch literal 9236 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 R%vTnGnzGjOnrGJU{|A>-K{o&Z literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/perky.gif b/themes/pesterchum7/perky.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d196615f52df66b0bb5a59afaeb85bc9582b7e3 GIT binary patch literal 127 zcmZ?wbhEHb6krfwSi}GV|NsAgU(AqU#Bhm$AqC6@3M&3&VPs%nW6%Mq0I6kQcG1|T z_HT`?c>`<mzN+14r>G~LvzX@KC^GjHlLq67={}3o+MkR0mG8gM<2qrb9hYNo*d7fj Xncz0Xj;dvXik~DSGj?>dFjxZssdp+j literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/pleasant.gif b/themes/pesterchum7/pleasant.gif new file mode 100644 index 0000000000000000000000000000000000000000..3233ff49120c2d6ad929b57dfeef400a874f157a GIT binary patch literal 94 zcmZ?wbhEHb6ky<ESi}GV|AF8;!-EAN23P<@DE?$&WME)n&;fBkY8jZ7Jyu=P)85Ca jI`?(lvW?P*S>hfCmu0MKRpZ(xu`sMis_^zC1_o;Y5tba+ literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/pranky.gif b/themes/pesterchum7/pranky.gif new file mode 100644 index 0000000000000000000000000000000000000000..e46e45e06f9dea730ddb36f35c0dbdbddb706357 GIT binary patch literal 92 zcmZ?wbhEHb6ky<ESi}GV|AF8;!-EAN23P<@DE?$&WME)n&;fBkY8jXnJyu=P)85Ca hI`?(lvO@901+BtA=k|73CGO6;GxMb2MORJ+YXIhb9cBOk literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/rancorous.gif b/themes/pesterchum7/rancorous.gif new file mode 100644 index 0000000000000000000000000000000000000000..a826c755b0e8134100818c138f36975e129f92bf GIT binary patch literal 138 zcmZ?wbhEHb6ky<E*vtR||NsAg@Sx$>CB2`g<R2_xc#yzwGnL~TBg3;NPu{<O50nL~ zf)a{9Sr{1@xEXXne2^IoEanBCovU1p@AsPCzx+K=DMIu`o7n6`9_fcg$2Kl9j^*f@ e#KC$v{kk?&`%#tEPP;5;E(tnrJj;cF!5RPy05drN literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/relaxed.gif b/themes/pesterchum7/relaxed.gif new file mode 100644 index 0000000000000000000000000000000000000000..55a31a015f444f7f97e2f10fc953c97d8472a348 GIT binary patch literal 125 zcmZ?wbhEHb6krfwSi}GV|NsAgU(AqU#Bhm$AqC6@3M&3&VPs%nW6%Mq0I6kQcGB3U z_HT`?c>`<mzN+14r>G~LvzW%}C=$DiY3ZsmBS!9J5zp@OUD@i*@nF?Pk6!POsevXI V%Xpj_zIrGh?pJQQS|H3|4FFeeDn0-J literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/rightarrow.png b/themes/pesterchum7/rightarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..30a8b7053817a62a6e1d0d120650dca88fa18d3d GIT binary patch literal 2877 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 bJ3j*eyrwi4C{-|^00000NkvXXu0mjfeM3~G literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/sleek.gif b/themes/pesterchum7/sleek.gif new file mode 100644 index 0000000000000000000000000000000000000000..5573aa51865701678191c50f4d624f31ce5a4965 GIT binary patch literal 134 zcmZ?wbhEHb6k!lxSi}GV|NsAgU(AqU#Bd4B28%H${$ycfU|?m?0dYZU8JN8zR9Ai4 zpv!rmL89l>tg{K*O3#VTo9(pbNaZFM#_jL!oH1z&uJE70eZYsEnSu4loPt)%SyQZh cx*l;cdWXIgeLc&|hG}xy@7RJ<tt<@I03(7g4*&oF literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/smooth.gif b/themes/pesterchum7/smooth.gif new file mode 100644 index 0000000000000000000000000000000000000000..a2617593c5631b969de9dda0d6fe02d8153fe36f GIT binary patch literal 86 zcmZ?wbhEHb6lCCIn8*ME|AF8;h*bQ^!pOkD%%B4j1<5losn5}0S!BySvwLG;m!8Rj g@)xxWm-jsD>|1I%Bl`r$2d4C>q`Q|&Oj#MM0m1bi$^ZZW literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/style.js b/themes/pesterchum7/style.js new file mode 100644 index 0000000..b43121b --- /dev/null +++ b/themes/pesterchum7/style.js @@ -0,0 +1,259 @@ +{"main": + {"style": "background-repeat: no-repeat;background-color:transparent;", + "background-image": "$path/gbgbig.png", + "size": [400, 348], + "icon": "$path/trayicon.png", + "newmsgicon": "$path/trayicon2.png", + "windowtitle": "PESTERCHUM", + "close": { "image": "$path/x.gif", + "loc": [378, 30]}, + "minimize": { "image": "$path/m.gif", + "loc": [358, 25]}, + "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 12px;" }, + "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 12px; background-color: #fdb302;border:2px solid #ffff00", + "menuitem": "margin-right:10px;", + "selected": "background-color: #ffff00", + "loc": [120,25] + }, + "sounds": { "alertsound": "$path/alarm.wav" }, + "menus": {"client": {"_name": "CLIENT", + "options": "OPTIONS", + "memos": "MEMOS", + "userlist": "USERLIST", + "import": "IMPORT", + "exit": "EXIT"}, + "profile": {"_name": "PROFILE", + "switch": "SWITCH", + "color": "COLOR", + "theme": "THEME", + "block": "TROLLSLUM", + "quirks": "QUIRKS"}, + "rclickchumlist": {"pester": "PESTER", + "removechum": "REMOVE CHUM", + "blockchum": "BLOCK", + "addchum": "ADD CHUM", + "unblockchum": "UNBLOCK", + "banuser": "BAN USER" + } + }, + "chums": { "style": "border:2px solid yellow; background-color: black;color: white;font: bold;font-family: 'Courier';selection-background-color:#646464; ", + "loc": [12, 117], + "size": [209, 82], + "userlistcolor": "white", + "moods": { + +"chummy": { "icon": "$path/chummy.gif", "color": "white" }, + +"rancorous": { "icon": "$path/rancorous.gif", "color": "red" }, + +"offline": { "icon": "$path/offline.gif", "color": "#646464"}, + + +"pleasant": { "icon": "$path/pleasant.gif", "color": "white" }, + +"distraught": { "icon": "$path/distraught.gif", "color": "white" }, + +"unruly": { "icon": "$path/unruly.gif", "color": "white" }, + + +"smooth": { "icon": "$path/smooth.gif", "color": "white" }, + + +"ecstatic": { "icon": "$path/ecstatic.gif", "color": "red" }, + +"relaxed": { "icon": "$path/relaxed.gif", "color": "red" }, + +"discontent": { "icon": "$path/discontent.gif", "color": "red" }, + +"devious": { "icon": "$path/devious.gif", "color": "red" }, + +"sleek": { "icon": "$path/sleek.gif", "color": "red" }, + +"detestful": { "icon": "$path/detestful.gif", "color": "red" }, + +"mirthful": { "icon": "$path/mirthful.gif", "color": "red" }, + +"manipulative": { "icon": "$path/manipulative.gif", "color": "red" }, + +"vigorous": { "icon": "$path/vigorous.gif", "color": "red" }, + +"perky": { "icon": "$path/perky.gif", "color": "red" }, + +"acceptant": { "icon": "$path/acceptant.gif", "color": "red" }, + +"protective": { "icon": "$path/protective.gif", "color": "#00ff00" }, + +"blocked": { "icon": "$path/blocked.gif", "color": "black" } + + } + }, + "trollslum": { + "style": "background: #fdb302; border:2px solid yellow; font-family: 'Courier'", + "size": [195, 200], + "label": { "text": "TROLLSLUM", + "style": "color: rgba(0, 0, 0, 100%) ;font:bold; font-family: 'Courier';border:0px;" }, + "chumroll": {"style": "border:2px solid yellow; background-color: black;color: white;font: bold;font-family: 'Courier';selection-background-color:#646464; " } + }, + "mychumhandle": { "label": { "text": "CHUMHANDLE:", + "loc": [19,232], + "style": "color: rgba(255, 255, 0, 0%) ;font:bold; font-family: 'Courier';" }, + "handle": { "style": "background: black; padding: 3px; color:white; font-family:'Courier'; font:bold; text-align:left;", + "loc": [14,246], + "size": [190, 21] }, + "colorswatch": { "loc": [196,246], + "size": [23,21], + "text": "" } + }, + "defaultwindow": { "style": "background: #fdb302; font-family:'Courier';font:bold;selection-background-color:#919191; " + }, + "addchum": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [12,202], + "size": [71, 22], + "text": "" + }, + "pester": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(255, 255, 0, 0%); font-family:'Courier';", + "loc": [150,202], + "size": [71, 22], + "text": "" + }, + "block": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(255, 255, 0, 0%); font-family:'Courier';", + "loc": [1500,202], + "size": [0, 0], + "text": "" + }, + "defaultmood": 0, + "moodlabel": { "style": "", + "loc": [20, 430], + "text": "MOODS" + }, + "moods": [ + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck1.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [12, 288], + "size": [104, 22], + "text": "CHUMMY", + "icon": "$path/chummy.gif", + "mood": 0 + }, + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [12, 308], + "size": [104, 22], + "text": "PALSY", + "icon": "$path/chummy.gif", + "mood": 3 + }, + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck3.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [12, 328], + "size": [104, 22], + "text": "CHIPPER", + "icon": "$path/chummy.gif", + "mood": 4 + }, + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [117, 288], + "size": [104, 22], + "text": "BULLY", + "icon": "$path/chummy.gif", + "mood": 5 + }, + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [117, 308], + "size": [104, 22], + "text": "PEPPY", + "icon": "$path/chummy.gif", + "mood": 6 + }, + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck4.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [117, 328], + "size": [104, 22], + "text": "RANCOROUS", + "icon": "$path/rancorous.gif", + "mood": 1 + }, + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck5.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [12, 348], + "size": [209, 22], + "text": "ABSCOND", + "icon": "", + "mood": 2 + } + ] + }, + "convo": + {"style": "background-color: #fdb302; background-image:url($path/convobg.png); background-repeat: no-repeat; border:2px solid yellow; font-family: 'Courier'", + "margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 }, + "size": [400, 250], + "chumlabel": { "style": "background: rgb(196, 138, 0); color: white; border:0px; font-size: 12px;", + "align": { "h": "center", "v": "center" }, + "minheight": 26, + "maxheight": 26, + "text" : ":: $handle ::" + }, + "textarea": { + "style": "background: white; font:bold; border:2px solid #c48a00;text-align:center; margin-top:21px; margin-right:10px; margin-left:10px; font-size: 12px;" + }, + "input": { + "style": "background: white; border:2px solid #c48a00;margin-top:3px; margin-right:10px; margin-left:10px; font-size: 12px;" + }, + "tabs": { + "style": "", + "selectedstyle": "", + "newmsgcolor": "#fdb302", + "tabstyle": 0 + }, + "text": { + "beganpester": "began pestering", + "ceasepester": "ceased pestering", + "blocked": "blocked", + "unblocked": "unblocked", + "openmemo": "opened memo on board", + "joinmemo": "responded to memo", + "closememo": "ceased responding to memo", + "kickedmemo": "You have been banned from this memo!" + }, + "systemMsgColor": "#646464" + }, + "memos": + {"memoicon": "$path/memo.png", + "style": "background-color: #fdb302; background-image:url($path/convobg.png); background-repeat: no-repeat; border:2px solid yellow; font-family: 'Courier'; font: bold; selection-background-color:#919191; ", + "size": [450,300], + "tabs": { + "style": "", + "selectedstyle": "", + "newmsgcolor": "#fdb302", + "tabstyle": 0 + }, + "label": { "text": "Bulletin Board: $channel", + "style": "background: rgb(196, 138, 0); color: white; border:0px; font-size: 12px;", + "align": { "h": "center", "v": "center" }, + "minheight": 26, + "maxheight": 26 + }, + "input": { "style": "background: white; border:2px solid #c48a00;margin-top:5px; font-size: 12px; margin-left:10px;" }, + "textarea": { "style": "background: white; font:bold; border:2px solid #c48a00;text-align:center; font-size: 12px; margin-top: 21px; margin-left:10px;" }, + "margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 }, + "userlist": { "width": 150, + "style": "border:2px solid #c48a00; background: white;font: bold;font-family: 'Courier';selection-background-color:#646464; font-size: 12px; margin-left:10px; margin-right:10px; margin-top: 21px;" + }, + "time": { "text": { "width": 75, + "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px;" + }, + "slider": { "style": "border: 0px;", + "groove": "", + "handle": "" + }, + "buttons": { "style": "color: black; font: bold; border: 2px solid #c48a00; font: bold; font-size: 12px; background: yellow; margin-top: 5px; margin-right: 5px; margin-left: 5px; padding: 2px; width: 50px;" }, + "arrows": { "left": "$path/leftarrow.png", + "right": "$path/rightarrow.png", + "style": " border:0px; margin-top: 5px; margin-right:10px;" + } + }, + "systemMsgColor": "#646464" + } +} \ No newline at end of file diff --git a/themes/pesterchum7/trayicon.gif b/themes/pesterchum7/trayicon.gif new file mode 100644 index 0000000000000000000000000000000000000000..926ccc711a8026d438a7cf60cf1094ec0267a3d9 GIT binary patch literal 116 zcmZ?wbhEHb6krfwSj52a|3AaqOPqIC34Xe}@IM$ZfPvyq7DfgJRt6mq52TiX*)n3) zg?$@#{8ZSRka)&yYOg|!l4a1+<!wo?C%Nbxf39+-n3s#$k7v1GgE=#sl+=L>supQh MtJ6hhGB8*J0MRum(EtDd literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/trayicon.png b/themes/pesterchum7/trayicon.png new file mode 100644 index 0000000000000000000000000000000000000000..817bf4ba1ec013dca2a45fde27a99b8e5dda174b GIT binary patch literal 3708 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 literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/trayicon2.png b/themes/pesterchum7/trayicon2.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7858677dd89e61bc2bb44317508ea66e6ed314 GIT binary patch literal 3708 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 literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/vigorous.gif b/themes/pesterchum7/vigorous.gif new file mode 100644 index 0000000000000000000000000000000000000000..240881461aeb46cf926349556a2c7843368a2bc5 GIT binary patch literal 172 zcmZ?wbhEHb6krfw*vtR||NsAgU(AqU#Bhm$p@@MY1t_v~DNqnBiB2f~WMO1r;9$@J zNr22?V2KP^(AlzgOPqBB`{A<E_?N9R4m0j|tva@A)rYJ~HydFWK9*?=3eTm5>K$eB zZ~nex)8d>UWwEB^yvEe5qg+-kZ?CBet~e5M`^o7XVW%njuT@Siv0Kp-yQH6i!5RRq CDmmBy literal 0 HcmV?d00001 diff --git a/themes/pesterchum7/x.gif b/themes/pesterchum7/x.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f296244477df46c65f88b22a2cbada906b72d2b GIT binary patch literal 55 zcmZ?wbhEHb<Y3@nXkY+=|Ns9h{$ycfU|?j>0r5dH3`~41O^Mxm?j)GJ49u9!#L8d| E089}Kw*UYD literal 0 HcmV?d00001 diff --git a/themes/trollian/style.js b/themes/trollian/style.js index b2f397e..c650963 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -1,5 +1,6 @@ {"main": - {"style": "background-image:url($path/tnbg2.png);background-color:rgba(0,0,0,0); background-repeat: no-repeat;", + {"style": "background-color:rgba(0,0,0,0); background-repeat: no-repeat;", + "background-image": "$path/tnbg2.png", "size": [650, 450], "icon": "$path/trayicon.png", "newmsgicon": "$path/trayicon2.png", @@ -19,6 +20,7 @@ "options": "Options", "memos": "Memos", "userlist": "Fresh Targets", + "import": "import U2;", "exit": "Abscond"}, "profile": {"_name": "View", "switch": "Trolltag", @@ -31,7 +33,8 @@ "blockchum": "Block", "addchum": "Add Chump", "unblockchum": "Mercy", - "banuser": "BAN USER" } + "banuser": "Ban", + "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); ", "loc": [475, 89], @@ -233,6 +236,7 @@ }, "convo": {"style": "background: rgb(190, 19, 4); font-family: 'Arial';", + "scrollbar": { "style" : "", "handle": "" }, "margins": {"top": 22, "bottom": 9, "left": 10, "right": 4 }, "size": [400, 250], "chumlabel": { "style": "background: rgb(255, 38, 18); color: white; padding: 2px; border:1px solid #c2c2c2;",