more buttons
This commit is contained in:
parent
dd7c0a7887
commit
9408b615c5
5 changed files with 112 additions and 22 deletions
5
TODO
5
TODO
|
@ -1,6 +1,4 @@
|
|||
Features:
|
||||
* mychumhandle/color/pester button
|
||||
* User profile options (color...?)
|
||||
* Quirks
|
||||
-- package
|
||||
* menubar should pass on mouse move
|
||||
|
@ -9,11 +7,14 @@ Features:
|
|||
* Block list
|
||||
* User list/add from list
|
||||
* User commands/stop user from sending commands accidentally
|
||||
* cleanup theme code
|
||||
-- release alpha
|
||||
* User profile menu options (color...?)
|
||||
* System tray menu
|
||||
* comment history (up button)
|
||||
* Chat rooms
|
||||
* Implement TC options
|
||||
* Transparent background
|
||||
-- release beta
|
||||
* theme elements define, implement
|
||||
* Theme checking
|
||||
|
|
|
@ -120,6 +120,10 @@ class pesterTheme(dict):
|
|||
d[k] = s.substitute(path=self.path)
|
||||
return d
|
||||
|
||||
class pesterQuirks(object):
|
||||
def __init__(self, quirklist):
|
||||
self.quirklist = quirklist
|
||||
|
||||
class userConfig(object):
|
||||
def __init__(self):
|
||||
fp = open("pesterchum.js")
|
||||
|
@ -193,11 +197,11 @@ class userProfile(object):
|
|||
self.save()
|
||||
def setColor(self, color):
|
||||
self.chat.color = color
|
||||
self.userprofile["color"] = color.name()
|
||||
self.userprofile["color"] = unicode(color.name())
|
||||
self.save()
|
||||
def setQuirks(self, quirks):
|
||||
self.quirks = quirks
|
||||
self.userprofile["quirks"] = quirks.repr()
|
||||
self.userprofile["quirks"] = self.quirks.quirklist
|
||||
self.save()
|
||||
def getTheme(self):
|
||||
return self.theme
|
||||
|
@ -215,10 +219,6 @@ class userProfile(object):
|
|||
newprofile.save()
|
||||
return newprofile
|
||||
|
||||
class pesterQuirks(object):
|
||||
def __init__(self, quirklist):
|
||||
self.quirklist = quirklist
|
||||
|
||||
class PesterChooseTheme(QtGui.QDialog):
|
||||
def __init__(self, config, theme, parent):
|
||||
QtGui.QDialog.__init__(self, parent)
|
||||
|
@ -271,7 +271,7 @@ class PesterChooseProfile(QtGui.QDialog):
|
|||
|
||||
self.chumHandle = QtGui.QLineEdit(self)
|
||||
self.chumHandle.setMinimumWidth(200)
|
||||
self.chumHandleLabel = QtGui.QLabel(self.theme["main/labels/mychumhandle"], self)
|
||||
self.chumHandleLabel = QtGui.QLabel(self.theme["main/mychumhandle/label/text"], self)
|
||||
self.chumColorButton = QtGui.QPushButton(self)
|
||||
self.chumColorButton.resize(50, 20)
|
||||
self.chumColorButton.setStyleSheet("background: %s" % (userprofile.chat.colorhtml()))
|
||||
|
@ -962,6 +962,32 @@ class PesterWindow(MovingWindow):
|
|||
self.addChumButton.setStyleSheet(self.theme["main/addchum/style"])
|
||||
self.connect(self.addChumButton, QtCore.SIGNAL('clicked()'),
|
||||
self, QtCore.SLOT('addChumWindow()'))
|
||||
self.pesterButton = QtGui.QPushButton(self.theme["main/pester/text"], self)
|
||||
self.pesterButton.resize(*self.theme["main/pester/size"])
|
||||
self.pesterButton.move(*self.theme["main/pester/loc"])
|
||||
self.pesterButton.setStyleSheet(self.theme["main/pester/style"])
|
||||
self.connect(self.pesterButton, QtCore.SIGNAL('clicked()'),
|
||||
self, QtCore.SLOT('pesterSelectedChum()'))
|
||||
|
||||
self.mychumhandleLabel = QtGui.QLabel(self.theme["main/mychumhandle/label/text"], self)
|
||||
self.mychumhandleLabel.move(*self.theme["main/mychumhandle/label/loc"])
|
||||
self.mychumhandleLabel.setStyleSheet(self.theme["main/mychumhandle/label/style"])
|
||||
self.mychumhandle = QtGui.QPushButton(self.profile().handle, self)
|
||||
self.mychumhandle.setFlat(True)
|
||||
self.mychumhandle.move(*self.theme["main/mychumhandle/handle/loc"])
|
||||
self.mychumhandle.resize(*self.theme["main/mychumhandle/handle/size"])
|
||||
self.mychumhandle.setStyleSheet(self.theme["main/mychumhandle/handle/style"])
|
||||
self.connect(self.mychumhandle, QtCore.SIGNAL('clicked()'),
|
||||
self, QtCore.SLOT('switchProfile()'))
|
||||
|
||||
self.mychumcolor = QtGui.QPushButton(self)
|
||||
self.mychumcolor.resize(*self.theme["main/mychumhandle/colorswatch/size"])
|
||||
self.mychumcolor.move(*self.theme["main/mychumhandle/colorswatch/loc"])
|
||||
self.mychumcolor.setStyleSheet("background: %s" % (self.profile().colorhtml()))
|
||||
if self.theme["main/mychumhandle/colorswatch/text"]:
|
||||
self.mychumcolor.setText(self.theme["main/mychumhandle/colorswatch/text"])
|
||||
self.connect(self.mychumcolor, QtCore.SIGNAL('clicked()'),
|
||||
self, QtCore.SLOT('changeMyColor()'))
|
||||
|
||||
if not pygame.mixer:
|
||||
self.alarm = NoneSound()
|
||||
|
@ -969,12 +995,14 @@ class PesterWindow(MovingWindow):
|
|||
self.alarm = pygame.mixer.Sound(self.theme["main/sounds/alertsound"])
|
||||
self.waitingMessages = waitingMessageHolder(self)
|
||||
|
||||
# these are mostly initial values so we dont get AttributeErrors later
|
||||
self.convos = {}
|
||||
self.tabconvo = None
|
||||
self.optionmenu = None
|
||||
self.choosetheme = None
|
||||
self.chooseprofile = None
|
||||
self.addchumdialog = None
|
||||
self.colorDialog = None
|
||||
|
||||
def profile(self):
|
||||
return self.userprofile.chat
|
||||
|
@ -1070,14 +1098,33 @@ class PesterWindow(MovingWindow):
|
|||
self.moods = PesterMoodHandler(self, *[PesterMoodButton(self, **d) for d in self.theme["main/moods"]])
|
||||
self.moods.showButtons()
|
||||
# chum
|
||||
self.addChumButton.setText(self.theme["main/addchum/text"])
|
||||
self.addChumButton.resize(*self.theme["main/addchum/size"])
|
||||
self.addChumButton.move(*self.theme["main/addchum/loc"])
|
||||
self.addChumButton.setStyleSheet(self.theme["main/addchum/style"])
|
||||
self.pesterButton.setText(self.theme["main/pester/text"])
|
||||
self.pesterButton.resize(*self.theme["main/pester/size"])
|
||||
self.pesterButton.move(*self.theme["main/pester/loc"])
|
||||
self.pesterButton.setStyleSheet(self.theme["main/pester/style"])
|
||||
# do open windows
|
||||
if self.tabconvo:
|
||||
self.tabconvo.changeTheme(theme)
|
||||
for c in self.convos.values():
|
||||
c.changeTheme(theme)
|
||||
# buttons
|
||||
self.mychumhandleLabel.setText(self.theme["main/mychumhandle/label/text"])
|
||||
self.mychumhandleLabel.move(*self.theme["main/mychumhandle/label/loc"])
|
||||
self.mychumhandleLabel.setStyleSheet(self.theme["main/mychumhandle/label/style"])
|
||||
self.mychumhandle.setText(self.profile().handle)
|
||||
self.mychumhandle.move(*self.theme["main/mychumhandle/handle/loc"])
|
||||
self.mychumhandle.resize(*self.theme["main/mychumhandle/handle/size"])
|
||||
self.mychumhandle.setStyleSheet(self.theme["main/mychumhandle/handle/style"])
|
||||
self.mychumcolor.resize(*self.theme["main/mychumhandle/colorswatch/size"])
|
||||
self.mychumcolor.move(*self.theme["main/mychumhandle/colorswatch/loc"])
|
||||
self.mychumcolor.setStyleSheet("background: %s" % (self.profile().colorhtml()))
|
||||
if self.theme["main/mychumhandle/colorswatch/text"]:
|
||||
self.mychumcolor.setText(self.theme["main/mychumhandle/colorswatch/text"])
|
||||
|
||||
# sounds
|
||||
if not pygame.mixer:
|
||||
self.alarm = NoneSound()
|
||||
|
@ -1105,6 +1152,11 @@ class PesterWindow(MovingWindow):
|
|||
else:
|
||||
self.waitingMessages.answerMessage()
|
||||
|
||||
@QtCore.pyqtSlot()
|
||||
def pesterSelectedChum(self):
|
||||
curChum = self.chumList.currentItem()
|
||||
if curChum:
|
||||
self.newConversationWindow(curChum)
|
||||
@QtCore.pyqtSlot(QtGui.QListWidgetItem)
|
||||
def newConversationWindow(self, chumlisting):
|
||||
chum = chumlisting.chum
|
||||
|
@ -1238,14 +1290,23 @@ class PesterWindow(MovingWindow):
|
|||
|
||||
self.chooseprofile = None
|
||||
@QtCore.pyqtSlot()
|
||||
def changeMyColor(self):
|
||||
if self.colorDialog:
|
||||
return
|
||||
self.colorDialog = QtGui.QColorDialog(self)
|
||||
color = self.colorDialog.getColor(initial=self.profile().color)
|
||||
self.mychumcolor.setStyleSheet("background: %s" % color.name())
|
||||
self.userprofile.setColor(color)
|
||||
self.colorDialog = None
|
||||
@QtCore.pyqtSlot()
|
||||
def closeProfile(self):
|
||||
self.chooseprofile = None
|
||||
@QtCore.pyqtSlot()
|
||||
def switchProfile(self):
|
||||
if self.convos:
|
||||
closeWarning = QtGui.QMessageBox()
|
||||
closeWarning.setText("WARNING: THIS WILL CLOSE ALL CONVERSATION WINDOWS!")
|
||||
closeWarning.setInformativeText("i warned you bro! i warned you about those windows")
|
||||
closeWarning.setText("WARNING: CHANGING PROFILES WILL CLOSE ALL CONVERSATION WINDOWS!")
|
||||
closeWarning.setInformativeText("i warned you about windows bro!!!! i told you dog!")
|
||||
closeWarning.setStandardButtons(QtGui.QMessageBox.Cancel | QtGui.QMessageBox.Ok)
|
||||
closeWarning.setDefaultButton(QtGui.QMessageBox.Ok)
|
||||
ret = closeWarning.exec_()
|
||||
|
@ -1381,7 +1442,7 @@ class PesterHandler(DefaultCommandHandler):
|
|||
handle = nick[0:nick.find("!")]
|
||||
self.parent.moodUpdated.emit(handle, Mood("offline"))
|
||||
def part(self, nick, channel):
|
||||
handle = nick[0:oldnick.find("!")]
|
||||
handle = nick[0:nick.find("!")]
|
||||
if channel == "#pesterchum":
|
||||
self.parent.moodUpdated.emit(handle, Mood("offline"))
|
||||
def nick(self, oldnick, newnick):
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"color": "#00aaff", "theme": "trollian", "quirks": [], "handle": "superGhost"}
|
||||
{"color": "#65cf91", "theme": "trollian", "quirks": [], "handle": "superGhost"}
|
|
@ -14,7 +14,7 @@
|
|||
"sounds": { "alertsound": "$path/alarm.wav" },
|
||||
"chums": { "style": "background-color: black;color: white;font: bold;font-family: 'Courier New';selection-background-color:#919191; ",
|
||||
"loc": [20, 65],
|
||||
"size": [266, 300],
|
||||
"size": [266, 270],
|
||||
"moods": { "chummy": { "icon": "$path/chummy.gif",
|
||||
"color": "white" },
|
||||
"offline": { "icon": "$path/offline.gif",
|
||||
|
@ -43,14 +43,28 @@
|
|||
"color": "white" }
|
||||
}
|
||||
},
|
||||
"mychumhandle": { "label": { "text": "MYCHUMHANDLE",
|
||||
"loc": [70,410],
|
||||
"style": "color:black;font:bold;" },
|
||||
"handle": { "style": "border:3px solid yellow; background: black; color:white;",
|
||||
"loc": [20,430],
|
||||
"size": [220,30] },
|
||||
"colorswatch": { "loc": [243,430],
|
||||
"size": [40,30],
|
||||
"text": "" }
|
||||
},
|
||||
"defaultwindow": { "style": "background: #fdb302; font-family:'Courier New';font:bold;selection-background-color:#919191; "
|
||||
},
|
||||
"labels": { "mychumhandle": "MYCHUMHANDLE" },
|
||||
"addchum": { "style": "background: #fdb302; border:5px solid yellow; font: bold;",
|
||||
"loc": [20,370],
|
||||
"size": [100, 50],
|
||||
"loc": [20,340],
|
||||
"size": [100, 40],
|
||||
"text": "ADD CHUM"
|
||||
},
|
||||
"pester": { "style": "background: #fdb302; border:5px solid yellow; font: bold;",
|
||||
"loc": [130,340],
|
||||
"size": [100, 40],
|
||||
"text": "PESTER!"
|
||||
},
|
||||
"defaultmood": 0,
|
||||
"moods": [
|
||||
{ "style": "text-align:left; background: white; border:3px solid black; padding: 5px;color:#919191;",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{"main":
|
||||
{"style": "background-image:url($path/tnbg2.png);",
|
||||
{"style": "background-image:url($path/tnbg2.png);background-color:rgba(255,255,255,0);",
|
||||
"size": [300, 620],
|
||||
"icon": "$path/trayicon3.png",
|
||||
"newmsgicon": "$path/trayicon.gif",
|
||||
|
@ -14,7 +14,7 @@
|
|||
"sounds": { "alertsound": "$path/alarm.wav" },
|
||||
"chums": { "style": "background-color: black;color: white;font: bold;font-family: 'Courier New';selection-background-color:#ffb6b6; ",
|
||||
"loc": [20, 65],
|
||||
"size": [266, 300],
|
||||
"size": [266, 270],
|
||||
"moods": { "chummy": { "icon": "$path/chummy.gif",
|
||||
"color": "white" },
|
||||
"offline": { "icon": "$path/offline.gif",
|
||||
|
@ -43,14 +43,28 @@
|
|||
"color": "white" }
|
||||
}
|
||||
},
|
||||
"mychumhandle": { "label": { "text": "MYTROLLTAG",
|
||||
"loc": [85,410],
|
||||
"style": "color:black;font:bold;" },
|
||||
"handle": { "style": "border:3px solid #550000; background: black; color:white;",
|
||||
"loc": [20,430],
|
||||
"size": [220,30] },
|
||||
"colorswatch": { "loc": [243,430],
|
||||
"size": [40,30],
|
||||
"text": "" }
|
||||
},
|
||||
"defaultwindow": { "style": "background: #e5000f; font-family:'Courier New';font:bold;selection-background-color:#ffb6b6; "
|
||||
},
|
||||
"labels": { "mychumhandle": "MYTROLLTAG" },
|
||||
"addchum": { "style": "background: black; border:5px solid #550000; font: bold;color:white;",
|
||||
"loc": [20,370],
|
||||
"size": [100, 50],
|
||||
"loc": [20,340],
|
||||
"size": [100, 40],
|
||||
"text": "ADD LOSER"
|
||||
},
|
||||
"pester": { "style": "background: black; border:5px solid #550000; font: bold;color:white;",
|
||||
"loc": [130,340],
|
||||
"size": [100, 40],
|
||||
"text": "TROLL"
|
||||
},
|
||||
"defaultmood": 7,
|
||||
"moods": [
|
||||
{ "style": "text-align:left; background: black; border:3px solid black; padding: 5px;color:#dbdbdb;",
|
||||
|
|
Loading…
Reference in a new issue