summary refs log tree commit diff
path: root/src/TextInputWidget.h
diff options
context:
space:
mode:
authorDeepBlueV7.X <nicolas.werner@hotmail.de>2020-08-31 16:32:14 +0000
committerGitHub <noreply@github.com>2020-08-31 16:32:14 +0000
commiteb554e8266b3c66ead6c8edd0588d2b79a156e03 (patch)
treeb9110fda28fa216c7704808649ee7efc26892b42 /src/TextInputWidget.h
parentMerge pull request #265 from trilene/voip (diff)
parentremove unused includes and use QRegularExpression (diff)
downloadnheko-eb554e8266b3c66ead6c8edd0588d2b79a156e03.tar.xz
Merge pull request #267 from Lurkki14/master
Added emoji completion in text input
Diffstat (limited to 'src/TextInputWidget.h')
-rw-r--r--src/TextInputWidget.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/TextInputWidget.h b/src/TextInputWidget.h

index 2473c13a..3aa05c39 100644 --- a/src/TextInputWidget.h +++ b/src/TextInputWidget.h
@@ -33,8 +33,10 @@ struct SearchResult; +class CompletionModel; class FlatButton; class LoadingIndicator; +class QCompleter; class FilteredTextEdit : public QTextEdit { @@ -80,8 +82,12 @@ protected: } private: + bool emoji_popup_open_ = false; + CompletionModel *emoji_completion_model_; std::deque<QString> true_history_, working_history_; + int trigger_pos_; // Where emoji completer was triggered size_t history_index_; + QCompleter *completer_; QTimer *typingTimer_; SuggestionsPopup suggestionsPopup_; @@ -103,19 +109,27 @@ private: { return pos == atTriggerPosition_ + anchorWidth(anchor); } - + QRect completerRect(); QString query() { auto cursor = textCursor(); cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::KeepAnchor); return cursor.selectedText(); } + QString textAfterPosition(int pos) + { + auto tc = textCursor(); + tc.setPosition(pos); + tc.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); + return tc.selectedText(); + } dialogs::PreviewUploadOverlay previewDialog_; //! Latest position of the '@' character that triggers the username completer. int atTriggerPosition_ = -1; + void insertCompletion(QString completion); void textChanged(); void uploadData(const QByteArray data, const QString &media, const QString &filename); void afterCompletion(int);