]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiPrefs.cpp
* For gcc to know about QStandardItemModel < QAbstractItemModel we need this header.
[lyx.git] / src / frontends / qt4 / GuiPrefs.cpp
index d9ee6d2201563bad6af50b7a49da13cdce27aab9..d58c26d23259e3002cc707dce506a35d3fb278c6 100644 (file)
 
 #include "GuiPrefs.h"
 
-#include "qt_helpers.h"
+#include "FileDialog.h"
 #include "GuiApplication.h"
+#include "GuiFontExample.h"
 #include "GuiFontLoader.h"
+#include "GuiKeySymbol.h"
+#include "qt_helpers.h"
 
 #include "BufferList.h"
 #include "Color.h"
 #include "ConverterCache.h"
-#include "FileDialog.h"
 #include "FuncRequest.h"
-#include "GuiFontExample.h"
-#include "GuiKeySymbol.h"
 #include "KeyMap.h"
 #include "KeySequence.h"
+#include "Language.h"
 #include "LyXAction.h"
 #include "PanelStack.h"
 #include "paper.h"
@@ -53,6 +54,7 @@
 #include <QPixmapCache>
 #include <QPushButton>
 #include <QSpinBox>
+#include <QStandardItemModel.h>
 #include <QString>
 #include <QTreeWidget>
 #include <QTreeWidgetItem>
@@ -217,15 +219,6 @@ string const catLanguage = N_("Language Settings");
 string const catOutput = N_("Output");
 string const catFiles = N_("File Handling");
 
-static int findPos_helper(QStringList const & vec, QString const & val)
-{
-       for (int i = 0; i != vec.size(); ++i)
-               if (vec[i] == val)
-                       return i;
-       return 0;
-}
-
-
 static void parseFontName(QString const & mangled0,
        string & name, string & foundry)
 {
@@ -1658,13 +1651,7 @@ PrefLanguage::PrefLanguage(QWidget * parent)
 
        defaultLanguageCO->clear();
 
-       // store the lang identifiers for later
-       //foreach (LanguagePair const & lpair, languageData(false)) {
-       QList<LanguagePair> l = languageData(false);
-       foreach (LanguagePair const & lpair, l) {
-               defaultLanguageCO->addItem(lpair.first);
-               lang_.append(lpair.second);
-       }
+       defaultLanguageCO->setModel(guiApp->languageModel());
 }
 
 
@@ -1681,7 +1668,8 @@ void PrefLanguage::apply(LyXRC & rc) const
        rc.language_package = fromqstr(languagePackageED->text());
        rc.language_command_begin = fromqstr(startCommandED->text());
        rc.language_command_end = fromqstr(endCommandED->text());
-       rc.default_language = fromqstr(lang_[defaultLanguageCO->currentIndex()]);
+       rc.default_language = fromqstr(
+               defaultLanguageCO->itemData(defaultLanguageCO->currentIndex()).toString());
 }
 
 
@@ -1702,7 +1690,7 @@ void PrefLanguage::update(LyXRC const & rc)
        startCommandED->setText(toqstr(rc.language_command_begin));
        endCommandED->setText(toqstr(rc.language_command_end));
 
-       int const pos = findPos_helper(lang_, toqstr(rc.default_language));
+       int const pos = defaultLanguageCO->findData(toqstr(rc.default_language));
        defaultLanguageCO->setCurrentIndex(pos);
 }