Ravi Gohil (OpenERP) has proposed merging
lp:~openerp-dev/openobject-client/6.0-opw-50847-rgo into
lp:openobject-client/6.0.
Requested reviews:
Ravi Gohil (OpenERP) (rgo-openerp)
Naresh(OpenERP) (nch-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client/6.0-opw-50847-rgo/+merge/86654
Hello,
There was an issue with Ubuntu 11.10 (Oneiric) with Many2Many and One2Many
fields, field's size were reduced.
This fixes the issue, solution back-ported from Trunk revision 2024.
Thanks.
--
https://code.launchpad.net/~openerp-dev/openobject-client/6.0-opw-50847-rgo/+merge/86654
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-client/6.0-opw-50847-rgo.
=== modified file 'bin/widget/view/form_gtk/many2many.py'
--- bin/widget/view/form_gtk/many2many.py 2011-09-09 11:22:35 +0000
+++ bin/widget/view/form_gtk/many2many.py 2011-12-26 11:25:28 +0000
@@ -111,6 +111,7 @@
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ scroll.set_property('height-request', 200)
scroll.set_placement(gtk.CORNER_TOP_LEFT)
scroll.set_shadow_type(gtk.SHADOW_NONE)
=== modified file 'bin/widget/view/form_gtk/one2many_list.py'
--- bin/widget/view/form_gtk/one2many_list.py 2011-08-22 08:23:27 +0000
+++ bin/widget/view/form_gtk/one2many_list.py 2011-12-26 11:25:28 +0000
@@ -152,25 +152,10 @@
self._readonly = self.default_readonly
self.widget = gtk.VBox(homogeneous=False, spacing=5)
hb = gtk.HBox(homogeneous=False, spacing=5)
- menubar = gtk.MenuBar()
- if hasattr(menubar, 'set_pack_direction') and \
- hasattr(menubar, 'set_child_pack_direction'):
- menubar.set_pack_direction(gtk.PACK_DIRECTION_LTR)
- menubar.set_child_pack_direction(gtk.PACK_DIRECTION_LTR)
-
- menuitem_title = gtk.ImageMenuItem(stock_id='gtk-preferences')
-
- menu_title = gtk.Menu()
- menuitem_set_to_default = gtk.MenuItem(_('Set to default value'), True)
- menuitem_set_to_default.connect('activate', lambda *x:self._menu_sig_default_get())
- menu_title.add(menuitem_set_to_default)
- menuitem_set_default = gtk.MenuItem(_('Set Default'), True)
- menuitem_set_default.connect('activate', lambda *x: self._menu_sig_default_set())
- menu_title.add(menuitem_set_default)
- menuitem_title.set_submenu(menu_title)
-
- menubar.add(menuitem_title)
- hb.pack_start(menubar, expand=True, fill=True)
+
+ event_box = gtk.EventBox()
+ event_box.set_events(gtk.gdk.BUTTON_PRESS_MASK)
+ hb.pack_start(event_box, expand=True, fill=True)
# the context to pass to default_get can be optionally specified in
# the context of the one2many field. We also support a legacy
@@ -240,13 +225,34 @@
self.widget.pack_start(hb, expand=False, fill=True)
self.screen.signal_connect(self, 'record-message', self._sig_label)
- menuitem_title.get_child().set_markup('<b>'+self.screen.current_view.title.replace('&','&').replace('<','<').replace('>','>')+'</b>')
+ menu_title = gtk.Label('<b>'+self.screen.current_view.title.replace('&','&').replace('<','<').replace('>','>')+'</b>')
+ menu_title.set_use_markup(True)
+ menu_title.set_alignment(0, 0)
+ event_box.add(menu_title)
+ event_box.connect('button_press_event',self.load_menu)
+ self.screen.widget.set_property('height-request', 100)
+
+
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
self.model = None
self.model_field = None
self.name = attrs['name']
+ def load_menu(self, widget, event):
+ if event.button != 3:
+ return
+ menu = gtk.Menu()
+ menuitem_set_to_default = gtk.MenuItem(_('Set to default value'), True)
+ menuitem_set_to_default.connect('activate', lambda *x:self._menu_sig_default_get())
+ menu.add(menuitem_set_to_default)
+ menuitem_set_default = gtk.MenuItem(_('Set Default'), True)
+ menuitem_set_default.connect('activate', lambda *x: self._menu_sig_default_set())
+ menu.add(menuitem_set_default)
+ menu.show_all()
+ menu.popup(None,None,None,event.button,event.time)
+ return True
+
def on_keypress(self, widget, event):
if (not self._readonly) and ((event.keyval in (gtk.keysyms.N, gtk.keysyms.n) and event.state & gtk.gdk.CONTROL_MASK\
and event.state & gtk.gdk.SHIFT_MASK)):
=== modified file 'bin/widget/view/form_gtk/parser.py'
--- bin/widget/view/form_gtk/parser.py 2010-12-21 12:18:44 +0000
+++ bin/widget/view/form_gtk/parser.py 2011-12-26 11:25:28 +0000
@@ -212,7 +212,7 @@
def create_label(self, name, markup=False, align=1.0, wrap=False,
angle=None, width=None, fname=None, help=None, detail_tooltip=False):
-
+
label = gtk.Label(name)
eb = gtk.EventBox()
eb.set_events(gtk.gdk.BUTTON_PRESS_MASK)
@@ -220,7 +220,7 @@
label.set_use_markup(True)
self.trans_box_label.append((eb, name, fname))
eb.add(label)
-
+
def size_allocate(label, allocation):
label.set_size_request( allocation.width - 2, -1 )
if fname is None and name and len(name) > 50:
@@ -300,15 +300,16 @@
class parser_form(widget.view.interface.parser_interface):
def __init__(self, window, parent=None, attrs=None, screen=None):
- super(parser_form, self).__init__(window, parent=parent, attrs=attrs,
- screen=screen)
- self.widget_id = 0
- self.default_focus_field = False
- self.default_focus_button = False
- self.accepted_attr_list = ['type','domain','context','relation', 'widget','attrs',
- 'digits','function','store','fnct_search','fnct_inv','fnct_inv_arg',
- 'func_obj','func_method','related_columns','third_table','states',
- 'translate','change_default','size','selection']
+
+ super(parser_form, self).__init__(window, parent=parent, attrs=attrs,
+ screen=screen)
+ self.widget_id = 0
+ self.default_focus_field = False
+ self.default_focus_button = False
+ self.accepted_attr_list = ['type','domain','context','relation', 'widget','attrs',
+ 'digits','function','store','fnct_search','fnct_inv','fnct_inv_arg',
+ 'func_obj','func_method','related_columns','third_table','states',
+ 'translate','change_default','size','selection']
def create_detail_tooltip(self, name='', field_attr={}):
tooltip = '<span foreground="#009900"><b>%s:</b> %s - <b>%s:</b> %s' % \
@@ -396,13 +397,13 @@
visval = eval(attrs['invisible'], {'context':self.screen.context})
if visval:
continue
-
+
if 'default_focus' in attrs and not self.default_focus_button:
attrs['focus_button'] = attrs['default_focus']
self.default_focus_button = True
-
+
button = Button(attrs)
-
+
states = [e for e in attrs.get('states','').split(',') if e]
saw_list.append(StateAwareWidget(button, states=states))
container.wid_add(button.widget, colspan=int(attrs.get('colspan', 1)))
@@ -684,7 +685,7 @@
# Make sure the context won't mutate
context = copy.copy(rpc.session.context)
context['lang'] = lang['code']
- # Read the string in this language
+ # Read the string in this language
val = rpc.session.rpc_exec_auth('/object', 'execute', model,
'read', [id], [name], context)
val = val[0]
@@ -710,7 +711,7 @@
value_set(entry,value_get(widget_entry))
else:
value_set(entry,val[name])
-
+
entries_list.append((lang['code'], entry))
table.attach(label, 0, 1, i, i+1, yoptions=False, xoptions=gtk.FILL,
ypadding=2, xpadding=5)
@@ -728,7 +729,7 @@
sv.add(vp)
win.vbox.add(sv)
win.show_all()
-
+
# process the response
ok = False
data = []
_______________________________________________
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