comparison frontends/src/primitivus/primitivus @ 1160:2ff15a6c5791

primitivus: moved history method definition out of keypress
author Goffi <goffi@goffi.org>
date Thu, 04 Sep 2014 19:05:57 +0200
parents 85fd02356dba
children b32800b9793e
comparison
equal deleted inserted replaced
1159:85fd02356dba 1160:2ff15a6c5791
146 win.historyPrint(size=limit, profile=self.app.profile) 146 win.historyPrint(size=limit, profile=self.app.profile)
147 else: 147 else:
148 return 148 return
149 self.set_edit_text('') 149 self.set_edit_text('')
150 150
151 def _historyCb(self, text):
152 self.set_edit_text(text)
153 self.set_edit_pos(len(text))
154
151 def keypress(self, size, key): 155 def keypress(self, size, key):
152 """Callback when a key is pressed. Send "composing" states 156 """Callback when a key is pressed. Send "composing" states
153 and move the index of the temporary history stack.""" 157 and move the index of the temporary history stack."""
154 def history_cb(text):
155 self.set_edit_text(text)
156 self.set_edit_pos(len(text))
157
158 if key == a_key['MODAL_ESCAPE']: 158 if key == a_key['MODAL_ESCAPE']:
159 # first save the text to the current mode, then change to NORMAL 159 # first save the text to the current mode, then change to NORMAL
160 self.app._updateInputHistory(self.get_edit_text(), mode=self.mode) 160 self.app._updateInputHistory(self.get_edit_text(), mode=self.mode)
161 self.app._updateInputHistory(mode='NORMAL') 161 self.app._updateInputHistory(mode='NORMAL')
162 if self._mode == 'NORMAL' and key in self._modes: 162 if self._mode == 'NORMAL' and key in self._modes:
163 self.app._updateInputHistory(mode=self._modes[key][0]) 163 self.app._updateInputHistory(mode=self._modes[key][0])
164 if key == a_key['HISTORY_PREV']: 164 if key == a_key['HISTORY_PREV']:
165 self.app._updateInputHistory(self.get_edit_text(), -1, history_cb, self.mode) 165 self.app._updateInputHistory(self.get_edit_text(), -1, self._history_cb, self.mode)
166 return 166 return
167 elif key == a_key['HISTORY_NEXT']: 167 elif key == a_key['HISTORY_NEXT']:
168 self.app._updateInputHistory(self.get_edit_text(), +1, history_cb, self.mode) 168 self.app._updateInputHistory(self.get_edit_text(), +1, self._history_cb, self.mode)
169 return 169 return
170 elif key == a_key['EDIT_ENTER']: 170 elif key == a_key['EDIT_ENTER']:
171 self.app._updateInputHistory(self.get_edit_text(), mode=self.mode) 171 self.app._updateInputHistory(self.get_edit_text(), mode=self.mode)
172 else: 172 else:
173 contact = self.app.contact_list.getContact() 173 contact = self.app.contact_list.getContact()