From 11e003cb47d2acd4a4b0b8047f8306e016708acb Mon Sep 17 00:00:00 2001 From: nhmall Date: Mon, 23 Dec 2019 10:44:07 -0500 Subject: [PATCH] add a requested interface adjustment for menu invert operations Originally requested by one of the hardfought admins Adjust all active window ports (tty, curses, win32, Qt, X11) to store the itemflags that they receive with each item. Also, make those active window ports understand the new MENU_ITEMFLAGS_SKIPINVERT flag by skipping any menu items with that setting during invert_all and invert_page operations. Build testing and rudimentary functionality testing was carried out on each of the window ports listed above. The code was also modified on some non-active window ports (Qt3, gem, gnome) but it was not tested for build or function there. The desired functionality expressed was to be able to select a single object category, and use the @ "invert all" function to exclude that one and select all the others. The "invert all" function's behavior of also including things like "select all" and BUCX menu items made the feature unuseful for that purpose. --- doc/fixes37.0 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/fixes37.0 b/doc/fixes37.0 index a66d896c4..1cb010f4b 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -15,6 +15,8 @@ fix accessing mons[-1] when trying to gate in a non-valid demon fast hero could have random clairvoyance happen more than once on same turn using 'Q' on wielded weapon would offer to split stack; make using 'w' on a quivered stack behave similarly +leave some menu items out of "invert all" via '@' when their inclusion would + degrade the usefulness of that interface feature Fixes to 3.7.0-x Problems that Were Exposed Via git Repository @@ -68,4 +70,5 @@ remove STATIC_DCL, STATIC_OVL, STATIC_VAR, STATIC_PTR old Qt moved from win/Qt to win/Qt3 and files renamed to use qt3_ prefix more current Qt for Qt version 4 and 5 moved from win/Qt4 to win/Qt; qt4 moniker changed to qt_ - +window-port-interface: add_menu() modified to take a more general itemflags + parameter to support uses beyond just 'preselected'