summaryrefslogtreecommitdiffstats
path: root/examples/models/completionmodel/main.cpp
blob: 100f74215eb8665e336dd649681dc5bbe3b406c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <QtGui/QGuiApplication>
#include <QtQuick/QQuickView>
#include <UiHelpers/UiCompletionModel>
#include <QtQml/QQmlContext>
#include <QStringListModel>

QStringListModel *modelFromFile(const QString& fileName)
{
    QStringList words;
    QFile file(fileName);

    file.open(QFile::ReadOnly);
    while (!file.atEnd()) {
        QByteArray line = file.readLine();
        if (!line.isEmpty())
            words << line.trimmed();
    }
    file.close();

    return new QStringListModel(words);
}

int main(int argc, char **argv)
{
    Q_INIT_RESOURCE(resources);
    QGuiApplication app(argc, argv);

    UiHelpers::UiCompletionModel model;
    model.setCaseSensitivity(Qt::CaseInsensitive);
    model.setSourceModel(modelFromFile(":/countries.txt"));

    QQuickView v;
    v.rootContext()->setContextProperty("completionModel", &model);
    v.setWindowTitle(QObject::tr("Completion Model"));
    v.setSource(QUrl("qrc:/main.qml"));

    v.show();

    return app.exec();
}