Cockatrice 2026-09-01-Development-3.1.0-beta.10
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
line_edit_completer.h
Go to the documentation of this file.
1
7
8#ifndef LINEEDITCOMPLETER_H
9#define LINEEDITCOMPLETER_H
10
11#include "custom_line_edit.h"
12
13#include <QCompleter>
14#include <QFocusEvent>
15#include <QKeyEvent>
16#include <QList>
17#include <QString>
18#include <QVector>
19
21{
22 Mention, //< "@" prefix, replaced in place with a trailing space.
23 Card //< "[[" prefix, replaced with the completion plus a closing "]] ".
24};
25
31
33{
34 Q_OBJECT
35signals:
36 void cardPartialChanged(const QString &partial);
37
38private:
39 QList<CompleterInfo> completers;
40
41 void insertCompletion(QCompleter *completer, const QString &completion);
42
43private slots:
44 void insertCompletion(const QString &text);
45
46protected:
47 void keyPressEvent(QKeyEvent *event) override;
48 void focusOutEvent(QFocusEvent *e) override;
49
50public:
51 explicit LineEditCompleter(QWidget *parent = nullptr);
52 void addCompleter(QCompleter *c, CompleterTrigger trigger);
53
54 bool hasVisibleCompleterPopup() const;
56};
57
58#endif
QList< CompleterInfo > completers
Definition line_edit_completer.h:39
void focusOutEvent(QFocusEvent *e) override
Definition line_edit_completer.cpp:39
void insertCompletion(QCompleter *completer, const QString &completion)
Definition line_edit_completer.cpp:139
LineEditCompleter(QWidget *parent=nullptr)
Definition line_edit_completer.cpp:7
void hideCompleterPopups()
Definition line_edit_completer.cpp:32
void addCompleter(QCompleter *c, CompleterTrigger trigger)
Definition line_edit_completer.cpp:11
bool hasVisibleCompleterPopup() const
Definition line_edit_completer.cpp:22
void keyPressEvent(QKeyEvent *event) override
Definition line_edit_completer.cpp:65
void cardPartialChanged(const QString &partial)
LineEditUnfocusable(QWidget *parent=nullptr)
Definition custom_line_edit.cpp:12
CompleterTrigger
Definition line_edit_completer.h:21
@ Card
Definition line_edit_completer.h:23
@ Mention
Definition line_edit_completer.h:22
Definition line_edit_completer.h:27
CompleterTrigger trigger
Definition line_edit_completer.h:29
QCompleter * completer
Definition line_edit_completer.h:28