WINCE: Added option to disable panel toggling with double tap on top of screen

This commit is contained in:
CeRiAl 2011-06-27 02:00:33 +02:00
parent 7983b1cce3
commit 0a9b9fe08f
5 changed files with 11 additions and 4 deletions

View file

@ -183,7 +183,8 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) {
if (_tapTime) { // second tap
if (_closeClick && (GetTickCount() - _tapTime < 1000)) {
if (event.mouse.y <= 20 &&
_graphicsMan->_panelInitialized) {
_graphicsMan->_panelInitialized &&
!_graphicsMan->_noDoubleTapPT) {
// top of screen (show panel)
_graphicsMan->swap_panel_visibility();
} else if (!_graphicsMan->_noDoubleTapRMB) {

View file

@ -44,7 +44,7 @@
WINCESdlGraphicsManager::WINCESdlGraphicsManager(SdlEventSource *sdlEventSource)
: SurfaceSdlGraphicsManager(sdlEventSource),
_panelInitialized(false), _noDoubleTapRMB(false),
_panelInitialized(false), _noDoubleTapRMB(false), _noDoubleTapPT(false),
_toolbarHighDrawn(false), _newOrientation(0), _orientationLandscape(0),
_panelVisible(true), _saveActiveToolbar(NAME_MAIN_PANEL), _panelStateForced(false),
_canBeAspectScaled(false), _scalersChanged(false), _saveToolbarState(false),
@ -478,6 +478,9 @@ void WINCESdlGraphicsManager::update_game_settings() {
if (ConfMan.hasKey("no_doubletap_rightclick"))
_noDoubleTapRMB = ConfMan.getBool("no_doubletap_rightclick");
if (ConfMan.hasKey("no_doubletap_paneltoggle"))
_noDoubleTapPT = ConfMan.getBool("no_doubletap_paneltoggle");
}
void WINCESdlGraphicsManager::internUpdateScreen() {

View file

@ -117,6 +117,7 @@ public:
bool _panelInitialized; // only initialize the toolbar once
bool _noDoubleTapRMB; // disable double tap -> rmb click
bool _noDoubleTapPT; // disable double tap for toolbar toggling
CEGUI::ToolbarHandler _toolbarHandler;

View file

@ -137,6 +137,7 @@ void CEActionsPocket::initInstanceGame() {
bool is_tinsel = (gameid == "tinsel");
bool is_cruise = (gameid == "cruise");
bool is_made = (gameid == "made");
bool is_sci = (gameid == "sci");
GUI_Actions::initInstanceGame();
@ -219,7 +220,7 @@ void CEActionsPocket::initInstanceGame() {
// Key bind method
_action_enabled[POCKET_ACTION_BINDKEYS] = true;
// Disable double-tap right-click for convenience
if (is_tinsel || is_cruise)
if (is_tinsel || is_cruise || is_sci)
if (!ConfMan.hasKey("no_doubletap_rightclick")) {
ConfMan.setBool("no_doubletap_rightclick", true);
ConfMan.flushToDisk();

View file

@ -128,6 +128,7 @@ void CEActionsSmartphone::initInstanceGame() {
bool is_tinsel = (gameid == "tinsel");
bool is_cruise = (gameid == "cruise");
bool is_made = (gameid == "made");
bool is_sci = (gameid == "sci");
GUI_Actions::initInstanceGame();
@ -185,7 +186,7 @@ void CEActionsSmartphone::initInstanceGame() {
// Bind keys
_action_enabled[SMARTPHONE_ACTION_BINDKEYS] = true;
// Disable double-tap right-click for convenience
if (is_tinsel || is_cruise)
if (is_tinsel || is_cruise || is_sci)
if (!ConfMan.hasKey("no_doubletap_rightclick")) {
ConfMan.setBool("no_doubletap_rightclick", true);
ConfMan.flushToDisk();