summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/tagwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets/tagwidget.h')
-rw-r--r--desktop-widgets/tagwidget.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/desktop-widgets/tagwidget.h b/desktop-widgets/tagwidget.h
new file mode 100644
index 000000000..6a16129f3
--- /dev/null
+++ b/desktop-widgets/tagwidget.h
@@ -0,0 +1,34 @@
+#ifndef TAGWIDGET_H
+#define TAGWIDGET_H
+
+#include "groupedlineedit.h"
+#include <QPair>
+
+class QCompleter;
+
+class TagWidget : public GroupedLineEdit {
+ Q_OBJECT
+public:
+ explicit TagWidget(QWidget *parent = 0);
+ void setCompleter(QCompleter *completer);
+ QPair<int, int> getCursorTagPosition();
+ void highlight();
+ void setText(const QString &text);
+ void clear();
+ void setCursorPosition(int position);
+ void wheelEvent(QWheelEvent *event);
+ void fixPopupPosition(int delta);
+public
+slots:
+ void reparse();
+ void completionSelected(const QString &text);
+ void completionHighlighted(const QString &text);
+
+protected:
+ void keyPressEvent(QKeyEvent *e);
+private:
+ QCompleter *m_completer;
+ bool lastFinishedTag;
+};
+
+#endif // TAGWIDGET_H