Merge branch 'master' of github.com:kiooeht/pesterchum
Conflicts: version.py
|
@ -13,7 +13,13 @@ Visit http://nova.xzibition.com/~illuminatedwax/help.html for tutorial.
|
|||
|
||||
CHANGELOG
|
||||
---------
|
||||
### 3.41.2
|
||||
## 3.41.4
|
||||
* Makefile for Linux installing - Kiooeht [evacipatedBox]
|
||||
* Bug fixes
|
||||
* Don't require pygame (it's kind of optional, you just don't get sound) - Kiooeht [evacipatedBox]
|
||||
* Allow add chum dialog to opne after adding an existing chum - Kiooeht [evacipatedBox]
|
||||
|
||||
### 3.41.3
|
||||
* Add group option when adding chum - ghostDunk
|
||||
* OOC Mode - ghostDunk
|
||||
* Improve animated gifs - ghostDunk
|
||||
|
@ -39,7 +45,9 @@ CHANGELOG
|
|||
* New smilies - Kiooeht [evacipatedBox]
|
||||
* Refresh theme in options - Kiooeht [evacipatedBox]
|
||||
* Separate tabbed/untabbed windows for conversaions and memos - Kiooeht [evacipatedBox]
|
||||
* Manually rearrange chumroll - Kiooeht [evacipatedBox] (Idea: [turntableAbbess (aka. TA or SGRILL)])
|
||||
* Manually rearrange chumroll - Kiooeht [evacipatedBox] (Idea: [turntableAbbess (aka. TA of SGRILL)])
|
||||
* Using user data directory for all OSs - Kiooeht [evacipatedBox]
|
||||
* Lots more user created themes - ghostDunk
|
||||
* Bug fixes
|
||||
* Don't delete random chum when blocking someone not on chumroll - Kiooeht [evacipatedBox]
|
||||
* Openning global userlist doesn't reset OP status of memo users - Kiooeht [evacipatedBox]
|
||||
|
|
36
Makefile
Normal file
|
@ -0,0 +1,36 @@
|
|||
PYTHON2_CMD ?= /usr/bin/python
|
||||
|
||||
PREFIX ?= /usr/local
|
||||
LIBINSTALLDIR ?= /lib
|
||||
XDGCONFDIR ?= /etc/xdg
|
||||
|
||||
PESTERCHUMBINDIR = ${DESTDIR}${PREFIX}/bin
|
||||
PESTERCHUMLIBDIR = $(DESTDIR)$(PREFIX)$(LIBINSTALLDIR)/pesterchum
|
||||
|
||||
all:
|
||||
@echo "Ready to install..."
|
||||
|
||||
make-install-dirs:
|
||||
mkdir -p ${PESTERCHUMBINDIR}
|
||||
mkdir -p ${PESTERCHUMLIBDIR}
|
||||
mkdir -p ${PESTERCHUMLIBDIR}/libs
|
||||
mkdir -p ${PESTERCHUMLIBDIR}/oyoyo
|
||||
mkdir -p ${PESTERCHUMLIBDIR}/quirks
|
||||
mkdir -p ${PESTERCHUMLIBDIR}/smilies
|
||||
mkdir -p ${PESTERCHUMLIBDIR}/themes
|
||||
|
||||
uninstall:
|
||||
rm -f ${PESTERCHUMBINDIR}/pesterchum
|
||||
rm -rf ${PESTERCHUMLIBDIR}
|
||||
|
||||
install: make-install-dirs
|
||||
cp *.py ${PESTERCHUMLIBDIR}
|
||||
cp libs/*.py ${PESTERCHUMLIBDIR}/libs
|
||||
cp oyoyo/*.py ${PESTERCHUMLIBDIR}/oyoyo
|
||||
cp quirks/*.py ${PESTERCHUMLIBDIR}/quirks
|
||||
cp smilies/* ${PESTERCHUMLIBDIR}/smilies
|
||||
cp -r themes/* ${PESTERCHUMLIBDIR}/themes
|
||||
@echo '#!/bin/sh' > ${PESTERCHUMBINDIR}/pesterchum
|
||||
@echo 'cd ${PREFIX}$(LIBINSTALLDIR)/pesterchum' >> ${PESTERCHUMBINDIR}/pesterchum
|
||||
@echo 'python2 pesterchum.py' >> ${PESTERCHUMBINDIR}/pesterchum
|
||||
chmod +x ${PESTERCHUMBINDIR}/pesterchum
|
29
README.mkdn
|
@ -1,29 +1,19 @@
|
|||
Welcome to Pesterchum 3.14.1!
|
||||
Welcome to Pesterchum 3.41!
|
||||
=============================
|
||||
|
||||
WHAT'S NEW?
|
||||
-----------
|
||||
* Quirks now have a lower(), scramble(), and reverse() function!
|
||||
* Timestamps - check your Config!
|
||||
* Logviewer - View logs right in Pesterchum!
|
||||
* Quirk ordering - order your quirks so they work right!
|
||||
* # of users in a memo - You can now see how many users are in a memo.
|
||||
* @links to users - typing @ before user's name creates a link
|
||||
that will pester them!
|
||||
* Support for REPORT and ALT to calSprite built in -
|
||||
If someone is bothering you, or a canon handle is idle, or
|
||||
for whatever reason, right click their name and go to "Report"
|
||||
to report them to a moderator.
|
||||
If you want to talk to an alt canon handle, just right click
|
||||
the username!
|
||||
if you have an alt handle, register it with calSprite!
|
||||
* Check out the CHANGELOG file to see what's changed!
|
||||
|
||||
What do I do now?
|
||||
-----------------
|
||||
|
||||
Most questions can be answered by visiting the forums! Go to HELP->HELP
|
||||
and you'll be transported to the proper thread!
|
||||
|
||||
Here's some tips to help you get started:
|
||||
-----------------------------------------
|
||||
|
||||
- You can import your old Pesterchum contacts by going to
|
||||
CLIENT->IMPORT and opening your pesterchum.cfg file. This is usually
|
||||
in the 2.5 base directory or in Tinychum's data folder.
|
||||
- Some themes can be confusing if you haven't used the program
|
||||
already! Some hints:
|
||||
* Trollian: Moods are set by clicking the timelines, and you
|
||||
|
@ -44,8 +34,6 @@ online userlist, or the list of memo browsers.
|
|||
Cool features:
|
||||
--------------
|
||||
|
||||
- Importing from old PC. It can already do your chumlist, soon it will
|
||||
import your quirks from 2.5 and TC as well!
|
||||
- Profile switching. Instantly switch profiles, loading your color and
|
||||
quirks with it.
|
||||
- Theme switching and creation. So far this comes with a few official
|
||||
|
@ -782,3 +770,4 @@ Here's a list of smilies:
|
|||
* :olliesouty:
|
||||
* :billiards:
|
||||
* :billiardslarge:
|
||||
* :whatdidyoudo:
|
|
@ -26,6 +26,7 @@ Features
|
|||
* Make toast notifications only on certain chums
|
||||
* Local alisas for chums
|
||||
* Italics/uderline - needed for canon
|
||||
* Don't make new windows be all in your face and shit
|
||||
|
||||
Bugs
|
||||
----
|
||||
|
@ -36,6 +37,8 @@ Bugs
|
|||
* Closing a timeclone doesn't actually cease for everyone else
|
||||
* Kill Zalgo
|
||||
* Random invisible, tiny links to last link at end of every message
|
||||
* if you change the capitals on a memo name when entering. Userlist goes blank.
|
||||
* Clicking link to invite-only memo crashes
|
||||
|
||||
Windows Bugs
|
||||
------------
|
||||
|
|
|
@ -125,10 +125,7 @@ class PesterLogUserSelect(QtGui.QDialog):
|
|||
|
||||
@QtCore.pyqtSlot()
|
||||
def openDir(self):
|
||||
if ostools.isOSX():
|
||||
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(_datadir, "logs"), QtCore.QUrl.TolerantMode))
|
||||
else:
|
||||
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(os.getcwd(), "logs"), QtCore.QUrl.TolerantMode))
|
||||
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(_datadir, "logs"), QtCore.QUrl.TolerantMode))
|
||||
|
||||
class PesterLogViewer(QtGui.QDialog):
|
||||
def __init__(self, chum, config, theme, parent):
|
||||
|
|
4
menus.py
|
@ -7,6 +7,8 @@ from dataobjs import pesterQuirk, PesterProfile
|
|||
from memos import TimeSlider, TimeInput
|
||||
from version import _pcVersion
|
||||
|
||||
_datadir = ostools.getDataDir()
|
||||
|
||||
class PesterQuirkItem(QtGui.QTreeWidgetItem):
|
||||
def __init__(self, quirk):
|
||||
parent = None
|
||||
|
@ -890,7 +892,7 @@ class PesterChooseProfile(QtGui.QDialog):
|
|||
ret = msgbox.exec_()
|
||||
if ret == QtGui.QMessageBox.Ok:
|
||||
try:
|
||||
remove("profiles/%s.js" % (handle))
|
||||
remove(_datadir+"profiles/%s.js" % (handle))
|
||||
except OSError:
|
||||
problem = QtGui.QMessageBox()
|
||||
problem.setStyleSheet(self.theme["main/defaultwindow/style"])
|
||||
|
|
|
@ -28,6 +28,8 @@ def osVer():
|
|||
|
||||
def getDataDir():
|
||||
if isOSX():
|
||||
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.DataLocation)), "Pesterchum/")
|
||||
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.DataLocation).toLatin1()), "Pesterchum/")
|
||||
elif isLinux():
|
||||
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.HomeLocation).toLatin1()), ".pesterchum/")
|
||||
else:
|
||||
return ''
|
||||
return os.path.join(str(QDesktopServices.storageLocation(QDesktopServices.DataLocation).toLatin1()), "pesterchum/")
|
||||
|
|
|
@ -428,6 +428,7 @@ smiledict = {
|
|||
":olliesouty:": "olliesouty.gif",
|
||||
":billiards:": "poolballS.gif",
|
||||
":billiardslarge:": "poolballL.gif",
|
||||
":whatdidyoudo:": "whatdidyoudo.gif",
|
||||
}
|
||||
|
||||
if ostools.isOSXBundle():
|
||||
|
|
104
pesterchum-update-from3.14.nsi
Normal file
|
@ -0,0 +1,104 @@
|
|||
|
||||
; The name of the installer
|
||||
Name "PESTERCHUM3.14 to 3.41"
|
||||
|
||||
; The file to write
|
||||
OutFile "pesterchum3.14to3.41.exe"
|
||||
|
||||
RequestExecutionLevel admin
|
||||
|
||||
Page components
|
||||
Page instfiles
|
||||
|
||||
UninstPage uninstConfirm
|
||||
UninstPage instfiles
|
||||
|
||||
; The stuff to install
|
||||
Section "Pesterchum"
|
||||
|
||||
SectionIn RO
|
||||
|
||||
ReadRegStr $INSTDIR HKLM "SOFTWARE\Pesterchum" "Install_Dir"
|
||||
|
||||
StrCmp $INSTDIR "" error
|
||||
|
||||
; Set output path to the installation directory.
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
; Check and see if this is really 3.14
|
||||
IfFileExists library.zip 0 error
|
||||
|
||||
ClearErrors
|
||||
CreateDirectory $TEMP\pesterchum_backup
|
||||
IfErrors backuperror 0
|
||||
CopyFiles $INSTDIR\pesterchum.js $TEMP\pesterchum_backup
|
||||
CopyFiles $INSTDIR\profiles $TEMP\pesterchum_backup
|
||||
CopyFiles $INSTDIR\logs $TEMP\pesterchum_backup
|
||||
IfErrors cantcopy 0
|
||||
|
||||
Delete $INSTDIR\uninstall.exe
|
||||
|
||||
; Remove shortcuts, if any
|
||||
Delete "$SMPROGRAMS\Pesterchum\*.*"
|
||||
|
||||
; Remove directories used
|
||||
RMDir "$SMPROGRAMS\Pesterchum"
|
||||
RMDir /r "$INSTDIR"
|
||||
|
||||
; Put file there
|
||||
File /r *.*
|
||||
Rename $INSTDIR\README.mkdn $INSTDIR\readme.txt
|
||||
Rename $INSTDIR\CHANGELOG.mkdn $INSTDIR\changelog.txt
|
||||
|
||||
; Copy backup files
|
||||
ClearErrors
|
||||
CopyFiles $TEMP\pesterchum_backup\*.* $INSTDIR
|
||||
IfErrors brokeinstall 0
|
||||
RMDIR /r "$TEMP\pesterchum_backup"
|
||||
|
||||
WriteUninstaller "uninstall.exe"
|
||||
|
||||
CreateDirectory "$SMPROGRAMS\Pesterchum"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
|
||||
CreateShortcut "$DESKTOP\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Readme.lnk" "$INSTDIR\readme.txt"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$LOCALAPPDATA\pesterchum\logs"
|
||||
|
||||
Goto done
|
||||
|
||||
error:
|
||||
MessageBox MB_OK "Pesterchum 3.14 (or 3.41 beta) not found on this machine!"
|
||||
Goto done
|
||||
backuperror:
|
||||
IfFileExists $TEMP\pesterchum_backup brokeinstall cantmaketmp
|
||||
cantmaketmp:
|
||||
MessageBox MB_OK "Error! Can't make temporary directory (to save your files) for some raisin. Check your privileges?? i dunno tbqh, soryr *sorry"
|
||||
Goto done
|
||||
brokeinstall:
|
||||
MessageBox MB_OK "Broken install detected. Please copy the files in $TEMP\pesterchum_backup to some place safe and then delete that folder."
|
||||
Goto done
|
||||
cantcopy:
|
||||
MessageBox MB_OK "Can't seem to copy Pesterchum backup files to temp directory."
|
||||
Goto done
|
||||
done:
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
; Remove registry keys
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pesterchum"
|
||||
DeleteRegKey HKLM SOFTWARE\Pesterchum
|
||||
|
||||
; Remove files and uninstaller
|
||||
Delete $INSTDIR\uninstall.exe
|
||||
|
||||
; Remove shortcuts, if any
|
||||
Delete "$SMPROGRAMS\Pesterchum\*.*"
|
||||
|
||||
; Remove directories used
|
||||
RMDir "$SMPROGRAMS\Pesterchum"
|
||||
RMDir /r "$INSTDIR"
|
||||
|
||||
SectionEnd
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
; The name of the installer
|
||||
Name "PESTERCHUM3.418"
|
||||
Name "PESTERCHUM3.41"
|
||||
|
||||
; The file to write
|
||||
OutFile "pesterchum3.418.update.exe"
|
||||
OutFile "pesterchum3.41.update.exe"
|
||||
|
||||
RequestExecutionLevel admin
|
||||
|
||||
|
@ -25,13 +25,19 @@ Section "Pesterchum"
|
|||
; Put file there
|
||||
File /r themes
|
||||
File /r smilies
|
||||
File library.zip
|
||||
File /r quirks
|
||||
File README.mkdn
|
||||
File CHANGELOG.mkdn
|
||||
File version.py
|
||||
File pesterchum.exe
|
||||
File pesterchum.exe.manifest
|
||||
|
||||
|
||||
Rename $INSTDIR\README.mkdn $INSTDIR\readme.txt
|
||||
Rename $INSTDIR\CHANGELOG.mkdn $INSTDIR\changelog.txt
|
||||
|
||||
Delete "$SMPROGRAMS\Pesterchum\Pesterchum.lnk"
|
||||
Delete "$SMPROGRAMS\Pesterchum\PesterChumDebug.lnk"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\PesterchumDebug.lnk" "$INSTDIR\pesterchum_debug.exe"
|
||||
|
||||
Goto done
|
||||
error:
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
; The name of the installer
|
||||
Name "PESTERCHUM3.418"
|
||||
Name "PESTERCHUM3.41"
|
||||
|
||||
; The file to write
|
||||
OutFile "pesterchum3.418.exe"
|
||||
OutFile "pesterchum3.41.exe"
|
||||
|
||||
InstallDir C:\Pesterchum
|
||||
|
||||
|
@ -28,7 +28,9 @@ Section "Pesterchum"
|
|||
|
||||
; Put file there
|
||||
File /r *.*
|
||||
|
||||
Rename $INSTDIR\README.mkdn $INSTDIR\readme.txt
|
||||
Rename $INSTDIR\CHANGELOG.mkdn $INSTDIR\changelog.txt
|
||||
|
||||
; Write the installation path into the registry
|
||||
WriteRegStr HKLM SOFTWARE\Pesterchum "Install_Dir" "$INSTDIR"
|
||||
|
||||
|
@ -41,16 +43,13 @@ Section "Pesterchum"
|
|||
|
||||
CreateDirectory "$SMPROGRAMS\Pesterchum"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\PesterchumDebug.lnk" "$INSTDIR\pesterchum_debug.exe"
|
||||
CreateShortcut "$DESKTOP\Pesterchum.lnk" "$INSTDIR\pesterchum.exe"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Readme.lnk" "$INSTDIR\readme.txt"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$INSTDIR\logs"
|
||||
|
||||
|
||||
|
||||
CreateShortcut "$SMPROGRAMS\Pesterchum\Logs.lnk" "$LOCALAPPDATA\pesterchum\logs"
|
||||
SectionEnd
|
||||
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
; Remove registry keys
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# pesterchum
|
||||
import os, sys, getopt
|
||||
import os, shutil, sys, getopt
|
||||
if os.path.dirname(sys.argv[0]):
|
||||
os.chdir(os.path.dirname(sys.argv[0]))
|
||||
import version
|
||||
|
@ -8,26 +8,29 @@ import logging
|
|||
from datetime import *
|
||||
import random
|
||||
import re
|
||||
import ostools
|
||||
from time import time
|
||||
import threading, Queue
|
||||
|
||||
missing = []
|
||||
reqmissing = []
|
||||
optmissing = []
|
||||
try:
|
||||
from PyQt4 import QtGui, QtCore
|
||||
except ImportError, e:
|
||||
module = str(e)
|
||||
if module[:16] == "No module named ": missing.append(module[16:])
|
||||
if module.startswith("No module named ") or \
|
||||
module.startswith("cannot import name "):
|
||||
reqmissing.append(module[module.rfind(" ")+1:])
|
||||
else: print e
|
||||
try:
|
||||
import pygame
|
||||
except ImportError, e:
|
||||
pygame = None
|
||||
module = str(e)
|
||||
if module[:16] == "No module named ": missing.append(module[16:])
|
||||
if module[:16] == "No module named ": optmissing.append(module[16:])
|
||||
else: print e
|
||||
if missing:
|
||||
if reqmissing:
|
||||
print "ERROR: The following modules are required for Pesterchum to run and are missing on your system:"
|
||||
for m in missing: print "* "+m
|
||||
for m in reqmissing: print "* "+m
|
||||
exit()
|
||||
vnum = QtCore.qVersion()
|
||||
major = int(vnum[:vnum.find(".")])
|
||||
|
@ -40,6 +43,7 @@ if not ((major > 4) or (major == 4 and minor >= 6)):
|
|||
print "You currently have version " + vnum + ". Please ungrade Qt"
|
||||
exit()
|
||||
|
||||
import ostools
|
||||
# Placed here before importing the rest of pesterchum, since bits of it need
|
||||
# OSX's data directory and it doesn't hurt to have everything set up before
|
||||
# plowing on. :o)
|
||||
|
@ -47,8 +51,21 @@ if not ((major > 4) or (major == 4 and minor >= 6)):
|
|||
_datadir = ostools.getDataDir()
|
||||
# See, what I've done here is that _datadir is '' if we're not on OSX, so the
|
||||
# concatination is the same as if it wasn't there.
|
||||
if _datadir and not os.path.exists(_datadir):
|
||||
os.mkdir(_datadir)
|
||||
# UPDATE 2011-11-28 <Kiooeht>:
|
||||
# Now using data directory as defined by QDesktopServices on all platforms
|
||||
# (on Linux, same as using xdg). To stay safe with older versions, copy any
|
||||
# data (profiles, logs, etc) from old location to new data directory.
|
||||
|
||||
if _datadir:
|
||||
if not os.path.exists(_datadir):
|
||||
os.makedirs(_datadir)
|
||||
if not os.path.exists(_datadir+"profiles/") and os.path.exists("profiles/"):
|
||||
shutil.move("profiles/", _datadir+"profiles/")
|
||||
if not os.path.exists(_datadir+"pesterchum.js") and os.path.exists("pesterchum.js"):
|
||||
shutil.move("pesterchum.js", _datadir+"pesterchum.js")
|
||||
if not os.path.exists(_datadir+"logs/") and os.path.exists("logs/"):
|
||||
shutil.move("logs/", _datadir+"logs/")
|
||||
|
||||
if not os.path.exists(_datadir+"profiles"):
|
||||
os.mkdir(_datadir+"profiles")
|
||||
if not os.path.exists(_datadir+"pesterchum.js"):
|
||||
|
@ -1575,7 +1592,7 @@ class PesterWindow(MovingWindow):
|
|||
self.mychumcolor.setText("")
|
||||
|
||||
# sounds
|
||||
if not pygame.mixer:
|
||||
if not pygame or not pygame.mixer:
|
||||
self.alarm = NoneSound()
|
||||
self.memosound = NoneSound()
|
||||
self.namesound = NoneSound()
|
||||
|
@ -1854,6 +1871,7 @@ class PesterWindow(MovingWindow):
|
|||
if ok:
|
||||
handle = unicode(handle)
|
||||
if handle in [h.handle for h in self.chumList.chums]:
|
||||
self.addchumdialog = None
|
||||
return
|
||||
if not (PesterProfile.checkLength(handle) and
|
||||
PesterProfile.checkValid(handle)[0]):
|
||||
|
@ -2628,7 +2646,7 @@ class MainProgram(QtCore.QObject):
|
|||
|
||||
options = self.oppts(sys.argv[1:])
|
||||
|
||||
if pygame.mixer:
|
||||
if pygame and pygame.mixer:
|
||||
# we could set the frequency higher but i love how cheesy it sounds
|
||||
try:
|
||||
pygame.mixer.init()
|
||||
|
|
29
profile.py
|
@ -54,7 +54,14 @@ class PesterLog(object):
|
|||
for (format, t) in modes.iteritems():
|
||||
if not os.path.exists("%s/%s/%s/%s" % (self.logpath, self.handle, handle, format)):
|
||||
os.makedirs("%s/%s/%s/%s" % (self.logpath, self.handle, handle, format))
|
||||
fp = codecs.open("%s/%s/%s/%s/%s.%s.txt" % (self.logpath, self.handle, handle, format, handle, time), encoding='utf-8', mode='a')
|
||||
try:
|
||||
fp = codecs.open("%s/%s/%s/%s/%s.%s.txt" % (self.logpath, self.handle, handle, format, handle, time), encoding='utf-8', mode='a')
|
||||
except IOError:
|
||||
errmsg = QtGui.QMessageBox(self)
|
||||
errmsg.setText("Warning: Pesterchum could not open the log file for %s!" % (handle))
|
||||
errmsg.setInformativeText("Your log for %s will not be saved because something went wrong. We suggest restarting Pesterchum. Sorry :(" % (handle))
|
||||
errmsg.show()
|
||||
continue
|
||||
self.convos[handle][format] = fp
|
||||
for (format, t) in modes.iteritems():
|
||||
f = self.convos[handle][format]
|
||||
|
@ -321,8 +328,8 @@ class userConfig(object):
|
|||
for dirname, dirnames, filenames in os.walk(_datadir+'themes'):
|
||||
for d in dirnames:
|
||||
themes.append(d)
|
||||
# For OSX, also load embedded themes.
|
||||
if ostools.isOSX():
|
||||
# Also load embedded themes.
|
||||
if _datadir:
|
||||
for dirname, dirnames, filenames in os.walk('themes'):
|
||||
for d in dirnames:
|
||||
if d not in themes:
|
||||
|
@ -440,7 +447,7 @@ class userProfile(object):
|
|||
fp.close()
|
||||
@staticmethod
|
||||
def newUserProfile(chatprofile):
|
||||
if os.path.exists("profiles/%s.js" % (chatprofile.handle)):
|
||||
if os.path.exists("%s/%s.js" % (_datadir+"profiles", chatprofile.handle)):
|
||||
newprofile = userProfile(chatprofile.handle)
|
||||
else:
|
||||
newprofile = userProfile(chatprofile)
|
||||
|
@ -529,11 +536,15 @@ class PesterProfileDB(dict):
|
|||
|
||||
class pesterTheme(dict):
|
||||
def __init__(self, name, default=False):
|
||||
self.path = _datadir+"themes/%s" % (name)
|
||||
if not os.path.exists(self.path):
|
||||
self.path = "themes/%s" % (name)
|
||||
if not os.path.exists(self.path):
|
||||
self.path = "themes/pesterchum"
|
||||
possiblepaths = (_datadir+"themes/%s" % (name),
|
||||
"themes/%s" % (name),
|
||||
_datadir+"themes/pesterchum",
|
||||
"themes/pesterchum")
|
||||
self.path = "themes/pesterchum"
|
||||
for p in possiblepaths:
|
||||
if os.path.exists(p):
|
||||
self.path = p
|
||||
break
|
||||
|
||||
self.name = name
|
||||
try:
|
||||
|
|
|
@ -18,7 +18,7 @@ class PythonQuirks(object):
|
|||
for fn in os.listdir(os.path.join(self.home, 'quirks')):
|
||||
if fn.endswith('.py') and not fn.startswith('_'):
|
||||
filenames.append(os.path.join(self.home, 'quirks', fn))
|
||||
if ostools.isOSX():
|
||||
if self._datadir:
|
||||
if not os.path.exists(os.path.join(self._datadir, 'quirks')):
|
||||
os.mkdir(os.path.join(self._datadir, 'quirks'))
|
||||
for fn in os.listdir(os.path.join(self._datadir, 'quirks')):
|
||||
|
@ -66,7 +66,7 @@ class PythonQuirks(object):
|
|||
|
||||
def funcre(self):
|
||||
if not self.quirks:
|
||||
return r""
|
||||
return r"\\[0-9]+"
|
||||
f = r"("
|
||||
for q in self.quirks:
|
||||
f = f + q[:-1]+r"\(|"
|
||||
|
|
BIN
smilies/whatdidyoudo.gif
Normal file
After ![]() (image error) Size: 30 KiB |
BIN
themes/BettyBother/acceptant.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/alarm.wav
Normal file
BIN
themes/BettyBother/amazed.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/bbbg.png
Normal file
After ![]() (image error) Size: 276 KiB |
BIN
themes/BettyBother/bbbg.psd
Normal file
BIN
themes/BettyBother/bbbg2.png
Normal file
After ![]() (image error) Size: 21 KiB |
BIN
themes/BettyBother/bemused.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/bettybother.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/bettybother2.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/bettybotherlogo.png
Normal file
After ![]() (image error) Size: 5.2 KiB |
BIN
themes/BettyBother/blocked.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/burger1.png
Normal file
After ![]() (image error) Size: 91 KiB |
BIN
themes/BettyBother/burger2.png
Normal file
After ![]() (image error) Size: 4.7 KiB |
BIN
themes/BettyBother/chumbg.png
Normal file
After ![]() (image error) Size: 650 B |
BIN
themes/BettyBother/chummy.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/convobg.png
Normal file
After ![]() (image error) Size: 8.9 KiB |
BIN
themes/BettyBother/destructive.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/detestful.png
Normal file
After ![]() (image error) Size: 3.2 KiB |
BIN
themes/BettyBother/devious.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/discontent.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/distraught.png
Normal file
After ![]() (image error) Size: 2.9 KiB |
BIN
themes/BettyBother/douche1.png
Normal file
After ![]() (image error) Size: 50 KiB |
BIN
themes/BettyBother/douche2.png
Normal file
After ![]() (image error) Size: 4.7 KiB |
BIN
themes/BettyBother/downarrow.png
Normal file
After ![]() (image error) Size: 2.9 KiB |
BIN
themes/BettyBother/ecstatic.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/first1.png
Normal file
After ![]() (image error) Size: 116 KiB |
BIN
themes/BettyBother/gbg.psd
Normal file
BIN
themes/BettyBother/gushers1.png
Normal file
After ![]() (image error) Size: 48 KiB |
BIN
themes/BettyBother/gushers2.png
Normal file
After ![]() (image error) Size: 4.1 KiB |
BIN
themes/BettyBother/harlarm.wav
Normal file
BIN
themes/BettyBother/herp.png
Normal file
After ![]() (image error) Size: 4.3 KiB |
BIN
themes/BettyBother/insolent.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/leftarrow.png
Normal file
After ![]() (image error) Size: 2.8 KiB |
BIN
themes/BettyBother/manipulative.png
Normal file
After ![]() (image error) Size: 3.2 KiB |
BIN
themes/BettyBother/mirthful.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/moodcheck.png
Normal file
After ![]() (image error) Size: 3.5 KiB |
BIN
themes/BettyBother/mystified.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/nannacease.wav
Normal file
BIN
themes/BettyBother/offline.png
Normal file
After ![]() (image error) Size: 2.9 KiB |
BIN
themes/BettyBother/perky.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/pleasant.png
Normal file
After ![]() (image error) Size: 2.9 KiB |
BIN
themes/BettyBother/pranky.png
Normal file
After ![]() (image error) Size: 2.9 KiB |
BIN
themes/BettyBother/protective.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/rancorous.png
Normal file
After ![]() (image error) Size: 3 KiB |
BIN
themes/BettyBother/relaxed.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/rightarrow.png
Normal file
After ![]() (image error) Size: 2.8 KiB |
BIN
themes/BettyBother/sleek.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/BettyBother/smooth.png
Normal file
After ![]() (image error) Size: 3 KiB |
451
themes/BettyBother/style.js
Normal file
|
@ -0,0 +1,451 @@
|
|||
{"main":
|
||||
{"style": "background-repeat: no-repeat;",
|
||||
"background-image": "$path/bbbg2.png",
|
||||
"size": [665, 506],
|
||||
"icon": "$path/bettybother.png",
|
||||
"newmsgicon": "$path/tbettybother2.png",
|
||||
"windowtitle": "BettyBother",
|
||||
"close": { "image": "$path/x.png",
|
||||
"loc": [214, 100]},
|
||||
"minimize": { "image": "$path/m.png",
|
||||
"loc": [198, 100]},
|
||||
"menubar": { "style": "font-family: 'Arial'; font:bold; font-size: 12px; color: white;" },
|
||||
"menu" : { "style": "font-family: 'Arial'; font: bold; font-size: 12px; color: white; background-color: #f21515;border:2px solid #bb0019",
|
||||
"menuitem": "margin-right:20px;",
|
||||
"selected": "background-color: #bb0019",
|
||||
"loc": [346,100]
|
||||
},
|
||||
"sounds": { "alertsound": "$path/harlarm.wav",
|
||||
"memosound": "$path/alarm.wav",
|
||||
"ceasesound": "$path/nannacease.wav" },
|
||||
"menus": {"client": {"_name": "CLIENT",
|
||||
"options": "OPTIONS",
|
||||
"memos": "MEMOS",
|
||||
"logviewer": "PESTERLOGS",
|
||||
"randen": "RANDOM ENCOUNTER",
|
||||
"userlist": "USERLIST",
|
||||
"addgroup": "ADD GROUP",
|
||||
"import": "IMPORT",
|
||||
"reconnect": "RECONNECT",
|
||||
"idle": "IDLE",
|
||||
"exit": "EXIT"},
|
||||
"profile": {"_name": "PROFILE",
|
||||
"switch": "SWITCH",
|
||||
"color": "COLOR",
|
||||
"theme": "THEME",
|
||||
"block": "TROLLSLUM",
|
||||
"quirks": "QUIRKS"},
|
||||
"help": { "_name": "HELP",
|
||||
"about": "ABOUT",
|
||||
"help": "HELP",
|
||||
"calsprite": "CALSPRITE",
|
||||
"nickserv": "NICKSERV" },
|
||||
"rclickchumlist": {"pester": "PESTER",
|
||||
"removechum": "REMOVE CHUM",
|
||||
"report": "REPORT",
|
||||
"blockchum": "BLOCK",
|
||||
"addchum": "ADD CHUM",
|
||||
"viewlog": "VIEW PESTERLOG",
|
||||
"unblockchum": "UNBLOCK",
|
||||
"removegroup": "REMOVE GROUP",
|
||||
"renamegroup": "RENAME GROUP",
|
||||
"movechum": "MOVE TO",
|
||||
"banuser": "BAN USER",
|
||||
"opuser": "MAKE OP",
|
||||
"voiceuser": "GIVE VOICE",
|
||||
"quirksoff": "QUIRKS OFF",
|
||||
"invitechum": "INVITE CHUM"
|
||||
}
|
||||
},
|
||||
"chums": { "style": "border:0px; background-image:url($path/chumbg.png); background-color: rgb(102,102,102); background-repeat: no-repeat; color: white;font: bold;font-family: 'Arial';selection-background-color:#646464; ",
|
||||
"loc": [367, 270],
|
||||
"size": [261, 90],
|
||||
"userlistcolor": "white",
|
||||
"moods": {
|
||||
|
||||
"chummy": { "icon": "$path/chummy.png", "color": "white" },
|
||||
|
||||
"rancorous": { "icon": "$path/rancorous.png", "color": "red" },
|
||||
|
||||
"offline": { "icon": "$path/offline.png", "color": "#bebebe"},
|
||||
|
||||
|
||||
"pleasant": { "icon": "$path/pleasant.png", "color": "white" },
|
||||
|
||||
"distraught": { "icon": "$path/distraught.png", "color": "white" },
|
||||
|
||||
"pranky": { "icon": "$path/pranky.png", "color": "white" },
|
||||
|
||||
|
||||
"smooth": { "icon": "$path/smooth.png", "color": "white" },
|
||||
|
||||
"mystified": { "icon": "$path/mystified.png", "color": "white" },
|
||||
|
||||
"amazed": { "icon": "$path/amazed.png", "color": "white" },
|
||||
|
||||
"insolent": { "icon": "$path/insolent.png", "color": "white" },
|
||||
|
||||
"bemused": { "icon": "$path/bemused.png", "color": "white" },
|
||||
|
||||
|
||||
"ecstatic": { "icon": "$path/ecstatic.png", "color": "red" },
|
||||
|
||||
"relaxed": { "icon": "$path/relaxed.png", "color": "red" },
|
||||
|
||||
"discontent": { "icon": "$path/discontent.png", "color": "red" },
|
||||
|
||||
"devious": { "icon": "$path/devious.png", "color": "red" },
|
||||
|
||||
"sleek": { "icon": "$path/sleek.png", "color": "red" },
|
||||
|
||||
"detestful": { "icon": "$path/detestful.png", "color": "red" },
|
||||
|
||||
"mirthful": { "icon": "$path/mirthful.png", "color": "red" },
|
||||
|
||||
"manipulative": { "icon": "$path/manipulative.png", "color": "red" },
|
||||
|
||||
"vigorous": { "icon": "$path/vigorous.png", "color": "red" },
|
||||
|
||||
"perky": { "icon": "$path/perky.png", "color": "red" },
|
||||
|
||||
"acceptant": { "icon": "$path/acceptant.png", "color": "red" },
|
||||
|
||||
"protective": { "icon": "$path/protective.png", "color": "#00ff00" },
|
||||
|
||||
"destructive": { "icon": "$path/destructive.png", "color": "#009900" },
|
||||
|
||||
"blocked": { "icon": "$path/blocked.png", "color": "black" }
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
"trollslum": {
|
||||
"style": "background: #f21515; border:2px solid #bb0019; font-family: 'Arial'",
|
||||
"size": [195, 200],
|
||||
"label": { "text": "TROLLSLUM",
|
||||
"style": "color: rgba(0, 0, 0, 100%) ;font:bold; font-family: 'Arial';border:0px;" },
|
||||
|
||||
"chumroll": {"style": "border:0px; background-image:url($path/chumbg.png); background-color: rgb(102,102,102); background-repeat: no-repeat; color: white;font: bold;font-family: 'Arial';selection-background-color:#646464; " }
|
||||
},
|
||||
"mychumhandle": { "label": { "text": "",
|
||||
"loc": [0,0],
|
||||
"style": "color: rgba(0,0,0,0);font:bold; font-family: 'Arial';" },
|
||||
"handle": { "style": "background: rgba(0,0,0,0); padding: 3px; color:rgba(0,0,0,0); font-family:'Arial'; font:bold; text-align:center;",
|
||||
"loc": [239,0],
|
||||
"size": [426, 94] },
|
||||
"colorswatch": { "loc": [0,0],
|
||||
"size": [0,0],
|
||||
"text": "" },
|
||||
"currentMood": [1000, 0]
|
||||
},
|
||||
"defaultwindow": { "style": "background: #f21515; font-family:'Arial';font:bold;selection-background-color:#919191; "
|
||||
},
|
||||
"addchum": { "style": "background-image:url($path/gushers1.png); border:0px;",
|
||||
"pressed" : "background-image:url($path/gushers2.png);",
|
||||
"loc": [358,182],
|
||||
"size": [278, 70],
|
||||
"text": ""
|
||||
},
|
||||
"pester": { "style": "background-image:url($path/first1.png); border:0px;",
|
||||
"pressed" : "background-image:url($path/first2.png);",
|
||||
"loc": [0,97],
|
||||
"size": [328,189],
|
||||
"text": ""
|
||||
},
|
||||
"block": { "style": "background-image:url($path/douche1.png); border:0px;",
|
||||
"pressed" : "background-image:url($path/douche2.png);",
|
||||
"loc": [156,289],
|
||||
"size": [171, 169],
|
||||
"text": ""
|
||||
},
|
||||
"defaultmood": 20,
|
||||
"moodlabel": { "style": "",
|
||||
"loc": [0,0],
|
||||
"text": ""
|
||||
},
|
||||
"moods": [
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [361, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/chummy.png",
|
||||
"mood": 0
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [395, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/pleasant.png",
|
||||
"mood": 3
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [429, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/distraught.png",
|
||||
"mood": 4
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [463, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/pranky.png",
|
||||
"mood": 5
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [497, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/smooth.png",
|
||||
"mood": 6
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [531, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/amazed.png",
|
||||
"mood": 20
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [565, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/mystified.png",
|
||||
"mood": 19
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [599, 381],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/insolent.png",
|
||||
"mood": 21
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [361, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/bemused.png",
|
||||
"mood": 22
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [395, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/rancorous.png",
|
||||
"mood": 1
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [429, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/acceptant.png",
|
||||
"mood": 17
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [463, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/discontent.png",
|
||||
"mood": 9
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [497, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/sleek.png",
|
||||
"mood": 11
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [531, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/perky.png",
|
||||
"mood": 16
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [565, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/relaxed.png",
|
||||
"mood": 8
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [599, 413],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/devious.png",
|
||||
"mood": 10
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [361, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/manipulative.png",
|
||||
"mood": 14
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [395, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/vigorous.png",
|
||||
"mood": 15
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [429, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/mirthful.png",
|
||||
"mood": 13
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [463, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/detestful.png",
|
||||
"mood": 12
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [497, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/ecstatic.png",
|
||||
"mood": 7
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [531, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/protective.png",
|
||||
"mood": 18
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [565, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/destructive.png",
|
||||
"mood": 23
|
||||
},
|
||||
{ "style": "background: rgba(0,0,0,0%); border:0px; color: rgba(0,0,0,0%);",
|
||||
"selected": "background-image:url($path/moodcheck.png); border:0px; color: rgba(0,0,0,0%);",
|
||||
"loc": [599, 447],
|
||||
"size": [35, 33],
|
||||
"text": "",
|
||||
"icon": "$path/offline.png",
|
||||
"mood": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"convo":
|
||||
{"style": "background-color: rgba(0,0,0,0);border-width: 5px; border-image:url($path/convobg.png) 5px; font-family: 'Arial'",
|
||||
"tabstyle": "background-color: #f21515; font-family: 'Arial'",
|
||||
"scrollbar": { "style" : "padding-top:17px; padding-bottom:17px;width: 18px; background: rgba(0,0,0,0); border:0px;",
|
||||
"handle": "background-color:#bb0019;min-height:20px;",
|
||||
"downarrow": "height:17px;border:0px solid #bb0019;",
|
||||
"darrowstyle": "image:url($path/downarrow.png);",
|
||||
"uparrow": "height:17px;border:0px solid #bb0019;",
|
||||
"uarrowstyle": "image:url($path/uparrow.png);"
|
||||
},
|
||||
"margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 },
|
||||
"size": [500, 325],
|
||||
"chumlabel": { "style": "margin-bottom: 7px; margin-top: 10px; background: rgba(0,0,0,0); color: white; border:0px; font-size: 16px;",
|
||||
"align": { "h": "center", "v": "center" },
|
||||
"minheight": 47,
|
||||
"maxheight": 47,
|
||||
"text" : ":: $handle ::"
|
||||
},
|
||||
"textarea": {
|
||||
"style": "background: white; font-size: 14px; border:2px solid #bb0019;text-align:center; margin-right:10px; margin-left:10px; margin-bottom:5px;"
|
||||
},
|
||||
"input": {
|
||||
"style": "background: white; border:2px solid #bb0019; margin-right:10px; margin-left:10px; font-size: 14px;"
|
||||
},
|
||||
"tabs": {
|
||||
"style": "background-color: #ff7e7e; font-family: 'Arial';font:bold;font-size:12px;min-height:25px;",
|
||||
"selectedstyle": "border:0px;background-color:#f21515;border-top:2px solid #bb0019; border-left:2px solid #bb0019;border-right:2px solid #bb0019; border-top-left-radius: 4px; border-top-right-radius: 4px;",
|
||||
"newmsgcolor": "white",
|
||||
"tabstyle": 0
|
||||
},
|
||||
"text": {
|
||||
"beganpester": "began bothering",
|
||||
"ceasepester": "ceased bothering",
|
||||
"blocked": "blocked",
|
||||
"unblocked": "unblocked",
|
||||
"blockedmsg": "did not receive message from",
|
||||
"openmemo": "opened memo on board",
|
||||
"joinmemo": "responded to memo",
|
||||
"closememo": "ceased responding to memo",
|
||||
"kickedmemo": "You have been banned from this memo!",
|
||||
"idle": "is now an idle chum!"
|
||||
},
|
||||
"systemMsgColor": "#646464"
|
||||
},
|
||||
"memos":
|
||||
{"memoicon": "$path/memo.png",
|
||||
"style": "background-color: rgba(0,0,0,0); background-image:url($path/convobg.png); background-repeat: no-repeat; border:0px; font-family: 'Arial'; selection-background-color:#919191; ",
|
||||
"size": [500,325],
|
||||
"tabs": {
|
||||
"style": "background-color: #ff7e7e; font-family: 'Arial';font:bold;font-size:12px;min-height:25px;",
|
||||
"selectedstyle": "border:0px;background-color:#f21515;border-top:2px solid #bb0019; border-left:2px solid #bb0019;border-right:2px solid #bb0019; border-top-left-radius: 4px; border-top-right-radius: 4px;",
|
||||
"newmsgcolor": "white",
|
||||
"tabstyle": 0
|
||||
},
|
||||
"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;",
|
||||
"downarrow": "height:17px;border:0px solid #c48a00;",
|
||||
"darrowstyle": "image:url($path/downarrow.png);",
|
||||
"uparrow": "height:17px;border:0px solid #c48a00;",
|
||||
"uarrowstyle": "image:url($path/uparrow.png);"
|
||||
},
|
||||
"label": { "text": "Bulletin Board: $channel",
|
||||
"style": "margin-bottom: 7px; margin-top: 10px; background: rgba(255, 255, 0, 0%); color: white; border:0px; font-size: 16px;",
|
||||
"align": { "h": "center", "v": "center" },
|
||||
"minheight": 47,
|
||||
"maxheight": 47
|
||||
},
|
||||
"input": { "style": "background: white; border:2px solid #bb0019;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 14px;" },
|
||||
"textarea": { "style": "background: white; font-size: 14px; border:2px solid #bb0019;text-align:center; margin-right:10px; margin-left:10px;" },
|
||||
"margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 },
|
||||
"userlist": { "width": 150,
|
||||
"style": "border:2px solid #bb0019; background: white; font-family: 'Arial';selection-background-color:#646464; font-size: 14px; margin-left:0px; margin-right:10px;"
|
||||
},
|
||||
"time": { "text": { "width": 75,
|
||||
"style": " border: 2px solid #bb0019; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Arial';font:bold;"
|
||||
},
|
||||
"slider": { "style": "border: 0px;",
|
||||
"groove": "",
|
||||
"handle": ""
|
||||
},
|
||||
"buttons": { "style": "color: black; font: bold; border: 2px solid #bb0019; font-size: 12px; background: #ff7e7e; margin-top: 5px; margin-right: 5px; margin-left: 5px; padding: 2px; width: 50px;" },
|
||||
"arrows": { "left": "$path/leftarrow.png",
|
||||
"right": "$path/rightarrow.png",
|
||||
"style": " border:0px; margin-top: 5px; margin-right:10px;"
|
||||
}
|
||||
},
|
||||
"systemMsgColor": "#646464",
|
||||
"op": { "icon": "$path/smooth.png" },
|
||||
"voice": { "icon": "$path/voice.png" }
|
||||
}
|
||||
}
|
BIN
themes/BettyBother/uparrow.png
Normal file
After ![]() (image error) Size: 2.9 KiB |
BIN
themes/BettyBother/vigorous.png
Normal file
After ![]() (image error) Size: 3.1 KiB |
BIN
themes/Cdasl/abouticon.png
Normal file
After ![]() (image error) Size: 3.7 KiB |
BIN
themes/Cdasl/acceptant.gif
Normal file
After ![]() (image error) Size: 126 B |
BIN
themes/Cdasl/alarm.wav
Normal file
BIN
themes/Cdasl/amazed.gif
Normal file
After ![]() (image error) Size: 97 B |
BIN
themes/Cdasl/bemused.gif
Normal file
After ![]() (image error) Size: 93 B |
BIN
themes/Cdasl/blocked.gif
Normal file
After ![]() (image error) Size: 97 B |
BIN
themes/Cdasl/cease.wav
Normal file
BIN
themes/Cdasl/chummy.gif
Normal file
After ![]() (image error) Size: 106 B |
BIN
themes/Cdasl/cool.jpg
Normal file
After ![]() (image error) Size: 16 KiB |
BIN
themes/Cdasl/coolcheck.jpg
Normal file
After ![]() (image error) Size: 16 KiB |
BIN
themes/Cdasl/detestful.gif
Normal file
After ![]() (image error) Size: 165 B |
BIN
themes/Cdasl/devious.gif
Normal file
After ![]() (image error) Size: 127 B |
BIN
themes/Cdasl/discontent.gif
Normal file
After ![]() (image error) Size: 127 B |
BIN
themes/Cdasl/distraught.gif
Normal file
After ![]() (image error) Size: 93 B |
BIN
themes/Cdasl/ecstatic.gif
Normal file
After ![]() (image error) Size: 137 B |
BIN
themes/Cdasl/estatic.gif
Normal file
After ![]() (image error) Size: 137 B |
BIN
themes/Cdasl/h.gif
Normal file
After ![]() (image error) Size: 101 B |
BIN
themes/Cdasl/insolent.gif
Normal file
After ![]() (image error) Size: 97 B |
BIN
themes/Cdasl/m.gif
Normal file
After ![]() (image error) Size: 44 B |
BIN
themes/Cdasl/manipulative.gif
Normal file
After ![]() (image error) Size: 168 B |
BIN
themes/Cdasl/mellow.jpg
Normal file
After ![]() (image error) Size: 14 KiB |
BIN
themes/Cdasl/mellowcheck.jpg
Normal file
After ![]() (image error) Size: 14 KiB |
BIN
themes/Cdasl/mirthful.gif
Normal file
After ![]() (image error) Size: 125 B |
BIN
themes/Cdasl/mystified.gif
Normal file
After ![]() (image error) Size: 95 B |
BIN
themes/Cdasl/offline.gif
Normal file
After ![]() (image error) Size: 71 B |
BIN
themes/Cdasl/op.gif
Normal file
After ![]() (image error) Size: 131 B |
BIN
themes/Cdasl/pcbg.png
Normal file
After ![]() (image error) Size: 316 KiB |
BIN
themes/Cdasl/pccool.gif
Normal file
After ![]() (image error) Size: 131 B |
BIN
themes/Cdasl/perky.gif
Normal file
After ![]() (image error) Size: 127 B |
BIN
themes/Cdasl/pleasant.gif
Normal file
After ![]() (image error) Size: 94 B |
BIN
themes/Cdasl/pranky.gif
Normal file
After ![]() (image error) Size: 92 B |
BIN
themes/Cdasl/rancorous.gif
Normal file
After ![]() (image error) Size: 138 B |
BIN
themes/Cdasl/relaxed.gif
Normal file
After ![]() (image error) Size: 125 B |
BIN
themes/Cdasl/shades.jpg
Normal file
After ![]() (image error) Size: 8.3 KiB |