From 1b7816f7ca585a84dbbeb88d6779e9d5d71686cc Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Wed, 19 Sep 2018 23:38:36 +0300 Subject: macOS: Use the native emoji picker fixes #79 --- src/TextInputWidget.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/TextInputWidget.cpp') diff --git a/src/TextInputWidget.cpp b/src/TextInputWidget.cpp index 7167f572..4a03762d 100644 --- a/src/TextInputWidget.cpp +++ b/src/TextInputWidget.cpp @@ -37,6 +37,10 @@ #include "ui/FlatButton.h" #include "ui/LoadingIndicator.h" +#if defined(Q_OS_MAC) +#include "emoji/MacHelper.h" +#endif + static constexpr size_t INPUT_HISTORY_SIZE = 127; static constexpr int MAX_TEXTINPUT_HEIGHT = 120; static constexpr int InputHeight = 26; @@ -124,6 +128,12 @@ FilteredTextEdit::keyPressEvent(QKeyEvent *event) { const bool isModifier = (event->modifiers() != Qt::NoModifier); +#if defined(Q_OS_MAC) + if (event->modifiers() == (Qt::ControlModifier | Qt::MetaModifier) && + event->key() == Qt::Key_Space) + MacHelper::showEmojiWindow(); +#endif + if (!isModifier) { if (!typingTimer_->isActive()) emit startedTyping(); @@ -503,6 +513,11 @@ TextInputWidget::TextInputWidget(QWidget *parent) emojiBtn_ = new emoji::PickButton(this); emojiBtn_->setToolTip(tr("Emoji")); +#if defined(Q_OS_MAC) + // macOS has a native emoji picker. + emojiBtn_->hide(); +#endif + QIcon emoji_icon; emoji_icon.addFile(":/icons/icons/ui/smile.png"); emojiBtn_->setIcon(emoji_icon); -- cgit 1.5.1