Ravi Gadhia (OpenERP) has proposed merging
lp:~openerp-dev/openobject-client/trunk-bug-771726-rga into
lp:openobject-client.
Requested reviews:
Naresh(OpenERP) (nch-openerp)
Related bugs:
Bug #771726 in OpenERP GTK Client: "[6.0.2]custom filter does not work"
https://bugs.launchpad.net/openobject-client/+bug/771726
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-771726-rga/+merge/76211
--
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-771726-rga/+merge/76211
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-client/trunk-bug-771726-rga.
=== modified file 'bin/widget_search/custom_filter_widgets.py'
--- bin/widget_search/custom_filter_widgets.py 2011-03-11 11:37:18 +0000
+++ bin/widget_search/custom_filter_widgets.py 2011-09-20 13:35:28 +0000
@@ -81,7 +81,9 @@
img.set_from_stock('gtk-find', gtk.ICON_SIZE_BUTTON)
self.but_find.set_image(img)
self.but_find.set_relief(gtk.RELIEF_NONE)
- self.but_find.connect('clicked', self.sig_find)
+ self.but_find.connect('clicked', self.sig_find, None, False)
+ self.wid_text.connect_after('focus-out-event', self.sig_focus_out)
+ self.search_callback = search_callback
self.but_find.set_alignment(0.5, 0.5)
self.but_find.set_property('can-focus', False)
self.but_find.set_tooltip_text(_('Search a resource'))
@@ -91,18 +93,25 @@
self.selected_oper = False
self.selected_oper_text = False
self.field_left = False
- self.enter_pressed = False
self.selected_value = False
def sig_activate(self, widget, event=None, leave=False):
- if not self.selected_oper_text in [_('contains'), _('doesn\'t contain')]:
- event = self.enter_pressed and True or event
- return self.sig_find(widget, event, leave=True)
+ if self.selected_oper_text in [_('contains'), _('doesn\'t contain')]:
+ self.search_callback()
+
+ def sig_focus_out(self, widget, event=None):
+ if self.selected_oper_text in [_('is'), _('is not')] and self.wid_text.get_text():
+ self.sig_find(widget, event, leave=True)
def sig_find(self, widget, event=None, leave=True):
from modules.gui.window.win_search import win_search
name_search = self.wid_text.get_text() or ''
+ self.wid_text.set_text('')
ids = rpc.session.rpc_exec_auth('/object', 'execute', self.attrs['relation'], 'name_search', name_search, [], 'ilike', rpc.session.context)
+ if len(ids) == 1 and leave:
+ self.selected_value = ids[0]
+ self.wid_text.set_text(ids[0][1])
+ return
win = win_search(self.attrs['relation'], sel_multi=False, ids=map(lambda x: x[0], ids), context=rpc.session.context, parent=self.parent)
win.glade.get_widget('newbutton').hide()
ids = win.go()
@@ -112,16 +121,11 @@
return
def sig_key_press(self, widget, event, *args):
- self.enter_pressed = False
if event.keyval == gtk.keysyms.F2:
- self.sig_activate(widget, event)
+ self.sig_find(widget, event)
elif event.keyval == gtk.keysyms.Tab:
if not self.wid_text.get_text():
return False
- return not self.sig_activate(widget, event, leave=True)
- elif event.keyval in (gtk.keysyms.KP_Enter,gtk.keysyms.Return):
- if self.wid_text.get_text():
- self.enter_pressed = True
return False
def _value_get(self):
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp