summary refs log tree commit diff
path: root/src/emoji/ItemDelegate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emoji/ItemDelegate.cpp')
-rw-r--r--src/emoji/ItemDelegate.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/emoji/ItemDelegate.cpp b/src/emoji/ItemDelegate.cpp
index b79ae0fc..afa01625 100644
--- a/src/emoji/ItemDelegate.cpp
+++ b/src/emoji/ItemDelegate.cpp
@@ -15,8 +15,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <QDebug>
 #include <QPainter>
+#include <QSettings>
 
 #include "emoji/ItemDelegate.h"
 
@@ -37,12 +37,30 @@ ItemDelegate::paint(QPainter *painter,
 {
         Q_UNUSED(index);
 
+        painter->save();
+
         QStyleOptionViewItem viewOption(option);
 
         auto emoji = index.data(Qt::UserRole).toString();
 
-        // QFont font("Emoji One");
+        QSettings settings;
+
         QFont font;
+        QString userFontFamily = settings.value("user/emoji_font_family", "emoji").toString();
+        if (!userFontFamily.isEmpty()) {
+                font.setFamily(userFontFamily);
+        } else {
+                font.setFamily("emoji");
+        }
+
+        font.setPixelSize(36);
         painter->setFont(font);
+        if (option.state & QStyle::State_MouseOver) {
+                painter->setBackgroundMode(Qt::OpaqueMode);
+                QColor hoverColor = parent()->property("hoverBackgroundColor").value<QColor>();
+                painter->setBackground(hoverColor);
+        }
         painter->drawText(viewOption.rect, Qt::AlignCenter, emoji);
+
+        painter->restore();
 }