From 78ed78c410b2aeed2dd9c5de249cb625fb5153be Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Thu, 25 Jul 2019 11:40:18 +0200 Subject: Improve layout of Emoji Picker Respect system styling Increase size of emojis (to remove empty space) Add hover effect (partially adresses #41) Less hardcoding of sizes Use emoji font (color) --- src/emoji/Category.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/emoji/Category.cpp') diff --git a/src/emoji/Category.cpp b/src/emoji/Category.cpp index fbfbf4fc..659555f7 100644 --- a/src/emoji/Category.cpp +++ b/src/emoji/Category.cpp @@ -43,15 +43,18 @@ Category::Category(QString category, std::vector emoji, QWidget *parent) emojiListView_->setViewMode(QListView::IconMode); emojiListView_->setFlow(QListView::LeftToRight); emojiListView_->setResizeMode(QListView::Adjust); + emojiListView_->setMouseTracking(true); emojiListView_->verticalScrollBar()->setEnabled(false); emojiListView_->horizontalScrollBar()->setEnabled(false); const int cols = 7; - const int rows = emoji.size() / 7; + const int rows = emoji.size() / 7 + 1; + const int emojiSize = 48; + const int gridSize = emojiSize + 4; // TODO: Be precise here. Take the parent into consideration. - emojiListView_->setFixedSize(cols * 50 + 20, rows * 50 + 20); - emojiListView_->setGridSize(QSize(50, 50)); + emojiListView_->setFixedSize(cols * gridSize + 20, rows * gridSize); + emojiListView_->setGridSize(QSize(gridSize, gridSize)); emojiListView_->setDragEnabled(false); emojiListView_->setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -59,7 +62,7 @@ Category::Category(QString category, std::vector emoji, QWidget *parent) data_->unicode = e.unicode; auto item = new QStandardItem; - item->setSizeHint(QSize(24, 24)); + item->setSizeHint(QSize(emojiSize, emojiSize)); QVariant unicode(data_->unicode); item->setData(unicode.toString(), Qt::UserRole); -- cgit 1.5.1