diff --git a/src/ltui/mconfdialog.lua b/src/ltui/mconfdialog.lua index c60256c..6f41034 100644 --- a/src/ltui/mconfdialog.lua +++ b/src/ltui/mconfdialog.lua @@ -53,7 +53,10 @@ Pressing includes, excludes. Enter or to go back, for H self:menuconf():on_event(event.command {"cm_back"}) self:buttons():select(self:button("select")) end) - self:button_add("exit", "< Exit >", function (v, e) self:quit() end) + self:button_add("exit", "< Exit >", function (v, e) + self:show_exit([[Did you wish to save your new configuration? +Pressing to continue your configuration.]]) + end) self:button_add("help", "< Help >", function (v, e) self:show_help() end) self:button_add("save", "< Save >", function (v, e) self:action_on(action.ac_on_save) end) self:buttons():select(self:button("select")) @@ -262,6 +265,24 @@ function mconfdialog:searchdialog() return self._SEARCHDIALOG end +-- get exit dialog +function mconfdialog:exitdialog() + if not self._EXITDIALOG then + local exitdialog = textdialog:new("mconfdialog.exit", rect{0, 0, math.min(80, self:width() - 8), math.min(8, self:height())}, "") + exitdialog:background_set(self:frame():background()) + exitdialog:frame():background_set("cyan") + exitdialog:button_add("Yes", "< Yes >", function (v) + self:action_on(action.ac_on_save) + self:quit() + end) + exitdialog:button_add("No", "< No >", function (v) self:quit() end) + exitdialog:option_set("scrollable", false) + exitdialog:button_select("Yes") + self._EXITDIALOG = exitdialog + end + return self._EXITDIALOG +end + -- search configs via the given text function mconfdialog:search(configs, text) local results = {} @@ -340,6 +361,17 @@ function mconfdialog:show_result(text) end end +-- show exit dialog +function mconfdialog:show_exit(text) + local dialog_exit = self:exitdialog() + dialog_exit:text():text_set(text) + if not self:view("mconfdialog.exit") then + self:insert(dialog_exit, {centerx = true, centery = true}) + else + self:select(dialog_exit) + end +end + -- on event function mconfdialog:on_event(e)