fdsafd
This commit is contained in:
parent
99a49efeed
commit
87cbeca5dd
23 changed files with 25 additions and 19 deletions
6
TODO
6
TODO
|
@ -1,10 +1,9 @@
|
||||||
Features:
|
Features:
|
||||||
* Tray doesn't disappear on windows after close
|
* Tray doesn't disappear on windows after close
|
||||||
* Mood switching shows wrong mood!
|
|
||||||
* ctrl-tab should prefer new convos
|
|
||||||
* Idling
|
* Idling
|
||||||
|
* PESTERCHUM:BLOCKED
|
||||||
* new sound on CEASE and BEGIN?
|
* new sound on CEASE and BEGIN?
|
||||||
* User commands/stop user from sending commands accidentally
|
* scroll bar style?
|
||||||
* More complex quirks: random, spelling, by-sound
|
* More complex quirks: random, spelling, by-sound
|
||||||
* change profile only once we have confirmation from server
|
* change profile only once we have confirmation from server
|
||||||
* convert hex tags (<GFFFFFF> or <GFF0000>)
|
* convert hex tags (<GFFFFFF> or <GFF0000>)
|
||||||
|
@ -13,7 +12,6 @@ Features:
|
||||||
* help menu -- about and forum
|
* help menu -- about and forum
|
||||||
* dropped messages when chatting ?
|
* dropped messages when chatting ?
|
||||||
-- release alpha
|
-- release alpha
|
||||||
* scroll bar style?
|
|
||||||
* shared buddy lists - changes to the buddy list should refresh it?
|
* shared buddy lists - changes to the buddy list should refresh it?
|
||||||
multiple clients share buddy list???
|
multiple clients share buddy list???
|
||||||
* chumList not scaling -- QListView + delegate?
|
* chumList not scaling -- QListView + delegate?
|
||||||
|
|
12
convo.py
12
convo.py
|
@ -69,7 +69,13 @@ class PesterTabWindow(QtGui.QFrame):
|
||||||
mods = event.modifiers()
|
mods = event.modifiers()
|
||||||
if ((mods & QtCore.Qt.ControlModifier) and
|
if ((mods & QtCore.Qt.ControlModifier) and
|
||||||
keypress == QtCore.Qt.Key_Tab):
|
keypress == QtCore.Qt.Key_Tab):
|
||||||
nexti = (self.tabIndices[self.currentConvo.title()] + 1) % self.tabs.count()
|
handles = self.convos.keys()
|
||||||
|
waiting = self.mainwindow.waitingMessages.waitingHandles()
|
||||||
|
waitinghandles = list(set(handles) & set(waiting))
|
||||||
|
if len(waitinghandles) > 0:
|
||||||
|
nexti = self.tabIndices[waitinghandles[0]]
|
||||||
|
else:
|
||||||
|
nexti = (self.tabIndices[self.currentConvo.title()] + 1) % self.tabs.count()
|
||||||
self.tabs.setCurrentIndex(nexti)
|
self.tabs.setCurrentIndex(nexti)
|
||||||
|
|
||||||
def closeSoft(self):
|
def closeSoft(self):
|
||||||
|
@ -372,7 +378,7 @@ class PesterConvo(QtGui.QFrame):
|
||||||
self.mainwindow.chatlog.log(self.title(), convertTags(msg, "bbcode"))
|
self.mainwindow.chatlog.log(self.title(), convertTags(msg, "bbcode"))
|
||||||
self.chumopen = False
|
self.chumopen = False
|
||||||
elif old and old.name() != mood.name():
|
elif old and old.name() != mood.name():
|
||||||
msg = self.chum.moodmsg(syscolor, self.mainwindow.theme)
|
msg = self.chum.moodmsg(mood, syscolor, self.mainwindow.theme)
|
||||||
self.textArea.append(convertTags(msg))
|
self.textArea.append(convertTags(msg))
|
||||||
self.mainwindow.chatlog.log(self.title(), convertTags(msg, "bbcode"))
|
self.mainwindow.chatlog.log(self.title(), convertTags(msg, "bbcode"))
|
||||||
if self.parent():
|
if self.parent():
|
||||||
|
@ -470,7 +476,7 @@ class PesterConvo(QtGui.QFrame):
|
||||||
@QtCore.pyqtSlot()
|
@QtCore.pyqtSlot()
|
||||||
def sentMessage(self):
|
def sentMessage(self):
|
||||||
text = unicode(self.textInput.text())
|
text = unicode(self.textInput.text())
|
||||||
if text == "":
|
if text == "" or text[0:11] == "PESTERCHUM:":
|
||||||
return
|
return
|
||||||
self.history.add(text)
|
self.history.add(text)
|
||||||
# deal with quirks here
|
# deal with quirks here
|
||||||
|
|
BIN
convo.pyc
BIN
convo.pyc
Binary file not shown.
|
@ -138,8 +138,8 @@ class PesterProfile(object):
|
||||||
return "<c=%s>-- %s%s <c=%s>[%s]</c> %s --</c>" % (syscolor.name(), handle, suffix, self.colorhtml(), initials, msg)
|
return "<c=%s>-- %s%s <c=%s>[%s]</c> %s --</c>" % (syscolor.name(), handle, suffix, self.colorhtml(), initials, msg)
|
||||||
def pestermsg(self, otherchum, syscolor, verb):
|
def pestermsg(self, otherchum, syscolor, verb):
|
||||||
return "<c=%s>-- %s <c=%s>[%s]</c> %s %s <c=%s>[%s]</c> at %s --</c>" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb, otherchum.handle, otherchum.colorhtml(), otherchum.initials(), datetime.now().strftime("%H:%M"))
|
return "<c=%s>-- %s <c=%s>[%s]</c> %s %s <c=%s>[%s]</c> at %s --</c>" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), verb, otherchum.handle, otherchum.colorhtml(), otherchum.initials(), datetime.now().strftime("%H:%M"))
|
||||||
def moodmsg(self, syscolor, theme):
|
def moodmsg(self, mood, syscolor, theme):
|
||||||
return "<c=%s>-- %s <c=%s>[%s]</c> changed their mood to %s <img src='%s' /> --</c>" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), self.mood.name().upper(), theme["main/chums/moods"][self.mood.name()]["icon"])
|
return "<c=%s>-- %s <c=%s>[%s]</c> changed their mood to %s <img src='%s' /> --</c>" % (syscolor.name(), self.handle, self.colorhtml(), self.initials(), mood.name().upper(), theme["main/chums/moods"][mood.name()]["icon"])
|
||||||
def memoclosemsg(self, syscolor, timeGrammar, verb):
|
def memoclosemsg(self, syscolor, timeGrammar, verb):
|
||||||
return "<c=%s><c=%s>%s%s%s</c> %s.</c>" % (syscolor.name(), self.colorhtml(), timeGrammar.pcf, self.initials(), timeGrammar.number, verb)
|
return "<c=%s><c=%s>%s%s%s</c> %s.</c>" % (syscolor.name(), self.colorhtml(), timeGrammar.pcf, self.initials(), timeGrammar.number, verb)
|
||||||
def memoopenmsg(self, syscolor, td, timeGrammar, verb, channel):
|
def memoopenmsg(self, syscolor, td, timeGrammar, verb, channel):
|
||||||
|
|
BIN
dataobjs.pyc
BIN
dataobjs.pyc
Binary file not shown.
BIN
generic.pyc
BIN
generic.pyc
Binary file not shown.
BIN
irc.pyc
BIN
irc.pyc
Binary file not shown.
File diff suppressed because one or more lines are too long
2
memos.py
2
memos.py
|
@ -541,7 +541,7 @@ class PesterMemo(PesterConvo):
|
||||||
@QtCore.pyqtSlot()
|
@QtCore.pyqtSlot()
|
||||||
def sentMessage(self):
|
def sentMessage(self):
|
||||||
text = unicode(self.textInput.text())
|
text = unicode(self.textInput.text())
|
||||||
if text == "":
|
if text == "" or text[0:11] == "PESTERCHUM:":
|
||||||
return
|
return
|
||||||
self.history.add(text)
|
self.history.add(text)
|
||||||
if self.time.getTime() == None:
|
if self.time.getTime() == None:
|
||||||
|
|
BIN
memos.pyc
BIN
memos.pyc
Binary file not shown.
BIN
menus.pyc
BIN
menus.pyc
Binary file not shown.
Binary file not shown.
BIN
oyoyo/client.pyc
BIN
oyoyo/client.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
oyoyo/parse.pyc
BIN
oyoyo/parse.pyc
Binary file not shown.
|
@ -2,7 +2,7 @@ import re
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from PyQt4 import QtGui
|
from PyQt4 import QtGui
|
||||||
|
|
||||||
_ctag_begin = re.compile(r'<c=(.*?)>')
|
_ctag_begin = re.compile(r'(?i)<c=(.*?)>')
|
||||||
_ctag_rgb = re.compile(r'\d+,\d+,\d+')
|
_ctag_rgb = re.compile(r'\d+,\d+,\d+')
|
||||||
_urlre = re.compile(r"(?i)(http://[^\s<[]+)")
|
_urlre = re.compile(r"(?i)(http://[^\s<[]+)")
|
||||||
_memore = re.compile(r" (#[A-Za-z0-9_]+)")
|
_memore = re.compile(r" (#[A-Za-z0-9_]+)")
|
||||||
|
|
BIN
parsetools.pyc
BIN
parsetools.pyc
Binary file not shown.
|
@ -1 +1 @@
|
||||||
{"tabs": true, "soundon": true, "chums": ["marineAquist", "unknownTraveler", "tentacleTherapist", "macruralAlchemist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "adiosToreador", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "maxiumumFatness", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "acapellaWaterfall", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist"], "defaultprofile": "ghostDunk", "block": []}
|
{"tabs": true, "soundon": true, "chums": ["marineAquist", "unknownTraveler", "tentacleTherapist", "macruralAlchemist", "vaginalEngineer", "mechanicalSpectacle", "carcinoGeneticist", "schlagzeugGator", "gamblingGenocider", "gardenGnostic", "superGhost", "centaursTesticle", "arachnidsGrip", "grimAuxiliatrix", "remoteBloodbath", "nitroZealist", "greenZephyr", "arsenicCatnip", "adiosToreador", "cuttlefishCuller", "rageInducer", "gallowsCalibrator", "caligulasAquarium", "terminallyCapricious", "illuminatedWax", "aquaMarinist", "maxiumumFatness", "elegantDiversion", "moirailBunp", "uroborosUnbound", "androidTechnician", "midnightSparrow", "apocalypseArisen", "acapellaWaterfall", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist", "ardentAbettor"], "defaultprofile": "ghostDunk", "block": []}
|
|
@ -29,6 +29,8 @@ class waitingMessageHolder(object):
|
||||||
self.queue = msgfuncs.keys()
|
self.queue = msgfuncs.keys()
|
||||||
if len(self.queue) > 0:
|
if len(self.queue) > 0:
|
||||||
self.mainwindow.updateSystemTray()
|
self.mainwindow.updateSystemTray()
|
||||||
|
def waitingHandles(self):
|
||||||
|
return self.queue
|
||||||
def answerMessage(self):
|
def answerMessage(self):
|
||||||
func = self.funcs[self.queue[0]]
|
func = self.funcs[self.queue[0]]
|
||||||
func()
|
func()
|
||||||
|
@ -1595,10 +1597,6 @@ class MainProgram(QtCore.QObject):
|
||||||
|
|
||||||
self.trayicon = PesterTray(PesterIcon(self.widget.theme["main/icon"]), self.widget, self.app)
|
self.trayicon = PesterTray(PesterIcon(self.widget.theme["main/icon"]), self.widget, self.app)
|
||||||
self.traymenu = QtGui.QMenu()
|
self.traymenu = QtGui.QMenu()
|
||||||
exitAction = QtGui.QAction("EXIT", self)
|
|
||||||
self.trayicon.connect(exitAction, QtCore.SIGNAL('triggered()'),
|
|
||||||
self.widget, QtCore.SLOT('close()'))
|
|
||||||
self.traymenu.addAction(exitAction)
|
|
||||||
moodMenu = self.traymenu.addMenu("SET MOOD")
|
moodMenu = self.traymenu.addMenu("SET MOOD")
|
||||||
self.moodactions = {}
|
self.moodactions = {}
|
||||||
for (i,m) in enumerate(Mood.moods):
|
for (i,m) in enumerate(Mood.moods):
|
||||||
|
@ -1608,6 +1606,10 @@ class MainProgram(QtCore.QObject):
|
||||||
mobj, QtCore.SLOT('updateMood()'))
|
mobj, QtCore.SLOT('updateMood()'))
|
||||||
self.moodactions[i] = mobj
|
self.moodactions[i] = mobj
|
||||||
moodMenu.addAction(maction)
|
moodMenu.addAction(maction)
|
||||||
|
exitAction = QtGui.QAction("EXIT", self)
|
||||||
|
self.trayicon.connect(exitAction, QtCore.SIGNAL('triggered()'),
|
||||||
|
self.widget, QtCore.SLOT('close()'))
|
||||||
|
self.traymenu.addAction(exitAction)
|
||||||
|
|
||||||
self.trayicon.setContextMenu(self.traymenu)
|
self.trayicon.setContextMenu(self.traymenu)
|
||||||
self.trayicon.show()
|
self.trayicon.show()
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
|
|
||||||
"distraught": { "icon": "$path/distraught.gif", "color": "white" },
|
"distraught": { "icon": "$path/distraught.gif", "color": "white" },
|
||||||
|
|
||||||
"unruly": { "icon": "$path/unruly.gif", "color": "white" },
|
"pranky": { "icon": "$path/pranky.gif", "color": "white" },
|
||||||
|
|
||||||
|
|
||||||
"smooth": { "icon": "$path/smooth.gif", "color": "white" },
|
"smooth": { "icon": "$path/smooth.gif", "color": "white" },
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
|
|
||||||
"distraught": { "icon": "$path/distraught.png", "color": "#706eba" },
|
"distraught": { "icon": "$path/distraught.png", "color": "#706eba" },
|
||||||
|
|
||||||
"unruly": { "icon": "$path/unruly.png", "color": "blue" },
|
"pranky": { "icon": "$path/pranky.png", "color": "blue" },
|
||||||
|
|
||||||
|
|
||||||
"smooth": { "icon": "$path/smooth.png", "color": "red" },
|
"smooth": { "icon": "$path/smooth.png", "color": "red" },
|
||||||
|
|
Loading…
Reference in a new issue