示例#1
0
文件: form.py 项目: coopengo/tryton
 def attach_drag_data_received(self, widget, context, x, y, selection, info,
         timestamp):
     record = self.screen.current_record
     if not record or record.id < 0:
         return
     win_attach = Attachment(record,
         lambda: self.update_attachment_count(reload=True))
     if info == 0:
         for uri in selection.data.splitlines():
             # Win32 cut&paste terminates the list with a NULL character
             if not uri or uri == '\0':
                 continue
             win_attach.add_uri(uri)
示例#2
0
 def attach_drag_data_received(self, widget, context, x, y, selection, info,
                               timestamp):
     record = self.screen.current_record
     if not record or record.id < 0:
         return
     win_attach = Attachment(
         record, lambda: self.update_attachment_count(reload=True))
     if info == 0:
         for uri in selection.data.splitlines():
             # Win32 cut&paste terminates the list with a NULL character
             if not uri or uri == '\0':
                 continue
             win_attach.add_uri(uri)
示例#3
0
    def sig_attach(self, widget=None):
        def window(widget):
            return Attachment(
                record, lambda: self.refresh_resources(reload=True))

        def add_file(widget):
            filenames = common.file_selection(_("Select"), multi=True)
            if filenames:
                attachment = window(widget)
                for filename in filenames:
                    attachment.add_file(filename)

        def preview(widget):
            children = self.attachment_preview.get_children()
            for child in children:
                self.attachment_preview.remove(child)
            if widget.get_active():
                self.attachment_preview.add(
                    self._attachment_preview_widget())
                self.attachment_preview.get_parent().show()
                self.refresh_attachment_preview()
            else:
                self.attachment_screen = None
                self.attachment_preview.get_parent().hide()

        def activate(widget, callback):
            callback()

        button = self.buttons['attach']
        if widget != button:
            if button.props.sensitive:
                button.props.active = True
            return
        record = self.screen.current_record
        menu = button._menu = Gtk.Menu()
        for name, callback in Attachment.get_attachments(record):
            item = Gtk.MenuItem(label=name)
            item.connect('activate', activate, callback)
            menu.add(item)
        menu.add(Gtk.SeparatorMenuItem())
        add_item = Gtk.MenuItem(label=_("Add..."))
        add_item.connect('activate', add_file)
        menu.add(add_item)
        preview_item = Gtk.CheckMenuItem(label=_("Preview"))
        preview_item.set_active(bool(
                self.attachment_preview.get_children()))
        preview_item.connect('toggled', preview)
        menu.add(preview_item)
        manage_item = Gtk.MenuItem(label=_("Manage..."))
        manage_item.connect('activate', window)
        menu.add(manage_item)
        menu.show_all()
        menu.connect('deactivate', self._popup_menu_hide, button)
        self.action_popup(button)
示例#4
0
文件: form.py 项目: xyzlat/tryton
 def attach_drag_data_received(self, widget, context, x, y, selection, info,
                               timestamp):
     record = self.screen.current_record
     if not record or record.id < 0:
         return
     win_attach = Attachment(record,
                             lambda: self.refresh_resources(reload=True))
     if info == 0:
         if selection.get_uris():
             for uri in selection.get_uris():
                 # Win32 cut&paste terminates the list with a NULL character
                 if not uri or uri == '\0':
                     continue
                 win_attach.add_uri(uri)
         else:
             win_attach.add_uri(selection.get_text())
示例#5
0
    def sig_attach(self, widget=None):
        def window(widget):
            return Attachment(
                record, lambda: self.update_attachment_count(reload=True))

        def add_file(widget):
            filenames = common.file_selection(_("Select"), multi=True)
            if filenames:
                attachment = window(widget)
                for filename in filenames:
                    attachment.add_file(filename)

        def activate(widget, callback):
            callback()

        button = self.buttons['attach']
        if widget != button:
            if button.props.sensitive:
                button.props.active = True
            return
        record = self.screen.current_record
        menu = button._menu = Gtk.Menu()
        for name, callback in Attachment.get_attachments(record):
            item = Gtk.MenuItem()
            item.set_label(name)
            item.connect('activate', activate, callback)
            menu.add(item)
        menu.add(Gtk.SeparatorMenuItem())
        add_item = Gtk.MenuItem()
        add_item.set_label(_("Add..."))
        add_item.connect('activate', add_file)
        menu.add(add_item)
        manage_item = Gtk.MenuItem()
        manage_item.set_label(_("Manage..."))
        manage_item.connect('activate', window)
        menu.add(manage_item)
        menu.show_all()
        menu.connect('deactivate', self._popup_menu_hide, button)
        self.action_popup(button)
示例#6
0
文件: form.py 项目: xyzlat/tryton
 def window(widget):
     return Attachment(record,
                       lambda: self.refresh_resources(reload=True))
示例#7
0
 def sig_attach(self, widget=None):
     record = self.screen.current_record
     if not record or record.id < 0:
         return
     Attachment(record, lambda: self.update_attachment_count(reload=True))
示例#8
0
 def attachment(menuitem):
     Attachment(load(record), None)
示例#9
0
 def window(widget):
     return Attachment(
         record, lambda: self.update_attachment_count(reload=True))