Ravi Gadhia (OpenERP) has proposed merging
lp:~openerp-dev/openobject-client/trunk-bug-844064-rga into
lp:openobject-client.
Requested reviews:
Naresh(OpenERP) (nch-openerp)
Related bugs:
Bug #844064 in OpenERP GTK Client: "attrs not working within a group with
nested notebooks"
https://bugs.launchpad.net/openobject-client/+bug/844064
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-844064-rga/+merge/78041
--
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-844064-rga/+merge/78041
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-client/trunk-bug-844064-rga.
=== modified file 'bin/widget/view/form.py'
--- bin/widget/view/form.py 2011-07-05 10:58:42 +0000
+++ bin/widget/view/form.py 2011-10-04 05:17:30 +0000
@@ -369,8 +369,8 @@
if k=='readonly':
obj.set_sensitive(True)
- def set_notebook(self,model,nb,focus_widget=None):
- for i in range(0,nb.get_n_pages()):
+ def set_notebook(self, model, nb, focus_widget=None):
+ for i in range(0, nb.get_n_pages()):
page = nb.get_nth_page(i)
if focus_widget:
if focus_widget.widget.widget.is_ancestor(page):
@@ -378,8 +378,14 @@
focus_widget.widget.grab_focus()
children_notebooks = page.get_children()
for child in children_notebooks:
- if isinstance(child,gtk.Notebook):
- self.set_notebook(model,child)
+ if isinstance(child, gtk.Frame):
+ for x in child.get_children():
+ if isinstance(x, gtk.Table):
+ for y in x.get_children():
+ if isinstance(y, gtk.Notebook):
+ self.set_notebook(model, y)
+ if isinstance(child, gtk.Notebook):
+ self.set_notebook(model, child)
# attrs eval only when call from display not at time of set_cursor call
if nb.get_tab_label(page).attrs.get('attrs', False) and not focus_widget:
self.attrs_set(model, page, nb.get_tab_label(page), nb, i)
@@ -387,19 +393,20 @@
def display(self):
model = self.screen.current_model
for x in self.widget.get_children():
- if (type(x)==gtk.Table):
+ if isinstance(x, gtk.Table):
for y in x.get_children():
- if type(y)==gtk.Notebook:
- self.set_notebook(model,y)
- elif type(x)==gtk.Notebook:
- self.set_notebook(model,x)
+ if isinstance(y, gtk.Notebook):
+ self.set_notebook(model, y)
+ elif isinstance(x, gtk.Notebook):
+ self.set_notebook(model, x)
if model and ('state' in model.mgroup.fields):
state = model['state'].get(model)
else:
state = 'draft'
button_focus = field_focus = None
for widget in self.state_aware_widgets:
- widget.state_set(state)
+ if not isinstance(widget.widget, gtk.Frame) or state:
+ widget.state_set(state)
widget.attrs_set(model)
if widget.widget.attrs.get('focus_button'):
button_focus = widget.widget
_______________________________________________
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