mirror of https://github.com/OpenTTD/OpenTTD
(svn r27825) -Feature [FS#4950]: Add option to close windows with right click (Flamefire)
parent
2385f4adbc
commit
d934ef9b00
|
@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Off
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Left-click scrolling: {STRING2}
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Left-click scrolling: {STRING2}
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Enable scrolling the map by dragging it with the left mouse button. This is especially useful when using a touch-screen for scrolling
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Enable scrolling the map by dragging it with the left mouse button. This is especially useful when using a touch-screen for scrolling
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Close window on right-click: {STRING2}
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Closes a window by right-clicking inside it. Disables the tooltip on right-click!
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE :Autosave: {STRING2}
|
STR_CONFIG_SETTING_AUTOSAVE :Autosave: {STRING2}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Select interval between automatic game saves
|
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Select interval between automatic game saves
|
||||||
|
|
|
@ -1506,6 +1506,7 @@ static SettingsContainer &GetSettingsTree()
|
||||||
general->Add(new SettingEntry("gui.errmsg_duration"));
|
general->Add(new SettingEntry("gui.errmsg_duration"));
|
||||||
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_mouse_wnd_close"));
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsPage *viewports = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_VIEWPORTS));
|
SettingsPage *viewports = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_VIEWPORTS));
|
||||||
|
|
|
@ -113,6 +113,7 @@ struct GUISettings {
|
||||||
uint8 scrollwheel_multiplier; ///< how much 'wheel' per incoming event from the OS?
|
uint8 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
|
||||||
bool left_mouse_btn_scrolling; ///< left mouse button scroll
|
bool left_mouse_btn_scrolling; ///< left mouse button scroll
|
||||||
|
bool right_mouse_wnd_close; ///< close window with right click
|
||||||
bool pause_on_newgame; ///< whether to start new games paused or not
|
bool pause_on_newgame; ///< whether to start new games paused or not
|
||||||
bool enable_signal_gui; ///< show the signal GUI when the signal button is pressed
|
bool enable_signal_gui; ///< show the signal GUI when the signal button is pressed
|
||||||
Year coloured_news_year; ///< when does newspaper become coloured?
|
Year coloured_news_year; ///< when does newspaper become coloured?
|
||||||
|
|
|
@ -2583,6 +2583,14 @@ str = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING
|
||||||
strhelp = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT
|
strhelp = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT
|
||||||
cat = SC_BASIC
|
cat = SC_BASIC
|
||||||
|
|
||||||
|
[SDTC_BOOL]
|
||||||
|
var = gui.right_mouse_wnd_close
|
||||||
|
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||||
|
def = false
|
||||||
|
str = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE
|
||||||
|
strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT
|
||||||
|
cat = SC_BASIC
|
||||||
|
|
||||||
[SDTC_BOOL]
|
[SDTC_BOOL]
|
||||||
var = gui.measure_tooltip
|
var = gui.measure_tooltip
|
||||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||||
|
|
|
@ -772,7 +772,15 @@ static void DispatchRightClickEvent(Window *w, int x, int y)
|
||||||
if (w->OnRightClick(pt, wid->index)) return;
|
if (w->OnRightClick(pt, wid->index)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_settings_client.gui.hover_delay_ms == 0 && wid->tool_tip != 0) GuiShowTooltips(w, wid->tool_tip, 0, NULL, TCC_RIGHT_CLICK);
|
/* Right-click close is enabled and there is a closebox */
|
||||||
|
if (_settings_client.gui.right_mouse_wnd_close && w->nested_root->GetWidgetOfType(WWT_CLOSEBOX))
|
||||||
|
{
|
||||||
|
delete w;
|
||||||
|
}
|
||||||
|
else if (_settings_client.gui.hover_delay_ms == 0 && wid->tool_tip != 0)
|
||||||
|
{
|
||||||
|
GuiShowTooltips(w, wid->tool_tip, 0, NULL, TCC_RIGHT_CLICK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2825,11 +2833,12 @@ static void MouseLoop(MouseClick click, int mousewheel)
|
||||||
switch (click) {
|
switch (click) {
|
||||||
case MC_DOUBLE_LEFT:
|
case MC_DOUBLE_LEFT:
|
||||||
case MC_LEFT:
|
case MC_LEFT:
|
||||||
if (!HandleViewportClicked(vp, x, y) &&
|
if (HandleViewportClicked(vp, x, y)) return;
|
||||||
!(w->flags & WF_DISABLE_VP_SCROLL) &&
|
if (!(w->flags & WF_DISABLE_VP_SCROLL) &&
|
||||||
_settings_client.gui.left_mouse_btn_scrolling) {
|
_settings_client.gui.left_mouse_btn_scrolling) {
|
||||||
_scrolling_viewport = true;
|
_scrolling_viewport = true;
|
||||||
_cursor.fix_at = false;
|
_cursor.fix_at = false;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2841,13 +2850,16 @@ static void MouseLoop(MouseClick click, int mousewheel)
|
||||||
/* clear 2D scrolling caches before we start a 2D scroll */
|
/* clear 2D scrolling caches before we start a 2D scroll */
|
||||||
_cursor.h_wheel = 0;
|
_cursor.h_wheel = 0;
|
||||||
_cursor.v_wheel = 0;
|
_cursor.v_wheel = 0;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
|
||||||
|
if (vp == NULL || (w->flags & WF_DISABLE_VP_SCROLL)) {
|
||||||
switch (click) {
|
switch (click) {
|
||||||
case MC_LEFT:
|
case MC_LEFT:
|
||||||
case MC_DOUBLE_LEFT:
|
case MC_DOUBLE_LEFT:
|
||||||
|
|
Loading…
Reference in New Issue