Merge branch 'master' into device-verification
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);
|