MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / load

Method load

lib/QCodeEditor/src/internal/QLanguage.cpp:16–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14}
15
16bool QLanguage::load(QIODevice *device)
17{
18 if (device == nullptr)
19 {
20 return false;
21 }
22
23 QXmlStreamReader reader(device);
24
25 QString name;
26 QStringList list;
27 bool readText = false;
28
29 while (!reader.atEnd() && !reader.hasError())
30 {
31 auto type = reader.readNext();
32
33 if (type == QXmlStreamReader::TokenType::StartElement)
34 {
35 if (reader.name() == "section")
36 {
37 if (!list.empty())
38 {
39 m_list[name] = list;
40 list.clear();
41 }
42
43 name = reader.attributes().value("name").toString();
44 }
45 else if (reader.name() == "name")
46 {
47 readText = true;
48 }
49 }
50 else if (type == QXmlStreamReader::TokenType::Characters && readText)
51 {
52 list << reader.text().toString();
53 readText = false;
54 }
55 }
56
57 if (!list.empty())
58 {
59 m_list[name] = list;
60 }
61
62 m_loaded = !reader.hasError();
63
64 return m_loaded;
65}
66
67QStringList QLanguage::keys()
68{

Callers 4

WorkerThreadMethod · 0.45
WorkThreadMethod · 0.45
loadStyleMethod · 0.45

Calls 6

emptyMethod · 0.80
atEndMethod · 0.45
nameMethod · 0.45
clearMethod · 0.45
valueMethod · 0.45
textMethod · 0.45

Tested by

no test coverage detected