[POS-commit] r3283 - in kiwi/trunk: .

Johan Dahlin jdahlin at async.com.br
Wed Apr 12 19:08:08 BRT 2006


Author: jdahlin
Date: Wed Apr 12 19:08:08 2006
New Revision: 3283

Modified:
   kiwi/trunk/ChangeLog
   kiwi/trunk/kiwi/ui/objectlist.py

Log:
2006-04-12  Patrick K O'Brien <pobrien at orbtech.com>

    reviewed by: Johan Dahlin  <jdahlin at async.com.br>

    * kiwi/ui/objectlist.py (ObjectList.__init__): 
    Add row-activated signal and make the old double-click signal
    only be emitted when a double-click on the list. Fixes #2526



Modified: kiwi/trunk/ChangeLog
==============================================================================
--- kiwi/trunk/ChangeLog	(original)
+++ kiwi/trunk/ChangeLog	Wed Apr 12 19:08:08 2006
@@ -1,9 +1,17 @@
-006-04-11  Ronaldo Maia  <romaia at async.com.br>
+2006-04-12  Patrick K O'Brien <pobrien at orbtech.com>
+
+	reviewed by: Johan Dahlin  <jdahlin at async.com.br>
+
+	* kiwi/ui/objectlist.py (ObjectList.__init__): 
+	Add row-activated signal and make the old double-click signal
+	only be emitted when a double-click on the list. Fixes #2526
+
+2006-04-11  Ronaldo Maia  <romaia at async.com.br>
 
 	reviewed by: jdahlin
 
-	* kiwi/ui/objectlist.py: always use a converter to set the contents of a
-	column in a ObjectList. Fixes #2523
+	* kiwi/ui/objectlist.py: always use a converter to set the 
+	contents of a column in a ObjectList. Fixes #2523
 
 2006-04-10  Johan Dahlin  <jdahlin at async.com.br>
 

Modified: kiwi/trunk/kiwi/ui/objectlist.py
==============================================================================
--- kiwi/trunk/kiwi/ui/objectlist.py	(original)
+++ kiwi/trunk/kiwi/ui/objectlist.py	Wed Apr 12 19:08:08 2006
@@ -444,10 +444,13 @@
 
     __gtype_name__ = 'ObjectList'
 
+    # row activated
+    gsignal('row-activated', object)
+
     # selected row(s)
     gsignal('selection-changed', object)
 
-    # row clicked
+    # row double-clicked
     gsignal('double-click', object)
 
     # edited object, attribute name
@@ -507,8 +510,10 @@
         self._model.connect('row-inserted', self._on_model__row_inserted)
         self._model.connect('row-deleted', self._on_model__row_deleted)
         self._treeview = gtk.TreeView(self._model)
-        self._treeview.connect_after("row-activated",
-                                    self._after_treeview__row_activated)
+        self._treeview.connect('button-press-event',
+                               self._on_treeview__button_press_event)
+        self._treeview.connect_after('row-activated',
+                                     self._after_treeview__row_activated)
         self._treeview.set_rules_hint(True)
         self._treeview.show()
         self.add(self._treeview)
@@ -1101,6 +1106,16 @@
         self._model.set_sort_column_id(self._sort_column_index, new_order)
 
     # handlers
+    def _after_treeview__row_activated(self, treeview, path, view_column):
+        try:
+            row = self._model[path]
+        except IndexError:
+            print 'path %s was not found in model: %s' % (
+                path, map(list, self._model))
+            return
+        item = row[COL_MODEL]
+        self.emit('row-activated', item)
+
     def _on_selection__changed(self, selection):
         mode = selection.get_mode()
         if mode == gtk.SELECTION_MULTIPLE:
@@ -1111,15 +1126,10 @@
             raise AssertionError
         self.emit('selection-changed', item)
 
-    def _after_treeview__row_activated(self, treeview, path, view_column):
-        try:
-            row = self._model[path]
-        except IndexError:
-            print 'path %s was not found in model: %s' % (
-                path, map(list, self._model))
-            return
-
-        self.emit('double-click', row[COL_MODEL])
+    def _on_treeview__button_press_event(self, treeview, event):
+        if event.type == gtk.gdk._2BUTTON_PRESS:
+            item = self.get_selected()
+            self.emit('double-click', item)
 
     # hacks
     def _get_column_button(self, column):


More information about the POS-commit mailing list