6 const std::string &opt,
7 std::function<std::vector<SettingItem>()> itemBuilder) :
10 itemBuilder(std::move(itemBuilder)),
27 for(
const auto &
opt :
item.opts){
30 for(
const auto &condClause :
item.conditions){
31 for(
const auto &condItem : condClause){
42 const std::vector<std::vector<ConditionItem>> &conds,
45 for(
const auto &condClause : conds){
47 for(
const auto &condItem : condClause){
51 val =
val != condItem.negation;
69 for(i = 0; i <
box->count(); i++){
73 for(
const auto &itemOpt :
item.opts){
85 box->setCurrentIndex(i);
95 if(
opt.getName() != this->opt)
108 for(
const auto &i :
items){
110 box->addItem(QString::fromStdString(i.name),
111 QVariant::fromValue(i));
120 for(
const auto &option :
item.opts){
std::vector< SettingItem > items
void updateUiState() override
ComboBoxUi(QComboBox *box, Settings *settings, const std::string &opt, std::function< std::vector< SettingItem >()> itemBuilder)
std::function< std::vector< SettingItem >()> itemBuilder
void itemSelected(int index)
void optChangeCallback(Option &opt, bool suboption) override
void connectSignals() override
std::string getValue() const
virtual void setValue(const std::string &val, bool suppressCallback=false)
const Option & getOption(const std::string &opt) const
static bool conditionsSatisfied(const std::vector< std::vector< ConditionItem > > &conds, Settings *settings)
QOverload< Args... > Overload