MCPcopy Create free account
hub / github.com/davy7125/polyphone / buttonClicked

Method buttonClicked

sources/repository/browser/filterflow.cpp:173–231  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171}
172
173void FilterFlow::buttonClicked()
174{
175 // Sender
176 QPushButton* currentButton = dynamic_cast<QPushButton *>(QObject::sender());
177
178 this->blockSignals(true);
179
180 // Button "all" clicked?
181 bool updateNeeded = false;
182 if (_layout->itemAt(0)->widget() == currentButton)
183 {
184 currentButton->setChecked(true);
185 for (int i = 1; i < _layout->count(); i++)
186 {
187 QPushButton * buttonTmp = dynamic_cast<QPushButton *>(_layout->itemAt(i)->widget());
188 if (buttonTmp->isChecked())
189 {
190 updateNeeded = true;
191 buttonTmp->setChecked(false);
192 }
193 }
194 }
195 else
196 {
197 if (_singleSelection)
198 {
199 currentButton->setChecked(true);
200 for (int i = 0; i < _layout->count(); i++)
201 {
202 QPushButton * buttonTmp = dynamic_cast<QPushButton *>(_layout->itemAt(i)->widget());
203 if (buttonTmp != currentButton && buttonTmp->isChecked())
204 {
205 updateNeeded = true;
206 buttonTmp->setChecked(false);
207 }
208 }
209 }
210 else
211 {
212 updateNeeded = true;
213 bool allSelected = true;
214 for (int i = 1; i < _layout->count(); i++)
215 {
216 QPushButton * buttonTmp = dynamic_cast<QPushButton *>(_layout->itemAt(i)->widget());
217 if (buttonTmp->isChecked())
218 {
219 allSelected = false;
220 break;
221 }
222 }
223 (dynamic_cast<QPushButton *>(_layout->itemAt(0)->widget()))->setChecked(allSelected);
224 }
225 }
226 this->blockSignals(false);
227
228 // Notify about the change
229 if (updateNeeded)
230 emit selectionChanged();

Callers

nothing calls this directly

Calls 2

itemAtMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected