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

#include <kis_tool_movetooloptionswidget.h>

+ Inheritance diagram for MoveToolOptionsWidget:

Public Slots

void setShowCoordinates (bool value)
 
void slotSetTranslate (QPoint newPos)
 

Signals

void showCoordinatesChanged (bool value)
 
void sigRequestCommitOffsetChanges ()
 
void sigSetTranslateX (int value)
 
void sigSetTranslateY (int value)
 

Public Member Functions

KisToolMove::MoveToolMode mode ()
 
double moveScale ()
 
int moveStep ()
 
 MoveToolOptionsWidget (QWidget *parent, int resolution, QString toolId)
 
bool showCoordinates () const
 

Private Slots

void on_chkShowCoordinates_toggled (bool checked)
 
void on_cmbUnit_currentIndexChanged (int newUnit)
 
void on_radioFirstLayer_toggled (bool checked)
 
void on_radioGroup_toggled (bool checked)
 
void on_radioSelectedLayer_toggled (bool checked)
 
void on_spinMoveScale_valueChanged (double UIMoveScale)
 
void on_spinMoveStep_valueChanged (double UIMoveStep)
 
void on_translateXBox_valueChanged (int arg1)
 
void on_translateYBox_valueChanged (int arg1)
 

Private Member Functions

void setMoveToolMode (KisToolMove::MoveToolMode newMode)
 
void updateUIUnit (int newUnit)
 

Private Attributes

KConfigGroup m_configGroup
 
qreal m_moveScale
 
int m_moveStep
 
int m_moveStepUnit
 
KisToolMove::MoveToolMode m_moveToolMode
 
int m_resolution
 
bool m_showCoordinates
 
int m_TranslateX
 
int m_TranslateY
 

Detailed Description

Definition at line 15 of file kis_tool_movetooloptionswidget.h.

Constructor & Destructor Documentation

◆ MoveToolOptionsWidget()

MoveToolOptionsWidget::MoveToolOptionsWidget ( QWidget * parent,
int resolution,
QString toolId )

Definition at line 13 of file kis_tool_movetooloptionswidget.cpp.

14 : QWidget(parent)
15 , m_resolution(resolution)
16 , m_showCoordinates(false)
17{
18 setupUi(this);
19 m_configGroup = KSharedConfig::openConfig()->group(toolId);
20
21
22 // load radio button
23 m_moveToolMode = static_cast<KisToolMove::MoveToolMode>(m_configGroup.readEntry("moveToolMode", 0));
25 radioSelectedLayer->setChecked(true);
27 radioFirstLayer->setChecked(true);
28 else
29 radioGroup->setChecked(true);
30
31 // Keyboard shortcut move step
32 m_moveStep = m_configGroup.readEntry<int>("moveToolStep", 1);
33 m_moveStepUnit = m_configGroup.readEntry<int>("moveToolUnit", KoUnit(KoUnit::Pixel).indexInListForUi());
34 cmbUnit->addItems(KoUnit::listOfUnitNameForUi());
35 cmbUnit->setCurrentIndex(m_moveStepUnit);
37
38 // Scale for large moves
39 m_moveScale = m_configGroup.readEntry<int>("moveToolScale", 10.0);
40 spinMoveScale->blockSignals(true);
41 spinMoveScale->setValue(m_moveScale);
42 spinMoveScale->setSuffix("x");
43 spinMoveScale->blockSignals(false);
44
45 // Switch mode for showing coordinates
46 m_showCoordinates = m_configGroup.readEntry("moveToolShowCoordinates", false);
47 connect(chkShowCoordinates, SIGNAL(toggled(bool)), SIGNAL(showCoordinatesChanged(bool)));
48
49 chkShowCoordinates->setChecked(m_showCoordinates);
50
51 translateXBox->setSuffix(i18n(" px"));
52 translateYBox->setSuffix(i18n(" px"));
53 translateXBox->setRange(-10000, 10000);
54 translateYBox->setRange(-10000, 10000);
55}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
@ Pixel
Definition KoUnit.h:82
static QStringList listOfUnitNameForUi(ListOptions listOptions=ListAll)
Returns the list of unit types for the UI, controlled with the given listOptions.
Definition KoUnit.cpp:69
int indexInListForUi(ListOptions listOptions=ListAll) const
Definition KoUnit.cpp:101
KisToolMove::MoveToolMode m_moveToolMode
void showCoordinatesChanged(bool value)

References connect(), KoUnit::indexInListForUi(), KoUnit::listOfUnitNameForUi(), m_configGroup, m_moveScale, m_moveStep, m_moveStepUnit, m_moveToolMode, m_showCoordinates, KisToolMove::MoveFirstLayer, KisToolMove::MoveSelectedLayer, KoUnit::Pixel, showCoordinatesChanged(), and updateUIUnit().

Member Function Documentation

◆ mode()

KisToolMove::MoveToolMode MoveToolOptionsWidget::mode ( )

Definition at line 134 of file kis_tool_movetooloptionswidget.cpp.

