3 files changed, 22 insertions, 2 deletions
diff --git a/src/HistoryViewItem.cc b/src/HistoryViewItem.cc
index 39965e03..ed00abf9 100644
--- a/src/HistoryViewItem.cc
+++ b/src/HistoryViewItem.cc
@@ -70,7 +70,7 @@ void HistoryViewItem::generateBody(const QString &body)
" </span>"
"</body>"
"</html>");
- content_label_->setText(content.arg(body));
+ content_label_->setText(content.arg(replaceEmoji(body)));
content_label_->setTextInteractionFlags(Qt::TextSelectableByMouse);
}
@@ -94,7 +94,7 @@ void HistoryViewItem::generateBody(const QString &userid, const QString &color,
" </span>"
"</body>"
"</html>");
- content_label_->setText(content.arg(color).arg(sender).arg(body));
+ content_label_->setText(content.arg(color).arg(sender).arg(replaceEmoji(body)));
content_label_->setTextInteractionFlags(Qt::TextSelectableByMouse);
}
@@ -137,6 +137,23 @@ void HistoryViewItem::setupLayout()
setLayout(top_layout_);
}
+QString HistoryViewItem::replaceEmoji(const QString &body)
+{
+ QString fmtBody = "";
+
+ for (auto &c : body) {
+ auto code = c.unicode();
+
+ // TODO: A map should be used with the unicode codes supported by emoji one
+ if (code > 127)
+ fmtBody += "<span style=\"font-family: Emoji One; font-size: 16px\">" + QString(c) + "</span>";
+ else
+ fmtBody += c;
+ }
+
+ return fmtBody;
+}
+
HistoryViewItem::~HistoryViewItem()
{
}
diff --git a/src/TextInputWidget.cc b/src/TextInputWidget.cc
index d0deee7b..08aa34eb 100644
--- a/src/TextInputWidget.cc
+++ b/src/TextInputWidget.cc
@@ -24,6 +24,8 @@
TextInputWidget::TextInputWidget(QWidget *parent)
: QWidget(parent)
{
+ setFont(QFont("Emoji One"));
+
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
setCursor(Qt::ArrowCursor);
setStyleSheet("background-color: #f8fbfe; height: 45px;");
diff --git a/src/main.cc b/src/main.cc
index d7cb88b3..0a9259c7 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -36,6 +36,7 @@ int main(int argc, char *argv[])
QFontDatabase::addApplicationFont(":/fonts/OpenSans-SemiboldItalic.ttf");
QFontDatabase::addApplicationFont(":/fonts/OpenSans-ExtraBold.ttf");
QFontDatabase::addApplicationFont(":/fonts/OpenSans-ExtraBoldItalic.ttf");
+ QFontDatabase::addApplicationFont(":/fonts/emojione-android.ttf");
QApplication app(argc, argv);
|