X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Ftabcompleter.h;h=586ee5d2fa9e2eb2220303c73ed82cdb1744bb58;hp=00560dc69c58f99b1726f585248c72c5a83a4c3e;hb=fc83addb87b4b5cd9cc92f0dd3491c93e51d9ed9;hpb=8699dd758516d0ded076811e8ea656adc95e69d0 diff --git a/src/uisupport/tabcompleter.h b/src/uisupport/tabcompleter.h index 00560dc6..586ee5d2 100644 --- a/src/uisupport/tabcompleter.h +++ b/src/uisupport/tabcompleter.h @@ -21,36 +21,41 @@ #ifndef _TABCOMPLETER_H_ #define _TABCOMPLETER_H_ -#include #include -#include +#include +#include +#include + +class InputLine; +class IrcUser; class TabCompleter : public QObject { Q_OBJECT - public: - TabCompleter(QLineEdit *l, QObject *parent = 0); - void disable(); - void complete(); +public: + TabCompleter(InputLine *inputLine_); + + void reset(); + void complete(); + + virtual bool eventFilter(QObject *obj, QEvent *event); + +private slots: + void ircUserJoinedOrParted(IrcUser *ircUser); + +private: + QPointer inputLine; + bool enabled; + QString nickSuffix; + + QMap completionMap; + // QStringList completionTemplates; + + QMap::Iterator nextCompletion; + int lastCompletionLength; + + void buildCompletionList(); - public slots: - void updateNickList(QStringList); - void updateChannelList(QStringList); - - private: - bool enabled; - QString startOfLineSuffix; - QLineEdit *lineEdit; - QStringList completionTemplates; - QStringList channelList; - - QStringList nickList; - QStringList completionList; - QStringList::Iterator nextCompletion; - int lastCompletionLength; - - void buildCompletionList(); - }; #endif