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('&','&amp;').replace('<','&lt;').replace('>','&gt;')+'</b>')
+        menu_title = gtk.Label('<b>'+self.screen.current_view.title.replace('&','&amp;').replace('<','&lt;').replace('>','&gt;')+'</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

Reply via email to