Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_selection_actions_panel_handle.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2026 Luna Lovecraft <ciubix8514@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-3.0-or-later
5
*/
6
7
#include "
kis_selection_actions_panel_handle.h
"
8
#include "
kis_icon_utils.h
"
9
#include <qapplication.h>
10
11
struct
KisSelectionActionsPanelHandle::Private
12
{
13
Private
(
int
size
) { this->size =
size
;};
14
QCursor
default_cursor
;
15
QCursor
held_cursor
;
16
QIcon
handle_icon
;
17
int
size
;
18
};
19
20
KisSelectionActionsPanelHandle::KisSelectionActionsPanelHandle
(
int
size, QWidget * parent) :
21
QWidget(parent),
22
d(new
Private
(size))
23
{
24
d
->default_cursor = Qt::OpenHandCursor;
25
d
->held_cursor = Qt::ClosedHandCursor;
26
d
->handle_icon =
KisIconUtils::loadIcon
(
"drag-handle"
);
27
this->setCursor(
d
->default_cursor);
28
setFixedSize(size, size);
29
setAttribute(Qt::WA_AcceptTouchEvents);
30
}
31
32
KisSelectionActionsPanelHandle::~KisSelectionActionsPanelHandle
()
33
{
34
}
35
36
void
KisSelectionActionsPanelHandle::set_held
(
bool
held)
37
{
38
if
(held)
39
{
40
this->setCursor(
d
->held_cursor);
41
}
42
else
43
{
44
this->setCursor(
d
->default_cursor);
45
}
46
}
47
48
void
KisSelectionActionsPanelHandle::draw
(QPainter& painter)
49
{
50
QRect
rect
= geometry();
51
52
// Adjust the rect a bit to fill the right side of the bar properly
53
painter.fillRect(
rect
.marginsAdded(QMargins(-3, 4, 1, 4)), qApp->palette().window().color());
54
55
// Adjusting the icon location a bit to be properly centered
56
d
->handle_icon.paint(&painter, QRect(
rect
.x() + 3,
rect
.y(),
d
->size,
d
->size));
57
}
KisSelectionActionsPanelHandle::~KisSelectionActionsPanelHandle
~KisSelectionActionsPanelHandle()
Definition
kis_selection_actions_panel_handle.cpp:32
KisSelectionActionsPanelHandle::set_held
void set_held(bool held)
Definition
kis_selection_actions_panel_handle.cpp:36
KisSelectionActionsPanelHandle::d
QScopedPointer< Private > d
Definition
kis_selection_actions_panel_handle.h:21
KisSelectionActionsPanelHandle::draw
void draw(QPainter &painter)
Definition
kis_selection_actions_panel_handle.cpp:48
KisSelectionActionsPanelHandle::KisSelectionActionsPanelHandle
KisSelectionActionsPanelHandle(int size, QWidget *parent)
Definition
kis_selection_actions_panel_handle.cpp:20
kis_icon_utils.h
kis_selection_actions_panel_handle.h
KisIconUtils::loadIcon
QIcon loadIcon(const QString &name)
Definition
kis_icon_utils.cpp:29
Private
Definition
SvgTransformParser.cpp:20
KisSelectionActionsPanelHandle::Private
Definition
kis_selection_actions_panel_handle.cpp:12
KisSelectionActionsPanelHandle::Private::handle_icon
QIcon handle_icon
Definition
kis_selection_actions_panel_handle.cpp:16
KisSelectionActionsPanelHandle::Private::held_cursor
QCursor held_cursor
Definition
kis_selection_actions_panel_handle.cpp:15
KisSelectionActionsPanelHandle::Private::Private
Private(int size)
Definition
kis_selection_actions_panel_handle.cpp:13
KisSelectionActionsPanelHandle::Private::size
int size
Definition
kis_selection_actions_panel_handle.cpp:17
KisSelectionActionsPanelHandle::Private::default_cursor
QCursor default_cursor
Definition
kis_selection_actions_panel_handle.cpp:14
rect
Definition
xcftools.h:129
libs
ui
kis_selection_actions_panel_handle.cpp
Generated at
2026-04-16 02:30:01+02:00
from
Krita
branch
master
, commit
5f3d7cd92c534a2e873f42630f64d45d7f96e073