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();
}
|