From cd99a85df2f34068516a4332299c6750d364d1d3 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sat, 2 Apr 2011 01:45:55 -0700 Subject: [PATCH 001/166] Drag and drop ordering for quirks --- menus.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/menus.py b/menus.py index 551caa0..f8cef00 100644 --- a/menus.py +++ b/menus.py @@ -27,13 +27,15 @@ class PesterQuirkList(QtGui.QListWidget): QtGui.QListWidget.__init__(self, parent) self.resize(400, 200) # make sure we have access to mainwindow info like profiles - self.mainwindow = mainwindow + self.mainwindow = mainwindow self.setStyleSheet("background:black; color:white;") - for q in mainwindow.userprofile.quirks: + for q in mainwindow.userprofile.quirks: item = PesterQuirkItem(q, self) self.addItem(item) #self.sortItems() + self.setDragEnabled(True) + self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) def currentQuirk(self): return self.item(self.currentRow()) @@ -257,16 +259,16 @@ class PesterChooseQuirks(QtGui.QDialog): def quirks(self): return [self.quirkList.item(i).quirk for i in range(0,self.quirkList.count())] - + # could probably do away with these and just connect to the relevant methods on the quirk list widget @QtCore.pyqtSlot() - def upShiftQuirk(self): + def upShiftQuirk(self): self.quirkList.upShiftQuirk() @QtCore.pyqtSlot() def downShiftQuirk(self): self.quirkList.downShiftQuirk() - #!!! + #!!! @QtCore.pyqtSlot() def editSelected(self): q = self.quirkList.currentQuirk() From f0cd31e0f7956ff79c2369d8e7068af9f9c0588a Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 7 Apr 2011 13:46:36 -0700 Subject: [PATCH 002/166] Chumhandle collision bug --- TODO | 1 + 1 file changed, 1 insertion(+) diff --git a/TODO b/TODO index 4363b88..39cd641 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,5 @@ o Bugs: +* some nicks can override others. ex: ectoBiologist and ectoBio. ectoBio's mood will be seen, not ectoBiologist's * REGEXP: \b(\S)(\S*)(\S)\b REPLACE WITH: upper(\1)\2upper(\3) <-- this regexp, when used as a quirk and then typed in breaks * import modified.tar From 668a87af7ea24069480658294da73e1dfbc2d93a Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 7 Apr 2011 14:00:25 -0700 Subject: [PATCH 003/166] Show number of online chums in each group --- menus.py | 3 ++ pesterchum.py | 76 +++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 70 insertions(+), 9 deletions(-) diff --git a/menus.py b/menus.py index f8cef00..4f91613 100644 --- a/menus.py +++ b/menus.py @@ -581,6 +581,8 @@ class PesterOptions(QtGui.QDialog): #self.groupscheck.setChecked(self.config.useGroups()) self.showemptycheck = QtGui.QCheckBox("Show Empty Groups", self) self.showemptycheck.setChecked(self.config.showEmptyGroups()) + self.showonlinenumbers = QtGui.QCheckBox("Show Number of Online Chums", self) + self.showonlinenumbers.setChecked(self.config.showOnlineNumbers()) self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) @@ -599,6 +601,7 @@ class PesterOptions(QtGui.QDialog): layout_0.addWidget(self.hideOffline) #layout_0.addWidget(self.groupscheck) layout_0.addWidget(self.showemptycheck) + layout_0.addWidget(self.showonlinenumbers) layout_0.addWidget(hr) layout_0.addWidget(self.timestampcheck) layout_0.addWidget(self.timestampBox) diff --git a/pesterchum.py b/pesterchum.py index 1282cf1..4bf176c 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -294,6 +294,10 @@ class userConfig(object): if not self.config.has_key('emptyGroups'): self.set("emptyGroups", False) return self.config.get('emptyGroups', False) + def showOnlineNumbers(self): + if not self.config.has_key('onlineNumbers'): + self.set("onlineNumbers", False) + return self.config.get('onlineNumbers', False) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -504,6 +508,8 @@ class chumArea(RightClickTree): self.showAllChums() if not self.mainwindow.config.showEmptyGroups(): self.hideEmptyGroups() + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() self.chumoptions = QtGui.QMenu(self) self.groupoptions = QtGui.QMenu(self) self.optionsMenu = self.chumoptions @@ -644,6 +650,38 @@ class chumArea(RightClickTree): self.addTopLevelItem(child_1) if self.openGroups[i]: child_1.setExpanded(True) + def showOnlineNumbers(self): + self.hideOnlineNumbers() + totals = {'Chums': 0} + online = {'Chums': 0} + for g in self.groups: + totals[str(g)] = 0 + online[str(g)] = 0 + for c in self.chums: + yes = c.mood.name() != "offline" + if c.group == "Chums": + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + elif c.group in totals: + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + else: + totals["Chums"] = totals["Chums"]+1 + if yes: + online["Chums"] = online["Chums"]+1 + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.topLevelItem(i).setText(0, "%s (%i/%i)" % (text, online[text], totals[text])) + def hideOnlineNumbers(self): + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.topLevelItem(i).setText(0, "%s" % (text)) def hideEmptyGroups(self): i = 0 listing = self.topLevelItem(i) @@ -656,11 +694,15 @@ class chumArea(RightClickTree): @QtCore.pyqtSlot() def expandGroup(self): item = self.currentItem() - if item.text(0) in self.groups: - self.mainwindow.config.delGroup(str(item.text(0))) + text = str(item.text(0)) + if text.find(" ") != -1: + text = text[0:text.rfind(" ")] + + if text in self.groups: + self.mainwindow.config.delGroup(text) expand = item.isExpanded() - self.mainwindow.config.addGroup(str(item.text(0)), not expand) - elif item.text(0) == "Chums": + self.mainwindow.config.addGroup(text, not expand) + elif text == "Chums": self.mainwindow.config.set("openDefaultGroup", not item.isExpanded()) def addItem(self, chumLabel): if hasattr(self, 'groups'): @@ -669,13 +711,16 @@ class chumArea(RightClickTree): self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) else: if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): - if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchFlags(0)): + if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchContains): child_1 = QtGui.QTreeWidgetItem(["%s" % (chumLabel.chum.group)]) self.addTopLevelItem(child_1) if self.openGroups[self.groups.index("%s" % (chumLabel.chum.group))]: child_1.setExpanded(True) for i in range(self.topLevelItemCount()): - if self.topLevelItem(i).text(0) == chumLabel.chum.group: + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == chumLabel.chum.group: break self.topLevelItem(i).addChild(chumLabel) self.topLevelItem(i).sortChildren(0, QtCore.Qt.AscendingOrder) @@ -713,6 +758,8 @@ class chumArea(RightClickTree): for c in chums: oldmood = c.mood c.setMood(mood) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() return oldmood def updateColor(self, handle, color): chums = self.findItems(handle, QtCore.Qt.MatchFlags(0)) @@ -940,7 +987,7 @@ class TrollSlumWindow(QtGui.QFrame): @QtCore.pyqtSlot() def removeCurrentTroll(self): currentListing = self.trollslum.currentItem() - if not currentListing: + if not currentListing or not hasattr(currentListing, 'chum'): return self.unblockChumSignal.emit(currentListing.chum.handle) @QtCore.pyqtSlot() @@ -1586,8 +1633,11 @@ class PesterWindow(MovingWindow): def pesterSelectedChum(self): curChum = self.chumList.currentItem() if curChum: - if curChum.text(0) not in self.chumList.groups and \ - curChum.text(0) != "Chums": + text = str(curChum.text(0)) + if text.find(" ") != -1: + text = text[0:text.rfind(" ")] + if text not in self.chumList.groups and \ + text != "Chums": self.newConversationWindow(curChum) @QtCore.pyqtSlot(QtGui.QListWidgetItem) def newConversationWindow(self, chumlisting): @@ -2039,6 +2089,14 @@ class PesterWindow(MovingWindow): elif emptygroupssetting and not curemptygroup: self.chumList.showAllGroups() self.config.set("emptyGroups", emptygroupssetting) + # online numbers + onlinenumsetting = self.optionmenu.showonlinenumbers.isChecked() + curonlinenum = self.config.showOnlineNumbers() + if onlinenumsetting and not curonlinenum: + self.chumList.showOnlineNumbers() + elif curonlinenum and not onlinenumsetting: + self.chumList.hideOnlineNumbers() + self.config.set("onlineNumbers", onlinenumsetting) self.optionmenu = None @QtCore.pyqtSlot() From b1fb029e6681669e4be8d6eca9ff45532d1d850f Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 8 Apr 2011 01:27:17 -0700 Subject: [PATCH 004/166] Update online numbers on drag-drop --- pesterchum.py | 53 +++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 4bf176c..d5d77c9 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -568,6 +568,8 @@ class chumArea(RightClickTree): self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) self.takeItem(chumLabel) self.addItem(chumLabel) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() def chumoptionsmenu(self): self.optionsMenu = self.chumoptions @@ -651,31 +653,32 @@ class chumArea(RightClickTree): if self.openGroups[i]: child_1.setExpanded(True) def showOnlineNumbers(self): - self.hideOnlineNumbers() - totals = {'Chums': 0} - online = {'Chums': 0} - for g in self.groups: - totals[str(g)] = 0 - online[str(g)] = 0 - for c in self.chums: - yes = c.mood.name() != "offline" - if c.group == "Chums": - totals[str(c.group)] = totals[str(c.group)]+1 - if yes: - online[str(c.group)] = online[str(c.group)]+1 - elif c.group in totals: - totals[str(c.group)] = totals[str(c.group)]+1 - if yes: - online[str(c.group)] = online[str(c.group)]+1 - else: - totals["Chums"] = totals["Chums"]+1 - if yes: - online["Chums"] = online["Chums"]+1 - for i in range(self.topLevelItemCount()): - text = str(self.topLevelItem(i).text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] - self.topLevelItem(i).setText(0, "%s (%i/%i)" % (text, online[text], totals[text])) + if hasattr(self, 'groups'): + self.hideOnlineNumbers() + totals = {'Chums': 0} + online = {'Chums': 0} + for g in self.groups: + totals[str(g)] = 0 + online[str(g)] = 0 + for c in self.chums: + yes = c.mood.name() != "offline" + if c.group == "Chums": + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + elif c.group in totals: + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + else: + totals["Chums"] = totals["Chums"]+1 + if yes: + online["Chums"] = online["Chums"]+1 + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.topLevelItem(i).setText(0, "%s (%i/%i)" % (text, online[text], totals[text])) def hideOnlineNumbers(self): for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) From 35ea2e0c96ec406d25974a4e2e8ed0f586951681 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 8 Apr 2011 01:35:28 -0700 Subject: [PATCH 005/166] Fix dragging and dropping between groups with online numbers --- pesterchum.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index d5d77c9..d6a54f7 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -559,10 +559,16 @@ class chumArea(RightClickTree): def dropEvent(self, event): item = self.itemAt(event.pos()) if item: - if item.text(0) == "Chums" or item.text(0) in self.groups: - group = item.text(0) + text = str(item.text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == "Chums" or text in self.groups: + group = text else: - group = item.parent().text(0) + ptext = str(item.parent().text(0)) + if ptext.rfind(" ") != -1: + ptext = ptext[0:ptext.rfind(" ")] + group = ptext chumLabel = event.source().currentItem() chumLabel.chum.group = group self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) From 5258b7368ac99c697ec87bb7abacd8d062b43b9c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 10 Apr 2011 23:17:47 -0700 Subject: [PATCH 006/166] Bug fix: stop first run segfault --- pesterchum.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index d6a54f7..7b43b25 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -716,6 +716,20 @@ class chumArea(RightClickTree): def addItem(self, chumLabel): if hasattr(self, 'groups'): if chumLabel.chum.group not in self.groups: + if self.topLevelItemCount() == 0: + child_1 = QtGui.QTreeWidgetItem(["Chums"]) + self.addTopLevelItem(child_1) + if self.mainwindow.config.openDefaultGroup(): + child_1.setExpanded(True) + else: + text = str(self.topLevelItem(0).text(0)) + if text.find(" ") != -1: + text = text[0:text.rfind(" ")] + if text != "Chums": + child_1 = QtGui.QTreeWidgetItem(["Chums"]) + self.insertTopLevelItems(0, [child_1]) + if self.mainwindow.config.openDefaultGroup(): + child_1.setExpanded(True) self.topLevelItem(0).addChild(chumLabel) self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) else: @@ -1124,8 +1138,8 @@ class MovingWindow(QtGui.QFrame): class PesterWindow(MovingWindow): def __init__(self, parent=None): - MovingWindow.__init__(self, parent, - (QtCore.Qt.CustomizeWindowHint | + MovingWindow.__init__(self, parent, + (QtCore.Qt.CustomizeWindowHint | QtCore.Qt.FramelessWindowHint)) self.convos = {} self.memos = {} From 4cf90faffe5683f64fe0371a9e8c04334c4619a5 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 11 Apr 2011 19:11:28 -0700 Subject: [PATCH 007/166] Fix groups stuff to work with online numbers --- pesterchum.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 7b43b25..24eee8a 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -584,7 +584,10 @@ class chumArea(RightClickTree): def moveGroupMenu(self): currentGroup = self.currentItem() if currentGroup: - currentGroup = currentGroup.parent().text(0) + text = str(currentGroup.parent().text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + currentGroup = text self.moveMenu.clear() actGroup = QtGui.QActionGroup(self) @@ -602,8 +605,12 @@ class chumArea(RightClickTree): if event.reason() == QtGui.QContextMenuEvent.Mouse: listing = self.itemAt(event.pos()) self.setCurrentItem(listing) - if self.currentItem().text(0) == "Chums" or \ - self.currentItem().text(0) in self.groups: + text = str(self.currentItem().text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == "Chums": + return + elif text in self.groups: self.groupoptionsmenu() else: self.chumoptionsmenu() @@ -646,7 +653,10 @@ class chumArea(RightClickTree): def showAllGroups(self): curgroups = [] for i in range(self.topLevelItemCount()): - curgroups.append(self.topLevelItem(i).text(0)) + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + curgroups.append(text) if "Chums" not in curgroups: child_1 = QtGui.QTreeWidgetItem(["Chums"]) self.addTopLevelItem(child_1) @@ -868,7 +878,10 @@ class chumArea(RightClickTree): index = self.indexOfTopLevelItem(currentGroup) if index != -1: expanded = currentGroup.isExpanded() - self.mainwindow.config.delGroup(str(currentGroup.text(0))) + text = str(currentGroup.text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.mainwindow.config.delGroup(text) self.mainwindow.config.addGroup(gname, expanded) gTemp = self.mainwindow.config.getGroups() self.groups = [g[0] for g in gTemp] @@ -877,13 +890,18 @@ class chumArea(RightClickTree): currentGroup.child(i).chum.group = gname self.mainwindow.chumdb.setGroup(currentGroup.child(i).chum.handle, gname) currentGroup.setText(0, gname) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() self.renamegroupdialog = None @QtCore.pyqtSlot() def removeGroup(self): currentGroup = self.currentItem() if not currentGroup: return - self.mainwindow.config.delGroup(currentGroup.text(0)) + text = str(currentGroup.text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.mainwindow.config.delGroup(text) gTemp = self.mainwindow.config.getGroups() self.groups = [g[0] for g in gTemp] self.openGroups = [g[1] for g in gTemp] From d43312a639c1b650bc089adf10d12fe6e4bf9a1c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 14 Apr 2011 00:04:33 -0700 Subject: [PATCH 008/166] Re-add original Chum groups Conflicts: TODO pesterchum.py --- dataobjs.py | 11 +- generic.py | 7 + logviewer.py | 6 +- menus.py | 13 ++ parsetools.py | 6 +- pesterchum.py | 390 ++++++++++++++++++++++++++++++++----- themes/enamel/style.js | 186 +++++++++--------- themes/gold/style.js | 206 ++++++++++---------- themes/pesterchum/style.js | 160 +++++++-------- themes/trollian/style.js | 69 ++++--- themes/typewriter/style.js | 78 ++++---- 11 files changed, 740 insertions(+), 392 deletions(-) diff --git a/dataobjs.py b/dataobjs.py index 38d071f..1d8ac79 100644 --- a/dataobjs.py +++ b/dataobjs.py @@ -187,7 +187,7 @@ class pesterQuirks(object): yield q class PesterProfile(object): - def __init__(self, handle, color=None, mood=Mood("offline"), chumdb=None): + def __init__(self, handle, color=None, mood=Mood("offline"), group=None, chumdb=None): self.handle = handle if color is None: if chumdb: @@ -196,6 +196,12 @@ class PesterProfile(object): color = QtGui.QColor("black") self.color = color self.mood = mood + if group is None: + if chumdb: + group = chumdb.getGroup(handle, "Chums") + else: + group = "Chums" + self.group = group def initials(self, time=None): handle = self.handle caps = [l for l in handle if l.isupper()] @@ -225,7 +231,8 @@ class PesterProfile(object): def plaindict(self): return (self.handle, {"handle": self.handle, "mood": self.mood.name(), - "color": unicode(self.color.name())}) + "color": unicode(self.color.name()), + "group": unicode(self.group)}) def blocked(self, config): return self.handle in config.getBlocklist() diff --git a/generic.py b/generic.py index 0e5b21a..40c890c 100644 --- a/generic.py +++ b/generic.py @@ -39,6 +39,13 @@ class RightClickList(QtGui.QListWidget): def getOptionsMenu(self): return self.optionsMenu +class RightClickTree(QtGui.QTreeWidget): + def contextMenuEvent(self, event): + if event.reason() == QtGui.QContextMenuEvent.Mouse: + listing = self.itemAt(event.pos()) + self.setCurrentItem(listing) + self.optionsMenu.popup(event.globalPos()) + class MultiTextDialog(QtGui.QDialog): def __init__(self, title, parent, *queries): QtGui.QDialog.__init__(self, parent) diff --git a/logviewer.py b/logviewer.py index b1c9474..b543731 100644 --- a/logviewer.py +++ b/logviewer.py @@ -3,7 +3,7 @@ import codecs import re from time import strftime, strptime from PyQt4 import QtGui, QtCore -from generic import RightClickList +from generic import RightClickList, RightClickTree from parsetools import convertTags from convo import PesterText @@ -138,7 +138,8 @@ class PesterLogViewer(QtGui.QDialog): self.logList.sort() self.logList.reverse() - self.tree = QtGui.QTreeWidget() + self.tree = RightClickTree() + self.tree.optionsMenu = QtGui.QMenu(self) self.tree.setFixedSize(260, 300) self.tree.header().hide() if theme.has_key("convo/scrollbar"): @@ -148,6 +149,7 @@ class PesterLogViewer(QtGui.QDialog): self.connect(self.tree, QtCore.SIGNAL('itemSelectionChanged()'), self, QtCore.SLOT('loadSelectedLog()')) self.tree.setSortingEnabled(False) + child_1 = None last = ["",""] for (i,l) in enumerate(self.logList): diff --git a/menus.py b/menus.py index c0f4d15..8977e4f 100644 --- a/menus.py +++ b/menus.py @@ -546,6 +546,10 @@ class PesterOptions(QtGui.QDialog): self.theme = theme self.setStyleSheet(self.theme["main/defaultwindow/style"]) + hr = QtGui.QFrame() + hr.setFrameShape(QtGui.QFrame.HLine) + hr.setFrameShadow(QtGui.QFrame.Sunken) + self.tabcheck = QtGui.QCheckBox("Tabbed Conversations", self) if self.config.tabs(): self.tabcheck.setChecked(True) @@ -572,6 +576,12 @@ class PesterOptions(QtGui.QDialog): if self.config.showSeconds(): self.secondscheck.setChecked(True) + # Will add ability to turn off groups later + #self.groupscheck = QtGui.QCheckBox("Use Groups", self) + #self.groupscheck.setChecked(self.config.useGroups()) + self.showemptycheck = QtGui.QCheckBox("Show Empty Groups", self) + self.showemptycheck.setChecked(self.config.showEmptyGroups()) + self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) self.connect(self.ok, QtCore.SIGNAL('clicked()'), @@ -587,6 +597,9 @@ class PesterOptions(QtGui.QDialog): layout_0.addWidget(self.tabcheck) layout_0.addWidget(self.soundcheck) layout_0.addWidget(self.hideOffline) + #layout_0.addWidget(self.groupscheck) + layout_0.addWidget(self.showemptycheck) + layout_0.addWidget(hr) layout_0.addWidget(self.timestampcheck) layout_0.addWidget(self.timestampBox) layout_0.addWidget(self.secondscheck) diff --git a/parsetools.py b/parsetools.py index fad5e1f..2b2b2ce 100644 --- a/parsetools.py +++ b/parsetools.py @@ -274,7 +274,7 @@ def timeDifference(td): elif atd < timedelta(0,3600): if minutes == 1: timetext = "%d MINUTE %s" % (minutes, when) - else: + else: timetext = "%d MINUTES %s" % (minutes, when) elif atd < timedelta(0,3600*100): if hours == 1 and leftoverminutes == 0: @@ -293,7 +293,7 @@ def img2smiley(string): return string smiledict = { - ":rancorous:": "pc_rancorous.gif", + ":rancorous:": "pc_rancorous.gif", ":apple:": "apple.gif", ":bathearst:": "bathearst.gif", ":cathearst:": "cathearst.png", @@ -303,7 +303,7 @@ smiledict = { ":blueghost:": "blueslimer.gif", ":slimer:": "slimer.gif", ":candycorn:": "candycorn.gif", - ":cheer:": "cheer.gif", + ":cheer:": "cheer.gif", ":duhjohn:": "confusedjohn.gif", ":datrump:": "datrump.gif", ":facepalm:": "facepalm.gif", diff --git a/pesterchum.py b/pesterchum.py index 56ddf1d..8741d98 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -135,7 +135,14 @@ class PesterProfileDB(dict): json.dump(chumdict, fp) fp.close() - converted = dict([(handle, PesterProfile(handle, color=QtGui.QColor(c['color']), mood=Mood(c['mood']))) for (handle, c) in chumdict.iteritems()]) + u = [] + for (handle, c) in chumdict.iteritems(): + try: + g = c['group'] + u.append((handle, PesterProfile(handle, color=QtGui.QColor(c['color']), mood=Mood(c['mood']), group=g))) + except KeyError: + u.append((handle, PesterProfile(handle, color=QtGui.QColor(c['color']), mood=Mood(c['mood'])))) + converted = dict(u) self.update(converted) def save(self): @@ -156,6 +163,17 @@ class PesterProfileDB(dict): self[handle].color = color else: self[handle] = PesterProfile(handle, color) + def getGroup(self, handle, default="Chums"): + if not self.has_key(handle): + return default + else: + return self[handle].group + def setGroup(self, handle, theGroup): + if self.has_key(handle): + self[handle].group = theGroup + else: + self[handle] = PesterProfile(handle, group=theGroup) + self.save() def __setitem__(self, key, val): dict.__setitem__(self, key, val) self.save() @@ -268,6 +286,18 @@ class userConfig(object): if not self.config.has_key('showSeconds'): self.set("showSeconds", False) return self.config.get('showSeconds', False) + def useGroups(self): + if not self.config.has_key('useGroups'): + self.set("useGroups", False) + return self.config.get('useGroups', False) + def openDefaultGroup(self): + if not self.config.has_key('openDefaultGroup'): + self.set("openDefaultGroup", True) + return self.config.get('openDefaultGroup', True) + def showEmptyGroups(self): + if not self.config.has_key('emptyGroups'): + self.set("emptyGroups", False) + return self.config.get('emptyGroups', False) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -295,6 +325,25 @@ class userConfig(object): l = self.getBlocklist() l.pop(l.index(handle)) self.set('block', l) + def getGroups(self): + if not self.config.has_key('groups'): + self.set('groups', []) + return self.config.get('groups', []) + def addGroup(self, group, open=False): + l = self.getGroups() + if group not in l: + l.append([group,open]) + l.sort() + self.set('groups', l) + def delGroup(self, group): + l = self.getGroups() + i = 0 + for g in l: + if g[0] == group: break + i = i+1 + l.pop(i) + l.sort() + self.set('groups', l) def server(self): return self.config.get('server', 'irc.mindfang.org') def port(self): @@ -411,9 +460,9 @@ class WMButton(QtGui.QPushButton): self.setStyleSheet("QPushButton { padding: 0px; }") self.setAutoDefault(False) -class chumListing(QtGui.QListWidgetItem): +class chumListing(QtGui.QTreeWidgetItem): def __init__(self, chum, window): - QtGui.QListWidgetItem.__init__(self, chum.handle) + QtGui.QTreeWidgetItem.__init__(self, [chum.handle]) self.mainwindow = window self.chum = chum self.handle = chum.handle @@ -427,33 +476,45 @@ class chumListing(QtGui.QListWidgetItem): mood = self.chum.mood self.mood = mood icon = self.mood.icon(self.mainwindow.theme) - self.setIcon(icon) + self.setIcon(0, icon) try: - self.setTextColor(QtGui.QColor(self.mainwindow.theme["main/chums/moods"][self.mood.name()]["color"])) + self.setTextColor(0, QtGui.QColor(self.mainwindow.theme["main/chums/moods"][self.mood.name()]["color"])) except KeyError: - self.setTextColor(QtGui.QColor(self.mainwindow.theme["main/chums/moods/chummy/color"])) + self.setTextColor(0, QtGui.QColor(self.mainwindow.theme["main/chums/moods/chummy/color"])) def changeTheme(self, theme): icon = self.mood.icon(theme) - self.setIcon(icon) + self.setIcon(0, icon) try: - self.setTextColor(QtGui.QColor(self.mainwindow.theme["main/chums/moods"][self.mood.name()]["color"])) + self.setTextColor(0, QtGui.QColor(self.mainwindow.theme["main/chums/moods"][self.mood.name()]["color"])) except KeyError: - self.setTextColor(QtGui.QColor(self.mainwindow.theme["main/chums/moods/chummy/color"])) + self.setTextColor(0, QtGui.QColor(self.mainwindow.theme["main/chums/moods/chummy/color"])) def __lt__(self, cl): h1 = self.handle.lower() h2 = cl.handle.lower() return (h1 < h2) -class chumArea(RightClickList): +class chumArea(RightClickTree): def __init__(self, chums, parent=None): - QtGui.QListWidget.__init__(self, parent) + QtGui.QTreeWidget.__init__(self, parent) self.mainwindow = parent theme = self.mainwindow.theme self.chums = chums + gTemp = self.mainwindow.config.getGroups() + self.groups = [g[0] for g in gTemp] + self.openGroups = [g[1] for g in gTemp] + # quick hack to sort saved groups + self.mainwindow.config.addGroup("f3rskv9dssag[%3ffvsla09iv34G#$v") + self.mainwindow.config.delGroup("f3rskv9dssag[%3ffvsla09iv34G#$v") + # end quick hack + self.showAllGroups() if not self.mainwindow.config.hideOfflineChums(): self.showAllChums() - self.optionsMenu = QtGui.QMenu(self) + if not self.mainwindow.config.showEmptyGroups(): + self.hideEmptyGroups() + self.chumoptions = QtGui.QMenu(self) + self.groupoptions = QtGui.QMenu(self) self.canonMenu = QtGui.QMenu(self) + self.optionsMenu = self.chumoptions self.pester = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/pester"], self) self.connect(self.pester, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('activateChum()')) @@ -472,14 +533,23 @@ class chumArea(RightClickList): self.findalts = QtGui.QAction("Find Alts", self) self.connect(self.findalts, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('findAlts()')) + self.removegroup = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/removegroup"], self) + self.connect(self.removegroup, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('removeGroup()')) + self.renamegroup = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/renamegroup"], self) + self.connect(self.renamegroup, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('renameGroup()')) self.chumoptions.addAction(self.pester) - self.optionsMenu.addAction(self.pester) - self.optionsMenu.addAction(self.logchum) - self.optionsMenu.addAction(self.blockchum) - self.optionsMenu.addAction(self.removechum) - self.optionsMenu.addAction(self.reportchum) + self.chumoptions.addAction(self.logchum) + self.chumoptions.addAction(self.blockchum) + self.chumoptions.addAction(self.removechum) + self.moveMenu = QtGui.QMenu(self.mainwindow.theme["main/menus/rclickchumlist/movechum"], self) + self.chumoptions.addMenu(self.moveMenu) + self.moveGroupMenu() + + self.groupoptions.addAction(self.renamegroup) + self.groupoptions.addAction(self.removegroup) - self.canonMenu.addAction(self.pester) self.canonMenu.addAction(self.logchum) self.canonMenu.addAction(self.blockchum) @@ -488,13 +558,71 @@ class chumArea(RightClickList): self.canonMenu.addAction(self.findalts) self.initTheme(theme) - self.sortItems() + #self.sortItems() + #self.sortItems(1, QtCore.Qt.AscendingOrder) + self.setSortingEnabled(False) + self.header().hide() + self.setDropIndicatorShown(False) + self.setIndentation(0) + self.setDragEnabled(True) + self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) + + self.connect(self, QtCore.SIGNAL('itemDoubleClicked(QTreeWidgetItem *, int)'), + self, QtCore.SLOT('expandGroup()')) + def getOptionsMenu(self): currenthandle = self.currentItem().chum.handle if currenthandle in canon_handles: return self.canonMenu else: return self.optionsMenu + + def dropEvent(self, event): + item = self.itemAt(event.pos()) + if item: + if item.text(0) == "Chums" or item.text(0) in self.groups: + group = item.text(0) + else: + group = item.parent().text(0) + chumLabel = event.source().currentItem() + chumLabel.chum.group = group + self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) + self.takeItem(chumLabel) + self.addItem(chumLabel) + + def chumoptionsmenu(self): + self.optionsMenu = self.chumoptions + def groupoptionsmenu(self): + self.optionsMenu = self.groupoptions + def moveGroupMenu(self): + currentGroup = self.currentItem() + if currentGroup: + currentGroup = currentGroup.parent().text(0) + self.moveMenu.clear() + actGroup = QtGui.QActionGroup(self) + + groups = self.groups[:] + groups.insert(0, "Chums") + for gtext in groups: + if gtext == currentGroup: + continue + movegroup = self.moveMenu.addAction(gtext) + actGroup.addAction(movegroup) + self.connect(actGroup, QtCore.SIGNAL('triggered(QAction *)'), + self, QtCore.SLOT('moveToGroup(QAction *)')) + def contextMenuEvent(self, event): + #fuckin Qt + if event.reason() == QtGui.QContextMenuEvent.Mouse: + listing = self.itemAt(event.pos()) + self.setCurrentItem(listing) + if self.currentItem().text(0) == "Chums" or \ + self.currentItem().text(0) in self.groups: + self.groupoptionsmenu() + else: + self.chumoptionsmenu() + self.moveGroupMenu() + self.optionsMenu.popup(event.globalPos()) + def addChum(self, chum): if len([c for c in self.chums if c.handle == chum.handle]) != 0: return @@ -503,29 +631,95 @@ class chumArea(RightClickList): chum.mood.name() == "offline"): chumLabel = chumListing(chum, self.mainwindow) self.addItem(chumLabel) - self.sortItems() + #self.topLevelItem(0).addChild(chumLabel) + #self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) def getChums(self, handle): - chums = self.findItems(handle, QtCore.Qt.MatchFlags(0)) + chums = self.findItems(handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive) return chums def showAllChums(self): for c in self.chums: chandle = c.handle - if not self.findItems(chandle, QtCore.Qt.MatchFlags(0)): + if not len(self.findItems(chandle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive)): chumLabel = chumListing(c, self.mainwindow) self.addItem(chumLabel) - self.sortItems() + #self.sortItems() def hideOfflineChums(self): + for j in range(self.topLevelItemCount()): + i = 0 + listing = self.topLevelItem(j).child(i) + while listing is not None: + if listing.chum.mood.name() == "offline": + self.topLevelItem(j).takeChild(i) + else: + i += 1 + listing = self.topLevelItem(j).child(i) + self.topLevelItem(j).sortChildren(0, QtCore.Qt.AscendingOrder) + def showAllGroups(self): + curgroups = [] + for i in range(self.topLevelItemCount()): + curgroups.append(self.topLevelItem(i).text(0)) + if "Chums" not in curgroups: + child_1 = QtGui.QTreeWidgetItem(["Chums"]) + self.addTopLevelItem(child_1) + if self.mainwindow.config.openDefaultGroup(): + child_1.setExpanded(True) + for i,g in enumerate(self.groups): + if g not in curgroups: + child_1 = QtGui.QTreeWidgetItem(["%s" % (g)]) + self.addTopLevelItem(child_1) + if self.openGroups[i]: + child_1.setExpanded(True) + def hideEmptyGroups(self): i = 0 - listing = self.item(i) + listing = self.topLevelItem(i) while listing is not None: - if listing.chum.mood.name() == "offline": - self.takeItem(i) + if listing.childCount() == 0: + self.takeTopLevelItem(i) else: i += 1 - listing = self.item(i) - self.sortItems() + listing = self.topLevelItem(i) + @QtCore.pyqtSlot() + def expandGroup(self): + item = self.currentItem() + if item.text(0) in self.groups: + self.mainwindow.config.delGroup(str(item.text(0))) + expand = item.isExpanded() + self.mainwindow.config.addGroup(str(item.text(0)), not expand) + elif item.text(0) == "Chums": + self.mainwindow.config.set("openDefaultGroup", not item.isExpanded()) + def addItem(self, chumLabel): + if hasattr(self, 'groups'): + if chumLabel.chum.group not in self.groups: + self.topLevelItem(0).addChild(chumLabel) + self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) + else: + if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): + if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchFlags(0)): + child_1 = QtGui.QTreeWidgetItem(["%s" % (chumLabel.chum.group)]) + self.addTopLevelItem(child_1) + if self.openGroups[self.groups.index("%s" % (chumLabel.chum.group))]: + child_1.setExpanded(True) + for i in range(self.topLevelItemCount()): + if self.topLevelItem(i).text(0) == chumLabel.chum.group: + break + self.topLevelItem(i).addChild(chumLabel) + self.topLevelItem(i).sortChildren(0, QtCore.Qt.AscendingOrder) + else: # usually means this is now the trollslum + if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): + self.topLevelItem(0).addChild(chumLabel) + self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) + def takeItem(self, chumLabel): + r = None + for i in range(self.topLevelItemCount()): + for j in range(self.topLevelItem(i).childCount()): + if self.topLevelItem(i).child(j).text(0) == chumLabel.chum.handle: + r = self.topLevelItem(i).takeChild(j) + break + if not self.mainwindow.config.showEmptyGroups(): + self.hideEmptyGroups() + return r def updateMood(self, handle, mood): hideoff = self.mainwindow.config.hideOfflineChums() chums = self.getChums(handle) @@ -536,7 +730,7 @@ class chumArea(RightClickList): handle in [p.handle for p in self.chums]: newLabel = chumListing([p for p in self.chums if p.handle == handle][0], self.mainwindow) self.addItem(newLabel) - self.sortItems() + #self.sortItems() chums = [newLabel] elif mood.name() == "offline" and \ len(chums) > 0: @@ -562,14 +756,27 @@ class chumArea(RightClickList): self.removechum.setText(theme["main/menus/rclickchumlist/removechum"]) self.blockchum.setText(theme["main/menus/rclickchumlist/blockchum"]) self.logchum.setText(theme["main/menus/rclickchumlist/viewlog"]) + self.removegroup.setText(theme["main/menus/rclickchumlist/removegroup"]) + self.renamegroup.setText(theme["main/menus/rclickchumlist/renamegroup"]) + self.moveMenu.setTitle(theme["main/menus/rclickchumlist/movechum"]) def changeTheme(self, theme): self.initTheme(theme) - chumlistings = [self.item(i) for i in range(0, self.count())] + chumlistings = [] + for i in range(self.topLevelItemCount()): + for j in range(self.topLevelItem(i).childCount()): + chumlistings.append(self.topLevelItem(i).child(j)) + #chumlistings = [self.item(i) for i in range(0, self.count())] for c in chumlistings: c.changeTheme(theme) + + def count(self): + c = 0 + for i in range(self.topLevelItemCount()): + c = c + self.topLevelItem(i).childCount() + return c @QtCore.pyqtSlot() def activateChum(self): - self.itemActivated.emit(self.currentItem()) + self.itemActivated.emit(self.currentItem(), 0) @QtCore.pyqtSlot() def removeChum(self, handle = None): if handle: @@ -581,7 +788,7 @@ class chumArea(RightClickList): currentChum = self.currentItem().chum self.chums = [c for c in self.chums if c.handle != currentChum.handle] self.removeChumSignal.emit(self.currentItem().chum.handle) - oldlist = self.takeItem(self.currentRow()) + oldlist = self.takeItem(self.currentItem()) del oldlist @QtCore.pyqtSlot() def blockChum(self): @@ -603,7 +810,7 @@ class chumArea(RightClickList): self.mainwindow.sendMessage.emit("ALT %s" % (currentChum.chum.handle) , "calSprite") @QtCore.pyqtSlot() def openChumLogs(self): - currentChum = self.currentItem().text() + currentChum = self.currentItem().text(0) if not currentChum: return self.pesterlogviewer = PesterLogViewer(currentChum, self.mainwindow.config, self.mainwindow.theme, self.mainwindow) @@ -618,20 +825,59 @@ class chumArea(RightClickList): self.pesterlogviewer = None @QtCore.pyqtSlot() def renameGroup(self): - (gname, ok) = QtGui.QInputDialog.getText(self, "Rename Group", "Enter a new name for the group:") - if ok: - pass - #rename group - + if not hasattr(self, 'renamegroupdialog'): + self.renamegroupdialog = None + if not self.renamegroupdialog: + (gname, ok) = QtGui.QInputDialog.getText(self, "Rename Group", "Enter a new name for the group:") + if ok: + gname = unicode(gname) + currentGroup = self.currentItem() + if not currentGroup: + return + index = self.indexOfTopLevelItem(currentGroup) + if index != -1: + expanded = currentGroup.isExpanded() + self.mainwindow.config.delGroup(str(currentGroup.text(0))) + self.mainwindow.config.addGroup(gname, expanded) + gTemp = self.mainwindow.config.getGroups() + self.groups = [g[0] for g in gTemp] + self.openGroups = [g[1] for g in gTemp] + for i in range(currentGroup.childCount()): + currentGroup.child(i).chum.group = gname + self.mainwindow.chumdb.setGroup(currentGroup.child(i).chum.handle, gname) + currentGroup.setText(0, gname) + self.renamegroupdialog = None @QtCore.pyqtSlot() def removeGroup(self): - pass - #remove group - + currentGroup = self.currentItem() + if not currentGroup: + return + self.mainwindow.config.delGroup(currentGroup.text(0)) + gTemp = self.mainwindow.config.getGroups() + self.groups = [g[0] for g in gTemp] + self.openGroups = [g[1] for g in gTemp] + for i in range(self.topLevelItemCount()): + if self.topLevelItem(i).text(0) == currentGroup.text(0): + break + while self.topLevelItem(i).child(0): + chumLabel = self.topLevelItem(i).child(0) + chumLabel.chum.group = "Chums" + self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, "Chums") + self.takeItem(chumLabel) + self.addItem(chumLabel) + self.takeTopLevelItem(i) @QtCore.pyqtSlot(QtGui.QAction) def moveToGroup(self, item): - pass - #move to group + if not item: + return + group = str(item.text()) + chumLabel = self.currentItem() + if not chumLabel: + return + chumLabel.chum.group = group + self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) + self.takeItem(chumLabel) + self.addItem(chumLabel) removeChumSignal = QtCore.pyqtSignal(QtCore.QString) blockChumSignal = QtCore.pyqtSignal(QtCore.QString) @@ -643,19 +889,34 @@ class trollSlum(chumArea): theme = self.mainwindow.theme self.setStyleSheet(theme["main/trollslum/chumroll/style"]) self.chums = trolls + child_1 = QtGui.QTreeWidgetItem([""]) + self.addTopLevelItem(child_1) + child_1.setExpanded(True) for c in self.chums: chandle = c.handle if not self.findItems(chandle, QtCore.Qt.MatchFlags(0)): chumLabel = chumListing(c, self.mainwindow) self.addItem(chumLabel) + self.setSortingEnabled(False) + self.header().hide() + self.setDropIndicatorShown(False) + self.setIndentation(0) + self.optionsMenu = QtGui.QMenu(self) self.unblockchum = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/unblockchum"], self) self.connect(self.unblockchum, QtCore.SIGNAL('triggered()'), self, QtCore.SIGNAL('unblockChumSignal()')) self.optionsMenu.addAction(self.unblockchum) - self.sortItems() + #self.sortItems() + def contextMenuEvent(self, event): + #fuckin Qt + if event.reason() == QtGui.QContextMenuEvent.Mouse: + listing = self.itemAt(event.pos()) + self.setCurrentItem(listing) + if self.currentItem().text(0) != "": + self.optionsMenu.popup(event.globalPos()) def changeTheme(self, theme): self.setStyleSheet(theme["main/trollslum/chumroll/style"]) self.removechum.setText(theme["main/menus/rclickchumlist/removechum"]) @@ -872,6 +1133,10 @@ class PesterWindow(MovingWindow): self.logv = logv self.connect(logv, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('openLogv()')) + grps = QtGui.QAction(self.theme["main/menus/client/addgroup"], self) + self.grps = grps + self.connect(grps, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('addGroupWindow()')) opts = QtGui.QAction(self.theme["main/menus/client/options"], self) self.opts = opts self.connect(opts, QtCore.SIGNAL('triggered()'), @@ -908,6 +1173,7 @@ class PesterWindow(MovingWindow): filemenu.addAction(logv) filemenu.addAction(userlistaction) filemenu.addAction(self.idleaction) + filemenu.addAction(grps) filemenu.addAction(self.importaction) filemenu.addAction(self.reconnectAction) filemenu.addAction(exitaction) @@ -971,7 +1237,7 @@ class PesterWindow(MovingWindow): chums = [PesterProfile(c, chumdb=self.chumdb) for c in set(self.config.chums())] self.chumList = chumArea(chums, self) self.connect(self.chumList, - QtCore.SIGNAL('itemActivated(QListWidgetItem *)'), + QtCore.SIGNAL('itemActivated(QTreeWidgetItem *, int)'), self, QtCore.SLOT('pesterSelectedChum()')) self.connect(self.chumList, @@ -1217,6 +1483,7 @@ class PesterWindow(MovingWindow): # menus self.menu.move(*theme["main/menu/loc"]) self.logv.setText(theme["main/menus/client/logviewer"]) + self.grps.setText(theme["main/menus/client/addgroup"]) self.opts.setText(theme["main/menus/client/options"]) self.exitaction.setText(theme["main/menus/client/exit"]) self.userlistaction.setText(theme["main/menus/client/userlist"]) @@ -1371,7 +1638,9 @@ class PesterWindow(MovingWindow): def pesterSelectedChum(self): curChum = self.chumList.currentItem() if curChum: - self.newConversationWindow(curChum) + if curChum.text(0) not in self.chumList.groups and \ + curChum.text(0) != "Chums": + self.newConversationWindow(curChum) @QtCore.pyqtSlot(QtGui.QListWidgetItem) def newConversationWindow(self, chumlisting): # check chumdb @@ -1723,6 +1992,25 @@ class PesterWindow(MovingWindow): def closeLogUsers(self): self.logusermenu.close() self.logusermenu = None + + @QtCore.pyqtSlot() + def addGroupWindow(self): + if not hasattr(self, 'addgroupdialog'): + self.addgroupdialog = None + if not self.addgroupdialog: + (gname, ok) = QtGui.QInputDialog.getText(self, "Add Group", "Enter a name for the new group:") + if ok: + gname = unicode(gname) + self.config.addGroup(gname) + gTemp = self.config.getGroups() + self.chumList.groups = [g[0] for g in gTemp] + self.chumList.openGroups = [g[1] for g in gTemp] + self.chumList.showAllGroups() + if not self.config.showEmptyGroups(): + self.chumList.hideEmptyGroups() + + self.addgroupdialog = None + @QtCore.pyqtSlot() def openOpts(self): if not hasattr(self, 'optionmenu'): @@ -1804,6 +2092,16 @@ class PesterWindow(MovingWindow): self.config.set("time12Format", False) secondssetting = self.optionmenu.secondscheck.isChecked() self.config.set("showSeconds", secondssetting) + # groups + groupssetting = self.optionmenu.groupscheck.isChecked() + self.config.set("useGroups", groupssetting) + emptygroupssetting = self.optionmenu.showemptycheck.isChecked() + curemptygroup = self.config.showEmptyGroups() + if curemptygroup and not emptygroupssetting: + self.chumList.hideEmptyGroups() + elif emptygroupssetting and not curemptygroup: + self.chumList.showAllGroups() + self.config.set("emptyGroups", emptygroupssetting) self.optionmenu = None @QtCore.pyqtSlot() diff --git a/themes/enamel/style.js b/themes/enamel/style.js index cc0c1aa..ccbd88d 100644 --- a/themes/enamel/style.js +++ b/themes/enamel/style.js @@ -20,9 +20,10 @@ "memos": "Memos", "logviewer": "Pesterlogs", "userlist": "Userlist", + "addgroup": "Add Group", "import": "Import", "reconnect": "Reconnect", - "idle": "Idle", + "idle": "Idle", "exit": "Exit"}, "profile": {"_name": "Profile", "switch": "Switch", @@ -39,6 +40,9 @@ "addchum": "Add Chum", "viewlog": "View Pesterlog", "unblockchum": "Unblock", + "removegroup": "Remove Group", + "renamegroup": "Rename Group", + "movechum": "Move To", "banuser": "Ban User", "opuser": "Make OP", "quirksoff": "Quirks Off" @@ -55,7 +59,7 @@ "loc": [440, 211], "size": [289, 275], "userlistcolor": "black", - "moods": { + "moods": { "chummy": { "icon": "$path/chummy.gif", "color": "black" }, @@ -63,7 +67,7 @@ "offline": { "icon": "$path/offline.gif", "color": "#9d9d9d"}, - + "pleasant": { "icon": "$path/pleasant.gif", "color": "black" }, "distraught": { "icon": "$path/distraught.gif", "color": "black" }, @@ -91,7 +95,7 @@ "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" }, @@ -110,7 +114,7 @@ } }, - "trollslum": { + "trollslum": { "style": "background: #fdb302; border:2px solid yellow; font-family: 'Century Gothic'", "size": [195, 200], "label": { "text": "TROLLSLUM", @@ -128,7 +132,7 @@ "text": "" }, "currentMood": [1500, 1500] }, - "defaultwindow": { "style": "background: #fdb302; font-family:'Century Gothic';font:bold;selection-background-color:#919191; " + "defaultwindow": { "style": "background: #fdb302; font-family:'Century Gothic';font:bold;selection-background-color:#919191; " }, "addchum": { "style": "background: rgba(255, 255, 0, 0%); border:0px; color: rgba(0, 0, 0, 0%);", "loc": [443,144], @@ -148,82 +152,82 @@ }, "defaultmood": 0, "moodlabel": { "style": "", - "loc": [20, 430], - "text": "" - }, + "loc": [20, 430], + "text": "" + }, "moods": [ - { "style": "background-image:url($path/mood1.png); border:0px;", - "selected": "background-image:url($path/mood1c.png); border:0px;", - "loc": [0, 258], - "size": [100,110], - "text": "", - "icon": "", - "mood": 0 - }, - { "style": "background-image:url($path/mood2.png); border:0px;", - "selected": "background-image:url($path/mood2c.png); border:0px;", - "loc": [106, 258], - "size": [100, 110], - "text": "", - "icon": "", - "mood": 19 - }, - { "style": "background-image:url($path/mood3.png); border:0px;", - "selected": "background-image:url($path/mood3c.png); border:0px;", - "loc": [212, 258], - "size": [100, 110], - "text": "", - "icon": "", - "mood": 22 - }, - { "style": "background-image:url($path/mood4.png); border:0px;", - "selected": "background-image:url($path/mood4c.png); border:0px;", - "loc": [318, 258], - "size": [100, 110], - "text": "", - "icon": "", - "mood": 4 - }, - { "style": "background-image:url($path/mood5.png); border:0px;", - "selected": "background-image:url($path/mood5c.png); border:0px;", - "loc": [0, 382], - "size": [100, 110], - "text": "", - "icon": "", - "mood": 3 - }, - { "style": "background-image:url($path/mood6.png); border:0px;", - "selected": "background-image:url($path/mood6c.png); border:0px;", - "loc": [106, 382], - "size": [100, 110], - "text": "", - "icon": "", - "mood": 20 - }, - { "style": "background-image:url($path/mood7.png); border:0px;", - "selected": "background-image:url($path/mood7c.png); border:0px;", - "loc": [212, 382], - "size": [100, 110], - "text": "", - "icon": "", - "mood": 5 - }, - { "style": "background-image:url($path/mood8.png); border:0px;", - "selected": "background-image:url($path/mood8c.png); border:0px;", - "loc": [318, 382], - "size": [100, 110], - "text": "", - "icon": "", - "mood": 1 - }, - { "style": "border:0px;", - "selected": "border:0px;", - "loc": [0, 0], - "size": [100, 100], - "text": "", - "icon": "", - "mood": 2 - } + { "style": "background-image:url($path/mood1.png); border:0px;", + "selected": "background-image:url($path/mood1c.png); border:0px;", + "loc": [0, 258], + "size": [100,110], + "text": "", + "icon": "", + "mood": 0 + }, + { "style": "background-image:url($path/mood2.png); border:0px;", + "selected": "background-image:url($path/mood2c.png); border:0px;", + "loc": [106, 258], + "size": [100, 110], + "text": "", + "icon": "", + "mood": 19 + }, + { "style": "background-image:url($path/mood3.png); border:0px;", + "selected": "background-image:url($path/mood3c.png); border:0px;", + "loc": [212, 258], + "size": [100, 110], + "text": "", + "icon": "", + "mood": 22 + }, + { "style": "background-image:url($path/mood4.png); border:0px;", + "selected": "background-image:url($path/mood4c.png); border:0px;", + "loc": [318, 258], + "size": [100, 110], + "text": "", + "icon": "", + "mood": 4 + }, + { "style": "background-image:url($path/mood5.png); border:0px;", + "selected": "background-image:url($path/mood5c.png); border:0px;", + "loc": [0, 382], + "size": [100, 110], + "text": "", + "icon": "", + "mood": 3 + }, + { "style": "background-image:url($path/mood6.png); border:0px;", + "selected": "background-image:url($path/mood6c.png); border:0px;", + "loc": [106, 382], + "size": [100, 110], + "text": "", + "icon": "", + "mood": 20 + }, + { "style": "background-image:url($path/mood7.png); border:0px;", + "selected": "background-image:url($path/mood7c.png); border:0px;", + "loc": [212, 382], + "size": [100, 110], + "text": "", + "icon": "", + "mood": 5 + }, + { "style": "background-image:url($path/mood8.png); border:0px;", + "selected": "background-image:url($path/mood8c.png); border:0px;", + "loc": [318, 382], + "size": [100, 110], + "text": "", + "icon": "", + "mood": 1 + }, + { "style": "border:0px;", + "selected": "border:0px;", + "loc": [0, 0], + "size": [100, 100], + "text": "", + "icon": "", + "mood": 2 + } ] }, "convo": @@ -231,7 +235,7 @@ "tabstyle": "background-color: #fdb302; font-family: 'Century Gothic'", "scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(255, 255, 0, 0%); border:0px;", "handle": "border-width: 5px; border-image:url($path/scrollbg.png) 5px; min-height:60px;", - "downarrow": "height:17px;border:0px solid #c48a00;", + "downarrow": "height:17px;border:0px solid #c48a00;", "darrowstyle": "image:url($path/downarrow.png);", "uparrow": "height:17px;border:0px solid #c48a00;", "uarrowstyle": "image:url($path/uparrow.png);" @@ -259,12 +263,12 @@ "ceasepester": "ceased pestering", "blocked": "blocked", "unblocked": "unblocked", - "blockedmsg": "did not receive message from", + "blockedmsg": "did not receive message from", "openmemo": "opened memo on board", "joinmemo": "responded to memo", "closememo": "ceased responding to memo", "kickedmemo": "You have been banned from this memo!", - "idle": "is now an idle chum!" + "idle": "is now an idle chum!" }, "systemMsgColor": "#646464" }, @@ -279,7 +283,7 @@ }, "scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(255, 255, 0, 0%); border:0px;", "handle": "border-width: 5px; border-image:url($path/scrollbg.png) 5px; min-height:60px;", - "downarrow": "height:17px;border:0px;", + "downarrow": "height:17px;border:0px;", "darrowstyle": "image:url();", "uparrow": "height:17px;border:0px;", "uarrowstyle": "image:url();" @@ -296,20 +300,20 @@ "userlist": { "width": 150, "style": "border:2px solid #c48a00; background: white; font-family: 'Century Gothic';selection-background-color:#646464; font-size: 14px; margin-left:0px; margin-right:10px;" }, - "time": { "text": { "width": 75, - "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Century Gothic';font:bold;" + "time": { "text": { "width": 75, + "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Century Gothic';font:bold;" }, "slider": { "style": "border: 0px;", "groove": "", "handle": "" }, - "buttons": { "style": "color: black; font: bold; border: 2px solid #c48a00; font-size: 12px; background: yellow; margin-top: 5px; margin-right: 5px; margin-left: 5px; padding: 2px; width: 50px;" }, - "arrows": { "left": "$path/leftarrow.png", + "buttons": { "style": "color: black; font: bold; border: 2px solid #c48a00; 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;" + "style": " border:0px; margin-top: 5px; margin-right:10px;" } }, "systemMsgColor": "#646464", "op": { "icon": "$path/smooth.png" } } -} \ No newline at end of file +} diff --git a/themes/gold/style.js b/themes/gold/style.js index b8223be..f84006c 100644 --- a/themes/gold/style.js +++ b/themes/gold/style.js @@ -16,15 +16,16 @@ "loc": [150,22] }, "sounds": { "alertsound": "$path/alarm.wav", - "ceasesound": "$path/cease.wav" }, + "ceasesound": "$path/cease.wav" }, "menus": {"client": {"_name": "Client", "options": "Options", "memos": "Memos", "logviewer": "Pesterlogs", "userlist": "Userlist", + "addgroup": "Add Group", "import": "Import", - "reconnect": "Reconnect", - "idle": "Idle", + "reconnect": "Reconnect", + "idle": "Idle", "exit": "Exit"}, "profile": {"_name": "Profile", "switch": "Switch", @@ -41,6 +42,9 @@ "addchum": "Add Chum", "viewlog": "View Pesterlog", "unblockchum": "Unblock", + "removegroup": "Remove Group", + "renamegroup": "Rename Group", + "movechum": "Move To", "banuser": "Ban User", "opuser": "Make OP", "quirksoff": "Quirks Off" @@ -50,7 +54,7 @@ "loc": [123, 88], "size": [190, 65], "userlistcolor": "white", - "moods": { + "moods": { "chummy": { "icon": "$path/chummy.png", "color": "white" }, @@ -58,7 +62,7 @@ "offline": { "icon": "$path/offline.png", "color": "#bebebe"}, - + "pleasant": { "icon": "$path/pleasant.png", "color": "white" }, "distraught": { "icon": "$path/distraught.png", "color": "white" }, @@ -86,7 +90,7 @@ "devious": { "icon": "$path/devious.png", "color": "red" }, "sleek": { "icon": "$path/sleek.png", "color": "red" }, - + "detestful": { "icon": "$path/detestful.png", "color": "red" }, "mirthful": { "icon": "$path/mirthful.png", "color": "red" }, @@ -105,7 +109,7 @@ } }, - "trollslum": { + "trollslum": { "style": "background: #fdb302; border:2px solid yellow; font-family: 'Arial'", "size": [195, 200], "label": { "text": "TROLLSLUM", @@ -123,7 +127,7 @@ "text": "" }, "currentMood": [129, 176] }, - "defaultwindow": { "style": "background: #fdb302; font-family:'Arial';font:bold;selection-background-color:#919191; " + "defaultwindow": { "style": "background: #fdb302; font-family:'Arial';font:bold;selection-background-color:#919191; " }, "addchum": { "style": "background: rgba(255, 255, 0, 0%); border:0px; color: rgba(0, 0, 0, 0%);", "loc": [25,0], @@ -143,90 +147,90 @@ }, "defaultmood": 0, "moodlabel": { "style": "", - "loc": [20, 430], - "text": "MOODS" - }, + "loc": [20, 430], + "text": "MOODS" + }, "moods": [ - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck1.png); border:0px;", - "loc": [13, 204], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 0 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck2.png); border:0px;", - "loc": [13, 231], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 19 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck3.png); border:0px;", - "loc": [13, 258], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 20 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck4.png); border:0px;", - "loc": [116, 204], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 21 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck5.png); border:0px;", - "loc": [116, 231], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 22 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck6.png); border:0px;", - "loc": [116, 258], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 5 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck7.png); border:0px;", - "loc": [219, 204], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 6 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck8.png); border:0px;", - "loc": [219, 231], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 3 - }, - { "style": "border:0px;", - "selected": "background-image:url($path/moodcheck9.png); border:0px;", - "loc": [219, 258], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 1 - }, - { "style": "border:0px;", - "selected": "border:0px;", - "loc": [13, 175], - "size": [101, 27], - "text": "", - "icon": "", - "mood": 2 - } + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck1.png); border:0px;", + "loc": [13, 204], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 0 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck2.png); border:0px;", + "loc": [13, 231], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 19 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck3.png); border:0px;", + "loc": [13, 258], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 20 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck4.png); border:0px;", + "loc": [116, 204], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 21 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck5.png); border:0px;", + "loc": [116, 231], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 22 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck6.png); border:0px;", + "loc": [116, 258], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 5 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck7.png); border:0px;", + "loc": [219, 204], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 6 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck8.png); border:0px;", + "loc": [219, 231], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 3 + }, + { "style": "border:0px;", + "selected": "background-image:url($path/moodcheck9.png); border:0px;", + "loc": [219, 258], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 1 + }, + { "style": "border:0px;", + "selected": "border:0px;", + "loc": [13, 175], + "size": [101, 27], + "text": "", + "icon": "", + "mood": 2 + } ] }, "convo": @@ -234,7 +238,7 @@ "tabstyle": "background-color: #fdb302; font-family: 'Arial'", "scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(255, 255, 0, 0%); border:0px;", "handle": "background-color:#c48a00;min-height:20px;", - "downarrow": "height:17px;border:0px solid #c48a00;", + "downarrow": "height:17px;border:0px solid #c48a00;", "darrowstyle": "image:url($path/downarrow.png);", "uparrow": "height:17px;border:0px solid #c48a00;", "uarrowstyle": "image:url($path/uparrow.png);" @@ -264,12 +268,12 @@ "ceasepester": "ceased pestering", "blocked": "blocked", "unblocked": "unblocked", - "blockedmsg": "did not receive message from", + "blockedmsg": "did not receive message from", "openmemo": "opened memo on board", "joinmemo": "responded to memo", "closememo": "ceased responding to memo", "kickedmemo": "You have been banned from this memo!", - "idle": "is now an idle chum!" + "idle": "is now an idle chum!" }, "systemMsgColor": "#646464" }, @@ -285,7 +289,7 @@ }, "scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(255, 255, 0, 0%); border:0px;", "handle": "background-color:#c48a00;min-height:20px;", - "downarrow": "height:17px;border:0px solid #c48a00;", + "downarrow": "height:17px;border:0px solid #c48a00;", "darrowstyle": "image:url($path/downarrow.png);", "uparrow": "height:17px;border:0px solid #c48a00;", "uarrowstyle": "image:url($path/uparrow.png);" @@ -302,20 +306,20 @@ "userlist": { "width": 150, "style": "border:2px solid #c48a00; background: white; font-family: 'Arial';selection-background-color:#646464; font-size: 14px; margin-left:0px; margin-right:10px;" }, - "time": { "text": { "width": 75, - "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Arial';font:bold;" + "time": { "text": { "width": 75, + "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Arial';font:bold;" }, "slider": { "style": "border: 0px;", "groove": "", "handle": "" }, - "buttons": { "style": "color: black; font: bold; border: 2px solid #c48a00; font-size: 12px; background: yellow; margin-top: 5px; margin-right: 5px; margin-left: 5px; padding: 2px; width: 50px;" }, - "arrows": { "left": "$path/leftarrow.png", + "buttons": { "style": "color: black; font: bold; border: 2px solid #c48a00; 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;" + "style": " border:0px; margin-top: 5px; margin-right:10px;" } }, "systemMsgColor": "#646464", "op": { "icon": "$path/smooth.png" } } -} \ No newline at end of file +} diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 35127de..a74ad1c 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -16,15 +16,16 @@ "loc": [10,0] }, "sounds": { "alertsound": "$path/alarm.wav", - "ceasesound": "$path/cease.wav" }, + "ceasesound": "$path/cease.wav" }, "menus": {"client": {"_name": "CLIENT", "options": "OPTIONS", "memos": "MEMOS", "logviewer": "PESTERLOGS", "userlist": "USERLIST", + "addgroup": "ADD GROUP", "import": "IMPORT", "reconnect": "RECONNECT", - "idle": "IDLE", + "idle": "IDLE", "exit": "EXIT"}, "profile": {"_name": "PROFILE", "switch": "SWITCH", @@ -41,6 +42,9 @@ "addchum": "ADD CHUM", "viewlog": "VIEW PESTERLOG", "unblockchum": "UNBLOCK", + "removegroup": "REMOVE GROUP", + "renamegroup": "RENAME GROUP", + "movechum": "MOVE TO", "banuser": "BAN USER", "opuser": "MAKE OP", "quirksoff": "QUIRKS OFF" @@ -50,7 +54,7 @@ "loc": [12, 117], "size": [209, 82], "userlistcolor": "white", - "moods": { + "moods": { "chummy": { "icon": "$path/chummy.png", "color": "white" }, @@ -58,7 +62,7 @@ "offline": { "icon": "$path/offline.png", "color": "#646464"}, - + "pleasant": { "icon": "$path/pleasant.png", "color": "white" }, "distraught": { "icon": "$path/distraught.png", "color": "white" }, @@ -86,7 +90,7 @@ "devious": { "icon": "$path/devious.png", "color": "red" }, "sleek": { "icon": "$path/sleek.png", "color": "red" }, - + "detestful": { "icon": "$path/detestful.png", "color": "red" }, "mirthful": { "icon": "$path/mirthful.png", "color": "red" }, @@ -105,7 +109,7 @@ } }, - "trollslum": { + "trollslum": { "style": "background: #fdb302; border:2px solid yellow; font-family: 'Courier'", "size": [195, 200], "label": { "text": "TROLLSLUM", @@ -123,7 +127,7 @@ "text": "" }, "currentMood": [18, 249] }, - "defaultwindow": { "style": "background: #fdb302; font-family:'Courier';font:bold;selection-background-color:#919191; " + "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';", "pressed" : "background: rgb(255, 255, 255, 30%);", @@ -137,7 +141,7 @@ "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';", + "block": { "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": [81,202], "size": [71, 22], @@ -145,73 +149,73 @@ }, "defaultmood": 0, "moodlabel": { "style": "", - "loc": [20, 430], - "text": "MOODS" - }, + "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.png); 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.png", - "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.png); 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.png", - "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.png); 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.png", - "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.png); 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.png", - "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.png); 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.png", - "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.png); 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.png", - "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.png); 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 - } + { "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.png); 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.png", + "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.png); 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.png", + "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.png); 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.png", + "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.png); 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.png", + "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.png); 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.png", + "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.png); 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.png", + "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.png); 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'", "scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: white; border:2px solid #c48a00;", "handle": "background-color:#c48a00;min-height:20px;", - "downarrow": "height:17px;border:0px solid #c48a00;", + "downarrow": "height:17px;border:0px solid #c48a00;", "darrowstyle": "image:url($path/downarrow.png);", "uparrow": "height:17px;border:0px solid #c48a00;", "uarrowstyle": "image:url($path/uparrow.png);" @@ -231,7 +235,7 @@ "style": "background: white; border:2px solid #c48a00;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 12px;font-family: 'Courier'" }, "tabwindow" : { - "style": "background-color:#fdb302;border:0px" + "style": "background-color:#fdb302;border:0px" }, "tabs": { "style": "background-color: #7f7f7f; font-family: 'Courier';font:bold;font-size:12px;min-height:25px;", @@ -244,12 +248,12 @@ "ceasepester": "ceased pestering", "blocked": "blocked", "unblocked": "unblocked", - "blockedmsg": "did not receive message from", + "blockedmsg": "did not receive message from", "openmemo": "opened memo on board", "joinmemo": "responded to memo", "closememo": "ceased responding to memo", "kickedmemo": "You have been banned from this memo!", - "idle": "is now an idle chum!" + "idle": "is now an idle chum!" }, "systemMsgColor": "#646464" }, @@ -265,7 +269,7 @@ }, "scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(255, 255, 0, 0%); border:0px;", "handle": "background-color:#c48a00;min-height:20px;", - "downarrow": "height:17px;border:0px solid #c48a00;", + "downarrow": "height:17px;border:0px solid #c48a00;", "darrowstyle": "image:url($path/downarrow.png);", "uparrow": "height:17px;border:0px solid #c48a00;", "uarrowstyle": "image:url($path/uparrow.png);" @@ -282,20 +286,20 @@ "userlist": { "width": 150, "style": "border:2px solid #c48a00; background: white;font: bold;font-family: 'Courier';selection-background-color:#646464; font-size: 12px; margin-left:0px; margin-right:10px;" }, - "time": { "text": { "width": 75, - "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Courier';font:bold;" + "time": { "text": { "width": 75, + "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Courier';font:bold;" }, "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", + "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;" + "style": " border:0px; margin-top: 5px; margin-right:10px;" } }, "systemMsgColor": "#646464", "op": { "icon": "$path/op.png" } } -} \ No newline at end of file +} diff --git a/themes/trollian/style.js b/themes/trollian/style.js index ac22821..c3c74dd 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -21,8 +21,10 @@ "memos": "Memos", "logviewer": "Pesterlogs", "userlist": "Fresh Targets", + "addgroup": "Add Group", "import": "import U2;", - "idle": "Idle", + "reconnect": "Reconnect", + "idle": "Idle", "exit": "Abscond"}, "profile": {"_name": "View", "switch": "Trolltag", @@ -39,6 +41,9 @@ "addchum": "Add Chump", "viewlog": "View Pesterlog", "unblockchum": "Mercy", + "removegroup": "Remove Group", + "renamegroup": "Rename Group", + "movechum": "Move To", "banuser": "Ban", "opuser": "Promote", "quirksoff": "Quirks Off" } @@ -55,50 +60,50 @@ "size": [171, 357], "userlistcolor": "black", "moods": { - + "chummy": { "icon": "$path/chummy.png", "color": "#63ea00" }, - + "rancorous": { "icon": "$path/rancorous.png", "color": "#7f7f7f" }, - + "offline": { "icon": "$path/offline.png", "color": "black"}, - - + + "pleasant": { "icon": "$path/pleasant.png", "color": "#d69df8" }, - + "distraught": { "icon": "$path/distraught.png", "color": "#706eba" }, - + "pranky": { "icon": "$path/pranky.png", "color": "blue" }, - - + + "smooth": { "icon": "$path/smooth.png", "color": "red" }, - - + + "ecstatic": { "icon": "$path/ecstatic.png", "color": "#99004d" }, - + "relaxed": { "icon": "$path/relaxed.png", "color": "#078446" }, - + "discontent": { "icon": "$path/discontent.png", "color": "#a75403" }, - + "devious": { "icon": "$path/devious.png", "color": "#008282" }, - + "sleek": { "icon": "$path/sleek.png", "color": "#a1a100" }, - + "detestful": { "icon": "$path/detestful.png", "color": "#6a006a" }, - + "mirthful": { "icon": "$path/mirthful.png", "color": "#450077" }, - + "manipulative": { "icon": "$path/manipulative.png", "color": "#004182" }, - + "vigorous": { "icon": "$path/vigorous.png", "color": "#0021cb" }, - + "perky": { "icon": "$path/perky.png", "color": "#406600" }, - + "acceptant": { "icon": "$path/acceptant.png", "color": "#a10000" }, - + "protective": { "icon": "$path/protective.png", "color": "white" }, - + "blocked": { "icon": "$path/blocked.png", "color": "black" } - + } }, "trollslum": { @@ -237,7 +242,7 @@ "icon": "", "mood": 7 }, - + { "style": "border:0px;color: rgba(0, 0, 0, 0%);", "selected": "border:0px; color: rgba(0, 0, 0, 0%);", "loc": [12, 117], @@ -267,7 +272,7 @@ "style": "background: white;margin-top:5px; border:1px solid #c2c2c2; margin-right: 54px; font-size: 12px; height: 19px;" }, "tabwindow" : { - "style": "background: rgb(190, 19, 4); font-family: 'Arial'" + "style": "background: rgb(190, 19, 4); font-family: 'Arial'" }, "tabs": { "style": "", @@ -313,15 +318,15 @@ "userlist": { "width": 125, "style": "font-size: 12px; background: white; margin-left: 5px; margin-bottom: 5px; border:2px solid #c2c2c2; padding: 5px; font-family: 'Arial';selection-background-color:rgb(200,200,200);" }, - "time": { "text": { "width": 75, - "style": "color: black; font:bold; border:1px solid #c2c2c2; background: white; height: 19px;" + "time": { "text": { "width": 75, + "style": "color: black; font:bold; border:1px solid #c2c2c2; background: white; height: 19px;" }, "slider": { "style": " border:1px solid #c2c2c2;", "groove": "border-image:url($path/timeslider.png);", "handle": "image:url($path/acceptant.png);" }, - "buttons": { "style": "border:1px solid #a68168; height: 17px; width: 50px; color: #cd8f9d; font-family: 'Arial'; background: rgb(190, 19, 4); margin-left: 2px;" }, - "arrows": { "left": "$path/leftarrow.png", + "buttons": { "style": "border:1px solid #a68168; height: 17px; width: 50px; color: #cd8f9d; font-family: 'Arial'; background: rgb(190, 19, 4); margin-left: 2px;" }, + "arrows": { "left": "$path/leftarrow.png", "right": "$path/rightarrow.png", "style": "width: 19px; height: 19px; border:0px; margin-left: 2px;" } @@ -329,4 +334,4 @@ "systemMsgColor": "#646464", "op": { "icon": "$path/op.png" } } -} \ No newline at end of file +} diff --git a/themes/typewriter/style.js b/themes/typewriter/style.js index 13306f0..6cd90a3 100644 --- a/themes/typewriter/style.js +++ b/themes/typewriter/style.js @@ -16,15 +16,16 @@ "loc": [43,220] }, "sounds": { "alertsound": "$path/alarm.wav", - "ceasesound": "$path/cease.wav" }, + "ceasesound": "$path/cease.wav" }, "menus": {"client": {"_name": "Typewriter", "options": "Preferences", "memos": "Bulletin Boards", "logviewer": "Pesterlogs", "userlist": "Userlist", + "addgroup": "Add Group", "import": "Import", - "idle": "Idle", - "reconnect": "Reconnect", + "idle": "Idle", + "reconnect": "Reconnect", "exit": "Cease"}, "profile": {"_name": "Ink", "switch": "Alias", @@ -41,6 +42,9 @@ "addchum": "Add User", "viewlog": "View Pesterlog", "unblockchum": "Forgive", + "removegroup": "Remove Group", + "renamegroup": "Rename Group", + "movechum": "Move To", "banuser": "Expel User", "opuser": "Promote", "quirksoff": "Quirks Off" @@ -50,7 +54,7 @@ "loc": [70, 20], "size": [175,100], "userlistcolor": "black", - "moods": { + "moods": { "chummy": { "icon": "$path/chummy.png", "color": "black" }, @@ -58,7 +62,7 @@ "offline": { "icon": "$path/offline.png", "color": "#646464"}, - + "pleasant": { "icon": "$path/pleasant.png", "color": "black" }, "distraught": { "icon": "$path/distraught.png", "color": "black" }, @@ -86,7 +90,7 @@ "devious": { "icon": "$path/devious.png", "color": "red" }, "sleek": { "icon": "$path/sleek.png", "color": "red" }, - + "detestful": { "icon": "$path/detestful.png", "color": "red" }, "mirthful": { "icon": "$path/mirthful.png", "color": "red" }, @@ -105,7 +109,7 @@ } }, - "trollslum": { + "trollslum": { "style": "background: #bebebe; border:2px solid black; font-family: 'Courier'", "size": [195, 200], "label": { "text": "Ruffians", @@ -123,7 +127,7 @@ "text": "" }, "currentMood": [0, 0] }, - "defaultwindow": { "style": "background: #bebebe; font-family:'Courier';font:bold;selection-background-color: black; " + "defaultwindow": { "style": "background: #bebebe; font-family:'Courier';font:bold;selection-background-color: black; " }, "addchum": { "style": "background: rgba(255, 255, 0, 0%); border:0px solid #c48a00; font: bold; color: rgba(0, 0, 0, 0%); font-family:'Courier';", "pressed" : "background: rgb(255, 255, 255, 30%);", @@ -137,7 +141,7 @@ "size": [70, 15], "text": "" }, - "block": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(255, 255, 0, 0%); font-family:'Courier';", + "block": { "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": [0,0], "size": [0, 0], @@ -145,26 +149,26 @@ }, "defaultmood": 18, "moodlabel": { "style": "", - "loc": [20, 430], - "text": "MOODS" - }, + "loc": [20, 430], + "text": "MOODS" + }, "moods": [ - { "style": "text-align:left; border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", - "selected": "text-align:left; background-image:url($path/moodcheck1.png); border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", - "loc": [95, 323], - "size": [62, 9], - "text": "", - "icon": "", - "mood": 18 - }, - { "style": "text-align:left; border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", - "selected": "text-align:left; background-image:url($path/moodcheck2.png); border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", - "loc": [165, 323], - "size": [70, 9], - "text": "", - "icon": "", - "mood": 2 - } + { "style": "text-align:left; border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck1.png); border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [95, 323], + "size": [62, 9], + "text": "", + "icon": "", + "mood": 18 + }, + { "style": "text-align:left; border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + "selected": "text-align:left; background-image:url($path/moodcheck2.png); border:0px solid #c48a00; padding: 0px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", + "loc": [165, 323], + "size": [70, 9], + "text": "", + "icon": "", + "mood": 2 + } ] }, "convo": @@ -195,12 +199,12 @@ "ceasepester": "ceased pestering", "blocked": "blocked", "unblocked": "unblocked", - "blockedmsg": "did not receive message from", + "blockedmsg": "did not receive message from", "openmemo": "opened memo on board", "joinmemo": "responded to memo", "closememo": "ceased responding to memo", "kickedmemo": "You have been banned from this memo!", - "idle": "is now an idle chum!" + "idle": "is now an idle chum!" }, "systemMsgColor": "#646464" }, @@ -216,7 +220,7 @@ }, "scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(255, 255, 0, 0%); border:0px;", "handle": "background-color:black;min-height:20px;", - "downarrow": "height:17px;border:0px;", + "downarrow": "height:17px;border:0px;", "darrowstyle": "image:url($path/downarrow.png);", "uparrow": "height:17px;border:0px;", "uarrowstyle": "image:url($path/uparrow.png);" @@ -233,20 +237,20 @@ "userlist": { "width": 150, "style": "border:2px solid black; background: white;font: bold;font-family: 'Courier';selection-background-color:black; font-size: 12px; margin-left:0px; margin-right:10px;" }, - "time": { "text": { "width": 75, - "style": " border: 2px solid black; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Courier';font:bold;" + "time": { "text": { "width": 75, + "style": " border: 2px solid black; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Courier';font:bold;" }, "slider": { "style": "border: 0px;", "groove": "", "handle": "" }, - "buttons": { "style": "color: black; font: bold; border: 2px solid black; font: bold; font-size: 12px; background: white; margin-top: 5px; margin-right: 5px; margin-left: 5px; padding: 2px; width: 50px;" }, - "arrows": { "left": "$path/leftarrow.png", + "buttons": { "style": "color: black; font: bold; border: 2px solid black; font: bold; font-size: 12px; background: white; 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;" + "style": " border:0px; margin-top: 5px; margin-right:10px;" } }, "systemMsgColor": "#646464", "op": { "icon": "$path/protective.png" } } -} \ No newline at end of file +} From ca8ec454ad678e49cd73d0a1511a556ad65a7016 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 29 Mar 2011 00:53:21 -0700 Subject: [PATCH 009/166] Re-add: Fix some small bugs I didn't catch before pushing. --- pesterchum.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 8741d98..5b3dffd 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -859,7 +859,7 @@ class chumArea(RightClickTree): for i in range(self.topLevelItemCount()): if self.topLevelItem(i).text(0) == currentGroup.text(0): break - while self.topLevelItem(i).child(0): + while self.topLevelItem(i) and self.topLevelItem(i).child(0): chumLabel = self.topLevelItem(i).child(0) chumLabel.chum.group = "Chums" self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, "Chums") @@ -2093,8 +2093,8 @@ class PesterWindow(MovingWindow): secondssetting = self.optionmenu.secondscheck.isChecked() self.config.set("showSeconds", secondssetting) # groups - groupssetting = self.optionmenu.groupscheck.isChecked() - self.config.set("useGroups", groupssetting) + #groupssetting = self.optionmenu.groupscheck.isChecked() + #self.config.set("useGroups", groupssetting) emptygroupssetting = self.optionmenu.showemptycheck.isChecked() curemptygroup = self.config.showEmptyGroups() if curemptygroup and not emptygroupssetting: From 1e4268ebcb09369d094fe2a6ffa337db37aa1f41 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 7 Apr 2011 14:00:25 -0700 Subject: [PATCH 010/166] Re-add: Show number of online chums in each group --- menus.py | 3 +++ pesterchum.py | 74 +++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 69 insertions(+), 8 deletions(-) diff --git a/menus.py b/menus.py index 8977e4f..175e644 100644 --- a/menus.py +++ b/menus.py @@ -581,6 +581,8 @@ class PesterOptions(QtGui.QDialog): #self.groupscheck.setChecked(self.config.useGroups()) self.showemptycheck = QtGui.QCheckBox("Show Empty Groups", self) self.showemptycheck.setChecked(self.config.showEmptyGroups()) + self.showonlinenumbers = QtGui.QCheckBox("Show Number of Online Chums", self) + self.showonlinenumbers.setChecked(self.config.showOnlineNumbers()) self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) @@ -599,6 +601,7 @@ class PesterOptions(QtGui.QDialog): layout_0.addWidget(self.hideOffline) #layout_0.addWidget(self.groupscheck) layout_0.addWidget(self.showemptycheck) + layout_0.addWidget(self.showonlinenumbers) layout_0.addWidget(hr) layout_0.addWidget(self.timestampcheck) layout_0.addWidget(self.timestampBox) diff --git a/pesterchum.py b/pesterchum.py index 5b3dffd..b8ba5ec 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -298,6 +298,10 @@ class userConfig(object): if not self.config.has_key('emptyGroups'): self.set("emptyGroups", False) return self.config.get('emptyGroups', False) + def showOnlineNumbers(self): + if not self.config.has_key('onlineNumbers'): + self.set("onlineNumbers", False) + return self.config.get('onlineNumbers', False) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -511,6 +515,8 @@ class chumArea(RightClickTree): self.showAllChums() if not self.mainwindow.config.showEmptyGroups(): self.hideEmptyGroups() + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() self.chumoptions = QtGui.QMenu(self) self.groupoptions = QtGui.QMenu(self) self.canonMenu = QtGui.QMenu(self) @@ -671,6 +677,38 @@ class chumArea(RightClickTree): self.addTopLevelItem(child_1) if self.openGroups[i]: child_1.setExpanded(True) + def showOnlineNumbers(self): + self.hideOnlineNumbers() + totals = {'Chums': 0} + online = {'Chums': 0} + for g in self.groups: + totals[str(g)] = 0 + online[str(g)] = 0 + for c in self.chums: + yes = c.mood.name() != "offline" + if c.group == "Chums": + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + elif c.group in totals: + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + else: + totals["Chums"] = totals["Chums"]+1 + if yes: + online["Chums"] = online["Chums"]+1 + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.topLevelItem(i).setText(0, "%s (%i/%i)" % (text, online[text], totals[text])) + def hideOnlineNumbers(self): + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.topLevelItem(i).setText(0, "%s" % (text)) def hideEmptyGroups(self): i = 0 listing = self.topLevelItem(i) @@ -683,11 +721,15 @@ class chumArea(RightClickTree): @QtCore.pyqtSlot() def expandGroup(self): item = self.currentItem() - if item.text(0) in self.groups: - self.mainwindow.config.delGroup(str(item.text(0))) + text = str(item.text(0)) + if text.find(" ") != -1: + text = text[0:text.rfind(" ")] + + if text in self.groups: + self.mainwindow.config.delGroup(text) expand = item.isExpanded() - self.mainwindow.config.addGroup(str(item.text(0)), not expand) - elif item.text(0) == "Chums": + self.mainwindow.config.addGroup(text, not expand) + elif text == "Chums": self.mainwindow.config.set("openDefaultGroup", not item.isExpanded()) def addItem(self, chumLabel): if hasattr(self, 'groups'): @@ -696,13 +738,16 @@ class chumArea(RightClickTree): self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) else: if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): - if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchFlags(0)): + if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchContains): child_1 = QtGui.QTreeWidgetItem(["%s" % (chumLabel.chum.group)]) self.addTopLevelItem(child_1) if self.openGroups[self.groups.index("%s" % (chumLabel.chum.group))]: child_1.setExpanded(True) for i in range(self.topLevelItemCount()): - if self.topLevelItem(i).text(0) == chumLabel.chum.group: + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == chumLabel.chum.group: break self.topLevelItem(i).addChild(chumLabel) self.topLevelItem(i).sortChildren(0, QtCore.Qt.AscendingOrder) @@ -740,6 +785,8 @@ class chumArea(RightClickTree): for c in chums: oldmood = c.mood c.setMood(mood) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() return oldmood def updateColor(self, handle, color): chums = self.findItems(handle, QtCore.Qt.MatchFlags(0)) @@ -1638,8 +1685,11 @@ class PesterWindow(MovingWindow): def pesterSelectedChum(self): curChum = self.chumList.currentItem() if curChum: - if curChum.text(0) not in self.chumList.groups and \ - curChum.text(0) != "Chums": + text = str(curChum.text(0)) + if text.find(" ") != -1: + text = text[0:text.rfind(" ")] + if text not in self.chumList.groups and \ + text != "Chums": self.newConversationWindow(curChum) @QtCore.pyqtSlot(QtGui.QListWidgetItem) def newConversationWindow(self, chumlisting): @@ -2102,6 +2152,14 @@ class PesterWindow(MovingWindow): elif emptygroupssetting and not curemptygroup: self.chumList.showAllGroups() self.config.set("emptyGroups", emptygroupssetting) + # online numbers + onlinenumsetting = self.optionmenu.showonlinenumbers.isChecked() + curonlinenum = self.config.showOnlineNumbers() + if onlinenumsetting and not curonlinenum: + self.chumList.showOnlineNumbers() + elif curonlinenum and not onlinenumsetting: + self.chumList.hideOnlineNumbers() + self.config.set("onlineNumbers", onlinenumsetting) self.optionmenu = None @QtCore.pyqtSlot() From 150e72f75d4905f712757eed6d25b296308bfd71 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 8 Apr 2011 01:27:17 -0700 Subject: [PATCH 011/166] Re-add: Update online numbers on drag-drop --- pesterchum.py | 53 +++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index b8ba5ec..f308697 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -595,6 +595,8 @@ class chumArea(RightClickTree): self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) self.takeItem(chumLabel) self.addItem(chumLabel) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() def chumoptionsmenu(self): self.optionsMenu = self.chumoptions @@ -678,31 +680,32 @@ class chumArea(RightClickTree): if self.openGroups[i]: child_1.setExpanded(True) def showOnlineNumbers(self): - self.hideOnlineNumbers() - totals = {'Chums': 0} - online = {'Chums': 0} - for g in self.groups: - totals[str(g)] = 0 - online[str(g)] = 0 - for c in self.chums: - yes = c.mood.name() != "offline" - if c.group == "Chums": - totals[str(c.group)] = totals[str(c.group)]+1 - if yes: - online[str(c.group)] = online[str(c.group)]+1 - elif c.group in totals: - totals[str(c.group)] = totals[str(c.group)]+1 - if yes: - online[str(c.group)] = online[str(c.group)]+1 - else: - totals["Chums"] = totals["Chums"]+1 - if yes: - online["Chums"] = online["Chums"]+1 - for i in range(self.topLevelItemCount()): - text = str(self.topLevelItem(i).text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] - self.topLevelItem(i).setText(0, "%s (%i/%i)" % (text, online[text], totals[text])) + if hasattr(self, 'groups'): + self.hideOnlineNumbers() + totals = {'Chums': 0} + online = {'Chums': 0} + for g in self.groups: + totals[str(g)] = 0 + online[str(g)] = 0 + for c in self.chums: + yes = c.mood.name() != "offline" + if c.group == "Chums": + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + elif c.group in totals: + totals[str(c.group)] = totals[str(c.group)]+1 + if yes: + online[str(c.group)] = online[str(c.group)]+1 + else: + totals["Chums"] = totals["Chums"]+1 + if yes: + online["Chums"] = online["Chums"]+1 + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.topLevelItem(i).setText(0, "%s (%i/%i)" % (text, online[text], totals[text])) def hideOnlineNumbers(self): for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) From 1e8ae7d03e6b559b43a34ee3e525721e258ed249 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 8 Apr 2011 01:35:28 -0700 Subject: [PATCH 012/166] Re-add: Fix dragging and dropping between groups with online numbers --- pesterchum.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index f308697..b494899 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -586,10 +586,16 @@ class chumArea(RightClickTree): def dropEvent(self, event): item = self.itemAt(event.pos()) if item: - if item.text(0) == "Chums" or item.text(0) in self.groups: - group = item.text(0) + text = str(item.text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == "Chums" or text in self.groups: + group = text else: - group = item.parent().text(0) + ptext = str(item.parent().text(0)) + if ptext.rfind(" ") != -1: + ptext = ptext[0:ptext.rfind(" ")] + group = ptext chumLabel = event.source().currentItem() chumLabel.chum.group = group self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) From 339cf975aeb863ba372dfc8633439586252c00f4 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 10 Apr 2011 23:17:47 -0700 Subject: [PATCH 013/166] Re-add: Bug fix: stop first run segfault --- pesterchum.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pesterchum.py b/pesterchum.py index b494899..9ae453a 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -743,6 +743,20 @@ class chumArea(RightClickTree): def addItem(self, chumLabel): if hasattr(self, 'groups'): if chumLabel.chum.group not in self.groups: + if self.topLevelItemCount() == 0: + child_1 = QtGui.QTreeWidgetItem(["Chums"]) + self.addTopLevelItem(child_1) + if self.mainwindow.config.openDefaultGroup(): + child_1.setExpanded(True) + else: + text = str(self.topLevelItem(0).text(0)) + if text.find(" ") != -1: + text = text[0:text.rfind(" ")] + if text != "Chums": + child_1 = QtGui.QTreeWidgetItem(["Chums"]) + self.insertTopLevelItems(0, [child_1]) + if self.mainwindow.config.openDefaultGroup(): + child_1.setExpanded(True) self.topLevelItem(0).addChild(chumLabel) self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) else: From 45e6fe9e19a7a104aa28c4bb193003f7c3caf1f9 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 11 Apr 2011 19:11:28 -0700 Subject: [PATCH 014/166] Re-add: Fix groups stuff to work with online numbers --- pesterchum.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 9ae453a..3c1e030 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -611,7 +611,10 @@ class chumArea(RightClickTree): def moveGroupMenu(self): currentGroup = self.currentItem() if currentGroup: - currentGroup = currentGroup.parent().text(0) + text = str(currentGroup.parent().text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + currentGroup = text self.moveMenu.clear() actGroup = QtGui.QActionGroup(self) @@ -629,8 +632,12 @@ class chumArea(RightClickTree): if event.reason() == QtGui.QContextMenuEvent.Mouse: listing = self.itemAt(event.pos()) self.setCurrentItem(listing) - if self.currentItem().text(0) == "Chums" or \ - self.currentItem().text(0) in self.groups: + text = str(self.currentItem().text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == "Chums": + return + elif text in self.groups: self.groupoptionsmenu() else: self.chumoptionsmenu() @@ -673,7 +680,10 @@ class chumArea(RightClickTree): def showAllGroups(self): curgroups = [] for i in range(self.topLevelItemCount()): - curgroups.append(self.topLevelItem(i).text(0)) + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + curgroups.append(text) if "Chums" not in curgroups: child_1 = QtGui.QTreeWidgetItem(["Chums"]) self.addTopLevelItem(child_1) @@ -907,7 +917,10 @@ class chumArea(RightClickTree): index = self.indexOfTopLevelItem(currentGroup) if index != -1: expanded = currentGroup.isExpanded() - self.mainwindow.config.delGroup(str(currentGroup.text(0))) + text = str(currentGroup.text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.mainwindow.config.delGroup(text) self.mainwindow.config.addGroup(gname, expanded) gTemp = self.mainwindow.config.getGroups() self.groups = [g[0] for g in gTemp] @@ -916,13 +929,18 @@ class chumArea(RightClickTree): currentGroup.child(i).chum.group = gname self.mainwindow.chumdb.setGroup(currentGroup.child(i).chum.handle, gname) currentGroup.setText(0, gname) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() self.renamegroupdialog = None @QtCore.pyqtSlot() def removeGroup(self): currentGroup = self.currentItem() if not currentGroup: return - self.mainwindow.config.delGroup(currentGroup.text(0)) + text = str(currentGroup.text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + self.mainwindow.config.delGroup(text) gTemp = self.mainwindow.config.getGroups() self.groups = [g[0] for g in gTemp] self.openGroups = [g[1] for g in gTemp] From d3c674e4b30cff553ceaffb1095b4bf5460051e0 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 14 Apr 2011 00:13:20 -0700 Subject: [PATCH 015/166] Fix a few things that didn't get merged quite right --- generic.py | 4 +++- pesterchum.py | 56 +++++++++++++++++++++------------------------------ 2 files changed, 26 insertions(+), 34 deletions(-) diff --git a/generic.py b/generic.py index 40c890c..7901394 100644 --- a/generic.py +++ b/generic.py @@ -44,7 +44,9 @@ class RightClickTree(QtGui.QTreeWidget): if event.reason() == QtGui.QContextMenuEvent.Mouse: listing = self.itemAt(event.pos()) self.setCurrentItem(listing) - self.optionsMenu.popup(event.globalPos()) + self.getOptionsMenu().popup(event.globalPos()) + def getOptionsMenu(self): + return self.optionsMenu class MultiTextDialog(QtGui.QDialog): def __init__(self, title, parent, *queries): diff --git a/pesterchum.py b/pesterchum.py index 3c1e030..8ea4e71 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -18,7 +18,7 @@ from menus import PesterChooseQuirks, PesterChooseTheme, \ PesterChooseProfile, PesterOptions, PesterUserlist, PesterMemoList, \ LoadingScreen, AboutPesterchum from dataobjs import PesterProfile, Mood, pesterQuirk, pesterQuirks -from generic import PesterIcon, RightClickList, MultiTextDialog, PesterList +from generic import PesterIcon, RightClickList, RightClickTree, MultiTextDialog, PesterList from convo import PesterTabWindow, PesterText, PesterInput, PesterConvo from parsetools import convertTags, addTimeInitial from memos import PesterMemo, MemoTabWindow, TimeTracker @@ -517,10 +517,9 @@ class chumArea(RightClickTree): self.hideEmptyGroups() if self.mainwindow.config.showOnlineNumbers(): self.showOnlineNumbers() - self.chumoptions = QtGui.QMenu(self) - self.groupoptions = QtGui.QMenu(self) + self.groupMenu = QtGui.QMenu(self) self.canonMenu = QtGui.QMenu(self) - self.optionsMenu = self.chumoptions + self.optionsMenu = QtGui.QMenu(self) self.pester = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/pester"], self) self.connect(self.pester, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('activateChum()')) @@ -544,22 +543,25 @@ class chumArea(RightClickTree): self, QtCore.SLOT('removeGroup()')) self.renamegroup = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/renamegroup"], self) self.connect(self.renamegroup, QtCore.SIGNAL('triggered()'), - self, QtCore.SLOT('renameGroup()')) self.chumoptions.addAction(self.pester) + self, QtCore.SLOT('renameGroup()')) - self.chumoptions.addAction(self.logchum) - self.chumoptions.addAction(self.blockchum) - self.chumoptions.addAction(self.removechum) + self.optionsMenu.addAction(self.pester) + self.optionsMenu.addAction(self.logchum) + self.optionsMenu.addAction(self.blockchum) + self.optionsMenu.addAction(self.removechum) self.moveMenu = QtGui.QMenu(self.mainwindow.theme["main/menus/rclickchumlist/movechum"], self) - self.chumoptions.addMenu(self.moveMenu) + self.optionsMenu.addMenu(self.moveMenu) + self.optionsMenu.addAction(self.reportchum) self.moveGroupMenu() - self.groupoptions.addAction(self.renamegroup) - self.groupoptions.addAction(self.removegroup) + self.groupMenu.addAction(self.renamegroup) + self.groupMenu.addAction(self.removegroup) self.canonMenu.addAction(self.pester) self.canonMenu.addAction(self.logchum) self.canonMenu.addAction(self.blockchum) self.canonMenu.addAction(self.removechum) + self.canonMenu.addMenu(self.moveMenu) self.canonMenu.addAction(self.reportchum) self.canonMenu.addAction(self.findalts) @@ -581,7 +583,15 @@ class chumArea(RightClickTree): if currenthandle in canon_handles: return self.canonMenu else: - return self.optionsMenu + text = str(self.currentItem().text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == "Chums": + return self.groupMenu + elif text in self.groups: + return self.groupMenu + else: + return self.optionsMenu def dropEvent(self, event): item = self.itemAt(event.pos()) @@ -604,10 +614,6 @@ class chumArea(RightClickTree): if self.mainwindow.config.showOnlineNumbers(): self.showOnlineNumbers() - def chumoptionsmenu(self): - self.optionsMenu = self.chumoptions - def groupoptionsmenu(self): - self.optionsMenu = self.groupoptions def moveGroupMenu(self): currentGroup = self.currentItem() if currentGroup: @@ -627,22 +633,6 @@ class chumArea(RightClickTree): actGroup.addAction(movegroup) self.connect(actGroup, QtCore.SIGNAL('triggered(QAction *)'), self, QtCore.SLOT('moveToGroup(QAction *)')) - def contextMenuEvent(self, event): - #fuckin Qt - if event.reason() == QtGui.QContextMenuEvent.Mouse: - listing = self.itemAt(event.pos()) - self.setCurrentItem(listing) - text = str(self.currentItem().text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] - if text == "Chums": - return - elif text in self.groups: - self.groupoptionsmenu() - else: - self.chumoptionsmenu() - self.moveGroupMenu() - self.optionsMenu.popup(event.globalPos()) def addChum(self, chum): if len([c for c in self.chums if c.handle == chum.handle]) != 0: @@ -1863,7 +1853,7 @@ class PesterWindow(MovingWindow): @QtCore.pyqtSlot(QtCore.QString) def removeChum(self, chumlisting): self.config.removeChum(chumlisting) - def reportChum(self, handle): + def reportChum(self, handle): (reason, ok) = QtGui.QInputDialog.getText(self, "Report User", "Enter the reason you are reporting this user (optional):") if ok: self.sendMessage.emit("REPORT %s %s" % (handle, reason) , "calSprite") From 74d86bd7dfbc83cd612ee69be3851805215ad6f1 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 14 Apr 2011 00:43:45 -0700 Subject: [PATCH 016/166] Make logviewer compliant with @links --- logviewer.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/logviewer.py b/logviewer.py index b543731..84eb105 100644 --- a/logviewer.py +++ b/logviewer.py @@ -219,15 +219,18 @@ class PesterLogText(PesterText): def mousePressEvent(self, event): url = self.anchorAt(event.pos()) if url != "": - if url[0] != "#": + if url[0] == "#" and url != "#pesterchum": + self.parent().parent.showMemos(url[1:]) + elif url[0] == "@": + handle = unicode(url[1:]) + self.parent().parent.newConversation(handle) + else: QtGui.QDesktopServices.openUrl(QtCore.QUrl(url, QtCore.QUrl.TolerantMode)) QtGui.QTextEdit.mousePressEvent(self, event) def mouseMoveEvent(self, event): QtGui.QTextEdit.mouseMoveEvent(self, event) if self.anchorAt(event.pos()): if self.viewport().cursor().shape != QtCore.Qt.PointingHandCursor: - url = self.anchorAt(event.pos()) - if url != "" and url[0] != "#": - self.viewport().setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) + self.viewport().setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) else: self.viewport().setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) From fd0375f14fb47dd55bfcbb59e2891f34b9be50c4 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 15 Apr 2011 02:45:10 -0700 Subject: [PATCH 017/166] Option to view pesterlog from conversation window --- convo.py | 16 ++++++++++++++++ logviewer.py | 12 ++++++++++++ 2 files changed, 28 insertions(+) diff --git a/convo.py b/convo.py index fab1ed6..24ea2f4 100644 --- a/convo.py +++ b/convo.py @@ -449,8 +449,12 @@ class PesterConvo(QtGui.QFrame): self.reportchum = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/report"], self) self.connect(self.reportchum, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('reportThisChum()')) + self.logchum = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/viewlog"], self) + self.connect(self.logchum, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('openChumLogs()')) self.optionsMenu.addAction(self.quirksOff) + self.optionsMenu.addAction(self.logchum) self.optionsMenu.addAction(self.addChumAction) self.optionsMenu.addAction(self.blockAction) self.optionsMenu.addAction(self.reportchum) @@ -634,6 +638,15 @@ class PesterConvo(QtGui.QFrame): @QtCore.pyqtSlot(bool) def toggleQuirks(self, toggled): self.applyquirks = not toggled + @QtCore.pyqtSlot() + def openChumLogs(self): + currentChum = self.chum.handle + self.mainwindow.chumList.pesterlogviewer = PesterLogViewer(currentChum, self.mainwindow.config, self.mainwindow.theme, self.mainwindow) + self.connect(self.mainwindow.chumList.pesterlogviewer, QtCore.SIGNAL('rejected()'), + self.mainwindow.chumList, QtCore.SLOT('closeActiveLog()')) + self.mainwindow.chumList.pesterlogviewer.show() + self.mainwindow.chumList.pesterlogviewer.raise_() + self.mainwindow.chumList.pesterlogviewer.activateWindow() messageSent = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) windowClosed = QtCore.pyqtSignal(QtCore.QString) @@ -644,3 +657,6 @@ class PesterConvo(QtGui.QFrame): "v": {"center": QtCore.Qt.AlignVCenter, "top": QtCore.Qt.AlignTop, "bottom": QtCore.Qt.AlignBottom } } + +# the import is way down here to avoid recursive imports +from logviewer import PesterLogViewer diff --git a/logviewer.py b/logviewer.py index 84eb105..5badf81 100644 --- a/logviewer.py +++ b/logviewer.py @@ -234,3 +234,15 @@ class PesterLogText(PesterText): self.viewport().setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) else: self.viewport().setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) + + def contextMenuEvent(self, event): + textMenu = self.createStandardContextMenu() + if self.textSelected: + self.submitLogAction = QtGui.QAction("Submit to Pesterchum QDB", self) + self.connect(self.submitLogAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('submitLog()')) + textMenu.addAction(self.submitLogAction) + a = textMenu.actions() + a[0].setText("Copy Plain Text") + a[0].setShortcut(self.tr("Ctrl+C")) + textMenu.exec_(event.globalPos()) From 63fe5fc612fd806fb43d5651469804b16ed38c37 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 17 Apr 2011 00:46:11 -0700 Subject: [PATCH 018/166] Switch individual quirks on and off --- dataobjs.py | 7 ++++++- menus.py | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/dataobjs.py b/dataobjs.py index b3e22d4..3879555 100644 --- a/dataobjs.py +++ b/dataobjs.py @@ -49,8 +49,13 @@ class pesterQuirk(object): raise ValueError("Quirks must be given a dictionary") self.quirk = quirk self.type = self.quirk["type"] + if "on" not in self.quirk: + self.quirk["on"] = True + self.on = self.quirk["on"] def apply(self, string, first=False, last=False): - if self.type == "prefix": + if not self.on: + return string + elif self.type == "prefix": return self.quirk["value"] + string elif self.type == "suffix": return string + self.quirk["value"] diff --git a/menus.py b/menus.py index 2402705..ed9380f 100644 --- a/menus.py +++ b/menus.py @@ -37,6 +37,22 @@ class PesterQuirkList(QtGui.QListWidget): self.setDragEnabled(True) self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) + def addItem(self, item): + self.connect(self, QtCore.SIGNAL('itemChanged(QListWidgetItem *)'), + self, QtCore.SLOT('changeCheckState()')) + item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) + if item.quirk.on: + item.setCheckState(2) + else: + item.setCheckState(0) + QtGui.QListWidget.addItem(self, item) + + @QtCore.pyqtSlot() + def changeCheckState(self): + item = self.currentItem() + if not item: return + item.quirk.quirk["on"] = item.quirk.on = (item.checkState() == QtCore.Qt.Checked) + def currentQuirk(self): return self.item(self.currentRow()) From 34cce3a80e3ca8fc43253ca1621f4976e3876955 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 17 Apr 2011 01:37:07 -0700 Subject: [PATCH 019/166] Access pesterlogs from memos. Fix forgotten theme changing texts --- convo.py | 1 + memos.py | 25 +++++++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/convo.py b/convo.py index 24ea2f4..5a13e21 100644 --- a/convo.py +++ b/convo.py @@ -595,6 +595,7 @@ class PesterConvo(QtGui.QFrame): self.addChumAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/addchum"]) self.blockAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/blockchum"]) self.unblockchum.setText(self.mainwindow.theme["main/menus/rclickchumlist/unblockchum"]) + self.logchum.setText(self.mainwindow.theme["main/menus/rclickchumlist/viewlog"]) self.textArea.changeTheme(theme) self.textInput.changeTheme(theme) diff --git a/memos.py b/memos.py index 36066e1..443ee8a 100644 --- a/memos.py +++ b/memos.py @@ -9,6 +9,7 @@ from generic import PesterIcon, RightClickList, mysteryTime from convo import PesterConvo, PesterInput, PesterText, PesterTabWindow from parsetools import convertTags, addTimeInitial, timeProtocol, \ lexMessage, colorBegin, colorEnd, mecmd +from logviewer import PesterLogViewer def delta2txt(d, format="pc"): @@ -154,7 +155,7 @@ class TimeTracker(list): timed = self.getTime() return not self.open[timed] def getTime(self): - if self.current >= 0: + if self.current >= 0: return self[self.current] else: return None @@ -301,7 +302,7 @@ class MemoText(PesterText): else: self.append(convertTags(lexmsg)) window.chatlog.log(parent.channel, lexmsg) - + def changeTheme(self, theme): self.initTheme(theme) def submitLogTitle(self): @@ -350,7 +351,11 @@ class PesterMemo(PesterConvo): self.quirksOff.setCheckable(True) self.connect(self.quirksOff, QtCore.SIGNAL('toggled(bool)'), self, QtCore.SLOT('toggleQuirks(bool)')) + self.logchum = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/viewlog"], self) + self.connect(self.logchum, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('openChumLogs()')) self.optionsMenu.addAction(self.quirksOff) + self.optionsMenu.addAction(self.logchum) self.timeslider = TimeSlider(QtCore.Qt.Horizontal, self) self.timeinput = TimeInput(self.timeslider, self) @@ -405,7 +410,7 @@ class PesterMemo(PesterConvo): margins = self.mainwindow.theme["memos/margins"] self.layout.setContentsMargins(margins["left"], margins["top"], margins["right"], margins["bottom"]) - + self.setLayout(self.layout) if parent: @@ -471,11 +476,13 @@ class PesterMemo(PesterConvo): self.addchumAction.setText(theme["main/menus/rclickchumlist/addchum"]) self.banuserAction.setText(theme["main/menus/rclickchumlist/banuser"]) self.opAction.setText(theme["main/menus/rclickchumlist/opuser"]) + self.quirksOff.setText(theme["main/menus/rclickchumlist/quirksoff"]) + self.logchum.setText(theme["main/menus/rclickchumlist/viewlog"]) self.timeinput.setFixedWidth(theme["memos/time/text/width"]) self.timeinput.setStyleSheet(theme["memos/time/text/style"]) slidercss = "QSlider { %s } QSlider::groove { %s } QSlider::handle { %s }" % (theme["memos/time/slider/style"], theme["memos/time/slider/groove"], theme["memos/time/slider/handle"]) - self.timeslider.setStyleSheet(slidercss) + self.timeslider.setStyleSheet(slidercss) larrow = PesterIcon(self.mainwindow.theme["memos/time/arrows/left"]) self.timeswitchl.setIcon(larrow) @@ -730,6 +737,16 @@ class PesterMemo(PesterConvo): if send: self.sendtime() + @QtCore.pyqtSlot() + def openChumLogs(self): + currentChum = self.channel + self.mainwindow.chumList.pesterlogviewer = PesterLogViewer(currentChum, self.mainwindow.config, self.mainwindow.theme, self.mainwindow) + self.connect(self.mainwindow.chumList.pesterlogviewer, QtCore.SIGNAL('rejected()'), + self.mainwindow.chumList, QtCore.SLOT('closeActiveLog()')) + self.mainwindow.chumList.pesterlogviewer.show() + self.mainwindow.chumList.pesterlogviewer.raise_() + self.mainwindow.chumList.pesterlogviewer.activateWindow() + @QtCore.pyqtSlot() def sendtime(self): me = self.mainwindow.profile() From 501b50e3680a63244a66ebb8b458b737eb33153c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 17 Apr 2011 02:20:50 -0700 Subject: [PATCH 020/166] Github markdown and organize the Changelog, Todo, and Readme --- CHANGELOG.mkdn | 30 +- README.mkdn | 722 +++++++++++++++++++++++++++++++++++++++++++++++++ TODO | 31 ++- readme.txt | 665 --------------------------------------------- 4 files changed, 757 insertions(+), 691 deletions(-) create mode 100644 README.mkdn delete mode 100644 readme.txt diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 191275c..f36ce1a 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -7,6 +7,11 @@ Visit https://github.com/illuminatedwax/pesterchum for git access and source cod CHANGELOG --------- +### 3.14.2 +* Individually turn quirks on and off - Kiooeht [evacipatedBox] +* Bug fixes + * Logviewer updates + ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] * Art - Grimlive [aquaMarinist] @@ -15,17 +20,16 @@ CHANGELOG * Quirks reverse() function - illuminatedwax [ghostDunk] * Timestamps - Kiooeht [evacipatedBox] * Logviewer - Kiooeht [evacipatedBox] -* Quirk ordering - alGore -* # of users in a memo - alGore +* Quirk ordering - [alGore] +* # of users in a memo - [alGore] * @links to users - illuminatedwax [ghostDunk] -* Support for REPORT and ALT to calSprite built in - -BUG FIXES: -* mixer bug fixed -* "flags" bug fixed -* incorrect characters in memos no longer break log file names -* memos now do not break on case-sensitivity -* fixed QDB address -* now lines too long to send in a single message are split up correctly -* quirk replace bug fixed -* pesterClientXXX profiles no longer saved \ No newline at end of file +* Support for REPORT and ALT to calSprite built in - illuminatedwax [ghostDunk] +* Bug fixes: + * mixer bug fixed + * "flags" bug fixed + * incorrect characters in memos no longer break log file names + * memos now do not break on case-sensitivity + * fixed QDB address + * now lines too long to send in a single message are split up correctly + * quirk replace bug fixed + * pesterClientXXX profiles no longer saved diff --git a/README.mkdn b/README.mkdn new file mode 100644 index 0000000..8be325f --- /dev/null +++ b/README.mkdn @@ -0,0 +1,722 @@ +Welcome to Pesterchum 3.14.1! +============================= + +WHAT'S NEW? +----------- +* Quirks now have a lower(), scramble(), and reverse() function! +* Timestamps - check your Config! +* Logviewer - View logs right in Pesterchum! +* Quirk ordering - order your quirks so they work right! +* # of users in a memo - You can now see how many users are in a memo. +* @links to users - typing @ before user's name creates a link + that will pester them! +* Support for REPORT and ALT to calSprite built in - + If someone is bothering you, or a canon handle is idle, or + for whatever reason, right click their name and go to "Report" + to report them to a moderator. + If you want to talk to an alt canon handle, just right click + the username! + if you have an alt handle, register it with calSprite! + +Here's some tips to help you get started: +----------------------------------------- + +- You can import your old Pesterchum contacts by going to +CLIENT->IMPORT and opening your pesterchum.cfg file. This is usually +in the 2.5 base directory or in Tinychum's data folder. +- Some themes can be confusing if you haven't used the program +already! Some hints: + * Trollian: Moods are set by clicking the timelines, and you +can add chums by clicking "Chumproll." Moods correspond to the troll +that would most likely exhibit them. You can go offline by hitting the +"Timelines" menu bar. + + * Gold: Add chums by hitting the two chumpeoples in the upper left +corner. Go offline by clicking the "CHUMHANDLE:" label. + + * Enamel: Add chums by hitting the "CHUMROLL" label. Go offline by +clicking the upper left hand corner. + +- Right-click is your friend! There are useful right click +options on the chumroll, by clicking the chumhandle in a conversation, +online userlist, or the list of memo browsers. + +Cool features: +-------------- + +- Importing from old PC. It can already do your chumlist, soon it will +import your quirks from 2.5 and TC as well! +- Profile switching. Instantly switch profiles, loading your color and +quirks with it. +- Theme switching and creation. So far this comes with a few official +themes! But you can also make your own: just make a new directory in +the themes folder with the proper images and style.js file. The +style.js file will be documented soon, but feel free to poke at it. +- Memos. Memos that are a lot more like the ones in the comic and +allow you to appear at multiple times in one chat. +- Quirks: Prefix, suffix, simple replace, regexp replace (like in +2.5), random replacement, and an auto-mispeller :P +- Chum groups. Organize your chums into collapsible groups for easy +management. +- Block/user list +- Add/block chums directly from a conversation, the userlist, or memo +userlist. +- Timestamps saved in logs and shown in conversations if wanted. +- Logging. Logs are output in bbcode (for easy forum posting), html, +and plain text. +- Logviewer for easy log reading inside Pesterchum +- Idling. You can set yourself idle manually, and the computer will +set it for you after 10 minutes. +- Improved /me. Any letters immediately following /me will be +processed correctly. e.g. /me'd rather be fishing -> -- ghostDunk'd +[GD'D] rather be fishing -- +- Hyperlinks! Now if someone types http://whatever it will turn into a +link you can just click and follow. No more copy/paste. +- Memo links. Link your friends to your memos. +- Smilies. We've added about 30-40 smilies from the forums. There is a +list later on in this readme. +- Submit quotes directly to the Pesterchum QDB! + +FA% +--- +Q: Norton says it has a virus and then deletes it! +A: Read this helpful Norton FAQ: + +Alright, here's a guide to by-passing Norton: + +* First, to download Pesterchum: + 1. Make sure you're on a Moderator account. Moreso for the Norton steps than these ones. + 2. Download the .zip file, not the .exe file. + 3. Unzip the .zip file onto memory. Pesterchum should now be installed. + +* Now, to by-pass Norton: + 1. Make sure you're still on a moderator account. + 2. Open up Norton. + 3. Click on 'Settings' up in the upperright hand corner. + 4. Click on 'Anitivirus', off to the upper left. It has a small image of a needle or something similar off to it's side. + 5. There's a word that reads 'SONAR protection' halfway to the bottomleft. Off to it's right, there's a bar that's half green. Click on the bar. + 6. It will warn you about turning off SONAR. Have it set to turn back on when the system restarts. + 7. If done properly, the background for the main page of Norton(what you saw on steps 2-3) has turned an apocaliptic red. Feel free to close Norton now. Keep in mind to stay off suspicious online sites now. + 8. Open up Pesterchum, and let the chummy convos begin. + +* When finished: + 1. Log off of Pesterchum. LOG OFF, NOT CLOSE IT. + 2. Then, you can either shut off your comp, and Norton will re-enable SONAR, or you can repeat steps 1-5, except turning the red bar green. If done right, Norton will be it's happy color again. + 3, Keep in mind that you must repeat all of this(other than the download) every time you want to get on Pesterchum. + +* Hope this is helpful! + +(This guide brought to you by the slightly combined efforts of empireomega and Xanaomin) + +------- + +Q: I can't connect because my school/university/network/stolen wifi is blocking my connection! OR I can't seem to connect to the server at all and I'm not running any firewalls! +A: Edit your pesterchum.js file. Open it up in notepad or something, and then edit the beginning so it looks like this: + +{"port": "1413", .... + +where the .... is the rest of the gobbledygook there. + +------- + +Q: The mood buttons on Pesterchum 6.0 don't match up to what it sets your mood to! What gives? +A: The mood names are just there to look canon. It is intentional. + +------- + +Q: I'm appearing as offline to 2.5 users/other users appear the wrong +mood? What's happeninggggg +A: The 2.5 people decided to change the mood protocol. When I made +this program, I decided to go with Tinychat's original protocol (and +extend it). So some moods will appear wrong between 2.5 +users. (*COUGH*tell them to switch to 3.14*COUGH*) + +------- + +Q: Pesterchum 2.5 users don't get my /me messages correctly! +A: That's because they implemented the /me command differently. + +------- + +Q: Can we resize the main window? +A: No. This is done so we can offer more flexible UI creation. It's a +lot easier to make themes that look canon this way. + +------- + +Q: Can we have different chum rolls for different users? +A: No. Instead what we're going to do in a later update is make chum +groups to organize people in your list. + +------- + +Q: Can we delete profiles? +A: Yes. Go to the profiles directory and delete the corresponding +username file. + +------- + +Q: You should make it so you can ban specific time frames in memos. +A: This was too complicated to implement, and I don't have the UI +quite figured out. This will probably go in a future update. + + +DOCUMENTATION +------------- + +STARTING +-------- + +If this is your first time running Pesterchum 3.14, you need to create +a new profile. Just type in your chum handle in the box and click the +color swatch to pick your color. Check the "default" checkbox to make +this your default profile. + +BASIC PESTERING +--------------- +To begin pestering, first click the "ADD CHUM" button and type in +their pester handle. The handle must be all lower case except for one +capital letter. Once you've added that person, they will appear on +your chumroll. You can double click to begin pestering them, or +right-click to bring up a menu where you can pester them, block them, +or remove them from your chumroll. (Or you can select them and hit +"enter" OR hit the "PESTER" button.) + +Once you begin pestering somebody (or they begin pestering you), it +will bring up the conversation window. Here you can type to your +chum. Also remember that if you right-click on the area just above the +Pesterlog, it will bring up a list of options: Quirks Off will turn +your quirks off, Add Chum will add this chum to your list, and Block +will block them. (Those last two options are useful if you are being +pestered by someone you don't have on your list yet!) + +While pestering your chum, here are some useful features: + +* Type /me to create a system message. "/me facepalms." will generate: +-- ghostDunk [GD] facepalms. -- + You can also append 's after /me like so: "/me's computer exploded." +-- ghostDunk's [GD'S] computer exploded. -- + In fact, any characters you type after a /me before the space will + be added: "/meing is the Ghost Nation's official pastime." +-- ghostDunking [GDING] is the Ghost Nation's official pastime. -- + +* Color tags! If you feel the need to talk about The Green Sun or add + some appleberry blast to your conversation, just use color + tags. These work like in TC 1.5: colored text. But in + PC 3.14, you can use type your color in a lot of different ways: + - You can use the familiar r,g,b method: + "The Green Sun" + - You can use HTML tags: + "DURR I'M KARKAT AND I'M A HUGE IDIOT" + - You can even use plain color names: + "D4V3 TH1S 1S SO D3C4D3NT" + (list: http://www.w3schools.com/css/css_colornames.asp) + - You don't even have to add the if you are lazy. Just use a + new color tag whenever you want to change colors and PC 3.14 will + add the extra tags for you. + +* URLS (anything with http:// in front of it) will automatically be + detected and made into a link you can CLIPK. + +* You can also link people to memos by typing "#" and the name of the + menu like so: #R41NBOW_RUMPUS_P4RTYTOWN + Clicking the link will open up the memo select menu. + +* Smilies! There are a list of smilies at the end of this document; + they are based on the MSPA Forum smilies. They don't animate, though + :( + +* Don't worry about your quirks screwing up any of the above: PC will + apply your quirks AFTER it figures out color codes, links, smilies, etc. + +* Pressing the up arrow will cycle through a history of your comments, + so if you want to retype something, you can pull it up. + +* You can submit directly to the Pesterchum Quote Database! If you + have a particualarly awesome conversation, you can submit it to the + database by simply highlighting the good part of the conversation, + right clicking it and choosing "Submit to Pesterchum QDB!" + +MEMOS +----- +One of the most interesting features to make was the memos, and make +them as close to the comic as I could without actually inventing time +travel. So here is the TIME TUTORIAL: + +* Joining: When you go CLIENT->MEMOS, you'll see a list of memos pop up +-- those are memos people already have open. To join one, just +highlight one of them. If you want to make a new memo, just type it in +the input. If you'd like to make it secret, so that it doesn't appear +in the list, check "HIDDEN CHANNEL". Then, choose what timeframe you +want to appear to be in. So if you wanted to be in the future, you +could move the slider to the right. You can also enter the time +manually. Then hit JOIN. + +* Explaining time: Time in memos, unlike Homestuck, will not be relative +to your position. That is, if you choose 4:13 in the future, you will +not see someone who has set their time as "current" (or "0") in the +past: you will see them as "current" and yourself as "future." This is +because we do not have time travel! Memo time setting is basically an +RP mechanic: you are pretending to be from the future! It will also +help keep everyone straight: everyone will see the same thing! + +* The time slider: The slider shows your current position in the time +stream. If you want to change your time frame, simply move the slider +(or type a time in) and hit GO. This will open a new time frame, and +the next time you type a message, the memo will show that you've +responded to it in that time frame. You can now switch between your +time frames simply by clicking the arrows in the right hand +corner. (THIS COMES IN HANDY IF YOU WANT TO ARGUE WITH YOURSELF.) You +can have any number of open time frames, and the program will number +them in the order in which you open them (like in the comic). You can +have one of your time frames cease responding to the memo by hitting +"CLOSE." If you open that time frame again, the program will remember +the number it originally gave it. If you want to be mysteeeeeeeerious, +you can type in "?" and you will appear as ???. + +* The memo viewer list: To the right is a list of people currently +browsing the memo. A shade icon next to their name means they are the +"operator" of the memo: meaning they can kick ("ban") people from the +memo and make other people operators as well. A "ban" is not permanent +(like in the comic), and the program will ask if you want to reconnect +to the memo. You kick and op people by right clicking their name in +the window. You can also add them to your chumroll! + +* Inviting people to your memo: You can link to a memo by simply typing +"#nameofmemo" in any conversation or memo window. So you can say: + + CG: NOW YOU, ME, AND EGBERT NEED TO HAVE A CHAT. + CG: CLICK IT. + CG: #FRUITYRUMPUSASSHOLEFACTORY + + and it will appear as a link that you can click, which will open the + memo chooser window. + +CLIENT MENU +----------- + +###OPTIONS: +* Tabbed Conversations: Turns tabbed conversations on and off. Don't +worry if you do this in the middle of a conversation, PC will save +them for you. + +* Sounds On: Uncheck to shut it the fuck up. + +* Hide Offline Chums: Turning this option on will hide all offline chums +off your chumroll. + +* Show Empty Groups: Turning this option of will show empty groups. + +* Time Stamps: Turning this on will show timestamps in your chats. + +* 12/24 hour: Formatting for timestamps. Whether you want them in 12 or +24 hour time. + +* Show Seconds: Turning this on will show the seconds in your timestamps. + +###MEMOS: +Opens the Memo list as above. + +###USERLIST: +Shows a list of all the users that are currently logged onto +Pesterchum. Right-click their names and select "ADD CHUM" to add them +to your chum roll! + +###IDLE: +Make yourself an idle chum. You will appear as idle until you +uncheck this box, or if you *actually* go idle (stop using the +computer) for 10 minutes and then come back. + +###IMPORT: +Imports your old Pesterchum 2.0, 2.5 and Tinychum chum +rolls. This will also import your old quirks from Pesterchum 2.5. + +###RECONNECT: +Forces PC to reconnect to the server. + +###EXIT: +noooooooooooooooooooooooo + +PROFILE MENU +------------ + +###THEME: +Select a new theme! Be warned that switching themes will change +the user interface, so just... look out for that I guess! + +###QUIRKS: +Opens the quirks menu. More on that below! + +###TROLLSLUM: +Opens up the window where you can view people you've +blocked. You can add and remove people to the list from here as well. + +###COLOR: +Change your text color here! + +###SWITCH: +Switch your profile! You can have any number of profiles, and +PC will save your color, quirks, and theme for that profile. Chumrolls +and block lists are the same for all profiles. Feel free to have +multiple instances of PC running on two or more handles! + +CALSPRITE +--------- +calSprite is the bot that helps moderate canon handle usage! Simply pester +calSprite with the world "HELP" (turn your quirks off!) and you +will get instructions on how to use calSprite! + +QUIRKS +------ +There are six kinds of quirks! I'll teach you how to use them all! +(In this section, I will use quotes ("") around things so it's clearer +to see exactly what to type! Don't include these quotes when using +these examples! + +Also, note that your quirks will not work until you save them by +hitting "OK" on the Quirk window. + +* Prefix/Suffix: +This will put text before or after everything you +say. So for example, we can use prefixes to emulate part of Nepeta or +Equius' quirks: +
+    PREFIX: ":33 < "
+    You type: "*ac twitches her friendly whiskers at ct*"
+    Result:
+    AC: :33 < *ac twitches her friendly whiskers at ct*
+    
+ +
+    PREFIX: "D --> "
+    You type: "Hi"
+    Result:
+    CT: D --> Hi
+    
+ + Suffixes work the same way, but at the end of the message: + +
+    SUFFIX: "!!!"
+    You type: hey there
+    Result:
+    GD: hey there!!!
+    
+ + Remember that it doesn't automatically add a space! You'll need to add + it in (see CT and AC examples again!) + +* Simple Replace: +This will simply take a set of characters and replace them with other +characters. + * Let's add a quirk to our Nepeta: +
+    Replace: "ee" With: "33"
+    You type: "*ac saunters from her dark cave a little bit sleepy from
+    the recent kill*"
+    Result:
+    AC: :33 < *ac saunters from her dark cave a little bit sl33py from the
+    recent kill*
+    
+ + * Let's add two to Equius: +
+    Replace: "loo" With: "100"
+    Replace: "x" With "%"
+    You type: "look"
+    Result:
+    CT: D --> 100k
+
+    You type: "What are you expecting to accomplish with this"
+    Result:
+    CT: D --> What are you e%pecting to accomplish with this
+    
+ + * Aradia: +
+    Replace: "o" With: "0"
+    You type: "and the reward would be within our reach"
+    Result:
+    AA: and the reward w0uld be within 0ur reach
+    
+ + Notice that it is CASE SENSITIVE. So in the above case, if you typed + "ABSCOND", it would not replace the "O". + + * Sollux: +
+    Replace: "i" With: "ii"
+    Replace: "s" With: "2"
+    
+ + * Eridan: +
+    Replace: "v" With: "vv"
+    Replace: "w" With: "ww"
+    
+ + * Feferi: +
+    Replace: "h" with: ")("
+    Replace: "H" with: ")("
+    Replace: "E" with: "-E"
+    
+ +* Regexp Replace: +This is a more complex kind of replacement. Regexp stands for "regular +expression", a kind of programming language (yes, it is a language) +used to find and replace text. PC 3.14 also includes a function to +handle capitalization (upper()). If you want to learn it on your own, +I suggest you start with the Python tutorial +(http://docs.python.org/howto/regex.html) since PC 3.14 uses Python's +regexps. Check out V2.5's tutorial too, as that is a pretty good start +as well. + + * Let's start with Karkat. Regexps are just like your every day find and + replace: they search for a string that matches what you want to + replace, and replaces it with... the replacement. +
Regexp: "(.)" Replace with: "upper(\1)"
+ + Three concepts here. Let's look at the regexp. "(.)" has two things + going on. The first is that ".". In regexp speak, "." is the wildcard: + it will match *any* character -- and just one. + + The parentheses tell the regexp to *save* what's inside them so you + can put it back when you replace. That's what the "\1" is for -- it + means, "put the match inside parentheses #1 here". You can have any + number of parentheses. + + * "upper()" is a function special to PC 3.14 -- it will uppercase + anything inside the parentheses. So in this case, upper will uppercase + "\1" -- which, as you recall is what we found inside the + parentheses. Which was *every* character. So to sum up, it replaces + every character with an uppercase version of that character. WHICH + MAKES YOU TALK LIKE THIS. + + * Let's look at Terezi next. +
+    Regexp: "[aA]" Replace with: "4"
+    Regexp: "[iI]" Replace with: "1"
+    Regexp: "[eE]" Replace with: "3"
+    Regexp: "(.)" Replace with: "upper(\1)"
+    
+ + We already know what the last line does. But what's up with those + brackets? What's their deal? Basically, in regular expressions, + brackets indicate a list of matching characters. So, basically any + single character within the brackets will be matched. In this case, + either "a" or "A" will be matched and replaced with "4," and likewise, + "i" and "I" will be replaced with "1", and "e" and "E" will be + replaced with "3." + + Just like there is an "upper()" function, there is also a "lower()" + function. It acts just like "upper()" but instead makes everything + inside the parentheses lowercase. This allows you to do things like: +
+    Regexp: "(.)" Replace with: "lower(\1)"
+    You type: "I AM YELLING"
+    Result:
+    GD: i am yelling
+    
+ + Along with the upper and lower functions is a "scramble()" function. + The purpose of this function is to randomly scramble anything inside + the parentheses. +
+    Regexp: "(\w)(\w*)(\w)" Replace with: "\1scramble(\2)\3"
+    You type: "hello there"
+    Result:
+    GD: hlelo trhee
+    
+ + This particular regular expression scrambles all of the letters in + the middle of a word. Notice that the "h" and "o" at the beginning + and end of hello remain in place while the other letters are scrambled. + + You should also know that "^" is a special character in brackets. If + placed immediately after the opening bracket (like "[^"), then the + brackets instead match every character *except* the ones in the + brackets. So, for example, if you wanted to have a quirk where you + capitalized all your letters *except* o, you'd do this: +
+    Regexp: "([^o])" Replace with: "upper(\1)"
+    You type: "hello there"
+    Result:
+    GD: HELLo THERE
+    
+ + You can also specify a *range* of characters inside the brackets, by + using the "-" character. [a-z] will match any lowercase letter. You + can combine them, too: [a-z0-9] will match any digit and lowercase letter. + + There are also different shortcuts for character types: + * \d matches any digit; same as [0-9] + * \D matches any non-digit; same as [^0-9] + * \s matches any spaces + * \S matches any non-space + * \w matches any alphanumeric character; same as [a-zA-Z0-9_] + * \W matches any non-alphanumeric character; same as [^a-zA-Z0-9_] + + You can include this inside brackets, too. + + There's also a special character, \b. What \b does is make sure that + you are at the beginning or end of a word. + * So with that knowledge, let's try Kanaya: +
+    Regexp: \b(\w) Replace with: upper(\1)
+    You type: "i suggest you come to terms with it"
+    Result:
+    GA: I Suggest You Come To Terms With It
+    
+ + Another feature of regular expressions is the ability to match + *repeated* characters. There are three repeat characters: the "*", the + "+", "?", and "{m,n}". They work by playing them after the character, + or character type you want to match. (So, you could say "\s+" or ".*") + + The "*" character matches ZERO or more of that character. So, for + example, "f*" would match "f" and "ff" -- and any other character! + That's right, every character counts as matching it zero times. Yeah, + it's weird. I suggest you use... + + The "+" character matches ONE or more of that character. So, if we + wanted to have a character that wanted to elongate their s's so that + they used four 's's every time, like sssso, but didn't want to have + eight s's when using words with double s's, like pass, we'd do this: +
+    Regexp: "s+" Replace with: "ssss"
+    You type: "you shall not pass"
+    Result:
+    UU: you sssshall not passss
+    
+ + As for the other two, I can't really think of any useful quirks to be + made with them. But to let you know, "?" matches either 0 or 1 of that + character, so "trolls?" would match "troll" and "trolls". "{m,n}" + matches between m and n characters. (If you leave out 'n', any number + of characters more than m will be matched.) So "s{2,4}" will match + "ss", "sss", and "ssss" and that's it. + + Now with repeating expressions, we can do something like make EVERY + other WORD capitalized: +
+    Regexp: "(\w+) (\w+)" Replace with: "upper(\1) \2"
+    You type: "this is pretty annoying i bet"
+    Result:
+    GD: THIS is PRETTY annoying I bet
+    
+ + The \1 matches the first word -- which has been matched because the + word is alphanumeric characters, repeated once or more -- and \2 + matches the second word. + + Another operator to use is the "|", which will match more than one set + of characters. For example, "black|red" will match "black" or + "red". If you want to match something in the middle of words, you have + to use parentheses: "(black|red) romance" will match "black romance" + and "red romance". + + Finally, there are the "^" and "$" characters. Yes, we already did the + "^" character, but this is OUTSIDE of brackets, not INSIDE. "^" + matches the beginning of a message, and "$" matches the end of it. You + can use this to make more sophisticated prefix and suffix + behaviors. For example, if we have a quirk that adds "..." to the end + of all our messages, we can set it up so it doesn't do that if we put + punctuation [?!.] at the end. So: +
+    Regexp: "([^?!.])$" Replace with: "\1..."
+    
+ + This will match the end of any message as long as it doesn't have + "?", "!", or "." at the end. Then it will replace it with whatever the + last character of the sentence was (remember we're replacing it, so we + have to put it back!) and add "..." at the end. + + Careful with the beginning and ending replaces -- if you use more than + one, you may not get what you expect because they will ALL be applied, + one after the other! This is a bug in my opinion, that I plan to fix! + +* Random replace: +Just like the regexp replace, except that instead of just one thing to +replace it with, you give it a list. PC will then choose from that +list randomly. So let's say I want to randomly end my sentences with +either "bro" or "dog": +
+    Regexp: "$" Replace with: "bro" and "dog"
+    
+ + * You can also imitate Araida's random "ribbits" in between words: +
+    Regexp: "\s" Replace with: " ribbit ", " ", " ", " ", " ", " ", etc....
+    
+ + where " " is just a blank space added a bunch of times. (You can see + how many blank spaces you've added by clicking on the list.) You have + to add the spaces because each entry has the same chance of being + selected. (Yes, I know this could be improved.) If you add " ribbit " + and 9 spaces, " ribbit " will have a 1/10 chance of being picked. + + Also note that if you add more than one prefix or more than one + suffix, it will pick randomly from them instead of adding them both! + +* Mispeller: +Be careful with thsi one. The mispeller will randomly mispell x% of +the words you type -- where x is the percentage you set the slider +to. I have attempted to mimic SBaHJ mispelling style but whoof knows +what will happen oh god ive created a mosnter + + +SMILIES +------- +Here's a list of smilies: + +* :rancorous: +* :apple: +* :bathearst: +* :cathearst: +* :woeful: +* :pleasant: +* :blueghost: +* :slimer: +* :candycorn: +* :cheer: +* :duhjohn: +* :datrump: +* :facepalm: +* :bonk: +* :mspa: +* :gun: +* :cal: +* :amazedfirman: +* :amazed: +* :chummy: +* :cool: +* :smooth: +* :distraughtfirman +* :distraught: +* :insolent: +* :bemused: +* :3: +* :mystified: +* :pranky: +* :tense: +* :record: +* :squiddle: +* :tab: +* :beetip: +* :flipout: +* :befuddled: +* :pumpkin: +* :trollcool: +* :jadecry: +* :ecstatic: +* :relaxed: +* :discontent: +* :devious: +* :sleek: +* :detestful: +* :mirthful: +* :manipulative: +* :vigorous: +* :perky: +* :acceptant: diff --git a/TODO b/TODO index 1a89703..d5cff54 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,8 @@ -Bugs: -* weird memo time bug -* Windows doesn't show style sheet sometimes?? Maybe related to themes. -* Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages -* Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash -* enamel doesnt have time arrows +Todo +=============== -Features: +Features +-------- * different sound for memos/pesters * OOC * log viewer needs to have BBCode/HTML/Text copy modes @@ -17,10 +14,18 @@ Features: * Spy mode * Animated -Mac Bugs: -* Mac doesn't show tabs right, display gifs, highlighting thing? -SS: also the background image is broken -SS: in the one-on-one pester it resizes with the window -SS: but the memo one doesn't resize -SS: and the arrows next to the time thing overlap the CLOSE button +Bugs +---- +* weird memo time bug +* Windows doesn't show style sheet sometimes?? Maybe related to themes. +* Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages +* Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash +* enamel doesnt have time arrows +Mac Bugs +-------- +* Mac doesn't show tabs right, display gifs, highlighting thing? +* SS: also the background image is broken +* SS: in the one-on-one pester it resizes with the window +* SS: but the memo one doesn't resize +* SS: and the arrows next to the time thing overlap the CLOSE button diff --git a/readme.txt b/readme.txt deleted file mode 100644 index 6304041..0000000 --- a/readme.txt +++ /dev/null @@ -1,665 +0,0 @@ -Welcome to Pesterchum 3.14.1! - -WHAT'S NEW? ------------ -* Quirks now have a lower(), scramble(), and reverse() function! -* Timestamps - check your Config! -* Logviewer - View logs right in Pesterchum! -* Quirk ordering - order your quirks so they work right! -* # of users in a memo - You can now see how many users are in a memo. -* @links to users - typing @ before user's name creates a link - that will pester them! -* Support for REPORT and ALT to calSprite built in - - If someone is bothering you, or a canon handle is idle, or - for whatever reason, right click their name and go to "Report" - to report them to a moderator. - If you want to talk to an alt canon handle, just right click - the username! - if you have an alt handle, register it with calSprite! - -Here's some tips to help you get started: - -- You can import your old Pesterchum contacts by going to -CLIENT->IMPORT and opening your pesterchum.cfg file. This is usually -in the 2.5 base directory or in Tinychum's data folder. -- Some themes can be confusing if you haven't used the program -already! Some hints: - -Trollian: Moods are set by clicking the timelines, and you -can add chums by clicking "Chumproll." Moods correspond to the troll -that would most likely exhibit them. You can go offline by hitting the -"Timelines" menu bar. - -Gold: Add chums by hitting the two chumpeoples in the upper left -corner. Go offline by clicking the "CHUMHANDLE:" label. - -Enamel: Add chums by hitting the "CHUMROLL" label. Go offline by -clicking the upper left hand corner. - -- Right-click is your friend! There are useful right click -options on the chumroll, by clicking the chumhandle in a conversation, -online userlist, or the list of memo browsers. - -Cool features: -- Importing from old PC. It can already do your chumlist, soon it will -import your quirks from 2.5 and TC as well! -- Profile switching. Instantly switch profiles, loading your color and -quirks with it. -- Theme switching and creation. So far this comes with a few official -themes! But you can also make your own: just make a new directory in -the themes folder with the proper images and style.js file. The -style.js file will be documented soon, but feel free to poke at it. -- Memos. Memos that are a lot more like the ones in the comic and -allow you to appear at multiple times in one chat. -- Quirks: Prefix, suffix, simple replace, regexp replace (like in -2.5), random replacement, and an auto-mispeller :P -- Chum groups. Organize your chums into collapsible groups for easy -management. -- Block/user list -- Add/block chums directly from a conversation, the userlist, or memo -userlist. -- Timestamps saved in logs and shown in conversations if wanted. -- Logging. Logs are output in bbcode (for easy forum posting), html, -and plain text. -- Logviewer for easy log reading inside Pesterchum -- Idling. You can set yourself idle manually, and the computer will -set it for you after 10 minutes. -- Improved /me. Any letters immediately following /me will be -processed correctly. e.g. /me'd rather be fishing -> -- ghostDunk'd -[GD'D] rather be fishing -- -- Hyperlinks! Now if someone types http://whatever it will turn into a -link you can just click and follow. No more copy/paste. -- Memo links. Link your friends to your memos. -- Smilies. We've added about 30-40 smilies from the forums. There is a -list later on in this readme. -- Submit quotes directly to the Pesterchum QDB! - -FA% ---- -Q: Norton says it has a virus and then deletes it! -A: Read this helpful Norton FAQ: - -Alright, here's a guide to by-passing Norton: -First, to download Pesterchum: -1: Make sure you're on a Moderator account. Moreso for the Norton steps than these ones. -2: Download the .zip file, not the .exe file. -3: Unzip the .zip file onto memory. Pesterchum should now be installed. - -Now, to by-pass Norton: -1: Make sure you're still on a moderator account. -2: Open up Norton. -3: Click on 'Settings' up in the upperright hand corner. -4: Click on 'Anitivirus', off to the upper left. It has a small image of a needle or something similar off to it's side. -5: There's a word that reads 'SONAR protection' halfway to the bottomleft. Off to it's right, there's a bar that's half green. Click on the bar. -6: It will warn you about turning off SONAR. Have it set to turn back on when the system restarts. -7: If done properly, the background for the main page of Norton(what you saw on steps 2-3) has turned an apocaliptic red. Feel free to close Norton now. Keep in mind to stay off suspicious online sites now. -8: Open up Pesterchum, and let the chummy convos begin. - -When finished: -First, Log off of Pesterchum. LOG OFF, NOT CLOSE IT. -Then, you can either shut off your comp, and Norton will re-enable SONAR, or you can repeat steps 1-5, except turning the red bar green. If done right, Norton will be it's happy color again. -Keep in mind that you must repeat all of this(other than the download) every time you want to get on Pesterchum. - -Hope this is helpful! - -(This guide brought to you by the slightly combined efforts of empireomega and Xanaomin) - -Q: I can't connect because my school/university/network/stolen wifi is blocking my connection! OR I can't seem to connect to the server at all and I'm not running any firewalls! -A: Edit your pesterchum.js file. Open it up in notepad or something, and then edit the beginning so it looks like this: - -{"port": "1413", .... - -where the .... is the rest of the gobbledygook there. - -Q: The mood buttons on Pesterchum 6.0 don't match up to what it sets your mood to! What gives? -A: The mood names are just there to look canon. It is intentional. - -Q: I'm appearing as offline to 2.5 users/other users appear the wrong -mood? What's happeninggggg -A: The 2.5 people decided to change the mood protocol. When I made -this program, I decided to go with Tinychat's original protocol (and -extend it). So some moods will appear wrong between 2.5 -users. (*COUGH*tell them to switch to 3.14*COUGH*) - -Q: Pesterchum 2.5 users don't get my /me messages correctly! -A: That's because they implemented the /me command differently. - -Q: Can we resize the main window? -A: No. This is done so we can offer more flexible UI creation. It's a -lot easier to make themes that look canon this way. - -Q: Can we have different chum rolls for different users? -A: No. Instead what we're going to do in a later update is make chum -groups to organize people in your list. - -Q: Can we delete profiles? -A: Yes. Go to the profiles directory and delete the corresponding -username file. - -Q: You should make it so you can ban specific time frames in memos. -A: This was too complicated to implement, and I don't have the UI -quite figured out. This will probably go in a future update. - - -DOCUMENTATION -------------- - -STARTING --------- - -If this is your first time running Pesterchum 3.14, you need to create -a new profile. Just type in your chum handle in the box and click the -color swatch to pick your color. Check the "default" checkbox to make -this your default profile. - -BASIC PESTERING ---------------- -To begin pestering, first click the "ADD CHUM" button and type in -their pester handle. The handle must be all lower case except for one -capital letter. Once you've added that person, they will appear on -your chumroll. You can double click to begin pestering them, or -right-click to bring up a menu where you can pester them, block them, -or remove them from your chumroll. (Or you can select them and hit -"enter" OR hit the "PESTER" button.) - -Once you begin pestering somebody (or they begin pestering you), it -will bring up the conversation window. Here you can type to your -chum. Also remember that if you right-click on the area just above the -Pesterlog, it will bring up a list of options: Quirks Off will turn -your quirks off, Add Chum will add this chum to your list, and Block -will block them. (Those last two options are useful if you are being -pestered by someone you don't have on your list yet!) - -While pestering your chum, here are some useful features: - -* Type /me to create a system message. "/me facepalms." will generate: --- ghostDunk [GD] facepalms. -- - You can also append 's after /me like so: "/me's computer exploded." --- ghostDunk's [GD'S] computer exploded. -- - In fact, any characters you type after a /me before the space will - be added: "/meing is the Ghost Nation's official pastime." --- ghostDunking [GDING] is the Ghost Nation's official pastime. -- - -* Color tags! If you feel the need to talk about The Green Sun or add - some appleberry blast to your conversation, just use color - tags. These work like in TC 1.5: colored text. But in - PC 3.14, you can use type your color in a lot of different ways: - - You can use the familiar r,g,b method: - "The Green Sun" - - You can use HTML tags: - "DURR I'M KARKAT AND I'M A HUGE IDIOT" - - You can even use plain color names: - "D4V3 TH1S 1S SO D3C4D3NT" - (list: http://www.w3schools.com/css/css_colornames.asp) - - You don't even have to add the if you are lazy. Just use a - new color tag whenever you want to change colors and PC 3.14 will - add the extra tags for you. - -* URLS (anything with http:// in front of it) will automatically be - detected and made into a link you can CLIPK. - -* You can also link people to memos by typing "#" and the name of the - menu like so: #R41NBOW_RUMPUS_P4RTYTOWN - Clicking the link will open up the memo select menu. - -* Smilies! There are a list of smilies at the end of this document; - they are based on the MSPA Forum smilies. They don't animate, though - :( - -* Don't worry about your quirks screwing up any of the above: PC will - apply your quirks AFTER it figures out color codes, links, smilies, etc. - -* Pressing the up arrow will cycle through a history of your comments, - so if you want to retype something, you can pull it up. - -* You can submit directly to the Pesterchum Quote Database! If you - have a particualarly awesome conversation, you can submit it to the - database by simply highlighting the good part of the conversation, - right clicking it and choosing "Submit to Pesterchum QDB!" - -MEMOS ------ -One of the most interesting features to make was the memos, and make -them as close to the comic as I could without actually inventing time -travel. So here is the TIME TUTORIAL: - -Joining: When you go CLIENT->MEMOS, you'll see a list of memos pop up --- those are memos people already have open. To join one, just -highlight one of them. If you want to make a new memo, just type it in -the input. If you'd like to make it secret, so that it doesn't appear -in the list, check "HIDDEN CHANNEL". Then, choose what timeframe you -want to appear to be in. So if you wanted to be in the future, you -could move the slider to the right. You can also enter the time -manually. Then hit JOIN. - -Explaining time: Time in memos, unlike Homestuck, will not be relative -to your position. That is, if you choose 4:13 in the future, you will -not see someone who has set their time as "current" (or "0") in the -past: you will see them as "current" and yourself as "future." This is -because we do not have time travel! Memo time setting is basically an -RP mechanic: you are pretending to be from the future! It will also -help keep everyone straight: everyone will see the same thing! - -The time slider: The slider shows your current position in the time -stream. If you want to change your time frame, simply move the slider -(or type a time in) and hit GO. This will open a new time frame, and -the next time you type a message, the memo will show that you've -responded to it in that time frame. You can now switch between your -time frames simply by clicking the arrows in the right hand -corner. (THIS COMES IN HANDY IF YOU WANT TO ARGUE WITH YOURSELF.) You -can have any number of open time frames, and the program will number -them in the order in which you open them (like in the comic). You can -have one of your time frames cease responding to the memo by hitting -"CLOSE." If you open that time frame again, the program will remember -the number it originally gave it. If you want to be mysteeeeeeeerious, -you can type in "?" and you will appear as ???. - -The memo viewer list: To the right is a list of people currently -browsing the memo. A shade icon next to their name means they are the -"operator" of the memo: meaning they can kick ("ban") people from the -memo and make other people operators as well. A "ban" is not permanent -(like in the comic), and the program will ask if you want to reconnect -to the memo. You kick and op people by right clicking their name in -the window. You can also add them to your chumroll! - -Inviting people to your memo: You can link to a memo by simply typing -"#nameofmemo" in any conversation or memo window. So you can say: - -CG: NOW YOU, ME, AND EGBERT NEED TO HAVE A CHAT. -CG: CLICK IT. -CG: #FRUITYRUMPUSASSHOLEFACTORY - -and it will appear as a link that you can click, which will open the -memo chooser window. - -CLIENT MENU ------------ - -OPTIONS: -Tabbed Conversations: Turns tabbed conversations on and off. Don't -worry if you do this in the middle of a conversation, PC will save -them for you. - -Sounds On: Uncheck to shut it the fuck up. - -Hide Offline Chums: Turning this option on will hide all offline chums -off your chumroll. - -Show Empty Groups: Turning this option of will show empty groups. - -Time Stamps: Turning this on will show timestamps in your chats. - -12/24 hour: Formatting for timestamps. Whether you want them in 12 or -24 hour time. - -Show Seconds: Turning this on will show the seconds in your timestamps. - -MEMOS: Opens the Memo list as above. - -USERLIST: Shows a list of all the users that are currently logged onto -Pesterchum. Right-click their names and select "ADD CHUM" to add them -to your chum roll! - -IDLE: Make yourself an idle chum. You will appear as idle until you -uncheck this box, or if you *actually* go idle (stop using the -computer) for 10 minutes and then come back. - -IMPORT: Imports your old Pesterchum 2.0, 2.5 and Tinychum chum -rolls. This will also import your old quirks from Pesterchum 2.5. - -RECONNECT: Forces PC to reconnect to the server. - -EXIT: noooooooooooooooooooooooo - -PROFILE MENU ------------- - -THEME: Select a new theme! Be warned that switching themes will change -the user interface, so just... look out for that I guess! - -QUIRKS: Opens the quirks menu. More on that below! - -TROLLSLUM: Opens up the window where you can view people you've -blocked. You can add and remove people to the list from here as well. - -COLOR: Change your text color here! - -SWITCH: Switch your profile! You can have any number of profiles, and -PC will save your color, quirks, and theme for that profile. Chumrolls -and block lists are the same for all profiles. Feel free to have -multiple instances of PC running on two or more handles! - -CALSPRITE ---------- -calSprite is the bot that helps moderate canon handle usage! Simply pester -calSprite with the world "HELP" (turn your quirks off!) and you -will get instructions on how to use calSprite! - -QUIRKS ------- -There are six kinds of quirks! I'll teach you how to use them all! -(In this section, I will use quotes ("") around things so it's clearer -to see exactly what to type! Don't include these quotes when using -these examples! - -Also, note that your quirks will not work until you save them by -hitting "OK" on the Quirk window. - -Prefix/Suffix: This will put text before or after everything you -say. So for example, we can use prefixes to emulate part of Nepeta or -Equius' quirks: - -PREFIX: ":33 < " -You type: "*ac twitches her friendly whiskers at ct*" -Result: -AC: :33 < *ac twitches her friendly whiskers at ct* - -PREFIX: "D --> " -You type: "Hi" -Result: -CT: D --> Hi - -Suffixes work the same way, but at the end of the message: -SUFFIX: "!!!" -You type: hey there -Result: -GD: hey there!!! - -Remember that it doesn't automatically add a space! You'll need to add -it in (see CT and AC examples again!) - -Simple Replace: -This will simply take a set of characters and replace them with other -characters. Let's add a quirk to our Nepeta: - -Replace: "ee" With: "33" -You type: "*ac saunters from her dark cave a little bit sleepy from -the recent kill*" -Result: -AC: :33 < *ac saunters from her dark cave a little bit sl33py from the -recent kill* - -Let's add two to Equius: -Replace: "loo" With: "100" -Replace: "x" With "%" -You type: "look" -Result: -CT: D --> 100k -You type: "What are you expecting to accomplish with this" -Result: -CT: D --> What are you e%pecting to accomplish with this - -Aradia: -Replace: "o" With: "0" -You type: "and the reward would be within our reach" -Result: -AA: and the reward w0uld be within 0ur reach - -Notice that it is CASE SENSITIVE. So in the above case, if you typed -"ABSCOND", it would not replace the "O". - -Sollux: -Replace: "i" With: "ii" -Replace: "s" With: "2" - -Eridan: -Replace: "v" With: "vv" -Replace: "w" With: "ww" - -Feferi: -Replace: "h" with: ")(" -Replace: "H" with: ")(" -Replace: "E" with: "-E" - -Regexp Replace: - -This is a more complex kind of replacement. Regexp stands for "regular -expression", a kind of programming language (yes, it is a language) -used to find and replace text. PC 3.14 also includes a function to -handle capitalization (upper()). If you want to learn it on your own, -I suggest you start with the Python tutorial -(http://docs.python.org/howto/regex.html) since PC 3.14 uses Python's -regexps. Check out V2.5's tutorial too, as that is a pretty good start -as well. - -Let's start with Karkat. Regexps are just like your every day find and -replace: they search for a string that matches what you want to -replace, and replaces it with... the replacement. - -Regexp: "(.)" Replace with: "upper(\1)" - -Three concepts here. Let's look at the regexp. "(.)" has two things -going on. The first is that ".". In regexp speak, "." is the wildcard: -it will match *any* character -- and just one. - -The parentheses tell the regexp to *save* what's inside them so you -can put it back when you replace. That's what the "\1" is for -- it -means, "put the match inside parentheses #1 here". You can have any -number of parentheses. - -"upper()" is a function special to PC 3.14 -- it will uppercase -anything inside the parentheses. So in this case, upper will uppercase -"\1" -- which, as you recall is what we found inside the -parentheses. Which was *every* character. So to sum up, it replaces -every character with an uppercase version of that character. WHICH -MAKES YOU TALK LIKE THIS. - -Let's look at Terezi next. - -Regexp: "[aA]" Replace with: "4" -Regexp: "[iI]" Replace with: "1" -Regexp: "[eE]" Replace with: "3" -Regexp: "(.)" Replace with: "upper(\1)" - -We already know what the last line does. But what's up with those -brackets? What's their deal? Basically, in regular expressions, -brackets indicate a list of matching characters. So, basically any -single character within the brackets will be matched. In this case, -either "a" or "A" will be matched and replaced with "4," and likewise, -"i" and "I" will be replaced with "1", and "e" and "E" will be -replaced with "3." - -Just like there is an "upper()" function, there is also a "lower()" -function. It acts just like "upper()" but instead makes everything -inside the parentheses lowercase. This allows you to do things like: - -Regexp: "(.)" Replace with: "lower(\1)" -You type: "I AM YELLING" -Result: -GD: i am yelling - -Along with the upper and lower functions is a "scramble()" function. -The purpose of this function is to randomly scramble anything inside -the parentheses. - -Regexp: "(\w)(\w*)(\w)" Replace with: "\1scramble(\2)\3" -You type: "hello there" -Result: -GD: hlelo trhee - -This particular regular expression scrambles all of the letters in -the middle of a word. Notice that the "h" and "o" at the beginning -and end of hello remain in place while the other letters are scrambled. - -You should also know that "^" is a special character in brackets. If -placed immediately after the opening bracket (like "[^"), then the -brackets instead match every character *except* the ones in the -brackets. So, for example, if you wanted to have a quirk where you -capitalized all your letters *except* o, you'd do this: - -Regexp: "([^o])" Replace with: "upper(\1)" -You type: "hello there" -Result: -GD: HELLo THERE - -You can also specify a *range* of characters inside the brackets, by -using the "-" character. [a-z] will match any lowercase letter. You -can combine them, too: [a-z0-9] will match any digit and lowercase letter. - -There are also different shortcuts for character types: - -\d matches any digit; same as [0-9] -\D matches any non-digit; same as [^0-9] -\s matches any spaces -\S matches any non-space -\w matches any alphanumeric character; same as [a-zA-Z0-9_] -\W matches any non-alphanumeric character; same as [^a-zA-Z0-9_] - -You can include this inside brackets, too. - -There's also a special character, \b. What \b does is make sure that -you are at the beginning or end of a word. So with that knowledge, -let's try Kanaya: - -Regexp: \b(\w) Replace with: upper(\1) -You type: "i suggest you come to terms with it" -Result: -GA: I Suggest You Come To Terms With It - -Another feature of regular expressions is the ability to match -*repeated* characters. There are three repeat characters: the "*", the -"+", "?", and "{m,n}". They work by playing them after the character, -or character type you want to match. (So, you could say "\s+" or ".*") - -The "*" character matches ZERO or more of that character. So, for -example, "f*" would match "f" and "ff" -- and any other character! -That's right, every character counts as matching it zero times. Yeah, -it's weird. I suggest you use... - -The "+" character matches ONE or more of that character. So, if we -wanted to have a character that wanted to elongate their s's so that -they used four 's's every time, like sssso, but didn't want to have -eight s's when using words with double s's, like pass, we'd do this: - -Regexp: "s+" Replace with: "ssss" -You type: "you shall not pass" -Result: -UU: you sssshall not passss - -As for the other two, I can't really think of any useful quirks to be -made with them. But to let you know, "?" matches either 0 or 1 of that -character, so "trolls?" would match "troll" and "trolls". "{m,n}" -matches between m and n characters. (If you leave out 'n', any number -of characters more than m will be matched.) So "s{2,4}" will match -"ss", "sss", and "ssss" and that's it. - -Now with repeating expressions, we can do something like make EVERY -other WORD capitalized: - -Regexp: "(\w+) (\w+)" Replace with: "upper(\1) \2" -You type: "this is pretty annoying i bet" -Result: -GD: THIS is PRETTY annoying I bet - -The \1 matches the first word -- which has been matched because the -word is alphanumeric characters, repeated once or more -- and \2 -matches the second word. - -Another operator to use is the "|", which will match more than one set -of characters. For example, "black|red" will match "black" or -"red". If you want to match something in the middle of words, you have -to use parentheses: "(black|red) romance" will match "black romance" -and "red romance". - -Finally, there are the "^" and "$" characters. Yes, we already did the -"^" character, but this is OUTSIDE of brackets, not INSIDE. "^" -matches the beginning of a message, and "$" matches the end of it. You -can use this to make more sophisticated prefix and suffix -behaviors. For example, if we have a quirk that adds "..." to the end -of all our messages, we can set it up so it doesn't do that if we put -punctuation [?!.] at the end. So: - -Regexp: "([^?!.])$" Replace with: "\1..." - -This will match the end of any message as long as it doesn't have -"?", "!", or "." at the end. Then it will replace it with whatever the -last character of the sentence was (remember we're replacing it, so we -have to put it back!) and add "..." at the end. - -Careful with the beginning and ending replaces -- if you use more than -one, you may not get what you expect because they will ALL be applied, -one after the other! This is a bug in my opinion, that I plan to fix! - -Random replace: - -Just like the regexp replace, except that instead of just one thing to -replace it with, you give it a list. PC will then choose from that -list randomly. So let's say I want to randomly end my sentences with -either "bro" or "dog": - -Regexp: "$" Replace with: "bro" and "dog" - -You can also imitate Araida's random "ribbits" in between words: - -Regexp: "\s" Replace with: " ribbit ", " ", " ", " ", " ", " ", etc.... - -where " " is just a blank space added a bunch of times. (You can see -how many blank spaces you've added by clicking on the list.) You have -to add the spaces because each entry has the same chance of being -selected. (Yes, I know this could be improved.) If you add " ribbit " -and 9 spaces, " ribbit " will have a 1/10 chance of being picked. - -Also note that if you add more than one prefix or more than one -suffix, it will pick randomly from them instead of adding them both! - -Mispeller: - -Be careful with thsi one. The mispeller will randomly mispell x% of -the words you type -- where x is the percentage you set the slider -to. I have attempted to mimic SBaHJ mispelling style but whoof knows -what will happen oh god ive created a mosnter - - -SMILIES -------- -Here's a list of smilies: -:rancorous: -:apple: -:bathearst: -:cathearst: -:woeful: -:pleasant: -:blueghost: -:slimer: -:candycorn: -:cheer: -:duhjohn: -:datrump: -:facepalm: -:bonk: -:mspa: -:gun: -:cal: -:amazedfirman: -:amazed: -:chummy: -:cool: -:smooth: -:distraughtfirman -:distraught: -:insolent: -:bemused: -:3: -:mystified: -:pranky: -:tense: -:record: -:squiddle: -:tab: -:beetip: -:flipout: -:befuddled: -:pumpkin: -:trollcool: -:jadecry: -:ecstatic: -:relaxed: -:discontent: -:devious: -:sleek: -:detestful: -:mirthful: -:manipulative: -:vigorous: -:perky: -:acceptant: From f985245a1281632e1f5b8194f5a358d396224c52 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 17 Apr 2011 02:27:39 -0700 Subject: [PATCH 021/166] Make Todo render with markdown --- TODO => TODO.mkdn | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename TODO => TODO.mkdn (100%) diff --git a/TODO b/TODO.mkdn similarity index 100% rename from TODO rename to TODO.mkdn From 1e9cb478ec5c56ec0beb74412a9467b0b7a33b3b Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 17 Apr 2011 02:32:21 -0700 Subject: [PATCH 022/166] Good god, markdown is finicky --- README.mkdn | 54 ++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/README.mkdn b/README.mkdn index 8be325f..76d281a 100644 --- a/README.mkdn +++ b/README.mkdn @@ -79,8 +79,8 @@ list later on in this readme. FA% --- -Q: Norton says it has a virus and then deletes it! -A: Read this helpful Norton FAQ: +Q: Norton says it has a virus and then deletes it!
+A: Read this helpful Norton FAQ: Alright, here's a guide to by-passing Norton: @@ -108,56 +108,56 @@ Alright, here's a guide to by-passing Norton: (This guide brought to you by the slightly combined efforts of empireomega and Xanaomin) -------- +------------------------------------------------------------------------------------ -Q: I can't connect because my school/university/network/stolen wifi is blocking my connection! OR I can't seem to connect to the server at all and I'm not running any firewalls! -A: Edit your pesterchum.js file. Open it up in notepad or something, and then edit the beginning so it looks like this: +Q: I can't connect because my school/university/network/stolen wifi is blocking my connection! OR I can't seem to connect to the server at all and I'm not running any firewalls!
+A: Edit your pesterchum.js file. Open it up in notepad or something, and then edit the beginning so it looks like this: {"port": "1413", .... where the .... is the rest of the gobbledygook there. -------- +------------------------------------------------------------------------------------ -Q: The mood buttons on Pesterchum 6.0 don't match up to what it sets your mood to! What gives? -A: The mood names are just there to look canon. It is intentional. +Q: The mood buttons on Pesterchum 6.0 don't match up to what it sets your mood to! What gives?
+A: The mood names are just there to look canon. It is intentional. -------- +------------------------------------------------------------------------------------ -Q: I'm appearing as offline to 2.5 users/other users appear the wrong -mood? What's happeninggggg -A: The 2.5 people decided to change the mood protocol. When I made +Q: I'm appearing as offline to 2.5 users/other users appear the wrong +mood? What's happeninggggg
+A: The 2.5 people decided to change the mood protocol. When I made this program, I decided to go with Tinychat's original protocol (and extend it). So some moods will appear wrong between 2.5 users. (*COUGH*tell them to switch to 3.14*COUGH*) -------- +------------------------------------------------------------------------------------ -Q: Pesterchum 2.5 users don't get my /me messages correctly! -A: That's because they implemented the /me command differently. +Q: Pesterchum 2.5 users don't get my /me messages correctly!
+A: That's because they implemented the /me command differently. -------- +------------------------------------------------------------------------------------ -Q: Can we resize the main window? -A: No. This is done so we can offer more flexible UI creation. It's a +Q: Can we resize the main window?
+A: No. This is done so we can offer more flexible UI creation. It's a lot easier to make themes that look canon this way. -------- +------------------------------------------------------------------------------------ -Q: Can we have different chum rolls for different users? -A: No. Instead what we're going to do in a later update is make chum +Q: Can we have different chum rolls for different users?
+A: No. Instead what we're going to do in a later update is make chum groups to organize people in your list. -------- +------------------------------------------------------------------------------------ -Q: Can we delete profiles? -A: Yes. Go to the profiles directory and delete the corresponding +Q: Can we delete profiles?
+A: Yes. Go to the profiles directory and delete the corresponding username file. -------- +------------------------------------------------------------------------------------ -Q: You should make it so you can ban specific time frames in memos. -A: This was too complicated to implement, and I don't have the UI +Q: You should make it so you can ban specific time frames in memos.
+A: This was too complicated to implement, and I don't have the UI quite figured out. This will probably go in a future update. From 315f8d4b406cc2120bbc883f27a1787f15715be5 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 17 Apr 2011 02:32:21 -0700 Subject: [PATCH 023/166] Good god, markdown is finicky --- README.mkdn | 90 +++++++++++++++++++++++++++-------------------------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/README.mkdn b/README.mkdn index 8be325f..6cbce81 100644 --- a/README.mkdn +++ b/README.mkdn @@ -79,8 +79,8 @@ list later on in this readme. FA% --- -Q: Norton says it has a virus and then deletes it! -A: Read this helpful Norton FAQ: +Q: Norton says it has a virus and then deletes it!
+A: Read this helpful Norton FAQ: Alright, here's a guide to by-passing Norton: @@ -108,56 +108,56 @@ Alright, here's a guide to by-passing Norton: (This guide brought to you by the slightly combined efforts of empireomega and Xanaomin) -------- +------------------------------------------------------------------------------------ -Q: I can't connect because my school/university/network/stolen wifi is blocking my connection! OR I can't seem to connect to the server at all and I'm not running any firewalls! -A: Edit your pesterchum.js file. Open it up in notepad or something, and then edit the beginning so it looks like this: +Q: I can't connect because my school/university/network/stolen wifi is blocking my connection! OR I can't seem to connect to the server at all and I'm not running any firewalls!
+A: Edit your pesterchum.js file. Open it up in notepad or something, and then edit the beginning so it looks like this: {"port": "1413", .... where the .... is the rest of the gobbledygook there. -------- +------------------------------------------------------------------------------------ -Q: The mood buttons on Pesterchum 6.0 don't match up to what it sets your mood to! What gives? -A: The mood names are just there to look canon. It is intentional. +Q: The mood buttons on Pesterchum 6.0 don't match up to what it sets your mood to! What gives?
+A: The mood names are just there to look canon. It is intentional. -------- +------------------------------------------------------------------------------------ -Q: I'm appearing as offline to 2.5 users/other users appear the wrong -mood? What's happeninggggg -A: The 2.5 people decided to change the mood protocol. When I made +Q: I'm appearing as offline to 2.5 users/other users appear the wrong +mood? What's happeninggggg
+A: The 2.5 people decided to change the mood protocol. When I made this program, I decided to go with Tinychat's original protocol (and extend it). So some moods will appear wrong between 2.5 users. (*COUGH*tell them to switch to 3.14*COUGH*) -------- +------------------------------------------------------------------------------------ -Q: Pesterchum 2.5 users don't get my /me messages correctly! -A: That's because they implemented the /me command differently. +Q: Pesterchum 2.5 users don't get my /me messages correctly!
+A: That's because they implemented the /me command differently. -------- +------------------------------------------------------------------------------------ -Q: Can we resize the main window? -A: No. This is done so we can offer more flexible UI creation. It's a +Q: Can we resize the main window?
+A: No. This is done so we can offer more flexible UI creation. It's a lot easier to make themes that look canon this way. -------- +------------------------------------------------------------------------------------ -Q: Can we have different chum rolls for different users? -A: No. Instead what we're going to do in a later update is make chum +Q: Can we have different chum rolls for different users?
+A: No. Instead what we're going to do in a later update is make chum groups to organize people in your list. -------- +------------------------------------------------------------------------------------ -Q: Can we delete profiles? -A: Yes. Go to the profiles directory and delete the corresponding +Q: Can we delete profiles?
+A: Yes. Go to the profiles directory and delete the corresponding username file. -------- +------------------------------------------------------------------------------------ -Q: You should make it so you can ban specific time frames in memos. -A: This was too complicated to implement, and I don't have the UI +Q: You should make it so you can ban specific time frames in memos.
+A: This was too complicated to implement, and I don't have the UI quite figured out. This will probably go in a future update. @@ -550,16 +550,18 @@ as well. can combine them, too: [a-z0-9] will match any digit and lowercase letter. There are also different shortcuts for character types: - * \d matches any digit; same as [0-9] - * \D matches any non-digit; same as [^0-9] - * \s matches any spaces - * \S matches any non-space - * \w matches any alphanumeric character; same as [a-zA-Z0-9_] - * \W matches any non-alphanumeric character; same as [^a-zA-Z0-9_] +
+    \d matches any digit; same as [0-9]
+    \D matches any non-digit; same as [^0-9]
+    \s matches any spaces
+    \S matches any non-space
+    \w matches any alphanumeric character; same as [a-zA-Z0-9_]
+    \W matches any non-alphanumeric character; same as [^a-zA-Z0-9_]
+    
You can include this inside brackets, too. - There's also a special character, \b. What \b does is make sure that + There's also a special character, \\b. What \\b does is make sure that you are at the beginning or end of a word. * So with that knowledge, let's try Kanaya:
@@ -570,12 +572,12 @@ as well.
     
Another feature of regular expressions is the ability to match - *repeated* characters. There are three repeat characters: the "*", the + *repeated* characters. There are three repeat characters: the "\*", the "+", "?", and "{m,n}". They work by playing them after the character, or character type you want to match. (So, you could say "\s+" or ".*") - The "*" character matches ZERO or more of that character. So, for - example, "f*" would match "f" and "ff" -- and any other character! + The "\*" character matches ZERO or more of that character. So, for + example, "f\*" would match "f" and "ff" -- and any other character! That's right, every character counts as matching it zero times. Yeah, it's weird. I suggest you use... @@ -650,14 +652,14 @@ either "bro" or "dog": Regexp: "\s" Replace with: " ribbit ", " ", " ", " ", " ", " ", etc.... - where " " is just a blank space added a bunch of times. (You can see - how many blank spaces you've added by clicking on the list.) You have - to add the spaces because each entry has the same chance of being - selected. (Yes, I know this could be improved.) If you add " ribbit " - and 9 spaces, " ribbit " will have a 1/10 chance of being picked. + where " " is just a blank space added a bunch of times. (You can see + how many blank spaces you've added by clicking on the list.) You have + to add the spaces because each entry has the same chance of being + selected. (Yes, I know this could be improved.) If you add " ribbit " + and 9 spaces, " ribbit " will have a 1/10 chance of being picked. - Also note that if you add more than one prefix or more than one - suffix, it will pick randomly from them instead of adding them both! + Also note that if you add more than one prefix or more than one + suffix, it will pick randomly from them instead of adding them both! * Mispeller: Be careful with thsi one. The mispeller will randomly mispell x% of From 913ae7cf4721997bac287da55f73702b8d84d92f Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 17 Apr 2011 19:04:29 -0700 Subject: [PATCH 024/166] Guide for troll quirks --- trollquirks.mkdn | 178 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 trollquirks.mkdn diff --git a/trollquirks.mkdn b/trollquirks.mkdn new file mode 100644 index 0000000..24647e4 --- /dev/null +++ b/trollquirks.mkdn @@ -0,0 +1,178 @@ +Troll Quirks +============ + +Karkat +------ +
+REGEXP: "(.)"
+REPLACED WITH: "upper(\1)"
+
+ +Aradia +------ +
+REGEXP: "[oO]"
+REPLACE WITH: "0"
+
+ +#####After Prototyping +
+RANDOM REGEXP: "\s"
+REPLACED WITH: " ribbit ", " ", " ", " ", " ", " ", etc....
+
+ +Tavros +------ +
+REGEXP: "\b(\w)(\w*)"
+REPLACED WITH: "lower(\1)upper(\2)"
+
+
+REGEXP: "\.?"
+WITH: ","
+
+ +Sollux +------ +#####Pre-blind +
+REGEXP: "[iI]"
+REPLACE WITH: "\1\1"
+
+
+REGEXP: "[sS]"
+REPLACE WITH: "2"
+
+
+REGEXP: "\btoo?\b"
+REPLACE WITH: "two"
+
+ +#####Blind +
+REGEXP: "[oO]"
+REPLACE WITH: "0"
+
+ +Nepeta +------ +
+PREFIX: ":33 < "
+
+
+REGEXP: "[eE][eE]"
+REPLACE WITH: "33"
+
+ +Kanaya +------ +
+REGEXP: "\b(\w)"
+REPLACE WITH: "upper(\1)
+
+ +Terezi +------ +
+REGEXP: "[aA]"
+REPLACE WITH: "4"
+
+
+REGEXP: "[iI]"
+REPLACE WITH: "1"
+
+
+REGEXP: "[eE]"
+REPLACE WITH: "3"
+
+
+REGEXP: "(.)"
+REPLACE WITH: "upper(\1)"
+
+ +Vriska +------ +
+REGEXP: "[bB]"
+REPLACE WITH: "8"
+
+
+RANDOM REGEXP: "([aeiouAEIOU])"
+REPLACE WITH: "\1\1\1\1\1\1\1\1", "\1", "\1", "\1", "\1", "\1", etc........
+
+
+RANDOM REGEXP: "([\.\?,!]$)"
+REPLACE WITH: "\1\1\1\1\1\1\1\1", "\1", "\1", "\1", "\1", "\1", etc........
+
+
+REPLACE: ":"
+WITH: "::::"
+
+ +Keep in mind that the RANDOM REGEXP ones require the extra "\\1"s to be added in order to not happen all the time. If you want those quirks to happen less often, add more "\\1". + +Equius +------ +
+PREFIX: "D --> "
+
+
+REGEXP: "[lL][oO][oO]"
+REPLACE WITH: "100"
+
+
+REGEXP: "[xX]"
+REPLACE WITH: "%"
+
+
+REGEXP: "(\b[sS][tT][rR][oO][nN][gG]\w*)"
+REPLACE WITH: "upper(\1)"
+
+
+REGEXP: "[oO][oO]"
+REPLACE WITH: "00"
+
+ +Gamzee +------ +#####Version 1: "HoNk HoNk" +
+REGEXP: "([a-zA-Z])([a-zA-Z])"
+REPLACED WITH: "upper(\1)\2"
+
+
+REGEXP: "([a-z])([a-z])\b"
+REPLACED WITH: "\1upper(\2)"
+
+ +#####Version 2: "HoNk hOnK" +
+REGEXP: "(.)(.)"
+REPLACED WITH: "upper(\1)\2"
+
+
+REGEXP: "([a-z])(.)\b"
+REPLACE WITH: "\1upper(\2)"
+
+ +Eridan +------ +
+REGEXP: "([vVwW])"
+REPLACE WITH: "\1\1"
+
+
+REGEXP: "ing\b"
+REPLACE WITH: "in"
+
+ +Feferi +------ +
+REGEXP: [hH]
+REPLACE WITH: ")("
+
+
+REPLACE: "E"
+WITH: "-E"
+
\ No newline at end of file From 926efa748eb0ae25a72f40b089c96746ab126eb9 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 20 Apr 2011 01:04:16 -0700 Subject: [PATCH 025/166] Chum sorting options: Alphabetical, Mood. Chum list options menu fix --- menus.py | 10 +++++++++ pesterchum.py | 62 ++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 56 insertions(+), 16 deletions(-) diff --git a/menus.py b/menus.py index ed9380f..df707d6 100644 --- a/menus.py +++ b/menus.py @@ -600,6 +600,14 @@ class PesterOptions(QtGui.QDialog): self.showonlinenumbers = QtGui.QCheckBox("Show Number of Online Chums", self) self.showonlinenumbers.setChecked(self.config.showOnlineNumbers()) + sortLabel = QtGui.QLabel("Sort Chums") + self.sortBox = QtGui.QComboBox(self) + self.sortBox.addItem("Alphabetically") + self.sortBox.addItem("By Mood") + method = self.config.sortMethod() + if method >= 0 and method < self.sortBox.count(): + self.sortBox.setCurrentIndex(method) + self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) self.connect(self.ok, QtCore.SIGNAL('clicked()'), @@ -618,6 +626,8 @@ class PesterOptions(QtGui.QDialog): #layout_0.addWidget(self.groupscheck) layout_0.addWidget(self.showemptycheck) layout_0.addWidget(self.showonlinenumbers) + layout_0.addWidget(sortLabel) + layout_0.addWidget(self.sortBox) layout_0.addWidget(hr) layout_0.addWidget(self.timestampcheck) layout_0.addWidget(self.timestampBox) diff --git a/pesterchum.py b/pesterchum.py index c3db8db..f2c78cc 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -286,6 +286,8 @@ class userConfig(object): if not self.config.has_key('showSeconds'): self.set("showSeconds", False) return self.config.get('showSeconds', False) + def sortMethod(self): + return self.config.get('sortMethod', 0) def useGroups(self): if not self.config.has_key('useGroups'): self.set("useGroups", False) @@ -570,7 +572,7 @@ class chumArea(RightClickTree): #self.sortItems(1, QtCore.Qt.AscendingOrder) self.setSortingEnabled(False) self.header().hide() - self.setDropIndicatorShown(False) + self.setDropIndicatorShown(True) self.setIndentation(0) self.setDragEnabled(True) self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) @@ -579,17 +581,17 @@ class chumArea(RightClickTree): self, QtCore.SLOT('expandGroup()')) def getOptionsMenu(self): - currenthandle = self.currentItem().chum.handle - if currenthandle in canon_handles: - return self.canonMenu + text = str(self.currentItem().text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == "Chums": + return self.groupMenu + elif text in self.groups: + return self.groupMenu else: - text = str(self.currentItem().text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] - if text == "Chums": - return self.groupMenu - elif text in self.groups: - return self.groupMenu + currenthandle = self.currentItem().chum.handle + if currenthandle in canon_handles: + return self.canonMenu else: return self.optionsMenu @@ -666,7 +668,7 @@ class chumArea(RightClickTree): else: i += 1 listing = self.topLevelItem(j).child(i) - self.topLevelItem(j).sortChildren(0, QtCore.Qt.AscendingOrder) + self.sort() def showAllGroups(self): curgroups = [] for i in range(self.topLevelItemCount()): @@ -758,7 +760,7 @@ class chumArea(RightClickTree): if self.mainwindow.config.openDefaultGroup(): child_1.setExpanded(True) self.topLevelItem(0).addChild(chumLabel) - self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) + self.sort() else: if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchContains): @@ -773,7 +775,7 @@ class chumArea(RightClickTree): if text == chumLabel.chum.group: break self.topLevelItem(i).addChild(chumLabel) - self.topLevelItem(i).sortChildren(0, QtCore.Qt.AscendingOrder) + self.sort() else: # usually means this is now the trollslum if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): self.topLevelItem(0).addChild(chumLabel) @@ -806,8 +808,12 @@ class chumArea(RightClickTree): self.takeItem(self.row(c)) chums = [] for c in chums: - oldmood = c.mood - c.setMood(mood) + if (hasattr(c, 'mood')): + oldmood = c.mood + c.setMood(mood) + if self.mainwindow.config.sortMethod() == 1: + for i in range(self.topLevelItemCount()): + self.moodSort(i) if self.mainwindow.config.showOnlineNumbers(): self.showOnlineNumbers() return oldmood @@ -844,6 +850,24 @@ class chumArea(RightClickTree): for i in range(self.topLevelItemCount()): c = c + self.topLevelItem(i).childCount() return c + + def sort(self): + if self.mainwindow.config.sortMethod() == 1: + for i in range(self.topLevelItemCount()): + self.moodSort(i) + else: + for i in range(self.topLevelItemCount()): + self.topLevelItem(i).sortChildren(0, QtCore.Qt.AscendingOrder) + def moodSort(self, group): + chums = [] + listing = self.topLevelItem(group).child(0) + while listing is not None: + chums.append(self.topLevelItem(group).takeChild(0)) + listing = self.topLevelItem(group).child(0) + chums.sort(key=lambda x: ((999 if x.chum.mood.value() == 2 else x.chum.mood.value()), x.chum.handle), reverse=False) + for c in chums: + self.topLevelItem(group).addChild(c) + @QtCore.pyqtSlot() def activateChum(self): self.itemActivated.emit(self.currentItem(), 0) @@ -2160,6 +2184,12 @@ class PesterWindow(MovingWindow): elif chumsetting and not curchum: self.chumList.hideOfflineChums() self.config.set("hideOfflineChums", chumsetting) + # sorting method + sortsetting = self.optionmenu.sortBox.currentIndex() + cursort = self.config.sortMethod() + self.config.set("sortMethod", sortsetting) + if sortsetting != cursort: + self.chumList.sort() # sound soundsetting = self.optionmenu.soundcheck.isChecked() self.config.set("soundon", soundsetting) From 25fae862f188e10ab3dea0f62b7b7fedce2e0060 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 20 Apr 2011 11:20:56 -0700 Subject: [PATCH 026/166] Cut Gamzee down to one REGEXP --- trollquirks.mkdn | 346 +++++++++++++++++++++++------------------------ 1 file changed, 169 insertions(+), 177 deletions(-) diff --git a/trollquirks.mkdn b/trollquirks.mkdn index 24647e4..f4e4ad1 100644 --- a/trollquirks.mkdn +++ b/trollquirks.mkdn @@ -1,178 +1,170 @@ -Troll Quirks -============ - -Karkat ------- -
-REGEXP: "(.)"
-REPLACED WITH: "upper(\1)"
-
- -Aradia ------- -
-REGEXP: "[oO]"
-REPLACE WITH: "0"
-
- -#####After Prototyping -
-RANDOM REGEXP: "\s"
-REPLACED WITH: " ribbit ", " ", " ", " ", " ", " ", etc....
-
- -Tavros ------- -
-REGEXP: "\b(\w)(\w*)"
-REPLACED WITH: "lower(\1)upper(\2)"
-
-
-REGEXP: "\.?"
-WITH: ","
-
- -Sollux ------- -#####Pre-blind -
-REGEXP: "[iI]"
-REPLACE WITH: "\1\1"
-
-
-REGEXP: "[sS]"
-REPLACE WITH: "2"
-
-
-REGEXP: "\btoo?\b"
-REPLACE WITH: "two"
-
- -#####Blind -
-REGEXP: "[oO]"
-REPLACE WITH: "0"
-
- -Nepeta ------- -
-PREFIX: ":33 < "
-
-
-REGEXP: "[eE][eE]"
-REPLACE WITH: "33"
-
- -Kanaya ------- -
-REGEXP: "\b(\w)"
-REPLACE WITH: "upper(\1)
-
- -Terezi ------- -
-REGEXP: "[aA]"
-REPLACE WITH: "4"
-
-
-REGEXP: "[iI]"
-REPLACE WITH: "1"
-
-
-REGEXP: "[eE]"
-REPLACE WITH: "3"
-
-
-REGEXP: "(.)"
-REPLACE WITH: "upper(\1)"
-
- -Vriska ------- -
-REGEXP: "[bB]"
-REPLACE WITH: "8"
-
-
-RANDOM REGEXP: "([aeiouAEIOU])"
-REPLACE WITH: "\1\1\1\1\1\1\1\1", "\1", "\1", "\1", "\1", "\1", etc........
-
-
-RANDOM REGEXP: "([\.\?,!]$)"
-REPLACE WITH: "\1\1\1\1\1\1\1\1", "\1", "\1", "\1", "\1", "\1", etc........
-
-
-REPLACE: ":"
-WITH: "::::"
-
- -Keep in mind that the RANDOM REGEXP ones require the extra "\\1"s to be added in order to not happen all the time. If you want those quirks to happen less often, add more "\\1". - -Equius ------- -
-PREFIX: "D --> "
-
-
-REGEXP: "[lL][oO][oO]"
-REPLACE WITH: "100"
-
-
-REGEXP: "[xX]"
-REPLACE WITH: "%"
-
-
-REGEXP: "(\b[sS][tT][rR][oO][nN][gG]\w*)"
-REPLACE WITH: "upper(\1)"
-
-
-REGEXP: "[oO][oO]"
-REPLACE WITH: "00"
-
- -Gamzee ------- -#####Version 1: "HoNk HoNk" -
-REGEXP: "([a-zA-Z])([a-zA-Z])"
-REPLACED WITH: "upper(\1)\2"
-
-
-REGEXP: "([a-z])([a-z])\b"
-REPLACED WITH: "\1upper(\2)"
-
- -#####Version 2: "HoNk hOnK" -
-REGEXP: "(.)(.)"
-REPLACED WITH: "upper(\1)\2"
-
-
-REGEXP: "([a-z])(.)\b"
-REPLACE WITH: "\1upper(\2)"
-
- -Eridan ------- -
-REGEXP: "([vVwW])"
-REPLACE WITH: "\1\1"
-
-
-REGEXP: "ing\b"
-REPLACE WITH: "in"
-
- -Feferi ------- -
-REGEXP: [hH]
-REPLACE WITH: ")("
-
-
-REPLACE: "E"
-WITH: "-E"
+Troll Quirks
+============
+
+Karkat
+------
+
+REGEXP: "(.)"
+REPLACED WITH: "upper(\1)"
+
+ +Aradia +------ +
+REGEXP: "[oO]"
+REPLACE WITH: "0"
+
+ +#####After Prototyping +
+RANDOM REGEXP: "\s"
+REPLACED WITH: " ribbit ", " ", " ", " ", " ", " ", etc....
+
+ +Tavros +------ +
+REGEXP: "\b(\w)(\w*)"
+REPLACED WITH: "lower(\1)upper(\2)"
+
+
+REGEXP: "\.?"
+WITH: ","
+
+ +Sollux +------ +#####Pre-blind +
+REGEXP: "[iI]"
+REPLACE WITH: "\1\1"
+
+
+REGEXP: "[sS]"
+REPLACE WITH: "2"
+
+
+REGEXP: "\btoo?\b"
+REPLACE WITH: "two"
+
+ +#####Blind +
+REGEXP: "[oO]"
+REPLACE WITH: "0"
+
+ +Nepeta +------ +
+PREFIX: ":33 < "
+
+
+REGEXP: "[eE][eE]"
+REPLACE WITH: "33"
+
+ +Kanaya +------ +
+REGEXP: "\b(\w)"
+REPLACE WITH: "upper(\1)
+
+ +Terezi +------ +
+REGEXP: "[aA]"
+REPLACE WITH: "4"
+
+
+REGEXP: "[iI]"
+REPLACE WITH: "1"
+
+
+REGEXP: "[eE]"
+REPLACE WITH: "3"
+
+
+REGEXP: "(.)"
+REPLACE WITH: "upper(\1)"
+
+ +Vriska +------ +
+REGEXP: "[bB]"
+REPLACE WITH: "8"
+
+
+RANDOM REGEXP: "([aeiouAEIOU])"
+REPLACE WITH: "\1\1\1\1\1\1\1\1", "\1", "\1", "\1", "\1", "\1", etc........
+
+
+RANDOM REGEXP: "([\.\?,!]$)"
+REPLACE WITH: "\1\1\1\1\1\1\1\1", "\1", "\1", "\1", "\1", "\1", etc........
+
+
+REPLACE: ":"
+WITH: "::::"
+
+ +Keep in mind that the RANDOM REGEXP ones require the extra "\\1"s to be added in order to not happen all the time. If you want those quirks to happen less often, add more "\\1". + +Equius +------ +
+PREFIX: "D --> "
+
+
+REGEXP: "[lL][oO][oO]"
+REPLACE WITH: "100"
+
+
+REGEXP: "[xX]"
+REPLACE WITH: "%"
+
+
+REGEXP: "(\b[sS][tT][rR][oO][nN][gG]\w*)"
+REPLACE WITH: "upper(\1)"
+
+
+REGEXP: "[oO][oO]"
+REPLACE WITH: "00"
+
+ +Gamzee +------ +#####Version 1: "HoNk HoNk" +
+REGEXP: "([a-zA-Z])([a-zA-Z]?)"
+REPLACED WITH: "upper(\1)\2"
+
+ +#####Version 2: "HoNk hOnK" +
+REGEXP: "([\w\s])([\w\s]?)"
+REPLACED WITH: "upper(\1)\2"
+
+ +Eridan +------ +
+REGEXP: "([vVwW])"
+REPLACE WITH: "\1\1"
+
+
+REGEXP: "ing\b"
+REPLACE WITH: "in"
+
+ +Feferi +------ +
+REGEXP: [hH]
+REPLACE WITH: ")("
+
+
+REPLACE: "E"
+WITH: "-E"
 
\ No newline at end of file From c9737f7f638bb2d27aae2fdc23a6fbd1ddbdf350 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 21 Apr 2011 01:08:04 -0700 Subject: [PATCH 027/166] Pesterchum QDB button in log viewer --- logviewer.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/logviewer.py b/logviewer.py index 5badf81..a3ca095 100644 --- a/logviewer.py +++ b/logviewer.py @@ -164,12 +164,16 @@ class PesterLogViewer(QtGui.QDialog): if len(self.logList) > 0: self.loadLog(self.logList[0]) + self.qdb = QtGui.QPushButton("Pesterchum QDB", self) + self.connect(self.qdb, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('openQDB()')) self.ok = QtGui.QPushButton("CLOSE", self) self.ok.setDefault(True) self.ok.setFixedWidth(80) self.connect(self.ok, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('reject()')) layout_ok = QtGui.QHBoxLayout() + layout_ok.addWidget(self.qdb) layout_ok.addWidget(self.ok) layout_ok.setAlignment(self.ok, QtCore.Qt.AlignRight) @@ -189,6 +193,10 @@ class PesterLogViewer(QtGui.QDialog): if len(self.tree.currentItem().text(0)) > len("September 2011"): self.loadLog(self.timeToFile(self.tree.currentItem().text(0))) + @QtCore.pyqtSlot() + def openQDB(self): + QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://qdb.pesterchum.net/index.php?p=browse", QtCore.QUrl.TolerantMode)) + def loadLog(self, fname): fp = codecs.open("%s/%s/%s/%s/%s" % (self.logpath, self.handle, self.chum, self.format, fname), encoding='utf-8', mode='r') self.textArea.clear() From 1339de2ecefc0955a95a823cab24ea17bf2ddd43 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 21 Apr 2011 01:20:37 -0700 Subject: [PATCH 028/166] Updates to trollian theme for coolness --- themes/trollian/moodcheck1.png | Bin 3377 -> 3720 bytes themes/trollian/moodcheck10.png | Bin 3457 -> 3772 bytes themes/trollian/moodcheck11.png | Bin 3408 -> 3804 bytes themes/trollian/moodcheck12.png | Bin 3416 -> 3726 bytes themes/trollian/moodcheck2.png | Bin 3465 -> 3873 bytes themes/trollian/moodcheck3.png | Bin 3438 -> 3784 bytes themes/trollian/moodcheck4.png | Bin 3448 -> 3816 bytes themes/trollian/moodcheck5.png | Bin 3428 -> 3777 bytes themes/trollian/moodcheck6.png | Bin 3455 -> 3819 bytes themes/trollian/moodcheck7.png | Bin 3409 -> 3751 bytes themes/trollian/moodcheck8.png | Bin 3422 -> 3844 bytes themes/trollian/moodcheck9.png | Bin 3425 -> 3770 bytes themes/trollian/style.js | 48 ++++++++++++++++---------------- 13 files changed, 24 insertions(+), 24 deletions(-) diff --git a/themes/trollian/moodcheck1.png b/themes/trollian/moodcheck1.png index 121b5d934306fc6b6ee2faa5c1dd3b4ef3e17714..828faab5d2c1d5993148d3765c13484e89655cab 100644 GIT binary patch delta 1064 zcmdle)gi0c8Q|y6%O%Cdz`(%k>ERLtq}3Q082LEZfUKumQyn*&#c}boC3(BMF#HF> z1$&oIo~S5Z&wSR?#WAGf*4sPhy+smb*gibJ>J#j-Sxo75zy!x)K`U0n4UJp=GE0|y z40vS9amblPc2V#J-wgdu^@V$NS^`UMTD4v{>D>IaH~q{EpB1^m z1~c_lJC*7!cHn?$&VTAm?I+CH*hXk)pz#4 z21CW_TQT{e8q2S`9(URz%lx4(sN>}dan7%IC-2^U)15)?u;{j82EP?HAs+S25yh?H zOWRpB=QA{L2%gf|Ak)AaYsQlx;!yAJFkh-+J=aSwbMByhf^63#%p0EndLqKGnvsj4 zZQl}-}Y&+MZ@aK5lm(MTOY=1G$^G4|0 zlSg*+*4D0@*)q3m{oEBRuUA`5niW3jy|k~jTB3bPnl@XGc7l%Z27jyIPR7+NJ*iCJ z>Z8)H3H+VhaG&{@5o7gI=MUlsidb%JGM{q)O2n}QQ-<$fPqH;kov?y8|6+5~6w}M) zPi-0`zjMX0eBeH?ZS}=%TG4mz{(E5(JfY~`3%83?->r1NDZAqD_2~tF<5ukR;0g<# z-P_MFZv?#HbD_DBEf?wYI{+fTm;j8S-Lp!KN>uWyR_-E7XY>U`_1s3UA-lTYf%J(>H$BJ@d-xr=O=-t^R2a-!RExdXMPPHS&#(_6y%%p$a8 zDK9I--@nIiJvh0)KI`^ZXntQux|B;_wN<9XLIF!+eENp^U#MZ1$G)jw2KR3hV$};0LAGIsn zG-u?v&fmtl)aOT9=6XrvkMXN7nVfmD|I#UE*;Do3mHzb3yZ@^ZnE4qzUHx3vIVCg! E06UxA3IG5A delta 721 zcmeB>-6*Bl8Q|y6%O%Cdz`(%k>ERLtq(vAQ82LEZfUM5V<}Q=_xWqRq$8gmvBzpw; zGB8xBGB7kWGcf%852Rl*Fq9fFFuY1&V6d9Oz#yJKDgLM%0|Qfxr;B4q#jQ7Yc4vzO ziX8v={*KKXmgYqgy1o~jni3QvI2*s}3*^LlYI96-V&NA2!_KnYaEY(9Qdj7jOA)Su zovqIlJNQi&tZPZ$n115S1B-s2p!yf@4;`9k{k_g2{oB3WXALg$w4VJ@-Tm*1WX8_c zwwt1THz)I~JyxU5yw)*jTe|9PKAGEJdDgO?7P=7Sb0JE>MH*08YYO4WhvqQ`$E1?JmLDU)j!mX-<7$P$2d|`oqC`@plEU3Vu9|eyjSyviolT z*>@9fOI)w{C;I14b?Dkp>~_;_ZZPjUVEiDj>Y(_R?{Uv^Zg&2?aK2;Z#5;m!Pu!&q zo+hV#p1gQwlyqYCynoa22R$r$?!;c06?0iyN;^GV$s#O2BS-)6{};Ty``H;j?`)Q8 UU%F=nFqJZRy85}Sb4q9e0O|}n&j0`b diff --git a/themes/trollian/moodcheck10.png b/themes/trollian/moodcheck10.png index 381b192258a1fa00a2789f247730694331e4aaf1..d88bfb25a44143e72025a8ad3bd06c42578c5fb1 100644 GIT binary patch delta 1117 zcmZpa-Xp8n8Q|y6%O%Cdz`(%k>ERLtq}3Q082LEZfUKumQyn*&#c}boC3(BMF#HF> z1$&oIo~S5Z&%)^G;uunK>+KzTk7!33_7Cs(9?1~8+|k4#x;?05g{Ax-4hH1T_1b^BYEhq{K=@aWPj5C)GC0Jc+(Rv*9%$Bv zZ}&PLZ?}(p8D^8gTA-#fWv_gDgG2u(#pIN9#u~PU<|kE-69mrQ-jXGDz?|W>q;hw$ zqGBtnrp_Gh&Yp>^4gO_wf3Nj=y6NuAT=CL;<{LA6^mNUow=pH?P8Z^6S!>60s*dL* zM_UR@^CtPk)%=SJyr*tG`QlP{lvUBzdd1Ugv%47t*f+e5c^z8klEUHEs-~l{q$YDt z*XKW{`S~Zk=2UFiCit1LqPX#uV@R9!qJQQ(0#g&eteW@d^m_Hh-ga|W_Au{wSt2pf z@w#T`iG+Xp28r93@_xHv$q~7CdSA%SiQJKUe@>Ts*>d-!fAZR;8qe1G-SE(JxVo=# z;zF+aT|3_`bPqbH=NqK{#$Y>7$1U?~T3wb`IB%EpZEAfzX?2ju=Jmqg4qAG2U!Iki z`FKlCv{l0Uxgs8kim53vi-X+Qgr*h$I-KV%t;79bX7MD$O+T{d>~Ol7FXdNRHzDTy zt9etS8O%OiE`HPPp z-ifvrJKL1XXv6y9YTaMSl|lcf&)s)6Z13m&%mvH`oE&~~&zsA}!gPwCfxB$(*($4o zuQfYU7T=nbde`@M?CwC_MBb?vKWexgU%dA3foSbl&%ZAzPY}L*I4Y5Mc~MrLj(O6# z^H=WNxO!M^Sv$Ae>iQph?oEnj5$^2Q65)z_>0@JM#dZGt`Q^nM_U^TPx^$_MSU2ax z)`?nr%QD|d#W^z`0D`^S?%y&G4|{Aa{(rL9nJF>a`@%Jsy;`&8DSy4`zTis_Q=jL( zHrdiQHG4x8``05Mwl1$u)b5-)>1KGInVD4Z^`gK#6KC5$sY=R<(~GK~b*jYbvE`J^ zS-a=e?lzditlu*S$le&?^I@_@cpXJa-AZcNt3B7}0`t<Bv_-s{LmK?Nl vmQAEp_K}jB>`?iaZ7=_5t<8EJ@{d`oNhcw}pg$H^Vla5R`njxgN@xNA5M}zw delta 801 zcmdlZ+bFHr8Q|y6%O%Cdz`(%k>ERLtq(vAQ82LEZfUM5V<}Q=_xWqRq$8gmvBzpw; zGB8xBGB7kWGcf%852Rl*Fq9fFFuY1&V6d9Oz#yJKDgLM%0|V0(PN~g#T_-bSCfjY=ve#zw&o?G{nN`dQyf^&WwD-B34c#c2K3B=c-Lbpx zJ+JCg#7vFfGRPy8bPms1hIZmvxNOa^~E9vmv|K4e$CY-OG}aIX6Sj%wsK^ylHNy z#iqA+ZcNO5+%f50c*1oi#Sbcyxwj|G|7IaBW?wn!+m?%K+7H$|75jK?HhUgZN$=wu zB^y7gS4y~4SS@om&JetHWpDM>jBD|SPI8`HlFN|#ATa1(|AMK@KV2`>X-?pbP0l+XkK2v=Ph diff --git a/themes/trollian/moodcheck11.png b/themes/trollian/moodcheck11.png index acf46b997eae91348d21d034b36ba0923ca408f1..c0c343f7071d0254aaa84def452689145df28d8e 100644 GIT binary patch delta 1149 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 I&MBb@09|!OS^xk5 diff --git a/themes/trollian/moodcheck2.png b/themes/trollian/moodcheck2.png index eba1b5e494b84ef4b837467ba3d192559c0b53d8..244edb3cb490ecbf79716dffce4f9533424ed497 100644 GIT binary patch delta 1219 zcmeB_UMQ#78Q|y6%O%Cdz`(%k>ERLtq}3Q082LEZfUKumQyn*&#c}boC3(BMF#HF> z1$&oIo~S5Z&ywcp;uunK>+K!ejM?ro$3MP*sT*;`)idh@H*f1P&9G?`)&{JI=9v1u zZBo^mgC!XpB3*4kF9NJYo2EVTYvoa$a55n%%IlyAf8?a4QBeh%AGu97@|sQ3_TI%; zCFdHH8a>JXQu5F8%eMXR=KX&0@B5v(Y;za3e)(Jd@UY#c<018?XY=mWMObY+E5PWh z-Wchgdd{u?rruOr!86|$ojcHSsqAN}Ut3jJ z%hrnc7#w5~CYz|o)cmGI{>a8pw->hiEIp7P7ATO!~|>BSd!o$frKwLfP%ZLE!Oo@+XN z!|}Sb^!0y*_e;I9DdUX(Wc>R4>E4BwWVUm} zPFGJej$r(8WdDsjn{*$BnV-tZyIT5w`OG!C7PtE=UozHz5c?o_;8^kLZ+V^JZcZxa zX21GW60oLc<^KPgo8$d|s7>C=KPOKl`%IYL_;+Z-%G;?f%2Ra(4c<@PdEb*+SGUGpCWKp7W?y+4|EjnD z&u?FRsquS|+n)6iU)I$xUfA#@BFDrt$3$|D9J7R!zmW9quv+0yuWu$CIM*AeY-br; z>mGZ+Pv+E--smI8CS46Uc5ISL-kn$WI(4PLT=N+}p3Hm{zTBV3n4!41xGXKLZQ{g< z`}_oV#>`vpKYxPX^4^*A=WpMuwCTtTgWmB87?X>>sgs(HY|Nn}*ZZN&xVcT-6DgPN)syH1#;`6~0SS&Gky85xY JtaD0e0su}~M&JMd delta 809 zcmZ1|*D0;o8Q|y6%O%Cdz`(%k>ERLtq(vAQ82LEZfUM5V<}Q=_xWqRq$8gmvBzpw; zGB8xBGB7kWGcf%852Rl*Fq9fFFuY1&V6d9Oz#yJKDgLM%0|V0*PZ!6Kid%2)7-k3u z${hdrzPfxR$F_*oD|G$BysSOM1rK^^T!|Hk5w!|sakT1qpwN^ocF^<1gGW(XU9&Ap z3bO)4xTcygW=G{JnC8B-e6sFrYyGnF%w*QTdo}-;zpwrAU;q35mxa%cn)Ztw-uT&pOTnqxj^j5hu=5nRA1rfW8Qr6>b<c6a{&Lc;}HdY?6XHanBYq44b)_r;?p{5ezk_4gfvbz2nQ}k1w+iWLZA5Kl|*C@QV2pdXC91;NBrQ^}pr( zRe#bS#?3mYRlr@rZj)D4^B}q>DdJhlCF$Rm1$;AJyfxbx9&v2_{#y;51!qe>r)@sX zn15km0HN4~#Q1-y7vG9}<1>8b#-85#%PIM}(VzZ(7k*STsLVLoJ@-XQG%)ouc)I$z JtaD0e0st6Xayq<;E)5S5Q;?~Eu^_EHLHtjw2Wo!Q$vwLK`VoTGx zdQ;jqEos$l(KBBb`QC52bi^j|*XrXvtVhvCpXb{jKGqgK!RufnbAVQ%;1Bi#rOoN37Jb6e z{eRi^Fh28Ejfij0y83&~dgqla2kw8h60Z_HW&O2%9$(;hlMnCD^c1VV3%JMn?x*-l z5gB_vcK)i$4^F>6Dz90S)4F}$zmnKu`}!P>#Rs?!?1?wC;|mTpu-H*MJBs(--p>INZ@78X*HF7Iw_1pAQPhV_UX0|@}P~5MXQ>V&1T{i1^e?R|! ztXYEoAAy>mOh=O{A~s5JJT3aWd(FYD1G)c`a(SmsJGAiHH73{k9qU%MR{eLC&^q53 z-#D9L_3C?86^~lBcl-&y-({?17CP-DV{<-?&QSL;$D~G?Y39tUAen6!lxyEM4X$hGx+guLxR?SVHYol?UOSjR)%Pb)Rmhhc6WEHd9LrO zv3qY(TwHu~4nC&|I}Me9P_)6Q!ze@~8WYf7~!xbz0=kyA1zsHsqD+zftL^zmk0R zVMp-?YtLwPbN2e3F>zi}tAbXlm6sbnNS}0}c&gV_pbK8;7wUSVq*PK<{a4d7B^CMk z-)3wKNzeZ>qjP0mxWVOavs!IoFX7KAFW1X${usadnAw?U`!CIkl|A)-f41c3fG$&8 QU{S%~>FVdQ&MBb@00Em2nE(I) delta 782 zcmX>h`%X%+Gr-TCmrII^fq{Y7)59eQNQ*EqF!FJ*0a=}!&0Qw7}>6?6?`5CT{i2&B#RdjCtUKmr9z&$*QxnEuQtKXH+Ff%A45wT==r*Ny?3RJryEh z%cIvnuZ~>c(8$EfC8804k8z-$!ADQOz5bpy5C7qdf+kXV?n;b*{|2lyV69;+kP)8w zP~-z|#Hx@5Va=0;zlX1OT*`DHJ^#$%6_e8U9uziQHJf3dpMUh`wR6KZRuul_s(8!Z z$kmI$*1dg;dtb6$ zhcX6xfjoaC62V!rZ&f~e$Q?&Dkx61tXlut@~m_>3Pbl#tQ zmW|D2{Z5sh9+q8lw-40XOG&+|QQUsEGJ$#fUyZr%WZt~yZn>GAZ!3I9gID^-$HkjB zpF6nC(%NjpEBE&Hxy`x7VYvwx`%gW+@71AGUTuA0YeqdYciqk9%LBBIvU@LeIBDO& zD!qdF{NH<7qT9ATO1zr2;C1Wc8C6L|LVMPhbMIg;sNvbY``sbm<+Ixl|J=Fz>b2_+ zA1E~JEtmPscgI}i?>8O~X8(h>|IN&jLjN6{?QI>w-gSWM!?x0c?OW!@&HNmw{>@#1 z{Y;9{L1mq(Mg3+8$Ks`p@7vwn^@uh9g7-qgu?C9Sf2J2oiv8m=dgjKyh^Sq-v0U<> edwj+pQ-*@FbzuU`Gkyb;ID@CFpUXO@geCy<8BdA; diff --git a/themes/trollian/moodcheck4.png b/themes/trollian/moodcheck4.png index 02acef5c6622eb7386d15a923bfc1ffee8282edf..6b54dbe1486ed74ba003aef12ce0b09a7eda90ab 100644 GIT binary patch delta 1161 zcmew%^+Hy$Gr-TCmrII^fq{Y7)59eQNUJe0F!FJ*0a;JCraEpki{s*FOY(MiVfYV% z3-&IbJW)}+o<-Nw#WAGf*4sPhvp<)}uzx7u*RA^Uny$4ilkd>EK|kM-eB z4UdX-O$zUlBssLt%NtyLuc!3+NvM>djgS9%MZSk0`32Yx@o{HgOO3r%wLvqoa-OOE zzTC~9{>{6z?B}Z zwPe{@sZf#aGR~1EYn4{o{yB1L*;I4W+<7Z(c067E=kg_;;`wVzl3E1aBoe7b)Pu~@ zRb6xCuu;tQyQVygWse)S9sWQ6_`*!7l2~^U*Z1C<^>ek)l-~W$V8gn>_UYo~40h9l z{!ROC9mcg_AIk?@2J6Gea~b5V`-&g`{wHtTymQ@e(T4TM3$vwOeYFY;4^Nz>=5x6v zQ9{5;q3`jRh3~EUgn#e*zx&g|lGt)_hkEPE*wt4zY}>}B7+3R`hmE-7d?Me zztw2_lKLm>467VR=_D=bfdF}n>V!!F< z8LlwY%;L#je)(k4o$|%W>H7lyupDq~GrhT=Vc&$He+Ju^ZhgHgn?de+*4F&T7IOXt ziY&lrT7SKo>4CduYQ&OyyPEzD?97{WxTmFRHow%ex_Rf$kz>b>RUEAZno2YEs6DTruy`xq_f6ni7cQ)lpwl&xrwcB6`fgL;P*~OGm6epLUB7Pi zrkgo^+rNMRKJ|?@Z?@U&ax35cdb{4=D=I81GCI?(wOgM%PqA3XJL#8Ay<_FGSu@Im zBGvbwxRv-T=W=>{%KS|y_jeRcUaG`l_K)%mLv_xASk9&35}=|i1)=8VD_ z+G*xxXM0mJmfy&q?NHsiVBYnn#xs@jm?wFTj!IgjO+U!bw zZV`=u1rCi&tX%jQKlmFCK79Ca$9=2f;`-tzm3>>Ef3L7Pugt-;Nhg}oj$ujWtr-uw zK1fzfPnE2k7c9c+8aUy(W#lx*J^I&eGPEl9#_X|iEIobTxQgesS--DIM68F>$Z61!CUi~ncwWbc=P7XD+#&h_c4CE^P>LCmy)axPo6BXx?_A`o%U`G zuByHFjzp}#zIxgp-W#R|1S+1TZPr`hn%2Ot;-& zsMSAxC$B1bKWiRyc4DSP+zYwnp6sn#i_U)2|66;KHUGlW075YciRJ%N8S6jI-gm*G quq^rdEAHOSr$5;La(dj)$nc8i@LFLlPi|mhXYh3Ob6Mw<&;$Toe_=uZ diff --git a/themes/trollian/moodcheck5.png b/themes/trollian/moodcheck5.png index d5855bc98854b9451e82ec1a63a5fe2eca9141f5..098c211ab1f74e20b74cd662e255f9896edbf941 100644 GIT binary patch delta 1122 zcmaDNbx>BZGr-TCmrII^fq{Y7)59eQNUJe0F!FJ*0a;JCraEpki{s*FOY(MiVfYV% z3-&IbJW)}+o`ucR#WAGf*4sP28N!YdY!AvO3(d;9+~6s=M1)JpRD*SIgi6H1ZS%NA zkIYV5-=tvMu|Q!SOMdITmMYB~-i}!!j!nxKaWM9?1#&sn-&vM9dzt6)!~b^dR!N)e zbIJD?AB)+|pJnsTnOkqxOcB|k5&mwPt*Taw)>6Aa7STI>zcd}hw z%dIv`@Uq!T5#D`~w^ko-Y5CTYGh@OH$wfFA77~9;I2O5bb`o%Y6cJ0H`S#Yo4pQK<%k>zXYk(1 z6L5n0Xzkn36U;k#7#_@xd!Ds9$a1Z@)ssc<1RD6CAD{9vOS*9D`;$AfpFLD&=s%kv zFYtzu$x*kpVcMlXd>dvn9%+1Q#2?IA|1rdSyOO9GU&6^BIu}@F>=}RjS(?n(Hj%y=~2^4KxPIfhbi`gX``-xbt- zT4lL9-dpO;vO)o#n^LQ6!fG7C``<2>HcFg+#zb!QKeMtUG1EA$Gi9x>itV?3HYI(U z%JF(RU)Px%M2n>~Limf1tU1x5E6x6U=c~lN8L2Zjm>)a%F74}vxo0n3pTt<5yJSJc zg|w3Gs=M>NpZfoex|C4K@V(c3r*1;^;-U-R+QO~}$t@95(*M0~4!c3}G85)Mk&NFq z-P)BAtNeY_t(|v!bnDcn3VaTd7twtx*TB$lyW!iPt@T@`W5ln_idQEj|se%pUAb^dg|fk$!Su(*FQXX^6+rdU*&E0 ziuSGFI%D#KLx&Ev)@PXf`f2d~$knS?yM={?<9#BGW{Skk(t7l9$08j)y*mE(!_09_ zD_70>R>{lC@UWm_!PD*EuKr{Hs+A{azjLZi<-RM=^OCaLETwh7?-N-UlymlT#7gd+ zKUcr*%zeL{JA1vv%P&Wi-pSlC>UvamZGGAX>(|$fe#CyCVeFd6UcYu@eb@DCp2Z(l z11*s93cb1|eZF4Ju}1MKztF2CHge%VeCNbha8i=cv$JQc_;}~y8$-pF=Ptf5ytrUj z=|LCcq+4oJ7acVBu2%UvqbGhX*G+?&_De-|=bqZXTio#UqD+sSz+!{J)78&qol`;+ E04~`5o&W#< delta 772 zcmX>o`$S5yGr-TCmrII^fq{Y7)59eQNQ*EqF!FJ*0a=}!&0Qw*)}&?*yUd8yFU%<+%8Y4U}w*(*2huq+j1 zvg!^HFlC**%yYeGT>E#uXG!a(d)Hs)`&F$lq56HTz0LWjwR)!u@Aa}DX?^7_JiZvWVB^F26IV)>XEyC%65%Z{mpLh}BrJ5;*uYX& za#wOg_TB7qwZCrfqKoe`i0`V_m@Ie3<$8=w+3T;i+}F(x_?264xzt>nUB)n(!`(8i$ zcI0u<$zL;XdJAm1r&A!hpp=2V)Zkd|(t^$9x7Jk{j4(hrO_Oginp`*_Nozk(5*&({3C zdf(mVf$ajpe`_v>{@+AId;#NBo%>ecxtF}X>UT;rSUd@ooPvN=w!AGdw)7%5xQO SvMVrQGkCiCxvX3EWJ2GEb(@8lSkFY2aYT=n*(~& z3t885Rg1FRbQWysQa^b6(7YDg+zrzYZ91(N*CZ}}utHG3Dq?&0wFB3#oy)nDJFk7o z<(aoi(kFRZ`PTC@8GpVv`}@iNdn@ycP8c8YXnnfCWcgzsOYW$b$6UZdag@1ey7|9DLHx;~I=h|hL;zdglG zY@_P~^#^9Y{C{LK-j><_<1?{s*uB>%zi+kn`fpOP9f4(xKk|NkI&^hO?~z;IpWLZl z|3QeH7P#3hB2YXQ#6bCj4DST=L_FUh-u+Pf{c_G~TMMnZ-v4CW zU+w`D>{GYRhzFVFg^Zw6$27Six0!iiE{-1ws_^vj~e3fX<3X}I|jNYH=`_7&(6LR!s{n=lspA*dz zM4t=2^HGi7P@W#2{I7oJ-@Ke{+Y-dWE0S=<|&uQiFpxCCs7m0?j|81%nEYll{eD9cNQrUe}Tn42bF&@Iu`?V24d z{&>OWu&6C58Pb!D#V22XsCV7^wn_bTleY`@i!<%~e(!tn`Qpm?r#}^`egDFiJL~a- zv~RDseA#(ZZgIBtvk0Y<*fZsG9j-eEyt@%p)?RRDqWguH#b>TG*yEs{|&<68|GhWXPn#a%Xzw|^NS4H`wYgcOaT;@6Jw{4$2 z+q^e%ryd-0Q?QpL-A(T_eRGDdJJ3H(sHeRpRGT%^AGQ@1GW!rKiF)1 z@IC+jVH0sH+l}$e14BA7h51U7H2-GmcpS(>#NxtDnm{r-UW|G45aQ diff --git a/themes/trollian/moodcheck7.png b/themes/trollian/moodcheck7.png index 53275b873550053b432b018354581ab565a64b8b..74510a5c519a6cd97822d169ce5755909cdd781a 100644 GIT binary patch delta 1096 zcmca8wOm%QGr-TCmrII^fq{Y7)59eQNUJe0F!FJ*0a;JCraEpki{s*FOY(MiVfYV% z3-&IbJW)}+p81WZi(^Q|t+#j1XJ1Z`VE>SR>*0%p+?yVn#o>Z?Qo|izsjc`bKjXpG zsj;k%Y=`)Ezfq}>p3%MG@{w4!9<< zZ(!JAr##u~;pekPQG&uk>(o;Yw;W06$ew$ObNbsUc1jC)vc0(8#CS?1wg|dWiKqve z6_JqmE^gY!UANY$^}c-RJmvI(t5d%&Z)-T|>2O`1@dp!w)8#qhp(6K{z6l)QXK24r zx*&*gRp{s7l?=Q180N1v<7bstjM>Ka zCshQxXO{METAE_C{;yPWCPVwTjUFsB=9<S$pcvbnDV$WvV&D$4UJU8*z zdoIPz{)=sFGZ zZ+ykyEbAw6T5s5X?tFE-{?R8&RCsUrO!SskK5L|?Cq|-H(dG` zKV@x@W|((7)7G~1^82}0#p@1gF@!PJY@cR-Qt$2mh?ln|uhh@_Z`%;fa801o;`zCN z75f%NY`*p8OEF{l>y6*^SF!%8{CRK3z7^99{8JUBjy4rLzF6t=qw&|x^EI!;b1Wxv zh~=c#$#HL-A-i$^Q=>438VftQcM{QlDjU|U>a7hebvggpKJ?qSZ_7eLb@@K~ne+%< zdU?Ey_w>^uC6E5D5Ur&e^}m1rzFA>YXYXNfSVK|7WXexdlcK-zZ?m7-&EC4b*xP&E z>pNGz^LnRl?h`h9U%sk%^ZieS51;kDDOprj`t@<10CQ~Ym*$Cf;Z>5}%-s=rnJ0_4 z#2kK=yfifB*43+pbAMII{W)9_qv1GP{cXs+xpQl|rA`@m9gK}_c_r=GF(<_n30hq2=4=B_s*dx~WY)^n7;e7A3XE;j5j@ je4hDd9^LBq)LuDA{e@%ey-N%Xzyib5)z4*}Q$iB}wVn6r delta 753 zcmZ23dr?ZUGr-TCmrII^fq{Y7)59eQNQ*EqF!FJ*0a=}!&0QwlyicHus=rBB&B|9R=g#>-P}uU+%tJbm>c@9#?i z1v9e4rdvIC)7oPBDOW6Gec+V68>hX^xA@i{p25B0js69(hy}WPo)+DjcV>rZ+`YBo zKjOqR0v0$lGO==r;A4D{XE<##JM;Q9$$I(rZtfRf7tJ>}Fk^Gvz*57uVc-17he98C zZ>Vu7@GQJsINzW}f#HY9*~&RrKV_LzCbqm2YtWBdym1!WKE`X0Cq6%TMdV7Bf%$X0 ztx`UIyR!dAe3$CIUMTf-*Y5ZYvi>VW64H*{-JE#wt$5hr> z$*?N4e#TtcxB7SQ@9(K&e>Z!@uAe{R=ggCLRF{jSP z^uXbYh_%n+PoA9P&bH#{;UG=>8E19|f4TNrDnWmvOp$Qs99!l$M-G4f{3pRE{WwGP z#}6+wfJ$x}9Z0)Vw)}C~ffX0CcFKtRCR}Dv{9rV%q=u*dZJF7%yxlwhR;1S2>ulWN zvE^$XGe1MQ&)hjXTBG&8^Eb!w`}se7knrK&-p%{|Uz6SNw}SBw)4bzv<>mS={rIgh z-O+&M)q(3TBvz+7*e^0O-{kj(|3GX)tC#A|?Y)KW(ra9b&DbXI)t39fW-FqF5jjrS zqUk|A^V`yOFL`^F!>3z?=V$1wJM{krZ?8Q&!wi`PM*aC0fQgZT!PC{xWt~$(69D4Q BLcjn3 diff --git a/themes/trollian/moodcheck8.png b/themes/trollian/moodcheck8.png index b014b2a24fadd908c12cf0657f07a0fd06809529..1ea6e1eba58da24337300beed1bfe79fbfd8cc1d 100644 GIT binary patch delta 1189 zcmca7)gq_Z8Q|y6%O%Cdz`(%k>ERLtq}3Q082LEZfUKumQyn*&#c}boC3(BMF#HF> z1$&oIo~S5Z&*JIn;uunK>+PNM*)pjz$3K3beAl$|##^UYjTC49q+1PN7O<{l5#>H< zpKw5i_lXwArRFVe8uM8EHK)jMnYOd?D+&mSY-HK1!{TUDxutE&GVNx~wYz7(d7Nlw zynEAWzqI*(CqDUn;Lw{hpU-^0_5S*X^g>PfJ|SSiLyEt1Ytq;0AT8sV6(W`t)$jsI#5K z_AOF#MnV&(8u>&$hUOcb@g0wEzF*ttGkF(7`}xMhx7M+!#I<>SWc$F}p!-BxO7ikv z*VTCp`@I z1bw}KtbSLie0QK!Sf*78=WWhytJsg1n{K;V$f@13|NG64iM_d8dWo+OhCS6h9w)M4 z&-Fhsd!z zhxDVa4}bVAKKyx}^w;>)fzSOvFVA0GbY1LI<#yqt8)}&L)U(vcEctqW|Dr9s!?V4& zC!{9G{gC{z>fy25du-M%eebyb*`M!?*Be+TJ(o(CRD0>)nXoYIx#JwZMQ4vk>4$I^ ziru$f&3%>YTHs6>e`Cve?>=(p&;E3*VpeC2RfXk`w-@dIw#Ukt`Si_Cf8}+pUGnf` z_1`vnH~$^7t1v$9qUV!bU%21p(32nErn~=@O}?(5-fY6;^W;*@{yA?grm`i})!jRH z=FEh%X}_yf-@SdiapT5=pFV9e#&$Dg2*!|q9JvaYp@5#+^v(SsWRH#aVfBN$)YRf(b3Un?;hlvPI&$Oxa^;kEB2e5Q@!tb+e7g6 z=_|KB?`d?doOk@fuV23o95gdG_sq%9*YE4=tDAWGsf48D%jzXz;o*@{QASn5*SXi@ z%p~bJWsoG6i=`#YSS-1lluZ^uo&t8Y2dsxLmfvgA_P&m_xO!Qzkc@vo(xed0gy d&1Lx~d&ybOpO>VY3IIzU22WQ%mvv4FO#tBQIMM(B delta 766 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 diff --git a/themes/trollian/style.js b/themes/trollian/style.js index c3c74dd..aae0ab0 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -148,96 +148,96 @@ "moods": [ { "style": "border:0px;", "selected": "background-image:url($path/moodcheck1.png); border:0px;", - "loc": [25, 141], - "size": [20, 270], + "loc": [16, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 17 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck2.png); border:0px;", - "loc": [60, 141], - "size": [20, 270], + "loc": [51, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 9 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck3.png); border:0px;", - "loc": [95, 141], - "size": [20, 270], + "loc": [86, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 11 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck4.png); border:0px;", - "loc": [130, 141], - "size": [20, 270], + "loc": [121, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 1 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck5.png); border:0px;", - "loc": [165, 141], - "size": [20, 270], + "loc": [156, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 16 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck6.png); border:0px;", - "loc": [200, 141], - "size": [20, 270], + "loc": [191, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 8 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck7.png); border:0px;", - "loc": [235, 141], - "size": [20, 270], + "loc": [226, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 10 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck8.png); border:0px;", - "loc": [270, 141], - "size": [20, 270], + "loc": [261, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 14 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck9.png); border:0px;", - "loc": [305, 141], - "size": [20, 270], + "loc": [296, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 15 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck10.png); border:0px;", - "loc": [340, 141], - "size": [20, 270], + "loc": [331, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 13 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck11.png); border:0px;", - "loc": [375, 141], - "size": [20, 270], + "loc": [366, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 12 }, { "style": "border:0px;", "selected": "background-image:url($path/moodcheck12.png); border:0px;", - "loc": [410, 141], - "size": [20, 270], + "loc": [401, 141], + "size": [38, 270], "text": "", "icon": "", "mood": 7 From f24340a4aa7233d86473a2596969ee9b9adcfcf0 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 21 Apr 2011 01:21:10 -0700 Subject: [PATCH 029/166] Changelog update --- CHANGELOG.mkdn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index f36ce1a..6e51ee8 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -9,8 +9,10 @@ CHANGELOG --------- ### 3.14.2 * Individually turn quirks on and off - Kiooeht [evacipatedBox] +* More canon trollian theme timeline indicators - [binaryCabalist] +* By mood chum sorting - Kiooeht [evacipatedBox] * Bug fixes - * Logviewer updates + * Logviewer updates - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] From d4e58ccc9a3b9c2fe4839c719a6e7b0f8dab0ed8 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 25 Apr 2011 01:04:09 -0700 Subject: [PATCH 030/166] Chum groups updates: Save groups in own database, allow custom group ordering/drag-drop groups --- irc.py | 10 ++--- pesterchum.py | 113 +++++++++++++++++++++++++++++++++++++------------- 2 files changed, 89 insertions(+), 34 deletions(-) diff --git a/irc.py b/irc.py index b0087cc..ff96e68 100644 --- a/irc.py +++ b/irc.py @@ -53,7 +53,7 @@ class PesterIRC(QtCore.QThread): if not res: logging.debug("false Yield: %s, returning" % res) return - + def setConnected(self): self.registeredIRC = True self.connected.emit() @@ -87,7 +87,7 @@ class PesterIRC(QtCore.QThread): self.cli.command_handler.getMood(*chums) @QtCore.pyqtSlot(PesterList) def getMoods(self, chums): - self.cli.command_handler.getMood(*chums) + self.cli.command_handler.getMood(*chums) @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) def sendMessage(self, text, handle): h = unicode(handle) @@ -251,7 +251,7 @@ class PesterHandler(DefaultCommandHandler): mychumhandle = self.mainwindow.profile().handle mymood = self.mainwindow.profile().mood.value() if msg.find(mychumhandle, 8) != -1: - helpers.msg(self.client, "#pesterchum", + helpers.msg(self.client, "#pesterchum", "MOOD >%d" % (mymood)) elif chan[0] == '#': if msg[0:16] == "PESTERCHUM:TIME>": @@ -347,7 +347,7 @@ class PesterHandler(DefaultCommandHandler): logging.info("---> recv \"CHANNELS END\"") self.parent.channelListReceived.emit(pl) self.channel_list = [] - + def getMood(self, *chums): chumglub = "GETMOOD " for c in chums: @@ -364,4 +364,4 @@ class PesterHandler(DefaultCommandHandler): helpers.msg(self.client, "#pesterchum", chumglub) except socket.error: self.parent.setConnectionBroken() - + diff --git a/pesterchum.py b/pesterchum.py index f2c78cc..6e71a3f 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -120,6 +120,8 @@ class PesterProfileDB(dict): else: self.logpath = _datadir+"logs" + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) try: fp = open("%s/chums.js" % (self.logpath), 'r') chumdict = json.load(fp) @@ -261,6 +263,29 @@ class userConfig(object): self.userprofile = userProfile(self.config["defaultprofile"]) else: self.userprofile = None + + if sys.platform != "darwin": + self.logpath = "logs" + else: + self.logpath = _datadir+"logs" + + if not os.path.exists(self.logpath): + os.makedirs(self.logpath) + try: + fp = open("%s/groups.js" % (self.logpath), 'r') + self.groups = json.load(fp) + fp.close() + except IOError: + chumdict = {} + fp = open("%s/groups.js" % (self.logpath), 'w') + json.dump(self.groups, fp) + fp.close() + except ValueError: + chumdict = {} + fp = open("%s/groups.js" % (self.logpath), 'w') + json.dump(self.groups, fp) + fp.close() + def chums(self): if not self.config.has_key('chums'): self.set("chums", []) @@ -332,15 +357,15 @@ class userConfig(object): l.pop(l.index(handle)) self.set('block', l) def getGroups(self): - if not self.config.has_key('groups'): - self.set('groups', []) - return self.config.get('groups', []) + if not self.groups.has_key('groups'): + self.saveGroups([]) + return self.groups.get('groups', []) def addGroup(self, group, open=False): l = self.getGroups() if group not in l: l.append([group,open]) l.sort() - self.set('groups', l) + self.saveGroups(l) def delGroup(self, group): l = self.getGroups() i = 0 @@ -349,7 +374,17 @@ class userConfig(object): i = i+1 l.pop(i) l.sort() - self.set('groups', l) + self.saveGroups(l) + def saveGroups(self, groups): + self.groups['groups'] = groups + try: + jsonoutput = json.dumps(self.groups) + except ValueError, e: + raise e + fp = open("%s/groups.js" % (self.logpath), 'w') + fp.write(jsonoutput) + fp.close() + def server(self): return self.config.get('server', 'irc.mindfang.org') def port(self): @@ -508,10 +543,6 @@ class chumArea(RightClickTree): gTemp = self.mainwindow.config.getGroups() self.groups = [g[0] for g in gTemp] self.openGroups = [g[1] for g in gTemp] - # quick hack to sort saved groups - self.mainwindow.config.addGroup("f3rskv9dssag[%3ffvsla09iv34G#$v") - self.mainwindow.config.delGroup("f3rskv9dssag[%3ffvsla09iv34G#$v") - # end quick hack self.showAllGroups() if not self.mainwindow.config.hideOfflineChums(): self.showAllChums() @@ -596,25 +627,49 @@ class chumArea(RightClickTree): return self.optionsMenu def dropEvent(self, event): - item = self.itemAt(event.pos()) - if item: - text = str(item.text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] - if text == "Chums" or text in self.groups: - group = text - else: - ptext = str(item.parent().text(0)) - if ptext.rfind(" ") != -1: - ptext = ptext[0:ptext.rfind(" ")] - group = ptext - chumLabel = event.source().currentItem() - chumLabel.chum.group = group - self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) - self.takeItem(chumLabel) - self.addItem(chumLabel) - if self.mainwindow.config.showOnlineNumbers(): - self.showOnlineNumbers() + thisitem = str(event.source().currentItem().text(0)) + if thisitem.rfind(" ") != -1: + thisitem = thisitem[0:thisitem.rfind(" ")] + if thisitem == "Chums" or thisitem in self.groups: + droppos = str(self.itemAt(event.pos()).text(0)) + if droppos.rfind(" ") != -1: + droppos = droppos[0:droppos.rfind(" ")] + if droppos == "Chums" or droppos in self.groups: + saveOpen = self.openGroups[self.groups.index(thisitem)] + saveDrop = self.itemAt(event.pos()) + saveItem = self.takeTopLevelItem(self.indexOfTopLevelItem(event.source().currentItem())) + self.insertTopLevelItems(self.indexOfTopLevelItem(saveDrop)+1, [saveItem]) + if saveOpen: + saveItem.setExpanded(True) + + gTemp = [] + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text != "Chums": + gTemp.append([unicode(text), self.topLevelItem(i).isExpanded()]) + self.mainwindow.config.setGroups(gTemp) + else: + item = self.itemAt(event.pos()) + if item: + text = str(item.text(0)) + if text.rfind(" ") != -1: + text = text[0:text.rfind(" ")] + if text == "Chums" or text in self.groups: + group = text + else: + ptext = str(item.parent().text(0)) + if ptext.rfind(" ") != -1: + ptext = ptext[0:ptext.rfind(" ")] + group = ptext + chumLabel = event.source().currentItem() + chumLabel.chum.group = group + self.mainwindow.chumdb.setGroup(chumLabel.chum.handle, group) + self.takeItem(chumLabel) + self.addItem(chumLabel) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() def moveGroupMenu(self): currentGroup = self.currentItem() @@ -657,7 +712,7 @@ class chumArea(RightClickTree): if not len(self.findItems(chandle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive)): chumLabel = chumListing(c, self.mainwindow) self.addItem(chumLabel) - #self.sortItems() + self.sort() def hideOfflineChums(self): for j in range(self.topLevelItemCount()): i = 0 From 846d7b6dbb40e36af9c9b5070b33e9df1e901f9f Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 25 Apr 2011 01:31:47 -0700 Subject: [PATCH 031/166] Rearrange options menu a little bit --- menus.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/menus.py b/menus.py index df707d6..f59b582 100644 --- a/menus.py +++ b/menus.py @@ -607,6 +607,9 @@ class PesterOptions(QtGui.QDialog): method = self.config.sortMethod() if method >= 0 and method < self.sortBox.count(): self.sortBox.setCurrentIndex(method) + layout_3 = QtGui.QHBoxLayout() + layout_3.addWidget(sortLabel) + layout_3.addWidget(self.sortBox, 10) self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) @@ -626,8 +629,9 @@ class PesterOptions(QtGui.QDialog): #layout_0.addWidget(self.groupscheck) layout_0.addWidget(self.showemptycheck) layout_0.addWidget(self.showonlinenumbers) - layout_0.addWidget(sortLabel) - layout_0.addWidget(self.sortBox) + #layout_0.addWidget(sortLabel) + #layout_0.addWidget(self.sortBox) + layout_0.addLayout(layout_3) layout_0.addWidget(hr) layout_0.addWidget(self.timestampcheck) layout_0.addWidget(self.timestampBox) From 973235a95d36cfdae2fbf9de71a43019b49143fa Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 25 Apr 2011 22:45:29 -0700 Subject: [PATCH 032/166] Rearrange all groups (including default) + bug fixes --- pesterchum.py | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 6e71a3f..21424d9 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -276,12 +276,12 @@ class userConfig(object): self.groups = json.load(fp) fp.close() except IOError: - chumdict = {} + self.groups = {} fp = open("%s/groups.js" % (self.logpath), 'w') json.dump(self.groups, fp) fp.close() except ValueError: - chumdict = {} + self.groups = {} fp = open("%s/groups.js" % (self.logpath), 'w') json.dump(self.groups, fp) fp.close() @@ -314,13 +314,13 @@ class userConfig(object): def sortMethod(self): return self.config.get('sortMethod', 0) def useGroups(self): - if not self.config.has_key('useGroups'): - self.set("useGroups", False) return self.config.get('useGroups', False) def openDefaultGroup(self): - if not self.config.has_key('openDefaultGroup'): - self.set("openDefaultGroup", True) - return self.config.get('openDefaultGroup', True) + groups = self.getGroups() + for g in groups: + if g[0] == "Chums": + return g[1] + return True def showEmptyGroups(self): if not self.config.has_key('emptyGroups'): self.set("emptyGroups", False) @@ -358,9 +358,18 @@ class userConfig(object): self.set('block', l) def getGroups(self): if not self.groups.has_key('groups'): - self.saveGroups([]) - return self.groups.get('groups', []) - def addGroup(self, group, open=False): + self.saveGroups([["Chums", True]]) + groups = self.groups.get('groups', [["Chums", True]]) + default = False + for g in groups: + if g[0] == "Chums": + default = True + break + if not default: + groups.insert(0, ["Chums", True]) + self.saveGroups(groups) + return groups + def addGroup(self, group, open=True): l = self.getGroups() if group not in l: l.append([group,open]) @@ -616,7 +625,7 @@ class chumArea(RightClickTree): if text.rfind(" ") != -1: text = text[0:text.rfind(" ")] if text == "Chums": - return self.groupMenu + return None elif text in self.groups: return self.groupMenu else: @@ -647,9 +656,8 @@ class chumArea(RightClickTree): text = str(self.topLevelItem(i).text(0)) if text.rfind(" ") != -1: text = text[0:text.rfind(" ")] - if text != "Chums": - gTemp.append([unicode(text), self.topLevelItem(i).isExpanded()]) - self.mainwindow.config.setGroups(gTemp) + gTemp.append([unicode(text), self.topLevelItem(i).isExpanded()]) + self.mainwindow.config.saveGroups(gTemp) else: item = self.itemAt(event.pos()) if item: @@ -731,11 +739,6 @@ class chumArea(RightClickTree): if text.rfind(" ") != -1: text = text[0:text.rfind(" ")] curgroups.append(text) - if "Chums" not in curgroups: - child_1 = QtGui.QTreeWidgetItem(["Chums"]) - self.addTopLevelItem(child_1) - if self.mainwindow.config.openDefaultGroup(): - child_1.setExpanded(True) for i,g in enumerate(self.groups): if g not in curgroups: child_1 = QtGui.QTreeWidgetItem(["%s" % (g)]) @@ -868,7 +871,9 @@ class chumArea(RightClickTree): c.setMood(mood) if self.mainwindow.config.sortMethod() == 1: for i in range(self.topLevelItemCount()): + saveCurrent = self.currentItem() self.moodSort(i) + self.setCurrentItem(saveCurrent) if self.mainwindow.config.showOnlineNumbers(): self.showOnlineNumbers() return oldmood From 15917bd5d9ed56f600bbbe85a4eb49d627b1209b Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 27 Apr 2011 18:53:03 -0700 Subject: [PATCH 033/166] Tabbed options menu, turn logging on and off --- convo.py | 1 + menus.py | 55 +++++++++++++++++++++++++++++++++++++++------------ pesterchum.py | 24 +++++++++++++++++++--- 3 files changed, 64 insertions(+), 16 deletions(-) diff --git a/convo.py b/convo.py index 5a13e21..101da6a 100644 --- a/convo.py +++ b/convo.py @@ -19,6 +19,7 @@ class PesterTabWindow(QtGui.QFrame): self.mainwindow = mainwindow self.tabs = QtGui.QTabBar(self) + self.tabs.setMovable(True) self.tabs.setTabsClosable(True) self.connect(self.tabs, QtCore.SIGNAL('currentChanged(int)'), self, QtCore.SLOT('changeTab(int)')) diff --git a/menus.py b/menus.py index f59b582..868ff70 100644 --- a/menus.py +++ b/menus.py @@ -566,6 +566,13 @@ class PesterOptions(QtGui.QDialog): hr.setFrameShape(QtGui.QFrame.HLine) hr.setFrameShadow(QtGui.QFrame.Sunken) + self.tabs = QtGui.QTabWidget(self) + self.tabs.setMovable(True) + self.tabs.setUsesScrollButtons(False) + tabNames = ["Interface", "Chum List", "Conversations", "Logging"] + for t in tabNames: + self.tabs.addTab(QtGui.QWidget(), t) + self.tabcheck = QtGui.QCheckBox("Tabbed Conversations", self) if self.config.tabs(): self.tabcheck.setChecked(True) @@ -611,6 +618,11 @@ class PesterOptions(QtGui.QDialog): layout_3.addWidget(sortLabel) layout_3.addWidget(self.sortBox, 10) + self.logpesterscheck = QtGui.QCheckBox("Log all chats", self) + self.logpesterscheck.setChecked(self.config.logPesters()) + self.logmemoscheck = QtGui.QCheckBox("Log all memos", self) + self.logmemoscheck.setChecked(self.config.logMemos()) + self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) self.connect(self.ok, QtCore.SIGNAL('clicked()'), @@ -622,20 +634,37 @@ class PesterOptions(QtGui.QDialog): layout_2.addWidget(self.cancel) layout_2.addWidget(self.ok) + # Tab layouts + # Interface + layout_interface = QtGui.QVBoxLayout(self.tabs.widget(0)) + layout_interface.setAlignment(QtCore.Qt.AlignTop) + layout_interface.addWidget(self.tabcheck) + layout_interface.addWidget(self.soundcheck) + + # Chum List + layout_chumlist = QtGui.QVBoxLayout(self.tabs.widget(1)) + layout_chumlist.setAlignment(QtCore.Qt.AlignTop) + layout_chumlist.addWidget(self.hideOffline) + #layout_chumlist.addWidget(self.groupscheck) + layout_chumlist.addWidget(self.showemptycheck) + layout_chumlist.addWidget(self.showonlinenumbers) + layout_chumlist.addLayout(layout_3) + + # Conversations + layout_chat = QtGui.QVBoxLayout(self.tabs.widget(2)) + layout_chat.setAlignment(QtCore.Qt.AlignTop) + layout_chat.addWidget(self.timestampcheck) + layout_chat.addWidget(self.timestampBox) + layout_chat.addWidget(self.secondscheck) + + # Logging + layout_logs = QtGui.QVBoxLayout(self.tabs.widget(3)) + layout_logs.setAlignment(QtCore.Qt.AlignTop) + layout_logs.addWidget(self.logpesterscheck) + layout_logs.addWidget(self.logmemoscheck) + layout_0 = QtGui.QVBoxLayout() - layout_0.addWidget(self.tabcheck) - layout_0.addWidget(self.soundcheck) - layout_0.addWidget(self.hideOffline) - #layout_0.addWidget(self.groupscheck) - layout_0.addWidget(self.showemptycheck) - layout_0.addWidget(self.showonlinenumbers) - #layout_0.addWidget(sortLabel) - #layout_0.addWidget(self.sortBox) - layout_0.addLayout(layout_3) - layout_0.addWidget(hr) - layout_0.addWidget(self.timestampcheck) - layout_0.addWidget(self.timestampBox) - layout_0.addWidget(self.secondscheck) + layout_0.addWidget(self.tabs) layout_0.addLayout(layout_2) self.setLayout(layout_0) diff --git a/pesterchum.py b/pesterchum.py index 21424d9..3a75cbc 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -69,8 +69,9 @@ class NoneSound(object): def play(self): pass class PesterLog(object): - def __init__(self, handle): + def __init__(self, handle, parent=None): global _datadir + self.parent = parent self.handle = handle self.convos = {} if sys.platform != "darwin": @@ -79,6 +80,10 @@ class PesterLog(object): self.logpath = _datadir+"logs" def log(self, handle, msg): + if handle[0] == '#': + if not self.parent.config.logMemos(): return + else: + if not self.parent.config.logPesters(): return #watch out for illegal characters handle = re.sub(r'[<>:"/\\|?*]', "_", handle) #time = strftime("[%H:%M:%S] ") @@ -329,6 +334,10 @@ class userConfig(object): if not self.config.has_key('onlineNumbers'): self.set("onlineNumbers", False) return self.config.get('onlineNumbers', False) + def logPesters(self): + return self.config.get('logPesters', True) + def logMemos(self): + return self.config.get('logMemos', True) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -1287,7 +1296,7 @@ class PesterWindow(MovingWindow): self.userprofile = userProfile(PesterProfile("pesterClient%d" % (random.randint(100,999)), QtGui.QColor("black"), Mood(0))) self.theme = self.userprofile.getTheme() - self.chatlog = PesterLog(self.profile().handle) + self.chatlog = PesterLog(self.profile().handle, self) self.move(100, 100) @@ -2281,6 +2290,15 @@ class PesterWindow(MovingWindow): elif curonlinenum and not onlinenumsetting: self.chumList.hideOnlineNumbers() self.config.set("onlineNumbers", onlinenumsetting) + # logging + logpesterssetting = self.optionmenu.logpesterscheck.isChecked() + curlogpesters = self.config.logPesters() + if logpesterssetting != curlogpesters: + self.config.set('logPesters', logpesterssetting) + logmemossetting = self.optionmenu.logmemoscheck.isChecked() + curlogmemos = self.config.logMemos() + if logmemossetting != curlogmemos: + self.config.set('logMemos', logmemossetting) self.optionmenu = None @QtCore.pyqtSlot() @@ -2322,7 +2340,7 @@ class PesterWindow(MovingWindow): self.changeTheme(self.userprofile.getTheme()) self.chatlog.close() - self.chatlog = PesterLog(handle) + self.chatlog = PesterLog(handle, self) # is default? if self.chooseprofile.defaultcheck.isChecked(): From 88d0adb1d1730c21740819e516caa4c75f517d9f Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 27 Apr 2011 22:20:44 -0700 Subject: [PATCH 034/166] Rearrange options menu, place framework for disabling @ and # links --- TODO.mkdn | 1 + menus.py | 52 ++++++++++++++++++++++++++++++++++++++++++--------- pesterchum.py | 7 +++++++ 3 files changed, 51 insertions(+), 9 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index d5cff54..945d4dc 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -13,6 +13,7 @@ Features * Theme checking * Spy mode * Animated +* Turn @ and # links on/off? Bugs ---- diff --git a/menus.py b/menus.py index 868ff70..b0b4fa8 100644 --- a/menus.py +++ b/menus.py @@ -557,21 +557,27 @@ class PesterChooseProfile(QtGui.QDialog): class PesterOptions(QtGui.QDialog): def __init__(self, config, theme, parent): QtGui.QDialog.__init__(self, parent) + self.setWindowTitle("Options") self.setModal(False) self.config = config self.theme = theme self.setStyleSheet(self.theme["main/defaultwindow/style"]) + layout_4 = QtGui.QVBoxLayout() + hr = QtGui.QFrame() hr.setFrameShape(QtGui.QFrame.HLine) hr.setFrameShadow(QtGui.QFrame.Sunken) - self.tabs = QtGui.QTabWidget(self) - self.tabs.setMovable(True) - self.tabs.setUsesScrollButtons(False) + self.tabs = QtGui.QButtonGroup(self) + self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'), + self, QtCore.SLOT('changePage(int)')) tabNames = ["Interface", "Chum List", "Conversations", "Logging"] for t in tabNames: - self.tabs.addTab(QtGui.QWidget(), t) + button = QtGui.QPushButton(t) + self.tabs.addButton(button) + layout_4.addWidget(button) + self.pages = QtGui.QStackedWidget(self) self.tabcheck = QtGui.QCheckBox("Tabbed Conversations", self) if self.config.tabs(): @@ -599,6 +605,11 @@ class PesterOptions(QtGui.QDialog): if self.config.showSeconds(): self.secondscheck.setChecked(True) + self.userlinkscheck = QtGui.QCheckBox("Disable #Memo and @User Links", self) + self.userlinkscheck.setChecked(self.config.disableUserLinks()) + self.userlinkscheck.setVisible(False) + + # Will add ability to turn off groups later #self.groupscheck = QtGui.QCheckBox("Use Groups", self) #self.groupscheck.setChecked(self.config.useGroups()) @@ -636,39 +647,62 @@ class PesterOptions(QtGui.QDialog): # Tab layouts # Interface - layout_interface = QtGui.QVBoxLayout(self.tabs.widget(0)) + widget = QtGui.QWidget() + layout_interface = QtGui.QVBoxLayout(widget) layout_interface.setAlignment(QtCore.Qt.AlignTop) layout_interface.addWidget(self.tabcheck) layout_interface.addWidget(self.soundcheck) + self.pages.addWidget(widget) # Chum List - layout_chumlist = QtGui.QVBoxLayout(self.tabs.widget(1)) + widget = QtGui.QWidget() + layout_chumlist = QtGui.QVBoxLayout(widget) layout_chumlist.setAlignment(QtCore.Qt.AlignTop) layout_chumlist.addWidget(self.hideOffline) #layout_chumlist.addWidget(self.groupscheck) layout_chumlist.addWidget(self.showemptycheck) layout_chumlist.addWidget(self.showonlinenumbers) layout_chumlist.addLayout(layout_3) + self.pages.addWidget(widget) # Conversations - layout_chat = QtGui.QVBoxLayout(self.tabs.widget(2)) + widget = QtGui.QWidget() + layout_chat = QtGui.QVBoxLayout(widget) layout_chat.setAlignment(QtCore.Qt.AlignTop) + layout_chat.addWidget(QtGui.QLabel("Time Stamps")) layout_chat.addWidget(self.timestampcheck) layout_chat.addWidget(self.timestampBox) layout_chat.addWidget(self.secondscheck) + # Re-enable these when it's possible to disable User and Memo links + #layout_chat.addWidget(hr) + #layout_chat.addWidget(QtGui.QLabel("User and Memo Links")) + #layout_chat.addWidget(self.userlinkscheck) + self.pages.addWidget(widget) # Logging - layout_logs = QtGui.QVBoxLayout(self.tabs.widget(3)) + widget = QtGui.QWidget() + layout_logs = QtGui.QVBoxLayout(widget) layout_logs.setAlignment(QtCore.Qt.AlignTop) layout_logs.addWidget(self.logpesterscheck) layout_logs.addWidget(self.logmemoscheck) + self.pages.addWidget(widget) layout_0 = QtGui.QVBoxLayout() - layout_0.addWidget(self.tabs) + layout_1 = QtGui.QHBoxLayout() + layout_1.addLayout(layout_4) + layout_1.addWidget(self.pages) + layout_0.addLayout(layout_1) + layout_0.addSpacing(30) layout_0.addLayout(layout_2) self.setLayout(layout_0) + @QtCore.pyqtSlot(int) + def changePage(self, page): + # What is this, I don't even. qt, fuck + page = -page - 2 + self.pages.setCurrentIndex(page) + class PesterUserlist(QtGui.QDialog): def __init__(self, config, theme, parent): QtGui.QDialog.__init__(self, parent) diff --git a/pesterchum.py b/pesterchum.py index 3a75cbc..91d57db 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -338,6 +338,8 @@ class userConfig(object): return self.config.get('logPesters', True) def logMemos(self): return self.config.get('logMemos', True) + def disableUserLinks(self): + return not self.config.get('userLinks', True) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -2299,6 +2301,11 @@ class PesterWindow(MovingWindow): curlogmemos = self.config.logMemos() if logmemossetting != curlogmemos: self.config.set('logMemos', logmemossetting) + # memo and user links + linkssetting = self.optionmenu.userlinkscheck.isChecked() + curlinks = self.config.disableUserLinks() + if linkssetting != curlinks: + self.config.set('userLinks', not linkssetting) self.optionmenu = None @QtCore.pyqtSlot() From 90556079dbf27ef7abc04f8f33007ad05549da61 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 28 Apr 2011 00:51:02 -0700 Subject: [PATCH 035/166] Customizable idle time --- CHANGELOG.mkdn | 1 + menus.py | 17 ++++++++++++++++- pesterchum.py | 10 +++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 6e51ee8..6abf005 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -11,6 +11,7 @@ CHANGELOG * Individually turn quirks on and off - Kiooeht [evacipatedBox] * More canon trollian theme timeline indicators - [binaryCabalist] * By mood chum sorting - Kiooeht [evacipatedBox] +* Customizable idle time - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] diff --git a/menus.py b/menus.py index b0b4fa8..45e2136 100644 --- a/menus.py +++ b/menus.py @@ -572,7 +572,7 @@ class PesterOptions(QtGui.QDialog): self.tabs = QtGui.QButtonGroup(self) self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'), self, QtCore.SLOT('changePage(int)')) - tabNames = ["Interface", "Chum List", "Conversations", "Logging"] + tabNames = ["Interface", "Chum List", "Conversations", "Logging", "Idle"] for t in tabNames: button = QtGui.QPushButton(t) self.tabs.addButton(button) @@ -634,6 +634,14 @@ class PesterOptions(QtGui.QDialog): self.logmemoscheck = QtGui.QCheckBox("Log all memos", self) self.logmemoscheck.setChecked(self.config.logMemos()) + times = ["1", "5", "10", "15", "30"] + self.idleBox = QtGui.QComboBox(self) + self.idleBox.addItems(times) + self.idleBox.setCurrentIndex(self.idleBox.findText(str(self.config.idleTime()))) + layout_5 = QtGui.QHBoxLayout() + layout_5.addWidget(QtGui.QLabel("Minutes before Idle:")) + layout_5.addWidget(self.idleBox) + self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) self.connect(self.ok, QtCore.SIGNAL('clicked()'), @@ -687,6 +695,13 @@ class PesterOptions(QtGui.QDialog): layout_logs.addWidget(self.logmemoscheck) self.pages.addWidget(widget) + # Idle + widget = QtGui.QWidget() + layout_idle = QtGui.QVBoxLayout(widget) + layout_idle.setAlignment(QtCore.Qt.AlignTop) + layout_idle.addLayout(layout_5) + self.pages.addWidget(widget) + layout_0 = QtGui.QVBoxLayout() layout_1 = QtGui.QHBoxLayout() layout_1.addLayout(layout_4) diff --git a/pesterchum.py b/pesterchum.py index 91d57db..0e429d0 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -340,6 +340,8 @@ class userConfig(object): return self.config.get('logMemos', True) def disableUserLinks(self): return not self.config.get('userLinks', True) + def idleTime(self): + return self.config.get('idleTime', 10) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -1449,7 +1451,7 @@ class PesterWindow(MovingWindow): self.waitingMessages = waitingMessageHolder(self) self.autoidle = False - self.idlethreshold = 600 + self.idlethreshold = 60*self.config.idleTime() self.idletimer = QtCore.QTimer(self) self.idleposition = QtGui.QCursor.pos() self.idletime = 0 @@ -2306,6 +2308,12 @@ class PesterWindow(MovingWindow): curlinks = self.config.disableUserLinks() if linkssetting != curlinks: self.config.set('userLinks', not linkssetting) + # idle time + idlesetting = int(unicode(self.optionmenu.idleBox.currentText())) + curidle = self.config.idleTime() + if idlesetting != curidle: + self.config.set('idleTime', idlesetting) + self.idlethreshold = 60*idlesetting self.optionmenu = None @QtCore.pyqtSlot() From 15369b7577f47e4825f16ce63c7b057b1b1fa36d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 28 Apr 2011 02:02:15 -0700 Subject: [PATCH 036/166] Different sounds for memos/pesters (though a better sound for memos is needed) --- CHANGELOG.mkdn | 1 + TODO.mkdn | 1 - menus.py | 50 ++++++++++++++++++++++++-------- pesterchum.py | 27 +++++++++++++---- themes/gold/alarm2.wav | Bin 0 -> 74748 bytes themes/gold/style.js | 1 + themes/pesterchum/alarm2.wav | Bin 0 -> 74748 bytes themes/pesterchum/style.js | 1 + themes/pesterchum2.5/alarm2.wav | Bin 0 -> 74748 bytes themes/trollian/style.js | 3 +- themes/trollian2.5/alarm2.wav | Bin 0 -> 74748 bytes themes/typewriter/alarm2.wav | Bin 0 -> 74748 bytes themes/typewriter/style.js | 1 + 13 files changed, 66 insertions(+), 19 deletions(-) create mode 100644 themes/gold/alarm2.wav create mode 100644 themes/pesterchum/alarm2.wav create mode 100644 themes/pesterchum2.5/alarm2.wav create mode 100644 themes/trollian2.5/alarm2.wav create mode 100644 themes/typewriter/alarm2.wav diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 6abf005..4c5ffb5 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -12,6 +12,7 @@ CHANGELOG * More canon trollian theme timeline indicators - [binaryCabalist] * By mood chum sorting - Kiooeht [evacipatedBox] * Customizable idle time - Kiooeht [evacipatedBox] +* Different sound for memos - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] diff --git a/TODO.mkdn b/TODO.mkdn index 945d4dc..dfb30ea 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -3,7 +3,6 @@ Todo Features -------- -* different sound for memos/pesters * OOC * log viewer needs to have BBCode/HTML/Text copy modes * random pesters diff --git a/menus.py b/menus.py index 45e2136..6d7f5bc 100644 --- a/menus.py +++ b/menus.py @@ -568,11 +568,14 @@ class PesterOptions(QtGui.QDialog): hr = QtGui.QFrame() hr.setFrameShape(QtGui.QFrame.HLine) hr.setFrameShadow(QtGui.QFrame.Sunken) + vr = QtGui.QFrame() + vr.setFrameShape(QtGui.QFrame.VLine) + vr.setFrameShadow(QtGui.QFrame.Sunken) self.tabs = QtGui.QButtonGroup(self) self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'), self, QtCore.SLOT('changePage(int)')) - tabNames = ["Interface", "Chum List", "Conversations", "Logging", "Idle"] + tabNames = ["Chum List", "Conversations", "Sound", "Logging", "Idle"] for t in tabNames: button = QtGui.QPushButton(t) self.tabs.addButton(button) @@ -587,8 +590,18 @@ class PesterOptions(QtGui.QDialog): self.hideOffline.setChecked(True) self.soundcheck = QtGui.QCheckBox("Sounds On", self) + self.connect(self.soundcheck, QtCore.SIGNAL('stateChanged(int)'), + self, QtCore.SLOT('soundChange(int)')) + self.chatsoundcheck = QtGui.QCheckBox("Pester Sounds", self) + self.chatsoundcheck.setChecked(self.config.chatSound()) + self.memosoundcheck = QtGui.QCheckBox("Memo Sounds", self) + self.memosoundcheck.setChecked(self.config.memoSound()) if self.config.soundOn(): self.soundcheck.setChecked(True) + else: + self.chatsoundcheck.setEnabled(False) + self.memosoundcheck.setEnabled(False) + self.timestampcheck = QtGui.QCheckBox("Time Stamps", self) if self.config.showTimeStamps(): @@ -629,9 +642,9 @@ class PesterOptions(QtGui.QDialog): layout_3.addWidget(sortLabel) layout_3.addWidget(self.sortBox, 10) - self.logpesterscheck = QtGui.QCheckBox("Log all chats", self) + self.logpesterscheck = QtGui.QCheckBox("Log all Pesters", self) self.logpesterscheck.setChecked(self.config.logPesters()) - self.logmemoscheck = QtGui.QCheckBox("Log all memos", self) + self.logmemoscheck = QtGui.QCheckBox("Log all Memos", self) self.logmemoscheck.setChecked(self.config.logMemos()) times = ["1", "5", "10", "15", "30"] @@ -654,14 +667,6 @@ class PesterOptions(QtGui.QDialog): layout_2.addWidget(self.ok) # Tab layouts - # Interface - widget = QtGui.QWidget() - layout_interface = QtGui.QVBoxLayout(widget) - layout_interface.setAlignment(QtCore.Qt.AlignTop) - layout_interface.addWidget(self.tabcheck) - layout_interface.addWidget(self.soundcheck) - self.pages.addWidget(widget) - # Chum List widget = QtGui.QWidget() layout_chumlist = QtGui.QVBoxLayout(widget) @@ -677,7 +682,7 @@ class PesterOptions(QtGui.QDialog): widget = QtGui.QWidget() layout_chat = QtGui.QVBoxLayout(widget) layout_chat.setAlignment(QtCore.Qt.AlignTop) - layout_chat.addWidget(QtGui.QLabel("Time Stamps")) + layout_chat.addWidget(self.tabcheck) layout_chat.addWidget(self.timestampcheck) layout_chat.addWidget(self.timestampBox) layout_chat.addWidget(self.secondscheck) @@ -687,6 +692,18 @@ class PesterOptions(QtGui.QDialog): #layout_chat.addWidget(self.userlinkscheck) self.pages.addWidget(widget) + # Sound + widget = QtGui.QWidget() + layout_sound = QtGui.QVBoxLayout(widget) + layout_sound.setAlignment(QtCore.Qt.AlignTop) + layout_sound.addWidget(self.soundcheck) + layout_indent = QtGui.QVBoxLayout() + layout_indent.addWidget(self.chatsoundcheck) + layout_indent.addWidget(self.memosoundcheck) + layout_indent.setContentsMargins(22,0,0,0) + layout_sound.addLayout(layout_indent) + self.pages.addWidget(widget) + # Logging widget = QtGui.QWidget() layout_logs = QtGui.QVBoxLayout(widget) @@ -705,6 +722,7 @@ class PesterOptions(QtGui.QDialog): layout_0 = QtGui.QVBoxLayout() layout_1 = QtGui.QHBoxLayout() layout_1.addLayout(layout_4) + layout_1.addWidget(vr) layout_1.addWidget(self.pages) layout_0.addLayout(layout_1) layout_0.addSpacing(30) @@ -717,6 +735,14 @@ class PesterOptions(QtGui.QDialog): # What is this, I don't even. qt, fuck page = -page - 2 self.pages.setCurrentIndex(page) + @QtCore.pyqtSlot(int) + def soundChange(self, state): + if state == 0: + self.chatsoundcheck.setEnabled(False) + self.memosoundcheck.setEnabled(False) + else: + self.chatsoundcheck.setEnabled(True) + self.memosoundcheck.setEnabled(True) class PesterUserlist(QtGui.QDialog): def __init__(self, config, theme, parent): diff --git a/pesterchum.py b/pesterchum.py index 0e429d0..81d1db4 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -415,6 +415,10 @@ class userConfig(object): if not self.config.has_key('soundon'): self.set('soundon', True) return self.config['soundon'] + def chatSound(self): + return self.config.get('chatSound', True) + def memoSound(self): + return self.config.get('memoSound', True) def set(self, item, setting): self.config[item] = setting try: @@ -1513,10 +1517,11 @@ class PesterWindow(MovingWindow): convo.addMessage(msg, False) # play sound here if self.config.soundOn(): - if msg in ["PESTERCHUM:CEASE", "PESTERCHUM:BLOCK"]: - self.ceasesound.play() - else: - self.alarm.play() + if self.config.chatSound(): + if msg in ["PESTERCHUM:CEASE", "PESTERCHUM:BLOCK"]: + self.ceasesound.play() + else: + self.alarm.play() def newMemoMsg(self, chan, handle, msg): if not self.memos.has_key(chan): # silently ignore in case we forgot to /part @@ -1532,7 +1537,8 @@ class PesterWindow(MovingWindow): msg = addTimeInitial(msg, memo.times[handle].getGrammar()) memo.addMessage(msg, handle) if self.config.soundOn(): - self.alarm.play() + if self.config.memoSound(): + self.memosound.play() def changeColor(self, handle, color): # pesterconvo and chumlist @@ -1744,13 +1750,16 @@ class PesterWindow(MovingWindow): # sounds if not pygame.mixer: self.alarm = NoneSound() + self.memosound = NoneSound() self.ceasesound = NoneSound() else: try: self.alarm = pygame.mixer.Sound(theme["main/sounds/alertsound"]) + self.memosound = pygame.mixer.Sound(theme["main/sounds/memosound"]) self.ceasesound = pygame.mixer.Sound(theme["main/sounds/ceasesound"]) except Exception, e: self.alarm = NoneSound() + self.memosound = NoneSound() self.ceasesound = NoneSound() def changeTheme(self, theme): @@ -2266,6 +2275,14 @@ class PesterWindow(MovingWindow): # sound soundsetting = self.optionmenu.soundcheck.isChecked() self.config.set("soundon", soundsetting) + chatsoundsetting = self.optionmenu.chatsoundcheck.isChecked() + curchatsound = self.config.chatSound() + if chatsoundsetting != curchatsound: + self.config.set('chatSound', chatsoundsetting) + memosoundsetting = self.optionmenu.memosoundcheck.isChecked() + curmemosound = self.config.memoSound() + if memosoundsetting != curmemosound: + self.config.set('memoSound', memosoundsetting) # timestamps timestampsetting = self.optionmenu.timestampcheck.isChecked() self.config.set("showTimeStamps", timestampsetting) diff --git a/themes/gold/alarm2.wav b/themes/gold/alarm2.wav new file mode 100644 index 0000000000000000000000000000000000000000..5ae54fac240d7ab6a2e14446d0bc75fca8403e4e GIT binary patch literal 74748 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 literal 0 HcmV?d00001 diff --git a/themes/gold/style.js b/themes/gold/style.js index f84006c..dbfcea4 100644 --- a/themes/gold/style.js +++ b/themes/gold/style.js @@ -16,6 +16,7 @@ "loc": [150,22] }, "sounds": { "alertsound": "$path/alarm.wav", + "memosound": "$path/alarm2.wav", "ceasesound": "$path/cease.wav" }, "menus": {"client": {"_name": "Client", "options": "Options", diff --git a/themes/pesterchum/alarm2.wav b/themes/pesterchum/alarm2.wav new file mode 100644 index 0000000000000000000000000000000000000000..5ae54fac240d7ab6a2e14446d0bc75fca8403e4e GIT binary patch literal 74748 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 literal 0 HcmV?d00001 diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index a74ad1c..f8a33e9 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -16,6 +16,7 @@ "loc": [10,0] }, "sounds": { "alertsound": "$path/alarm.wav", + "memosound": "$path/alarm2.wav", "ceasesound": "$path/cease.wav" }, "menus": {"client": {"_name": "CLIENT", "options": "OPTIONS", diff --git a/themes/pesterchum2.5/alarm2.wav b/themes/pesterchum2.5/alarm2.wav new file mode 100644 index 0000000000000000000000000000000000000000..5ae54fac240d7ab6a2e14446d0bc75fca8403e4e GIT binary patch literal 74748 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 literal 0 HcmV?d00001 diff --git a/themes/trollian/style.js b/themes/trollian/style.js index aae0ab0..9a98271 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -15,7 +15,8 @@ "menuitem": "margin-right:14px;", "loc": [14,90] }, - "sounds": { "alertsound": "$path/alarm.wav" }, + "sounds": { "alertsound": "$path/alarm.wav", + "memosound": "$path/alarm2.wav"}, "menus": {"client": {"_name": "Trollian", "options": "Options", "memos": "Memos", diff --git a/themes/trollian2.5/alarm2.wav b/themes/trollian2.5/alarm2.wav new file mode 100644 index 0000000000000000000000000000000000000000..5ae54fac240d7ab6a2e14446d0bc75fca8403e4e GIT binary patch literal 74748 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 literal 0 HcmV?d00001 diff --git a/themes/typewriter/alarm2.wav b/themes/typewriter/alarm2.wav new file mode 100644 index 0000000000000000000000000000000000000000..5ae54fac240d7ab6a2e14446d0bc75fca8403e4e GIT binary patch literal 74748 zcmZU+$&w{kvTWymkUbJTP-qj#1WB34-`=7 zv+vxwmg?RffqNs6k&zMZ=C;+;)NGskIrv}x=l}9w?tHK=|J(oYzy44E=l}KJZoarI z%gX2f`2Q@+|NXzO%V~LW`9J>afBUchFUR0WqGvRU2ZRb@cHL@n?HZ-e_;2) z@{r#IpLJcHSuQPCmuGiutrK$)Bg+wXy%c{JQ+I{JQ?R+{YJP zxxl$s_Gg!u*Vp$q*SD58me-fp_t(}}w&#~?>tzG6KH6@d{#btBe_noCzgxauzFfcB zzgd3Vf5FaOR{InLE^+0TmRI+`?Qg7a?{BSdFK_Q}EU)b^F3+x)@o?d&dtCpQ<)7$m$i`?u@&eE&1(JXoIW8@^oLuH(nwmbdnImUox;)_3=}@aC2ErR8~iTv_jf<j&FW~!I%ez{@#!b9=2Yg;zUf7BF_Vn}+ z8$T}J?4M&pKR)Bn7wb3sKSBCFo}P%p^ZUyn`tEXTyLI|-e}8!&Yd6-{w-=Xd%LQ2Q zV86Zovj3B_@MHOO{S+&opT60DV2!u;hd_T>8^q(S_2zzS`C!49?L92My}Y(Ozh1`I zhx;Gv&&&7ASL^3H=P#e`AFrR_)7R^dt_DV~aO0I>f%EaAmfi&=qCEw{k;?Unc}&%w8yYyGkQxPHBV1|FZD zKG{EtAK&1|&oKBQ3}7|utFYqT{pR}N^7s8iyt(CS;M>wX6wo|b1>`D@Ettl)$F@5|qVEG!{5&#za>?H~frz7f^aCkuA?{A~G}X#KI@ zSssNY&vDJS_Z#a?BK-dHA)oK#*PH9B%k>Q#%LB0c8Mc2Z&z8@?^xGJivxuI(rE?f&{32!6eMjvr;&rz zCb{<}ISfa(9VY#`{gY`rHgd_V~ z`>QbUvTC&4K}F<9;=95US9AIf2LHa_JMHA}v+FDC8{0dq;QeBPm1fNg`xRF66dwGt ze5V4CGcx{TnD#jw`4Ob#V)^zIj!=i?2wAheqaWHJ zLhq`t``?J!6{>7FBI7}!*{hAOQ0br01~@{^y1ElzavrW?#k?cFn;L*BE}+VB>c}^z zFZWMf3)qr*``3$#b{88bY&=h;dkc=k_T>XC+yb2&%bV!jvt)O4WdBjdn|tEA$W}A& zxApG&7(_0~k^PMm%Bl_dUaq42*Vjwn{%HRb4fsx`k#QfNK5eDgzuSL;foMFLcYS?j zc>|uo5q;Tjoo=BcZ|$#;lk)8GdS^pfvGD~+-~|!>jL3XXPXCEgjm*=ASyLOV<_2{G zRLQ)R8Ve$#$_nJWEBTU@eY^h?q_9EvAgXXg8*o*PzX>{TZ-1knUgh^s$xv&}w`dsp zyam^l=x)}UyVUo=v*-w_C?-*WcdVX7{sLV=Uh1YC1Jk2kt)R*g z$zIePw!+d+n!W4S^aB5~6WE^0Rg~NcE~+1H#y47o+EVj~{}c5rsKOEaF!w%1WsB;) zh3aeeqD6KApc*xL-`Jq6FIgoPc*ga9g5T)^)=#%oU+UKnsLS2uF$z!SQLo-Si3pLA zXJj5+1=Z`Q%)UQ_3F(OjS3#A?e7$|Q{6gbLzBTy6F) zLldI`;Tiqbi}X9z&3kfn|Ca2HCMNG@mAJb+p_xX{h=SRBYg3K}?O&i+8= zS@X!=^|}3JI*A+md#9-YH>rScoL(Ju^D!}`3xHYei`qxf1)wc|Y!6U?6Fhhk?Rsai zx6%q~w%@=rc(z|zPs@|7JVTvXOJcKscA_i7#_ynoCX%5qprP+@<}KHPrEryw<^?)& zdMkR?KStjit~R=@645!_!qTK`B@_X74-aFxjX zhW??>YEktaO|;kiePv&=p6IcoiDs|3f+<>LpSZtZf2OWdH_1G!1RVQBg-^AjepB0@ zfZ0G5R;XvoiRUhjy0Ra;NqN zReE?-yRD8TFeU02_DJvvf4Co!)HS#D@Kdoz?5hOYCMZu-=FJpQm4z z@9nKz4R*eOw`4DfL{~wTj&+TV#0FpX_o$+8uCMSLbd@Ua&IqnjEzuA?LEljk_BzyW z6yU;+CfaRsb$b#0$j%7GP7km@Cc8jHEs7?x)1!W7Ph;o2F7)Uq!16cvjh=}Ij7LS} z8Jc+I^b8q}CeqPRC4vZDyxLq{J=qmmH(%IaJDrORoTYv*s0fHZLqAHTLCe!gfJkgm z{oK?1Iw}o&MZ0hKNpF?>6;%{q1ywVTN^^Vpnf~Rgba`R|&*-fFx&Go_k;u>$fggx$ z@6ySrt8_)Mj=cnG30LVRZ)g84-_s?+SP-F40@dj12}EAv4EQdpDjLkck)1E~8$ak1 zSF)E5MlFgT^hff{UK5^y+O-``+~1-)|0a8#OTZj5&)U0PKc#bKHF8W9QCDB5 znhs55g7GuabfytR-1kzg=mBeQk@4Mz?&Y|9r{r8>O+M`IlS`-<@nY3HWCD zC)1ug6 zxKxXhy=tPU!p9f(S4Gv>g2_!7V#QKEkOJ)hhMdJq<^+D;j%=Fdl8*-)7SBGCRfgi6b)P z?CfduB=viFxP_}5JUgL@T3|&tPwc-}`_<>@nU=+_=-0{Bbj_fOSEKuut5&N~X^3r5 zaYpkNsJ?)gaCN^cS3%?}7-rr4T&}i$liAxs{qDZkZlpX@MbuTQ*p)T25vGx2jz2hy_t03?dtN5JNsPFCq=rx(oxu=n< ztrB!Ju0_+~TYNZ0O%M%fJF%+Ks6;)?NWG}sB_RjW+oD0wN zB-N_>Z+OOPsJ-3OxEgtuKJjnKUOF23jZ~}Ey>prR1^Y90n^eL(L~jnD$N21P=MBNQH3LDGislG5fl0+D8RLqy>lu} zxQZR>xAP|M30y(%=)Rdeq<-s1bYyl`nZv_)r&h036H~o2#k1FRw@Ht{M1sneUNd^; ztmyMClaZAU-U;h^d3%oioZSdBnrMLP{0_M&s`QCec@c5e+kLOy1gN5LN3|-?oLU)O zF(GSitZ!~FJCh6|cZdOd=k%IonUj(4$E?Wgy*lf66#yG>gxUV9P9zo(asPevnyGl) zpZI!X0ym}_WUqZ9bDbM#a&)yl0NG3Zb|#rU4R=S#*eD{=VNYZIMgi_p-_2g?w|&GK zT?JXS*_RziYYu5 zJ6XeQq%+B}r-98E(TbO-O=DjaWZ^0mJ-sHH_>k`V7iTmpHe~$Z>d?dmRNa5eRqJF?wPEEwh zO;`(8xd+tyBai6QGf&h;v?v`7d*|FAA-_SD9*TPkok^lZ*^fArT%(CQ^_%Qq$GUs> zOBG?lY6tHG&f2@5$gU^=E4bw(L5|R?y^Y2_Pgm_kV$2hnnMdK_i90lTMh8!QU)+Cl z_W)hhMr&_1k^PeQSeR-!x8~kP^ejxXlgJ$fd}RMk7Y8CyfK<({C6$IgQLcJ#gI@Co zdreo8dp+Idu~THN+$Hsn(Uu8Zb9c>JP!T617r+b~%)Y16B)KCu_|EU1fXEf@P`NM4 zjx{>MPJ)WZ6mO;1Br>U1++zX}dl7Zj9sqTsU$xiVE-`P4HZP-U;t##1x@u&I9rtPM z0gSGEkBu+6KZvewxB0D|6?^z7KzAeTzp-`$wFXr?EBElxRh4LZlAR*@l-(w~0On21 z4m*<^3JZkJe&gzsAvfFsgtdS}BOyc_}5 z8_dts17rf%y%l_4zSxqx*52-m>;XhI-S_LVgtpt z*YvK$HK%y?tM$ay;MH63CU-Vi@u*f-8hZe`O>HoN%M=e4$y~E{Cc_a|Q(dJ3jk#ua zo4FHDWKzHPFHhc;$i9fxc=!61mAw@mO)Iau>RkzD@LYrJ<$B&xIO;bMqJv+41l7B9 zx5?Vm1As-4b^p!u$gT*U%^twcsvJ3SM<0y6E5Utd@_WpRM8wE!_!6#KX`-v_;<7KA zy=J>S?@FLge>y+MTe>3e2O8h528DNeHg<}eGfD6Dpa7F+#MgfHM|kFLlWDPBRafm3 z~UEOj&u-Y8HyDze{;$Ba(muCV_^Z?se-36rk z9#f4|dQG{?-LFFv-Nn-%ac|RVW%mvC@Qm(sPDXqpz};r=^|-g9*Q7pDtp-<#PWr@& z>dGAh=9)Ya!K^5e;XZBaHyymw;&E5P9)M2w&>}k;=jZUueG#ZyY1BmXZdK3dSJ{&@ zgD1O}%!-(d*cGV(Ae;Iv&*EO}CU)Q_NzU3-A4`z~U6aYKf<@wwQ z^K*Itry8AW+G~QTexQk&7T=(<|J!<9=ZB-@BX9M6gZ|(77hNP3pHcPMnN|T%}JO+3S-QpgI%)RMBX90G{CZeWTax{(E7rN$;Qv@n;L)iI$UItAx*{O_oNCa81QU0g-l?U7?=uqYX-4)E-R{5b6Ro}InKMc6vQm5DI9!dM zQG3IvQuAbi3`W z=*}{e?EKtbb9wpnI(P50w+dh72z#1QC6c{!R%Fj>?Onb;wflZxN5g$X=I3PVjW8rL z_)NaY-ksVTt~%EoJR4mvl_t+grS`g~ajuE35?|Lc_zqXeUJ!Brz5mE{za*;We=;w- zJb4yWk6x3fHL9!2dwDX!S&@3?lVj|^=_7o`DJnwkO-IxFG%y;TrP8GKM&qfybVW|j zGS%q*o9;4Pos%!7rSyrJ7Q3hM?iY7z&uTBa1+UuN$4jxTheS+;bc9z{2<+&50ocg{0hC0xF^E}UUbTo9%Rx9r1zt2tp zg-6e*y{nU6W<~2yTV|uEs!!thEY6oF6rSgn9<1DVrpH4Q;VRGKEFbdBmeKL4pjX|q zCcf-PI;EAXtcLZF$xh*&ux^`oonG=eDQ7fjNYoi^8#5XnP|Q6=RFv$6={$?W(>S?j zjE@on{ek$N9;DKn|Q$!TdwE5^{vglVrL`v@MIoWH@?_lKj1!(CyQ3^ zOI%P#xR(baFyzDKA7J|d%w?}Qp6Gevok?~^-;nt{eI_F0pHH9J(|AvTXX#Ea@7yz{ z_IkHhL_Wl)8<|Pu`IY6~i9IWo@=FlWkB{)@^W^Vu?9qJ2X~Y-*c~%1pf6wz)H=KU+ zES-wxw21yYGdOIVTn*2j;2ZZ8>=ak-)iROwUM&?bPq13zRWV;gI|B&iHwM3(!+g;<;1SkzQ}q7B7MpcrqTDZJ7D*W;`#gv z_t2KRW38eKZ0cg$aRB;+p~$z&5fGw*!j5>&|=^7{V%_>@l3yXct&fGWP&f%Al- zPmZy3GJoCG_@o8#4MXJFsJ>QCYGZft=m?qn0kQdzSr4c(yP+Q;Yuv@FiasYbp6TPe zubd~$9SL1F`^`*PeHxEvC7CLCmnFMrns}e1v0i;e)_y{4d8!XvU%)(25F`>*O@aQk+@ek}svh(Fhw-=o_S$l&ATt%bZqh)@E_QJERk@;-%8OM)&Qp(JuPW)+PxNmr! zwbQYZ_aCBXK7-0mFO!};SHS%9Hp=xKXZa+o&uo57l)ua~0Ze+Dy+ezPt{Na)Z^D^m z?;5VQx5~`wW8#7hdPQcvV@G1W%DoM_Dym?r4LY>bi#(xzfeasfcfJCi|IQPnAA>MF zV^(o*bxL#9`*4}CzK?~!pZ>uUS2yWSa#xYOWa7lLqdo=qB{+PtvYO}!nn>T)oiERy z+DUjvK@}O1$x}hAh~zn%@{IcZ@rmr^llwi^tId108&^8G8YTLN>P!Zm%@ge5eOfvk zSwGr7;@MuG`%Lw9N20=~+ho2XM>eDT!RCzBeV)%+J;@GS1xVf*8MAjheMa`80H6w| zIvqtcfjf4^K_Cti#q#^vQN`e zJ8r9qbeki4>1aMg5m9G6x*1g6fhT)mcJ2rAWN|7@_>LyJ&)c7JUxIsR*77Yh8^;Ud!)<)c+Oc}<-UX+>$@U? z7e4u&Ngk65?)F%}nQ(c(_e=IwpX~o08)Pr}?9-M$wau<(=c#Ry1r^6 zJZm?C_V`3!`-nXG?W-M#{gYETLMLGl@b~o}WFGlTkAwoS|Kk-CsWhl_`rgk_k^gV` z@5{fF$KP13n2SAu&rT)1FX3#&%(K&@=Amb~%VI~f{mMO6dVt{Z(di@nN&WVT+~x6x z0)Q%d)+(VV`13wJL8=vz397k^?rg->sH}NnYx$X{{T_hXMf#Rk(bZJmFqJ-n)%cv$ zbF0;gyFGd4%e}K)RYj;YK2LA&T%PSO*~3%kV2FwqJ)_4v*~7Pf_t^yMH=UVkmdI@F zSkvRJFK@4FV|%~266IS|4HbYV*yykC(BtLV1Z~LpsflC8$`rmcIQ1+n`v=`oUSTkv zKFcc%m}`8?tjZoBY(C5uGb#G`x5LwsJ&o8twCAQ zM5;t*U+rkv2UvUIhKS^eyi@jhV^`x2JesH$sm*lGv(osa1)Xy>@zm`7hYVq5pqgg_ zf(ZBAGuc!}(p&MW3!idiM{*y{L=$;7!N}YMk!T`}@3ZiEQqoFOR97P--;GS4ar%v1 zpnj`~?j@*{KGQ49KBUr6zv)4F_JmF{&s(DaplTPvA9oYp&7-5ST8(E5)8P@Bf3xE7VQzUS}$~(xd0T1bzQ!)Lr~& zm7w;H8S9$vJ9muio7;_i0ORQsxzBnPy?e~g)UN1DW^bx$Rs%Y`%E7GNYt*wFC%DS2k$#masyj5Nqt=LjkFutt zA$y%lZan7}1%RvXZ*)cW@Tn4S`%D1U-TS@S)1a&FXg;E9vKDq)-*}%j6Gfjava@0i zppBiihzOqLc|1^!uF~P6tEpC?ibv_bslDi`vtIW!?j$(ZiU+Dx312bgMDfD9`5aB^ zx7kZ<@CHq^D`LNNo4Y~Yne@JdJhOT?zP>)l8LQQ5&$EStXRgIMarzWJ_>TL8pvrx? zOFYMrCpN+1!}Z^c3_9YTHC%;>-b3rm8J>YDHpm{k?>y62R7bCA%?#h+>MdR$^y;Y- zMY``iUFq6*_#jZb}LPeW#+08X5i8$7wj-YN{C$IE`i>}A$V*AiW2XQv{{Rr*AD z_k(jx2UA>=gG8Pvi`?q5z#J(tUxdGiT;Ju_3ZniE}*5bFk#dP4%7C$dM1p zLtnS?+zFnI`@QUou<_CI-&a1hf(G=tAbKmNb-u!YJ!`7OKh}TS)U;bD8XCXOr{RC2 zhWi|=Pi*)^j}zk`&`MtYK?Of?htr+jYp9y9c6^I_ov)(`FOoC#iF8hn@~q^Kobw%h z%-2kn6#4UaQD= zKQQh6^>hc$KZOMssKC!L;e3UT@pblhe_Q{C61mH}#ysIfZ~PclyNzo6y8nw@`6spb zXX5oceae0Od_w)bKzy##VZF=~g0HcX*U0BrPA_v0=Nf$^6L7Bd5N`j0()&u#ADOuR zq#brff1)zHijyoqQOEIxe&8h{@+yB`X8!X$NL^VkvG?^=!HhXxxYQkYEJ0I6+FMr{`Cc3S@0s5K92%ihiMm2&uk<{ZJ-;!)0_O_C-+Bwqm#Jp zddN=(0_+(tqk-4)<^`~Mf%_)U(@9)o2X_(Wj=UJ()2N=bs*54h%Cy5--Q0Q|w9KiQAmVJ9gf8;snk zewVi^zSfs0@yV1HD|`kMFGH1me0oH$d>2c1nep5{@f`~B5F1aK#o-LPbP;A<(I5H? zKABowA~MgwHdaFq?P~7BI?neGw(b%4M|95{O2EbwHP3obAYU)657)4F8N@+^0~S1f zoE6>E4?Gc%``i6k(GO&pEAq4{=saa2^N^X%J+AMH?lJMW zzp@s3G%v#;>jkD%m$C|8yUeGSumVT8-^zbai2*jK=$u^};DaBc>T0N5Cte+KkywaH z@!-|d#2p*_e%YRKEU4hieQ>#lNB2SW(fSw$4(kJ)q}(2+~Am+XC7G zeqaIyTDi)au7D7)1wWk(orLCktcEA2?qlN~{%GwHO7b*#c*u$sU;oXDT#1nx9KnyQ zX5*RG$DsJgHNh7mMZJP$AVPGPm3;-6fWT#=yj(tA#*Yj1EAmVe8ytDURl${Yhy|~A zM`6HY#}m0q3~K{lVAo}ssx?+KIYJDdtWUN_Je3X-;}4kfQ*y@W1yx>a&$VR=uW9GI zOZzjYXIN!Wh1E}ZPVg~z@LWZ#7#BLD*l;y)tgw1Y(+o)FdiVO?;Q zu#^CsOasNoS{ZSXA*`mTipXIDFXX9_;r>=KkJVs93yW%k4ZIPLL^n1hL2PVdDJJ|e zF4G1pjvwNY945MO3`I1$BYTN2dNDZfYO*d+H8L;EP|+z+pqT8<)Y=$us=H#uJh% zQYJr$0+G=RRE@vkK5JoL%VL-bJ|(}z)ODaA`XS$2BTyL@EgHl@j;KeMc+FmHfQV=$ zcfBf{08Noy9EZ>bxZER$WYY8HvqP>f(FL_5h5k#oLi7fAh5QgB*6VPVC ztT+4+)$nWDs2?r`ei#{i9}EdkU^_9F?btx|#1xj9_pXL~3ES17uEva!BYHqoWV{)Z zx~mN;v`Q3?1Pxh=6lEX~l~YJ>IautIxz#d=p)|5k=x0s^Y6ORd0oy9g|VXRZcCl%x29 z&Zo|7c+%>v5|K4teV{7K%w9XIMy80=M)FR3t|lsiQh;h$M&+z0+SrDw;_1P&=vnx_ zJleoVM0gE>B7h%wE|TC;ROML}Ku1KC{%jz!q3y(&e^E)}2NfWy8U+vwakXkutAGQs z!jp}95{3j1stkW8>+mGYCBUi~h}43fh=;W*6~fAE{6@nYCt-QrFYGfZW_->65)mbwKrr03T@C?N@{C}~Lm0$xaDqNz=AwfhGf+%0h zRjap%7#TZ}W=vKR8|2;WnoYhSauyk*3(DuRR~6wLBLW)KJF5h>8|x*}$lkpB? zs#Y2>X+JYEhN!6T#Ky`i9;%3$Cqv3rl>|?stJDu{V1#Og=P=7|#-2!yz`9X2)n@!2 zx@v6HAyW1^~0R;zLZU($&fjmEZFQw5l-AqK35wWJ5Y z(t&D;$b#*@U5kF8MJN)w#LrqIY@LFLbSnoWCm}mrQ*wqiVgubAs2UG# zoadPZuUV72=?W&_NA(`7IoAV-NLG}(iP)uouO>FW?RJALh~VD_oq_FqFEaH^#>-U^ zfg#bNsqd~uMDS`>O+aC<{!DuBXdEYPRe_Rh$_sw&#(-?c$Tmm`U8ST=Y@Y?8fG0RSbHCRtB^NOXc}6fS;%N%o0cm%Ni> zQKCdVMY?kZdjW=EyjFP!iKWQ}laq}5ci!I{qEkmxmO)YWSnZGW3|?R$MECfWPCGER8;`G2qQxlrz>(#17<zdu9wU~1LUgGYh>DuM1|mpY^?$eL`Gz=!M@12 zWL4_Os1l5&$UL+dPhe`JllpDNV=b)4=)zXB-<_tI8eO_?=OX1Q-Fj*-p0q>Lp6cvc zSdbkJR@76x=pKzO8ZDyh^@#ASU6EPCL?U~Mvo4^T7!`3YlKS2FVtHsHigQF}WS;q} zA3;?WNjCz|Hg>Ed!gj3TnagbtkoZR3VSKc?nwa$tUB&zCSe+%1zr5R@YXJ|Jb7YNd zm-C=II(SjFqY19jR59TXc!0Cr$dSFX8;KQ}5}si_sLq;)io_Gu$Q)`Hz*YXzSsi}B z_srk^$}_8X{J;vHR1-zy3{{yPzQzyx#KiYd0C`4q)c{n$ZiF@B1fXQ6*qj+%Ky*M) zU?3lM0WIm~>?EMN>NHZ$SBuIs_ajjN>r`@&ydi6> zy+c{kNvI zh9|d=9m(ty*%ygNY^d?=^02{NQ$L~r=8SBkN3-UUQ~CiST}^r`{7{|c2%$4IM_<(V zV#n!d86OQWHfrKj097%w%~XlOk-=4WXvSB*v!*C~cO)<%HteV52%Td5FuvFx^4!Rn zyXS0V;>2pqaO+j(D@IpOtiO|I9#KT>{N*Wl=!YuL?wQG2D!5&MI`W@wG=E{ioEBxy z8$9d-P;daMk?N=jp(qR$#>&B^o&TbnkZ``L##%<0#|lMR*5Qzd}lqWSNg&4 zGshe84bw7(XEo>MHP;)lJNcF>=boXU2RtszRP)6rYAv__zo=^RgeOm`J+4kFc6PzW0G4ZXK+c5ei# zWB1Hj^rjq9~EI2AV=d3K1ElBJagJsEBo(aqE1K8&iZd-<7&!Q=Ww;r%!{r*P5qudP1PW~ zXY>+7-1R&3%*+#8yi$qMNo+@t2dd&(eq^EmL*$wIo{pxGsW+$0Myxa(ajv(TIb-fN zHm$u@n$5{b*m}C`Tmo%IM^FY(*Gel*@kne~6_bI-?7$NnP!(5IkX5Lu@rbN(qL|1G zPhh9_MbyNqDw$V~5Wdtru8ft=M$*O8_qv<#E}VLX@3XhcOd-9>`t-KS};7b2Ww@K6*nRGPPtHD)JtqpP^9Zj=$M8@cx*JeFA$20XK z8SGl@ztaP-mh4AVA|q?3DI#ZG(Rmx@T|SAlh_v>yCz*OSvTiU$WgVS!_cW z8bH*mtLY

X=D}ZKL*@y?lhL%rU^Dh$MGXzs=q%eD`^&bwLC>QFy8{S!0hEU7cM( z_pCC0Or0lJi%53@u%tPIm{rg4I+|$iM%}}B_#Qv3R{FtxL{-F|$gGLJt0LxI^$Zlf zyAlO3&c@g7TL!dG?7iM}@9Ibpv0CLLJ4Nv@x<b`f0-JabQD-kH5>vukl@l{Fm`C;brB)=jP+u9juB5zI0hslMBtH8RG= zd&beT%oFVanln)|SVnBz#~T^A>JF__JTwtR=s6Q#?y~p+SM98@fESqtj_AsFQB~nn zXU-`A`J2d;BRG>jLPVIFX-8|~k$tZ=M5JA>`=Y9|T%A4MUl5sGl_9x@CZx4-)>*Y$ zHD}aB9X;y-zyv=gBKB719S5C@u8g0!;#>GmfK$K0kk7FTuztgktOgV6s@1BRIFx8` z6;HfMCQjampIkknJ0>jZs&jy$BJpE#)fpTnc-|wqJL22bpony5ID_k0?II30m0Z}8G)d-rLAKexC7bQRerj2kBD?TX! z+srrbec5?a@mOhA6CE-8p5!i%`QuDZJhF@DAmYhObgx{H>lcABZ1=||!YJ4<(rcB!7r_ugkEc;roIS6-9#dne4ybxMm3 z{UEQfp+X0htcjJF&!7b2(bi!_bk*4L8NORYfufvK; zm{`$fiGz4}?`qFi{7Q2A_e)tksvWEDfoq8g!%=A6XOYvDNIlmX@N5wxz z;=iTNA|j@q8_f8NU%H}rU`%4K)n*(cC@!qH_%D`%mD-7|aULgFWB8;4^zX6ey4v$Z z!t?nThil5O{25oq@Zp6Q$+cq8Kf+~kuY)PE*RQ4eQC~%k7LREmD>9m#AGXLC{|rPtE*{}Y(Wp=L(yJsdsk*zx-y;Q@0^ zIV60ik_p>6>wfQX9$!TA9X}h{pDPSbA559on13JmXe>@mKPIR3EGtZO!V(S~KjV`1 zXqfnF_ihh?eR#sjtekFy&rGk=GwYS8bUjuC_apRH z?nK(**(ci5fUg*8!QC^RCQnKGME}^4xT}eunOoaAyAR<0HC>wf5j&%<1x)Bc(ht#@ zxto}~8rLG86u+n0eS0qV0@Af+zS2D_o;W?TfA?8!o*nnOZFfiP+1O2FMRu(8cDYkK zo?~~Wz{>0tjTU%-=0&D6*yvO2JU#B-)jgUA^ge5BFmc8T&(qq=yC)G_Fa^J$;nU~5 zdempoc?z9XIhE)tmnu`!;h&;1^{0WV}9)xDyf zs(0~tihbH}Kf!OXp&wlHlFzR%S5MbA|M)b!yCZu=`Tf*sBKrtm?|_Yb8XI*j5OWSisC|r%5w^JTp9ngCUtv&0eZ7TG_q!XA@n#*X$u59bOw>wVsX%OGiLrraawHavOY2jX` zoF`)js=Tg7&a+PSC^k?5a?iNLPF29YyiySx(UGtfPtIPO!)om7SdDwuV>O2-s#;aR zIc;*!{1?@-grE8Rw}_~%%!**w$UHM=G7UeN7qOZVU#-LvDj*`PR1xQ1P3|hjhD-yQ zAmU_#YdE>Oz^vIQmZ_dcmlU9ycgjo-&h!R$x6Pa`ad4*py57jZcu~8MF8b9*&J(&fh>cQ^#AtFXs z8^kwt!ir_pOARM?&0tjob;3q#I2{m~XE!n|gsUi=GY*#vBJ#}aEziu}Xpx-_(PcSu zgw@D+@eo-(8JPzna-=mp6~ermo@j#$@t^l1V?ztUH8$jk9hwS2wYG8w5t%06MTEPs zW(}|JgAGSyw31pAJ&TQWMj}#FYlD^9Vaa$_!*fL5?MbcCi%ooe&E)6gtykjO*hGt3Im3}@qi6)#^b$PZO6K8f5GhAS-i2q) zymYNp`;40k}sIps0zZr&Lqq^v`U)J8UD#5eT(IPF_r`bQ-Z?;NcruXxYtN{}; zFZDYLK>X4Lm^ITAb+tT8mzSOub{`6F&ak%jtVh3Tchy=`hLo%Lp%&#nOS_TTqp2vY z&c2A(fH7I3N~i!vCb7+G_;*l6%>;#ARs2X7ko>a?IPUp~D(Z|Ms50x(65me+NGD-r z%6HG_|8SD*ov0EzU!BV{tRQ))2z{2d*H^SaXR6xJvxO>QWPCNMh*&r6M(8KuS?-Pu zt{Ryr(NQI;XVjKMM`VakJ9baPeCu2XURA`S5gEJ;s`hwYO%;I1V8wkJXsH0%*UadS zYGa&o?}*>BAnU|rYk4Lntu-nu$AD{BGu1hHlid+E^u@j?uN1b1M^~xf#47s2_MD!tB8jVrP}@O79dRds`mmDb9%}HwC$H6jfHwAv#Dnw8*X0UNZ^72+Nc-N_ zE2~U1*gDaAHM+d2VtbLSXt34Yk%(BY?5@g^^uES->?UwkKe9WTxrYv*&Z0^MnX94t ziU{wJ+t{S~@&sl3A`oe<>1yhSyG3?K$=@Qv9ws(iO&CIS>0`4?Q%B6-vwD^6OQ*;^ zDF?@cXYfj8KNnv$z&UHTg^REk}$G z*mzey^8oY4%1Oqj=GDejG!T8>0nJC|q=z=~MS*{(J9%Gc!_8ec^_XJb@fD`z`2>x56CQQ3zoHuEN` zV&Yn?zM#rtzXMa1|rbGp(TO;|~^CiTw=xK+VYA)V!=>=({WNX}W5vSlCzbzNox& z!pXT)rZiYrikfv*vTN?Z-94MV$vc~DY0pQjrV9}vQ7Fwib{+PyNKYCT_XRlr@N=vz!%oy{0;?RMJ&}K-}{L7Pcp&-*X(*xMfW0oZ=KuA?Ni>jNNokzFrGV1 z^vr6r*=yctgS@ei$R1urGk@h7K7dH`#wUb_k{Dm!Z3rclWqBVbtT=~rcauF!Q3+Hdb^+EJ$eP(18W5hT z0jN=Ipo?R=lG%#t%>QdAsGja@cj(bvO=@rUt0Drb!Q=W#8(}LNqi|X$2CDc_J9r|h zAaW=gogIjXYt@LgIbVqyi7L+{;YU=Fwe%gO!q&_I+!N9Lz%w~gWz`Q+t)g+IM27g@ zVHM+DsYb=(eY)&;wJ}i@kD^K!z~l=Zk*-0Ne7$>yDj5vpMO7WKPRO(RF?l9OL^X); zytO>z-ArZ2?R<^KQwvk|vR}Q#1Oc8ITdbto;G3#Q`K8}T)oZ;f&!z@|H|-3<$-9o> z`!)Xm7T5Xz&pt=3FfvxG!Br4RA7N~XOt?Cg70f%M_3jywsUPuVs3P5PJ1e_@d&#+S z^^9lP^|sc?chQI)Di%}0%p~#D>KneRA$TzvA043|F~xm%EoTubKz&Kovxdu6HE~p5 z-z)4k?;}X=SvjrYzJ`Q*!&G0oA{2lsGdQBMj_l1Wf!z;?@c*bCHsA?50?*Qqq9W}n$+v@AoE85Jv(TT{^ zB9%3$y3?HMEKB&4I+2buubD{ZVFh-oBhdjlLU-X5KJm?-$oow&jXE=IxQjRQDDuQ6 zdv9!nC2ENktCh1^ldi^krH$YbM68^d(PZu=)0)3wiil)dl<8S_czI_!)j1l#igFLk z-Iboecsfgzb-ByC4F(h9J2hTU4pmIe!%C`FR55*kNl~UvRaDdL^Nh{7KT-{tIzrxn z3alG_K-ntOU`gJUP8|rUD63U(veoybQx&NZtVm_0+q%MYwHNH3TYc@}T@9G#-R;nX z)EfJM)~n=Rdn=FyVfuJ&px&eNZ3P!oPyrj}#)GXUh12uYD>GQ8Mx9kwyJywe`KmTt zP1ce=&#akjHGl1CqDF}??;kii-&wEh!0GF}K1{RbsUz86sYSjoWbP&;fAxa3m^Jh$ z)I4J6l*iXgrOPYRM77F_D$aVvYND*e5Bp7f8t#lCt!lum;I78#Qo9ayMxLFoqRw_` zK?6JzUH1YPY`?lU!gqHyU~2Zlx#$R4L%nh)X{~AXm1CRl8hDLeTkaUCilV9pm^DEJ z73q5ys?J8no`zf<{h3*VAEWOT5#*>E;5$01&weKJP$;-6BDurjj`irRM71>!RTOw< zquCp!mxvAco_nO!D-PgwInDvIpD-@y=MK+o!&&cZ_!VE=?Z%>no2deDSx)U%mDgaysky^=qg2>PtR26+% zI$gj9-(Ab>om=zNGrDa37+qfS&e(_uuV-WTG*E3%W7f#kvz-8b3`Cl}BI zR||#EJ=A&hMe*c}??EIzJiXZHdZW+q%-!O=$HIG`c|T!r)$AqztrFHeR73@^+hjHA zi^>oc(cTJr!f0XQ2SNo=g)u$5P!3>_)c&{!FtUAU?Un}#Z; zH?m3uk?!<3!e_Re^MXeiZ>7mDTpRSPwJ~>#DhWzphjy@)6+7*T23W&eB}CQE2*u=p zqRPY!R8wi#2cVEcS$*0u&n9HY>2A?Zg1(dd?cO)9tz##E-%b)!C&G}h6%NBze9gpJ zWz~Y|7^yUKiI_N=)JCn9F=;E2x_q^CK{U;7dCeW04VMq?^L z_4TQd>}%Q?>4&Olt&#D}m5*tUnb*}gyUPBG(2zCk1Y|sGu^X{h96Nc`-!>pTGk?`H z{*NH&qTQ9fq7%WyH+x@HAc*LT6QeSoxQ+P;@A83?fa{2Fv&P+`S(AIlPQ8aG=(8+w zCOGujI+2-TY7Lo(3ds5Pig`Ub`x^UASbnbaMOT7JCUGNc@PBjxXWbQh(M-|InpQnH zVy72Xv-1tE=>sxhZT9jm$o9|4o2U`F=M!jABRvVKQ8X%PCM42GwyH+vOm+gShIcW} zYTR>jM0RP$CaZa#|9>Cvshk*J;VFmYP3tfJ$2}rL5AHiMPd&;G8U?muWhYN;d0*&_ z7{j>XN&7tRK(v?m^K^Ur!}SnjdNk^ulUC;v>8^;!b>86`J5!;#$CuqNENKl_MgCmz zgRklUHkvoxb6PohU+8l-2CjA!$1WVE>Vqq4=2)|235td%XFDtq0blzG-pSZ*!o7gK zqC8^_qLIEeI~(UcFfBH+U$pPV7b9dZ;GI%;zdrXh`T%hariqQ6fODrgm#79mu#+Sth( znPjlL&ayS#qE$~%=8VJ+OO@|FEftF@t`@bQux7OfS4n1UQYnIKIto>u_m~QN>*VyxxQ@tF z<%pi ztv<_mR3TGR8Gp7hv+lYHapI%W4?J#(b%8U`=0Ge-0QiLsfzYjY5>S* zS0Y<8&&LZnG8j+Rn7=~S*I4^$*91i?xm~257wcI*y~ZVs%T>ZmL8lHc(yu1?#=k}1o1wnwZS8~ z*Z9g2H2~!4ed))jHmMWU5jDV$B;BGsOIIVNNB+uIXEnY5lqW|TndqVsrjF7rj!q!6 z=k)P+`2P{t3K~x>^<5!4o8%qy?GkhhAPi0j{K!o1N-2iJ@x`TE# z;BaUW|4x6!&NWZN%GFfx_`#~|Iepg2NqT!Uawa@W)})4au9(bY%0>3N8uQ=C@D&|N zWIzOG$82(TB>aCW(oNXM&*>GJN7p)56UOU@I|{YP*>ihEv-g~`W_pE=Bzw2?IQ4^k_x~y{w)E5n{pliLd<#h|qE7o#75m zWH0ah%W7q<$^M9Lk*oNBtS~m|^i%*Df(`FddN19bT6QJw_M*>rt=NF8;Ye(>s~J;4 ztq>XcuA=4nF=)~WXZFxA)=zZA9its5eneS$;sd6o&Kx_6)+@wl#Aejr)GNEz_7a^; zjMaE2J;-8d)GObK;j9m^n`p&z_S{`bp6l_D%xm5MRuuR!N_mmTAb&DhN|6P$NjCR_0+Oam(fPgPXWoPbpojkA?geV$WrCt$J_ zKf)5($}`;lKOS;N4%NyO&FX7cGnuB2*clPObiR}E>1*1_+e`FmnmN6aA47{=&D4P2 zTgW~wQ}F1j@kxATtMP@|z1t!`k~gaJsCw|sDR_3!*eK)i1&%PS%zXhXICUa6v|zU= z*P^WCFAO@nF906>f02+m)`?EA>7L2GRNrI`7N|619$#hUD*nF^F44h6NA!gFOf|A{ zVuQI~x&Zt5sjl-;30ITPVFTM_jfhmyGT)rh zP1fXYi_^(eU%A?zRYc0OqXQ@NGFO~Ctl^1@CeK*S=trW?GBs?C28{axBlFJP7qDJ2 z-#AdkmCOWZt%<_7yW-uH%)Ih!DrT3(XS*vEK)yr8 zba~C* zQMBmDn6A~I2GiN5o z<}e;G`SIQY%6iEs+Nnp$VD~nu72Yv%cV%xip3Jd^r)za59vf&1Ubq(boMl?{IlB_8 zW}gm7d}qaST9Zybuf5WilUAPHqmddquZJQvRsqdpTj z-fb)Ia^q#Ab&>g!LpH$2%Qn8{><5j8p;cIN^NLUTI<8yU- zFy8eCOpUFPk@Y^^ocGz_d@b;b#Z*lR&#RuOk79DXPY0{;Nf;}yvnyY5$T?t=*XS~_ z%KLrrbG%3qz>lD+g?Qkromib-$W(WFK11p&?0kNWH8FYhZalBAYU#077bn~tw z)JnY2f?&B45Dg-*o~MeLA^2=zURx`kR90649%2e6`P+Z9y78)GXy!X>aAkICSq;4> zD+3{)3-E(S#6*LRGwHA<0XbiN<Si>vXqWO;`xbH!ILQ!yJ~VdFUbsEt^V z^LbTG-cQx|_Wf5}i#*kW_nqY2uBip2!gJU@{{ru^}SSA^S7lFE>b6I0-a4oY}uCtcl5hYUr=tWo!t+8{O@HFet%HYVzUVE$Q$%xJ5 znW##$+;8=)up@{NU05F_L3f>Qh9lx2B19*v!IS6+JOWiSPc6$z4nI&zE5zU#+>~9` z7k9kj85vA;xk@#_=;}@QPVYWYZR&{#`oWnwn^%zd-ipj4@C4YsjL+quW!msPh|NB8 z=E&c?^C!wdZ2ErJuFA|y1}7!PJ4-btgYkM2D~;}fYPddFqB0V(tfn=h9KnmAf=}LA z99d)LMcac2cvK0x8vRI}$@^0^Ypl3rp6khUG@ig#Rjdq|Pj6RA!jWhzis;kqKC{e@ z-skd*t`Qb_S<H0kh@}n3Z&lzlT>fkLj7+)W3QQ4 z`*RuR66pebABDLZ--`jZv6{(w;t5yLvaTn}2y@12kj5%JSc+--2;)PHt-xF+Y*kwm zUDm^WBr?a>qL6*YxbH;nE5VFPdKzOaBCVb@@~Pj^0AK4Ts(KP#%w&Uml=O0Hy!Yks zgXdu6eGsV{+0m3GuEzdu#@EWn#4xX&^67e1D81FzSJ&D%t7++J%)MlOIO4l^8W|Cx zS4r-{1(a1k_ll{#)jT~vU@$C7| zy+PI8L_BGKM!w1O@Et1y5jmo^&bMe7)foJ$fJ{!1SKCx}g$HWZrZR^!M2b5715 zHiAeLIyO>mqD10~C&^&^svaTryx&<=zzhy1@-3ADRKt;>i})|D^@L1T)zazV>rkV< z(_QUgFMLNIHOttX z)hw!|t1!OiUzp~+H?NIxFAu6@tZ1ldt$pfZs%K+k#j2t;Z^TuW7#Lc{^KA9`lXLl- zdSgG4+^dcFVu#f#p7>$|Kd6|Tt1oImm6e>V#$y9k$@ehLI>EoZ7uRV(Q1v}O`u|1n z|0aSb0}#%|jjnwj`d5C8=xW2&pw1wY z|KFqi`^Xws#Is9s-rZ4qqiDQr^>tjJ%HP~i#s+zVAL-*086z^XkJTh^W@Ne-a0O9# z_nSpk8_gQHV27rn8Q&;Ly4LPX(xa7U)e*E2mZcYnvf_#AoXksPydOCI2qF&i4!)OT z`V&Od07X$$?c+rxY%L;IiST_yhMl}Tn~^Esso~k{*|i#(tmT}tqHy`Y0Jvb^XSy88 zJF>VI7}5@_%Ia#`fm68;o)y({6&}z_n7ypQtl`th*k6e%mw~JH0jYX&Jyk+f*}p}u zQ~+`e4bTI1q`h9b%3Q;@LBWRV9H!TkM0fJ6y@atz-NOc&ME;|4)+_xOy|4M(jIml# zzd-~a@dO3;8KJWsg;g9&VuCN=nrbsNAdEMK>WYnAFuU)t{@HkzKd6S+b zj8}_f8d@~iT9$}ObPZh5?7oTv4Gs|t@#VC(EyM?*y?K35wIO>b*?~YjLfK4@gu&d z0(qh)6AnAh8QrtqS37iF$9`a{d~(pqeBV&|F!9bnqtnlmhwcM zm-SSO_VaKKkK&1ZHTy)4;zrf?-D=%UcRgq&Tx$*+A$jk9JW7oUxE^Z-dgmC0OL0(Q zlxprw0ZV)jf2=sUPIQ_Wxu)R@SSNGzM7|*xo{=@g6HsD>!Gvoxi$%pM>PoU6|1DFx z9`|e1ax~>YMyxYYBSp>8)?xXgs$?axnT}D;TK#w@qQjTrkyfH>WourZIih?aga4(DPE~2uBRPe?Hp@zO5%(oo`?#RBFd>f?u=ZO z(E^jfHw-y-1z9o4A6MkRWm|0MuFp~%k;6vkKKL@2!s=ZQSY}Fj&XXLF)o4WvoQo~) zwzzA|)F#&nwlm7%Sz<$7j80>R<%VyZopq2oLB%>eVr&S-7CT@|E|&A6!b-)JJ_zpf z*nyLmtSOO!C9a0LBni;BU-g;Md}I6N?c@{7^9le#%hwDdv$rD zLNf^?GR-|%BGZh8vEh8Z(F#$Yfe9Dli9Qq=d;t?V;#HD;)bz%;(XAguo(tfsd*-p4 z#I<~ZH*D!Rg7t8KN^Q;>9do9LU_GIsvKW~t+lY@G!74u=Yz@VzQ&hE4M1-TuA^TYW zTu6E@6mXdX!%{BTP$#V$BuS5$z=R&Uhj^ z+K}&JR>oU%JU3`)&s@@auVW;+wtnb|45=USa(JSSmi5C@brrVeI=+MVKxFbGxF+-5 z#SXSQH38GE2}@Yflh{yOg8|+&|B^G&Tn=i4<9l>qFwXv$#cIMMSW8$kZK$hVPqO>K z#MQVGzm{h#R5$!MA|p@3e4`u2_t#u5>Uy>k))f`u=S4(64wfXsawKPkA@am- z&v!+WC2hGT*chk` zmWYN##E_iGT81Cz*y?Kd@38S#rs)TNbjBQk8~qGR!g%AG3>`M=Mfy+Yi`JUBpcM{` z1*0<}|P zDTz$i1Kaf~dE+5r(Xer-GaS(q{RpnINmey)S&wYNbhz4MCPzkmaz5oOm7=jRf9>if zPhwG=q0T^6D$e|ET=|-QGpprFlV@kq(XVqn3yntp2A9|Yguye@#@JYGF`5X+Bmc#x zsM>Ripy%iM_9DgxD|(t012FYkc7nx-imP*#MLt%<(Fn=f*z>1YXlz`tdaNH-Z`a}l z)S_a-w@a1-G%GAI-d=a>kO8 zH_?Ht#qUHUe)`2Ah~w}Bw(@U&!Y{0gT*tKs5&BNfb|28_V5hipNRiYF*Au>s{B3l! zVN|-J+Tm-@7ZW{kB|(G;2Vps)t9E*J4fR7CT8K5)q8GW!fd`Ju)>z~F1Jzpb+$zC{ zZx9LQ7@BLr192@wfW+|O21ervHo}eMf4;*zF9c%RD2kvlv?v%eJW71^Lp(eWPhung z%4!B;UNNz;?wwl?rj0(}<9G2S9%^IaV#4ZYKK#~b29MM&z8BRpo)z^IFF7TgaGa1 zn|WNl8G|SC47(nn7bEZDL;3)A6=mGvNmkA|*+pZ)?ka3eWP&PI=30UX7W{YC2nd2= z-pP-lXZ&3)5-dNgzSGL+1F&Hij}`pPL0-}Rnf1h*#EBe8Y{ZQZjz8o4z_t;K3BH^~ zIOpq^7LNG#5Ri2Z$7lT;(J3ZIHD?!7>`D_|2)tgkI79`+1A3AQUW}vo49`Zsn9Kgk z{GC=jey(QvBO?4f*GUA$)+8%yTdjHt>}1ka6pM@~n+5zPXV(wFuZ5#0ay4AC*yjw- zOH9NhDC1kLxZYrLZbc)fbu=GA#npJ$;gQ$yZ2c@IA|R6f34gh$2I`4t^Q)}l+}9l8 zQTQ{?o_2JNPnI{=>~Z?g^C!dHO>{?rr!EIO<6OVvqaJ9CBhIg(-zO%+%N~B%PzzlR zpZ<6LgLB=xr~c*VTJRY0${F#+2PIluDwKgUm^IA+Y4`1YpucDgvy-Mo+I9nU8&DG35iBCLegoZD8 z$)W}(%`^u#wNPy9tt*N(Z0L)~XhYY#8c*W8ti`x?O~!^_@ZojzIn$?D(Ubn^!5%fP zk`>g(Vd;q6@E04L7fff~%$4ZTh($c9FK37Z4Gw8$&bBP>8>>@H|jissC?=}1$zXzs%qeW4jY^|>xb9{;{c5)4o&ykGWkkOHCO8Txomc>{%ude zC%)hx2Zr}q3;!5h5#7XG9Tyt@bOm;1e4fR)Yjzc0*9pMbmn7CbH(xow{nYHRxb)}~ z6L47|qWHjFjdV49p9t3n1IKkoe>c}cbD?Lhl#hV}XSY-2y?e6nwY|>oU3BnBXU9tH z7V(5n(a=t899+vpZXHqS!keS((4#LqzxzL>gbe>K9BYqCu6z z>c6|ZOaobsIB~LwXd~QebYp`{$k%B1^u!f(qS)C2r~0WMVXHRy!wxHcFulf?5#Joc z(c?^}f!ra)E2oOCCK}Ab2aee(8Xb3R{49v%N_u`UjUA)WHCFK?sCh-t5r?cLj0X`S z&yTs5SIqvZ9whgSxIE!xF_CGmW<;p?9Me3HnVcVNI~d>9c!2dG7!(%~?OIrZzXy|J zHD+J%bvO3j}Wx1zzL<^h_Rk{gnoFm=Z2$=O4q{g$5jMppy8^tpbe~WIgj!p&A#ML;_GVo z6~B)id71MDo>>>a;?($ARK@YHpV&TjgNbkPNKERBmb((yJ2-N-BH|PO1dH|RPW{h1 zx}M-MY;-lU^9++Pj#^k791%nkVYupwf{&K-p^ZkST!m0p3VCx(;`Ad^M9=PQguHRj zHxcPt&f;6P0b@|jg*?_+7}r=CY)Nby-E;a3vbDx(#tRo*i+B{z%xi}|{o}VDF&N*O zrfUf{t_3y9-b6em3LsLRVN<;M2#-c&T6@J;J0hZ=y$4;6a9-5NmBmR8@|cP0xPEw| zmC5(Uw}{|${16YhYTlKrcB}gDXa8<=gLXi5<>EnfjBfA<>;3s*g(U~iTB%RTJx zIT-JI_FxG%MVpVa)tvX^@Ps2e9pQK^m^q>`}VEQ0Fn=glyV&e_@- zHnJ8y;UkgJ59h@Px+5|k5LSk#^G;apu|y8n({$X?5HL;s9k|4bHp&o{l|QLj!yEm} zhs^e@c#zub_xudL55zbmk;(Z+cpwu$a!kEy$Qs{c?wr-|^CFrn z%B#)iVRBEeoKNP7YuCbAhadH%aWS?|MZ&IB@AeY8H*mHZ$z)W^v2jmNzZ%=b|3Gw1 zNU@eU4OHw{as+;qq0yn@k{r^*b|lzHe6s?)sGi8*QSo#rJU2G!^7=1Kmu2o(xh5--W%KT& z(RB{yYH^ug4=d?>!KC?2JYxlD` zh`q4P$hj82H2<@n!4xeYeoPzl{OpZ5U}U#sJ9lpNgs;IQ*U%Ct7s+B;MD(PQIb*!% zH^%s)<*;n_y=QoufxSn2_%vdw56z(9#Cp0j(#kk@#92@D z!`$>Du4SS+<0C->2}ija{b+RNdib}N=XF4^cIrc-+g(l8BmSN8WEHT5yGDtZHX6OT z9#PRsI(QatNPrd#`8Lss76udf9{+|N4m8{cPr5d{@|@4L>Iv6PY|4GtVn@>tuIB~A z(;~vx*d3_qF=x!)Xs}jP{i%rghl4z9GA+nx)zHRUj*1QbIcqOos11IM3LG2y((Fxi z`I*M29ga6bGfMS>)zlM@>UxT+U+WuIbE#M=E3gvQ@wMOe8XjRCcST@n{s)o5kYDCY zQ4yEm8ARO4*H_mRM1o3UBpRO7vuntI4sO^N)FwZ{rCRa~JrPTF!Tuuu=KOlfH`ox7 zex3R21!^aZ;2)mp`SWj&@WXD;v(uUI_w=Z)HhvtI^Xg44Hv3|NFGjdNXh9p(lUj(k zxlsJ)yT-Q@1>;v6e>pen!cssR>&=zS+p8-d&U`)L-#IZk%!mEd# z7@UIMyz_iEJqyCc$-~AfTCuvr)3YMxCP zWyjp!u3Zr)i%C8_+6v{QDZMI6l-^1;(SfXmGvY(1JZuj99PGfCR2bx8_>sS{X}s%e z+)=@Ja;&Sdud?b*Kayv9Kb|Vc-`Fr?s)XURQL!6}l_HCtaZuJPdiX!)Rh>$vgGUMY z6~1s-YD@ZNSEG&8VY0@G$$C?B6WQU5-xt?`87anr!v~SoO2QASfu;3wc#zkkbP9)u z)(}=?IwUTM3D2-)(pqiC2Hy7R6|c>oJ`EQ?VA}b};CP;H=xXxXnh~31W$IjQ9PuH- zGR@WKa4JG~yaysCtG~<#HjIq8&Ygrf!(0y17Z-iT5%GvOS-K4;=!BPuvnwE3zmUs-B|^WoAH;gNfd&40wicuq|9gZH6S;i9YhVr&wNuzlp9 zc7v-#0X-4n%<9Ng6Rp$}GuZ1UTh6@EE*HvG!g{WJEWH)kYPqxr03r(Rw0` z&-yX0f7nWF5@Eav)8^Sm*Qv9wE;lUsI3hDq$+|#kYRN!kM5auUB^b$Suo9+u{@@tC zxEj_MdIVJw8CoJk5If?_&q7tc1QAj7`o7wzpXOeb5r>m|MYXu(dr`%SFll6Pe93F$ znmLe>_W3NnjjMhPJ5gwl@FL|%S*j&%__JJw*bo3C5r+7+Ryg@U#3`@&JI*Et&18RO z{r1D$GrF#zmhx;K5y!gMz+sqersevzghgXMnPwC{BOWyOX*ss?t6Lsn6)>Q!C`HZl)R%GM&0S55_!GJbHiDl+&UPsVFF zxKOwVe%6VcIS_#{=Xf?z4a?{2(av$z=)$srNaGUDg=hRy)Z|kTi4`JLWyOV~*5Htp zA3OZXYwL`RdR8qeSBY?=Iv6tU$HB9(B&(Sb5s8g#J&Q(giJ^EfUI(fju^zF( zhK%Rj;;Ap{2%oM~KxDRY==I0fs&l&$uMjCwUIO}tRg$m=jfKe%RXgs)`^s#vb3^EC>=!`%Qq z0GP~KP4+%xHDkUyB9n--$WENj=U%a$sQR>$s2Z8(uXqf;iBb@;J0|&vM6oO?@rs}I zi6@t2tx2^UHo`Y`p#!sy_>tJi_+Z$m`daX;Nt8rYZ{^vH&14$L$X_ru!Xk1` zohK^6)wRS~dJh>=o{ee~#%qBOH3u*3TH#r9H?@YYHCJiY%(WC<*J9T6D)^y|FdkI# zL&g@>#zySso>N5qW4)p)9~C?_f!)P{SA>_VYAfsP^NbS_eehN3^(np8@C297`N1nn z@dHcR1&*xe(4uK0x|G!f4h}O4yL>UR_sY z%~MzJ`UdnlK!;rYx(^tq_4qu*V51oi{{mV)=x!o2Me&I6dcgZD>~f>u%Wyo3puali z{~#b9LZyDyHK0(;%)9GV9lxqUlG8Os%1b^e8q&vHB-##GW~XeABG0Qn)fGMR>QATG z7nWTxoYh_CbE@C>88W>n<;#r`Oiv&AzRtQ(s4sWE^~3QfPj>~ox-o9@d78Xv%&^57 z%$QvN0Bx~=YxidYJWa8ai60(T&CVBdtKC9Zp~#f=J8;yaX>5vJwbEt9ac7_K<1J=^ z%E$3j`2uBXEZ`b*&@ykSpK(xNQ3xRIPet zs#E#ry!H-Mb&W6@^>7vx`DErf4ONZL-mt1M1EL&)T&z2zQPE*oc~6n`f?lDttO!_y zA&;NC6>u2LCPJO)dE~`%!Xuc`|0>G)RjQg@ndlJDz|W(r;QS#CQ!9pUpPuJ>UYXlv zD+W`|7stm~V)$e=`uzTJh;_#VIS3Ng4A&xKaz1UPacBNAqpB}6%gr(aO>Z%=dVlYt zj>*pRzS%9a=2%n&-?{N>_uE5?D-3J5{1MC7?U$WYm4~y;t7EYo7ZJOw#llQ_5=G|K zxePw-&s3drAN0#tM6=bVok_WwW(?EsIAoe!Jn9U(V@M&H0p+UqbSWA>6)<;Jjoho2 zFAqcYtThkV5pT`=IyP=P2oef!Cw_{~alBa<5d|pE$a32HSzP3H*8+@2MOJltG&jVj zS-JgIo_*kO{y2^O0!MIEwU@eH=_$Wq*aJRYQ4V>Z`1DBGB_M0>U3*?9vRlhgJu)q` z&S@TBem)+7DPfo!P|$U%P(SC9G$oqti{91EFN!{^OE{2Yn7iyOnlg?cjevDsV`~FU zibrms?{Ir_#~hEXc&e(d=4N{2t`LUd{)~5aD;m3iN9&UH5ivHvv0dw`3%tyr(2uIm z@h`Vw$qpXvdo}HOeU5$W1W_{4R8__GA|F#m*OVD$38QYbvzmNzioE>JA!b&DD)^Hd zS1V(&7wszexU8dro+kLrD@=F15$VdZ7webK{`5H#jCqM z9nL7z<0l%qEWhb&-qn<0kH_LM8Y@5yW8sVJatvNI!+$d~8n5m?fA^e2P<1321QZIs zHE&Gx8Tb4iT^165@5}0+E@nnm$8AJf4*34lDq^h4CTDeh?9MZ}PlYXD*x=4;M zyI#pFcZ?N79xuNt(wbK^?XIpnzX}HDs>Z4Ur`*i*bI8t~$HXxT*Qe-L!A3KWOjl*I zZgj~{eyl~&G1xFX=0}gtoxMW;jYbupPwzQRL|JxPC)W+1OUkb#oyll^RlVx7KYcKk z;nly{eTpnMDq?q5)qPoeT39N!q-fT}OQQ`d~Aw}QyTu8|^poxWym;-3^`2uQjyn>#g`ujnBUGKoR6{)DLn|YZ@G%(|nb40w5hG3V z*{|cjsv1qP{B$&N_K6Qua8D7L82?3cUF{Sx8duJKpWu(Go(oSAnXq!o{Ns>fnM3Ax zCxeL|xy}q1_^5|Gjo3L`^Xww3S~p2m-^bCQmrXZziphFoS;S_x zS*-Fz`Rpga5Fno&icWiOxAMTXexD*gwRiD|QPs#+dFR$u-IVPWGp|P&44CZk$ht|N zK6l;95ey*~yYo7UJ^?2t<~P+qm?Bdp9C#?kcF*7S>Rp#GsyXedGsm|w0u;tRli(fG|SFc597tFQ?(3#yNHFKUOtk8oK+t{ z8MEz9w#<08P_0kbILN|SxbNm~6Yi+haf&i|c`?7kIR56eNXjh;cXk{Pvm=&YUUBMo z9_>SX`TNz_!LtD}^i{)H%C4HW>YbLd(KTbhqd&|ea;PVNI@vX!-f!rLSHN||HPr^>QLUY^p?{e&1Ydl-IWBvV2bWk_xpOVcpOV;2W# zMR#$?X0zIPLg4u)66WxD=e>;h+%80dMMLh6hfMOS*-2GLq>1T8P1~N2Mb&FVDJYKE z(OpFhOJuq3QwM)rR7Kp?v{r!CYsciFl#ikj?_qf8qJar0=TLXM-hB^ZJj(nhGySDN zDlK=60n%uOupIAPv*Yzp(a#x+sT$NFEJ-N>fGEq%%TLaWjLIz&%d9Br0+Y|RB8SUe zZ{+sW6_rDcXwj@YKcARqy}EdvhaK|ki72b*!E?afT)!DmM*8dsF7rv|a25^|<5k?) zgaMQ3%2;&OAu^cX@@ftdBR#;-ABW&xrXYPk;lo%g4~roejcM_RPu(s{z5);X!!X9- zb&wLEAGefIA_I?+$3UaS{%`#sC90^Bt-MM(CXjt&jM9ZE`#AwI)JkKi^tKl&I z`Ad}cGC5w|chy;xep{?~u9A;Qn$-heBq}S)(?lkaJ|1$}4uThtiJF|ZpPtiWJe0oM zVo}lWz5HH03@RGq@Cw+)vNOf)H5)QTmYZcsb4k%#>tpkq6Ys5>etKPo%b|l~u`2G- zXhJ{}qwiSMaE}+GY0~{vE0llmuX{UM5^)9_5j-p$Yj05SsJCt%M6c3)la_4h*n@(6ZE1uO#$E4 zB6;*TQ}8f`DQZviRhis=)C`C5G9(Y)#(3V0h3G-}qKH^-F5aiAF1y;@>YLU2q@4PY z!NV~c5XI)j+^Q_)R5o(q8C6|vyn$j4KiXkZ@>=7nf_%OMOP_9}0B z>`@++9;&AN))v58(#TXY(T#QFeWN{fXMhIU-Mh`}x zH>HlTfZY2&$zvGnBcZ_JO@rHnLswP3J8$wDKXg+voaPSVF(7sc%Ir5-CK)~%^G|-w&EX!-cznGo)*SCF;;1Oc zZ2dn)tlk$5BlP7@UdAV-b6UEE(fsFDTz8^3PpW$4%Z}<;SYX4#nphwCWM!)j!_Dtg z)pf!>V%1U=^S#(_MC0dCy&js}z_6pi)zPr{a_Oi0O*p79R!zoZy{rmS>o?D3*I3kZ zyUy`=U4$8P>Q(Oi=H9Q|GD{dk@Uh)Ut3+90Cc7Es^T}=yCO{R?~GdotN?Ou%OVJubZA4SeL zf^Y+{%uLTk1tPDiyEie&LRx&ajhhe7M0Vem4L!C!MT&SlNOUZj!(-9R^?Yw9X(mx% cjutXmOr7n4J*NRBMsD?ZvFwe%9l+TC0qrTM%m4rY literal 0 HcmV?d00001 diff --git a/themes/typewriter/style.js b/themes/typewriter/style.js index 6cd90a3..ae74c4b 100644 --- a/themes/typewriter/style.js +++ b/themes/typewriter/style.js @@ -16,6 +16,7 @@ "loc": [43,220] }, "sounds": { "alertsound": "$path/alarm.wav", + "memosound": "$path/alarm2.wav", "ceasesound": "$path/cease.wav" }, "menus": {"client": {"_name": "Typewriter", "options": "Preferences", From ef1d2acfcd27787340c0fa0d96ce039f1a41798a Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 28 Apr 2011 02:08:52 -0700 Subject: [PATCH 037/166] Chum groups (hopefully bug free finally) --- CHANGELOG.mkdn | 1 + TODO.mkdn | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 4c5ffb5..f370c93 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -11,6 +11,7 @@ CHANGELOG * Individually turn quirks on and off - Kiooeht [evacipatedBox] * More canon trollian theme timeline indicators - [binaryCabalist] * By mood chum sorting - Kiooeht [evacipatedBox] +* Chum groups - Kiooeht [evacipatedBox] * Customizable idle time - Kiooeht [evacipatedBox] * Different sound for memos - Kiooeht [evacipatedBox] * Bug fixes diff --git a/TODO.mkdn b/TODO.mkdn index dfb30ea..4fabf6b 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -7,7 +7,6 @@ Features * log viewer needs to have BBCode/HTML/Text copy modes * random pesters * copy quirks between profiles? -* chum list groups * More complex quirks: by-sound * Theme checking * Spy mode From 32f42c7d61b11524bbff75dd9dda1c57b6fdebfa Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sat, 30 Apr 2011 00:51:53 -0700 Subject: [PATCH 038/166] Bug fix: Move To menu --- pesterchum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pesterchum.py b/pesterchum.py index 81d1db4..4565f1a 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -707,7 +707,6 @@ class chumArea(RightClickTree): actGroup = QtGui.QActionGroup(self) groups = self.groups[:] - groups.insert(0, "Chums") for gtext in groups: if gtext == currentGroup: continue @@ -2192,6 +2191,7 @@ class PesterWindow(MovingWindow): gTemp = self.config.getGroups() self.chumList.groups = [g[0] for g in gTemp] self.chumList.openGroups = [g[1] for g in gTemp] + self.chumList.moveGroupMenu() self.chumList.showAllGroups() if not self.config.showEmptyGroups(): self.chumList.hideEmptyGroups() From 04dc61df22b4edb9c7d014efc6420795f2bdb3ae Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 3 May 2011 12:01:56 -0700 Subject: [PATCH 039/166] Mark current options tab --- menus.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/menus.py b/menus.py index 6d7f5bc..b2f86a0 100644 --- a/menus.py +++ b/menus.py @@ -580,6 +580,8 @@ class PesterOptions(QtGui.QDialog): button = QtGui.QPushButton(t) self.tabs.addButton(button) layout_4.addWidget(button) + button.setCheckable(True) + self.tabs.button(-2).setChecked(True) self.pages = QtGui.QStackedWidget(self) self.tabcheck = QtGui.QCheckBox("Tabbed Conversations", self) @@ -732,6 +734,7 @@ class PesterOptions(QtGui.QDialog): @QtCore.pyqtSlot(int) def changePage(self, page): + self.tabs.button(page).setChecked(True) # What is this, I don't even. qt, fuck page = -page - 2 self.pages.setCurrentIndex(page) From 4d81ea1dab8e95f387b5f69a25962d4438238aa2 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 3 May 2011 13:04:59 -0700 Subject: [PATCH 040/166] Display current percentage for mispeller slider --- menus.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/menus.py b/menus.py index b2f86a0..7727e48 100644 --- a/menus.py +++ b/menus.py @@ -83,10 +83,14 @@ class MispellQuirkDialog(QtGui.QDialog): layout_1 = QtGui.QHBoxLayout() zero = QtGui.QLabel("1%", self) hund = QtGui.QLabel("100%", self) + self.current = QtGui.QLabel("50%", self) + self.current.setAlignment(QtCore.Qt.AlignHCenter) self.slider = QtGui.QSlider(QtCore.Qt.Horizontal, self) self.slider.setMinimum(1) self.slider.setMaximum(100) self.slider.setValue(50) + self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), + self, QtCore.SLOT('printValue(int)')) layout_1.addWidget(zero) layout_1.addWidget(self.slider) layout_1.addWidget(hund) @@ -104,6 +108,7 @@ class MispellQuirkDialog(QtGui.QDialog): layout_0 = QtGui.QVBoxLayout() layout_0.addLayout(layout_1) + layout_0.addWidget(self.current) layout_0.addLayout(layout_ok) self.setLayout(layout_0) @@ -115,6 +120,10 @@ class MispellQuirkDialog(QtGui.QDialog): else: return None + @QtCore.pyqtSlot(int) + def printValue(self, value): + self.current.setText(str(value)+"%") + class RandomQuirkDialog(MultiTextDialog): def __init__(self, parent, values={}): QtGui.QDialog.__init__(self, parent) From 7f776a8c54f2bc0e5df83837b6e00036abf622ca Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 3 May 2011 16:41:40 -0700 Subject: [PATCH 041/166] Animated smilies --- TODO.mkdn | 1 - convo.py | 19 ++++++++++++++++++- memos.py | 5 ++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index 4fabf6b..020e582 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -10,7 +10,6 @@ Features * More complex quirks: by-sound * Theme checking * Spy mode -* Animated * Turn @ and # links on/off? Bugs diff --git a/convo.py b/convo.py index 101da6a..17deb8b 100644 --- a/convo.py +++ b/convo.py @@ -9,7 +9,7 @@ from PyQt4 import QtGui, QtCore from dataobjs import PesterProfile, Mood, PesterHistory from generic import PesterIcon -from parsetools import convertTags, lexMessage, splitMessage, mecmd, colorBegin, colorEnd, img2smiley +from parsetools import convertTags, lexMessage, splitMessage, mecmd, colorBegin, colorEnd, img2smiley, smiledict class PesterTabWindow(QtGui.QFrame): def __init__(self, mainwindow, parent=None, convo="convo"): @@ -206,6 +206,23 @@ class PesterText(QtGui.QTextEdit): self.textSelected = False self.connect(self, QtCore.SIGNAL('copyAvailable(bool)'), self, QtCore.SLOT('textReady(bool)')) + self.urls = {} + for k in smiledict: + self.addAnimation(QtCore.QUrl("smilies/%s" % (smiledict[k])), "smilies/%s" % (smiledict[k])); + def addAnimation(self, url, fileName): + movie = QtGui.QMovie(self) + movie.setFileName(fileName) + self.urls[movie] = url + self.connect(movie, QtCore.SIGNAL('frameChanged(int)'), + self, QtCore.SLOT('animate()')); + movie.start(); + @QtCore.pyqtSlot() + def animate(self): + movie = self.sender() + self.document().addResource(QtGui.QTextDocument.ImageResource, + self.urls[movie], movie.currentPixmap()); + self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()); + @QtCore.pyqtSlot(bool) def textReady(self, ready): self.textSelected = ready diff --git a/memos.py b/memos.py index 443ee8a..2738f8f 100644 --- a/memos.py +++ b/memos.py @@ -8,7 +8,7 @@ from dataobjs import PesterProfile, Mood, PesterHistory from generic import PesterIcon, RightClickList, mysteryTime from convo import PesterConvo, PesterInput, PesterText, PesterTabWindow from parsetools import convertTags, addTimeInitial, timeProtocol, \ - lexMessage, colorBegin, colorEnd, mecmd + lexMessage, colorBegin, colorEnd, mecmd, smiledict from logviewer import PesterLogViewer @@ -241,6 +241,9 @@ class MemoText(PesterText): self.textSelected = False self.connect(self, QtCore.SIGNAL('copyAvailable(bool)'), self, QtCore.SLOT('textReady(bool)')) + self.urls = {} + for k in smiledict: + self.addAnimation(QtCore.QUrl("smilies/%s" % (smiledict[k])), "smilies/%s" % (smiledict[k])); def initTheme(self, theme): if theme.has_key("memos/scrollbar"): From 6546360ccc7ae660b7ad5b9949f2dd361ae66775 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 3 May 2011 18:04:08 -0700 Subject: [PATCH 042/166] Delete profiles from switch menu --- menus.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/menus.py b/menus.py index 7727e48..c918bcd 100644 --- a/menus.py +++ b/menus.py @@ -1,6 +1,7 @@ from PyQt4 import QtGui, QtCore import re +from os import remove from generic import RightClickList, MultiTextDialog from dataobjs import pesterQuirk, PesterProfile from memos import TimeSlider, TimeInput @@ -516,6 +517,10 @@ class PesterChooseProfile(QtGui.QDialog): self.cancel = QtGui.QPushButton("CANCEL", self) self.connect(self.cancel, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('reject()')) + if not collision: + self.delete = QtGui.QPushButton("DELETE", self) + self.connect(self.delete, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('deleteProfile()')) layout_ok = QtGui.QHBoxLayout() layout_ok.addWidget(self.cancel) layout_ok.addWidget(self.ok) @@ -532,6 +537,8 @@ class PesterChooseProfile(QtGui.QDialog): layout_0.addWidget(profileLabel) layout_0.addWidget(self.profileBox) layout_0.addLayout(layout_ok) + if not collision: + layout_0.addWidget(self.delete) layout_0.addLayout(layout_2) self.errorMsg = QtGui.QLabel(self) self.errorMsg.setStyleSheet("color:red;") @@ -563,6 +570,36 @@ class PesterChooseProfile(QtGui.QDialog): return self.accept() + @QtCore.pyqtSlot() + def deleteProfile(self): + if self.profileBox and self.profileBox.currentIndex() > 0: + handle = unicode(self.profileBox.currentText()) + if handle == self.parent.profile().handle: + problem = QtGui.QMessageBox() + problem.setStyleSheet(self.theme["main/defaultwindow/style"]) + problem.setWindowTitle("Problem!") + problem.setInformativeText("You can't delete the profile you're currently using!") + problem.setStandardButtons(QtGui.QMessageBox.Ok) + problem.exec_() + return + msgbox = QtGui.QMessageBox() + msgbox.setStyleSheet(self.theme["main/defaultwindow/style"]) + msgbox.setWindowTitle("WARNING!") + msgbox.setInformativeText("Are you sure you want to delete the profile: %s" % (handle)) + msgbox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel) + ret = msgbox.exec_() + if ret == QtGui.QMessageBox.Ok: + try: + remove("profiles/%s.js" % (handle)) + except OSError: + problem = QtGui.QMessageBox() + problem.setStyleSheet(self.theme["main/defaultwindow/style"]) + problem.setWindowTitle("Problem!") + problem.setInformativeText("There was a problem deleting the profile: %s" % (handle)) + problem.setStandardButtons(QtGui.QMessageBox.Ok) + problem.exec_() + self.reject() + class PesterOptions(QtGui.QDialog): def __init__(self, config, theme, parent): QtGui.QDialog.__init__(self, parent) From 2fd5b3f7591fb65a3c162f09322bfd67c4c01cec Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 3 May 2011 18:25:05 -0700 Subject: [PATCH 043/166] Fixed weird memo scrollbar thing --- memos.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/memos.py b/memos.py index 2738f8f..9ebd64c 100644 --- a/memos.py +++ b/memos.py @@ -474,7 +474,12 @@ class PesterMemo(PesterConvo): self.channelLabel.setMinimumHeight(theme["memos/label/minheight"]) self.userlist.optionsMenu.setStyleSheet(theme["main/defaultwindow/style"]) - self.userlist.setStyleSheet(theme["memos/userlist/style"]) + if theme.has_key("main/chums/scrollbar"): + print "yes scrollbars!" + self.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] )) + else: + print "no scroll bars :(" + self.userlist.setStyleSheet(theme["memos/userlist/style"]) self.userlist.setFixedWidth(theme["memos/userlist/width"]) self.addchumAction.setText(theme["main/menus/rclickchumlist/addchum"]) self.banuserAction.setText(theme["main/menus/rclickchumlist/banuser"]) From e401667e1312e9f96054b527c2623b5fa9ac8e1c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 3 May 2011 21:24:11 -0700 Subject: [PATCH 044/166] Move theme selection into options menu --- menus.py | 17 ++++++++++++++++- pesterchum.py | 10 +++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/menus.py b/menus.py index c918bcd..d819a94 100644 --- a/menus.py +++ b/menus.py @@ -621,7 +621,7 @@ class PesterOptions(QtGui.QDialog): self.tabs = QtGui.QButtonGroup(self) self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'), self, QtCore.SLOT('changePage(int)')) - tabNames = ["Chum List", "Conversations", "Sound", "Logging", "Idle"] + tabNames = ["Chum List", "Conversations", "Sound", "Logging", "Idle", "Theme"] for t in tabNames: button = QtGui.QPushButton(t) self.tabs.addButton(button) @@ -703,6 +703,13 @@ class PesterOptions(QtGui.QDialog): layout_5.addWidget(QtGui.QLabel("Minutes before Idle:")) layout_5.addWidget(self.idleBox) + avail_themes = self.config.availableThemes() + self.themeBox = QtGui.QComboBox(self) + for (i, t) in enumerate(avail_themes): + self.themeBox.addItem(t) + if t == theme.name: + self.themeBox.setCurrentIndex(i) + self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) self.connect(self.ok, QtCore.SIGNAL('clicked()'), @@ -767,6 +774,14 @@ class PesterOptions(QtGui.QDialog): layout_idle.addLayout(layout_5) self.pages.addWidget(widget) + # Theme + widget = QtGui.QWidget() + layout_theme = QtGui.QVBoxLayout(widget) + layout_theme.setAlignment(QtCore.Qt.AlignTop) + layout_theme.addWidget(QtGui.QLabel("Pick a Theme:")) + layout_theme.addWidget(self.themeBox) + self.pages.addWidget(widget) + layout_0 = QtGui.QVBoxLayout() layout_1 = QtGui.QHBoxLayout() layout_1.addLayout(layout_4) diff --git a/pesterchum.py b/pesterchum.py index 4565f1a..bd5b88c 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -1356,10 +1356,6 @@ class PesterWindow(MovingWindow): filemenu.addAction(self.reconnectAction) filemenu.addAction(exitaction) - changetheme = QtGui.QAction(self.theme["main/menus/profile/theme"], self) - self.changetheme = changetheme - self.connect(changetheme, QtCore.SIGNAL('triggered()'), - self, QtCore.SLOT('pickTheme()')) changequirks = QtGui.QAction(self.theme["main/menus/profile/quirks"], self) self.changequirks = changequirks self.connect(changequirks, QtCore.SIGNAL('triggered()'), @@ -1381,7 +1377,6 @@ class PesterWindow(MovingWindow): profilemenu = self.menu.addMenu(self.theme["main/menus/profile/_name"]) self.profilemenu = profilemenu - profilemenu.addAction(changetheme) profilemenu.addAction(changequirks) profilemenu.addAction(loadslum) profilemenu.addAction(changecoloraction) @@ -1672,7 +1667,6 @@ class PesterWindow(MovingWindow): self.idleaction.setText(theme["main/menus/client/idle"]) self.reconnectAction.setText(theme["main/menus/client/reconnect"]) self.filemenu.setTitle(theme["main/menus/client/_name"]) - self.changetheme.setText(theme["main/menus/profile/theme"]) self.changequirks.setText(theme["main/menus/profile/quirks"]) self.loadslum.setText(theme["main/menus/profile/block"]) self.changecoloraction.setText(theme["main/menus/profile/color"]) @@ -2331,11 +2325,13 @@ class PesterWindow(MovingWindow): if idlesetting != curidle: self.config.set('idleTime', idlesetting) self.idlethreshold = 60*idlesetting + # theme + self.themeSelected() self.optionmenu = None @QtCore.pyqtSlot() def themeSelected(self): - themename = unicode(self.choosetheme.themeBox.currentText()) + themename = unicode(self.optionmenu.themeBox.currentText()) if themename != self.theme.name: try: self.changeTheme(pesterTheme(themename)) From 39e77ee3c2f0cf8e57b050505d3459db244067dc Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 4 May 2011 23:48:44 -0700 Subject: [PATCH 045/166] Customize minimize/close buttons --- menus.py | 24 +++++++++++++++++++++++- pesterchum.py | 42 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 61 insertions(+), 5 deletions(-) diff --git a/menus.py b/menus.py index d819a94..19f47e1 100644 --- a/menus.py +++ b/menus.py @@ -621,7 +621,7 @@ class PesterOptions(QtGui.QDialog): self.tabs = QtGui.QButtonGroup(self) self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'), self, QtCore.SLOT('changePage(int)')) - tabNames = ["Chum List", "Conversations", "Sound", "Logging", "Idle", "Theme"] + tabNames = ["Chum List", "Conversations", "Interface", "Sound", "Logging", "Idle", "Theme"] for t in tabNames: button = QtGui.QPushButton(t) self.tabs.addButton(button) @@ -710,6 +710,20 @@ class PesterOptions(QtGui.QDialog): if t == theme.name: self.themeBox.setCurrentIndex(i) + self.buttonOptions = ["Minimize to Taskbar", "Minimize to Tray", "Quit"] + self.miniBox = QtGui.QComboBox(self) + self.miniBox.addItems(self.buttonOptions) + self.miniBox.setCurrentIndex(self.config.minimizeAction()) + self.closeBox = QtGui.QComboBox(self) + self.closeBox.addItems(self.buttonOptions) + self.closeBox.setCurrentIndex(self.config.closeAction()) + layout_mini = QtGui.QHBoxLayout() + layout_mini.addWidget(QtGui.QLabel("Minimize")) + layout_mini.addWidget(self.miniBox) + layout_close = QtGui.QHBoxLayout() + layout_close.addWidget(QtGui.QLabel("Close")) + layout_close.addWidget(self.closeBox) + self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) self.connect(self.ok, QtCore.SIGNAL('clicked()'), @@ -747,6 +761,14 @@ class PesterOptions(QtGui.QDialog): #layout_chat.addWidget(self.userlinkscheck) self.pages.addWidget(widget) + # Interface + widget = QtGui.QWidget() + layout_interface = QtGui.QVBoxLayout(widget) + layout_interface.setAlignment(QtCore.Qt.AlignTop) + layout_interface.addLayout(layout_mini) + layout_interface.addLayout(layout_close) + self.pages.addWidget(widget) + # Sound widget = QtGui.QWidget() layout_sound = QtGui.QVBoxLayout(widget) diff --git a/pesterchum.py b/pesterchum.py index bd5b88c..cfb7ed4 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -342,6 +342,10 @@ class userConfig(object): return not self.config.get('userLinks', True) def idleTime(self): return self.config.get('idleTime', 10) + def minimizeAction(self): + return self.config.get('miniAction', 0) + def closeAction(self): + return self.config.get('closeAction', 1) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -1398,11 +1402,9 @@ class PesterWindow(MovingWindow): self.helpmenu.addAction(self.aboutAction) self.closeButton = WMButton(PesterIcon(self.theme["main/close/image"]), self) - self.connect(self.closeButton, QtCore.SIGNAL('clicked()'), - self, QtCore.SLOT('closeToTray()')) + self.setButtonAction(self.closeButton, self.config.closeAction(), -1) self.miniButton = WMButton(PesterIcon(self.theme["main/minimize/image"]), self) - self.connect(self.miniButton, QtCore.SIGNAL('clicked()'), - self, QtCore.SLOT('showMinimized()')) + self.setButtonAction(self.miniButton, self.config.minimizeAction(), -1) self.namesdb = CaseInsensitiveDict() self.chumdb = PesterProfileDB() @@ -2327,8 +2329,40 @@ class PesterWindow(MovingWindow): self.idlethreshold = 60*idlesetting # theme self.themeSelected() + # button actions + minisetting = self.optionmenu.miniBox.currentIndex() + curmini = self.config.minimizeAction() + if minisetting != curmini: + self.config.set('miniAction', minisetting) + self.setButtonAction(self.miniButton, minisetting, curmini) + closesetting = self.optionmenu.closeBox.currentIndex() + curclose = self.config.closeAction() + if closesetting != curclose: + self.config.set('closeAction', closesetting) + self.setButtonAction(self.closeButton, closesetting, curclose) self.optionmenu = None + def setButtonAction(self, button, setting, old): + if old == 0: # minimize to taskbar + self.disconnect(button, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('showMinimized()')); + elif old == 1: # minimize to tray + self.disconnect(button, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('closeToTray()')); + elif old == 2: # quit + self.disconnect(button, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('close()')); + + if setting == 0: # minimize to taskbar + self.connect(button, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('showMinimized()')); + elif setting == 1: # minimize to tray + self.connect(button, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('closeToTray()')); + elif setting == 2: # quit + self.connect(button, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('close()')); + @QtCore.pyqtSlot() def themeSelected(self): themename = unicode(self.optionmenu.themeBox.currentText()) From cfa7b164678a7f9a02183feaa0f77f863ef4bd8d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 00:26:46 -0700 Subject: [PATCH 046/166] Bug fix: no time arrows in enamel --- TODO.mkdn | 1 - themes/enamel/leftarrow.png | Bin 0 -> 2894 bytes themes/enamel/rightarrow.png | Bin 0 -> 2877 bytes 3 files changed, 1 deletion(-) create mode 100644 themes/enamel/leftarrow.png create mode 100644 themes/enamel/rightarrow.png diff --git a/TODO.mkdn b/TODO.mkdn index 020e582..0754fff 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -18,7 +18,6 @@ Bugs * Windows doesn't show style sheet sometimes?? Maybe related to themes. * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash -* enamel doesnt have time arrows Mac Bugs -------- diff --git a/themes/enamel/leftarrow.png b/themes/enamel/leftarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..4caf00b9ace4036c6e4d0be594267d174508824d GIT binary patch literal 2894 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 bJ3j*eyrwi4C{-|^00000NkvXXu0mjfeM3~G literal 0 HcmV?d00001 From cfa1d7cd1b80e287d62bf27e783cdbddb66d904d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 02:26:36 -0700 Subject: [PATCH 047/166] Bug fix: Quirk ordering. (Don't give certain quirk types priority) --- dataobjs.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/dataobjs.py b/dataobjs.py index 3879555..32a0d83 100644 --- a/dataobjs.py +++ b/dataobjs.py @@ -124,10 +124,6 @@ class pesterQuirks(object): def apply(self, lexed, first=False, last=False): prefix = [q for q in self.quirklist if q.type=='prefix'] suffix = [q for q in self.quirklist if q.type=='suffix'] - replace = [q for q in self.quirklist if - q.type=='replace' or q.type=='regexp'] - randomrep = [q for q in self.quirklist if q.type=='random'] - spelling = [q for q in self.quirklist if q.type=='spelling'] newlist = [] for (i, o) in enumerate(lexed): @@ -141,12 +137,12 @@ class pesterQuirks(object): continue lastStr = (i == len(lexed)-1) string = o - for s in spelling: - string = s.apply(string) - for r in randomrep: - string = r.apply(string, first=(i==0), last=lastStr) - for r in replace: - string = r.apply(string, first=(i==0), last=lastStr) + for q in self.quirklist: + if q.type != 'prefix' and q.type != 'suffix': + if q.type == 'regexp' or q.type == 'random': + string = q.apply(string, first=(i==0), last=lastStr) + else: + string = q.apply(string) if i == 0: if len(prefix) >= 1: myprefix = random.choice(prefix) From 33dfa49f34a0849cd09552885c5ec66f6818556b Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 02:33:13 -0700 Subject: [PATCH 048/166] Update changelog and todo --- CHANGELOG.mkdn | 7 +++++++ TODO.mkdn | 3 +++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index f370c93..375a0de 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -12,10 +12,17 @@ CHANGELOG * More canon trollian theme timeline indicators - [binaryCabalist] * By mood chum sorting - Kiooeht [evacipatedBox] * Chum groups - Kiooeht [evacipatedBox] +* Turn logging on and off - Kiooeht [evacipatedBox] * Customizable idle time - Kiooeht [evacipatedBox] * Different sound for memos - Kiooeht [evacipatedBox] +* Animated smilies - Kiooeht [evacipatedBox] +* Delete profiles - Kiooeht [evacipatedBox] +* Customize minimize and close button actions - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] + * Memo scrollbar thing - Kiooeht [evacipatedBox] + * Time arrows in enamel - Kiooeht [evacipatedBox] + * Quirk order actually works - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] diff --git a/TODO.mkdn b/TODO.mkdn index 0754fff..c2b418a 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -18,6 +18,9 @@ Bugs * Windows doesn't show style sheet sometimes?? Maybe related to themes. * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash +* Leave memos on reconnect, needs to auto-rejoin memos +* Leave memos on profile change (should just change nick) +* Text input loses focus when scrolling/clicking on text area Mac Bugs -------- From 9fa18352dbe18e90dbb898d3a0f5f7df12ad317d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 03:24:39 -0700 Subject: [PATCH 049/166] Small bug fix: Set expand on group moving correctly --- pesterchum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pesterchum.py b/pesterchum.py index cfb7ed4..f706833 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -665,7 +665,7 @@ class chumArea(RightClickTree): if droppos.rfind(" ") != -1: droppos = droppos[0:droppos.rfind(" ")] if droppos == "Chums" or droppos in self.groups: - saveOpen = self.openGroups[self.groups.index(thisitem)] + saveOpen = event.source().currentItem().isExpanded() saveDrop = self.itemAt(event.pos()) saveItem = self.takeTopLevelItem(self.indexOfTopLevelItem(event.source().currentItem())) self.insertTopLevelItems(self.indexOfTopLevelItem(saveDrop)+1, [saveItem]) From 8a9a0231fcb96084213b52087ccc598ed8dfcf66 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 03:45:06 -0700 Subject: [PATCH 050/166] Bug fix: Allow groups with spaces in the name, validate group names before use --- pesterchum.py | 55 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index f706833..fca6112 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -643,8 +643,8 @@ class chumArea(RightClickTree): def getOptionsMenu(self): text = str(self.currentItem().text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] if text == "Chums": return None elif text in self.groups: @@ -675,16 +675,16 @@ class chumArea(RightClickTree): gTemp = [] for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] gTemp.append([unicode(text), self.topLevelItem(i).isExpanded()]) self.mainwindow.config.saveGroups(gTemp) else: item = self.itemAt(event.pos()) if item: text = str(item.text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] if text == "Chums" or text in self.groups: group = text else: @@ -704,8 +704,8 @@ class chumArea(RightClickTree): currentGroup = self.currentItem() if currentGroup: text = str(currentGroup.parent().text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] currentGroup = text self.moveMenu.clear() actGroup = QtGui.QActionGroup(self) @@ -756,8 +756,8 @@ class chumArea(RightClickTree): curgroups = [] for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] curgroups.append(text) for i,g in enumerate(self.groups): if g not in curgroups: @@ -789,14 +789,14 @@ class chumArea(RightClickTree): online["Chums"] = online["Chums"]+1 for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] self.topLevelItem(i).setText(0, "%s (%i/%i)" % (text, online[text], totals[text])) def hideOnlineNumbers(self): for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] self.topLevelItem(i).setText(0, "%s" % (text)) def hideEmptyGroups(self): i = 0 @@ -812,7 +812,7 @@ class chumArea(RightClickTree): item = self.currentItem() text = str(item.text(0)) if text.find(" ") != -1: - text = text[0:text.rfind(" ")] + text = text[0:text.rfind(" (")] if text in self.groups: self.mainwindow.config.delGroup(text) @@ -831,7 +831,7 @@ class chumArea(RightClickTree): else: text = str(self.topLevelItem(0).text(0)) if text.find(" ") != -1: - text = text[0:text.rfind(" ")] + text = text[0:text.rfind(" (")] if text != "Chums": child_1 = QtGui.QTreeWidgetItem(["Chums"]) self.insertTopLevelItems(0, [child_1]) @@ -848,8 +848,8 @@ class chumArea(RightClickTree): child_1.setExpanded(True) for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] if text == chumLabel.chum.group: break self.topLevelItem(i).addChild(chumLabel) @@ -1012,8 +1012,8 @@ class chumArea(RightClickTree): if index != -1: expanded = currentGroup.isExpanded() text = str(currentGroup.text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] self.mainwindow.config.delGroup(text) self.mainwindow.config.addGroup(gname, expanded) gTemp = self.mainwindow.config.getGroups() @@ -1032,8 +1032,8 @@ class chumArea(RightClickTree): if not currentGroup: return text = str(currentGroup.text(0)) - if text.rfind(" ") != -1: - text = text[0:text.rfind(" ")] + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] self.mainwindow.config.delGroup(text) gTemp = self.mainwindow.config.getGroups() self.groups = [g[0] for g in gTemp] @@ -1819,7 +1819,7 @@ class PesterWindow(MovingWindow): if curChum: text = str(curChum.text(0)) if text.find(" ") != -1: - text = text[0:text.rfind(" ")] + text = text[0:text.rfind(" (")] if text not in self.chumList.groups and \ text != "Chums": self.newConversationWindow(curChum) @@ -2183,6 +2183,13 @@ class PesterWindow(MovingWindow): (gname, ok) = QtGui.QInputDialog.getText(self, "Add Group", "Enter a name for the new group:") if ok: gname = unicode(gname) + if re.search("[^A-Za-z0-9\s]", gname) is not None: + msgbox = QtGui.QMessageBox() + msgbox.setInformativeText("THIS IS NOT A VALID GROUP NAME") + msgbox.setStandardButtons(QtGui.QMessageBox.Ok) + ret = msgbox.exec_() + self.addgroupdialog = None + return self.config.addGroup(gname) gTemp = self.config.getGroups() self.chumList.groups = [g[0] for g in gTemp] @@ -2191,6 +2198,8 @@ class PesterWindow(MovingWindow): self.chumList.showAllGroups() if not self.config.showEmptyGroups(): self.chumList.hideEmptyGroups() + if self.config.showOnlineNumbers(): + self.chumList.showOnlineNumbers() self.addgroupdialog = None From 585abbc5db0853b853fa09c544ac2615ce720684 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 20:26:56 -0700 Subject: [PATCH 051/166] Bigger memo list --- menus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menus.py b/menus.py index 19f47e1..4228139 100644 --- a/menus.py +++ b/menus.py @@ -941,7 +941,7 @@ class PesterMemoList(QtGui.QDialog): self.theme = parent.theme self.mainwindow = parent self.setStyleSheet(self.theme["main/defaultwindow/style"]) - self.resize(200, 300) + self.resize(250, 500) self.label = QtGui.QLabel("MEMOS") self.channelarea = RightClickList(self) From 45477b329571168d197fc9e0fc13ef9be377242d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 20:53:03 -0700 Subject: [PATCH 052/166] Bug fix: Allow continued typing while text area has focus --- TODO.mkdn | 1 - convo.py | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/TODO.mkdn b/TODO.mkdn index c2b418a..f9435a5 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -20,7 +20,6 @@ Bugs * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * Leave memos on reconnect, needs to auto-rejoin memos * Leave memos on profile change (should just change nick) -* Text input loses focus when scrolling/clicking on text area Mac Bugs -------- diff --git a/convo.py b/convo.py index 17deb8b..b6f748b 100644 --- a/convo.py +++ b/convo.py @@ -317,6 +317,10 @@ class PesterText(QtGui.QTextEdit): self.parent().clearNewMessage() QtGui.QTextEdit.focusInEvent(self, event) + def keyPressEvent(self, event): + self.parent().textInput.keyPressEvent(event) + QtGui.QTextEdit.keyPressEvent(self, event) + def mousePressEvent(self, event): url = self.anchorAt(event.pos()) if url != "": From 36917ab74d7f57de2e05ef5da7068c3f688cb029 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 21:34:26 -0700 Subject: [PATCH 053/166] Slight visual improvement to chum groups --- TODO.mkdn | 1 + pesterchum.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/TODO.mkdn b/TODO.mkdn index f9435a5..7d43f70 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -20,6 +20,7 @@ Bugs * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * Leave memos on reconnect, needs to auto-rejoin memos * Leave memos on profile change (should just change nick) +* When using mood sort, scroll position jumps to last selected chum Mac Bugs -------- diff --git a/pesterchum.py b/pesterchum.py index fca6112..57012e9 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -634,9 +634,11 @@ class chumArea(RightClickTree): self.setSortingEnabled(False) self.header().hide() self.setDropIndicatorShown(True) - self.setIndentation(0) + self.setIndentation(4) self.setDragEnabled(True) self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) + self.setAnimated(True) + self.setRootIsDecorated(False) self.connect(self, QtCore.SIGNAL('itemDoubleClicked(QTreeWidgetItem *, int)'), self, QtCore.SLOT('expandGroup()')) @@ -939,6 +941,7 @@ class chumArea(RightClickTree): for i in range(self.topLevelItemCount()): self.topLevelItem(i).sortChildren(0, QtCore.Qt.AscendingOrder) def moodSort(self, group): + scrollPos = self.verticalScrollBar().sliderPosition() chums = [] listing = self.topLevelItem(group).child(0) while listing is not None: @@ -947,6 +950,7 @@ class chumArea(RightClickTree): chums.sort(key=lambda x: ((999 if x.chum.mood.value() == 2 else x.chum.mood.value()), x.chum.handle), reverse=False) for c in chums: self.topLevelItem(group).addChild(c) + self.verticalScrollBar().setSliderPosition(scrollPos) @QtCore.pyqtSlot() def activateChum(self): From 35d0273d68deeeb535deb70f7fca1e83ef605d74 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 5 May 2011 23:25:51 -0700 Subject: [PATCH 054/166] Bug fixes: Lots o' corner cases --- pesterchum.py | 85 +++++++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 47 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 57012e9..3f19971 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -376,19 +376,15 @@ class userConfig(object): def getGroups(self): if not self.groups.has_key('groups'): self.saveGroups([["Chums", True]]) - groups = self.groups.get('groups', [["Chums", True]]) - default = False - for g in groups: - if g[0] == "Chums": - default = True - break - if not default: - groups.insert(0, ["Chums", True]) - self.saveGroups(groups) - return groups + return self.groups.get('groups', [["Chums", True]]) def addGroup(self, group, open=True): l = self.getGroups() - if group not in l: + exists = False + for g in l: + if g[0] == group: + exists = True + break + if not exists: l.append([group,open]) l.sort() self.saveGroups(l) @@ -401,6 +397,13 @@ class userConfig(object): l.pop(i) l.sort() self.saveGroups(l) + def expandGroup(self, group, open=True): + l = self.getGroups() + for g in l: + if g[0] == group: + g[1] = open + break + self.saveGroups(l) def saveGroups(self, groups): self.groups['groups'] = groups try: @@ -705,7 +708,10 @@ class chumArea(RightClickTree): def moveGroupMenu(self): currentGroup = self.currentItem() if currentGroup: - text = str(currentGroup.parent().text(0)) + if currentGroup.parent(): + text = str(currentGroup.parent().text(0)) + else: + text = str(currentGroup.text(0)) if text.rfind(" (") != -1: text = text[0:text.rfind(" (")] currentGroup = text @@ -813,49 +819,34 @@ class chumArea(RightClickTree): def expandGroup(self): item = self.currentItem() text = str(item.text(0)) - if text.find(" ") != -1: + if text.rfind(" (") != -1: text = text[0:text.rfind(" (")] if text in self.groups: - self.mainwindow.config.delGroup(text) expand = item.isExpanded() - self.mainwindow.config.addGroup(text, not expand) - elif text == "Chums": - self.mainwindow.config.set("openDefaultGroup", not item.isExpanded()) + self.mainwindow.config.expandGroup(text, not expand) def addItem(self, chumLabel): if hasattr(self, 'groups'): if chumLabel.chum.group not in self.groups: - if self.topLevelItemCount() == 0: - child_1 = QtGui.QTreeWidgetItem(["Chums"]) + chumLabel.chum.group = "Chums" + if "Chums" not in self.groups: + self.mainwindow.config.addGroup("Chums") + if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): + if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchContains): + child_1 = QtGui.QTreeWidgetItem(["%s" % (chumLabel.chum.group)]) self.addTopLevelItem(child_1) - if self.mainwindow.config.openDefaultGroup(): + if self.openGroups[self.groups.index("%s" % (chumLabel.chum.group))]: child_1.setExpanded(True) - else: - text = str(self.topLevelItem(0).text(0)) - if text.find(" ") != -1: + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" (") != -1: text = text[0:text.rfind(" (")] - if text != "Chums": - child_1 = QtGui.QTreeWidgetItem(["Chums"]) - self.insertTopLevelItems(0, [child_1]) - if self.mainwindow.config.openDefaultGroup(): - child_1.setExpanded(True) - self.topLevelItem(0).addChild(chumLabel) + if text == chumLabel.chum.group: + break + self.topLevelItem(i).addChild(chumLabel) self.sort() - else: - if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): - if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchContains): - child_1 = QtGui.QTreeWidgetItem(["%s" % (chumLabel.chum.group)]) - self.addTopLevelItem(child_1) - if self.openGroups[self.groups.index("%s" % (chumLabel.chum.group))]: - child_1.setExpanded(True) - for i in range(self.topLevelItemCount()): - text = str(self.topLevelItem(i).text(0)) - if text.rfind(" (") != -1: - text = text[0:text.rfind(" (")] - if text == chumLabel.chum.group: - break - self.topLevelItem(i).addChild(chumLabel) - self.sort() + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() else: # usually means this is now the trollslum if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): self.topLevelItem(0).addChild(chumLabel) @@ -885,7 +876,7 @@ class chumArea(RightClickTree): elif mood.name() == "offline" and \ len(chums) > 0: for c in chums: - self.takeItem(self.row(c)) + self.takeItem(c) chums = [] for c in chums: if (hasattr(c, 'mood')): @@ -1822,7 +1813,7 @@ class PesterWindow(MovingWindow): curChum = self.chumList.currentItem() if curChum: text = str(curChum.text(0)) - if text.find(" ") != -1: + if text.rfind(" (") != -1: text = text[0:text.rfind(" (")] if text not in self.chumList.groups and \ text != "Chums": @@ -2187,7 +2178,7 @@ class PesterWindow(MovingWindow): (gname, ok) = QtGui.QInputDialog.getText(self, "Add Group", "Enter a name for the new group:") if ok: gname = unicode(gname) - if re.search("[^A-Za-z0-9\s]", gname) is not None: + if re.search("[^A-Za-z0-9_\s]", gname) is not None: msgbox = QtGui.QMessageBox() msgbox.setInformativeText("THIS IS NOT A VALID GROUP NAME") msgbox.setStandardButtons(QtGui.QMessageBox.Ok) From 602e4c741fdb5e3d9dde0965dcab1fcf22ab15d7 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 6 May 2011 02:07:44 -0700 Subject: [PATCH 055/166] Bug fix: Highlight correct tab after moving tabs around --- convo.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/convo.py b/convo.py index b6f748b..b2b09c8 100644 --- a/convo.py +++ b/convo.py @@ -25,6 +25,8 @@ class PesterTabWindow(QtGui.QFrame): self, QtCore.SLOT('changeTab(int)')) self.connect(self.tabs, QtCore.SIGNAL('tabCloseRequested(int)'), self, QtCore.SLOT('tabClose(int)')) + self.connect(self.tabs, QtCore.SIGNAL('tabMoved(int, int)'), + self, QtCore.SLOT('tabMoved(int, int)')) self.initTheme(self.mainwindow.theme) self.layout = QtGui.QVBoxLayout() @@ -195,6 +197,17 @@ class PesterTabWindow(QtGui.QFrame): self.raise_() convo.raiseChat() + @QtCore.pyqtSlot(int, int) + def tabMoved(self, to, fr): + l = self.tabIndices + for i in l: + if l[i] == fr: + oldpos = i + if l[i] == to: + newpos = i + l[oldpos] = to + l[newpos] = fr + windowClosed = QtCore.pyqtSignal() class PesterText(QtGui.QTextEdit): From 2d5f70e0fa469059822664738a8dcdc2a88b08a6 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 6 May 2011 04:18:16 -0700 Subject: [PATCH 056/166] Bug fix: Make groups appear in the right order when added later --- pesterchum.py | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 3f19971..e34bab6 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -576,13 +576,11 @@ class chumArea(RightClickTree): gTemp = self.mainwindow.config.getGroups() self.groups = [g[0] for g in gTemp] self.openGroups = [g[1] for g in gTemp] - self.showAllGroups() + self.showAllGroups(True) if not self.mainwindow.config.hideOfflineChums(): self.showAllChums() if not self.mainwindow.config.showEmptyGroups(): self.hideEmptyGroups() - if self.mainwindow.config.showOnlineNumbers(): - self.showOnlineNumbers() self.groupMenu = QtGui.QMenu(self) self.canonMenu = QtGui.QMenu(self) self.optionsMenu = QtGui.QMenu(self) @@ -760,7 +758,14 @@ class chumArea(RightClickTree): i += 1 listing = self.topLevelItem(j).child(i) self.sort() - def showAllGroups(self): + def showAllGroups(self, first=False): + if first: + for i,g in enumerate(self.groups): + child_1 = QtGui.QTreeWidgetItem(["%s" % (g)]) + self.addTopLevelItem(child_1) + if self.openGroups[i]: + child_1.setExpanded(True) + return curgroups = [] for i in range(self.topLevelItemCount()): text = str(self.topLevelItem(i).text(0)) @@ -770,9 +775,18 @@ class chumArea(RightClickTree): for i,g in enumerate(self.groups): if g not in curgroups: child_1 = QtGui.QTreeWidgetItem(["%s" % (g)]) - self.addTopLevelItem(child_1) + j = 0 + for h in self.groups: + print h + ":" + g + if h == g: + self.insertTopLevelItem(j, child_1) + break + if h in curgroups: + j += 1 if self.openGroups[i]: child_1.setExpanded(True) + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() def showOnlineNumbers(self): if hasattr(self, 'groups'): self.hideOnlineNumbers() @@ -831,10 +845,22 @@ class chumArea(RightClickTree): chumLabel.chum.group = "Chums" if "Chums" not in self.groups: self.mainwindow.config.addGroup("Chums") + curgroups = [] + for i in range(self.topLevelItemCount()): + text = str(self.topLevelItem(i).text(0)) + if text.rfind(" (") != -1: + text = text[0:text.rfind(" (")] + curgroups.append(text) if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): - if not self.findItems(chumLabel.chum.group, QtCore.Qt.MatchContains): + if chumLabel.chum.group not in curgroups: child_1 = QtGui.QTreeWidgetItem(["%s" % (chumLabel.chum.group)]) - self.addTopLevelItem(child_1) + i = 0 + for g in self.groups: + if g == chumLabel.chum.group: + self.insertTopLevelItem(i, child_1) + break + if g in curgroups: + i += 1 if self.openGroups[self.groups.index("%s" % (chumLabel.chum.group))]: child_1.setExpanded(True) for i in range(self.topLevelItemCount()): From 3774a806329fdf95e80ec09bfc3fa605fafa0867 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 06:03:01 -0700 Subject: [PATCH 057/166] Clean up Memos menu and About menu --- menus.py | 88 +++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 62 insertions(+), 26 deletions(-) diff --git a/menus.py b/menus.py index 4228139..a5398db 100644 --- a/menus.py +++ b/menus.py @@ -2,7 +2,7 @@ from PyQt4 import QtGui, QtCore import re from os import remove -from generic import RightClickList, MultiTextDialog +from generic import RightClickList, RightClickTree, MultiTextDialog from dataobjs import pesterQuirk, PesterProfile from memos import TimeSlider, TimeInput @@ -928,11 +928,10 @@ class PesterUserlist(QtGui.QDialog): pesterChum = QtCore.pyqtSignal(QtCore.QString) -class MemoListItem(QtGui.QListWidgetItem): +class MemoListItem(QtGui.QTreeWidgetItem): def __init__(self, channel, usercount): - QtGui.QListWidgetItem.__init__(self, None) + QtGui.QTreeWidgetItem.__init__(self, [channel, str(usercount)]) self.target = channel - self.setText(channel + " (" + str(usercount) + ")") class PesterMemoList(QtGui.QDialog): def __init__(self, parent, channel=""): @@ -941,15 +940,20 @@ class PesterMemoList(QtGui.QDialog): self.theme = parent.theme self.mainwindow = parent self.setStyleSheet(self.theme["main/defaultwindow/style"]) - self.resize(250, 500) + self.resize(460, 300) self.label = QtGui.QLabel("MEMOS") - self.channelarea = RightClickList(self) + self.channelarea = RightClickTree(self) self.channelarea.setStyleSheet(self.theme["main/chums/style"]) self.channelarea.optionsMenu = QtGui.QMenu(self) + self.channelarea.setColumnCount(2) + self.channelarea.setHeaderLabels(["Memo", "Users"]) + self.channelarea.setIndentation(0) + self.channelarea.setColumnWidth(0,200) + self.channelarea.setColumnWidth(1,10) self.connect(self.channelarea, - QtCore.SIGNAL('itemActivated(QListWidgetItem *)'), - self, QtCore.SLOT('joinActivatedMemo(QListWidgetItem *)')) + QtCore.SIGNAL('itemActivated(QTreeWidgetItem *, int)'), + self, QtCore.SLOT('joinActivatedMemo(QTreeWidgetItem *, int)')) self.orjoinlabel = QtGui.QLabel("OR MAKE A NEW MEMO:") self.newmemo = QtGui.QLineEdit(channel, self) @@ -970,15 +974,22 @@ class PesterMemoList(QtGui.QDialog): layout_ok.addWidget(self.cancel) layout_ok.addWidget(self.join) + layout_left = QtGui.QVBoxLayout() + layout_right = QtGui.QVBoxLayout() + layout_right.setAlignment(QtCore.Qt.AlignTop) layout_0 = QtGui.QVBoxLayout() - layout_0.addWidget(self.label) - 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) + layout_1 = QtGui.QHBoxLayout() + layout_left.addWidget(self.label) + layout_left.addWidget(self.channelarea) + layout_right.addWidget(self.orjoinlabel) + layout_right.addWidget(self.newmemo) + layout_right.addWidget(self.secretChannel) + layout_right.addWidget(self.timelabel) + layout_right.addWidget(self.timeslider) + layout_right.addWidget(self.timeinput) + layout_1.addLayout(layout_left) + layout_1.addLayout(layout_right) + layout_0.addLayout(layout_1) layout_0.addLayout(layout_ok) self.setLayout(layout_0) @@ -991,9 +1002,10 @@ class PesterMemoList(QtGui.QDialog): def updateChannels(self, channels): for c in channels: item = MemoListItem(c[0][1:],c[1]) - item.setTextColor(QtGui.QColor(self.theme["main/chums/userlistcolor"])) - item.setIcon(QtGui.QIcon(self.theme["memos/memoicon"])) - self.channelarea.addItem(item) + item.setTextColor(0, QtGui.QColor(self.theme["main/chums/userlistcolor"])) + item.setTextColor(1, QtGui.QColor(self.theme["main/chums/userlistcolor"])) + item.setIcon(0, QtGui.QIcon(self.theme["memos/memoicon"])) + self.channelarea.addTopLevelItem(item) def updateTheme(self, theme): self.theme = theme @@ -1008,9 +1020,9 @@ class PesterMemoList(QtGui.QDialog): selectedmemo = self.selectedmemo() if newmemo or selectedmemo: self.accept() - @QtCore.pyqtSlot(QtGui.QListWidgetItem) - def joinActivatedMemo(self, item): - self.channelarea.setCurrentItem(item) + @QtCore.pyqtSlot(QtGui.QTreeWidgetItem, int) + def joinActivatedMemo(self, item, column): + self.channelarea.setCurrentItem(item, column) self.accept() @@ -1044,9 +1056,33 @@ class LoadingScreen(QtGui.QDialog): tryAgain = QtCore.pyqtSignal() -class AboutPesterchum(QtGui.QMessageBox): +class AboutPesterchum(QtGui.QDialog): def __init__(self, parent=None): - QtGui.QMessageBox.__init__(self, parent) - self.setText("P3ST3RCHUM V. 3.14.1") - self.setInformativeText("Programming by illuminatedwax (ghostDunk), Kiooeht (evacipatedBox), alGore, art by Grimlive (aquaMarinist). Special thanks to ABT and gamblingGenocider.") + QtGui.QDialog.__init__(self, parent) self.mainwindow = parent + self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + + self.title = QtGui.QLabel("P3ST3RCHUM V. 3.14.2") + self.credits = QtGui.QLabel("Programming by:\n\ + illuminatedwax (ghostDunk)\n\ + Kiooeht (evacipatedBox)\n\ + alGore\n\ +\n\ +Art by:\n\ + Grimlive (aquaMarinist)\n\ + binaryCabalist\n\ +\n\ +Special Thanks:\n\ + ABT\n\ + gamblingGenocider") + + self.ok = QtGui.QPushButton("OK", self) + self.connect(self.ok, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('reject()')) + + layout_0 = QtGui.QVBoxLayout() + layout_0.addWidget(self.title) + layout_0.addWidget(self.credits) + layout_0.addWidget(self.ok) + + self.setLayout(layout_0) From d73ef0cab7a338664cce214b89f380380fb63dee Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 06:24:13 -0700 Subject: [PATCH 058/166] Bug fix: Show online numbers correctly when hiding offline chums --- pesterchum.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pesterchum.py b/pesterchum.py index e34bab6..eca4859 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -886,6 +886,8 @@ class chumArea(RightClickTree): break if not self.mainwindow.config.showEmptyGroups(): self.hideEmptyGroups() + if self.mainwindow.config.showOnlineNumbers(): + self.showOnlineNumbers() return r def updateMood(self, handle, mood): hideoff = self.mainwindow.config.hideOfflineChums() @@ -902,6 +904,8 @@ class chumArea(RightClickTree): elif mood.name() == "offline" and \ len(chums) > 0: for c in chums: + if (hasattr(c, 'mood')): + c.setMood(mood) self.takeItem(c) chums = [] for c in chums: From 381c77696dc804c559ca614f44a809a7e18fb76d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 09:32:30 -0700 Subject: [PATCH 059/166] Bug fix: Change nick in memos on profile switch --- TODO.mkdn | 1 - irc.py | 1 + memos.py | 2 -- menus.py | 2 +- pesterchum.py | 15 ++++++++++----- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index 7d43f70..54219d8 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -19,7 +19,6 @@ Bugs * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * Leave memos on reconnect, needs to auto-rejoin memos -* Leave memos on profile change (should just change nick) * When using mood sort, scroll position jumps to last selected chum Mac Bugs diff --git a/irc.py b/irc.py index ff96e68..5f632ef 100644 --- a/irc.py +++ b/irc.py @@ -135,6 +135,7 @@ class PesterIRC(QtCore.QThread): helpers.nick(self.cli, handle) except socket.error: self.setConnectionBroken() + self.mainwindow.closeConversations(True) self.updateMood() @QtCore.pyqtSlot() def updateMood(self): diff --git a/memos.py b/memos.py index 9ebd64c..247a157 100644 --- a/memos.py +++ b/memos.py @@ -475,10 +475,8 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.setStyleSheet(theme["main/defaultwindow/style"]) if theme.has_key("main/chums/scrollbar"): - print "yes scrollbars!" self.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] )) else: - print "no scroll bars :(" self.userlist.setStyleSheet(theme["memos/userlist/style"]) self.userlist.setFixedWidth(theme["memos/userlist/width"]) self.addchumAction.setText(theme["main/menus/rclickchumlist/addchum"]) diff --git a/menus.py b/menus.py index a5398db..706ca44 100644 --- a/menus.py +++ b/menus.py @@ -751,7 +751,6 @@ class PesterOptions(QtGui.QDialog): widget = QtGui.QWidget() layout_chat = QtGui.QVBoxLayout(widget) layout_chat.setAlignment(QtCore.Qt.AlignTop) - layout_chat.addWidget(self.tabcheck) layout_chat.addWidget(self.timestampcheck) layout_chat.addWidget(self.timestampBox) layout_chat.addWidget(self.secondscheck) @@ -765,6 +764,7 @@ class PesterOptions(QtGui.QDialog): widget = QtGui.QWidget() layout_interface = QtGui.QVBoxLayout(widget) layout_interface.setAlignment(QtCore.Qt.AlignTop) + layout_interface.addWidget(self.tabcheck) layout_interface.addLayout(layout_mini) layout_interface.addLayout(layout_close) self.pages.addWidget(widget) diff --git a/pesterchum.py b/pesterchum.py index eca4859..b337b5e 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -1489,7 +1489,7 @@ class PesterWindow(MovingWindow): def profile(self): return self.userprofile.chat - def closeConversations(self): + def closeConversations(self, switch=False): if not hasattr(self, 'tabconvo'): self.tabconvo = None if self.tabconvo: @@ -1498,10 +1498,17 @@ class PesterWindow(MovingWindow): for c in self.convos.values(): c.close() if self.tabmemo: - self.tabmemo.close() + if not switch: + self.tabmemo.close() + else: + for m in self.tabmemo.convos: + self.tabmemo.convos[m].sendtime() else: for m in self.memos.values(): - m.close() + if not switch: + m.close() + else: + m.sendtime() def paintEvent(self, event): palette = QtGui.QPalette() palette.setBrush(QtGui.QPalette.Window, QtGui.QBrush(self.backgroundImage)) @@ -2441,8 +2448,6 @@ class PesterWindow(MovingWindow): # is default? if self.chooseprofile.defaultcheck.isChecked(): self.config.set("defaultprofile", self.userprofile.chat.handle) - # this may have to be fixed - self.closeConversations() if hasattr(self, 'trollslum') and self.trollslum: self.trollslum.close() self.chooseprofile = None From a696e4b028c7bea8a39fd81a86a2f851cb56e9ba Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 10:06:58 -0700 Subject: [PATCH 060/166] Bug fix: Auto rejoin memos on reconnect --- TODO.mkdn | 1 - pesterchum.py | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/TODO.mkdn b/TODO.mkdn index 54219d8..744913d 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -18,7 +18,6 @@ Bugs * Windows doesn't show style sheet sometimes?? Maybe related to themes. * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash -* Leave memos on reconnect, needs to auto-rejoin memos * When using mood sort, scroll position jumps to last selected chum Mac Bugs diff --git a/pesterchum.py b/pesterchum.py index b337b5e..3ba4619 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2741,6 +2741,12 @@ class MainProgram(QtCore.QObject): if status == QtGui.QDialog.Rejected: sys.exit(0) else: + if self.widget.tabmemo: + for c in self.widget.tabmemo.convos: + self.irc.joinChannel(c) + else: + for c in self.widget.memos.values(): + self.irc.joinChannel(c.channel) return True @QtCore.pyqtSlot() From 2f0d750480ed976e27694e6fc69a8c8a97603d83 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 14:41:12 -0700 Subject: [PATCH 061/166] Fully controlable idle time + Changelog update --- CHANGELOG.mkdn | 2 ++ menus.py | 8 ++++---- pesterchum.py | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 375a0de..d5cdb99 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -23,6 +23,8 @@ CHANGELOG * Memo scrollbar thing - Kiooeht [evacipatedBox] * Time arrows in enamel - Kiooeht [evacipatedBox] * Quirk order actually works - Kiooeht [evacipatedBox] + * Stay in memos on profile switch - Kiooeht [evacipatedBox] + * Auto rejoin memos on reconnect - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] diff --git a/menus.py b/menus.py index 706ca44..829590d 100644 --- a/menus.py +++ b/menus.py @@ -695,10 +695,10 @@ class PesterOptions(QtGui.QDialog): self.logmemoscheck = QtGui.QCheckBox("Log all Memos", self) self.logmemoscheck.setChecked(self.config.logMemos()) - times = ["1", "5", "10", "15", "30"] - self.idleBox = QtGui.QComboBox(self) - self.idleBox.addItems(times) - self.idleBox.setCurrentIndex(self.idleBox.findText(str(self.config.idleTime()))) + self.idleBox = QtGui.QSpinBox(self) + self.idleBox.setStyleSheet("background:#FFFFFF") + self.idleBox.setRange(1, 1440) + self.idleBox.setValue(self.config.idleTime()) layout_5 = QtGui.QHBoxLayout() layout_5.addWidget(QtGui.QLabel("Minutes before Idle:")) layout_5.addWidget(self.idleBox) diff --git a/pesterchum.py b/pesterchum.py index 3ba4619..60015a1 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2363,7 +2363,7 @@ class PesterWindow(MovingWindow): if linkssetting != curlinks: self.config.set('userLinks', not linkssetting) # idle time - idlesetting = int(unicode(self.optionmenu.idleBox.currentText())) + idlesetting = self.optionmenu.idleBox.value() curidle = self.config.idleTime() if idlesetting != curidle: self.config.set('idleTime', idlesetting) From f77215d5f9c8562967108941f08800f837706731 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 17:19:44 -0700 Subject: [PATCH 062/166] Receive notices + auto-off quirks for bots --- CHANGELOG.mkdn | 2 ++ irc.py | 13 +++++++++++++ pesterchum.py | 43 ++++++++++++++++++++++++++++++++++++------- 3 files changed, 51 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index d5cdb99..574c502 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -18,6 +18,8 @@ CHANGELOG * Animated smilies - Kiooeht [evacipatedBox] * Delete profiles - Kiooeht [evacipatedBox] * Customize minimize and close button actions - Kiooeht [evacipatedBox] +* Receive notices from services you're talking to - Kiooeht [evacipatedBox] +* Automatically turn off quirks when talking to bots - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/irc.py b/irc.py index 5f632ef..8947e03 100644 --- a/irc.py +++ b/irc.py @@ -217,6 +217,7 @@ class PesterIRC(QtCore.QThread): colorUpdated = QtCore.pyqtSignal(QtCore.QString, QtGui.QColor) messageReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) memoReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) + noticeReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) timeCommand = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) namesReceived = QtCore.pyqtSignal(QtCore.QString, PesterList) channelListReceived = QtCore.pyqtSignal(PesterList) @@ -227,6 +228,18 @@ class PesterIRC(QtCore.QThread): QtCore.QString) class PesterHandler(DefaultCommandHandler): + def notice(self, nick, chan, msg): + try: + msg = msg.decode('utf-8') + except UnicodeDecodeError: + msg = msg.decode('iso-8859-1', 'ignore') + handle = nick[0:nick.find("!")] + logging.info("---> recv \"NOTICE %s :%s\"" % (handle, msg)) + if handle == "ChanServ": + if chan == self.parent.mainwindow.profile().handle and msg[0:2] == "[#": + self.parent.memoReceived.emit(msg[1:msg.index("]")], handle, msg) + else: + self.parent.noticeReceived.emit(handle, msg) def privmsg(self, nick, chan, msg): try: msg = msg.decode('utf-8') diff --git a/pesterchum.py b/pesterchum.py index 60015a1..b7ed94c 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -879,6 +879,8 @@ class chumArea(RightClickTree): self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) def takeItem(self, chumLabel): r = None + if not hasattr(chumLabel, 'chum'): + return r for i in range(self.topLevelItemCount()): for j in range(self.topLevelItem(i).childCount()): if self.topLevelItem(i).child(j).text(0) == chumLabel.chum.handle: @@ -1411,19 +1413,23 @@ class PesterWindow(MovingWindow): profilemenu.addAction(changecoloraction) profilemenu.addAction(switch) - self.aboutAction = QtGui.QAction(self.theme["main/menus/help/about"], self) - self.connect(self.aboutAction, QtCore.SIGNAL('triggered()'), - self, QtCore.SLOT('aboutPesterchum()')) - self.botAction = QtGui.QAction("CALSPRITE", self) - self.connect(self.botAction, QtCore.SIGNAL('triggered()'), - self, QtCore.SLOT('loadCalsprite()')) self.helpAction = QtGui.QAction("HELP", self) self.connect(self.helpAction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('launchHelp()')) + self.botAction = QtGui.QAction("CALSPRITE", self) + self.connect(self.botAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('loadCalsprite()')) + self.nickServAction = QtGui.QAction("NICKSERV", self) + self.connect(self.nickServAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('loadNickServ()')) + self.aboutAction = QtGui.QAction(self.theme["main/menus/help/about"], self) + self.connect(self.aboutAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('aboutPesterchum()')) helpmenu = self.menu.addMenu(self.theme["main/menus/help/_name"]) self.helpmenu = helpmenu self.helpmenu.addAction(self.helpAction) self.helpmenu.addAction(self.botAction) + self.helpmenu.addAction(self.nickServAction) self.helpmenu.addAction(self.aboutAction) self.closeButton = WMButton(PesterIcon(self.theme["main/close/image"]), self) @@ -1608,7 +1614,19 @@ class PesterWindow(MovingWindow): self.connect(convoWindow, QtCore.SIGNAL('windowClosed(QString)'), self, QtCore.SLOT('closeConvo(QString)')) self.convos[chum.handle] = convoWindow - self.newConvoStarted.emit(QtCore.QString(chum.handle), initiated) + if str(chum.handle).upper() == "NICKSERV" or \ + str(chum.handle).upper() == "CHANSERV" or \ + str(chum.handle).upper() == "MEMOSERV" or \ + str(chum.handle).upper() == "OPERSERV" or \ + str(chum.handle).upper() == "HELPSERV": + convoWindow.toggleQuirks(True) + convoWindow.quirksOff.setChecked(True) + else: + if str(chum.handle).upper() == "CALSPRITE" or \ + str(chum.handle).upper() == "RANDOMENCOUNTER": + convoWindow.toggleQuirks(True) + convoWindow.quirksOff.setChecked(True) + self.newConvoStarted.emit(QtCore.QString(chum.handle), initiated) convoWindow.show() def createTabWindow(self): @@ -1907,6 +1925,12 @@ class PesterWindow(MovingWindow): def deliverMemo(self, chan, handle, msg): (c, h, m) = (unicode(chan), unicode(handle), unicode(msg)) self.newMemoMsg(c,h,m) + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) + def deliverNotice(self, handle, msg): + h = unicode(handle) + m = unicode(msg) + if self.convos.has_key(h): + self.newMessage(h, m) @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) def timeCommand(self, chan, handle, command): (c, h, cmd) = (unicode(chan), unicode(handle), unicode(command)) @@ -2510,6 +2534,9 @@ class PesterWindow(MovingWindow): def loadCalsprite(self): self.newConversation("calSprite") @QtCore.pyqtSlot() + def loadNickServ(self): + self.newConversation("nickServ") + @QtCore.pyqtSlot() def launchHelp(self): QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://nova.xzibition.com/~illuminatedwax/help.html", QtCore.QUrl.TolerantMode)) @@ -2680,6 +2707,8 @@ class MainProgram(QtCore.QObject): 'deliverMessage(QString, QString)'), ('memoReceived(QString, QString, QString)', 'deliverMemo(QString, QString, QString)'), + ('noticeReceived(QString, QString)', + 'deliverNotice(QString, QString)'), ('nickCollision(QString, QString)', 'nickCollision(QString, QString)'), ('myHandleChanged(QString)', From ea466251ea7f99bc9bfd3fb7aec20c1f20aedf6a Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 17:37:13 -0700 Subject: [PATCH 063/166] Changelog update --- CHANGELOG.mkdn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 574c502..c293bfd 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -20,6 +20,8 @@ CHANGELOG * Customize minimize and close button actions - Kiooeht [evacipatedBox] * Receive notices from services you're talking to - Kiooeht [evacipatedBox] * Automatically turn off quirks when talking to bots - Kiooeht [evacipatedBox] +* Rearrange options menu, make tabbed - Kiooeht [evacipatedBox] +* Rearrange memos window for readability - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] From 3976faa3a7afe355978ff0534c265df5396766d4 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 17:51:34 -0700 Subject: [PATCH 064/166] Bug fix: De-op in memos correctly --- CHANGELOG.mkdn | 1 + memos.py | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index c293bfd..148c231 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -29,6 +29,7 @@ CHANGELOG * Quirk order actually works - Kiooeht [evacipatedBox] * Stay in memos on profile switch - Kiooeht [evacipatedBox] * Auto rejoin memos on reconnect - Kiooeht [evacipatedBox] + * De-Op in memos correctly - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] diff --git a/memos.py b/memos.py index 247a157..2fff37e 100644 --- a/memos.py +++ b/memos.py @@ -631,7 +631,7 @@ class PesterMemo(PesterConvo): oldnick = l[0] newnick = l[1] h = oldnick - if (update in ["join","left", "kick", "+o"]) \ + if (update in ["join","left", "kick", "+o", "-o"]) \ and channel != self.channel: return chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) @@ -718,6 +718,14 @@ class PesterMemo(PesterConvo): if unicode(c.text()) == self.mainwindow.profile().handle: self.userlist.optionsMenu.addAction(self.opAction) self.userlist.optionsMenu.addAction(self.banuserAction) + elif update == "-o": + chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) + for c in chums: + icon = QtGui.QIcon() + c.setIcon(icon) + if unicode(c.text()) == self.mainwindow.profile().handle: + self.userlist.optionsMenu.removeAction(self.opAction) + self.userlist.optionsMenu.removeAction(self.banuserAction) @QtCore.pyqtSlot() def addChumSlot(self): From a7f6ee4b3865a969f8591dd87c261cf4cbfca848 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 18:59:36 -0700 Subject: [PATCH 065/166] Give voice in memos --- CHANGELOG.mkdn | 1 + memos.py | 52 +++++++++++++++++++++++++++++++-- themes/enamel/style.js | 4 ++- themes/enamel/voice.png | Bin 0 -> 598 bytes themes/gold/style.js | 4 ++- themes/gold/voice.png | Bin 0 -> 598 bytes themes/pesterchum/style.js | 4 ++- themes/pesterchum/voice.png | Bin 0 -> 598 bytes themes/pesterchum2.5/voice.png | Bin 0 -> 598 bytes themes/trollian/style.js | 4 ++- themes/trollian/voice.png | Bin 0 -> 598 bytes themes/trollian2.5/voice.png | Bin 0 -> 598 bytes themes/typewriter/style.js | 4 ++- themes/typewriter/voice.png | Bin 0 -> 324 bytes 14 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 themes/enamel/voice.png create mode 100644 themes/gold/voice.png create mode 100644 themes/pesterchum/voice.png create mode 100644 themes/pesterchum2.5/voice.png create mode 100644 themes/trollian/voice.png create mode 100644 themes/trollian2.5/voice.png create mode 100644 themes/typewriter/voice.png diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 148c231..95ed34a 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -22,6 +22,7 @@ CHANGELOG * Automatically turn off quirks when talking to bots - Kiooeht [evacipatedBox] * Rearrange options menu, make tabbed - Kiooeht [evacipatedBox] * Rearrange memos window for readability - Kiooeht [evacipatedBox] +* Give voice to memo users - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/memos.py b/memos.py index 2fff37e..fafd13f 100644 --- a/memos.py +++ b/memos.py @@ -346,6 +346,9 @@ class PesterMemo(PesterConvo): self.opAction = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/opuser"], self) self.connect(self.opAction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('opSelectedUser()')) + self.voiceAction = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/voiceuser"], self) + self.connect(self.voiceAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('voiceSelectedUser()')) self.userlist.optionsMenu.addAction(self.addchumAction) # ban & op list added if we are op @@ -482,6 +485,7 @@ class PesterMemo(PesterConvo): self.addchumAction.setText(theme["main/menus/rclickchumlist/addchum"]) self.banuserAction.setText(theme["main/menus/rclickchumlist/banuser"]) self.opAction.setText(theme["main/menus/rclickchumlist/opuser"]) + self.voiceAction.setText(theme["main/menus/rclickchumlist/voiceuser"]) self.quirksOff.setText(theme["main/menus/rclickchumlist/quirksoff"]) self.logchum.setText(theme["main/menus/rclickchumlist/viewlog"]) @@ -514,11 +518,15 @@ class PesterMemo(PesterConvo): if item.op: icon = PesterIcon(self.mainwindow.theme["memos/op/icon"]) item.setIcon(icon) + elif item.voice: + icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) + item.setIcon(icon) def addUser(self, handle): chumdb = self.mainwindow.chumdb defaultcolor = QtGui.QColor("black") op = False + voice = False if handle[0] == '@': op = True handle = handle[1:] @@ -526,6 +534,9 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.addAction(self.opAction) self.userlist.optionsMenu.addAction(self.banuserAction) self.op = True + elif handle[0] == '+': + voice = True + handle = handle[1:] item = QtGui.QListWidgetItem(handle) if handle == self.mainwindow.profile().handle: color = self.mainwindow.profile().color @@ -533,9 +544,13 @@ class PesterMemo(PesterConvo): color = chumdb.getColor(handle, defaultcolor) item.setTextColor(color) item.op = op + item.voice = voice if op: icon = PesterIcon(self.mainwindow.theme["memos/op/icon"]) item.setIcon(icon) + elif voice: + icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) + item.setIcon(icon) self.userlist.addItem(item) def timeUpdate(self, handle, cmd): @@ -631,7 +646,7 @@ class PesterMemo(PesterConvo): oldnick = l[0] newnick = l[1] h = oldnick - if (update in ["join","left", "kick", "+o", "-o"]) \ + if (update in ["join","left", "kick", "+o", "-o", "+v", "-v"]) \ and channel != self.channel: return chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) @@ -713,19 +728,44 @@ class PesterMemo(PesterConvo): elif update == "+o": chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) for c in chums: + c.op = True icon = PesterIcon(self.mainwindow.theme["memos/op/icon"]) c.setIcon(icon) if unicode(c.text()) == self.mainwindow.profile().handle: self.userlist.optionsMenu.addAction(self.opAction) + self.userlist.optionsMenu.addAction(self.voiceAction) self.userlist.optionsMenu.addAction(self.banuserAction) elif update == "-o": chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) for c in chums: - icon = QtGui.QIcon() - c.setIcon(icon) + c.op = False + if c.voice: + icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) + c.setIcon(icon) + else: + icon = QtGui.QIcon() + c.setIcon(icon) if unicode(c.text()) == self.mainwindow.profile().handle: self.userlist.optionsMenu.removeAction(self.opAction) + self.userlist.optionsMenu.removeAction(self.voiceAction) self.userlist.optionsMenu.removeAction(self.banuserAction) + elif update == "+v": + chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) + for c in chums: + c.voice = True + if not c.op: + icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) + c.setIcon(icon) + elif update == "-v": + chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) + for c in chums: + c.voice = False + if c.op: + icon = PesterIcon(self.mainwindow.theme["memos/op/icon"]) + c.setIcon(icon) + else: + icon = QtGui.QIcon() + c.setIcon(icon) @QtCore.pyqtSlot() def addChumSlot(self): @@ -745,6 +785,12 @@ class PesterMemo(PesterConvo): return currentHandle = unicode(self.userlist.currentItem().text()) self.mainwindow.setChannelMode.emit(self.channel, "+o", currentHandle) + @QtCore.pyqtSlot() + def voiceSelectedUser(self): + if not self.userlist.currentItem(): + return + currentHandle = unicode(self.userlist.currentItem().text()) + self.mainwindow.setChannelMode.emit(self.channel, "+v", currentHandle) def resetSlider(self, time, send=True): self.timeinput.setText(delta2txt(time)) self.timeinput.setSlider() diff --git a/themes/enamel/style.js b/themes/enamel/style.js index ccbd88d..fba646b 100644 --- a/themes/enamel/style.js +++ b/themes/enamel/style.js @@ -45,6 +45,7 @@ "movechum": "Move To", "banuser": "Ban User", "opuser": "Make OP", + "voiceuser": "Give Voice", "quirksoff": "Quirks Off" } }, @@ -314,6 +315,7 @@ } }, "systemMsgColor": "#646464", - "op": { "icon": "$path/smooth.png" } + "op": { "icon": "$path/smooth.png" }, + "voice": { "icon": "$path/voice.png" } } } diff --git a/themes/enamel/voice.png b/themes/enamel/voice.png new file mode 100644 index 0000000000000000000000000000000000000000..c400a6c86248a3a1b92ebf3e411a048b32764aa1 GIT binary patch literal 598 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQnS0MfW|9`*#egXdj0{;hw z{0|BJ9~$;QEaHDeAC}=Ks$x_+L=?zp&_kQOp09w*PH&{?D2Ff9|~h z^OpQyvf}@WRsUD*`oC-U|J{54@7?!*-`)Rr@BP2`;s1w^|37~E|LM>FKY#!K1zH5O zj=JFLwGGZd6IDxs{DOhz69f$Q=bik48W@wj-CYQ&rUPkkxG}^WTYDJDY4>z-43W5;+W%I_*+9T`vS`Zmx&;~9UN3*!FFqT@_S{|V zyN^+I_+J~96QMtq9hnmhB3S}wg!u+9U0A=w;`W-WKC>gubRH#LI27QbbK>6qs)f51 zG>x{#RkGAC}=Ks$x_+L=?zp&_kQOp09w*PH&{?D2Ff9|~h z^OpQyvf}@WRsUD*`oC-U|J{54@7?!*-`)Rr@BP2`;s1w^|37~E|LM>FKY#!K1zH5O zj=JFLwGGZd6IDxs{DOhz69f$Q=bik48W@wj-CYQ&rUPkkxG}^WTYDJDY4>z-43W5;+W%I_*+9T`vS`Zmx&;~9UN3*!FFqT@_S{|V zyN^+I_+J~96QMtq9hnmhB3S}wg!u+9U0A=w;`W-WKC>gubRH#LI27QbbK>6qs)f51 zG>x{#RkGAC}=Ks$x_+L=?zp&_kQOp09w*PH&{?D2Ff9|~h z^OpQyvf}@WRsUD*`oC-U|J{54@7?!*-`)Rr@BP2`;s1w^|37~E|LM>FKY#!K1zH5O zj=JFLwGGZd6IDxs{DOhz69f$Q=bik48W@wj-CYQ&rUPkkxG}^WTYDJDY4>z-43W5;+W%I_*+9T`vS`Zmx&;~9UN3*!FFqT@_S{|V zyN^+I_+J~96QMtq9hnmhB3S}wg!u+9U0A=w;`W-WKC>gubRH#LI27QbbK>6qs)f51 zG>x{#RkGAC}=Ks$x_+L=?zp&_kQOp09w*PH&{?D2Ff9|~h z^OpQyvf}@WRsUD*`oC-U|J{54@7?!*-`)Rr@BP2`;s1w^|37~E|LM>FKY#!K1zH5O zj=JFLwGGZd6IDxs{DOhz69f$Q=bik48W@wj-CYQ&rUPkkxG}^WTYDJDY4>z-43W5;+W%I_*+9T`vS`Zmx&;~9UN3*!FFqT@_S{|V zyN^+I_+J~96QMtq9hnmhB3S}wg!u+9U0A=w;`W-WKC>gubRH#LI27QbbK>6qs)f51 zG>x{#RkGAC}=Ks$x_+L=?zp&_kQOp09w*PH&{?D2Ff9|~h z^OpQyvf}@WRsUD*`oC-U|J{54@7?!*-`)Rr@BP2`;s1w^|37~E|LM>FKY#!K1zH5O zj=JFLwGGZd6IDxs{DOhz69f$Q=bik48W@wj-CYQ&rUPkkxG}^WTYDJDY4>z-43W5;+W%I_*+9T`vS`Zmx&;~9UN3*!FFqT@_S{|V zyN^+I_+J~96QMtq9hnmhB3S}wg!u+9U0A=w;`W-WKC>gubRH#LI27QbbK>6qs)f51 zG>x{#RkGAC}=Ks$x_+L=?zp&_kQOp09w*PH&{?D2Ff9|~h z^OpQyvf}@WRsUD*`oC-U|J{54@7?!*-`)Rr@BP2`;s1w^|37~E|LM>FKY#!K1zH5O zj=JFLwGGZd6IDxs{DOhz69f$Q=bik48W@wj-CYQ&rUPkkxG}^WTYDJDY4>z-43W5;+W%I_*+9T`vS`Zmx&;~9UN3*!FFqT@_S{|V zyN^+I_+J~96QMtq9hnmhB3S}wg!u+9U0A=w;`W-WKC>gubRH#LI27QbbK>6qs)f51 zG>x{#RkGZYKdz^NlIc#s#S7PDv)9@GB7mMH89dO zGz&2>v@)`=GB(jQFtai+xWub)14Tn_eoAIqC0v7nNr-`gm9epvu^B|e1;bhQff^V* MUHx3vIVCg!04e%d{r~^~ literal 0 HcmV?d00001 From 5400112c851d72f6874b20b4b9d220b952293c57 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 23:33:59 -0700 Subject: [PATCH 066/166] Theme checking --- TODO.mkdn | 1 - parsetools.py | 76 ++++++++++++++++++++++++++++++++++++-- pesterchum.py | 26 +++++++++++-- themes/enamel/style.js | 5 ++- themes/gold/style.js | 5 ++- themes/pesterchum/style.js | 5 ++- themes/trollian/style.js | 5 ++- themes/typewriter/style.js | 5 ++- 8 files changed, 115 insertions(+), 13 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index 744913d..9c5df52 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -8,7 +8,6 @@ Features * random pesters * copy quirks between profiles? * More complex quirks: by-sound -* Theme checking * Spy mode * Turn @ and # links on/off? diff --git a/parsetools.py b/parsetools.py index 813706c..b8f1d27 100644 --- a/parsetools.py +++ b/parsetools.py @@ -247,8 +247,8 @@ def splitMessage(msg, format="ctag"): if len(okmsg) > 0: output.append(okmsg) return output - - + + def addTimeInitial(string, grammar): endofi = string.find(":") @@ -364,7 +364,7 @@ def parseRegexpFunctions(to): current.append(to[curi:]) curi = len(to) return parsed - + def img2smiley(string): string = unicode(string) @@ -429,3 +429,73 @@ smiledict = { reverse_smiley = dict((v,k) for k, v in smiledict.iteritems()) _smilere = re.compile("|".join(smiledict.keys())) + +class ThemeException(Exception): + def __init__(self, value): + self.parameter = value + def __str__(self): + return repr(self.parameter) + +def themeChecker(theme): + needs = ["main/size", "main/icon", "main/windowtitle", "main/style", \ + "main/background-image", "main/menubar/style", "main/menu/menuitem", \ + "main/menu/style", "main/menu/selected", "main/close/image", \ + "main/close/loc", "main/minimize/image", "main/minimize/loc", \ + "main/menu/loc", "main/menus/client/logviewer", \ + "main/menus/client/addgroup", "main/menus/client/options", \ + "main/menus/client/exit", "main/menus/client/userlist", \ + "main/menus/client/memos", "main/menus/client/import", \ + "main/menus/client/idle", "main/menus/client/reconnect", \ + "main/menus/client/_name", "main/menus/profile/quirks", \ + "main/menus/profile/block", "main/menus/profile/color", \ + "main/menus/profile/switch", "main/menus/profile/_name", \ + "main/menus/help/about", "main/menus/help/_name", "main/moodlabel/text", \ + "main/moodlabel/loc", "main/moodlabel/style", "main/moods", \ + "main/addchum/style", "main/addchum/text", "main/addchum/size", \ + "main/addchum/loc", "main/pester/text", "main/pester/size", \ + "main/pester/loc", "main/block/text", "main/block/size", "main/block/loc", \ + "main/mychumhandle/label/text", "main/mychumhandle/label/loc", \ + "main/mychumhandle/label/style", "main/mychumhandle/handle/loc", \ + "main/mychumhandle/handle/size", "main/mychumhandle/handle/style", \ + "main/mychumhandle/colorswatch/size", "main/mychumhandle/colorswatch/loc", \ + "main/defaultmood", "main/chums/size", "main/chums/loc", \ + "main/chums/style", "main/menus/rclickchumlist/pester", \ + "main/menus/rclickchumlist/removechum", \ + "main/menus/rclickchumlist/blockchum", "main/menus/rclickchumlist/viewlog", \ + "main/menus/rclickchumlist/removegroup", \ + "main/menus/rclickchumlist/renamegroup", \ + "main/menus/rclickchumlist/movechum", "convo/size", \ + "convo/tabwindow/style", "convo/tabs/tabstyle", "convo/tabs/style", \ + "convo/tabs/selectedstyle", "convo/style", "convo/margins", \ + "convo/chumlabel/text", "convo/chumlabel/style", "convo/chumlabel/align/h", \ + "convo/chumlabel/align/v", "convo/chumlabel/maxheight", \ + "convo/chumlabel/minheight", "main/menus/rclickchumlist/quirksoff", \ + "main/menus/rclickchumlist/addchum", "main/menus/rclickchumlist/blockchum", \ + "main/menus/rclickchumlist/unblockchum", \ + "main/menus/rclickchumlist/viewlog", "main/trollslum/size", \ + "main/trollslum/style", "main/trollslum/label/text", \ + "main/trollslum/label/style", "main/menus/profile/block", \ + "main/chums/moods/blocked/icon", "convo/systemMsgColor", \ + "convo/textarea/style", "convo/text/beganpester", "convo/text/ceasepester", \ + "convo/text/blocked", "convo/text/unblocked", "convo/text/blockedmsg", \ + "convo/text/idle", "convo/input/style", "memos/memoicon", \ + "memos/textarea/style", "memos/systemMsgColor", "convo/text/joinmemo", \ + "memos/input/style", "main/menus/rclickchumlist/banuser", \ + "main/menus/rclickchumlist/opuser", "main/menus/rclickchumlist/voiceuser", \ + "memos/margins", "convo/text/openmemo", "memos/size", "memos/style", \ + "memos/label/text", "memos/label/style", "memos/label/align/h", \ + "memos/label/align/v", "memos/label/maxheight", "memos/label/minheight", \ + "memos/userlist/style", "memos/userlist/width", "memos/time/text/width", \ + "memos/time/text/style", "memos/time/arrows/left", \ + "memos/time/arrows/style", "memos/time/buttons/style", \ + "memos/time/arrows/right", "memos/op/icon", "memos/voice/icon", \ + "convo/text/closememo", "convo/text/kickedmemo", \ + "main/chums/userlistcolor", "main/defaultwindow/style", \ + "main/chums/moods", "main/chums/moods/chummy/icon", "main/menus/help/help", \ + "main/menus/help/calsprite", "main/menus/help/nickserv"] + + for n in needs: + try: + theme[n] + except KeyError: + raise ThemeException("Missing theme requirement: %s" % (n)) diff --git a/pesterchum.py b/pesterchum.py index b7ed94c..353310e 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -20,7 +20,7 @@ from menus import PesterChooseQuirks, PesterChooseTheme, \ from dataobjs import PesterProfile, Mood, pesterQuirk, pesterQuirks from generic import PesterIcon, RightClickList, RightClickTree, MultiTextDialog, PesterList, CaseInsensitiveDict from convo import PesterTabWindow, PesterText, PesterInput, PesterConvo -from parsetools import convertTags, addTimeInitial +from parsetools import convertTags, addTimeInitial, themeChecker, ThemeException from memos import PesterMemo, MemoTabWindow, TimeTracker from irc import PesterIRC from logviewer import PesterLogUserSelect, PesterLogViewer @@ -1334,6 +1334,15 @@ class PesterWindow(MovingWindow): self.userprofile = userProfile(PesterProfile("pesterClient%d" % (random.randint(100,999)), QtGui.QColor("black"), Mood(0))) self.theme = self.userprofile.getTheme() + try: + themeChecker(self.theme) + except ThemeException, (inst): + print "Caught: "+inst.parameter + themeWarning = QtGui.QMessageBox(self) + themeWarning.setText("Theme Error: %s\nFalling back..." % (inst)) + themeWarning.exec_() + self.theme = pesterTheme("pesterchum") + self.chatlog = PesterLog(self.profile().handle, self) self.move(100, 100) @@ -1413,13 +1422,13 @@ class PesterWindow(MovingWindow): profilemenu.addAction(changecoloraction) profilemenu.addAction(switch) - self.helpAction = QtGui.QAction("HELP", self) + self.helpAction = QtGui.QAction(self.theme["main/menus/help/help"], self) self.connect(self.helpAction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('launchHelp()')) - self.botAction = QtGui.QAction("CALSPRITE", self) + self.botAction = QtGui.QAction(self.theme["main/menus/help/calsprite"], self) self.connect(self.botAction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('loadCalsprite()')) - self.nickServAction = QtGui.QAction("NICKSERV", self) + self.nickServAction = QtGui.QAction(self.theme["main/menus/help/nickserv"], self) self.connect(self.nickServAction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('loadNickServ()')) self.aboutAction = QtGui.QAction(self.theme["main/menus/help/about"], self) @@ -1808,6 +1817,15 @@ class PesterWindow(MovingWindow): self.ceasesound = NoneSound() def changeTheme(self, theme): + # check theme + try: + themeChecker(theme) + except ThemeException, (inst): + themeWarning = QtGui.QMessageBox(self) + themeWarning.setText("Theme Error: %s\nFalling back..." % (inst)) + themeWarning.exec_() + theme = pesterTheme("pesterchum") + return self.theme = theme # do self self.initTheme(theme) diff --git a/themes/enamel/style.js b/themes/enamel/style.js index fba646b..8d812b6 100644 --- a/themes/enamel/style.js +++ b/themes/enamel/style.js @@ -32,7 +32,10 @@ "block": "Trollslum", "quirks": "Quirks"}, "help": { "_name": "Help", - "about": "About" }, + "about": "About", + "help": "Help", + "calsprite": "CalSprite", + "nickserv": "NickServ" }, "rclickchumlist": {"pester": "Pester", "removechum": "Remove Chum", "blockchum": "Block", diff --git a/themes/gold/style.js b/themes/gold/style.js index 51abe8e..87104b0 100644 --- a/themes/gold/style.js +++ b/themes/gold/style.js @@ -35,7 +35,10 @@ "block": "Trollslum", "quirks": "Quirks"}, "help": { "_name": "Help", - "about": "About" }, + "about": "About", + "help": "Help", + "calsprite": "CalSprite", + "nickserv": "NickServ" }, "rclickchumlist": {"pester": "Pester", "removechum": "Remove Chum", "report": "Report", diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index c9285d8..7bba32e 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -35,7 +35,10 @@ "block": "TROLLSLUM", "quirks": "QUIRKS"}, "help": { "_name": "HELP", - "about": "ABOUT" }, + "about": "ABOUT", + "help": "HELP", + "calsprite": "CALSPRITE", + "nickserv": "NICKSERV" }, "rclickchumlist": {"pester": "PESTER", "removechum": "REMOVE CHUM", "report": "REPORT", diff --git a/themes/trollian/style.js b/themes/trollian/style.js index f060fc0..9c47752 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -34,7 +34,10 @@ "block": "Chumpdump", "quirks": "Annoying" }, "help": { "_name": "Help", - "about": "About" }, + "about": "About", + "help": "Help", + "calsprite": "CalSprite", + "nickserv": "NickServ" }, "rclickchumlist": {"pester": "Troll", "removechum": "Trash", "report": "Remove", diff --git a/themes/typewriter/style.js b/themes/typewriter/style.js index fb4eeab..d84fad0 100644 --- a/themes/typewriter/style.js +++ b/themes/typewriter/style.js @@ -35,7 +35,10 @@ "block": "Ruffians", "quirks": "Quirks"}, "help": { "_name": "Assistance", - "about": "About" }, + "about": "About", + "help": "Assistance", + "calsprite": "CalSprite", + "nickserv": "NickServ" }, "rclickchumlist": {"pester": "Converse", "removechum": "Erase User", "report": "Report User", From 8af1b3873f1b441b1fa466ad3bbea8314965d802 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 9 May 2011 23:51:53 -0700 Subject: [PATCH 067/166] Bug fix: Still accept messages in memos from non-Pesterchum users --- CHANGELOG.mkdn | 2 ++ memos.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 95ed34a..cb07101 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -23,6 +23,7 @@ CHANGELOG * Rearrange options menu, make tabbed - Kiooeht [evacipatedBox] * Rearrange memos window for readability - Kiooeht [evacipatedBox] * Give voice to memo users - Kiooeht [evacipatedBox] +* Theme checking - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] @@ -31,6 +32,7 @@ CHANGELOG * Stay in memos on profile switch - Kiooeht [evacipatedBox] * Auto rejoin memos on reconnect - Kiooeht [evacipatedBox] * De-Op in memos correctly - Kiooeht [evacipatedBox] + * Don't blow up if someone's not using Pesterchum in a memo - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] diff --git a/memos.py b/memos.py index fafd13f..0e86a08 100644 --- a/memos.py +++ b/memos.py @@ -163,6 +163,8 @@ class TimeTracker(list): timed = self.getTime() return self.getGrammarTime(timed) def getGrammarTime(self, timed): + if not timed: + timed = timedelta(0) mytime = timedelta(0) (temporal, pcf, when) = pcfGrammar(timed - mytime) if timed == mytime: From 433a4ec8c7ee10c00be94c6169f532f5654b297c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 10 May 2011 21:54:10 -0700 Subject: [PATCH 068/166] Bug fix: QIcon problems with pyqt-4.8.4-1 --- generic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generic.py b/generic.py index db7ed1e..b1aa414 100644 --- a/generic.py +++ b/generic.py @@ -26,7 +26,7 @@ class PesterList(list): class PesterIcon(QtGui.QIcon): def __init__(self, *x, **y): - QtGui.QIcon.__init__(self, *x, **y) + QtGui.QIcon.__init__(self, x[0]) if type(x[0]) in [str, unicode]: self.icon_pixmap = QtGui.QPixmap(x[0]) else: From cdce13bacf2c15dab79c834bc30865f7c3020ae3 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 11 May 2011 23:28:07 -0700 Subject: [PATCH 069/166] Display OP, DeOP, Voice, and Devoice messages in memos --- TODO.mkdn | 1 + dataobjs.py | 16 +++++++++ irc.py | 16 ++++++++- memos.py | 89 ++++++++++++++++++++++++++++++++++++++++++++++++--- menus.py | 5 +++ pesterchum.py | 10 ++++-- 6 files changed, 130 insertions(+), 7 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index 9c5df52..471252d 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -18,6 +18,7 @@ Bugs * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * When using mood sort, scroll position jumps to last selected chum +* In memos, entering when someone has +ov and then they -o, you don't see that they have +v Mac Bugs -------- diff --git a/dataobjs.py b/dataobjs.py index 32a0d83..a81cd2e 100644 --- a/dataobjs.py +++ b/dataobjs.py @@ -252,6 +252,22 @@ class PesterProfile(object): return "%s %s [%s] %s %s." % \ (syscolor.name(), self.colorhtml(), temporal, self.handle, initials, timetext, verb) + def memoopmsg(self, opchum, opgrammar, syscolor): + opinit = opgrammar.pcf+opchum.initials()+opgrammar.number + return "%s made %s an OP." % \ + (opchum.colorhtml(), opinit, self.colorhtml(), self.initials()) + def memodeopmsg(self, opchum, opgrammar, syscolor): + opinit = opgrammar.pcf+opchum.initials()+opgrammar.number + return "%s took away %s's OP powers." % \ + (opchum.colorhtml(), opinit, self.colorhtml(), self.initials()) + def memovoicemsg(self, opchum, opgrammar, syscolor): + opinit = opgrammar.pcf+opchum.initials()+opgrammar.number + return "%s gave %s voice." % \ + (opchum.colorhtml(), opinit, self.colorhtml(), self.initials()) + def memodevoicemsg(self, opchum, opgrammar, syscolor): + opinit = opgrammar.pcf+opchum.initials()+opgrammar.number + return "%s took away %s's voice." % \ + (opchum.colorhtml(), opinit, self.colorhtml(), self.initials()) @staticmethod def checkLength(handle): diff --git a/irc.py b/irc.py index 8947e03..99470b2 100644 --- a/irc.py +++ b/irc.py @@ -321,7 +321,21 @@ class PesterHandler(DefaultCommandHandler): if channel == "#pesterchum": self.parent.moodUpdated.emit(handle, Mood("chummy")) def mode(self, op, channel, mode, handle=""): - self.parent.userPresentUpdate.emit(handle, channel, mode) + opnick = op[0:op.find("!")] + if op == channel or channel == self.parent.mainwindow.profile().handle: + modes = list(self.parent.mainwindow.modes) + if modes and modes[0] == "+": modes = modes[1:] + if mode[0] == "+": + modes.extend(mode[1:]) + elif mode[0] == "-": + for i in mode[1:]: + try: + modes.remove(i) + except ValueError: + pass + modes.sort() + self.parent.mainwindow.modes = "+" + "".join(modes) + self.parent.userPresentUpdate.emit(handle, channel, mode+":%s" % (op)) def nick(self, oldnick, newnick): oldhandle = oldnick[0:oldnick.find("!")] if oldhandle == self.mainwindow.profile().handle: diff --git a/memos.py b/memos.py index 0e86a08..c9499d1 100644 --- a/memos.py +++ b/memos.py @@ -648,6 +648,10 @@ class PesterMemo(PesterConvo): oldnick = l[0] newnick = l[1] h = oldnick + if update[0:2] in ["+o", "-o", "+v", "-v"]: + l = update.split(":") + update = l[0] + op = l[1] if (update in ["join","left", "kick", "+o", "-o", "+v", "-v"]) \ and channel != self.channel: return @@ -728,7 +732,26 @@ class PesterMemo(PesterConvo): serverText = "PESTERCHUM:TIME>"+delta2txt(time, "server") self.messageSent.emit(serverText, self.title()) elif update == "+o": - chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) + if self.mainwindow.config.opvoiceMessages(): + chum = PesterProfile(h) + if h == self.mainwindow.profile().handle: + chum = self.mainwindow.profile() + ttracker = self.time + curtime = self.time.getTime() + elif self.times.has_key(h): + ttracker = self.times[h] + else: + ttracker = TimeTracker(timedelta(0)) + opchum = PesterProfile(op) + if self.times.has_key(op): + opgrammar = self.times[op].getGrammar() + elif op == self.mainwindow.profile().handle: + opgrammar = self.time.getGrammar() + else: + opgrammar = TimeGrammar("CURRENT", "C", "RIGHT NOW") + msg = chum.memoopmsg(opchum, opgrammar, systemColor) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, msg) for c in chums: c.op = True icon = PesterIcon(self.mainwindow.theme["memos/op/icon"]) @@ -738,7 +761,27 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.addAction(self.voiceAction) self.userlist.optionsMenu.addAction(self.banuserAction) elif update == "-o": - chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) + self.mainwindow.channelNames.emit(self.channel) + if self.mainwindow.config.opvoiceMessages(): + chum = PesterProfile(h) + if h == self.mainwindow.profile().handle: + chum = self.mainwindow.profile() + ttracker = self.time + curtime = self.time.getTime() + elif self.times.has_key(h): + ttracker = self.times[h] + else: + ttracker = TimeTracker(timedelta(0)) + opchum = PesterProfile(op) + if self.times.has_key(op): + opgrammar = self.times[op].getGrammar() + elif op == self.mainwindow.profile().handle: + opgrammar = self.time.getGrammar() + else: + opgrammar = TimeGrammar("CURRENT", "C", "RIGHT NOW") + msg = chum.memodeopmsg(opchum, opgrammar, systemColor) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, msg) for c in chums: c.op = False if c.voice: @@ -752,14 +795,52 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.removeAction(self.voiceAction) self.userlist.optionsMenu.removeAction(self.banuserAction) elif update == "+v": - chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) + if self.mainwindow.config.opvoiceMessages(): + chum = PesterProfile(h) + if h == self.mainwindow.profile().handle: + chum = self.mainwindow.profile() + ttracker = self.time + curtime = self.time.getTime() + elif self.times.has_key(h): + ttracker = self.times[h] + else: + ttracker = TimeTracker(timedelta(0)) + opchum = PesterProfile(op) + if self.times.has_key(op): + opgrammar = self.times[op].getGrammar() + elif op == self.mainwindow.profile().handle: + opgrammar = self.time.getGrammar() + else: + opgrammar = TimeGrammar("CURRENT", "C", "RIGHT NOW") + msg = chum.memovoicemsg(opchum, opgrammar, systemColor) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, msg) for c in chums: c.voice = True if not c.op: icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) c.setIcon(icon) elif update == "-v": - chums = self.userlist.findItems(h, QtCore.Qt.MatchFlags(0)) + if self.mainwindow.config.opvoiceMessages(): + chum = PesterProfile(h) + if h == self.mainwindow.profile().handle: + chum = self.mainwindow.profile() + ttracker = self.time + curtime = self.time.getTime() + elif self.times.has_key(h): + ttracker = self.times[h] + else: + ttracker = TimeTracker(timedelta(0)) + opchum = PesterProfile(op) + if self.times.has_key(op): + opgrammar = self.times[op].getGrammar() + elif op == self.mainwindow.profile().handle: + opgrammar = self.time.getGrammar() + else: + opgrammar = TimeGrammar("CURRENT", "C", "RIGHT NOW") + msg = chum.memodevoicemsg(opchum, opgrammar, systemColor) + self.textArea.append(convertTags(msg)) + self.mainwindow.chatlog.log(self.channel, msg) for c in chums: c.voice = False if c.op: diff --git a/menus.py b/menus.py index 829590d..4ecf1b2 100644 --- a/menus.py +++ b/menus.py @@ -666,6 +666,10 @@ class PesterOptions(QtGui.QDialog): if self.config.showSeconds(): self.secondscheck.setChecked(True) + self.memomessagecheck = QtGui.QCheckBox("Show OP and Voice Messages in Memos", self) + if self.config.opvoiceMessages(): + self.memomessagecheck.setChecked(True) + self.userlinkscheck = QtGui.QCheckBox("Disable #Memo and @User Links", self) self.userlinkscheck.setChecked(self.config.disableUserLinks()) self.userlinkscheck.setVisible(False) @@ -754,6 +758,7 @@ class PesterOptions(QtGui.QDialog): layout_chat.addWidget(self.timestampcheck) layout_chat.addWidget(self.timestampBox) layout_chat.addWidget(self.secondscheck) + layout_chat.addWidget(self.memomessagecheck) # Re-enable these when it's possible to disable User and Memo links #layout_chat.addWidget(hr) #layout_chat.addWidget(QtGui.QLabel("User and Memo Links")) diff --git a/pesterchum.py b/pesterchum.py index 353310e..ff44c90 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -346,6 +346,8 @@ class userConfig(object): return self.config.get('miniAction', 0) def closeAction(self): return self.config.get('closeAction', 1) + def opvoiceMessages(self): + return self.config.get('opvMessages', True) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -777,7 +779,6 @@ class chumArea(RightClickTree): child_1 = QtGui.QTreeWidgetItem(["%s" % (g)]) j = 0 for h in self.groups: - print h + ":" + g if h == g: self.insertTopLevelItem(j, child_1) break @@ -2423,6 +2424,11 @@ class PesterWindow(MovingWindow): if closesetting != curclose: self.config.set('closeAction', closesetting) self.setButtonAction(self.closeButton, closesetting, curclose) + # op and voice messages + opvmesssetting = self.optionmenu.memomessagecheck.isChecked() + curopvmess = self.config.opvoiceMessages() + if opvmesssetting != curopvmess: + self.config.set('opvMessages', opvmesssetting) self.optionmenu = None def setButtonAction(self, button, setting, old): @@ -2630,7 +2636,7 @@ class MainProgram(QtCore.QObject): def __init__(self): QtCore.QObject.__init__(self) self.app = QtGui.QApplication(sys.argv) - self.app.setApplicationName("Pesterchum 3.14"); + self.app.setApplicationName("Pesterchum 3.14") if pygame.mixer: # we could set the frequency higher but i love how cheesy it sounds try: From b4cb15ec05565e93f9ca67e86f90ee91aa55e72f Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 11 May 2011 23:36:03 -0700 Subject: [PATCH 070/166] Bug fix: Display OP and Voice icons correctly in memos if entering memo when someone has +ov --- TODO.mkdn | 1 - irc.py | 7 +++++++ pesterchum.py | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/TODO.mkdn b/TODO.mkdn index 471252d..9c5df52 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -18,7 +18,6 @@ Bugs * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * When using mood sort, scroll position jumps to last selected chum -* In memos, entering when someone has +ov and then they -o, you don't see that they have +v Mac Bugs -------- diff --git a/irc.py b/irc.py index 99470b2..94b492c 100644 --- a/irc.py +++ b/irc.py @@ -212,6 +212,13 @@ class PesterIRC(QtCore.QThread): helpers.mode(self.cli, c, m, cmd) except socket.error: self.setConnectionBroken() + @QtCore.pyqtSlot(QtCore.QString) + def channelNames(self, channel): + c = unicode(channel) + try: + helpers.names(self.cli, c) + except socket.error: + self.setConnectionBroken() moodUpdated = QtCore.pyqtSignal(QtCore.QString, Mood) colorUpdated = QtCore.pyqtSignal(QtCore.QString, QtGui.QColor) diff --git a/pesterchum.py b/pesterchum.py index ff44c90..cbe5a13 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2614,6 +2614,7 @@ class PesterWindow(MovingWindow): joinChannel = QtCore.pyqtSignal(QtCore.QString) leftChannel = QtCore.pyqtSignal(QtCore.QString) setChannelMode = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) + channelNames = QtCore.pyqtSignal(QtCore.QString) closeSignal = QtCore.pyqtSignal() reconnectIRC = QtCore.pyqtSignal() @@ -2719,6 +2720,8 @@ class MainProgram(QtCore.QObject): 'kickUser(QString, QString)'), ('setChannelMode(QString, QString, QString)', 'setChannelMode(QString, QString, QString)'), + ('channelNames(QString)', + 'channelNames(QString)'), ('reconnectIRC()', 'reconnectIRC()') ] # IRC --> Main window From 183b9f46c5778fb14497b3f8ccd476f3ea748f0a Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 11 May 2011 23:46:53 -0700 Subject: [PATCH 071/166] Advanced mode: See and change current IRC user mode --- irc.py | 3 +++ menus.py | 15 +++++++++++++++ pesterchum | 2 +- pesterchum.py | 25 +++++++++++++++++++++++-- 4 files changed, 42 insertions(+), 3 deletions(-) diff --git a/irc.py b/irc.py index 94b492c..8569e76 100644 --- a/irc.py +++ b/irc.py @@ -383,6 +383,9 @@ class PesterHandler(DefaultCommandHandler): self.parent.channelListReceived.emit(pl) self.channel_list = [] + def umodeis(self, server, handle, modes): + self.parent.mainwindow.modes = modes + def getMood(self, *chums): chumglub = "GETMOOD " for c in chums: diff --git a/menus.py b/menus.py index 4ecf1b2..833d736 100644 --- a/menus.py +++ b/menus.py @@ -622,6 +622,7 @@ class PesterOptions(QtGui.QDialog): self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'), self, QtCore.SLOT('changePage(int)')) tabNames = ["Chum List", "Conversations", "Interface", "Sound", "Logging", "Idle", "Theme"] + if parent.advanced: tabNames.append("Advanced") for t in tabNames: button = QtGui.QPushButton(t) self.tabs.addButton(button) @@ -728,6 +729,11 @@ class PesterOptions(QtGui.QDialog): layout_close.addWidget(QtGui.QLabel("Close")) layout_close.addWidget(self.closeBox) + self.modechange = QtGui.QLineEdit(self) + layout_change = QtGui.QHBoxLayout() + layout_change.addWidget(QtGui.QLabel("Change:")) + layout_change.addWidget(self.modechange) + self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) self.connect(self.ok, QtCore.SIGNAL('clicked()'), @@ -809,6 +815,15 @@ class PesterOptions(QtGui.QDialog): layout_theme.addWidget(self.themeBox) self.pages.addWidget(widget) + # Advanced + if parent.advanced: + widget = QtGui.QWidget() + layout_advanced = QtGui.QVBoxLayout(widget) + layout_advanced.setAlignment(QtCore.Qt.AlignTop) + layout_advanced.addWidget(QtGui.QLabel("Current User Mode: %s" % parent.modes)) + layout_advanced.addLayout(layout_change) + self.pages.addWidget(widget) + layout_0 = QtGui.QVBoxLayout() layout_1 = QtGui.QHBoxLayout() layout_1.addLayout(layout_4) diff --git a/pesterchum b/pesterchum index a28ee59..f351cb8 100755 --- a/pesterchum +++ b/pesterchum @@ -1,3 +1,3 @@ #!/bin/sh -python2.6 pesterchum.py \ No newline at end of file +python2.6 pesterchum.py $@ diff --git a/pesterchum.py b/pesterchum.py index cbe5a13..f81b3f3 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -13,6 +13,7 @@ import platform from PyQt4 import QtGui, QtCore import pygame from time import strftime +import getopt from menus import PesterChooseQuirks, PesterChooseTheme, \ PesterChooseProfile, PesterOptions, PesterUserlist, PesterMemoList, \ @@ -1316,7 +1317,7 @@ class MovingWindow(QtGui.QFrame): class PesterWindow(MovingWindow): - def __init__(self, parent=None): + def __init__(self, parent=None, advanced=False): MovingWindow.__init__(self, parent, (QtCore.Qt.CustomizeWindowHint | QtCore.Qt.FramelessWindowHint)) @@ -1324,6 +1325,7 @@ class PesterWindow(MovingWindow): self.memos = CaseInsensitiveDict() self.tabconvo = None self.tabmemo = None + self.advanced = advanced self.setAutoFillBackground(True) self.setObjectName("main") @@ -1334,6 +1336,7 @@ class PesterWindow(MovingWindow): else: self.userprofile = userProfile(PesterProfile("pesterClient%d" % (random.randint(100,999)), QtGui.QColor("black"), Mood(0))) self.theme = self.userprofile.getTheme() + self.modes = "" try: themeChecker(self.theme) @@ -2429,6 +2432,11 @@ class PesterWindow(MovingWindow): curopvmess = self.config.opvoiceMessages() if opvmesssetting != curopvmess: self.config.set('opvMessages', opvmesssetting) + # advanced + ## user mode + newmodes = self.optionmenu.modechange.text() + if newmodes: + self.setChannelMode.emit(self.profile().handle, newmodes, "") self.optionmenu = None def setButtonAction(self, button, setting, old): @@ -2638,6 +2646,9 @@ class MainProgram(QtCore.QObject): QtCore.QObject.__init__(self) self.app = QtGui.QApplication(sys.argv) self.app.setApplicationName("Pesterchum 3.14") + + self.oppts(sys.argv[1:]) + if pygame.mixer: # we could set the frequency higher but i love how cheesy it sounds try: @@ -2646,7 +2657,7 @@ class MainProgram(QtCore.QObject): print "Warning: No sound! %s" % (e) else: print "Warning: No sound!" - self.widget = PesterWindow() + self.widget = PesterWindow(advanced=self.advanced) self.widget.show() self.trayicon = PesterTray(PesterIcon(self.widget.theme["main/icon"]), self.widget, self.app) @@ -2845,6 +2856,16 @@ class MainProgram(QtCore.QObject): self.reconnectok = True self.showLoading(self.widget, "F41L3D: %s" % stop) + def oppts(self, argv): + self.advanced = False + try: + opts, args = getopt.getopt(argv, "", ["advanced"]) + except getopt.GetoptError: + return + for opt, arg in opts: + if opt in ("--advanced"): + self.advanced = True + def run(self): self.irc.start() self.reconnectok = False From 4d5a6e62f61a4ee07c0ae30d31dd2d0fa3bfdbd9 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 11 May 2011 23:51:17 -0700 Subject: [PATCH 072/166] Changelog update --- CHANGELOG.mkdn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index cb07101..06aed1d 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -24,6 +24,8 @@ CHANGELOG * Rearrange memos window for readability - Kiooeht [evacipatedBox] * Give voice to memo users - Kiooeht [evacipatedBox] * Theme checking - Kiooeht [evacipatedBox] +* Display (De)OP/Voice messages in memos - Kiooeht [evacipatedBox] +* Advanced Mode: Alter IRC user mode - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] From 55f74926fc517e45a3344f99721464f7dc280b5b Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 02:18:18 -0700 Subject: [PATCH 073/166] Bug fix: Create 'logs' and 'profiles' directories if non-existant --- CHANGELOG.mkdn | 1 + pesterchum.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 06aed1d..2917f76 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -35,6 +35,7 @@ CHANGELOG * Auto rejoin memos on reconnect - Kiooeht [evacipatedBox] * De-Op in memos correctly - Kiooeht [evacipatedBox] * Don't blow up if someone's not using Pesterchum in a memo - Kiooeht [evacipatedBox] + * Make 'logs' and 'profiles' directories if non-existant - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] diff --git a/pesterchum.py b/pesterchum.py index f81b3f3..a962b24 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -37,6 +37,14 @@ if sys.platform == "darwin": if not os.path.exists(_datadir+"pesterchum.js"): f = open(_datadir+"pesterchum.js", 'w') f.close() +else: + if not os.path.exists("logs"): + os.mkdir("logs") + if not os.path.exists("profiles"): + os.mkdir("profiles") + if not os.path.exists("pesterchum.js"): + f = open("pesterchum.js", 'w') + f.close() class waitingMessageHolder(object): def __init__(self, mainwindow, **msgfuncs): From 123eeb4d401b18a72765f02f0384861c9f041900 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 02:37:59 -0700 Subject: [PATCH 074/166] Fix a stupid "No such slot" bug --- menus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menus.py b/menus.py index 833d736..1e3216f 100644 --- a/menus.py +++ b/menus.py @@ -973,7 +973,7 @@ class PesterMemoList(QtGui.QDialog): self.channelarea.setColumnWidth(1,10) self.connect(self.channelarea, QtCore.SIGNAL('itemActivated(QTreeWidgetItem *, int)'), - self, QtCore.SLOT('joinActivatedMemo(QTreeWidgetItem *, int)')) + self, QtCore.SLOT('joinActivatedMemo(QTreeWidgetItem, int)')) self.orjoinlabel = QtGui.QLabel("OR MAKE A NEW MEMO:") self.newmemo = QtGui.QLineEdit(channel, self) From 4883197a6f3b6516e3d63cade80e9044314759e0 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 03:47:22 -0700 Subject: [PATCH 075/166] Chum search for logs --- CHANGELOG.mkdn | 1 + logviewer.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 2917f76..c50f509 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -26,6 +26,7 @@ CHANGELOG * Theme checking - Kiooeht [evacipatedBox] * Display (De)OP/Voice messages in memos - Kiooeht [evacipatedBox] * Advanced Mode: Alter IRC user mode - Kiooeht [evacipatedBox] +* Logviewer chum search - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/logviewer.py b/logviewer.py index a3ca095..30d9e7c 100644 --- a/logviewer.py +++ b/logviewer.py @@ -7,6 +7,14 @@ from generic import RightClickList, RightClickTree from parsetools import convertTags from convo import PesterText +class PesterLogSearchInput(QtGui.QLineEdit): + def __init__(self, theme, parent=None): + QtGui.QLineEdit.__init__(self, parent) + self.setStyleSheet(theme["convo/input/style"] + "margin-right:0px;") + def keyPressEvent(self, event): + QtGui.QLineEdit.keyPressEvent(self, event) + self.parent().logSearch(self.text()) + class PesterLogUserSelect(QtGui.QDialog): def __init__(self, config, theme, parent): QtGui.QDialog.__init__(self, parent) @@ -44,6 +52,9 @@ class PesterLogUserSelect(QtGui.QDialog): item.setTextColor(QtGui.QColor(self.theme["main/chums/userlistcolor"])) self.chumsBox.addItem(item) + self.search = PesterLogSearchInput(theme, self) + self.search.setFocus() + self.cancel = QtGui.QPushButton("CANCEL", self) self.connect(self.cancel, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('reject()')) @@ -58,6 +69,7 @@ class PesterLogUserSelect(QtGui.QDialog): layout_0 = QtGui.QVBoxLayout() layout_0.addWidget(instructions) layout_0.addWidget(self.chumsBox) + layout_0.addWidget(self.search) layout_0.addLayout(layout_ok) self.setLayout(layout_0) @@ -65,6 +77,12 @@ class PesterLogUserSelect(QtGui.QDialog): def selectedchum(self): return self.chumsBox.currentItem() + def logSearch(self, search): + found = self.chumsBox.findItems(search, QtCore.Qt.MatchStartsWith) + print found + if len(found) > 0 and len(found) < self.chumsBox.count(): + self.chumsBox.setCurrentItem(found[0]) + @QtCore.pyqtSlot() def viewActivatedLog(self): selectedchum = self.selectedchum().text() From a05cbb858c41db598a6c94d513029236ab45cd07 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 04:54:19 -0700 Subject: [PATCH 076/166] Logviewer log search --- CHANGELOG.mkdn | 1 + logviewer.py | 26 ++++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index c50f509..e7074f0 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -27,6 +27,7 @@ CHANGELOG * Display (De)OP/Voice messages in memos - Kiooeht [evacipatedBox] * Advanced Mode: Alter IRC user mode - Kiooeht [evacipatedBox] * Logviewer chum search - Kiooeht [evacipatedBox] +* Logviewer log search - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/logviewer.py b/logviewer.py index 30d9e7c..daf90ce 100644 --- a/logviewer.py +++ b/logviewer.py @@ -15,6 +15,18 @@ class PesterLogSearchInput(QtGui.QLineEdit): QtGui.QLineEdit.keyPressEvent(self, event) self.parent().logSearch(self.text()) +class PesterLogHighlighter(QtGui.QSyntaxHighlighter): + def __init__(self, parent): + QtGui.QSyntaxHighlighter.__init__(self, parent) + self.searchTerm = "" + self.hilightstyle = QtGui.QTextCharFormat() + self.hilightstyle.setBackground(QtGui.QBrush(QtCore.Qt.green)) + self.hilightstyle.setForeground(QtGui.QBrush(QtCore.Qt.black)) + def highlightBlock(self, text): + for i in range(0, len(text)-(len(self.searchTerm)-1)): + if str(text[i:i+len(self.searchTerm)]).lower() == str(self.searchTerm).lower(): + self.setFormat(i, len(self.searchTerm), self.hilightstyle) + class PesterLogUserSelect(QtGui.QDialog): def __init__(self, config, theme, parent): QtGui.QDialog.__init__(self, parent) @@ -79,7 +91,6 @@ class PesterLogUserSelect(QtGui.QDialog): def logSearch(self, search): found = self.chumsBox.findItems(search, QtCore.Qt.MatchStartsWith) - print found if len(found) > 0 and len(found) < self.chumsBox.count(): self.chumsBox.setCurrentItem(found[0]) @@ -180,8 +191,12 @@ class PesterLogViewer(QtGui.QDialog): child_1.addChild(QtGui.QTreeWidgetItem([self.fileToTime(l)])) last = self.fileToMonthYear(l) + self.hilight = PesterLogHighlighter(self.textArea) if len(self.logList) > 0: self.loadLog(self.logList[0]) + self.search = PesterLogSearchInput(theme, self) + self.search.setFocus() + self.qdb = QtGui.QPushButton("Pesterchum QDB", self) self.connect(self.qdb, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('openQDB()')) @@ -197,7 +212,10 @@ class PesterLogViewer(QtGui.QDialog): layout_logs = QtGui.QHBoxLayout() layout_logs.addWidget(self.tree) - layout_logs.addWidget(self.textArea) + layout_right = QtGui.QVBoxLayout() + layout_right.addWidget(self.textArea) + layout_right.addWidget(self.search) + layout_logs.addLayout(layout_right) layout_0 = QtGui.QVBoxLayout() layout_0.addWidget(self.instructions) @@ -227,6 +245,10 @@ class PesterLogViewer(QtGui.QDialog): self.textArea.setTextCursor(textCur) self.instructions.setText("Pesterlog with " +self.chum+ " on " + self.fileToTime(str(fname))) + def logSearch(self, search): + self.hilight.searchTerm = search + self.hilight.rehighlight() + def fileToMonthYear(self, fname): time = strptime(fname[(fname.index(".")+1):fname.index(".txt")], "%Y-%m-%d.%H.%M") return [strftime("%B", time), strftime("%Y", time)] From 836ec6c74d9aab63bcc18939f98957e9a712ab4e Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 07:14:38 -0700 Subject: [PATCH 077/166] Set server and port from command line --- CHANGELOG.mkdn | 1 + pesterchum.py | 41 ++++++++++++++++++++++++++++------------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index e7074f0..b974184 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -28,6 +28,7 @@ CHANGELOG * Advanced Mode: Alter IRC user mode - Kiooeht [evacipatedBox] * Logviewer chum search - Kiooeht [evacipatedBox] * Logviewer log search - Kiooeht [evacipatedBox] +* Set server and port from command line - Kiooeht [evacipated] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/pesterchum.py b/pesterchum.py index a962b24..d3046df 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -1,6 +1,6 @@ # pesterchum import logging -import os, sys +import os, sys, getopt import os.path from datetime import * from string import Template @@ -13,7 +13,6 @@ import platform from PyQt4 import QtGui, QtCore import pygame from time import strftime -import getopt from menus import PesterChooseQuirks, PesterChooseTheme, \ PesterChooseProfile, PesterOptions, PesterUserlist, PesterMemoList, \ @@ -265,7 +264,8 @@ class pesterTheme(dict): return False class userConfig(object): - def __init__(self): + def __init__(self, parent): + self.parent = parent if sys.platform != "darwin": self.filename = "pesterchum.js" else: @@ -426,8 +426,12 @@ class userConfig(object): fp.close() def server(self): + if hasattr(self.parent, 'serverOverride'): + return self.parent.serverOverride return self.config.get('server', 'irc.mindfang.org') def port(self): + if hasattr(self.parent, 'portOverride'): + return self.parent.portOverride return self.config.get('port', '6667') def soundOn(self): if not self.config.has_key('soundon'): @@ -1325,7 +1329,7 @@ class MovingWindow(QtGui.QFrame): class PesterWindow(MovingWindow): - def __init__(self, parent=None, advanced=False): + def __init__(self, options, parent=None): MovingWindow.__init__(self, parent, (QtCore.Qt.CustomizeWindowHint | QtCore.Qt.FramelessWindowHint)) @@ -1333,11 +1337,17 @@ class PesterWindow(MovingWindow): self.memos = CaseInsensitiveDict() self.tabconvo = None self.tabmemo = None - self.advanced = advanced + if "advanced" in options: + self.advanced = options["advanced"] + else: self.advanced = False + if "server" in options: + self.serverOverride = options["server"] + if "port" in options: + self.portOverride = options["port"] self.setAutoFillBackground(True) self.setObjectName("main") - self.config = userConfig() + self.config = userConfig(self) if self.config.defaultprofile(): self.userprofile = userProfile(self.config.defaultprofile()) self.theme = self.userprofile.getTheme() @@ -2655,7 +2665,7 @@ class MainProgram(QtCore.QObject): self.app = QtGui.QApplication(sys.argv) self.app.setApplicationName("Pesterchum 3.14") - self.oppts(sys.argv[1:]) + options = self.oppts(sys.argv[1:]) if pygame.mixer: # we could set the frequency higher but i love how cheesy it sounds @@ -2665,7 +2675,7 @@ class MainProgram(QtCore.QObject): print "Warning: No sound! %s" % (e) else: print "Warning: No sound!" - self.widget = PesterWindow(advanced=self.advanced) + self.widget = PesterWindow(options) self.widget.show() self.trayicon = PesterTray(PesterIcon(self.widget.theme["main/icon"]), self.widget, self.app) @@ -2865,14 +2875,19 @@ class MainProgram(QtCore.QObject): self.showLoading(self.widget, "F41L3D: %s" % stop) def oppts(self, argv): - self.advanced = False + options = {} try: - opts, args = getopt.getopt(argv, "", ["advanced"]) + opts, args = getopt.getopt(argv, "s:p:", ["server=", "port=", "advanced"]) except getopt.GetoptError: - return + return options for opt, arg in opts: - if opt in ("--advanced"): - self.advanced = True + if opt in ("-s", "--server"): + options["server"] = arg + elif opt in ("-p", "--port"): + options["port"] = arg + elif opt in ("--advanced"): + options["advanced"] = True + return options def run(self): self.irc.start() From 06835f4cfbf1d7709f73b6f3f395c54cb34d6af4 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 07:49:06 -0700 Subject: [PATCH 078/166] Don't log messages to Nickserv (it's private, passwords and all that) --- pesterchum.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pesterchum.py b/pesterchum.py index d3046df..2efa808 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -92,6 +92,7 @@ class PesterLog(object): if not self.parent.config.logMemos(): return else: if not self.parent.config.logPesters(): return + if str(handle).upper() == "NICKSERV": return #watch out for illegal characters handle = re.sub(r'[<>:"/\\|?*]', "_", handle) #time = strftime("[%H:%M:%S] ") From beea65b5d1f676da84b067f91f8f4f1f87f47ab1 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 13:08:25 -0700 Subject: [PATCH 079/166] Bug fix: Hopefully fix animated smilies slowing down over time --- convo.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/convo.py b/convo.py index b2b09c8..a73993c 100644 --- a/convo.py +++ b/convo.py @@ -221,20 +221,21 @@ class PesterText(QtGui.QTextEdit): self, QtCore.SLOT('textReady(bool)')) self.urls = {} for k in smiledict: - self.addAnimation(QtCore.QUrl("smilies/%s" % (smiledict[k])), "smilies/%s" % (smiledict[k])); + self.addAnimation(QtCore.QUrl("smilies/%s" % (smiledict[k])), "smilies/%s" % (smiledict[k])) def addAnimation(self, url, fileName): movie = QtGui.QMovie(self) movie.setFileName(fileName) self.urls[movie] = url self.connect(movie, QtCore.SIGNAL('frameChanged(int)'), - self, QtCore.SLOT('animate()')); - movie.start(); + self, QtCore.SLOT('animate()')) + movie.start() @QtCore.pyqtSlot() def animate(self): movie = self.sender() + self.document().resource(QtGui.QTextDocument.ImageResource, self.urls[movie]).clear() self.document().addResource(QtGui.QTextDocument.ImageResource, - self.urls[movie], movie.currentPixmap()); - self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()); + self.urls[movie], movie.currentPixmap()) + self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()) @QtCore.pyqtSlot(bool) def textReady(self, ready): @@ -331,7 +332,8 @@ class PesterText(QtGui.QTextEdit): QtGui.QTextEdit.focusInEvent(self, event) def keyPressEvent(self, event): - self.parent().textInput.keyPressEvent(event) + if hasattr(self.parent(), 'textInput'): + self.parent().textInput.keyPressEvent(event) QtGui.QTextEdit.keyPressEvent(self, event) def mousePressEvent(self, event): From 2678d78812f8e6fa4a2fdf068ac2ef9242ea5530 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 12 May 2011 13:09:30 -0700 Subject: [PATCH 080/166] Options for logging time stamps --- TODO.mkdn | 1 + menus.py | 14 ++++++++++++-- pesterchum.py | 45 +++++++++++++++++++++++++++++++++------------ 3 files changed, 46 insertions(+), 14 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index 9c5df52..779b9bb 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -18,6 +18,7 @@ Bugs * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * When using mood sort, scroll position jumps to last selected chum +* When switching chumhandles, OP doesn't appear to retain OP status (though they do) Mac Bugs -------- diff --git a/menus.py b/menus.py index 1e3216f..d135386 100644 --- a/menus.py +++ b/menus.py @@ -696,9 +696,17 @@ class PesterOptions(QtGui.QDialog): layout_3.addWidget(self.sortBox, 10) self.logpesterscheck = QtGui.QCheckBox("Log all Pesters", self) - self.logpesterscheck.setChecked(self.config.logPesters()) + if self.config.logPesters() & self.config.LOG: + self.logpesterscheck.setChecked(True) self.logmemoscheck = QtGui.QCheckBox("Log all Memos", self) - self.logmemoscheck.setChecked(self.config.logMemos()) + if self.config.logMemos() & self.config.LOG: + self.logmemoscheck.setChecked(True) + self.stamppestercheck = QtGui.QCheckBox("Log Time Stamps for Pesters", self) + if self.config.logPesters() & self.config.STAMP: + self.stamppestercheck.setChecked(True) + self.stampmemocheck = QtGui.QCheckBox("Log Time Stamps for Memos", self) + if self.config.logMemos() & self.config.STAMP: + self.stampmemocheck.setChecked(True) self.idleBox = QtGui.QSpinBox(self) self.idleBox.setStyleSheet("background:#FFFFFF") @@ -798,6 +806,8 @@ class PesterOptions(QtGui.QDialog): layout_logs.setAlignment(QtCore.Qt.AlignTop) layout_logs.addWidget(self.logpesterscheck) layout_logs.addWidget(self.logmemoscheck) + layout_logs.addWidget(self.stamppestercheck) + layout_logs.addWidget(self.stampmemocheck) self.pages.addWidget(widget) # Idle diff --git a/pesterchum.py b/pesterchum.py index 2efa808..3df8f37 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -88,18 +88,28 @@ class PesterLog(object): self.logpath = _datadir+"logs" def log(self, handle, msg): - if handle[0] == '#': - if not self.parent.config.logMemos(): return + if self.parent.config.time12Format(): + time = strftime("[%I:%M") else: - if not self.parent.config.logPesters(): return + time = strftime("[%H:%M") + if self.parent.config.showSeconds(): + time += strftime(":%S] ") + else: + time += "] " + if handle[0] == '#': + if not self.parent.config.logMemos() & self.parent.config.LOG: return + if not self.parent.config.logMemos() & self.parent.config.STAMP: + time = "" + else: + if not self.parent.config.logPesters() & self.parent.config.LOG: return + if not self.parent.config.logPesters() & self.parent.config.STAMP: + time = "" if str(handle).upper() == "NICKSERV": return #watch out for illegal characters handle = re.sub(r'[<>:"/\\|?*]', "_", handle) - #time = strftime("[%H:%M:%S] ") - # no time codes in logs - bbcodemsg = convertTags(msg, "bbcode") - html = convertTags(msg, "html")+"
" - msg = convertTags(msg, "text") + bbcodemsg = time + convertTags(msg, "bbcode") + html = time + convertTags(msg, "html")+"
" + msg = time +convertTags(msg, "text") modes = {"bbcode": bbcodemsg, "html": html, "text": msg} if not self.convos.has_key(handle): time = datetime.now().strftime("%Y-%m-%d.%H.%M") @@ -267,6 +277,9 @@ class pesterTheme(dict): class userConfig(object): def __init__(self, parent): self.parent = parent + # Use for bit flag log setting + self.LOG = 1 + self.STAMP = 2 if sys.platform != "darwin": self.filename = "pesterchum.js" else: @@ -345,9 +358,9 @@ class userConfig(object): self.set("onlineNumbers", False) return self.config.get('onlineNumbers', False) def logPesters(self): - return self.config.get('logPesters', True) + return self.config.get('logPesters', self.LOG | self.STAMP) def logMemos(self): - return self.config.get('logMemos', True) + return self.config.get('logMemos', self.LOG) def disableUserLinks(self): return not self.config.get('userLinks', True) def idleTime(self): @@ -2414,11 +2427,19 @@ class PesterWindow(MovingWindow): self.chumList.hideOnlineNumbers() self.config.set("onlineNumbers", onlinenumsetting) # logging - logpesterssetting = self.optionmenu.logpesterscheck.isChecked() + logpesterssetting = 0 + if self.optionmenu.logpesterscheck.isChecked(): + logpesterssetting = logpesterssetting | self.config.LOG + if self.optionmenu.stamppestercheck.isChecked(): + logpesterssetting = logpesterssetting | self.config.STAMP curlogpesters = self.config.logPesters() if logpesterssetting != curlogpesters: self.config.set('logPesters', logpesterssetting) - logmemossetting = self.optionmenu.logmemoscheck.isChecked() + logmemossetting = 0 + if self.optionmenu.logmemoscheck.isChecked(): + logmemossetting = logmemossetting | self.config.LOG + if self.optionmenu.stampmemocheck.isChecked(): + logmemossetting = logmemossetting | self.config.STAMP curlogmemos = self.config.logMemos() if logmemossetting != curlogmemos: self.config.set('logMemos', logmemossetting) From 25eff0d34f7ff5767121c097d4e55761556b8e5d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 13 May 2011 05:45:35 -0700 Subject: [PATCH 081/166] Was wrong about fixing animations slowing down :( --- TODO.mkdn | 1 + 1 file changed, 1 insertion(+) diff --git a/TODO.mkdn b/TODO.mkdn index 779b9bb..47edaa7 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -19,6 +19,7 @@ Bugs * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * When using mood sort, scroll position jumps to last selected chum * When switching chumhandles, OP doesn't appear to retain OP status (though they do) +* When left for a really long time, animations slow down pesterchum Mac Bugs -------- From 6b1ade8c4a6762b2df4adc2a64e3866dde5fa011 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 13 May 2011 07:37:36 -0700 Subject: [PATCH 082/166] Bug fixes: Don't show profile delete on first run, don't show advanced box in non-advanced mode --- menus.py | 14 +++++++------- pesterchum.py | 7 ++++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/menus.py b/menus.py index d135386..8df50b0 100644 --- a/menus.py +++ b/menus.py @@ -517,7 +517,7 @@ class PesterChooseProfile(QtGui.QDialog): self.cancel = QtGui.QPushButton("CANCEL", self) self.connect(self.cancel, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('reject()')) - if not collision: + if not collision and avail_profiles: self.delete = QtGui.QPushButton("DELETE", self) self.connect(self.delete, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('deleteProfile()')) @@ -537,7 +537,7 @@ class PesterChooseProfile(QtGui.QDialog): layout_0.addWidget(profileLabel) layout_0.addWidget(self.profileBox) layout_0.addLayout(layout_ok) - if not collision: + if not collision and avail_profiles: layout_0.addWidget(self.delete) layout_0.addLayout(layout_2) self.errorMsg = QtGui.QLabel(self) @@ -598,7 +598,6 @@ class PesterChooseProfile(QtGui.QDialog): problem.setInformativeText("There was a problem deleting the profile: %s" % (handle)) problem.setStandardButtons(QtGui.QMessageBox.Ok) problem.exec_() - self.reject() class PesterOptions(QtGui.QDialog): def __init__(self, config, theme, parent): @@ -737,10 +736,11 @@ class PesterOptions(QtGui.QDialog): layout_close.addWidget(QtGui.QLabel("Close")) layout_close.addWidget(self.closeBox) - self.modechange = QtGui.QLineEdit(self) - layout_change = QtGui.QHBoxLayout() - layout_change.addWidget(QtGui.QLabel("Change:")) - layout_change.addWidget(self.modechange) + if parent.advanced: + self.modechange = QtGui.QLineEdit(self) + layout_change = QtGui.QHBoxLayout() + layout_change.addWidget(QtGui.QLabel("Change:")) + layout_change.addWidget(self.modechange) self.ok = QtGui.QPushButton("OK", self) self.ok.setDefault(True) diff --git a/pesterchum.py b/pesterchum.py index 3df8f37..18102a4 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2474,9 +2474,10 @@ class PesterWindow(MovingWindow): self.config.set('opvMessages', opvmesssetting) # advanced ## user mode - newmodes = self.optionmenu.modechange.text() - if newmodes: - self.setChannelMode.emit(self.profile().handle, newmodes, "") + if self.advanced: + newmodes = self.optionmenu.modechange.text() + if newmodes: + self.setChannelMode.emit(self.profile().handle, newmodes, "") self.optionmenu = None def setButtonAction(self, button, setting, old): From 5904843d38c609c086f37b7da444f684b1bbf42d Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 13 May 2011 08:01:09 -0700 Subject: [PATCH 083/166] Bug fix: Create a working pesterchum.js file if one does not exist --- pesterchum.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pesterchum.py b/pesterchum.py index 18102a4..089fa2c 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -43,6 +43,7 @@ else: os.mkdir("profiles") if not os.path.exists("pesterchum.js"): f = open("pesterchum.js", 'w') + f.write("{}") f.close() class waitingMessageHolder(object): From 6e61703e6f1202698ec06c448cdf3a5e363c0219 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 13 May 2011 09:55:36 -0700 Subject: [PATCH 084/166] Ignore pesterchum.js --- .gitignore | 3 ++- pesterchum.js | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 pesterchum.js diff --git a/.gitignore b/.gitignore index ce37f30..a21575d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ build/* profiles/* tmp/* irctest.log -*.pyc \ No newline at end of file +*.pyc +pesterchum.js diff --git a/pesterchum.js b/pesterchum.js deleted file mode 100644 index f8731ef..0000000 --- a/pesterchum.js +++ /dev/null @@ -1 +0,0 @@ -{"hideOfflineChums": false, "time12Format": true, "tabs": true, "soundon": true, "server": "irc.mindfang.org", "showSeconds": false, "showTimeStamps": false, "chums": ["unknownTraveler", "tentacleTherapist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "anguillaNuntia", "oilslickOrchid", "pretentiousFantasia", "aquaticMarinist", "lyricalKeraunoscopic", "counterRealist", "ectoBiologist", "percipientPedestrian", "asceticClinician", "doctectiveMiracles", "noSense", "ircMonster", "twinArmageddons", "cannabisHero", "jetRocket", "adiosToreador", "turntechGodhead", "magmaExploiter", "hannaSongstress", "endlessVoid", "grayscaleVisionary", "corruptedInsanity", "stupidlyBrilliant", "artsyGyarados", "obliviousCrafter", "sporadicAgent", "subtleChaotician", "nareSolee", "apostateCourier", "nocturnalTherapist", "herpaDerp", "clockworkUtopia", "digitalSamurai", "astronomicalMaster", "slipshodBrisant", "genialDustbuster", "hyperdriveTyphoon", "magnificentMiser", "gentleRuffian", "riskRepeats", "globalsoftPrika", "globalsoftPirka", "devonianCritter", "lethargicSerpent", "laughingShisa", "bluntInstrument", "sunilaSeed", "bluntInstrument", "nickServ", "ghostBinoculars", "alGore", "evacipatedBox", "acrylicEmulator", "prettyGemmaiden", "calSprite", "fairytalePorn", "brooklynRage", "computerCyanide"], "defaultprofile": "testProfile", "block": []} \ No newline at end of file From 9c7ac96ea28a69353ff4fc6a616bf65e50a2af67 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 13 May 2011 11:34:22 -0700 Subject: [PATCH 085/166] Bug fix: Stop Page up/down infinite recursion --- convo.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/convo.py b/convo.py index a73993c..ead896f 100644 --- a/convo.py +++ b/convo.py @@ -333,7 +333,8 @@ class PesterText(QtGui.QTextEdit): def keyPressEvent(self, event): if hasattr(self.parent(), 'textInput'): - self.parent().textInput.keyPressEvent(event) + if event.key() not in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown]: + self.parent().textInput.keyPressEvent(event) QtGui.QTextEdit.keyPressEvent(self, event) def mousePressEvent(self, event): From 1ee3472bb6bc7abc5327a0abb1ffb01bf5aaf934 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 13 May 2011 12:24:35 -0700 Subject: [PATCH 086/166] Improve log search --- logviewer.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/logviewer.py b/logviewer.py index daf90ce..cab7d49 100644 --- a/logviewer.py +++ b/logviewer.py @@ -13,7 +13,13 @@ class PesterLogSearchInput(QtGui.QLineEdit): self.setStyleSheet(theme["convo/input/style"] + "margin-right:0px;") def keyPressEvent(self, event): QtGui.QLineEdit.keyPressEvent(self, event) - self.parent().logSearch(self.text()) + if hasattr(self.parent(), 'textArea'): + if event.key() == QtCore.Qt.Key_Return: + self.parent().logSearch(self.text()) + if self.parent().textArea.find(self.text()): + self.parent().textArea.ensureCursorVisible() + else: + self.parent().logSearch(self.text()) class PesterLogHighlighter(QtGui.QSyntaxHighlighter): def __init__(self, parent): @@ -24,7 +30,7 @@ class PesterLogHighlighter(QtGui.QSyntaxHighlighter): self.hilightstyle.setForeground(QtGui.QBrush(QtCore.Qt.black)) def highlightBlock(self, text): for i in range(0, len(text)-(len(self.searchTerm)-1)): - if str(text[i:i+len(self.searchTerm)]).lower() == str(self.searchTerm).lower(): + if unicode(text[i:i+len(self.searchTerm)]).lower() == unicode(self.searchTerm).lower(): self.setFormat(i, len(self.searchTerm), self.hilightstyle) class PesterLogUserSelect(QtGui.QDialog): @@ -196,12 +202,21 @@ class PesterLogViewer(QtGui.QDialog): self.search = PesterLogSearchInput(theme, self) self.search.setFocus() + self.find = QtGui.QPushButton("Find", self) + font = self.find.font() + font.setPointSize(8) + self.find.setFont(font) + self.find.setDefault(True) + self.find.setFixedSize(40, 16) + layout_search = QtGui.QHBoxLayout() + layout_search.addWidget(self.search) + layout_search.addWidget(self.find) self.qdb = QtGui.QPushButton("Pesterchum QDB", self) + self.qdb.setFixedWidth(200) self.connect(self.qdb, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('openQDB()')) self.ok = QtGui.QPushButton("CLOSE", self) - self.ok.setDefault(True) self.ok.setFixedWidth(80) self.connect(self.ok, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('reject()')) @@ -214,7 +229,7 @@ class PesterLogViewer(QtGui.QDialog): layout_logs.addWidget(self.tree) layout_right = QtGui.QVBoxLayout() layout_right.addWidget(self.textArea) - layout_right.addWidget(self.search) + layout_right.addLayout(layout_search) layout_logs.addLayout(layout_right) layout_0 = QtGui.QVBoxLayout() From fd6f267180985265e7ad0dcb07e59c3c70082e55 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 13 May 2011 13:39:52 -0700 Subject: [PATCH 087/166] Option for turning off animations (to avoid lagging) --- convo.py | 16 +++++++++++----- logviewer.py | 5 +++-- memos.py | 4 ++++ menus.py | 10 ++++++++++ pesterchum.py | 7 +++++++ 5 files changed, 35 insertions(+), 7 deletions(-) diff --git a/convo.py b/convo.py index ead896f..c08f1c9 100644 --- a/convo.py +++ b/convo.py @@ -213,6 +213,10 @@ class PesterTabWindow(QtGui.QFrame): class PesterText(QtGui.QTextEdit): def __init__(self, theme, parent=None): QtGui.QTextEdit.__init__(self, parent) + if hasattr(self.parent(), 'mainwindow'): + self.mainwindow = self.parent().mainwindow + else: + self.mainwindow = self.parent() self.initTheme(theme) self.setReadOnly(True) self.setMouseTracking(True) @@ -231,11 +235,13 @@ class PesterText(QtGui.QTextEdit): movie.start() @QtCore.pyqtSlot() def animate(self): - movie = self.sender() - self.document().resource(QtGui.QTextDocument.ImageResource, self.urls[movie]).clear() - self.document().addResource(QtGui.QTextDocument.ImageResource, - self.urls[movie], movie.currentPixmap()) - self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()) + if self.mainwindow.config.animations(): + movie = self.sender() + self.document().resource(QtGui.QTextDocument.ImageResource, self.urls[movie]).clear() + self.document().addResource(QtGui.QTextDocument.ImageResource, + self.urls[movie], movie.currentPixmap()) + self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()) + @QtCore.pyqtSlot(bool) def textReady(self, ready): diff --git a/logviewer.py b/logviewer.py index cab7d49..4b253ea 100644 --- a/logviewer.py +++ b/logviewer.py @@ -126,6 +126,7 @@ class PesterLogViewer(QtGui.QDialog): self.config = config self.theme = theme self.parent = parent + self.mainwindow = parent global _datadir self.handle = parent.profile().handle self.chum = chum @@ -207,13 +208,13 @@ class PesterLogViewer(QtGui.QDialog): font.setPointSize(8) self.find.setFont(font) self.find.setDefault(True) - self.find.setFixedSize(40, 16) + self.find.setFixedSize(40, 20) layout_search = QtGui.QHBoxLayout() layout_search.addWidget(self.search) layout_search.addWidget(self.find) self.qdb = QtGui.QPushButton("Pesterchum QDB", self) - self.qdb.setFixedWidth(200) + self.qdb.setFixedWidth(260) self.connect(self.qdb, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('openQDB()')) self.ok = QtGui.QPushButton("CLOSE", self) diff --git a/memos.py b/memos.py index c9499d1..5c01c48 100644 --- a/memos.py +++ b/memos.py @@ -237,6 +237,10 @@ _ctag_begin = re.compile(r'') class MemoText(PesterText): def __init__(self, theme, parent=None): QtGui.QTextEdit.__init__(self, parent) + if hasattr(self.parent(), 'mainwindow'): + self.mainwindow = self.parent().mainwindow + else: + self.mainwindow = self.parent() self.initTheme(theme) self.setReadOnly(True) self.setMouseTracking(True) diff --git a/menus.py b/menus.py index 8df50b0..723a8e4 100644 --- a/menus.py +++ b/menus.py @@ -670,6 +670,14 @@ class PesterOptions(QtGui.QDialog): if self.config.opvoiceMessages(): self.memomessagecheck.setChecked(True) + self.animationscheck = QtGui.QCheckBox("Use animated smilies", self) + if self.config.animations(): + self.animationscheck.setChecked(True) + animateLabel = QtGui.QLabel("(Disable if you leave chats open for LOOOONG periods of time)") + font = animateLabel.font() + font.setPointSize(8) + animateLabel.setFont(font) + self.userlinkscheck = QtGui.QCheckBox("Disable #Memo and @User Links", self) self.userlinkscheck.setChecked(self.config.disableUserLinks()) self.userlinkscheck.setVisible(False) @@ -773,6 +781,8 @@ class PesterOptions(QtGui.QDialog): layout_chat.addWidget(self.timestampBox) layout_chat.addWidget(self.secondscheck) layout_chat.addWidget(self.memomessagecheck) + layout_chat.addWidget(self.animationscheck) + layout_chat.addWidget(animateLabel) # Re-enable these when it's possible to disable User and Memo links #layout_chat.addWidget(hr) #layout_chat.addWidget(QtGui.QLabel("User and Memo Links")) diff --git a/pesterchum.py b/pesterchum.py index 089fa2c..67d8d2c 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -372,6 +372,8 @@ class userConfig(object): return self.config.get('closeAction', 1) def opvoiceMessages(self): return self.config.get('opvMessages', True) + def animations(self): + return self.config.get('animations', True) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -2473,6 +2475,11 @@ class PesterWindow(MovingWindow): curopvmess = self.config.opvoiceMessages() if opvmesssetting != curopvmess: self.config.set('opvMessages', opvmesssetting) + # animated smiles + animatesetting = self.optionmenu.animationscheck.isChecked() + curanimate = self.config.animations() + if animatesetting != curanimate: + self.config.set('animations', animatesetting) # advanced ## user mode if self.advanced: From 7ab14cdc2d296f6b5dcb21602d358d0ff480a2c6 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 15 May 2011 21:20:20 -0700 Subject: [PATCH 088/166] Sort memo user list alphabetically, ops and voices first --- memos.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/memos.py b/memos.py index 5c01c48..2ff467a 100644 --- a/memos.py +++ b/memos.py @@ -558,6 +558,17 @@ class PesterMemo(PesterConvo): icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) item.setIcon(icon) self.userlist.addItem(item) + self.sortUsers() + + def sortUsers(self): + users = [] + listing = self.userlist.item(0) + while listing is not None: + users.append(self.userlist.takeItem(0)) + listing = self.userlist.item(0) + users.sort(key=lambda x: ((0 if x.op else 1), (0 if x.voice else 1), x.text())) + for u in users: + self.userlist.addItem(u) def timeUpdate(self, handle, cmd): window = self.mainwindow @@ -764,6 +775,7 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.addAction(self.opAction) self.userlist.optionsMenu.addAction(self.voiceAction) self.userlist.optionsMenu.addAction(self.banuserAction) + self.sortUsers() elif update == "-o": self.mainwindow.channelNames.emit(self.channel) if self.mainwindow.config.opvoiceMessages(): @@ -798,6 +810,7 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.removeAction(self.opAction) self.userlist.optionsMenu.removeAction(self.voiceAction) self.userlist.optionsMenu.removeAction(self.banuserAction) + self.sortUsers() elif update == "+v": if self.mainwindow.config.opvoiceMessages(): chum = PesterProfile(h) @@ -824,6 +837,7 @@ class PesterMemo(PesterConvo): if not c.op: icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) c.setIcon(icon) + self.sortUsers() elif update == "-v": if self.mainwindow.config.opvoiceMessages(): chum = PesterProfile(h) @@ -853,6 +867,7 @@ class PesterMemo(PesterConvo): else: icon = QtGui.QIcon() c.setIcon(icon) + self.sortUsers() @QtCore.pyqtSlot() def addChumSlot(self): From 0780f4761408065bdffd75d8884cca5b064868aa Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 16 May 2011 22:42:56 -0700 Subject: [PATCH 089/166] Bug fix: YAAFFA (Yet Another Attempted Fix For Animations) --- convo.py | 24 ++++++++++++++++++------ parsetools.py | 2 +- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/convo.py b/convo.py index c08f1c9..2b26625 100644 --- a/convo.py +++ b/convo.py @@ -230,17 +230,29 @@ class PesterText(QtGui.QTextEdit): movie = QtGui.QMovie(self) movie.setFileName(fileName) self.urls[movie] = url + + for f in range(movie.frameCount()): + yes = movie.jumpToFrame(f) + if yes: + url = "%s_%s" % (self.urls[movie].toString(), f) + self.document().addResource(QtGui.QTextDocument.ImageResource, + QtCore.QUrl(url), movie.currentPixmap()) + self.connect(movie, QtCore.SIGNAL('frameChanged(int)'), - self, QtCore.SLOT('animate()')) + self, QtCore.SLOT('animate(int)')) movie.start() - @QtCore.pyqtSlot() - def animate(self): + @QtCore.pyqtSlot(int) + def animate(self, frame): if self.mainwindow.config.animations(): + scrollPos = self.verticalScrollBar().sliderPosition() movie = self.sender() - self.document().resource(QtGui.QTextDocument.ImageResource, self.urls[movie]).clear() - self.document().addResource(QtGui.QTextDocument.ImageResource, - self.urls[movie], movie.currentPixmap()) + url = self.urls[movie].toString() + def stuff(mo): + return '' % (url, frame) + html = re.sub(r'' % (url), stuff, str(self.toHtml())) + self.setHtml(html) self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()) + self.verticalScrollBar().setSliderPosition(scrollPos) @QtCore.pyqtSlot(bool) diff --git a/parsetools.py b/parsetools.py index b8f1d27..051adbf 100644 --- a/parsetools.py +++ b/parsetools.py @@ -424,7 +424,7 @@ smiledict = { ":manipulative:": "manipulative.png", ":vigorous:": "vigorous.png", ":perky:": "perky.png", - ":acceptant:": "acceptant.png", + ":acceptant:": "acceptant.gif", } reverse_smiley = dict((v,k) for k, v in smiledict.iteritems()) From e797912dc11047418da713288bffcbf0c1559d89 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 16 May 2011 23:57:19 -0700 Subject: [PATCH 090/166] Bug fix-bug fix: Unicode that html (animation stuff) --- convo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/convo.py b/convo.py index 2b26625..028a161 100644 --- a/convo.py +++ b/convo.py @@ -249,7 +249,7 @@ class PesterText(QtGui.QTextEdit): url = self.urls[movie].toString() def stuff(mo): return '' % (url, frame) - html = re.sub(r'' % (url), stuff, str(self.toHtml())) + html = re.sub(r'' % (url), stuff, unicode(self.toHtml())) self.setHtml(html) self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()) self.verticalScrollBar().setSliderPosition(scrollPos) From ae93fceee7ebd085a8b0a534bfff2ff22ad887bc Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 17 May 2011 02:46:26 -0700 Subject: [PATCH 091/166] Success in removing the animations memory leak, but they still slow PC down horrendously --- TODO.mkdn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO.mkdn b/TODO.mkdn index 47edaa7..79d8d73 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -19,7 +19,8 @@ Bugs * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * When using mood sort, scroll position jumps to last selected chum * When switching chumhandles, OP doesn't appear to retain OP status (though they do) -* When left for a really long time, animations slow down pesterchum +* Animations slow down pesterchum on not small conversations +* Long line splitter will split in the middle of color tags Mac Bugs -------- From c6342f5305a606c64ffbf23dd02e7f69a94c3767 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 17 May 2011 10:56:43 -0700 Subject: [PATCH 092/166] Bug fix: Refix accepting messages from non-Pesterchum users, this time keeping ? times --- memos.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/memos.py b/memos.py index 2ff467a..dad7b54 100644 --- a/memos.py +++ b/memos.py @@ -123,14 +123,20 @@ class TimeTracker(list): def setCurrent(self, timed): self.current = self.index(timed) def addRecord(self, timed): - (temporal, pcf, when) = pcfGrammar(timed - timedelta(0)) + try: + (temporal, pcf, when) = pcfGrammar(timed - timedelta(0)) + except TypeError: + (temporal, pcf, when) = pcfGrammar(mysteryTime()) if pcf == "C" or pcf == "?": return if timed in self.timerecord[pcf]: return self.timerecord[pcf].append(timed) def getRecord(self, timed): - (temporal, pcf, when) = pcfGrammar(timed - timedelta(0)) + try: + (temporal, pcf, when) = pcfGrammar(timed - timedelta(0)) + except TypeError: + (temporal, pcf, when) = pcfGrammar(mysteryTime()) if pcf == "C" or pcf == "?": return 0 if len(self.timerecord[pcf]) > 1: @@ -163,10 +169,11 @@ class TimeTracker(list): timed = self.getTime() return self.getGrammarTime(timed) def getGrammarTime(self, timed): - if not timed: - timed = timedelta(0) mytime = timedelta(0) - (temporal, pcf, when) = pcfGrammar(timed - mytime) + try: + (temporal, pcf, when) = pcfGrammar(timed - mytime) + except TypeError: + (temporal, pcf, when) = pcfGrammar(mysteryTime()) if timed == mytime: return TimeGrammar(temporal, pcf, when, 0) return TimeGrammar(temporal, pcf, when, self.getRecord(timed)) From 5228d35f9a12f2a57b04e3e1828218daf4bcc457 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 18 May 2011 21:38:30 -0700 Subject: [PATCH 093/166] Don't animate smilies that aren't animated. Revert back to animation memory leak (didn't slow down as much) but now with slightly less memory leak. --- convo.py | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/convo.py b/convo.py index 028a161..cce8dd6 100644 --- a/convo.py +++ b/convo.py @@ -229,30 +229,21 @@ class PesterText(QtGui.QTextEdit): def addAnimation(self, url, fileName): movie = QtGui.QMovie(self) movie.setFileName(fileName) - self.urls[movie] = url - - for f in range(movie.frameCount()): - yes = movie.jumpToFrame(f) - if yes: - url = "%s_%s" % (self.urls[movie].toString(), f) - self.document().addResource(QtGui.QTextDocument.ImageResource, - QtCore.QUrl(url), movie.currentPixmap()) - - self.connect(movie, QtCore.SIGNAL('frameChanged(int)'), - self, QtCore.SLOT('animate(int)')) - movie.start() + if movie.frameCount() > 1: + self.urls[movie] = url + self.connect(movie, QtCore.SIGNAL('frameChanged(int)'), + self, QtCore.SLOT('animate(int)')) + movie.start() @QtCore.pyqtSlot(int) def animate(self, frame): if self.mainwindow.config.animations(): - scrollPos = self.verticalScrollBar().sliderPosition() movie = self.sender() url = self.urls[movie].toString() - def stuff(mo): - return '' % (url, frame) - html = re.sub(r'' % (url), stuff, unicode(self.toHtml())) - self.setHtml(html) - self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()) - self.verticalScrollBar().setSliderPosition(scrollPos) + html = unicode(self.toHtml()) + if html.find(url) != -1: + self.document().addResource(QtGui.QTextDocument.ImageResource, + self.urls[movie], movie.currentPixmap()) + self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth()) @QtCore.pyqtSlot(bool) From ac1a9a429a72e48b18d6116583ac1a904b28d296 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 18 May 2011 23:15:17 -0700 Subject: [PATCH 094/166] Check pygame and PyQt4 install status and PyQt version before running --- pesterchum.py | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 67d8d2c..d3264f6 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -10,10 +10,36 @@ import codecs import re import socket import platform -from PyQt4 import QtGui, QtCore -import pygame from time import strftime +missing = [] +try: + from PyQt4 import QtGui, QtCore +except ImportError, e: + module = str(e) + if module[:16] == "No module named ": missing.append(module[16:]) + else: print e +try: + import pygame +except ImportError, e: + module = str(e) + if module[:16] == "No module named ": missing.append(module[16:]) + else: print e +if missing: + print "ERROR: The following modules are required for Pesterchum to run and are missing on your system:" + for m in missing: print "* "+m + exit() +vnum = QtCore.qVersion() +major = int(vnum[:vnum.find(".")]) +if vnum.find(".", vnum.find(".")+1) != -1: + minor = int(vnum[vnum.find(".")+1:vnum.find(".", vnum.find(".")+1)]) +else: + minor = int(vnum[vnum.find(".")+1:]) +if not ((major > 4) or (major == 4 and minor >= 6)): + print "ERROR: Pesterchum requires Qt version >= 4.6" + print "You currently have version " + vnum + ". Please ungrade Qt" + exit() + from menus import PesterChooseQuirks, PesterChooseTheme, \ PesterChooseProfile, PesterOptions, PesterUserlist, PesterMemoList, \ LoadingScreen, AboutPesterchum From 28b19f92c3110b21378599b8ecdbb563e181cd4f Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 18 May 2011 23:22:49 -0700 Subject: [PATCH 095/166] Remove tutorial directory from git and ignore it --- .gitignore | 1 + tutorial/convo_1.png | Bin 16971 -> 0 bytes tutorial/convo_2.png | Bin 18743 -> 0 bytes tutorial/enamel_ss.png | Bin 239687 -> 0 bytes tutorial/gold_ss.png | Bin 288541 -> 0 bytes tutorial/gold_xl_ss.png | Bin 198356 -> 0 bytes tutorial/mainmenu.png | Bin 11203 -> 0 bytes tutorial/memo.png | Bin 16053 -> 0 bytes tutorial/memo_1.png | Bin 22277 -> 0 bytes tutorial/memo_10.png | Bin 37562 -> 0 bytes tutorial/memo_11.png | Bin 37648 -> 0 bytes tutorial/memo_12.png | Bin 37475 -> 0 bytes tutorial/memo_13.png | Bin 35042 -> 0 bytes tutorial/memo_2.png | Bin 22549 -> 0 bytes tutorial/memo_3.png | Bin 29273 -> 0 bytes tutorial/memo_4.png | Bin 29339 -> 0 bytes tutorial/memo_5.png | Bin 37587 -> 0 bytes tutorial/memo_6.png | Bin 37579 -> 0 bytes tutorial/memo_7.png | Bin 38691 -> 0 bytes tutorial/memo_8.png | Bin 38388 -> 0 bytes tutorial/memo_useroptions.png | Bin 47858 -> 0 bytes tutorial/mispeller.png | Bin 5046 -> 0 bytes tutorial/options.png | Bin 9095 -> 0 bytes tutorial/pesterchum2.5_ss.png | Bin 190438 -> 0 bytes tutorial/pesterchum_ss.png | Bin 185840 -> 0 bytes tutorial/prefix.png | Bin 5567 -> 0 bytes tutorial/quirkmenu.png | Bin 12410 -> 0 bytes tutorial/quirks_terezi.png | Bin 17829 -> 0 bytes tutorial/random_replace_caps.png | Bin 12595 -> 0 bytes tutorial/random_replace_simple.png | Bin 12237 -> 0 bytes tutorial/regexp_a4.png | Bin 8004 -> 0 bytes tutorial/regexp_caps.png | Bin 8433 -> 0 bytes tutorial/simple_ee33.png | Bin 6568 -> 0 bytes tutorial/switch_profile.png | Bin 16473 -> 0 bytes tutorial/trollian2.5_ss.png | Bin 189041 -> 0 bytes tutorial/trollian_ss.png | Bin 177861 -> 0 bytes tutorial/trollslum.png | Bin 33841 -> 0 bytes tutorial/typewriter_ss.png | Bin 295807 -> 0 bytes tutorial/userlist.png | Bin 32592 -> 0 bytes 39 files changed, 1 insertion(+) delete mode 100644 tutorial/convo_1.png delete mode 100644 tutorial/convo_2.png delete mode 100644 tutorial/enamel_ss.png delete mode 100644 tutorial/gold_ss.png delete mode 100644 tutorial/gold_xl_ss.png delete mode 100644 tutorial/mainmenu.png delete mode 100644 tutorial/memo.png delete mode 100644 tutorial/memo_1.png delete mode 100644 tutorial/memo_10.png delete mode 100644 tutorial/memo_11.png delete mode 100644 tutorial/memo_12.png delete mode 100644 tutorial/memo_13.png delete mode 100644 tutorial/memo_2.png delete mode 100644 tutorial/memo_3.png delete mode 100644 tutorial/memo_4.png delete mode 100644 tutorial/memo_5.png delete mode 100644 tutorial/memo_6.png delete mode 100644 tutorial/memo_7.png delete mode 100644 tutorial/memo_8.png delete mode 100644 tutorial/memo_useroptions.png delete mode 100644 tutorial/mispeller.png delete mode 100644 tutorial/options.png delete mode 100644 tutorial/pesterchum2.5_ss.png delete mode 100644 tutorial/pesterchum_ss.png delete mode 100644 tutorial/prefix.png delete mode 100644 tutorial/quirkmenu.png delete mode 100644 tutorial/quirks_terezi.png delete mode 100644 tutorial/random_replace_caps.png delete mode 100644 tutorial/random_replace_simple.png delete mode 100644 tutorial/regexp_a4.png delete mode 100644 tutorial/regexp_caps.png delete mode 100644 tutorial/simple_ee33.png delete mode 100644 tutorial/switch_profile.png delete mode 100644 tutorial/trollian2.5_ss.png delete mode 100644 tutorial/trollian_ss.png delete mode 100644 tutorial/trollslum.png delete mode 100644 tutorial/typewriter_ss.png delete mode 100644 tutorial/userlist.png diff --git a/.gitignore b/.gitignore index a21575d..20bcf40 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ logs/* build/* profiles/* tmp/* +tutorial/* irctest.log *.pyc pesterchum.js diff --git a/tutorial/convo_1.png b/tutorial/convo_1.png deleted file mode 100644 index a367e21772b569006ef309aadfacd887def068cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16971 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 diff --git a/tutorial/convo_2.png b/tutorial/convo_2.png deleted file mode 100644 index 7821c729c427e46f79ae1164602bff27d44a6f57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18743 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 diff --git a/tutorial/enamel_ss.png b/tutorial/enamel_ss.png deleted file mode 100644 index 37d6b149f469716218afb9d481673c84417d46d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239687 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�JbB2&tG9FKjj_f(*MByEi^S4BV2 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 z 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

&V&(R{(#; zt|G|?e2Ezpbm7WTewp)J($-!#L8)S5Slw(3v+C!fJvfr5k-B1risABm4sAs)iEv5Mx@(BnR8jc?6l8|N@3QiAVt0st)!E(ONR#if(Xjs2U9!^HQnkD|%Xa=6JQk!@S zrleEV>wo2dpD08zlS4 zG|kXVLNIpYIA|B}7>~!}F_EE`+O3VNPd)vSjm^!CjT>!i+LpQ~M$-&$-MX>0h4J?G zU^wKNS*vV|3Lr?~bcv;=e8SpSK_9i0dj9h;?0j><1#I~VHoVW8yB%j2k2Am;beBRW}aaa~`Y#IEms6wy{E zo&{MH%64-Mdx=nGr%`Rw?aC%mG$2Sw0__Px7iLk8RDu*Nfx3=z>Iw)QZ{H#*Nz##r zQQ<8xO8Fl#%a-*x}hQqb%S1z5{FgLGXIl6wb84UXDcoStel@|r?Fsptp z3xf5m8mZQD{QFhfqaTB7o})XaoX7z;dXx@zinHk+5rq9U!B!LZTfB zwU#H0mnVSpTaF7w`rKk2zjz&<^vett&l{3fK3ax9l{uTiv8w!ot7F1&Cj?|6gXRJ> z&)1kLp^lv^BDym{_##l7(ul&u8pK6-w0#Lki=D7wyP4IK2F6BdYow^gb3-kG(=`Id z+gn>(8_l7+p8m`;!@<|BjZTcQJ#Glw)PP!0(^3m+K!X9bV;YaC9n-j_aZ5D$XG?86 zV+pN|j&5yjZEm+jYulTf+gqD!gCpsVx0QtpqaMrPhxa_sWtHR-y>U3WsU{V>FICo5 zJ;-zMUEv7t6NO<-b4#>WOXC+y7nL-psc2`<^L)=tGF+z0h$7Oafr+UwXI+lfoAoBH z2PPdK#p9iAuqz>D?mAGf`I3EXk_aHQ6_wYYf$nyYC(Fb!idvBua)Ps@J{Ei7JHQ|1 zwW+2;H0-%NaVa*4Wl3`SksK0pl_gXKmQvYL%-9ry9bnvPS2@%NL@^h3iAG9hpAklV zAaT!qZ{-qL_n90lu`SZmfQZNd)J*bI+DU2( znU-K$Gx-mi`e^Q%FI~F$$4~y&@%#SVWoe)y&eTuZP4pIdw zF*yp-(yHP}A?R}{Kq?_xC`NOI7D#Lsjp1sgp<}cPysd*`PbWm5Zk@Oimf$#WB58}y z$}deEjbq|x-%6HOXJ2E+-hC#@)QpD8RmMFEaPfg22lYln}t z?f9Y+PNJo4ApPrvTak)wx>938D4s^Udd_q~@E z?^r<|E68IJA&;u^QgiWH;2&dG0Xk+LZhO%*-i z$!vwC`qliv*-R6QHLrqhaAViSiRcQd0+FskB)Ty@bkH45Bfbyk3+BY-Yq26#R1o`Y z83L7%nK77?XC{w9fNqE+#?|o%RfwDc-Eag&X2>2EMs!Z)%n}cmR+@sdcDFvd;b(X< zs&=onrOeq!JfH>|$Ff0%l!`B|f58iA6WP{{NDL5aSA07bJx-BA>it;IhuN?HT zij(SzrZTd$_0;$Xi3f??(ux!}KxcM^jI>T|Q^dA)Oqww44jx2XhctN+hXIo)bzV7u zh@@HT;!YMwh&z{dT;hB0BsdWS=m!7xRUtA9LV_#BZY0jx(To#1j3GZC{rtI8K*>>D z!Um#I?7oGU#qH-(3^0WZ^GMIhNx�j%AvPsZlL-&CBwbJzgowu7J;wC)PI4_MMuv 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 `cs5xrdLmGw4e=2q^;zj_d_h~;Y3RPLUwrC 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

xB$u-7VUx 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 z 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 diff --git a/tutorial/gold_xl_ss.png b/tutorial/gold_xl_ss.png deleted file mode 100644 index 4ade5ac84bb73fdcf43a7f1015ead8bdcbafd726..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198356 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

vG{jOO(Lc_6=vAm2F5ejPYW-mL-1x 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 z%0A-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 Y=hF~cIEn)PfE*+(t{_(S(eT^<2l4mVKL7v# diff --git a/tutorial/memo_1.png b/tutorial/memo_1.png deleted file mode 100644 index d9d5f8276782d450cd3aeecd51a548c304c4345e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22277 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 N&R#fEeEO%me*<{x=!5_O diff --git a/tutorial/memo_10.png b/tutorial/memo_10.png deleted file mode 100644 index 71b21c93d270cf44cb6829b2c1e257fede78f1c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37562 zcmb5Vbx>SE(>IE{B#_{iKp?^0Ey3O0Ex0=@P9VYE-3b=l-GVy=cXwxDS?)=m_o@5V zy;Wb;_s7WrA1_l-ad<;;KfIDSNzAC^M zth2Jj7nsU%l0)DJs)MAKGYkw?-`@{xA{`bna1+@@N=^)U8IBMYnd5fd6lev8&_zts zMa16L*38ZYM#Ra?$i>W*!rjuvf1bq2MXfYff2fRPL%&`>&QQ1nz1JD+#|+{poPn-YEP9l`8nn zw0F(WS=M=Ut=4qIH-CrB_3NFXvs9k*(Ka^kHP7`_=O|O%Jh+X4`fF1JxBy{_R}cl3 z^Tc;J{=jYHlZFpY_k9QupOsjuT#~;}Q5fA#3B#nzxII3mE>7IW7Z7Jb#pETAex$eJ zn};38e9LBfg@O>sSs;->_rzxP9c{LubR{B?_uX=cja1;BulCQfVJX31*qFk6eoRr> zwst4(OddfiCOW5hlePzM@}8pJ=4%7pAaDxEzkAvm9%rb?*J z8gJwVnsW;726A5H2w#D;1}o6!p{eqOjYQ!T&YW{FLG$?d0S5JSv<*#*%=@=$t_hg} zpG_A!l5Vz<8!|@dr6>*+kH4TEy$VbYZ;7Rk$2c5RW}g2jl<}t^V9bo2d#w&5vQ=oR z+HowZ@uNgsjDy%Nk+j30AwN5pa^}WmMfnheopKytMR?&CCqL14}f?Ok`l8c{h zD+2B^tGdR<-sVf~sa|2h@KW7~;y`kkv>=hZ| z;z#@W!x`1L=1cRDJ7EKKVRuSUi%~XfiIGZ{A=7OB@M>Dz9o`sS#ZsT|hx0>c9!>>h z@{!5ZUZZlWcC{dKdw1!PGSu+XpwRRhaV;f1neofj2e0PWZ&t6{9w$;ScV+d>pL8bO z65f8zjV;rB*o23X&EgEL`C`xp-@~-XyRa}v)X4u7Im22u9CnaBnf0krf9!i%xX0

k|BVo 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 QkpKVy07*qoM6N<$f<2Nh9smFU diff --git a/tutorial/memo_11.png b/tutorial/memo_11.png deleted file mode 100644 index 7930dbfac992095f1c077e34dea4616750d30048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37648 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 x?hN;?}ykG;VyC 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 W`b)w#q}*x%0000ogf8Da0wK5cejwd^!xsQ zp3R$inMs&??#;2SYn>e;z9>m!W0GPbARu7N%1EdpARt2EZzFUxcuVDCfExS{qN}R3 z7(&hX+XMIohLenrD*^(}ufK1^6b2kJc;gESi=qN}*qEz>}n`uDh zR0Qe~Ol*9Qn)nWyUt4EKLDUhT*MA>amy=F?2Q14H505*)vMv005Jr;Mfp`M0=oI_Lmi9|E?=WuQxdXPM?i<1a{AQiw-$%04y z7U+M6sRKB+Vh?ioP=XJ3{I(DNI}axtXUv5(O%F{Kt`#wVUZlvr`J+a4y$Ui3=3#mB zzVA@#PoMY+cpX;-VT>wQNCg2wbw`27w8N6A+xr6bCK>IED?2O zTF%rn1{NKIXAqU<`y?=>@jJT^tefAtt*1aWZi}7~>3t2+-*^!BU z2#_U7{I?4y^<%cvAH$+s32J?T`9um%9NNx3?6)*p&sGSE)}LlNxka1oU{ z1G2Y{>ao=CHo^w0$$O`Iy$(5>^Dv_nG;M@a>s^hRUc|i6oxlkRdD^O}&NeThJ}IdH zDTFI&ZJeHl4bUg~neiYbTs%)%Q`0lh%RZS>q6No(uX)a%D`s%l04gY^fD0Ah@u5K8*Ehn4- zHaY~G&RrNN&D`Bw`AYpVpaQCi+@Zppi$ z9haA;No%m{^+!<1eEvA#9dM5lV%Y3mGhF$>A;89@!910CkAtckd4|TQf8X}f`=F4k z$vxRQSqsJ=cK!-r%pmQ0$r9Tq;!dAyzodHfmW-!{W8T1%90-F7Ak_Os;%5?Jgsvf( zJ1Q;p-`;)VFd0V+lWOO&%CYF>!`5*Er!fb z><~?o`dCV1@aXD&qb+VvUU(Y9Y=VmGa)47U#)PcwUJ2msrxJO;?5&vL1ap$8w&cXB zq|t|SR=Ru)xL63%8AD3Qx3fEt(f4^@RreChYrOWRN%Hbm!AyTGbk1cXE4w&m$?^$r z$8kNst@3xBM_;l>eDxWO!W&snln4pWy=UR_7^wyktHX9c3zDcF{%*M#G34q8v)TF$Wa!Vu!eBjlsWgeF=rM`N@ zBBEX?U>IP<*&w1H!?=|=4b-1s$mDMcXzgeb>4-ZvyXJZb3BSLZz9vh5-muZjhF>IQ zq)g-#TBCS&x9fP@ruG>%?u%xdY8jD_o5l%QJOSYro0EALu@4^0E20XoniXj+cl1?_ zV%j#_o!SdqJ?77d7@l=98h{Il%DU0*cq(b&?r!}eT%1G%fV*nYj_h=*kH!*LabqmA~OxD;> zStZx-{nVo(OX46|U_cKWw9>x}jBU4jyrrC!SmX~| zWsRR7#NLH54tZO6M~)n1i}*&yot-F%DiH9%w$Rf{p*>?X-<i$QoknMmbTFphPR{TPI@)+n>Lu)>c@E9fHxR*IrGP*OJ|&J?cNOxe44V= zD?9cL`SItXw|ex42lnf3eh)tF$J`mV52OXZ*sS6^16`kJP zpzPl;1=W8M(|?mP(AMhx@P{Da?vH5WuH55Li{;Rig2&sjB0$US{urTK9JV?Ev|N8# zu*-m1-qan8Cv4=I2u0?{XEMhx6jBBvWWA3!S-;pqX^jVaT5P+q>9^y&-Wu^1+6QsJ3YkOO(eZ{%XYZR=CrZ zn-(MZ5|g_6bGpId%O4;Drrpz>An;c)$LnoX3)=UpwK1M1C=I>C)k#^T`yKk|WA09MPK41T%q(HVpg7KSG)(&!mQoFo7 zu)((=?a8`_Cb>{0m=zTlhl?62$y`iKN&(u6isRVp=G|QOLqB!F?ls5*Hf5Z3ul8&< zS|L3P=_i7jNXC^UDf(zmYP=~S3~%WKML#+{4X<2QBWQOw>>_eX!)7tjyz*o zX)a?~JANKPkB!``W@$nEVqak&p2&{R!m^Am+VO*eDK)oocLDD+ zdaa<~pv3|*T(K`e{ia?j1~YdKB`Ih1C59ch1T5XH_6S`&_17U zV!NYtq!FKN8fz+LyP^qoqIBsY+^q?GFTbEzUI1dRWi$8dW`#+|VfaD&NUL_SjJ`hX z@AWhKx=``loO`}0wHV{3uOTxM!kfScMC`@h#TLxi@ETd$4%Ip)-nxDuVtAvBW`UmPdI_5H!&6kiM_5hd#OK+V4 zE$!o2aijaHNh@*bFx+=Wc23LS^>JtisM-ma0W~ z@2mf!C&HkKs2d!4(pu=6nP~7~FT91!NEvt#5vmAsr(UwDeim*w4ef8t%yg7@Ck)+- zW#8MF3JGm|$5a_eEc}H4Qh8XXML{}Nb*ELx;nU{E63{>xFp=}F^Llzxsvi&Un}o6h zA{W^~PR1MM%=qTfM`Mn)G16WjceeS;ZBj^xXJ3aRl}JnpSz)U5v zX{$f}?{hZ{kO@Ko^u%`-tykpW6vM(DztD7JT=Jk(UHUPi_;-`y8VEZUZlp{WQN^c4 zo@#h^aq8Te)eBw)vgRLU^U|o1IgU0m8qbAdynZ_h8k%={O%R}|NtemPbNXmIGZ^#Z4PYu$FR;TC zfh|7(;!%U*SuN4=%4ocZ7@vYHZmRGiMv+vUO3I!e#+N+OniCWqb!Tk*St0myJM_dT z#vVb?+sU^OKd3o>%CCNtwJ^7B(Hg2ux!l{elI%wzY!sTQA}#ua<9FN7hIWH)@n|nJ z+1(bgBOS-V_NV8$1!qgWI7MC*d3?1OYgw zhW42nz!)%?rPPgaC3CD$T+I6>jMbuc5nE=Iq;lEwc`S!<@%||xDM?G~;g_3vAO0Gh zVT^;8b45gPQ0xlXT%{wKQQEYyt6&Ov;<4eXve3_cPC}|F#aDnK?dTC7)yuanAb}?p z_o;)M^oXVArY#B>RbA%>7`w5T`p0UFHh5aPP!&zB`xdd$<1AOdnv<~cwo4~n7$n%I zyt{CO**NFC9k7Px+ZTm0(P z3Q)(LnrIC+@`E1q9plDy_>{3gOz`t`VwR4mTd7Rx-UC{r)>aA>_hb`IkhD-y;*u8@7JVwCrOw7Z5d*ctLYb~R zDk(jMIC6k*IH|RC(*5hd2}SYDFfZfE?p2R(`}4Z;M?mNqplH|vu@;+0WSFE8>`7YN>kQX z=-9t^kQ>uf&?Kp3ES#4?@glj1{Ei&s+i;ZEcC%}fYwJMXB=^MC0B9p^X&QO|W&ic* zVDGG4BPr`4wVQ4PmN$NfMi|J30ZjC6DgBt#N2;~XW2K~o5Zc;H-uAGYX&~oxve?83 z-O$QEM}- z!&8q4@Pr=)d>-EUwJ3E%)TQS%l@eN5iVD@C@b>vQA7lj-p|tkakU%9xw=Z-&?N$u` z&7Pc5RkVw_aARJ&qrpRZI@?E#9ui7>D7tMx)mra748LU73i;YveP;&KrR{))H46|D>Tlp9We97k zsKIYfZ=$Jwk0y9;x>6W)RUn7*Ey`v?p4@E7Zs{=-4O8+X2Ff@2KuW7eo!-1?@k?*n z*$C0eNKWnkv_)D>BU;}eQ72hClp{lPnM8=W3MEqSfad)hTNYtBqt#kOP`38dVFHwaA-@w0I*DHN*&ZAy|#a|_!XL_37`9l7=tJT=|Vy|{Bi5kPc;3kpIzw#y6 z0;AAyP`%m@3qA>DiwK@I%A?S<-d|<0(ij)a)%ZCEn*)nUE418gY-|o9`P~Br)9?os zDs6YiGI=_-F|4qKb#0B8ZBMg)PvSiU^0W;wb;Rtg>o6VRaArLbq{vq-SAM9KSf+6M zxK-wlT0K->*fklhR77uuY4nzC;6M;yrsJJHbkND|=WRz_vQGD=-{I>+onb*A$~T7I zKF7#>@o*%4Jb4izBjiL0DGK%U&$YoIn+RsWO+itCrmXK9bE)e_R@k`QH@_n#sc~Z2 z=-i{vvY`^I!~@NycaWLvu2MH`^FKFIB#5gZhL6r?hH-!n_YYZ(s`b%Sd zP>u}#gYc%NdSl&>{T-S1L(MeS-WOy%u|+l!nDyt!)cE+1nZrz}`wt<+gc^8>DDpYX z(nz0x2PO<78-Uc!y@ghu{*=qL%aRvlICP3I$k-=@U1qgQfIluriA_ZHP@|y0@ULhL zxqHZ2Oy@&kf-swfl9|=fZ_k;LmuDs$)xP>k!0iK<@tk>9(>k)HB)9!0cA>)RtkHPh zTZi%)ZpSLWn;Fl!?wZ+&VFf1SoC`b7=W5rHAFLC>op=!x2}Io8x`X77zCUk0$^_gwu-p+#}6- zW`xnFN?(Otjp5;V%4K&&XL!Lb;)RHtBh?nT*g-x0h=SuV-?A|Uw^WPsyCVyrS6K>& z+P3X^(PmdkW0m{<@Fc~38g`xFQgddq8-%;eR_@3MIY~~Hb@aj`wA)#EVtA8byaBxv z(ry-y1GbFbLoNJ-%!q_^m0(IlkDkpx_v>85AXUqPG8nEQ3_E}e%_Jtst!-txi=sW$ zsCD3%|2)G+uKlE%eV7f0U$+i!&j-^A(%*osQ@LpuY6|Edt_Os>uCv&3-OaNZdan&4 ze9MN9^;nswu`wyN0gvO0Equ>g4bn%0$mXgKyDNlmZYKHERmQstl84vjTQsJ-W11Eo zYID0Apc`_n4Y!pTw)Rq<{9@LR+*KC%{9R7dokMpjQLz%=~4H7TWqzyWV&EQpoA_XN%EF3U{+( zf$E(jqnlB<4&UrZEjb(EE|lbvW>U}ozGDRmLK4U_cavQWJa@GHS_g<~KRqXOG5Iz3 ziu!bi?He<=0zFMH^K4eTjMBd>v$tm4+E;a6S0~6KSGKiRrk^z*k${&*#VOm=)S2tx z%1EI{%U0IVHtb2mqXEqjG@M@%6VUj)u(wt=Ux81LU3q&jDFZqq<>O*M0=2L|YAB~| zBfpiOxja!b*I!b6pnPrB zfUTaKrkc?lguw>H+ti?!GK3!@G@qX^JI#OBLv*7xYAKc*)cgoTAIGr^*NThGp-d|_P-lGKTq5#vn(zOL{POaHqujt);vL{o^U(NPOxN|#Eb z;7?WTzY`_gnO)hgj&In*bXsK`uZFxv<9?Ut;~HSbjzA$igx6p_jNqKblg*9};0Pbd??%YRF#yNS6GJP_tPDsc~BSPM-;WcphcfJg#0cIG%4S46bH`>V=Nf z8v*4PW_})gk6lx?y*JCInW?G#x|&_Xpk#T_G2I<|I8>IFE?kk{$C{d#)&V(kK3C11zS-|1|x^L`G}_h3n3Hx>PE*x zzeZB+4x^zT!WM(KYz-d3%?$hbLHE$JDu{zm+qeNXpCsOCSbL!hOq&DaHPQRvD(?9X zA$XXuoF_AX3z4StU1j{pJi1vAd0M?&f26S3UDFu`>FoGDOOU{)m#J|#KJ8iTpAC*< z_|>eoSYXt=F1*xw&qe_52em7YGFqWUnb$*C(8lz@EyaQ$U`yXAFZ zjVKkP-#o@;Q~lMA>f_k?*ST#uZi=}rhj?#kgPCPN37z0oFPV{euYna^UAl{LxewWk zdL(PL8F7>~ztou$3=rTJ{a}_IBt1w=lr?~Pgu8E-*~LvU?XsEm%YB8(>y3GA2^ge& z%y6}F4dPG2e!5PYre@USO{(rDkodOuNrT-YmL>(vS`eP@U)sc|@3@{6K9WE^X`SB% zOlj1|-g?x`pQ1(f@dYsO+t1u=$vx1#WWAb?Tk*29BdmXUR>S^Be@)gpvcT}FBi1pu zrsr!Y*Hdzh3!}z+A>{-Bzr1+cuv{7r=g)%d;TQMLEwLaQ+`*gb63|N{`>C1oF59H^ zj7vWGHJzt+RS|Z)Biz|R`SH|N=3cu>*w%qAR3^=CL(+V*w6Iv`!7~}Ewxzhtxz=w2 zv#Nk`f&=PKbYU5z^cPR9b|z$zY%40$xrjebpqsu)Sq=1AHKW$ z1+A-oSULZt>OG6y&l_LRs!A;K1})ItTztzY)2ivD$J1hq33o}V7nW(aIqdw22x4Y-%Km{Q zH+5DPxVs$tjtJ^lAMvX@a`I%zeH1$QI{_}_AR-GTPUo4xMU4&xv_Q zA6DIL98JJjJ4#0b;7d=OCiWv+o>Y4+5S#bUbUsh@O^5h{r$%DSdM+!jpVmqw^;KE6 zb@UWrE=lU8ex{E<9w3hHR~in9Z$U3wF9>m|jREyIG1MGol_?LNny>J`+G{?%EjAK= zzBPbohsxi4K<4S(wsw^ybCWZ0!)W>=NFZ`tkR~d}rnE@MBEl$4vJYRCsAh zfR%^Sv>IoKDoAvle`Z<@VIO{Wyy%{(TXUY7C97{1nybe+^-#NN=T#hCD(q^iK*^yT z%Mn3DgwD)nfyKDYgCOQ0Ioi8|jj=`&9&^^8_x=!WALp}j9s3kkjoX_Q_`Qb_<5#|% z4BFnhbcyV+D7{=`R(C$hBIQlv8wc`0>$E(qb(b{AAnx zC^(ihy09zx1mybmz_$*6TkR#sRCxFP_o`F zC!Wma4FOW`j^oDPllKn;EL?=22)abijl_Q({{t@2Ls|a8L!$7t{|hWozG54}M@g*$ zL#XLLQ?>rUG!i@(qk0A5DJKb*Vlz|^6Lmsld{;aU$Y1#fpxonA{Rgs${WA)@8%%f) ze^J(#`+o;v#w9(TuJz_B{%4493_s#R|1<8-bK5`AlCrn|3|_;DHem&6{rNBO`TyuQ z1P<@u!-)Q!z`2N1kabM!!vMni=^84v^Dz9V9uA>yCVf%Z&o9`~CgMp1#T`7nY}vfR zs%R@=JMA8h@@W_&5t)tk8ars7Fszl*Q!&fy!aJkH^QhKtNtc2!CaWJjvcbyXw%=PV zaD+}D74=!QSYw)NMJGY~5`>Myy1}^ql>Fgy>ju7GnpHEp;%1I03OIdp}lpSqMC4N z6I%DbBajFKX2GU_hvoec!-t|Gpd9CHYVhyA1 z%EhKhZI0%Z0v2P_WLKbgCdihr18yo2k}Xbqh4O5ZZq82ELVv%j-6CUq8`#%yB=c~? zH=6Qr?Y+)O+Vui~W?rF?+LWfNgj{NRA2GdfEvD%F_;GM)E%b6|tsQag{0Kp2Ts2fCgHH6Uj`a#|OB^a!KsA*YQe< zoF@y`vP!xbKgo$}dw+IWnX6e;!I@n|`Kb}QJ+U9&R*#T9g^S>7{*FkEt#n?wRt@SZ zU^Kw-Qy^OkU^wx89$)C#USWU^+idUoLMXhOVzig#ajx1(;DH=%ypN%XrEMtf587OV zo&~oK>=bIS&*n}nwI(xu;uGWAVc0*$5=P;9+Pl6G+nFR{-1LLD%YnaG$M+-vCS`ql z1{a?DGL$)4#D0jO`Fwdx{%{+%Jgzl-e{zNpa-9`h#6@L|9pVNMRasv$vY`@jf3g!? z9K`qCvSc29v7gn760AjAzGO&kKX2RG6d}2{8#lLq)Cu5G?S4EEuwC1|j(a@O7WY1V zt=hsMC8{(2&b%P433owv?BE7h6xx2;q#>KdGLeaYz9bFgcRt)>INjxHj3AZV zJv&=pb4HRn!%5zu*nn#lt?Zif=Nr@On7sOR0{#|m32fiYz&{vN*1w;&eE$kMsvJEq zP$>zWj2A1edFAJi$l?2E@+DE6N!!KOf{Px71?$x5Ptecdh!cfiU+3HTz2E%j@6aY* zeRa4;2bQT+pf;CGEqi2k;!O0M9zS_n>MhnxKHr{rh2tRQ4Q2a+1<5z}Jqt;h08?$% z)XUAqvC;84GtPHsqY;E^`+^R#D?x4T(TUgOF^nyB17k*YbExX=F!+-sx2$%B)=xIVWl2IiCo+!~x`um&v!^!ctphE6=S(;)N(1 zKhQ!cKrT3@+=Sd6&nF{B$t8Y!@a`mgWtSX3!u0IS=Qm$t zxE0n?Zr#;IN;V0`9df2*d?(7bn0OmD*nC!8zlYH2(GLGn99%^mqX3f11IwX^oFuDR zxA^Fx07>JuHo`Oq;hfJaaFZ{I?PC#cNjbdC(p0+-GAK2^#-KR}zfj+XnYdoLcO6J0 zb*xIw^(xyDDVj$180NP>d0NNUUP%+dz0&(we;yFGEUny%Os%!FZhnBz7ab=|;BT@& zEv%`aZ)%ZPPrp2`yU$R3CX6da>Jt($lv;@=)>pMFM^b_`j5hKkjYTF}T;boMNe@1I+s%2dj56F1wM zCYxIQyFLZfXNDm5G}fbQ@Yy>6FUVPq%`5aPy_~hm(>x21!3+Xr7Am2CKKtDwPDcCk z$^8_*oVPIV`jPqxyL&RY_%@08km8yzP&|Qgo7d!T^|(o$?31b*t_`e>q;E{QwBoz( zs?iR>A{K0f&OXoLzZ7)`hQXd(zV(|w{WJC{6Qzzg;Q;y{d8lmFOHUi0qnG&S((JPb z@cFLds@7&M+7l!;-^|s-2yY;`bsdz3HQaL7Rj0--j1MsBF;#1dydWjNw|$`#GoJld z$pB_-r2%b})xBwO*^?^vf2FS}JSId01)8y?%@0=6+c)`4`Jzletx|LH^9Tm}yq>g9 zJe(E*t>P{%Og}!a8I&^$D*kG6#W;E5>|Hr)&~ZSl!-ppZ2LaM2c(QxW^1SVC5?6xQ zOBPd~9;M!gcOJMr6PMWK^#|_B=ys1-6w8tdk)sJpn}7gi^dl0@>KkO-A)O-KrT5F+ z1vS2UDs}^wnP6xv$dOCy>$#1kD;-(qB7C1_Z@SG+^Qm2V_zNi|t%2O}fa51Nb)uYJ z8|ESPEX`6}u8$%P)0l|?Suz_7?#;Fp6Tx(E{6DY~wrNWJLspC*4r$P1P0+4M4l}h2 zll|58ch+u7{RZ|T@MKjB0S~U!WvRFJ>gCL4vV}u%m&RSDo?`Ke@0bam*GQeMrmmmf z(VftQIug{L#DUSS9zA4*!=h?LOM>@Z^L+I;vre+zXdCyuWCCc@|E0lZu# zwb1$*rz)VnFl0C`jvM+$d@nI#sFkol7^! zJ%#pyJ8ja;WdRkSdRiGnc?c7kox@W+1@0Fo3ofwv!ke!C$&Qu*eVss~U+7CG4)y}d zpG?=5v@7H=_Bk;odQjXP?Crc+l-88I$4x5ars;;46`?5C7->;0rJ8QC$|#5D!^^iG-6u*gX%{}YPeMCm_2btc>z#Ni+X1djx9c>2xlJ8tdAjTsa=$6&Nf{;2t${MixP3~pmQ$NwZ0R55xsU-TpV#W-211Vnx_|t*`Mf{pGCT9ytnY1 zu}w^Z4XGQ?X5b^4FFaj1h#)N3?Dp(+(M|9vtc6drc{SA@A+6rwCh`d9Yul}w{ECLW z0iJJYkM6+Hin#GS9b63;o>X2eg_JFA8=b#A96rMm;He|2-ss`mKd@1%?!sOBng7PW zkGI~;EBJCR*YNZ7rL$F|l+SV#Zd_o^Tj;LtQV)D#4HEj5Rq4bfkRc1i<`WmPYbpvn95!X_+cL(&~NcGtl<=1PrZFk7~un&4n1SM58<|7Tw zALAX80KGhZZ#veneto4ccp?|LfX`~YMJTJi(|`%E@PI6V^VFeOzC-Olu%M`HQqEjB zajhP`YVx~2G&ssPn0jif#$P6pNM56kDVy|C3EFc(Ni#PVzB-fd7YKKy@zq3~OSlNK z;?}zki9AA*)^mrG3R)>(dpl`M@2XR(ECy1FZuCaHGefs19spI8%f@yux_%H{eBq%!P3ROC=&Vy zq5rRd`+qy6{J(gF>d^kBOSGW~P}>`AbG9KoI8N`C1atQNi`dsEBLB+`{GSBG|C2<} zjgr6g(YLniH@yT6#w~@nTrclV|LDxP&Q9qUjxF@V{L2KKm)4!15axEhuLX4Osu@La z6Ya{>aHPkC@`0j0m>a4rlHy>RhX0TWt#$<6 zUF=nk2|Oi?WNMHYx`k9Ff`9J3!UPf$ba32t7H*9-#b?ubKgmkiDxukI&*c`OYXSeV z8&Gx3we(HbMwQw+_p4oaEw&(vqBli`!0;&tLN*r;*d1+ncosM+z3E7q;Wp^eiz04QsaRv< z%o`IrpLO(ig|TK_?y-eliaP^3Sc6?&Fy_ZO9QmELN$FFYT` z6^Ky8Hd=5xBnaWto38`K>lM*%e5b+~Lp|^t9^e%_z{-%S`pYGKW>Ed|-n2Pzp#aj| z3hMsojQZ~q*1rui+d=LI)NbL={-cxMPmyI7J-V2UJ%_YC$#)YJ_dL2v?;#Kca&896UFafgulRK|DcUdcM0z zOL=th1|MI}>0i{34kyt(TntgBb6CdCw92P3@2q&P*=sylG^Cr4q_UX~zNGLw{|rBU zA9}dj8@Ta)JxrHqz(1#&QGd_!-ITaobvkHMDi&BCaE3Zpk@W2aGi$YxB&FNnz(TQ6 z(fFYpc?b<60F}D}W~2c$`T`6`K0`Fn^9rEUi1<@_h7pans$rQle(9M%Z^`9^caKfm z@x3~&W;}6%3y*ubCICS!5QsR@xXH<))AdE5C9xA1eAzk;Xh$G2#yL;0NpaJ9k!lnq zU_c9de*^Qc=ma3%A&V?!-_e6yi47eBoIOq!2TF4TB9%(}?YIS^J+Jpw=4y@B4lnPH z7y1FvE6Olj%2*&!#P{yhe4{T^5C*wY1VJHJ6ASI`42jh65=>8o^PMy!B&RX1c_;W! zF%nWz2I|d6cmp832+q#V3R%1f@$s*S7`2TBgiZQT5CR|<(g^QAd>9@b{bk0!FwH?4 zLrqQ1Y7Qds^YcUaJu$I&R14hwQ)eoZC}C&EXgQIy1Mhxte*UhWOo6=Z%yt>lokLtx zY~E&#wMLiTQ+ViJiCBZEi9FR~%{4CHBiBQAFTg4(1SLCv<@9PF(eLH8WS5K**Ry;&m63%vw>S7Nvs77R0xk9Eo?F1}c1$Hp2D6Gc zxf$%;g+8SG2zr5M;HZ_9%QI95O+uj_V`G^Q_@$GnH&LryzW4+LAyZb{J85LZ#&z1- z^=24|h=|)eJ53dkZvUt0I#cOy-;xu!`1v#DjQ}ej7cej|>{i-Sg#9015fYjwwRoNx zwtJo_X=)O=?u~z>q6(ZUlx6_8d9uJScNQ#jKeDkUYz@UF{rDlX*6nX^Zcz6Xm1oV5 zBQ!LWQNK0**Dnb_fB*8bGUKP)6TioU(!cdn2!4=@p&w%wgK?B`17A&!=BkrZQdCq_ zoOS5^EXl6xv3loc;KblNqE1GEI&B9v>F1q8*u&vnh7Z~Zsd1)_wxUX04Dw**{BznN z%uEzlu*8SU5h)gF4aww?I-lm8{8c%rA=(S?qawp6ogTD~VX^l=6}mJLb2NusKAcDK zzXKHI^ufY2YHRWw+=Jg2na(NyUuYd^*nGdm&PgXAs+MRPLDewM4CDf-mib@V88 zbGH_V&IJ<+B#)UDXI?KJ27by;DpE4!#LcCjVihT|$4S z*=NOxhmRkuwC82mWj;bwUtiw}ug4;vs9X)mEY0zWgug6?=Z|hsP*I&9udOw!w0k!P zqDXk1^5nhGz?H-ZTZ1tl1O>Cs&z%Ni$XO7H~0@#C=s#+JWBvDX!H3y@i11KS=!UKJ&MG{L_2R8 zMMd+=?cwORe2MUmuGWKbH_y)EN=x_5dE&XhaOIKAzQH!JP$OTpYRpp6jg%LmoPihGdbRu8En<xe*z!K#d^S9|nHvr+4)8i-wvJRR3x000ERvT+ZsiiXJ~4-l>ScXkn zcxKQM*p(iva~Z&8_bp>B4IEW%@i@088{nuy^X6m4)3Ha#Prk#dNAr%(Y7H7j+%h6J zMd%TO8?L+Yo070_qi;}Gx#}yGo08fn16n`@f1cH`ASO#W{`Xv#l>seXU68WK^RJ&K z{ri*o!TnxvyJ&4|r}r=u$+SfbEQ`8C&A9z$Sx z+7_9?Ly3hs!DyOaYwj}!sd_X@A+y&=%O;_|GFBD2Z|xn6_EP1!if$3&t$DG1l5F|Z=pXz(V+ zfs1^#YP{!!5Xx1NR%n6Hs>d|6=<^WgDB+M%p#W@07Xqok5{|n^W*_MrMxNf&?6eqJ za#b2e$IX5=A1&^<4}d;cR#a9V%-7~Brl+Q)aQ!s4o$Jv9m8lfI;d7y8(5l&vV(B(M zU2bE}J(BSja3PaVoUJn0yuEbiCvUKvsJRhd^B`O4@T8%mi@3gaYqnpKQc!pqCv^KK zbS1#!wUapw^r3H;4ieRuM(gkxaTqecnweqcnO$13#x=xK770OI#|OK>7EUujT0;o3 z+3~OurBlJ=>?`v_@3_h#%ZfFBu(PR*P~4Khp?7T_BP9YPH(M2GNX~Gk2@@%bZ7K8q zQRc(&Sedh80?&5+LUW7S6EwN-c1v`B8_dE;DhfOawZ@fI$za~@Xzf39_NXw-Jr8{k z6)u#(e394125lkz9xqYE=5||wZsWd@5DsFb=9^_|bXZV{89Y5=wqPKGruR))m%4=#Y zppb`VQ%V4YOK4tCK>q2A09)yyTfsG@=(l1gf~P0jNFt?f;o zU0_4$&x9ktT;#ToO4ELF&$E`&_>yhP&$H*%!Co)kzRfKRKq1!I7&%1HosoHW$XG3$ zq``1idkDLm{XE}|?{7~-quQhpqnKqR@|-|x+wzgtR{0&R?fC6O2kHP9v^WY= z&v1>q#4ff*wdd7u^(gNufwp~U6{jT|w9EjVY`!>6^TKf(_{MQyeG%~`QyFZSb&W+5 z$+y#QSWIEj&c*;n)nj!H2HMs7C`c7n^|PqQIsS}lkgWDZ{wXcwA<=Yg%bn^dy}+CP zz5d-Pf0I5uinLZze7~pwzb;7yezMEN+5s9e&3J*u9!hOgl3T{jzo@JK3POHCORvgp zVYg6^8Y3kRgFdspdD;0;!hR(PfC_eaoO~UKB#b5(Xb#FEWYCOHPap2OTh$w?UQ33+ z-IlsDnxv$Pfx+1A$xeMn;;WV1Ue2T7Tl_C(lAgFj${~5<~Ld z@^kw}MDb-AS(r0bF<#&RZWvt>Fr{Wp+w&7$M)CL&c@!A&Pr!!(4%*DhV>;xVMzurF zGR!s$(bdX!QyU4gSrQ9B{5`$H;@q=IIp6zl_KygM3nTF)YN;!7PrbvK# z+)B|d6VgsTXcI5Bja>eN;#{|}iB7v%1`Za8+w41)$o>~H=QUrP&`nE8K zz?~yw$0C@>QHKAm1xTUoxB#jO37J$#o<}e4DyFQ(wP#Y3Hvyg@ZNK5k;KO#3^5NSV zD^9_?WmgF)sm0i8orbWTk+dboy+RD40jqx_o&mHLKqX2#~>5 z0iIdIzl95hLKSzP;hA643YQZ+m8TkEHv&}aTfx)H(Oi+-=;)W-FsLs)_D@=I{u&ry zgNyoGa0*G~u-R9*MjWqp=^YRuqp^Bl!i&KeI4s8-?Zu9#3SYztUZTU{k(QBv%IK&< zj`uD}!2QMxPEzbr~>ow8$*%Btod18Et{$6CjCjz!Y#|f({4@m z$52}N$i%~wO9`iRwHc8Y9`1@PwuAJ~ho^BVFM9vOo)F7!z;qTWbx$o+2*(Pf@;{Xu zhK~#fj%aitn7(46e!_oQRugMloqx<_%A_>i^&Qjbyj0_U^QM(pF4hKK;dSJkSC&XL zLwJwXB#)Jb%%j#p@Zr@TGgb@|0Sqtf=3;3!+mi`9qPN{$IGI?;UQdum2XGMhOn5Lg4v-HaxRqb6DoZ`yZ6O zby$>bw>D0LG$NhK11d@=(k-O|0!pWX(%oGW0s;mp4aP`=bPa-nBHcZNNQZRI@U3~C z_uczD_P6)`9lt+3gkhMu=enK3*16vz|H^ zMAT_1l$x6Q1~ zF35PU>33&HTKQqT{#ASk2=weXt*586{_f6DRaPeAQhtGxuo#)vWeKm3#2jA>=Icy6 zEi$Z(h7{ai?PNCb_3_$h+5G_lUfx{264NDji4XTP?mc<(mv7_rzND1YX|5Dz$F;4e zCmxB}D@oox?dZ5iN=Eig=X#ARA8=y#s<*iB<^rt62Bbjr@nb>8@7>)W>_&?H_lESW zE5{{fg`EbXV`CR$MW=Bdjg>$B`t|Fe56j5+S6n^^Q(jmQT|JrG@bqJ0;fsKi{hU7Q zE7u;Hnv66B_$BXr99ca&K%R90lDLBmMC(K0lp*0U2jSE$1+%^Ib9tg#px$fqgBdaq zi`&v=0^Smm(U)4ZQ{GlkSe4qDq=Apg!^QOsV7T%N#xMCg1#r``#WUFLUneKG_rF&a z_grHvzfQ}*&|XwMZR_`NG>Z1JK3tWJjg9{Gj+xnog>Mjp+d5N)J{1-|`TCrORm?ef za?A z=;DH@Ij{UR`sLsh9~9?ej0p_n2y|%_rCxngGNJL*+EAcwVPg>d z%T4Ebiy0n4D!pYl{30cV z(Xhh$3$QKvb?#SjvI38*O8ss=LlMIIiapr9atO%?)Y zR#^ecuC6!XNedyw?3_1l$nw5Q-Ii3{jHc%^9F@MQO!dIoxfIQ4wdWSTZc0i{{tm(k zlpFmY)LA^&M&*5d>wX^B-U}*Pp#9py5O)6YEK91m+lQ%b0_*V#o17EehK2@4QAbuB z-Ga(HtCQwGvX=U5-K?eqPaJUI7OEQ?ryDKQpKR1Gk5^uUvZl(9xicNbvjQoqWnv=j zt*~9W!-Pn8maLP6u9v<(qfUYDQ~1~~pamqF?%Mc)!)R#;uoizN-Fn9I;t2@}|I9{m zoM&KAiKJvhJp4!r3&ABM^ajq+c^aB8+49e}wzjfO>ODI%B$FSvM$j#h2-}ao1jde* zj!wzk{L&j9^-F?+z0*F-LYCwV{KlmpgO=YXuU+!(kvzz-nCDkw?*xSJ8gXRw2KUfHeN+VN7vZ~DJw?|9M_VTF*7m!fTPcJ!<^vLr%#2D zoB@xOJ5EXPn>BT2O8cb`_vjqk@nvz+H*qG2eaRAhj2B78!6PHn^c_8vuQQK4Lkqxi zm=AnVS5#3MsBy7K5->AuexC{90M>w1ErN`al1EG|rLge&?c2Abb=rUgdj0ZcGaMHy z)bEv3$nM@gJ}xuOxQ12sckkRGK?R=h1>1b7o?Trvl3T-th)moJ*HtWm8T|AR$9=g! z9A4M;^w6b$VBiQ&<5*Kby)=6*pA*+YM)e@W((lZO~5B77${31#BN^j35@x68!lYjV@11+FbIm| zbTOAuAaKhbw-VJ8vR}BM=^)53Agc0LW1@T>(1{kE}++7d%AA_x=YV*d`D4{0IohPJp9i_{pNW(y6_=e>_!cX zjGSLwY=?-7Bdn2qFOe5}CxBeVdHv?iC!GTNFJHbiKzOQfLS;gT9xgH>ZcgGeBB7x0 zFvJ80<9uA^x^#)uT`+p(3hs5&21Z#~*#{3Ei~@#(wat}(Ms$C5F*+gP0uEraH8z^G zYcky2-xl^<5}V*=eE50LC5n2Pp56)R=y`Q@wNxecjGE7mak@4eQLqrad7BejBinCV zcYXo?w{Pa9ZLw)ijBT|*ou0nK+kG_Z43}XnN<%v_P0DeMLt`0wb)i- z_g1pd-Xf6Y08GW4XK(@o11lV-n5n3!pvq`hppsUElEh}X(BRb~@tWflWWTw^MHM)p z3<9Q5GqT@!S_Bv9_qDy;@QPJW{jeZs?N8(^4O(taFjs}H+Be51Xg@?;cvvWUpXpX`l80m8d)=5cP77$qeZjQs4cd!Gnc25*IrB<-33 zb=c~&&VB|*l_xe+5AMLKS+vIy4jNH6H8rWFiNxM~+Hq%|q{Tz7ZHth`KSyz9b@gW? zN8lBTizM7re+Q4QHN-tyl2Fd);R4TR$U-?uL_1m-2x$D}sR_!q2;~XPs0rk+`^(on zBS4X=;fDs_l;hwmB1js*TXUN~w4c$CbDF7{eCJr5g?$AQ(Ysqh!O_R^CZp~9Tiy6= z_`+J7WEBL=cvs~ZB5w(Ycm-dJ*g2*3rduLxpkO74NN(26B-g(7#P6nN{mXUnI{u%* zs;+P7#{xsKK|AGlTSL+!u|GLEQ5$Ys__Q)pU_7BEUXS(c1kQCl{-uCb_v4l3i!*!~ z8y;vjVnzI{W#k0D7I$f)nSi<92l@aN-j%u^ERx+58r0YWYGgla6fA%2MZU#JjVD!f z;Dcw->^{Tth;&P;6o)Zal0++FH!s*LL?ifsx-&*>W>g_&dA2B1Cqi8?R{$+cANzK`?(SPFLsAQC8jx>+2xEP=PmKMLL?$~IBxl1 zY??g-;zlaHBgMRp)BjwaVVL30K=D2jJ=*!pcD39fL}>h)keZX%P@tvr@IQAYLGVkE zW{{rC;e`2NQ<&?-L|Z{*ZrdVT86l}qgj>&$?yvS{V+D*d4}IRGg2$ryd-*U)y8@>5 zR52p|5Hf2Tv7qg3@bcIST4g3BVzVSxxMAo@rGLNOQY-c^KSWgo+-f`op z?^e+?(^6(e2?S>trr`3wwU-qVvy+v-LP6hDSaCUl_X~>5UP)cf%|GQN+qmJt?(vU) z^KEk)AM`sVlt>@n!77tp{cb z*@SV-9LoHbfX<@d@2RN1)DgQ+3;X~5#qbB5hq`>t)^?wX2;03J=Kj>s7t&lw_Q-vV z;!!wWxgxqvj4(J{*lQvVW|N3_YbKvL3r4YZ3!8dL{eC=MP;Yx_EbzofW?Dwfb>!uO3-yvRdC7+CxDlw;4BcScK)$dRnv(NJc;ZdZjZ z;+0J+tsTPKyH1)G<91rKYdm;C`22P~3Iw+1Ms<$(^L8FpBB?K!A67ToiqQ%4p!7Kg zLj9|cK1;|J%%0+Fz1d06;FyZIO1T(#PI%-C9sQ#lwl^0pBoxR{@74V>+pBF`4M_G# z?Heg6`LXX7k^1){6VB3;HF5m5{F*#uE?W6Apg{edtW&vEL9`YOO>=+p!W}NK#(GYw zWI3MeZn*tVkDb#WBi?Lw_-7vFL4}wL)#!AsZ%wM*W3>K%N?&^7sGnlzSYe{RH7JV@dJcaOqxtxPP^1Q3%29Yxf2j zZQ?Sjg1IfvRdPeX%O=v$hk9^M(Ge@(xVn+?JI+9LsKSv-b~z<2?I#FE0PQ3J=4J!e zCIw6q0a1QsMu~B4ODG}PXoHUseM~rD^Z2DDYbmLBS$yj4|bk7Cj z<#pdTFAV7q6fd6C;jEGejmUjt^iEt|OcswOb#y!M=-A{k;Sd_(2%u6MWD6TWY#|wf zV-Y%ZU4ub*)T(8ntA~e&)J#lwfnCOZ9uva_h{ydHU}dT2x?!FBG8XDZ#l+0-^vEt^ zOZb^~j-bCFuNRxt7JZi@W62tq%CfxE%dH}zo6iK*+QWZafG$qPt6c* z8D+kxllSyv;)ti_4pI?@RePJqCvJnjf0!sQ33WJUYK`Qa(rMj5Ik_)NzRA^VWho$Z zVztdcDqkOf*%`F(_=Id{_B^ zK3JzeINn>e8L#-Xyjx^c{Q(Ln&zL44QPfgjBlmYcsHZKVkg^~f>YmXD2HH>7^d-zh zMn=-Iu&6=-LqbVel_daZ9-jC5?c0tCC!~5Jug=m?L2_g3_Wp#^&hcu=z()-ZK!7S) zG6B|8b(Je-3kzjWew+uYP#mc0tRRed!13-E6eGBalD0imN*==_uN=gLRKMt%3 zu{zywf8e`<637kR^v3JbbRlFF$Jg#{PyXWHaBNqLF{qkD7xlyI@0h-hw>!^6k78Tdef1E^QjVWO&XGd?;xS0$bu>ly$YD~kF8gcd## zc{Y}?SQ(0eTIoTp>(h>80jGRQKBKB%zA-Vo8n*}4P-MN=@EFY8}`q*6sr!mB_`6mKLQl&z* zrg(!~?56srkV4SZCvRF|_eVxo=R`i|e-q0)Yfc5qIN(LuK_Pl<>)uCs>M}SGUlbcN4IAIkqgTw1eCJ z7Zk-@GBWI%t%Ty@;$h(nk?Ixt*U4E#UbrrFm{cDpdPDAUyd)afpZVu#jG9hnsO{r8 zdV-m*WXg!Fkgx58obS+1bACT7kH>~jCH5Th!S^H68wSNs9(~?$AI)^3LAd;Gr)V#_ z`P|uxbI`IW2k(@1a1W0$yAjuBoMMVqKb|>@ayTPoOoXoQw$wC5PgpgkTS+PJcw%ZF={xr5J#&#%+VcpUfZ#K0 zG7g8ap`lAAn-W8lVpjzUUe2FRZAFU7M4Ap>I*p+p+SKG`|j7a>u#)O|14@vNS+-3^cr9?$+{Y;v9;YtkWOX{O{Gh50csZ15sMNNZ5z6$M_c3`Z zE*|0Al23}<6{S5iJi}CP5RiX0?mStkY>E5` zy}rV6i$2vwimjJb>6;2&G>Fi*T#1k>wZd}C02)$kL z9&0KRL{9j2#P-O*T%CfGYHw1LgH(W!ZRit@!LXX{I#bb=V{L(QQ^b`^I2)#Y){-5YCYqEL53QZf|s<8Wf)lRi{BKwP*TkF#UZk#xFog0yFpw5SUyV{Yv1BFd*-q&p1mejvVDygPL?~qF_rk=dl)JtSqxl47)6~6=-%Tzb8BQSXS zLZWVmp>XwAK4v5;hC!ge!N&~@Z)8(Jhg*+9IctMMLPip3ZG8odQx?E5dwY9RL$=I1 zOP9Ty3&di&v|p02opui|FK>s81&U5Y?<8H^jq#Q>H4vaBNZrN>Dw)Gz(8eOM`kYb> zJr?3fNl9U$CIpjPLj?uwi@;Uump;P1ri)0;rlFxBXA}&^Y8l5X*Zi!ozDTUx3(}M` za8!A>lJ{sK>`(40dj2OrB!aV}JlrQ*QCrql z+-u*qVRoo$(y>GVVZ`3CGDfZWMG^LRiA)P zkH%~SD(h8j*K)avlZP1v`j;3^*J{$!g_XVX3jU9kkGQQ@Z#-};HXmR-TveB`s-X9i zuVLc@Vkhc*e_cTEI^xHZgIvpevJICWzKY_Y*S{GYWo||QCxnW#f0HIhO>j_JtG{ls z^$krQmNur9$OF6(^*;rb{67U2eE)Y9MUbP&`DS0u_0ODA)9JSA_V%_n=4jE$*B71- zwbmKWOQ?_l0Il~mIVvAR0K^*RY_NorJi(bI4K;Q1=N=iqhXYntR&JP6pTB=H`?fZR z9}TSWtJkkVx#9$F^eHf>;Ed$Jdh1~CxI%CS6Kpfo2GK*d@4@>Z1zOqu9b>Gl07srx zHZZ+Gs*+bHoRlsF#HEr(3JR(#|MmjxGmnjpxv!5Wf(^;-cPA5;>eSZ00N=H@wmw4z zon<&7(Mj;Gk1Gvr#>(FZpf{L=EMLBSi9NWZm39ov%gbOGyy3m|i20T^jvUAt@WC!$ zyok%ek%d=QkDI*Ul{n30H(dA_@B$9deyo}_W2WA-gnlyJD~r)!0(}G7Vr95U6+|Nt zzShPoV|dixZVf)vcwD9rN`~68-PJ6pY@JyQ4zZXHoFC~D9?`JJ`|3RGpn8Y|6EO&a zAP6S{f!W*W=jFS<_5*B$sS+N%1_r$M*P)zJtF#?r6nun(J~{XZl_?gcC-501h2ZPB zr^T{}_7@rmnVXwi_vI2|PavcW9IOp>ZK67UW2$~2PvvhCc`>Wtr7M&vM2|rH0vS63 zbTTMnu>S4F)2x7fCdlkq#gCZXI~bDEiHy*KSJE^cpJ4^|s&UBKrA9I5pl0EiFAOZU z9xLa@0WT7k>K+}{2W_hr?j~piUIwyy%O#cmKuNYZJeiFQ57(-+)e&)=#LDUj{j%Hu z6hwLm$*iCtrAr^{Xlhb(1Rh=l4b*+9H$=i?rPK)}b5ls@lVK$<_M9`{A^{d08&4-| z-Izq|Q%wAEm__WrgGLFu(j~Cw!lnWFkp$tKW6|~k_6*tnu0Z4NYZJvyFlYigv8wJq z*hKYwjiOy&C@`rP0jNi$t*>RZ;51yAIWT&*@}<8Z;) z7cZV1Z7;lFyb%g_8OZlm5Nr*q9odov%q+pJ17ZU&x-v-vjzCQ;0V<-T#0j^I82j09 zfY+~EIRtGGm$$(hsC#kneZyuu1&6pjs;N;<%3kHb8L<2JA3v^Eu+qo8?=2sjVq-s| zjK8L*U2&0vgX5$M1kAVm$bwzb(3TZFW8K6m~U%1YO{ujlwp>b}B) zuF-qLLIU0^)GrH#Oh?1Y`l7m86t?*#V9j9>Ccb?DIR~(XW|O}U)Djw?n}oP^rio(7 z4BO$tA8@n{YMd{^k{_O&&_Zzms96;b6NG5kV&~b}(6Har?7#H%(AicOs@%5Sq##ou2F?i478nUKsu zcqJht%L4#ESYn3F?pVVjJmcg2j9kdh`<**?X5d~Q9v%JpN~=Ll zO^wqG?f~oILZ-5^GOS?)kYhi{Ri~xAgO-_FFL$vEifw?NhpJ3 z&?4(ERKrdHNv9PK!5Bzg0F9u&bKPt_0JOba5m=mZ!-5E62>ewLtf&h?1uN@7O~fkh z8rIJ4*SWlxD(O``unU1u*rW+?(W~@yHIN6Dw!)2C{_xGm_{WJ$VtgO(H?(8~1Py<( zyr0Y$o4_xC$%@u9{ckjp@)VU}+?kFCZaYU+8#=|S`*}`*{)4lvkwO5VZ3ht-y}~$2 zzO~V#yVu-0+4(jlT&`tiwXA#nTN+8^r~1DVUG=8lAyjOHGrP+Jo_gh28jvL1&4|A! z4fq~N?6}yH?LUQ)?{svKkHY#d9l~S&0KQ!Juqo}!U*#3W*x&s}4hj8-M3aB4SUVD3Wz^#+Kf6lUFn8~qqLy(b?co64i zhfuxidG9+}{svpC#LB4zwDg5jn0|3&I(J*r#2#pIY!7RPVJoj}I;OfTm}6*X=X z!3L33$cJVT1@@R=`d}(ey2JX%DEI8L9O>(Im3oYEN9U}I1}5S@tthkgSB$)q(p0Lh zB_!$1_~1U{g09ZmuzxC+(6^*?qyM3k9}S{l6-7Qe*LGwwTj+1u?L=fXvMFj3_-_e? zYT&6gLFaHrKh6x-n`Pi@?=^;-F*1aN6VXT&DOR;nRS_qO1f0)@@iFL4sSiGcT5}EL!Zx; zOt$O?F>O*S6g9e4pF=N9PXC@zxZ5z}^v`h4ILpj)zL#$;YEGiQT^Y#=VF>;yfxe3_ z?Iy~+m2Q_P|4tG=hcfd8XdXl%^$6s%O6%AW_P7>n%0lA%tMkNmAvYCnmKqqPdM!K9 z$O%kcy+^2P=VE6~eOO=l)O4!%@tEH88LFY9LU%+^%8woRgAYf>8K~<@CP*ju_CJ0O zUnZ^}H#H+YF6Vu0;?KfEYC31OUgr7N7*Q_lg)xy*Ll5upTeP&CVWgN^FU=(7o$m}q5};--Z(B*PQ=v>h1d{1d36yX z1&_hWa7V=5cw`=r+&ChHnSc2opw8WpnY?v?|Wr_fMf5b`c6T-5Xc3>97Xk7OhCTn= zBHyz_8O z0`6y&_Uqt8XWxosOA@hetT?a2(*R&}msrG`#!iofWl<4N<0BXhBhnrb7DG zPvL7u>upE6bf42-8IsulVhX%W=h`qoforkX&Q!9j@%V|cg`^&Clkh3qM@cFXJWaQY z7z4%enETs-jnCuKB^SNIKX0=My98RL)CNxNeY|4a_+Xj05z_J}2LIXLF3e&D-|V9| zzE0j<#ELYETbm@u*`{otaSn3Z7B=7QV8!Z7hh78|8(V*W{o&<|I6UA9s?!}EIMJsu|+@=9-3`MS8_1|1Wiq7Bsr7%M4#O|t2Zu4OLd=oS=2 z`I=>O^S-=CdX!`9z%h~Uq30+ke%Wo$aJl=td{J`Ki_mLBQ=d|7kg~yM9%&GHNklVP zP7J5D2PL*O@YFSP%#eyjd6c$^b*YF21G~Io39~T62+!-Kl#G#vMrdl=Wuq(pbTxKg zrcQZtbrU~-r+89_4h{Zx;YH>Z_$Uc@WU|EGEGf@OrMB?|87dtEo(|R>3}~%>(!kAB z;rl6}=tW|0H{PB-d?SdVvgt&-*z{6m+Wq;B2bBYC4J6-YRkiQvX=Gm|M5)62ilT@S z(S}wiWrtQD)F4dvSjT6T3(t&I=F>68T{y3C)1Ww0qJ*K+>Kmj5H@iwYxt;qGPJY#fZ<%~07 z?6@4f{88(?qK%u5NiI0N_M3N$MPsII_ePxsEXeUdn!a5Tdhk@XAhe zB*hawjO=^a(s&UUFQYRSLpKJE|y42YvLm@Ic z{;Fs6+wa5Q1*nm&i4B&je5mqtU_T!msWm?xTghm?#aUw{qruQ_+9Q6hiqcHHwThII zozrShXyBiFQo8jMx5T!<go9kHYvJDjzAD-S)lcxZ1(Y0j}|UX~gN_Itn+a zZ*DQ_?ckx+BcZKZN3_g-xt2)Te7@bA7`RD)E<0u{Yp3hMp% zdmWjwU=b&)p|myE6|{YwrQRtY>vA^sa`-#_qv|TsF491WjsQphBF6+w=8M(TMf|;k z&j_X^-EA{b*5_~iMNE?qZrW}$)ddE45R(jw9TPbGX|nx(Ci95Uwr0*rB7R&hOoqcT zp+tt-{0d6dP!8FLMD?_<*r@l)& z_B1Cyb1kPd_@1C_MY})eGd?Y7sf;DQOjq9ZXFa6scz%U+O~BmD3w@PRg={QodCLpO zw)m^8ljh0L?8?QAk|{(MRsff$R=ap@9sBwJ6Jlb&`5*D;-#?tZ7#c+QT&YNRB>#eG z#sETxFeX}g(H3by|B6GagvWN4m5YAR_h_VrN&8mA^tOiH$`2yUyOKQ@8%p^rQ=wTQ zhB`eDzP9tQ`yhq}ZFA|fZK6njy$&_p9!mMZW2;mHHl0qDqDmQx%IV|vdrpIw#NxE& z`Sc`(i|E8d?{3Vf* zP`>8jc`Gx(tKC34LnXi6Rt9R1a^ z{sEFi^*erLy0cc_sqwmKs|(*ThuAWvF_3MAk>I*A;g4E_C$@bIj{J05xaHUTFF*k2 z^C#n7yN0No<4`PGz*I~xMj0LiO4vH=U2WcJ#&d8Omiwku{houcA%>JmGVzq#{wMyr zX2|38KJ~@aS!Fh5=8n2^3o-{I6ZRJ^2efd5@!T&jo(qU`LsZVkPQSPk?b%42hc`KC zuZ(xFgvzY5{}O?QAbVZecf~>AwJd8dIo(LJGOz8_NjZX3EXeD#|44t+07VAbgeTSD zG1?M~mNx~A*mcwsdO8Dz))%8u!PXgGgo7{dzGgWxTScdR=rJ?(OCwrFCzfEz9$sH9ucWJbS+*kIU>s-t28TW| znzIn+)(D=Nfvo05*)WF}`?nkL8i-C2jm(L`;*>|~@2p4sxQta6>uFxxOjzbZr#>E) z4bF`uHz%jsWt<6^`gHtxHYEh{-Je!d-gh$A$C+<^qWWcBz>DZkt0e0H6HJce`=a0- zo(?NZWa_?K8{uH@Pmusw3dBU_6&zW6g&`DmdX;T#G^C$I9n{PPieX5%1g@O$o z2Q|R07B@m6+X`K)(XA-@)&uT@iD{8((S#QKI`7p@R?(k=WsD1PiiGGRxvU=i=Oal2 znhuS{%CR~kw@7|XHDBfP47&NtOV*aPL2$%RU_HEM?AFNef%kfV%e$(5ybB^v1hu`Q zb(s|_K7ToJd0_PY#3Pc(;jxT)x&6p^(-*_u==`*?eS?xl$uEZFR%utvn0bA3KckDs zd+1P0ahnGb`xFCn$4=VcZLE&W>`r*{ZcCgIO}?*ITJk$`QK-|QT%<~jEaprw{ep^# zra~4{-}ob6%eYB=zVaK2aUtURi>!(zRAH2UkW$x;l;TDLNe`3gTtTl!m)DQu-ndU! zFSGq}I$XCo%=n1>$y8-xM}9I_<>ca{6*DO?&b608Kknd|&@+U|h3gR!7-#-#n)X-wYz#ptZP%R`#7!NphfJ{O>i_2b`Ou~B0on*7MIYqm`6`}inp z7}CRUj>Bx@j_k?9obmEiN^*s+{;c;0Jp;q#Lb!G8>vpthHzd?^o6P8Qeh1dfT^tnb z4;WX_ArxlnvOh{+NBz!48yg%;YdL918`*Lj#9IE}3sNR`K}j0y;ku%YVoQgPN*jCMp#d+~g} zIL{OyTr|1H5MzgCHhsnTQt#u}@e6OT8ZilDM89#4pDEX}yOf$&X>B#0ZZtb4_=z`n z(chD=brZ;&K0@}CZc5qOAIlzZV#ZmhA9)MP#JffjeM@m>S1KKEg><65wDgA z7OR}xmsj6y$Zk~WL)>sOdovwF7IEL2V1=&NPd%w;4D*Nc=GMYf*^j|+T?N3m0 zmNz<(&7*(8#HD_TM9;<0=(u(~?NYI?{FSorx8CM@6E5IYH7f6(uG`d-v{1Z{$H>}5 zyUzB!;-Lw99j$+;^yd=>0QIf%mvMiaLjT9q=1hDJLpNwHW^tva_x{yi;F<#4ei}$P zGjR=C8AG57&A$8ap(E%sP{8U8r{vmd_Np`-M&G-n2Ft7ec9tpjY_SeN!SdNJ$ua7F+D21xg&b#ium(H|Wh=AaH>sedrxz_5Vtot?j+ckn$h^;qQ# z8k)9Xc857g5TIv4e>9^`K0+S}riUlM)W3W84g@DvFdTr(KVJF_DE`mRv$x|oWbd11 zl5*(f+$Q{>kwrOk^9-7Ppr2IZ_H8`qE&yYFtq$^kQ&#Gvg0vR0{+3Msf662I5*Gcz-AbA^^T^^t9`^ho<3I(tkQU2g#Ez`m$6@NecYF0k_*GHDxd7CmN&wNLk$6MX=wwEEwvREfC8=fa)K zvbUCmw_(lU&71M5q?+^MWuie?S?tML1U=x%)2BC}*&&Wq{5CMo%VVD}gWcxo%HXFb zPd|xegVE^{FK;xcA>fv40mGCWH1SBEfk2pIJCuLpQ8Nx!90n8rA^HHdoelg;~bmB76J7K~uCo10E6r%H)PXf-BhMdZ>u zOxC;tuK^ACDPrjPu>LmCM+s*JG-RJbld${dbOyV$FIEAOIWrD7wwtOG#xbgPe6OA+ zf>kCrH+w)hB{k--+H-;~3?QNTdw-Na<~fU(IerckO0bP<5?&kjJ+eGJ5jUTvN9x%3 z<%Xjh;E7d1pop%wi@}fh)@n|tdaEM7q%OI0=zQT?6;Wd z7q>E`)6ff>M&@)&0d#n*7>)z>h&dp2!Lx|7^|w(_>*IYkti#RHk_Q9|?n{?K<)3Ny zwCiACgJB!fpxLjl2?-qp5M(CY*;-p#uzC%PsN<8#8W-(C{k|rr)(8szRXyz^X^@OZ zirK*a|8%tUv8M~J^=Route^+C7ZfcJ<`f@2$~MVvf5FrWI{n(RneQ@p{hevI9%*Qx z>UNx}&qo%uCW03a$bQnnDIE-U13~vSn3KXg60hNFA_D^~J5%KAJ&P?CLG?()t{rIA zxw*N;<5{m>%~oK*?0A1C{{KrjD#DV!L=I}$e{?9_^MhUvaEf3la_Hl*0Nnw**+I?1 zYxnr?`j#Z2i!b8mX^FAcXIclgbHSi2&=(W~lTP@R-5F@o1<~IQ?~H3*_p3a4QN*g?77_wNE`RYv*f6L9hEwhw)p`&vC`9 zNebF%;kblD!(DIrQ&p_#<{!6Y8#KVdX?c~Ic^^87U{De^^(0)=ivv?>A~e_IZGp#i zpwdpSBjIW*m@lmVYoii@oVRz)z$xfa;Jy3}r}-oJZ+?Lr2bx51s_e&ZL%$R*?zI>H zjkNai=g!2}cZltY6c{Md*Vi{#Xz&KSuH_J_;i|U|4lZB6{sJ6*$q2+1==p~2`InRw zD+o#ubnp;9cslvoU!WZa5*QvdAgMtEZ~8D2+<#y{X>}|bZ=lCfe|zhqkkEh)MqXY% zEF$7&z_Gi8=h}Bz?)9VkiB$at?;EhUAYGLD9XNvdRtdsz`Y?*_>eZ__V1pTxln~ML zzjrVCCy0^(AOou>Z>BjlT@)8j1y3jq^ym24lD0TRTRr=Z>m+PXt!5iRN_cSRns831 zZ?mz}*;gjI_M_r`rv;}@MfKhj{L$>96H+<7$gd_^C0ku8>eH(DrpoGbe$2ucCsiad zUF`-(gk#5p!M~6c$D2=^U8kZD3*&FkQBh&Xfq=@4jpHEbS%U`y9I6+uTzL+<6fFlw z56EsT{p=<9Kvo(%5s9N0hJ`yXw;`}olfY#i8rH_#lRk7ofQ2DEQu z``th}^qz~lOhQ7E?Yi(eit9cO4o&u5MS1Ox`#T3aJ6vGzf@p{JSApjXYaoHNg6$5% z3Tgg_P5(oW)WbzD-N0aQBK2aWbPEfET32ouwD1n@5cC+%&(6w&`|Yl(Dz+g?A(9eo zCEYJCDs1iVTf$z069;)m4m{17nVFsG;%~qz*5BU`p(tYjNSKKvth)uYH*CitjvpHu zjXvrL!pz?~gTAJgmKHIWxv&6z9+*u8wp4cCrHc;_0>LDK^%TL8hG7C}&<+lh!D`{! z|G=OX!yvuRlpD_gYe3?Odj9+oI9oudECb~bHd~8Dyfh4`@5+!Iu{j2hH;AWjy09uO zv>3hD-HLZ&3fgn){Q75v?DHbshMN6>QHJer_p$yv%iD8jXu4o#TvJww^sx66X7u`g z?yFxnQ00l=M9Sk_Kk*BTW;v~zF8Dggj`Qj*P+9=cQ%eyHVHUPch(3lrcmv#&GDp8? zYiqn1u_hPaxUo2->Gz$7f^Pperu|Qk%XxOaEA0Q){-9ep0vx(iNqblT1twRR;8kY+ zjdW$CM1VmLWQHh`rWp~?IbX09=qkVc4^gmdp}?N|6?To`beWgwBLGWiNbe;WKl9Y^FxF|3KdjGwW3ehYU9$-IfzZ3k&@M}YGlAHo3VdaCY8|vya zY%|fbQfCCFgub{=_{3VOo71+g?gmM(IH(adrz&C@NB(K`cdaof1!%*MXGz!GqV&|E1}e{vBtUSo+;I- z$;j!D66xPeLkdOL$%Ol)u}(O>n>C#xNGCeos}l5a2F~qoYcu z-CfoVP@ez(fdF=11qS)f^Ue6^f(v}Ke9%9`FXuH(_-Kk|pGV+0muHTz4a*KNyj=MSL-l5rvn~0cg zLP|(>6)3o3lZYcVUmkMl)$B&@Sac+ZeAs)MS)uus@Jt?U@@>}X-}Lt;TRul&+$f$0 zQ)|&8o60w_Swf9#gXRO&$6efw1r4+-z;T1?BaY$gE%6HXXyuLu{Jo1V_k0% zcdWQc+%I&~X?j@qCXwV;--L2@E*W%Gt=4R)1uV3&(G)fcgeOwG*{inxGi9^HY2q$) zmh0>pkl7nV<^ZUT%E?1&asncKvA32UJ})>Y?>YK=xs?PWyxd1k zSr$5`LS1WlRxJAPOc`Zu`l{7`bts0npf3pD5>zCc+WRW@HR<6Uy&qy%`3hd{Vnk~y zV|dM~6jaDSkTfq@ec9ev=T>@5lu&{=wp#8sAf5>tKSt7+80d|BMC{`q7VOKY5jTyn zy(!!7r7r%Ek0hkJ?7Q(;tDWTb^5?B0!(jQ?vXShW!$Ng`_K{F&yoGJ`TWeTmg>4}M zgCk6aY?wa4DOFf>p-jO&<*pyNR`I)Wo5WT6qP&{TG~Gzk7f{_wWBK(pGM2?4fP8

o@zRY`N#V4^Y&()7eJH4bf8uEdQ2_b`Zs^x5ZCiw|hI*pVKhKqYl%y0F~i z6kO;1+kGblIqszYY7?Ux0qs#}-c;uAHZg;E{$qKkUkJdF9s>$ZcX52`{$~$cW?O-wfbC}L=r&|S z_|0iuj58xM?|jkzx!cPZP9>uTnhp3Y9||t!Gu*@M)dm~ltXNH5W#m%7TJzy8GMv_` zP|txj>~(Mhmuu0keC^w`T+1-vLax${EYf9c^c-(4x}X%eCS5Lw(3)8;l9|sY(^uW4 zP3TzN!O|owqmu_r$q9)ilc)Xs*cLX>SSjZTq*DtoV;gEiHScMa%owaA|7pd|xnOSm zq+Max^lz)>mB#Oi(mC2>nBO+8&me&WlO}MHa8smKUe?4S30> z;jOV*=6?`KC-sYc`lp8*_1@8e`-1%Y6H9F0FUTF#jv8br<&!>L8+Cc=4eKYkH~;;E zzx(Ro3IEtW|LGO}ub$Aq8;Jkwga7Mq{OgB*w;=zAwX|kxtIm|kA=C2J@C5?-mx~{< z9e&tPSzQ#)F{Xb^4qtAcUcff_{cR-0wk`kHcNKh=d<*jS`&UJNC6hFJwz%OXe3z`%>R9Hg3CMOhG-zHM_j^H7HkEva^>5kbj zmM@J(6TMQxw;g%pYm~hAwOTEGRHg2H^O-zt~q90Me2QV#2T)d691ND(pV(1c;P-T&s9s+lpk_K}W3%D zcB2}VtN;_1DsrC)|OH+S#DQkGawN5&icGmPkDkSwbd$s3;3p4N;y zDwYot^r#@Jsd|OmxBC{$r<=v|x#icKl9pniQ$E}*`ViaVHi5$E%56b$uK}h>sJFsD zz~HT$V6wf$$Je#%lfF<3MLoOU+KusQryl5P@dh{T7&7S00aazu-ZI;|H5(~tt%=!Z zmmX|yt8wX&z-+57^~yV}_TqlHAD*M210x8M8jfRGJ{E4&y5*=cRPx=r(1aOplO}Z<ViOo(e>}ht>$(~!_WWLT38!lHBQm=$RbkZQHi=?AepRz`)!3+ElBiT;6BSsEK+u;c*nB zs#TTcdhT4o&cV5J`TI+9{m!0+;$A9u>i*C}%A2rtD{R;R|NN&KGWoy%yISyXguv%5 z@hGuY{w;IqH&2a__ksnd*cQLJsgw5fQ?}HtrC*H23VnQh3b@$o)vH(F?;}T!kdcuA zz^}jlN?u+b_uO+2jT$v#$BrFXtyU5e5_s~-CwckhmkZ>bk&(f--+oKKe*LIwcv=^g z=f#T`nLT?p?c2AfOqnvQTeprfWy;{|>wDW@nw~x3i!Wfw5_syVqL1s=O^so%S_Oj# z=Wn;UySsNUnf2?@LyfPmSfR$-i-Ws$_wrJc1Mj~d9)Da-=(}*?<_c>`6a5=GX-}e1 z2-k(3KgTH%zF8lkPyz!3sZgOpfo=Wz^`mp=&VZW5-?3vyGBPqKTed7A|KHyIyCe{Y zaUA~`4lNfAVnk&jG`O`iY!B zkw`?fT1~F&DwD~mQmM%EJUNaN`q&l<()_%1cxd(f*H`KBvG=%GOgcD_uCAn3OS-(Y z?c#C!KB)7Xo3rD*xUg>h`}^(&ML+xSJNL~^>*RlWvT-*z_IXFENaz!6(2j*?>ElmO z@(G4s-SG8#ec(39WKzw~;_DCTbh>Bv{-Ax9%jL0*?c$={R(5%B z%f@B1QnBd&_r__ZAE*cK0R2qbD{3*h78WGW8$NDj#hTE3voeBU*_yF+b`h*w| z50LPIka??8g#$ps2Y@ddDNc@v2RiW&004l54*&p2_y7Qagbx4!NcaE%U_|w^^NZG&XNd*?0Ar^4{35CS%B{@)**hTt g0AM_wZ|y`r0Nz$3TXu{0c>n+a07*qoM6N<$f+n8P_5c6? diff --git a/tutorial/memo_13.png b/tutorial/memo_13.png deleted file mode 100644 index bbd10b81e07f13736fef5a725afbed37620b1edf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35042 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

R{k)60Z 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 diff --git a/tutorial/memo_3.png b/tutorial/memo_3.png deleted file mode 100644 index 4e3d03a1fab72e168afc6f2977329f001e6b2a41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29273 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 K7Yi>~-Tgl_QY{7m diff --git a/tutorial/memo_4.png b/tutorial/memo_4.png deleted file mode 100644 index c2328fbcdf6a90d1e79d138c20bcd5a799ef37a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29339 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

32G-A$XNfTd%aU8Q&gw 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 H>f!$aRQQVa diff --git a/tutorial/memo_5.png b/tutorial/memo_5.png deleted file mode 100644 index e5cb332739d17f4df3c65df4d5045715627245a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37587 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
pMR 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
pMR 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 Cb(j4B diff --git a/tutorial/memo_7.png b/tutorial/memo_7.png deleted file mode 100644 index 5e61b48e174180a47f6bfe48e11b40a72cc242e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38691 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≪(}Urhfrnb(sdz_4lK*B57bT6+rhP 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°E^M$jPwG2ce(RkyBzl16?#@GMx!0CKro<|F$Z|8-p= zXRhYCq)I4~n`_&F3Iz}$yq7zD@1S*}?MOF(#(c|{zJsh!O;)Wl(<(#oWjhQj#+Pn$ zC}-(TN!V%nPZm#^LEy%R$u=L4r~7l@oVD3@f0U_(1wRgx%iidv<^ec8ND2Xn9i>hx z`+oRnc}pHeXvQ!nRsXBam2XZ;Kxf0Gm|ym;+Ug;!;MeCJ#EScdP$8c5Q5~+T$FgYq zp53>n&-u-Jr{kPDL0VU+zNpp(tgGZ5PTnSPRf~j#3m4q7duX;a(GoadMl8@d%>&A<7W+a zx5nz2)0KJ*lrUv!K~}MID!Dv=x}reI`r+Ds;MN_-45gJ{ZOGK+^!jie#6e(5;0$-b#S(8t5UuOu`Q| z5HS1CxFjD(r~BPqlB3SSngZCn?kQ$5qMO=@(#VM*TwYlj`(>+>j&M#viMM&ZBBzT@Bv_kQt#&EXLhpy(5Q_6%3jCw(_{xUB zbf5X+b(~Ru&a%qhA@g?4J-Tyo{tio4e$PQwMj}%}!@P|qAzkWIE%6dIFDPp0N>G#p zH~<5r)&4OlQlg2hI$&JGCH@Pg^3XS3*B=;14Iy^O?}!uSct^D z#*G80jehT!>~lu`kS3AaB(1<&GJ^{J6+Ih&M&+~QT8uPLngl>Gl9^39m)a*4y@IX4 zNZ^B{LX~=dihyP~>oP8dAS*teqeAhE?>x}g{Fy-Xwyow91~qAMB@dP3qomOe>}Gn; z+0J~=yhYyIs6bb#y=A%)b;{Mf;sSe$Im|=jf~HfqQ|0f*Y>QWZ+&;_c;0!RnFI!;{ zzr04wITb)lb%wPwR~kDN8m3_9w4K6s!Fc4$Gp+)`j$%6{W;ZMg}EC z(d8yW#>cJg@umRL?q4*8gF3Jq^KWUA?IOFIsHOlxk|k@X%#DVm1Fu^k6>5guVLD6r zp%?ZipZ3iCIbqCYqt6{}OX==bafNhCflHpF$4?%N{u1d|da<{#ZoAJX9SJWL^+`(; z!m$VC3uGheu8=X-1uc=y)q+f06{7}XPrU|$5u{|a_2@0Q`tp5QI7i_C{M8E0@TT@s zxl<4;;Qp4uXGJKYzFls(&ta)2PxmEpwI{aYkQXZ3dopVspt@J_DgXI)r`#(ZY)y4^ z@6mthi8RU907jjavk5J)j?^a*Q}ZwE!9Zwu9>)!cAUISC8kzyKMsl&xNePW;MpXQlC4fC?v}gbk-cZ`v@Vt) zU1^tSm%aBD6~D4H_Ff&1u{$>|9j0M3W7K1LPiAsajvf)>(y(uEGQhx?3;I6BLO#Og z)OMZ=*5kn^?>}34g~J7wApU@00}+lN`@&-}#H5po2^Bw2G{(qsdql881w^MW_Iavb z1&@aBjf&}%`PQ5=Ob}!?CYJ{$51lNYlhp}yiC&j)KqOotU0MAqd#*nh+P3YSd_@b|PBuJ*qu ze$z`>$CkbKlX<>AldR`(ys4-NKl2NUye3aBEMHLc;TYL&1lsx}rE9!Po4sj+{eogl z!*8Z@cgaL1J04P<{C`1o6-%KAaHho_%2i6dQt1S)4 z#~D;a3T%CI`jUz*D6-W;4ip0P*9(TlOqVGa;fJi4VwMzI>$;+PO9t-uHb91sPx%9= zAMAVY?3)`G z+vyf$qgyLzc1yo`RuH=F76WAKrvTmDOjpS*dsAFqIHd=d&KE2Ae(m(}w3yoF=>C_r2Zw;2!^0$-ObzXV7Ec;78)5ZNBiQ ztJjmqH|+_j(2;iutvg__M{{!L0f#YrzM@uT`YJLDyns(lL(7d|k%7h?m>Q&Ad{K_P z`R!1H$1teRl?E1fZ@WZ;H`8z3c?E`3v1!ZIv-?`G?%t@-Ql-ljbfGh3gZ=902Zt_~p3Q$-5W5HURGsTZ3P& z$GFs%f-fE+9yzB^7lc=ywQS*jiTpF`{8Y=*^$n)(SWI=H1oD903paJ$+CkwMc<-a= z&zPFKIf1qQ4hbImqExj~5jNQR1{;f}R+sEveBA+FRUYX{bwI4CM>f7F&nc5<(h)uR z0a5h0+gr)!Lbd6KDW}OEqLJ5-(BEIcQI-)RCC}4>#$Q+W*sT$dR)3YLaeH3;qV6L2 zv~lOI(IM0bt?n|zyMNTZUP!+ZJdPnRu~xyfwf;JXcLXHvv@Y+{Oj*c9t^4RdQQ}W_ z3@SPCAjkiLeduAq99l{B6DK`kO7AIswu1lJQ}(qAde}okK6PBd;xG9|6*Ye9r*N#W z;iIgqEG;i@ervtIFd_tag7|E^_!(l&{~b`OUIK`*baUghStzdy%iwb>9+4=hHv#9f zN1SCxGS{4YI`kkZVGBu7W7;;lT^#iB|=qrj*?f8bL7*2jHc(p--RRpaa~k z8kDM!v7Zk<8x3N^NZuN*XM-xec~*^!nT&cEAW>eV=pIwebI@hTYPTPcm@2SX1?_8- zIt2DD(8|3r%7lU+-tK1<^#)^3T~0g*AEjKgzyp%OyMpmLw&3%$+X_E%h6QWE-BV1N zIoPl%dFnF+-(puYs?Q5_1{=NN2JR;GUNP{w9muW|$KuZ(p{RZwoNAtyXOJ3UYtD6r1jScHe62C9s5K|u zncJOV;iMO2+5lQNsT$f>8*5I=|8n8PC}FT}s=8v4pWE(o+%H(7c>?#h`n#a>< zccb~^gIcvOwggEE^cI0bofLz6ZA*=c?ry02K z%eUq|41x9q6aq~Ca+m6SdKU&h``WR$bnqH$z&=&64y!P*>5+|mtRFi@juqc4)A>ck zlo%@O!^Z`NC!vDt`g0tlexl6V@ZcbxV9A<1w}sq?c+HkfN<>C zW1>OB$CR`rFAxlZA!7mbrpHqIoS3isa;pyh0cltZz&lRm0UhDJC+CLK9=&HL4S!U% zM_WIBQCF&gF2y-IcM!i9#Etxw#n5yDBVe~#g_|hJY{^fp@unU2FUdgz5jEer@qD!S zI;UwoLv2#Wb+G{CM(hD|JTCH{2g4)4h~Jn9@}JcsV}ykcBmj>>#Xwup`ri{joZ%%4 zrYx?|8jSAV1rjJh>)5;4kGOv*!$DTC-{Zv7yq`_43u4m8{yHcl;5qI;wJG5=Nl5>) z8UJmIFNK{Y84!`8GNo^m|FdPj0fU5oN%TK-3k@>s9L2vo>Hje>7NjJr^8B?0pJ#t` z(j%{ec@8jvv^?|2ofk_m<1ZHj1N9$cg0T7TBSpymG9>>`&41j9BT}$b`&9R1gTItD zFsqy3UuH#~wi(`{b#znhy!tIQW##(yhk_yj$T{^T=lT?UILW)TfhTezvAxBaC)6oH z;a{%Cjl-YO0HX6311UcpBAw_y@%acCw=n;AGFycL9$4z zXNTM>t#K$Z{GTKO%1x(rWR}ajWSFaUuZws@6ptC|@_L_RR!15xqQ0Lj50Z}&p;h*`5odv zVh#?2*ECz_m1Gp=0D>Ox_Kg0VHV_}v>w7pgN0ii==!V!Zv7FidBbu(Eo!0Ad{A20zM$eYwT3?k8XTV6c-o&?EmJw zwY7!E>zu3S=}FJ^I}$tfVY2OcjUTN=S>Z@p)G>AtmJd=G5?@5h2rIA?=U6}9m%t!O z=@E@B{J3D_#yW#i@+TQDZ^~SWMqFInjPZLYDj@_dGjo1<`MAa5(HSAz7q7|Sx$cPb z2#Kn5xpk8O#f{GxRNp8u{-8tv>Aq0#&f^kG+BhLhQC$3ihDUSU=!AqrCD>8* zT*PBDML1rlaHzJM&XvK7lANzFP_VZz_vj8fA~0P-QfKY(RL6pwMPNsODS#?L$-{}j zleVVG;$=Q1_rjA5M-Q~v+25y>!6GLox0e{$>d3@Lg zwqcVv%hgfvnNDfKf~oVQc#WZCrl^jbFQ8%pDwdvzKQM8-bV=6fCm_*Fh#OcA3z2^Bp@=(8O9u!$ z5-a-su^Lkuaa67Ci(@j^787&hbaq2kMc$mEJ_;lZtP)8_---(m?Do@F`My!?Pk+4XAc>vLb>0{2mxn*AG=sFTB6)GAEXC`ofuD+bnzngnp44i)W^kfP zks1U0WVVJTnmb9pE2a=8w(n(yd{#`4*+f3& zA`It^(iznxTj_(%Ga)=p+J%0WfOLRX_>*<#W+v1L z%hd%J6GK@STqO1k#0&%`1?U871dNN+FI$p$@Vv>n!8}l1bXysAVW{OjNBFyVPZYVs z#s0CaQ0AYgUp!YZs5RaAxDm=e+g^UMZ}-f%3Yy^kzMZY?aL0>{J3u49BJK!1?ApIz z9cJ$%G`nTq?ZN8Eec=&ix2+aa3B{xE>VU270iB~(_43_&Oj@xIsS~PB&OtdOlD#>* zG>Qo-k>8fIU~jG;`ltc&K}+tLbZqM>gWg*RW(~vcx)y_^@R+}p226cG**jYvm?)C` z;*(n~P$PU{D9-jHd7!z-qyMrMfQdGs0Iv_XrbJlRq~)DdIH2m8+`$IVX?xxNGc#}G zEu4=JL7C-*yXd*c$`!nO>#8ym4{3YTEnmTLeN@|5!yz%2N;(N2?r~5HCUXx1EjO&f zOjuNAUXtkPYelFl*JSvHXca{5((g&oZkdX{7*-{jd16Yd0#6IQJ8f@MOO}OIi39au ziEgq0t9|QJn~ejr^;XXn@NazMFJ9Kd9;YRBS7pw4S@+wi?@ff&@d@5u8$JcD>c{-z4j z$!`{x!(kF!q2mq~h09Fp@dx!_S`~ z1cM@#5}lgW|C&gT;Ze9NNb;;+kM&M8S1zfBB2{eXR!1L@qnHl|`Yo(*x?c{coA)b+ zWL5?iX-K8{M}X%uv-V5>QT|MWpeiHt^fhKEO*(o-8znBpeYR)puK8*I-fN-Tm9Xe( zr$ymHn!=oDv|aH9>xXkUiiQ0zPPX5o~?X7!bZC z=>??4pa`(y9V9EkB8LJTH_(^d- zv+(*ZKvZ#zTdc#4x?v?{1c89&*d5kA~XILYh0Kl`U=(LmJd(F5%nJ{bN@e8%)DEX_Kq=OCuy z2cGo*bn{wG)9K5DxL`-Qa>yA%7+{-dd5QcMR1avP zr#*vMQxn8r=huxJnGMXcYYX3wLaR|a<0w)Bwn(kM{d!s@HH%tDxLv8bEcRZRp`GD_ z0P=)KM$U@P+a0|h9zA~l9af@xJ|+@>n1w9PFPPW8otvMS*L?5iJWU5a>GIq&i&iUt z%JIHSQLbh!cE5`}L4;fK`;TT(|4?{mOr<$VYMcasT_Qdl>c3n7Q42zH-`u?%c^t2X zBHX|Tb6k9j$AxB0YZ~iXjKvfGLcZ_3xo;iaL#)rfzshMY4J!0+(jk~7wc=QNBDVou zm$eoCMaJH#M^)OHNaaxozTYG*4ANiN>{5N|h>t_@;;qC$bq*wkJ|AaU#=5x-lAP1& z+tW7BghHO@6kO&Tl;i1+2KsTCyY1Yn0P2KrdEePJJqJ0;L*JmxUi)Uox?u__&lps3 z(lR5^LG5*D0|UjwcbxHIAP)b%C6(gNl(797rox;>_*qN<-9>scfOlArv)*g6MRCQu zf{&<0^i@BqTJnp!Kj;qiPUOP37%7#)E!9r+tdB#_?CdAZ?U&EW#0gTxlpwF8!e{-u zZrl+(A1Q7Z*XMxj&z~BM4HUK(ip^RiZvEs`Kx`x={sMP#+Exb8 zf|kPDb1!KXNVBxQEwtK>-&wMi38OCqK(mk$r`pf;mGv987$j=Npb=^$2oiBE@uR`_ zBHVSL(q0j^YGCZoYUQQN2kAO!&$STewc_ZjHcS%IEJo`#9l2}uI(9En9FmNpY?H)g zR-hBc|KaSf!>Ve-uThke5EP^vQ4pk&QW}&-36XB4rMp2yN?DTIiEYn822;Ph=z9>GP|8Sd4Hm$$!>({+jG9)GTMm54R59bGssUz$wf#bze$$uAZ~>Vp{ylf6QA#K~idtH;eQ zVF$R(Ru4SBo2(9Y+Lzrv@+@Qdus{6Qwfc*#NT+0%7W4KnW|?AunrFZx>)mwRi|0p; z^#!f?olfnF!_9kNn~x7fgzF2AH~Qr-Cgvs1B!~OA;w`awuuZ~0&sO$-EHk`P@tm63 zR`Cdpbd+XcWi9JkqcZ(zc*sar#HUg9+;}<#XFX(ToMr2lR;M-nQ#0&94j|+e zku0}2%|YO4k)BuuX1&eM8;p0$Q&U=6sKS*&W>+Pq`2#;~JZ0QbUhXjX#*Z6R4Z7m#MK`5X#Qj@olfI zy|H@l8m@J@dqP4~F&)nw93Ei?%>C-Mm6ranixe;Xu8JrWp{1ap5be@=^@_y6=PbK- z{$ehO?t5Y3iIztgDf@gEXTvXFQcitEd;4OUHk;|%aUb1RpHEH@I&7pRB_;3$Lbq<+ zV(K=nUwnHfThcArd|hQ4ohL4iQ$r}JQh|Np*TP3L{BT>P6c@q+&dgdG0otYCjtk~q zzf;5Mf1PdpE@3ORoe{0SI@U4maX@S?b2eN?kLr8&xsfo2d5EByI0;=>2bv}^$+fQpGv+x=Z7GdMERtog$& zO}04o$mdE*W<%dqj*oY?WHS4?OuG|E+b$+d>n~4LV^if{T&gMD=xi>~6`5tmU3&Pj z{A934t%2@kgA8in!Z}H20nLokRyXw^zN9m4rSO=Ym35)CSM>GC_CML^XO@;MSopMyxjCu#*w{An_ubx@nwD5k z@|#Sl8uX47=saX&dlqLxNJ#kD4bZ#-(s1d3jyLm&aiN2vyu71G-@pFNS?@CDg}+9l z&HKIkzLelkYWXf(AgR{EopH;Rinq{W`BQUQcW!bi+e>afYE?%JnQnhIJ6Z{G34+8$ zyausj!6fuY)ObC$8wbL|jryKje4E~X&wsksdDa07m6em@IO|7PlkSVSM$xTxi<|b&%pQU6@~Cy>$SlgeC>krmVK1%sjBAU*KL)~8>IaF{Er0%2fj+6 zf8l$Xky%q&sSIDFtE&r{{yr;fSSSgr!`Z$GwDIlT-7SCr-d0jl`oe3GA<7ijbsv|E z1H*8&FTHiStD|EM+}zT4B=6Oa#yYm2xBC10b?dznwaYA{l9NBa$jOunBjq*kn~f5+ zVtSGM^>Yw0ZT12iW`G1UYPqF$R$_%SEfeO4J?7t);^SFX?*jd}@THsCe!hNwO<}BD z&L&1<;<+{2VyLBdMM(G7uPRcWxh7e3^EnRBGoi4i5?@P{6@MkEiB$&{ghGG(QmYVY zQ{k_bwy8hkP5Y{3jBy>>^rHC|zP$2pbR8LbBBtnM3u}skg&Q5`Ha5bNlBnQjDJF2G zYYy(f1$@^oV|n=S;gW|pZ0Q46`wrfK5>ClyJn_pyU2n3jEeH&FqTD*Hrl!WDZgtgM z`)w~c1N41z;L z?=dq6|J17~dEIs!ju;dZLsVW~o}l4}GlZewEu1{R%?^4!$)0j#`o+HbUz#_zR{^7_rW5*4N1w#R*> zoc-RYleN6+D#c!)Nxe}Z&m49*bDhETLg&xQ%O}2CDVXbHk4vcfw)#2U#xSVp`c=a) z8SN;Ti#bwdLT>Cw$d(qLzN5Q4Alx!Te7^77HZQEe<0W@iL(GDpiM7s+5B>e!?&>__ zne`=BtBg5&C*WF#v4 zq{=GEw)nbk7`;m6s{x;xg*xk5>v{BvB(t-Qlfuy*ACm7qqTX1@*YvNe6M=B~XQbS% zpaED+LLwrZTesNtXS~lCkr>YS__#@R{fnIDo}O@UHG(^Le(x`JSUUl7QtoOb^CU1>G{np-IrLqj&YNrtIi{m>q zGzFnqstu2Lzo02-L?fiaWKf0TP9kVh8?ai-Iut_c3*-I=Rh>jt#XjkOD(RbSOM5~acSw{!TB%V{r!E2DSr&P z>^8@^ZD#79PnKIhao=Zvyqe{_G4lBFY+B+z=t6eC$I9< z=pQ}|DK+bjj*60K4JDCNQql;N)z+Typ3gMz3R?74aueqC(O^IHwRjwgTE#^tYc{LZsjakmwe1BR~+MG*`kOaAJO z9K?tluJrQDNiz58Z$B`sd;0D6@aCUJ$)*Jgqa$wI$WbXFA9gjwvXt)07xE!rH*6&h z``*Yu^RC}k3l+nveRU)+4%i~r0$;6A#b#Ho(EXEHh&S+|=j6nPFzu||+udDjD{Xrm z<)-}Z-8*bNyf+~0^g>*nzy@-y>$R;R*fAYyo82!n`-S_CtgWpn#C&Sc5q_xX=KUEr zAn&)dwGok!NWq6FxQ(ABcAg4p3PV=P48@03^&g}4C;$7ypc>Ue9?5!Uvn zZq>WeQl72J3XL17@$qCiFH)Kexn}3*RU0i;bloAe|FWG)O-LYj&i!uO8tUfZQR0j6 zIr1t{SBRt)v2##0wY+`%Ht*Z9PlGw1S5uaIo35`e+`*5>>pUx1gu9pI_UHrKu3FHr z{GLl?J;4r>;MwziM?gJd{QO#z`zbB@C7Gsfdo*DfVY&;)CsxzVnfP=v_7s`Yu*bdG zeIIL|c^ai7WNvcXN#bo=DaVoC7M-mdW5=AS4s0Qn!fTfrZm8^apfZXYd+>fV)6Hl7 zCViDb@VA#42ob3Ut-)(N`swlzA8#BJiq5TmFJ8DM()#+e0Fl3nWY;Y6^F>_DEa}Hd zXa1g?OzKGzh<`W(c`jG$rG1HL)KfIoSafCYff3& z*|}$f0|R|)PA7T|9!Kl>Iu#KGIu(Q@B-tE7Jt;!*M$I4QwhF!<4GpP5e3OF0^wke_ z?+i9tnFwl?LTg*wLJo!8iR%fz;rafr5&>wpBdjOOU$q(<8urgc|A3I2inZH>%SlWS z#lgYhv^J0}Yd;S1H8kVqM+KGpiVuiBvub>Ut2xOgaoJ{LdxOjlKhz6CYk#^|75*~Q z3ynlb%^49IEPl;TAH@)5ov*z%9ud*K6pMfNLY$&8l62I9*>wFldy!Mu=WgeO4`!#f z?{nfbjIQ&#_a$$No8;$I(A{2KUgDYrkacy;q3(I&cMg2Q8SV{1XI8NZP);VBAzj05 zZPaVNd`NWUq1}D@BjfQiQqmi*rBYuuViIF1WJ+CFVzYKq$5!xn6Rl4)y&J-9ReD|g zxW0KlStMg-3*`V~A*;wM!JuU{9)3?XZ+ODq8G0My)4heP9M%XS=o%z`3=jO&6WZL|OyGX1(g=}=TG;JVaBwgh z`n$y7U~HSI%HOlU18~_YVqLDX72;X`aJ#w=`}bW+OIR>4Fre5${p)-SF_5hgTFfb$ z`sot^a(BkXju6@Kq1 zLYW73*sAE>gQ)ohTYDv1k583C#&?UHFt4#&ar&YaXJ<&~=Sk@Cy3wEVh9=H@FYiE4EJRnp?#)p{CAKtm<<&m$CdkO6apwMo86pW0Jpr~uWDqP6N= zWY)~Sj(}J!pp&#|KBCo-@@_t#HQPGZ^WZ!o<8r#2Ud)&;y99Xk0{P6o1lmpd&&N^( zl{g(d+N~mZX(mNutxT;hfSdO%VA13yCDA~a#K_N2TA&^V0S$<|q3`L;E1>mMFVydWqB*wh z-d#V4Qm=U_Dfld7Ei-J#OBjuejG)hY@FKY#LgXp3Rjsh0(JqLCq71&leCYd~tBVuP zKG!8Ft$>!#@vY6e+Zitl$+RMV8!BJO{TL>#L=c`r`>UYqQmXE?xR$P^$vE)nvsG0U zc}Su&SxVm-XOEq+jAH$&t0VXR3uW3J(X=r2mmbxxdSh{xt;=8Uxd_=zji?rWxswte zB2cqpfBhjYTWGV-e73>%4Laqt!7@stj>xwCL%APuVh_~ZpL@$!?n|A#RS>Cir@W^$ z$tB1TkAK0k_HuNB=XITkk|)L3?q2ic$#2BqNTjUWWg#Iu8->R>iAj@iQQJ+{j|Z>S zDs-Ay_Jw_Ye91aqcP$X4@CyoRPX{}Y(wf|%^Hdt&eVs)!cj26%xO?TPb!eICm6%p* z`E&)LX4v_a+ESh0fxF{_)*YA2nqCp<`cFER)qLGkhQ0aNLQNk3GVPz=zvvw+@ydyq ztK04`PE7UnnrjI|b^qulF>ddCEG;xbGgQ2P#b#OaWoX~?VuL&J?!AdPZdU3so+mL~ za+LaMThGEfrC)gEzWp?`k6?+8{kAlDM+@UZq*h|1zwX6FL(6k+yHw)Rwc`>6T5=_$ z-yX@>OHqQ!^4GMnCx5e{H(mE(+IJoIA!Fk278@Dpm~3o)#;*5;YB$epb~44qQv2Y% zvu=H)Nj%NPQi*O$>2`;+b5O^ z@*nQq_%iIx%fmv!@KYEE^LF~<59Jcv7Yd!yrEOzhigc!FJFa3YBHN${XB9e9GJceJ zQ&X&SeddnmzYjBU5G13QBm8Y%C-Zd&sO;~pU-3igLEyUWErB{+UM!d4l)*c?Ue9;oUCzu zxoanRL;p)U-d|RijZi(7CtiO^Q`m>>`9zef8O!vZk8RxDclzxzRhv22*>g#MF?*<} zTHo-r^ThS>rVCf!%}EDXP8cnzxRJqOXLU&`EgSx2tf|aV=)2U?x3WF=s<*vIh;rGsIMez5{mj7O zrBf;PGCh)m_TsS6yH8>apAJr7o@1_3)HnLy;hbuI^X^H~=IZ2&T-Qy$r6-dPLvd-M z?SBm4vp2A+&K|zHMO#LD?H%3p6izp*HM2V|@CGjFr?|L3pXi_FPq%DI9Eh;|ZJFe9 z4A@^^YZ<r5UdN2zbeet7 zS5*Ivw?xluCXl3OJKP}ZEg#}BGQ9me=CjCy>9apk6t;_okABN^eJ;^YTWbHk=9;+Y zar?Eeli^gPyxzI%5YO6Y>M}hP+in-*(JV#92X2lL#>0t~fBZ$awnYzp;tB`l83;pe z_#TPU`UdUvLPY(-Z`}zcNN{*~nFmjG(-~kC7Gp)}lnYB2I}K)iUnSH>?{jb<0i~nx z&lwoWXW{f!$w#9He>o9v`ZJ^k+McRjPt|$GpB=0~E=+D|Y1x8{dzF(};s zRXaCNPt!tETw7Onc6rdtov7$_G^|lsQx3ke#PH({=U^4jIsF zdm-uw1z;8?v9C{=MeVy^X6Aj)`qK<;b-7WthiTH85;=o+$jI7COu7K$nIC#+BD9v3 z#XwC>-Dl2=EJ*;sf^rj`&u_XZ5I0w|_#W(FeV2pdg=ny<+amO%jXw(OZ;IR5al!C} zs&A-*?_3~RrO#D0rNKRJ?x=?^zkQ01mMqk-TOIyECSW`LrZe^-R8f7IGWg;lO6j8; z{ToM{|7ys@pO=2~N#eJj2T0@e?CcITH6Al+tUQYt>_CjHima@Bup`EB57|e7$slhj6kG?tvCfRDWImEhC@T}d zR~VlkuJKw9$&&1Vbs%ri+nM^5G@o-Ez`vmC7Q5UrYNkr$WvC$hZZ&si_IY4eq`i$eypxk1o$Q3N6LOzqVM##o`<8&9@34bn_f;j3T?d z;dQ`QzS$HvKnEVjq1OrMnZ2tk)+`<3G-zt>$hIBKiMHM`S2{BtYDK^S$>Bp#p32J0 zHw_NP(D|IAQc)$Ltu3#9rlqA-OcSN?+ugOJ6tK~~dv0QAco*jX=!J!oJeJyxI(IP4Xyvjv^2V) z+cZrxGiiVqIL)c@n72PT3TB9+GU||>y6-8M@J@&ey9Ky?hk7i*zYgORlDx|MS|4c z7yQoaLq-rUcx|T0mEXk{XcoVVVNx-lF8aD=Mmgi)wpmsa40eE>Jr2VX^nfB7)~AMwp&7(szDZ* zIP3#~lWP%%`s;HmwoRrl;OMN3_Q=ZnBlwJGKoQ*bas@6RQxURs~ zu+M!tP?V~Hn~8hCT0u9FuT}a1ut0PIDk=r|@l9qEDk>_E>U{BN>cb6Lm)ZT*&Q`;cCKf6@y&vVR3@j4T7y$;a zcG;4D^M>L2`kGqQD`B$2Hh!XhU>`AlE|;ns)&|%Vg@6q;tT+-J|41vMef5(&Y#zc# zsmqo&Fmd^}F9ApS1|S&Hj^P3vKsX4IsSS8Nq$_|eBjZf~7Cw?bsz05_h5M1~Lt9!> zqGp6*w=*q*hK5GYV~W>sbxh@Xvi*vk9@wjFK=NAkODnzL%DoPH1d!|#gbCx z0EVQZ)=&VO|41iB`*lp@xM$;wDLfJ2Pwc~&D5ty4_+4*5SWWzT2yxsHTGYIy)-U@# z^Tx0at4@Lt?OT5bV96;cl)|BYQd7VcfyqUDLDT``fpq{eIrjuM3{HVW&t);dQ04|9SaKLXcrh?IIH>T}z#@GZ*0mQ-n?lfuIV2meu`M}iKFE^hyK45$`uchZWm+V=y`mRvAi=D?t|olwI#y(K zc{r$qN5%gUxE;V?dc_JcI4HRcQNV7!0Qr(au6k33 zR)*w+PS4Nh=jPG{)juDJILpYip=F@o<>MpqgF8O$>f_*0a!#MGmP-i!vH%Dn^%IBp z(1ddXCyh2*-qO(_=N(?atny0j-;h=+KLXu`m!(i;a(oF()xplLsQNm4$(KBqw6%mS zcBCE>(mH2B+TxDY9(3<)x|N^cqDT`{qoP#a)`8!s(SzqA&l6c@S!jeO5p37DQDG{m3=u%X~u(fb#*v6 zIP^?RK@bAxAd28});0nl+wuQ_->|&?^KlMt0SXXX$aD`&2M^uIqv#v(P$6Ev48o^- zaQChslB`xt71nx=kAq{hK9t)USJ-cE=j_b*=GUnMgQBCO!=YD=A@1cR4EFNp z-@g=C-2UR%GKU@_Ao{?FEi90l>8O z>Ua|55CO<79ziq?Ap8=@7LqyaJ5fg$9Jrvo%j}K%>;lgs9fss~v9I-GdrK(NtEhpKkRymlU zz>WasfFMOhMIkH3WFglGm#v9Al$4?BKeB=Tf*cIIP6u2L#D}@EQT?YmgWT2=yg-m4 z85Jo1#>U3DJdfXkJ429hTJ1x%wY3EqfDGXLut0yhy29Z3FOWWfIn1^g{Khx}2@yg9 ztMeykJG;iee_7-QtPC_%9LepI>j=Ih3BN01e~l$8 zCx;qa@uB;HPslS>(e~9}gmM&OJSDiPZ{gIC3Hoa-AFt2l>Ae&5PqGa7qFp`-LhL3w}EIELqi`WoIjrQ%S~A2@TwLqD#x0fCb}!g`?K7{P}y;}rfu(_K4z0x zch>*H-Lkm_$nJBOZfBGRCJW!{`JlmYUq|l3!H!>SvuvT=ooe%~QSYK+>cx=Ub52FT z8S?WM>NTnU6gbT;zM`7?hxhSzN4BldmG=_*<5fi`TMGc;7H5}@W5E#sXCTG5*mFyE z+t8AF%Ql&QUkTsc9S#Tq+NAN7P%dKs_dTUew&{XsJJOkqvo zrOA#d_tg>g&woR^g*PI5Iob#2=>cYeKkx7s{CIrw?Tz{PVGX->_`ZNRPt*t?U0HnE z)w}|qVlij7e`RV=Em`+*^pM;cua1gJKcKEm&0w4t(>mqlB9?{ilEtO4h%Of1u1-rv z7JQCuj4iu;xbvwknZA>wl+(F8(}m=I+VvYH*^64V(Ub2c1V{V>R>pyCD?IndSD zkdt_Kb;vet(>6eJ3@{U!Y*?L5^A6ctYzyDWPsbiE*G64sIyZs_M@^qNtR}O=)qc-t zj%MwkG`0QpdeuwDQjLFap`kQCZ}c~hw*H2;-9np$-hQRMjzZJcMbKf*6G|V^@6A89 z7Y;s-^Y86StV~7ib$x4Rdj21R@)WIhc!9Q8Ne#{GC(UQMXHM5>zwtet%=u%r(zHlOcPVhJ#jk8A?qb2m8;2~*+{q^LN zOJTvVb&dz3r^nX>1Xwv{B@Ap~{NcBz2A_^eZg_E_eWBDUu9;o-pV=8vDf|*O0nZtb z(eVD%`g<)gIl(!;nP+?c)y|&#pI_lgyg7OeYgxLYdv@}&SS%r^ncwLS?i!;!Kq*re zR`T+HAdc2or<|(YsMa_jaiTMO|0@~SjmKDc?s#d-z5eS`)R9>0r1ru}zf6ceJ#4@W z-4Y9VrY+2{B)-Yl>Q%J#on6fPQx7Mi!?@a} zELp+$OPssTCW!E!2(XNN@boxULg*g1P87M-&<@oC2uQ`F@@cG^ekU9W$)42L?;hmXJ5{1O||fnobs zC7%+`DLBRY+FeAOLbj)m%QI61C9R;OmkfJGX!a`)_imza-V-6Nbs?{tD1*v}($ydKCaVnt%()1LXop3Kat==XJ^H6FVk5C*h3gY4 z6f3;@+lZ88bkzUiEzMli2v4bUqRlm$-n|oyLK)`IONCwXScA1i%Dxt(7FG8KWfa0E zLQeB(J%-Q2dua_t_r~JWr_oy)&uF;Ru(QJ(e>C3UCUBM1;y70xTCy^-KYNPTa)rt? zi`f|+&FJ0QC@QhYQ_-N8ez1&gi+;q`DQ0GJ#^d)i<70oLj^ukys_G@WMjU$WWdDLj z`~55P_0Z}>KOIRYJkmCW4KXX^MG#u-eUiQAAEOm<toYGR2(TTwYZifv+(yZ)C+&J7L<5)%(AFf zU8@QLI@6$TJZ?8zBJ@24<3=aewsReh9!(!5U6O_i;;5CWrz{2+eoI0xT~@l2CEwj? zRMF)6HLowiiSg&2QQeyEhwB*G>puzcrfOlW0oQS|S-Z?kijvrOO=tN0dvB&JFq^h` zw=)dz zU{Y9X7+|9tIZQ)h|5>}r?01^kFuj%aJyX%-+Y7}=|6vBN9;?8zbC*fir;{$qa0^{jXp&bmw*!MEoBoXTI5AD zGR2gZd8(UWa3?ilzI5*4UyJA04u92sAz zn<0tI+Gf6;=G4Z{EPY*B~@eX2=To&-y{dfc&?%x_OKHSsPN z6{q4Lx&NIFhghuDel*lUIwY-0mt#Jm{^L>`qT@o7Y$-f$o?PZyhYf$gmr-T76IPIc zu;X>)$6>e!0M9?W`Co}5%b@D^-+%8#33HW~;38jvf4&7F$^F3pxDtkFnP!ln-EPk& zMZP4<5J`aa1$ZMyd&gkkTQ{jkB?qoC1sXl=-2#qK9*j5NRl@ISVu^~&O`ndSMG{u*;_seKpjJh2NAS-`} zw$D41#No#a6>*M`0@bM={xMmh&+ag+`(oWz?sDMc#X!pDb6`CT*MB^ztRm0ebrVi~ z7Heqcs*F}R>?t{U#u-~Mx)I&Lx*9+rbN#{07SUn#`SWdNp(@G5%+cFa{CIWsv&+l? zmUvwqjjAt=ZX6-^`hkAKe&sI>fL85dh%=?BsaTPVaOwLXvOo$m&3P$PeaL3d@G3kjr^#(Ey)p1)) zZ`X#U4elbkZygJd%J+&1E~!AJmq2p+GRM~@*O~mpfkVjnZ6cI`)7Kt~55BK{T|_K0 zG9q*isO?LFIH$XpZ6ZDZaU?50IIV%uenm`gzfg|kLqioCVhW7bY+Y)v%Ix)TQBa-!>{UTv$t?k9Zq1*nTn_86?&6umE8N=UwZky!+Hwl}{gbO$ zyi`mDAsp+*B*R?kXzETBS@Q4f=-xmzdfeWHWkyTUS@6CNTg`jImI8|>dOKGAv{u_< z^ArgT?>nD=4J7dNRB_2I`*ua-FH6fD41Ev{$c1tw0x(g4(U1A`$1N}=jAZ6M57d1Qe_a8kX43};ft@zqyGgjs*O#PwxXbAf4GiJ2&?mK-fesBQ(&^FpkWa^CHFTpQ6$? zDa~HLZU!Fc<|3$F!81ZcJdZzt_6&Nfj=z7GGb2SaKtRPO$++C{#9y5SwZoM#C`yW}OsYCd>;)=1JcqcM21s?cSE1R^~m~ z0o+?I&1{_%>bH*yF`mWHaV{A}N$k~xMG&FyxWzu^KuW1$2XeCOYyw)OlsYbGV7s9z zyfknrn?qhVzD&|fbMktdS*JzJZ}$}7F2FKX*a@H!&wz7LUpYBA$drqDkQbP#k}0j2 z6xWdB3*9PcEu1z+o}Xzx7D7Jh^vC<4$VhzXi+=$Q;_B*JR{Q@|M@{kqMAb$>L||ZH z5s{I}0Pp1E;}iOqha3bvcX@eZfmcILdBD$M1z~?gdq<(CN0x!Y|_KKy^iF$zW1hlgO03@hp%aZ`H(F~{# zz!ne7ya8H?%goN2s*2A4ZTQQ`IrfoawR*Qe<{$lvxf5LeZkjL8Rlmf^S#4IiC@9of zo+*&T7<3pd8q0ipKgsi5LBDFmT6x72FJbLjP0mN?u=;wKB5Bf0z@=%p1xam67xtU* zd@fzpqqb_I^Np44^v{A@wH5BO1NG`#SWQaYb*HJFF#Ygjb7DD$r;`%&=9IrR?eU?Em zA^we6w|j^n!oe2o_b8?9_}ArBrv!`)b!Qa$p@h0y3b6@Hn%LCgS0TnT@YT^d zgI_lXa^+e?<$OQ(RTfpU|IG4gpDr+q0T86M(ZZRl^UW?!BxDBL_citRtBCv@T(fg@ zTma@VS=9T>j4vVufW{wd0JaDp4ZU1P03ZUKQDWYe0zVU&48FtAG0`g4yqw+hNvx|!#P3=G^favQB|0_k^Ffz_RGcyKt z^+7>cgE=d0oJjoUzDz_Gpl5lla~p*X-y{QXs+av99gPQxF;X=R5@uwC0wf<~%pinC zhArTHBUp}+U=@(6NGcjwX7w^;V9>v|t-sOum-M)8{JVNM-SKLlWn*UC9RV_;2SoW} znF|Y_yt>lUf}&j0dQFZWcv6nC%}97pScUd>{ER85uKQ{-SAMg0e2X@%;mgZ6SK$xT z=ssr*Y&jD=S?X`iKD8oE*g=~k)}^hw_r7(b(W;RzY@CZ(#mWFB6@6L;hrv}PVVw$v zCzRRjgKX&s0(u)!39SL{HmAfJ2|K-Bv0u#$P|H-}P>RTjT|@oth>M=$m77YoqFfuq z8d_R+L~;&lbT9X)Clv;M{;G#_PuNGX?aH z7$U%ym$V%yZ7#~L<#y+T<>w%TM=C4<);}vP9Mc3=Df@QkS2nXlkT?TF5W98`m@Z&* zMW#KJAaQOuOA&N71~$a&Y$+Z|PaYmRi6Sl?0qT1*T=r5`74~2d1414hG7}R#Fc}1^ z;#z+?y1Fvm4=%Y{DZ@Vip0}{LsAjVjBiq>o9dwqLZ_sHrh1ZkENdha6qoUL2Qfbw9 z290$K49U=d}Zb@#T6ZE{yQ}=Ee9LGrVO#^Y98XrQF-0T1X)(GQ9&TcIA5mwqUrk2RF z8h(^k{JC3U2j$wq{x(hPsPf;Bt(oiZK5r?$X1*qrW9~vP@Y7?y#@&{T?G}hMl_XHS z>l>26+ua*X%Xq#a#x{_8$J<=r!AjC5Xo13+}{zq1W?s(H)MZidU>evP3m6* zd-|385+Z>XRu)ibr|Ju_U{kt~dF-1v?{RT`f}Fd5buzs@TzjISl z5M-G5B9j!QJO?a!DS0V-(Di0uL||{>V0h#IMce%Tl?f8+hUq_u$iPGq0&2NAU6+J} zyW7)}lDdHPE<8^LL^OSBf+38gwI$op#|1){ z9gOMwymp}S_{mP&Y3`hR) z{tCV8leY7x<%^3?`X@OfJv~~{4%Dm{ypIZBwaRK1>iUR&eQlBzQT4PGH_O%LcG~Us zIVjZNJKgijqeQRW$Hd;;+BXkudk|Z+`hwXuD4~I8TdRA5-K=i;_Y^udrVlA8ev4v- zKLPHou3R#<`1TT{uo23Av}{l%!JxMseyk5`Fu@nI1t+fwdz(rj3bn$ zwW-ZxbTs5AnbA4EG9oeh9R|{SCw-1W=+ip$!RoIw0&=3<3r)$i5YZE4i$7L^5M9Qd zU*FzN?I$eny8{9@Z2^zUYg&8*w}ciHTsuwd4;fo#MwzZtmOy&kZU8)UF)d0}+l z2~Zc9m9pIfA7sp!-5;o!dDw6_L{P4q5rsIAN^;+)~848#0($D6I=E(L*KPvx>0LqsXi5(1s9 zjpo(@=W~iRsb`Gr|I+qzy3Fg}&6nv3WW+H#bJxPI>(A(|5o@`KtemmM-WXA)mw%y^ zC8gDW?Jy54>)6Bu^2iIP{y_|U4Gm777)B#ZayZT_dX7azRS$%z*x z57%}0kP-u^>z%eHUL|gAPUWV0o)+zM0UbvUj0JoQNzwod287mbH%~9nD$S6aE&f&W zJ%|YbJ5(+4R_$8~b2p8Vfh063|1$hycnPDn@yDf9qI4GuoO*=(af z1OR_z+RuH-1kJ@T|K#|%*05+umT=K%VrAvs%oax*wi?Ho;-r~>54n3UydB&dlzt8$ z*_8+&g_~Y`ru}O=e@Gh0WGx`*{nN*~_$K;A!y*We;@vlS5{N`C91N>f zKdBosn13wUvL>mM3uv1WiW2NKH zwA>Lri(hN&_R&KTFGOb9RU!>pCk%AYOx}RP38<+(&@7WBidv1Z{nW4PgxLZ+hfdeO zf=;VQRn@(R4{<<64W*N9?H(qmAv(=uHy4aj&s^7sI@Y~~r6Xyd%gf*VPZj`6Ob0!H z3kcQ{!FnKj=j+wPjg4tS9S)S=`}gmaGe2Z_IXXIO)p_uNI7!vUN*o15)otdyk1U6n zOG-(I41l!*ncmaFQ6BsGXGqb$44roiL^I&_kl_Su5rWSuOs(CbihFBQ>#{`&tphx~ zJ+t5ZbT$AVIn;>^H16)9S~j32LK+Ti7HzlMM-OTOWL!e(@?iuQTqbU!e*eu3UeDFc zYxQIUeNCO8i#{KztluyR{~5zzrId*I;?ad6EIha8%BZdR=y2cYAGM&+Q z#rs!FXINykgdxPVfV0s4-2F89fV3z+#Qz{G;dw>8-hQK7G$M32^PXDp?f-z6@^PS z+z(9k;ihKG$En(^7tichy}W<(p=k5j&5l~vj2$m2`2O>bj?DY-?ZB7+5Ab6zyE1?^ z3(?o>tL88Ba^3z6Z0QYvyX9%4v3sQanKe3Bsn&8@G? zBL^4p@Sgn`j{f|)6|&A_mre2qF*ra~gVqSCeKhbsA^}P^3*rZIJR0O8FcL!p8-P87 z87frdoH$IAB@4R~LS*?Oz)6nr?f)SsLuG8d&3s4s|3y%i`agqG07STL6jXqMlCiw^ z%cbu(pZ^dw(#S{1t{P%W82M6d7 zBGFGTE_e(ZQ9!^2j{pwQhS^BcJ9KnP5c%DY$IXBMj{Rc#{7RwIfD*)xFtALnjAohW zJN571u%o=Cfd$Ay&}NsHr9t-*^6_H}G*E!(I0BihI;o+3Ev5r}5SU7sOd@hp4_y2; zh*3d{lnMi(xfW3Q(L+H{RK&$M@doPj1OZ!G=+>OpheDvP2PLYEv@|As=sw6RH1yqX z!0Z_Kzh?Pc3Q$(5V@dcuc>blxxb>!>>vlH?6cdEqAAvH_kMMyPwCSMSmFYoDd+y{0 zxPuIs9ERmA3m!Wz<3T^Ex}i~Fqqp3fhR;0LqLAkc;X|R@fD*o{`G2*5a6~Ty5BL?b z#mesF4%Y*95)VLujG$wMR)NQER@`NKssp57$Ob|l~Y@nb=<(TZ25g35H5Q1*Yh4r8B>{nDt?r<0EJfOKkEU zw%^mO>i_<>5rm96w2uF$M22{{9xMCTu?Y0Lz83%c+q{vg2-vDFCNZ%iRm4**>>1q3 z-Mu{{xT^mFP@Dv50N$9Y_of0xwR4}`1{E7p^97YU zHaa7^@Q;jB9|Hy^!L5uzjtfc*6y#Va2pB+u z%mZ0L&}B1NztC*ug-QG<1nY&ZEj{Ba&`9bUU;Fv_p-JXE{*8&m;{X+ula-wXv;`@Q z`V&qSKUO~=D=UjK3*z6ryN@`dKp`CK;Va*@v$0|2e5L+VR}Q2s(1}0G8SGH{4(26n zB>adj60}!@FhCC$!>XQd2#)(qN-7ua&0>2LTz3*^#)?6ma_|2Aj?PXbI=9~Fx!8UO zj@AKb0>HpJTYNmII!E%gn&0CPov!7i?H(Mw2HC0KeC&9>77x_CO&|%82U9}2GfFE0 zWfnAKi(qC*kytany!ixRl%N!ITS;*R-H*xth_67$o#zhXQw`%Qg)V4LbSx27m6Zg9 zgiR1swaP3>kn$B!{tXoxGz=Yo{xEKT1mMD-H>#3dw1Q5u*1i@eIlnGVat&ao6R6Ta z9@C|igS={gbJdr&xf0!2ic@lZj(Sgg7-fp@*6QJ-EJ$x0cKBfI*7X$<)?d~nAMuGy?B(RV4&71enAtgtE!Ms^hTZ_B(*59@<$U~q48Z>BUd7BK z5fC2QFZ@A8DovZHov;sUh96am=cTp)S|85)FVA)dO+s5 z|3V!wEdS91aMDf4=>?!2X2jjP$331OOUf;xAW-yCuF0z9(OWt$n2>2DC}3+}4l)0) zF*ry=Qc#(!(#pR3&gzYBtf>}mbS|7z%u1YJDBCEW{u=%%q-R!W_x&T?PWh9BXQ}Nl z+AoPlL$D@LN9hij<{iJD6CJ(>`va;Ynkg6(%%yYFf=knQkj}eO0-^xFJxSg-C<=Z8 z@c6)5`^LAk29n=5QAcj>algQh+!MbwE4-WAE^tnNqRe<#TNCXXk3!N*c>AMIlc?U3 zGf;pbi#YQq07P|lj(k!400+f%le!c^al<+#I3*q9h%iGpKx6f{Xsl_poaLie6VzFx z!|cW&MH%#Oq8CXeav$hYZu7`UeWk2;fby@E+Y@f>>233yV_!Aj+}758&E7{@gr0|* zrj_N57&o8arRy0SOV&W6Vdo&Wiyo_ExaTEG!8+6-XL`vYQ0;ifx zcxxo1NNaJFIC}qeT;uhlSOZGN;odL%1?gEAu2MrY6yLEA(K&Ro1jwA-ZnmmwXbc@$ zu^#-Fw2R#?8MCKvG_hkYSV?+eXvyC*bjKNWlfzTf@RufSyJ}^tV55rnxmg=n;#8`J zCmZ8u(uIJs!<;S%{OT{ww$8SNY7S~Mg{_*ze|0wM&!>WqDt$&b|M(H|) zgoGj?Azdm;N~fquhXP7>h?IfSEuGS$w19+kiPF+YcfND$eg5~p@$K~!J{(T$z0O)| zjyc9}HMgl&awKqvz!rKvw(qE#%Y}wsJnpULRGTDgB_tySoXM%^7%Cv6;jINGz;t% z*$w+ARQ{_T+{BzYNiN^RBd@M5{T1u`SYLHq z#%-PD$CZU+n-zLv#>)2!Vkdn zD9jys)yxTPB{(LPN(eYgcJFy~I}%b7r3cO!PjdT@&{$SoNj`_mxrn5REFh_w(I zXZP(IAy;==!hL_H28X;(Rq4d=;sqG?>G0 zHNAEJhu7z2o@CmAqO?tG4eyTS=cDUhs-pAsSDja6_2z#rC0xbxb9g&BKaYs`Vu=xu zeE>9!%>~}~nr!!#=IPBK4S*EtqGzf=<%gtm=jo z!57@S3J2u6{J3T%CQ3V*1~_RRDmW-P^?Ph`glUhmn7>m-Mf#4f)5s-IS-CZTf7PlQ zRQ0aDPR;SOMP`jcj*ggS^_32$X+8D8b}s`bIz*c@>z1`e=%y`A(9^D(mrnBfU;^Z8nKkEjnHRWh%nOs&?IZ04oq9{wpwJ8sWj zIt-UDnENzwpX>=%i5mB-AnLvXMdkQM2HVQs;GfvSmLav{|Mlw^SPL7Pn*5<36&DaJ z^dP;&!^*_vcN)EHcp7T*YQ1nq-$^&0$W=LIXD4YbVv0NyI{_ey0_i` z?%K#wK+vALYwbUR-@M{&N@PNdbD~3pxn)G@N76LE7$oMi+2+!^F8WiA>P~3jMqEuq zoDyF}-Np9GhLO`noK!8X11)vE6Lx)dFEd@olOdX=Q~M^NZGJ;cRk`XcpKT3Kfibn# z8~Gw8q*$rGWMpK%Kp;Z$yAYW-Tl?`W_j3i9UpF_c>{_lQs{SD$p~^Qf?Hl0Z?7qrj z_fV+)r&^QSt^naJMINf71Rf60#X-SR!lL#VQ%&b z&l?wBTBG77jT*dM$HkR5ah|)qh|s!l!l5aTC08HcXz;*~36Cf&DvBIdJUpPP=(tcL zA+IZizxf*>q@<>%CT(a)4@85KT=9pJyL~(1FC6Q!n^F!lW$ymaK>pfq5ElJ3@b^A@ zR;bAXV5Yb4AJ-nejEF!QhkyPcY6Tlv-A z{1e!cppaZpqKdixAi`e)&BIQ~r1!#D-@%J@QY?6Sx+YFit_uwBE%S*gucHf`>fjAC z;R!2sY6jww!0%;9W7-F3o3(_!$rzCj!}N>P_W{wa)XAey3c2aq7MSK4IEwTb=2Abo z>L%&)H+-k_mR!D^ifxLKxT7)0gsNs*t8Go}F60ZZ=nX8c^~}#yFE@QRbugXZ*-K`^ zt56mku51lG+244b>924@XUJH2$H9Y{-kYj0Dd@5BqfRtQLdA)e|?@NHmSS<1u1`vdStLa3sbxPt0x4o+T5^S7;TTLI1|(^k5#S z&3qF{B4QUvN$X*_LNn7~t);cK6p|Ge=B>*0jolX60I~%n2gH~U0i9Rz@kn|cph;hV zz;F!3FamaiW;IA8DBW5Q(UdQf!9;W|u&3@Qn1J0QuvcEamL|3GA-F7~f9}#qRnKQOFGvsr)Vb~YLDypieXY#J!jw8WM@~>!0oxjmD zr&1Mzr=#jyHx-h6s@^k&v9lSeVJbltvxa|?K7f8U9Q$gEZsn9)q)Jn&cJJogG4D*| z7ks_*Y#nQdN^K2|{K<#)YYIYm6BaL@zT2 z^HutTg99uqER4aGUNGeXBS49~1eQ#dWFy`T7Kd)ThSP#oLL?=x z$vXCpk%q)yA@JiS+l>*KIt|q~Jekz)HO4y2;r$e{eb%I3sKrhPp9*4ll9gRw37M9_ zuv>g^>fu6M#+V&3!>Se2TixS^I=+y)xt{dM^NSpTNS)ltN3?7Cqc27RY}!GqrJPc- zdWK>C&9xkzvn%e6hmxEkBq9Aw5|k?m^~;jC4nBA+w-u2&*yZ61#C?sd!Ng6vmQ^nJ zF8Ner5G}Fa9Y9%gf8M2Md2)9?rS)9Zdm`LZY|DuphoUDv%SH|kys>*q;RmCHx|oct zc~>SZeu%8|eDEX)jIJ;LOiSKW%YAlOMdD-9^nE_7P>MFYXD=_D z6;FEpAv&IOtap-3^o}aRHRqjOm3B;wxvHFkCDAf@#iM7Q$EPf1gnl=Md@4d-R-cG! z6-}7rG>KTt-2^Lh2_mUttad|_Onb{Yjx8NXtb|vh^i~CS*X1Y-qu=p_zggq;p zG51moj+odFAKxximkha-Cf9mig)e}aEdp1dN`7?WfWh55S^SxVp+o@=Ythl2AY9(G z-=~~f4x-rG%?`6z^sdT8#e?BepJigp*1r4RP_k_t+TtBK3OE#4JFXJ_m6J~UQT=NKMa4*P;u=!SgY^qO=A4TL$+erH}m` zHc(Enh57U}bd%FwoFWDh&a?a<3eTB`E^>2Ro!#;=4k?o>t=}UPn!Qh?l~`xZ^7|ww zlkR0v?wSwVyYiwYEH-f!FXBYTduADDcpD@Q*}vfydCcc}sE4It4$K!`ZHjO&Se~G3 z08JYvoCGQFB(NP!|M_D(=n8>Ja!SfRsLwC>&Aqn&CUA!#)8~nMml4 zwJk8??cBAr4w?Okqa3^K%p$%Wq(^U?)B4Ub_fzKMBO|smm*5laEf=S`&#tTmtdkYy zlOsPTJ>o@w6~>y@Ur}&1oz=g=KeeJr?MiR=Nh`3N(C<%rgZWFb3UbC(%z@+DS=2}; zU-2CKI|gb71G!|?fw5Iz^Y25k^?Om-ZQYy(wZksD-Zy?H2hP<#CWy?KEcsBfNx(nV zsZZ^NXLzioo7EbXGx2o2bo=e6S?z_&lHX$|ZQV@n$t8F+xN6Jx-?=5F&Il8ZC=}_1 zOmv2mNcX6gN9P4-E@VpYyOmN~J95}87z@{t7?D|YY#dcMYMkrOJ*~muF|^ROhN=}L z0XCl#>NSWU1ikaE$8}zYnd%?=L8b`bCJUsa|ZK*Z5 zAn3Y(N>$45`}UT$4jaLk-4j*2RCLFiEA}6$1>>RxPat67hB^nC(Ah!g!V944+vE)lZS~vuDC@pe_4Hjkyvi`y^*Dc*@0Gq zJ^jd^L>}@z-a-2;|2&1WAA@6S=~~$hvJVd~3W=mwFlacRjdLPxI1nokA@(vC7uQDi z?{=_KK!QB!_wPqYQ4hxwIL>oj-GpX$^fxInu{bc?-21|WSKdneY%=uf+t{#*h@?W( zV52cz@s)(hU8<-F-|j~aL~5C{Z|~HP(*&{S-dNwqof@)SN{|{4Cf>`F8tLcO99b-? ze<-pYLlXGOVcXVX$&^t(Kg511_3mgJx*=zlw4`%I^~oXkg2?T_lV6pO=wRu&8hFjf z5xt(IdzxtBiWzEv9+CKAvovw$bU9Skeb#WqE-H?T?`39Za_SC~$O$&Nk@^sU&m(_1 z)1RqU?^?#|nhyT-Y}HK;(RndoNny*WmBl^XpvEx3iO*uykkm30vNd?BCb9n#ze5yj zae_N_h`(%e(|+;8=-#sQptrI*A& ztd8CBrwevR(bZl*+?lLZ4`!|7HNCt9RLycm#0-_|$f>f|sItY}r0~4Gw4NN{6KbD1 z8q~Mld>37A5I9S(dCF6MaI~-!QT^=al{imn6<#gpDuJ%!n*40~=#oK>LvV`F3+LqIynl9j0-;aT(zQ;=Q$m;)?jG!2XP~pr0nWGgyasQQ zk_x|Cy=Bkr25I{%(7Wo(6rKa%7t)GwBE>~C+CDcJ5`SR18u{5#NaCk<@5+;q!TjqC z9Iw<&^*h+gC_D?7M)p6c1mJQ`;Iv*}B02kNzC<$kkQ(bt&a}JthlHaygstOmQ|5mv zNmD0^kaYWo9;KX-knT$f^)MF4tQND^iW8r;(ib`V6rKgysn4;MqoUtLodsVux>!Ci zoGWt^({v*D+3|(K)h|B@gAyjb-((Wyn*L}8PTQVpL9oO z;W$9wRXxVY^}y?Dt`$Jwjyol?TdX$kGZ&u~q@>l?RcUl{5gg{jmZWy)-+v}3p> z%P_4a6O%~|uCAqjA_=h9@RFrj9(=lS{dwc0i-Qfp(V_Nu-LRaOm!yeDY6VS1c=#;z zDaE0oj^sumcvT9Lq=%;`m`t>foY}F++Tb*UVKLkNHzKYyay^$5Q+I@q@YV4}Vtj~XakcX9Qk$0cT*gcC+T2qUGJOt#jF*~{6v z8Bni1pnf2yqT1^AJ}vF)rh;Dw&=N$B8h?Ki9o@RsEu|_Wg8>v+$jJUp=&#it5&M9* za1&bK;3jPVY5kUxhI`KubZCIni3sr!kNgHpKFVc(Dj3OG1M@HwN&%=YU|enNRVL=7 zrKPceG4bK(l`mJi>L9HL8MudlKiSM9gV(nT8>&jnsNg{ZxnVXnc)-radMJMi;;!JJ z6mZ+NK&{pu+41x9BVO7nhpBVWG<^V(O2irh`08-z;GM(71mYtH_;11D17MK5$&jLj z?BB_e=!ah(tYaaeNZcHm2G$WU8*nA`VPY$q><)Ej8fD|D2kMM25M@M$yf~<`V zPvzJ%I)rJOc;opTz@5K#sn{Ngdh9zu??$5bV2%!YWFe7}9KcC~An==ngibIFD?@<} zGn$BKyK2rK6pEJhw!Dm{sFq$NWSya9i$ocrTVn>a1#)t7KDc~1#PmowdLNRO@Z5ZE zHH-k(Kxz#Aat(t*@GM1vdcOfgF%84~iW@bv?+uV{l)&RoCYXYuPlM14fm5mqWj&U=7_7E=9dIcGp;?4@m-m_bONUd-tmxw-NQ_l-I(7?H}9xll{?cMK07k94+=>QKNo z7$*hBI3caz3-F%6I76B(FwGX0cxokj*X&$`FN0l5Gc2!lUHG3NIE*j?06X!usi}$F z_;qp!uyE3QW4<=Sp;8b-P60g5k^*YlC$n=dR$ zv8r~44D>)C0D%lX-wW5RIfQVF0u-pr>^q$*r^Ppm$ACPI$8iLlC%o?6p_edwY%b*$ z#VySPx+ECwg_mvH$eriiog~36QO6Z#@T#??1)5^&?2;TDS$(^osx(i<_kknu5ik~v z?km^et3Cp}4Y1fCWB|j@&%&XbQPa1p<$Ss`qzbcHm2YGEZ+`t&{j2M6>1P3jm~Z&0 zk9?@yT4$)x$lyV4Mpab|j3wZ*M#3PuX+`f2E7c_-}LT|14VVv3WqD;-f+Mjlx3yhaJKtC?+1?T?ZMMk-xFhK^M z(NCYW@!^o&n8hw}@PgN!{ITzh7w#sPvil`6?lMCJZZ<@0h9xv001Fg27chwSS_qce z{CLyZ*$ERhxO!j5#UV_GkrK1eHkPTy#oK_g05%3ICnp}b2w?iFdOC{_>;y124GJz` zV`KNi$A*bo1+FG!v>%1=BX)DdF#!g6r1uPrO%_2xasVbH{03wm1Md~Q1qA*{O6mgu z$jg_l@$TKoetqx0I4bCPu@%LzoJx<#4Rt#w_JX+y}iv< zq^dO!`1_wrhX_0eEb~a71wPvEiQA+BifwQ&mkVrcjmRHtI|8nYjhPuqnYV<|JbYGe9d~Indfib0DY4;s&p$&flyenF8O#t6V24+lTt%7OaET4+vBlPP*IRMhQ z87Kir*BRRB@mSvwj~RTCAd$|C^l!lpW(ZInpxeaYjKknS+Wg3Q3i$Z=?c$h-K?DZk z8vvrL10@3hQJv7VMa@Pn&d;|(KUcTTO9G+*;)e_AKATdgeK-$5)azITie!Y$g#vqU z3iN3~u&{*uJ@S%t*KH=j&?KDL4^zF;vdQ29+)SUyoC_lcf3d}iMbwt+C9PNEzD z2lF-rw00R%+Rg7zJx$lv>@SN%v=3&pBhz@C5P=UYgnh8Nq~y^B8%(-W1Zcnx{nP(P z_r z5M~qH_{?`v?^k|(x~QhI*AlEg6!6~?HCV_3VL5@|R0jp4BFuzvr~o(Fb#Mp6Ery?G z0Fa^m&b;$xKro_Ek1&Cg&_Xay34Mo*l2Q?1*YKstEQT^wkd|nCd^{jHxD?1TdGf*6 z(Emj3`~EI&Zs$ObHL&vl-wWJ(c*%Dm{mVPrYgQ&=@F;B!2jZc9=?yJs@$vSI-R6Vh zc{0u~ST$1TvWPY6f^?-|KWC5*t$B8IOMCD47m+D=cDZ}8%t_LjLwx)H zl(_@P(bAxg+TuJq{qUv|5t%`nUQeeYH@a?aHcU7g?l+Fk-LFo$&AqU7%}^z%$uYNg zMYhTb>&j~IG&j5n{l9Ob@qg&~$zm57Z*NUaa!(!!gRl@9;;`gsv6L#`+MPQ28`~>L zVpzrdJc!~A8&>r%BeBjn-_>$bsqh2^1W!c>Ip6aRrxcUK`gD7cPUKIbsRc{^z^xP7 zrzcpcnYu?C4Il4UuY8mz`f;PEWpsQyjk084;~} zj*0CsvJ_cR544%=4)$9`jOPucPx(_~xb1gQtnT;nh)H{{9`dhLRoZwdL^C^6h&<<| z8|IfEW3$dXnCwZMVOk^H@7DC6Lh0tN~2JPd1HytwxER~9`DU~{* zaB?HGTg=a-e>3O5O6!!&v6J`b@VubX&U-&25?* zqq&V1)QzW;PUw_l9VL88-Uth3E-`_2hdMrB@=(#kbrOsg-vW zD7!+Ng^r}Vgc8~Z((|O}CEBsY; zK#pFIB`n0STAKZRL5R0+nPG&Vy242C$R|M`U+?o&m&hzPYH5GT(t$v5LN9u5oxU8O zC1v>(n?H_Ogy>ya}w0w@eQuMudZ}KhLG$jj%N}F)7VPts@2g zJulJu8NxePw{qv_$qw08j&SL{v<{-nJ`<=E@wJ|9q+U=`+?9anxG`=W74vV$TgM!i zB(cAHzVlIXV<7Ghx)V&a!-$*1{m$`Ge?`y1`GxB@mvpFhE(TP8uqCK+$e9+AA)QjE zvX}(nON()o-72uDpnq~GtNtU!h)}RK)#Nz+a_IR9wbCUaOYGEZb2Ir^`&-sqPu9(s zw8(66n%0}xn$8)2elo@Z&l!(9JV#5!#p!9#_#8r{ns0q6bjB5@l3Rl(n+(gSWePE_YL z?e@N+AhD<~AlW`iGd1GLNoM*bUS_GT?efivQpO_1z1(7DfOT;B-m#$k2QNQ|t@{bu zZJ*M<2FH25_9DY_^$Uj*nAddi7MDtfU&^asWiSv7T(DZqAK%s^g*yYqM|sd}Q)5}$ z4J;XC!j`pVCC>0u!)<)ndhQ?cPZ4wHb z=sZ5DZfBu^MGLnYZ6-${lT9Rl`R~J+8s(71?BDCa-?4}z|C6!U|J5^Fb|Z4(!%gU) z^N?n_%W#Gqv;6&Cwt&?v#)FgO;XB>mG_j^z*Z^E(GWi-12?}m&*+nOA43GMxUp|88!!fL(TTx`|Hj zHF){Wv&(oCtP@ViU5DxLe;X8khZ{VG2<`ebhY2q{Dei=VDE4HKFb~7PZ=-rgz>Y@uF4nKVs~}qcUv;1o-SUbmn{lY zTf~#e=2%h8TkM?HwN2-o&m?Dbzxb@5L*#2_t&3u+R(_uQl&Q5RZxoz8zQlCGgtv29 zY^nOL0V!H2&T7MAxNEL9V8?W$xY>)6{EtM<*Y2C7Hn*Hc-t1?;UWby1d`ca6(-4YtZrMrczDN=iJg4vR9G#plHQ~1|LeWh| zLD39w&V`YWtoAiKl#r$6CsfNpx-6iFT%e}@2CzoJgIW!Ex~|f1FXNhbH@2diB=)i~ z99oH8_KX~>?`1Jv!Yb2$5dv&IW=Y1?I`mM1e?UOcWl4>DS~Ua&Q+Y*TSr+l4pZi`a z8M#z;^7>{}{lTd_wIn?;V}2EnC-0$#FjlWA!E}???uuw<;t~4OMXJ!?o^L=Hoawr; z_B$imxDohQfK&B_q(NR+I7qX;xQr=)zC_MqfL=)g)L`fM9<~rda^wK2R#$L!#(+W3 z#A8DteYHcclu49Eav#O6%pV*HKvBiCw5amQt!`#I4{qwZr>XHN}9z8>yf}be8HNbnc(!sMjLk^R1XW60Bh?kdTc)PWfC@~3DjW_Fh?_I1p`Te|aii z^E`Cwe*zN?)N3;ZmE&Bm3&DI3H3pn6)b6zh$7ZxZNWT$IVQT?Xs~vuKcQ>HYC{R!U zgTaE$_~9CpNWjw2R-aC?c66JL$#UBq}#O#0r)cN;cSo zvgK(j!}F-~d)wPQPrg_UasiF=cJvh^rGQF{UO&tJc5e-PC|HrI5mL`6jfLAmNRi61H$)cks|)t)*af_l$L4mS8i4{hz+uiv~gi?ILp=d%OG zXjzUP2P*(;$dZPXN95@7wu7e*9G1M)LRIg@_ExYClaG#JUQAKnpoddXv#=4(r1dZc!O-3Z_8 zOtC4ZykcBact2@VuyE&YICbjr)uDoWr_@5J)wY$DIx6{?IQ3DN+c&oRGO8IS>EiY+ z^1Cuhn%+>X{Cu18RobWqE0q#CEDXd+v*Q~m;Cgtxjyt@#;V=C- zlGHFC_hq{yYn!GSR#zFkG19^p->JGSvsA4(q$`NnCwm!dd$n{FtJyR^9JS%Z2CV zG;fP1vbUeLRwo-G+#jkqX+`I$+>2KEuya|`X8QFaB$(6K?^wZp1}pWW26{UEio#7e z>upKZr89|vZGsP30kb)n)zI1zpm7cv)LG>nRsCBR1L9aD8KI14u?K^XRR`#}8Z>_mI*U{Go1#&J?fNPnb2S zfR_tW-un9beF%)OPnm{~Wb^!|$d;FvpIlysQr`ehDv^)f2ND0=tJqjqqj;(JUH>WG zfej6T9#UFb{lay=3sAsA-Xx^>|MuGbXWyf&4B~dou2Jr-zwWxnA8FJfO$b{X5T79b zqgP=QtCiLi^B>7UTtWh){K+F%AauWe_f7$feX%0Yu~#u4duw!Op7q}j(&iN?%kduK z?W{e;+>_8yMd`wsEMkdWWx2D^uK_^pSX6BqTXn|PMd3GiRVtVfXpZbtg9lH)ZAsl?cNt-r4HdgVFGvZtI-?~A_ht*bK) zRvsFG$H-wrF`IbA#8=dVLXJ?vlQ$+WkYcS=-LAtL{z*B*cvomleABJFNLdke6{84q znaDJhDA^l@-!7V!>*Dj-M@ZUx5<5lc72!Tc!|VrDlq435udJL&LB)%HOlHc~C}@Rj z6@*uI+Fx2HpCq)wHpVX0R$DXoo%eCNfBlsy*%@UIRS$+L<`L19bMMubeVQP#$EZkc mjc2ksCH{H)NqFIYXSkBA(p5xq{#Q`&@3w-9e4*@pzyAdqtfapH diff --git a/tutorial/mispeller.png b/tutorial/mispeller.png deleted file mode 100644 index 01e2099cf3a3381623d422a74504a579ab5ee052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5046 zcmZu#2Q=JIyIvc;*F*_c^cH_TQCD5P1yO>C7Gag>L~lX#sH+7*^eC$Z(JhvU7JU(2 zbe7fb=DXi_&%Ni|^E>mKnRm*W_c`zL%zGwAPX|Iq%t#CX0LawUlnt=;4{Wg^#K-=3 zFbOr-3dh3$q6nxSeYlP7;J?y@C#l%y|6$-U;@dPNnwX^oLvjzD$dcFoh)V1}Vhmt=40BESx zl@$zq=ls{GU~IM<)*Gf`PRS-9pAG`SX4MF1Ghl5JTYn?p;@JR^KOQ23{lhJqluFIJT4xUTHlXfm73z9O$*p_9Z<2DyaTL-bAwEb~Iz^eVYS~nu-=+M}2gXmfmL&n-IYI3@aZ2|IjD7^Tn>g{v=f^La zEjnlQn5|_AG9-xswnFT$Wbv!$;tgvA@W{MNXKyUn5%dkl{k=h2@AB^fu6JRxw8p(` z6;ke#xPLaRh zLndj_G=Pv*20t7zV>6Fby+kTWxLqB}Q&G9~w^uf|%3HmYPPM^XbLYY5A~PTMI)X7) z`mCYQzr5@j^I5NWOXDEkEo-_g7-B#^3P)K5BFQs6hUhX#C;5(|nvp28LNAt=$NP{UW!|&(hUp>_U*!`=n)4cVHBFDB zKVYD_(nE2HI$TnZaDR1;lYD;uxBwRIjJo|gCN?MsunzJYxmX(hm1}Rv@j*&6Rdrw> z5UjIZ`}n~Rgp$=){u@ic`QB|*sT?K&=NB>SvXqj$g>+71u)sq8Pz&>Ve^Clig zeeFor<0Azt5&M%3Z;mReKF2Q0fYAB8rz+Qn3S{t=H#8N434E~$EY`PCue8FW-OdlI z@x2%?N@D&<+(&$#|F@H6PXs4v^I!F`CM3~iPyTuIrn=L@G)32_OHxK&64}0Y+2SZ* zS&wJb$4(^rT%UTUcp$Didn5w1oFL!JDBFNJP>z6OE1W7u__~P7@~JRA8&9 zqxjp;8eVzHAuAH--4)T*R!KIOss4a^ zB=x9Q@R9mY6f5;CR~vq+P^f;4fN5%1N{bIAGgWuo2^YIMwSHjuAg_QOBAXOgNIkyu z0a{n(_{KWZiiI&emQ7g|uCbper>0<2nNd1j{3_N{%w&dkMcKxf=nQ!<9q!)BXup^Y zc2{6|K>Rk#Yd}xO2>vahsw6@o+#>Acsn5eIU4fL&+^XOq5RY6V!fQ1;@#W^Z79b_% z)t4%PH+7~)=xtK7dRExSq1o_ix$>uCxP6v?(zKfjb7%zKy#$U^vHiZE-jcC-Kb;DD z;%)*iH#W3#oAVVO1jU**xOyu1`$5`-yi8_UhXS@$|0Iy)RzKzf57IDOUD5)aE$q@4 zB`}{oSYR!+lN;T^7>TLU<>o6Q9ow&pgulFwUzBIL&8XsL5S0jhvMqBo_eeES8dr%(E+(tE*85(lI#rF#U+f9Y*=#ycs$zRC<;El0 z=fqco5@4S2oDy}gn+7zX%VMm^wQ(T!lL)L2xUAoXJ@qb0Vysx)J#XpzBoZ%7o&RfK zSK7wGs`Fh$k@5_Pe^#?0vnVI0T_RRu8(IR`Eyi_vv)=+fdRf$FA~l}YD8b6h1pG0;hi6TAGz=<5-s(aO=^Bn!%TfM2EzyHJ)N&pfG!b1E! zjm{t|zmMdEt4)*wY`6@v%#_U9e0&~rJ)aqwP5Wccg8$;EY*SCus$|0)FHny!A@&|m z`ub}EMicZIHBhThi}lj{!-@_qY!d5RuDu*Gd%lW5$=%Fv^Q2xtOB3+&GF_BM$7y)< zkTs-5BpMQYgERLX7Zblfc1?s+jM>Ve21Tt>5+}v$pPck(JX~KQ@jX7y1~=?t+8r-N%p?^E78jHo0iR z?V@v!zZD7OX7q==fBBYV*jHkaGxLGa;{a35gwX6gp5Hy_St9}Hy5BGSY~-~rR#qfZGs z?m?)F`MdpJ66o%W93NzGf1(dere%7wrhrRynxb6R8G6{I4q|{Yo9zo=L!X&x$b9#% zr{THFX5M_Y_2Nt$AsN~B^c72*akrA|xy`}&L-bwj&!G9V&zlUX^hoT{>qs>G9?RZa zR-5tq>|pG=66xndNyE^cSxiq(mrnhT(E_;M;DAH?r}t<9;8 z#$MiB+||}r-eyh2JW{ueLABq#a{0V3cyyR&XI|Zi4tV@Jwk5Rc4EX5NS?@mj=^y^C z^+G83&>{Ndb77q|!8^UTyQ|G&>|%6#xfa#Jr(I>p&6A!!E$!`|No7{=k4Dt=^go~j zsxF*y5vttBuruiw+HK8LRnx8rc$Z{mZuEIUdF=^`0a%#w4?$GhPC1|MO%TZp7sc<2 zp4o{0c*hBNHm%;G1s;;>fp@J@Pu}FVGe=c&bMX<&48`XV@f~!_QF2$M$eY7)HQRZ* z`^;ag@2t+LsU#y}*$Jeo5`QwRd*Mc%v)iCeOG-{xI?QP^Jt6}J=dG4i=u070cSI+Kz&-bZI3oUiS6k6srhmyCJ?(Zn3bnsw>g=KvH@yccS zRGpdD1;POh@%^TszHAsjPqS)GY)n)6ohuu&B>6EkJjy%HO;s88&*x+pTOoD6zb)w=3;TsbutNt|aN%f*;&N^I;x36gO;i_v(97WUh}wgD6xo zQuU!hD40+Uv~~ZnQ+HKdER`h{VfISbwR3VPE^s`8hA<)o7sv+s*BnYh93osrFff!d z2@JyJp!_=)R-p}^+O-q@8Kb|DT7WkqX) zyLg6%Y)2C_$UWK5O8VC5V@AarCY`M$ckn=1qdf zW-OLAE_I{WJ(o=N;yAi=jkDF6jHWi^k_4pNZ?!o1Erbg4P!Du5;Jn^({yVX{vx0=p zeJ^Cz%??CW@tSo1pen72n_Sug94f~*Y~QMSkbSj+@>j?%L>Her2-N{sy%6|YhUyvm0<>Tw`vUZN{*Vb9&OP9F^dpYRSItd zV?p;i@Gt^M#uV)6m|7p8_)H~Pg{Hclp^X2v?nD2`5V(cmMeSvfb5MU{PyKV)pqbHP zlw8svc&QG#KLlP;AYR_k?~c@6Lh59d{diF<44`Z zF?=EBubJD!OT|)LP+m=yDsdK?qr+BEf&q^%C5Oty6b00H)Va0C6cW$$#_-FDxh<2O zb#^u$pZ8jqlJIPXMG-6?y5AkDFlnh#J7c`aB)P>&%a)Pl>-*2&C2`E$LEYhl;CAVI ze$)_MoqBx(&ab{jyEmE>15f={qtEW){s;K4E5vxae6r=zoKuL8lRMr|+aRPiadLWX zqDkEDwv!c={$=S#6pc0if+?^d!R>rd|BEFP{gsGlTM*^S>d5xeUPi+HJwJZSK%oU} z*zPUEw$IQ#%)gp4_I<5Z^QSA%F#x7CDMn%{bhj4-UxW9d<`Ce(8#T9Jw8(YH;x6g^ zX%PHq5q%0eKbF(eRb8tZy|3#Q%WV()SId6|Wb!fj~V8r#}5HkVua=VQ@fJrwWY@h%)fsM8+z~ z|0eS3%WpfOQYw*C=A_>mkzj?aC>(2I|Ei(zCaFxXiri0$m(MKM{5@M;3%XZk%Ex!V z?4^* z2;f?}m_%7hU~!(8Z+bD+buuL^I0h9mCY(vwp4aoeND`BqI{f*=tM6rBg z&eFescBg6oHz=R zTr@lvH&$&7v(N-IRsxM~nsrX5uNoH0Z(7e>)zgnezwAj>uTR@@x5hoVE$X2~o1UcG zW_2Y$M?=MjZ>?YT`x3a0cq6O4#~R5oc>Dr>V}qyeqM*jEKVEa#yH&-`>n)PwvyoEsU8g9r+ERfDI6j46U7@J16_| zoXM}wC5`}wYP35%l zsAJ@9ZkadBgh*gc_k^hPh$VER3X0DaygZ9S5-Eb2d$Gn-B0bZqme3iwamwEnBGwV9 z3~PU`eLriG3U#=y!fCU9^2HdzEN*f#BpCce!3U#+;u1`qnLCW59SuU0IX5ak^UX(& zR%nd&*Pyn%86lUN7OCenMXPqVM-h>IO!4nNI@-Tv&63@|C|bm+^MCO2%vK9SJTFo6>}hj)D6)*Nb~`iChVBSqxqnkcV&t7p^4yIr!4e h2~?Q>`xvzyoLX2{JGpq{hJ8T;sH^BGS1Y~@`!6hM#Q6XK diff --git a/tutorial/options.png b/tutorial/options.png deleted file mode 100644 index 0de05de2bb8f1c354483f978cd182f33be4155d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9095 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 z 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�M?qjT@Z~vp=Y*S)lB2>?WjmVExW`YqHY^D>(I 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 diff --git a/tutorial/pesterchum_ss.png b/tutorial/pesterchum_ss.png deleted file mode 100644 index 319ccde153377d91bbb63e9aab45b37768f4a803..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185840 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 z�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 AMgRZ+ diff --git a/tutorial/prefix.png b/tutorial/prefix.png deleted file mode 100644 index c32752784a2e8d2604265a880f40544f7362f06e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5567 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 R@>eQAQBGC1T-q$?e*k$v;A#K> diff --git a/tutorial/quirkmenu.png b/tutorial/quirkmenu.png deleted file mode 100644 index e3afc286dad6817d86621188534e633b0eec7cc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12410 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 diff --git a/tutorial/quirks_terezi.png b/tutorial/quirks_terezi.png deleted file mode 100644 index cd46be6a8e29563390e7c52bee120ef09efc5fbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17829 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 An*aa+ diff --git a/tutorial/random_replace_caps.png b/tutorial/random_replace_caps.png deleted file mode 100644 index 6f6afc15af0aff7bfbfcb6a6826780031e0d4d43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12595 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 diff --git a/tutorial/random_replace_simple.png b/tutorial/random_replace_simple.png deleted file mode 100644 index cd1c578a5007069cb9a886f17ba318182c3aa5bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12237 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 diff --git a/tutorial/regexp_a4.png b/tutorial/regexp_a4.png deleted file mode 100644 index ac364b20f0109c0c02c484a5ce712256709c4456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8004 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 ANB{r; diff --git a/tutorial/regexp_caps.png b/tutorial/regexp_caps.png deleted file mode 100644 index d5b807a358e627953626d55889b1a99640ac0e3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8433 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 P#sbJmDN8~njD!CN@G7zw diff --git a/tutorial/simple_ee33.png b/tutorial/simple_ee33.png deleted file mode 100644 index 817d44480acacfa75b3cda5f61ef6e76da969d63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6568 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 G@c#i|#Ir2` diff --git a/tutorial/switch_profile.png b/tutorial/switch_profile.png deleted file mode 100644 index baecf42302694110926ef157cf16b30a0e7cc345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16473 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 diff --git a/tutorial/trollian_ss.png b/tutorial/trollian_ss.png deleted file mode 100644 index 6713db5a38bd1911947f7c918b895d1269a556d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177861 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

&Kt$bq;qQPsje~{m4 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 E0#UIDHvj+t diff --git a/tutorial/typewriter_ss.png b/tutorial/typewriter_ss.png deleted file mode 100644 index abdc2427a0365a0cdcb6648f7189ef29e1113ad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295807 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

cm3! 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

QzidYrp?kpI|Iz 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 Date: Thu, 19 May 2011 01:18:33 -0700 Subject: [PATCH 096/166] Bug fix: Dont' split messages before the end of a color tag --- TODO.mkdn | 3 +-- irc.py | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index 79d8d73..47edaa7 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -19,8 +19,7 @@ Bugs * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * When using mood sort, scroll position jumps to last selected chum * When switching chumhandles, OP doesn't appear to retain OP status (though they do) -* Animations slow down pesterchum on not small conversations -* Long line splitter will split in the middle of color tags +* When left for a really long time, animations slow down pesterchum Mac Bugs -------- diff --git a/irc.py b/irc.py index 8569e76..2b63a13 100644 --- a/irc.py +++ b/irc.py @@ -94,9 +94,11 @@ class PesterIRC(QtCore.QThread): textl = [unicode(text)] def splittext(l): if len(l[0]) > 450: - space = l[0].rfind(" ", 0,450) + space = l[0].rfind(" ", 0,430) if space == -1: space = 450 + elif l[0][space+1:space+5] == "": + space = space+4 a = l[0][0:space+1] b = l[0][space+1:] if len(b) > 0: From 5b3d6e25703d4e7217bc09877453455f99276a77 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 19 May 2011 01:44:15 -0700 Subject: [PATCH 097/166] Bug fix: Turn on/off individual quirks on pressing OK --- menus.py | 8 -------- pesterchum.py | 3 +++ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/menus.py b/menus.py index 723a8e4..8015a44 100644 --- a/menus.py +++ b/menus.py @@ -39,8 +39,6 @@ class PesterQuirkList(QtGui.QListWidget): self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) def addItem(self, item): - self.connect(self, QtCore.SIGNAL('itemChanged(QListWidgetItem *)'), - self, QtCore.SLOT('changeCheckState()')) item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) if item.quirk.on: item.setCheckState(2) @@ -48,12 +46,6 @@ class PesterQuirkList(QtGui.QListWidget): item.setCheckState(0) QtGui.QListWidget.addItem(self, item) - @QtCore.pyqtSlot() - def changeCheckState(self): - item = self.currentItem() - if not item: return - item.quirk.quirk["on"] = item.quirk.on = (item.checkState() == QtCore.Qt.Checked) - def currentQuirk(self): return self.item(self.currentRow()) diff --git a/pesterchum.py b/pesterchum.py index d3264f6..f60db5a 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2290,6 +2290,9 @@ class PesterWindow(MovingWindow): self.quirkmenu.activateWindow() @QtCore.pyqtSlot() def updateQuirks(self): + for i in range(self.quirkmenu.quirkList.count()): + item = self.quirkmenu.quirkList.item(i) + item.quirk.quirk["on"] = item.quirk.on = (item.checkState() == QtCore.Qt.Checked) quirks = pesterQuirks(self.quirkmenu.quirks()) self.userprofile.setQuirks(quirks) self.quirkmenu = None From c248d496fcb72110b900fc0b50f26fa3e240c2ef Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 19 May 2011 06:49:21 -0700 Subject: [PATCH 098/166] Invitation-only memos and inviting people to memos --- CHANGELOG.mkdn | 3 ++- irc.py | 15 +++++++++++++++ memos.py | 33 +++++++++++++++++++++++++++++++++ menus.py | 2 ++ oyoyo/helpers.py | 5 +++-- parsetools.py | 2 +- pesterchum.py | 36 +++++++++++++++++++++++++++++++----- themes/enamel/style.js | 3 ++- themes/gold/style.js | 3 ++- themes/pesterchum/style.js | 3 ++- themes/trollian/style.js | 3 ++- themes/typewriter/style.js | 3 ++- 12 files changed, 97 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index b974184..6ada8ac 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -28,7 +28,8 @@ CHANGELOG * Advanced Mode: Alter IRC user mode - Kiooeht [evacipatedBox] * Logviewer chum search - Kiooeht [evacipatedBox] * Logviewer log search - Kiooeht [evacipatedBox] -* Set server and port from command line - Kiooeht [evacipated] +* Set server and port from command line - Kiooeht [evacipatedBox] +* Invite-only memos, invite chums to memos - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/irc.py b/irc.py index 2b63a13..5bbd7ed 100644 --- a/irc.py +++ b/irc.py @@ -221,17 +221,27 @@ class PesterIRC(QtCore.QThread): helpers.names(self.cli, c) except socket.error: self.setConnectionBroken() + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) + def inviteChum(self, handle, channel): + h = unicode(handle) + c = unicode(channel) + try: + helpers.invite(self.cli, h, c) + except socket.error: + self.setConnectionBroken() moodUpdated = QtCore.pyqtSignal(QtCore.QString, Mood) colorUpdated = QtCore.pyqtSignal(QtCore.QString, QtGui.QColor) messageReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) memoReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) noticeReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) + inviteReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) timeCommand = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) namesReceived = QtCore.pyqtSignal(QtCore.QString, PesterList) channelListReceived = QtCore.pyqtSignal(PesterList) nickCollision = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) myHandleChanged = QtCore.pyqtSignal(QtCore.QString) + chanInviteOnly = QtCore.pyqtSignal(QtCore.QString) connected = QtCore.pyqtSignal() userPresentUpdate = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) @@ -387,6 +397,11 @@ class PesterHandler(DefaultCommandHandler): def umodeis(self, server, handle, modes): self.parent.mainwindow.modes = modes + def invite(self, sender, you, channel): + handle = sender.split('!')[0] + self.parent.inviteReceived.emit(handle, channel) + def inviteonlychan(self, server, handle, channel, msg): + self.parent.chanInviteOnly.emit(channel) def getMood(self, *chums): chumglub = "GETMOOD " diff --git a/memos.py b/memos.py index dad7b54..36e3949 100644 --- a/memos.py +++ b/memos.py @@ -373,8 +373,12 @@ class PesterMemo(PesterConvo): self.logchum = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/viewlog"], self) self.connect(self.logchum, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('openChumLogs()')) + self.invitechum = QtGui.QAction(self.mainwindow.theme["main/menus/rclickchumlist/invitechum"], self) + self.connect(self.invitechum, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('inviteChums()')) self.optionsMenu.addAction(self.quirksOff) self.optionsMenu.addAction(self.logchum) + self.optionsMenu.addAction(self.invitechum) self.timeslider = TimeSlider(QtCore.Qt.Horizontal, self) self.timeinput = TimeInput(self.timeslider, self) @@ -656,6 +660,24 @@ class PesterMemo(PesterConvo): for n in self.mainwindow.namesdb[self.channel]: self.addUser(n) + @QtCore.pyqtSlot(QtCore.QString) + def closeInviteOnly(self, channel): + c = unicode(channel) + if c == self.channel: + self.disconnect(self.mainwindow, QtCore.SIGNAL('inviteOnlyChan(QString)'), + self, QtCore.SLOT('closeInviteOnly(QString)')) + if self.parent(): + print self.channel + i = self.parent().tabIndices[self.channel] + self.parent().tabClose(i) + else: + self.close() + msgbox = QtGui.QMessageBox() + msgbox.setText("%s: Invites only!" % (c)) + msgbox.setInformativeText("This channel is invite-only. You must get an invitation from someone on the inside before entering.") + msgbox.setStandardButtons(QtGui.QMessageBox.Ok) + ret = msgbox.exec_() + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) def userPresentChange(self, handle, channel, update): h = unicode(handle) @@ -916,6 +938,17 @@ class PesterMemo(PesterConvo): self.mainwindow.chumList.pesterlogviewer.raise_() self.mainwindow.chumList.pesterlogviewer.activateWindow() + @QtCore.pyqtSlot() + def inviteChums(self): + if not hasattr(self, 'invitechums'): + self.invitechums = None + if not self.invitechums: + (chum, ok) = QtGui.QInputDialog.getText(self, "Invite to Char", "Enter the chumhandle of the user you'd like to invite:") + if ok: + chum = unicode(chum) + self.mainwindow.inviteChum.emit(chum, self.channel) + self.invitechums = None + @QtCore.pyqtSlot() def sendtime(self): me = self.mainwindow.profile() diff --git a/menus.py b/menus.py index 8015a44..ea9b23e 100644 --- a/menus.py +++ b/menus.py @@ -990,6 +990,7 @@ class PesterMemoList(QtGui.QDialog): self.orjoinlabel = QtGui.QLabel("OR MAKE A NEW MEMO:") self.newmemo = QtGui.QLineEdit(channel, self) self.secretChannel = QtGui.QCheckBox("HIDDEN CHANNEL?", self) + self.inviteChannel = QtGui.QCheckBox("INVITATION ONLY?", self) self.timelabel = QtGui.QLabel("TIMEFRAME:") self.timeslider = TimeSlider(QtCore.Qt.Horizontal, self) @@ -1016,6 +1017,7 @@ class PesterMemoList(QtGui.QDialog): layout_right.addWidget(self.orjoinlabel) layout_right.addWidget(self.newmemo) layout_right.addWidget(self.secretChannel) + layout_right.addWidget(self.inviteChannel) layout_right.addWidget(self.timelabel) layout_right.addWidget(self.timeslider) layout_right.addWidget(self.timeinput) diff --git a/oyoyo/helpers.py b/oyoyo/helpers.py index c58f3a0..7ecab79 100644 --- a/oyoyo/helpers.py +++ b/oyoyo/helpers.py @@ -76,7 +76,7 @@ def quit(cli, msg='gone'): cli._end = 1 def user(cli, username, realname=None): - cli.send("USER", realname or username, cli.host, cli.host, + cli.send("USER", realname or username, cli.host, cli.host, realname or username) _simple = ( @@ -84,6 +84,7 @@ _simple = ( 'part', 'nick', 'notice', + 'invite', ) def _addsimple(): import sys @@ -106,6 +107,6 @@ def _addNumerics(): m = sys.modules[__name__] for num, name in ircevents.numeric_events.iteritems(): setattr(m, name, numericcmd(num, name)) - + _addNumerics() diff --git a/parsetools.py b/parsetools.py index 051adbf..711508b 100644 --- a/parsetools.py +++ b/parsetools.py @@ -492,7 +492,7 @@ def themeChecker(theme): "convo/text/closememo", "convo/text/kickedmemo", \ "main/chums/userlistcolor", "main/defaultwindow/style", \ "main/chums/moods", "main/chums/moods/chummy/icon", "main/menus/help/help", \ - "main/menus/help/calsprite", "main/menus/help/nickserv"] + "main/menus/help/calsprite", "main/menus/help/nickserv", "main/menus/rclickchumlist/invitechum"] for n in needs: try: diff --git a/pesterchum.py b/pesterchum.py index f60db5a..86f4222 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -1404,7 +1404,7 @@ class PesterWindow(MovingWindow): except ThemeException, (inst): print "Caught: "+inst.parameter themeWarning = QtGui.QMessageBox(self) - themeWarning.setText("Theme Error: %s\nFalling back..." % (inst)) + themeWarning.setText("Theme Error: %s" % (inst)) themeWarning.exec_() self.theme = pesterTheme("pesterchum") @@ -1712,7 +1712,7 @@ class PesterWindow(MovingWindow): self.connect(self.tabmemo, QtCore.SIGNAL('windowClosed()'), self, QtCore.SLOT('memoTabsClosed()')) - def newMemo(self, channel, timestr, secret=False): + def newMemo(self, channel, timestr, secret=False, invite=False): if channel == "#pesterchum": return if self.memos.has_key(channel): @@ -1727,6 +1727,8 @@ class PesterWindow(MovingWindow): else: memoWindow = PesterMemo(channel, timestr, self, None) # connect signals + self.connect(self, QtCore.SIGNAL('inviteOnlyChan(QString)'), + memoWindow, QtCore.SLOT('closeInviteOnly(QString)')) self.connect(memoWindow, QtCore.SIGNAL('messageSent(QString, QString)'), self, QtCore.SIGNAL('sendMessage(QString, QString)')) self.connect(memoWindow, QtCore.SIGNAL('windowClosed(QString)'), @@ -1743,6 +1745,8 @@ class PesterWindow(MovingWindow): if self.secret: self.secret = True self.setChannelMode.emit(channel, "+s", "") + if invite: + self.setChannelMode.emit(channel, "+i", "") memoWindow.sendTimeInfo() memoWindow.show() @@ -1887,7 +1891,7 @@ class PesterWindow(MovingWindow): themeChecker(theme) except ThemeException, (inst): themeWarning = QtGui.QMessageBox(self) - themeWarning.setText("Theme Error: %s\nFalling back..." % (inst)) + themeWarning.setText("Theme Error: %s" % (inst)) themeWarning.exec_() theme = pesterTheme("pesterchum") return @@ -2014,6 +2018,19 @@ class PesterWindow(MovingWindow): m = unicode(msg) if self.convos.has_key(h): self.newMessage(h, m) + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) + def deliverInvite(self, handle, channel): + msgbox = QtGui.QMessageBox() + msgbox.setText("You're invited!") + msgbox.setInformativeText("%s has invited you to the memo: %s\nWould you like to join them?" % (handle, channel)) + msgbox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel) + ret = msgbox.exec_() + if ret == QtGui.QMessageBox.Ok: + self.newMemo(unicode(channel), "+0:00") + @QtCore.pyqtSlot(QtCore.QString) + def chanInviteOnly(self, channel): + print "Invite only: %s" % channel + self.inviteOnlyChan.emit(channel) @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) def timeCommand(self, chan, handle, command): (c, h, cmd) = (unicode(chan), unicode(handle), unicode(command)) @@ -2226,10 +2243,11 @@ class PesterWindow(MovingWindow): selectedmemo = self.memochooser.selectedmemo() time = unicode(self.memochooser.timeinput.text()) secret = self.memochooser.secretChannel.isChecked() + invite = self.memochooser.inviteChannel.isChecked() if newmemo: channel = "#"+unicode(newmemo).replace(" ", "_") channel = re.sub(r"[^A-Za-z0-9#_]", "", channel) - self.newMemo(channel, time, secret=secret) + self.newMemo(channel, time, secret=secret, invite=invite) elif selectedmemo: channel = "#"+unicode(selectedmemo.target) self.newMemo(channel, time) @@ -2701,6 +2719,8 @@ class PesterWindow(MovingWindow): leftChannel = QtCore.pyqtSignal(QtCore.QString) setChannelMode = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) channelNames = QtCore.pyqtSignal(QtCore.QString) + inviteChum = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) + inviteOnlyChan = QtCore.pyqtSignal(QtCore.QString) closeSignal = QtCore.pyqtSignal() reconnectIRC = QtCore.pyqtSignal() @@ -2811,6 +2831,8 @@ class MainProgram(QtCore.QObject): 'setChannelMode(QString, QString, QString)'), ('channelNames(QString)', 'channelNames(QString)'), + ('inviteChum(QString, QString)', + 'inviteChum(QString, QString)'), ('reconnectIRC()', 'reconnectIRC()') ] # IRC --> Main window @@ -2825,6 +2847,8 @@ class MainProgram(QtCore.QObject): 'deliverMemo(QString, QString, QString)'), ('noticeReceived(QString, QString)', 'deliverNotice(QString, QString)'), + ('inviteReceived(QString, QString)', + 'deliverInvite(QString, QString)'), ('nickCollision(QString, QString)', 'nickCollision(QString, QString)'), ('myHandleChanged(QString)', @@ -2836,7 +2860,9 @@ class MainProgram(QtCore.QObject): ('channelListReceived(PyQt_PyObject)', 'updateChannelList(PyQt_PyObject)'), ('timeCommand(QString, QString, QString)', - 'timeCommand(QString, QString, QString)') + 'timeCommand(QString, QString, QString)'), + ('chanInviteOnly(QString)', + 'chanInviteOnly(QString)') ] def connectWidgets(self, irc, widget): self.connect(irc, QtCore.SIGNAL('finished()'), diff --git a/themes/enamel/style.js b/themes/enamel/style.js index 8d812b6..4bbb56f 100644 --- a/themes/enamel/style.js +++ b/themes/enamel/style.js @@ -49,7 +49,8 @@ "banuser": "Ban User", "opuser": "Make OP", "voiceuser": "Give Voice", - "quirksoff": "Quirks Off" + "quirksoff": "Quirks Off", + "invitechum": "Invite Chum" } }, "chums": { "style": "text-align: center; border:0px; background-image:url($path/chumbg.png); background-color: #ffe400; background-repeat: no-repeat; color: white; font-family: 'Century Gothic';selection-background-color:#646464; font-size:18px; ", diff --git a/themes/gold/style.js b/themes/gold/style.js index 87104b0..d67fbc1 100644 --- a/themes/gold/style.js +++ b/themes/gold/style.js @@ -52,7 +52,8 @@ "banuser": "Ban User", "opuser": "Make OP", "voiceuser": "Give Voice", - "quirksoff": "Quirks Off" + "quirksoff": "Quirks Off", + "invitechum": "Invite Chum" } }, "chums": { "style": "border:0px; background-image:url($path/chumbg.png); background-color: rgb(110,110,110); background-repeat: no-repeat; color: white; font-family: 'Arial';selection-background-color:#646464; font-size:14px; ", diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 7bba32e..3f93859 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -52,7 +52,8 @@ "banuser": "BAN USER", "opuser": "MAKE OP", "voiceuser": "GIVE VOICE", - "quirksoff": "QUIRKS OFF" + "quirksoff": "QUIRKS OFF", + "invitechum": "INVITE CHUM" } }, "chums": { "style": "border:2px solid yellow; background-color: black;color: white;font: bold;font-family: 'Courier';selection-background-color:#646464; ", diff --git a/themes/trollian/style.js b/themes/trollian/style.js index 9c47752..fc78ef9 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -51,7 +51,8 @@ "banuser": "Ban", "opuser": "Promote", "voiceuser": "Let Speak", - "quirksoff": "Quirks Off" } + "quirksoff": "Quirks Off", + "invitechum": "Invite Chump" } }, "chums": { "style": "font-size: 12px; background: white; border:0px; font-family: 'Arial';selection-background-color:rgb(200,200,200); ", "scrollbar": { "style" : "background-color:#c2c2c2;", diff --git a/themes/typewriter/style.js b/themes/typewriter/style.js index d84fad0..80c9aa5 100644 --- a/themes/typewriter/style.js +++ b/themes/typewriter/style.js @@ -52,7 +52,8 @@ "banuser": "Expel User", "opuser": "Promote", "voiceuser": "Let Speak", - "quirksoff": "Quirks Off" + "quirksoff": "Quirks Off", + "invitechum": "Invite User" } }, "chums": { "style": "border:0px; background-color: white; font: bold;font-family: 'Courier';selection-background-color: black; ", From d676323d31360e065e7d65a039ee9f3f86b33bb7 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 20 May 2011 06:03:08 -0700 Subject: [PATCH 099/166] Memo userlist theme change correction + changelog update --- CHANGELOG.mkdn | 2 ++ memos.py | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 6ada8ac..bf56a99 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -30,6 +30,7 @@ CHANGELOG * Logviewer log search - Kiooeht [evacipatedBox] * Set server and port from command line - Kiooeht [evacipatedBox] * Invite-only memos, invite chums to memos - Kiooeht [evacipatedBox] +* Check Pyqt4 and pygame are installed and correct versions - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] @@ -40,6 +41,7 @@ CHANGELOG * De-Op in memos correctly - Kiooeht [evacipatedBox] * Don't blow up if someone's not using Pesterchum in a memo - Kiooeht [evacipatedBox] * Make 'logs' and 'profiles' directories if non-existant - Kiooeht [evacipatedBox] + * Don't split messages in bad places - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] diff --git a/memos.py b/memos.py index 36e3949..e03011a 100644 --- a/memos.py +++ b/memos.py @@ -496,8 +496,7 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.setStyleSheet(theme["main/defaultwindow/style"]) if theme.has_key("main/chums/scrollbar"): self.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] )) - else: - self.userlist.setStyleSheet(theme["memos/userlist/style"]) + self.userlist.setStyleSheet(theme["memos/userlist/style"]) self.userlist.setFixedWidth(theme["memos/userlist/width"]) self.addchumAction.setText(theme["main/menus/rclickchumlist/addchum"]) self.banuserAction.setText(theme["main/menus/rclickchumlist/banuser"]) From 0981de9513674171e61267d7a7d03f347b98e769 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 20 May 2011 11:45:41 -0700 Subject: [PATCH 100/166] Advanced Mode: View channel modes --- CHANGELOG.mkdn | 1 + irc.py | 14 +++++++++----- memos.py | 30 +++++++++++++++++++++++++++++- pesterchum.py | 7 ++++++- 4 files changed, 45 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index bf56a99..2f2ec55 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -31,6 +31,7 @@ CHANGELOG * Set server and port from command line - Kiooeht [evacipatedBox] * Invite-only memos, invite chums to memos - Kiooeht [evacipatedBox] * Check Pyqt4 and pygame are installed and correct versions - Kiooeht [evacipatedBox] +* Advanced Mode: View memo (channel) modes - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/irc.py b/irc.py index 5bbd7ed..338a21d 100644 --- a/irc.py +++ b/irc.py @@ -186,6 +186,7 @@ class PesterIRC(QtCore.QThread): c = unicode(channel) try: helpers.join(self.cli, c) + helpers.mode(self.cli, c, "", None) except socket.error: self.setConnectionBroken() @QtCore.pyqtSlot(QtCore.QString) @@ -242,6 +243,7 @@ class PesterIRC(QtCore.QThread): nickCollision = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) myHandleChanged = QtCore.pyqtSignal(QtCore.QString) chanInviteOnly = QtCore.pyqtSignal(QtCore.QString) + modesUpdated = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) connected = QtCore.pyqtSignal() userPresentUpdate = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) @@ -347,11 +349,11 @@ class PesterHandler(DefaultCommandHandler): if mode[0] == "+": modes.extend(mode[1:]) elif mode[0] == "-": - for i in mode[1:]: - try: - modes.remove(i) - except ValueError: - pass + for i in mode[1:]: + try: + modes.remove(i) + except ValueError: + pass modes.sort() self.parent.mainwindow.modes = "+" + "".join(modes) self.parent.userPresentUpdate.emit(handle, channel, mode+":%s" % (op)) @@ -402,6 +404,8 @@ class PesterHandler(DefaultCommandHandler): self.parent.inviteReceived.emit(handle, channel) def inviteonlychan(self, server, handle, channel, msg): self.parent.chanInviteOnly.emit(channel) + def channelmodeis(self, server, handle, channel, modes): + self.parent.modesUpdated.emit(channel, modes) def getMood(self, *chums): chumglub = "GETMOOD " diff --git a/memos.py b/memos.py index e03011a..13506dc 100644 --- a/memos.py +++ b/memos.py @@ -580,6 +580,25 @@ class PesterMemo(PesterConvo): for u in users: self.userlist.addItem(u) + def updateChanModes(self, modes): + if not hasattr(self, 'modes'): self.modes = "" + chanmodes = list(str(self.modes)) + if chanmodes and chanmodes[0] == "+": chanmodes = chanmodes[1:] + modes = str(modes) + if modes[0] == "+": + chanmodes.extend(modes[1:]) + elif modes[0] == "-": + for i in modes[1:]: + try: + chanmodes.remove(i) + except ValueError: + pass + chanmodes.sort() + self.modes = "+" + "".join(chanmodes) + if self.mainwindow.advanced: + t = Template(self.mainwindow.theme["memos/label/text"]) + self.channelLabel.setText(t.safe_substitute(channel=self.channel) + "(%s)" % (self.modes)) + def timeUpdate(self, handle, cmd): window = self.mainwindow chum = PesterProfile(handle) @@ -658,6 +677,11 @@ class PesterMemo(PesterConvo): self.userlist.clear() for n in self.mainwindow.namesdb[self.channel]: self.addUser(n) + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) + def modesUpdated(self, channel, modes): + c = unicode(channel) + if c == self.channel: + self.updateChanModes(modes) @QtCore.pyqtSlot(QtCore.QString) def closeInviteOnly(self, channel): @@ -679,6 +703,8 @@ class PesterMemo(PesterConvo): @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) def userPresentChange(self, handle, channel, update): + if channel != self.channel: + return h = unicode(handle) c = unicode(channel) update = unicode(update) @@ -691,7 +717,7 @@ class PesterMemo(PesterConvo): oldnick = l[0] newnick = l[1] h = oldnick - if update[0:2] in ["+o", "-o", "+v", "-v"]: + if update[0:1] in ["+", "-"]: l = update.split(":") update = l[0] op = l[1] @@ -896,6 +922,8 @@ class PesterMemo(PesterConvo): icon = QtGui.QIcon() c.setIcon(icon) self.sortUsers() + elif h == "" and update[0] in ["+","-"]: + self.updateChanModes(update) @QtCore.pyqtSlot() def addChumSlot(self): diff --git a/pesterchum.py b/pesterchum.py index 86f4222..8dd5b7d 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -1735,6 +1735,8 @@ class PesterWindow(MovingWindow): self, QtCore.SLOT('closeMemo(QString)')) self.connect(self, QtCore.SIGNAL('namesUpdated()'), memoWindow, QtCore.SLOT('namesUpdated()')) + self.connect(self, QtCore.SIGNAL('modesUpdated(QString, QString)'), + memoWindow, QtCore.SLOT('modesUpdated(QString, QString)')) self.connect(self, QtCore.SIGNAL('userPresentSignal(QString, QString, QString)'), memoWindow, QtCore.SLOT('userPresentChange(QString, QString, QString)')) @@ -2709,6 +2711,7 @@ class PesterWindow(MovingWindow): requestChannelList = QtCore.pyqtSignal() requestNames = QtCore.pyqtSignal(QtCore.QString) namesUpdated = QtCore.pyqtSignal() + modesUpdated = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) userPresentSignal = QtCore.pyqtSignal(QtCore.QString,QtCore.QString,QtCore.QString) mycolorUpdated = QtCore.pyqtSignal() trayIconSignal = QtCore.pyqtSignal(int) @@ -2862,7 +2865,9 @@ class MainProgram(QtCore.QObject): ('timeCommand(QString, QString, QString)', 'timeCommand(QString, QString, QString)'), ('chanInviteOnly(QString)', - 'chanInviteOnly(QString)') + 'chanInviteOnly(QString)'), + ('modesUpdated(QString, QString)', + 'modesUpdated(QString, QString)') ] def connectWidgets(self, irc, widget): self.connect(irc, QtCore.SIGNAL('finished()'), From 701f53d719217cb1ce5597da4387e1839be05e6c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 22 May 2011 17:53:01 -0700 Subject: [PATCH 101/166] Refix the memo scroll bars (broke them again in commit d67632) --- memos.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/memos.py b/memos.py index 13506dc..1fced3c 100644 --- a/memos.py +++ b/memos.py @@ -495,8 +495,9 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.setStyleSheet(theme["main/defaultwindow/style"]) if theme.has_key("main/chums/scrollbar"): - self.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] )) - self.userlist.setStyleSheet(theme["memos/userlist/style"]) + self.userlist.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] )) + else: + self.userlist.setStyleSheet(theme["memos/userlist/style"]) self.userlist.setFixedWidth(theme["memos/userlist/width"]) self.addchumAction.setText(theme["main/menus/rclickchumlist/addchum"]) self.banuserAction.setText(theme["main/menus/rclickchumlist/banuser"]) From 828a8c32d5ad8b2ad56397ca9b91a0de7802c9be Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 22 May 2011 18:01:16 -0700 Subject: [PATCH 102/166] Apply prefix/suffix quirks in the correct order + don't just pick a random prefix/suffix --- dataobjs.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/dataobjs.py b/dataobjs.py index a81cd2e..7d5b927 100644 --- a/dataobjs.py +++ b/dataobjs.py @@ -143,14 +143,10 @@ class pesterQuirks(object): string = q.apply(string, first=(i==0), last=lastStr) else: string = q.apply(string) - if i == 0: - if len(prefix) >= 1: - myprefix = random.choice(prefix) - string = myprefix.apply(string) - if lastStr: - if len(suffix) >= 1: - mysuffix = random.choice(suffix) - string = mysuffix.apply(string) + elif q.type == 'prefix' and i == 0: + string = q.apply(string) + elif q.type == 'suffix' and lastStr: + string = q.apply(string) newlist.append(string) final = [] From 44fa9cdc99ad6596b9bc744725c09f2349a0931a Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 22 May 2011 21:04:42 -0700 Subject: [PATCH 103/166] Bug fix: Nicks inside nicks are NOT to change moods of others ("ectoBio" and "ectoBiologist") --- CHANGELOG.mkdn | 1 + pesterchum.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 2f2ec55..da992a2 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -43,6 +43,7 @@ CHANGELOG * Don't blow up if someone's not using Pesterchum in a memo - Kiooeht [evacipatedBox] * Make 'logs' and 'profiles' directories if non-existant - Kiooeht [evacipatedBox] * Don't split messages in bad places - Kiooeht [evacipatedBox] + * Chumhandles must match EXACTLY to register mood changes - Kiooeht [evacipatedBox] ### 3.14.1 * Pesterchum 3.14 - illuminatedwax [ghostDunk] diff --git a/pesterchum.py b/pesterchum.py index 8dd5b7d..304cf8f 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -795,7 +795,7 @@ class chumArea(RightClickTree): #self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) def getChums(self, handle): - chums = self.findItems(handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive) + chums = self.findItems(handle, QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive) return chums def showAllChums(self): From aab265430044abf7a760d4bbf4f2b379bb5dc3d7 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Mon, 23 May 2011 18:40:13 -0700 Subject: [PATCH 104/166] Whoops: Make people exit from memos on ping timeouts/broken pipes/etc --- memos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/memos.py b/memos.py index 1fced3c..6d380b7 100644 --- a/memos.py +++ b/memos.py @@ -704,7 +704,7 @@ class PesterMemo(PesterConvo): @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) def userPresentChange(self, handle, channel, update): - if channel != self.channel: + if channel != self.channel and update != "quit": return h = unicode(handle) c = unicode(channel) From 317e42a29e6e82130154e79e993b2a3acd273af0 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 24 May 2011 22:51:51 -0700 Subject: [PATCH 105/166] Bug fix: Handle multiple mode changes in the same command --- irc.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/irc.py b/irc.py index 338a21d..8c6929b 100644 --- a/irc.py +++ b/irc.py @@ -341,7 +341,8 @@ class PesterHandler(DefaultCommandHandler): self.parent.userPresentUpdate.emit(handle, channel, "join") if channel == "#pesterchum": self.parent.moodUpdated.emit(handle, Mood("chummy")) - def mode(self, op, channel, mode, handle=""): + def mode(self, op, channel, mode, *handles): + if len(handles) <= 0: handles = [""] opnick = op[0:op.find("!")] if op == channel or channel == self.parent.mainwindow.profile().handle: modes = list(self.parent.mainwindow.modes) @@ -356,7 +357,17 @@ class PesterHandler(DefaultCommandHandler): pass modes.sort() self.parent.mainwindow.modes = "+" + "".join(modes) - self.parent.userPresentUpdate.emit(handle, channel, mode+":%s" % (op)) + modes = [] + cur = "+" + for l in mode: + if l in ["+","-"]: cur = l + else: + modes.append("%s%s" % (cur, l)) + for (i,m) in enumerate(modes): + try: + self.parent.userPresentUpdate.emit(handles[i], channel, m+":%s" % (op)) + except IndexError: + self.parent.userPresentUpdate.emit("", channel, m+":%s" % (op)) def nick(self, oldnick, newnick): oldhandle = oldnick[0:oldnick.find("!")] if oldhandle == self.mainwindow.profile().handle: From 8f8dcb001204b222cf14dc489120419b9ce63740 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 25 May 2011 01:38:36 -0700 Subject: [PATCH 106/166] Quirk groups --- CHANGELOG.mkdn | 1 + dataobjs.py | 3 + menus.py | 242 ++++++++++++++++++++++++++++++++++++++----------- pesterchum.py | 9 +- 4 files changed, 200 insertions(+), 55 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index da992a2..4c08601 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -32,6 +32,7 @@ CHANGELOG * Invite-only memos, invite chums to memos - Kiooeht [evacipatedBox] * Check Pyqt4 and pygame are installed and correct versions - Kiooeht [evacipatedBox] * Advanced Mode: View memo (channel) modes - Kiooeht [evacipatedBox] +* Quirk groups - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/dataobjs.py b/dataobjs.py index 7d5b927..dff0181 100644 --- a/dataobjs.py +++ b/dataobjs.py @@ -52,6 +52,9 @@ class pesterQuirk(object): if "on" not in self.quirk: self.quirk["on"] = True self.on = self.quirk["on"] + if "group" not in self.quirk: + self.quirk["group"] = "Miscellaneous" + self.group = self.quirk["group"] def apply(self, string, first=False, last=False): if not self.on: return string diff --git a/menus.py b/menus.py index ea9b23e..591972d 100644 --- a/menus.py +++ b/menus.py @@ -6,14 +6,15 @@ from generic import RightClickList, RightClickTree, MultiTextDialog from dataobjs import pesterQuirk, PesterProfile from memos import TimeSlider, TimeInput -class PesterQuirkItem(QtGui.QListWidgetItem): - def __init__(self, quirk, parent): - QtGui.QListWidgetItem.__init__(self, parent) +class PesterQuirkItem(QtGui.QTreeWidgetItem): + def __init__(self, quirk): + parent = None + QtGui.QTreeWidgetItem.__init__(self, parent) self.quirk = quirk - self.setText(unicode(quirk)) + self.setText(0, unicode(quirk)) def update(self, quirk): self.quirk = quirk - self.setText(unicode(quirk)) + self.setText(0, unicode(quirk)) def __lt__(self, quirkitem): """Sets the order of quirks if auto-sorted by Qt. Obsolete now.""" if self.quirk.type == "prefix": @@ -23,51 +24,184 @@ class PesterQuirkItem(QtGui.QListWidgetItem): return True else: return False -class PesterQuirkList(QtGui.QListWidget): +class PesterQuirkList(QtGui.QTreeWidget): def __init__(self, mainwindow, parent): - QtGui.QListWidget.__init__(self, parent) + QtGui.QTreeWidget.__init__(self, parent) self.resize(400, 200) # make sure we have access to mainwindow info like profiles self.mainwindow = mainwindow self.setStyleSheet("background:black; color:white;") - for q in mainwindow.userprofile.quirks: - item = PesterQuirkItem(q, self) - self.addItem(item) - #self.sortItems() - self.setDragEnabled(True) - self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) + self.connect(self, QtCore.SIGNAL('itemChanged(QTreeWidgetItem *, int)'), + self, QtCore.SLOT('changeCheckState()')) - def addItem(self, item): - item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) + for q in mainwindow.userprofile.quirks: + item = PesterQuirkItem(q) + self.addItem(item, False) + self.changeCheckState() + #self.setDragEnabled(True) + #self.setDragDropMode(QtGui.QAbstractItemView.InternalMove) + self.setDropIndicatorShown(True) + self.setSortingEnabled(False) + self.setIndentation(15) + self.header().hide() + + def addItem(self, item, new=True): + item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) if item.quirk.on: - item.setCheckState(2) + item.setCheckState(0, 2) else: - item.setCheckState(0) - QtGui.QListWidget.addItem(self, item) + item.setCheckState(0, 0) + if new: + curgroup = self.currentItem() + if curgroup: + if curgroup.parent(): curgroup = curgroup.parent() + item.quirk.quirk["group"] = item.quirk.group = curgroup.text(0) + found = self.findItems(item.quirk.group, QtCore.Qt.MatchExactly) + if len(found) > 0: + found[0].addChild(item) + else: + child_1 = QtGui.QTreeWidgetItem([item.quirk.group]) + self.addTopLevelItem(child_1) + child_1.setFlags(child_1.flags() | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) + child_1.setChildIndicatorPolicy(QtGui.QTreeWidgetItem.DontShowIndicatorWhenChildless) + child_1.setCheckState(0,0) + child_1.setExpanded(True) + child_1.addChild(item) def currentQuirk(self): - return self.item(self.currentRow()) + if type(self.currentItem()) is PesterQuirkItem: + return self.currentItem() + else: return None + @QtCore.pyqtSlot() def upShiftQuirk(self): - i = self.currentRow() - if i > 0: - shifted_item = self.takeItem(i) - self.insertItem(i-1,shifted_item) - self.setCurrentRow(i-1) + found = self.findItems(self.currentItem().text(0), QtCore.Qt.MatchExactly) + if len(found): # group + i = self.indexOfTopLevelItem(found[0]) + if i > 0: + expand = found[0].isExpanded() + shifted_item = self.takeTopLevelItem(i) + self.insertTopLevelItem(i-1, shifted_item) + shifted_item.setExpanded(expand) + self.setCurrentItem(shifted_item) + else: # quirk + found = self.findItems(self.currentItem().text(0), QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive) + for f in found: + if not f.isSelected(): continue + if not f.parent(): continue + i = f.parent().indexOfChild(f) + if i > 0: # keep in same group + p = f.parent() + shifted_item = f.parent().takeChild(i) + p.insertChild(i-1, shifted_item) + self.setCurrentItem(shifted_item) + else: # move to another group + j = self.indexOfTopLevelItem(f.parent()) + if j <= 0: continue + shifted_item = f.parent().takeChild(i) + self.topLevelItem(j-1).addChild(shifted_item) + self.setCurrentItem(shifted_item) + self.changeCheckState() + @QtCore.pyqtSlot() def downShiftQuirk(self): - i = self.currentRow() - if i < self.count() - 1 and i >= 0: - shifted_item = self.takeItem(i) - self.insertItem(i+1,shifted_item) - self.setCurrentRow(i+1) + found = self.findItems(self.currentItem().text(0), QtCore.Qt.MatchExactly) + if len(found): # group + i = self.indexOfTopLevelItem(found[0]) + if i < self.topLevelItemCount()-1 and i >= 0: + expand = found[0].isExpanded() + shifted_item = self.takeTopLevelItem(i) + self.insertTopLevelItem(i+1, shifted_item) + shifted_item.setExpanded(expand) + self.setCurrentItem(shifted_item) + else: # quirk + found = self.findItems(self.currentItem().text(0), QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive) + for f in found: + if not f.isSelected(): continue + if not f.parent(): continue + i = f.parent().indexOfChild(f) + if i < f.parent().childCount()-1 and i >= 0: + p = f.parent() + shifted_item = f.parent().takeChild(i) + p.insertChild(i+1, shifted_item) + self.setCurrentItem(shifted_item) + else: + j = self.indexOfTopLevelItem(f.parent()) + if j >= self.topLevelItemCount()-1 or j < 0: continue + shifted_item = f.parent().takeChild(i) + self.topLevelItem(j+1).insertChild(0, shifted_item) + self.setCurrentItem(shifted_item) + self.changeCheckState() @QtCore.pyqtSlot() def removeCurrent(self): - i = self.currentRow() - if i >= 0: - self.takeItem(i) + i = self.currentItem() + found = self.findItems(i.text(0), QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive) + for f in found: + if not f.isSelected(): continue + if not f.parent(): # group + msgbox = QtGui.QMessageBox() + msgbox.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + msgbox.setWindowTitle("WARNING!") + msgbox.setInformativeText("Are you sure you want to delete the quirk group: %s" % (f.text(0))) + msgbox.setStandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel) + ret = msgbox.exec_() + if ret == QtGui.QMessageBox.Ok: + self.takeTopLevelItem(self.indexOfTopLevelItem(f)) + else: + f.parent().takeChild(f.parent().indexOfChild(f)) + + @QtCore.pyqtSlot() + def addQuirkGroup(self): + if not hasattr(self, 'addgroupdialog'): + self.addgroupdialog = None + if not self.addgroupdialog: + (gname, ok) = QtGui.QInputDialog.getText(self, "Add Group", "Enter a name for the new quirk group:") + if ok: + gname = unicode(gname) + if re.search("[^A-Za-z0-9_\s]", gname) is not None: + msgbox = QtGui.QMessageBox() + msgbox.setInformativeText("THIS IS NOT A VALID GROUP NAME") + msgbox.setStandardButtons(QtGui.QMessageBox.Ok) + ret = msgbox.exec_() + self.addgroupdialog = None + return + found = self.findItems(gname, QtCore.Qt.MatchExactly) + if found: + msgbox = QtGui.QMessageBox() + msgbox.setInformativeText("THIS QUIRK GROUP ALREADY EXISTS") + msgbox.setStandardButtons(QtGui.QMessageBox.Ok) + ret = msgbox.exec_() + return + child_1 = QtGui.QTreeWidgetItem([gname]) + self.addTopLevelItem(child_1) + child_1.setFlags(child_1.flags() | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) + child_1.setChildIndicatorPolicy(QtGui.QTreeWidgetItem.DontShowIndicatorWhenChildless) + child_1.setCheckState(0,0) + child_1.setExpanded(True) + + self.addgroupdialog = None + + @QtCore.pyqtSlot() + def changeCheckState(self): + index = self.indexOfTopLevelItem(self.currentItem()) + if index == -1: + for i in range(self.topLevelItemCount()): + allChecked = True + noneChecked = True + for j in range(self.topLevelItem(i).childCount()): + if self.topLevelItem(i).child(j).checkState(0): + noneChecked = False + else: + allChecked = False + if allChecked: self.topLevelItem(i).setCheckState(0, 2) + elif noneChecked: self.topLevelItem(i).setCheckState(0, 0) + else: self.topLevelItem(i).setCheckState(0, 1) + else: + state = self.topLevelItem(index).checkState(0) + for j in range(self.topLevelItem(index).childCount()): + self.topLevelItem(index).child(j).setCheckState(0, state) class MispellQuirkDialog(QtGui.QDialog): def __init__(self, parent): @@ -218,20 +352,28 @@ class PesterChooseQuirks(QtGui.QDialog): self.addRandomReplaceButton = QtGui.QPushButton("RANDOM REPLACE", self) self.connect(self.addRandomReplaceButton, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('addRandomDialog()')) - self.addMispellingButton = QtGui.QPushButton("MISPELLER", self) self.connect(self.addMispellingButton, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('addSpellDialog()')) + self.upShiftButton = QtGui.QPushButton("^", self) self.downShiftButton = QtGui.QPushButton("v", self) + self.upShiftButton.setToolTip("Move quirk up one") + self.downShiftButton.setToolTip("Move quirk down one") self.connect(self.upShiftButton, QtCore.SIGNAL('clicked()'), - self, QtCore.SLOT('upShiftQuirk()')) + self.quirkList, QtCore.SLOT('upShiftQuirk()')) self.connect(self.downShiftButton, QtCore.SIGNAL('clicked()'), - self, QtCore.SLOT('downShiftQuirk()')) + self.quirkList, QtCore.SLOT('downShiftQuirk()')) + + self.newGroupButton = QtGui.QPushButton("*", self) + self.newGroupButton.setToolTip("New Quirk Group") + self.connect(self.newGroupButton, QtCore.SIGNAL('clicked()'), + self.quirkList, QtCore.SLOT('addQuirkGroup()')) layout_quirklist = QtGui.QHBoxLayout() #the nude layout quirklist layout_shiftbuttons = QtGui.QVBoxLayout() #the shift button layout layout_shiftbuttons.addWidget(self.upShiftButton) + layout_shiftbuttons.addWidget(self.newGroupButton) layout_shiftbuttons.addWidget(self.downShiftButton) layout_quirklist.addWidget(self.quirkList) layout_quirklist.addLayout(layout_shiftbuttons) @@ -275,21 +417,17 @@ class PesterChooseQuirks(QtGui.QDialog): self.setLayout(layout_0) def quirks(self): - return [self.quirkList.item(i).quirk for i in - range(0,self.quirkList.count())] + u = [] + for i in range(self.quirkList.topLevelItemCount()): + for j in range(self.quirkList.topLevelItem(i).childCount()): + u.append(self.quirkList.topLevelItem(i).child(j).quirk) + return u + #return [self.quirkList.item(i).quirk for i in range(self.quirkList.count())] - # could probably do away with these and just connect to the relevant methods on the quirk list widget - @QtCore.pyqtSlot() - def upShiftQuirk(self): - self.quirkList.upShiftQuirk() - - @QtCore.pyqtSlot() - def downShiftQuirk(self): - self.quirkList.downShiftQuirk() - #!!! @QtCore.pyqtSlot() def editSelected(self): q = self.quirkList.currentQuirk() + if not q: return quirk = q.quirk if quirk.type == "prefix": self.addPrefixDialog(q) @@ -315,7 +453,7 @@ class PesterChooseQuirks(QtGui.QDialog): pdict["type"] = "prefix" prefix = pesterQuirk(pdict) if qitem is None: - pitem = PesterQuirkItem(prefix, self.quirkList) + pitem = PesterQuirkItem(prefix) self.quirkList.addItem(pitem) else: qitem.update(prefix) @@ -332,7 +470,7 @@ class PesterChooseQuirks(QtGui.QDialog): vdict["type"] = "suffix" newquirk = pesterQuirk(vdict) if qitem is None: - item = PesterQuirkItem(newquirk, self.quirkList) + item = PesterQuirkItem(newquirk) self.quirkList.addItem(item) else: qitem.update(newquirk) @@ -350,7 +488,7 @@ class PesterChooseQuirks(QtGui.QDialog): vdict["type"] = "replace" newquirk = pesterQuirk(vdict) if qitem is None: - item = PesterQuirkItem(newquirk, self.quirkList) + item = PesterQuirkItem(newquirk) self.quirkList.addItem(item) else: qitem.update(newquirk) @@ -377,7 +515,7 @@ class PesterChooseQuirks(QtGui.QDialog): newquirk = pesterQuirk(vdict) if qitem is None: - item = PesterQuirkItem(newquirk, self.quirkList) + item = PesterQuirkItem(newquirk) self.quirkList.addItem(item) else: qitem.update(newquirk) @@ -402,7 +540,7 @@ class PesterChooseQuirks(QtGui.QDialog): return newquirk = pesterQuirk(vdict) if qitem is None: - item = PesterQuirkItem(newquirk, self.quirkList) + item = PesterQuirkItem(newquirk) self.quirkList.addItem(item) else: qitem.update(newquirk) @@ -415,7 +553,7 @@ class PesterChooseQuirks(QtGui.QDialog): vdict["type"] = "spelling" newquirk = pesterQuirk(vdict) if qitem is None: - item = PesterQuirkItem(newquirk, self.quirkList) + item = PesterQuirkItem(newquirk) self.quirkList.addItem(item) else: qitem.update(newquirk) diff --git a/pesterchum.py b/pesterchum.py index 304cf8f..81a2938 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2310,9 +2310,12 @@ class PesterWindow(MovingWindow): self.quirkmenu.activateWindow() @QtCore.pyqtSlot() def updateQuirks(self): - for i in range(self.quirkmenu.quirkList.count()): - item = self.quirkmenu.quirkList.item(i) - item.quirk.quirk["on"] = item.quirk.on = (item.checkState() == QtCore.Qt.Checked) + for i in range(self.quirkmenu.quirkList.topLevelItemCount()): + curgroup = unicode(self.quirkmenu.quirkList.topLevelItem(i).text(0)) + for j in range(self.quirkmenu.quirkList.topLevelItem(i).childCount()): + item = self.quirkmenu.quirkList.topLevelItem(i).child(j) + item.quirk.quirk["on"] = item.quirk.on = (item.checkState(0) == QtCore.Qt.Checked) + item.quirk.quirk["group"] = item.quirk.group = curgroup quirks = pesterQuirks(self.quirkmenu.quirks()) self.userprofile.setQuirks(quirks) self.quirkmenu = None From 3e8bfcf3cbfb6f4d44375379fc85cd912214c471 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 26 May 2011 00:40:30 -0700 Subject: [PATCH 107/166] CTCP Version reply --- CHANGELOG.mkdn | 1 + irc.py | 5 +++++ menus.py | 3 ++- pesterchum.py | 2 ++ version.py | 14 ++++++++++++++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 version.py diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 4c08601..7f6f619 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -33,6 +33,7 @@ CHANGELOG * Check Pyqt4 and pygame are installed and correct versions - Kiooeht [evacipatedBox] * Advanced Mode: View memo (channel) modes - Kiooeht [evacipatedBox] * Quirk groups - Kiooeht [evacipatedBox] +* CTCP Version reply - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/irc.py b/irc.py index 8c6929b..9f0a266 100644 --- a/irc.py +++ b/irc.py @@ -8,6 +8,7 @@ import socket from dataobjs import Mood, PesterProfile from generic import PesterList +from version import _pcVersion logging.basicConfig(level=logging.INFO) @@ -271,6 +272,10 @@ class PesterHandler(DefaultCommandHandler): return # silently ignore CTCP if msg[0] == '\x01': + handle = nick[0:nick.find("!")] + logging.info("---> recv \"CTCP %s :%s\"" % (handle, msg[1:-1])) + if msg[1:-1] == "VERSION": + helpers.notice(self.parent.cli, handle, "\x01VERSION Pesterchum %s\x01" % (_pcVersion)) return handle = nick[0:nick.find("!")] logging.info("---> recv \"PRIVMSG %s :%s\"" % (handle, msg)) diff --git a/menus.py b/menus.py index 591972d..48abc2f 100644 --- a/menus.py +++ b/menus.py @@ -5,6 +5,7 @@ from os import remove from generic import RightClickList, RightClickTree, MultiTextDialog from dataobjs import pesterQuirk, PesterProfile from memos import TimeSlider, TimeInput +from version import _pcVersion class PesterQuirkItem(QtGui.QTreeWidgetItem): def __init__(self, quirk): @@ -1234,7 +1235,7 @@ class AboutPesterchum(QtGui.QDialog): self.mainwindow = parent self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) - self.title = QtGui.QLabel("P3ST3RCHUM V. 3.14.2") + self.title = QtGui.QLabel("P3ST3RCHUM V. %s" % (_pcVersion)) self.credits = QtGui.QLabel("Programming by:\n\ illuminatedwax (ghostDunk)\n\ Kiooeht (evacipatedBox)\n\ diff --git a/pesterchum.py b/pesterchum.py index 81a2938..820a548 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -1,4 +1,6 @@ # pesterchum +import version +version.pcVerCalc() import logging import os, sys, getopt import os.path diff --git a/version.py b/version.py new file mode 100644 index 0000000..c89fd06 --- /dev/null +++ b/version.py @@ -0,0 +1,14 @@ +import urllib + +_pcMajor = "3.14" +_pcMinor = "2" +_pcStatus = "1" # 0 = alpha + # 1 = beta + # 2 = release candidate + # 3 = public release +_pcRevision = "3" +_pcVersion = "" + +def pcVerCalc(): + global _pcVersion + _pcVersion = "%s.%s.%s-%s" % (_pcMajor, _pcMinor, _pcStatus, _pcRevision) From 01807c90ca8728e2ceb4b66ac2c4e4aaf1f80d0c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 26 May 2011 00:42:05 -0700 Subject: [PATCH 108/166] Check for Pesterchum updates when starting --- CHANGELOG.mkdn | 1 + menus.py | 37 +++++++++++++++++++++++++++++++++++-- pesterchum.py | 40 +++++++++++++++++++++++++++++++++++++++- version.py | 31 +++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 7f6f619..cd0eb15 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -34,6 +34,7 @@ CHANGELOG * Advanced Mode: View memo (channel) modes - Kiooeht [evacipatedBox] * Quirk groups - Kiooeht [evacipatedBox] * CTCP Version reply - Kiooeht [evacipatedBox] +* Check for Pesterchum updates - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/menus.py b/menus.py index 48abc2f..cd56882 100644 --- a/menus.py +++ b/menus.py @@ -751,7 +751,7 @@ class PesterOptions(QtGui.QDialog): self.tabs = QtGui.QButtonGroup(self) self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'), self, QtCore.SLOT('changePage(int)')) - tabNames = ["Chum List", "Conversations", "Interface", "Sound", "Logging", "Idle", "Theme"] + tabNames = ["Chum List", "Conversations", "Interface", "Sound", "Logging", "Idle/Updates", "Theme"] if parent.advanced: tabNames.append("Advanced") for t in tabNames: button = QtGui.QPushButton(t) @@ -854,6 +854,9 @@ class PesterOptions(QtGui.QDialog): layout_5.addWidget(QtGui.QLabel("Minutes before Idle:")) layout_5.addWidget(self.idleBox) + self.updatecheck = QtGui.QCheckBox("Check for Updates on Start", self) + self.updatecheck.setChecked(self.config.checkForUpdates()) + avail_themes = self.config.availableThemes() self.themeBox = QtGui.QComboBox(self) for (i, t) in enumerate(avail_themes): @@ -951,11 +954,12 @@ class PesterOptions(QtGui.QDialog): layout_logs.addWidget(self.stampmemocheck) self.pages.addWidget(widget) - # Idle + # Idle/Updates widget = QtGui.QWidget() layout_idle = QtGui.QVBoxLayout(widget) layout_idle.setAlignment(QtCore.Qt.AlignTop) layout_idle.addLayout(layout_5) + layout_idle.addWidget(self.updatecheck) self.pages.addWidget(widget) # Theme @@ -1259,3 +1263,32 @@ Special Thanks:\n\ layout_0.addWidget(self.ok) self.setLayout(layout_0) + +class UpdatePesterchum(QtGui.QDialog): + def __init__(self, ver, url, parent=None): + QtGui.QDialog.__init__(self, parent) + self.url = url + self.mainwindow = parent + self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + self.setWindowTitle("Pesterchum v%s Update" % (ver)) + self.setModal(False) + + self.title = QtGui.QLabel("An update to Pesterchum is avaliable!") + + layout_0 = QtGui.QVBoxLayout() + layout_0.addWidget(self.title) + + self.ok = QtGui.QPushButton("D0WNL04D N0W", self) + self.ok.setDefault(True) + self.connect(self.ok, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('accept()')) + self.cancel = QtGui.QPushButton("CANCEL", self) + self.connect(self.cancel, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('reject()')) + layout_2 = QtGui.QHBoxLayout() + layout_2.addWidget(self.cancel) + layout_2.addWidget(self.ok) + + layout_0.addLayout(layout_2) + + self.setLayout(layout_0) diff --git a/pesterchum.py b/pesterchum.py index 820a548..7f90134 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -44,7 +44,7 @@ if not ((major > 4) or (major == 4 and minor >= 6)): from menus import PesterChooseQuirks, PesterChooseTheme, \ PesterChooseProfile, PesterOptions, PesterUserlist, PesterMemoList, \ - LoadingScreen, AboutPesterchum + LoadingScreen, AboutPesterchum, UpdatePesterchum from dataobjs import PesterProfile, Mood, pesterQuirk, pesterQuirks from generic import PesterIcon, RightClickList, RightClickTree, MultiTextDialog, PesterList, CaseInsensitiveDict from convo import PesterTabWindow, PesterText, PesterInput, PesterConvo @@ -402,6 +402,8 @@ class userConfig(object): return self.config.get('opvMessages', True) def animations(self): return self.config.get('animations', True) + def checkForUpdates(self): + return self.config.get('checkUpdates', True) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -1569,6 +1571,31 @@ class PesterWindow(MovingWindow): if not self.config.defaultprofile(): self.changeProfile() + self.connect(self, QtCore.SIGNAL('pcUpdate(QString, QString)'), + self, QtCore.SLOT('updateMsg(QString, QString)')) + + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) + def updateMsg(self, ver, url): + if not hasattr(self, 'updatemenu'): + self.updatemenu = None + if not self.updatemenu: + self.updatemenu = UpdatePesterchum(ver, url, self) + self.connect(self.updatemenu, QtCore.SIGNAL('accepted()'), + self, QtCore.SLOT('updatePC()')) + self.connect(self.updatemenu, QtCore.SIGNAL('rejected()'), + self, QtCore.SLOT('noUpdatePC()')) + self.updatemenu.show() + self.updatemenu.raise_() + self.updatemenu.activateWindow() + + @QtCore.pyqtSlot() + def updatePC(self): + QtGui.QDesktopServices.openUrl(QtCore.QUrl(self.updatemenu.url, QtCore.QUrl.TolerantMode)) + self.updatemenu = None + @QtCore.pyqtSlot() + def noUpdatePC(self): + self.updatemenu = None + def profile(self): return self.userprofile.chat def closeConversations(self, switch=False): @@ -2534,6 +2561,11 @@ class PesterWindow(MovingWindow): curanimate = self.config.animations() if animatesetting != curanimate: self.config.set('animations', animatesetting) + # update checked + updatechecksetting = self.optionmenu.updatecheck.isChecked() + curupdatecheck = self.config.checkForUpdates() + if updatechecksetting != curupdatecheck: + self.config.set('checkUpdates', updatechecksetting) # advanced ## user mode if self.advanced: @@ -2705,6 +2737,7 @@ class PesterWindow(MovingWindow): # show context menu i guess #self.showTrayContext.emit() + pcUpdate = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) closeToTraySignal = QtCore.pyqtSignal() newConvoStarted = QtCore.pyqtSignal(QtCore.QString, bool, name="newConvoStarted") sendMessage = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) @@ -2813,6 +2846,11 @@ class MainProgram(QtCore.QObject): self.irc = PesterIRC(self.widget.config, self.widget) self.connectWidgets(self.irc, self.widget) + if self.widget.config.checkForUpdates(): + (new,url) = version.updateCheck() + if new: + self.widget.pcUpdate.emit(new, url) + widget2irc = [('sendMessage(QString, QString)', 'sendMessage(QString, QString)'), ('newConvoStarted(QString, bool)', diff --git a/version.py b/version.py index c89fd06..1f984a3 100644 --- a/version.py +++ b/version.py @@ -1,4 +1,7 @@ import urllib +import re + +USER_TYPE = "dev" _pcMajor = "3.14" _pcMinor = "2" @@ -12,3 +15,31 @@ _pcVersion = "" def pcVerCalc(): global _pcVersion _pcVersion = "%s.%s.%s-%s" % (_pcMajor, _pcMinor, _pcStatus, _pcRevision) + +def verStrToNum(ver): + w = re.match("(\d+\.?\d+)\.(\d+)\.?(\d*)-?(\d*):(\S+)", ver) + if not w: + print "Update check Failure: 3"; return + full = ver[:ver.find(":")] + return full,w.group(1),w.group(2),w.group(3),w.group(4),w.group(5) + + +def updateCheck(): + data = urllib.urlencode({"type" : USER_TYPE}) + try: + f = urllib.urlopen("http://distantsphere.com/pesterchum.php?" + data) + except: + print "Update check Failure: 1"; return False,1 + newest = f.read() + f.close() + if newest[0] == "<": + print "Update check Failure: 2"; return False,2 + try: + (full, major, minor, status, revision, url) = verStrToNum(newest) + except TypeError: + return False,3 + print full + if full > _pcVersion: + print "A new version of Pesterchum is avaliable!" + return full,url + return False,0 From f9b8f3d0dffe0717b6f3f1fc1db237ce3b6fb5b4 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 26 May 2011 04:04:26 -0700 Subject: [PATCH 109/166] OP turn memo hidden/invite-only/mute on/off --- CHANGELOG.mkdn | 1 + memos.py | 41 ++++++++++++++++++++++++++++++++++++++++- pesterchum.py | 3 --- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index cd0eb15..0d15c50 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -35,6 +35,7 @@ CHANGELOG * Quirk groups - Kiooeht [evacipatedBox] * CTCP Version reply - Kiooeht [evacipatedBox] * Check for Pesterchum updates - Kiooeht [evacipatedBox] +* Memo OP options: Secret, Invite-only, Mute - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/memos.py b/memos.py index 6d380b7..3634e53 100644 --- a/memos.py +++ b/memos.py @@ -380,6 +380,23 @@ class PesterMemo(PesterConvo): self.optionsMenu.addAction(self.logchum) self.optionsMenu.addAction(self.invitechum) + self.chanModeMenu = QtGui.QMenu("Memo Settings", self) + self.chanHide = QtGui.QAction("Hidden", self) + self.chanHide.setCheckable(True) + self.connect(self.chanHide, QtCore.SIGNAL('toggled(bool)'), + self, QtCore.SLOT('hideChan(bool)')) + self.chanInvite = QtGui.QAction("Invite-Only", self) + self.chanInvite.setCheckable(True) + self.connect(self.chanInvite, QtCore.SIGNAL('toggled(bool)'), + self, QtCore.SLOT('inviteChan(bool)')) + self.chanMod = QtGui.QAction("Mute", self) + self.chanMod.setCheckable(True) + self.connect(self.chanMod, QtCore.SIGNAL('toggled(bool)'), + self, QtCore.SLOT('modChan(bool)')) + self.chanModeMenu.addAction(self.chanHide) + self.chanModeMenu.addAction(self.chanInvite) + self.chanModeMenu.addAction(self.chanMod) + self.timeslider = TimeSlider(QtCore.Qt.Horizontal, self) self.timeinput = TimeInput(self.timeslider, self) self.timeinput.setText(timestr) @@ -550,6 +567,7 @@ class PesterMemo(PesterConvo): if handle == self.mainwindow.profile().handle: self.userlist.optionsMenu.addAction(self.opAction) self.userlist.optionsMenu.addAction(self.banuserAction) + self.optionsMenu.addMenu(self.chanModeMenu) self.op = True elif handle[0] == '+': voice = True @@ -588,12 +606,18 @@ class PesterMemo(PesterConvo): modes = str(modes) if modes[0] == "+": chanmodes.extend(modes[1:]) + if modes.find("s") >= 0: self.chanHide.setChecked(True) + if modes.find("i") >= 0: self.chanInvite.setChecked(True) + if modes.find("m") >= 0: self.chanMod.setChecked(True) elif modes[0] == "-": for i in modes[1:]: try: chanmodes.remove(i) except ValueError: pass + if modes.find("s") >= 0: self.chanHide.setChecked(False) + if modes.find("i") >= 0: self.chanInvite.setChecked(False) + if modes.find("m") >= 0: self.chanMod.setChecked(False) chanmodes.sort() self.modes = "+" + "".join(chanmodes) if self.mainwindow.advanced: @@ -830,6 +854,7 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.addAction(self.opAction) self.userlist.optionsMenu.addAction(self.voiceAction) self.userlist.optionsMenu.addAction(self.banuserAction) + self.optionsMenu.addMenu(self.chanModeMenu) self.sortUsers() elif update == "-o": self.mainwindow.channelNames.emit(self.channel) @@ -865,6 +890,7 @@ class PesterMemo(PesterConvo): self.userlist.optionsMenu.removeAction(self.opAction) self.userlist.optionsMenu.removeAction(self.voiceAction) self.userlist.optionsMenu.removeAction(self.banuserAction) + self.optionsMenu.removeAction(self.chanModeMenu.menuAction()) self.sortUsers() elif update == "+v": if self.mainwindow.config.opvoiceMessages(): @@ -971,12 +997,25 @@ class PesterMemo(PesterConvo): if not hasattr(self, 'invitechums'): self.invitechums = None if not self.invitechums: - (chum, ok) = QtGui.QInputDialog.getText(self, "Invite to Char", "Enter the chumhandle of the user you'd like to invite:") + (chum, ok) = QtGui.QInputDialog.getText(self, "Invite to Chat", "Enter the chumhandle of the user you'd like to invite:") if ok: chum = unicode(chum) self.mainwindow.inviteChum.emit(chum, self.channel) self.invitechums = None + @QtCore.pyqtSlot(bool) + def hideChan(self, on): + x = ["-","+"][on] + self.mainwindow.setChannelMode.emit(self.channel, x+"s", "") + @QtCore.pyqtSlot(bool) + def inviteChan(self, on): + x = ["-","+"][on] + self.mainwindow.setChannelMode.emit(self.channel, x+"i", "") + @QtCore.pyqtSlot(bool) + def modChan(self, on): + x = ["-","+"][on] + self.mainwindow.setChannelMode.emit(self.channel, x+"m", "") + @QtCore.pyqtSlot() def sendtime(self): me = self.mainwindow.profile() diff --git a/pesterchum.py b/pesterchum.py index 7f90134..afd06ce 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2284,9 +2284,6 @@ class PesterWindow(MovingWindow): self.newMemo(channel, time) self.memochooser = None @QtCore.pyqtSlot() - def memoChooserClose(self): - self.memochooser = None - @QtCore.pyqtSlot() def memoChooserClose(self): self.memochooser = None From 28b0a5d2da6540df75330d24c06175ea8b082da0 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 26 May 2011 22:53:45 -0700 Subject: [PATCH 110/166] Bug fix: Hopefully finalize version numbering and Pesterchum update system --- version.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/version.py b/version.py index 1f984a3..f176bcc 100644 --- a/version.py +++ b/version.py @@ -5,25 +5,27 @@ USER_TYPE = "dev" _pcMajor = "3.14" _pcMinor = "2" -_pcStatus = "1" # 0 = alpha - # 1 = beta - # 2 = release candidate - # 3 = public release +_pcStatus = "B" # A = alpha + # B = beta + # RC = release candidate + # None = public release _pcRevision = "3" _pcVersion = "" def pcVerCalc(): global _pcVersion - _pcVersion = "%s.%s.%s-%s" % (_pcMajor, _pcMinor, _pcStatus, _pcRevision) + if _pcStatus: + _pcVersion = "%s.%s-%s%s" % (_pcMajor, _pcMinor, _pcStatus, _pcRevision) + else: + _pcVersion = "%s.%s.%s" % (_pcMajor, _pcMinor, _pcRevision) def verStrToNum(ver): - w = re.match("(\d+\.?\d+)\.(\d+)\.?(\d*)-?(\d*):(\S+)", ver) + w = re.match("(\d+\.?\d+)\.(\d+)-?([A-Za-z]{0,2})\.?(\d*):(\S+)", ver) if not w: print "Update check Failure: 3"; return full = ver[:ver.find(":")] return full,w.group(1),w.group(2),w.group(3),w.group(4),w.group(5) - def updateCheck(): data = urllib.urlencode({"type" : USER_TYPE}) try: @@ -32,14 +34,22 @@ def updateCheck(): print "Update check Failure: 1"; return False,1 newest = f.read() f.close() - if newest[0] == "<": + if not newest or newest[0] == "<": print "Update check Failure: 2"; return False,2 try: (full, major, minor, status, revision, url) = verStrToNum(newest) except TypeError: return False,3 print full - if full > _pcVersion: - print "A new version of Pesterchum is avaliable!" - return full,url - return False,0 + if major <= _pcMajor: + if minor <= _pcMinor: + if status: + if status <= _pcStatus: + if revision <= _pcRevision: + return False,0 + else: + if not _pcStatus: + if revision <= _pcRevision: + return False,0 + print "A new version of Pesterchum is avaliable!" + return full,url From 931d6da5b4441a5df7627de3c25d240dc31aeaea Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 26 May 2011 22:58:58 -0700 Subject: [PATCH 111/166] Notify user when channel blocks a message --- CHANGELOG.mkdn | 1 + irc.py | 3 +++ pesterchum.py | 8 ++++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 0d15c50..8d7e067 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -36,6 +36,7 @@ CHANGELOG * CTCP Version reply - Kiooeht [evacipatedBox] * Check for Pesterchum updates - Kiooeht [evacipatedBox] * Memo OP options: Secret, Invite-only, Mute - Kiooeht [evacipatedBox] +* Notify user if channel blocks message - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/irc.py b/irc.py index 9f0a266..2c69772 100644 --- a/irc.py +++ b/irc.py @@ -248,6 +248,7 @@ class PesterIRC(QtCore.QThread): connected = QtCore.pyqtSignal() userPresentUpdate = QtCore.pyqtSignal(QtCore.QString, QtCore.QString, QtCore.QString) + cannotSendToChan = QtCore.pyqtSignal(QtCore.QString, QtCore.QString) class PesterHandler(DefaultCommandHandler): def notice(self, nick, chan, msg): @@ -422,6 +423,8 @@ class PesterHandler(DefaultCommandHandler): self.parent.chanInviteOnly.emit(channel) def channelmodeis(self, server, handle, channel, modes): self.parent.modesUpdated.emit(channel, modes) + def cannotsendtochan(self, server, handle, channel, msg): + self.parent.cannotSendToChan.emit(channel, msg) def getMood(self, *chums): chumglub = "GETMOOD " diff --git a/pesterchum.py b/pesterchum.py index afd06ce..04bc57e 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2060,8 +2060,10 @@ class PesterWindow(MovingWindow): self.newMemo(unicode(channel), "+0:00") @QtCore.pyqtSlot(QtCore.QString) def chanInviteOnly(self, channel): - print "Invite only: %s" % channel self.inviteOnlyChan.emit(channel) + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) + def cannotSendToChan(self, channel, msg): + self.deliverMemo(channel, "ChanServ", msg) @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) def timeCommand(self, chan, handle, command): (c, h, cmd) = (unicode(chan), unicode(handle), unicode(command)) @@ -2907,7 +2909,9 @@ class MainProgram(QtCore.QObject): ('chanInviteOnly(QString)', 'chanInviteOnly(QString)'), ('modesUpdated(QString, QString)', - 'modesUpdated(QString, QString)') + 'modesUpdated(QString, QString)'), + ('cannotSendToChan(QString, QString)', + 'cannotSendToChan(QString, QString)') ] def connectWidgets(self, irc, widget): self.connect(irc, QtCore.SIGNAL('finished()'), From 0e5dddd31d18454d39eb0998cd6f4d4a955902ab Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 29 May 2011 07:19:59 -0700 Subject: [PATCH 112/166] Easy installer for lazy Linux users --- easyInstaller | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100755 easyInstaller diff --git a/easyInstaller b/easyInstaller new file mode 100755 index 0000000..600e803 --- /dev/null +++ b/easyInstaller @@ -0,0 +1,170 @@ +#!/usr/bin/env python + +import os, sys, shutil +from stat import * +from string import Template + +_PLATFORM = sys.platform +if _PLATFORM in ['win32','cygwin','darwin','os2','os2emx','riscos','atheos']: + print "Whoa there buddy! This installation script isn't meant to be run on your OS." + exit() + +if os.getuid() != 0: + print "This program must be run as root (sudo)." + exit() + +_HOME = os.environ['HOME'] +_USER = os.environ['SUDO_USER'] +_UID = int(os.environ['SUDO_UID']) +_GID = int(os.environ['SUDO_GID']) + +def setPermissions(path): + os.chown(path, _UID, _GID) + for file_ in os.listdir(path): + filePath = os.path.join(path,file_) + if os.path.isdir(filePath): + setPermissions(filePath) + else: + os.chown(filePath, _UID, _GID) + +def findPesterchum(path): + for f in os.listdir(path): + filePath = os.path.join(path, f) + if os.path.isdir(filePath): + if os.path.exists(filePath+"/pesterchum.py"): + return filePath + else: + a=findPesterchum(filePath) + if a: return a + elif f == "pesterchum.py": + return path + +if not os.path.exists(_HOME+"/.pcInstallLoc"): + print "Welcome to the Pesterchum 3.14 Easy Installer (for Linux)!\n\ + Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\ + License: WTFPL\n\ + \n\ +Leaving an option blank will accept it's default [in brackets]\n\ +Are you ready to begin your MAGICAL JOURNEY?!\n\ +Of course you are!!! ::::D" + # ask user about things + while 1: + install = raw_input("Install location [~/.pesterchum]: ") + if install == "": + instLoc = _HOME+"/.pesterchum" + break + else: + if install[0] == "~": + install = _HOME+install[1:] + if os.path.exists(install[:install.rfind("/")]): + instLoc = install + break + print "No can do" + if os.path.exists("/usr/share/applications"): + while 1: + gnome = raw_input("Create a GNOME menu item? [Y/n]: ") + if gnome.lower() == "y" or gnome == "": + gnome = True;break + elif gnome.lower() == "n": + gnome = False;break + else: + print "herpaderp" + + # do some shitty install + try: + fileLoc = findPesterchum(".") + except RuntimeError: + print "I'm sorry! I was unable to find the pesterchum files :(" + print "Please put them where I can find them" + exit() + if not fileLoc: + print "I'm sorry! I was unable to find the pesterchum files :(" + print "Please put them where I can find them" + exit() + print "Copying files..." + ignore = shutil.ignore_patterns('*.pyc') + if not os.path.exists(instLoc): + shutil.copytree(fileLoc, instLoc, ignore=ignore) + else: + if not os.path.exists(instLoc+"/logs") and os.path.exists(fileLoc+"/logs"): + shutil.copytree(fileLoc+"/logs", instLoc+"/logs", ignore=ignore) + if not os.path.exists(instLoc+"/profiles") and os.path.exists(fileLoc+"/profiles"): + shutil.copytree(fileLoc+"/profiles", instLoc+"/profiles", ignore=ignore) + if not os.path.exists(instLoc+"/pesterchum.js") and os.path.exists(fileLoc+"/pesterchum.js"): + shutil.copy(fileLoc+"/pesterchum.js", instLoc) + shutil.copytree(fileLoc+"/oyoyo", instLoc+"/oyoyo", ignore=ignore) + shutil.copytree(fileLoc+"/smilies", instLoc+"/smilies", ignore=ignore) + shutil.copytree(fileLoc+"/themes", instLoc+"/themes", ignore=ignore) + for f in os.listdir(fileLoc): + filePath = os.path.join(fileLoc, f) + if not os.path.isdir(filePath) and f != "pesterchum.js": + shutil.copy(filePath, instLoc) + setPermissions(instLoc) + # save the install location + f = open(_HOME+"/.pcInstallLoc", "w") + f.write(instLoc) + f.close() + #create a cool executable + print "Creating executable... (/usr/local/bin/pesterchum)" + f = open("/usr/local/bin/pesterchum", 'w') + f.write("#!/bin/sh\ncd "+instLoc+"\n./pesterchum $@") + f.close() + os.chmod("/usr/local/bin/pesterchum", S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) + # Create a fancy menu item in gnome + if gnome: + print "Creating menu item..." + t = Template("[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=/usr/local/bin/pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application") + f = open("/usr/share/applications/pesterchum.desktop", "w") + f.write(t.safe_substitute(loc=instLoc)) +else: + print "Welcome to the Pesterchum 3.14 Easy Uninstaller (for Linux)!\n\ + Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\ + License: WTFPL\n" + while 1: + remove = raw_input("Would you like to uninstall Pesterchum? [y/n]: ") + if remove.lower() == "y": + while 1: + killdata = raw_input("Purge your settings, profiles, and logs? [y/N]: ") + if killdata.lower() == "n" or killdata == "": + killdata = False;break + elif killdata.lower() == "y": + killdata = True;break + else: + print "Hmmmmm...?" + f = open(_HOME+"/.pcInstallLoc") + instLoc = f.readline() + f.close() + os.remove(_HOME+"/.pcInstallLoc") + if killdata: + print "Removing files..." + shutil.rmtree(instLoc) + else: + print "Backing up settings, profiles, and logs..." + if os.path.exists(instLoc+"/logs"): + shutil.move(instLoc+"/logs", "_easyBackupLOGS") + if os.path.exists(instLoc+"/profiles"): + shutil.move(instLoc+"/profiles", "_easyBackupPROFILES") + if os.path.exists(instLoc+"/pesterchum.js"): + shutil.move(instLoc+"/pesterchum.js", "_easyBackupSETTINGS") + print "Removing files..." + shutil.rmtree(instLoc) + print "Restoring up settings, profiles, and logs..." + os.mkdir(instLoc) + if os.path.exists("_easyBackupLOGS"): + shutil.move("_easyBackupLOGS", instLoc+"/logs") + if os.path.exists("_easyBackupPROFILES"): + shutil.move("_easyBackupPROFILES", instLoc+"/profiles") + if os.path.exists("_easyBackupSETTINGS"): + shutil.move("_easyBackupSETTINGS", instLoc+"/pesterchum.js") + setPermissions(instLoc) + print "Trashing executable..." + os.remove("/usr/local/bin/pesterchum") + if os.path.exists("/usr/share/applications/pesterchum.desktop"): + print "Maiming menu item..." + os.remove("/usr/share/applications/pesterchum.desktop") + break + elif remove.lower() == "n": + print "Aborting uninstallation process" + break + else: + print "Invalid input, try again" From 2c8f87a0c6df95167b29483de14c89c5004b1664 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 29 May 2011 08:01:58 -0700 Subject: [PATCH 113/166] Small fix to easy Linux installer, don't install to root --- easyInstaller | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easyInstaller b/easyInstaller index 600e803..ca1473a 100755 --- a/easyInstaller +++ b/easyInstaller @@ -17,6 +17,9 @@ _HOME = os.environ['HOME'] _USER = os.environ['SUDO_USER'] _UID = int(os.environ['SUDO_UID']) _GID = int(os.environ['SUDO_GID']) +# fix home if it's root weirdness +if _HOME.find("root") != -1: + _HOME = "/home/"+_USER def setPermissions(path): os.chown(path, _UID, _GID) From 66cb988cc00efa01074b144974b81446ccd0df91 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 29 May 2011 09:44:30 -0700 Subject: [PATCH 114/166] Easy installer: No warranty message, create launcher, delete defaultprofile reference if not copying default profile --- easyInstaller | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/easyInstaller b/easyInstaller index ca1473a..440b698 100755 --- a/easyInstaller +++ b/easyInstaller @@ -1,5 +1,11 @@ #!/usr/bin/env python +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + import os, sys, shutil from stat import * from string import Template @@ -72,6 +78,14 @@ Of course you are!!! ::::D" gnome = False;break else: print "herpaderp" + while 1: + shortcut = raw_input("Create launcher in home directory? [Y/n]: ") + if shortcut.lower() == "y" or shortcut == "": + shortcut = True;break + elif shortcut.lower() == "n": + shortcut = False;break + else: + print "u jelly?" # do some shitty install try: @@ -88,6 +102,23 @@ Of course you are!!! ::::D" ignore = shutil.ignore_patterns('*.pyc') if not os.path.exists(instLoc): shutil.copytree(fileLoc, instLoc, ignore=ignore) + if os.path.exists(instLoc+"/pesterchum.js"): + f = open(instLoc+"/pesterchum.js") + js = f.read() + f.close() + defa = js.find("\"defaultprofile\"") + if defa != -1: + start = js.find("\"", js.find(":", defa+1)) + end = js.find("\"", start+1) + party = js[start+1:end] + if not os.path.exists(instLoc+"/profiles") or \ + party+".js" not in os.listdir(instLoc+"/profiles"): + print "Protecting you from stupidity..." + print " (aka. Deleting reference to non-existant default profile)" + #os.remove(instLoc+"/pesterchum.js") + f = open(instLoc+"/pesterchum.js", "w") + f.write(js[:defa-1]+js[js.find(",", end)+1:]) + f.close() else: if not os.path.exists(instLoc+"/logs") and os.path.exists(fileLoc+"/logs"): shutil.copytree(fileLoc+"/logs", instLoc+"/logs", ignore=ignore) @@ -119,6 +150,16 @@ Of course you are!!! ::::D" t = Template("[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=/usr/local/bin/pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application") f = open("/usr/share/applications/pesterchum.desktop", "w") f.write(t.safe_substitute(loc=instLoc)) + f.close() + # create shortcut launcher + if shortcut: + print "Creating launcher..." + t = Template("#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application") + f = open(_HOME+"/Pesterchum.desktop", "w") + f.write(t.safe_substitute(loc=instLoc)) + f.close() + os.chown(_HOME+"/Pesterchum.desktop", _UID, _GID) + os.chmod(_HOME+"/Pesterchum.desktop", S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) else: print "Welcome to the Pesterchum 3.14 Easy Uninstaller (for Linux)!\n\ Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\ @@ -165,6 +206,14 @@ else: if os.path.exists("/usr/share/applications/pesterchum.desktop"): print "Maiming menu item..." os.remove("/usr/share/applications/pesterchum.desktop") + if os.path.exists(_HOME+"/Pesterchum.desktop"): + print "Destroying launcher..." + os.remove(_HOME+"/Pesterchum.desktop") + elif os.path.exists(_HOME+"/Desktop/Pesterchum.desktop"): + print "Destroying launcher..." + os.remove(_HOME+"/Desktop/Pesterchum.desktop") + else: + print "Unable to find launcher, non destroyed" break elif remove.lower() == "n": print "Aborting uninstallation process" From d5b843af61da9a60899c787d563cb2393bfe3c6c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 29 May 2011 09:50:47 -0700 Subject: [PATCH 115/166] Easy installer: Only offer launcher creation if using GNOME --- easyInstaller | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/easyInstaller b/easyInstaller index 440b698..4d2d2b9 100755 --- a/easyInstaller +++ b/easyInstaller @@ -78,14 +78,14 @@ Of course you are!!! ::::D" gnome = False;break else: print "herpaderp" - while 1: - shortcut = raw_input("Create launcher in home directory? [Y/n]: ") - if shortcut.lower() == "y" or shortcut == "": - shortcut = True;break - elif shortcut.lower() == "n": - shortcut = False;break - else: - print "u jelly?" + while 1: + shortcut = raw_input("Create launcher in home directory? [Y/n]: ") + if shortcut.lower() == "y" or shortcut == "": + shortcut = True;break + elif shortcut.lower() == "n": + shortcut = False;break + else: + print "u jelly?" # do some shitty install try: From e364f6e4cd0ac9ad11aec31fe53e775615d7c67b Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 29 May 2011 10:58:20 -0700 Subject: [PATCH 116/166] Bug fix: Don't assume colours on PC menu bar --- TODO.mkdn | 1 + pesterchum.py | 6 +++++- themes/pesterchum/style.js | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/TODO.mkdn b/TODO.mkdn index 47edaa7..b73fc26 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -20,6 +20,7 @@ Bugs * When using mood sort, scroll position jumps to last selected chum * When switching chumhandles, OP doesn't appear to retain OP status (though they do) * When left for a really long time, animations slow down pesterchum +* Openning resets appearance of OP/voice for anyone that become OP/voice after you joined a memo Mac Bugs -------- diff --git a/pesterchum.py b/pesterchum.py index 04bc57e..6f953a6 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -54,7 +54,10 @@ from irc import PesterIRC from logviewer import PesterLogUserSelect, PesterLogViewer _datadir = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)+"Pesterchum/" -canon_handles = ["apocalypseArisen", "arsenicCatnip", "arachnidsGrip", "adiosToreador", "caligulasAquarium", "cuttlefishCuller", "carcinoGeneticist", "centaursTesticle", "grimAuxiliatrix", "gallowsCalibrator", "gardenGnostic", "ectoBiologist", "twinArmageddons", "terminallyCapricious", "turntechGodhead", "tentacleTherapist"] +canon_handles = ["apocalypseArisen", "arsenicCatnip", "arachnidsGrip", "adiosToreador", \ + "caligulasAquarium", "cuttlefishCuller", "carcinoGeneticist", "centaursTesticle", \ + "grimAuxiliatrix", "gallowsCalibrator", "gardenGnostic", "ectoBiologist", \ + "twinArmageddons", "terminallyCapricious", "turntechGodhead", "tentacleTherapist"] if sys.platform == "darwin": if not os.path.exists(_datadir): @@ -1452,6 +1455,7 @@ class PesterWindow(MovingWindow): self, QtCore.SIGNAL('reconnectIRC()')) self.menu = QtGui.QMenuBar(self) + self.menu.setNativeMenuBar(False) filemenu = self.menu.addMenu(self.theme["main/menus/client/_name"]) self.filemenu = filemenu diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 3f93859..b6283e0 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -9,8 +9,8 @@ "loc": [210, 2]}, "minimize": { "image": "$path/m.png", "loc": [194, 8]}, - "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", + "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 12px; color: black;" }, + "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 12px; color: black; background-color: #fdb302;border:2px solid #ffff00", "menuitem": "margin-right:10px;", "selected": "background-color: #ffff00", "loc": [10,0] From 029cc95a161033c3791bd55e77bcba0c54e9b989 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Sun, 29 May 2011 11:02:10 -0700 Subject: [PATCH 117/166] Threaded update checker, allows PC to start up while checking for updates --- pesterchum.py | 16 +++++++++++++--- version.py | 16 +++++++++------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/pesterchum.py b/pesterchum.py index 6f953a6..48c433e 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2850,9 +2850,13 @@ class MainProgram(QtCore.QObject): self.connectWidgets(self.irc, self.widget) if self.widget.config.checkForUpdates(): - (new,url) = version.updateCheck() - if new: - self.widget.pcUpdate.emit(new, url) + import Queue + import threading + q = Queue.Queue(1) + s = threading.Thread(target=version.updateCheck, args=(q,0)) # the 0 is to stop + w = threading.Thread(target=self.showUpdate, args=(q,0)) # stupid syntax errors + w.start() + s.start() widget2irc = [('sendMessage(QString, QString)', 'sendMessage(QString, QString)'), @@ -2940,6 +2944,12 @@ class MainProgram(QtCore.QObject): self.disconnect(self.irc, QtCore.SIGNAL('finished()'), self, QtCore.SLOT('restartIRC()')) + def showUpdate(self, q,num): + new_url = q.get() + if new_url[0]: + self.widget.pcUpdate.emit(new_url[0], new_url[1]) + q.task_done() + def showLoading(self, widget, msg="CONN3CT1NG"): self.widget.show() if hasattr(self.widget, 'loadingscreen') and widget.loadingscreen: diff --git a/version.py b/version.py index f176bcc..1e2e5a3 100644 --- a/version.py +++ b/version.py @@ -1,5 +1,6 @@ import urllib import re +import time USER_TYPE = "dev" @@ -26,30 +27,31 @@ def verStrToNum(ver): full = ver[:ver.find(":")] return full,w.group(1),w.group(2),w.group(3),w.group(4),w.group(5) -def updateCheck(): +def updateCheck(q,num): + time.sleep(3) data = urllib.urlencode({"type" : USER_TYPE}) try: f = urllib.urlopen("http://distantsphere.com/pesterchum.php?" + data) except: - print "Update check Failure: 1"; return False,1 + print "Update check Failure: 1"; q.put((False,1)) newest = f.read() f.close() if not newest or newest[0] == "<": - print "Update check Failure: 2"; return False,2 + print "Update check Failure: 2"; q.put((False,2)) try: (full, major, minor, status, revision, url) = verStrToNum(newest) except TypeError: - return False,3 + return q.put((False,3)) print full if major <= _pcMajor: if minor <= _pcMinor: if status: if status <= _pcStatus: if revision <= _pcRevision: - return False,0 + return q.put((False,0)) else: if not _pcStatus: if revision <= _pcRevision: - return False,0 + return q.put((False,0)) print "A new version of Pesterchum is avaliable!" - return full,url + q.put((full,url)) From aedb054d907b4675474166612f7e8535634edcfd Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 1 Jun 2011 01:31:43 -0700 Subject: [PATCH 118/166] Bug reporting system --- CHANGELOG.mkdn | 1 + TODO.mkdn | 1 + bugreport.py | 74 ++++++++ easyInstaller | 479 ++++++++++++++++++++++++++++--------------------- pesterchum.py | 12 ++ 5 files changed, 358 insertions(+), 209 deletions(-) create mode 100644 bugreport.py diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 8d7e067..b153e1e 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -37,6 +37,7 @@ CHANGELOG * Check for Pesterchum updates - Kiooeht [evacipatedBox] * Memo OP options: Secret, Invite-only, Mute - Kiooeht [evacipatedBox] * Notify user if channel blocks message - Kiooeht [evacipatedBox] +* Bug reporter - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/TODO.mkdn b/TODO.mkdn index b73fc26..73926cb 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -10,6 +10,7 @@ Features * More complex quirks: by-sound * Spy mode * Turn @ and # links on/off? +* "someone has friended you" notifier Bugs ---- diff --git a/bugreport.py b/bugreport.py new file mode 100644 index 0000000..bdf7561 --- /dev/null +++ b/bugreport.py @@ -0,0 +1,74 @@ +from PyQt4 import QtGui, QtCore +import urllib +import version + +class BugReporter(QtGui.QDialog): + def __init__(self, parent=None): + QtGui.QDialog.__init__(self, parent) + self.mainwindow = parent + self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + self.setWindowTitle("Report a Bug") + self.setModal(False) + + self.title = QtGui.QLabel("Bug Report:") + + layout_0 = QtGui.QVBoxLayout() + layout_0.addWidget(self.title) + + layout_0.addWidget(QtGui.QLabel("Operating System (ex. Windows 7, Ubuntu 10.10):")) + self.os = QtGui.QLineEdit(self) + self.os.setStyleSheet("background:white; font-weight:bold; color:black; font-size: 10pt;") + layout_0.addWidget(self.os) + + layout_0.addWidget(QtGui.QLabel("Description of bug:")) + descLabel = QtGui.QLabel("Include as much information as possible\n(theme, related options, what you were doing at the time, etc.)") + font = descLabel.font() + font.setPointSize(8) + descLabel.setFont(font) + layout_0.addWidget(descLabel) + + self.textarea = QtGui.QTextEdit(self) + self.textarea.setStyleSheet("background:white; font-weight:normal; color:black; font-size: 10pt;") + + layout_0.addWidget(self.textarea) + + self.ok = QtGui.QPushButton("SEND", self) + self.ok.setDefault(True) + self.connect(self.ok, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('sendReport()')) + self.cancel = QtGui.QPushButton("CANCEL", self) + self.connect(self.cancel, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('reject()')) + layout_2 = QtGui.QHBoxLayout() + layout_2.addWidget(self.cancel) + layout_2.addWidget(self.ok) + + layout_0.addLayout(layout_2) + + self.setLayout(layout_0) + + @QtCore.pyqtSlot() + def sendReport(self): + name = unicode(self.mainwindow.profile().handle) + os = unicode(self.os.text()) + msg = unicode(self.textarea.toPlainText()) + + if len(os) <= 0 or len(msg) <= 0: + msgbox = QtGui.QMessageBox() + msgbox.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + msgbox.setText("You must fill out all fields first!") + msgbox.setStandardButtons(QtGui.QMessageBox.Ok) + ret = msgbox.exec_() + return + + QtGui.QDialog.accept(self) + data = urllib.urlencode({"name":name, "version": version._pcVersion, "os":os, "msg":msg}) + print "Sending..." + f = urllib.urlopen("http://distantsphere.com/pc/reporter.php", data) + text = f.read() + print text + if text == "success!": + print "Sent!" + else: + print "Problems ):" + diff --git a/easyInstaller b/easyInstaller index 4d2d2b9..2592a92 100755 --- a/easyInstaller +++ b/easyInstaller @@ -5,218 +5,279 @@ # and/or modify it under the terms of the Do What The Fuck You Want # To Public License, Version 2, as published by Sam Hocevar. See # http://sam.zoy.org/wtfpl/COPYING for more details. +import sys, traceback +error = 0 +try: + import os, shutil + from stat import * + from string import Template -import os, sys, shutil -from stat import * -from string import Template - -_PLATFORM = sys.platform -if _PLATFORM in ['win32','cygwin','darwin','os2','os2emx','riscos','atheos']: - print "Whoa there buddy! This installation script isn't meant to be run on your OS." - exit() - -if os.getuid() != 0: - print "This program must be run as root (sudo)." - exit() - -_HOME = os.environ['HOME'] -_USER = os.environ['SUDO_USER'] -_UID = int(os.environ['SUDO_UID']) -_GID = int(os.environ['SUDO_GID']) -# fix home if it's root weirdness -if _HOME.find("root") != -1: - _HOME = "/home/"+_USER - -def setPermissions(path): - os.chown(path, _UID, _GID) - for file_ in os.listdir(path): - filePath = os.path.join(path,file_) - if os.path.isdir(filePath): - setPermissions(filePath) - else: - os.chown(filePath, _UID, _GID) - -def findPesterchum(path): - for f in os.listdir(path): - filePath = os.path.join(path, f) - if os.path.isdir(filePath): - if os.path.exists(filePath+"/pesterchum.py"): - return filePath - else: - a=findPesterchum(filePath) - if a: return a - elif f == "pesterchum.py": - return path - -if not os.path.exists(_HOME+"/.pcInstallLoc"): - print "Welcome to the Pesterchum 3.14 Easy Installer (for Linux)!\n\ - Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\ - License: WTFPL\n\ - \n\ -Leaving an option blank will accept it's default [in brackets]\n\ -Are you ready to begin your MAGICAL JOURNEY?!\n\ -Of course you are!!! ::::D" - # ask user about things - while 1: - install = raw_input("Install location [~/.pesterchum]: ") - if install == "": - instLoc = _HOME+"/.pesterchum" - break - else: - if install[0] == "~": - install = _HOME+install[1:] - if os.path.exists(install[:install.rfind("/")]): - instLoc = install - break - print "No can do" - if os.path.exists("/usr/share/applications"): - while 1: - gnome = raw_input("Create a GNOME menu item? [Y/n]: ") - if gnome.lower() == "y" or gnome == "": - gnome = True;break - elif gnome.lower() == "n": - gnome = False;break - else: - print "herpaderp" - while 1: - shortcut = raw_input("Create launcher in home directory? [Y/n]: ") - if shortcut.lower() == "y" or shortcut == "": - shortcut = True;break - elif shortcut.lower() == "n": - shortcut = False;break - else: - print "u jelly?" - - # do some shitty install - try: - fileLoc = findPesterchum(".") - except RuntimeError: - print "I'm sorry! I was unable to find the pesterchum files :(" - print "Please put them where I can find them" + _PLATFORM = sys.platform + if _PLATFORM in ['win32','cygwin','darwin','os2','os2emx','riscos','atheos']: + print "Whoa there buddy! This installation script isn't meant to be run on your OS." exit() - if not fileLoc: - print "I'm sorry! I was unable to find the pesterchum files :(" - print "Please put them where I can find them" + + if os.getuid() != 0: + print "This program must be run as root (sudo)." exit() - print "Copying files..." - ignore = shutil.ignore_patterns('*.pyc') - if not os.path.exists(instLoc): - shutil.copytree(fileLoc, instLoc, ignore=ignore) - if os.path.exists(instLoc+"/pesterchum.js"): - f = open(instLoc+"/pesterchum.js") - js = f.read() - f.close() - defa = js.find("\"defaultprofile\"") - if defa != -1: - start = js.find("\"", js.find(":", defa+1)) - end = js.find("\"", start+1) - party = js[start+1:end] - if not os.path.exists(instLoc+"/profiles") or \ - party+".js" not in os.listdir(instLoc+"/profiles"): - print "Protecting you from stupidity..." - print " (aka. Deleting reference to non-existant default profile)" - #os.remove(instLoc+"/pesterchum.js") - f = open(instLoc+"/pesterchum.js", "w") - f.write(js[:defa-1]+js[js.find(",", end)+1:]) - f.close() - else: - if not os.path.exists(instLoc+"/logs") and os.path.exists(fileLoc+"/logs"): - shutil.copytree(fileLoc+"/logs", instLoc+"/logs", ignore=ignore) - if not os.path.exists(instLoc+"/profiles") and os.path.exists(fileLoc+"/profiles"): - shutil.copytree(fileLoc+"/profiles", instLoc+"/profiles", ignore=ignore) - if not os.path.exists(instLoc+"/pesterchum.js") and os.path.exists(fileLoc+"/pesterchum.js"): - shutil.copy(fileLoc+"/pesterchum.js", instLoc) - shutil.copytree(fileLoc+"/oyoyo", instLoc+"/oyoyo", ignore=ignore) - shutil.copytree(fileLoc+"/smilies", instLoc+"/smilies", ignore=ignore) - shutil.copytree(fileLoc+"/themes", instLoc+"/themes", ignore=ignore) - for f in os.listdir(fileLoc): - filePath = os.path.join(fileLoc, f) - if not os.path.isdir(filePath) and f != "pesterchum.js": - shutil.copy(filePath, instLoc) - setPermissions(instLoc) - # save the install location - f = open(_HOME+"/.pcInstallLoc", "w") - f.write(instLoc) - f.close() - #create a cool executable - print "Creating executable... (/usr/local/bin/pesterchum)" - f = open("/usr/local/bin/pesterchum", 'w') - f.write("#!/bin/sh\ncd "+instLoc+"\n./pesterchum $@") - f.close() - os.chmod("/usr/local/bin/pesterchum", S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) - # Create a fancy menu item in gnome - if gnome: - print "Creating menu item..." - t = Template("[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=/usr/local/bin/pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application") - f = open("/usr/share/applications/pesterchum.desktop", "w") - f.write(t.safe_substitute(loc=instLoc)) - f.close() - # create shortcut launcher - if shortcut: - print "Creating launcher..." - t = Template("#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application") - f = open(_HOME+"/Pesterchum.desktop", "w") - f.write(t.safe_substitute(loc=instLoc)) - f.close() - os.chown(_HOME+"/Pesterchum.desktop", _UID, _GID) - os.chmod(_HOME+"/Pesterchum.desktop", S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) -else: - print "Welcome to the Pesterchum 3.14 Easy Uninstaller (for Linux)!\n\ - Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\ - License: WTFPL\n" - while 1: - remove = raw_input("Would you like to uninstall Pesterchum? [y/n]: ") - if remove.lower() == "y": - while 1: - killdata = raw_input("Purge your settings, profiles, and logs? [y/N]: ") - if killdata.lower() == "n" or killdata == "": - killdata = False;break - elif killdata.lower() == "y": - killdata = True;break + + _HOME = os.environ['HOME'] + _USER = os.environ['SUDO_USER'] + _UID = int(os.environ['SUDO_UID']) + _GID = int(os.environ['SUDO_GID']) + # fix home if it's root weirdness + if _HOME.find("root") != -1: + _HOME = "/home/"+_USER + + def setPermissions(path): + os.chown(path, _UID, _GID) + for file_ in os.listdir(path): + filePath = os.path.join(path,file_) + if os.path.isdir(filePath): + setPermissions(filePath) + else: + os.chown(filePath, _UID, _GID) + + def findPesterchum(path): + for f in os.listdir(path): + filePath = os.path.join(path, f) + if os.path.isdir(filePath): + if os.path.exists(filePath+"/pesterchum.py"): + return filePath else: - print "Hmmmmm...?" - f = open(_HOME+"/.pcInstallLoc") - instLoc = f.readline() - f.close() - os.remove(_HOME+"/.pcInstallLoc") - if killdata: - print "Removing files..." - shutil.rmtree(instLoc) + a=findPesterchum(filePath) + if a: return a + elif f == "pesterchum.py": + return path + + if not os.path.exists(_HOME+"/.pcInstallLoc"): + print "Welcome to the Pesterchum 3.14 Easy Installer (for Linux)!\n\ + Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\ + License: WTFPL\n\ + \n\ + Leaving an option blank will accept it's default [in brackets]\n\ + Are you ready to begin your MAGICAL JOURNEY?!\n\ + Of course you are!!! ::::D" + # ask user about things + while 1: + install = raw_input("Install location [~/.pesterchum]: ") + if install == "": + instLoc = _HOME+"/.pesterchum" + break else: - print "Backing up settings, profiles, and logs..." - if os.path.exists(instLoc+"/logs"): - shutil.move(instLoc+"/logs", "_easyBackupLOGS") - if os.path.exists(instLoc+"/profiles"): - shutil.move(instLoc+"/profiles", "_easyBackupPROFILES") - if os.path.exists(instLoc+"/pesterchum.js"): - shutil.move(instLoc+"/pesterchum.js", "_easyBackupSETTINGS") - print "Removing files..." - shutil.rmtree(instLoc) - print "Restoring up settings, profiles, and logs..." - os.mkdir(instLoc) - if os.path.exists("_easyBackupLOGS"): - shutil.move("_easyBackupLOGS", instLoc+"/logs") - if os.path.exists("_easyBackupPROFILES"): - shutil.move("_easyBackupPROFILES", instLoc+"/profiles") - if os.path.exists("_easyBackupSETTINGS"): - shutil.move("_easyBackupSETTINGS", instLoc+"/pesterchum.js") - setPermissions(instLoc) - print "Trashing executable..." - os.remove("/usr/local/bin/pesterchum") - if os.path.exists("/usr/share/applications/pesterchum.desktop"): - print "Maiming menu item..." - os.remove("/usr/share/applications/pesterchum.desktop") - if os.path.exists(_HOME+"/Pesterchum.desktop"): - print "Destroying launcher..." - os.remove(_HOME+"/Pesterchum.desktop") - elif os.path.exists(_HOME+"/Desktop/Pesterchum.desktop"): - print "Destroying launcher..." - os.remove(_HOME+"/Desktop/Pesterchum.desktop") - else: - print "Unable to find launcher, non destroyed" - break - elif remove.lower() == "n": - print "Aborting uninstallation process" - break + if install[0] == "~": + install = _HOME+install[1:] + if os.path.exists(install[:install.rfind("/")]): + instLoc = install + break + print "No can do" + if os.path.exists("/usr/share/applications"): + while 1: + gnome = raw_input("Create a GNOME menu item? [Y/n]: ") + if gnome.lower() == "y" or gnome == "": + gnome = True;break + elif gnome.lower() == "n": + gnome = False;break + else: + print "herpaderp" + while 1: + shortcut = raw_input("Create launcher in home directory? [Y/n]: ") + if shortcut.lower() == "y" or shortcut == "": + shortcut = True;break + elif shortcut.lower() == "n": + shortcut = False;break + else: + print "u jelly?" + + # do some shitty install + try: + fileLoc = findPesterchum(".") + except RuntimeError: + print "I'm sorry! I was unable to find the pesterchum files :(" + print "Please put them where I can find them" + exit() + if not fileLoc: + print "I'm sorry! I was unable to find the pesterchum files :(" + print "Please put them where I can find them" + exit() + print "Copying files..." + ignore = shutil.ignore_patterns('*.pyc') + if not os.path.exists(instLoc): + shutil.copytree(fileLoc, instLoc, ignore=ignore) + if os.path.exists(instLoc+"/pesterchum.js"): + f = open(instLoc+"/pesterchum.js") + js = f.read() + f.close() + defa = js.find("\"defaultprofile\"") + if defa != -1: + start = js.find("\"", js.find(":", defa+1)) + end = js.find("\"", start+1) + party = js[start+1:end] + if not os.path.exists(instLoc+"/profiles") or \ + party+".js" not in os.listdir(instLoc+"/profiles"): + print "Protecting you from stupidity..." + print " (aka. Deleting reference to non-existant default profile)" + #os.remove(instLoc+"/pesterchum.js") + f = open(instLoc+"/pesterchum.js", "w") + f.write(js[:defa-1]+js[js.find(",", end)+1:]) + f.close() else: - print "Invalid input, try again" + if not os.path.exists(instLoc+"/logs") and os.path.exists(fileLoc+"/logs"): + shutil.copytree(fileLoc+"/logs", instLoc+"/logs", ignore=ignore) + if not os.path.exists(instLoc+"/profiles") and os.path.exists(fileLoc+"/profiles"): + shutil.copytree(fileLoc+"/profiles", instLoc+"/profiles", ignore=ignore) + if not os.path.exists(instLoc+"/pesterchum.js") and os.path.exists(fileLoc+"/pesterchum.js"): + shutil.copy(fileLoc+"/pesterchum.js", instLoc) + shutil.copytree(fileLoc+"/oyoyo", instLoc+"/oyoyo", ignore=ignore) + shutil.copytree(fileLoc+"/smilies", instLoc+"/smilies", ignore=ignore) + shutil.copytree(fileLoc+"/themes", instLoc+"/themes", ignore=ignore) + for f in os.listdir(fileLoc): + filePath = os.path.join(fileLoc, f) + if not os.path.isdir(filePath) and f != "pesterchum.js": + shutil.copy(filePath, instLoc) + setPermissions(instLoc) + # save the install location + f = open(_HOME+"/.pcInstallLoc", "w") + f.write(instLoc) + f.close() + #create a cool executable + print "Creating executable... (/usr/local/bin/pesterchum)" + f = open("/usr/local/bin/pesterchum", 'w') + f.write("#!/bin/sh\ncd "+instLoc+"\n./pesterchum $@") + f.close() + os.chmod("/usr/local/bin/pesterchum", S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) + # Create a fancy menu item in gnome + if gnome: + print "Creating menu item..." + t = Template("[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=/usr/local/bin/pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application") + f = open("/usr/share/applications/pesterchum.desktop", "w") + f.write(t.safe_substitute(loc=instLoc)) + f.close() + # create shortcut launcher + if shortcut: + print "Creating launcher..." + t = Template("#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nVersion=3.14.2\nName=Pesterchum\nComment=IM client based on Homestuck Pesterchum\nCategories=Network;InstantMessaging;\nExec=pesterchum\nIcon=$loc/pesterchum.ico\nTerminal=false\nType=Application") + f = open(_HOME+"/Pesterchum.desktop", "w") + f.write(t.safe_substitute(loc=instLoc)) + f.close() + os.chown(_HOME+"/Pesterchum.desktop", _UID, _GID) + os.chmod(_HOME+"/Pesterchum.desktop", S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) + else: + print "Welcome to the Pesterchum 3.14 Easy Uninstaller (for Linux)!\n\ + Created by Kiooeht [evacipatedBox] May 28th-29th, 2011.\n\ + License: WTFPL\n" + while 1: + remove = raw_input("Would you like to uninstall Pesterchum? [y/n]: ") + if remove.lower() == "y": + while 1: + killdata = raw_input("Purge your settings, profiles, and logs? [y/N]: ") + if killdata.lower() == "n" or killdata == "": + killdata = False;break + elif killdata.lower() == "y": + killdata = True;break + else: + print "Hmmmmm...?" + f = open(_HOME+"/.pcInstallLoc") + instLoc = f.readline() + f.close() + os.remove(_HOME+"/.pcInstallLoc") + if killdata: + print "Removing files..." + shutil.rmtree(instLoc) + else: + print "Backing up settings, profiles, and logs..." + if os.path.exists(instLoc+"/logs"): + shutil.move(instLoc+"/logs", "_easyBackupLOGS") + if os.path.exists(instLoc+"/profiles"): + shutil.move(instLoc+"/profiles", "_easyBackupPROFILES") + if os.path.exists(instLoc+"/pesterchum.js"): + shutil.move(instLoc+"/pesterchum.js", "_easyBackupSETTINGS") + print "Removing files..." + shutil.rmtree(instLoc) + print "Restoring up settings, profiles, and logs..." + os.mkdir(instLoc) + if os.path.exists("_easyBackupLOGS"): + shutil.move("_easyBackupLOGS", instLoc+"/logs") + if os.path.exists("_easyBackupPROFILES"): + shutil.move("_easyBackupPROFILES", instLoc+"/profiles") + if os.path.exists("_easyBackupSETTINGS"): + shutil.move("_easyBackupSETTINGS", instLoc+"/pesterchum.js") + setPermissions(instLoc) + print "Trashing executable..." + os.remove("/usr/local/bin/pesterchum") + if os.path.exists("/usr/share/applications/pesterchum.desktop"): + print "Maiming menu item..." + os.remove("/usr/share/applications/pesterchum.desktop") + if os.path.exists(_HOME+"/Pesterchum.desktop"): + print "Destroying launcher..." + os.remove(_HOME+"/Pesterchum.desktop") + elif os.path.exists(_HOME+"/Desktop/Pesterchum.desktop"): + print "Destroying launcher..." + os.remove(_HOME+"/Desktop/Pesterchum.desktop") + else: + print "Unable to find launcher, non destroyed" + break + elif remove.lower() == "n": + print "Aborting uninstallation process" + break + else: + print "Invalid input, try again" +except KeyboardInterrupt: + print "" +except Exception, e: + error = -1 +finally: + if error == -1: + print "Oh noes!! It seems an error has occurred!" + lineN = traceback.extract_tb(sys.exc_info()[2])[-1][1] + print "The error occurred on line %s:" % lineN + formatted_lines = traceback.format_exc().splitlines() + print " '" + formatted_lines[-2] + "'" + print formatted_lines[-1] + + while 1: + print "\nWould you like to (s)end a bug report," + send = raw_input("view the (f)ull error message, or (n)either? [s/f/n]: ") + if send.lower() == "n": + act = 2;break + elif send.lower() == "s": + act = 0;break + elif send.lower() == "f": + print "!---------------BEGIN ERROR MESSAGE---------------!" + for l in formatted_lines: + print l + print "!----------------END ERROR MESSAGE----------------!" + send = raw_input("Would you like to send this error message? [y/n]: ") + if send.lower() == "y": + act = 0;break + elif send.lower() == "n": + act = 2;break + else: + print "What was that?" + if act == 2: + print "Okay" + elif act == 0: + print "Thank you for taking time out of your day to complete a bug report." + print "Fields marked with an asterisk (*) are required." + name = raw_input("Your Name: ") + while 1: + os = raw_input("OS (include version) (ex. Ubuntu 10.10) [*]: ") + if os: break + else: print "This field is required." + while 1: + msg = raw_input("Short description of problem [*]: ") + if msg: break + else: print "This field is required." + import urllib, json + data = urllib.urlencode({"name":name, "os":os, "msg":msg, "short":formatted_lines[-1], "long":json.dumps(formatted_lines)}) + try: + print "Sending..." + f = urllib.urlopen("http://distantsphere.com/pc/easyInstall.php", data) + text = f.read() + print text + if text == "success!": + print "Sent!" + else: + print "There seems to have been a problem sending your bug report! ):" + except: + print "There seems to have been a problem sending your bug report! ):" diff --git a/pesterchum.py b/pesterchum.py index 48c433e..28f6a4d 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -52,6 +52,7 @@ from parsetools import convertTags, addTimeInitial, themeChecker, ThemeException from memos import PesterMemo, MemoTabWindow, TimeTracker from irc import PesterIRC from logviewer import PesterLogUserSelect, PesterLogViewer +from bugreport import BugReporter _datadir = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)+"Pesterchum/" canon_handles = ["apocalypseArisen", "arsenicCatnip", "arachnidsGrip", "adiosToreador", \ @@ -1507,12 +1508,16 @@ class PesterWindow(MovingWindow): self.aboutAction = QtGui.QAction(self.theme["main/menus/help/about"], self) self.connect(self.aboutAction, QtCore.SIGNAL('triggered()'), self, QtCore.SLOT('aboutPesterchum()')) + self.reportBugAction = QtGui.QAction("REPORT BUG", self) + self.connect(self.reportBugAction, QtCore.SIGNAL('triggered()'), + self, QtCore.SLOT('reportBug()')) helpmenu = self.menu.addMenu(self.theme["main/menus/help/_name"]) self.helpmenu = helpmenu self.helpmenu.addAction(self.helpAction) self.helpmenu.addAction(self.botAction) self.helpmenu.addAction(self.nickServAction) self.helpmenu.addAction(self.aboutAction) + self.helpmenu.addAction(self.reportBugAction) self.closeButton = WMButton(PesterIcon(self.theme["main/close/image"]), self) self.setButtonAction(self.closeButton, self.config.closeAction(), -1) @@ -2709,6 +2714,13 @@ class PesterWindow(MovingWindow): @QtCore.pyqtSlot() def launchHelp(self): QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://nova.xzibition.com/~illuminatedwax/help.html", QtCore.QUrl.TolerantMode)) + @QtCore.pyqtSlot() + def reportBug(self): + if hasattr(self, 'bugreportwindow') and self.bugreportwindow: + return + self.bugreportwindow = BugReporter(self) + self.bugreportwindow.exec_() + self.bugreportwindow = None @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) def nickCollision(self, handle, tmphandle): From e6c379146478a7663708113e80729d39e8c8b800 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 1 Jun 2011 07:36:44 -0700 Subject: [PATCH 119/166] Bug fix: Don't send Up and Down to both textarea and textinput --- convo.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/convo.py b/convo.py index cce8dd6..4e5c6b2 100644 --- a/convo.py +++ b/convo.py @@ -342,7 +342,8 @@ class PesterText(QtGui.QTextEdit): def keyPressEvent(self, event): if hasattr(self.parent(), 'textInput'): - if event.key() not in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown]: + if event.key() not in [QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown, \ + QtCore.Qt.Key_Up, QtCore.Qt.Key_Down]: self.parent().textInput.keyPressEvent(event) QtGui.QTextEdit.keyPressEvent(self, event) From 20241b07797acdae5552a802dd8f266c7a8ac5ab Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 1 Jun 2011 08:24:35 -0700 Subject: [PATCH 120/166] Bug fix: Register memo modes/actions correctly --- memos.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/memos.py b/memos.py index 3634e53..996b265 100644 --- a/memos.py +++ b/memos.py @@ -728,8 +728,6 @@ class PesterMemo(PesterConvo): @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString) def userPresentChange(self, handle, channel, update): - if channel != self.channel and update != "quit": - return h = unicode(handle) c = unicode(channel) update = unicode(update) From fad80398e803740ea6fb3a8b824e398f575943f1 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Wed, 1 Jun 2011 11:17:35 -0700 Subject: [PATCH 121/166] Bug Fix: Double clicking a memo in the memo list opens the memo --- menus.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/menus.py b/menus.py index cd56882..48223e3 100644 --- a/menus.py +++ b/menus.py @@ -1127,8 +1127,8 @@ class PesterMemoList(QtGui.QDialog): self.channelarea.setColumnWidth(0,200) self.channelarea.setColumnWidth(1,10) self.connect(self.channelarea, - QtCore.SIGNAL('itemActivated(QTreeWidgetItem *, int)'), - self, QtCore.SLOT('joinActivatedMemo(QTreeWidgetItem, int)')) + QtCore.SIGNAL('itemDoubleClicked(QTreeWidgetItem *, int)'), + self, QtCore.SLOT('joinActivatedMemo()')) self.orjoinlabel = QtGui.QLabel("OR MAKE A NEW MEMO:") self.newmemo = QtGui.QLineEdit(channel, self) @@ -1197,9 +1197,8 @@ class PesterMemoList(QtGui.QDialog): selectedmemo = self.selectedmemo() if newmemo or selectedmemo: self.accept() - @QtCore.pyqtSlot(QtGui.QTreeWidgetItem, int) - def joinActivatedMemo(self, item, column): - self.channelarea.setCurrentItem(item, column) + @QtCore.pyqtSlot() + def joinActivatedMemo(self): self.accept() From eee4f1d065eadd72417504153367a37fa68147bd Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 2 Jun 2011 10:02:24 -0700 Subject: [PATCH 122/166] Bug fix: Keep OP/Voice correct when someone changes nick --- TODO.mkdn | 3 ++- memos.py | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/TODO.mkdn b/TODO.mkdn index 73926cb..fa8ed01 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -21,7 +21,8 @@ Bugs * When using mood sort, scroll position jumps to last selected chum * When switching chumhandles, OP doesn't appear to retain OP status (though they do) * When left for a really long time, animations slow down pesterchum -* Openning resets appearance of OP/voice for anyone that become OP/voice after you joined a memo +* Openning userlist resets appearance of OP/voice for anyone that become OP/voice after you joined a memo +* No sign of error if regexp quirk is malformed (not enough captured groups, etc) Mac Bugs -------- diff --git a/memos.py b/memos.py index 996b265..cc6abad 100644 --- a/memos.py +++ b/memos.py @@ -765,6 +765,18 @@ class PesterMemo(PesterConvo): self.times[h].removeTime(t.getTime()) if update == "nick": self.addUser(newnick) + newchums = self.userlist.findItems(newnick, QtCore.Qt.MatchFlags(0)) + for nc in newchums: + for c in chums: + if c.op: + nc.op = True + icon = PesterIcon(self.mainwindow.theme["memos/op/icon"]) + nc.setIcon(icon) + if c.voice: + nc.voice = True + icon = PesterIcon(self.mainwindow.theme["memos/voice/icon"]) + nc.setIcon(icon) + self.sortUsers() elif update == "kick": if len(chums) == 0: return From 1d13123bb91e70859066b5ea73f381a9596039dd Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 2 Jun 2011 13:21:44 -0700 Subject: [PATCH 123/166] Bug fix: Memo userlist stupidity (finally fully fixed) --- memos.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/memos.py b/memos.py index cc6abad..3059584 100644 --- a/memos.py +++ b/memos.py @@ -511,10 +511,13 @@ class PesterMemo(PesterConvo): self.channelLabel.setMinimumHeight(theme["memos/label/minheight"]) self.userlist.optionsMenu.setStyleSheet(theme["main/defaultwindow/style"]) + scrolls = "width: 12px; height: 12px; border: 0; padding: 0;" if theme.has_key("main/chums/scrollbar"): - self.userlist.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] )) + self.userlist.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["main/chums/scrollbar/style"] + scrolls, theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] )) + elif theme.has_key("convo/scrollbar"): + self.userlist.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["memos/userlist/style"], theme["convo/scrollbar/style"] + scrolls, theme["convo/scrollbar/handle"], "display:none;", "display:none;", "display:none;", "display:none;" )) else: - self.userlist.setStyleSheet(theme["memos/userlist/style"]) + self.userlist.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s }" % (theme["memos/userlist/style"], scrolls, "background-color: black;")) self.userlist.setFixedWidth(theme["memos/userlist/width"]) self.addchumAction.setText(theme["main/menus/rclickchumlist/addchum"]) self.banuserAction.setText(theme["main/menus/rclickchumlist/banuser"]) From e7919869c1e31dadd375e48a08051f9fba3e677c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 3 Jun 2011 03:57:17 -0700 Subject: [PATCH 124/166] ToDo update --- TODO.mkdn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO.mkdn b/TODO.mkdn index fa8ed01..e7203de 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -11,6 +11,7 @@ Features * Spy mode * Turn @ and # links on/off? * "someone has friended you" notifier +* Python quirks (so normal users can write their own quirk functions in python) Bugs ---- @@ -19,10 +20,10 @@ Bugs * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages * Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash * When using mood sort, scroll position jumps to last selected chum -* When switching chumhandles, OP doesn't appear to retain OP status (though they do) * When left for a really long time, animations slow down pesterchum * Openning userlist resets appearance of OP/voice for anyone that become OP/voice after you joined a memo * No sign of error if regexp quirk is malformed (not enough captured groups, etc) +* Windows: Dragging a chum on top of another chum and releasing makes one disappear Mac Bugs -------- From 3798d04e1e1231fe83f937b8eeb17c0fdf0d360e Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 7 Jun 2011 02:17:47 -0700 Subject: [PATCH 125/166] Bug fix: Don't register user mode changes in memos --- memos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/memos.py b/memos.py index 3059584..dec1888 100644 --- a/memos.py +++ b/memos.py @@ -962,7 +962,7 @@ class PesterMemo(PesterConvo): icon = QtGui.QIcon() c.setIcon(icon) self.sortUsers() - elif h == "" and update[0] in ["+","-"]: + elif c == self.channel and update[0] in ["+","-"]: self.updateChanModes(update) @QtCore.pyqtSlot() From fbb16b95491b084ab5f77aa0b07d2c9a274bb595 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 7 Jun 2011 08:48:35 -0700 Subject: [PATCH 126/166] Customizable Python quirks --- .gitignore | 2 ++ CHANGELOG.mkdn | 1 + PYQUIRKS.mkdn | 87 ++++++++++++++++++++++++++++++++++++++++++++++ TODO.mkdn | 1 - menus.py | 47 +++++++++++++++++++++++++ parsetools.py | 20 +++++------ pesterchum.py | 4 +++ pyquirks.py | 58 +++++++++++++++++++++++++++++++ quirks/defaults.py | 17 +++++++++ 9 files changed, 225 insertions(+), 12 deletions(-) create mode 100644 PYQUIRKS.mkdn create mode 100644 pyquirks.py create mode 100644 quirks/defaults.py diff --git a/.gitignore b/.gitignore index 20bcf40..b9f3db2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ tutorial/* irctest.log *.pyc pesterchum.js +quirks/* +!quirks/defaults.py diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index b153e1e..17b69c2 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -38,6 +38,7 @@ CHANGELOG * Memo OP options: Secret, Invite-only, Mute - Kiooeht [evacipatedBox] * Notify user if channel blocks message - Kiooeht [evacipatedBox] * Bug reporter - Kiooeht [evacipatedBox] +* Python quirks (users can create own quirk functions) - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/PYQUIRKS.mkdn b/PYQUIRKS.mkdn new file mode 100644 index 0000000..343539b --- /dev/null +++ b/PYQUIRKS.mkdn @@ -0,0 +1,87 @@ +Python Quirk Functions +=============== + +0. Table of Contents +----------------- +1. Introduction +2. Create A Module +3. Functions In A Module +4. Command Requirements +5. Completed Quirk Function + +1. Introduction +--------------- +Over the course of this short tutorial you will learn: + +* How to create your own Quirk Functions +* VERY basic Python syntax + +You will not learn: + +* How to write Python +* How to bake a cake + +Throughout this tutorial there will be +
+Instructions in special boxes.
+If you follow the instructions in these boxes, by the end of this tutorial
+you will have recreated the default reverse() Quirk Function.
+
+ +2. Create A Module +------------------- +All Quirk Function Modules should be created in the 'quirks/' directory. File names must end in '.py'. +You can have multiple Quirk Functions per Module. + +Each Module can also have a 'setup' function which will be called once, the moment the Module is loaded. + +
+Create 'reverse.py' in the 'quirks/' directory.
+
+ +3. Functions In A Module +-------------------------- +If you've ever done programming before, you should know what a function is. If not, I suggest picking up a good programming book (or e-book). + +In Python, function syntax looks like this: + +def function_name(myvar1, myvar2): + +'def' is used to declare that this is a function, and 'function_name' is obviously the name of your function. +'myvar1' and 'myvar2' are variables coming into your function. For most of your functions, the only variable being passed will be 'text'. + +In Python, curly braces ({}) are not used to declare the beginning and end of a function. Instead, a colon (:) is used to declare the beginning of a function. After that, indentation is used to declare the body and end of a function. + +
+def reverserep(text):
+    return text[::-1]
+
+ +4. Command Requirements +------------------------ +For a function to be registered as a Quirk Function, it must conform to three simple rules: + +1. It must have a command name. +2. It must take exactly one arguement. +3. It must return a string. + +What is meant by having a command name, is that a name for the Quirk Function has to be defined. This is done by defining the 'command' variable for a function. + +function_name.command = "name" + +
+reverserep.command = "reverse"
+
+ +5. Completed Quirk Function +--------------------------- +Below is the completed, fully working, reverse Quirk Function. After it I will break down the pieces of each line. +
+def reverserep(text):
+    return text[::-1]
+reverserep.command = "reverse"
+
+ +As stated before, to start a function, you need to use the keyword 'def'. All Quirk Functions must take exactly one argument (in this case 'text'). +In this example, the text is reversed and returned all in one line. 'text[::-1]' is the Pythonic way of reversing a list or string. +The last line is the most important part. This tells Pesterchum to call this function whenever 'reverse()' is used in a quirk. diff --git a/TODO.mkdn b/TODO.mkdn index e7203de..60d0fd9 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -11,7 +11,6 @@ Features * Spy mode * Turn @ and # links on/off? * "someone has friended you" notifier -* Python quirks (so normal users can write their own quirk functions in python) Bugs ---- diff --git a/menus.py b/menus.py index 48223e3..f077ffb 100644 --- a/menus.py +++ b/menus.py @@ -326,6 +326,29 @@ class RandomQuirkDialog(MultiTextDialog): self.replacelist.takeItem(self.replacelist.currentRow()) self.replaceinput.setFocus() +class QuirkFuncWindow(QtGui.QDialog): + def __init__(self, parent): + QtGui.QDialog.__init__(self, parent) + self.mainwindow = parent + self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + self.setWindowTitle("Quirk Functions") + + self.funclist = QtGui.QListWidget(self) + self.funclist.setStyleSheet("background-color: #FFFFFF;") + + from parsetools import quirkloader + funcs = [q+")" for q in quirkloader.quirks.keys()] + funcs.sort() + self.funclist.addItems(funcs) + + layout_0 = QtGui.QVBoxLayout() + layout_0.addWidget(QtGui.QLabel("Avaliable Quirk Functions")) + layout_0.addWidget(self.funclist) + self.setLayout(layout_0) + + def closeEvent(self, event): + self.mainwindow.quirkmenu.funclistwindow = None + class PesterChooseQuirks(QtGui.QDialog): def __init__(self, config, theme, parent): QtGui.QDialog.__init__(self, parent) @@ -338,6 +361,12 @@ class PesterChooseQuirks(QtGui.QDialog): self.quirkList = PesterQuirkList(self.mainwindow, self) + self.viewQuirkFuncButton = QtGui.QPushButton("VIEW FUNCTIONS", self) + self.connect(self.viewQuirkFuncButton, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('viewQuirkFuncSlot()')) + self.reloadQuirkFuncButton = QtGui.QPushButton("RELOAD FUNCTIONS", self) + self.connect(self.reloadQuirkFuncButton, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('reloadQuirkFuncSlot()')) self.addPrefixButton = QtGui.QPushButton("ADD PREFIX", self) self.connect(self.addPrefixButton, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('addPrefixDialog()')) @@ -379,6 +408,9 @@ class PesterChooseQuirks(QtGui.QDialog): layout_quirklist.addWidget(self.quirkList) layout_quirklist.addLayout(layout_shiftbuttons) + layout_4 = QtGui.QHBoxLayout() + layout_4.addWidget(self.viewQuirkFuncButton) + layout_4.addWidget(self.reloadQuirkFuncButton) layout_1 = QtGui.QHBoxLayout() layout_1.addWidget(self.addPrefixButton) layout_1.addWidget(self.addSuffixButton) @@ -411,6 +443,7 @@ class PesterChooseQuirks(QtGui.QDialog): layout_0 = QtGui.QVBoxLayout() layout_0.addLayout(layout_quirklist) + layout_0.addLayout(layout_4) layout_0.addLayout(layout_1) layout_0.addLayout(layout_2) layout_0.addLayout(layout_3) @@ -425,6 +458,20 @@ class PesterChooseQuirks(QtGui.QDialog): return u #return [self.quirkList.item(i).quirk for i in range(self.quirkList.count())] + @QtCore.pyqtSlot() + def viewQuirkFuncSlot(self): + if not hasattr(self, 'funclistwindow'): + self.funclistwindow = None + if self.funclistwindow: + return + self.funclistwindow = QuirkFuncWindow(self.mainwindow) + self.funclistwindow.show() + + @QtCore.pyqtSlot() + def reloadQuirkFuncSlot(self): + from parsetools import reloadQuirkFunctions + reloadQuirkFunctions() + @QtCore.pyqtSlot() def editSelected(self): q = self.quirkList.currentQuirk() diff --git a/parsetools.py b/parsetools.py index 711508b..58578e1 100644 --- a/parsetools.py +++ b/parsetools.py @@ -5,6 +5,7 @@ from datetime import timedelta from PyQt4 import QtGui from generic import mysteryTime +from pyquirks import PythonQuirks _ctag_begin = re.compile(r'(?i)') _gtag_begin = re.compile(r'(?i)') @@ -16,9 +17,15 @@ _handlere = re.compile(r"(\s|^)(@[A-Za-z0-9_]+)") _imgre = re.compile(r"""(?i)""") _mecmdre = re.compile(r"^(/me|PESTERCHUM:ME)(\S*)") -_functionre = re.compile(r"(upper\(|lower\(|scramble\(|reverse\(|\)|\\[0-9]+)") +quirkloader = PythonQuirks() +_functionre = re.compile(r"%s" % quirkloader.funcre()) _groupre = re.compile(r"\\([0-9]+)") +def reloadQuirkFunctions(): + quirkloader.load() + global _functionre + _functionre = re.compile(r"%s" % quirkloader.funcre()) + def lexer(string, objlist): """objlist is a list: [(objecttype, re),...] list is in order of preference""" stringlist = [string] @@ -300,14 +307,6 @@ def timeDifference(td): timetext = "%d HOURS %s" % (hours, when) return timetext -def upperrep(text): - return text.upper() -def lowerrep(text): - return text.lower() -def scramblerep(text): - return "".join(random.sample(text, len(text))) -def reverserep(text): - return text[::-1] def nonerep(text): return text @@ -339,8 +338,7 @@ def parseRegexpFunctions(to): parsed = parseLeaf(nonerep, None) current = parsed curi = 0 - functiondict = {"upper(": upperrep, "lower(": lowerrep, - "scramble(": scramblerep, "reverse(": reverserep} + functiondict = quirkloader.quirks while curi < len(to): tmp = to[curi:] mo = _functionre.search(tmp) diff --git a/pesterchum.py b/pesterchum.py index 28f6a4d..bfd1b47 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2355,9 +2355,13 @@ class PesterWindow(MovingWindow): item.quirk.quirk["group"] = item.quirk.group = curgroup quirks = pesterQuirks(self.quirkmenu.quirks()) self.userprofile.setQuirks(quirks) + if hasattr(self.quirkmenu, 'funclistwindow') and self.quirkmenu.funclistwindow: + self.quirkmenu.funclistwindow.close() self.quirkmenu = None @QtCore.pyqtSlot() def closeQuirks(self): + if hasattr(self.quirkmenu, 'funclistwindow') and self.quirkmenu.funclistwindow: + self.quirkmenu.funclistwindow.close() self.quirkmenu = None @QtCore.pyqtSlot() def openLogv(self): diff --git a/pyquirks.py b/pyquirks.py new file mode 100644 index 0000000..48288b0 --- /dev/null +++ b/pyquirks.py @@ -0,0 +1,58 @@ +import os, sys, imp, re + +class PythonQuirks(object): + def __init__(self): + self.home = os.getcwd() + self.quirks = {} + self.last = {} + self.load() + + def load(self): + self.last = self.quirks.copy() + self.quirks.clear() + filenames = [] + if not os.path.exists(os.path.join(self.home, 'quirks')): + os.mkdir(os.path.join(self.home, 'quirks')) + for fn in os.listdir(os.path.join(self.home, 'quirks')): + if fn.endswith('.py') and not fn.startswith('_'): + filenames.append(os.path.join(self.home, 'quirks', fn)) + + modules = [] + for filename in filenames: + name = os.path.basename(filename)[:-3] + try: module = imp.load_source(name, filename) + except Exception, e: + print "Error loading %s: %s (in pyquirks.py)" % (name, e) + else: + if hasattr(module, 'setup'): + module.setup() + self.register(vars(module)) + modules.append(name) + for k in self.last: + if k in self.quirks: + if self.last[k] == self.quirks[k]: + del self.quirks[k] + + if self.quirks: + print 'Registered quirks:', '), '.join(self.quirks) + ")" + else:print "Warning: Couldn't find any python quirks" + + def register(self, variables): + for name, obj in variables.iteritems(): + if hasattr(obj, 'command'): + try: + if not isinstance(obj("test"), basestring): + raise Exception + except: + print "Quirk malformed: %s" % (obj.command) + else: + self.quirks[obj.command+"("] = obj + + def funcre(self): + if not self.quirks: + return r"" + f = r"(" + for q in self.quirks: + f = f + q[:-1]+r"\(|" + f = f + r"\)|\\[0-9]+)" + return f diff --git a/quirks/defaults.py b/quirks/defaults.py new file mode 100644 index 0000000..7508adc --- /dev/null +++ b/quirks/defaults.py @@ -0,0 +1,17 @@ +import random + +def upperrep(text): + return text.upper() +upperrep.command = "upper" + +def lowerrep(text): + return text.lower() +lowerrep.command = "lower" + +def scramblerep(text): + return "".join(random.sample(text, len(text))) +scramblerep.command = "scramble" + +def reverserep(text): + return text[::-1] +reverserep.command = "reverse" From 565cc321b9ec5cfb991a7715135014c09977bb08 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 7 Jun 2011 12:36:25 -0700 Subject: [PATCH 127/166] Bug fix: Don't register +b in memo modes --- memos.py | 2 +- version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/memos.py b/memos.py index dec1888..8007874 100644 --- a/memos.py +++ b/memos.py @@ -962,7 +962,7 @@ class PesterMemo(PesterConvo): icon = QtGui.QIcon() c.setIcon(icon) self.sortUsers() - elif c == self.channel and update[0] in ["+","-"]: + elif c == self.channel and h == "" and update[0] in ["+","-"]: self.updateChanModes(update) @QtCore.pyqtSlot() diff --git a/version.py b/version.py index 1e2e5a3..976fd5e 100644 --- a/version.py +++ b/version.py @@ -10,7 +10,7 @@ _pcStatus = "B" # A = alpha # B = beta # RC = release candidate # None = public release -_pcRevision = "3" +_pcRevision = "4" _pcVersion = "" def pcVerCalc(): From 0f8b7175472d1cc4d0daeb894277da7875c35b46 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Tue, 7 Jun 2011 12:38:26 -0700 Subject: [PATCH 128/166] Edited PYQUIRKS.mkdn via GitHub --- PYQUIRKS.mkdn | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PYQUIRKS.mkdn b/PYQUIRKS.mkdn index 343539b..208b7dc 100644 --- a/PYQUIRKS.mkdn +++ b/PYQUIRKS.mkdn @@ -1,7 +1,7 @@ Python Quirk Functions =============== -0. Table of Contents +Table of Contents ----------------- 1. Introduction 2. Create A Module @@ -9,7 +9,7 @@ Python Quirk Functions 4. Command Requirements 5. Completed Quirk Function -1. Introduction +Introduction --------------- Over the course of this short tutorial you will learn: @@ -28,7 +28,7 @@ If you follow the instructions in these boxes, by the end of this tutorial you will have recreated the default reverse() Quirk Function.

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⁣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

-2. Create A Module +Create A Module ------------------- All Quirk Function Modules should be created in the 'quirks/' directory. File names must end in '.py'. You can have multiple Quirk Functions per Module. @@ -39,7 +39,7 @@ Each Module can also have a 'setup' function which will be called once, the mome Create 'reverse.py' in the 'quirks/' directory. -3. Functions In A Module +Functions In A Module -------------------------- If you've ever done programming before, you should know what a function is. If not, I suggest picking up a good programming book (or e-book). @@ -57,7 +57,7 @@ def reverserep(text): return text[::-1] -4. Command Requirements +Command Requirements ------------------------ For a function to be registered as a Quirk Function, it must conform to three simple rules: @@ -73,7 +73,7 @@ function_name.command = "name" reverserep.command = "reverse" -5. Completed Quirk Function +Completed Quirk Function --------------------------- Below is the completed, fully working, reverse Quirk Function. After it I will break down the pieces of each line.

From 02126c3e2309ab7706d1b93d5f5893431204a6c9 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Wed, 8 Jun 2011 23:50:11 -0700
Subject: [PATCH 129/166] Show an error message if something goes wrong with a
 quirk

---
 TODO.mkdn | 1 -
 convo.py  | 9 ++++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/TODO.mkdn b/TODO.mkdn
index 60d0fd9..84edb88 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -21,7 +21,6 @@ Bugs
 * When using mood sort, scroll position jumps to last selected chum
 * When left for a really long time, animations slow down pesterchum
 * Openning userlist resets appearance of OP/voice for anyone that become OP/voice after you joined a memo
-* No sign of error if regexp quirk is malformed (not enough captured groups, etc)
 * Windows: Dragging a chum on top of another chum and releasing makes one disappear
 
 Mac Bugs
diff --git a/convo.py b/convo.py
index 4e5c6b2..375528d 100644
--- a/convo.py
+++ b/convo.py
@@ -658,7 +658,14 @@ class PesterConvo(QtGui.QFrame):
         quirks = self.mainwindow.userprofile.quirks
         lexmsg = lexMessage(text)
         if type(lexmsg[0]) is not mecmd and self.applyquirks:
-            lexmsg = quirks.apply(lexmsg)
+            try:
+                lexmsg = quirks.apply(lexmsg)
+            except:
+                msgbox = QtGui.QMessageBox()
+                msgbox.setText("Whoa there! There seems to be a problem.")
+                msgbox.setInformativeText("A quirk seems to be having a problem. (Possibly you're trying to capture a non-existant group?)")
+                msgbox.exec_()
+                return
         lexmsgs = splitMessage(lexmsg)
 
         for lm in lexmsgs:

From f5973a76523fcebfc3b8d48166619fb4963f37d3 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Wed, 8 Jun 2011 23:51:16 -0700
Subject: [PATCH 130/166] Bug fix: Receive ChanServ NOTICEs in chat

---
 irc.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/irc.py b/irc.py
index 2c69772..a844f4b 100644
--- a/irc.py
+++ b/irc.py
@@ -258,8 +258,7 @@ class PesterHandler(DefaultCommandHandler):
             msg = msg.decode('iso-8859-1', 'ignore')
         handle = nick[0:nick.find("!")]
         logging.info("---> recv \"NOTICE %s :%s\"" % (handle, msg))
-        if handle == "ChanServ":
-            if chan == self.parent.mainwindow.profile().handle and msg[0:2] == "[#":
+        if handle == "ChanServ" and chan == self.parent.mainwindow.profile().handle and msg[0:2] == "[#":
                 self.parent.memoReceived.emit(msg[1:msg.index("]")], handle, msg)
         else:
             self.parent.noticeReceived.emit(handle, msg)

From bcf389625f9a5872b5029be0cfcc77895cd0bace Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 9 Jun 2011 00:09:02 -0700
Subject: [PATCH 131/166] Bug fix: Menu bar text colour correct on different
 system text colours

---
 CHANGELOG.mkdn                |   1 +
 themes/enamel/style.js        |   2 +-
 themes/gold/style.js          |   4 +-
 themes/pesterchum2.5/style.js | 138 ++++++++++++++--------------
 themes/trollian/style.js      |   2 +-
 themes/trollian2.5/style.js   | 168 +++++++++++++++++-----------------
 themes/typewriter/style.js    |   2 +-
 7 files changed, 159 insertions(+), 158 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index 17b69c2..a261129 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -51,6 +51,7 @@ CHANGELOG
     * Make 'logs' and 'profiles' directories if non-existant - Kiooeht [evacipatedBox]
     * Don't split messages in bad places - Kiooeht [evacipatedBox]
     * Chumhandles must match EXACTLY to register mood changes - Kiooeht [evacipatedBox]
+    * Menu bar text colour correct when default system colour isn't black - Kiooeht [evacipatedBox]
 
 ### 3.14.1
 * Pesterchum 3.14 - illuminatedwax [ghostDunk]
diff --git a/themes/enamel/style.js b/themes/enamel/style.js
index 4bbb56f..570996d 100644
--- a/themes/enamel/style.js
+++ b/themes/enamel/style.js
@@ -10,7 +10,7 @@
   "minimize": { "image": "$path/m.gif",
                 "loc": [300, 32]},
   "menubar": { "style": "font-family: 'Century Gothic'; font-size: 14px; color:#9d9d9d" },
-  "menu" : { "style": "font-family: 'Century Gothic'; font-size: 14px; background-color: #fdb302;border:2px solid #ffff00",
+  "menu" : { "style": "font-family: 'Century Gothic'; font-size: 14px; color: #000000; background-color: #fdb302;border:2px solid #ffff00",
              "menuitem": "margin-right:25px;",
              "selected": "background-color: #ffff00",
              "loc": [480,30]
diff --git a/themes/gold/style.js b/themes/gold/style.js
index d67fbc1..7cba265 100644
--- a/themes/gold/style.js
+++ b/themes/gold/style.js
@@ -9,8 +9,8 @@
              "loc": [315, 26]},
   "minimize": { "image": "$path/m.png",
                 "loc": [300, 32]},
-  "menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 12px;" },
-  "menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 12px; background-color: #fdb302;border:2px solid #ffff00",
+  "menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 12px; color: #000000;" },
+  "menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 12px; color: #000000; background-color: #fdb302;border:2px solid #ffff00",
              "menuitem": "margin-right:15px;",
              "selected": "background-color: #ffff00",
              "loc": [150,22]
diff --git a/themes/pesterchum2.5/style.js b/themes/pesterchum2.5/style.js
index 7e9ec98..b768136 100644
--- a/themes/pesterchum2.5/style.js
+++ b/themes/pesterchum2.5/style.js
@@ -6,26 +6,26 @@
   "icon": "$path/trayicon.png",
   "newmsgicon": "$path/trayicon2.png",
   "windowtitle": "PESTERCHUM",
-  "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 14px; background-color: #fdb302;border:2px solid #ffff00",
-			 "menuitem": "font-size:14px;" },
-  "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 14px;" },
+  "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 14px; color: #000000; background-color: #fdb302;border:2px solid #ffff00",
+                         "menuitem": "font-size:14px;" },
+  "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 14px; color: #000000;" },
   "close": { "image": "$path/x.png",
              "loc": [282, 4]},
   "minimize": { "image": "$path/m.png",
                 "loc": [264, 10]},
   "chums": { "style": "border:2px solid yellow; background-color: black;color: white;font: bold;font-size:14px;font-family: 'Courier';selection-background-color:#646464; ",
-			 "loc": [15, 70],
-			 "size": [270, 300]
+                         "loc": [15, 70],
+                         "size": [270, 300]
            },
-  "mychumhandle": { "label": 
+  "mychumhandle": { "label":
                     { "text": "CHUMHANDLE:",
                       "loc": [12,415],
-                      "style": "color: black ;font:bold; font-family: 'Courier';" 
+                      "style": "color: black ;font:bold; font-family: 'Courier';"
                     },
                     "handle": { "loc": [15,435],
                                 "size": [240, 25],
-								"style": "background-color: black; padding: 3px; padding-left: 25px; color:white; font-family:'Courier'; font:bold; text-align:left; border:2px solid #ffff00;"
-							  },
+                                                                "style": "background-color: black; padding: 3px; padding-left: 25px; color:white; font-family:'Courier'; font:bold; text-align:left; border:2px solid #ffff00;"
+                                                          },
                     "colorswatch": { "loc": [255,435],
                                      "size": [30,25],
                                      "text": "C" },
@@ -47,72 +47,72 @@
              "text": "BLOCK"
            },
   "moodlabel": { "style": "font:bold;font-family:'Courier';color:black;",
-				 "loc": [12, 466],
-				 "text": "MOOD:"
-			   },
+                                 "loc": [12, 466],
+                                 "text": "MOOD:"
+                           },
   "moods": [
-      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold; padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold; padding-left:3px;",
-		"loc": [15, 485],
-		"size": [135, 30],
-	    "text": "CHUMMY",
-		"icon": "$path/chummy.png",
-		"mood": 0
-	  },
+      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold; padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold; padding-left:3px;",
+                "loc": [15, 485],
+                "size": [135, 30],
+            "text": "CHUMMY",
+                "icon": "$path/chummy.png",
+                "mood": 0
+          },
 
-      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
-		"loc": [15, 513],
-		"size": [135, 30],
-	    "text": "PLEASANT",
-		"icon": "$path/pleasant.png",
-		"mood": 3
-	  },
+      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "loc": [15, 513],
+                "size": [135, 30],
+            "text": "PLEASANT",
+                "icon": "$path/pleasant.png",
+                "mood": 3
+          },
 
-      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
-		"loc": [15, 541],
-		"size": [135, 30],
-	    "text": "DISTRAUGHT",
-		"icon": "$path/distraught.png",
-		"mood": 4
-	  },
+      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "loc": [15, 541],
+                "size": [135, 30],
+            "text": "DISTRAUGHT",
+                "icon": "$path/distraught.png",
+                "mood": 4
+          },
 
-      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
-		"loc": [148, 485],
-		"size": [135, 30],
-	    "text": "PRANKY",
-		"icon": "$path/pranky.png",
-		"mood": 5
-	  },
+      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "loc": [148, 485],
+                "size": [135, 30],
+            "text": "PRANKY",
+                "icon": "$path/pranky.png",
+                "mood": 5
+          },
 
-      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
-		"loc": [148, 513],
-		"size": [135, 30],
-	    "text": "SMOOTH",
-		"icon": "$path/smooth.png",
-		"mood": 6
-	  },
+      { "style": "text-align:left; background:#ffff00;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #c48a00; color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "loc": [148, 513],
+                "size": [135, 30],
+            "text": "SMOOTH",
+                "icon": "$path/smooth.png",
+                "mood": 6
+          },
 
-      { "style": "text-align:left; background:#f00000;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #c48a00; color: red; font-family:'Courier'; font:bold;padding-left:3px;",
-		"loc": [148, 541],
-		"size": [135, 30],
-	    "text": "RANCOROUS",
-		"icon": "$path/rancorous.png",
-		"mood": 1
-	  },
+      { "style": "text-align:left; background:#f00000;border:2px solid #c48a00;color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #c48a00; color: red; font-family:'Courier'; font:bold;padding-left:3px;",
+                "loc": [148, 541],
+                "size": [135, 30],
+            "text": "RANCOROUS",
+                "icon": "$path/rancorous.png",
+                "mood": 1
+          },
 
-      { "style": "text-align:center; border:2px solid #c48a00; background:black;color: white; font-family:'Courier'; font:bold;padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #c48a00; padding: 5px;color: black; font-family:'Courier'; font:bold;padding-left:3px;",
-		"loc": [15, 569],
-		"size": [270, 30],
-		"text": "ABSCOND",
-		"icon": "$path/offline.png",
-		"mood": 2
-	  }
+      { "style": "text-align:center; border:2px solid #c48a00; background:black;color: white; font-family:'Courier'; font:bold;padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #c48a00; padding: 5px;color: black; font-family:'Courier'; font:bold;padding-left:3px;",
+                "loc": [15, 569],
+                "size": [270, 30],
+                "text": "ABSCOND",
+                "icon": "$path/offline.png",
+                "mood": 2
+          }
   ]
  },
  "convo": {
@@ -127,4 +127,4 @@
  },
  "memos":
  { "size": [600,425] }
-}
\ No newline at end of file
+}
diff --git a/themes/trollian/style.js b/themes/trollian/style.js
index fc78ef9..45fb096 100644
--- a/themes/trollian/style.js
+++ b/themes/trollian/style.js
@@ -10,7 +10,7 @@
   "minimize": { "image": "$path/m.png",
                 "loc": [621, 8]},
   "menubar": { "style": "font-family: 'Arial'; font-size: 11px; color: rgba(0,0,0,0);" },
-  "menu" : { "style": "font-family: 'Arial'; font-size: 11px; background-color: #c2c2c2; border:1px solid #545454;",
+  "menu" : { "style": "font-family: 'Arial'; font-size: 11px; color: #000000; background-color: #c2c2c2; border:1px solid #545454;",
              "selected": "background-color: #545454",
              "menuitem": "margin-right:14px;",
              "loc": [14,90]
diff --git a/themes/trollian2.5/style.js b/themes/trollian2.5/style.js
index bcd3288..2fdbef3 100644
--- a/themes/trollian2.5/style.js
+++ b/themes/trollian2.5/style.js
@@ -5,15 +5,15 @@
   "icon": "$path/trayicon.png",
   "newmsgicon": "$path/trayicon2.png",
   "windowtitle": "TROLLIAN",
-  "menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 14px; background-color: #e5000f;border:2px solid #c20f00" },
-  "menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 14px;" },
+  "menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 14px; color: #000000; background-color: #e5000f;border:2px solid #c20f00" },
+  "menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 14px; color: #000000;" },
   "close": { "image": "$path/x.png",
              "loc": [280, 2]},
   "minimize": { "image": "$path/m.png",
                 "loc": [260, 8]},
   "defaultwindow": { "style": "background: #e5000f; font-family:'Arial';font:bold;selection-background-color:#919191; " },
   "chums": { "style": "border:2px solid #ffa4a4; background-color: black;color: white;font: bold;font-size:14px;font-family: 'Arial';selection-background-color:#646464; ",
-             "moods": { 
+             "moods": {
 
                  "chummy": { "icon": "$path/chummy.png", "color": "white" },
 
@@ -21,7 +21,7 @@
 
                  "offline": { "icon": "$path/offline.png", "color": "#646464"},
 
-			     
+
                  "pleasant": { "icon": "$path/pleasant.png", "color": "white" },
 
                  "distraught": { "icon": "$path/distraught.png", "color": "white" },
@@ -49,7 +49,7 @@
                  "devious": { "icon": "$path/devious.png", "color": "red" },
 
                  "sleek": { "icon": "$path/sleek.png", "color": "red" },
-			     
+
                  "detestful": { "icon": "$path/detestful.png", "color": "red" },
 
                  "mirthful": { "icon": "$path/mirthful.png", "color": "red" },
@@ -65,13 +65,13 @@
                  "protective": { "icon": "$path/protective.png", "color": "#00ff00" },
 
                  "blocked": { "icon": "$path/blocked.png", "color": "black" }
-			 }
-		   },
-  "mychumhandle": { "label": 
+                         }
+                   },
+  "mychumhandle": { "label":
                     { "text": "TROLLTAG:",
-                      "style": "color: black ;font:bold; font-family: 'Arial';" 
+                      "style": "color: black ;font:bold; font-family: 'Arial';"
                     },
-					"handle": { "style": "background-color: black; padding: 3px; padding-left: 25px; color:white; font-family:'Arial'; font:bold; text-align:left; border:2px solid #ffa4a4;" }
+                                        "handle": { "style": "background-color: black; padding: 3px; padding-left: 25px; color:white; font-family:'Arial'; font:bold; text-align:left; border:2px solid #ffa4a4;" }
                   },
   "addchum":  { "style": "background: #ffa4a4; border:2px solid #780000; font: bold; color: black; font-family:'Arial';"
               },
@@ -80,103 +80,103 @@
   "block": { "style": "background: #ffa4a4; border:2px solid #780000; font: bold; color: black; font-family:'Arial';"
            },
   "moodlabel": { "style": "font:bold;font-family:'Arial';color:black;"
-			   },
+                           },
   "defaultmood": 1,
   "moods": [
-      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
-		"loc": [15, 485],
-		"size": [135, 30],
-	    "text": "ECSTATIC",
-		"icon": "$path/estatic.png",
-		"mood": 7
-	  },
+      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "loc": [15, 485],
+                "size": [135, 30],
+            "text": "ECSTATIC",
+                "icon": "$path/estatic.png",
+                "mood": 7
+          },
 
-      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
-		"loc": [15, 513],
-		"size": [135, 30],
-	    "text": "RELAXED",
-		"icon": "$path/relaxed.png",
-		"mood": 8
-	  },
+      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "loc": [15, 513],
+                "size": [135, 30],
+            "text": "RELAXED",
+                "icon": "$path/relaxed.png",
+                "mood": 8
+          },
 
-      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
-		"loc": [15, 541],
-		"size": [135, 30],
-	    "text": "DISCONTENT",
-		"icon": "$path/discontent.png",
-		"mood": 9
-	  },
+      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "loc": [15, 541],
+                "size": [135, 30],
+            "text": "DISCONTENT",
+                "icon": "$path/discontent.png",
+                "mood": 9
+          },
 
-      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
-		"loc": [148, 485],
-		"size": [135, 30],
-	    "text": "DEVIOUS",
-		"icon": "$path/devious.png",
-		"mood": 10
-	  },
+      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "loc": [148, 485],
+                "size": [135, 30],
+            "text": "DEVIOUS",
+                "icon": "$path/devious.png",
+                "mood": 10
+          },
 
-      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
-		"loc": [148, 513],
-		"size": [135, 30],
-	    "text": "SLEEK",
-		"icon": "$path/sleek.png",
-		"mood": 11
-	  },
+      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "loc": [148, 513],
+                "size": [135, 30],
+            "text": "SLEEK",
+                "icon": "$path/sleek.png",
+                "mood": 11
+          },
 
-      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
-		"loc": [148, 541],
-		"size": [135, 30],
-	    "text": "DETESTFUL",
-		"icon": "$path/detestful.png",
-		"mood": 12
-	  },
+      { "style": "text-align:left; background:#ffa4a4;border:2px solid #780000;color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #780000; color: black; font-family:'Arial'; font:bold; padding-left:3px;",
+                "loc": [148, 541],
+                "size": [135, 30],
+            "text": "DETESTFUL",
+                "icon": "$path/detestful.png",
+                "mood": 12
+          },
 
-      { "style": "text-align:center; border:2px solid #780000; background:black;color: white; font-family:'Arial'; font:bold;padding-left:3px;", 
-		"selected": "text-align:left; background:white; border:2px solid #780000; padding: 5px;color: black; font-family:'Arial'; font:bold;padding-left:3px;",
-		"loc": [15, 569],
-		"size": [270, 30],
-		"text": "ABSCOND",
-		"icon": "$path/offline.png",
-		"mood": 2
-	  }
+      { "style": "text-align:center; border:2px solid #780000; background:black;color: white; font-family:'Arial'; font:bold;padding-left:3px;",
+                "selected": "text-align:left; background:white; border:2px solid #780000; padding: 5px;color: black; font-family:'Arial'; font:bold;padding-left:3px;",
+                "loc": [15, 569],
+                "size": [270, 30],
+                "text": "ABSCOND",
+                "icon": "$path/offline.png",
+                "mood": 2
+          }
   ]
 },
  "convo": {
      "style": "background-color: #e5000f;border:2px solid #780000; font-family: 'Arial';",
      "chumlabel": { "style": "margin-bottom: 21px;background: #ffa4a4; color: black; border:0px; font-size: 14px;",
-					"text" : ":: trolling: $handle ::" },
-	 "textarea": {
-		 "style": "background: white;  font-size: 14px;font:bold; border:2px solid #ffa4a4;text-align:center; margin-right:10px; margin-left:10px;font-family: 'Arial'"
- 	 },
+                                        "text" : ":: trolling: $handle ::" },
+         "textarea": {
+                 "style": "background: white;  font-size: 14px;font:bold; border:2px solid #ffa4a4;text-align:center; margin-right:10px; margin-left:10px;font-family: 'Arial'"
+         },
   "input": { "style": "background: white; border:2px solid #ffa4a4;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 12px;" },
-	 "tabwindow" : {
-		 "style": ""
-	 },
-	 "tabs": {
-		 "style": "",
-		 "selectedstyle": "",
-		 "newmsgcolor": "#ff0000"
-	 },
-	 "scrollbar": null
+         "tabwindow" : {
+                 "style": ""
+         },
+         "tabs": {
+                 "style": "",
+                 "selectedstyle": "",
+                 "newmsgcolor": "#ff0000"
+         },
+         "scrollbar": null
  },
  "memos":
  { "size": [600,425],
    "style": "background-color: #e5000f;border:2px solid #780000; font-family: 'Arial';",
    "label": { "style": "margin-bottom: 21px;background: #ffa4a4; color: white; border:0px; font-size: 14px;"
-			},
+                        },
    "textarea": {
-	   "style": "background: white;  font-size: 14px;font:bold; border:2px solid #ffa4a4;text-align:center; margin-right:10px; margin-left:10px;font-family: 'Arial'"
+           "style": "background: white;  font-size: 14px;font:bold; border:2px solid #ffa4a4;text-align:center; margin-right:10px; margin-left:10px;font-family: 'Arial'"
    },
    "userlist": { "style": "border:2px solid #780000; background: white;font: bold;font-family: 'Courier';selection-background-color:#646464; font-size: 12px;  margin-left:0px; margin-right:10px;"
                },
    "input": { "style": "background: white; border:2px solid #ffa4a4;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 12px;" },
-   "time": { "text": { "style": " border: 2px solid #780000; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Arial';font:bold;" 
+   "time": { "text": { "style": " border: 2px solid #780000; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Arial';font:bold;"
                     },
              "buttons": { "style": "color: black; font: bold; border: 2px solid #780000; font: bold; font-size: 12px; background: #e5000f; margin-top: 5px; margin-right: 5px; margin-left: 5px; padding: 2px; width: 50px;" }
           },
@@ -189,4 +189,4 @@
    },
    "scrollbar": null
  }
-}
\ No newline at end of file
+}
diff --git a/themes/typewriter/style.js b/themes/typewriter/style.js
index 80c9aa5..33a670c 100644
--- a/themes/typewriter/style.js
+++ b/themes/typewriter/style.js
@@ -10,7 +10,7 @@
   "minimize": { "image": "$path/m.png",
                 "loc": [239, 168]},
   "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 12px; color: rgba(0,0,0,0);" },
-  "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 12px; background-color: white;border:2px solid black;",
+  "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 12px; color: #000000; background-color: white;border:2px solid black;",
              "menuitem": "margin-right:30px;",
              "selected": "background-color: black",
              "loc": [43,220]

From a99e4bb14ceb38e57f42baa31940bbc85f4801be Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 9 Jun 2011 00:42:56 -0700
Subject: [PATCH 132/166] Support for the new randomEncounter (when it's done)

---
 CHANGELOG.mkdn             |  1 +
 TODO.mkdn                  |  1 -
 irc.py                     |  8 ++++++
 menus.py                   |  8 ++++++
 parsetools.py              |  3 ++-
 pesterchum.py              | 26 +++++++++++++++++-
 randomer.py                | 54 ++++++++++++++++++++++++++++++++++++++
 themes/enamel/style.js     |  1 +
 themes/gold/style.js       |  1 +
 themes/pesterchum/style.js |  1 +
 themes/trollian/style.js   |  1 +
 themes/typewriter/style.js |  1 +
 12 files changed, 103 insertions(+), 3 deletions(-)
 create mode 100644 randomer.py

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index a261129..fda56da 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -39,6 +39,7 @@ CHANGELOG
 * Notify user if channel blocks message - Kiooeht [evacipatedBox]
 * Bug reporter - Kiooeht [evacipatedBox]
 * Python quirks (users can create own quirk functions) - Kiooeht [evacipatedBox]
+* Incorporate support for the new randomEncounter - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/TODO.mkdn b/TODO.mkdn
index 84edb88..02bb75e 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -5,7 +5,6 @@ Features
 --------
 * OOC
 * log viewer needs to have BBCode/HTML/Text copy modes
-* random pesters
 * copy quirks between profiles?
 * More complex quirks: by-sound
 * Spy mode
diff --git a/irc.py b/irc.py
index a844f4b..bec63cc 100644
--- a/irc.py
+++ b/irc.py
@@ -90,6 +90,14 @@ class PesterIRC(QtCore.QThread):
     def getMoods(self, chums):
         self.cli.command_handler.getMood(*chums)
     @QtCore.pyqtSlot(QtCore.QString, QtCore.QString)
+    def sendNotice(self, text, handle):
+        h = unicode(handle)
+        t = unicode(text)
+        try:
+            helpers.notice(self.cli, h, t)
+        except socket.error:
+            self.setConnectionBroken()
+    @QtCore.pyqtSlot(QtCore.QString, QtCore.QString)
     def sendMessage(self, text, handle):
         h = unicode(handle)
         textl = [unicode(text)]
diff --git a/menus.py b/menus.py
index f077ffb..199866e 100644
--- a/menus.py
+++ b/menus.py
@@ -69,6 +69,7 @@ class PesterQuirkList(QtGui.QTreeWidget):
             child_1.setCheckState(0,0)
             child_1.setExpanded(True)
             child_1.addChild(item)
+        self.changeCheckState()
 
     def currentQuirk(self):
         if type(self.currentItem()) is PesterQuirkItem:
@@ -152,6 +153,7 @@ class PesterQuirkList(QtGui.QTreeWidget):
                     self.takeTopLevelItem(self.indexOfTopLevelItem(f))
             else:
                 f.parent().takeChild(f.parent().indexOfChild(f))
+        self.changeCheckState()
 
     @QtCore.pyqtSlot()
     def addQuirkGroup(self):
@@ -904,6 +906,10 @@ class PesterOptions(QtGui.QDialog):
         self.updatecheck = QtGui.QCheckBox("Check for Updates on Start", self)
         self.updatecheck.setChecked(self.config.checkForUpdates())
 
+        if parent.randhandler.running:
+            self.randomscheck = QtGui.QCheckBox("Receive Random Encounters")
+            self.randomscheck.setChecked(parent.userprofile.randoms)
+
         avail_themes = self.config.availableThemes()
         self.themeBox = QtGui.QComboBox(self)
         for (i, t) in enumerate(avail_themes):
@@ -964,6 +970,8 @@ class PesterOptions(QtGui.QDialog):
         layout_chat.addWidget(self.memomessagecheck)
         layout_chat.addWidget(self.animationscheck)
         layout_chat.addWidget(animateLabel)
+        if parent.randhandler.running:
+            layout_chat.addWidget(self.randomscheck)
         # Re-enable these when it's possible to disable User and Memo links
         #layout_chat.addWidget(hr)
         #layout_chat.addWidget(QtGui.QLabel("User and Memo Links"))
diff --git a/parsetools.py b/parsetools.py
index 58578e1..83d9276 100644
--- a/parsetools.py
+++ b/parsetools.py
@@ -490,7 +490,8 @@ def themeChecker(theme):
     "convo/text/closememo", "convo/text/kickedmemo", \
     "main/chums/userlistcolor", "main/defaultwindow/style", \
     "main/chums/moods", "main/chums/moods/chummy/icon", "main/menus/help/help", \
-    "main/menus/help/calsprite", "main/menus/help/nickserv", "main/menus/rclickchumlist/invitechum"]
+    "main/menus/help/calsprite", "main/menus/help/nickserv", \
+    "main/menus/rclickchumlist/invitechum", "main/menus/client/randen"]
 
     for n in needs:
         try:
diff --git a/pesterchum.py b/pesterchum.py
index bfd1b47..fd436f8 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -53,6 +53,7 @@ from memos import PesterMemo, MemoTabWindow, TimeTracker
 from irc import PesterIRC
 from logviewer import PesterLogUserSelect, PesterLogViewer
 from bugreport import BugReporter
+from randomer import RandomHandler
 
 _datadir = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)+"Pesterchum/"
 canon_handles = ["apocalypseArisen", "arsenicCatnip", "arachnidsGrip", "adiosToreador", \
@@ -534,6 +535,7 @@ class userProfile(object):
             self.chat.mood = Mood(self.theme["main/defaultmood"])
             self.lastmood = self.chat.mood.value()
             self.quirks = pesterQuirks([])
+            self.randoms = False
         else:
             fp = open("%s/%s.js" % (self.profiledir, user))
             self.userprofile = json.load(fp)
@@ -547,6 +549,9 @@ class userProfile(object):
                                       QtGui.QColor(self.userprofile["color"]),
                                       Mood(self.lastmood))
             self.quirks = pesterQuirks(self.userprofile["quirks"])
+            if "randoms" not in self.userprofile:
+                self.userprofile["randoms"] = False
+            self.randoms = self.userprofile["randoms"]
 
     def setMood(self, mood):
         self.chat.mood = mood
@@ -562,6 +567,10 @@ class userProfile(object):
         self.quirks = quirks
         self.userprofile["quirks"] = self.quirks.plainList()
         self.save()
+    def setRandom(self, random):
+        self.randoms = random
+        self.userprofile["randoms"] = random
+        self.save()
     def getLastMood(self):
         return self.lastmood
     def setLastMood(self, mood):
@@ -1407,6 +1416,8 @@ class PesterWindow(MovingWindow):
             self.theme = self.userprofile.getTheme()
         self.modes = ""
 
+        self.randhandler = RandomHandler(self)
+
         try:
             themeChecker(self.theme)
         except ThemeException, (inst):
@@ -1428,6 +1439,9 @@ class PesterWindow(MovingWindow):
         self.grps = grps
         self.connect(grps, QtCore.SIGNAL('triggered()'),
                      self, QtCore.SLOT('addGroupWindow()'))
+        self.rand = QtGui.QAction(self.theme["main/menus/client/randen"], self)
+        self.connect(self.rand, QtCore.SIGNAL('triggered()'),
+                     self.randhandler, QtCore.SLOT('getEncounter()'))
         opts = QtGui.QAction(self.theme["main/menus/client/options"], self)
         self.opts = opts
         self.connect(opts, QtCore.SIGNAL('triggered()'),
@@ -1463,6 +1477,8 @@ class PesterWindow(MovingWindow):
         filemenu.addAction(opts)
         filemenu.addAction(memoaction)
         filemenu.addAction(logv)
+        if self.randhandler.running:
+            filemenu.addAction(self.rand)
         filemenu.addAction(userlistaction)
         filemenu.addAction(self.idleaction)
         filemenu.addAction(grps)
@@ -1829,6 +1845,7 @@ class PesterWindow(MovingWindow):
         self.menu.move(*theme["main/menu/loc"])
         self.logv.setText(theme["main/menus/client/logviewer"])
         self.grps.setText(theme["main/menus/client/addgroup"])
+        self.rand.setText(self.theme["main/menus/client/randen"])
         self.opts.setText(theme["main/menus/client/options"])
         self.exitaction.setText(theme["main/menus/client/exit"])
         self.userlistaction.setText(theme["main/menus/client/userlist"])
@@ -2056,7 +2073,9 @@ class PesterWindow(MovingWindow):
     def deliverNotice(self, handle, msg):
         h = unicode(handle)
         m = unicode(msg)
-        if self.convos.has_key(h):
+        if h == self.randhandler.randNick:
+            self.randhandler.incoming(msg)
+        elif self.convos.has_key(h):
             self.newMessage(h, m)
     @QtCore.pyqtSlot(QtCore.QString, QtCore.QString)
     def deliverInvite(self, handle, channel):
@@ -2552,6 +2571,8 @@ class PesterWindow(MovingWindow):
             self.idlethreshold = 60*idlesetting
         # theme
         self.themeSelected()
+        # randoms
+        self.randhandler.setRandomer(self.optionmenu.randomscheck.isChecked())
         # button actions
         minisetting = self.optionmenu.miniBox.currentIndex()
         curmini = self.config.minimizeAction()
@@ -2760,6 +2781,7 @@ class PesterWindow(MovingWindow):
     closeToTraySignal = QtCore.pyqtSignal()
     newConvoStarted = QtCore.pyqtSignal(QtCore.QString, bool, name="newConvoStarted")
     sendMessage = QtCore.pyqtSignal(QtCore.QString, QtCore.QString)
+    sendNotice = QtCore.pyqtSignal(QtCore.QString, QtCore.QString)
     convoClosed = QtCore.pyqtSignal(QtCore.QString)
     profileChanged = QtCore.pyqtSignal()
     moodRequest = QtCore.pyqtSignal(PesterProfile)
@@ -2876,6 +2898,8 @@ class MainProgram(QtCore.QObject):
 
     widget2irc = [('sendMessage(QString, QString)',
                    'sendMessage(QString, QString)'),
+                  ('sendNotice(QString, QString)',
+                   'sendNotice(QString, QString)'),
                   ('newConvoStarted(QString, bool)',
                    'startConvo(QString, bool)'),
                   ('convoClosed(QString)',
diff --git a/randomer.py b/randomer.py
new file mode 100644
index 0000000..119b039
--- /dev/null
+++ b/randomer.py
@@ -0,0 +1,54 @@
+from PyQt4 import QtGui, QtCore
+
+class RandomHandler(QtCore.QObject):
+    def __init__(self, parent):
+        QtCore.QObject.__init__(self, parent)
+        self.randNick = "randomEncounter"
+        self.mainwindow = parent
+        self.queue = []
+        # Make True when Lex's new randomEncounter bot (C++) is online
+        self.running = False
+
+    def getRandomer(self):
+        self.queue.append("?")
+        self.mainwindow.sendNotice.emit("?", self.randNick)
+
+    def setRandomer(self, r):
+        if r: code = "+"
+        else: code = "-"
+        self.queue.append(code)
+        self.mainwindow.sendNotice.emit(code, self.randNick)
+
+    @QtCore.pyqtSlot()
+    def getEncounter(self):
+        self.queue.append("!")
+        self.mainwindow.sendNotice.emit("!", self.randNick)
+
+    def incoming(self, msg):
+        l = msg.split("=")
+        code = l[0][0]
+        if code not in self.queue:
+            return # Ignore if we didn't request this
+        self.queue.remove(code)
+        if code == "?":
+            if l[1][0] == "y":
+                self.mainwindow.userprofile.setRandom(True)
+            elif l[1][0] == "n":
+                self.mainwindow.userprofile.setRandom(False)
+        elif code in ["+","-"]:
+            if l[1][0] == "k":
+                if code == "+":
+                    self.mainwindow.userprofile.setRandom(True)
+                else:
+                    self.mainwindow.userprofile.setRandom(False)
+        elif code == "!":
+            if l[1] == "x":
+                from PyQt4 import QtGui
+                msgbox = QtGui.QMessageBox()
+                msgbox.setText("Unable to fetch you a random encounter!")
+                msgbox.setInformativeText("Try again later :(")
+                msgbox.exec_()
+                return
+            name = unicode(l[1])
+            print name
+            self.mainwindow.newConversation(name)
diff --git a/themes/enamel/style.js b/themes/enamel/style.js
index 570996d..3c50325 100644
--- a/themes/enamel/style.js
+++ b/themes/enamel/style.js
@@ -19,6 +19,7 @@
                        "options": "Options",
                        "memos": "Memos",
                        "logviewer": "Pesterlogs",
+                       "randen": "Random Encounter",
                        "userlist": "Userlist",
                        "addgroup": "Add Group",
                        "import": "Import",
diff --git a/themes/gold/style.js b/themes/gold/style.js
index 7cba265..e02ef99 100644
--- a/themes/gold/style.js
+++ b/themes/gold/style.js
@@ -22,6 +22,7 @@
                        "options": "Options",
                        "memos": "Memos",
                        "logviewer": "Pesterlogs",
+                       "randen": "Random Encounter",
                        "userlist": "Userlist",
                        "addgroup": "Add Group",
                        "import": "Import",
diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js
index b6283e0..84f7af5 100644
--- a/themes/pesterchum/style.js
+++ b/themes/pesterchum/style.js
@@ -22,6 +22,7 @@
                        "options": "OPTIONS",
                        "memos": "MEMOS",
                        "logviewer": "PESTERLOGS",
+                       "randen": "RANDOM ENCOUNTER",
                        "userlist": "USERLIST",
                        "addgroup": "ADD GROUP",
                        "import": "IMPORT",
diff --git a/themes/trollian/style.js b/themes/trollian/style.js
index 45fb096..fb34490 100644
--- a/themes/trollian/style.js
+++ b/themes/trollian/style.js
@@ -21,6 +21,7 @@
                        "options": "Options",
                        "memos": "Memos",
                        "logviewer": "Pesterlogs",
+                       "randen": "Random Encounter",
                        "userlist": "Fresh Targets",
                        "addgroup": "Add Group",
                        "import": "import U2;",
diff --git a/themes/typewriter/style.js b/themes/typewriter/style.js
index 33a670c..bbb0d3f 100644
--- a/themes/typewriter/style.js
+++ b/themes/typewriter/style.js
@@ -22,6 +22,7 @@
                        "options": "Preferences",
                        "memos": "Bulletin Boards",
                        "logviewer": "Pesterlogs",
+                       "randen": "Random Encounter",
                        "userlist": "Userlist",
                        "addgroup": "Add Group",
                        "import": "Import",

From 70329a998bb87312132e5423de2de028b1ed62d1 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 9 Jun 2011 02:23:11 -0700
Subject: [PATCH 133/166] Cut down #pesterchum spam, only GETMOOD for those who
 are online on join

---
 CHANGELOG.mkdn |  1 +
 irc.py         | 13 +++++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index fda56da..72598ce 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -40,6 +40,7 @@ CHANGELOG
 * Bug reporter - Kiooeht [evacipatedBox]
 * Python quirks (users can create own quirk functions) - Kiooeht [evacipatedBox]
 * Incorporate support for the new randomEncounter - Kiooeht [evacipatedBox]
+* Only GETMOOD for people online (less spam!) - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/irc.py b/irc.py
index bec63cc..aa55657 100644
--- a/irc.py
+++ b/irc.py
@@ -330,9 +330,6 @@ class PesterHandler(DefaultCommandHandler):
         mymood = self.mainwindow.profile().mood.value()
         helpers.msg(self.client, "#pesterchum", "MOOD >%d" % (mymood))
 
-        chums = self.mainwindow.chumList.chums
-        self.getMood(*chums)
-
     def nicknameinuse(self, server, cmd, nick, msg):
         newnick = "pesterClient%d" % (random.randint(100,999))
         helpers.nick(self.client, newnick)
@@ -395,7 +392,7 @@ class PesterHandler(DefaultCommandHandler):
         logging.info("---> recv \"NAMES %s: %d names\"" % (channel, len(namelist)))
         if not hasattr(self, 'channelnames'):
             self.channelnames = {}
-        if not self.channelnames.has_key(channel):
+        if channel not in self.channelnames:
             self.channelnames[channel] = []
         self.channelnames[channel].extend(namelist)
     def endofnames(self, server, nick, channel, msg):
@@ -403,6 +400,14 @@ class PesterHandler(DefaultCommandHandler):
         pl = PesterList(namelist)
         del self.channelnames[channel]
         self.parent.namesReceived.emit(channel, pl)
+        if channel == "#pesterchum":
+            chums = self.mainwindow.chumList.chums
+            lesschums = []
+            for c in chums:
+                chandle = c.handle
+                if chandle in namelist:
+                    lesschums.append(c)
+            self.getMood(*lesschums)
 
     def liststart(self, server, handle, *info):
         self.channel_list = []

From 5ece68c829e134f389e2d087cdc1f0dd263e0662 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 9 Jun 2011 16:46:36 -0700
Subject: [PATCH 134/166] Bug fix: On split messages, end all c tags and
 restart them  on next message

---
 CHANGELOG.mkdn |  1 +
 TODO.mkdn      |  1 +
 irc.py         | 21 +++++++++++++++++++++
 3 files changed, 23 insertions(+)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index 72598ce..e8b5867 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -54,6 +54,7 @@ CHANGELOG
     * Don't split messages in bad places - Kiooeht [evacipatedBox]
     * Chumhandles must match EXACTLY to register mood changes - Kiooeht [evacipatedBox]
     * Menu bar text colour correct when default system colour isn't black - Kiooeht [evacipatedBox]
+    * End all colour tags and restart them on split messages - Kiooeht [evacipatedBox]
 
 ### 3.14.1
 * Pesterchum 3.14 - illuminatedwax [ghostDunk]
diff --git a/TODO.mkdn b/TODO.mkdn
index 02bb75e..6db272d 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -21,6 +21,7 @@ Bugs
 * When left for a really long time, animations slow down pesterchum
 * Openning userlist resets appearance of OP/voice for anyone that become OP/voice after you joined a memo
 * Windows: Dragging a chum on top of another chum and releasing makes one disappear
+* If pesterchum is open but offline due to a network failure and you open the memos screen, it connects you but doesn't fetch the memo list when it finishes connecting
 
 Mac Bugs
 --------
diff --git a/irc.py b/irc.py
index aa55657..c84e0ca 100644
--- a/irc.py
+++ b/irc.py
@@ -110,6 +110,27 @@ class PesterIRC(QtCore.QThread):
                     space = space+4
                 a = l[0][0:space+1]
                 b = l[0][space+1:]
+                if a.count(" a.count(""):
+                    # oh god ctags will break!! D=
+                    hanging = []
+                    usedends = []
+                    c = a.rfind("", c)
+                        while d in usedends:
+                            d = a.find("", d+1)
+                        if d != -1: usedends.append(d)
+                        else:
+                            f = a.find(">", c)+1
+                            hanging.append(a[c:f])
+                        c = a.rfind("")):
+                        a = a + ""
+                    #start them up again in the second part
+                    for c in hanging:
+                        b = c + b
                 if len(b) > 0:
                     return [a] + splittext([b])
                 else:

From 33c293d557ffedd1229bd895e28c485b9ca8816c Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sat, 11 Jun 2011 00:07:29 -0700
Subject: [PATCH 135/166] Quirk tester in quirk window and put regexp function
 list in main window

---
 CHANGELOG.mkdn |   1 +
 menus.py       | 135 +++++++++++++++++++++++++++++++++++++++----------
 pesterchum.py  |   8 +--
 3 files changed, 113 insertions(+), 31 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index e8b5867..7800ac0 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -41,6 +41,7 @@ CHANGELOG
 * Python quirks (users can create own quirk functions) - Kiooeht [evacipatedBox]
 * Incorporate support for the new randomEncounter - Kiooeht [evacipatedBox]
 * Only GETMOOD for people online (less spam!) - Kiooeht [evacipatedBox]
+* Quirk tester in quirk window - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/menus.py b/menus.py
index 199866e..86e1255 100644
--- a/menus.py
+++ b/menus.py
@@ -328,28 +328,75 @@ class RandomQuirkDialog(MultiTextDialog):
             self.replacelist.takeItem(self.replacelist.currentRow())
         self.replaceinput.setFocus()
 
-class QuirkFuncWindow(QtGui.QDialog):
+from copy import copy
+from convo import PesterInput, PesterText
+from parsetools import convertTags, lexMessage, splitMessage, mecmd, colorBegin, colorEnd, img2smiley, smiledict
+from dataobjs import pesterQuirks, PesterHistory
+class QuirkTesterWindow(QtGui.QDialog):
     def __init__(self, parent):
         QtGui.QDialog.__init__(self, parent)
-        self.mainwindow = parent
+        self.parent = parent
+        self.mainwindow = parent.mainwindow
         self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"])
-        self.setWindowTitle("Quirk Functions")
+        self.setWindowTitle("Quirk Tester")
+        self.resize(350,300)
 
-        self.funclist = QtGui.QListWidget(self)
-        self.funclist.setStyleSheet("background-color: #FFFFFF;")
+        self.textArea = PesterText(self.mainwindow.theme, self)
+        self.textInput = PesterInput(self.mainwindow.theme, self)
+        self.textInput.setFocus()
 
-        from parsetools import quirkloader
-        funcs = [q+")" for q in quirkloader.quirks.keys()]
-        funcs.sort()
-        self.funclist.addItems(funcs)
+        self.connect(self.textInput, QtCore.SIGNAL('returnPressed()'),
+                     self, QtCore.SLOT('sentMessage()'))
+
+        self.chumopen = True
+        self.chum = self.mainwindow.profile()
+        self.history = PesterHistory()
 
         layout_0 = QtGui.QVBoxLayout()
-        layout_0.addWidget(QtGui.QLabel("Avaliable Quirk Functions"))
-        layout_0.addWidget(self.funclist)
+        layout_0.addWidget(self.textArea)
+        layout_0.addWidget(self.textInput)
         self.setLayout(layout_0)
 
+    def clearNewMessage(self):
+        pass
+    @QtCore.pyqtSlot()
+    def sentMessage(self):
+        text = unicode(self.textInput.text())
+        if text == "" or text[0:11] == "PESTERCHUM:":
+            return
+        self.history.add(text)
+        quirks = pesterQuirks(self.parent.testquirks())
+        lexmsg = lexMessage(text)
+        if type(lexmsg[0]) is not mecmd:
+            try:
+                lexmsg = quirks.apply(lexmsg)
+            except Exception, e:
+                msgbox = QtGui.QMessageBox()
+                msgbox.setText("Whoa there! There seems to be a problem.")
+                msgbox.setInformativeText("A quirk seems to be having a problem. (Possibly you're trying to capture a non-existant group?)\n\
+                %s" % e)
+                msgbox.exec_()
+                return
+        lexmsgs = splitMessage(lexmsg)
+
+        for lm in lexmsgs:
+            serverMsg = copy(lm)
+            self.addMessage(lm, True)
+            text = convertTags(serverMsg, "ctag")
+        self.textInput.setText("")
+    def addMessage(self, msg, me=True):
+        if type(msg) in [str, unicode]:
+            lexmsg = lexMessage(msg)
+        else:
+            lexmsg = msg
+        if me:
+            chum = self.mainwindow.profile()
+        else:
+            chum = self.chum
+        self.textArea.addMessage(lexmsg, chum)
+
     def closeEvent(self, event):
-        self.mainwindow.quirkmenu.funclistwindow = None
+        self.parent.quirktester = None
 
 class PesterChooseQuirks(QtGui.QDialog):
     def __init__(self, config, theme, parent):
@@ -363,12 +410,10 @@ class PesterChooseQuirks(QtGui.QDialog):
 
         self.quirkList = PesterQuirkList(self.mainwindow, self)
 
-        self.viewQuirkFuncButton = QtGui.QPushButton("VIEW FUNCTIONS", self)
-        self.connect(self.viewQuirkFuncButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('viewQuirkFuncSlot()'))
         self.reloadQuirkFuncButton = QtGui.QPushButton("RELOAD FUNCTIONS", self)
         self.connect(self.reloadQuirkFuncButton, QtCore.SIGNAL('clicked()'),
                      self, QtCore.SLOT('reloadQuirkFuncSlot()'))
+
         self.addPrefixButton = QtGui.QPushButton("ADD PREFIX", self)
         self.connect(self.addPrefixButton, QtCore.SIGNAL('clicked()'),
                      self, QtCore.SLOT('addPrefixDialog()'))
@@ -402,6 +447,14 @@ class PesterChooseQuirks(QtGui.QDialog):
         self.connect(self.newGroupButton, QtCore.SIGNAL('clicked()'),
                      self.quirkList, QtCore.SLOT('addQuirkGroup()'))
 
+        self.funclist = QtGui.QListWidget(self)
+        self.funclist.setStyleSheet("background-color: #FFFFFF;")
+
+        from parsetools import quirkloader
+        funcs = [q+")" for q in quirkloader.quirks.keys()]
+        funcs.sort()
+        self.funclist.addItems(funcs)
+
         layout_quirklist = QtGui.QHBoxLayout() #the nude layout quirklist
         layout_shiftbuttons = QtGui.QVBoxLayout() #the shift button layout
         layout_shiftbuttons.addWidget(self.upShiftButton)
@@ -410,9 +463,6 @@ class PesterChooseQuirks(QtGui.QDialog):
         layout_quirklist.addWidget(self.quirkList)
         layout_quirklist.addLayout(layout_shiftbuttons)
 
-        layout_4 = QtGui.QHBoxLayout()
-        layout_4.addWidget(self.viewQuirkFuncButton)
-        layout_4.addWidget(self.reloadQuirkFuncButton)
         layout_1 = QtGui.QHBoxLayout()
         layout_1.addWidget(self.addPrefixButton)
         layout_1.addWidget(self.addSuffixButton)
@@ -436,21 +486,40 @@ class PesterChooseQuirks(QtGui.QDialog):
         self.ok.setDefault(True)
         self.connect(self.ok, QtCore.SIGNAL('clicked()'),
                      self, QtCore.SLOT('accept()'))
+        self.test = QtGui.QPushButton("TEST QUIRKS", self)
+        self.connect(self.test, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('testQuirks()'))
         self.cancel = QtGui.QPushButton("CANCEL", self)
         self.connect(self.cancel, QtCore.SIGNAL('clicked()'),
                      self, QtCore.SLOT('reject()'))
         layout_ok = QtGui.QHBoxLayout()
         layout_ok.addWidget(self.cancel)
+        layout_ok.addWidget(self.test)
         layout_ok.addWidget(self.ok)
 
         layout_0 = QtGui.QVBoxLayout()
         layout_0.addLayout(layout_quirklist)
-        layout_0.addLayout(layout_4)
         layout_0.addLayout(layout_1)
         layout_0.addLayout(layout_2)
         layout_0.addLayout(layout_3)
         layout_0.addLayout(layout_ok)
-        self.setLayout(layout_0)
+
+        self.funclist.setMaximumWidth(160)
+        self.funclist.resize(160,50)
+        layout_f = QtGui.QVBoxLayout()
+        layout_f.addWidget(QtGui.QLabel("Avaliable Regexp\nFunctions"))
+        layout_f.addWidget(self.funclist)
+        layout_f.addWidget(self.reloadQuirkFuncButton)
+
+        vr = QtGui.QFrame()
+        vr.setFrameShape(QtGui.QFrame.VLine)
+        vr.setFrameShadow(QtGui.QFrame.Sunken)
+
+        layout_all = QtGui.QHBoxLayout()
+        layout_all.addLayout(layout_f)
+        layout_all.addWidget(vr)
+        layout_all.addLayout(layout_0)
+        self.setLayout(layout_all)
 
     def quirks(self):
         u = []
@@ -459,20 +528,32 @@ class PesterChooseQuirks(QtGui.QDialog):
                 u.append(self.quirkList.topLevelItem(i).child(j).quirk)
         return u
         #return [self.quirkList.item(i).quirk for i in range(self.quirkList.count())]
+    def testquirks(self):
+        u = []
+        for i in range(self.quirkList.topLevelItemCount()):
+            for j in range(self.quirkList.topLevelItem(i).childCount()):
+                item = self.quirkList.topLevelItem(i).child(j)
+                if (item.checkState(0) == QtCore.Qt.Checked):
+                    u.append(item.quirk)
+        return u
 
     @QtCore.pyqtSlot()
-    def viewQuirkFuncSlot(self):
-        if not hasattr(self, 'funclistwindow'):
-            self.funclistwindow = None
-        if self.funclistwindow:
+    def testQuirks(self):
+        if not hasattr(self, 'quirktester'):
+            self.quirktester = None
+        if self.quirktester:
             return
-        self.funclistwindow = QuirkFuncWindow(self.mainwindow)
-        self.funclistwindow.show()
+        self.quirktester = QuirkTesterWindow(self)
+        self.quirktester.show()
 
     @QtCore.pyqtSlot()
     def reloadQuirkFuncSlot(self):
-        from parsetools import reloadQuirkFunctions
+        from parsetools import reloadQuirkFunctions, quirkloader
         reloadQuirkFunctions()
+        funcs = [q+")" for q in quirkloader.quirks.keys()]
+        funcs.sort()
+        self.funclist.clear()
+        self.funclist.addItems(funcs)
 
     @QtCore.pyqtSlot()
     def editSelected(self):
diff --git a/pesterchum.py b/pesterchum.py
index fd436f8..596fb83 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -2374,13 +2374,13 @@ class PesterWindow(MovingWindow):
                 item.quirk.quirk["group"] = item.quirk.group = curgroup
         quirks = pesterQuirks(self.quirkmenu.quirks())
         self.userprofile.setQuirks(quirks)
-        if hasattr(self.quirkmenu, 'funclistwindow') and self.quirkmenu.funclistwindow:
-            self.quirkmenu.funclistwindow.close()
+        if hasattr(self.quirkmenu, 'quirktester') and self.quirkmenu.quirktester:
+            self.quirkmenu.quirktester.close()
         self.quirkmenu = None
     @QtCore.pyqtSlot()
     def closeQuirks(self):
-        if hasattr(self.quirkmenu, 'funclistwindow') and self.quirkmenu.funclistwindow:
-            self.quirkmenu.funclistwindow.close()
+        if hasattr(self.quirkmenu, 'quirktester') and self.quirkmenu.quirktester:
+            self.quirkmenu.quirktester.close()
         self.quirkmenu = None
     @QtCore.pyqtSlot()
     def openLogv(self):

From 397a2b4e243f87dd0473f2d562639b440f48661d Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sat, 11 Jun 2011 00:08:10 -0700
Subject: [PATCH 136/166] TODO update

---
 TODO.mkdn | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/TODO.mkdn b/TODO.mkdn
index 6db272d..7b0eab5 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -10,18 +10,24 @@ Features
 * Spy mode
 * Turn @ and # links on/off?
 * "someone has friended you" notifier
+* Reorder quirk window into a multi-page wizard
 
 Bugs
 ----
 * weird memo time bug
 * Windows doesn't show style sheet sometimes?? Maybe related to themes.
 * Issues with connecting? Client not closing connection right? People keep getting "nick taken" messages
-* Windows XP SP2: sometimes mouse clicks dont register? must be some kinda crash
 * When using mood sort, scroll position jumps to last selected chum
 * When left for a really long time, animations slow down pesterchum
 * Openning userlist resets appearance of OP/voice for anyone that become OP/voice after you joined a memo
-* Windows: Dragging a chum on top of another chum and releasing makes one disappear
 * If pesterchum is open but offline due to a network failure and you open the memos screen, it connects you but doesn't fetch the memo list when it finishes connecting
+* right clicking an offline chum and choosing remove asks you why you're reporting someone, and if you hit cancel the menus stop working
+
+Windows Bugs
+------------
+* XP SP2: sometimes mouse clicks dont register? must be some kinda crash
+* Dragging a chum on top of another chum and releasing makes one disappear
+* On reconnect and nick change, momentary theme change causes menu items to stop working
 
 Mac Bugs
 --------

From 7f6bb848036bad16389db4de86610413c4fdd2bf Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sat, 11 Jun 2011 22:54:26 -0700
Subject: [PATCH 137/166] Bug fix: Close/minimize buttons on theme changes are
 correct sizes

---
 pesterchum.py                 | 6 +++++-
 themes/gold xl/style.js       | 6 +++---
 themes/gold/style.js          | 4 ++--
 themes/pesterchum/style.js    | 4 ++--
 themes/pesterchum2.5/style.js | 4 ++--
 themes/trollian/style.js      | 4 ++--
 themes/trollian2.5/style.js   | 4 ++--
 themes/typewriter/style.js    | 4 ++--
 8 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/pesterchum.py b/pesterchum.py
index 596fb83..9437ce7 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -605,6 +605,7 @@ class WMButton(QtGui.QPushButton):
     def __init__(self, icon, parent=None):
         QtGui.QPushButton.__init__(self, icon, "", parent)
         self.setIconSize(icon.realsize())
+        self.resize(icon.realsize())
         self.setFlat(True)
         self.setStyleSheet("QPushButton { padding: 0px; }")
         self.setAutoDefault(False)
@@ -1836,10 +1837,12 @@ class PesterWindow(MovingWindow):
         newcloseicon = PesterIcon(theme["main/close/image"])
         self.closeButton.setIcon(newcloseicon)
         self.closeButton.setIconSize(newcloseicon.realsize())
+        self.closeButton.resize(newcloseicon.realsize())
         self.closeButton.move(*theme["main/close/loc"])
         newminiicon = PesterIcon(theme["main/minimize/image"])
         self.miniButton.setIcon(newminiicon)
         self.miniButton.setIconSize(newminiicon.realsize())
+        self.miniButton.resize(newminiicon.realsize())
         self.miniButton.move(*theme["main/minimize/loc"])
         # menus
         self.menu.move(*theme["main/menu/loc"])
@@ -2572,7 +2575,8 @@ class PesterWindow(MovingWindow):
         # theme
         self.themeSelected()
         # randoms
-        self.randhandler.setRandomer(self.optionmenu.randomscheck.isChecked())
+        if self.randhandler.running:
+            self.randhandler.setRandomer(self.optionmenu.randomscheck.isChecked())
         # button actions
         minisetting = self.optionmenu.miniBox.currentIndex()
         curmini = self.config.minimizeAction()
diff --git a/themes/gold xl/style.js b/themes/gold xl/style.js
index 7bfc9ef..ba20554 100644
--- a/themes/gold xl/style.js	
+++ b/themes/gold xl/style.js	
@@ -3,9 +3,9 @@
  { "size": [554, 484],
    "background-image": "$path/gbbg.png",
    "close": { "image": "$path/x.png",
-              "loc": [535, 45]},
+              "loc": [539, 47]},
    "minimize": { "image": "$path/m.png",
-                 "loc": [515, 48]},
+                 "loc": [519, 50]},
    "menu" : { "loc": [214,44] },
    "chums": { "style": "border:0px; background-image:url($path/chumbg.png); background-color: rgb(110,110,110); background-repeat: no-repeat; color: white; font-family: 'Arial';selection-background-color:#646464; font-size:16px; ",
 			  "loc": [207, 153],
@@ -112,4 +112,4 @@
 	  }
   ]
  }
-}
\ No newline at end of file
+}
diff --git a/themes/gold/style.js b/themes/gold/style.js
index e02ef99..fad0bd6 100644
--- a/themes/gold/style.js
+++ b/themes/gold/style.js
@@ -6,9 +6,9 @@
   "newmsgicon": "$path/trayicon2.png",
   "windowtitle": "PESTERCHUM 7.0",
   "close": { "image": "$path/x.png",
-             "loc": [315, 26]},
+             "loc": [319, 28]},
   "minimize": { "image": "$path/m.png",
-                "loc": [300, 32]},
+                "loc": [304, 34]},
   "menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 12px; color: #000000;" },
   "menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 12px; color: #000000; background-color: #fdb302;border:2px solid #ffff00",
              "menuitem": "margin-right:15px;",
diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js
index 84f7af5..550680e 100644
--- a/themes/pesterchum/style.js
+++ b/themes/pesterchum/style.js
@@ -6,9 +6,9 @@
   "newmsgicon": "$path/trayicon2.png",
   "windowtitle": "PESTERCHUM 6.0",
   "close": { "image": "$path/x.png",
-             "loc": [210, 2]},
+             "loc": [214, 4]},
   "minimize": { "image": "$path/m.png",
-                "loc": [194, 8]},
+                "loc": [198, 10]},
   "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 12px; color: black;" },
   "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 12px; color: black; background-color: #fdb302;border:2px solid #ffff00",
              "menuitem": "margin-right:10px;",
diff --git a/themes/pesterchum2.5/style.js b/themes/pesterchum2.5/style.js
index b768136..83c3863 100644
--- a/themes/pesterchum2.5/style.js
+++ b/themes/pesterchum2.5/style.js
@@ -10,9 +10,9 @@
                          "menuitem": "font-size:14px;" },
   "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 14px; color: #000000;" },
   "close": { "image": "$path/x.png",
-             "loc": [282, 4]},
+             "loc": [286, 6]},
   "minimize": { "image": "$path/m.png",
-                "loc": [264, 10]},
+                "loc": [268, 12]},
   "chums": { "style": "border:2px solid yellow; background-color: black;color: white;font: bold;font-size:14px;font-family: 'Courier';selection-background-color:#646464; ",
                          "loc": [15, 70],
                          "size": [270, 300]
diff --git a/themes/trollian/style.js b/themes/trollian/style.js
index fb34490..3888002 100644
--- a/themes/trollian/style.js
+++ b/themes/trollian/style.js
@@ -6,9 +6,9 @@
   "newmsgicon": "$path/trayicon2.png",
   "windowtitle": "TROLLIAN",
   "close": { "image": "$path/x.png",
-             "loc": [635, 2]},
+             "loc": [639, 4]},
   "minimize": { "image": "$path/m.png",
-                "loc": [621, 8]},
+                "loc": [625, 10]},
   "menubar": { "style": "font-family: 'Arial'; font-size: 11px; color: rgba(0,0,0,0);" },
   "menu" : { "style": "font-family: 'Arial'; font-size: 11px; color: #000000; background-color: #c2c2c2; border:1px solid #545454;",
              "selected": "background-color: #545454",
diff --git a/themes/trollian2.5/style.js b/themes/trollian2.5/style.js
index 2fdbef3..93d46d4 100644
--- a/themes/trollian2.5/style.js
+++ b/themes/trollian2.5/style.js
@@ -8,9 +8,9 @@
   "menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 14px; color: #000000; background-color: #e5000f;border:2px solid #c20f00" },
   "menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 14px; color: #000000;" },
   "close": { "image": "$path/x.png",
-             "loc": [280, 2]},
+             "loc": [272, 0]},
   "minimize": { "image": "$path/m.png",
-                "loc": [260, 8]},
+                "loc": [248, 2]},
   "defaultwindow": { "style": "background: #e5000f; font-family:'Arial';font:bold;selection-background-color:#919191; " },
   "chums": { "style": "border:2px solid #ffa4a4; background-color: black;color: white;font: bold;font-size:14px;font-family: 'Arial';selection-background-color:#646464; ",
              "moods": {
diff --git a/themes/typewriter/style.js b/themes/typewriter/style.js
index bbb0d3f..2169dae 100644
--- a/themes/typewriter/style.js
+++ b/themes/typewriter/style.js
@@ -6,9 +6,9 @@
   "newmsgicon": "$path/trayicon2.png",
   "windowtitle": "Typewriter",
   "close": { "image": "$path/x.png",
-             "loc": [264, 164]},
+             "loc": [266, 164]},
   "minimize": { "image": "$path/m.png",
-                "loc": [239, 168]},
+                "loc": [240, 169]},
   "menubar": { "style": "font-family: 'Courier'; font:bold; font-size: 12px; color: rgba(0,0,0,0);" },
   "menu" : { "style": "font-family: 'Courier'; font: bold; font-size: 12px; color: #000000; background-color: white;border:2px solid black;",
              "menuitem": "margin-right:30px;",

From 7faaea5893756f5c191759042a3ff9803aac5bcb Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sun, 12 Jun 2011 02:08:32 -0700
Subject: [PATCH 138/166] Bug fix: Don't delete chums on drag-n-drop in Windows

---
 TODO.mkdn     |  1 -
 pesterchum.py | 31 ++++++++++++++++++++++++++++++-
 2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/TODO.mkdn b/TODO.mkdn
index 7b0eab5..e871232 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -26,7 +26,6 @@ Bugs
 Windows Bugs
 ------------
 * XP SP2: sometimes mouse clicks dont register? must be some kinda crash
-* Dragging a chum on top of another chum and releasing makes one disappear
 * On reconnect and nick change, momentary theme change causes menu items to stop working
 
 Mac Bugs
diff --git a/pesterchum.py b/pesterchum.py
index 9437ce7..a1d4dda 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -735,12 +735,41 @@ class chumArea(RightClickTree):
             else:
                 return self.optionsMenu
 
+    def startDrag(self, dropAction):
+        # create mime data object
+        mime = QtCore.QMimeData()
+        mime.setData('application/x-item', '???')
+        # start drag 
+        drag = QtGui.QDrag(self)
+        drag.setMimeData(mime)        
+        drag.start(QtCore.Qt.MoveAction)
+
+    def dragMoveEvent(self, event):
+        if event.mimeData().hasFormat("application/x-item"):
+            event.setDropAction(QtCore.Qt.MoveAction)
+            event.accept()
+        else:
+            event.ignore()
+
+    def dragEnterEvent(self, event):
+        if (event.mimeData().hasFormat('application/x-item')):
+            event.accept()
+        else:
+            event.ignore() 
+
     def dropEvent(self, event):
+        if (event.mimeData().hasFormat('application/x-item')):
+            event.acceptProposedAction()
+        else:
+            event.ignore()
+            return
         thisitem = str(event.source().currentItem().text(0))
         if thisitem.rfind(" ") != -1:
             thisitem = thisitem[0:thisitem.rfind(" ")]
         if thisitem == "Chums" or thisitem in self.groups:
-            droppos = str(self.itemAt(event.pos()).text(0))
+            droppos = self.itemAt(event.pos())
+            if not droppos: return
+            droppos = str(droppos.text(0))
             if droppos.rfind(" ") != -1:
                 droppos = droppos[0:droppos.rfind(" ")]
             if droppos == "Chums" or droppos in self.groups:

From cf0d4e96f1e467770c5fccce2ddd855e8dc2a3b0 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 13 Jun 2011 08:13:56 -0700
Subject: [PATCH 139/166] Bug fix: Don't request all moods when opening all
 user list

---
 irc.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/irc.py b/irc.py
index c84e0ca..c178ac0 100644
--- a/irc.py
+++ b/irc.py
@@ -421,7 +421,8 @@ class PesterHandler(DefaultCommandHandler):
         pl = PesterList(namelist)
         del self.channelnames[channel]
         self.parent.namesReceived.emit(channel, pl)
-        if channel == "#pesterchum":
+        if channel == "#pesterchum" and not hasattr(self, "joined"):
+            self.joined = True
             chums = self.mainwindow.chumList.chums
             lesschums = []
             for c in chums:

From 4b77eefec28bd6cfaa3aaec84fe4c0e5458b7250 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 13 Jun 2011 08:14:32 -0700
Subject: [PATCH 140/166] Bug fix: Close all c tags on incoming memo messages

---
 memos.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/memos.py b/memos.py
index 8007874..b7bff8d 100644
--- a/memos.py
+++ b/memos.py
@@ -311,12 +311,17 @@ class MemoText(PesterText):
             parent.mainwindow.chatlog.log(parent.channel, joinmsg)
             time.openCurrentTime()
 
+        def makeSafe(msg):
+            if msg.count(" msg.count(""):
+                for i in range(msg.count("")):
+                    msg = msg + ""
+            return msg
         if type(lexmsg[0]) is mecmd:
             memsg = chum.memsg(systemColor, lexmsg, time=time.getGrammar())
             window.chatlog.log(parent.channel, memsg)
             self.append(convertTags(memsg))
         else:
-            self.append(convertTags(lexmsg))
+            self.append(makeSafe(convertTags(lexmsg)))
             window.chatlog.log(parent.channel, lexmsg)
 
     def changeTheme(self, theme):

From 98d84e7e8563d70c0e8a7c7539d82d4b0cc6922a Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 13 Jun 2011 13:37:07 -0700
Subject: [PATCH 141/166] Show and support kick reasons

---
 CHANGELOG.mkdn   |  9 +++++----
 TODO.mkdn        |  1 +
 dataobjs.py      | 10 +++++++---
 irc.py           | 14 ++++++++++----
 memos.py         |  7 +++++--
 oyoyo/helpers.py |  4 ++--
 6 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index 7800ac0..ef9514b 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -38,10 +38,11 @@ CHANGELOG
 * Memo OP options: Secret, Invite-only, Mute - Kiooeht [evacipatedBox]
 * Notify user if channel blocks message - Kiooeht [evacipatedBox]
 * Bug reporter - Kiooeht [evacipatedBox]
-* Python quirks (users can create own quirk functions) - Kiooeht [evacipatedBox]
-* Incorporate support for the new randomEncounter - Kiooeht [evacipatedBox]
-* Only GETMOOD for people online (less spam!) - Kiooeht [evacipatedBox]
-* Quirk tester in quirk window - Kiooeht [evacipatedBox]
+* Python quirks (users can create own quirk functions) - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
+* Incorporate support for the new randomEncounter - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
+* Only GETMOOD for people online (less spam!) - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
+* Quirk tester in quirk window - Kiooeht [evacipatedBox] (Idea: [alGore])
+* Show and support giving kick reasons - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/TODO.mkdn b/TODO.mkdn
index e871232..4a67c67 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -11,6 +11,7 @@ Features
 * Turn @ and # links on/off?
 * "someone has friended you" notifier
 * Reorder quirk window into a multi-page wizard
+* MSPA update notifier option
 
 Bugs
 ----
diff --git a/dataobjs.py b/dataobjs.py
index dff0181..c5f8799 100644
--- a/dataobjs.py
+++ b/dataobjs.py
@@ -239,11 +239,15 @@ class PesterProfile(object):
         initials = pcf+self.initials()
         return "%s %s %s %s." % \
             (syscolor.name(), self.colorhtml(), initials, timetext, verb, channel[1:].upper().replace("_", " "))
-    def memobanmsg(self, opchum, opgrammar, syscolor, timeGrammar):
+    def memobanmsg(self, opchum, opgrammar, syscolor, timeGrammar, reason):
         initials = timeGrammar.pcf+self.initials()+timeGrammar.number
         opinit = opgrammar.pcf+opchum.initials()+opgrammar.number
-        return "%s banned %s from responding to memo." % \
-            (opchum.colorhtml(), opinit, self.colorhtml(), initials)
+        if opchum.handle == reason:
+            return "%s banned %s from responding to memo." % \
+                (opchum.colorhtml(), opinit, self.colorhtml(), initials)
+        else:
+            return "%s banned %s from responding to memo: [%s]." % \
+                (opchum.colorhtml(), opinit, self.colorhtml(), initials, unicode(reason))
     def memojoinmsg(self, syscolor, td, timeGrammar, verb):
         (temporal, pcf, when) = (timeGrammar.temporal, timeGrammar.pcf, timeGrammar.when)
         timetext = timeDifference(td)
diff --git a/irc.py b/irc.py
index c178ac0..0f5ecf8 100644
--- a/irc.py
+++ b/irc.py
@@ -228,10 +228,15 @@ class PesterIRC(QtCore.QThread):
             self.setConnectionBroken()
     @QtCore.pyqtSlot(QtCore.QString, QtCore.QString)
     def kickUser(self, handle, channel):
+        l = handle.split(":")
         c = unicode(channel)
-        h = unicode(handle)
+        h = unicode(l[0])
+        if len(l) > 1:
+            reason = unicode(l[1])
+        else:
+            reason = ""
         try:
-            helpers.kick(self.cli, h, c)
+            helpers.kick(self.cli, h, c, reason)
         except socket.error:
             self.setConnectionBroken()
     @QtCore.pyqtSlot(QtCore.QString, QtCore.QString, QtCore.QString)
@@ -359,8 +364,9 @@ class PesterHandler(DefaultCommandHandler):
         handle = nick[0:nick.find("!")]
         self.parent.userPresentUpdate.emit(handle, "", "quit")
         self.parent.moodUpdated.emit(handle, Mood("offline"))
-    def kick(self, opnick, channel, handle, op):
-        self.parent.userPresentUpdate.emit(handle, channel, "kick:%s" % (op))
+    def kick(self, opnick, channel, handle, reason):
+        op = opnick[0:opnick.find("!")]
+        self.parent.userPresentUpdate.emit(handle, channel, "kick:%s:%s" % (op, reason))
         # ok i shouldnt be overloading that but am lazy
     def part(self, nick, channel, reason="nanchos"):
         handle = nick[0:nick.find("!")]
diff --git a/memos.py b/memos.py
index b7bff8d..d6437e5 100644
--- a/memos.py
+++ b/memos.py
@@ -743,6 +743,7 @@ class PesterMemo(PesterConvo):
             l = update.split(":")
             update = l[0]
             op = l[1]
+            reason = l[2]
         if update == "nick":
             l = h.split(":")
             oldnick = l[0]
@@ -807,7 +808,7 @@ class PesterMemo(PesterConvo):
                     opgrammar = self.time.getGrammar()
                 else:
                     opgrammar = TimeGrammar("CURRENT", "C", "RIGHT NOW")
-                msg = chum.memobanmsg(opchum, opgrammar, systemColor, grammar)
+                msg = chum.memobanmsg(opchum, opgrammar, systemColor, grammar, reason)
                 self.textArea.append(convertTags(msg))
                 self.mainwindow.chatlog.log(self.channel, msg)
                 ttracker.removeTime(ttracker.getTime())
@@ -981,7 +982,9 @@ class PesterMemo(PesterConvo):
         if not self.userlist.currentItem():
             return
         currentHandle = unicode(self.userlist.currentItem().text())
-        self.mainwindow.kickUser.emit(currentHandle, self.channel)
+        (reason, ok) = QtGui.QInputDialog.getText(self, "Ban User", "Enter the reason you are banning this user (optional):")
+        if ok:
+            self.mainwindow.kickUser.emit("%s:%s" % (currentHandle, reason), self.channel)
     @QtCore.pyqtSlot()
     def opSelectedUser(self):
         if not self.userlist.currentItem():
diff --git a/oyoyo/helpers.py b/oyoyo/helpers.py
index 7ecab79..a300f4f 100644
--- a/oyoyo/helpers.py
+++ b/oyoyo/helpers.py
@@ -38,8 +38,8 @@ def names(cli, *channels):
 def channel_list(cli):
     cli.send("LIST")
 
-def kick(cli, handle, channel):
-    cli.send("KICK %s %s" % (channel, handle))
+def kick(cli, handle, channel, reason=""):
+    cli.send("KICK %s %s %s" % (channel, handle, reason))
 
 def mode(cli, channel, mode, options=None):
     cmd = "MODE %s %s" % (channel, mode)

From 36392ce85a2162d84f790465e091c2ea985bea23 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 13 Jun 2011 23:00:51 -0700
Subject: [PATCH 142/166] Start and stop QMovie objects when enabling/disabling
 animations. Hopefully cuts down on memory leak a bit

---
 convo.py      | 24 ++++++++++++++++++++++--
 pesterchum.py |  8 +++++---
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/convo.py b/convo.py
index 375528d..c221a1e 100644
--- a/convo.py
+++ b/convo.py
@@ -226,6 +226,8 @@ class PesterText(QtGui.QTextEdit):
         self.urls = {}
         for k in smiledict:
             self.addAnimation(QtCore.QUrl("smilies/%s" % (smiledict[k])), "smilies/%s" % (smiledict[k]))
+        self.connect(self.mainwindow, QtCore.SIGNAL('animationSetting(bool)'),
+                     self, QtCore.SLOT('animateChanged(bool)'))
     def addAnimation(self, url, fileName):
         movie = QtGui.QMovie(self)
         movie.setFileName(fileName)
@@ -233,7 +235,7 @@ class PesterText(QtGui.QTextEdit):
             self.urls[movie] = url
             self.connect(movie, QtCore.SIGNAL('frameChanged(int)'),
                          self, QtCore.SLOT('animate(int)'))
-            movie.start()
+            #movie.start()
     @QtCore.pyqtSlot(int)
     def animate(self, frame):
         if self.mainwindow.config.animations():
@@ -244,7 +246,20 @@ class PesterText(QtGui.QTextEdit):
                 self.document().addResource(QtGui.QTextDocument.ImageResource,
                                    self.urls[movie], movie.currentPixmap())
                 self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth())
-
+    @QtCore.pyqtSlot(bool)
+    def animateChanged(self, animate):
+        if animate:
+            for m in self.urls:
+                html = unicode(self.toHtml())
+                if html.find(self.urls[m].toString()) != -1:
+                    if movie.frameCount() > 1:
+                        m.start()
+        else:
+            for m in self.urls:
+                html = unicode(self.toHtml())
+                if html.find(self.urls[m].toString()) != -1:
+                    if movie.frameCount() > 1:
+                        m.stop()
 
     @QtCore.pyqtSlot(bool)
     def textReady(self, ready):
@@ -263,6 +278,11 @@ class PesterText(QtGui.QTextEdit):
         parent = self.parent()
         window = parent.mainwindow
         me = window.profile()
+        if self.mainwindow.config.animations():
+            for m in self.urls:
+                if convertTags(lexmsg).find(self.urls[m].toString()) != -1:
+                    if m.state() == QtGui.QMovie.NotRunning:
+                        m.start()
         if self.parent().mainwindow.config.showTimeStamps():
             if self.parent().mainwindow.config.time12Format():
                 time = strftime("[%I:%M")
diff --git a/pesterchum.py b/pesterchum.py
index a1d4dda..53bac1b 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -739,9 +739,9 @@ class chumArea(RightClickTree):
         # create mime data object
         mime = QtCore.QMimeData()
         mime.setData('application/x-item', '???')
-        # start drag 
+        # start drag
         drag = QtGui.QDrag(self)
-        drag.setMimeData(mime)        
+        drag.setMimeData(mime)
         drag.start(QtCore.Qt.MoveAction)
 
     def dragMoveEvent(self, event):
@@ -755,7 +755,7 @@ class chumArea(RightClickTree):
         if (event.mimeData().hasFormat('application/x-item')):
             event.accept()
         else:
-            event.ignore() 
+            event.ignore()
 
     def dropEvent(self, event):
         if (event.mimeData().hasFormat('application/x-item')):
@@ -2627,6 +2627,7 @@ class PesterWindow(MovingWindow):
         curanimate = self.config.animations()
         if animatesetting != curanimate:
             self.config.set('animations', animatesetting)
+            self.animationSetting.emit(animatesetting)
         # update checked
         updatechecksetting = self.optionmenu.updatecheck.isChecked()
         curupdatecheck = self.config.checkForUpdates()
@@ -2817,6 +2818,7 @@ class PesterWindow(MovingWindow):
     sendNotice = QtCore.pyqtSignal(QtCore.QString, QtCore.QString)
     convoClosed = QtCore.pyqtSignal(QtCore.QString)
     profileChanged = QtCore.pyqtSignal()
+    animationSetting = QtCore.pyqtSignal(bool)
     moodRequest = QtCore.pyqtSignal(PesterProfile)
     moodsRequest = QtCore.pyqtSignal(PesterList)
     moodUpdated = QtCore.pyqtSignal()

From 5c07e551943f1671fee52ecf9253a3f0232459c1 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Wed, 15 Jun 2011 00:46:45 -0700
Subject: [PATCH 143/166] Bug fix: Rick-click menu in Trollion memo/convo input
 is now full sized, not weird half-menu

---
 themes/trollian/style.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/themes/trollian/style.js b/themes/trollian/style.js
index 3888002..6a1f1c5 100644
--- a/themes/trollian/style.js
+++ b/themes/trollian/style.js
@@ -276,7 +276,7 @@
       "style": "background: white; border:2px solid #c2c2c2; font-size: 14px;"
   },
   "input": {
-      "style": "background: white;margin-top:5px; border:1px solid #c2c2c2; margin-right: 54px; font-size: 12px; height: 19px;"
+      "style": "background: white;margin-top:5px; border:1px solid #c2c2c2; margin-right: 54px; font-size: 12px;"
   },
   "tabwindow" : {
     "style": "background: rgb(190, 19, 4); font-family: 'Arial'"
@@ -319,7 +319,7 @@
       "style": "background: white; border:2px solid #c2c2c2; font-size: 12px;"
   },
   "input": {
-      "style": "background: white;margin-top:5px; border:1px solid #c2c2c2; font-size: 12px; height: 19px; margin-bottom: 5px; "
+      "style": "background: white;margin-top:5px; border:1px solid #c2c2c2; font-size: 12px; margin-bottom: 5px; "
   },
   "margins": {"top": 22, "bottom": 10, "left": 9, "right": 4 },
   "userlist": { "width": 125,

From 3eb0da7e4f8213c8f17e03b6fd3aea245fc93a61 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Wed, 15 Jun 2011 07:50:50 -0700
Subject: [PATCH 144/166] Bug fix: Keep showing channel modes in advanced mode
 on theme change

---
 memos.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/memos.py b/memos.py
index d6437e5..d14453a 100644
--- a/memos.py
+++ b/memos.py
@@ -509,7 +509,10 @@ class PesterMemo(PesterConvo):
         self.setWindowIcon(PesterIcon(theme["memos/memoicon"]))
 
         t = Template(theme["memos/label/text"])
-        self.channelLabel.setText(t.safe_substitute(channel=self.channel))
+        if self.mainwindow.advanced and hasattr(self, 'modes'):
+            self.channelLabel.setText(t.safe_substitute(channel=self.channel) + "(%s)" % (self.modes))
+        else:
+            self.channelLabel.setText(t.safe_substitute(channel=self.channel))
         self.channelLabel.setStyleSheet(theme["memos/label/style"])
         self.channelLabel.setAlignment(self.aligndict["h"][theme["memos/label/align/h"]] | self.aligndict["v"][theme["memos/label/align/v"]])
         self.channelLabel.setMaximumHeight(theme["memos/label/maxheight"])

From 91c50f9b885ab7640de12d050ec09a4435b48f90 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Wed, 15 Jun 2011 11:36:17 -0700
Subject: [PATCH 145/166] Bug fix: Don't crash python if page unavaliable on
 version checking

---
 version.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/version.py b/version.py
index 976fd5e..153e3b4 100644
--- a/version.py
+++ b/version.py
@@ -33,11 +33,11 @@ def updateCheck(q,num):
     try:
         f = urllib.urlopen("http://distantsphere.com/pesterchum.php?" + data)
     except:
-        print "Update check Failure: 1"; q.put((False,1))
+        print "Update check Failure: 1"; return q.put((False,1))
     newest = f.read()
     f.close()
     if not newest or newest[0] == "<":
-        print "Update check Failure: 2"; q.put((False,2))
+        print "Update check Failure: 2"; return q.put((False,2))
     try:
         (full, major, minor, status, revision, url) = verStrToNum(newest)
     except TypeError:

From a323f7d335616444a14fdf425d16423e870e3e43 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Fri, 17 Jun 2011 06:05:55 -0700
Subject: [PATCH 146/166] Bug fix: Don't double channel and users modes in
 advanced mode on reconnect

---
 irc.py   | 4 +++-
 memos.py | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/irc.py b/irc.py
index 0f5ecf8..397b3f1 100644
--- a/irc.py
+++ b/irc.py
@@ -385,7 +385,9 @@ class PesterHandler(DefaultCommandHandler):
             modes = list(self.parent.mainwindow.modes)
             if modes and modes[0] == "+": modes = modes[1:]
             if mode[0] == "+":
-                modes.extend(mode[1:])
+                for m in mode[1:]:
+                    if m not in modes:
+                        modes.extend(m)
             elif mode[0] == "-":
                 for i in mode[1:]:
                     try:
diff --git a/memos.py b/memos.py
index d14453a..6818826 100644
--- a/memos.py
+++ b/memos.py
@@ -616,7 +616,9 @@ class PesterMemo(PesterConvo):
         if chanmodes and chanmodes[0] == "+": chanmodes = chanmodes[1:]
         modes = str(modes)
         if modes[0] == "+":
-            chanmodes.extend(modes[1:])
+            for m in modes[1:]:
+                if m not in chanmodes:
+                    chanmodes.extend(m)
             if modes.find("s") >= 0: self.chanHide.setChecked(True)
             if modes.find("i") >= 0: self.chanInvite.setChecked(True)
             if modes.find("m") >= 0: self.chanMod.setChecked(True)

From 88a5c958b49cdc835f749e659e443f844611c7b1 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Fri, 17 Jun 2011 06:37:38 -0700
Subject: [PATCH 147/166] Multi-page wizard for adding quirks

---
 CHANGELOG.mkdn |   1 +
 TODO.mkdn      |   3 +-
 menus.py       | 648 ++++++++++++++++++++++++++-----------------------
 3 files changed, 345 insertions(+), 307 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index ef9514b..6f0ac75 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -43,6 +43,7 @@ CHANGELOG
 * Only GETMOOD for people online (less spam!) - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Quirk tester in quirk window - Kiooeht [evacipatedBox] (Idea: [alGore])
 * Show and support giving kick reasons - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
+* Make adding quirks into multi-page wizard - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/TODO.mkdn b/TODO.mkdn
index 4a67c67..92961c2 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -10,8 +10,8 @@ Features
 * Spy mode
 * Turn @ and # links on/off?
 * "someone has friended you" notifier
-* Reorder quirk window into a multi-page wizard
 * MSPA update notifier option
+* Don't animate emotes not in current tab
 
 Bugs
 ----
@@ -23,6 +23,7 @@ Bugs
 * Openning userlist resets appearance of OP/voice for anyone that become OP/voice after you joined a memo
 * If pesterchum is open but offline due to a network failure and you open the memos screen, it connects you but doesn't fetch the memo list when it finishes connecting
 * right clicking an offline chum and choosing remove asks you why you're reporting someone, and if you hit cancel the menus stop working
+* Closing a timeclone doesn't actually cease for everyone else
 
 Windows Bugs
 ------------
diff --git a/menus.py b/menus.py
index 86e1255..6f4bb53 100644
--- a/menus.py
+++ b/menus.py
@@ -206,128 +206,6 @@ class PesterQuirkList(QtGui.QTreeWidget):
             for j in range(self.topLevelItem(index).childCount()):
                 self.topLevelItem(index).child(j).setCheckState(0, state)
 
-class MispellQuirkDialog(QtGui.QDialog):
-    def __init__(self, parent):
-        QtGui.QDialog.__init__(self, parent)
-        self.setWindowTitle("MISPELLER")
-        layout_1 = QtGui.QHBoxLayout()
-        zero = QtGui.QLabel("1%", self)
-        hund = QtGui.QLabel("100%", self)
-        self.current = QtGui.QLabel("50%", self)
-        self.current.setAlignment(QtCore.Qt.AlignHCenter)
-        self.slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
-        self.slider.setMinimum(1)
-        self.slider.setMaximum(100)
-        self.slider.setValue(50)
-        self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'),
-                     self, QtCore.SLOT('printValue(int)'))
-        layout_1.addWidget(zero)
-        layout_1.addWidget(self.slider)
-        layout_1.addWidget(hund)
-
-        self.ok = QtGui.QPushButton("OK", self)
-        self.ok.setDefault(True)
-        self.connect(self.ok, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('accept()'))
-        self.cancel = QtGui.QPushButton("CANCEL", self)
-        self.connect(self.cancel, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('reject()'))
-        layout_ok = QtGui.QHBoxLayout()
-        layout_ok.addWidget(self.cancel)
-        layout_ok.addWidget(self.ok)
-
-        layout_0 = QtGui.QVBoxLayout()
-        layout_0.addLayout(layout_1)
-        layout_0.addWidget(self.current)
-        layout_0.addLayout(layout_ok)
-
-        self.setLayout(layout_0)
-    def getPercentage(self):
-        r = self.exec_()
-        if r == QtGui.QDialog.Accepted:
-            retval = {"percentage": self.slider.value()}
-            return retval
-        else:
-            return None
-
-    @QtCore.pyqtSlot(int)
-    def printValue(self, value):
-        self.current.setText(str(value)+"%")
-
-class RandomQuirkDialog(MultiTextDialog):
-    def __init__(self, parent, values={}):
-        QtGui.QDialog.__init__(self, parent)
-        self.setWindowTitle("RANDOM QUIRK")
-        self.inputs = {}
-        layout_1 = QtGui.QHBoxLayout()
-        regexpl = QtGui.QLabel("REGEXP:", self)
-        self.regexp = QtGui.QLineEdit(values.get("regexp",""), self)
-        layout_1.addWidget(regexpl)
-        layout_1.addWidget(self.regexp)
-        replacewithl = QtGui.QLabel("REPLACE WITH:", self)
-
-        layout_2 = QtGui.QVBoxLayout()
-        layout_3 = QtGui.QHBoxLayout()
-        self.replacelist = QtGui.QListWidget(self)
-        for v in values.get("list", []):
-            item = QtGui.QListWidgetItem(v, self.replacelist)
-        self.replaceinput = QtGui.QLineEdit(self)
-        addbutton = QtGui.QPushButton("ADD", self)
-        self.connect(addbutton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('addRandomString()'))
-        removebutton = QtGui.QPushButton("REMOVE", self)
-        self.connect(removebutton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('removeRandomString()'))
-        layout_3.addWidget(addbutton)
-        layout_3.addWidget(removebutton)
-        layout_2.addWidget(self.replacelist)
-        layout_2.addWidget(self.replaceinput)
-        layout_2.addLayout(layout_3)
-        layout_1.addLayout(layout_2)
-
-        self.ok = QtGui.QPushButton("OK", self)
-        self.ok.setDefault(True)
-        self.connect(self.ok, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('accept()'))
-        self.cancel = QtGui.QPushButton("CANCEL", self)
-        self.connect(self.cancel, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('reject()'))
-        layout_ok = QtGui.QHBoxLayout()
-        layout_ok.addWidget(self.cancel)
-        layout_ok.addWidget(self.ok)
-
-        layout_0 = QtGui.QVBoxLayout()
-        layout_0.addLayout(layout_1)
-        layout_0.addLayout(layout_ok)
-
-        self.setLayout(layout_0)
-
-    def getText(self):
-        r = self.exec_()
-        if r == QtGui.QDialog.Accepted:
-            randomlist = [unicode(self.replacelist.item(i).text())
-                          for i in range(0,self.replacelist.count())]
-            retval = {"from": unicode(self.regexp.text()),
-                      "randomlist": randomlist }
-            return retval
-        else:
-            return None
-
-
-    @QtCore.pyqtSlot()
-    def addRandomString(self):
-        text = unicode(self.replaceinput.text())
-        item = QtGui.QListWidgetItem(text, self.replacelist)
-        self.replaceinput.setText("")
-        self.replaceinput.setFocus()
-    @QtCore.pyqtSlot()
-    def removeRandomString(self):
-        if not self.replacelist.currentItem():
-            return
-        else:
-            self.replacelist.takeItem(self.replacelist.currentRow())
-        self.replaceinput.setFocus()
-
 from copy import copy
 from convo import PesterInput, PesterText
 from parsetools import convertTags, lexMessage, splitMessage, mecmd, colorBegin, colorEnd, img2smiley, smiledict
@@ -398,6 +276,293 @@ class QuirkTesterWindow(QtGui.QDialog):
     def closeEvent(self, event):
         self.parent.quirktester = None
 
+class PesterQuirkTypes(QtGui.QDialog):
+    def __init__(self, parent, quirk=None):
+        QtGui.QDialog.__init__(self, parent)
+        self.mainwindow = parent.mainwindow
+        self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"])
+        self.setWindowTitle("Quirk Wizard")
+        self.resize(500,310)
+
+        self.quirk = quirk
+        self.pages = QtGui.QStackedWidget(self)
+
+        self.next = QtGui.QPushButton("Next", self)
+        self.next.setDefault(True)
+        self.connect(self.next, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('nextPage()'))
+        self.back = QtGui.QPushButton("Back", self)
+        self.back.setEnabled(False)
+        self.connect(self.back, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('backPage()'))
+        self.cancel = QtGui.QPushButton("Cancel", self)
+        self.connect(self.cancel, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('reject()'))
+        layout_2 = QtGui.QHBoxLayout()
+        layout_2.setAlignment(QtCore.Qt.AlignRight)
+        layout_2.addWidget(self.back)
+        layout_2.addWidget(self.next)
+        layout_2.addSpacing(5)
+        layout_2.addWidget(self.cancel)
+
+        vr = QtGui.QFrame()
+        vr.setFrameShape(QtGui.QFrame.VLine)
+        vr.setFrameShadow(QtGui.QFrame.Sunken)
+        vr2 = QtGui.QFrame()
+        vr2.setFrameShape(QtGui.QFrame.VLine)
+        vr2.setFrameShadow(QtGui.QFrame.Sunken)
+
+        self.funclist = QtGui.QListWidget(self)
+        self.funclist.setStyleSheet("color: #000000; background-color: #FFFFFF;")
+        self.funclist2 = QtGui.QListWidget(self)
+        self.funclist2.setStyleSheet("color: #000000; background-color: #FFFFFF;")
+
+        from parsetools import quirkloader
+        funcs = [q+")" for q in quirkloader.quirks.keys()]
+        funcs.sort()
+        self.funclist.addItems(funcs)
+        self.funclist2.addItems(funcs)
+
+        self.reloadQuirkFuncButton = QtGui.QPushButton("RELOAD FUNCTIONS", self)
+        self.connect(self.reloadQuirkFuncButton, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('reloadQuirkFuncSlot()'))
+        self.reloadQuirkFuncButton2 = QtGui.QPushButton("RELOAD FUNCTIONS", self)
+        self.connect(self.reloadQuirkFuncButton2, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('reloadQuirkFuncSlot()'))
+
+        self.funclist.setMaximumWidth(160)
+        self.funclist.resize(160,50)
+        self.funclist2.setMaximumWidth(160)
+        self.funclist2.resize(160,50)
+        layout_f = QtGui.QVBoxLayout()
+        layout_f.addWidget(QtGui.QLabel("Available Regexp\nFunctions"))
+        layout_f.addWidget(self.funclist)
+        layout_f.addWidget(self.reloadQuirkFuncButton)
+        layout_g = QtGui.QVBoxLayout()
+        layout_g.addWidget(QtGui.QLabel("Available Regexp\nFunctions"))
+        layout_g.addWidget(self.funclist2)
+        layout_g.addWidget(self.reloadQuirkFuncButton2)
+
+        # Pages
+        # Type select
+        widget = QtGui.QWidget()
+        self.pages.addWidget(widget)
+        layout_select = QtGui.QVBoxLayout(widget)
+        layout_select.setAlignment(QtCore.Qt.AlignTop)
+        self.radios = []
+        self.radios.append(QtGui.QRadioButton("Prefix", self))
+        self.radios.append(QtGui.QRadioButton("Suffix", self))
+        self.radios.append(QtGui.QRadioButton("Simple Replace", self))
+        self.radios.append(QtGui.QRadioButton("Regexp Replace", self))
+        self.radios.append(QtGui.QRadioButton("Random Replace", self))
+        self.radios.append(QtGui.QRadioButton("Mispeller", self))
+
+        layout_select.addWidget(QtGui.QLabel("Select Quirk Type:"))
+        for r in self.radios:
+            layout_select.addWidget(r)
+
+        # Prefix
+        widget = QtGui.QWidget()
+        self.pages.addWidget(widget)
+        layout_prefix = QtGui.QVBoxLayout(widget)
+        layout_prefix.setAlignment(QtCore.Qt.AlignTop)
+        layout_prefix.addWidget(QtGui.QLabel("Prefix"))
+        layout_3 = QtGui.QHBoxLayout()
+        layout_3.addWidget(QtGui.QLabel("Value:"))
+        layout_3.addWidget(QtGui.QLineEdit())
+        layout_prefix.addLayout(layout_3)
+
+        # Suffix
+        widget = QtGui.QWidget()
+        self.pages.addWidget(widget)
+        layout_suffix = QtGui.QVBoxLayout(widget)
+        layout_suffix.setAlignment(QtCore.Qt.AlignTop)
+        layout_suffix.addWidget(QtGui.QLabel("Suffix"))
+        layout_3 = QtGui.QHBoxLayout()
+        layout_3.addWidget(QtGui.QLabel("Value:"))
+        layout_3.addWidget(QtGui.QLineEdit())
+        layout_suffix.addLayout(layout_3)
+
+        # Simple Replace
+        widget = QtGui.QWidget()
+        self.pages.addWidget(widget)
+        layout_replace = QtGui.QVBoxLayout(widget)
+        layout_replace.setAlignment(QtCore.Qt.AlignTop)
+        layout_replace.addWidget(QtGui.QLabel("Simple Replace"))
+        layout_3 = QtGui.QHBoxLayout()
+        layout_3.addWidget(QtGui.QLabel("Replace:"))
+        layout_3.addWidget(QtGui.QLineEdit())
+        layout_replace.addLayout(layout_3)
+        layout_3 = QtGui.QHBoxLayout()
+        layout_3.addWidget(QtGui.QLabel("With:"))
+        layout_3.addWidget(QtGui.QLineEdit())
+        layout_replace.addLayout(layout_3)
+
+        # Regexp Replace
+        widget = QtGui.QWidget()
+        self.pages.addWidget(widget)
+        layout_all = QtGui.QHBoxLayout(widget)
+        layout_regexp = QtGui.QVBoxLayout()
+        layout_regexp.setAlignment(QtCore.Qt.AlignTop)
+        layout_regexp.addWidget(QtGui.QLabel("Regexp Replace"))
+        layout_3 = QtGui.QHBoxLayout()
+        layout_3.addWidget(QtGui.QLabel("Regexp:"))
+        layout_3.addWidget(QtGui.QLineEdit())
+        layout_regexp.addLayout(layout_3)
+        layout_3 = QtGui.QHBoxLayout()
+        layout_3.addWidget(QtGui.QLabel("Replace With:"))
+        layout_3.addWidget(QtGui.QLineEdit())
+        layout_regexp.addLayout(layout_3)
+        layout_all.addLayout(layout_f)
+        layout_all.addWidget(vr)
+        layout_all.addLayout(layout_regexp)
+
+        # Random Replace
+        widget = QtGui.QWidget()
+        self.pages.addWidget(widget)
+        layout_all = QtGui.QHBoxLayout(widget)
+        layout_random = QtGui.QVBoxLayout()
+        layout_random.setAlignment(QtCore.Qt.AlignTop)
+        layout_random.addWidget(QtGui.QLabel("Random Replace"))
+        layout_5 = QtGui.QHBoxLayout()
+        regexpl = QtGui.QLabel("Regexp:", self)
+        self.regexp = QtGui.QLineEdit("", self)
+        layout_5.addWidget(regexpl)
+        layout_5.addWidget(self.regexp)
+        replacewithl = QtGui.QLabel("Replace With:", self)
+        layout_all.addLayout(layout_g)
+        layout_all.addWidget(vr2)
+        layout_all.addLayout(layout_random)
+
+        layout_6 = QtGui.QVBoxLayout()
+        layout_7 = QtGui.QHBoxLayout()
+        self.replacelist = QtGui.QListWidget(self)
+        self.replaceinput = QtGui.QLineEdit(self)
+        addbutton = QtGui.QPushButton("ADD", self)
+        self.connect(addbutton, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('addRandomString()'))
+        removebutton = QtGui.QPushButton("REMOVE", self)
+        self.connect(removebutton, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('removeRandomString()'))
+        layout_7.addWidget(addbutton)
+        layout_7.addWidget(removebutton)
+        layout_6.addLayout(layout_5)
+        layout_6.addWidget(replacewithl)
+        layout_6.addWidget(self.replacelist)
+        layout_6.addWidget(self.replaceinput)
+        layout_6.addLayout(layout_7)
+        layout_random.addLayout(layout_6)
+
+        # Misspeller
+        widget = QtGui.QWidget()
+        self.pages.addWidget(widget)
+        layout_mispeller = QtGui.QVBoxLayout(widget)
+        layout_mispeller.setAlignment(QtCore.Qt.AlignTop)
+        layout_mispeller.addWidget(QtGui.QLabel("Mispeller"))
+        layout_1 = QtGui.QHBoxLayout()
+        zero = QtGui.QLabel("1%", self)
+        hund = QtGui.QLabel("100%", self)
+        self.current = QtGui.QLabel("50%", self)
+        self.current.setAlignment(QtCore.Qt.AlignHCenter)
+        self.slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
+        self.slider.setMinimum(1)
+        self.slider.setMaximum(100)
+        self.slider.setValue(50)
+        self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'),
+                     self, QtCore.SLOT('printValue(int)'))
+        layout_1.addWidget(zero)
+        layout_1.addWidget(self.slider)
+        layout_1.addWidget(hund)
+        layout_mispeller.addLayout(layout_1)
+        layout_mispeller.addWidget(self.current)
+
+        layout_0 = QtGui.QVBoxLayout()
+        layout_0.addWidget(self.pages)
+        layout_0.addLayout(layout_2)
+
+        if quirk:
+            types = ["prefix","suffix","replace","regexp","random","spelling"]
+            for (i,r) in enumerate(self.radios):
+                if i == types.index(quirk.quirk.type):
+                    r.setChecked(True)
+            self.changePage(types.index(quirk.quirk.type)+1)
+            page = self.pages.currentWidget().layout()
+            q = quirk.quirk.quirk
+            if q["type"] in ("prefix","suffix"):
+                page.itemAt(1).layout().itemAt(1).widget().setText(q["value"])
+            elif q["type"] == "replace":
+                page.itemAt(1).layout().itemAt(1).widget().setText(q["from"])
+                page.itemAt(2).layout().itemAt(1).widget().setText(q["to"])
+            elif q["type"] == "regexp":
+                page.itemAt(2).layout().itemAt(1).layout().itemAt(1).widget().setText(q["from"])
+                page.itemAt(2).layout().itemAt(2).layout().itemAt(1).widget().setText(q["to"])
+            elif q["type"] == "random":
+                self.regexp.setText(q["from"])
+                for v in q["randomlist"]:
+                    item = QtGui.QListWidgetItem(v, self.replacelist)
+            elif q["type"] == "spelling":
+                self.slider.setValue(q["percentage"])
+
+        self.setLayout(layout_0)
+
+    def closeEvent(self, event):
+        self.parent().quirkadd = None
+
+    def changePage(self, page):
+        c = self.pages.count()
+        if page >= c or page < 0: return
+        self.back.setEnabled(page > 0)
+        if page >= 1 and page <= 6:
+            self.next.setText("Finish")
+        else:
+            self.next.setText("Next")
+        self.pages.setCurrentIndex(page)
+    @QtCore.pyqtSlot()
+    def nextPage(self):
+        if self.next.text() == "Finish":
+            self.accept()
+            return
+        cur = self.pages.currentIndex()
+        if cur == 0:
+            for (i,r) in enumerate(self.radios):
+                if r.isChecked():
+                    self.changePage(i+1)
+        else:
+            self.changePage(cur+1)
+    @QtCore.pyqtSlot()
+    def backPage(self):
+        cur = self.pages.currentIndex()
+        if cur >= 1 and cur <= 6:
+            self.changePage(0)
+
+    @QtCore.pyqtSlot(int)
+    def printValue(self, value):
+        self.current.setText(str(value)+"%")
+    @QtCore.pyqtSlot()
+    def addRandomString(self):
+        text = unicode(self.replaceinput.text())
+        item = QtGui.QListWidgetItem(text, self.replacelist)
+        self.replaceinput.setText("")
+        self.replaceinput.setFocus()
+    @QtCore.pyqtSlot()
+    def removeRandomString(self):
+        if not self.replacelist.currentItem():
+            return
+        else:
+            self.replacelist.takeItem(self.replacelist.currentRow())
+        self.replaceinput.setFocus()
+
+    @QtCore.pyqtSlot()
+    def reloadQuirkFuncSlot(self):
+        from parsetools import reloadQuirkFunctions, quirkloader
+        reloadQuirkFunctions()
+        funcs = [q+")" for q in quirkloader.quirks.keys()]
+        funcs.sort()
+        self.funclist.clear()
+        self.funclist.addItems(funcs)
+        self.funclist2.clear()
+        self.funclist2.addItems(funcs)
+
 class PesterChooseQuirks(QtGui.QDialog):
     def __init__(self, config, theme, parent):
         QtGui.QDialog.__init__(self, parent)
@@ -410,28 +575,9 @@ class PesterChooseQuirks(QtGui.QDialog):
 
         self.quirkList = PesterQuirkList(self.mainwindow, self)
 
-        self.reloadQuirkFuncButton = QtGui.QPushButton("RELOAD FUNCTIONS", self)
-        self.connect(self.reloadQuirkFuncButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('reloadQuirkFuncSlot()'))
-
-        self.addPrefixButton = QtGui.QPushButton("ADD PREFIX", self)
-        self.connect(self.addPrefixButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('addPrefixDialog()'))
-        self.addSuffixButton = QtGui.QPushButton("ADD SUFFIX", self)
-        self.connect(self.addSuffixButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('addSuffixDialog()'))
-        self.addSimpleReplaceButton = QtGui.QPushButton("SIMPLE REPLACE", self)
-        self.connect(self.addSimpleReplaceButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('addSimpleReplaceDialog()'))
-        self.addRegexpReplaceButton = QtGui.QPushButton("REGEXP REPLACE", self)
-        self.connect(self.addRegexpReplaceButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('addRegexpDialog()'))
-        self.addRandomReplaceButton = QtGui.QPushButton("RANDOM REPLACE", self)
-        self.connect(self.addRandomReplaceButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('addRandomDialog()'))
-        self.addMispellingButton = QtGui.QPushButton("MISPELLER", self)
-        self.connect(self.addMispellingButton, QtCore.SIGNAL('clicked()'),
-                     self, QtCore.SLOT('addSpellDialog()'))
+        self.addQuirkButton = QtGui.QPushButton("ADD QUIRK", self)
+        self.connect(self.addQuirkButton, QtCore.SIGNAL('clicked()'),
+                     self, QtCore.SLOT('addQuirkDialog()'))
 
         self.upShiftButton = QtGui.QPushButton("^", self)
         self.downShiftButton = QtGui.QPushButton("v", self)
@@ -447,14 +593,6 @@ class PesterChooseQuirks(QtGui.QDialog):
         self.connect(self.newGroupButton, QtCore.SIGNAL('clicked()'),
                      self.quirkList, QtCore.SLOT('addQuirkGroup()'))
 
-        self.funclist = QtGui.QListWidget(self)
-        self.funclist.setStyleSheet("background-color: #FFFFFF;")
-
-        from parsetools import quirkloader
-        funcs = [q+")" for q in quirkloader.quirks.keys()]
-        funcs.sort()
-        self.funclist.addItems(funcs)
-
         layout_quirklist = QtGui.QHBoxLayout() #the nude layout quirklist
         layout_shiftbuttons = QtGui.QVBoxLayout() #the shift button layout
         layout_shiftbuttons.addWidget(self.upShiftButton)
@@ -464,13 +602,7 @@ class PesterChooseQuirks(QtGui.QDialog):
         layout_quirklist.addLayout(layout_shiftbuttons)
 
         layout_1 = QtGui.QHBoxLayout()
-        layout_1.addWidget(self.addPrefixButton)
-        layout_1.addWidget(self.addSuffixButton)
-        layout_1.addWidget(self.addSimpleReplaceButton)
-        layout_2 = QtGui.QHBoxLayout()
-        layout_2.addWidget(self.addRegexpReplaceButton)
-        layout_2.addWidget(self.addRandomReplaceButton)
-        layout_2.addWidget(self.addMispellingButton)
+        layout_1.addWidget(self.addQuirkButton)
 
         self.editSelectedButton = QtGui.QPushButton("EDIT", self)
         self.connect(self.editSelectedButton, QtCore.SIGNAL('clicked()'),
@@ -500,26 +632,11 @@ class PesterChooseQuirks(QtGui.QDialog):
         layout_0 = QtGui.QVBoxLayout()
         layout_0.addLayout(layout_quirklist)
         layout_0.addLayout(layout_1)
-        layout_0.addLayout(layout_2)
+        #layout_0.addLayout(layout_2)
         layout_0.addLayout(layout_3)
         layout_0.addLayout(layout_ok)
 
-        self.funclist.setMaximumWidth(160)
-        self.funclist.resize(160,50)
-        layout_f = QtGui.QVBoxLayout()
-        layout_f.addWidget(QtGui.QLabel("Avaliable Regexp\nFunctions"))
-        layout_f.addWidget(self.funclist)
-        layout_f.addWidget(self.reloadQuirkFuncButton)
-
-        vr = QtGui.QFrame()
-        vr.setFrameShape(QtGui.QFrame.VLine)
-        vr.setFrameShadow(QtGui.QFrame.Sunken)
-
-        layout_all = QtGui.QHBoxLayout()
-        layout_all.addLayout(layout_f)
-        layout_all.addWidget(vr)
-        layout_all.addLayout(layout_0)
-        self.setLayout(layout_all)
+        self.setLayout(layout_0)
 
     def quirks(self):
         u = []
@@ -546,149 +663,68 @@ class PesterChooseQuirks(QtGui.QDialog):
         self.quirktester = QuirkTesterWindow(self)
         self.quirktester.show()
 
-    @QtCore.pyqtSlot()
-    def reloadQuirkFuncSlot(self):
-        from parsetools import reloadQuirkFunctions, quirkloader
-        reloadQuirkFunctions()
-        funcs = [q+")" for q in quirkloader.quirks.keys()]
-        funcs.sort()
-        self.funclist.clear()
-        self.funclist.addItems(funcs)
-
     @QtCore.pyqtSlot()
     def editSelected(self):
         q = self.quirkList.currentQuirk()
         if not q: return
         quirk = q.quirk
-        if quirk.type == "prefix":
-            self.addPrefixDialog(q)
-        elif quirk.type == "suffix":
-            self.addSuffixDialog(q)
-        elif quirk.type == "replace":
-            self.addSimpleReplaceDialog(q)
-        elif quirk.type == "regexp":
-            self.addRegexpDialog(q)
-        elif quirk.type == "random":
-            self.addRandomDialog(q)
-        elif quirk.type == "spelling":
-            self.addSpellDialog(q)
+        self.addQuirkDialog(q)
 
     @QtCore.pyqtSlot()
-    def addPrefixDialog(self, qitem=None):
-        d = {"label": "Value:", "inputname": "value" }
-        if qitem is not None:
-            d["value"] = qitem.quirk.quirk["value"]
-        pdict = MultiTextDialog("ENTER PREFIX", self, d).getText()
-        if pdict is None:
+    def addQuirkDialog(self, quirk=None):
+        if not hasattr(self, 'quirkadd'):
+            self.quirkadd = None
+        if self.quirkadd:
             return
-        pdict["type"] = "prefix"
-        prefix = pesterQuirk(pdict)
-        if qitem is None:
-            pitem = PesterQuirkItem(prefix)
-            self.quirkList.addItem(pitem)
-        else:
-            qitem.update(prefix)
-        #self.quirkList.sortItems()
+        self.quirkadd = PesterQuirkTypes(self, quirk)
+        self.connect(self.quirkadd, QtCore.SIGNAL('accepted()'),
+                     self, QtCore.SLOT('addQuirk()'))
+        self.connect(self.quirkadd, QtCore.SIGNAL('rejected()'),
+                     self, QtCore.SLOT('closeQuirk()'))
+        self.quirkadd.show()
+    @QtCore.pyqtSlot()
+    def addQuirk(self):
+        types = ["prefix","suffix","replace","regexp","random","spelling"]
+        vdict = {}
+        vdict["type"] = types[self.quirkadd.pages.currentIndex()-1]
+        page = self.quirkadd.pages.currentWidget().layout()
+        if vdict["type"] in ("prefix","suffix"):
+            vdict["value"] = unicode(page.itemAt(1).layout().itemAt(1).widget().text())
+        elif vdict["type"] == "replace":
+            vdict["from"] = unicode(page.itemAt(1).layout().itemAt(1).widget().text())
+            vdict["to"] = unicode(page.itemAt(2).layout().itemAt(1).widget().text())
+        elif vdict["type"] == "regexp":
+            vdict["from"] = unicode(page.itemAt(2).layout().itemAt(1).layout().itemAt(1).widget().text())
+            vdict["to"] = unicode(page.itemAt(2).layout().itemAt(2).layout().itemAt(1).widget().text())
+        elif vdict["type"] == "random":
+            vdict["from"] = unicode(self.quirkadd.regexp.text())
+            randomlist = [unicode(self.quirkadd.replacelist.item(i).text())
+                          for i in range(0,self.quirkadd.replacelist.count())]
+            vdict["randomlist"] = randomlist
+        elif vdict["type"] == "spelling":
+            vdict["percentage"] = self.quirkadd.slider.value()
 
-    @QtCore.pyqtSlot()
-    def addSuffixDialog(self, qitem=None):
-        d = {"label": "Value:", "inputname": "value" }
-        if qitem is not None:
-            d["value"] = qitem.quirk.quirk["value"]
-        vdict = MultiTextDialog("ENTER SUFFIX", self, d).getText()
-        if vdict is None:
-            return
-        vdict["type"] = "suffix"
-        newquirk = pesterQuirk(vdict)
-        if qitem is None:
-            item = PesterQuirkItem(newquirk)
-            self.quirkList.addItem(item)
-        else:
-            qitem.update(newquirk)
-        #self.quirkList.sortItems()
+        if vdict["type"] in ("regexp", "random"):
+            try:
+                re.compile(vdict["from"])
+            except re.error, e:
+                quirkWarning = QtGui.QMessageBox(self)
+                quirkWarning.setText("Not a valid regular expression!")
+                quirkWarning.setInformativeText("H3R3S WHY DUMP4SS: %s" % (e))
+                quirkWarning.exec_()
+                self.quirkadd = None
+                return
 
-    @QtCore.pyqtSlot()
-    def addSimpleReplaceDialog(self, qitem=None):
-        d = [{"label": "Replace:", "inputname": "from"}, {"label": "With:", "inputname": "to"}]
-        if qitem is not None:
-            d[0]["value"] = qitem.quirk.quirk["from"]
-            d[1]["value"] = qitem.quirk.quirk["to"]
-        vdict = MultiTextDialog("REPLACE", self, *d).getText()
-        if vdict is None:
-            return
-        vdict["type"] = "replace"
-        newquirk = pesterQuirk(vdict)
-        if qitem is None:
-            item = PesterQuirkItem(newquirk)
+        quirk = pesterQuirk(vdict)
+        if self.quirkadd.quirk is None:
+            item = PesterQuirkItem(quirk)
             self.quirkList.addItem(item)
         else:
-            qitem.update(newquirk)
-        #self.quirkList.sortItems()
-
+            self.quirkadd.quirk.update(quirk)
+        self.quirkadd = None
     @QtCore.pyqtSlot()
-    def addRegexpDialog(self, qitem=None):
-        d = [{"label": "Regexp:", "inputname": "from"}, {"label": "Replace With:", "inputname": "to"}]
-        if qitem is not None:
-            d[0]["value"] = qitem.quirk.quirk["from"]
-            d[1]["value"] = qitem.quirk.quirk["to"]
-        vdict = MultiTextDialog("REGEXP REPLACE", self, *d).getText()
-        if vdict is None:
-            return
-        vdict["type"] = "regexp"
-        try:
-            re.compile(vdict["from"])
-        except re.error, e:
-            quirkWarning = QtGui.QMessageBox(self)
-            quirkWarning.setText("Not a valid regular expression!")
-            quirkWarning.setInformativeText("H3R3S WHY DUMP4SS: %s" % (e))
-            quirkWarning.exec_()
-            return
-
-        newquirk = pesterQuirk(vdict)
-        if qitem is None:
-            item = PesterQuirkItem(newquirk)
-            self.quirkList.addItem(item)
-        else:
-            qitem.update(newquirk)
-        #self.quirkList.sortItems()
-    @QtCore.pyqtSlot()
-    def addRandomDialog(self, qitem=None):
-        values = {}
-        if qitem is not None:
-            values["list"] = qitem.quirk.quirk["randomlist"]
-            values["regexp"] = qitem.quirk.quirk["from"]
-        vdict = RandomQuirkDialog(self, values).getText()
-        if vdict is None:
-            return
-        vdict["type"] = "random"
-        try:
-            re.compile(vdict["from"])
-        except re.error, e:
-            quirkWarning = QtGui.QMessageBox(self)
-            quirkWarning.setText("Not a valid regular expression!")
-            quirkWarning.setInformativeText("H3R3S WHY DUMP4SS: %s" % (e))
-            quirkWarning.exec_()
-            return
-        newquirk = pesterQuirk(vdict)
-        if qitem is None:
-            item = PesterQuirkItem(newquirk)
-            self.quirkList.addItem(item)
-        else:
-            qitem.update(newquirk)
-        #self.quirkList.sortItems()
-    @QtCore.pyqtSlot()
-    def addSpellDialog(self, qitem=None):
-        vdict = MispellQuirkDialog(self).getPercentage()
-        if vdict is None:
-            return
-        vdict["type"] = "spelling"
-        newquirk = pesterQuirk(vdict)
-        if qitem is None:
-            item = PesterQuirkItem(newquirk)
-            self.quirkList.addItem(item)
-        else:
-            qitem.update(newquirk)
-        #self.quirkList.sortItems()
+    def closeQuirk(self):
+        self.quirkadd = None
 
 class PesterChooseTheme(QtGui.QDialog):
     def __init__(self, config, theme, parent):

From 4a24f8fe27f4f84dc8c420288092e569d7f1179d Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Fri, 17 Jun 2011 09:07:03 -0700
Subject: [PATCH 148/166] Throw up a message box on quirk function loading
 problems

---
 pyquirks.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/pyquirks.py b/pyquirks.py
index 48288b0..c056d3a 100644
--- a/pyquirks.py
+++ b/pyquirks.py
@@ -1,4 +1,5 @@
 import os, sys, imp, re
+from PyQt4 import QtGui, QtCore
 
 class PythonQuirks(object):
     def __init__(self):
@@ -23,6 +24,10 @@ class PythonQuirks(object):
             try: module = imp.load_source(name, filename)
             except Exception, e:
                 print "Error loading %s: %s (in pyquirks.py)" % (name, e)
+                msgbox = QtGui.QMessageBox()
+                msgbox.setWindowTitle("Error!")
+                msgbox.setText("Error loading %s: %s (in pyquirks.py)" % (name, e))
+                msgbox.exec_()
             else:
                 if hasattr(module, 'setup'):
                     module.setup()
@@ -45,6 +50,10 @@ class PythonQuirks(object):
                         raise Exception
                 except:
                     print "Quirk malformed: %s" % (obj.command)
+                    msgbox = QtGui.QMessageBox()
+                    msgbox.setWindowTitle("Error!")
+                    msgbox.setText("Quirk malformed: %s" % (obj.command))
+                    msgbox.exec_()
                 else:
                     self.quirks[obj.command+"("] = obj
 

From 820d4f846d5706e36ab5f0a022ab0bc4b75a89d9 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Fri, 17 Jun 2011 13:49:58 -0700
Subject: [PATCH 149/166] Bug fix: Close c tags on system messages! D:

---
 dataobjs.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dataobjs.py b/dataobjs.py
index c5f8799..fac8c0b 100644
--- a/dataobjs.py
+++ b/dataobjs.py
@@ -230,7 +230,7 @@ class PesterProfile(object):
     def moodmsg(self, mood, syscolor, theme):
         return "-- %s [%s] changed their mood to %s  --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), mood.name().upper(), theme["main/chums/moods"][mood.name()]["icon"])
     def idlemsg(self, syscolor, verb):
-        return "-- %s [%s] %s --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb)
+        return "-- %s [%s] %s --" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb)
     def memoclosemsg(self, syscolor, timeGrammar, verb):
         return "%s%s%s %s." % (syscolor.name(), self.colorhtml(), timeGrammar.pcf, self.initials(), timeGrammar.number, verb)
     def memoopenmsg(self, syscolor, td, timeGrammar, verb, channel):
@@ -252,7 +252,7 @@ class PesterProfile(object):
         (temporal, pcf, when) = (timeGrammar.temporal, timeGrammar.pcf, timeGrammar.when)
         timetext = timeDifference(td)
         initials = pcf+self.initials()+timeGrammar.number
-        return "%s %s [%s] %s %s." % \
+        return "%s %s [%s] %s %s." % \
             (syscolor.name(), self.colorhtml(), temporal, self.handle,
              initials, timetext, verb)
     def memoopmsg(self, opchum, opgrammar, syscolor):

From 070b785bdbee8b1a8406e6f9671d4c98305aecc6 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Fri, 17 Jun 2011 13:52:03 -0700
Subject: [PATCH 150/166] Check for PC updates: Daily, weekly, on start, never

---
 TODO.mkdn     |  2 ++
 menus.py      | 15 ++++++++++---
 pesterchum.py | 62 ++++++++++++++++++++++++++++++++++++++++++---------
 3 files changed, 65 insertions(+), 14 deletions(-)

diff --git a/TODO.mkdn b/TODO.mkdn
index 92961c2..42f5e6d 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -12,6 +12,8 @@ Features
 * "someone has friended you" notifier
 * MSPA update notifier option
 * Don't animate emotes not in current tab
+* Humanify times > 24 hours
+* Show true bans?
 
 Bugs
 ----
diff --git a/menus.py b/menus.py
index 6f4bb53..9331368 100644
--- a/menus.py
+++ b/menus.py
@@ -1020,8 +1020,17 @@ class PesterOptions(QtGui.QDialog):
         layout_5.addWidget(QtGui.QLabel("Minutes before Idle:"))
         layout_5.addWidget(self.idleBox)
 
-        self.updatecheck = QtGui.QCheckBox("Check for Updates on Start", self)
-        self.updatecheck.setChecked(self.config.checkForUpdates())
+        self.updateBox = QtGui.QComboBox(self)
+        self.updateBox.addItem("Once a Day")
+        self.updateBox.addItem("Once a Week")
+        self.updateBox.addItem("Only on Start")
+        self.updateBox.addItem("Never")
+        check = self.config.checkForUpdates()
+        if check >= 0 and check < self.updateBox.count():
+            self.updateBox.setCurrentIndex(check)
+        layout_6 = QtGui.QHBoxLayout()
+        layout_6.addWidget(QtGui.QLabel("Check for\nPesterchum Updates:"))
+        layout_6.addWidget(self.updateBox)
 
         if parent.randhandler.running:
             self.randomscheck = QtGui.QCheckBox("Receive Random Encounters")
@@ -1131,7 +1140,7 @@ class PesterOptions(QtGui.QDialog):
         layout_idle = QtGui.QVBoxLayout(widget)
         layout_idle.setAlignment(QtCore.Qt.AlignTop)
         layout_idle.addLayout(layout_5)
-        layout_idle.addWidget(self.updatecheck)
+        layout_idle.addLayout(layout_6)
         self.pages.addWidget(widget)
 
         # Theme
diff --git a/pesterchum.py b/pesterchum.py
index 53bac1b..b29de1b 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -12,7 +12,7 @@ import codecs
 import re
 import socket
 import platform
-from time import strftime
+from time import strftime, time
 
 missing = []
 try:
@@ -408,7 +408,17 @@ class userConfig(object):
     def animations(self):
         return self.config.get('animations', True)
     def checkForUpdates(self):
-        return self.config.get('checkUpdates', True)
+        u = self.config.get('checkUpdates', 0)
+        if type(u) == type(bool()):
+            if u: u = 2
+            else: u = 3
+        return u
+        # Once a day
+        # Once a week
+        # Only on start
+        # Never
+    def lastUCheck(self):
+        return self.config.get('lastUCheck', 0)
     def addChum(self, chum):
         if chum.handle not in self.chums():
             fp = open(self.filename) # what if we have two clients open??
@@ -2629,7 +2639,7 @@ class PesterWindow(MovingWindow):
             self.config.set('animations', animatesetting)
             self.animationSetting.emit(animatesetting)
         # update checked
-        updatechecksetting = self.optionmenu.updatecheck.isChecked()
+        updatechecksetting = self.optionmenu.updateBox.currentIndex()
         curupdatecheck = self.config.checkForUpdates()
         if updatechecksetting != curupdatecheck:
             self.config.set('checkUpdates', updatechecksetting)
@@ -2922,14 +2932,44 @@ class MainProgram(QtCore.QObject):
         self.irc = PesterIRC(self.widget.config, self.widget)
         self.connectWidgets(self.irc, self.widget)
 
-        if self.widget.config.checkForUpdates():
-            import Queue
-            import threading
-            q = Queue.Queue(1)
-            s = threading.Thread(target=version.updateCheck, args=(q,0)) # the 0 is to stop
-            w = threading.Thread(target=self.showUpdate, args=(q,0))     # stupid syntax errors
-            w.start()
-            s.start()
+        # 0 Once a day
+        # 1 Once a week
+        # 2 Only on start
+        # 3 Never
+        check = self.widget.config.checkForUpdates()
+        if check == 2:
+            self.runUpdateSlot()
+        elif check == 0:
+            seconds = 60 * 60 * 24
+            if int(time()) - self.widget.config.lastUCheck() < seconds:
+                seconds -= int(time()) - self.widget.config.lastUCheck()
+            if seconds < 0: seconds = 0
+            QtCore.QTimer.singleShot(1000*seconds, self, QtCore.SLOT('runUpdateSlot()'))
+        elif check == 1:
+            seconds = 60 * 60 * 24 * 7
+            if int(time()) - self.widget.config.lastUCheck() < seconds:
+                seconds -= int(time()) - self.widget.config.lastUCheck()
+            if seconds < 0: seconds = 0
+            QtCore.QTimer.singleShot(1000*seconds, self, QtCore.SLOT('runUpdateSlot()'))
+
+    @QtCore.pyqtSlot()
+    def runUpdateSlot(self):
+        import Queue
+        import threading
+        q = Queue.Queue(1)
+        s = threading.Thread(target=version.updateCheck, args=(q,0)) # the 0 is to stop
+        w = threading.Thread(target=self.showUpdate, args=(q,0))     # stupid syntax errors
+        w.start()
+        s.start()
+        self.widget.config.set('lastUCheck', int(time()))
+        check = self.widget.config.checkForUpdates()
+        if check == 0:
+            seconds = 60 * 60 * 24
+        elif check == 1:
+            seconds = 60 * 60 * 24 * 7
+        else:
+            return
+        QtCore.QTimer.singleShot(1000*seconds, self, QtCore.SLOT('runUpdateSlot()'))
 
     widget2irc = [('sendMessage(QString, QString)',
                    'sendMessage(QString, QString)'),

From 603f61ca5c913485eba794941b64186d1f974a61 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sat, 18 Jun 2011 22:55:00 -0700
Subject: [PATCH 151/166] Bug fix: Full sized right click menu in gold convo
 input

---
 CHANGELOG.mkdn       | 1 +
 themes/gold/style.js | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index 6f0ac75..e658a3e 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -58,6 +58,7 @@ CHANGELOG
     * Chumhandles must match EXACTLY to register mood changes - Kiooeht [evacipatedBox]
     * Menu bar text colour correct when default system colour isn't black - Kiooeht [evacipatedBox]
     * End all colour tags and restart them on split messages - Kiooeht [evacipatedBox]
+    * Chat input box right-click menus - Kiooeht [evacipatedBox]
 
 ### 3.14.1
 * Pesterchum 3.14 - illuminatedwax [ghostDunk]
diff --git a/themes/gold/style.js b/themes/gold/style.js
index fad0bd6..67105c0 100644
--- a/themes/gold/style.js
+++ b/themes/gold/style.js
@@ -262,7 +262,7 @@
       "style": "background: white;  font-size: 14px; border:2px solid #c48a00;text-align:center; margin-right:10px; margin-left:10px; margin-bottom:5px;"
   },
   "input": {
-      "style": "background: white; border:2px solid #c48a00; margin-right:10px; margin-left:10px; font-size: 14px; height: 20px"
+      "style": "background: white; border:2px solid #c48a00; margin-right:10px; margin-left:10px; font-size: 14px;"
   },
   "tabs": {
       "style": "",

From d11d5efe6f8c7245b51d3baccdcac5859cefe804 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sun, 19 Jun 2011 05:32:06 -0700
Subject: [PATCH 152/166] Bug fix: Force ChanServ messages to system colour

---
 TODO.mkdn     | 1 -
 pesterchum.py | 3 +++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/TODO.mkdn b/TODO.mkdn
index 42f5e6d..e5eef59 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -12,7 +12,6 @@ Features
 * "someone has friended you" notifier
 * MSPA update notifier option
 * Don't animate emotes not in current tab
-* Humanify times > 24 hours
 * Show true bans?
 
 Bugs
diff --git a/pesterchum.py b/pesterchum.py
index b29de1b..598bbcc 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -1737,6 +1737,9 @@ class PesterWindow(MovingWindow):
             memo.times[handle] = time
         if msg[0:3] != "/me" and msg[0:13] != "PESTERCHUM:ME":
             msg = addTimeInitial(msg, memo.times[handle].getGrammar())
+        if handle == "ChanServ":
+            systemColor = QtGui.QColor(self.theme["memos/systemMsgColor"])
+            msg = "%s" % (systemColor.name(), msg)
         memo.addMessage(msg, handle)
         if self.config.soundOn():
             if self.config.memoSound():

From 35845db8e3c6d881a006ddc9d97ee5b2e62f8319 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sun, 19 Jun 2011 05:32:33 -0700
Subject: [PATCH 153/166] Bump dev up to Beta 5

---
 version.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/version.py b/version.py
index 153e3b4..080f991 100644
--- a/version.py
+++ b/version.py
@@ -10,7 +10,7 @@ _pcStatus = "B" # A  = alpha
                 # B  = beta
                 # RC = release candidate
                 # None = public release
-_pcRevision = "4"
+_pcRevision = "5"
 _pcVersion = ""
 
 def pcVerCalc():

From c13be58b4919597b737fb1438b85d6ba2d8d95e3 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Sun, 19 Jun 2011 05:57:24 -0700
Subject: [PATCH 154/166] Bug fix: Wrap all messages in quiet 

---
 CHANGELOG.mkdn | 1 +
 convo.py       | 2 +-
 memos.py       | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index e658a3e..6099302 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -59,6 +59,7 @@ CHANGELOG
     * Menu bar text colour correct when default system colour isn't black - Kiooeht [evacipatedBox]
     * End all colour tags and restart them on split messages - Kiooeht [evacipatedBox]
     * Chat input box right-click menus - Kiooeht [evacipatedBox]
+    * Don't overflow random colours into colourless messages - Kiooeht [evacipatedBox]
 
 ### 3.14.1
 * Pesterchum 3.14 - illuminatedwax [ghostDunk]
diff --git a/convo.py b/convo.py
index c221a1e..4e010d1 100644
--- a/convo.py
+++ b/convo.py
@@ -337,7 +337,7 @@ class PesterText(QtGui.QTextEdit):
             lexmsg[0:0] = [colorBegin("" % (color), color),
                            "%s: " % (initials)]
             lexmsg.append(colorEnd(""))
-            self.append(time + convertTags(lexmsg))
+            self.append("" + time + convertTags(lexmsg) + "")
             if chum is me:
                 window.chatlog.log(parent.chum.handle, lexmsg)
             else:
diff --git a/memos.py b/memos.py
index 6818826..1f97eac 100644
--- a/memos.py
+++ b/memos.py
@@ -321,7 +321,7 @@ class MemoText(PesterText):
             window.chatlog.log(parent.channel, memsg)
             self.append(convertTags(memsg))
         else:
-            self.append(makeSafe(convertTags(lexmsg)))
+            self.append("" + makeSafe(convertTags(lexmsg)) + "")
             window.chatlog.log(parent.channel, lexmsg)
 
     def changeTheme(self, theme):

From 903a12010fee6b1eb2e4e492562bdbada976e391 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 20 Jun 2011 03:34:06 -0700
Subject: [PATCH 155/166] Flash in taskbar on new messages

---
 CHANGELOG.mkdn | 1 +
 convo.py       | 2 ++
 pesterchum.py  | 8 ++++++++
 3 files changed, 11 insertions(+)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index 6099302..283e0e9 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -44,6 +44,7 @@ CHANGELOG
 * Quirk tester in quirk window - Kiooeht [evacipatedBox] (Idea: [alGore])
 * Show and support giving kick reasons - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Make adding quirks into multi-page wizard - Kiooeht [evacipatedBox]
+* Flash the taskbar on new messages - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/convo.py b/convo.py
index 4e010d1..8fe6099 100644
--- a/convo.py
+++ b/convo.py
@@ -605,6 +605,7 @@ class PesterConvo(QtGui.QFrame):
             # ok if it has a tabconvo parent, send that the notify.
             if self.parent():
                 self.parent().notifyNewMessage(self.title())
+                self.mainwindow.gainAttention.emit(self.parent())
             # if not change the window title and update system tray
             else:
                 self.newmessage = True
@@ -612,6 +613,7 @@ class PesterConvo(QtGui.QFrame):
                 def func():
                     self.showChat()
                 self.mainwindow.waitingMessages.addMessage(self.title(), func)
+                self.mainwindow.gainAttention.emit(self)
 
     def clearNewMessage(self):
         if self.parent():
diff --git a/pesterchum.py b/pesterchum.py
index 598bbcc..913bc5d 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -2853,6 +2853,7 @@ class PesterWindow(MovingWindow):
     inviteOnlyChan = QtCore.pyqtSignal(QtCore.QString)
     closeSignal = QtCore.pyqtSignal()
     reconnectIRC = QtCore.pyqtSignal()
+    gainAttention = QtCore.pyqtSignal(QtGui.QWidget)
 
 class PesterTray(QtGui.QSystemTrayIcon):
     def __init__(self, icon, mainwindow, parent):
@@ -2935,6 +2936,9 @@ class MainProgram(QtCore.QObject):
         self.irc = PesterIRC(self.widget.config, self.widget)
         self.connectWidgets(self.irc, self.widget)
 
+        self.connect(self.widget, QtCore.SIGNAL('gainAttention(QWidget*)'),
+                     self, QtCore.SLOT('alertWindow(QWidget*)'))
+
         # 0 Once a day
         # 1 Once a week
         # 2 Only on start
@@ -2974,6 +2978,10 @@ class MainProgram(QtCore.QObject):
             return
         QtCore.QTimer.singleShot(1000*seconds, self, QtCore.SLOT('runUpdateSlot()'))
 
+    @QtCore.pyqtSlot(QtGui.QWidget)
+    def alertWindow(self, widget):
+        self.app.alert(widget)
+
     widget2irc = [('sendMessage(QString, QString)',
                    'sendMessage(QString, QString)'),
                   ('sendNotice(QString, QString)',

From 14b812b08cd11a28d9118be43f331245c578ed6c Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 20 Jun 2011 08:22:54 -0700
Subject: [PATCH 156/166] Different sound for when initials are mentioned in a
 memo

---
 CHANGELOG.mkdn       |   1 +
 TODO.mkdn            |   1 +
 memos.py             |   4 ++--
 menus.py             |   6 ++++++
 pesterchum.py        |  14 ++++++++++++++
 themes/namealarm.wav | Bin 0 -> 44144 bytes
 6 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 themes/namealarm.wav

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index 283e0e9..abba568 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -45,6 +45,7 @@ CHANGELOG
 * Show and support giving kick reasons - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Make adding quirks into multi-page wizard - Kiooeht [evacipatedBox]
 * Flash the taskbar on new messages - Kiooeht [evacipatedBox]
+* Third beep sound for when your initials are mentioned in memos - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/TODO.mkdn b/TODO.mkdn
index e5eef59..dda872e 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -13,6 +13,7 @@ Features
 * MSPA update notifier option
 * Don't animate emotes not in current tab
 * Show true bans?
+* Colour saving boxes things?
 
 Bugs
 ----
diff --git a/memos.py b/memos.py
index 1f97eac..46be764 100644
--- a/memos.py
+++ b/memos.py
@@ -315,13 +315,13 @@ class MemoText(PesterText):
             if msg.count(" msg.count(""):
                 for i in range(msg.count("")):
                     msg = msg + ""
-            return msg
+            return "" + msg + ""
         if type(lexmsg[0]) is mecmd:
             memsg = chum.memsg(systemColor, lexmsg, time=time.getGrammar())
             window.chatlog.log(parent.channel, memsg)
             self.append(convertTags(memsg))
         else:
-            self.append("" + makeSafe(convertTags(lexmsg)) + "")
+            self.append(makeSafe(convertTags(lexmsg)))
             window.chatlog.log(parent.channel, lexmsg)
 
     def changeTheme(self, theme):
diff --git a/menus.py b/menus.py
index 9331368..cf331f1 100644
--- a/menus.py
+++ b/menus.py
@@ -941,11 +941,14 @@ class PesterOptions(QtGui.QDialog):
         self.chatsoundcheck.setChecked(self.config.chatSound())
         self.memosoundcheck = QtGui.QCheckBox("Memo Sounds", self)
         self.memosoundcheck.setChecked(self.config.memoSound())
+        self.namesoundcheck = QtGui.QCheckBox("Memo Mention (initials)", self)
+        self.namesoundcheck.setChecked(self.config.nameSound())
         if self.config.soundOn():
             self.soundcheck.setChecked(True)
         else:
             self.chatsoundcheck.setEnabled(False)
             self.memosoundcheck.setEnabled(False)
+            self.namesoundcheck.setEnabled(False)
 
 
         self.timestampcheck = QtGui.QCheckBox("Time Stamps", self)
@@ -1121,6 +1124,7 @@ class PesterOptions(QtGui.QDialog):
         layout_indent = QtGui.QVBoxLayout()
         layout_indent.addWidget(self.chatsoundcheck)
         layout_indent.addWidget(self.memosoundcheck)
+        layout_indent.addWidget(self.namesoundcheck)
         layout_indent.setContentsMargins(22,0,0,0)
         layout_sound.addLayout(layout_indent)
         self.pages.addWidget(widget)
@@ -1182,9 +1186,11 @@ class PesterOptions(QtGui.QDialog):
         if state == 0:
             self.chatsoundcheck.setEnabled(False)
             self.memosoundcheck.setEnabled(False)
+            self.namesoundcheck.setEnabled(False)
         else:
             self.chatsoundcheck.setEnabled(True)
             self.memosoundcheck.setEnabled(True)
+            self.namesoundcheck.setEnabled(True)
 
 class PesterUserlist(QtGui.QDialog):
     def __init__(self, config, theme, parent):
diff --git a/pesterchum.py b/pesterchum.py
index 913bc5d..2658223 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -503,6 +503,8 @@ class userConfig(object):
         return self.config.get('chatSound', True)
     def memoSound(self):
         return self.config.get('memoSound', True)
+    def nameSound(self):
+        return self.config.get('nameSound', True)
     def set(self, item, setting):
         self.config[item] = setting
         try:
@@ -1742,6 +1744,12 @@ class PesterWindow(MovingWindow):
             msg = "%s" % (systemColor.name(), msg)
         memo.addMessage(msg, handle)
         if self.config.soundOn():
+            if self.config.nameSound():
+                initials = self.userprofile.chat.initials()
+                search = r"\b[%s%s][%s%s]\b" % (initials[0].lower(), initials[0], initials[1].lower(), initials[1])
+                if re.search(search, convertTags(msg, "text")):
+                    self.namesound.play()
+                    return
             if self.config.memoSound():
                 self.memosound.play()
 
@@ -1981,10 +1989,12 @@ class PesterWindow(MovingWindow):
             try:
                 self.alarm = pygame.mixer.Sound(theme["main/sounds/alertsound"])
                 self.memosound = pygame.mixer.Sound(theme["main/sounds/memosound"])
+                self.namesound = pygame.mixer.Sound("themes/namealarm.wav")
                 self.ceasesound = pygame.mixer.Sound(theme["main/sounds/ceasesound"])
             except Exception, e:
                 self.alarm = NoneSound()
                 self.memosound = NoneSound()
+                self.namesound = NoneSound()
                 self.ceasesound = NoneSound()
 
     def changeTheme(self, theme):
@@ -2558,6 +2568,10 @@ class PesterWindow(MovingWindow):
         curmemosound = self.config.memoSound()
         if memosoundsetting != curmemosound:
             self.config.set('memoSound', memosoundsetting)
+        namesoundsetting = self.optionmenu.namesoundcheck.isChecked()
+        curnamesound = self.config.nameSound()
+        if namesoundsetting != curnamesound:
+            self.config.set('nameSound', namesoundsetting)
         # timestamps
         timestampsetting = self.optionmenu.timestampcheck.isChecked()
         self.config.set("showTimeStamps", timestampsetting)
diff --git a/themes/namealarm.wav b/themes/namealarm.wav
new file mode 100644
index 0000000000000000000000000000000000000000..10e6ad0c96fa534bb049f682f88c3c7341206a62
GIT binary patch
literal 44144
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
Date: Mon, 20 Jun 2011 09:25:38 -0700
Subject: [PATCH 157/166] :o) hOnK

---
 pesterchum.py   |   7 ++++++-
 themes/honk.wav | Bin 0 -> 34540 bytes
 2 files changed, 6 insertions(+), 1 deletion(-)
 create mode 100644 themes/honk.wav

diff --git a/pesterchum.py b/pesterchum.py
index 2658223..504d4e5 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -1751,7 +1751,10 @@ class PesterWindow(MovingWindow):
                     self.namesound.play()
                     return
             if self.config.memoSound():
-                self.memosound.play()
+                if re.search(r"\bhonk\b", convertTags(msg, "text"), re.I):
+                    self.honksound.play()
+                else:
+                    self.memosound.play()
 
     def changeColor(self, handle, color):
         # pesterconvo and chumlist
@@ -1991,11 +1994,13 @@ class PesterWindow(MovingWindow):
                 self.memosound = pygame.mixer.Sound(theme["main/sounds/memosound"])
                 self.namesound = pygame.mixer.Sound("themes/namealarm.wav")
                 self.ceasesound = pygame.mixer.Sound(theme["main/sounds/ceasesound"])
+                self.honksound = pygame.mixer.Sound("themes/honk.wav")
             except Exception, e:
                 self.alarm = NoneSound()
                 self.memosound = NoneSound()
                 self.namesound = NoneSound()
                 self.ceasesound = NoneSound()
+                self.honksound = NoneSound()
 
     def changeTheme(self, theme):
         # check theme
diff --git a/themes/honk.wav b/themes/honk.wav
new file mode 100644
index 0000000000000000000000000000000000000000..7142ac8c0c552f4cf378c37342d310fcfb899e98
GIT binary patch
literal 34540
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

literal 0
HcmV?d00001


From 20478c94b3d40cc11204224235d7d566498ca0f8 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 20 Jun 2011 10:00:39 -0700
Subject: [PATCH 158/166] Ctrl + click to copy links. Bug fix: Only open links
 on left click

---
 CHANGELOG.mkdn |  2 ++
 convo.py       | 22 +++++++++++++---------
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index abba568..aff0332 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -46,6 +46,7 @@ CHANGELOG
 * Make adding quirks into multi-page wizard - Kiooeht [evacipatedBox]
 * Flash the taskbar on new messages - Kiooeht [evacipatedBox]
 * Third beep sound for when your initials are mentioned in memos - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
+* Ctrl + click to copy links - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
@@ -62,6 +63,7 @@ CHANGELOG
     * End all colour tags and restart them on split messages - Kiooeht [evacipatedBox]
     * Chat input box right-click menus - Kiooeht [evacipatedBox]
     * Don't overflow random colours into colourless messages - Kiooeht [evacipatedBox]
+    * Only open links on left click - Kiooeht [evacipatedBox]
 
 ### 3.14.1
 * Pesterchum 3.14 - illuminatedwax [ghostDunk]
diff --git a/convo.py b/convo.py
index 8fe6099..3b538bd 100644
--- a/convo.py
+++ b/convo.py
@@ -368,15 +368,19 @@ class PesterText(QtGui.QTextEdit):
         QtGui.QTextEdit.keyPressEvent(self, event)
 
     def mousePressEvent(self, event):
-        url = self.anchorAt(event.pos())
-        if url != "":
-            if url[0] == "#" and url != "#pesterchum":
-                self.parent().mainwindow.showMemos(url[1:])
-            elif url[0] == "@":
-                handle = unicode(url[1:])
-                self.parent().mainwindow.newConversation(handle)
-            else:
-                QtGui.QDesktopServices.openUrl(QtCore.QUrl(url, QtCore.QUrl.TolerantMode))
+        if event.button() == QtCore.Qt.LeftButton:
+            url = self.anchorAt(event.pos())
+            if url != "":
+                if url[0] == "#" and url != "#pesterchum":
+                    self.parent().mainwindow.showMemos(url[1:])
+                elif url[0] == "@":
+                    handle = unicode(url[1:])
+                    self.parent().mainwindow.newConversation(handle)
+                else:
+                    if event.modifiers() == QtCore.Qt.ControlModifier:
+                        QtGui.QApplication.clipboard().setText(url)
+                    else:
+                        QtGui.QDesktopServices.openUrl(QtCore.QUrl(url, QtCore.QUrl.TolerantMode))
         QtGui.QTextEdit.mousePressEvent(self, event)
     def mouseMoveEvent(self, event):
         QtGui.QTextEdit.mouseMoveEvent(self, event)

From c8752dd29bc0ad32b3effd1dd37dc00a0f59f5b1 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Mon, 20 Jun 2011 16:18:47 -0700
Subject: [PATCH 159/166] Notify user when server is full

---
 CHANGELOG.mkdn     |  1 +
 irc.py             |  3 +++
 oyoyo/ircevents.py |  1 +
 pesterchum.py      | 11 ++++++++++-
 4 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index aff0332..616137f 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -47,6 +47,7 @@ CHANGELOG
 * Flash the taskbar on new messages - Kiooeht [evacipatedBox]
 * Third beep sound for when your initials are mentioned in memos - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Ctrl + click to copy links - Kiooeht [evacipatedBox]
+* Say something when server is full - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/irc.py b/irc.py
index 397b3f1..fcbea3c 100644
--- a/irc.py
+++ b/irc.py
@@ -283,6 +283,7 @@ class PesterIRC(QtCore.QThread):
     userPresentUpdate = QtCore.pyqtSignal(QtCore.QString, QtCore.QString,
                                    QtCore.QString)
     cannotSendToChan = QtCore.pyqtSignal(QtCore.QString, QtCore.QString)
+    tooManyPeeps = QtCore.pyqtSignal()
 
 class PesterHandler(DefaultCommandHandler):
     def notice(self, nick, chan, msg):
@@ -467,6 +468,8 @@ class PesterHandler(DefaultCommandHandler):
         self.parent.modesUpdated.emit(channel, modes)
     def cannotsendtochan(self, server, handle, channel, msg):
         self.parent.cannotSendToChan.emit(channel, msg)
+    def toomanypeeps(self, *stuff):
+        self.parent.tooManyPeeps.emit()
 
     def getMood(self, *chums):
         chumglub = "GETMOOD "
diff --git a/oyoyo/ircevents.py b/oyoyo/ircevents.py
index 623530f..6d8969b 100644
--- a/oyoyo/ircevents.py
+++ b/oyoyo/ircevents.py
@@ -23,6 +23,7 @@ numeric_events = {
     "003": "created",
     "004": "myinfo",
     "005": "featurelist",  # XXX
+    "010": "toomanypeeps",
     "200": "tracelink",
     "201": "traceconnecting",
     "202": "tracehandshake",
diff --git a/pesterchum.py b/pesterchum.py
index 504d4e5..5da6356 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -2843,6 +2843,13 @@ class PesterWindow(MovingWindow):
             # show context menu i guess
             #self.showTrayContext.emit()
 
+    @QtCore.pyqtSlot()
+    def tooManyPeeps(self):
+        msg = QtGui.QMessageBox(self)
+        msg.setText("D: TOO MANY PEOPLE!!!")
+        msg.setInformativeText("The server has hit max capacity. Please try again later.")
+        msg.show()
+
     pcUpdate = QtCore.pyqtSignal(QtCore.QString, QtCore.QString)
     closeToTraySignal = QtCore.pyqtSignal()
     newConvoStarted = QtCore.pyqtSignal(QtCore.QString, bool, name="newConvoStarted")
@@ -3064,7 +3071,9 @@ class MainProgram(QtCore.QObject):
                   ('modesUpdated(QString, QString)',
                    'modesUpdated(QString, QString)'),
                   ('cannotSendToChan(QString, QString)',
-                   'cannotSendToChan(QString, QString)')
+                   'cannotSendToChan(QString, QString)'),
+                  ('tooManyPeeps()',
+                   'tooManyPeeps()')
                   ]
     def connectWidgets(self, irc, widget):
         self.connect(irc, QtCore.SIGNAL('finished()'),

From 124c93b1d4d264455cf7e56860c36a0867ebf40a Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 23 Jun 2011 00:13:26 -0700
Subject: [PATCH 160/166] Don't animate except on current tab

---
 TODO.mkdn |  1 -
 convo.py  | 13 ++++++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/TODO.mkdn b/TODO.mkdn
index dda872e..95813b8 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -11,7 +11,6 @@ Features
 * Turn @ and # links on/off?
 * "someone has friended you" notifier
 * MSPA update notifier option
-* Don't animate emotes not in current tab
 * Show true bans?
 * Colour saving boxes things?
 
diff --git a/convo.py b/convo.py
index 3b538bd..ad05dc6 100644
--- a/convo.py
+++ b/convo.py
@@ -243,9 +243,16 @@ class PesterText(QtGui.QTextEdit):
             url = self.urls[movie].toString()
             html = unicode(self.toHtml())
             if html.find(url) != -1:
-                self.document().addResource(QtGui.QTextDocument.ImageResource,
-                                   self.urls[movie], movie.currentPixmap())
-                self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth())
+                if self.parent().parent():
+                    i = self.parent().parent().tabIndices[self.parent().title()]
+                    if self.parent().parent().tabs.currentIndex() == i:
+                        self.document().addResource(QtGui.QTextDocument.ImageResource,
+                                          self.urls[movie], movie.currentPixmap())
+                        self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth())
+                else:
+                    self.document().addResource(QtGui.QTextDocument.ImageResource,
+                                       self.urls[movie], movie.currentPixmap())
+                    self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth())
     @QtCore.pyqtSlot(bool)
     def animateChanged(self, animate):
         if animate:

From c45f7ea070b0fb489b40e3ba24ccaadefd6d1e1e Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 23 Jun 2011 00:21:35 -0700
Subject: [PATCH 161/166] Bug fix: Animations working in memos again (Whoops I
 broke the everything)

---
 convo.py | 4 ++--
 memos.py | 9 ++++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/convo.py b/convo.py
index ad05dc6..030cdf4 100644
--- a/convo.py
+++ b/convo.py
@@ -259,13 +259,13 @@ class PesterText(QtGui.QTextEdit):
             for m in self.urls:
                 html = unicode(self.toHtml())
                 if html.find(self.urls[m].toString()) != -1:
-                    if movie.frameCount() > 1:
+                    if m.frameCount() > 1:
                         m.start()
         else:
             for m in self.urls:
                 html = unicode(self.toHtml())
                 if html.find(self.urls[m].toString()) != -1:
-                    if movie.frameCount() > 1:
+                    if m.frameCount() > 1:
                         m.stop()
 
     @QtCore.pyqtSlot(bool)
diff --git a/memos.py b/memos.py
index 46be764..95e7c38 100644
--- a/memos.py
+++ b/memos.py
@@ -256,7 +256,9 @@ class MemoText(PesterText):
                      self, QtCore.SLOT('textReady(bool)'))
         self.urls = {}
         for k in smiledict:
-            self.addAnimation(QtCore.QUrl("smilies/%s" % (smiledict[k])), "smilies/%s" % (smiledict[k]));
+            self.addAnimation(QtCore.QUrl("smilies/%s" % (smiledict[k])), "smilies/%s" % (smiledict[k]))
+        self.connect(self.mainwindow, QtCore.SIGNAL('animationSetting(bool)'),
+                     self, QtCore.SLOT('animateChanged(bool)'))
 
     def initTheme(self, theme):
         if theme.has_key("memos/scrollbar"):
@@ -272,6 +274,11 @@ class MemoText(PesterText):
         parent = self.parent()
         window = parent.mainwindow
         me = window.profile()
+        if self.mainwindow.config.animations():
+            for m in self.urls:
+                if convertTags(lexmsg).find(self.urls[m].toString()) != -1:
+                    if m.state() == QtGui.QMovie.NotRunning:
+                        m.start()
         chumdb = window.chumdb
         if chum is not me: # SO MUCH WH1T3SP4C3 >:]
             if type(lexmsg[0]) is colorBegin: # get color tag

From d1920d2ccae05354f02782c3442298b197a21365 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 23 Jun 2011 09:02:20 -0700
Subject: [PATCH 162/166] Test connection by pinging server if no recent pings
 from server

---
 CHANGELOG.mkdn |  1 +
 irc.py         | 12 ++++++++++++
 pesterchum.py  | 15 +++++++++++++++
 3 files changed, 28 insertions(+)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index 616137f..e2f2fe6 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -48,6 +48,7 @@ CHANGELOG
 * Third beep sound for when your initials are mentioned in memos - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Ctrl + click to copy links - Kiooeht [evacipatedBox]
 * Say something when server is full - Kiooeht [evacipatedBox]
+* Ping server if no ping from server to test connection - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/irc.py b/irc.py
index fcbea3c..b74eac5 100644
--- a/irc.py
+++ b/irc.py
@@ -5,6 +5,7 @@ from oyoyo import helpers
 import logging
 import random
 import socket
+from time import time
 
 from dataobjs import Mood, PesterProfile
 from generic import PesterList
@@ -266,6 +267,13 @@ class PesterIRC(QtCore.QThread):
         except socket.error:
             self.setConnectionBroken()
 
+    @QtCore.pyqtSlot()
+    def pingServer(self):
+        try:
+            self.cli.send("PING %s" % int(time()))
+        except socket.error:
+            self.setConnectionBroken()
+
     moodUpdated = QtCore.pyqtSignal(QtCore.QString, Mood)
     colorUpdated = QtCore.pyqtSignal(QtCore.QString, QtGui.QColor)
     messageReceived = QtCore.pyqtSignal(QtCore.QString, QtCore.QString)
@@ -471,6 +479,10 @@ class PesterHandler(DefaultCommandHandler):
     def toomanypeeps(self, *stuff):
         self.parent.tooManyPeeps.emit()
 
+    def ping(self, prefix, server):
+        self.parent.mainwindow.lastping = int(time())
+        self.client.send('PONG', server)
+
     def getMood(self, *chums):
         chumglub = "GETMOOD "
         for c in chums:
diff --git a/pesterchum.py b/pesterchum.py
index 5da6356..6f7cd1a 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -1641,6 +1641,12 @@ class PesterWindow(MovingWindow):
         self.connect(self, QtCore.SIGNAL('pcUpdate(QString, QString)'),
                      self, QtCore.SLOT('updateMsg(QString, QString)'))
 
+        self.pingtimer = QtCore.QTimer()
+        self.connect(self.pingtimer, QtCore.SIGNAL('timeout()'),
+                self, QtCore.SLOT('checkPing()'))
+        self.lastping = int(time())
+        self.pingtimer.start(1000*10)
+
     @QtCore.pyqtSlot(QtCore.QString, QtCore.QString)
     def updateMsg(self, ver, url):
         if not hasattr(self, 'updatemenu'):
@@ -1663,6 +1669,12 @@ class PesterWindow(MovingWindow):
     def noUpdatePC(self):
         self.updatemenu = None
 
+    @QtCore.pyqtSlot()
+    def checkPing(self):
+        curtime = int(time())
+        if curtime - self.lastping > 300:
+            self.pingServer.emit()
+
     def profile(self):
         return self.userprofile.chat
     def closeConversations(self, switch=False):
@@ -2880,6 +2892,7 @@ class PesterWindow(MovingWindow):
     closeSignal = QtCore.pyqtSignal()
     reconnectIRC = QtCore.pyqtSignal()
     gainAttention = QtCore.pyqtSignal(QtGui.QWidget)
+    pingServer = QtCore.pyqtSignal()
 
 class PesterTray(QtGui.QSystemTrayIcon):
     def __init__(self, icon, mainwindow, parent):
@@ -3038,6 +3051,8 @@ class MainProgram(QtCore.QObject):
                    'channelNames(QString)'),
                   ('inviteChum(QString, QString)',
                    'inviteChum(QString, QString)'),
+                  ('pingServer()',
+                   'pingServer()'),
                   ('reconnectIRC()', 'reconnectIRC()')
                   ]
 # IRC --> Main window

From 545746b91168a69d3642a233a5d4e25f5851cfd6 Mon Sep 17 00:00:00 2001
From: Kiooeht 
Date: Thu, 23 Jun 2011 13:40:22 -0700
Subject: [PATCH 163/166] MSPA update notifier

---
 .gitignore     |    1 +
 CHANGELOG.mkdn |    1 +
 TODO.mkdn      |    2 +-
 feedparser.py  | 2858 ++++++++++++++++++++++++++++++++++++++++++++++++
 menus.py       |    8 +-
 pesterchum.py  |   14 +
 updatecheck.py |  118 ++
 7 files changed, 3000 insertions(+), 2 deletions(-)
 create mode 100755 feedparser.py
 create mode 100644 updatecheck.py

diff --git a/.gitignore b/.gitignore
index b9f3db2..68cd135 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ irctest.log
 pesterchum.js
 quirks/*
 !quirks/defaults.py
+*.pkl
diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index e2f2fe6..0955c48 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -49,6 +49,7 @@ CHANGELOG
 * Ctrl + click to copy links - Kiooeht [evacipatedBox]
 * Say something when server is full - Kiooeht [evacipatedBox]
 * Ping server if no ping from server to test connection - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance])
+* MSPA comic update notifier - Kiooeht [evacipatedBox]
 * Bug fixes
     * Logviewer updates - Kiooeht [evacipatedBox]
     * Memo scrollbar thing - Kiooeht [evacipatedBox]
diff --git a/TODO.mkdn b/TODO.mkdn
index 95813b8..01264a5 100644
--- a/TODO.mkdn
+++ b/TODO.mkdn
@@ -10,9 +10,9 @@ Features
 * Spy mode
 * Turn @ and # links on/off?
 * "someone has friended you" notifier
-* MSPA update notifier option
 * Show true bans?
 * Colour saving boxes things?
+* Chum notes?
 
 Bugs
 ----
diff --git a/feedparser.py b/feedparser.py
new file mode 100755
index 0000000..bb802df
--- /dev/null
+++ b/feedparser.py
@@ -0,0 +1,2858 @@
+#!/usr/bin/env python
+"""Universal feed parser
+
+Handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds
+
+Visit http://feedparser.org/ for the latest version
+Visit http://feedparser.org/docs/ for the latest documentation
+
+Required: Python 2.1 or later
+Recommended: Python 2.3 or later
+Recommended: CJKCodecs and iconv_codec 
+"""
+
+__version__ = "4.1"# + "$Revision: 1.92 $"[11:15] + "-cvs"
+__license__ = """Copyright (c) 2002-2006, Mark Pilgrim, All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE."""
+__author__ = "Mark Pilgrim "
+__contributors__ = ["Jason Diamond ",
+                    "John Beimler ",
+                    "Fazal Majid ",
+                    "Aaron Swartz ",
+                    "Kevin Marks "]
+_debug = 0
+
+# HTTP "User-Agent" header to send to servers when downloading feeds.
+# If you are embedding feedparser in a larger application, you should
+# change this to your application name and URL.
+USER_AGENT = "UniversalFeedParser/%s +http://feedparser.org/" % __version__
+
+# HTTP "Accept" header to send to servers when downloading feeds.  If you don't
+# want to send an Accept header, set this to None.
+ACCEPT_HEADER = "application/atom+xml,application/rdf+xml,application/rss+xml,application/x-netcdf,application/xml;q=0.9,text/xml;q=0.2,*/*;q=0.1"
+
+# List of preferred XML parsers, by SAX driver name.  These will be tried first,
+# but if they're not installed, Python will keep searching through its own list
+# of pre-installed parsers until it finds one that supports everything we need.
+PREFERRED_XML_PARSERS = ["drv_libxml2"]
+
+# If you want feedparser to automatically run HTML markup through HTML Tidy, set
+# this to 1.  Requires mxTidy 
+# or utidylib .
+TIDY_MARKUP = 0
+
+# List of Python interfaces for HTML Tidy, in order of preference.  Only useful
+# if TIDY_MARKUP = 1
+PREFERRED_TIDY_INTERFACES = ["uTidy", "mxTidy"]
+
+# ---------- required modules (should come with any Python distribution) ----------
+import sgmllib, re, sys, copy, urlparse, time, rfc822, types, cgi, urllib, urllib2
+try:
+    from cStringIO import StringIO as _StringIO
+except:
+    from StringIO import StringIO as _StringIO
+
+# ---------- optional modules (feedparser will work without these, but with reduced functionality) ----------
+
+# gzip is included with most Python distributions, but may not be available if you compiled your own
+try:
+    import gzip
+except:
+    gzip = None
+try:
+    import zlib
+except:
+    zlib = None
+
+# If a real XML parser is available, feedparser will attempt to use it.  feedparser has
+# been tested with the built-in SAX parser, PyXML, and libxml2.  On platforms where the
+# Python distribution does not come with an XML parser (such as Mac OS X 10.2 and some
+# versions of FreeBSD), feedparser will quietly fall back on regex-based parsing.
+try:
+    import xml.sax
+    xml.sax.make_parser(PREFERRED_XML_PARSERS) # test for valid parsers
+    from xml.sax.saxutils import escape as _xmlescape
+    _XML_AVAILABLE = 1
+except:
+    _XML_AVAILABLE = 0
+    def _xmlescape(data):
+        data = data.replace('&', '&')
+        data = data.replace('>', '>')
+        data = data.replace('<', '<')
+        return data
+
+# base64 support for Atom feeds that contain embedded binary data
+try:
+    import base64, binascii
+except:
+    base64 = binascii = None
+
+# cjkcodecs and iconv_codec provide support for more character encodings.
+# Both are available from http://cjkpython.i18n.org/
+try:
+    import cjkcodecs.aliases
+except:
+    pass
+try:
+    import iconv_codec
+except:
+    pass
+
+# chardet library auto-detects character encodings
+# Download from http://chardet.feedparser.org/
+try:
+    import chardet
+    if _debug:
+        import chardet.constants
+        chardet.constants._debug = 1
+except:
+    chardet = None
+
+# ---------- don't touch these ----------
+class ThingsNobodyCaresAboutButMe(Exception): pass
+class CharacterEncodingOverride(ThingsNobodyCaresAboutButMe): pass
+class CharacterEncodingUnknown(ThingsNobodyCaresAboutButMe): pass
+class NonXMLContentType(ThingsNobodyCaresAboutButMe): pass
+class UndeclaredNamespace(Exception): pass
+
+sgmllib.tagfind = re.compile('[a-zA-Z][-_.:a-zA-Z0-9]*')
+sgmllib.special = re.compile('' % (tag, ''.join([' %s="%s"' % t for t in attrs])), escape=0)
+
+        # match namespaces
+        if tag.find(':') <> -1:
+            prefix, suffix = tag.split(':', 1)
+        else:
+            prefix, suffix = '', tag
+        prefix = self.namespacemap.get(prefix, prefix)
+        if prefix:
+            prefix = prefix + '_'
+
+        # special hack for better tracking of empty textinput/image elements in illformed feeds
+        if (not prefix) and tag not in ('title', 'link', 'description', 'name'):
+            self.intextinput = 0
+        if (not prefix) and tag not in ('title', 'link', 'description', 'url', 'href', 'width', 'height'):
+            self.inimage = 0
+        
+        # call special handler (if defined) or default handler
+        methodname = '_start_' + prefix + suffix
+        try:
+            method = getattr(self, methodname)
+            return method(attrsD)
+        except AttributeError:
+            return self.push(prefix + suffix, 1)
+
+    def unknown_endtag(self, tag):
+        if _debug: sys.stderr.write('end %s\n' % tag)
+        # match namespaces
+        if tag.find(':') <> -1:
+            prefix, suffix = tag.split(':', 1)
+        else:
+            prefix, suffix = '', tag
+        prefix = self.namespacemap.get(prefix, prefix)
+        if prefix:
+            prefix = prefix + '_'
+
+        # call special handler (if defined) or default handler
+        methodname = '_end_' + prefix + suffix
+        try:
+            method = getattr(self, methodname)
+            method()
+        except AttributeError:
+            self.pop(prefix + suffix)
+
+        # track inline content
+        if self.incontent and self.contentparams.has_key('type') and not self.contentparams.get('type', 'xml').endswith('xml'):
+            # element declared itself as escaped markup, but it isn't really
+            self.contentparams['type'] = 'application/xhtml+xml'
+        if self.incontent and self.contentparams.get('type') == 'application/xhtml+xml':
+            tag = tag.split(':')[-1]
+            self.handle_data('' % tag, escape=0)
+
+        # track xml:base and xml:lang going out of scope
+        if self.basestack:
+            self.basestack.pop()
+            if self.basestack and self.basestack[-1]:
+                self.baseuri = self.basestack[-1]
+        if self.langstack:
+            self.langstack.pop()
+            if self.langstack: # and (self.langstack[-1] is not None):
+                self.lang = self.langstack[-1]
+
+    def handle_charref(self, ref):
+        # called for each character reference, e.g. for ' ', ref will be '160'
+        if not self.elementstack: return
+        ref = ref.lower()
+        if ref in ('34', '38', '39', '60', '62', 'x22', 'x26', 'x27', 'x3c', 'x3e'):
+            text = '&#%s;' % ref
+        else:
+            if ref[0] == 'x':
+                c = int(ref[1:], 16)
+            else:
+                c = int(ref)
+            text = unichr(c).encode('utf-8')
+        self.elementstack[-1][2].append(text)
+
+    def handle_entityref(self, ref):
+        # called for each entity reference, e.g. for '©', ref will be 'copy'
+        if not self.elementstack: return
+        if _debug: sys.stderr.write('entering handle_entityref with %s\n' % ref)
+        if ref in ('lt', 'gt', 'quot', 'amp', 'apos'):
+            text = '&%s;' % ref
+        else:
+            # entity resolution graciously donated by Aaron Swartz
+            def name2cp(k):
+                import htmlentitydefs
+                if hasattr(htmlentitydefs, 'name2codepoint'): # requires Python 2.3
+                    return htmlentitydefs.name2codepoint[k]
+                k = htmlentitydefs.entitydefs[k]
+                if k.startswith('&#') and k.endswith(';'):
+                    return int(k[2:-1]) # not in latin-1
+                return ord(k)
+            try: name2cp(ref)
+            except KeyError: text = '&%s;' % ref
+            else: text = unichr(name2cp(ref)).encode('utf-8')
+        self.elementstack[-1][2].append(text)
+
+    def handle_data(self, text, escape=1):
+        # called for each block of plain text, i.e. outside of any tag and
+        # not containing any character or entity references
+        if not self.elementstack: return
+        if escape and self.contentparams.get('type') == 'application/xhtml+xml':
+            text = _xmlescape(text)
+        self.elementstack[-1][2].append(text)
+
+    def handle_comment(self, text):
+        # called for each comment, e.g. 
+        pass
+
+    def handle_pi(self, text):
+        # called for each processing instruction, e.g. 
+        pass
+
+    def handle_decl(self, text):
+        pass
+
+    def parse_declaration(self, i):
+        # override internal declaration handler to handle CDATA blocks
+        if _debug: sys.stderr.write('entering parse_declaration\n')
+        if self.rawdata[i:i+9] == '', i)
+            if k == -1: k = len(self.rawdata)
+            self.handle_data(_xmlescape(self.rawdata[i+9:k]), 0)
+            return k+3
+        else:
+            k = self.rawdata.find('>', i)
+            return k+1
+
+    def mapContentType(self, contentType):
+        contentType = contentType.lower()
+        if contentType == 'text':
+            contentType = 'text/plain'
+        elif contentType == 'html':
+            contentType = 'text/html'
+        elif contentType == 'xhtml':
+            contentType = 'application/xhtml+xml'
+        return contentType
+    
+    def trackNamespace(self, prefix, uri):
+        loweruri = uri.lower()
+        if (prefix, loweruri) == (None, 'http://my.netscape.com/rdf/simple/0.9/') and not self.version:
+            self.version = 'rss090'
+        if loweruri == 'http://purl.org/rss/1.0/' and not self.version:
+            self.version = 'rss10'
+        if loweruri == 'http://www.w3.org/2005/atom' and not self.version:
+            self.version = 'atom10'
+        if loweruri.find('backend.userland.com/rss') <> -1:
+            # match any backend.userland.com namespace
+            uri = 'http://backend.userland.com/rss'
+            loweruri = uri
+        if self._matchnamespaces.has_key(loweruri):
+            self.namespacemap[prefix] = self._matchnamespaces[loweruri]
+            self.namespacesInUse[self._matchnamespaces[loweruri]] = uri
+        else:
+            self.namespacesInUse[prefix or ''] = uri
+
+    def resolveURI(self, uri):
+        return _urljoin(self.baseuri or '', uri)
+    
+    def decodeEntities(self, element, data):
+        return data
+
+    def push(self, element, expectingText):
+        self.elementstack.append([element, expectingText, []])
+
+    def pop(self, element, stripWhitespace=1):
+        if not self.elementstack: return
+        if self.elementstack[-1][0] != element: return
+        
+        element, expectingText, pieces = self.elementstack.pop()
+        output = ''.join(pieces)
+        if stripWhitespace:
+            output = output.strip()
+        if not expectingText: return output
+
+        # decode base64 content
+        if base64 and self.contentparams.get('base64', 0):
+            try:
+                output = base64.decodestring(output)
+            except binascii.Error:
+                pass
+            except binascii.Incomplete:
+                pass
+                
+        # resolve relative URIs
+        if (element in self.can_be_relative_uri) and output:
+            output = self.resolveURI(output)
+        
+        # decode entities within embedded markup
+        if not self.contentparams.get('base64', 0):
+            output = self.decodeEntities(element, output)
+
+        # remove temporary cruft from contentparams
+        try:
+            del self.contentparams['mode']
+        except KeyError:
+            pass
+        try:
+            del self.contentparams['base64']
+        except KeyError:
+            pass
+
+        # resolve relative URIs within embedded markup
+        if self.mapContentType(self.contentparams.get('type', 'text/html')) in self.html_types:
+            if element in self.can_contain_relative_uris:
+                output = _resolveRelativeURIs(output, self.baseuri, self.encoding)
+        
+        # sanitize embedded markup
+        if self.mapContentType(self.contentparams.get('type', 'text/html')) in self.html_types:
+            if element in self.can_contain_dangerous_markup:
+                output = _sanitizeHTML(output, self.encoding)
+
+        if self.encoding and type(output) != type(u''):
+            try:
+                output = unicode(output, self.encoding)
+            except:
+                pass
+
+        # categories/tags/keywords/whatever are handled in _end_category
+        if element == 'category':
+            return output
+        
+        # store output in appropriate place(s)
+        if self.inentry and not self.insource:
+            if element == 'content':
+                self.entries[-1].setdefault(element, [])
+                contentparams = copy.deepcopy(self.contentparams)
+                contentparams['value'] = output
+                self.entries[-1][element].append(contentparams)
+            elif element == 'link':
+                self.entries[-1][element] = output
+                if output:
+                    self.entries[-1]['links'][-1]['href'] = output
+            else:
+                if element == 'description':
+                    element = 'summary'
+                self.entries[-1][element] = output
+                if self.incontent:
+                    contentparams = copy.deepcopy(self.contentparams)
+                    contentparams['value'] = output
+                    self.entries[-1][element + '_detail'] = contentparams
+        elif (self.infeed or self.insource) and (not self.intextinput) and (not self.inimage):
+            context = self._getContext()
+            if element == 'description':
+                element = 'subtitle'
+            context[element] = output
+            if element == 'link':
+                context['links'][-1]['href'] = output
+            elif self.incontent:
+                contentparams = copy.deepcopy(self.contentparams)
+                contentparams['value'] = output
+                context[element + '_detail'] = contentparams
+        return output
+
+    def pushContent(self, tag, attrsD, defaultContentType, expectingText):
+        self.incontent += 1
+        self.contentparams = FeedParserDict({
+            'type': self.mapContentType(attrsD.get('type', defaultContentType)),
+            'language': self.lang,
+            'base': self.baseuri})
+        self.contentparams['base64'] = self._isBase64(attrsD, self.contentparams)
+        self.push(tag, expectingText)
+
+    def popContent(self, tag):
+        value = self.pop(tag)
+        self.incontent -= 1
+        self.contentparams.clear()
+        return value
+        
+    def _mapToStandardPrefix(self, name):
+        colonpos = name.find(':')
+        if colonpos <> -1:
+            prefix = name[:colonpos]
+            suffix = name[colonpos+1:]
+            prefix = self.namespacemap.get(prefix, prefix)
+            name = prefix + ':' + suffix
+        return name
+        
+    def _getAttribute(self, attrsD, name):
+        return attrsD.get(self._mapToStandardPrefix(name))
+
+    def _isBase64(self, attrsD, contentparams):
+        if attrsD.get('mode', '') == 'base64':
+            return 1
+        if self.contentparams['type'].startswith('text/'):
+            return 0
+        if self.contentparams['type'].endswith('+xml'):
+            return 0
+        if self.contentparams['type'].endswith('/xml'):
+            return 0
+        return 1
+
+    def _itsAnHrefDamnIt(self, attrsD):
+        href = attrsD.get('url', attrsD.get('uri', attrsD.get('href', None)))
+        if href:
+            try:
+                del attrsD['url']
+            except KeyError:
+                pass
+            try:
+                del attrsD['uri']
+            except KeyError:
+                pass
+            attrsD['href'] = href
+        return attrsD
+    
+    def _save(self, key, value):
+        context = self._getContext()
+        context.setdefault(key, value)
+
+    def _start_rss(self, attrsD):
+        versionmap = {'0.91': 'rss091u',
+                      '0.92': 'rss092',
+                      '0.93': 'rss093',
+                      '0.94': 'rss094'}
+        if not self.version:
+            attr_version = attrsD.get('version', '')
+            version = versionmap.get(attr_version)
+            if version:
+                self.version = version
+            elif attr_version.startswith('2.'):
+                self.version = 'rss20'
+            else:
+                self.version = 'rss'
+    
+    def _start_dlhottitles(self, attrsD):
+        self.version = 'hotrss'
+
+    def _start_channel(self, attrsD):
+        self.infeed = 1
+        self._cdf_common(attrsD)
+    _start_feedinfo = _start_channel
+
+    def _cdf_common(self, attrsD):
+        if attrsD.has_key('lastmod'):
+            self._start_modified({})
+            self.elementstack[-1][-1] = attrsD['lastmod']
+            self._end_modified()
+        if attrsD.has_key('href'):
+            self._start_link({})
+            self.elementstack[-1][-1] = attrsD['href']
+            self._end_link()
+    
+    def _start_feed(self, attrsD):
+        self.infeed = 1
+        versionmap = {'0.1': 'atom01',
+                      '0.2': 'atom02',
+                      '0.3': 'atom03'}
+        if not self.version:
+            attr_version = attrsD.get('version')
+            version = versionmap.get(attr_version)
+            if version:
+                self.version = version
+            else:
+                self.version = 'atom'
+
+    def _end_channel(self):
+        self.infeed = 0
+    _end_feed = _end_channel
+    
+    def _start_image(self, attrsD):
+        self.inimage = 1
+        self.push('image', 0)
+        context = self._getContext()
+        context.setdefault('image', FeedParserDict())
+            
+    def _end_image(self):
+        self.pop('image')
+        self.inimage = 0
+
+    def _start_textinput(self, attrsD):
+        self.intextinput = 1
+        self.push('textinput', 0)
+        context = self._getContext()
+        context.setdefault('textinput', FeedParserDict())
+    _start_textInput = _start_textinput
+    
+    def _end_textinput(self):
+        self.pop('textinput')
+        self.intextinput = 0
+    _end_textInput = _end_textinput
+
+    def _start_author(self, attrsD):
+        self.inauthor = 1
+        self.push('author', 1)
+    _start_managingeditor = _start_author
+    _start_dc_author = _start_author
+    _start_dc_creator = _start_author
+    _start_itunes_author = _start_author
+
+    def _end_author(self):
+        self.pop('author')
+        self.inauthor = 0
+        self._sync_author_detail()
+    _end_managingeditor = _end_author
+    _end_dc_author = _end_author
+    _end_dc_creator = _end_author
+    _end_itunes_author = _end_author
+
+    def _start_itunes_owner(self, attrsD):
+        self.inpublisher = 1
+        self.push('publisher', 0)
+
+    def _end_itunes_owner(self):
+        self.pop('publisher')
+        self.inpublisher = 0
+        self._sync_author_detail('publisher')
+
+    def _start_contributor(self, attrsD):
+        self.incontributor = 1
+        context = self._getContext()
+        context.setdefault('contributors', [])
+        context['contributors'].append(FeedParserDict())
+        self.push('contributor', 0)
+
+    def _end_contributor(self):
+        self.pop('contributor')
+        self.incontributor = 0
+
+    def _start_dc_contributor(self, attrsD):
+        self.incontributor = 1
+        context = self._getContext()
+        context.setdefault('contributors', [])
+        context['contributors'].append(FeedParserDict())
+        self.push('name', 0)
+
+    def _end_dc_contributor(self):
+        self._end_name()
+        self.incontributor = 0
+
+    def _start_name(self, attrsD):
+        self.push('name', 0)
+    _start_itunes_name = _start_name
+
+    def _end_name(self):
+        value = self.pop('name')
+        if self.inpublisher:
+            self._save_author('name', value, 'publisher')
+        elif self.inauthor:
+            self._save_author('name', value)
+        elif self.incontributor:
+            self._save_contributor('name', value)
+        elif self.intextinput:
+            context = self._getContext()
+            context['textinput']['name'] = value
+    _end_itunes_name = _end_name
+
+    def _start_width(self, attrsD):
+        self.push('width', 0)
+
+    def _end_width(self):
+        value = self.pop('width')
+        try:
+            value = int(value)
+        except:
+            value = 0
+        if self.inimage:
+            context = self._getContext()
+            context['image']['width'] = value
+
+    def _start_height(self, attrsD):
+        self.push('height', 0)
+
+    def _end_height(self):
+        value = self.pop('height')
+        try:
+            value = int(value)
+        except:
+            value = 0
+        if self.inimage:
+            context = self._getContext()
+            context['image']['height'] = value
+
+    def _start_url(self, attrsD):
+        self.push('href', 1)
+    _start_homepage = _start_url
+    _start_uri = _start_url
+
+    def _end_url(self):
+        value = self.pop('href')
+        if self.inauthor:
+            self._save_author('href', value)
+        elif self.incontributor:
+            self._save_contributor('href', value)
+        elif self.inimage:
+            context = self._getContext()
+            context['image']['href'] = value
+        elif self.intextinput:
+            context = self._getContext()
+            context['textinput']['link'] = value
+    _end_homepage = _end_url
+    _end_uri = _end_url
+
+    def _start_email(self, attrsD):
+        self.push('email', 0)
+    _start_itunes_email = _start_email
+
+    def _end_email(self):
+        value = self.pop('email')
+        if self.inpublisher:
+            self._save_author('email', value, 'publisher')
+        elif self.inauthor:
+            self._save_author('email', value)
+        elif self.incontributor:
+            self._save_contributor('email', value)
+    _end_itunes_email = _end_email
+
+    def _getContext(self):
+        if self.insource:
+            context = self.sourcedata
+        elif self.inentry:
+            context = self.entries[-1]
+        else:
+            context = self.feeddata
+        return context
+
+    def _save_author(self, key, value, prefix='author'):
+        context = self._getContext()
+        context.setdefault(prefix + '_detail', FeedParserDict())
+        context[prefix + '_detail'][key] = value
+        self._sync_author_detail()
+
+    def _save_contributor(self, key, value):
+        context = self._getContext()
+        context.setdefault('contributors', [FeedParserDict()])
+        context['contributors'][-1][key] = value
+
+    def _sync_author_detail(self, key='author'):
+        context = self._getContext()
+        detail = context.get('%s_detail' % key)
+        if detail:
+            name = detail.get('name')
+            email = detail.get('email')
+            if name and email:
+                context[key] = '%s (%s)' % (name, email)
+            elif name:
+                context[key] = name
+            elif email:
+                context[key] = email
+        else:
+            author = context.get(key)
+            if not author: return
+            emailmatch = re.search(r'''(([a-zA-Z0-9\_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?))''', author)
+            if not emailmatch: return
+            email = emailmatch.group(0)
+            # probably a better way to do the following, but it passes all the tests
+            author = author.replace(email, '')
+            author = author.replace('()', '')
+            author = author.strip()
+            if author and (author[0] == '('):
+                author = author[1:]
+            if author and (author[-1] == ')'):
+                author = author[:-1]
+            author = author.strip()
+            context.setdefault('%s_detail' % key, FeedParserDict())
+            context['%s_detail' % key]['name'] = author
+            context['%s_detail' % key]['email'] = email
+
+    def _start_subtitle(self, attrsD):
+        self.pushContent('subtitle', attrsD, 'text/plain', 1)
+    _start_tagline = _start_subtitle
+    _start_itunes_subtitle = _start_subtitle
+
+    def _end_subtitle(self):
+        self.popContent('subtitle')
+    _end_tagline = _end_subtitle
+    _end_itunes_subtitle = _end_subtitle
+            
+    def _start_rights(self, attrsD):
+        self.pushContent('rights', attrsD, 'text/plain', 1)
+    _start_dc_rights = _start_rights
+    _start_copyright = _start_rights
+
+    def _end_rights(self):
+        self.popContent('rights')
+    _end_dc_rights = _end_rights
+    _end_copyright = _end_rights
+
+    def _start_item(self, attrsD):
+        self.entries.append(FeedParserDict())
+        self.push('item', 0)
+        self.inentry = 1
+        self.guidislink = 0
+        id = self._getAttribute(attrsD, 'rdf:about')
+        if id:
+            context = self._getContext()
+            context['id'] = id
+        self._cdf_common(attrsD)
+    _start_entry = _start_item
+    _start_product = _start_item
+
+    def _end_item(self):
+        self.pop('item')
+        self.inentry = 0
+    _end_entry = _end_item
+
+    def _start_dc_language(self, attrsD):
+        self.push('language', 1)
+    _start_language = _start_dc_language
+
+    def _end_dc_language(self):
+        self.lang = self.pop('language')
+    _end_language = _end_dc_language
+
+    def _start_dc_publisher(self, attrsD):
+        self.push('publisher', 1)
+    _start_webmaster = _start_dc_publisher
+
+    def _end_dc_publisher(self):
+        self.pop('publisher')
+        self._sync_author_detail('publisher')
+    _end_webmaster = _end_dc_publisher
+
+    def _start_published(self, attrsD):
+        self.push('published', 1)
+    _start_dcterms_issued = _start_published
+    _start_issued = _start_published
+
+    def _end_published(self):
+        value = self.pop('published')
+        self._save('published_parsed', _parse_date(value))
+    _end_dcterms_issued = _end_published
+    _end_issued = _end_published
+
+    def _start_updated(self, attrsD):
+        self.push('updated', 1)
+    _start_modified = _start_updated
+    _start_dcterms_modified = _start_updated
+    _start_pubdate = _start_updated
+    _start_dc_date = _start_updated
+
+    def _end_updated(self):
+        value = self.pop('updated')
+        parsed_value = _parse_date(value)
+        self._save('updated_parsed', parsed_value)
+    _end_modified = _end_updated
+    _end_dcterms_modified = _end_updated
+    _end_pubdate = _end_updated
+    _end_dc_date = _end_updated
+
+    def _start_created(self, attrsD):
+        self.push('created', 1)
+    _start_dcterms_created = _start_created
+
+    def _end_created(self):
+        value = self.pop('created')
+        self._save('created_parsed', _parse_date(value))
+    _end_dcterms_created = _end_created
+
+    def _start_expirationdate(self, attrsD):
+        self.push('expired', 1)
+
+    def _end_expirationdate(self):
+        self._save('expired_parsed', _parse_date(self.pop('expired')))
+
+    def _start_cc_license(self, attrsD):
+        self.push('license', 1)
+        value = self._getAttribute(attrsD, 'rdf:resource')
+        if value:
+            self.elementstack[-1][2].append(value)
+        self.pop('license')
+        
+    def _start_creativecommons_license(self, attrsD):
+        self.push('license', 1)
+
+    def _end_creativecommons_license(self):
+        self.pop('license')
+
+    def _addTag(self, term, scheme, label):
+        context = self._getContext()
+        tags = context.setdefault('tags', [])
+        if (not term) and (not scheme) and (not label): return
+        value = FeedParserDict({'term': term, 'scheme': scheme, 'label': label})
+        if value not in tags:
+            tags.append(FeedParserDict({'term': term, 'scheme': scheme, 'label': label}))
+
+    def _start_category(self, attrsD):
+        if _debug: sys.stderr.write('entering _start_category with %s\n' % repr(attrsD))
+        term = attrsD.get('term')
+        scheme = attrsD.get('scheme', attrsD.get('domain'))
+        label = attrsD.get('label')
+        self._addTag(term, scheme, label)
+        self.push('category', 1)
+    _start_dc_subject = _start_category
+    _start_keywords = _start_category
+        
+    def _end_itunes_keywords(self):
+        for term in self.pop('itunes_keywords').split():
+            self._addTag(term, 'http://www.itunes.com/', None)
+        
+    def _start_itunes_category(self, attrsD):
+        self._addTag(attrsD.get('text'), 'http://www.itunes.com/', None)
+        self.push('category', 1)
+        
+    def _end_category(self):
+        value = self.pop('category')
+        if not value: return
+        context = self._getContext()
+        tags = context['tags']
+        if value and len(tags) and not tags[-1]['term']:
+            tags[-1]['term'] = value
+        else:
+            self._addTag(value, None, None)
+    _end_dc_subject = _end_category
+    _end_keywords = _end_category
+    _end_itunes_category = _end_category
+
+    def _start_cloud(self, attrsD):
+        self._getContext()['cloud'] = FeedParserDict(attrsD)
+        
+    def _start_link(self, attrsD):
+        attrsD.setdefault('rel', 'alternate')
+        attrsD.setdefault('type', 'text/html')
+        attrsD = self._itsAnHrefDamnIt(attrsD)
+        if attrsD.has_key('href'):
+            attrsD['href'] = self.resolveURI(attrsD['href'])
+        expectingText = self.infeed or self.inentry or self.insource
+        context = self._getContext()
+        context.setdefault('links', [])
+        context['links'].append(FeedParserDict(attrsD))
+        if attrsD['rel'] == 'enclosure':
+            self._start_enclosure(attrsD)
+        if attrsD.has_key('href'):
+            expectingText = 0
+            if (attrsD.get('rel') == 'alternate') and (self.mapContentType(attrsD.get('type')) in self.html_types):
+                context['link'] = attrsD['href']
+        else:
+            self.push('link', expectingText)
+    _start_producturl = _start_link
+
+    def _end_link(self):
+        value = self.pop('link')
+        context = self._getContext()
+        if self.intextinput:
+            context['textinput']['link'] = value
+        if self.inimage:
+            context['image']['link'] = value
+    _end_producturl = _end_link
+
+    def _start_guid(self, attrsD):
+        self.guidislink = (attrsD.get('ispermalink', 'true') == 'true')
+        self.push('id', 1)
+
+    def _end_guid(self):
+        value = self.pop('id')
+        self._save('guidislink', self.guidislink and not self._getContext().has_key('link'))
+        if self.guidislink:
+            # guid acts as link, but only if 'ispermalink' is not present or is 'true',
+            # and only if the item doesn't already have a link element
+            self._save('link', value)
+
+    def _start_title(self, attrsD):
+        self.pushContent('title', attrsD, 'text/plain', self.infeed or self.inentry or self.insource)
+    _start_dc_title = _start_title
+    _start_media_title = _start_title
+
+    def _end_title(self):
+        value = self.popContent('title')
+        context = self._getContext()
+        if self.intextinput:
+            context['textinput']['title'] = value
+        elif self.inimage:
+            context['image']['title'] = value
+    _end_dc_title = _end_title
+    _end_media_title = _end_title
+
+    def _start_description(self, attrsD):
+        context = self._getContext()
+        if context.has_key('summary'):
+            self._summaryKey = 'content'
+            self._start_content(attrsD)
+        else:
+            self.pushContent('description', attrsD, 'text/html', self.infeed or self.inentry or self.insource)
+
+    def _start_abstract(self, attrsD):
+        self.pushContent('description', attrsD, 'text/plain', self.infeed or self.inentry or self.insource)
+
+    def _end_description(self):
+        if self._summaryKey == 'content':
+            self._end_content()
+        else:
+            value = self.popContent('description')
+            context = self._getContext()
+            if self.intextinput:
+                context['textinput']['description'] = value
+            elif self.inimage:
+                context['image']['description'] = value
+        self._summaryKey = None
+    _end_abstract = _end_description
+
+    def _start_info(self, attrsD):
+        self.pushContent('info', attrsD, 'text/plain', 1)
+    _start_feedburner_browserfriendly = _start_info
+
+    def _end_info(self):
+        self.popContent('info')
+    _end_feedburner_browserfriendly = _end_info
+
+    def _start_generator(self, attrsD):
+        if attrsD:
+            attrsD = self._itsAnHrefDamnIt(attrsD)
+            if attrsD.has_key('href'):
+                attrsD['href'] = self.resolveURI(attrsD['href'])
+        self._getContext()['generator_detail'] = FeedParserDict(attrsD)
+        self.push('generator', 1)
+
+    def _end_generator(self):
+        value = self.pop('generator')
+        context = self._getContext()
+        if context.has_key('generator_detail'):
+            context['generator_detail']['name'] = value
+            
+    def _start_admin_generatoragent(self, attrsD):
+        self.push('generator', 1)
+        value = self._getAttribute(attrsD, 'rdf:resource')
+        if value:
+            self.elementstack[-1][2].append(value)
+        self.pop('generator')
+        self._getContext()['generator_detail'] = FeedParserDict({'href': value})
+
+    def _start_admin_errorreportsto(self, attrsD):
+        self.push('errorreportsto', 1)
+        value = self._getAttribute(attrsD, 'rdf:resource')
+        if value:
+            self.elementstack[-1][2].append(value)
+        self.pop('errorreportsto')
+        
+    def _start_summary(self, attrsD):
+        context = self._getContext()
+        if context.has_key('summary'):
+            self._summaryKey = 'content'
+            self._start_content(attrsD)
+        else:
+            self._summaryKey = 'summary'
+            self.pushContent(self._summaryKey, attrsD, 'text/plain', 1)
+    _start_itunes_summary = _start_summary
+
+    def _end_summary(self):
+        if self._summaryKey == 'content':
+            self._end_content()
+        else:
+            self.popContent(self._summaryKey or 'summary')
+        self._summaryKey = None
+    _end_itunes_summary = _end_summary
+        
+    def _start_enclosure(self, attrsD):
+        attrsD = self._itsAnHrefDamnIt(attrsD)
+        self._getContext().setdefault('enclosures', []).append(FeedParserDict(attrsD))
+        href = attrsD.get('href')
+        if href:
+            context = self._getContext()
+            if not context.get('id'):
+                context['id'] = href
+            
+    def _start_source(self, attrsD):
+        self.insource = 1
+
+    def _end_source(self):
+        self.insource = 0
+        self._getContext()['source'] = copy.deepcopy(self.sourcedata)
+        self.sourcedata.clear()
+
+    def _start_content(self, attrsD):
+        self.pushContent('content', attrsD, 'text/plain', 1)
+        src = attrsD.get('src')
+        if src:
+            self.contentparams['src'] = src
+        self.push('content', 1)
+
+    def _start_prodlink(self, attrsD):
+        self.pushContent('content', attrsD, 'text/html', 1)
+
+    def _start_body(self, attrsD):
+        self.pushContent('content', attrsD, 'application/xhtml+xml', 1)
+    _start_xhtml_body = _start_body
+
+    def _start_content_encoded(self, attrsD):
+        self.pushContent('content', attrsD, 'text/html', 1)
+    _start_fullitem = _start_content_encoded
+
+    def _end_content(self):
+        copyToDescription = self.mapContentType(self.contentparams.get('type')) in (['text/plain'] + self.html_types)
+        value = self.popContent('content')
+        if copyToDescription:
+            self._save('description', value)
+    _end_body = _end_content
+    _end_xhtml_body = _end_content
+    _end_content_encoded = _end_content
+    _end_fullitem = _end_content
+    _end_prodlink = _end_content
+
+    def _start_itunes_image(self, attrsD):
+        self.push('itunes_image', 0)
+        self._getContext()['image'] = FeedParserDict({'href': attrsD.get('href')})
+    _start_itunes_link = _start_itunes_image
+        
+    def _end_itunes_block(self):
+        value = self.pop('itunes_block', 0)
+        self._getContext()['itunes_block'] = (value == 'yes') and 1 or 0
+
+    def _end_itunes_explicit(self):
+        value = self.pop('itunes_explicit', 0)
+        self._getContext()['itunes_explicit'] = (value == 'yes') and 1 or 0
+
+if _XML_AVAILABLE:
+    class _StrictFeedParser(_FeedParserMixin, xml.sax.handler.ContentHandler):
+        def __init__(self, baseuri, baselang, encoding):
+            if _debug: sys.stderr.write('trying StrictFeedParser\n')
+            xml.sax.handler.ContentHandler.__init__(self)
+            _FeedParserMixin.__init__(self, baseuri, baselang, encoding)
+            self.bozo = 0
+            self.exc = None
+        
+        def startPrefixMapping(self, prefix, uri):
+            self.trackNamespace(prefix, uri)
+        
+        def startElementNS(self, name, qname, attrs):
+            namespace, localname = name
+            lowernamespace = str(namespace or '').lower()
+            if lowernamespace.find('backend.userland.com/rss') <> -1:
+                # match any backend.userland.com namespace
+                namespace = 'http://backend.userland.com/rss'
+                lowernamespace = namespace
+            if qname and qname.find(':') > 0:
+                givenprefix = qname.split(':')[0]
+            else:
+                givenprefix = None
+            prefix = self._matchnamespaces.get(lowernamespace, givenprefix)
+            if givenprefix and (prefix == None or (prefix == '' and lowernamespace == '')) and not self.namespacesInUse.has_key(givenprefix):
+                    raise UndeclaredNamespace, "'%s' is not associated with a namespace" % givenprefix
+            if prefix:
+                localname = prefix + ':' + localname
+            localname = str(localname).lower()
+            if _debug: sys.stderr.write('startElementNS: qname = %s, namespace = %s, givenprefix = %s, prefix = %s, attrs = %s, localname = %s\n' % (qname, namespace, givenprefix, prefix, attrs.items(), localname))
+
+            # qname implementation is horribly broken in Python 2.1 (it
+            # doesn't report any), and slightly broken in Python 2.2 (it
+            # doesn't report the xml: namespace). So we match up namespaces
+            # with a known list first, and then possibly override them with
+            # the qnames the SAX parser gives us (if indeed it gives us any
+            # at all).  Thanks to MatejC for helping me test this and
+            # tirelessly telling me that it didn't work yet.
+            attrsD = {}
+            for (namespace, attrlocalname), attrvalue in attrs._attrs.items():
+                lowernamespace = (namespace or '').lower()
+                prefix = self._matchnamespaces.get(lowernamespace, '')
+                if prefix:
+                    attrlocalname = prefix + ':' + attrlocalname
+                attrsD[str(attrlocalname).lower()] = attrvalue
+            for qname in attrs.getQNames():
+                attrsD[str(qname).lower()] = attrs.getValueByQName(qname)
+            self.unknown_starttag(localname, attrsD.items())
+
+        def characters(self, text):
+            self.handle_data(text)
+
+        def endElementNS(self, name, qname):
+            namespace, localname = name
+            lowernamespace = str(namespace or '').lower()
+            if qname and qname.find(':') > 0:
+                givenprefix = qname.split(':')[0]
+            else:
+                givenprefix = ''
+            prefix = self._matchnamespaces.get(lowernamespace, givenprefix)
+            if prefix:
+                localname = prefix + ':' + localname
+            localname = str(localname).lower()
+            self.unknown_endtag(localname)
+
+        def error(self, exc):
+            self.bozo = 1
+            self.exc = exc
+            
+        def fatalError(self, exc):
+            self.error(exc)
+            raise exc
+
+class _BaseHTMLProcessor(sgmllib.SGMLParser):
+    elements_no_end_tag = ['area', 'base', 'basefont', 'br', 'col', 'frame', 'hr',
+      'img', 'input', 'isindex', 'link', 'meta', 'param']
+    
+    def __init__(self, encoding):
+        self.encoding = encoding
+        if _debug: sys.stderr.write('entering BaseHTMLProcessor, encoding=%s\n' % self.encoding)
+        sgmllib.SGMLParser.__init__(self)
+        
+    def reset(self):
+        self.pieces = []
+        sgmllib.SGMLParser.reset(self)
+
+    def _shorttag_replace(self, match):
+        tag = match.group(1)
+        if tag in self.elements_no_end_tag:
+            return '<' + tag + ' />'
+        else:
+            return '<' + tag + '>'
+        
+    def feed(self, data):
+        data = re.compile(r'', self._shorttag_replace, data) # bug [ 1399464 ] Bad regexp for _shorttag_replace
+        data = re.sub(r'<([^<\s]+?)\s*/>', self._shorttag_replace, data) 
+        data = data.replace(''', "'")
+        data = data.replace('"', '"')
+        if self.encoding and type(data) == type(u''):
+            data = data.encode(self.encoding)
+        sgmllib.SGMLParser.feed(self, data)
+
+    def normalize_attrs(self, attrs):
+        # utility method to be called by descendants
+        attrs = [(k.lower(), v) for k, v in attrs]
+        attrs = [(k, k in ('rel', 'type') and v.lower() or v) for k, v in attrs]
+        return attrs
+
+    def unknown_starttag(self, tag, attrs):
+        # called for each start tag
+        # attrs is a list of (attr, value) tuples
+        # e.g. for 
, tag='pre', attrs=[('class', 'screen')]
+        if _debug: sys.stderr.write('_BaseHTMLProcessor, unknown_starttag, tag=%s\n' % tag)
+        uattrs = []
+        # thanks to Kevin Marks for this breathtaking hack to deal with (valid) high-bit attribute values in UTF-8 feeds
+        for key, value in attrs:
+            if type(value) != type(u''):
+                value = unicode(value, self.encoding)
+            uattrs.append((unicode(key, self.encoding), value))
+        strattrs = u''.join([u' %s="%s"' % (key, value) for key, value in uattrs]).encode(self.encoding)
+        if tag in self.elements_no_end_tag:
+            self.pieces.append('<%(tag)s%(strattrs)s />' % locals())
+        else:
+            self.pieces.append('<%(tag)s%(strattrs)s>' % locals())
+
+    def unknown_endtag(self, tag):
+        # called for each end tag, e.g. for 
, tag will be 'pre' + # Reconstruct the original end tag. + if tag not in self.elements_no_end_tag: + self.pieces.append("" % locals()) + + def handle_charref(self, ref): + # called for each character reference, e.g. for ' ', ref will be '160' + # Reconstruct the original character reference. + self.pieces.append('&#%(ref)s;' % locals()) + + def handle_entityref(self, ref): + # called for each entity reference, e.g. for '©', ref will be 'copy' + # Reconstruct the original entity reference. + self.pieces.append('&%(ref)s;' % locals()) + + def handle_data(self, text): + # called for each block of plain text, i.e. outside of any tag and + # not containing any character or entity references + # Store the original text verbatim. + if _debug: sys.stderr.write('_BaseHTMLProcessor, handle_text, text=%s\n' % text) + self.pieces.append(text) + + def handle_comment(self, text): + # called for each HTML comment, e.g. + # Reconstruct the original comment. + self.pieces.append('' % locals()) + + def handle_pi(self, text): + # called for each processing instruction, e.g. + # Reconstruct original processing instruction. + self.pieces.append('' % locals()) + + def handle_decl(self, text): + # called for the DOCTYPE, if present, e.g. + # + # Reconstruct original DOCTYPE + self.pieces.append('' % locals()) + + _new_declname_match = re.compile(r'[a-zA-Z][-_.a-zA-Z0-9:]*\s*').match + def _scan_name(self, i, declstartpos): + rawdata = self.rawdata + n = len(rawdata) + if i == n: + return None, -1 + m = self._new_declname_match(rawdata, i) + if m: + s = m.group() + name = s.strip() + if (i + len(s)) == n: + return None, -1 # end of buffer + return name.lower(), m.end() + else: + self.handle_data(rawdata) +# self.updatepos(declstartpos, i) + return None, -1 + + def output(self): + '''Return processed HTML as a single string''' + return ''.join([str(p) for p in self.pieces]) + +class _LooseFeedParser(_FeedParserMixin, _BaseHTMLProcessor): + def __init__(self, baseuri, baselang, encoding): + sgmllib.SGMLParser.__init__(self) + _FeedParserMixin.__init__(self, baseuri, baselang, encoding) + + def decodeEntities(self, element, data): + data = data.replace('<', '<') + data = data.replace('<', '<') + data = data.replace('>', '>') + data = data.replace('>', '>') + data = data.replace('&', '&') + data = data.replace('&', '&') + data = data.replace('"', '"') + data = data.replace('"', '"') + data = data.replace(''', ''') + data = data.replace(''', ''') + if self.contentparams.has_key('type') and not self.contentparams.get('type', 'xml').endswith('xml'): + data = data.replace('<', '<') + data = data.replace('>', '>') + data = data.replace('&', '&') + data = data.replace('"', '"') + data = data.replace(''', "'") + return data + +class _RelativeURIResolver(_BaseHTMLProcessor): + relative_uris = [('a', 'href'), + ('applet', 'codebase'), + ('area', 'href'), + ('blockquote', 'cite'), + ('body', 'background'), + ('del', 'cite'), + ('form', 'action'), + ('frame', 'longdesc'), + ('frame', 'src'), + ('iframe', 'longdesc'), + ('iframe', 'src'), + ('head', 'profile'), + ('img', 'longdesc'), + ('img', 'src'), + ('img', 'usemap'), + ('input', 'src'), + ('input', 'usemap'), + ('ins', 'cite'), + ('link', 'href'), + ('object', 'classid'), + ('object', 'codebase'), + ('object', 'data'), + ('object', 'usemap'), + ('q', 'cite'), + ('script', 'src')] + + def __init__(self, baseuri, encoding): + _BaseHTMLProcessor.__init__(self, encoding) + self.baseuri = baseuri + + def resolveURI(self, uri): + return _urljoin(self.baseuri, uri) + + def unknown_starttag(self, tag, attrs): + attrs = self.normalize_attrs(attrs) + attrs = [(key, ((tag, key) in self.relative_uris) and self.resolveURI(value) or value) for key, value in attrs] + _BaseHTMLProcessor.unknown_starttag(self, tag, attrs) + +def _resolveRelativeURIs(htmlSource, baseURI, encoding): + if _debug: sys.stderr.write('entering _resolveRelativeURIs\n') + p = _RelativeURIResolver(baseURI, encoding) + p.feed(htmlSource) + return p.output() + +class _HTMLSanitizer(_BaseHTMLProcessor): + acceptable_elements = ['a', 'abbr', 'acronym', 'address', 'area', 'b', 'big', + 'blockquote', 'br', 'button', 'caption', 'center', 'cite', 'code', 'col', + 'colgroup', 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', 'em', 'fieldset', + 'font', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'input', + 'ins', 'kbd', 'label', 'legend', 'li', 'map', 'menu', 'ol', 'optgroup', + 'option', 'p', 'pre', 'q', 's', 'samp', 'select', 'small', 'span', 'strike', + 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', + 'thead', 'tr', 'tt', 'u', 'ul', 'var'] + + acceptable_attributes = ['abbr', 'accept', 'accept-charset', 'accesskey', + 'action', 'align', 'alt', 'axis', 'border', 'cellpadding', 'cellspacing', + 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'clear', 'cols', + 'colspan', 'color', 'compact', 'coords', 'datetime', 'dir', 'disabled', + 'enctype', 'for', 'frame', 'headers', 'height', 'href', 'hreflang', 'hspace', + 'id', 'ismap', 'label', 'lang', 'longdesc', 'maxlength', 'media', 'method', + 'multiple', 'name', 'nohref', 'noshade', 'nowrap', 'prompt', 'readonly', + 'rel', 'rev', 'rows', 'rowspan', 'rules', 'scope', 'selected', 'shape', 'size', + 'span', 'src', 'start', 'summary', 'tabindex', 'target', 'title', 'type', + 'usemap', 'valign', 'value', 'vspace', 'width'] + + unacceptable_elements_with_end_tag = ['script', 'applet'] + + def reset(self): + _BaseHTMLProcessor.reset(self) + self.unacceptablestack = 0 + + def unknown_starttag(self, tag, attrs): + if not tag in self.acceptable_elements: + if tag in self.unacceptable_elements_with_end_tag: + self.unacceptablestack += 1 + return + attrs = self.normalize_attrs(attrs) + attrs = [(key, value) for key, value in attrs if key in self.acceptable_attributes] + _BaseHTMLProcessor.unknown_starttag(self, tag, attrs) + + def unknown_endtag(self, tag): + if not tag in self.acceptable_elements: + if tag in self.unacceptable_elements_with_end_tag: + self.unacceptablestack -= 1 + return + _BaseHTMLProcessor.unknown_endtag(self, tag) + + def handle_pi(self, text): + pass + + def handle_decl(self, text): + pass + + def handle_data(self, text): + if not self.unacceptablestack: + _BaseHTMLProcessor.handle_data(self, text) + +def _sanitizeHTML(htmlSource, encoding): + p = _HTMLSanitizer(encoding) + p.feed(htmlSource) + data = p.output() + if TIDY_MARKUP: + # loop through list of preferred Tidy interfaces looking for one that's installed, + # then set up a common _tidy function to wrap the interface-specific API. + _tidy = None + for tidy_interface in PREFERRED_TIDY_INTERFACES: + try: + if tidy_interface == "uTidy": + from tidy import parseString as _utidy + def _tidy(data, **kwargs): + return str(_utidy(data, **kwargs)) + break + elif tidy_interface == "mxTidy": + from mx.Tidy import Tidy as _mxtidy + def _tidy(data, **kwargs): + nerrors, nwarnings, data, errordata = _mxtidy.tidy(data, **kwargs) + return data + break + except: + pass + if _tidy: + utf8 = type(data) == type(u'') + if utf8: + data = data.encode('utf-8') + data = _tidy(data, output_xhtml=1, numeric_entities=1, wrap=0, char_encoding="utf8") + if utf8: + data = unicode(data, 'utf-8') + if data.count(''): + data = data.split('>', 1)[1] + if data.count('= '2.3.3' + assert base64 != None + user, passw = base64.decodestring(req.headers['Authorization'].split(' ')[1]).split(':') + realm = re.findall('realm="([^"]*)"', headers['WWW-Authenticate'])[0] + self.add_password(realm, host, user, passw) + retry = self.http_error_auth_reqed('www-authenticate', host, req, headers) + self.reset_retry_count() + return retry + except: + return self.http_error_default(req, fp, code, msg, headers) + +def _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, handlers): + """URL, filename, or string --> stream + + This function lets you define parsers that take any input source + (URL, pathname to local or network file, or actual data as a string) + and deal with it in a uniform manner. Returned object is guaranteed + to have all the basic stdio read methods (read, readline, readlines). + Just .close() the object when you're done with it. + + If the etag argument is supplied, it will be used as the value of an + If-None-Match request header. + + If the modified argument is supplied, it must be a tuple of 9 integers + as returned by gmtime() in the standard Python time module. This MUST + be in GMT (Greenwich Mean Time). The formatted date/time will be used + as the value of an If-Modified-Since request header. + + If the agent argument is supplied, it will be used as the value of a + User-Agent request header. + + If the referrer argument is supplied, it will be used as the value of a + Referer[sic] request header. + + If handlers is supplied, it is a list of handlers used to build a + urllib2 opener. + """ + + if hasattr(url_file_stream_or_string, 'read'): + return url_file_stream_or_string + + if url_file_stream_or_string == '-': + return sys.stdin + + if urlparse.urlparse(url_file_stream_or_string)[0] in ('http', 'https', 'ftp'): + if not agent: + agent = USER_AGENT + # test for inline user:password for basic auth + auth = None + if base64: + urltype, rest = urllib.splittype(url_file_stream_or_string) + realhost, rest = urllib.splithost(rest) + if realhost: + user_passwd, realhost = urllib.splituser(realhost) + if user_passwd: + url_file_stream_or_string = '%s://%s%s' % (urltype, realhost, rest) + auth = base64.encodestring(user_passwd).strip() + # try to open with urllib2 (to use optional headers) + request = urllib2.Request(url_file_stream_or_string) + request.add_header('User-Agent', agent) + if etag: + request.add_header('If-None-Match', etag) + if modified: + # format into an RFC 1123-compliant timestamp. We can't use + # time.strftime() since the %a and %b directives can be affected + # by the current locale, but RFC 2616 states that dates must be + # in English. + short_weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] + months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] + request.add_header('If-Modified-Since', '%s, %02d %s %04d %02d:%02d:%02d GMT' % (short_weekdays[modified[6]], modified[2], months[modified[1] - 1], modified[0], modified[3], modified[4], modified[5])) + if referrer: + request.add_header('Referer', referrer) + if gzip and zlib: + request.add_header('Accept-encoding', 'gzip, deflate') + elif gzip: + request.add_header('Accept-encoding', 'gzip') + elif zlib: + request.add_header('Accept-encoding', 'deflate') + else: + request.add_header('Accept-encoding', '') + if auth: + request.add_header('Authorization', 'Basic %s' % auth) + if ACCEPT_HEADER: + request.add_header('Accept', ACCEPT_HEADER) + request.add_header('A-IM', 'feed') # RFC 3229 support + opener = apply(urllib2.build_opener, tuple([_FeedURLHandler()] + handlers)) + opener.addheaders = [] # RMK - must clear so we only send our custom User-Agent + try: + return opener.open(request) + finally: + opener.close() # JohnD + + # try to open with native open function (if url_file_stream_or_string is a filename) + try: + return open(url_file_stream_or_string) + except: + pass + + # treat url_file_stream_or_string as string + return _StringIO(str(url_file_stream_or_string)) + +_date_handlers = [] +def registerDateHandler(func): + '''Register a date handler function (takes string, returns 9-tuple date in GMT)''' + _date_handlers.insert(0, func) + +# ISO-8601 date parsing routines written by Fazal Majid. +# The ISO 8601 standard is very convoluted and irregular - a full ISO 8601 +# parser is beyond the scope of feedparser and would be a worthwhile addition +# to the Python library. +# A single regular expression cannot parse ISO 8601 date formats into groups +# as the standard is highly irregular (for instance is 030104 2003-01-04 or +# 0301-04-01), so we use templates instead. +# Please note the order in templates is significant because we need a +# greedy match. +_iso8601_tmpl = ['YYYY-?MM-?DD', 'YYYY-MM', 'YYYY-?OOO', + 'YY-?MM-?DD', 'YY-?OOO', 'YYYY', + '-YY-?MM', '-OOO', '-YY', + '--MM-?DD', '--MM', + '---DD', + 'CC', ''] +_iso8601_re = [ + tmpl.replace( + 'YYYY', r'(?P\d{4})').replace( + 'YY', r'(?P\d\d)').replace( + 'MM', r'(?P[01]\d)').replace( + 'DD', r'(?P[0123]\d)').replace( + 'OOO', r'(?P[0123]\d\d)').replace( + 'CC', r'(?P\d\d$)') + + r'(T?(?P\d{2}):(?P\d{2})' + + r'(:(?P\d{2}))?' + + r'(?P[+-](?P\d{2})(:(?P\d{2}))?|Z)?)?' + for tmpl in _iso8601_tmpl] +del tmpl +_iso8601_matches = [re.compile(regex).match for regex in _iso8601_re] +del regex +def _parse_date_iso8601(dateString): + '''Parse a variety of ISO-8601-compatible formats like 20040105''' + m = None + for _iso8601_match in _iso8601_matches: + m = _iso8601_match(dateString) + if m: break + if not m: return + if m.span() == (0, 0): return + params = m.groupdict() + ordinal = params.get('ordinal', 0) + if ordinal: + ordinal = int(ordinal) + else: + ordinal = 0 + year = params.get('year', '--') + if not year or year == '--': + year = time.gmtime()[0] + elif len(year) == 2: + # ISO 8601 assumes current century, i.e. 93 -> 2093, NOT 1993 + year = 100 * int(time.gmtime()[0] / 100) + int(year) + else: + year = int(year) + month = params.get('month', '-') + if not month or month == '-': + # ordinals are NOT normalized by mktime, we simulate them + # by setting month=1, day=ordinal + if ordinal: + month = 1 + else: + month = time.gmtime()[1] + month = int(month) + day = params.get('day', 0) + if not day: + # see above + if ordinal: + day = ordinal + elif params.get('century', 0) or \ + params.get('year', 0) or params.get('month', 0): + day = 1 + else: + day = time.gmtime()[2] + else: + day = int(day) + # special case of the century - is the first year of the 21st century + # 2000 or 2001 ? The debate goes on... + if 'century' in params.keys(): + year = (int(params['century']) - 1) * 100 + 1 + # in ISO 8601 most fields are optional + for field in ['hour', 'minute', 'second', 'tzhour', 'tzmin']: + if not params.get(field, None): + params[field] = 0 + hour = int(params.get('hour', 0)) + minute = int(params.get('minute', 0)) + second = int(params.get('second', 0)) + # weekday is normalized by mktime(), we can ignore it + weekday = 0 + # daylight savings is complex, but not needed for feedparser's purposes + # as time zones, if specified, include mention of whether it is active + # (e.g. PST vs. PDT, CET). Using -1 is implementation-dependent and + # and most implementations have DST bugs + daylight_savings_flag = 0 + tm = [year, month, day, hour, minute, second, weekday, + ordinal, daylight_savings_flag] + # ISO 8601 time zone adjustments + tz = params.get('tz') + if tz and tz != 'Z': + if tz[0] == '-': + tm[3] += int(params.get('tzhour', 0)) + tm[4] += int(params.get('tzmin', 0)) + elif tz[0] == '+': + tm[3] -= int(params.get('tzhour', 0)) + tm[4] -= int(params.get('tzmin', 0)) + else: + return None + # Python's time.mktime() is a wrapper around the ANSI C mktime(3c) + # which is guaranteed to normalize d/m/y/h/m/s. + # Many implementations have bugs, but we'll pretend they don't. + return time.localtime(time.mktime(tm)) +registerDateHandler(_parse_date_iso8601) + +# 8-bit date handling routines written by ytrewq1. +_korean_year = u'\ub144' # b3e2 in euc-kr +_korean_month = u'\uc6d4' # bff9 in euc-kr +_korean_day = u'\uc77c' # c0cf in euc-kr +_korean_am = u'\uc624\uc804' # bfc0 c0fc in euc-kr +_korean_pm = u'\uc624\ud6c4' # bfc0 c8c4 in euc-kr + +_korean_onblog_date_re = \ + re.compile('(\d{4})%s\s+(\d{2})%s\s+(\d{2})%s\s+(\d{2}):(\d{2}):(\d{2})' % \ + (_korean_year, _korean_month, _korean_day)) +_korean_nate_date_re = \ + re.compile(u'(\d{4})-(\d{2})-(\d{2})\s+(%s|%s)\s+(\d{,2}):(\d{,2}):(\d{,2})' % \ + (_korean_am, _korean_pm)) +def _parse_date_onblog(dateString): + '''Parse a string according to the OnBlog 8-bit date format''' + m = _korean_onblog_date_re.match(dateString) + if not m: return + w3dtfdate = '%(year)s-%(month)s-%(day)sT%(hour)s:%(minute)s:%(second)s%(zonediff)s' % \ + {'year': m.group(1), 'month': m.group(2), 'day': m.group(3),\ + 'hour': m.group(4), 'minute': m.group(5), 'second': m.group(6),\ + 'zonediff': '+09:00'} + if _debug: sys.stderr.write('OnBlog date parsed as: %s\n' % w3dtfdate) + return _parse_date_w3dtf(w3dtfdate) +registerDateHandler(_parse_date_onblog) + +def _parse_date_nate(dateString): + '''Parse a string according to the Nate 8-bit date format''' + m = _korean_nate_date_re.match(dateString) + if not m: return + hour = int(m.group(5)) + ampm = m.group(4) + if (ampm == _korean_pm): + hour += 12 + hour = str(hour) + if len(hour) == 1: + hour = '0' + hour + w3dtfdate = '%(year)s-%(month)s-%(day)sT%(hour)s:%(minute)s:%(second)s%(zonediff)s' % \ + {'year': m.group(1), 'month': m.group(2), 'day': m.group(3),\ + 'hour': hour, 'minute': m.group(6), 'second': m.group(7),\ + 'zonediff': '+09:00'} + if _debug: sys.stderr.write('Nate date parsed as: %s\n' % w3dtfdate) + return _parse_date_w3dtf(w3dtfdate) +registerDateHandler(_parse_date_nate) + +_mssql_date_re = \ + re.compile('(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})(\.\d+)?') +def _parse_date_mssql(dateString): + '''Parse a string according to the MS SQL date format''' + m = _mssql_date_re.match(dateString) + if not m: return + w3dtfdate = '%(year)s-%(month)s-%(day)sT%(hour)s:%(minute)s:%(second)s%(zonediff)s' % \ + {'year': m.group(1), 'month': m.group(2), 'day': m.group(3),\ + 'hour': m.group(4), 'minute': m.group(5), 'second': m.group(6),\ + 'zonediff': '+09:00'} + if _debug: sys.stderr.write('MS SQL date parsed as: %s\n' % w3dtfdate) + return _parse_date_w3dtf(w3dtfdate) +registerDateHandler(_parse_date_mssql) + +# Unicode strings for Greek date strings +_greek_months = \ + { \ + u'\u0399\u03b1\u03bd': u'Jan', # c9e1ed in iso-8859-7 + u'\u03a6\u03b5\u03b2': u'Feb', # d6e5e2 in iso-8859-7 + u'\u039c\u03ac\u03ce': u'Mar', # ccdcfe in iso-8859-7 + u'\u039c\u03b1\u03ce': u'Mar', # cce1fe in iso-8859-7 + u'\u0391\u03c0\u03c1': u'Apr', # c1f0f1 in iso-8859-7 + u'\u039c\u03ac\u03b9': u'May', # ccdce9 in iso-8859-7 + u'\u039c\u03b1\u03ca': u'May', # cce1fa in iso-8859-7 + u'\u039c\u03b1\u03b9': u'May', # cce1e9 in iso-8859-7 + u'\u0399\u03bf\u03cd\u03bd': u'Jun', # c9effded in iso-8859-7 + u'\u0399\u03bf\u03bd': u'Jun', # c9efed in iso-8859-7 + u'\u0399\u03bf\u03cd\u03bb': u'Jul', # c9effdeb in iso-8859-7 + u'\u0399\u03bf\u03bb': u'Jul', # c9f9eb in iso-8859-7 + u'\u0391\u03cd\u03b3': u'Aug', # c1fde3 in iso-8859-7 + u'\u0391\u03c5\u03b3': u'Aug', # c1f5e3 in iso-8859-7 + u'\u03a3\u03b5\u03c0': u'Sep', # d3e5f0 in iso-8859-7 + u'\u039f\u03ba\u03c4': u'Oct', # cfeaf4 in iso-8859-7 + u'\u039d\u03bf\u03ad': u'Nov', # cdefdd in iso-8859-7 + u'\u039d\u03bf\u03b5': u'Nov', # cdefe5 in iso-8859-7 + u'\u0394\u03b5\u03ba': u'Dec', # c4e5ea in iso-8859-7 + } + +_greek_wdays = \ + { \ + u'\u039a\u03c5\u03c1': u'Sun', # caf5f1 in iso-8859-7 + u'\u0394\u03b5\u03c5': u'Mon', # c4e5f5 in iso-8859-7 + u'\u03a4\u03c1\u03b9': u'Tue', # d4f1e9 in iso-8859-7 + u'\u03a4\u03b5\u03c4': u'Wed', # d4e5f4 in iso-8859-7 + u'\u03a0\u03b5\u03bc': u'Thu', # d0e5ec in iso-8859-7 + u'\u03a0\u03b1\u03c1': u'Fri', # d0e1f1 in iso-8859-7 + u'\u03a3\u03b1\u03b2': u'Sat', # d3e1e2 in iso-8859-7 + } + +_greek_date_format_re = \ + re.compile(u'([^,]+),\s+(\d{2})\s+([^\s]+)\s+(\d{4})\s+(\d{2}):(\d{2}):(\d{2})\s+([^\s]+)') + +def _parse_date_greek(dateString): + '''Parse a string according to a Greek 8-bit date format.''' + m = _greek_date_format_re.match(dateString) + if not m: return + try: + wday = _greek_wdays[m.group(1)] + month = _greek_months[m.group(3)] + except: + return + rfc822date = '%(wday)s, %(day)s %(month)s %(year)s %(hour)s:%(minute)s:%(second)s %(zonediff)s' % \ + {'wday': wday, 'day': m.group(2), 'month': month, 'year': m.group(4),\ + 'hour': m.group(5), 'minute': m.group(6), 'second': m.group(7),\ + 'zonediff': m.group(8)} + if _debug: sys.stderr.write('Greek date parsed as: %s\n' % rfc822date) + return _parse_date_rfc822(rfc822date) +registerDateHandler(_parse_date_greek) + +# Unicode strings for Hungarian date strings +_hungarian_months = \ + { \ + u'janu\u00e1r': u'01', # e1 in iso-8859-2 + u'febru\u00e1ri': u'02', # e1 in iso-8859-2 + u'm\u00e1rcius': u'03', # e1 in iso-8859-2 + u'\u00e1prilis': u'04', # e1 in iso-8859-2 + u'm\u00e1ujus': u'05', # e1 in iso-8859-2 + u'j\u00fanius': u'06', # fa in iso-8859-2 + u'j\u00falius': u'07', # fa in iso-8859-2 + u'augusztus': u'08', + u'szeptember': u'09', + u'okt\u00f3ber': u'10', # f3 in iso-8859-2 + u'november': u'11', + u'december': u'12', + } + +_hungarian_date_format_re = \ + re.compile(u'(\d{4})-([^-]+)-(\d{,2})T(\d{,2}):(\d{2})((\+|-)(\d{,2}:\d{2}))') + +def _parse_date_hungarian(dateString): + '''Parse a string according to a Hungarian 8-bit date format.''' + m = _hungarian_date_format_re.match(dateString) + if not m: return + try: + month = _hungarian_months[m.group(2)] + day = m.group(3) + if len(day) == 1: + day = '0' + day + hour = m.group(4) + if len(hour) == 1: + hour = '0' + hour + except: + return + w3dtfdate = '%(year)s-%(month)s-%(day)sT%(hour)s:%(minute)s%(zonediff)s' % \ + {'year': m.group(1), 'month': month, 'day': day,\ + 'hour': hour, 'minute': m.group(5),\ + 'zonediff': m.group(6)} + if _debug: sys.stderr.write('Hungarian date parsed as: %s\n' % w3dtfdate) + return _parse_date_w3dtf(w3dtfdate) +registerDateHandler(_parse_date_hungarian) + +# W3DTF-style date parsing adapted from PyXML xml.utils.iso8601, written by +# Drake and licensed under the Python license. Removed all range checking +# for month, day, hour, minute, and second, since mktime will normalize +# these later +def _parse_date_w3dtf(dateString): + def __extract_date(m): + year = int(m.group('year')) + if year < 100: + year = 100 * int(time.gmtime()[0] / 100) + int(year) + if year < 1000: + return 0, 0, 0 + julian = m.group('julian') + if julian: + julian = int(julian) + month = julian / 30 + 1 + day = julian % 30 + 1 + jday = None + while jday != julian: + t = time.mktime((year, month, day, 0, 0, 0, 0, 0, 0)) + jday = time.gmtime(t)[-2] + diff = abs(jday - julian) + if jday > julian: + if diff < day: + day = day - diff + else: + month = month - 1 + day = 31 + elif jday < julian: + if day + diff < 28: + day = day + diff + else: + month = month + 1 + return year, month, day + month = m.group('month') + day = 1 + if month is None: + month = 1 + else: + month = int(month) + day = m.group('day') + if day: + day = int(day) + else: + day = 1 + return year, month, day + + def __extract_time(m): + if not m: + return 0, 0, 0 + hours = m.group('hours') + if not hours: + return 0, 0, 0 + hours = int(hours) + minutes = int(m.group('minutes')) + seconds = m.group('seconds') + if seconds: + seconds = int(seconds) + else: + seconds = 0 + return hours, minutes, seconds + + def __extract_tzd(m): + '''Return the Time Zone Designator as an offset in seconds from UTC.''' + if not m: + return 0 + tzd = m.group('tzd') + if not tzd: + return 0 + if tzd == 'Z': + return 0 + hours = int(m.group('tzdhours')) + minutes = m.group('tzdminutes') + if minutes: + minutes = int(minutes) + else: + minutes = 0 + offset = (hours*60 + minutes) * 60 + if tzd[0] == '+': + return -offset + return offset + + __date_re = ('(?P\d\d\d\d)' + '(?:(?P-|)' + '(?:(?P\d\d\d)' + '|(?P\d\d)(?:(?P=dsep)(?P\d\d))?))?') + __tzd_re = '(?P[-+](?P\d\d)(?::?(?P\d\d))|Z)' + __tzd_rx = re.compile(__tzd_re) + __time_re = ('(?P\d\d)(?P:|)(?P\d\d)' + '(?:(?P=tsep)(?P\d\d(?:[.,]\d+)?))?' + + __tzd_re) + __datetime_re = '%s(?:T%s)?' % (__date_re, __time_re) + __datetime_rx = re.compile(__datetime_re) + m = __datetime_rx.match(dateString) + if (m is None) or (m.group() != dateString): return + gmt = __extract_date(m) + __extract_time(m) + (0, 0, 0) + if gmt[0] == 0: return + return time.gmtime(time.mktime(gmt) + __extract_tzd(m) - time.timezone) +registerDateHandler(_parse_date_w3dtf) + +def _parse_date_rfc822(dateString): + '''Parse an RFC822, RFC1123, RFC2822, or asctime-style date''' + data = dateString.split() + if data[0][-1] in (',', '.') or data[0].lower() in rfc822._daynames: + del data[0] + if len(data) == 4: + s = data[3] + i = s.find('+') + if i > 0: + data[3:] = [s[:i], s[i+1:]] + else: + data.append('') + dateString = " ".join(data) + if len(data) < 5: + dateString += ' 00:00:00 GMT' + tm = rfc822.parsedate_tz(dateString) + if tm: + return time.gmtime(rfc822.mktime_tz(tm)) +# rfc822.py defines several time zones, but we define some extra ones. +# 'ET' is equivalent to 'EST', etc. +_additional_timezones = {'AT': -400, 'ET': -500, 'CT': -600, 'MT': -700, 'PT': -800} +rfc822._timezones.update(_additional_timezones) +registerDateHandler(_parse_date_rfc822) + +def _parse_date(dateString): + '''Parses a variety of date formats into a 9-tuple in GMT''' + for handler in _date_handlers: + try: + date9tuple = handler(dateString) + if not date9tuple: continue + if len(date9tuple) != 9: + if _debug: sys.stderr.write('date handler function must return 9-tuple\n') + raise ValueError + map(int, date9tuple) + return date9tuple + except Exception, e: + if _debug: sys.stderr.write('%s raised %s\n' % (handler.__name__, repr(e))) + pass + return None + +def _getCharacterEncoding(http_headers, xml_data): + '''Get the character encoding of the XML document + + http_headers is a dictionary + xml_data is a raw string (not Unicode) + + This is so much trickier than it sounds, it's not even funny. + According to RFC 3023 ('XML Media Types'), if the HTTP Content-Type + is application/xml, application/*+xml, + application/xml-external-parsed-entity, or application/xml-dtd, + the encoding given in the charset parameter of the HTTP Content-Type + takes precedence over the encoding given in the XML prefix within the + document, and defaults to 'utf-8' if neither are specified. But, if + the HTTP Content-Type is text/xml, text/*+xml, or + text/xml-external-parsed-entity, the encoding given in the XML prefix + within the document is ALWAYS IGNORED and only the encoding given in + the charset parameter of the HTTP Content-Type header should be + respected, and it defaults to 'us-ascii' if not specified. + + Furthermore, discussion on the atom-syntax mailing list with the + author of RFC 3023 leads me to the conclusion that any document + served with a Content-Type of text/* and no charset parameter + must be treated as us-ascii. (We now do this.) And also that it + must always be flagged as non-well-formed. (We now do this too.) + + If Content-Type is unspecified (input was local file or non-HTTP source) + or unrecognized (server just got it totally wrong), then go by the + encoding given in the XML prefix of the document and default to + 'iso-8859-1' as per the HTTP specification (RFC 2616). + + Then, assuming we didn't find a character encoding in the HTTP headers + (and the HTTP Content-type allowed us to look in the body), we need + to sniff the first few bytes of the XML data and try to determine + whether the encoding is ASCII-compatible. Section F of the XML + specification shows the way here: + http://www.w3.org/TR/REC-xml/#sec-guessing-no-ext-info + + If the sniffed encoding is not ASCII-compatible, we need to make it + ASCII compatible so that we can sniff further into the XML declaration + to find the encoding attribute, which will tell us the true encoding. + + Of course, none of this guarantees that we will be able to parse the + feed in the declared character encoding (assuming it was declared + correctly, which many are not). CJKCodecs and iconv_codec help a lot; + you should definitely install them if you can. + http://cjkpython.i18n.org/ + ''' + + def _parseHTTPContentType(content_type): + '''takes HTTP Content-Type header and returns (content type, charset) + + If no charset is specified, returns (content type, '') + If no content type is specified, returns ('', '') + Both return parameters are guaranteed to be lowercase strings + ''' + content_type = content_type or '' + content_type, params = cgi.parse_header(content_type) + return content_type, params.get('charset', '').replace("'", '') + + sniffed_xml_encoding = '' + xml_encoding = '' + true_encoding = '' + http_content_type, http_encoding = _parseHTTPContentType(http_headers.get('content-type')) + # Must sniff for non-ASCII-compatible character encodings before + # searching for XML declaration. This heuristic is defined in + # section F of the XML specification: + # http://www.w3.org/TR/REC-xml/#sec-guessing-no-ext-info + try: + if xml_data[:4] == '\x4c\x6f\xa7\x94': + # EBCDIC + xml_data = _ebcdic_to_ascii(xml_data) + elif xml_data[:4] == '\x00\x3c\x00\x3f': + # UTF-16BE + sniffed_xml_encoding = 'utf-16be' + xml_data = unicode(xml_data, 'utf-16be').encode('utf-8') + elif (len(xml_data) >= 4) and (xml_data[:2] == '\xfe\xff') and (xml_data[2:4] != '\x00\x00'): + # UTF-16BE with BOM + sniffed_xml_encoding = 'utf-16be' + xml_data = unicode(xml_data[2:], 'utf-16be').encode('utf-8') + elif xml_data[:4] == '\x3c\x00\x3f\x00': + # UTF-16LE + sniffed_xml_encoding = 'utf-16le' + xml_data = unicode(xml_data, 'utf-16le').encode('utf-8') + elif (len(xml_data) >= 4) and (xml_data[:2] == '\xff\xfe') and (xml_data[2:4] != '\x00\x00'): + # UTF-16LE with BOM + sniffed_xml_encoding = 'utf-16le' + xml_data = unicode(xml_data[2:], 'utf-16le').encode('utf-8') + elif xml_data[:4] == '\x00\x00\x00\x3c': + # UTF-32BE + sniffed_xml_encoding = 'utf-32be' + xml_data = unicode(xml_data, 'utf-32be').encode('utf-8') + elif xml_data[:4] == '\x3c\x00\x00\x00': + # UTF-32LE + sniffed_xml_encoding = 'utf-32le' + xml_data = unicode(xml_data, 'utf-32le').encode('utf-8') + elif xml_data[:4] == '\x00\x00\xfe\xff': + # UTF-32BE with BOM + sniffed_xml_encoding = 'utf-32be' + xml_data = unicode(xml_data[4:], 'utf-32be').encode('utf-8') + elif xml_data[:4] == '\xff\xfe\x00\x00': + # UTF-32LE with BOM + sniffed_xml_encoding = 'utf-32le' + xml_data = unicode(xml_data[4:], 'utf-32le').encode('utf-8') + elif xml_data[:3] == '\xef\xbb\xbf': + # UTF-8 with BOM + sniffed_xml_encoding = 'utf-8' + xml_data = unicode(xml_data[3:], 'utf-8').encode('utf-8') + else: + # ASCII-compatible + pass + xml_encoding_match = re.compile('^<\?.*encoding=[\'"](.*?)[\'"].*\?>').match(xml_data) + except: + xml_encoding_match = None + if xml_encoding_match: + xml_encoding = xml_encoding_match.groups()[0].lower() + if sniffed_xml_encoding and (xml_encoding in ('iso-10646-ucs-2', 'ucs-2', 'csunicode', 'iso-10646-ucs-4', 'ucs-4', 'csucs4', 'utf-16', 'utf-32', 'utf_16', 'utf_32', 'utf16', 'u16')): + xml_encoding = sniffed_xml_encoding + acceptable_content_type = 0 + application_content_types = ('application/xml', 'application/xml-dtd', 'application/xml-external-parsed-entity') + text_content_types = ('text/xml', 'text/xml-external-parsed-entity') + if (http_content_type in application_content_types) or \ + (http_content_type.startswith('application/') and http_content_type.endswith('+xml')): + acceptable_content_type = 1 + true_encoding = http_encoding or xml_encoding or 'utf-8' + elif (http_content_type in text_content_types) or \ + (http_content_type.startswith('text/')) and http_content_type.endswith('+xml'): + acceptable_content_type = 1 + true_encoding = http_encoding or 'us-ascii' + elif http_content_type.startswith('text/'): + true_encoding = http_encoding or 'us-ascii' + elif http_headers and (not http_headers.has_key('content-type')): + true_encoding = xml_encoding or 'iso-8859-1' + else: + true_encoding = xml_encoding or 'utf-8' + return true_encoding, http_encoding, xml_encoding, sniffed_xml_encoding, acceptable_content_type + +def _toUTF8(data, encoding): + '''Changes an XML data stream on the fly to specify a new encoding + + data is a raw sequence of bytes (not Unicode) that is presumed to be in %encoding already + encoding is a string recognized by encodings.aliases + ''' + if _debug: sys.stderr.write('entering _toUTF8, trying encoding %s\n' % encoding) + # strip Byte Order Mark (if present) + if (len(data) >= 4) and (data[:2] == '\xfe\xff') and (data[2:4] != '\x00\x00'): + if _debug: + sys.stderr.write('stripping BOM\n') + if encoding != 'utf-16be': + sys.stderr.write('trying utf-16be instead\n') + encoding = 'utf-16be' + data = data[2:] + elif (len(data) >= 4) and (data[:2] == '\xff\xfe') and (data[2:4] != '\x00\x00'): + if _debug: + sys.stderr.write('stripping BOM\n') + if encoding != 'utf-16le': + sys.stderr.write('trying utf-16le instead\n') + encoding = 'utf-16le' + data = data[2:] + elif data[:3] == '\xef\xbb\xbf': + if _debug: + sys.stderr.write('stripping BOM\n') + if encoding != 'utf-8': + sys.stderr.write('trying utf-8 instead\n') + encoding = 'utf-8' + data = data[3:] + elif data[:4] == '\x00\x00\xfe\xff': + if _debug: + sys.stderr.write('stripping BOM\n') + if encoding != 'utf-32be': + sys.stderr.write('trying utf-32be instead\n') + encoding = 'utf-32be' + data = data[4:] + elif data[:4] == '\xff\xfe\x00\x00': + if _debug: + sys.stderr.write('stripping BOM\n') + if encoding != 'utf-32le': + sys.stderr.write('trying utf-32le instead\n') + encoding = 'utf-32le' + data = data[4:] + newdata = unicode(data, encoding) + if _debug: sys.stderr.write('successfully converted %s data to unicode\n' % encoding) + declmatch = re.compile('^<\?xml[^>]*?>') + newdecl = '''''' + if declmatch.search(newdata): + newdata = declmatch.sub(newdecl, newdata) + else: + newdata = newdecl + u'\n' + newdata + return newdata.encode('utf-8') + +def _stripDoctype(data): + '''Strips DOCTYPE from XML document, returns (rss_version, stripped_data) + + rss_version may be 'rss091n' or None + stripped_data is the same XML document, minus the DOCTYPE + ''' + entity_pattern = re.compile(r']*?)>', re.MULTILINE) + data = entity_pattern.sub('', data) + doctype_pattern = re.compile(r']*?)>', re.MULTILINE) + doctype_results = doctype_pattern.findall(data) + doctype = doctype_results and doctype_results[0] or '' + if doctype.lower().count('netscape'): + version = 'rss091n' + else: + version = None + data = doctype_pattern.sub('', data) + return version, data + +def parse(url_file_stream_or_string, etag=None, modified=None, agent=None, referrer=None, handlers=[]): + '''Parse a feed from a URL, file, stream, or string''' + result = FeedParserDict() + result['feed'] = FeedParserDict() + result['entries'] = [] + if _XML_AVAILABLE: + result['bozo'] = 0 + if type(handlers) == types.InstanceType: + handlers = [handlers] + try: + f = _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, handlers) + data = f.read() + except Exception, e: + result['bozo'] = 1 + result['bozo_exception'] = e + data = '' + f = None + + # if feed is gzip-compressed, decompress it + if f and data and hasattr(f, 'headers'): + if gzip and f.headers.get('content-encoding', '') == 'gzip': + try: + data = gzip.GzipFile(fileobj=_StringIO(data)).read() + except Exception, e: + # Some feeds claim to be gzipped but they're not, so + # we get garbage. Ideally, we should re-request the + # feed without the 'Accept-encoding: gzip' header, + # but we don't. + result['bozo'] = 1 + result['bozo_exception'] = e + data = '' + elif zlib and f.headers.get('content-encoding', '') == 'deflate': + try: + data = zlib.decompress(data, -zlib.MAX_WBITS) + except Exception, e: + result['bozo'] = 1 + result['bozo_exception'] = e + data = '' + + # save HTTP headers + if hasattr(f, 'info'): + info = f.info() + result['etag'] = info.getheader('ETag') + last_modified = info.getheader('Last-Modified') + if last_modified: + result['modified'] = _parse_date(last_modified) + if hasattr(f, 'url'): + result['href'] = f.url + result['status'] = 200 + if hasattr(f, 'status'): + result['status'] = f.status + if hasattr(f, 'headers'): + result['headers'] = f.headers.dict + if hasattr(f, 'close'): + f.close() + + # there are four encodings to keep track of: + # - http_encoding is the encoding declared in the Content-Type HTTP header + # - xml_encoding is the encoding declared in the ; changed +# project name +#2.5 - 7/25/2003 - MAP - changed to Python license (all contributors agree); +# removed unnecessary urllib code -- urllib2 should always be available anyway; +# return actual url, status, and full HTTP headers (as result['url'], +# result['status'], and result['headers']) if parsing a remote feed over HTTP -- +# this should pass all the HTTP tests at ; +# added the latest namespace-of-the-week for RSS 2.0 +#2.5.1 - 7/26/2003 - RMK - clear opener.addheaders so we only send our custom +# User-Agent (otherwise urllib2 sends two, which confuses some servers) +#2.5.2 - 7/28/2003 - MAP - entity-decode inline xml properly; added support for +# inline and as used in some RSS 2.0 feeds +#2.5.3 - 8/6/2003 - TvdV - patch to track whether we're inside an image or +# textInput, and also to return the character encoding (if specified) +#2.6 - 1/1/2004 - MAP - dc:author support (MarekK); fixed bug tracking +# nested divs within content (JohnD); fixed missing sys import (JohanS); +# fixed regular expression to capture XML character encoding (Andrei); +# added support for Atom 0.3-style links; fixed bug with textInput tracking; +# added support for cloud (MartijnP); added support for multiple +# category/dc:subject (MartijnP); normalize content model: 'description' gets +# description (which can come from description, summary, or full content if no +# description), 'content' gets dict of base/language/type/value (which can come +# from content:encoded, xhtml:body, content, or fullitem); +# fixed bug matching arbitrary Userland namespaces; added xml:base and xml:lang +# tracking; fixed bug tracking unknown tags; fixed bug tracking content when +# element is not in default namespace (like Pocketsoap feed); +# resolve relative URLs in link, guid, docs, url, comments, wfw:comment, +# wfw:commentRSS; resolve relative URLs within embedded HTML markup in +# description, xhtml:body, content, content:encoded, title, subtitle, +# summary, info, tagline, and copyright; added support for pingback and +# trackback namespaces +#2.7 - 1/5/2004 - MAP - really added support for trackback and pingback +# namespaces, as opposed to 2.6 when I said I did but didn't really; +# sanitize HTML markup within some elements; added mxTidy support (if +# installed) to tidy HTML markup within some elements; fixed indentation +# bug in _parse_date (FazalM); use socket.setdefaulttimeout if available +# (FazalM); universal date parsing and normalization (FazalM): 'created', modified', +# 'issued' are parsed into 9-tuple date format and stored in 'created_parsed', +# 'modified_parsed', and 'issued_parsed'; 'date' is duplicated in 'modified' +# and vice-versa; 'date_parsed' is duplicated in 'modified_parsed' and vice-versa +#2.7.1 - 1/9/2004 - MAP - fixed bug handling " and '. fixed memory +# leak not closing url opener (JohnD); added dc:publisher support (MarekK); +# added admin:errorReportsTo support (MarekK); Python 2.1 dict support (MarekK) +#2.7.4 - 1/14/2004 - MAP - added workaround for improperly formed
tags in +# encoded HTML (skadz); fixed unicode handling in normalize_attrs (ChrisL); +# fixed relative URI processing for guid (skadz); added ICBM support; added +# base64 support +#2.7.5 - 1/15/2004 - MAP - added workaround for malformed DOCTYPE (seen on many +# blogspot.com sites); added _debug variable +#2.7.6 - 1/16/2004 - MAP - fixed bug with StringIO importing +#3.0b3 - 1/23/2004 - MAP - parse entire feed with real XML parser (if available); +# added several new supported namespaces; fixed bug tracking naked markup in +# description; added support for enclosure; added support for source; re-added +# support for cloud which got dropped somehow; added support for expirationDate +#3.0b4 - 1/26/2004 - MAP - fixed xml:lang inheritance; fixed multiple bugs tracking +# xml:base URI, one for documents that don't define one explicitly and one for +# documents that define an outer and an inner xml:base that goes out of scope +# before the end of the document +#3.0b5 - 1/26/2004 - MAP - fixed bug parsing multiple links at feed level +#3.0b6 - 1/27/2004 - MAP - added feed type and version detection, result['version'] +# will be one of SUPPORTED_VERSIONS.keys() or empty string if unrecognized; +# added support for creativeCommons:license and cc:license; added support for +# full Atom content model in title, tagline, info, copyright, summary; fixed bug +# with gzip encoding (not always telling server we support it when we do) +#3.0b7 - 1/28/2004 - MAP - support Atom-style author element in author_detail +# (dictionary of 'name', 'url', 'email'); map author to author_detail if author +# contains name + email address +#3.0b8 - 1/28/2004 - MAP - added support for contributor +#3.0b9 - 1/29/2004 - MAP - fixed check for presence of dict function; added +# support for summary +#3.0b10 - 1/31/2004 - MAP - incorporated ISO-8601 date parsing routines from +# xml.util.iso8601 +#3.0b11 - 2/2/2004 - MAP - added 'rights' to list of elements that can contain +# dangerous markup; fiddled with decodeEntities (not right); liberalized +# date parsing even further +#3.0b12 - 2/6/2004 - MAP - fiddled with decodeEntities (still not right); +# added support to Atom 0.2 subtitle; added support for Atom content model +# in copyright; better sanitizing of dangerous HTML elements with end tags +# (script, frameset) +#3.0b13 - 2/8/2004 - MAP - better handling of empty HTML tags (br, hr, img, +# etc.) in embedded markup, in either HTML or XHTML form (
,
,
) +#3.0b14 - 2/8/2004 - MAP - fixed CDATA handling in non-wellformed feeds under +# Python 2.1 +#3.0b15 - 2/11/2004 - MAP - fixed bug resolving relative links in wfw:commentRSS; +# fixed bug capturing author and contributor URL; fixed bug resolving relative +# links in author and contributor URL; fixed bug resolvin relative links in +# generator URL; added support for recognizing RSS 1.0; passed Simon Fell's +# namespace tests, and included them permanently in the test suite with his +# permission; fixed namespace handling under Python 2.1 +#3.0b16 - 2/12/2004 - MAP - fixed support for RSS 0.90 (broken in b15) +#3.0b17 - 2/13/2004 - MAP - determine character encoding as per RFC 3023 +#3.0b18 - 2/17/2004 - MAP - always map description to summary_detail (Andrei); +# use libxml2 (if available) +#3.0b19 - 3/15/2004 - MAP - fixed bug exploding author information when author +# name was in parentheses; removed ultra-problematic mxTidy support; patch to +# workaround crash in PyXML/expat when encountering invalid entities +# (MarkMoraes); support for textinput/textInput +#3.0b20 - 4/7/2004 - MAP - added CDF support +#3.0b21 - 4/14/2004 - MAP - added Hot RSS support +#3.0b22 - 4/19/2004 - MAP - changed 'channel' to 'feed', 'item' to 'entries' in +# results dict; changed results dict to allow getting values with results.key +# as well as results[key]; work around embedded illformed HTML with half +# a DOCTYPE; work around malformed Content-Type header; if character encoding +# is wrong, try several common ones before falling back to regexes (if this +# works, bozo_exception is set to CharacterEncodingOverride); fixed character +# encoding issues in BaseHTMLProcessor by tracking encoding and converting +# from Unicode to raw strings before feeding data to sgmllib.SGMLParser; +# convert each value in results to Unicode (if possible), even if using +# regex-based parsing +#3.0b23 - 4/21/2004 - MAP - fixed UnicodeDecodeError for feeds that contain +# high-bit characters in attributes in embedded HTML in description (thanks +# Thijs van de Vossen); moved guid, date, and date_parsed to mapped keys in +# FeedParserDict; tweaked FeedParserDict.has_key to return True if asking +# about a mapped key +#3.0fc1 - 4/23/2004 - MAP - made results.entries[0].links[0] and +# results.entries[0].enclosures[0] into FeedParserDict; fixed typo that could +# cause the same encoding to be tried twice (even if it failed the first time); +# fixed DOCTYPE stripping when DOCTYPE contained entity declarations; +# better textinput and image tracking in illformed RSS 1.0 feeds +#3.0fc2 - 5/10/2004 - MAP - added and passed Sam's amp tests; added and passed +# my blink tag tests +#3.0fc3 - 6/18/2004 - MAP - fixed bug in _changeEncodingDeclaration that +# failed to parse utf-16 encoded feeds; made source into a FeedParserDict; +# duplicate admin:generatorAgent/@rdf:resource in generator_detail.url; +# added support for image; refactored parse() fallback logic to try other +# encodings if SAX parsing fails (previously it would only try other encodings +# if re-encoding failed); remove unichr madness in normalize_attrs now that +# we're properly tracking encoding in and out of BaseHTMLProcessor; set +# feed.language from root-level xml:lang; set entry.id from rdf:about; +# send Accept header +#3.0 - 6/21/2004 - MAP - don't try iso-8859-1 (can't distinguish between +# iso-8859-1 and windows-1252 anyway, and most incorrectly marked feeds are +# windows-1252); fixed regression that could cause the same encoding to be +# tried twice (even if it failed the first time) +#3.0.1 - 6/22/2004 - MAP - default to us-ascii for all text/* content types; +# recover from malformed content-type header parameter with no equals sign +# ('text/xml; charset:iso-8859-1') +#3.1 - 6/28/2004 - MAP - added and passed tests for converting HTML entities +# to Unicode equivalents in illformed feeds (aaronsw); added and +# passed tests for converting character entities to Unicode equivalents +# in illformed feeds (aaronsw); test for valid parsers when setting +# XML_AVAILABLE; make version and encoding available when server returns +# a 304; add handlers parameter to pass arbitrary urllib2 handlers (like +# digest auth or proxy support); add code to parse username/password +# out of url and send as basic authentication; expose downloading-related +# exceptions in bozo_exception (aaronsw); added __contains__ method to +# FeedParserDict (aaronsw); added publisher_detail (aaronsw) +#3.2 - 7/3/2004 - MAP - use cjkcodecs and iconv_codec if available; always +# convert feed to UTF-8 before passing to XML parser; completely revamped +# logic for determining character encoding and attempting XML parsing +# (much faster); increased default timeout to 20 seconds; test for presence +# of Location header on redirects; added tests for many alternate character +# encodings; support various EBCDIC encodings; support UTF-16BE and +# UTF16-LE with or without a BOM; support UTF-8 with a BOM; support +# UTF-32BE and UTF-32LE with or without a BOM; fixed crashing bug if no +# XML parsers are available; added support for 'Content-encoding: deflate'; +# send blank 'Accept-encoding: ' header if neither gzip nor zlib modules +# are available +#3.3 - 7/15/2004 - MAP - optimize EBCDIC to ASCII conversion; fix obscure +# problem tracking xml:base and xml:lang if element declares it, child +# doesn't, first grandchild redeclares it, and second grandchild doesn't; +# refactored date parsing; defined public registerDateHandler so callers +# can add support for additional date formats at runtime; added support +# for OnBlog, Nate, MSSQL, Greek, and Hungarian dates (ytrewq1); added +# zopeCompatibilityHack() which turns FeedParserDict into a regular +# dictionary, required for Zope compatibility, and also makes command- +# line debugging easier because pprint module formats real dictionaries +# better than dictionary-like objects; added NonXMLContentType exception, +# which is stored in bozo_exception when a feed is served with a non-XML +# media type such as 'text/plain'; respect Content-Language as default +# language if not xml:lang is present; cloud dict is now FeedParserDict; +# generator dict is now FeedParserDict; better tracking of xml:lang, +# including support for xml:lang='' to unset the current language; +# recognize RSS 1.0 feeds even when RSS 1.0 namespace is not the default +# namespace; don't overwrite final status on redirects (scenarios: +# redirecting to a URL that returns 304, redirecting to a URL that +# redirects to another URL with a different type of redirect); add +# support for HTTP 303 redirects +#4.0 - MAP - support for relative URIs in xml:base attribute; fixed +# encoding issue with mxTidy (phopkins); preliminary support for RFC 3229; +# support for Atom 1.0; support for iTunes extensions; new 'tags' for +# categories/keywords/etc. as array of dict +# {'term': term, 'scheme': scheme, 'label': label} to match Atom 1.0 +# terminology; parse RFC 822-style dates with no time; lots of other +# bug fixes +#4.1 - MAP - removed socket timeout; added support for chardet library diff --git a/menus.py b/menus.py index cf331f1..33346a0 100644 --- a/menus.py +++ b/menus.py @@ -1035,6 +1035,9 @@ class PesterOptions(QtGui.QDialog): layout_6.addWidget(QtGui.QLabel("Check for\nPesterchum Updates:")) layout_6.addWidget(self.updateBox) + self.mspaCheck = QtGui.QCheckBox("Check for MSPA Updates", self) + self.mspaCheck.setChecked(self.config.checkMSPA()) + if parent.randhandler.running: self.randomscheck = QtGui.QCheckBox("Receive Random Encounters") self.randomscheck.setChecked(parent.userprofile.randoms) @@ -1145,6 +1148,7 @@ class PesterOptions(QtGui.QDialog): layout_idle.setAlignment(QtCore.Qt.AlignTop) layout_idle.addLayout(layout_5) layout_idle.addLayout(layout_6) + layout_idle.addWidget(self.mspaCheck) self.pages.addWidget(widget) # Theme @@ -1437,7 +1441,9 @@ Art by:\n\ \n\ Special Thanks:\n\ ABT\n\ - gamblingGenocider") + gamblingGenocider\n\ + Lexi (lexicalNuance)\n\ + Eco-Mono") self.ok = QtGui.QPushButton("OK", self) self.connect(self.ok, QtCore.SIGNAL('clicked()'), diff --git a/pesterchum.py b/pesterchum.py index 6f7cd1a..7f57200 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -54,6 +54,7 @@ from irc import PesterIRC from logviewer import PesterLogUserSelect, PesterLogViewer from bugreport import BugReporter from randomer import RandomHandler +from updatecheck import MSPAChecker _datadir = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)+"Pesterchum/" canon_handles = ["apocalypseArisen", "arsenicCatnip", "arachnidsGrip", "adiosToreador", \ @@ -419,6 +420,8 @@ class userConfig(object): # Never def lastUCheck(self): return self.config.get('lastUCheck', 0) + def checkMSPA(self): + return self.config.get('mspa', False) def addChum(self, chum): if chum.handle not in self.chums(): fp = open(self.filename) # what if we have two clients open?? @@ -1638,6 +1641,8 @@ class PesterWindow(MovingWindow): if not self.config.defaultprofile(): self.changeProfile() + QtCore.QTimer.singleShot(1000, self, QtCore.SLOT('mspacheck()')) + self.connect(self, QtCore.SIGNAL('pcUpdate(QString, QString)'), self, QtCore.SLOT('updateMsg(QString, QString)')) @@ -1647,6 +1652,10 @@ class PesterWindow(MovingWindow): self.lastping = int(time()) self.pingtimer.start(1000*10) + @QtCore.pyqtSlot() + def mspacheck(self): + checker = MSPAChecker(self) + @QtCore.pyqtSlot(QtCore.QString, QtCore.QString) def updateMsg(self, ver, url): if not hasattr(self, 'updatemenu'): @@ -2677,6 +2686,11 @@ class PesterWindow(MovingWindow): curupdatecheck = self.config.checkForUpdates() if updatechecksetting != curupdatecheck: self.config.set('checkUpdates', updatechecksetting) + # mspa update check + mspachecksetting = self.optionmenu.mspaCheck.isChecked() + curmspacheck = self.config.checkMSPA() + if mspachecksetting != curmspacheck: + self.config.set('mspa', mspachecksetting) # advanced ## user mode if self.advanced: diff --git a/updatecheck.py b/updatecheck.py new file mode 100644 index 0000000..73e014b --- /dev/null +++ b/updatecheck.py @@ -0,0 +1,118 @@ +# Adapted from Eco-Mono's F5Stuck RSS Client + +import feedparser +import pickle +import os +from time import mktime +from PyQt4 import QtCore, QtGui + +class MSPAChecker(QtGui.QWidget): + def __init__(self, parent=None): + QtCore.QObject.__init__(self, parent) + self.mainwindow = parent + self.refreshRate = 30 # seconds + self.status = None + self.timer = QtCore.QTimer(self) + self.connect(self.timer, QtCore.SIGNAL('timeout()'), + self, QtCore.SLOT('check_site()')) + self.check_site() + self.timer.start(1000*self.refreshRate) + + def save_state(self): + try: + current_status = open("status_new.pkl","w") + pickle.dump(self.status, current_status) + current_status.close() + try: + os.rename("status.pkl","status_old.pkl") + except: + pass + try: + os.rename("status_new.pkl","status.pkl") + except: + if os.path.exists("status_old.pkl"): + os.rename("status_old.pkl","status.pkl") + raise + if os.path.exists("status_old.pkl"): + os.remove("status_old.pkl") + except Exception, e: + print e + msg = QtGui.QMessageBox(self) + msg.setText("Problems writing save file.") + msg.show() + + @QtCore.pyqtSlot() + def check_site(self): + if not self.mainwindow.config.checkMSPA(): + return + rss = None + must_save = False + try: + rss = feedparser.parse("http://www.mspaintadventures.com/rss/rss.xml") + except: + return + if len(rss.entries) == 0: + return + entries = sorted(rss.entries,key=(lambda x: mktime(x.updated_parsed))) + if self.status == None: + self.status = {} + self.status['last_visited'] = {'pubdate':mktime(entries[-1].updated_parsed),'link':entries[-1].link} + self.status['last_seen'] = {'pubdate':mktime(entries[-1].updated_parsed),'link':entries[-1].link} + must_save = True + elif mktime(entries[-1].updated_parsed) > self.status['last_seen']['pubdate']: + #This is the first time the app itself has noticed this update. + self.status['last_seen'] = {'pubdate':mktime(entries[-1].updated_parsed),'link':entries[-1].link} + must_save = True + if self.status['last_seen']['pubdate'] > self.status['last_visited']['pubdate']: + self.mspa = MSPAUpdateWindow(self.parent()) + self.connect(self.mspa, QtCore.SIGNAL('accepted()'), + self, QtCore.SLOT('visit_site()')) + self.connect(self.mspa, QtCore.SIGNAL('rejected()'), + self, QtCore.SLOT('nothing()')) + self.mspa.show() + else: + #print "No new updates :(" + pass + if must_save: + self.save_state() + + @QtCore.pyqtSlot() + def visit_site(self): + print self.status['last_visited']['link'] + QtGui.QDesktopServices.openUrl(QtCore.QUrl(self.status['last_visited']['link'], QtCore.QUrl.TolerantMode)) + if self.status['last_seen']['pubdate'] > self.status['last_visited']['pubdate']: + #Visited for the first time. Untrip the icon and remember that we saw it. + self.status['last_visited'] = self.status['last_seen'] + self.save_state() + self.mspa = None + @QtCore.pyqtSlot() + def nothing(self): + self.mspa = None + +class MSPAUpdateWindow(QtGui.QDialog): + def __init__(self, parent=None): + QtGui.QDialog.__init__(self, parent) + self.mainwindow = parent + self.setStyleSheet(self.mainwindow.theme["main/defaultwindow/style"]) + self.setWindowTitle("MSPA Update!") + self.setModal(False) + + self.title = QtGui.QLabel("You have an unread MSPA update! :o)") + + layout_0 = QtGui.QVBoxLayout() + layout_0.addWidget(self.title) + + self.ok = QtGui.QPushButton("GO READ NOW!", self) + self.ok.setDefault(True) + self.connect(self.ok, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('accept()')) + self.cancel = QtGui.QPushButton("LATER", self) + self.connect(self.cancel, QtCore.SIGNAL('clicked()'), + self, QtCore.SLOT('reject()')) + layout_2 = QtGui.QHBoxLayout() + layout_2.addWidget(self.cancel) + layout_2.addWidget(self.ok) + + layout_0.addLayout(layout_2) + + self.setLayout(layout_0) From 38fa6ffd1c901a46a653c8de2f0ca8275dca19c8 Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Thu, 23 Jun 2011 13:40:47 -0700 Subject: [PATCH 164/166] README update --- README.mkdn | 103 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 80 insertions(+), 23 deletions(-) diff --git a/README.mkdn b/README.mkdn index 6cbce81..43c13eb 100644 --- a/README.mkdn +++ b/README.mkdn @@ -66,7 +66,7 @@ userlist. and plain text. - Logviewer for easy log reading inside Pesterchum - Idling. You can set yourself idle manually, and the computer will -set it for you after 10 minutes. +set it for you after a configurable amount of time. - Improved /me. Any letters immediately following /me will be processed correctly. e.g. /me'd rather be fishing -> -- ghostDunk'd [GD'D] rather be fishing -- @@ -145,14 +145,12 @@ lot easier to make themes that look canon this way. ------------------------------------------------------------------------------------ Q: Can we have different chum rolls for different users?
-A: No. Instead what we're going to do in a later update is make chum -groups to organize people in your list. +A: No. Instead what we now have crum groups to organize people. ------------------------------------------------------------------------------------ Q: Can we delete profiles?
-A: Yes. Go to the profiles directory and delete the corresponding -username file. +A: Yes. Go to the profile switcher, choose a profile and press DELETE. ------------------------------------------------------------------------------------ @@ -216,15 +214,14 @@ While pestering your chum, here are some useful features: add the extra tags for you. * URLS (anything with http:// in front of it) will automatically be - detected and made into a link you can CLIPK. + detected and made into a link you can CLICK. * You can also link people to memos by typing "#" and the name of the menu like so: #R41NBOW_RUMPUS_P4RTYTOWN Clicking the link will open up the memo select menu. * Smilies! There are a list of smilies at the end of this document; - they are based on the MSPA Forum smilies. They don't animate, though - :( + they are based on the MSPA Forum smilies. * Don't worry about your quirks screwing up any of the above: PC will apply your quirks AFTER it figures out color codes, links, smilies, etc. @@ -296,23 +293,67 @@ CLIENT MENU ----------- ###OPTIONS: -* Tabbed Conversations: Turns tabbed conversations on and off. Don't -worry if you do this in the middle of a conversation, PC will save -them for you. +* Chum List + * Hide Offline Chums: Turning this option on will hide all offline chums + off your chumroll. -* Sounds On: Uncheck to shut it the fuck up. + * Show Empty Groups: Turning this option on will show empty groups. -* Hide Offline Chums: Turning this option on will hide all offline chums -off your chumroll. + * Show Number of Online Chums: Show number of online chums in each group. -* Show Empty Groups: Turning this option of will show empty groups. + * Sort Chums: How would you like your chums sorted? -* Time Stamps: Turning this on will show timestamps in your chats. +* Conversations + * Time Stamps: Turning this on will show timestamps in your chats. -* 12/24 hour: Formatting for timestamps. Whether you want them in 12 or -24 hour time. + * 12/24 hour: Formatting for timestamps. Whether you want them in 12 or + 24 hour time. -* Show Seconds: Turning this on will show the seconds in your timestamps. + * Show Seconds: Turning this on will show the seconds in your timestamps. + + * Show OP and Voice Messages in Memos: Whether or not you would like + to see messages when people gain/lose OP or Voice. + + * Use animated smilies: To animate or not to animate. + +* Interface + * Tabbed Conversations: Turns tabbed conversations on and off. Don't + worry if you do this in the middle of a conversation, PC will save + them for you. + + * Minimize: What do you want the minimize button to do? + + * Close: What do you want the close button to do? + +* Sound + * Sounds On: Uncheck to shut it the fuck up. + + * Pester Sounds: Uncheck to only turn off Pester sounds. + + * Memo Sounds: Uncheck to only turn off Memo sounds. + + * Memo Mentions: Check to have a separate noise when your initials + get mentioned in a memo. + +* Logging + * Log all Pesters: Log one-on-one chats. + + * Log all Memos: Log everything said in memos. + + * Log Time Stamps for Pesters + + * Log Time Stamps for Memos + +* Idle/Updates + * Minutes before Idle: How long before you should be considered idle. + + * Check for Pesterchum Updates: How often to check for updates + to Pesterchum. + + * Check for MSPA Updates: Check the MSPA site for updates to comics. + +* Theme + * Pick a Theme ###MEMOS: Opens the Memo list as above. @@ -340,10 +381,6 @@ noooooooooooooooooooooooo PROFILE MENU ------------ -###THEME: -Select a new theme! Be warned that switching themes will change -the user interface, so just... look out for that I guess! - ###QUIRKS: Opens the quirks menu. More on that below! @@ -360,6 +397,26 @@ PC will save your color, quirks, and theme for that profile. Chumrolls and block lists are the same for all profiles. Feel free to have multiple instances of PC running on two or more handles! +HELP MENU +--------- + +###HELP: +Get taken to a handy dandy tutorial for Pesterchum! + +###CALSPRITE: +Open a chat with calSprite (learn more about calSprite below). + +###NICKSERV: +Open a chat with NickServ. If you don't know what NickServ is, you don't need to. + +###ABOUT: +See which version of Pesterchum you have. Learn about all the awesome people +that helped bring Pesterchum 3.14 to you! + +###REPORT BUG: +Report any bugs you come across so we can fix them and make Pesterchum +even better! + CALSPRITE --------- calSprite is the bot that helps moderate canon handle usage! Simply pester From e6b6712c1d57b6e2555b10175f17b98bc1ef916c Mon Sep 17 00:00:00 2001 From: Kiooeht Date: Fri, 24 Jun 2011 09:27:18 -0700 Subject: [PATCH 165/166] Volume control --- CHANGELOG.mkdn | 1 + menus.py | 15 +++++++++++++++ pesterchum.py | 17 +++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 0955c48..5b8cac5 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -50,6 +50,7 @@ CHANGELOG * Say something when server is full - Kiooeht [evacipatedBox] * Ping server if no ping from server to test connection - Kiooeht [evacipatedBox] (Idea: Lexi [lexicalNuance]) * MSPA comic update notifier - Kiooeht [evacipatedBox] +* Volume control - Kiooeht [evacipatedBox] * Bug fixes * Logviewer updates - Kiooeht [evacipatedBox] * Memo scrollbar thing - Kiooeht [evacipatedBox] diff --git a/menus.py b/menus.py index 33346a0..407e2d5 100644 --- a/menus.py +++ b/menus.py @@ -949,6 +949,14 @@ class PesterOptions(QtGui.QDialog): self.chatsoundcheck.setEnabled(False) self.memosoundcheck.setEnabled(False) self.namesoundcheck.setEnabled(False) + self.volume = QtGui.QSlider(QtCore.Qt.Horizontal, self) + self.volume.setMinimum(0) + self.volume.setMaximum(100) + self.volume.setValue(self.config.volume()) + self.connect(self.volume, QtCore.SIGNAL('valueChanged(int)'), + self, QtCore.SLOT('printValue(int)')) + self.currentVol = QtGui.QLabel(str(self.config.volume())+"%", self) + self.currentVol.setAlignment(QtCore.Qt.AlignHCenter) self.timestampcheck = QtGui.QCheckBox("Time Stamps", self) @@ -1130,6 +1138,10 @@ class PesterOptions(QtGui.QDialog): layout_indent.addWidget(self.namesoundcheck) layout_indent.setContentsMargins(22,0,0,0) layout_sound.addLayout(layout_indent) + layout_sound.addSpacing(15) + layout_sound.addWidget(QtGui.QLabel("Master Volume:", self)) + layout_sound.addWidget(self.volume) + layout_sound.addWidget(self.currentVol) self.pages.addWidget(widget) # Logging @@ -1195,6 +1207,9 @@ class PesterOptions(QtGui.QDialog): self.chatsoundcheck.setEnabled(True) self.memosoundcheck.setEnabled(True) self.namesoundcheck.setEnabled(True) + @QtCore.pyqtSlot(int) + def printValue(self, v): + self.currentVol.setText(str(v)+"%") class PesterUserlist(QtGui.QDialog): def __init__(self, config, theme, parent): diff --git a/pesterchum.py b/pesterchum.py index 7f57200..23cad81 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -110,6 +110,7 @@ class waitingMessageHolder(object): class NoneSound(object): def play(self): pass + def set_volume(self, v): pass class PesterLog(object): def __init__(self, handle, parent=None): @@ -508,6 +509,8 @@ class userConfig(object): return self.config.get('memoSound', True) def nameSound(self): return self.config.get('nameSound', True) + def volume(self): + return self.config.get('volume', 100) def set(self, item, setting): self.config[item] = setting try: @@ -2023,6 +2026,15 @@ class PesterWindow(MovingWindow): self.ceasesound = NoneSound() self.honksound = NoneSound() + def setVolume(self, vol): + vol = vol/100.0 + print vol + self.alarm.set_volume(vol) + self.memosound.set_volume(vol) + self.namesound.set_volume(vol) + self.ceasesound.set_volume(vol) + self.honksound.set_volume(vol) + def changeTheme(self, theme): # check theme try: @@ -2598,6 +2610,11 @@ class PesterWindow(MovingWindow): curnamesound = self.config.nameSound() if namesoundsetting != curnamesound: self.config.set('nameSound', namesoundsetting) + volumesetting = self.optionmenu.volume.value() + curvolume = self.config.volume() + if volumesetting != curvolume: + self.config.set('volume', volumesetting) + self.setVolume(volumesetting) # timestamps timestampsetting = self.optionmenu.timestampcheck.isChecked() self.config.set("showTimeStamps", timestampsetting) From ab915bc1cdd5189c09030e736a5bad9a480da8cd Mon Sep 17 00:00:00 2001 From: Stephen Dranger Date: Sun, 26 Jun 2011 16:37:28 -0500 Subject: [PATCH 166/166] debug process --- pesterchum_debug.py | 9 +++++++++ version.py | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 pesterchum_debug.py diff --git a/pesterchum_debug.py b/pesterchum_debug.py new file mode 100644 index 0000000..b2f5d1f --- /dev/null +++ b/pesterchum_debug.py @@ -0,0 +1,9 @@ +# runs pesterchum but appends stdout/err to log file +import subprocess +import datetime +f = open("debug.log", 'a') +d = datetime.datetime.now() +f.write("=== PESTERCHUM DEBUG %s ===\n" % d.strftime("%m-%d-%y %H-%M")) +p = subprocess.Popen("pesterchum.exe", stdout=f, stderr=subprocess.STDOUT) +p.wait() +f.close() diff --git a/version.py b/version.py index 080f991..dc790ee 100644 --- a/version.py +++ b/version.py @@ -4,8 +4,8 @@ import time USER_TYPE = "dev" -_pcMajor = "3.14" -_pcMinor = "2" +_pcMajor = "3.41" +_pcMinor = "0" _pcStatus = "B" # A = alpha # B = beta # RC = release candidate