Fixes for botnames, chumroll & dm colors.

This commit is contained in:
BuildTools 2021-04-16 15:37:38 +02:00
parent d68c10f1ac
commit 02c0b9e47b
5 changed files with 44 additions and 18 deletions

View file

@ -1,13 +1,28 @@
# Changelog # Changelog
(This document uses YYYY-MM-DD as per ISO 8601) (This document uses YYYY-MM-DD as per ISO 8601)
## [v2.1.2] - 2021-4-16
### Added
- Added HOSTSERV and BOTSERV to BOTNAMES.
### Fixed
- Colors in direct messages sometimes not working.
- Handles sometimes not showing up in chumroll or trollslum.
### Removed
- Separate handling for canon handles on chumroll because it was buggy and unneeded.
### Changed
- setup.py build description to just "Pesterchum"
## [v2.1.1] - 2021-4-12 ## [v2.1.1] - 2021-4-12
# Fixed ### Fixed
- Fixed theme not getting applied correctly to memo. - Fixed theme not getting applied correctly to memo.
- Fixed sRGB profile in steamchum. - Fixed sRGB profile in steamchum.
## Changed ### Changed
- convo/tabwindow on trollian seems to be used for the general background color, so, I changed it to a value. I'm not use if this was intentional. - convo/tabwindow on trollian seems to be used for the general background color, so, I changed it to a value. I'm not use if this was intentional.
## [v2.1.0] - 2021-4-11 ## [v2.1.0] - 2021-4-11

View file

@ -6,6 +6,7 @@ from time import strftime
from copy import copy from copy import copy
from datetime import datetime, timedelta from datetime import datetime, timedelta
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
import logging
from mood import Mood from mood import Mood
from dataobjs import PesterProfile, PesterHistory from dataobjs import PesterProfile, PesterHistory
@ -752,6 +753,7 @@ class PesterConvo(QtWidgets.QFrame):
self.optionsMenu.removeAction(self.blockAction) self.optionsMenu.removeAction(self.blockAction)
def updateColor(self, color): def updateColor(self, color):
logging.debug("convo updateColor: " + str(color))
self.chum.color = color self.chum.color = color
def addMessage(self, msg, me=True): def addMessage(self, msg, me=True):
if type(msg) in [str, str]: if type(msg) in [str, str]:

5
irc.py
View file

@ -196,6 +196,7 @@ class PesterIRC(QtCore.QThread):
self.setConnectionBroken() self.setConnectionBroken()
@QtCore.pyqtSlot() @QtCore.pyqtSlot()
def updateColor(self): def updateColor(self):
#logging.debug("irc updateColor (outgoing)")
me = self.mainwindow.profile() me = self.mainwindow.profile()
for h in list(self.mainwindow.convos.keys()): for h in list(self.mainwindow.convos.keys()):
try: try:
@ -411,8 +412,10 @@ class PesterHandler(DefaultCommandHandler):
colors = msg[7:].split(",") colors = msg[7:].split(",")
try: try:
colors = [int(d) for d in colors] colors = [int(d) for d in colors]
except ValueError: except ValueError as e:
logging.warning(e)
colors = [0,0,0] colors = [0,0,0]
logging.debug("colors: " + str(colors))
color = QtGui.QColor(*colors) color = QtGui.QColor(*colors)
self.parent.colorUpdated.emit(handle, color) self.parent.colorUpdated.emit(handle, color)
else: else:

View file

