eismultiplexer-qt/external/QCodeEditor/src/internal/QPythonCompleter.cpp
Carl Philipp Klemm 2f3069a388 add QCodeEditor
2025-10-13 12:40:46 +02:00

42 lines
845 B
C++

// QCodeEditor
#include <QPythonCompleter>
#include <QLanguage>
// Qt
#include <QStringListModel>
#include <QFile>
QPythonCompleter::QPythonCompleter(QObject *parent) :
QCompleter(parent)
{
// Setting up Python types
QStringList list;
Q_INIT_RESOURCE(qcodeeditor_resources);
QFile fl(":/languages/python.xml");
if (!fl.open(QIODevice::ReadOnly))
{
return;
}
QLanguage language(&fl);
if (!language.isLoaded())
{
return;
}
auto keys = language.keys();
for (auto&& key : keys)
{
auto names = language.names(key);
list.append(names);
}
setModel(new QStringListModel(list, this));
setCompletionColumn(0);
setModelSorting(QCompleter::CaseInsensitivelySortedModel);
setCaseSensitivity(Qt::CaseSensitive);
setWrapAround(true);
}