From b0442c105b676a9473eb271145a1fda93ddb386a Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sat, 14 Oct 2023 23:26:37 -0700 Subject: [PATCH] move from click to edit to double click to edit --- changelog.txt | 1 + docs/gui/gm-editor.rst | 16 +++++++++------- gui/gm-editor.lua | 11 ++++++----- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/changelog.txt b/changelog.txt index ac7490dc00..1f842444cb 100644 --- a/changelog.txt +++ b/changelog.txt @@ -43,6 +43,7 @@ Template for new versions: - `hide-tutorials`: fix the embark tutorial prompt sometimes not being skipped ## Misc Improvements +- `gui/gm-editor`: change from click to edit to click to select, double-click to edit. this should help prevent accidental modifications to the data and make zooming to location and selecting ids for dereferencing easier ## Removed diff --git a/docs/gui/gm-editor.rst b/docs/gui/gm-editor.rst index d81c014c2d..df3f616546 100644 --- a/docs/gui/gm-editor.rst +++ b/docs/gui/gm-editor.rst @@ -8,14 +8,16 @@ gui/gm-editor This editor allows you to inspect or modify almost anything in DF. Press :kbd:`?` for in-game help. -If you just want to browse without fear of accidentally changing anything, hit -:kbd:`Ctrl`:kbd:`D` to toggle read-only mode. +Select a field and hit :kbd:`Enter` or double click to edit, or, for structured +fields, to inspect their contents. Right click or hit :kbd:`Esc` to go back to +the previous structure you were inspecting. Right clicking when viewing the +structure you started with will exit the tool. Hold down :kbd:`Shift` and right +click to exit, even if you are inspecting a substructure, no matter how deep. -Click on fields to edit them or, for structured fields, to inspect their -contents. Right click or hit :kbd:`Esc` to go back to the previous structure -you were inspecting. Right clicking when viewing the structure you started with -will exit the tool. Hold down :kbd:`Shift` and right click to exit, even if you -are inspecting a substructure. +If you just want to browse without fear of accidentally changing anything, hit +:kbd:`Ctrl`:kbd:`D` to toggle read-only mode. If you want `gui/gm-editor` to +automatically pick up changes to game data in realtime, hit :kbd:`Alt`:kbd:`A` +to switch to auto update mode. Usage ----- diff --git a/gui/gm-editor.lua b/gui/gm-editor.lua index 380e9cdd3c..90de0e9567 100644 --- a/gui/gm-editor.lua +++ b/gui/gm-editor.lua @@ -142,9 +142,8 @@ function GmEditorUi:init(args) local helpPage=widgets.Panel{ subviews={widgets.Label{text=helptext,frame = {l=1,t=1,yalign=0}}}} - local mainList=widgets.List{view_id="list_main",choices={},frame = {l=1,t=3,yalign=0},on_submit=self:callback("editSelected"), - on_submit2=self:callback("editSelectedRaw"), - text_pen=COLOR_GREY, cursor_pen=COLOR_YELLOW} + local mainList=widgets.List{view_id="list_main",choices={},frame = {l=1,t=3,yalign=0},on_double_click=self:callback("editSelected"), + on_double_click2=self:callback("editSelectedRaw"), text_pen=COLOR_GREY, cursor_pen=COLOR_YELLOW} local mainPage=widgets.Panel{ subviews={ mainList, @@ -443,7 +442,7 @@ end function GmEditorUi:editSelectedRaw(index,choice) self:editSelected(index, choice, {raw=true}) end -function GmEditorUi:editSelected(index,choice,opts) +function GmEditorUi:editSelected(index,_,opts) if not self:verifyStack() then self:updateTarget() return @@ -530,7 +529,9 @@ function GmEditorUi:onInput(keys) return false end - if keys[keybindings.toggle_ro.key] then + if keys.SELECT then + self:editSelected(self.subviews.list_main:getSelected()) + elseif keys[keybindings.toggle_ro.key] then self.read_only = not self.read_only self:updateTitles() return true