Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_dlg_brush_hud_config.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8#include "ui_kis_dlg_brush_hud_config.h"
9
10#include "kis_paintop_preset.h"
12
14
15#include <kstandardguiitem.h>
16
17
23
25 QDialog(parent),
27 m_d(new Private)
28{
29 ui->setupUi(this);
30
31 KGuiItem::assign(ui->btnBox->button(QDialogButtonBox::Ok), KStandardGuiItem::ok());
32 KGuiItem::assign(ui->btnBox->button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel());
33
34 m_d->preset = preset;
35 m_d->properties = preset->uniformProperties();
36
39
41 cfg.filterProperties(preset->paintOp().id(),
42 m_d->properties, &chosen, &available);
43
44 ui->lstAvailable->addProperties(available);
45 ui->lstCurrent->addProperties(chosen);
46
47 connect(this, SIGNAL(accepted()), SLOT(slotConfigAccepted()));
48
49 connect(ui->btnAdd, SIGNAL(clicked()), SLOT(slotMoveRight()));
50 connect(ui->btnRemove, SIGNAL(clicked()), SLOT(slotMoveLeft()));
51
52 connect(ui->btnDown, SIGNAL(clicked()), SLOT(slotMoveDown()));
53 connect(ui->btnUp, SIGNAL(clicked()), SLOT(slotMoveUp()));
54}
55
60
62{
64 cfg.setSelectedProperties(m_d->preset->paintOp().id(), ui->lstCurrent->selectedPropertiesIds());
65}
66
68{
69 QListWidgetItem *item = ui->lstAvailable->currentItem();
70 if (!item) return;
71
72 const int prevPosition = ui->lstAvailable->row(item) - 1;
73 const int newPosition = ui->lstCurrent->currentRow() + 1;
74
75 ui->lstAvailable->takeItem(ui->lstAvailable->row(item));
76 ui->lstAvailable->setCurrentRow(qMax(0, prevPosition));
77 ui->lstCurrent->insertItem(newPosition, item);
78 ui->lstCurrent->setCurrentItem(item);
79}
80
82{
83 QListWidgetItem *item = ui->lstCurrent->currentItem();
84 if (!item) return;
85
86 const int prevPosition = ui->lstCurrent->row(item) - 1;
87 const int newPosition = ui->lstAvailable->currentRow() + 1;
88
89 ui->lstCurrent->takeItem(ui->lstCurrent->row(item));
90 ui->lstCurrent->setCurrentRow(qMax(0, prevPosition));
91 ui->lstAvailable->insertItem(newPosition, item);
92 ui->lstAvailable->setCurrentItem(item);
93}
94
96{
97 QListWidgetItem *item = ui->lstCurrent->currentItem();
98 if (!item) return;
99
100 int position = ui->lstCurrent->row(item);
101
102 if (position <= 0) return;
103
104 ui->lstCurrent->takeItem(ui->lstCurrent->row(item));
105 ui->lstCurrent->insertItem(position - 1, item);
106 ui->lstCurrent->setCurrentItem(item);
107}
108
110{
111 QListWidgetItem *item = ui->lstCurrent->currentItem();
112 if (!item) return;
113
114 int position = ui->lstCurrent->row(item);
115
116 if (position >= ui->lstCurrent->count() - 1) return;
117
118 ui->lstCurrent->takeItem(ui->lstCurrent->row(item));
119 ui->lstCurrent->insertItem(position + 1, item);
120 ui->lstCurrent->setCurrentItem(item);
121}
122
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void setSelectedProperties(const QString &paintOpId, const QList< QString > &ids)
void filterProperties(const QString &paintOpId, const QList< KisUniformPaintOpPropertySP > &allProperties, QList< KisUniformPaintOpPropertySP > *chosenProperties, QList< KisUniformPaintOpPropertySP > *skippedProperties) const
KisDlgConfigureBrushHud(KisPaintOpPresetSP preset, QWidget *parent=0)
const QScopedPointer< Private > m_d
Ui::KisDlgConfigureBrushHud * ui
QList< KisUniformPaintOpPropertySP > properties