@ -202,12 +202,13 @@ from toast import PesterToastMachine, PesterToast
import pytwmn import pytwmn
from profile import * from profile import *
canon_handles = ["apocalypseArisen", "arsenicCatnip", "arachnidsGrip", "adiosToreador", \ #canon_handles = ["apocalypseArisen", "arsenicCatnip", "arachnidsGrip", "adiosToreador", \
"caligulasAquarium", "cuttlefishCuller", "carcinoGeneticist", "centaursTesticle", \ # "caligulasAquarium", "cuttlefishCuller", "carcinoGeneticist", "centaursTesticle", \
"grimAuxiliatrix", "gallowsCalibrator", "gardenGnostic", "ectoBiologist", \ # "grimAuxiliatrix", "gallowsCalibrator", "gardenGnostic", "ectoBiologist", \
"twinArmageddons", "terminallyCapricious", "turntechGodhead", "tentacleTherapist"] # "twinArmageddons", "terminallyCapricious", "turntechGodhead", "tentacleTherapist"]
canon_handles = ["",]# Unused, kept to prevent unexpected calls causing a crash.
CUSTOMBOTS = ["CALSPRITE", RANDNICK.upper()] CUSTOMBOTS = ["CALSPRITE", RANDNICK.upper()]
BOTNAMES = ["NICKSERV", "CHANSERV", "MEMOSERV", "OPERSERV", "HELPSERV"] BOTNAMES = ["NICKSERV", "CHANSERV", "MEMOSERV", "OPERSERV", "HELPSERV", "HOSTSERV", "BOTSERV"]
BOTNAMES.extend(CUSTOMBOTS) BOTNAMES.extend(CUSTOMBOTS)
# Save the main app. From here, we should be able to get everything else in # Save the main app. From here, we should be able to get everything else in
@ -414,10 +415,10 @@ class chumArea(RightClickTree):
return self.groupMenu return self.groupMenu
else: else:
currenthandle = self.currentItem().chum.handle currenthandle = self.currentItem().chum.handle
if currenthandle in canon_handles: #if currenthandle in canon_handles:
return self.canonMenu # return self.canonMenu
else: #else:
return self.optionsMenu return self.optionsMenu
def startDrag(self, dropAction): def startDrag(self, dropAction):
## Traceback (most recent call last): ## Traceback (most recent call last):
@ -564,7 +565,8 @@ class chumArea(RightClickTree):
def showAllChums(self): def showAllChums(self):
for c in self.chums: for c in self.chums:
chandle = c.handle chandle = c.handle
if not len(self.findItems(chandle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive)): if not len(self.findItems(chandle, QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive)):
#if True:# For if it doesn't work at all :/
chumLabel = chumListing(c, self.mainwindow) chumLabel = chumListing(c, self.mainwindow)
self.addItem(chumLabel) self.addItem(chumLabel)
self.sort() self.sort()
@ -672,7 +674,8 @@ class chumArea(RightClickTree):
if text.rfind(" (") != -1: if text.rfind(" (") != -1:
text = text[0:text.rfind(" (")] text = text[0:text.rfind(" (")]
curgroups.append(text) curgroups.append(text)
if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): if not self.findItems(chumLabel.handle, QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive):
#if True:# For if it doesn't work at all :/
if chumLabel.chum.group not in curgroups: if chumLabel.chum.group not in curgroups:
child_1 = QtWidgets.QTreeWidgetItem(["%s" % (chumLabel.chum.group)]) child_1 = QtWidgets.QTreeWidgetItem(["%s" % (chumLabel.chum.group)])
i = 0 i = 0
@ -724,7 +727,8 @@ class chumArea(RightClickTree):
if self.mainwindow.config.showOnlineNumbers(): if self.mainwindow.config.showOnlineNumbers():
self.showOnlineNumbers() self.showOnlineNumbers()
else: # usually means this is now the trollslum else: # usually means this is now the trollslum
if not self.findItems(chumLabel.handle, QtCore.Qt.MatchContains | QtCore.Qt.MatchRecursive): if not self.findItems(chumLabel.handle, QtCore.Qt.MatchExactly | QtCore.Qt.MatchRecursive):
#if True:# For if it doesn't work at all :/
self.topLevelItem(0).addChild(chumLabel) self.topLevelItem(0).addChild(chumLabel)
self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder) self.topLevelItem(0).sortChildren(0, QtCore.Qt.AscendingOrder)
def takeItem(self, chumLabel): def takeItem(self, chumLabel):
@ -2125,6 +2129,7 @@ class PesterWindow(MovingWindow):
@QtCore.pyqtSlot(QString, QtGui.QColor) @QtCore.pyqtSlot(QString, QtGui.QColor)
def updateColorSlot(self, handle, color): def updateColorSlot(self, handle, color):
logging.debug("updateColorSlot, "+ str(handle) +", " + str(color))
h = str(handle) h = str(handle)
self.changeColor(h, color) self.changeColor(h, color)
@ -3576,8 +3581,8 @@ Click this message to never see this again.")
irc2widget = [('connected()', 'connected()'), irc2widget = [('connected()', 'connected()'),
('moodUpdated(QString, PyQt_PyObject)', ('moodUpdated(QString, PyQt_PyObject)',
'updateMoodSlot(QString, PyQt_PyObject)'), 'updateMoodSlot(QString, PyQt_PyObject)'),
('colorUpdated(QString, QColor)', ('colorUpdated(QString, QtGui.QColor)',
'updateColorSlot(QString, QColor)'), 'updateColorSlot(QString, QtGui.QColor)'),
('messageReceived(QString, QString)', ('messageReceived(QString, QString)',
'deliverMessage(QString, QString)'), 'deliverMessage(QString, QString)'),
('memoReceived(QString, QString, QString)', ('memoReceived(QString, QString, QString)',
@ -3637,6 +3642,7 @@ Click this message to never see this again.")
# Main window --> IRC # Main window --> IRC
(irc.connected, widget.connected), (irc.connected, widget.connected),
(irc.moodUpdated, widget.updateMoodSlot), (irc.moodUpdated, widget.updateMoodSlot),
(irc.colorUpdated, widget.updateColorSlot),
(irc.messageReceived, widget.deliverMessage), (irc.messageReceived, widget.deliverMessage),
(irc.memoReceived, widget.deliverMemo), (irc.memoReceived, widget.deliverMemo),
(irc.noticeReceived, widget.deliverNotice), (irc.noticeReceived, widget.deliverNotice),

View file

@ -51,7 +51,7 @@ bdist_mac_options = {
'bundle_name': "Pesterchum" 'bundle_name': "Pesterchum"
} }
description = "Instant messaging client copying the look and feel of clients from Andrew Hussie's webcomic Homestuck." description = "Pesterchum"
icon = "pesterchum.ico" icon = "pesterchum.ico"
# See https://stackoverflow.com/questions/15734703/use-cx-freeze-to-create-an-msi-that-adds-a-shortcut-to-the-desktop # See https://stackoverflow.com/questions/15734703/use-cx-freeze-to-create-an-msi-that-adds-a-shortcut-to-the-desktop