diff --git a/picard/ui/options/scripting.py b/picard/ui/options/scripting.py
index a5d5c341b..a7cf972b5 100644
--- a/picard/ui/options/scripting.py
+++ b/picard/ui/options/scripting.py
@@ -70,11 +70,24 @@ class ScriptingOptionsPage(OptionsPage):
TextOption("setting", "tagger_script", ""),
]
+ STYLESHEET_ERROR = "QWidget { background-color: #f55; color: white; font-weight:bold }"
+
def __init__(self, parent=None):
super(ScriptingOptionsPage, self).__init__(parent)
self.ui = Ui_ScriptingOptionsPage()
self.ui.setupUi(self)
self.highlighter = TaggerScriptSyntaxHighlighter(self.ui.tagger_script.document())
+ self.connect(self.ui.tagger_script, QtCore.SIGNAL("textChanged()"), self.live_checker)
+
+ def live_checker(self):
+ self.ui.script_error.setStyleSheet("");
+ self.ui.script_error.setText("")
+ try:
+ self.check()
+ except OptionsCheckError, e:
+ self.ui.script_error.setStyleSheet(self.STYLESHEET_ERROR);
+ self.ui.script_error.setText(e.message)
+ return
def check(self):
parser = ScriptParser()
@@ -91,5 +104,4 @@ class ScriptingOptionsPage(OptionsPage):
self.config.setting["enable_tagger_script"] = self.ui.enable_tagger_script.isChecked()
self.config.setting["tagger_script"] = self.ui.tagger_script.toPlainText()
-
-register_options_page(ScriptingOptionsPage)
\ No newline at end of file
+register_options_page(ScriptingOptionsPage)
diff --git a/picard/ui/ui_options_script.py b/picard/ui/ui_options_script.py
index 26b8178ac..9cbc82bc5 100644
--- a/picard/ui/ui_options_script.py
+++ b/picard/ui/ui_options_script.py
@@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'ui/options_script.ui'
#
-# Created: Sun Jan 13 17:42:15 2008
-# by: PyQt4 UI code generator 4.3
+# Created: Tue Feb 24 22:56:42 2009
+# by: PyQt4 UI code generator 4.4.4
#
# WARNING! All changes made in this file will be lost!
@@ -12,37 +12,28 @@ from PyQt4 import QtCore, QtGui
class Ui_ScriptingOptionsPage(object):
def setupUi(self, ScriptingOptionsPage):
ScriptingOptionsPage.setObjectName("ScriptingOptionsPage")
- ScriptingOptionsPage.resize(QtCore.QSize(QtCore.QRect(0,0,222,228).size()).expandedTo(ScriptingOptionsPage.minimumSizeHint()))
-
+ ScriptingOptionsPage.resize(605, 377)
self.vboxlayout = QtGui.QVBoxLayout(ScriptingOptionsPage)
- self.vboxlayout.setMargin(9)
self.vboxlayout.setSpacing(6)
+ self.vboxlayout.setMargin(9)
self.vboxlayout.setObjectName("vboxlayout")
-
self.enable_tagger_script = QtGui.QGroupBox(ScriptingOptionsPage)
self.enable_tagger_script.setCheckable(True)
self.enable_tagger_script.setObjectName("enable_tagger_script")
-
- self.vboxlayout1 = QtGui.QVBoxLayout(self.enable_tagger_script)
- self.vboxlayout1.setMargin(9)
- self.vboxlayout1.setSpacing(6)
- self.vboxlayout1.setObjectName("vboxlayout1")
-
+ self.verticalLayout = QtGui.QVBoxLayout(self.enable_tagger_script)
+ self.verticalLayout.setObjectName("verticalLayout")
self.tagger_script = QtGui.QTextEdit(self.enable_tagger_script)
-
font = QtGui.QFont()
- font.setFamily("Courier")
- font.setPointSize(8)
- font.setWeight(50)
- font.setItalic(False)
- font.setUnderline(False)
- font.setStrikeOut(False)
- font.setBold(False)
+ font.setFamily("Monospace")
self.tagger_script.setFont(font)
self.tagger_script.setLineWrapMode(QtGui.QTextEdit.NoWrap)
self.tagger_script.setAcceptRichText(False)
self.tagger_script.setObjectName("tagger_script")
- self.vboxlayout1.addWidget(self.tagger_script)
+ self.verticalLayout.addWidget(self.tagger_script)
+ self.script_error = QtGui.QLabel(self.enable_tagger_script)
+ self.script_error.setAlignment(QtCore.Qt.AlignCenter)
+ self.script_error.setObjectName("script_error")
+ self.verticalLayout.addWidget(self.script_error)
self.vboxlayout.addWidget(self.enable_tagger_script)
self.retranslateUi(ScriptingOptionsPage)
diff --git a/ui/options_script.ui b/ui/options_script.ui
index 83a267ee3..d5c7e2459 100644
--- a/ui/options_script.ui
+++ b/ui/options_script.ui
@@ -5,17 +5,17 @@
0
0
- 222
- 228
+ 605
+ 377
-
- 9
-
6
+
+ 9
+
-
@@ -24,24 +24,12 @@
true
-
-
- 9
-
-
- 6
-
+
-
- Courier
- 8
- 50
- false
- false
- false
- false
+ Monospace
@@ -52,6 +40,16 @@
+ -
+
+
+
+
+
+ Qt::AlignCenter
+
+
+