diff options
Diffstat (limited to 'src/emoji/ItemDelegate.cpp')
-rw-r--r-- | src/emoji/ItemDelegate.cpp | 22 |
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(); } |