summaryrefslogtreecommitdiffstats
path: root/utils/themeeditor
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-06-07 21:59:16 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-06-07 21:59:16 +0000
commit42b065f04afffdae502b00383bafa9c925e309f8 (patch)
treec4545ef3502dcd69f6854b517539844045cee167 /utils/themeeditor
parentfe0334394fc2d167ffa2bb2f8c15f82b91a5f22d (diff)
downloadrockbox-42b065f04afffdae502b00383bafa9c925e309f8.tar.gz
rockbox-42b065f04afffdae502b00383bafa9c925e309f8.tar.bz2
rockbox-42b065f04afffdae502b00383bafa9c925e309f8.zip
Theme Editor: Made status label a permanent widget and made editor highlight line that causes parse error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26676 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor')
-rw-r--r--utils/themeeditor/editorwindow.cpp2
-rw-r--r--utils/themeeditor/preferencesdialog.cpp7
-rw-r--r--utils/themeeditor/preferencesdialog.h1
-rw-r--r--utils/themeeditor/preferencesdialog.ui22
-rw-r--r--utils/themeeditor/skindocument.cpp28
-rw-r--r--utils/themeeditor/skindocument.h2
6 files changed, 58 insertions, 4 deletions
diff --git a/utils/themeeditor/editorwindow.cpp b/utils/themeeditor/editorwindow.cpp
index 23724ee1ad..cc2a0fb350 100644
--- a/utils/themeeditor/editorwindow.cpp
+++ b/utils/themeeditor/editorwindow.cpp
@@ -96,7 +96,7 @@ void EditorWindow::setupUI()
/* Setting up the parse status label */
parseStatus = new QLabel(this);
- ui->statusbar->addWidget(parseStatus);
+ ui->statusbar->addPermanentWidget(parseStatus);
}
diff --git a/utils/themeeditor/preferencesdialog.cpp b/utils/themeeditor/preferencesdialog.cpp
index 79f781c1ca..9b28b275f8 100644
--- a/utils/themeeditor/preferencesdialog.cpp
+++ b/utils/themeeditor/preferencesdialog.cpp
@@ -81,6 +81,9 @@ void PreferencesDialog::loadColors()
bgColor = settings.value("bgColor", Qt::white).value<QColor>();
setButtonColor(ui->bgButton, bgColor);
+ errorColor = settings.value("errorColor", Qt::red).value<QColor>();
+ setButtonColor(ui->errorButton, errorColor);
+
settings.endGroup();
}
@@ -114,6 +117,7 @@ void PreferencesDialog::saveColors()
settings.setValue("fgColor", fgColor);
settings.setValue("bgColor", bgColor);
+ settings.setValue("errorColor", errorColor);
settings.endGroup();
@@ -149,6 +153,7 @@ void PreferencesDialog::setupUI()
buttons.append(ui->tagButton);
buttons.append(ui->conditionalButton);
buttons.append(ui->escapedButton);
+ buttons.append(ui->errorButton);
for(int i = 0; i < buttons.count(); i++)
QObject::connect(buttons[i], SIGNAL(pressed()),
@@ -171,6 +176,8 @@ void PreferencesDialog::colorClicked()
toEdit = &conditionalColor;
else if(QObject::sender() == ui->escapedButton)
toEdit = &escapedColor;
+ else if(QObject::sender() == ui->errorButton)
+ toEdit = &errorColor;
if(!toEdit)
return;
diff --git a/utils/themeeditor/preferencesdialog.h b/utils/themeeditor/preferencesdialog.h
index 7aadbade07..e28a830751 100644
--- a/utils/themeeditor/preferencesdialog.h
+++ b/utils/themeeditor/preferencesdialog.h
@@ -62,6 +62,7 @@ private:
QColor fgColor;
QColor bgColor;
+ QColor errorColor;
QColor commentColor;
QColor escapedColor;
QColor tagColor;
diff --git a/utils/themeeditor/preferencesdialog.ui b/utils/themeeditor/preferencesdialog.ui
index 5364fb4952..af10875721 100644
--- a/utils/themeeditor/preferencesdialog.ui
+++ b/utils/themeeditor/preferencesdialog.ui
@@ -26,7 +26,7 @@
<attribute name="title">
<string>Editor</string>
</attribute>
- <layout class="QVBoxLayout" name="verticalLayout_4">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
@@ -113,9 +113,27 @@
</item>
</layout>
</item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <item>
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Error Color</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="errorButton">
+ <property name="text">
+ <string>Click To Change</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
- <widget class="QWidget" name="prefsGroupsPage1" native="true">
+ <widget class="QWidget" name="prefsGroupsPage1">
<attribute name="title">
<string>Highlighting</string>
</attribute>
diff --git a/utils/themeeditor/skindocument.cpp b/utils/themeeditor/skindocument.cpp
index 3ce70ad5be..aa8fc500d3 100644
--- a/utils/themeeditor/skindocument.cpp
+++ b/utils/themeeditor/skindocument.cpp
@@ -27,6 +27,8 @@
#include <QMessageBox>
#include <QFileDialog>
+#include <iostream>
+
SkinDocument::SkinDocument(QLabel* statusLabel, QWidget *parent) :
QWidget(parent), statusLabel(statusLabel)
{
@@ -141,9 +143,13 @@ void SkinDocument::settingsChanged()
QPalette palette;
palette.setColor(QPalette::All, QPalette::Base, bg);
palette.setColor(QPalette::All, QPalette::Text, fg);
-
editor->setPalette(palette);
+ errorColor = QTextCharFormat();
+ QColor highlight = settings.value("errorColor", Qt::red).value<QColor>();
+ errorColor.setBackground(highlight);
+ errorColor.setProperty(QTextFormat::FullWidthSelection, true);
+
/* Setting the font */
QFont family = settings.value("fontFamily", QFont()).value<QFont>();
family.setPointSize(settings.value("fontSize", 12).toInt());
@@ -161,6 +167,26 @@ void SkinDocument::codeChanged()
toPlainText().toAscii());
statusLabel->setText(parseStatus);
+ /* Highlighting if an error was found */
+ if(skin_error_line() > 0)
+ {
+ QList<QTextEdit::ExtraSelection> highlight;
+ QTextEdit::ExtraSelection error;
+
+ /* Finding the apropriate line */
+ error.cursor = QTextCursor(editor->document()->
+ findBlockByNumber(skin_error_line() - 1));
+ error.format = errorColor;
+ highlight.append(error);
+
+ editor->setExtraSelections(highlight);
+
+ }
+ else
+ {
+ editor->setExtraSelections(QList<QTextEdit::ExtraSelection>());
+ }
+
if(editor->document()->toPlainText() != saved)
emit titleChanged(title + QChar('*'));
else
diff --git a/utils/themeeditor/skindocument.h b/utils/themeeditor/skindocument.h
index 4a6516f6de..b5eb60b2f4 100644
--- a/utils/themeeditor/skindocument.h
+++ b/utils/themeeditor/skindocument.h
@@ -78,6 +78,8 @@ private:
QString saved;
QString parseStatus;
+ QTextCharFormat errorColor;
+
QLayout* layout;
QPlainTextEdit* editor;