From abc60f53ad60d6179ccde8e8df343ab624be51e3 Mon Sep 17 00:00:00 2001 From: lethosor Date: Tue, 17 Feb 2015 10:43:55 -0500 Subject: [PATCH] Add `tweak shift-8-scroll`; misc. tweak plugin changes * Avoid dumping complete usage information for unrecognized tweaks * Alphabetize tweaks in Readme.rst --- NEWS | 1 + Readme.rst | 43 +++++++++++++-------------- plugins/tweak/tweak.cpp | 9 +++++- plugins/tweak/tweaks/shift-8-scroll.h | 21 +++++++++++++ 4 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 plugins/tweak/tweaks/shift-8-scroll.h diff --git a/NEWS b/NEWS index 499fe0c37..74e243dcc 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,7 @@ DFHack Future New Scripts modtools/reaction-product-trigger: triggers callbacks when products are produced (contrast with when reactions complete) New Tweaks + shift-8-scroll: Gives Shift+8 (or *) priority when scrolling menus, instead of scrolling the map tradereq-pet-gender: Displays pet genders on the trade request screen Removed Misc Improvements diff --git a/Readme.rst b/Readme.rst index ac4953f54..0de7eb44e 100644 --- a/Readme.rst +++ b/Readme.rst @@ -1292,40 +1292,39 @@ One-shot subcommands: for slaughter. Grabbing wagons results in some funny spam, then they are scuttled. -Subcommands that persist until disabled or DF quit: +Subcommands that persist until disabled or DF quits: -:stable-cursor: Saves the exact cursor position between t/q/k/d/etc menus of dwarfmode. +:adamantine-cloth-wear: Prevents adamantine clothing from wearing out while being worn (bug 6481). +:advmode-contained: Works around bug 6202, i.e. custom reactions with container inputs + in advmode. The issue is that the screen tries to force you to select + the contents separately from the container. This forcefully skips child + reagents. +:civ-view-agreement: Fixes overlapping text on the "view agreement" screen +:craft-age-wear: Fixes the behavior of crafted items wearing out over time (bug 6003). + With this tweak, items made from cloth and leather will gain a level of wear every 20 years. +:eggs-fertile: Displays a fertility indicator on nestboxes +:farm-plot-select: Adds "Select all" and "Deselect all" options to farm plot menus :fast-heat: Further improves temperature update performance by ensuring that 1 degree of item temperature is crossed in no more than specified number of frames when updating from the environment temperature. This reduces the time it takes for stable-temp to stop updates again when equilibrium is disturbed. -:advmode-contained: Works around bug 6202, i.e. custom reactions with container inputs - in advmode. The issue is that the screen tries to force you to select - the contents separately from the container. This forcefully skips child - reagents. :fast-trade: Makes Shift-Down in the Move Goods to Depot and Trade screens select the current item (fully, in case of a stack), and scroll down one line. +:import-priority-category: Allows changing the priority of all goods in a + category when discussing an import agreement with the liaison +:manager-quantity: Removes the limit of 30 jobs per manager order +:max-wheelbarrow: Allows assigning more than 3 wheelbarrows to a stockpile +:military-color-assigned: Color squad candidates already assigned to other squads in yellow/green + to make them stand out more in the list. + + .. image:: images/tweak-mil-color.png :military-stable-assign: Preserve list order and cursor position when assigning to squad, i.e. stop the rightmost list of the Positions page of the military screen from constantly resetting to the top. -:military-color-assigned: Color squad candidates already assigned to other squads in yellow/green - to make them stand out more in the list. - - .. image:: images/tweak-mil-color.png - -:craft-age-wear: Fixes the behavior of crafted items wearing out over time (bug 6003). - With this tweak, items made from cloth and leather will gain a level of wear every 20 years. - -:adamantine-cloth-wear: Prevents adamantine clothing from wearing out while being worn (bug 6481). -:farm-plot-select: Adds "Select all" and "Deselect all" options to farm plot menus -:import-priority-category: Allows changing the priority of all goods in a - category when discussing an import agreement with the liaison -:manager-quantity: Removes the limit of 30 jobs per manager order -:civ-view-agreement: Fixes overlapping text on the "view agreement" screen :nestbox-color: Fixes the color of built nestboxes -:eggs-fertile: Displays a fertility indicator on nestboxes -:max-wheelbarrow: Allows assigning more than 3 wheelbarrows to a stockpile +:shift-8-scroll: Gives Shift-8 (or ``*``) priority when scrolling menus, instead of scrolling the map +:stable-cursor: Saves the exact cursor position between t/q/k/d/b/etc menus of fortress mode. :tradereq-pet-gender: Displays pet genders on the trade request screen fix-armory diff --git a/plugins/tweak/tweak.cpp b/plugins/tweak/tweak.cpp index 1c89896e2..2c0cf7d48 100644 --- a/plugins/tweak/tweak.cpp +++ b/plugins/tweak/tweak.cpp @@ -86,6 +86,7 @@ #include "tweaks/max-wheelbarrow.h" #include "tweaks/military-assign.h" #include "tweaks/nestbox-color.h" +#include "tweaks/shift-8-scroll.h" #include "tweaks/stable-cursor.h" #include "tweaks/tradereq-pet-gender.h" @@ -179,6 +180,9 @@ DFhackCExport command_result plugin_init (color_ostream &out, std::vector * input)) + { + if (ui->main.mode != ui_sidebar_mode::Default && + input->count(interface_key::CURSOR_UP_FAST) && + input->count(interface_key::SECONDSCROLL_PAGEDOWN) + ) + { + input->erase(interface_key::CURSOR_UP_FAST); + } + INTERPOSE_NEXT(feed)(input); + } +}; + +IMPLEMENT_VMETHOD_INTERPOSE(shift_8_scroll_hook, feed);