Krita Source Code Documentation
Loading...
Searching...
No Matches
arrange_docker_widget.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
8#include "ui_arrange_docker_widget.h"
9
10#include "kis_debug.h"
11
12#include "kactioncollection.h"
13
14#include <QAction>
15#include <QToolButton>
16
20
22 QWidget(parent),
23 ui(new Ui::ArrangeDockerWidget),
24 m_d(new Private)
25{
26 ui->setupUi(this);
27}
28
32
33
34void replaceAction(QToolButton *button, QAction *newAction)
35{
36 Q_FOREACH (QAction *action, button->actions()) {
37 button->removeAction(action);
38 }
39
40 if (newAction) {
41 button->setDefaultAction(newAction);
42 }
43}
44
46{
47 const bool enabled = collection->action("object_order_front");
48
49 if (enabled) {
50 replaceAction(ui->bringToFront, collection->action("object_order_front"));
51 replaceAction(ui->raiseLevel, collection->action("object_order_raise"));
52 replaceAction(ui->lowerLevel, collection->action("object_order_lower"));
53 replaceAction(ui->sendBack, collection->action("object_order_back"));
54
55 replaceAction(ui->leftAlign, collection->action("object_align_horizontal_left"));
56 replaceAction(ui->hCenterAlign, collection->action("object_align_horizontal_center"));
57 replaceAction(ui->rightAlign, collection->action("object_align_horizontal_right"));
58 replaceAction(ui->topAlign, collection->action("object_align_vertical_top"));
59 replaceAction(ui->vCenterAlign, collection->action("object_align_vertical_center"));
60 replaceAction(ui->bottomAlign, collection->action("object_align_vertical_bottom"));
61
62 replaceAction(ui->hDistributeLeft, collection->action("object_distribute_horizontal_left"));
63 replaceAction(ui->hDistributeCenter, collection->action("object_distribute_horizontal_center"));
64 replaceAction(ui->hDistributeRight, collection->action("object_distribute_horizontal_right"));
65 replaceAction(ui->hDistributeGaps, collection->action("object_distribute_horizontal_gaps"));
66
67 replaceAction(ui->vDistributeTop, collection->action("object_distribute_vertical_top"));
68 replaceAction(ui->vDistributeCenter, collection->action("object_distribute_vertical_center"));
69 replaceAction(ui->vDistributeBottom, collection->action("object_distribute_vertical_bottom"));
70 replaceAction(ui->vDistributeGaps, collection->action("object_distribute_vertical_gaps"));
71
72
73 replaceAction(ui->group, collection->action("object_group"));
74 replaceAction(ui->ungroup, collection->action("object_ungroup"));
75 }
76
77 setEnabled(enabled);
78}
79
81{
82 if (enabled) {
83 ui->buttons->show();
84 ui->disabledLabel->hide();
85 } else {
86 ui->buttons->hide();
87 ui->disabledLabel->show();
88 }
89}
90
91
void replaceAction(QToolButton *button, QAction *newAction)
void switchState(bool enabled)
QScopedPointer< Ui::ArrangeDockerWidget > ui
ArrangeDockerWidget(QWidget *parent=0)
void setActionCollection(KisKActionCollection *collection)
A container for a set of QAction objects.
QAction * action(int index) const
QString button(const QWheelEvent &ev)