diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2012-07-31 00:30:38 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2012-12-10 02:48:04 +0100 |
commit | 33cbd23993ce0507215bdd69631faf5ac031554d (patch) | |
tree | 078f4f5722fe903d6d94b018dae441fcf65f8962 /src/settings/appearancewidget.cpp | |
parent | window icon & title fixes (diff) | |
download | rekonq-33cbd23993ce0507215bdd69631faf5ac031554d.tar.xz |
Settings, easier than copy/paste...
Diffstat (limited to 'src/settings/appearancewidget.cpp')
-rw-r--r-- | src/settings/appearancewidget.cpp | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/src/settings/appearancewidget.cpp b/src/settings/appearancewidget.cpp new file mode 100644 index 00000000..42c9db14 --- /dev/null +++ b/src/settings/appearancewidget.cpp @@ -0,0 +1,119 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2010-2011 by Andrea Diamantini <adjam7 at gmail dot com> +* +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License or (at your option) version 3 or any later version +* accepted by the membership of KDE e.V. (or its successor approved +* by the membership of KDE e.V.), which shall act as a proxy +* defined in Section 14 of version 3 of the license. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +* +* ============================================================ */ + + +// Self Includes +#include "appearancewidget.h" +#include "appearancewidget.moc" + +// Auto Includes +#include "rekonq.h" + +// KDE Includes +#include <KGlobal> +#include <KCharsets> + +AppearanceWidget::AppearanceWidget(QWidget *parent) + : QWidget(parent) + , _changed(false) +{ + setupUi(this); + + fixedFontChooser->setOnlyFixed(true); + + standardFontChooser->setCurrentFont(QFont(ReKonfig::standardFontFamily())); + fixedFontChooser->setCurrentFont(QFont(ReKonfig::fixedFontFamily())); + serifFontChooser->setCurrentFont(QFont(ReKonfig::serifFontFamily())); + sansSerifFontChooser->setCurrentFont(QFont(ReKonfig::sansSerifFontFamily())); + cursiveFontChooser->setCurrentFont(QFont(ReKonfig::cursiveFontFamily())); + fantasyFontChooser->setCurrentFont(QFont(ReKonfig::fantasyFontFamily())); + + connect(standardFontChooser, SIGNAL(currentFontChanged(QFont)), this, SLOT(hasChanged())); + connect(fixedFontChooser, SIGNAL(currentFontChanged(QFont)), this, SLOT(hasChanged())); + connect(serifFontChooser, SIGNAL(currentFontChanged(QFont)), this, SLOT(hasChanged())); + connect(sansSerifFontChooser, SIGNAL(currentFontChanged(QFont)), this, SLOT(hasChanged())); + connect(cursiveFontChooser, SIGNAL(currentFontChanged(QFont)), this, SLOT(hasChanged())); + connect(fantasyFontChooser, SIGNAL(currentFontChanged(QFont)), this, SLOT(hasChanged())); + + populateEncodingMenu(); +} + + +void AppearanceWidget::save() +{ + ReKonfig::setStandardFontFamily(standardFontChooser->currentFont().family()); + ReKonfig::setFixedFontFamily(fixedFontChooser->currentFont().family()); + ReKonfig::setSerifFontFamily(serifFontChooser->currentFont().family()); + ReKonfig::setSansSerifFontFamily(sansSerifFontChooser->currentFont().family()); + ReKonfig::setCursiveFontFamily(cursiveFontChooser->currentFont().family()); + ReKonfig::setFantasyFontFamily(fantasyFontChooser->currentFont().family()); +} + + +bool AppearanceWidget::changed() +{ + return _changed; +} + + +void AppearanceWidget::hasChanged() +{ + _changed = true; + emit changed(true); +} + + +bool AppearanceWidget::isDefault() +{ + bool def = true; + + // TODO: implement me!! + + return def; +} + + +void AppearanceWidget::populateEncodingMenu() +{ + encodingCombo->setEditable(false); + QStringList encodings = KGlobal::charsets()->availableEncodingNames(); + encodingCombo->addItems(encodings); + + encodingCombo->setWhatsThis(i18n("Select the default encoding to be used; normally, you will be fine with 'Use language encoding' " + "and should not have to change this.")); + + connect(encodingCombo, SIGNAL(activated(QString)), this, SLOT(setEncoding(QString))); + connect(encodingCombo, SIGNAL(activated(QString)), this, SLOT(hasChanged())); + + QString enc = ReKonfig::defaultEncoding(); + int indexOfEnc = encodings.indexOf(enc); + encodingCombo->setCurrentIndex(indexOfEnc); +} + + +void AppearanceWidget::setEncoding(const QString &enc) +{ + ReKonfig::setDefaultEncoding(enc); +} |