kanagram
mainsettings.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "mainsettings.h"
00022
00023 #include <qdir.h>
00024 #include <qcheckbox.h>
00025 #include <qcombobox.h>
00026 #include <qpushbutton.h>
00027
00028 #include <kdebug.h>
00029 #include <kconfig.h>
00030 #include <klocale.h>
00031 #include <kstandarddirs.h>
00032 #include <kconfigdialog.h>
00033 #include <kmessagebox.h>
00034 #include <kio/netaccess.h>
00035
00036 #include <sharedkvtmlfiles.h>
00037 #include "kanagramsettings.h"
00038
00039 MainSettings::MainSettings(QWidget *parent) : QWidget(parent)
00040 {
00041 setupUi( this );
00042 m_parent = (KConfigDialog*)parent;
00043
00044 connect(parent, SIGNAL(applyClicked()), this, SLOT(slotUpdateLanguage()));
00045 connect(parent, SIGNAL(okClicked()), this, SLOT(slotUpdateLanguage()));
00046 connect(languageComboBox, SIGNAL(activated(int)), this, SLOT(slotSetDirty()));
00047
00048 populateLanguageBox();
00049
00050
00051 KConfig entry(KStandardDirs::locate("locale", "all_languages"));
00052 QString code = KanagramSettings::dataLanguage();
00053 KConfigGroup group = entry.group(code);
00054
00055 languageComboBox->setCurrentIndex(languageComboBox->findText(group.readEntry("Name")));
00056 }
00057
00058 MainSettings::~MainSettings()
00059 {
00060 }
00061
00062 void MainSettings::slotSetDirty()
00063 {
00064 m_parent->enableButtonApply(true);
00065 }
00066
00067 void MainSettings::populateLanguageBox()
00068 {
00069 QStringList languages = SharedKvtmlFiles::languages();
00070
00071
00072 KConfig entry(KStandardDirs::locate("locale", "all_languages"));
00073 for (int i = 0; i < languages.count(); ++i)
00074 {
00075 KConfigGroup group = entry.group(languages[i]);
00076
00077
00078 QString languageName = group.readEntry("Name");
00079 if (languageName.isEmpty())
00080 {
00081 languageName = i18nc("@item:inlistbox no language for that locale", "None");
00082 }
00083 languageComboBox->addItem(languageName, languages[i]);
00084 }
00085 }
00086
00087 void MainSettings::slotUpdateLanguage()
00088 {
00089 int index = languageComboBox->currentIndex();
00090 QString language = languageComboBox->itemData(index).toString();
00091 kDebug() << "Writing new default language: " << language;
00092 KanagramSettings::setDataLanguage(language);
00093 KanagramSettings::self()->writeConfig();
00094
00095 emit settingsChanged();
00096 }
00097
00098 #include "mainsettings.moc"