From 86b57380a605894f9752327cea12edcb38f316de Mon Sep 17 00:00:00 2001 From: Robob27 Date: Thu, 2 Feb 2023 01:20:42 -0500 Subject: [PATCH] fixup unnecessary changes, remove unnecessary stuff --- library/lua/gui/dwarfmode.lua | 40 -------------- library/modules/Screen.cpp | 2 +- plugins/buildingplan/buildingplan.cpp | 2 +- plugins/dwarfmonitor.cpp | 6 +-- plugins/embark-assistant/finder_ui.cpp | 2 +- plugins/embark-assistant/help_ui.cpp | 2 +- plugins/embark-tools.cpp | 2 +- plugins/manipulator.cpp | 6 +-- plugins/stocks.cpp | 4 +- test/library/gui/dwarfmode.lua | 75 -------------------------- 10 files changed, 13 insertions(+), 128 deletions(-) delete mode 100644 test/library/gui/dwarfmode.lua diff --git a/library/lua/gui/dwarfmode.lua b/library/lua/gui/dwarfmode.lua index 1f449dab5..4c1a73f3a 100644 --- a/library/lua/gui/dwarfmode.lua +++ b/library/lua/gui/dwarfmode.lua @@ -29,46 +29,6 @@ SIDEBAR_MODE_KEYS = { [df.ui_sidebar_mode.ViewUnits]='D_VIEWUNIT', } --- Sends ESC keycodes until we get to dwarfmode/Default and then enters the --- specified sidebar mode with the corresponding keycode. If we don't get to --- Default after max_esc presses of ESC (default value is 10), we throw an --- error. The target sidebar mode must be a member of SIDEBAR_MODE_KEYS -function enterSidebarMode(sidebar_mode, max_esc) - local navkey = SIDEBAR_MODE_KEYS[sidebar_mode] - if not navkey then - error(('Invalid or unsupported sidebar mode: %s (%s)') - :format(sidebar_mode, df.ui_sidebar_mode[sidebar_mode])) - end - local max_esc_num = tonumber(max_esc) - if max_esc and (not max_esc_num or max_esc_num <= 0) then - error(('max_esc must be a positive number: got %s') - :format(tostring(max_esc))) - end - local remaining_esc = max_esc_num or 10 - local focus_string = '' - while remaining_esc > 0 do - local screen = dfhack.gui.getCurViewscreen(true) - focus_string = dfhack.gui.getFocusStrings(screen) - if df.global.plotinfo.main.mode == df.ui_sidebar_mode.Default and - focus_string == 'dwarfmode/Default' then - if #navkey > 0 then gui.simulateInput(screen, navkey) end - if navkey == 'D_DESIGNATE' then - -- if the z-level happens to be on the surface, the mode will be - -- set to DesignateChopTrees. we need an extra step to get to - -- DesignateMine - gui.simulateInput(dfhack.gui.getCurViewscreen(true), - 'DESIGNATE_DIG') - end - return - end - gui.simulateInput(screen, 'LEAVESCREEN') - remaining_esc = remaining_esc - 1 - end - error(('Unable to get into target sidebar mode (%s) from' .. - ' current UI viewscreen (%s).'):format( - df.ui_sidebar_mode[sidebar_mode], focus_string)) -end - function getPanelLayout() local dims = dfhack.gui.getDwarfmodeViewDims() return { diff --git a/library/modules/Screen.cpp b/library/modules/Screen.cpp index 74d457140..13dbcb204 100644 --- a/library/modules/Screen.cpp +++ b/library/modules/Screen.cpp @@ -1081,7 +1081,7 @@ using df::identity_traits; #define CUR_STRUCT dfhack_viewscreen static const struct_field_info dfhack_viewscreen_fields[] = { { METHOD(OBJ_METHOD, is_lua_screen), 0, 0 }, - { METHOD(OBJ_METHOD, getFocusStrings), 0, 0 }, + { METHOD(OBJ_METHOD, getFocusString), 0, 0 }, { METHOD(OBJ_METHOD, onShow), 0, 0 }, { METHOD(OBJ_METHOD, onDismiss), 0, 0 }, { METHOD(OBJ_METHOD, getSelectedUnit), 0, 0 }, diff --git a/plugins/buildingplan/buildingplan.cpp b/plugins/buildingplan/buildingplan.cpp index d4471a888..cd4e84a6e 100644 --- a/plugins/buildingplan/buildingplan.cpp +++ b/plugins/buildingplan/buildingplan.cpp @@ -56,7 +56,7 @@ public: void render(); - std::string getFocusStrings() { return "buildingplan_choosemat"; } + std::string getFocusString() { return "buildingplan_choosemat"; } private: ListColumn masks_column; diff --git a/plugins/dwarfmonitor.cpp b/plugins/dwarfmonitor.cpp index 04c58c1e4..2b546bfad 100644 --- a/plugins/dwarfmonitor.cpp +++ b/plugins/dwarfmonitor.cpp @@ -410,7 +410,7 @@ public: OutputHotkeyString(x, y, "Zoom Unit", CUSTOM_SHIFT_Z); } - std::vector getFocusStrings() { return std::vector{"dwarfmonitor_dwarfstats"}; } + std::string getFocusString() { return "dwarfmonitor_dwarfstats"; } private: ListColumn dwarves_column; @@ -1021,7 +1021,7 @@ public: OutputHotkeyString(x, y, "Zoom Unit", CUSTOM_SHIFT_Z); } - std::vector getFocusStrings() { return std::vector{"dwarfmonitor_fortstats"}; } + std::string getFocusString() { return "dwarfmonitor_fortstats"; } private: ListColumn fort_activity_column, category_breakdown_column; @@ -1652,7 +1652,7 @@ public: getSelectedUnit() ? COLOR_WHITE : COLOR_DARKGREY); } - std::vector getFocusStrings() override { return std::vector{"dwarfmonitor_preferences"}; } + std::string getFocusString() override { return "dwarfmonitor_preferences"; } private: ListColumn preferences_column; diff --git a/plugins/embark-assistant/finder_ui.cpp b/plugins/embark-assistant/finder_ui.cpp index 764b2bdb5..6501f7f21 100644 --- a/plugins/embark-assistant/finder_ui.cpp +++ b/plugins/embark-assistant/finder_ui.cpp @@ -1613,7 +1613,7 @@ namespace embark_assist { void render(); - std::vector getFocusStrings() { return std::vector{"Finder UI"}; } + std::string getFocusString() { return "Finder UI"; } private: }; diff --git a/plugins/embark-assistant/help_ui.cpp b/plugins/embark-assistant/help_ui.cpp index 5e77f680b..a49a9b5e0 100644 --- a/plugins/embark-assistant/help_ui.cpp +++ b/plugins/embark-assistant/help_ui.cpp @@ -31,7 +31,7 @@ namespace embark_assist{ void render(); - std::vector getFocusStrings() { return std::vector{"Help UI"}; } + std::string getFocusString() { return "Help UI"; } private: pages current_page = pages::Intro; diff --git a/plugins/embark-tools.cpp b/plugins/embark-tools.cpp index 739840ab4..924def798 100644 --- a/plugins/embark-tools.cpp +++ b/plugins/embark-tools.cpp @@ -572,7 +572,7 @@ public: embark_tools_settings () { }; ~embark_tools_settings () { }; void help () { }; - std::vector getFocusStrings () { return std::vector{"embark-tools/options"}; }; + std::string getFocusString () { return "embark-tools/options"; }; void render () { parent->render(); diff --git a/plugins/manipulator.cpp b/plugins/manipulator.cpp index dc8f52eed..6731aa513 100644 --- a/plugins/manipulator.cpp +++ b/plugins/manipulator.cpp @@ -864,7 +864,7 @@ public: } } } - std::vector getFocusStrings() { return std::vector{"unitlabors/batch"}; } + std::string getFocusString() { return "unitlabors/batch"; } void select_page (page p) { if (p == NICKNAME || p == PROFNAME) @@ -1034,7 +1034,7 @@ public: } } } - std::vector getFocusStrings() { return std::vector{"unitlabors/profession"}; } + std::string getFocusString() { return "unitlabors/profession"; } void feed(set *events) { if (events->count(interface_key::LEAVESCREEN)) @@ -1146,7 +1146,7 @@ public: void help() { } - std::vector getFocusStrings() { return std::vector{"unitlabors"}; } + std::string getFocusString() { return "unitlabors"; } df::unit *getSelectedUnit(); diff --git a/plugins/stocks.cpp b/plugins/stocks.cpp index a901446db..8cc27067c 100644 --- a/plugins/stocks.cpp +++ b/plugins/stocks.cpp @@ -620,7 +620,7 @@ public: for (auto line = lines.begin(); line != lines.end(); ++line) OutputString(COLOR_WHITE, x, y, line->c_str(), true, left_margin); } - std::vector getFocusStrings() { return std::vector{"stocks_view/search_help"}; } + std::string getFocusString() { return "stocks_view/search_help"; } }; class ViewscreenStocks : public dfhack_viewscreen @@ -973,7 +973,7 @@ public: OutputHotkeyString(x, y, "Search help", interface_key::HELP, true, left_margin); } - std::vector getFocusStrings() { return std::vector{"stocks_view"}; } + std::string getFocusString() { return "stocks_view"; } df::item *getSelectedItem() override { diff --git a/test/library/gui/dwarfmode.lua b/test/library/gui/dwarfmode.lua deleted file mode 100644 index 52748f095..000000000 --- a/test/library/gui/dwarfmode.lua +++ /dev/null @@ -1,75 +0,0 @@ -config = { - mode = 'fortress', -} - -local gui = require('gui') -local guidm = require('gui.dwarfmode') - -function test.enterSidebarMode() - expect.error_match('Invalid or unsupported sidebar mode', - function() guidm.enterSidebarMode('badmode') end) - expect.error_match('Invalid or unsupported sidebar mode', - function() guidm.enterSidebarMode( - df.ui_sidebar_mode.OrdersRefuse) end) - - expect.error_match('must be a positive number', - function() guidm.enterSidebarMode(0, 'gg') end) - expect.error_match('must be a positive number', - function() guidm.enterSidebarMode(0, 0) end) - expect.error_match('must be a positive number', - function() guidm.enterSidebarMode(0, '0') end) - expect.error_match('must be a positive number', - function() guidm.enterSidebarMode(0, -1) end) - expect.error_match('must be a positive number', - function() guidm.enterSidebarMode(0, '-1') end) - - -- Simulate not being able to get to default from a screen via mocks. This - -- failure can actually happen in-game in some situations, such as when - -- naming a building with ctrl-N (no way to cancel changes). - mock.patch({{dfhack.gui, 'getFocusStrings', mock.func()}, - {gui, 'simulateInput', mock.func()}}, - function() - expect.error_match('Unable to get into target sidebar mode', - function() - guidm.enterSidebarMode(df.ui_sidebar_mode.Default) - end) - end) - - -- verify expected starting state - expect.eq(df.ui_sidebar_mode.Default, df.global.plotinfo.main.mode) - expect.eq('dwarfmode/Default', dfhack.gui.getCurFocus(true)) - - -- get into the orders screen - gui.simulateInput(dfhack.gui.getCurViewscreen(true), 'D_JOBLIST') - gui.simulateInput(dfhack.gui.getCurViewscreen(true), 'UNITJOB_MANAGER') - expect.eq(df.ui_sidebar_mode.Default, df.global.plotinfo.main.mode) - expect.eq('jobmanagement/Main', dfhack.gui.getCurFocus(true)) - - -- get back into default from some deep screen - guidm.enterSidebarMode(df.ui_sidebar_mode.Default) - expect.eq(df.ui_sidebar_mode.Default, df.global.plotinfo.main.mode) - expect.eq('dwarfmode/Default', dfhack.gui.getCurFocus(true)) - - -- move from default to some other mode - guidm.enterSidebarMode(df.ui_sidebar_mode.QueryBuilding) - expect.eq(df.ui_sidebar_mode.QueryBuilding, df.global.plotinfo.main.mode) - expect.str_find('^dwarfmode/QueryBuilding', dfhack.gui.getCurFocus(true)) - - -- move between non-default modes - guidm.enterSidebarMode(df.ui_sidebar_mode.LookAround) - expect.eq(df.ui_sidebar_mode.LookAround, df.global.plotinfo.main.mode) - expect.str_find('^dwarfmode/LookAround', dfhack.gui.getCurFocus(true)) - - -- get back into default from a supported mode - guidm.enterSidebarMode(df.ui_sidebar_mode.Default) - expect.eq(df.ui_sidebar_mode.Default, df.global.plotinfo.main.mode) - expect.eq('dwarfmode/Default', dfhack.gui.getCurFocus(true)) - - -- verify that all supported modes lead where we say they'll go - for k,v in pairs(guidm.SIDEBAR_MODE_KEYS) do - guidm.enterSidebarMode(k) - expect.eq(k, df.global.plotinfo.main.mode, df.ui_sidebar_mode[k]) - end - -- end test back in default so the test harness doesn't have to autocorrect - guidm.enterSidebarMode(df.ui_sidebar_mode.Default) -end