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

The KisTransportControls class provides a simple, reusable widget for common transport controls, including play/pause, stop, seek and skip. The client code will want to add this widget, configure it, and hook into the appropriate signals. More...

#include <kis_transport_controls.h>

+ Inheritance diagram for KisTransportControls:

Public Slots

void setPlaying (bool playing)
 setPlaying flips the icon on the play/pause button. When playing, the button will show a pause icon. When paused, the button will show a play icon.
 
void showSeekButtons (bool show)
 
void showSkipButtons (bool show)
 
void showStateButtons (bool show)
 

Signals

void back ()
 
void forward ()
 
void playPause ()
 
void skipBack ()
 
void skipForward ()
 
void stop ()
 

Public Member Functions

 KisTransportControls (QWidget *parent=nullptr)
 
QSize sizeHint () const override
 
 ~KisTransportControls ()
 

Private Attributes

QToolButton * buttonBack
 
QToolButton * buttonForward
 
QToolButton * buttonPlayPause
 
QToolButton * buttonSkipBack
 
QToolButton * buttonSkipForward
 
QToolButton * buttonStop
 

Detailed Description

The KisTransportControls class provides a simple, reusable widget for common transport controls, including play/pause, stop, seek and skip. The client code will want to add this widget, configure it, and hook into the appropriate signals.

Definition at line 23 of file kis_transport_controls.h.

Constructor & Destructor Documentation

◆ KisTransportControls()

KisTransportControls::KisTransportControls ( QWidget * parent = nullptr)

Definition at line 18 of file kis_transport_controls.cpp.

19 : QWidget(parent)
20{
21 QHBoxLayout* layout = new QHBoxLayout(this);
22 layout->setContentsMargins(0,0,0,0);
23 layout->setSpacing(0);
24
25 buttonSkipBack = new QToolButton(this);
26 buttonSkipBack->setIcon(KisIconUtils::loadIcon("prevkeyframe"));
27 buttonSkipBack->setToolTip(i18n("Skip Back"));
28 buttonSkipBack->setIconSize(QSize(22, 22));
29 buttonSkipBack->setFocusPolicy(Qt::NoFocus);
30 buttonSkipBack->setAutoRaise(true);
31 layout->addWidget(buttonSkipBack);
32 connect(buttonSkipBack, SIGNAL(released()), this, SIGNAL(skipBack()));
33
34 buttonBack = new QToolButton(this);
35 buttonBack->setIcon(KisIconUtils::loadIcon("prevframe"));
36 buttonBack->setToolTip(i18n("Back"));
37 buttonBack->setIconSize(QSize(22, 22));
38 buttonBack->setFocusPolicy(Qt::NoFocus);
39 buttonBack->setAutoRaise(true);
40 layout->addWidget(buttonBack);
41 connect(buttonBack, SIGNAL(released()), this, SIGNAL(back()));
42
43 buttonStop = new QToolButton(this);
44 buttonStop->setIcon(KisIconUtils::loadIcon("animation_stop"));
45 buttonStop->setToolTip(i18n("Stop"));
46 buttonStop->setIconSize(QSize(22, 22));
47 buttonStop->setFocusPolicy(Qt::NoFocus);
48 buttonStop->setAutoRaise(true);
49 layout->addWidget(buttonStop);
50 connect(buttonStop, SIGNAL(released()), this, SIGNAL(stop()));
51
52 buttonPlayPause = new QToolButton(this);
53 buttonPlayPause->setIcon(KisIconUtils::loadIcon("animation_play"));
54 buttonPlayPause->setToolTip(i18n("Play/Pause"));
55 buttonPlayPause->setIconSize(QSize(22, 22));
56 buttonPlayPause->setFocusPolicy(Qt::NoFocus);
57 buttonPlayPause->setAutoRaise(true);
58 layout->addWidget(buttonPlayPause);
59 connect(buttonPlayPause, SIGNAL(released()), this, SIGNAL(playPause()));
60
61 buttonForward = new QToolButton(this);
62 buttonForward->setIcon(KisIconUtils::loadIcon("nextframe"));
63 buttonForward->setToolTip(i18n("Forward"));
64 buttonForward->setIconSize(QSize(22, 22));
65 buttonForward->setFocusPolicy(Qt::NoFocus);
66 buttonForward->setAutoRaise(true);
67 layout->addWidget(buttonForward);
68 connect(buttonForward, SIGNAL(released()), this, SIGNAL(forward()));
69
70 buttonSkipForward = new QToolButton(this);
71 buttonSkipForward->setIcon(KisIconUtils::loadIcon("nextkeyframe"));
72 buttonSkipForward->setToolTip(i18n("Skip Forward"));
73 buttonSkipForward->setIconSize(QSize(22, 22));
74 buttonSkipForward->setFocusPolicy(Qt::NoFocus);
75 buttonSkipForward->setAutoRaise(true);
76 layout->addWidget(buttonSkipForward);
77 connect(buttonSkipForward, SIGNAL(released()), this, SIGNAL(skipForward()));
78
79 showStateButtons(true);
80 showSeekButtons(true);
81 showSkipButtons(false);
82
83 setFocusPolicy(Qt::ClickFocus);
84}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QIcon loadIcon(const QString &name)

