Exemple #1
0
 def update_img(self):
     value = None
     if self.field:
         value = self.field.get_client(self.record)
     if isinstance(value, (int, long)):
         if value > BIG_IMAGE_SIZE:
             value = False
         else:
             value = self.field.get_data(self.record)
     pixbuf = resize_pixbuf(data2pixbuf(value), self.width, self.height)
     self.image.set_from_pixbuf(pixbuf)
Exemple #2
0
 def update_img(self):
     value = None
     if self.field:
         value = self.field.get_client(self.record)
     if isinstance(value, (int, long)):
         if value > BIG_IMAGE_SIZE:
             value = False
         else:
             value = self.field.get_data(self.record)
     pixbuf = resize_pixbuf(data2pixbuf(value), self.width, self.height)
     self.image.set_from_pixbuf(pixbuf)
Exemple #3
0
 def setter(self, column, cell, store, iter_, user_data=None):
     record, field = self._get_record_field_from_iter(iter_, store)
     value = field.get_client(record)
     if isinstance(value, int):
         if value > CONFIG['image.max_size']:
             value = None
         else:
             value = field.get_data(record)
     pixbuf = data2pixbuf(value)
     if pixbuf:
         pixbuf = common.resize_pixbuf(pixbuf, self.width, self.height)
     cell.set_property('pixbuf', pixbuf)
     self._set_visual(cell, record)
Exemple #4
0
 def update_img(self):
     value = None
     if self.field:
         value = self.field.get_client(self.record)
     if isinstance(value, int):
         if value > CONFIG['image.max_size']:
             value = False
         else:
             value = self.field.get_data(self.record)
     pixbuf = data2pixbuf(value)
     if pixbuf:
         pixbuf = resize_pixbuf(pixbuf, self.width, self.height)
     self.image.set_from_pixbuf(pixbuf)
     return bool(value)
Exemple #5
0
 def setter(self, column, cell, store, iter_, user_data=None):
     record, field = self._get_record_field_from_iter(iter_, store)
     value = field.get_client(record)
     if isinstance(value, int):
         if value > CONFIG['image.max_size']:
             value = None
         else:
             value = field.get_data(record)
     pixbuf = data2pixbuf(value)
     width = self.attrs.get('width', -1)
     height = self.attrs.get('height', -1)
     if pixbuf and (width != -1 or height != -1):
         pixbuf = common.resize_pixbuf(pixbuf, width, height)
     cell.set_property('pixbuf', pixbuf)
Exemple #6
0
 def setter(self, column, cell, store, iter_):
     record = store.get_value(iter_, 0)
     field = record[self.field_name]
     value = field.get_client(record)
     if isinstance(value, (int, long)):
         if value > common.BIG_IMAGE_SIZE:
             value = None
         else:
             value = field.get_data(record)
     pixbuf = data2pixbuf(value)
     width = self.attrs.get('width', -1)
     height = self.attrs.get('height', -1)
     if width != -1 or height != -1:
         pixbuf = common.resize_pixbuf(pixbuf, width, height)
     cell.set_property('pixbuf', pixbuf)
Exemple #7
0
 def setter(self, column, cell, store, iter_):
     record = store.get_value(iter_, 0)
     field = record[self.field_name]
     value = field.get_client(record)
     if isinstance(value, (int, long)):
         if value > common.BIG_IMAGE_SIZE:
             value = None
         else:
             value = field.get_data(record)
     pixbuf = data2pixbuf(value)
     if (self.attrs.get('width', -1) != -1 or
             self.attrs.get('height', -1) != -1):
         pixbuf = common.resize_pixbuf(pixbuf,
             self.attrs['width'], self.attrs['height'])
     cell.set_property('pixbuf', pixbuf)
Exemple #8
0
    def display(self):
        super().display()
        if self.field and self.record:
            data = self.field.get_data(self.record)
        else:
            data = None

        if not data:
            self.image.hide()
            if self.evince_view:
                self.evince_view.set_model(EvinceView.DocumentModel())
                self.evince_scroll.hide()
            return

        pixbuf = data2pixbuf(data)
        if pixbuf:
            try:
                self.image.disconnect_by_func(self._draw)
            except TypeError:
                pass
            self.image.connect('draw', self._draw, pixbuf)
            self.image.queue_draw()
            self.image.show()
            if self.evince_view:
                self.evince_view.set_model(EvinceView.DocumentModel())
                self.evince_scroll.hide()
        else:
            self.image.hide()
            if self.evince_view:
                self.evince_scroll.show()
                if self.filename_field:
                    suffix = self.filename_field.get(self.record)
                else:
                    suffix = None
                try:
                    with NamedTemporaryFile(suffix=suffix) as fp:
                        fp.write(data)
                        path = Path(fp.name)
                        document = (
                            EvinceDocument.Document.factory_get_document(
                                path.as_uri()))
                    model = EvinceView.DocumentModel()
                    model.set_document(document)
                    self.evince_view.set_model(model)
                except GLib.GError:
                    self.evince_view.set_model(EvinceView.DocumentModel())
                    self.evince_scroll.hide()