diff --git a/TODO b/TODO index 41b5bdd..f20f8db 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,8 @@ Bugs: +* finish QDB submission * import quirks from 2.5! * edit quirks? +* mood trees - chums, trolls, other * begin and end regexps should only be applied once! * X and _ buttons move around all crazy like diff --git a/convo.py b/convo.py index 892cf49..1d34960 100644 --- a/convo.py +++ b/convo.py @@ -199,6 +199,13 @@ class PesterText(QtGui.QTextEdit): self.initTheme(theme) self.setReadOnly(True) self.setMouseTracking(True) + self.textSelected = False + self.connect(self, QtCore.SIGNAL('copyAvailable(bool)'), + self, QtCore.SLOT('textReady(bool)')) + @QtCore.pyqtSlot(bool) + def textReady(self, ready): + print "setting textselected to %s" % (ready) + self.textSelected = ready def initTheme(self, theme): if theme.has_key("convo/scrollbar"): self.setStyleSheet("QTextEdit { %s } QScrollBar:vertical { %s } QScrollBar::handle:vertical { %s } QScrollBar::add-line:vertical { %s } QScrollBar::sub-line:vertical { %s } QScrollBar:up-arrow:vertical { %s } QScrollBar:down-arrow:vertical { %s }" % (theme["convo/textarea/style"], theme["convo/scrollbar/style"], theme["convo/scrollbar/handle"], theme["convo/scrollbar/downarrow"], theme["convo/scrollbar/uparrow"], theme["convo/scrollbar/uarrowstyle"], theme["convo/scrollbar/darrowstyle"] )) @@ -295,6 +302,21 @@ class PesterText(QtGui.QTextEdit): else: self.viewport().setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) + def contextMenuEvent(self, event): + textMenu = self.createStandardContextMenu() + print "self.textSelected is %s " %(self.textSelected) + 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) + textMenu.exec_(event.globalPos()) + + @QtCore.pyqtSlot() + def submitLog(self): + mimedata = self.createMimeDataFromSelection() + print mimedata.data("text/unicode") + class PesterInput(QtGui.QLineEdit): def __init__(self, theme, parent=None): QtGui.QLineEdit.__init__(self, parent) @@ -320,7 +342,6 @@ class PesterInput(QtGui.QLineEdit): self.parent().mainwindow.idletime = 0 QtGui.QLineEdit.keyPressEvent(self, event) - class PesterConvo(QtGui.QFrame): def __init__(self, chum, initiated, mainwindow, parent=None): QtGui.QFrame.__init__(self, parent) @@ -330,7 +351,7 @@ class PesterConvo(QtGui.QFrame): self.mainwindow = mainwindow theme = self.mainwindow.theme self.resize(*theme["convo/size"]) - self.setStyleSheet("QFrame { %s }" % theme["convo/style"]) + self.setStyleSheet("QFrame#%s { %s }" % (chum.handle, theme["convo/style"])) self.setWindowIcon(self.icon()) self.setWindowTitle(self.title()) diff --git a/convo.pyc b/convo.pyc index 8251a61..9879ae4 100644 Binary files a/convo.pyc and b/convo.pyc differ diff --git a/dataobjs.pyc b/dataobjs.pyc index 577d638..c809239 100644 Binary files a/dataobjs.pyc and b/dataobjs.pyc differ diff --git a/parsetools.py b/parsetools.py index b223c78..5e65b21 100644 --- a/parsetools.py +++ b/parsetools.py @@ -232,8 +232,9 @@ smiledict = { ":rancorous:": "pc_rancorous.gif", ":apple:": "apple.gif", ":bathearst:": "bathearst.gif", - ":cathearst:": "cathearst.gif", - ":woeful:": "blacktear.gif", + ":cathearst:": "cathearst.png", + ":woeful:": "pc_bemused.gif", + ":sorrow:": "blacktear.gif", ":pleasant:": "pc_pleasant.gif", ":blueghost:": "blueslimer.gif", ":slimer:": "slimer.gif", diff --git a/parsetools.pyc b/parsetools.pyc index 0ba3ac4..4702ed9 100644 Binary files a/parsetools.pyc and b/parsetools.pyc differ diff --git a/pesterchum.js b/pesterchum.js index 80d7db7..bab7b21 100644 --- a/pesterchum.js +++ b/pesterchum.js @@ -1 +1 @@ -{"tabs": true, "soundon": true, "server": "irc.tymoon.eu", "chums": ["unknownTraveler", "tentacleTherapist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "adiosToreador", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist", "lyricalKeraunoscopic", "counterRealist", "ectoBiologist", "percipientPedestrian", "asceticClinician", "doctectiveMiracles", "noSense", "obliviousCrafter", "ircMonster", "twinArmageddons", "cannabisHero", "jetRocket"], "defaultprofile": "ghostDunk", "block": []} \ No newline at end of file +{"tabs": false, "soundon": true, "server": "irc.tymoon.eu", "chums": ["unknownTraveler", "tentacleTherapist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist", "lyricalKeraunoscopic", "counterRealist", "ectoBiologist", "percipientPedestrian", "asceticClinician", "doctectiveMiracles", "noSense", "obliviousCrafter", "ircMonster", "twinArmageddons", "cannabisHero", "jetRocket", "dFd"], "defaultprofile": "ghostDunk", "block": []} \ No newline at end of file diff --git a/profiles/ghostDunk.js b/profiles/ghostDunk.js index baf7cf5..338c689 100644 --- a/profiles/ghostDunk.js +++ b/profiles/ghostDunk.js @@ -1 +1 @@ -{"color": "#ff00ff", "theme": "pesterchum", "quirks": [{"type": "random", "from": "\\s", "randomlist": [" ribbit ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]}], "handle": "ghostDunk"} \ No newline at end of file +{"color": "#ff00ff", "theme": "pesterchum", "quirks": [], "handle": "ghostDunk"} \ No newline at end of file diff --git a/readme.txt b/readme.txt index 4100847..44ce00d 100644 --- a/readme.txt +++ b/readme.txt @@ -24,7 +24,7 @@ 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 different times in one chat. +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 - Block/user list @@ -46,12 +46,73 @@ list later on in this readme. 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 +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. MEMOS ----- @@ -108,6 +169,50 @@ 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. + +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 soon. + +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! + QUIRKS ------ There are six kinds of quirks! I'll teach you how to use them all! diff --git a/smilies/Smilies.zip b/smilies/Smilies.zip deleted file mode 100644 index fcd22d8..0000000 Binary files a/smilies/Smilies.zip and /dev/null differ diff --git a/smilies/Thumbs.db b/smilies/Thumbs.db deleted file mode 100644 index f072252..0000000 Binary files a/smilies/Thumbs.db and /dev/null differ diff --git a/themes/gold/style.js b/themes/gold/style.js index 06277b1..2f9e6e1 100644 --- a/themes/gold/style.js +++ b/themes/gold/style.js @@ -226,7 +226,7 @@ ] }, "convo": - {"style": "background-color: rgba(0, 0, 0, 0%);background-image:url($path/convobg.png); background-repeat: no-repeat; border:0px; font-family: 'Arial'", + {"style": "background-color: rgba(0, 0, 0, 0%);border-width: 5px; border-image:url($path/convobg.png) 5px; font-family: 'Arial'", "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;", diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 4ae6ad7..ec45bd3 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -216,17 +216,17 @@ }, "margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 }, "size": [500, 325], - "chumlabel": { "style": "margin-bottom: 21px;background: rgb(196, 138, 0); color: white; border:0px; font-size: 14px;", + "chumlabel": { "style": "margin-bottom: 21px;background: rgb(196, 138, 0); color: white; border:0px; font-size: 14px;font-family: 'Courier'", "align": { "h": "center", "v": "center" }, "minheight": 47, "maxheight": 47, "text" : ":: $handle ::" }, "textarea": { - "style": "background: white; font-size: 14px;font:bold; border:2px solid #c48a00;text-align:center; margin-right:10px; margin-left:10px;" + "style": "background: white; font-size: 14px;font:bold; border:2px solid #c48a00;text-align:center; margin-right:10px; margin-left:10px;font-family: 'Courier'" }, "input": { - "style": "background: white; border:2px solid #c48a00;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 12px;" + "style": "background: white; border:2px solid #c48a00;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 12px;font-family: 'Courier'" }, "tabs": { "style": "",