HarmattanEvopediaApplication::HarmattanEvopediaApplication(int& argc, char** argv)
    : QApplication(argc, argv),
      view(new QDeclarativeView()),
      evopedia(new Evopedia()),
      settings(new EvopediaSettings(evopedia.data())),
      languageListModel(new QStringListModelForQML("name")),
      titleListModel(new TitleListModel()) {

    searchPrefix = "";

    // Set up the models
    languageListModel->setStringList(settings->getLanguageList());
    titleListModel->setTitleIterator(TitleIterator());

    // Export some C++ objects to QML.
    view->rootContext()->setContextProperty("languageListModel", languageListModel.data());
    view->rootContext()->setContextProperty("titlesModel", titleListModel.data());
    view->rootContext()->setContextProperty("evopedia", this);
    view->rootContext()->setContextProperty("evopediaSettings", settings.data());

    // Set up the view
    view->setSource(QUrl("qrc:/Main.qml"));
    view->setAttribute(Qt::WA_OpaquePaintEvent);
    view->setAttribute(Qt::WA_NoSystemBackground);
    view->viewport()->setAttribute(Qt::WA_OpaquePaintEvent);
    view->viewport()->setAttribute(Qt::WA_NoSystemBackground);

    view->showFullScreen();

    connect(settings.data(), SIGNAL(languageIndexChanged()), this, SLOT(refreshSearchResults()));
    connect(this, SIGNAL(searchPrefixChanged()), this, SLOT(refreshSearchResults()));

    refreshSearchResults();
}
Esempio n. 2
0
void MainWindow::on_languageChooser_currentIndexChanged(const QString &text)
{
    Qt::LayoutDirection dir = getLayoutDirection(text);
    ui->listView->setLayoutDirection(dir);
    ui->searchField->setLayoutDirection(dir);
    refreshSearchResults();
}
Esempio n. 3
0
void MainWindow::backendsChanged(QList<LocalArchive *> backends)
{
    ui->languageChooser->blockSignals(true);
    ui->languageChooser->clear();
    foreach (LocalArchive *b, backends)
       ui->languageChooser->addItem(b->getLanguage());
    ui->languageChooser->blockSignals(false);
    refreshSearchResults();
}
Esempio n. 4
0
void MainWindow::on_searchField_textChanged(const QString &text)
{
    Q_UNUSED(text);
    refreshSearchResults();
}