| 63 | } |
| 64 | |
| 65 | void WidgetSettingFlag::Refresh(RefreshAreas refresh_areas) { |
| 66 | const SettingDependenceMode enabled = ::CheckDependence(this->meta, data_set); |
| 67 | |
| 68 | this->item->setHidden(enabled == SETTING_DEPENDENCE_HIDE); |
| 69 | this->item->setDisabled(enabled != SETTING_DEPENDENCE_ENABLE); |
| 70 | this->field->setEnabled(enabled == SETTING_DEPENDENCE_ENABLE); |
| 71 | this->setEnabled(enabled == SETTING_DEPENDENCE_ENABLE); |
| 72 | |
| 73 | if (refresh_areas == REFRESH_ENABLE_AND_STATE) { |
| 74 | if (::CheckSettingOverridden(this->meta)) { |
| 75 | this->DisplayOverride(this->field, this->meta); |
| 76 | } |
| 77 | |
| 78 | const std::vector<std::string>& value = this->data().value; |
| 79 | |
| 80 | this->field->blockSignals(true); |
| 81 | this->field->setChecked(std::find(value.begin(), value.end(), this->flag) != value.end()); |
| 82 | this->field->blockSignals(false); |
| 83 | } |
| 84 | } |
| 85 | |
| 86 | void WidgetSettingFlag::OnClicked(bool checked) { |
| 87 | if (checked) { |
no test coverage detected