This commit is contained in:
Stephen Dranger 2011-02-22 18:49:47 -06:00
parent 1b667dadf1
commit c389f71681
13 changed files with 141 additions and 12 deletions

2
TODO
View file

@ -1,6 +1,8 @@
Bugs: Bugs:
* finish QDB submission
* import quirks from 2.5! * import quirks from 2.5!
* edit quirks? * edit quirks?
* mood trees - chums, trolls, other
* begin and end regexps should only be applied once! * begin and end regexps should only be applied once!
* X and _ buttons move around all crazy like * X and _ buttons move around all crazy like

View file

@ -199,6 +199,13 @@ class PesterText(QtGui.QTextEdit):
self.initTheme(theme) self.initTheme(theme)
self.setReadOnly(True) self.setReadOnly(True)
self.setMouseTracking(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): def initTheme(self, theme):
if theme.has_key("convo/scrollbar"): 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"] )) 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: else:
self.viewport().setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) 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): class PesterInput(QtGui.QLineEdit):
def __init__(self, theme, parent=None): def __init__(self, theme, parent=None):
QtGui.QLineEdit.__init__(self, parent) QtGui.QLineEdit.__init__(self, parent)
@ -320,7 +342,6 @@ class PesterInput(QtGui.QLineEdit):
self.parent().mainwindow.idletime = 0 self.parent().mainwindow.idletime = 0
QtGui.QLineEdit.keyPressEvent(self, event) QtGui.QLineEdit.keyPressEvent(self, event)
class PesterConvo(QtGui.QFrame): class PesterConvo(QtGui.QFrame):
def __init__(self, chum, initiated, mainwindow, parent=None): def __init__(self, chum, initiated, mainwindow, parent=None):
QtGui.QFrame.__init__(self, parent) QtGui.QFrame.__init__(self, parent)
@ -330,7 +351,7 @@ class PesterConvo(QtGui.QFrame):
self.mainwindow = mainwindow self.mainwindow = mainwindow
theme = self.mainwindow.theme theme = self.mainwindow.theme
self.resize(*theme["convo/size"]) 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.setWindowIcon(self.icon())
self.setWindowTitle(self.title()) self.setWindowTitle(self.title())

BIN
convo.pyc

Binary file not shown.

Binary file not shown.

View file

@ -232,8 +232,9 @@ smiledict = {
":rancorous:": "pc_rancorous.gif", ":rancorous:": "pc_rancorous.gif",
":apple:": "apple.gif", ":apple:": "apple.gif",
":bathearst:": "bathearst.gif", ":bathearst:": "bathearst.gif",
":cathearst:": "cathearst.gif", ":cathearst:": "cathearst.png",
":woeful:": "blacktear.gif", ":woeful:": "pc_bemused.gif",
":sorrow:": "blacktear.gif",
":pleasant:": "pc_pleasant.gif", ":pleasant:": "pc_pleasant.gif",
":blueghost:": "blueslimer.gif", ":blueghost:": "blueslimer.gif",
":slimer:": "slimer.gif", ":slimer:": "slimer.gif",

Binary file not shown.

View file

@ -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": []} {"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": []}

View file

@ -1 +1 @@
{"color": "#ff00ff", "theme": "pesterchum", "quirks": [{"type": "random", "from": "\\s", "randomlist": [" ribbit ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]}], "handle": "ghostDunk"} {"color": "#ff00ff", "theme": "pesterchum", "quirks": [], "handle": "ghostDunk"}

View file

@ -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 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. 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 - 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 - Quirks: Prefix, suffix, simple replace, regexp replace (like in
2.5), random replacement, and an auto-mispeller :P 2.5), random replacement, and an auto-mispeller :P
- Block/user list - Block/user list
@ -46,12 +46,73 @@ list later on in this readme.
DOCUMENTATION 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 BASIC PESTERING
--------------- ---------------
To begin pestering, first click the "ADD CHUM" button and type in 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 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 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: <c=(color)>colored text</c>. 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:
"<c=0,255,0>The Green Sun</c>"
- You can use HTML tags:
"<c=#7f7f7f">DURR I'M KARKAT AND I'M A HUGE IDIOT</c>"
- You can even use plain color names:
"<c=red>D4V3 TH1S 1S SO D3C4D3NT</c>"
(list: http://www.w3schools.com/css/css_colornames.asp)
- You don't even have to add the </c> 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 MEMOS
----- -----
@ -108,6 +169,50 @@ CG: #FRUITYRUMPUSASSHOLEFACTORY
and it will appear as a link that you can click, which will open the and it will appear as a link that you can click, which will open the
memo chooser window. 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 QUIRKS
------ ------
There are six kinds of quirks! I'll teach you how to use them all! There are six kinds of quirks! I'll teach you how to use them all!

Binary file not shown.

Binary file not shown.

View file

@ -226,7 +226,7 @@
] ]
}, },
"convo": "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'", "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;", "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;", "handle": "background-color:#c48a00;min-height:20px;",

View file

@ -216,17 +216,17 @@
}, },
"margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 }, "margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 },
"size": [500, 325], "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" }, "align": { "h": "center", "v": "center" },
"minheight": 47, "minheight": 47,
"maxheight": 47, "maxheight": 47,
"text" : ":: $handle ::" "text" : ":: $handle ::"
}, },
"textarea": { "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": { "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": { "tabs": {
"style": "", "style": "",