summaryrefslogtreecommitdiff
path: root/src/ui/ui_contacts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/ui_contacts.cpp')
-rw-r--r--src/ui/ui_contacts.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/ui/ui_contacts.cpp b/src/ui/ui_contacts.cpp
index 0f1716f..5d92f8a 100644
--- a/src/ui/ui_contacts.cpp
+++ b/src/ui/ui_contacts.cpp
@@ -154,10 +154,15 @@ static void draw_contact_list()
}
}
+static void _reset_to_default_view()
+{
+ current_view_state = ui::view_state::LIST_ALL;
+}
+
static void draw_contacts_create()
{
- if (ImGui::Button(locale::get("form.back"))) {
- current_view_state = ui::view_state::LIST_ALL;
+ if (ImGui::Button(locale::get("form.back"), true, false)) {
+ _reset_to_default_view();
}
ImGui::ContactForm(&active_contact, false, false);
@@ -167,17 +172,17 @@ static void draw_contacts_create()
if (!can_save) ImGui::BeginDisabled();
// Save button
ImGui::Spacing();
- if (ImGui::Button(locale::get("form.save"))) {
+ if (ImGui::Button(locale::get("form.save"), true)) {
+ administration_writer::set_write_completed_event_callback(_reset_to_default_view);
administration::contact_add(active_contact);
- current_view_state = ui::view_state::LIST_ALL;
}
if (!can_save) ImGui::EndDisabled();
}
static void draw_contacts_update()
{
- if (ImGui::Button(locale::get("form.back"))) {
- current_view_state = ui::view_state::LIST_ALL;
+ if (ImGui::Button(locale::get("form.back"), true, false)) {
+ _reset_to_default_view();
}
ImGui::ContactForm(&active_contact, false, false);
@@ -187,9 +192,9 @@ static void draw_contacts_update()
if (!can_save) ImGui::BeginDisabled();
// Save button
ImGui::Spacing();
- if (ImGui::Button(locale::get("form.save"))) {
+ if (ImGui::Button(locale::get("form.save"), true)) {
+ administration_writer::set_write_completed_event_callback(_reset_to_default_view);
administration::contact_update(active_contact);
- current_view_state = ui::view_state::LIST_ALL;
}
if (!can_save) ImGui::EndDisabled();
}
@@ -203,8 +208,8 @@ void ui::draw_contacts()
case ui::view_state::EDIT_EXISTING: draw_contacts_update(); break;
case ui::view_state::VIEW_EXISTING:
- if (ImGui::Button(locale::get("form.back"))) {
- current_view_state = ui::view_state::LIST_ALL;
+ if (ImGui::Button(locale::get("form.back"), true, false)) {
+ _reset_to_default_view();
}
ImGui::ContactForm(&active_contact, true, false);