mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-29 17:39:09 +00:00
Feature: Option to disable activate-on-release behaviour of toolbar dropdown buttons.
This commit is contained in:
@@ -1690,6 +1690,9 @@ STR_CONFIG_SETTING_SCROLLMODE_LMB :Move map with L
|
|||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Smooth viewport scrolling: {STRING2}
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Smooth viewport scrolling: {STRING2}
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Control how the main view scrolls to a specific position when clicking on the smallmap or when issuing a command to scroll to a specific object on the map. If enabled, the viewport scrolls smoothly, if disabled it jumps directly to the targeted spot
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Control how the main view scrolls to a specific position when clicking on the smallmap or when issuing a command to scroll to a specific object on the map. If enabled, the viewport scrolls smoothly, if disabled it jumps directly to the targeted spot
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_TOOLBAR_DROPDOWN_AUTOSELECT :Traditional toolbar menu selection behaviour: {STRING2}
|
||||||
|
STR_CONFIG_SETTING_TOOLBAR_DROPDOWN_AUTOSELECT_HELPTEXT :Choose selection behaviour of toolbar menus. If off, toolbar menus will stay open until a selection is made. If on, toolbar menus will activate when the mouse button is released.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Show a measurement tooltip when using various build-tools: {STRING2}
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Show a measurement tooltip when using various build-tools: {STRING2}
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Display tile-distances and height differences when dragging during construction operations
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Display tile-distances and height differences when dragging during construction operations
|
||||||
|
|
||||||
|
@@ -669,6 +669,7 @@ SettingsContainer &GetSettingsTree()
|
|||||||
general->Add(new SettingEntry("gui.window_snap_radius"));
|
general->Add(new SettingEntry("gui.window_snap_radius"));
|
||||||
general->Add(new SettingEntry("gui.window_soft_limit"));
|
general->Add(new SettingEntry("gui.window_soft_limit"));
|
||||||
general->Add(new SettingEntry("gui.right_click_wnd_close"));
|
general->Add(new SettingEntry("gui.right_click_wnd_close"));
|
||||||
|
general->Add(new SettingEntry("gui.toolbar_dropdown_autoselect"));
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsPage *viewports = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_VIEWPORTS));
|
SettingsPage *viewports = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_VIEWPORTS));
|
||||||
|
@@ -185,6 +185,7 @@ struct GUISettings {
|
|||||||
uint8_t scrollwheel_multiplier; ///< how much 'wheel' per incoming event from the OS?
|
uint8_t scrollwheel_multiplier; ///< how much 'wheel' per incoming event from the OS?
|
||||||
bool timetable_arrival_departure; ///< show arrivals and departures in vehicle timetables
|
bool timetable_arrival_departure; ///< show arrivals and departures in vehicle timetables
|
||||||
RightClickClose right_click_wnd_close; ///< close window with right click
|
RightClickClose right_click_wnd_close; ///< close window with right click
|
||||||
|
bool toolbar_dropdown_autoselect; ///< should toolbar dropdown buttons autoselect when releasing the mouse button
|
||||||
bool pause_on_newgame; ///< whether to start new games paused or not
|
bool pause_on_newgame; ///< whether to start new games paused or not
|
||||||
SignalGUISettings signal_gui_mode; ///< select which signal types are shown in the signal GUI
|
SignalGUISettings signal_gui_mode; ///< select which signal types are shown in the signal GUI
|
||||||
SignalCycleSettings cycle_signal_types; ///< Which signal types to cycle with the build signal tool.
|
SignalCycleSettings cycle_signal_types; ///< Which signal types to cycle with the build signal tool.
|
||||||
|
@@ -147,6 +147,14 @@ strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT
|
|||||||
strval = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO
|
strval = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_NO
|
||||||
cat = SC_BASIC
|
cat = SC_BASIC
|
||||||
|
|
||||||
|
[SDTC_BOOL]
|
||||||
|
var = gui.toolbar_dropdown_autoselect
|
||||||
|
flags = SettingFlag::NotInSave, SettingFlag::NoNetworkSync
|
||||||
|
def = false
|
||||||
|
str = STR_CONFIG_SETTING_TOOLBAR_DROPDOWN_AUTOSELECT
|
||||||
|
strhelp = STR_CONFIG_SETTING_TOOLBAR_DROPDOWN_AUTOSELECT_HELPTEXT
|
||||||
|
cat = SC_BASIC
|
||||||
|
|
||||||
; We might need to emulate a right mouse button on mac
|
; We might need to emulate a right mouse button on mac
|
||||||
[SDTC_VAR]
|
[SDTC_VAR]
|
||||||
ifdef = __APPLE__
|
ifdef = __APPLE__
|
||||||
|
@@ -116,7 +116,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
static void PopupMainToolbarMenu(Window *w, WidgetID widget, DropDownList &&list, int def)
|
static void PopupMainToolbarMenu(Window *w, WidgetID widget, DropDownList &&list, int def)
|
||||||
{
|
{
|
||||||
ShowDropDownList(w, std::move(list), def, widget, 0, true);
|
ShowDropDownList(w, std::move(list), def, widget, 0, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -290,7 +290,7 @@ static CallBackFunction ToolbarOptionsClick(Window *w)
|
|||||||
list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_HOUSES), STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS, OME_TRANSPARENTBUILDINGS));
|
list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_HOUSES), STR_SETTINGS_MENU_TRANSPARENT_BUILDINGS, OME_TRANSPARENTBUILDINGS));
|
||||||
list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_SIGNS), STR_SETTINGS_MENU_TRANSPARENT_SIGNS, OME_SHOW_STATIONSIGNS));
|
list.push_back(MakeDropDownListCheckedItem(IsTransparencySet(TO_SIGNS), STR_SETTINGS_MENU_TRANSPARENT_SIGNS, OME_SHOW_STATIONSIGNS));
|
||||||
|
|
||||||
ShowDropDownList(w, std::move(list), 0, WID_TN_SETTINGS, 140, true);
|
ShowDropDownList(w, std::move(list), 0, WID_TN_SETTINGS, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -683,7 +683,7 @@ static CallBackFunction ToolbarGraphsClick(Window *w)
|
|||||||
|
|
||||||
if (_toolbar_mode != TB_NORMAL) AddDropDownLeagueTableOptions(list);
|
if (_toolbar_mode != TB_NORMAL) AddDropDownLeagueTableOptions(list);
|
||||||
|
|
||||||
ShowDropDownList(w, std::move(list), GRMN_OPERATING_PROFIT_GRAPH, WID_TN_GRAPHS, 140, true);
|
ShowDropDownList(w, std::move(list), GRMN_OPERATING_PROFIT_GRAPH, WID_TN_GRAPHS, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
|
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
@@ -696,7 +696,7 @@ static CallBackFunction ToolbarLeagueClick(Window *w)
|
|||||||
AddDropDownLeagueTableOptions(list);
|
AddDropDownLeagueTableOptions(list);
|
||||||
|
|
||||||
int selected = list[0]->result;
|
int selected = list[0]->result;
|
||||||
ShowDropDownList(w, std::move(list), selected, WID_TN_LEAGUE, 140, true);
|
ShowDropDownList(w, std::move(list), selected, WID_TN_LEAGUE, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
|
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
@@ -875,7 +875,7 @@ static CallBackFunction ToolbarZoomOutClick(Window *w)
|
|||||||
|
|
||||||
static CallBackFunction ToolbarBuildRailClick(Window *w)
|
static CallBackFunction ToolbarBuildRailClick(Window *w)
|
||||||
{
|
{
|
||||||
ShowDropDownList(w, GetRailTypeDropDownList(), _last_built_railtype, WID_TN_RAILS, 140, true);
|
ShowDropDownList(w, GetRailTypeDropDownList(), _last_built_railtype, WID_TN_RAILS, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -897,7 +897,7 @@ static CallBackFunction MenuClickBuildRail(int index)
|
|||||||
|
|
||||||
static CallBackFunction ToolbarBuildRoadClick(Window *w)
|
static CallBackFunction ToolbarBuildRoadClick(Window *w)
|
||||||
{
|
{
|
||||||
ShowDropDownList(w, GetRoadTypeDropDownList(RTTB_ROAD), _last_built_roadtype, WID_TN_ROADS, 140, true);
|
ShowDropDownList(w, GetRoadTypeDropDownList(RTTB_ROAD), _last_built_roadtype, WID_TN_ROADS, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -919,7 +919,7 @@ static CallBackFunction MenuClickBuildRoad(int index)
|
|||||||
|
|
||||||
static CallBackFunction ToolbarBuildTramClick(Window *w)
|
static CallBackFunction ToolbarBuildTramClick(Window *w)
|
||||||
{
|
{
|
||||||
ShowDropDownList(w, GetRoadTypeDropDownList(RTTB_TRAM), _last_built_tramtype, WID_TN_TRAMS, 140, true);
|
ShowDropDownList(w, GetRoadTypeDropDownList(RTTB_TRAM), _last_built_tramtype, WID_TN_TRAMS, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -943,7 +943,7 @@ static CallBackFunction ToolbarBuildWaterClick(Window *w)
|
|||||||
{
|
{
|
||||||
DropDownList list;
|
DropDownList list;
|
||||||
list.push_back(MakeDropDownListIconItem(SPR_IMG_BUILD_CANAL, PAL_NONE, STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION, 0));
|
list.push_back(MakeDropDownListIconItem(SPR_IMG_BUILD_CANAL, PAL_NONE, STR_WATERWAYS_MENU_WATERWAYS_CONSTRUCTION, 0));
|
||||||
ShowDropDownList(w, std::move(list), 0, WID_TN_WATER, 140, true);
|
ShowDropDownList(w, std::move(list), 0, WID_TN_WATER, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -965,7 +965,7 @@ static CallBackFunction ToolbarBuildAirClick(Window *w)
|
|||||||
{
|
{
|
||||||
DropDownList list;
|
DropDownList list;
|
||||||
list.push_back(MakeDropDownListIconItem(SPR_IMG_AIRPORT, PAL_NONE, STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION, 0));
|
list.push_back(MakeDropDownListIconItem(SPR_IMG_AIRPORT, PAL_NONE, STR_AIRCRAFT_MENU_AIRPORT_CONSTRUCTION, 0));
|
||||||
ShowDropDownList(w, std::move(list), 0, WID_TN_AIR, 140, true);
|
ShowDropDownList(w, std::move(list), 0, WID_TN_AIR, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -989,7 +989,7 @@ static CallBackFunction ToolbarForestClick(Window *w)
|
|||||||
list.push_back(MakeDropDownListIconItem(SPR_IMG_LANDSCAPING, PAL_NONE, STR_LANDSCAPING_MENU_LANDSCAPING, 0));
|
list.push_back(MakeDropDownListIconItem(SPR_IMG_LANDSCAPING, PAL_NONE, STR_LANDSCAPING_MENU_LANDSCAPING, 0));
|
||||||
list.push_back(MakeDropDownListIconItem(SPR_IMG_PLANTTREES, PAL_NONE, STR_LANDSCAPING_MENU_PLANT_TREES, 1));
|
list.push_back(MakeDropDownListIconItem(SPR_IMG_PLANTTREES, PAL_NONE, STR_LANDSCAPING_MENU_PLANT_TREES, 1));
|
||||||
list.push_back(MakeDropDownListIconItem(SPR_IMG_SIGN, PAL_NONE, STR_LANDSCAPING_MENU_PLACE_SIGN, 2));
|
list.push_back(MakeDropDownListIconItem(SPR_IMG_SIGN, PAL_NONE, STR_LANDSCAPING_MENU_PLACE_SIGN, 2));
|
||||||
ShowDropDownList(w, std::move(list), 0, WID_TN_LANDSCAPE, 100, true);
|
ShowDropDownList(w, std::move(list), 0, WID_TN_LANDSCAPE, 100, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -1259,7 +1259,7 @@ static CallBackFunction ToolbarScenGenIndustry(Window *w)
|
|||||||
|
|
||||||
static CallBackFunction ToolbarScenBuildRoadClick(Window *w)
|
static CallBackFunction ToolbarScenBuildRoadClick(Window *w)
|
||||||
{
|
{
|
||||||
ShowDropDownList(w, GetScenRoadTypeDropDownList(RTTB_ROAD), _last_built_roadtype, WID_TE_ROADS, 140, true);
|
ShowDropDownList(w, GetScenRoadTypeDropDownList(RTTB_ROAD), _last_built_roadtype, WID_TE_ROADS, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
@@ -1279,7 +1279,7 @@ static CallBackFunction ToolbarScenBuildRoad(int index)
|
|||||||
|
|
||||||
static CallBackFunction ToolbarScenBuildTramClick(Window *w)
|
static CallBackFunction ToolbarScenBuildTramClick(Window *w)
|
||||||
{
|
{
|
||||||
ShowDropDownList(w, GetScenRoadTypeDropDownList(RTTB_TRAM), _last_built_tramtype, WID_TE_TRAMS, 140, true);
|
ShowDropDownList(w, GetScenRoadTypeDropDownList(RTTB_TRAM), _last_built_tramtype, WID_TE_TRAMS, 140, _settings_client.gui.toolbar_dropdown_autoselect);
|
||||||
SndClickBeep();
|
SndClickBeep();
|
||||||
return CBF_NONE;
|
return CBF_NONE;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user