From d853d1c9912b80a9cee18e9e9530a859e0b15ece Mon Sep 17 00:00:00 2001 From: bbassie Date: Sat, 10 Apr 2021 22:13:21 +0200 Subject: [PATCH] Delete button and some fixes - Add delete task button - Fix update task item - Fix no tasks found visibility and tooltip --- locale/en/gui.cfg | 2 ++ modules/gui/task-list.lua | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/locale/en/gui.cfg b/locale/en/gui.cfg index 41338c23..557253d2 100644 --- a/locale/en/gui.cfg +++ b/locale/en/gui.cfg @@ -80,6 +80,8 @@ confirm=Confirm confirm-tooltip=Save task discard=Discard discard-tooltip=Discard task/changes +delete=Delete +delete-tooltip=Delete task close=Close close-tooltip=Close task details edit=Edit task diff --git a/modules/gui/task-list.lua b/modules/gui/task-list.lua index 21606601..3d7e7ac0 100644 --- a/modules/gui/task-list.lua +++ b/modules/gui/task-list.lua @@ -121,7 +121,7 @@ local no_tasks_found = type = "label", style = "bold_label", caption = {"", "[img=utility/warning_white] ", {"task-list.no-tasks"}}, - tooltip = "Add task" + tooltip = {"task-list.no-tasks-tooltip"} } return header end @@ -250,6 +250,19 @@ local view_task_close_button = PlayerSelected:set(player, nil) end ) +local view_task_delete_button = + Gui.element { + type = "button", + caption = {"", "[img=utility/trash] ", {"task-list.delete"}}, + tooltip = {"task-list.delete-tooltip"}, + style = "shortcut_bar_button_red" +}:style(Styles.footer_button):on_click( + function(player, _, _) + local selected = PlayerSelected:get(player) + PlayerSelected:set(player, nil) + Tasks.remove_task(selected) + end +) local task_view_footer = Gui.element( @@ -267,7 +280,7 @@ local task_view_footer = label.style.single_line = false local action_flow = subfooter_actions(footer) - + view_task_delete_button(action_flow) view_task_edit_button(action_flow) view_task_close_button(action_flow) return footer @@ -467,13 +480,14 @@ Gui.left_toolbar_button( local update_task = function(player, task_list_element, task_id) local task = Tasks.get_task(task_id) local task_ids = Tasks.get_force_task_ids(player.force.name) + -- Set visibility of the no_tasks_found element + task_list_element.parent.parent.no_tasks_found_element.visible = #task_ids == 0 -- Task no longer exists so should be removed from the list if not task then - task_list_element["task-" .. task_id] = nil + task_list_element["task-" .. task_id].destroy() return end - task_list_element.parent.parent.no_tasks_found_element.visible = #task_ids == 0 local element -- If task does not exist yet add it to the list @@ -511,8 +525,10 @@ local update_task_view_footer = function(player, task_id) local message_element = view_flow.message local edit_button_element = view_flow.actions[view_task_edit_button.name] + local delete_button_element = view_flow.actions[view_task_delete_button.name] edit_button_element.visible = has_permission + delete_button_element.visible = has_permission message_element.caption = task.message local players_editing = table.get_keys(task.currently_editing)