#include "RemoveSwitchesModalPresenter.hpp"
+#include "AppContext.hpp"
+
RemoveSwitchesModalPresenter::RemoveSwitchesModalPresenter(std::vector<SwitchConfigurationItem> switches, std::vector<std::string> switchesToRemove)
: switches_(std::move(switches)), switchesToRemove_(std::move(switchesToRemove))
{
doneCb_ = [this]() {
model_.removeSwitches(switchesToRemove_);
+ Singleton<AppContext>::instance().popModal();
+ Singleton<AppContext>::instance().pop();
};
}
\ No newline at end of file
setTitle("IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_GROUP_SWITCHES");
groups_.emplace_back("");
- addAction(std::make_unique<Action>("titleRightAction", "IDS_ACCS_DELETE_CAPS", [this](auto action) {
+ deleteSwitchesAction_ = addAction(std::make_unique<Action>("titleRightAction", "IDS_ACCS_DELETE_CAPS", [this](auto action) {
Singleton<AppContext>::instance().push(std::make_unique<RemoveSwitchesPagePresenter>());
},
true));
+ updateSwitchDeleteAction();
addItemsToList();
model_.switchesConfigurationChanged_.attach([this](auto timeStamp) {
+ this->updateSwitchDeleteAction();
groups_.back().items_.clear();
this->addItemsToList();
if (this->onListUpdate_)
Singleton<AppContext>::instance().push(std::make_unique<SelectActionPagePresenter>(switchId, ACCESSIBILITY_UNIVERSAL_SWITCH_CAMERA_SWITCH_PROVIDER, ChangeType::UPDATE, 0));
return;
}
+}
+
+void SwitchesPagePresenter::updateSwitchDeleteAction()
+{
+ if (model_.getAllSwitchConfigurationItems().size() == 0)
+ deleteSwitchesAction_->enabled_ = false;
+ else
+ deleteSwitchesAction_->enabled_ = true;
}
\ No newline at end of file
SwitchesPagePresenter();
private:
- SwitchesPageModel model_;
void addItemsToList();
void createUpdatePage(const std::string &switchId);
+ void updateSwitchDeleteAction();
+ SwitchesPageModel model_;
+ Action *deleteSwitchesAction_ = nullptr;
};
#endif