Changeset View
Changeset View
Standalone View
Standalone View
widgets/imagelib/effects/kpEffectInvertWidget.cpp
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Line(s) | |||||
43 | #include <QLayout> | 43 | #include <QLayout> | ||
44 | #include <QPixmap> | 44 | #include <QPixmap> | ||
45 | 45 | | |||
46 | 46 | | |||
47 | kpEffectInvertWidget::kpEffectInvertWidget (bool actOnSelection, | 47 | kpEffectInvertWidget::kpEffectInvertWidget (bool actOnSelection, | ||
48 | QWidget *parent) | 48 | QWidget *parent) | ||
49 | : kpEffectWidgetBase (actOnSelection, parent) | 49 | : kpEffectWidgetBase (actOnSelection, parent) | ||
50 | { | 50 | { | ||
51 | QVBoxLayout *topLevelLay = new QVBoxLayout (this); | 51 | auto *topLevelLay = new QVBoxLayout (this); | ||
52 | topLevelLay->setContentsMargins(0, 0, 0, 0); | 52 | topLevelLay->setContentsMargins(0, 0, 0, 0); | ||
53 | 53 | | |||
54 | 54 | auto *centerWidget = new QWidget (this); | |||
55 | QWidget *centerWidget = new QWidget (this); | | |||
56 | topLevelLay->addWidget (centerWidget, 0/*stretch*/, Qt::AlignCenter); | 55 | topLevelLay->addWidget (centerWidget, 0/*stretch*/, Qt::AlignCenter); | ||
57 | 56 | | |||
58 | 57 | auto *centerWidgetLay = new QVBoxLayout (centerWidget ); | |||
59 | QVBoxLayout *centerWidgetLay = new QVBoxLayout (centerWidget ); | | |||
60 | centerWidgetLay->setContentsMargins(0, 0, 0, 0); | 58 | centerWidgetLay->setContentsMargins(0, 0, 0, 0); | ||
61 | 59 | | |||
62 | m_redCheckBox = new QCheckBox (i18n ("&Red"), centerWidget); | 60 | m_redCheckBox = new QCheckBox (i18n ("&Red"), centerWidget); | ||
63 | m_greenCheckBox = new QCheckBox (i18n ("&Green"), centerWidget); | 61 | m_greenCheckBox = new QCheckBox (i18n ("&Green"), centerWidget); | ||
64 | m_blueCheckBox = new QCheckBox (i18n ("&Blue"), centerWidget); | 62 | m_blueCheckBox = new QCheckBox (i18n ("&Blue"), centerWidget); | ||
65 | 63 | | |||
66 | QWidget *spaceWidget = new QWidget (centerWidget); | 64 | auto *spaceWidget = new QWidget (centerWidget); | ||
67 | spaceWidget->setFixedSize (1, fontMetrics ().height () / 4); | 65 | spaceWidget->setFixedSize (1, fontMetrics ().height () / 4); | ||
68 | 66 | | |||
69 | m_allCheckBox = new QCheckBox (i18n ("&All"), centerWidget); | 67 | m_allCheckBox = new QCheckBox (i18n ("&All"), centerWidget); | ||
70 | 68 | | |||
71 | 69 | | |||
72 | m_redCheckBox->setChecked (false); | 70 | m_redCheckBox->setChecked (false); | ||
73 | m_greenCheckBox->setChecked (false); | 71 | m_greenCheckBox->setChecked (false); | ||
74 | m_blueCheckBox->setChecked (false); | 72 | m_blueCheckBox->setChecked (false); | ||
Show All 19 Lines | |||||
94 | 92 | | |||
95 | connect (m_blueCheckBox, &QCheckBox::toggled, | 93 | connect (m_blueCheckBox, &QCheckBox::toggled, | ||
96 | this, &kpEffectInvertWidget::slotRGBCheckBoxToggled); | 94 | this, &kpEffectInvertWidget::slotRGBCheckBoxToggled); | ||
97 | 95 | | |||
98 | connect (m_allCheckBox, &QCheckBox::toggled, | 96 | connect (m_allCheckBox, &QCheckBox::toggled, | ||
99 | this, &kpEffectInvertWidget::slotAllCheckBoxToggled); | 97 | this, &kpEffectInvertWidget::slotAllCheckBoxToggled); | ||
100 | } | 98 | } | ||
101 | 99 | | |||
102 | kpEffectInvertWidget::~kpEffectInvertWidget () | 100 | kpEffectInvertWidget::~kpEffectInvertWidget () = default; | ||
103 | { | | |||
104 | } | | |||
105 | 101 | | |||
106 | 102 | | |||
107 | // public | 103 | // public | ||
108 | int kpEffectInvertWidget::channels () const | 104 | int kpEffectInvertWidget::channels () const | ||
109 | { | 105 | { | ||
110 | qCDebug(kpLogWidgets) << "kpEffectInvertWidget::channels()" | 106 | qCDebug(kpLogWidgets) << "kpEffectInvertWidget::channels()" | ||
111 | << " isChecked: r=" << m_redCheckBox->isChecked () | 107 | << " isChecked: r=" << m_redCheckBox->isChecked () | ||
112 | << " g=" << m_greenCheckBox->isChecked () | 108 | << " g=" << m_greenCheckBox->isChecked () | ||
113 | << " b=" << m_blueCheckBox->isChecked (); | 109 | << " b=" << m_blueCheckBox->isChecked (); | ||
114 | 110 | | |||
115 | int channels = 0; | 111 | int channels = 0; | ||
116 | 112 | | |||
117 | 113 | | |||
118 | if (m_redCheckBox->isChecked ()) | 114 | if (m_redCheckBox->isChecked ()) { | ||
119 | channels |= kpEffectInvert::Red; | 115 | channels |= kpEffectInvert::Red; | ||
116 | } | ||||
120 | 117 | | |||
121 | if (m_greenCheckBox->isChecked ()) | 118 | if (m_greenCheckBox->isChecked ()) { | ||
122 | channels |= kpEffectInvert::Green; | 119 | channels |= kpEffectInvert::Green; | ||
120 | } | ||||
123 | 121 | | |||
124 | if (m_blueCheckBox->isChecked ()) | 122 | if (m_blueCheckBox->isChecked ()) { | ||
125 | channels |= kpEffectInvert::Blue; | 123 | channels |= kpEffectInvert::Blue; | ||
124 | } | ||||
126 | 125 | | |||
127 | 126 | | |||
128 | qCDebug(kpLogWidgets) << "\treturning channels=" << (int *) channels; | 127 | qCDebug(kpLogWidgets) << "\treturning channels=" << (int *) channels; | ||
129 | return channels; | 128 | return channels; | ||
130 | } | 129 | } | ||
131 | 130 | | |||
132 | 131 | | |||
133 | // | 132 | // | ||
Show All 28 Lines | 160 | return new kpEffectInvertCommand (channels (), | |||
162 | m_actOnSelection, | 161 | m_actOnSelection, | ||
163 | cmdEnviron); | 162 | cmdEnviron); | ||
164 | } | 163 | } | ||
165 | 164 | | |||
166 | 165 | | |||
167 | // protected slots | 166 | // protected slots | ||
168 | void kpEffectInvertWidget::slotRGBCheckBoxToggled () | 167 | void kpEffectInvertWidget::slotRGBCheckBoxToggled () | ||
169 | { | 168 | { | ||
170 | if (m_inSignalHandler) | 169 | if (m_inSignalHandler) { | ||
171 | return; | 170 | return; | ||
171 | } | ||||
172 | 172 | | |||
173 | m_inSignalHandler = true; | 173 | m_inSignalHandler = true; | ||
174 | 174 | | |||
175 | //blockSignals (true); | 175 | //blockSignals (true); | ||
176 | m_allCheckBox->setChecked (m_redCheckBox->isChecked () && | 176 | m_allCheckBox->setChecked (m_redCheckBox->isChecked () && | ||
177 | m_blueCheckBox->isChecked () && | 177 | m_blueCheckBox->isChecked () && | ||
178 | m_greenCheckBox->isChecked ()); | 178 | m_greenCheckBox->isChecked ()); | ||
179 | //blockSignals (false); | 179 | //blockSignals (false); | ||
180 | 180 | | |||
181 | emit settingsChanged (); | 181 | emit settingsChanged (); | ||
182 | 182 | | |||
183 | m_inSignalHandler = false; | 183 | m_inSignalHandler = false; | ||
184 | } | 184 | } | ||
185 | 185 | | |||
186 | // protected slot | 186 | // protected slot | ||
187 | void kpEffectInvertWidget::slotAllCheckBoxToggled () | 187 | void kpEffectInvertWidget::slotAllCheckBoxToggled () | ||
188 | { | 188 | { | ||
189 | if (m_inSignalHandler) | 189 | if (m_inSignalHandler) { | ||
190 | return; | 190 | return; | ||
191 | } | ||||
191 | 192 | | |||
192 | m_inSignalHandler = true; | 193 | m_inSignalHandler = true; | ||
193 | 194 | | |||
194 | //blockSignals (true); | 195 | //blockSignals (true); | ||
195 | m_redCheckBox->setChecked (m_allCheckBox->isChecked ()); | 196 | m_redCheckBox->setChecked (m_allCheckBox->isChecked ()); | ||
196 | m_greenCheckBox->setChecked (m_allCheckBox->isChecked ()); | 197 | m_greenCheckBox->setChecked (m_allCheckBox->isChecked ()); | ||
197 | m_blueCheckBox->setChecked (m_allCheckBox->isChecked ()); | 198 | m_blueCheckBox->setChecked (m_allCheckBox->isChecked ()); | ||
198 | //blockSignals (false); | 199 | //blockSignals (false); | ||
199 | 200 | | |||
200 | emit settingsChanged (); | 201 | emit settingsChanged (); | ||
201 | 202 | | |||
202 | m_inSignalHandler = false; | 203 | m_inSignalHandler = false; | ||
203 | } | 204 | } | ||
204 | 205 | | |||
205 | 206 | | |||
206 | 207 | |