Theme Editor: Editor font/color settings are now applied to config documents

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27818 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Bieber 2010-08-15 01:50:27 +00:00
parent a9d752b1bd
commit 18a6f42f26
4 changed files with 50 additions and 2 deletions

View file

@ -22,6 +22,7 @@
#include "projectmodel.h"
#include "configdocument.h"
#include "ui_configdocument.h"
#include "preferencesdialog.h"
#include <QMessageBox>
#include <QFile>
@ -103,6 +104,8 @@ ConfigDocument::ConfigDocument(QMap<QString, QString>& settings, QString file,
this, SLOT(buttonChecked()));
QObject::connect(ui->textButton, SIGNAL(toggled(bool)),
this, SLOT(buttonChecked()));
settingsChanged();
}
ConfigDocument::~ConfigDocument()
@ -398,3 +401,39 @@ void ConfigDocument::buttonChecked()
settings.setValue("linesVisible", ui->linesButton->isChecked());
settings.endGroup();
}
void ConfigDocument::connectPrefs(PreferencesDialog *prefs)
{
QObject::connect(prefs, SIGNAL(accepted()),
this, SLOT(settingsChanged()));
}
void ConfigDocument::settingsChanged()
{
/* Setting the editor colors */
QSettings settings;
settings.beginGroup("SkinDocument");
QColor fg = settings.value("fgColor", Qt::black).value<QColor>();
QColor bg = settings.value("bgColor", Qt::white).value<QColor>();
QPalette palette;
palette.setColor(QPalette::All, QPalette::Base, bg);
palette.setColor(QPalette::All, QPalette::Text, fg);
editor->setPalette(palette);
QColor highlight = settings.value("errorColor", Qt::red).value<QColor>();
editor->setErrorColor(highlight);
/* Setting the font */
QFont def("Monospace");
def.setStyleHint(QFont::TypeWriter);
QFont family = settings.value("fontFamily", def).value<QFont>();
family.setPointSize(settings.value("fontSize", 12).toInt());
editor->setFont(family);
editor->repaint();
settings.endGroup();
}

View file

@ -88,6 +88,11 @@ private slots:
void unblockUpdates(){ block = false; }
void buttonChecked();
void connectPrefs(PreferencesDialog *prefs);
public slots:
void settingsChanged();
private:
void addRow(QString key, QString value);

View file

@ -311,8 +311,7 @@ void EditorWindow::addTab(TabContent *doc)
this, SLOT(lineChanged(int)));
/* Connecting to settings change events */
if(doc->type() == TabContent::Skin)
dynamic_cast<SkinDocument*>(doc)->connectPrefs(prefs);
doc->connectPrefs(prefs);
}

View file

@ -3,6 +3,8 @@
#include <QWidget>
class PreferencesDialog;
class TabContent : public QWidget
{
Q_OBJECT
@ -24,11 +26,14 @@ public:
virtual bool requestClose() = 0;
virtual void connectPrefs(PreferencesDialog* prefs) = 0;
signals:
void titleChanged(QString);
void lineChanged(int);
public slots:
virtual void settingsChanged() = 0;
};