1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-09-02 19:39:12 +00:00

Add: Hotkey to focus industry directory filter box

Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
This commit is contained in:
Finn Willard
2023-06-17 17:51:10 -07:00
committed by Tyler Trahan
parent 6c9d3a627f
commit ed628873a6

View File

@@ -44,6 +44,7 @@
#include "stringfilter_type.h"
#include "timer/timer.h"
#include "timer/timer_window.h"
#include "hotkeys.h"
#include "table/strings.h"
@@ -1302,7 +1303,10 @@ static bool CDECL CargoFilter(const Industry * const *industry, const std::pair<
static GUIIndustryList::FilterFunction * const _filter_funcs[] = { &CargoFilter };
/** Enum referring to the Hotkeys in the industry directory window */
enum IndustryDirectoryHotkeys {
IDHK_FOCUS_FILTER_BOX, ///< Focus the filter box
};
/**
* The list of industries.
*/
@@ -1866,6 +1870,23 @@ public:
break;
}
}
EventState OnHotkey(int hotkey) override
{
switch (hotkey) {
case IDHK_FOCUS_FILTER_BOX:
this->SetFocusedWidget(WID_ID_FILTER);
SetFocusedWindow(this); // The user has asked to give focus to the text box, so make sure this window is focused.
break;
default:
return ES_NOT_HANDLED;
}
return ES_HANDLED;
}
static inline HotkeyList hotkeys {"industrydirectory", {
Hotkey('F', "focus_filter_box", IDHK_FOCUS_FILTER_BOX),
}};
};
Listing IndustryDirectoryWindow::last_sorting = {false, 0};
@@ -1895,7 +1916,8 @@ static WindowDesc _industry_directory_desc(__FILE__, __LINE__,
WDP_AUTO, "list_industries", 428, 190,
WC_INDUSTRY_DIRECTORY, WC_NONE,
0,
std::begin(_nested_industry_directory_widgets), std::end(_nested_industry_directory_widgets)
std::begin(_nested_industry_directory_widgets), std::end(_nested_industry_directory_widgets),
&IndustryDirectoryWindow::hotkeys
);
void ShowIndustryDirectory()