Krita Source Code Documentation
Loading...
Searching...
No Matches
KisStretchedIconButton Class Reference

#include <KisStretchedIconButton.h>

+ Inheritance diagram for KisStretchedIconButton:

Public Member Functions

QAction * associatedAction () const
 
 KisStretchedIconButton (QWidget *parent)
 
void setAssociatedAction (QAction *action)
 
void setStretchedIcon (const QIcon &icon)
 
QIcon stretchedIcon () const
 
 ~KisStretchedIconButton ()
 

Protected Slots

void slotActionChanged ()
 

Protected Member Functions

void resizeEvent (QResizeEvent *event)
 

Private Member Functions

void updateLabelIcon ()
 

Private Attributes

QPointer< QAction > m_action
 
KisSignalAutoConnectionsStore m_actionConnections
 
QLabel * m_label {nullptr}
 
QIcon m_stretchedIcon
 

Detailed Description

Definition at line 19 of file KisStretchedIconButton.h.

Constructor & Destructor Documentation

◆ KisStretchedIconButton()

KisStretchedIconButton::KisStretchedIconButton ( QWidget * parent)

Definition at line 17 of file KisStretchedIconButton.cpp.

18 : QToolButton(parent),
19 m_label(new QLabel(this))
20{
21 m_label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
22 QHBoxLayout *layout = new QHBoxLayout();
23 layout->addWidget(m_label);
24 setLayout(layout);
26}

References m_label, and slotActionChanged().

◆ ~KisStretchedIconButton()

KisStretchedIconButton::~KisStretchedIconButton ( )

Definition at line 28 of file KisStretchedIconButton.cpp.

29{
30}

Member Function Documentation

◆ associatedAction()

QAction * KisStretchedIconButton::associatedAction ( ) const

Definition at line 56 of file KisStretchedIconButton.cpp.

57{
58 return m_action;
59}

References m_action.

◆ resizeEvent()

void KisStretchedIconButton::resizeEvent ( QResizeEvent * event)
protected

Definition at line 61 of file KisStretchedIconButton.cpp.

62{
63 QToolButton::resizeEvent(event);
65}

References updateLabelIcon().

◆ setAssociatedAction()

void KisStretchedIconButton::setAssociatedAction ( QAction * action)

Definition at line 43 of file KisStretchedIconButton.cpp.

44{
46 m_action = action;
47 if (action) {
48 m_actionConnections.addConnection(action, &QAction::changed,
50 m_actionConnections.addConnection(this, &KisStretchedIconButton::clicked,
51 action, &QAction::trigger);
52 }
54}
void addConnection(Sender sender, Signal signal, Receiver receiver, Method method, Qt::ConnectionType type=Qt::AutoConnection)
KisSignalAutoConnectionsStore m_actionConnections

References KisSignalAutoConnectionsStore::addConnection(), KisSignalAutoConnectionsStore::clear(), m_action, m_actionConnections, and slotActionChanged().

◆ setStretchedIcon()

void KisStretchedIconButton::setStretchedIcon ( const QIcon & icon)

Definition at line 32 of file KisStretchedIconButton.cpp.

References m_stretchedIcon, and updateLabelIcon().

◆ slotActionChanged

void KisStretchedIconButton::slotActionChanged ( )
protectedslot

Definition at line 76 of file KisStretchedIconButton.cpp.

77{
78 setStretchedIcon(m_action ? m_action->icon() : QIcon());
79 setText("");
80 setToolTip(m_action ? m_action->toolTip() : "");
81 setStatusTip(m_action ? m_action->statusTip() : "");
82 setWhatsThis(m_action ? m_action->whatsThis() : "");
83 setEnabled(m_action && m_action->isEnabled());
84 setVisible(m_action && m_action->isVisible());
85}
void setStretchedIcon(const QIcon &icon)
void setText(QSpinBox *spinBox, const QStringView textTemplate)

References m_action, and setStretchedIcon().

◆ stretchedIcon()

QIcon KisStretchedIconButton::stretchedIcon ( ) const

Definition at line 38 of file KisStretchedIconButton.cpp.

39{
40 return m_stretchedIcon;
41}

References m_stretchedIcon.

◆ updateLabelIcon()

void KisStretchedIconButton::updateLabelIcon ( )
private

Definition at line 67 of file KisStretchedIconButton.cpp.

68{
69#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
70 m_label->setPixmap(m_stretchedIcon.pixmap(this->windowHandle(), m_label->size()));
71#else
72 m_label->setPixmap(m_stretchedIcon.pixmap(m_label->size(), this->window()->devicePixelRatio()));
73#endif
74}

References m_label, and m_stretchedIcon.

Member Data Documentation

◆ m_action

QPointer<QAction> KisStretchedIconButton::m_action
private

Definition at line 42 of file KisStretchedIconButton.h.

◆ m_actionConnections

KisSignalAutoConnectionsStore KisStretchedIconButton::m_actionConnections
private

Definition at line 43 of file KisStretchedIconButton.h.

◆ m_label

QLabel* KisStretchedIconButton::m_label {nullptr}
private

Definition at line 41 of file KisStretchedIconButton.h.

41{nullptr};

◆ m_stretchedIcon

QIcon KisStretchedIconButton::m_stretchedIcon
private

Definition at line 44 of file KisStretchedIconButton.h.


The documentation for this class was generated from the following files: