summaryrefslogtreecommitdiff
path: root/utils/themeeditor/gui/syntaxcompleter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/gui/syntaxcompleter.cpp')
-rw-r--r--utils/themeeditor/gui/syntaxcompleter.cpp25
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
27SyntaxCompleter::SyntaxCompleter(QWidget *parent) : 28SyntaxCompleter::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
58void SyntaxCompleter::filter(QString text) 60void 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}