aboutsummaryrefslogtreecommitdiff
path: root/sword1/control.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sword1/control.cpp')
-rw-r--r--sword1/control.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/sword1/control.cpp b/sword1/control.cpp
index b28e3ab62c..f5bc4b2259 100644
--- a/sword1/control.cpp
+++ b/sword1/control.cpp
@@ -261,8 +261,10 @@ uint8 Control::runPanel(void) {
setupMainPanel();
break;
case BUTTON_SAVE_PANEL:
- if (fullRefresh)
+ if (fullRefresh) {
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
setupSaveRestorePanel(true);
+ }
if (_keyPressed)
handleSaveKey(_keyPressed);
break;
@@ -364,6 +366,7 @@ uint8 Control::handleButtonClick(uint8 id, uint8 mode, uint8 *retVal) {
saveNameSelect(id, mode == BUTTON_SAVE_PANEL);
else if (id == BUTTON_SAVE_RESTORE_OKAY) {
if (mode == BUTTON_SAVE_PANEL) {
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
if (saveToFile()) // don't go back to main panel if save fails.
return BUTTON_MAIN_PANEL;
} else {
@@ -372,8 +375,10 @@ uint8 Control::handleButtonClick(uint8 id, uint8 mode, uint8 *retVal) {
return BUTTON_MAIN_PANEL;
}
}
- } else if (id == BUTTON_SAVE_CANCEL)
+ } else if (id == BUTTON_SAVE_CANCEL) {
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
return BUTTON_MAIN_PANEL; // mode down to main panel
+ }
break;
case BUTTON_VOLUME_PANEL:
return id;