From 8ff1cddeb06c91be62dd4624928d65b6a6900dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 3 Sep 2008 12:44:16 +0200 Subject: [PATCH] Use button clicked event instead of eventbox for issue314 Use the same icon size for all button in form Use button-release-event instead of button-press-event for issue314 --- tryton/gui/main.py | 2 +- tryton/gui/window/form.py | 2 +- .../window/view_form/view/form_gtk/binary.py | 8 +- .../view_form/view/form_gtk/calendar.py | 8 +- .../window/view_form/view/form_gtk/image.py | 8 +- .../view_form/view/form_gtk/many2one.py | 14 +- .../view_form/view/form_gtk/one2many.py | 288 +++++++++--------- .../window/view_form/view/form_gtk/parser.py | 2 +- .../view_form/view/form_gtk/reference.py | 12 +- .../gui/window/view_form/view/form_gtk/url.py | 4 +- tryton/wizard/main.py | 2 +- 11 files changed, 175 insertions(+), 175 deletions(-) diff --git a/tryton/gui/main.py b/tryton/gui/main.py index 3fcb4cd5eb..c5e5b45806 100644 --- a/tryton/gui/main.py +++ b/tryton/gui/main.py @@ -559,7 +559,7 @@ class Main(object): def leave(widget, event, img): img.set_from_stock('tryton-close', gtk.ICON_SIZE_SMALL_TOOLBAR) - eb.connect('button_press_event', self._sig_remove_book, page.widget) + eb.connect('button_release_event', self._sig_remove_book, page.widget) eb.connect('enter_notify_event', enter, img) eb.connect('leave_notify_event', leave, img) diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py index 8259de4aac..0e7de858dd 100644 --- a/tryton/gui/window/form.py +++ b/tryton/gui/window/form.py @@ -79,7 +79,7 @@ class Form(SignalEvent): self.eb_info = gtk.EventBox() self.eb_info.add(self.info_label) - self.eb_info.connect('button-press-event', + self.eb_info.connect('button-release-event', lambda *a: self.message_info('')) vbox = gtk.VBox() diff --git a/tryton/gui/window/view_form/view/form_gtk/binary.py b/tryton/gui/window/view_form/view/form_gtk/binary.py index c22d801ce8..118ba09570 100644 --- a/tryton/gui/window/view_form/view/form_gtk/binary.py +++ b/tryton/gui/window/view_form/view/form_gtk/binary.py @@ -17,14 +17,14 @@ class Binary(WidgetInterface): self.tooltips = gtk.Tooltips() - self.widget = gtk.HBox(spacing=5) + self.widget = gtk.HBox(spacing=0) self.wid_text = gtk.Entry() self.wid_text.set_property('activates_default', True) self.widget.pack_start(self.wid_text, expand=True, fill=True) self.but_new = gtk.Button() img_new = gtk.Image() - img_new.set_from_stock('tryton-open', gtk.ICON_SIZE_BUTTON) + img_new.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_new.set_image(img_new) self.but_new.set_relief(gtk.RELIEF_NONE) self.but_new.connect('clicked', self.sig_new) @@ -33,7 +33,7 @@ class Binary(WidgetInterface): self.but_save_as = gtk.Button() img_save_as = gtk.Image() - img_save_as.set_from_stock('tryton-save-as', gtk.ICON_SIZE_BUTTON) + img_save_as.set_from_stock('tryton-save-as', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_save_as.set_image(img_save_as) self.but_save_as.set_relief(gtk.RELIEF_NONE) self.but_save_as.connect('clicked', self.sig_save_as) @@ -42,7 +42,7 @@ class Binary(WidgetInterface): self.but_remove = gtk.Button() img_remove = gtk.Image() - img_remove.set_from_stock('tryton-clear', gtk.ICON_SIZE_BUTTON) + img_remove.set_from_stock('tryton-clear', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_remove.set_image(img_remove) self.but_remove.set_relief(gtk.RELIEF_NONE) self.but_remove.connect('clicked', self.sig_remove) diff --git a/tryton/gui/window/view_form/view/form_gtk/calendar.py b/tryton/gui/window/view_form/view/form_gtk/calendar.py index d1c0f102db..0a0e75aa73 100644 --- a/tryton/gui/window/view_form/view/form_gtk/calendar.py +++ b/tryton/gui/window/view_form/view/form_gtk/calendar.py @@ -21,7 +21,7 @@ class Calendar(WidgetInterface): super(Calendar, self).__init__(window, parent, model=model, attrs=attrs) self.format = date_format() - self.widget = date_widget.ComplexEntry(self.format, spacing=3) + self.widget = date_widget.ComplexEntry(self.format, spacing=0) self.entry = self.widget.widget self.entry.set_property('activates_default', True) self.entry.connect('key_press_event', self.sig_key_press) @@ -32,7 +32,7 @@ class Calendar(WidgetInterface): self.but_open = gtk.Button() img_find = gtk.Image() - img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON) + img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img_find) self.but_open.set_relief(gtk.RELIEF_NONE) self.but_open.connect('clicked', self.cal_open) @@ -134,7 +134,7 @@ class DateTime(WidgetInterface): super(DateTime, self).__init__(window, parent, model, attrs=attrs) self.format = date_format() + ' ' + HM_FORMAT - self.widget = date_widget.ComplexEntry(self.format, spacing=3) + self.widget = date_widget.ComplexEntry(self.format, spacing=0) self.entry = self.widget.widget self.entry.set_property('activates_default', True) self.entry.connect('key_press_event', self.sig_key_press) @@ -144,7 +144,7 @@ class DateTime(WidgetInterface): self.but_open = gtk.Button() img_find = gtk.Image() - img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON) + img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img_find) self.but_open.set_relief(gtk.RELIEF_NONE) self.but_open.connect('clicked', self.cal_open) diff --git a/tryton/gui/window/view_form/view/form_gtk/image.py b/tryton/gui/window/view_form/view/form_gtk/image.py index 277db0e4de..129fdc4f2b 100644 --- a/tryton/gui/window/view_form/view/form_gtk/image.py +++ b/tryton/gui/window/view_form/view/form_gtk/image.py @@ -38,10 +38,10 @@ class Image(WidgetInterface): self.widget.pack_start(self.event, expand=True, fill=True) self.alignment = gtk.Alignment(xalign=0.5, yalign=0.5) - self.hbox = gtk.HBox(spacing=3) + self.hbox = gtk.HBox(spacing=0) self.but_add = gtk.Button() img_add = gtk.Image() - img_add.set_from_stock('tryton-open', gtk.ICON_SIZE_BUTTON) + img_add.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_add.set_image(img_add) self.but_add.set_relief(gtk.RELIEF_NONE) self.but_add.connect('clicked', self.sig_add) @@ -50,7 +50,7 @@ class Image(WidgetInterface): self.but_save_as = gtk.Button() img_save_as = gtk.Image() - img_save_as.set_from_stock('tryton-save', gtk.ICON_SIZE_BUTTON) + img_save_as.set_from_stock('tryton-save', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_save_as.set_image(img_save_as) self.but_save_as.set_relief(gtk.RELIEF_NONE) self.but_save_as.connect('clicked', self.sig_save_as) @@ -59,7 +59,7 @@ class Image(WidgetInterface): self.but_remove = gtk.Button() img_remove = gtk.Image() - img_remove.set_from_stock('tryton-clear', gtk.ICON_SIZE_BUTTON) + img_remove.set_from_stock('tryton-clear', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_remove.set_image(img_remove) self.but_remove.set_relief(gtk.RELIEF_NONE) self.but_remove.connect('clicked', self.sig_remove) diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py index bfce50bf1b..ce64ff802a 100644 --- a/tryton/gui/window/view_form/view/form_gtk/many2one.py +++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py @@ -74,7 +74,7 @@ class Dialog(object): self.eb_info = gtk.EventBox() self.eb_info.add(self.info_label) - self.eb_info.connect('button-press-event', + self.eb_info.connect('button-release-event', lambda *a: self.message_info('')) vbox = gtk.VBox() @@ -153,7 +153,7 @@ class Many2One(WidgetInterface): attrs = {} WidgetInterface.__init__(self, window, parent, model, attrs) - self.widget = gtk.HBox(spacing=3) + self.widget = gtk.HBox(spacing=0) self.widget.set_property('sensitive', True) self.widget.connect('focus-in-event', lambda x, y: self._focus_in()) self.widget.connect('focus-out-event', lambda x, y: self._focus_out()) @@ -173,9 +173,9 @@ class Many2One(WidgetInterface): self.but_open = gtk.Button() img_find = gtk.Image() - img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON) + img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR) img_open = gtk.Image() - img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_BUTTON) + img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img_find) self.but_open.set_relief(gtk.RELIEF_NONE) self.but_open.connect('clicked', self.sig_edit) @@ -185,7 +185,7 @@ class Many2One(WidgetInterface): self.but_new = gtk.Button() img_new = gtk.Image() - img_new.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON) + img_new.set_from_stock('tryton-new', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_new.set_image(img_new) self.but_new.set_relief(gtk.RELIEF_NONE) self.but_new.connect('clicked', self.sig_new) @@ -448,11 +448,11 @@ class Many2One(WidgetInterface): self.wid_text.set_text((res and str(res)) or '') img = gtk.Image() if res: - img.set_from_stock('tryton-open', gtk.ICON_SIZE_BUTTON) + img.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img) self.tooltips.set_tip(self.but_open, _('Open a record')) else: - img.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON) + img.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img) self.tooltips.set_tip(self.but_open, _('Search a record')) self.changed = True diff --git a/tryton/gui/window/view_form/view/form_gtk/one2many.py b/tryton/gui/window/view_form/view/form_gtk/one2many.py index d25780c831..6ba58e645c 100644 --- a/tryton/gui/window/view_form/view/form_gtk/one2many.py +++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py @@ -14,7 +14,7 @@ import pango _ = gettext.gettext def _create_menu(self, attrs): - hbox = gtk.HBox(homogeneous=False, spacing=5) + hbox = gtk.HBox(homogeneous=False, spacing=0) menubar = gtk.MenuBar() if hasattr(menubar, 'set_pack_direction') and \ hasattr(menubar, 'set_child_pack_direction'): @@ -46,94 +46,102 @@ def _create_menu(self, attrs): self.wid_text.connect('activate', self._sig_activate) hbox.pack_start(self.wid_text, expand=True, fill=True) - self.eb_add = gtk.EventBox() - tooltips.set_tip(self.eb_add, _('Add')) - self.eb_add.set_events(gtk.gdk.BUTTON_PRESS) - self.eb_add.connect('button_press_event', self._sig_add) + self.but_add = gtk.Button() + tooltips.set_tip(self.but_add, _('Add')) + self.but_add.connect('clicked', self._sig_add) img_add = gtk.Image() - img_add.set_from_stock('tryton-list-add', gtk.ICON_SIZE_BUTTON) + img_add.set_from_stock('tryton-list-add', gtk.ICON_SIZE_SMALL_TOOLBAR) img_add.set_alignment(0.5, 0.5) - self.eb_add.add(img_add) - hbox.pack_start(self.eb_add, expand=False, fill=False) + self.but_add.add(img_add) + self.but_add.set_relief(gtk.RELIEF_NONE) + self.but_add.set_property('can-focus', False) + hbox.pack_start(self.but_add, expand=False, fill=False) - self.eb_remove = gtk.EventBox() - tooltips.set_tip(self.eb_remove, _('Remove')) - self.eb_remove.set_events(gtk.gdk.BUTTON_PRESS) - self.eb_remove.connect('button_press_event', self._sig_remove, True) + self.but_remove = gtk.Button() + tooltips.set_tip(self.but_remove, _('Remove')) + self.but_remove.connect('clicked', self._sig_remove, True) img_remove = gtk.Image() - img_remove.set_from_stock('tryton-list-remove', gtk.ICON_SIZE_BUTTON) + img_remove.set_from_stock('tryton-list-remove', gtk.ICON_SIZE_SMALL_TOOLBAR) img_remove.set_alignment(0.5, 0.5) - self.eb_remove.add(img_remove) - hbox.pack_start(self.eb_remove, expand=False, fill=False) + self.but_remove.add(img_remove) + self.but_remove.set_relief(gtk.RELIEF_NONE) + self.but_remove.set_property('can-focus', False) + hbox.pack_start(self.but_remove, expand=False, fill=False) hbox.pack_start(gtk.VSeparator(), expand=False, fill=True) - self.eb_new = gtk.EventBox() - tooltips.set_tip(self.eb_new, _('Create a new record')) - self.eb_new.set_events(gtk.gdk.BUTTON_PRESS) - self.eb_new.connect('button_press_event', self._sig_new) + self.but_new = gtk.Button() + tooltips.set_tip(self.but_new, _('Create a new record')) + self.but_new.connect('clicked', self._sig_new) img_new = gtk.Image() - img_new.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON) + img_new.set_from_stock('tryton-new', gtk.ICON_SIZE_SMALL_TOOLBAR) img_new.set_alignment(0.5, 0.5) - self.eb_new.add(img_new) - hbox.pack_start(self.eb_new, expand=False, fill=False) + self.but_new.add(img_new) + self.but_new.set_relief(gtk.RELIEF_NONE) + self.but_new.set_property('can-focus', False) + hbox.pack_start(self.but_new, expand=False, fill=False) - self.eb_open = gtk.EventBox() - tooltips.set_tip(self.eb_open, _('Edit selected record')) - self.eb_open.set_events(gtk.gdk.BUTTON_PRESS) - self.eb_open.connect('button_press_event', self._sig_edit) + self.but_open = gtk.Button() + tooltips.set_tip(self.but_open, _('Edit selected record')) + self.but_open.connect('clicked', self._sig_edit) img_open = gtk.Image() - img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_BUTTON) + img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR) img_open.set_alignment(0.5, 0.5) - self.eb_open.add(img_open) - hbox.pack_start(self.eb_open, expand=False, fill=False) + self.but_open.add(img_open) + self.but_open.set_relief(gtk.RELIEF_NONE) + self.but_open.set_property('can-focus', False) + hbox.pack_start(self.but_open, expand=False, fill=False) - self.eb_del = gtk.EventBox() - tooltips.set_tip(self.eb_del, _('Delete selected record')) - self.eb_del.set_events(gtk.gdk.BUTTON_PRESS) - self.eb_del.connect('button_press_event', self._sig_remove) + self.but_del = gtk.Button() + tooltips.set_tip(self.but_del, _('Delete selected record')) + self.but_del.connect('clicked', self._sig_remove) img_del = gtk.Image() - img_del.set_from_stock('tryton-delete', gtk.ICON_SIZE_BUTTON) + img_del.set_from_stock('tryton-delete', gtk.ICON_SIZE_SMALL_TOOLBAR) img_del.set_alignment(0.5, 0.5) - self.eb_del.add(img_del) - hbox.pack_start(self.eb_del, expand=False, fill=False) + self.but_del.add(img_del) + self.but_del.set_relief(gtk.RELIEF_NONE) + self.but_del.set_property('can-focus', False) + hbox.pack_start(self.but_del, expand=False, fill=False) hbox.pack_start(gtk.VSeparator(), expand=False, fill=True) - eb_pre = gtk.EventBox() - tooltips.set_tip(eb_pre, _('Previous')) - eb_pre.set_events(gtk.gdk.BUTTON_PRESS) - eb_pre.connect('button_press_event', self._sig_previous) + but_pre = gtk.Button() + tooltips.set_tip(but_pre, _('Previous')) + but_pre.connect('clicked', self._sig_previous) img_pre = gtk.Image() - img_pre.set_from_stock('tryton-go-previous', gtk.ICON_SIZE_BUTTON) + img_pre.set_from_stock('tryton-go-previous', gtk.ICON_SIZE_SMALL_TOOLBAR) img_pre.set_alignment(0.5, 0.5) - eb_pre.add(img_pre) - hbox.pack_start(eb_pre, expand=False, fill=False) + but_pre.add(img_pre) + but_pre.set_relief(gtk.RELIEF_NONE) + but_pre.set_property('can-focus', False) + hbox.pack_start(but_pre, expand=False, fill=False) self.label = gtk.Label('(0,0)') hbox.pack_start(self.label, expand=False, fill=False) - eb_next = gtk.EventBox() - tooltips.set_tip(eb_next, _('Next')) - eb_next.set_events(gtk.gdk.BUTTON_PRESS) - eb_next.connect('button_press_event', self._sig_next) + but_next = gtk.Button() + tooltips.set_tip(but_next, _('Next')) + but_next.connect('clicked', self._sig_next) img_next = gtk.Image() - img_next.set_from_stock('tryton-go-next', gtk.ICON_SIZE_BUTTON) + img_next.set_from_stock('tryton-go-next', gtk.ICON_SIZE_SMALL_TOOLBAR) img_next.set_alignment(0.5, 0.5) - eb_next.add(img_next) - hbox.pack_start(eb_next, expand=False, fill=False) + but_next.add(img_next) + but_next.set_relief(gtk.RELIEF_NONE) + but_next.set_property('can-focus', False) + hbox.pack_start(but_next, expand=False, fill=False) hbox.pack_start(gtk.VSeparator(), expand=False, fill=True) - eb_switch = gtk.EventBox() - tooltips.set_tip(eb_switch, _('Switch')) - eb_switch.set_events(gtk.gdk.BUTTON_PRESS) - eb_switch.connect('button_press_event', self.switch_view) + but_switch = gtk.Button() + tooltips.set_tip(but_switch, _('Switch')) + but_switch.connect('clicked', self.switch_view) img_switch = gtk.Image() - img_switch.set_from_stock('tryton-fullscreen', gtk.ICON_SIZE_BUTTON) + img_switch.set_from_stock('tryton-fullscreen', gtk.ICON_SIZE_SMALL_TOOLBAR) img_switch.set_alignment(0.5, 0.5) - eb_switch.add(img_switch) - hbox.pack_start(eb_switch, expand=False, fill=False) + but_switch.add(img_switch) + but_switch.set_relief(gtk.RELIEF_NONE) + but_switch.set_property('can-focus', False) + hbox.pack_start(but_switch, expand=False, fill=False) tooltips.enable() @@ -242,7 +250,7 @@ class Dialog(object): self.eb_info = gtk.EventBox() self.eb_info.add(self.info_label) - self.eb_info.connect('button-press-event', + self.eb_info.connect('button-release-event', lambda *a: self.message_info('')) vbox = gtk.VBox() @@ -304,41 +312,40 @@ class Dialog(object): if (event.keyval in (gtk.keysyms.N, gtk.keysyms.n) \ and event.state & gtk.gdk.CONTROL_MASK) \ or event.keyval == gtk.keysyms.F3: - self._sig_new(widget, event) + self._sig_new(widget) return False if event.keyval == gtk.keysyms.F2: - self._sig_edit(widget, event) + self._sig_edit(widget) return False if (event.keyval in (gtk.keysyms.L, gtk.keysyms.l) \ and event.state & gtk.gdk.CONTROL_MASK): - self.switch_view(widget, event) + self.switch_view(widget) return False - def switch_view(self, btn, arg): + def switch_view(self, widget): self.screen.switch_view() - def _sig_new(self, widget, event): - if event.type in (gtk.gdk.BUTTON_PRESS, gtk.gdk.KEY_PRESS): - if (self.screen.current_view.view_type == 'form') \ - or self.screen.editable_get(): - self.screen.new(context=self.default_get_ctx) - self.screen.current_view.widget.set_sensitive(True) - else: - dia = Dialog(self.model_name, parent=self.parent, - attrs=self.attrs, model_ctx=self.model_ctx, - default_get_ctx=self.default_get_ctx, - window=self.window) - res = True - while res: - res, value = dia.run() - if res: - self.screen.models.model_add(value) - value.signal('record-changed', value.parent) - self.screen.display() - dia.new() - dia.destroy() + def _sig_new(self, widget): + if (self.screen.current_view.view_type == 'form') \ + or self.screen.editable_get(): + self.screen.new(context=self.default_get_ctx) + self.screen.current_view.widget.set_sensitive(True) + else: + dia = Dialog(self.model_name, parent=self.parent, + attrs=self.attrs, model_ctx=self.model_ctx, + default_get_ctx=self.default_get_ctx, + window=self.window) + res = True + while res: + res, value = dia.run() + if res: + self.screen.models.model_add(value) + value.signal('record-changed', value.parent) + self.screen.display() + dia.new() + dia.destroy() - def _sig_edit(self, widget=None, event=None): + def _sig_edit(self, widget=None): if self.screen.current_model: dia = Dialog(self.model_name, parent=self.parent, model=self.screen.current_model, attrs=self.attrs, @@ -346,19 +353,16 @@ class Dialog(object): res, value = dia.run() dia.destroy() - def _sig_next(self, widget, event): - if event.type == gtk.gdk.BUTTON_PRESS: - self.screen.display_next() + def _sig_next(self, widget): + self.screen.display_next() - def _sig_previous(self, widget, event): - if event.type == gtk.gdk.BUTTON_PRESS: - self.screen.display_prev() + def _sig_previous(self, widget): + self.screen.display_prev() - def _sig_remove(self, widget, event, remove=False): - if event.type == gtk.gdk.BUTTON_PRESS: - self.screen.remove(remove=remove) - if not self.screen.models.models: - self.screen.current_view.widget.set_sensitive(False) + def _sig_remove(self, widget, remove=False): + self.screen.remove(remove=remove) + if not self.screen.models.models: + self.screen.current_view.widget.set_sensitive(False) def _sig_activate(self, *args): self._sig_add() @@ -484,10 +488,10 @@ class One2Many(WidgetInterface): and event.state & gtk.gdk.CONTROL_MASK \ and event.state & gtk.gdk.SHIFT_MASK) \ or event.keyval == gtk.keysyms.F3: - self._sig_new(widget, event) + self._sig_new(widget) return False if event.keyval == gtk.keysyms.F2: - self._sig_edit(widget, event) + self._sig_edit(widget) return False def destroy(self): @@ -496,18 +500,18 @@ class One2Many(WidgetInterface): def _on_activate(self): self._sig_edit() - def switch_view(self, btn, arg): + def switch_view(self, widget): self.screen.switch_view() def _readonly_set(self, value): - self.eb_new.set_sensitive(not value) - self.eb_del.set_sensitive(not value) + self.but_new.set_sensitive(not value) + self.but_del.set_sensitive(not value) if self.attrs.get('add_remove'): self.wid_text.set_sensitive(not value) - self.eb_add.set_sensitive(not value) - self.eb_remove.set_sensitive(not value) + self.but_add.set_sensitive(not value) + self.but_remove.set_sensitive(not value) - def _sig_new(self, widget, event): + def _sig_new(self, widget): self._view.view_form.set_value() ctx = self._view.model.expr_eval(self.screen.default_get) ctx.update(self._view.model.expr_eval('dict(%s)' % \ @@ -520,40 +524,39 @@ class One2Many(WidgetInterface): if select_ids: model = self.screen.models.get_by_id(select_ids[0]) idx = self.screen.models.models.index(model) - if event.type in (gtk.gdk.BUTTON_PRESS, gtk.gdk.KEY_PRESS): - if (self.screen.current_view.view_type == 'form') \ - or self.screen.editable_get(): - self.screen.new(context=ctx) - self.screen.current_view.widget.set_sensitive(True) - else: - readonly = False - domain = [] - if self._view.modelfield and self._view.model: - modelfield = self._view.modelfield - model = self._view.model - readonly = modelfield.get_state_attrs(model - ).get('readonly', False) - domain = modelfield.domain_get(self._view.model) - dia = Dialog(self.attrs['relation'], parent=self._view.model, - attrs=self.attrs, - model_ctx=self.screen.models._context, - default_get_ctx=ctx, window=self._window, - readonly=readonly, domain=domain) - res = True - while res: - res, value = dia.run() - if res: - if idx >= 0: - idx += 1 - self.screen.models.model_add(value, position=idx) - value.signal('record-changed', value.parent) - self.screen.display_next() - dia.new() - dia.destroy() + if (self.screen.current_view.view_type == 'form') \ + or self.screen.editable_get(): + self.screen.new(context=ctx) + self.screen.current_view.widget.set_sensitive(True) + else: + readonly = False + domain = [] + if self._view.modelfield and self._view.model: + modelfield = self._view.modelfield + model = self._view.model + readonly = modelfield.get_state_attrs(model + ).get('readonly', False) + domain = modelfield.domain_get(self._view.model) + dia = Dialog(self.attrs['relation'], parent=self._view.model, + attrs=self.attrs, + model_ctx=self.screen.models._context, + default_get_ctx=ctx, window=self._window, + readonly=readonly, domain=domain) + res = True + while res: + res, value = dia.run() + if res: + if idx >= 0: + idx += 1 + self.screen.models.model_add(value, position=idx) + value.signal('record-changed', value.parent) + self.screen.display_next() + dia.new() + dia.destroy() if sequence: self.screen.models.set_sequence(field=sequence) - def _sig_edit(self, widget=None, event=None): + def _sig_edit(self, widget=None): self._view.view_form.set_value() if self.screen.current_model: readonly = False @@ -570,19 +573,16 @@ class One2Many(WidgetInterface): res, value = dia.run() dia.destroy() - def _sig_next(self, widget, event): - if event.type == gtk.gdk.BUTTON_PRESS: - self.screen.display_next() + def _sig_next(self, widget): + self.screen.display_next() - def _sig_previous(self, widget, event): - if event.type == gtk.gdk.BUTTON_PRESS: - self.screen.display_prev() + def _sig_previous(self, widget): + self.screen.display_prev() - def _sig_remove(self, widget, event, remove=False): - if event.type == gtk.gdk.BUTTON_PRESS: - self.screen.remove(remove=remove) - if not self.screen.models.models: - self.screen.current_view.widget.set_sensitive(False) + def _sig_remove(self, widget, remove=False): + self.screen.remove(remove=remove) + if not self.screen.models.models: + self.screen.current_view.widget.set_sensitive(False) def _sig_activate(self, *args): self._sig_add() diff --git a/tryton/gui/window/view_form/view/form_gtk/parser.py b/tryton/gui/window/view_form/view/form_gtk/parser.py index 33b1d18703..c65b0d5815 100644 --- a/tryton/gui/window/view_form/view/form_gtk/parser.py +++ b/tryton/gui/window/view_form/view/form_gtk/parser.py @@ -253,7 +253,7 @@ class _container(object): if translate and hasattr(widget, 'pack_start'): button = gtk.Button() img = gtk.Image() - img.set_from_stock('tryton-locale', gtk.ICON_SIZE_BUTTON) + img.set_from_stock('tryton-locale', gtk.ICON_SIZE_SMALL_TOOLBAR) button.set_image(img) button.set_relief(gtk.RELIEF_NONE) self.trans_box.append((button, name, fname, widget.get_children()[0])) diff --git a/tryton/gui/window/view_form/view/form_gtk/reference.py b/tryton/gui/window/view_form/view/form_gtk/reference.py index a2b1582db4..07872c3493 100644 --- a/tryton/gui/window/view_form/view/form_gtk/reference.py +++ b/tryton/gui/window/view_form/view/form_gtk/reference.py @@ -19,7 +19,7 @@ class Reference(WidgetInterface): attrs = {} super(Reference, self).__init__(window, parent, model, attrs) - self.widget = gtk.HBox(spacing=3) + self.widget = gtk.HBox(spacing=0) self.widget_combo = gtk.ComboBoxEntry() child = self.widget_combo.get_child() @@ -46,7 +46,7 @@ class Reference(WidgetInterface): self.but_new = gtk.Button() img_new = gtk.Image() - img_new.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON) + img_new.set_from_stock('tryton-new', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_new.set_image(img_new) self.but_new.set_relief(gtk.RELIEF_NONE) self.but_new.connect('clicked', self.sig_new) @@ -56,9 +56,9 @@ class Reference(WidgetInterface): self.but_open = gtk.Button() img_find = gtk.Image() - img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON) + img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR) img_open = gtk.Image() - img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_BUTTON) + img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img_find) self.but_open.set_relief(gtk.RELIEF_NONE) self.but_open.connect('clicked', self.sig_activate) @@ -264,11 +264,11 @@ class Reference(WidgetInterface): common.process_exception(exception, self._window) name = '???' self.wid_text.set_text(name) - img.set_from_stock('tryton-open', gtk.ICON_SIZE_BUTTON) + img.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img) else: self.wid_text.set_text('') - img.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON) + img.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR) self.but_open.set_image(img) self.changed = True diff --git a/tryton/gui/window/view_form/view/form_gtk/url.py b/tryton/gui/window/view_form/view/form_gtk/url.py index d45dd139f5..880c3565e3 100644 --- a/tryton/gui/window/view_form/view/form_gtk/url.py +++ b/tryton/gui/window/view_form/view/form_gtk/url.py @@ -13,7 +13,7 @@ class URL(WidgetInterface): attrs = {} super(URL, self).__init__(window, parent, model, attrs=attrs) - self.widget = gtk.HBox(homogeneous=False) + self.widget = gtk.HBox(homogeneous=False, spacing=0) self.entry = gtk.Entry() self.entry.set_max_length(int(attrs.get('size', 0))) @@ -27,7 +27,7 @@ class URL(WidgetInterface): self.tooltips = gtk.Tooltips() self.button = gtk.Button() img = gtk.Image() - img.set_from_stock('tryton-web-browser', gtk.ICON_SIZE_BUTTON) + img.set_from_stock('tryton-web-browser', gtk.ICON_SIZE_SMALL_TOOLBAR) self.button.set_image(img) self.button.set_relief(gtk.RELIEF_NONE) self.button.connect('clicked', self.button_clicked) diff --git a/tryton/wizard/main.py b/tryton/wizard/main.py index a497ef1f96..64a39ef5eb 100644 --- a/tryton/wizard/main.py +++ b/tryton/wizard/main.py @@ -67,7 +67,7 @@ class Dialog(object): self.eb_info = gtk.EventBox() self.eb_info.add(self.info_label) - self.eb_info.connect('button-press-event', + self.eb_info.connect('button-release-event', lambda *a: self.message_info('')) vbox = gtk.VBox()