[hamster-applet] not reacting to enter if the input field is empty



commit bfdfedbf01c59c0a6e67d7e4ecdf6ca923744c14
Author: Toms Bauģis <toms baugis gmail com>
Date:   Tue Jan 19 15:56:35 2010 +0000

    not reacting to enter if the input field is empty

 hamster/widgets/activityentry.py |   13 +++++++------
 hamster/widgets/tags.py          |    8 ++++----
 2 files changed, 11 insertions(+), 10 deletions(-)
---
diff --git a/hamster/widgets/activityentry.py b/hamster/widgets/activityentry.py
index 893db23..8bc5ee3 100644
--- a/hamster/widgets/activityentry.py
+++ b/hamster/widgets/activityentry.py
@@ -135,7 +135,7 @@ class ActivityEntry(gtk.Entry):
             y = y + alloc.height
         else:
             y = y - popup_height
-            
+
         self.popup.move(x + alloc.x, y)
 
         self.popup.show_all()
@@ -230,7 +230,6 @@ class ActivityEntry(gtk.Entry):
     def _on_text_changed(self, widget):
         self.news = True
 
-
     def _on_button_press_event(self, button, event):
         self.populate_suggestions()
         self.show_popup()
@@ -240,10 +239,11 @@ class ActivityEntry(gtk.Entry):
             if self.popup.get_property("visible"):
                 if self.tree.get_cursor()[0]:
                     self.set_text(self.tree.get_model()[self.tree.get_cursor()[0][0]][0])
-
                 self.hide_popup()
+                self.set_position(len(self.get_text()))
             else:
                 self._on_selected()
+
         elif (event.keyval == gtk.keysyms.Escape):
             if self.popup.get_property("visible"):
                 self.hide_popup()
@@ -295,7 +295,8 @@ class ActivityEntry(gtk.Entry):
         self.set_position(len(self.get_text()))
 
     def _on_selected(self):
-        if self.news:
-            self.emit("value-entered")
-            self.news = False
+        if self.news and self.get_text():
             self.set_position(len(self.get_text()))
+            self.emit("value-entered")
+
+        self.news = False
diff --git a/hamster/widgets/tags.py b/hamster/widgets/tags.py
index b404999..61cb23b 100644
--- a/hamster/widgets/tags.py
+++ b/hamster/widgets/tags.py
@@ -145,10 +145,12 @@ class TagsEntry(gtk.Entry):
     def _on_key_release_event(self, entry, event):
         if (event.keyval in (gtk.keysyms.Return, gtk.keysyms.KP_Enter)):
             if self.popup.get_property("visible"):
-                self.hide_popup()
+                if self.get_text():
+                    self.hide_popup()
                 return True
             else:
-                self.emit("tags-selected")
+                if self.get_text():
+                    self.emit("tags-selected")
                 return False
         elif (event.keyval == gtk.keysyms.Escape):
             if self.popup.get_property("visible"):
@@ -387,5 +389,3 @@ class Tag(object):
 
         self.set_color((30, 30, 30))
         self.context.show_layout(self.layout)
-
-



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