135{
136 return m_moveToolMode;
137}

References m_moveToolMode.

◆ moveScale()

double MoveToolOptionsWidget::moveScale ( )

Definition at line 144 of file kis_tool_movetooloptionswidget.cpp.

145{
146 return m_moveScale;
147}

References m_moveScale.

◆ moveStep()

int MoveToolOptionsWidget::moveStep ( )

Definition at line 139 of file kis_tool_movetooloptionswidget.cpp.

140{
141 return m_moveStep;
142}

References m_moveStep.

◆ on_chkShowCoordinates_toggled

void MoveToolOptionsWidget::on_chkShowCoordinates_toggled ( bool checked)
privateslot

Definition at line 128 of file kis_tool_movetooloptionswidget.cpp.

129{
130 m_showCoordinates = checked;
131 m_configGroup.writeEntry("moveToolShowCoordinates", m_showCoordinates);
132}

References m_configGroup, and m_showCoordinates.

◆ on_cmbUnit_currentIndexChanged

void MoveToolOptionsWidget::on_cmbUnit_currentIndexChanged ( int newUnit)
privateslot

Definition at line 97 of file kis_tool_movetooloptionswidget.cpp.

98{
99 m_moveStepUnit = newUnit;
100 updateUIUnit(newUnit);
101 m_configGroup.writeEntry("moveToolUnit", newUnit);
102}

References m_configGroup, m_moveStepUnit, and updateUIUnit().

◆ on_radioFirstLayer_toggled

void MoveToolOptionsWidget::on_radioFirstLayer_toggled ( bool checked)
privateslot

Definition at line 110 of file kis_tool_movetooloptionswidget.cpp.

111{
112 Q_UNUSED(checked);
114}
void setMoveToolMode(KisToolMove::MoveToolMode newMode)

References KisToolMove::MoveFirstLayer, and setMoveToolMode().

◆ on_radioGroup_toggled

void MoveToolOptionsWidget::on_radioGroup_toggled ( bool checked)
privateslot

Definition at line 116 of file kis_tool_movetooloptionswidget.cpp.

117{
118 Q_UNUSED(checked);
120}

References KisToolMove::MoveGroup, and setMoveToolMode().

◆ on_radioSelectedLayer_toggled

void MoveToolOptionsWidget::on_radioSelectedLayer_toggled ( bool checked)
privateslot

Definition at line 104 of file kis_tool_movetooloptionswidget.cpp.

105{
106 Q_UNUSED(checked);
108}

References KisToolMove::MoveSelectedLayer, and setMoveToolMode().

◆ on_spinMoveScale_valueChanged

void MoveToolOptionsWidget::on_spinMoveScale_valueChanged ( double UIMoveScale)
privateslot

Definition at line 90 of file kis_tool_movetooloptionswidget.cpp.

91{
92 m_moveScale = UIMoveScale;
93 m_configGroup.writeEntry("moveToolScale", m_moveScale);
94}

References m_configGroup, and m_moveScale.

◆ on_spinMoveStep_valueChanged

void MoveToolOptionsWidget::on_spinMoveStep_valueChanged ( double UIMoveStep)
privateslot

Definition at line 81 of file kis_tool_movetooloptionswidget.cpp.

82{
83 const KoUnit selectedUnit = KoUnit::fromListForUi(m_moveStepUnit);
84 const double scaledUiMoveStep = (selectedUnit == KoUnit(KoUnit::Pixel)) ?
85 UIMoveStep : selectedUnit.fromUserValue(UIMoveStep * m_resolution);
86 m_moveStep = qRound(scaledUiMoveStep);
87 m_configGroup.writeEntry("moveToolStep", m_moveStep);
88}
static KoUnit fromListForUi(int index, ListOptions listOptions=ListAll, qreal factor=1.0)
Definition KoUnit.cpp:80

References KoUnit::fromListForUi(), KoUnit::fromUserValue(), m_configGroup, m_moveStep, m_moveStepUnit, m_resolution, and KoUnit::Pixel.

◆ on_translateXBox_valueChanged

void MoveToolOptionsWidget::on_translateXBox_valueChanged ( int arg1)
privateslot

Definition at line 165 of file kis_tool_movetooloptionswidget.cpp.

166{
167 m_TranslateX = arg1;
168 m_configGroup.writeEntry("moveToolChangedValueX", m_TranslateX);
169 Q_EMIT sigSetTranslateX(arg1);
170}
void sigSetTranslateX(int value)

References m_configGroup, m_TranslateX, and sigSetTranslateX().

◆ on_translateYBox_valueChanged

void MoveToolOptionsWidget::on_translateYBox_valueChanged ( int arg1)
privateslot

Definition at line 172 of file kis_tool_movetooloptionswidget.cpp.

173{
174 m_TranslateY = arg1;
175 m_configGroup.writeEntry("moveToolChangedValueY", m_TranslateY);
176 Q_EMIT sigSetTranslateY(arg1);
177}
void sigSetTranslateY(int value)

References m_configGroup, m_TranslateY, and sigSetTranslateY().