References back(), buttonBack, buttonForward, buttonPlayPause, buttonSkipBack, buttonSkipForward, buttonStop, connect(), forward(), KisIconUtils::loadIcon(), playPause(), showSeekButtons(), showSkipButtons(), showStateButtons(), skipBack(), skipForward(), and stop().

◆ ~KisTransportControls()

KisTransportControls::~KisTransportControls ( )

Definition at line 86 of file kis_transport_controls.cpp.

87{
88}

Member Function Documentation

◆ back

void KisTransportControls::back ( )
signal

◆ forward

void KisTransportControls::forward ( )
signal

◆ playPause

void KisTransportControls::playPause ( )
signal

◆ setPlaying

void KisTransportControls::setPlaying ( bool playing)
slot

setPlaying flips the icon on the play/pause button. When playing, the button will show a pause icon. When paused, the button will show a play icon.

Definition at line 95 of file kis_transport_controls.cpp.

96{
97 if (playing) {
98 buttonPlayPause->setIcon(KisIconUtils::loadIcon("animation_pause"));
99 } else {
100 buttonPlayPause->setIcon(KisIconUtils::loadIcon("animation_play"));
101 }
102}

References buttonPlayPause, and KisIconUtils::loadIcon().

◆ showSeekButtons

void KisTransportControls::showSeekButtons ( bool show)
slot

Definition at line 115 of file kis_transport_controls.cpp.

116{
117 if (show) {
118 buttonBack->show();
119 buttonForward->show();
120 } else {
121 buttonBack->hide();
122 buttonForward->hide();
123 }
124}

References buttonBack, and buttonForward.

◆ showSkipButtons

void KisTransportControls::showSkipButtons ( bool show)
slot

Definition at line 126 of file kis_transport_controls.cpp.

127{
128 if (show) {
129 buttonSkipBack->show();
130 buttonSkipForward->show();
131 } else {
132 buttonSkipBack->hide();
133 buttonSkipForward->hide();
134 }
135}

References buttonSkipBack, and buttonSkipForward.

◆ showStateButtons

void KisTransportControls::showStateButtons ( bool show)
slot

Definition at line 104 of file kis_transport_controls.cpp.

105{
106 if (show) {
107 buttonPlayPause->show();
108 buttonStop->show();
109 } else {
110 buttonPlayPause->hide();
111 buttonStop->hide();
112 }
113}

References buttonPlayPause, and buttonStop.

◆ sizeHint()

QSize KisTransportControls::sizeHint ( ) const
override

Definition at line 90 of file kis_transport_controls.cpp.

91{
92 return QSize(32, 32);
93}

◆ skipBack

void KisTransportControls::skipBack ( )
signal

◆ skipForward

void KisTransportControls::skipForward ( )
signal

◆ stop

void KisTransportControls::stop ( )
signal

Member Data Documentation

◆ buttonBack

QToolButton* KisTransportControls::buttonBack
private

Definition at line 55 of file kis_transport_controls.h.

◆ buttonForward

QToolButton* KisTransportControls::buttonForward
private

Definition at line 58 of file kis_transport_controls.h.

◆ buttonPlayPause

QToolButton* KisTransportControls::buttonPlayPause
private

Definition at line 57 of file kis_transport_controls.h.

◆ buttonSkipBack

QToolButton* KisTransportControls::buttonSkipBack
private

Definition at line 54 of file kis_transport_controls.h.

◆ buttonSkipForward

QToolButton* KisTransportControls::buttonSkipForward
private

Definition at line 59 of file kis_transport_controls.h.

◆ buttonStop

QToolButton* KisTransportControls::buttonStop
private

Definition at line 56 of file kis_transport_controls.h.


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