diff options
Diffstat (limited to 'utils/themeeditor/gui/syntaxcompleter.cpp')
-rw-r--r-- | utils/themeeditor/gui/syntaxcompleter.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/utils/themeeditor/gui/syntaxcompleter.cpp b/utils/themeeditor/gui/syntaxcompleter.cpp index 0b4f05f487..8baace46b1 100644 --- a/utils/themeeditor/gui/syntaxcompleter.cpp +++ b/utils/themeeditor/gui/syntaxcompleter.cpp | |||
@@ -23,15 +23,20 @@ | |||
23 | #include <QTreeWidgetItem> | 23 | #include <QTreeWidgetItem> |
24 | 24 | ||
25 | #include "syntaxcompleter.h" | 25 | #include "syntaxcompleter.h" |
26 | #include "codeeditor.h" | ||
26 | 27 | ||
27 | SyntaxCompleter::SyntaxCompleter(QWidget *parent) : | 28 | SyntaxCompleter::SyntaxCompleter(CodeEditor *parent) : |
28 | QTreeWidget(parent) | 29 | QTreeWidget(parent) |
29 | { | 30 | { |
30 | setHeaderHidden(true); | 31 | setHeaderHidden(true); |
32 | setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); | ||
31 | 33 | ||
32 | setWordWrap(true); | 34 | setWordWrap(true); |
33 | setColumnCount(2); | 35 | setColumnCount(2); |
34 | 36 | ||
37 | QObject::connect(this, SIGNAL(activated(QModelIndex)), | ||
38 | parent, SLOT(insertTag())); | ||
39 | |||
35 | QFile fin(":/resources/tagdb"); | 40 | QFile fin(":/resources/tagdb"); |
36 | fin.open(QFile::ReadOnly | QFile::Text); | 41 | fin.open(QFile::ReadOnly | QFile::Text); |
37 | 42 | ||
@@ -45,14 +50,11 @@ SyntaxCompleter::SyntaxCompleter(QWidget *parent) : | |||
45 | QStringList tag; | 50 | QStringList tag; |
46 | tag.append(split[0].trimmed()); | 51 | tag.append(split[0].trimmed()); |
47 | tag.append(split[1].trimmed()); | 52 | tag.append(split[1].trimmed()); |
48 | tags.insert(split[0].trimmed().toLower(), tag); | 53 | tags.insertMulti(split[0].trimmed().toLower(), tag); |
49 | } | 54 | } |
50 | 55 | ||
51 | filter(""); | 56 | filter(""); |
52 | 57 | ||
53 | resizeColumnToContents(0); | ||
54 | setColumnWidth(0, columnWidth(0) + 10); // Auto-resize is too small | ||
55 | |||
56 | } | 58 | } |
57 | 59 | ||
58 | void SyntaxCompleter::filter(QString text) | 60 | void SyntaxCompleter::filter(QString text) |
@@ -64,13 +66,13 @@ void SyntaxCompleter::filter(QString text) | |||
64 | { | 66 | { |
65 | if(text.length() == 1) | 67 | if(text.length() == 1) |
66 | { | 68 | { |
67 | if(text[0].toLower() != i.key()[0]) | 69 | if(text[0].toLower() != i.key()[0].toLower()) |
68 | continue; | 70 | continue; |
69 | } | 71 | } |
70 | else if(text.length() == 2) | 72 | else if(text.length() == 2) |
71 | { | 73 | { |
72 | if(text[0].toLower() != i.key()[0] || i.key().length() < 2 | 74 | if(text[0].toLower() != i.key()[0].toLower() || i.key().length() < 2 |
73 | || text[1].toLower() != i.key()[1]) | 75 | || text[1].toLower() != i.key()[1].toLower()) |
74 | continue; | 76 | continue; |
75 | } | 77 | } |
76 | else if(text.length() > 2) | 78 | else if(text.length() > 2) |
@@ -80,4 +82,11 @@ void SyntaxCompleter::filter(QString text) | |||
80 | 82 | ||
81 | addTopLevelItem(new QTreeWidgetItem(i.value())); | 83 | addTopLevelItem(new QTreeWidgetItem(i.value())); |
82 | } | 84 | } |
85 | |||
86 | if(topLevelItemCount() > 0) | ||
87 | setCurrentIndex(indexFromItem(topLevelItem(0))); | ||
88 | |||
89 | resizeColumnToContents(0); | ||
90 | setColumnWidth(0, columnWidth(0) + 10); // Auto-resize is too small | ||
91 | resizeColumnToContents(1); | ||
83 | } | 92 | } |