• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

KritaWidgets

  • sources
  • kfour-appscomplete
  • krita
  • libs
  • widgets
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 <[email protected]>
3  *
4  * SPDX-License-Identifier: LGPL-2.0-or-later
5  */
6 
7 #include "KoColorPopupButton.h"
8 
9 #include <QResizeEvent>
10 #include <QStyle>
11 #include <QStyleOptionToolButton>
12 
13 #include "WidgetsDebug.h"
14 
15 KoColorPopupButton::KoColorPopupButton(QWidget *parent)
16  : QToolButton(parent)
17 {
18  setToolButtonStyle(Qt::ToolButtonIconOnly);
19 }
20 
21 KoColorPopupButton::~KoColorPopupButton()
22 {
23 }
24 
25 QSize KoColorPopupButton::sizeHint() const
26 {
27  QStyleOptionToolButton opt;
28  initStyleOption(&opt);
29 
30  return style()->sizeFromContents(QStyle::CT_ToolButton, &opt, QSize(16,16), this);
31 }
32 
33 void KoColorPopupButton::resizeEvent(QResizeEvent *e)
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  emit iconSizeChanged();
49 }
QStyleOptionToolButton
KoColorPopupButton::resizeEvent
void resizeEvent(QResizeEvent *) override
reimplemented from QToolButton
Definition: KoColorPopupButton.cpp:33
QWidget::rect
QRect rect() const
QWidget::resizeEvent
virtual void resizeEvent(QResizeEvent *event)
QWidget
QRect::width
int width() const
QSize
QSize::width
int width() const
QResizeEvent::size
const QSize & size() const
QSize::setWidth
void setWidth(int width)
QWidget::style
QStyle * style() const
QToolButton
KoColorPopupButton::~KoColorPopupButton
~KoColorPopupButton() override
Destructor.
Definition: KoColorPopupButton.cpp:21
KoColorPopupButton::KoColorPopupButton
KoColorPopupButton(QWidget *parent=0)
Constructor for the widget, where value is set to 0.
Definition: KoColorPopupButton.cpp:15
QAbstractButton::iconSize
QSize iconSize() const
QToolButton::setToolButtonStyle
void setToolButtonStyle(Qt::ToolButtonStyle style)
QStyle::sizeFromContents
virtual QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget) const=0
KoColorPopupButton.h
KoColorPopupButton::iconSizeChanged
void iconSizeChanged()
Emitted when a resource was selected.
QResizeEvent
WidgetsDebug.h
KoColorPopupButton::sizeHint
QSize sizeHint() const override
Definition: KoColorPopupButton.cpp:25
QWidget::size
QSize size() const
QToolButton::initStyleOption
void initStyleOption(QStyleOptionToolButton *option) const
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Jan 19 2021 23:44:00 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KritaWidgets

Skip menu "KritaWidgets"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal