summaryrefslogtreecommitdiffstats
blob: be505b67c464c088c30d3ac8d370313f12e868b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
 * Copyright (c) 2016-2017 Isode Limited.
 * All rights reserved.
 * See the COPYING file for more information.
 */

#include <Swift/QtUI/QtEmojisScroll.h>

#include <QLayout>
#include <QScrollArea>
#include <QStyle>

#include <Swiften/Base/Platform.h>

#include <Swift/QtUI/QtEmojisGrid.h>
#include <Swift/QtUI/QtRecentEmojisGrid.h>

namespace Swift {
    QtEmojisScroll::QtEmojisScroll(QLayout* emojiLayout, QWidget *parent) : QWidget(parent) {
        auto selector = new QWidget();
        auto scrollArea = new QScrollArea();
        scrollArea->setWidgetResizable(true);
        scrollArea->setWidget(selector);
        selector->setLayout(emojiLayout);

        this->setLayout(new QVBoxLayout);
        this->layout()->addWidget(scrollArea);
        this->layout()->setContentsMargins(0,0,0,0);

        if (emojiLayout->itemAt(0)) {
#ifdef SWIFTEN_PLATFORM_MACOSX
            setMinimumHeight(emojiLayout->itemAt(0)->minimumSize().height() * 8);
#else
            setMinimumHeight(emojiLayout->itemAt(0)->minimumSize().height() * 2);
#endif
        }
    }
}