Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_transport_controls.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2020 Emmet O 'Neill <emmetoneill.pdx@gmail.com>
3
* SPDX-FileCopyrightText: 2020 Eoin O 'Neill <eoinoneill1991@gmail.com>
4
*
5
* SPDX-License-Identifier: GPL-2.0-or-later
6
*/
7
8
#include "
kis_transport_controls.h
"
9
10
#include <QHBoxLayout>
11
#include <QToolButton>
12
13
#include "
kis_debug.h
"
14
#include "
kis_icon.h
"
15
#include "klocalizedstring.h"
16
17
18
KisTransportControls::KisTransportControls
(QWidget* parent)
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
}
85
86
KisTransportControls::~KisTransportControls
()
87
{
88
}
89
90
QSize
KisTransportControls::sizeHint
()
const
91
{
92
return
QSize(32, 32);
93
}
94
95
void
KisTransportControls::setPlaying
(
bool
playing)
96
{
97
if
(playing) {
98
buttonPlayPause
->setIcon(
KisIconUtils::loadIcon
(
"animation_pause"
));
99
}
else
{
100
buttonPlayPause
->setIcon(
KisIconUtils::loadIcon
(
"animation_play"
));
101
}
102
}
103
104
void
KisTransportControls::showStateButtons
(
bool
show)
105
{
106
if
(show) {
107
buttonPlayPause
->show();
108
buttonStop
->show();
109
}
else
{
110
buttonPlayPause
->hide();
111
buttonStop
->hide();
112
}
113
}
114
115
void
KisTransportControls::showSeekButtons
(
bool
show)
116
{
117
if
(show) {
118
buttonBack
->show();
119
buttonForward
->show();
120
}
else
{
121
buttonBack
->hide();
122
buttonForward
->hide();
123
}
124
}
125
126
void
KisTransportControls::showSkipButtons
(
bool
show)
127
{
128
if
(show) {
129
buttonSkipBack
->show();
130
buttonSkipForward
->show();
131
}
else
{
132
buttonSkipBack
->hide();
133
buttonSkipForward
->hide();
134
}
135
}
connect
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisTransportControls::~KisTransportControls
~KisTransportControls()
Definition
kis_transport_controls.cpp:86
KisTransportControls::back
void back()
KisTransportControls::buttonForward
QToolButton * buttonForward
Definition
kis_transport_controls.h:58
KisTransportControls::buttonSkipBack
QToolButton * buttonSkipBack
Definition
kis_transport_controls.h:54
KisTransportControls::buttonStop
QToolButton * buttonStop
Definition
kis_transport_controls.h:56
KisTransportControls::playPause
void playPause()
KisTransportControls::buttonBack
QToolButton * buttonBack
Definition
kis_transport_controls.h:55
KisTransportControls::KisTransportControls
KisTransportControls(QWidget *parent=nullptr)
Definition
kis_transport_controls.cpp:18
KisTransportControls::showSkipButtons
void showSkipButtons(bool show)
Definition
kis_transport_controls.cpp:126
KisTransportControls::stop
void stop()
KisTransportControls::skipForward
void skipForward()
KisTransportControls::buttonSkipForward
QToolButton * buttonSkipForward
Definition
kis_transport_controls.h:59
KisTransportControls::showStateButtons
void showStateButtons(bool show)
Definition
kis_transport_controls.cpp:104
KisTransportControls::buttonPlayPause
QToolButton * buttonPlayPause
Definition
kis_transport_controls.h:57
KisTransportControls::sizeHint
QSize sizeHint() const override
Definition
kis_transport_controls.cpp:90
KisTransportControls::skipBack
void skipBack()
KisTransportControls::showSeekButtons
void showSeekButtons(bool show)
Definition
kis_transport_controls.cpp:115
KisTransportControls::setPlaying
void setPlaying(bool playing)
setPlaying flips the icon on the play/pause button. When playing, the button will show a pause icon....
Definition
kis_transport_controls.cpp:95
KisTransportControls::forward
void forward()
kis_debug.h
kis_icon.h
kis_transport_controls.h
KisIconUtils::loadIcon
QIcon loadIcon(const QString &name)
Definition
kis_icon_utils.cpp:29
libs
ui
widgets
kis_transport_controls.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52