1 files changed, 15 insertions, 0 deletions
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);
|