From 7e3f40a65e89010a538e6569ed3070f28d87f44b Mon Sep 17 00:00:00 2001 From: Stephen Dranger Date: Fri, 11 Feb 2011 03:07:07 -0600 Subject: [PATCH] fds --- TODO | 4 +- convo.py | 18 +++-- convo.pyc | Bin 24902 -> 25356 bytes dataobjs.pyc | Bin 11753 -> 11753 bytes generic.pyc | Bin 3575 -> 3575 bytes irc.pyc | Bin 13203 -> 13203 bytes memos.py | 17 +++-- memos.pyc | Bin 31046 -> 31793 bytes menus.pyc | Bin 20542 -> 20542 bytes oyoyo/__init__.pyc | Bin 333 -> 333 bytes oyoyo/client.pyc | Bin 9728 -> 9728 bytes oyoyo/cmdhandler.pyc | Bin 8312 -> 8312 bytes oyoyo/helpers.pyc | Bin 5013 -> 5013 bytes oyoyo/ircevents.pyc | Bin 5693 -> 5693 bytes oyoyo/parse.pyc | Bin 2869 -> 2869 bytes parsetools.py | 21 ++++++ parsetools.pyc | Bin 6979 -> 6979 bytes pesterchum.js | 2 +- pesterchum.py | 22 +++--- themes/pesterchum/downarrow.png | Bin 0 -> 275 bytes themes/pesterchum/style.js | 125 ++++++++++++++++++-------------- themes/pesterchum/uparrow.png | Bin 0 -> 291 bytes themes/trollian/style.js | 29 +++++--- 23 files changed, 147 insertions(+), 91 deletions(-) create mode 100644 themes/pesterchum/downarrow.png create mode 100644 themes/pesterchum/uparrow.png 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 2c481a88faf6ff2e658c721ae1ce9fb46153f76a..636409ad07949ce4da047e6c033ca7676d231ebb 100644 GIT binary patch delta 3303 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 delta 16 Ycmew^{au><;wN6NuK9r**+1|C06|#?H2?qr diff --git a/irc.pyc b/irc.pyc index 62a8eb1dacfd9b430f6554df3ecd56d0d78e85b6..e4a65a510087af4df768c7fa422ef6360a2a92cd 100644 GIT binary patch delta 16 YcmbQ7J~^HJ;wN6NMfU?XviBGR06%gE9smFU delta 16 XcmbQ7J~^HJ;wN6NuK9r**?WuuJx>P5 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 aa9b72e29db0454bef8bef521a6abebf080e2087..b63b81e0f583de58fc1b3887bf72bb0b0cbb1756 100644 GIT binary patch delta 6934 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 KUy9eC_WU20=#%dN delta 6204 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 diff --git a/menus.pyc b/menus.pyc index a4bfd9e43db4e7752b84f8f599de194f71758089..53c48cf284a8f3e5def281c8dc48cc5ef48bb3d1 100644 GIT binary patch delta 17 ZcmdnDfN|dfMz)Kec)8TLH?mm-002Lm1`hxL delta 17 ZcmdnDfN|dfMz)Kec)8S1Y-F2m`BH2DTS 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 9e3829499417b46bdce28471bafcfe54795f0558..15d589a55a6cb29c5087bb2a1c45a4532717e6c5 100644 GIT binary patch delta 16 XcmX?XcG!&l;wN6N*1q74>^9N>JX{7z delta 16 XcmX?XcG!&l;wN6NnYJMt*=?i&I|l|0 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 0000000000000000000000000000000000000000..c17ca7f9dc3e38c5595f5475904c3330ff580ce9 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^U^WLEkTt>lKP!-8DR%M<;Q)dfj+71{pR>RtvY3H^ zkr#v+T^>kn0SZc%xJHx&=ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk1v1dn#W6%< zV(Y|>yoU{VSoE93z1HsB;ZnBYvD;QPkLgx34+^gca}{64syRV4?ELeGo(L-Mv1){Mc2+S7qD3z6yH#~;A|TE3s=zy>jznzCvkjW z+4AbDjnswiX{OIDpKVR3t#CK~+aTyMRqv`w)x|R(8xnpQ3F^h|Vh)SY{VZ)Q*#LAK NgQu&X%Q~loCIEsQU335d literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..96ee8d27674e759e986e892e367866ddf049ac1e GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^U^WLEkTt>lKP!-8DR%M<;Q)dfj+71{pR>RtvY3H^ zkr#v+T^>kn0SZc%xJHx&=ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk1yr=a)5S4F zV`A;Z-Mq~P0&V+?oqau9jhwQ))D|pbO8X%6F{*H`pwg-{4yBq!fjk?3E}i`D<7;bs zmrzg9<`_n+_5EAk|G1vBaq^NQ5=)rk!p!DgU+W^%a4X3odauZ*`>!OHu+D3^;nV2- zywp}``H_~Vm-{4|J1*Wj92mCv)$|+bJ`wBv!}TREzY8kbANaX)_o{?D4aXQCcXH0| g?K@MRYO^!YrAN7aRfo^5+boFyt=akR{09B)Hg8%>k literal 0 HcmV?d00001 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;"