Krita Source Code Documentation
Loading...
Searching...
No Matches
KoColorPopupButton.cpp
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2013 Jean-Nicolas Artaud <jeannicolasartaud@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
8
9#include <QResizeEvent>
10#include <QStyle>
11#include <QStyleOptionToolButton>
12
13#include "WidgetsDebug.h"
14
16 : QToolButton(parent)
17{
18 setToolButtonStyle(Qt::ToolButtonIconOnly);
19}
20
24
26{
27 QStyleOptionToolButton opt;
28 initStyleOption(&opt);
29
30 return style()->sizeFromContents(QStyle::CT_ToolButton, &opt, QSize(16,16), this);
31}
32
34{
35 QStyleOptionToolButton opt;
36 initStyleOption(&opt);
37 QSize size = iconSize();
38
39 QSize rect = style()->sizeFromContents(QStyle::CT_ToolButton, &opt, size, this);
40 int iconWidth = size.width() - rect.width() + e->size().width();
41
42 if (iconWidth != size.width()) {
43 size.setWidth(iconWidth);
44 setIconSize(size);
45 }
46 QToolButton::resizeEvent(e);
47
48 Q_EMIT iconSizeChanged();
49}
int iconSize(qreal width, qreal height)
KoColorPopupButton(QWidget *parent=0)
void resizeEvent(QResizeEvent *) override
reimplemented from QToolButton
void iconSizeChanged()
Emitted when a resource was selected.
QSize sizeHint() const override