~aw/openobject-client/5.0

« back to all changes in this revision

Viewing changes to bin/widget/view/form_gtk/parser.py

  • Committer: Jay(Open ERP)
  • Date: 2010-07-28 14:08:55 UTC
  • Revision ID: jvo@tinyerp.com-20100728140855-18du668mu2on1ktg
[FIX] Translation popup made working correctly

Show diffs side-by-side

added added

removed removed

Lines of Context:
511
511
                dict_widget[name] = widget_act
512
512
                container.wid_add(widget_act.widget, colspan=int(attrs.get('colspan', 3)), expand=True, fill=True)
513
513
        for (ebox,src,name,widget) in container.trans_box:
514
 
            ebox.connect('button_press_event',self.translate, model, name, src, widget)
 
514
            ebox.connect('button_press_event',self.translate, model, name, src, widget, self.screen, self.window)
515
515
        for (ebox,src,name) in container.trans_box_label:
516
 
            ebox.connect('button_press_event', self.translate_label, model, name, src)
 
516
            ebox.connect('button_press_event', self.translate_label, model, name, src, self.window)
517
517
        return container.pop(), dict_widget, saw_list, on_write
518
518
 
519
 
    def translate(self, widget, event, model, name, src, widget_entry):
 
519
    def translate(self, widget, event, model, name, src, widget_entry, screen, window):
520
520
        
521
521
        #widget accessor functions
522
522
        def value_get(widget):
567
567
                    parent=self.window)
568
568
            return False
569
569
        
570
 
        id = self.screen.current_model.id
 
570
        id = screen.current_model.id
571
571
        if not id:
572
572
            common.message(
573
573
                    _('You need to save resource before adding translations!'),
574
574
                    parent=self.window)
575
575
            return False
576
 
        id = self.screen.current_model.save(reload=False)
 
576
        id = screen.current_model.save(reload=False)
577
577
        uid = rpc.session.uid
578
578
 
579
579
        lang_ids = rpc.session.rpc_exec_auth('/object', 'execute', 'res.lang',
580
580
                'search', [('translatable','=','1')])
581
 
 
582
581
        if not lang_ids:
583
582
            common.message(_('No other language available!'),
584
 
                    parent=self.window)
 
583
                    parent=window)
585
584
            return False
586
585
        langs = rpc.session.rpc_exec_auth('/object', 'execute', 'res.lang',
587
586
                'read', lang_ids, ['code', 'name'])
596
595
                return val
597
596
 
598
597
 
599
 
        win = gtk.Dialog(_('Add Translation'), self.window,
 
598
        win = gtk.Dialog(_('Add Translation'), window,
600
599
                gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
601
600
        win.vbox.set_spacing(5)
602
601
        win.set_property('default-width', 600)
681
680
                            'write', [id], {str(name):  new_val['value']},
682
681
                            context)
683
682
            if response == gtk.RESPONSE_CANCEL:
684
 
                self.window.present()
 
683
                window.present()
685
684
                win.destroy()
686
685
                return
687
 
        self.screen.current_model.reload()
688
 
        self.window.present()
 
686
        screen.current_model.reload()
 
687
        window.present()
689
688
        win.destroy()
690
689
        return True
691
690
 
692
 
    def translate_label(self, widget, event, model, name, src):
 
691
    def translate_label(self, widget, event, model, name, src, window):
693
692
        def callback_label(self, widget, event, model, name, src, window=None):
694
693
            lang_ids = rpc.session.rpc_exec_auth('/object', 'execute',
695
694
                    'res.lang', 'search', [('translatable', '=', '1')])
815
814
        if name:
816
815
            item = gtk.ImageMenuItem(_('Translate label'))
817
816
            item.connect("activate", callback_label, widget, event, model,
818
 
                    name, src, self.window)
 
817
                    name, src, window)
819
818
            item.set_sensitive(1)
820
819
            item.show()
821
820
            menu.append(item)
822
821
        item = gtk.ImageMenuItem(_('Translate view'))
823
 
        item.connect("activate", callback_view, widget, event, model, src,
824
 
                self.window)
 
822
        item.connect("activate", callback_view, widget, event, model, src, window)
825
823
        item.set_sensitive(1)
826
824
        item.show()
827
825
        menu.append(item)