◆ setMoveToolMode()

void MoveToolOptionsWidget::setMoveToolMode ( KisToolMove::MoveToolMode newMode)
private

Definition at line 122 of file kis_tool_movetooloptionswidget.cpp.

123{
124 m_moveToolMode = newMode;
125 m_configGroup.writeEntry("moveToolMode", static_cast<int>(newMode));
126}

References m_configGroup, and m_moveToolMode.

◆ setShowCoordinates

void MoveToolOptionsWidget::setShowCoordinates ( bool value)
slot

Definition at line 154 of file kis_tool_movetooloptionswidget.cpp.

155{
156 chkShowCoordinates->setChecked(value);
157}
float value(const T *src, size_t ch)

References value().

◆ showCoordinates()

bool MoveToolOptionsWidget::showCoordinates ( ) const

Definition at line 149 of file kis_tool_movetooloptionswidget.cpp.

150{
151 return m_showCoordinates;
152}

References m_showCoordinates.

◆ showCoordinatesChanged

void MoveToolOptionsWidget::showCoordinatesChanged ( bool value)
signal

◆ sigRequestCommitOffsetChanges

void MoveToolOptionsWidget::sigRequestCommitOffsetChanges ( )
signal

◆ sigSetTranslateX

void MoveToolOptionsWidget::sigSetTranslateX ( int value)
signal

◆ sigSetTranslateY

void MoveToolOptionsWidget::sigSetTranslateY ( int value)
signal

◆ slotSetTranslate

void MoveToolOptionsWidget::slotSetTranslate ( QPoint newPos)
slot

Definition at line 159 of file kis_tool_movetooloptionswidget.cpp.

160{
161 translateXBox->setValue(newPos.x());
162 translateYBox->setValue(newPos.y());
163}

◆ updateUIUnit()

void MoveToolOptionsWidget::updateUIUnit ( int newUnit)
private

Definition at line 57 of file kis_tool_movetooloptionswidget.cpp.

58{
59 const KoUnit selectedUnit = KoUnit::fromListForUi(newUnit);
60 qreal valueForUI;
61 if (selectedUnit != KoUnit(KoUnit::Pixel)) {
62 spinMoveStep->setRange(0.0001, 10000.000);
63 spinMoveStep->setSingleStep(0.1);
64 spinMoveStep->setDecimals(4);
65 valueForUI = selectedUnit.toUserValue((qreal)m_moveStep / (qreal)m_resolution);
66 } else {
67 spinMoveStep->setRange(1, 10000);
68 spinMoveStep->setSingleStep(1);
69 spinMoveStep->setDecimals(0);
70 valueForUI = m_moveStep;
71 }
72
73 spinMoveStep->blockSignals(true);
74 spinMoveStep->setValue(valueForUI);
75 spinMoveStep->blockSignals(false);
76
77 connect(translateXBox, SIGNAL(editingFinished()), SIGNAL(sigRequestCommitOffsetChanges()), Qt::UniqueConnection);
78 connect(translateYBox, SIGNAL(editingFinished()), SIGNAL(sigRequestCommitOffsetChanges()), Qt::UniqueConnection);
79}
qreal toUserValue(qreal ptValue, bool rounding=true) const
Definition KoUnit.cpp:186
void sigRequestCommitOffsetChanges()

References connect(), KoUnit::fromListForUi(), m_moveStep, m_resolution, KoUnit::Pixel, sigRequestCommitOffsetChanges(), and KoUnit::toUserValue().

Member Data Documentation

◆ m_configGroup

KConfigGroup MoveToolOptionsWidget::m_configGroup
private

Definition at line 70 of file kis_tool_movetooloptionswidget.h.

◆ m_moveScale

qreal MoveToolOptionsWidget::m_moveScale
private

Definition at line 63 of file kis_tool_movetooloptionswidget.h.

◆ m_moveStep

int MoveToolOptionsWidget::m_moveStep
private

Definition at line 61 of file kis_tool_movetooloptionswidget.h.

◆ m_moveStepUnit

int MoveToolOptionsWidget::m_moveStepUnit
private

Definition at line 62 of file kis_tool_movetooloptionswidget.h.

◆ m_moveToolMode

KisToolMove::MoveToolMode MoveToolOptionsWidget::m_moveToolMode
private

Definition at line 64 of file kis_tool_movetooloptionswidget.h.

◆ m_resolution

int MoveToolOptionsWidget::m_resolution
private

Definition at line 60 of file kis_tool_movetooloptionswidget.h.

◆ m_showCoordinates

bool MoveToolOptionsWidget::m_showCoordinates
private

Definition at line 65 of file kis_tool_movetooloptionswidget.h.

◆ m_TranslateX

int MoveToolOptionsWidget::m_TranslateX
private

Definition at line 67 of file kis_tool_movetooloptionswidget.h.

◆ m_TranslateY

int MoveToolOptionsWidget::m_TranslateY
private

Definition at line 68 of file kis_tool_movetooloptionswidget.h.


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