#include "Font.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
+#include "Language.h"
#include "LyX.h"
#include "LyXFunc.h"
#include "LyXRC.h"
#include "support/os.h"
#include "support/Package.h"
-#include <QApplication>
#include <QClipboard>
#include <QEventLoop>
#include <QFileOpenEvent>
#include <QRegExp>
#include <QSessionManager>
#include <QSocketNotifier>
+#include <QStandardItemModel>
#include <QTextCodec>
#include <QTimer>
#include <QTranslator>
connect(&general_timer_, SIGNAL(timeout()),
this, SLOT(handleRegularEvents()));
general_timer_.start();
+
#ifdef Q_WS_MACX
if (global_menubar_ == 0) {
// and if no GuiView is visible.
global_menubar_ = new GlobalMenuBar();
}
-#endif
+#endif
}
void GuiApplication::execBatchCommands()
{
LyX::ref().execBatchCommands();
+
+ language_model_ = new QStandardItemModel(this);
+ language_model_->insertColumns(0, 1);
+ int current_row;
+ Languages::const_iterator it = languages.begin();
+ Languages::const_iterator end = languages.end();
+ for (; it != end; ++it) {
+ current_row = language_model_->rowCount();
+ language_model_->insertRows(current_row, 1);
+ QModelIndex item = language_model_->index(current_row, 0);
+ language_model_->setData(item, qt_(it->second.display()), Qt::DisplayRole);
+ language_model_->setData(item, toqstr(it->second.lang()), Qt::UserRole);
+ }
}
#include <map>
#include <vector>
+class QAbstractItemModel;
class QSessionManager;
namespace lyx {
///
ColorCache & colorCache() { return color_cache_; }
+ QStandardItemModel * languageModel() { return language_model_; }
+
/// return a suitable serif font name.
virtual QString const romanFontName();
///
ColorCache color_cache_;
///
+ QStandardItemModel * language_model_;
+ ///
QTranslator qt_trans_;
///
std::map<int, SocketNotifier *> socket_notifiers_;
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)
{
defaultLanguageCO->clear();
- Languages::const_iterator lit = languages.begin();
- Languages::const_iterator lend = languages.end();
- for (; lit != lend; ++lit) {
- lang_.append(toqstr(lit->second.lang()));
- defaultLanguageCO->addItem(qt_(lit->second.display()));
- }
+ defaultLanguageCO->setModel(guiApp->languageModel());
}
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());
}
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);
}