home · contact · privacy
Don't lose input values by /help input.
[plomrogue2] / rogue_chat_curses.py
index 67f3c055e6be65c263c44637833039c323cbdfb7..73c1a98d13c2fb5c801a0f9dad0d347f9998cc8c 100755 (executable)
@@ -279,6 +279,16 @@ class TUI:
     def query_info(self):
         self.send('GET_ANNOTATION ' + str(self.explorer))
 
+    def restore_input_values(self):
+        if self.mode.name == 'annotate' and self.explorer in self.game.info_db:
+            info = self.game.info_db[self.explorer]
+            if info != '(none)':
+                self.input_ = info
+        elif self.mode.name == 'portal' and self.explorer in self.game.portals:
+            self.input_ = self.game.portals[self.explorer]
+        elif self.mode.name == 'password':
+            self.input_ = self.password
+
     def switch_mode(self, mode_name, keep_position = False):
         self.map_mode = 'terrain'
         self.mode = getattr(self, 'mode_' + mode_name)
@@ -297,14 +307,7 @@ class TUI:
         elif self.mode.name == 'teleport':
             self.log_msg("@ May teleport to %s" % (self.teleport_target_host)),
             self.log_msg("@ Enter 'YES!' to enthusiastically affirm.");
-        elif self.mode.name == 'annotate' and self.explorer in self.game.info_db:
-            info = self.game.info_db[self.explorer]
-            if info != '(none)':
-                self.input_ = info
-        elif self.mode.name == 'portal' and self.explorer in self.game.portals:
-            self.input_ = self.game.portals[self.explorer]
-        elif self.mode.name == 'password':
-            self.input_ = self.password
+        self.restore_input_values()
 
     def loop(self, stdscr):
         import time
@@ -586,6 +589,7 @@ class TUI:
             elif self.mode.has_input_prompt and key == '\n' and self.input_ == '/help':
                 self.show_help = True
                 self.input_ = ""
+                self.restore_input_values()
             elif self.mode.has_input_prompt and key != '\n':  # Return key
                 self.input_ += key
                 max_length = self.window_width * self.size.y - len(input_prompt) - 1