diff --git a/TODO b/TODO index c668bcc..038dec3 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,6 @@ Features: * Tray doesn't disappear on windows after close -* scroll bar style? -* flashing?? +* smilies processed before quirks * More complex quirks: random, spelling, by-sound * convert hex tags ( or ) * help menu -- about and forum @@ -13,6 +12,7 @@ Features: * convo backgrounds -- make them more like http://www.mspaintadventures.com/storyfiles/hs2/02546_2.gif * help button on quirks menu? -- release beta +* flashing?? * change profile only once we have confirmation from server * log viewer * pick your own icon diff --git a/convo.py b/convo.py index 51c99b4..84f797f 100644 --- a/convo.py +++ b/convo.py @@ -195,9 +195,14 @@ class PesterTabWindow(QtGui.QFrame): class PesterText(QtGui.QTextEdit): def __init__(self, theme, parent=None): QtGui.QTextEdit.__init__(self, parent) - self.setStyleSheet(theme["convo/textarea/style"]) + self.initTheme(theme) self.setReadOnly(True) self.setMouseTracking(True) + def initTheme(self, theme): + if theme.has_key("convo/scrollbar"): + self.setStyleSheet("QTextEdit { %s } QScrollBar:vertical { %s } QScrollBar::handle:vertical { %s } QScrollBar::add-line:vertical { %s } QScrollBar::sub-line:vertical { %s } QScrollBar:up-arrow:vertical { %s } QScrollBar:down-arrow:vertical { %s }" % (theme["convo/textarea/style"], theme["convo/scrollbar/style"], theme["convo/scrollbar/handle"], theme["convo/scrollbar/downarrow"], theme["convo/scrollbar/uparrow"], theme["convo/scrollbar/uarrowstyle"], theme["convo/scrollbar/darrowstyle"] )) + else: + self.setStyleSheet("QTextEdit { %s }" % (theme["convo/textarea/style"])) def addMessage(self, text, chum): color = chum.colorhtml() systemColor = QtGui.QColor(self.parent().mainwindow.theme["convo/systemMsgColor"]) @@ -265,9 +270,8 @@ class PesterText(QtGui.QTextEdit): self.lastmsg = datetime.now() window.chatlog.log(chum.handle, convertTags(msg, "bbcode")) def changeTheme(self, theme): - self.setStyleSheet(theme["convo/textarea/style"]) + self.initTheme(theme) sb = self.verticalScrollBar() - sb.setMaximum(sb.maximum()+1000) # ugly hack but whatcha gonna do sb.setValue(sb.maximum()) def focusInEvent(self, event): self.parent().clearNewMessage() @@ -317,12 +321,13 @@ class PesterInput(QtGui.QLineEdit): class PesterConvo(QtGui.QFrame): def __init__(self, chum, initiated, mainwindow, parent=None): QtGui.QFrame.__init__(self, parent) + self.setObjectName(chum.handle) self.setFocusPolicy(QtCore.Qt.ClickFocus) self.chum = chum self.mainwindow = mainwindow convo = self.mainwindow.theme["convo"] self.resize(*convo["size"]) - self.setStyleSheet("QFrame { %s } QScrollBar:vertical { %s } QScrollBar::handle:vertical { %s }" % (convo["style"], convo["scrollbar"]["style"], convo["scrollbar"]["handle"])) + self.setStyleSheet("QFrame { %s }" % convo["style"]) self.setWindowIcon(self.icon()) self.setWindowTitle(self.title()) @@ -480,7 +485,8 @@ class PesterConvo(QtGui.QFrame): self.chumopen = o def changeTheme(self, theme): self.resize(*theme["convo/size"]) - self.setStyleSheet("QFrame { %s } QScrollBar:vertical { %s } QScrollBar::handle:vertical { %s }" % (theme["convo/style"], theme["convo/scrollbar"]["style"], theme["convo/scrollbar"]["handle"])) + self.setStyleSheet("QFrame { %s }" % (theme["convo/style"])) + margins = theme["convo/margins"] self.layout.setContentsMargins(margins["left"], margins["top"], margins["right"], margins["bottom"]) @@ -496,7 +502,7 @@ class PesterConvo(QtGui.QFrame): self.quirksOff.setText(self.mainwindow.theme["main/menus/rclickchumlist/quirksoff"]) self.addChumAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/addchum"]) self.blockAction.setText(self.mainwindow.theme["main/menus/rclickchumlist/blockchum"]) - self.unblockchum.setText(self.mainwindow.theme["main/menus/rclickchumlist/unblockchum"], self) + self.unblockchum.setText(self.mainwindow.theme["main/menus/rclickchumlist/unblockchum"]) self.textArea.changeTheme(theme) self.textInput.changeTheme(theme) diff --git a/convo.pyc b/convo.pyc index 2c481a8..636409a 100644 Binary files a/convo.pyc and b/convo.pyc differ diff --git a/dataobjs.pyc b/dataobjs.pyc index f807641..22eeb00 100644 Binary files a/dataobjs.pyc and b/dataobjs.pyc differ diff --git a/generic.pyc b/generic.pyc index 033bd9a..cc9b4e2 100644 Binary files a/generic.pyc and b/generic.pyc differ diff --git a/irc.pyc b/irc.pyc index 62a8eb1..e4a65a5 100644 Binary files a/irc.pyc and b/irc.pyc differ diff --git a/memos.py b/memos.py index e60313d..c44588d 100644 --- a/memos.py +++ b/memos.py @@ -3,7 +3,7 @@ import re from PyQt4 import QtGui, QtCore from datetime import time, timedelta, datetime -from dataobjs import PesterProfile, Mood +from dataobjs import PesterProfile, Mood, PesterHistory from generic import PesterIcon, RightClickList from convo import PesterConvo, PesterInput, PesterText, PesterTabWindow from parsetools import convertTags, escapeBrackets, addTimeInitial, timeProtocol @@ -214,9 +214,15 @@ _ctag_begin = re.compile(r'') class MemoText(PesterText): def __init__(self, theme, parent=None): QtGui.QTextEdit.__init__(self, parent) - self.setStyleSheet(theme["memos/textarea/style"]) + self.initTheme(theme) self.setReadOnly(True) self.setMouseTracking(True) + def initTheme(self, theme): + if theme.has_key("memos/scrollbar"): + self.setStyleSheet("QTextEdit { %s } QScrollBar:vertical { %s } QScrollBar::handle:vertical { %s } QScrollBar::add-line:vertical { %s } QScrollBar::sub-line:vertical { %s } QScrollBar:up-arrow:vertical { %s } QScrollBar:down-arrow:vertical { %s }" % (theme["memos/textarea/style"], theme["memos/scrollbar/style"], theme["memos/scrollbar/handle"], theme["memos/scrollbar/downarrow"], theme["memos/scrollbar/uparrow"], theme["memos/scrollbar/uarrowstyle"], theme["memos/scrollbar/darrowstyle"] )) + else: + self.setStyleSheet("QTextEdit { %s }" % theme["memos/textarea/style"]) + def addMessage(self, text, chum): parent = self.parent() window = parent.mainwindow @@ -279,7 +285,7 @@ class MemoText(PesterText): def changeTheme(self, theme): - self.setStyleSheet(theme["memos/textarea/style"]) + self.initTheme(theme) class MemoInput(PesterInput): @@ -394,6 +400,7 @@ class PesterMemo(PesterConvo): self.op = False self.newmessage = False + self.history = PesterHistory() self.applyquirks = True def title(self): @@ -428,7 +435,7 @@ class PesterMemo(PesterConvo): def initTheme(self, theme): memo = theme["memos"] self.resize(*memo["size"]) - self.setStyleSheet(memo["style"]) + self.setStyleSheet("QFrame { %s }" % (memo["style"])) self.setWindowIcon(PesterIcon(theme["memos/memoicon"])) t = Template(theme["memos/label/text"]) @@ -470,7 +477,7 @@ class PesterMemo(PesterConvo): margins = theme["memos/margins"] self.layout.setContentsMargins(margins["left"], margins["top"], margins["right"], margins["bottom"]) - for item in [self.userlist.row(i) for i in range(0,self.userlist.count())]: + for item in [self.userlist.item(i) for i in range(0,self.userlist.count())]: if item.op: icon = PesterIcon(self.mainwindow.theme["memos/op/icon"]) item.setIcon(icon) diff --git a/memos.pyc b/memos.pyc index aa9b72e..b63b81e 100644 Binary files a/memos.pyc and b/memos.pyc differ diff --git a/menus.pyc b/menus.pyc index a4bfd9e..53c48cf 100644 Binary files a/menus.pyc and b/menus.pyc differ diff --git a/oyoyo/__init__.pyc b/oyoyo/__init__.pyc index be26c04..28e3e80 100644 Binary files a/oyoyo/__init__.pyc and b/oyoyo/__init__.pyc differ diff --git a/oyoyo/client.pyc b/oyoyo/client.pyc index 5ba5325..9115adc 100644 Binary files a/oyoyo/client.pyc and b/oyoyo/client.pyc differ diff --git a/oyoyo/cmdhandler.pyc b/oyoyo/cmdhandler.pyc index e9def19..d97b3d1 100644 Binary files a/oyoyo/cmdhandler.pyc and b/oyoyo/cmdhandler.pyc differ diff --git a/oyoyo/helpers.pyc b/oyoyo/helpers.pyc index e5c82c4..e5b17da 100644 Binary files a/oyoyo/helpers.pyc and b/oyoyo/helpers.pyc differ diff --git a/oyoyo/ircevents.pyc b/oyoyo/ircevents.pyc index 1f1ccd6..c83999f 100644 Binary files a/oyoyo/ircevents.pyc and b/oyoyo/ircevents.pyc differ diff --git a/oyoyo/parse.pyc b/oyoyo/parse.pyc index e67f2ea..9095b24 100644 Binary files a/oyoyo/parse.pyc and b/oyoyo/parse.pyc differ diff --git a/parsetools.py b/parsetools.py index 1ec90cb..2268618 100644 --- a/parsetools.py +++ b/parsetools.py @@ -1,4 +1,5 @@ import re +from copy import copy from datetime import timedelta from PyQt4 import QtGui @@ -7,6 +8,26 @@ _ctag_rgb = re.compile(r'\d+,\d+,\d+') _urlre = re.compile(r"(?i)(http://[^\s<[]+)") _memore = re.compile(r" (#[A-Za-z0-9_]+)") +def lexer(string, objlist): + """objlist is a list: [(objecttype, re),...] list is in order of preference""" + stringlist = [string] + for (oType, regexp) in objlist: + newstringlist = copy(stringlist) + for (stri, s) in enumerate(stringlist): + tmp = [] + lasti = 0 + for m in regexp.finditer(string): + start = m.start() + end = m.end() + tag = oType(group(0), *groups()) + tmp.append(string[lasti:start]) + tmp.append(tag) + if lasti < len(string): + tmp.append(string[lasti:]) + stringlist = stringlist[0:stri]+tmp+stringlist[stri+1:] + stringlist = copy(newstringlist) + return stringlist + def convertTags(string, format="html"): if format not in ["html", "bbcode", "ctag"]: raise ValueError("Color format not recognized") diff --git a/parsetools.pyc b/parsetools.pyc index 9e38294..15d589a 100644 Binary files a/parsetools.pyc and b/parsetools.pyc differ diff --git a/pesterchum.js b/pesterchum.js index da823fc..f225f04 100644 --- a/pesterchum.js +++ b/pesterchum.js @@ -1 +1 @@ -{"tabs": true, "soundon": true, "chums": ["unknownTraveler", "tentacleTherapist", "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", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist"], "defaultprofile": "ghostDunk", "block": []} \ No newline at end of file +{"tabs": false, "soundon": true, "chums": ["unknownTraveler", "tentacleTherapist", "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", "anguillaNuntia", "oilslickOrchid", "confusedTransient", "pretentiousFantasia", "aquaticMarinist"], "defaultprofile": "ghostDunk", "block": []} \ No newline at end of file diff --git a/pesterchum.py b/pesterchum.py index 4b2df4e..2a00624 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -333,9 +333,6 @@ class chumArea(RightClickList): QtGui.QListWidget.__init__(self, parent) self.mainwindow = parent theme = self.mainwindow.theme - geometry = theme["main/chums/loc"] + theme["main/chums/size"] - self.setGeometry(*geometry) - self.setStyleSheet(theme["main/chums/style"]) self.chums = chums for c in self.chums: chandle = c.handle @@ -357,6 +354,7 @@ class chumArea(RightClickList): self.optionsMenu.addAction(self.blockchum) self.optionsMenu.addAction(self.removechum) + self.initTheme(theme) self.sortItems() def addChum(self, chum): if len([c for c in self.chums if c.handle == chum.handle]) != 0: @@ -380,13 +378,17 @@ class chumArea(RightClickList): chums = self.findItems(handle, QtCore.Qt.MatchFlags(0)) for c in chums: c.setColor(color) - def changeTheme(self, theme): + def initTheme(self, theme): self.setGeometry(*(theme["main/chums/loc"]+theme["main/chums/size"])) - self.setStyleSheet(theme["main/chums/style"]) + 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"] )) + else: + self.setStyleSheet(theme["main/chums/style"]) self.pester.setText(theme["main/menus/rclickchumlist/pester"]) self.removechum.setText(theme["main/menus/rclickchumlist/removechum"]) self.blockchum.setText(theme["main/menus/rclickchumlist/blockchum"]) - + def changeTheme(self, theme): + self.initTheme(theme) chumlistings = [self.item(i) for i in range(0, self.count())] for c in chumlistings: c.changeTheme(theme) @@ -1667,7 +1669,6 @@ class MainProgram(QtCore.QObject): QtCore.SIGNAL('closeToTraySignal()'), self.trayicon, QtCore.SLOT('show()')) - print self.trayicon.contextMenu() self.irc = PesterIRC(self.widget) self.connectWidgets(self.irc, self.widget) @@ -1796,9 +1797,10 @@ class MainProgram(QtCore.QObject): self.widget.loadingscreen = LoadingScreen(self.widget) self.connect(self.widget.loadingscreen, QtCore.SIGNAL('rejected()'), self.widget, QtCore.SLOT('close()')) - status = self.widget.loadingscreen.exec_() - if status == QtGui.QDialog.Rejected: - sys.exit(0) + self.widget.loadingscreen = None + #status = self.widget.loadingscreen.exec_() + #if status == QtGui.QDialog.Rejected: + # sys.exit(0) os._exit(self.app.exec_()) pesterchum = MainProgram() diff --git a/themes/pesterchum/downarrow.png b/themes/pesterchum/downarrow.png new file mode 100644 index 0000000..c17ca7f Binary files /dev/null and b/themes/pesterchum/downarrow.png differ diff --git a/themes/pesterchum/style.js b/themes/pesterchum/style.js index 7fe812d..ed074a1 100644 --- a/themes/pesterchum/style.js +++ b/themes/pesterchum/style.js @@ -48,50 +48,50 @@ "userlistcolor": "white", "moods": { -"chummy": { "icon": "$path/chummy.gif", "color": "white" }, + "chummy": { "icon": "$path/chummy.gif", "color": "white" }, -"rancorous": { "icon": "$path/rancorous.gif", "color": "red" }, + "rancorous": { "icon": "$path/rancorous.gif", "color": "red" }, -"offline": { "icon": "$path/offline.gif", "color": "#646464"}, + "offline": { "icon": "$path/offline.gif", "color": "#646464"}, - -"pleasant": { "icon": "$path/pleasant.gif", "color": "white" }, + + "pleasant": { "icon": "$path/pleasant.gif", "color": "white" }, -"distraught": { "icon": "$path/distraught.gif", "color": "white" }, + "distraught": { "icon": "$path/distraught.gif", "color": "white" }, -"pranky": { "icon": "$path/pranky.gif", "color": "white" }, + "pranky": { "icon": "$path/pranky.gif", "color": "white" }, -"smooth": { "icon": "$path/smooth.gif", "color": "white" }, + "smooth": { "icon": "$path/smooth.gif", "color": "white" }, -"ecstatic": { "icon": "$path/ecstatic.gif", "color": "red" }, + "ecstatic": { "icon": "$path/ecstatic.gif", "color": "red" }, -"relaxed": { "icon": "$path/relaxed.gif", "color": "red" }, + "relaxed": { "icon": "$path/relaxed.gif", "color": "red" }, -"discontent": { "icon": "$path/discontent.gif", "color": "red" }, + "discontent": { "icon": "$path/discontent.gif", "color": "red" }, -"devious": { "icon": "$path/devious.gif", "color": "red" }, + "devious": { "icon": "$path/devious.gif", "color": "red" }, -"sleek": { "icon": "$path/sleek.gif", "color": "red" }, - -"detestful": { "icon": "$path/detestful.gif", "color": "red" }, + "sleek": { "icon": "$path/sleek.gif", "color": "red" }, + + "detestful": { "icon": "$path/detestful.gif", "color": "red" }, -"mirthful": { "icon": "$path/mirthful.gif", "color": "red" }, + "mirthful": { "icon": "$path/mirthful.gif", "color": "red" }, -"manipulative": { "icon": "$path/manipulative.gif", "color": "red" }, + "manipulative": { "icon": "$path/manipulative.gif", "color": "red" }, -"vigorous": { "icon": "$path/vigorous.gif", "color": "red" }, + "vigorous": { "icon": "$path/vigorous.gif", "color": "red" }, -"perky": { "icon": "$path/perky.gif", "color": "red" }, + "perky": { "icon": "$path/perky.gif", "color": "red" }, -"acceptant": { "icon": "$path/acceptant.gif", "color": "red" }, + "acceptant": { "icon": "$path/acceptant.gif", "color": "red" }, -"protective": { "icon": "$path/protective.gif", "color": "#00ff00" }, + "protective": { "icon": "$path/protective.gif", "color": "#00ff00" }, "blocked": { "icon": "$path/blocked.gif", "color": "black" } - } + } }, "trollslum": { "style": "background: #fdb302; border:2px solid yellow; font-family: 'Courier'", @@ -104,7 +104,7 @@ "loc": [19,232], "style": "color: rgba(255, 255, 0, 0%) ;font:bold; font-family: 'Courier';" }, "handle": { "style": "background: black; padding: 3px; color:white; font-family:'Courier'; font:bold; text-align:left;", - "loc": [36,246], + "loc": [36,246], "size": [190, 21] }, "colorswatch": { "loc": [196,246], "size": [23,21], @@ -114,28 +114,28 @@ "defaultwindow": { "style": "background: #fdb302; font-family:'Courier';font:bold;selection-background-color:#919191; " }, "addchum": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(0, 0, 0, 0%); font-family:'Courier';", - "loc": [12,202], - "size": [71, 22], - "text": "" - }, + "loc": [12,202], + "size": [71, 22], + "text": "" + }, "pester": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(255, 255, 0, 0%); font-family:'Courier';", "pressed" : "background: rgb(255, 255, 255, 30%);", - "loc": [150,202], - "size": [71, 22], - "text": "" - }, + "loc": [150,202], + "size": [71, 22], + "text": "" + }, "block": { "style": "background: rgba(255, 255, 0, 0%); border:2px solid #c48a00; font: bold; color: rgba(255, 255, 0, 0%); font-family:'Courier';", - "loc": [1500,202], - "size": [0, 0], - "text": "" - }, + "loc": [1500,202], + "size": [0, 0], + "text": "" + }, "defaultmood": 0, "moodlabel": { "style": "", "loc": [20, 430], "text": "MOODS" }, "moods": [ - { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", "selected": "text-align:left; background-image:url($path/moodcheck1.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", "loc": [12, 288], "size": [104, 22], @@ -143,7 +143,7 @@ "icon": "$path/chummy.gif", "mood": 0 }, - { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", "loc": [12, 308], "size": [104, 22], @@ -151,7 +151,7 @@ "icon": "$path/chummy.gif", "mood": 3 }, - { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", "selected": "text-align:left; background-image:url($path/moodcheck3.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", "loc": [12, 328], "size": [104, 22], @@ -159,7 +159,7 @@ "icon": "$path/chummy.gif", "mood": 4 }, - { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", "loc": [117, 288], "size": [104, 22], @@ -167,7 +167,7 @@ "icon": "$path/chummy.gif", "mood": 5 }, - { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", "selected": "text-align:left; background-image:url($path/moodcheck2.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", "loc": [117, 308], "size": [104, 22], @@ -175,7 +175,7 @@ "icon": "$path/chummy.gif", "mood": 6 }, - { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", "selected": "text-align:left; background-image:url($path/moodcheck4.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", "loc": [117, 328], "size": [104, 22], @@ -183,7 +183,7 @@ "icon": "$path/rancorous.gif", "mood": 1 }, - { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", + { "style": "text-align:left; border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier'", "selected": "text-align:left; background-image:url($path/moodcheck5.gif); border:2px solid #c48a00; padding: 5px;color: rgba(0, 0, 0, 0%); font-family:'Courier';", "loc": [12, 348], "size": [209, 22], @@ -194,22 +194,28 @@ ] }, "convo": - {"style": "background-color: #fdb302; background-image:url($path/convobg.png); background-repeat: no-repeat; border:2px solid yellow; font-family: 'Courier'", + {"style": "background-color: #fdb302;background-image:url($path/convobg.png);background-repeat: no-repeat; border:2px solid yellow; font-family: 'Courier'", "tabstyle": "background-color: #fdb302; font-family: 'Courier'", - "scrollbar": { "style" : "", "handle": "" }, + "scrollbar": { "style" : "margin-right: 10px; padding-top:17px; padding-bottom:17px;width: 27px; background:white; border:2px solid #c48a00;", + "handle": "background-color:#c48a00;min-height:20px;", + "downarrow": "height:17px;border:2px solid #c48a00;", + "darrowstyle": "image:url($path/downarrow.png);", + "uparrow": "height:17px;border:2px solid #c48a00;", + "uarrowstyle": "image:url($path/uparrow.png);" + }, "margins": {"top": 0, "bottom": 6, "left": 0, "right": 0 }, "size": [520, 325], - "chumlabel": { "style": "background: rgb(196, 138, 0); color: white; border:0px; font-size: 14px;", + "chumlabel": { "style": "margin-bottom: 21px;background: rgb(196, 138, 0); color: white; border:0px; font-size: 14px;", "align": { "h": "center", "v": "center" }, - "minheight": 26, - "maxheight": 26, + "minheight": 47, + "maxheight": 47, "text" : ":: $handle ::" }, "textarea": { - "style": "background: white; font:bold; border:2px solid #c48a00;text-align:center; margin-top:21px; margin-right:10px; margin-left:10px; font-size: 14px;" + "style": "background: white; font-size: 14px;font:bold; border:2px solid #c48a00;text-align:center; margin-right:10px; margin-left:10px;" }, "input": { - "style": "background: white; border:2px solid #c48a00;margin-top:3px; margin-right:10px; margin-left:10px; font-size: 12px;" + "style": "background: white; border:2px solid #c48a00;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 12px;" }, "tabs": { "style": "", @@ -241,20 +247,27 @@ "newmsgcolor": "#fdb302", "tabstyle": 0 }, + "scrollbar": { "style" : "margin-right: 10px; padding-top:17px; padding-bottom:17px;width: 27px; background:white; border:2px solid #c48a00;", + "handle": "background-color:#c48a00;min-height:20px;", + "downarrow": "height:17px;border:2px solid #c48a00;", + "darrowstyle": "image:url($path/downarrow.png);", + "uparrow": "height:17px;border:2px solid #c48a00;", + "uarrowstyle": "image:url($path/uparrow.png);" + }, "label": { "text": "Bulletin Board: $channel", - "style": "background: rgb(196, 138, 0); color: white; border:0px; font-size: 12px;", + "style": "margin-bottom: 21px;background: rgb(196, 138, 0); color: white; border:0px; font-size: 14px;", "align": { "h": "center", "v": "center" }, - "minheight": 26, - "maxheight": 26 + "minheight": 47, + "maxheight": 47 }, - "input": { "style": "background: white; border:2px solid #c48a00;margin-top:5px; font-size: 12px; margin-left:10px;" }, - "textarea": { "style": "background: white; font:bold; border:2px solid #c48a00;text-align:center; font-size: 12px; margin-top: 21px; margin-left:10px;" }, + "input": { "style": "background: white; border:2px solid #c48a00;margin-top:5px; margin-right:10px; margin-left:10px; font-size: 12px;" }, + "textarea": { "style": "background: white; font-size: 14px;font:bold; border:2px solid #c48a00;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 #c48a00; background: white;font: bold;font-family: 'Courier';selection-background-color:#646464; font-size: 12px; margin-left:10px; margin-right:10px; margin-top: 21px;" + "style": "border:2px solid #c48a00; background: white;font: bold;font-family: 'Courier';selection-background-color:#646464; font-size: 12px; margin-left:0px; margin-right:10px;" }, "time": { "text": { "width": 75, - "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px;" + "style": " border: 2px solid yellow; background: white; font-size: 12px; margin-top: 5px; margin-right: 5px; margin-left: 5px; font-family:'Courier';font:bold;" }, "slider": { "style": "border: 0px;", "groove": "", diff --git a/themes/pesterchum/uparrow.png b/themes/pesterchum/uparrow.png new file mode 100644 index 0000000..96ee8d2 Binary files /dev/null and b/themes/pesterchum/uparrow.png differ diff --git a/themes/trollian/style.js b/themes/trollian/style.js index c878188..479cfdb 100644 --- a/themes/trollian/style.js +++ b/themes/trollian/style.js @@ -21,7 +21,7 @@ "memos": "Memos", "userlist": "Fresh Targets", "import": "import U2;", - "idle":, "Idle", + "idle": "Idle", "exit": "Abscond"}, "profile": {"_name": "View", "switch": "Trolltag", @@ -38,7 +38,14 @@ "opuser": "Promote", "quirksoff": "Quirks Off" } }, - "chums": { "style": "font-size: 12px; background: white; border:2px solid #c2c2c2; padding: 5px; font-family: 'Arial';selection-background-color:rgb(200,200,200); ", + "chums": { "style": "font-size: 12px; background: white; border:2px solid #c2c2c2; padding: 5px; font-family: 'Arial';selection-background-color:rgb(200,200,200);", + "scrollbar": { "style" : "background-color:#c2c2c2;", + "handle": "background-color:#e02413;height:20px;border:2px solid #ff2612;", + "downarrow": "", + "darrowstyle": "", + "uparrow": "", + "uarrowstyle": "" + }, "loc": [475, 89], "size": [175, 361], "userlistcolor": "black", @@ -242,14 +249,14 @@ "scrollbar": { "style" : "", "handle": "" }, "margins": {"top": 22, "bottom": 9, "left": 10, "right": 4 }, "size": [400, 250], - "chumlabel": { "style": "background: rgb(255, 38, 18); color: white; padding: 2px; border:1px solid #c2c2c2;", + "chumlabel": { "style": "background: rgb(255, 38, 18); color: white; padding: 2px; border:1px solid #c2c2c2; margin-bottom: 4px;", "align": { "h": "left", "v": "center" }, - "minheight": 18, - "maxheight": 18, + "minheight": 29, + "maxheight": 40, "text" : "trolling: $handle" }, "textarea": { - "style": "background: white; border:2px solid #c2c2c2; font-size: 14px; margin-top: 4px;" + "style": "background: white; border:2px solid #c2c2c2; font-size: 14px;" }, "input": { "style": "background: white;margin-top:5px; border:1px solid #c2c2c2; margin-right: 54px; font-size: 12px; height: 19px;" @@ -283,20 +290,20 @@ "tabstyle": 0 }, "label": { "text": "Bulletin Board: $channel", - "style": "background-image:url($path/chumlabelbg.png);background-color:rgb(255,38,18); background-repeat: no-repeat; color: white; padding: 2px; border:1px solid #c2c2c2;", + "style": "background-image:url($path/chumlabelbg.png);background-color:rgb(255,38,18); background-repeat: no-repeat; color: white; padding: 2px; border:1px solid #c2c2c2; margin-bottom:4px;", "align": { "h": "left", "v": "center" }, - "minheight": 18, - "maxheight": 18 + "minheight": 29, + "maxheight": 40 }, "textarea": { - "style": "background: white; border:2px solid #c2c2c2; font-size: 12px; margin-top: 4px;" + "style": "background: white; border:2px solid #c2c2c2; font-size: 12px;" }, "input": { "style": "background: white;margin-top:5px; border:1px solid #c2c2c2; font-size: 12px; height: 19px; margin-bottom: 5px; " }, "margins": {"top": 22, "bottom": 10, "left": 9, "right": 4 }, "userlist": { "width": 125, - "style": "font-size: 12px; background: white; margin-top: 4px; margin-left: 5px; margin-bottom: 5px; border:2px solid #c2c2c2; padding: 5px; font-family: 'Arial';selection-background-color:rgb(200,200,200);" + "style": "font-size: 12px; background: white; margin-left: 5px; margin-bottom: 5px; border:2px solid #c2c2c2; padding: 5px; font-family: 'Arial';selection-background-color:rgb(200,200,200);" }, "time": { "text": { "width": 75, "style": "color: black; font:bold; border:1px solid #c2c2c2; background: white; height: 19px;"