コード例 #1
0
ファイル: videothumbnailviewer.py プロジェクト: kzwkt/dff
class ThumbnailVideoView(QWidget, Script):
  def __init__(self):
    Script.__init__(self, "thumbnailvideo")
    self.icon = None
    self.vfs = vfs.vfs()

  def start(self, args):
    try :
      self.preview = args["preview"].value()
    except IndexError:
      self.preview = False
    try:
      self.node = args["file"].value()
    except KeyError:
      pass

  def g_display(self):
    QWidget.__init__(self)
    self.hlayout = QHBoxLayout()
    self.scrollArea = QScrollArea()
    self.scrollWidget = QWidget()
    self.hhlayout = QHBoxLayout()
    self.scrollWidget.setLayout(self.hhlayout)
    self.setLayout(self.hlayout)
    self.thumbnailer = Thumbnailer()
    self.connect(self.thumbnailer, SIGNAL("ThumbnailUpdate"), self.updateThumbnail)

    pixmap = self.thumbnailer.generate(self.node, iconSize = 256, frames = 10)
    if pixmap:
	self.updateThumbnail(self.node, pixmap)


  def updateThumbnail(self, node, pixmap):
     if pixmap:
       label = QLabel()
       label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
       label.setWordWrap(True)
       label.setPixmap(pixmap)
     else:
       label = QLabel("Can't render, video is corrupted.")
       label.setAlignment(Qt.AlignCenter)
     self.hhlayout.addWidget(label)
     self.scrollArea.setWidget(self.scrollWidget)
     self.hlayout.addWidget(self.scrollArea)
     self.thumbnailer.unregister()

  def updateWidget(self):
     pass