/**
* @brief Callback, that invoked when all results are prepared
* @details Invoked on view close
+ * @return True if view should be closed, otherwise false
*/
- typedef std::function<void(PersonIds)> ResultCallback;
+ typedef std::function<bool(PersonIds)> ResultCallback;
/**
* @brief Create new person list view
deleteView->setMode(ModeMultiPick);
deleteView->setResultCallback([](PersonIds ids) {
contacts_db_delete_records(_contacts_person._uri, ids.data(), ids.size());
+
+ return true;
});
});
void ListView::onDonePressed(Evas_Object *button, void *eventInfo)
{
- if (m_OnResult) {
- m_OnResult(getCheckedPersonIds());
+ if (m_OnResult && m_OnResult(getCheckedPersonIds())) {
+ delete this;
}
-
- delete this;
}
void ListView::onPersonItemInserted(PersonItem *item)
void ListView::onPersonSelected(const Model::Person &person)
{
- if (m_OnResult) {
- m_OnResult({ person.getId() });
+ if (m_OnResult && m_OnResult({ person.getId() })) {
+ delete this;
}
}