[kupfer: 9/10] ui: Rename variables and only activate when last key is released



commit 6474013df11f8e025e1943a4daf29e109e50c84c
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date:   Mon Apr 25 19:01:39 2011 +0200

    ui: Rename variables and only activate when last key is released

 kupfer/ui/browser.py |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)
---
diff --git a/kupfer/ui/browser.py b/kupfer/ui/browser.py
index 5391ca6..80b7afc 100644
--- a/kupfer/ui/browser.py
+++ b/kupfer/ui/browser.py
@@ -972,7 +972,7 @@ class Interface (gobject.GObject):
 		self._key_press_time = None
 		self._key_press_interval = 0.3
 		self._key_press_repeat_threshold = 0.02
-		self._key_pressed = None
+		self._key_repeat_key = None
 		self._key_repeat_active = False
 		self._reset_to_toplevel = False
 		self._reset_when_back = False
@@ -1073,13 +1073,13 @@ class Interface (gobject.GObject):
 		self.update_text_mode()
 
 	def _entry_key_release(self, entry, event):
-		if self._key_repeat_active:
-			self._key_repeat_active = False
-			self.activate()
-		if self._key_pressed == event.keyval:
-			self._key_pressed = None
+		# check for key repeat activation
+		if self._key_repeat_key == event.keyval:
+			if self._key_repeat_active:
+				self.activate()
+			self._key_repeat_key = None
 			self._key_repeat_active = False
-		self._update_active()
+			self._update_active()
 
 	def _entry_key_press(self, entry, event):
 		"""
@@ -1146,8 +1146,8 @@ class Interface (gobject.GObject):
 			# pass these through in text mode
 			return False
 
-		# activate on repeated key
-		if ((not text_mode) and self._key_pressed == keyv and
+		# check for repeated key activation
+		if ((not text_mode) and self._key_repeat_key == keyv and
 				keyv not in self.keys_sensible and
 				curtime - self._key_press_time > self._key_press_repeat_threshold):
 			if curtime - self._key_press_time > self._key_press_interval:
@@ -1155,8 +1155,9 @@ class Interface (gobject.GObject):
 				self._update_active()
 			return True
 		else:
+			# cancel repeat key activation if a new key is pressed
 			self._key_press_time = curtime
-			self._key_pressed = keyv
+			self._key_repeat_key = keyv
 			if self._key_repeat_active:
 				self._key_repeat_active = False
 				self._update_active()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]