void ActivityScenariosView::loadScenarioList() { elm_genlist_clear(scenario_list); GenlistItemScenarioHeader *headerLight = NULL, *headerShutter = NULL, *headerOther = NULL; if (view_mode == VIEW_MODE_ALL || view_mode == VIEW_MODE_SCHEDULE) { headerLight = new GenlistItemScenarioHeader(evas, parent, _("Lights scenarios")); headerLight->Append(scenario_list); headerShutter = new GenlistItemScenarioHeader(evas, parent, _("Shutters scenarios")); headerShutter->Append(scenario_list); headerOther = new GenlistItemScenarioHeader(evas, parent, _("Other Scenarios")); headerOther->Append(scenario_list); } else if (view_mode == VIEW_MODE_LIGHT) { headerLight = new GenlistItemScenarioHeader(evas, parent, _("Lights scenarios")); headerLight->Append(scenario_list); } else if (view_mode == VIEW_MODE_SHUTTER) { headerShutter = new GenlistItemScenarioHeader(evas, parent, _("Shutters scenarios")); headerShutter->Append(scenario_list); } //populate the scenario list list<Scenario *>::iterator it = CalaosModel::Instance().getScenario()->scenarios.begin(); for (;it != CalaosModel::Instance().getScenario()->scenarios.end();it++) { Scenario *sc = *it; bool cont = true; if (sc->getFirstCategory() == "light" && (view_mode == VIEW_MODE_ALL || view_mode == VIEW_MODE_LIGHT || view_mode == VIEW_MODE_SCHEDULE)) { if (view_mode == VIEW_MODE_SCHEDULE) { if (sc->isScheduled()) cont = false; } else cont = false; } if (sc->getFirstCategory() == "shutter" && (view_mode == VIEW_MODE_ALL || view_mode == VIEW_MODE_SHUTTER || view_mode == VIEW_MODE_SCHEDULE)) { if (view_mode == VIEW_MODE_SCHEDULE) { if (sc->isScheduled()) cont = false; } else cont = false; } if (sc->getFirstCategory() == "other" && (view_mode == VIEW_MODE_ALL || view_mode == VIEW_MODE_SCHEDULE)) { if (view_mode == VIEW_MODE_SCHEDULE) { if (sc->isScheduled()) cont = false; } else cont = false; } if (cont) continue; GenlistItemScenarioSchedule *item = new GenlistItemScenarioSchedule(evas, parent, false, sc); item->schedule_add_click.connect(sigc::mem_fun(schedule_add_click, &sigc::signal<void, Scenario *>::emit)); item->schedule_modify_click.connect(sigc::mem_fun(schedule_modify_click, &sigc::signal<void, Scenario *>::emit)); item->schedule_del_click.connect(sigc::mem_fun(schedule_del_click, &sigc::signal<void, Scenario *>::emit)); if (sc->getFirstCategory() == "light") item->InsertAfter(scenario_list, headerLight); else if (sc->getFirstCategory() == "shutter") item->InsertAfter(scenario_list, headerShutter); else item->InsertAfter(scenario_list, headerOther); } }