summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2017-02-24 14:43:53 (GMT)
committerTobias Markmann <tm@ayena.de>2017-02-24 14:58:12 (GMT)
commitd8b09bc1eacdf97366058807cc021f81be171526 (patch)
treee9d09ce146fd6da7f934590a6356a25c6473bf6e /Swift/QtUI/QtEmojisScroll.cpp
parentec9643bb6ebd8da74864969a16bffc7fa76431c4 (diff)
downloadswift-d8b09bc1eacdf97366058807cc021f81be171526.zip
swift-d8b09bc1eacdf97366058807cc021f81be171526.tar.bz2
Use FlowLayout instead of QGridLayout in QtEmojiGrid
FlowLayout is an official BSD-licensed Qt example showing how to implement custom layouts. It will layout items dynamically in rows. This way we don’t need static column/row calculations for QGridLayout and it looks better. Test-Information: Build and ran on macOS 10.12.3 with Qt 5.7 to test that it has a better, less spacious look. Change-Id: Ief1299b0d3fb1e516a1973469f4f9a26824942f2
Diffstat (limited to 'Swift/QtUI/QtEmojisScroll.cpp')
-rw-r--r--Swift/QtUI/QtEmojisScroll.cpp8
1 files changed, 1 insertions, 7 deletions
diff --git a/Swift/QtUI/QtEmojisScroll.cpp b/Swift/QtUI/QtEmojisScroll.cpp
index 3e9969b..9765aa5 100644
--- a/Swift/QtUI/QtEmojisScroll.cpp
+++ b/Swift/QtUI/QtEmojisScroll.cpp
@@ -14,17 +14,11 @@
#include <Swift/QtUI/QtRecentEmojisGrid.h>
namespace Swift {
- QtEmojisScroll::QtEmojisScroll(QGridLayout* emojiLayout, QWidget *parent) : QWidget(parent) {
+ QtEmojisScroll::QtEmojisScroll(QLayout* emojiLayout, QWidget *parent) : QWidget(parent) {
auto selector = new QWidget();
auto scrollArea = new QScrollArea();
scrollArea->setWidgetResizable(true);
scrollArea->setWidget(selector);
- // Set minimum width to fit GridLayout (no horizontal ScrollBar)
- const int margin = style()->pixelMetric(QStyle::PM_MenuHMargin) * 2;
- scrollArea->setMinimumWidth((emojiLayout->columnCount()+1)*(emojiLayout->columnMinimumWidth(0)+emojiLayout->spacing())+margin);
- // Set height according to width (better ratio)
- const double ratio = 16.0/9.0; //ratio width/height
- scrollArea->setMinimumHeight(scrollArea->minimumWidth()/ratio);
selector->setLayout(emojiLayout);
this->setLayout(new QVBoxLayout);