From 253ccf43e884a9cf0997dda711fdd8c8b24218a9 Mon Sep 17 00:00:00 2001 From: pelya Date: Sun, 23 Mar 2014 14:33:43 +0200 Subject: [PATCH] Fixed broken Ctrl and Shift toolbar buttons --- src/toolbar_gui.cpp | 13 ++++++++++++- src/video/sdl_v.cpp | 2 ++ todo.txt | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index 5771ae6a11..2827e6c4d5 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -1165,24 +1165,35 @@ static CallBackFunction ToolbarSwitchClick(Window *w) static CallBackFunction ToolbarCtrlClick(Window *w) { _ctrl_pressed = !_ctrl_pressed; + //DEBUG(misc, 1, "ToolbarCtrlClick: pressed %d", _ctrl_pressed); w->SetWidgetLoweredState(WID_TN_CTRL, _ctrl_pressed); - HandleCtrlChanged(); w->SetWidgetDirty(WID_TN_CTRL); + HandleCtrlChanged(); EraseQueuedTouchCommand(); + if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); return CBF_NONE; } static CallBackFunction ToolbarShiftClick(Window *w) { _shift_pressed = !_shift_pressed; + //DEBUG(misc, 1, "ToolbarShiftClick: pressed %d", _shift_pressed); w->SetWidgetLoweredState(WID_TN_SHIFT, _shift_pressed); w->SetWidgetDirty(WID_TN_SHIFT); + if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); return CBF_NONE; } static CallBackFunction ToolbarDeleteClick(Window *w) { DeleteNonVitalWindows(); + _ctrl_pressed = false; + w->SetWidgetLoweredState(WID_TN_CTRL, _ctrl_pressed); + w->SetWidgetDirty(WID_TN_CTRL); + _shift_pressed = false; + w->SetWidgetLoweredState(WID_TN_SHIFT, _shift_pressed); + w->SetWidgetDirty(WID_TN_SHIFT); + if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); return CBF_NONE; } diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index d49f80ee50..64ce2911be 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -761,10 +761,12 @@ void VideoDriver_SDL::MainLoop() bool old_ctrl_pressed = _ctrl_pressed; +#ifndef __ANDROID__ if (_settings_client.gui.touchscreen_mode == TSC_NONE) { _ctrl_pressed = !!(mod & KMOD_CTRL); _shift_pressed = !!(mod & KMOD_SHIFT); } +#endif /* determine which directional keys are down */ _dirkeys = diff --git a/todo.txt b/todo.txt index 36c93f49af..2b4e64e5d0 100644 --- a/todo.txt +++ b/todo.txt @@ -1 +1,5 @@ +- Resize Aircraft window +- Resize Ship window +- Resize Music Program Selection window +- Resize all buttons and fonts when screen resolution changes - Add Load button to Play Heightmap dialog