fdsaas
|
@ -273,7 +273,20 @@ smiledict = {
|
||||||
":flipout:": "weasel.gif",
|
":flipout:": "weasel.gif",
|
||||||
":befuddled:": "what.gif",
|
":befuddled:": "what.gif",
|
||||||
":pumpkin:": "whatpumpkin.gif",
|
":pumpkin:": "whatpumpkin.gif",
|
||||||
":trollcool:": "trollcool.gif"}
|
":trollcool:": "trollcool.gif",
|
||||||
|
":jadecry:": "jadespritehead.gif",
|
||||||
|
":ecstatic:": "ecstatic.gif",
|
||||||
|
":relaxed:": "relaxed.gif",
|
||||||
|
":discontent:": "discontent.gif",
|
||||||
|
":devious:": "devious.gif",
|
||||||
|
":sleek:": "sleek.gif",
|
||||||
|
":detestful:": "detestful.gif",
|
||||||
|
":mirthful:": "mirthful.gif",
|
||||||
|
":manipulative:": "manipulative.gif",
|
||||||
|
":vigorous:": "vigorous.gif",
|
||||||
|
":perky:": "perky.gif",
|
||||||
|
":acceptant:": "acceptant.gif",
|
||||||
|
}
|
||||||
|
|
||||||
reverse_smiley = dict((v,k) for k, v in smiledict.iteritems())
|
reverse_smiley = dict((v,k) for k, v in smiledict.iteritems())
|
||||||
_smilere = re.compile("|".join(smiledict.keys()))
|
_smilere = re.compile("|".join(smiledict.keys()))
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
Name "PESTERCHUM3.14a"
|
Name "PESTERCHUM3.14a"
|
||||||
|
|
||||||
; The file to write
|
; The file to write
|
||||||
OutFile "pesterchum3.14a.3.exe"
|
OutFile "pesterchum3.148.2.exe"
|
||||||
|
|
||||||
InstallDir C:\Pesterchum
|
InstallDir C:\Pesterchum
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ UninstPage instfiles
|
||||||
Section "Pesterchum"
|
Section "Pesterchum"
|
||||||
|
|
||||||
SectionIn RO
|
SectionIn RO
|
||||||
|
|
||||||
; Set output path to the installation directory.
|
; Set output path to the installation directory.
|
||||||
SetOutPath $INSTDIR
|
SetOutPath $INSTDIR
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@ Section "Pesterchum"
|
||||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
CreateShortcut "$SMPROGRAMS\Pesterchum\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$INSTDIR\logs"
|
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$INSTDIR\logs"
|
||||||
|
|
||||||
|
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,6 @@ class PesterLog(object):
|
||||||
|
|
||||||
class PesterProfileDB(dict):
|
class PesterProfileDB(dict):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.filemutex = QtCore.QMutex()
|
|
||||||
if sys.platform != "darwin":
|
if sys.platform != "darwin":
|
||||||
self.logpath = "logs"
|
self.logpath = "logs"
|
||||||
else:
|
else:
|
||||||
|
@ -133,16 +132,13 @@ class PesterProfileDB(dict):
|
||||||
self.update(converted)
|
self.update(converted)
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
self.filemutex.lock()
|
|
||||||
try:
|
try:
|
||||||
fp = open("%s/chums.js" % (self.logpath), 'w')
|
fp = open("%s/chums.js" % (self.logpath), 'w')
|
||||||
chumdict = dict([p.plaindict() for p in self.itervalues()])
|
chumdict = dict([p.plaindict() for p in self.itervalues()])
|
||||||
json.dump(chumdict, fp)
|
json.dump(chumdict, fp)
|
||||||
fp.close()
|
fp.close()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
self.filemutex.unlock()
|
|
||||||
raise e
|
raise e
|
||||||
self.filemutex.unlock()
|
|
||||||
def getColor(self, handle, default=None):
|
def getColor(self, handle, default=None):
|
||||||
if not self.has_key(handle):
|
if not self.has_key(handle):
|
||||||
return default
|
return default
|
||||||
|
@ -281,7 +277,7 @@ class userConfig(object):
|
||||||
l.pop(l.index(handle))
|
l.pop(l.index(handle))
|
||||||
self.set('block', l)
|
self.set('block', l)
|
||||||
def server(self):
|
def server(self):
|
||||||
return self.config.get('server', 'irc.tymoon.eu')
|
return self.config.get('server', 'irc.mindfang.org')
|
||||||
def port(self):
|
def port(self):
|
||||||
return self.config.get('port', '6667')
|
return self.config.get('port', '6667')
|
||||||
def soundOn(self):
|
def soundOn(self):
|
||||||
|
@ -507,7 +503,8 @@ class chumArea(RightClickList):
|
||||||
for c in chums:
|
for c in chums:
|
||||||
c.setColor(color)
|
c.setColor(color)
|
||||||
def initTheme(self, theme):
|
def initTheme(self, theme):
|
||||||
self.setGeometry(*(theme["main/chums/loc"]+theme["main/chums/size"]))
|
self.resize(*theme["main/chums/size"])
|
||||||
|
self.move(*theme["main/chums/loc"])
|
||||||
if theme.has_key("main/chums/scrollbar"):
|
if theme.has_key("main/chums/scrollbar"):
|
||||||
self.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["main/chums/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] ))
|
self.setStyleSheet("QListWidget { %s } QScrollBar { %s } QScrollBar::handle { %s } QScrollBar::add-line { %s } QScrollBar::sub-line { %s } QScrollBar:up-arrow { %s } QScrollBar:down-arrow { %s }" % (theme["main/chums/style"], theme["main/chums/scrollbar/style"], theme["main/chums/scrollbar/handle"], theme["main/chums/scrollbar/downarrow"], theme["main/chums/scrollbar/uparrow"], theme["main/chums/scrollbar/uarrowstyle"], theme["main/chums/scrollbar/darrowstyle"] ))
|
||||||
else:
|
else:
|
||||||
|
@ -1232,7 +1229,7 @@ class PesterWindow(MovingWindow):
|
||||||
self.show()
|
self.show()
|
||||||
else:
|
else:
|
||||||
if self.isActiveWindow():
|
if self.isActiveWindow():
|
||||||
self.hide()
|
self.closeToTray()
|
||||||
else:
|
else:
|
||||||
self.raise_()
|
self.raise_()
|
||||||
self.activateWindow()
|
self.activateWindow()
|
||||||
|
@ -1241,8 +1238,6 @@ class PesterWindow(MovingWindow):
|
||||||
|
|
||||||
@QtCore.pyqtSlot()
|
@QtCore.pyqtSlot()
|
||||||
def connected(self):
|
def connected(self):
|
||||||
print "CONNECTED!"
|
|
||||||
print self.loadingscreen
|
|
||||||
if self.loadingscreen:
|
if self.loadingscreen:
|
||||||
self.loadingscreen.done(QtGui.QDialog.Accepted)
|
self.loadingscreen.done(QtGui.QDialog.Accepted)
|
||||||
self.loadingscreen = None
|
self.loadingscreen = None
|
||||||
|
@ -1972,7 +1967,6 @@ class MainProgram(QtCore.QObject):
|
||||||
else:
|
else:
|
||||||
widget.loadingscreen.hideReconnect()
|
widget.loadingscreen.hideReconnect()
|
||||||
status = widget.loadingscreen.exec_()
|
status = widget.loadingscreen.exec_()
|
||||||
print "exited with status %d" % status
|
|
||||||
if status == QtGui.QDialog.Rejected:
|
if status == QtGui.QDialog.Rejected:
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
|
@ -1990,17 +1984,13 @@ class MainProgram(QtCore.QObject):
|
||||||
self.widget.loadingscreen = None
|
self.widget.loadingscreen = None
|
||||||
self.attempts += 1
|
self.attempts += 1
|
||||||
if hasattr(self, 'irc') and self.irc:
|
if hasattr(self, 'irc') and self.irc:
|
||||||
print "tryagain: reconnectIRC()"
|
|
||||||
self.irc.reconnectIRC()
|
self.irc.reconnectIRC()
|
||||||
print "finishing"
|
|
||||||
self.irc.quit()
|
self.irc.quit()
|
||||||
else:
|
else:
|
||||||
print "tryagain: restartIRC()"
|
|
||||||
self.restartIRC()
|
self.restartIRC()
|
||||||
@QtCore.pyqtSlot()
|
@QtCore.pyqtSlot()
|
||||||
def restartIRC(self):
|
def restartIRC(self):
|
||||||
if hasattr(self, 'irc') and self.irc:
|
if hasattr(self, 'irc') and self.irc:
|
||||||
print "deleting IRC"
|
|
||||||
self.disconnectWidgets(self.irc, self.widget)
|
self.disconnectWidgets(self.irc, self.widget)
|
||||||
stop = self.irc.stopIRC
|
stop = self.irc.stopIRC
|
||||||
del self.irc
|
del self.irc
|
||||||
|
@ -2016,7 +2006,6 @@ class MainProgram(QtCore.QObject):
|
||||||
msg = "R3CONN3CT1NG %d" % (self.attempts)
|
msg = "R3CONN3CT1NG %d" % (self.attempts)
|
||||||
else:
|
else:
|
||||||
msg = "CONN3CT1NG"
|
msg = "CONN3CT1NG"
|
||||||
print "loadingscreen: auto reconnect"
|
|
||||||
self.reconnectok = False
|
self.reconnectok = False
|
||||||
self.showLoading(self.widget, msg)
|
self.showLoading(self.widget, msg)
|
||||||
else:
|
else:
|
||||||
|
|
16
readme.txt
|
@ -5,10 +5,20 @@ Here's some tips to help you get started:
|
||||||
- You can import your old Pesterchum contacts by going to
|
- You can import your old Pesterchum contacts by going to
|
||||||
CLIENT->IMPORT and opening your pesterchum.cfg file. This is usually
|
CLIENT->IMPORT and opening your pesterchum.cfg file. This is usually
|
||||||
in the 2.5 base directory or in Tinychum's data folder.
|
in the 2.5 base directory or in Tinychum's data folder.
|
||||||
- The Trollian theme can be confusing if you haven't used the program
|
- Some themes can be confusing if you haven't used the program
|
||||||
already! Some hints: moods are set by clicking the timelines, and you
|
already! Some hints:
|
||||||
|
|
||||||
|
Trollian: Moods are set by clicking the timelines, and you
|
||||||
can add chums by clicking "Chumproll." Moods correspond to the troll
|
can add chums by clicking "Chumproll." Moods correspond to the troll
|
||||||
that would most likely exhibit them.
|
that would most likely exhibit them. You can go offline by hitting the
|
||||||
|
"Timelines" menu bar.
|
||||||
|
|
||||||
|
Gold: Add chums by hitting the two chumpeoples in the upper left
|
||||||
|
corner. Go offline by clicking the "CHUMHANDLE:" label.
|
||||||
|
|
||||||
|
Enamel: Add chums by hitting the "CHUMROLL" label. Go offline by
|
||||||
|
clicking the upper left hand corner.
|
||||||
|
|
||||||
- Right-click is your friend! There are useful right click
|
- Right-click is your friend! There are useful right click
|
||||||
options on the chumroll, by clicking the chumhandle in a conversation,
|
options on the chumroll, by clicking the chumhandle in a conversation,
|
||||||
online userlist, or the list of memo browsers.
|
online userlist, or the list of memo browsers.
|
||||||
|
|
BIN
smilies/acceptant.png
Normal file
After Width: | Height: | Size: 357 B |
BIN
smilies/detestful.png
Normal file
After Width: | Height: | Size: 402 B |
BIN
smilies/devious.png
Normal file
After Width: | Height: | Size: 361 B |
BIN
smilies/distraught.png
Normal file
After Width: | Height: | Size: 328 B |
BIN
smilies/ecstatic.png
Normal file
After Width: | Height: | Size: 371 B |
BIN
smilies/jadespritehead.gif
Normal file
After Width: | Height: | Size: 767 B |
BIN
smilies/manipulative.png
Normal file
After Width: | Height: | Size: 400 B |
BIN
smilies/mirthful.png
Normal file
After Width: | Height: | Size: 361 B |
BIN
smilies/perky.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
smilies/relaxed.png
Normal file
After Width: | Height: | Size: 358 B |
BIN
smilies/sleek.png
Normal file
After Width: | Height: | Size: 365 B |
BIN
smilies/vigorous.png
Normal file
After Width: | Height: | Size: 408 B |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
@ -266,8 +266,7 @@
|
||||||
"systemMsgColor": "#646464"
|
"systemMsgColor": "#646464"
|
||||||
},
|
},
|
||||||
"memos":
|
"memos":
|
||||||
{"memoicon": "$path/memo.png",
|
{"style": "background-color: rgba(0,0,0,0); border-width: 5px; border-image:url($path/convobg.png) 5px; font-family: 'Century Gothic'; selection-background-color:#919191; ",
|
||||||
"style": "background-color: rgba(0,0,0,0); border-width: 5px; border-image:url($path/convobg.png) 5px; font-family: 'Century Gothic'; selection-background-color:#919191; ",
|
|
||||||
"size": [500,325],
|
"size": [500,325],
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"style": "",
|
"style": "",
|
||||||
|
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.4 KiB |
|
@ -1,111 +0,0 @@
|
||||||
{"inherits": "trollian",
|
|
||||||
"main": {
|
|
||||||
"moods": [
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck1.png); border:0px;",
|
|
||||||
"loc": [25, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 17
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck2.png); border:0px;",
|
|
||||||
"loc": [60, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 9
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck3.png); border:0px;",
|
|
||||||
"loc": [95, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 11
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck4.png); border:0px;",
|
|
||||||
"loc": [130, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 1
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck5.png); border:0px;",
|
|
||||||
"loc": [165, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 16
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck6.png); border:0px;",
|
|
||||||
"loc": [200, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 8
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck7.png); border:0px;",
|
|
||||||
"loc": [235, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 10
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck8.png); border:0px;",
|
|
||||||
"loc": [270, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 14
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck9.png); border:0px;",
|
|
||||||
"loc": [305, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 15
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck10.png); border:0px;",
|
|
||||||
"loc": [340, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 13
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck11.png); border:0px;",
|
|
||||||
"loc": [375, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 12
|
|
||||||
},
|
|
||||||
{ "style": "border:0px;",
|
|
||||||
"selected": "background-image:url($path/moodcheck12.png); border:0px;",
|
|
||||||
"loc": [410, 141],
|
|
||||||
"size": [20, 270],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 7
|
|
||||||
},
|
|
||||||
|
|
||||||
{ "style": "border:0px;color: rgba(0, 0, 0, 0%);",
|
|
||||||
"selected": "border:0px; color: rgba(0, 0, 0, 0%);",
|
|
||||||
"loc": [12, 117],
|
|
||||||
"size": [435, 18],
|
|
||||||
"text": "",
|
|
||||||
"icon": "",
|
|
||||||
"mood": 2
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
BIN
themes/trollian2.5/protective.png
Normal file
After Width: | Height: | Size: 598 B |
BIN
themes/trollian2.5/vigorous.png
Normal file
After Width: | Height: | Size: 408 B |