- QPointer<InputLine> inputLine;
- bool enabled;
- QString nickSuffix;
-
- QStringList completionList;
- // QStringList completionTemplates;
-
- QStringList::Iterator nextCompletion;
- int lastCompletionLength;
-
- void buildCompletionList();
-
+
+ struct CompletionKey {
+ inline CompletionKey(const QString &n) { contents = n; }
+ bool operator<(const CompletionKey &other) const;
+ QString contents;
+ };
+
+ QPointer<MultiLineEdit> _lineEdit;
+ bool _enabled;
+ QString _nickSuffix;
+
+ static const Network *_currentNetwork;
+ static BufferId _currentBufferId;
+ static QString _currentBufferName;
+ static Type _completionType;
+
+ QMap<CompletionKey, QString> _completionMap;
+ // QStringList completionTemplates;
+
+ QMap<CompletionKey, QString>::Iterator _nextCompletion;
+ int _lastCompletionLength;
+
+ void buildCompletionList();