From d605d3058823474046a0b15907633e4c77924c5a Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Sat, 17 Apr 2010 13:03:12 +0200 Subject: [PATCH] improvement --- weboob/frontends/qvideoob/main_window.py | 2 +- weboob/frontends/qvideoob/minivideo.py | 21 ++- weboob/frontends/qvideoob/ui/Makefile | 5 - weboob/frontends/qvideoob/ui/minivideo.ui | 22 +++- weboob/frontends/qvideoob/ui/minivideo_ui.py | 109 ---------------- weboob/frontends/qvideoob/ui/video.ui | 3 + weboob/frontends/qvideoob/ui/video_ui.py | 130 ------------------- 7 files changed, 45 insertions(+), 247 deletions(-) delete mode 100644 weboob/frontends/qvideoob/ui/minivideo_ui.py delete mode 100644 weboob/frontends/qvideoob/ui/video_ui.py diff --git a/weboob/frontends/qvideoob/main_window.py b/weboob/frontends/qvideoob/main_window.py index d453e411..d1050abf 100644 --- a/weboob/frontends/qvideoob/main_window.py +++ b/weboob/frontends/qvideoob/main_window.py @@ -51,7 +51,7 @@ class MainWindow(QtMainWindow): for backend in self.weboob.iter_backends(): for video in backend.iter_search_results(pattern): - minivideo = MiniVideo(video) + minivideo = MiniVideo(backend, video) self.ui.scrollAreaContent.layout().addWidget(minivideo) self.minivideos.append(minivideo) diff --git a/weboob/frontends/qvideoob/minivideo.py b/weboob/frontends/qvideoob/minivideo.py index 600a1444..870e2e9f 100644 --- a/weboob/frontends/qvideoob/minivideo.py +++ b/weboob/frontends/qvideoob/minivideo.py @@ -22,15 +22,18 @@ import urllib2 from PyQt4.QtGui import QFrame, QImage, QPixmap from weboob.frontends.qvideoob.ui.minivideo_ui import Ui_MiniVideo +from .video import Video class MiniVideo(QFrame): - def __init__(self, video, parent=None): + def __init__(self, backend, video, parent=None): QFrame.__init__(self, parent) self.ui = Ui_MiniVideo() self.ui.setupUi(self) + self.backend = backend self.video = video self.ui.titleLabel.setText(video.title) + self.ui.backendLabel.setText(backend.name) self.ui.durationLabel.setText('%d:%02d:%02d' % (video.duration/3600, (video.duration%3600)/60, video.duration%60)) self.ui.authorLabel.setText(unicode(video.author)) self.ui.dateLabel.setText(video.date and unicode(video.date) or '') @@ -43,3 +46,19 @@ class MiniVideo(QFrame): data = urllib2.urlopen(video.preview_url).read() img = QImage.fromData(data) self.ui.imageLabel.setPixmap(QPixmap.fromImage(img)) + + def enterEvent(self, event): + self.setFrameShadow(self.Sunken) + QFrame.enterEvent(self, event) + + def leaveEvent(self, event): + self.setFrameShadow(self.Raised) + QFrame.leaveEvent(self, event) + + def mousePressEvent(self, event): + QFrame.mousePressEvent(self, event) + + video = self.backend.get_video(self.video.id) + if video: + video_widget = Video(video, self) + video_widget.show() diff --git a/weboob/frontends/qvideoob/ui/Makefile b/weboob/frontends/qvideoob/ui/Makefile index c1ee0ec0..f0db5154 100644 --- a/weboob/frontends/qvideoob/ui/Makefile +++ b/weboob/frontends/qvideoob/ui/Makefile @@ -7,11 +7,6 @@ all: $(UI_PY_FILES) %_ui.py: %.ui $(PYUIC) -o $@ $^ - # TODO: ugly hack, because of a usefull import by - # Qt in the nulog_ui.py file.. But we *don't* - # want to use a python resource file!! - sed -i '/import nulog3_rc/D' $@ - clean: rm -f *.pyc rm -f $(UI_PY_FILES) diff --git a/weboob/frontends/qvideoob/ui/minivideo.ui b/weboob/frontends/qvideoob/ui/minivideo.ui index 7fab8ee6..f63d3379 100644 --- a/weboob/frontends/qvideoob/ui/minivideo.ui +++ b/weboob/frontends/qvideoob/ui/minivideo.ui @@ -7,7 +7,7 @@ 0 0 464 - 111 + 112 @@ -160,6 +160,26 @@ + + + + + 75 + true + + + + Where + + + + + + + TextLabel + + + diff --git a/weboob/frontends/qvideoob/ui/minivideo_ui.py b/weboob/frontends/qvideoob/ui/minivideo_ui.py deleted file mode 100644 index 7722c64b..00000000 --- a/weboob/frontends/qvideoob/ui/minivideo_ui.py +++ /dev/null @@ -1,109 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'minivideo.ui' -# -# Created: Sat Apr 17 11:04:00 2010 -# by: PyQt4 UI code generator 4.6 -# -# WARNING! All changes made in this file will be lost! - -from PyQt4 import QtCore, QtGui - -class Ui_MiniVideo(object): - def setupUi(self, MiniVideo): - MiniVideo.setObjectName("MiniVideo") - MiniVideo.resize(464, 111) - MiniVideo.setFrameShape(QtGui.QFrame.StyledPanel) - MiniVideo.setFrameShadow(QtGui.QFrame.Raised) - self.horizontalLayout = QtGui.QHBoxLayout(MiniVideo) - self.horizontalLayout.setContentsMargins(9, 5, -1, 5) - self.horizontalLayout.setObjectName("horizontalLayout") - self.imageLabel = QtGui.QLabel(MiniVideo) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.imageLabel.sizePolicy().hasHeightForWidth()) - self.imageLabel.setSizePolicy(sizePolicy) - self.imageLabel.setObjectName("imageLabel") - self.horizontalLayout.addWidget(self.imageLabel) - self.formLayout = QtGui.QFormLayout() - self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.ExpandingFieldsGrow) - self.formLayout.setObjectName("formLayout") - self.label_5 = QtGui.QLabel(MiniVideo) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_5.setFont(font) - self.label_5.setObjectName("label_5") - self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_5) - self.titleLabel = QtGui.QLabel(MiniVideo) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.titleLabel.sizePolicy().hasHeightForWidth()) - self.titleLabel.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setWeight(50) - font.setItalic(True) - font.setBold(False) - self.titleLabel.setFont(font) - self.titleLabel.setObjectName("titleLabel") - self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.titleLabel) - self.label_8 = QtGui.QLabel(MiniVideo) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_8.setFont(font) - self.label_8.setObjectName("label_8") - self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_8) - self.durationLabel = QtGui.QLabel(MiniVideo) - self.durationLabel.setObjectName("durationLabel") - self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.durationLabel) - self.label_4 = QtGui.QLabel(MiniVideo) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_4.setFont(font) - self.label_4.setObjectName("label_4") - self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_4) - self.authorLabel = QtGui.QLabel(MiniVideo) - self.authorLabel.setObjectName("authorLabel") - self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.authorLabel) - self.label_2 = QtGui.QLabel(MiniVideo) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_2.setFont(font) - self.label_2.setObjectName("label_2") - self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_2) - self.dateLabel = QtGui.QLabel(MiniVideo) - self.dateLabel.setObjectName("dateLabel") - self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.dateLabel) - self.label_3 = QtGui.QLabel(MiniVideo) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_3.setFont(font) - self.label_3.setObjectName("label_3") - self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_3) - self.ratingLabel = QtGui.QLabel(MiniVideo) - self.ratingLabel.setObjectName("ratingLabel") - self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.ratingLabel) - self.horizontalLayout.addLayout(self.formLayout) - - self.retranslateUi(MiniVideo) - QtCore.QMetaObject.connectSlotsByName(MiniVideo) - - def retranslateUi(self, MiniVideo): - MiniVideo.setWindowTitle(QtGui.QApplication.translate("MiniVideo", "Form", None, QtGui.QApplication.UnicodeUTF8)) - self.label_5.setText(QtGui.QApplication.translate("MiniVideo", "Title", None, QtGui.QApplication.UnicodeUTF8)) - self.titleLabel.setText(QtGui.QApplication.translate("MiniVideo", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label_8.setText(QtGui.QApplication.translate("MiniVideo", "Duration", None, QtGui.QApplication.UnicodeUTF8)) - self.durationLabel.setText(QtGui.QApplication.translate("MiniVideo", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label_4.setText(QtGui.QApplication.translate("MiniVideo", "Author", None, QtGui.QApplication.UnicodeUTF8)) - self.authorLabel.setText(QtGui.QApplication.translate("MiniVideo", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label_2.setText(QtGui.QApplication.translate("MiniVideo", "Date", None, QtGui.QApplication.UnicodeUTF8)) - self.dateLabel.setText(QtGui.QApplication.translate("MiniVideo", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label_3.setText(QtGui.QApplication.translate("MiniVideo", "Rating", None, QtGui.QApplication.UnicodeUTF8)) - self.ratingLabel.setText(QtGui.QApplication.translate("MiniVideo", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - diff --git a/weboob/frontends/qvideoob/ui/video.ui b/weboob/frontends/qvideoob/ui/video.ui index acf5e957..6d54c9bb 100644 --- a/weboob/frontends/qvideoob/ui/video.ui +++ b/weboob/frontends/qvideoob/ui/video.ui @@ -32,6 +32,9 @@ TextLabel + + Qt::AlignCenter + diff --git a/weboob/frontends/qvideoob/ui/video_ui.py b/weboob/frontends/qvideoob/ui/video_ui.py deleted file mode 100644 index 54a733de..00000000 --- a/weboob/frontends/qvideoob/ui/video_ui.py +++ /dev/null @@ -1,130 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'video.ui' -# -# Created: Sat Apr 17 12:19:03 2010 -# by: PyQt4 UI code generator 4.6 -# -# WARNING! All changes made in this file will be lost! - -from PyQt4 import QtCore, QtGui - -class Ui_Video(object): - def setupUi(self, Video): - Video.setObjectName("Video") - Video.resize(647, 404) - self.verticalLayout = QtGui.QVBoxLayout(Video) - self.verticalLayout.setObjectName("verticalLayout") - self.titleLabel = QtGui.QLabel(Video) - font = QtGui.QFont() - font.setPointSize(12) - font.setWeight(75) - font.setBold(True) - self.titleLabel.setFont(font) - self.titleLabel.setFrameShape(QtGui.QFrame.Box) - self.titleLabel.setFrameShadow(QtGui.QFrame.Raised) - self.titleLabel.setObjectName("titleLabel") - self.verticalLayout.addWidget(self.titleLabel) - self.frame = QtGui.QFrame(Video) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth()) - self.frame.setSizePolicy(sizePolicy) - self.frame.setStyleSheet("background-color: rgb(255, 255, 255);") - self.frame.setFrameShape(QtGui.QFrame.StyledPanel) - self.frame.setFrameShadow(QtGui.QFrame.Sunken) - self.frame.setObjectName("frame") - self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame) - self.verticalLayout_2.setObjectName("verticalLayout_2") - self.videoPlayer = phonon.Phonon.VideoPlayer(self.frame) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.videoPlayer.sizePolicy().hasHeightForWidth()) - self.videoPlayer.setSizePolicy(sizePolicy) - self.videoPlayer.setObjectName("videoPlayer") - self.verticalLayout_2.addWidget(self.videoPlayer) - self.seekSlider = phonon.Phonon.SeekSlider(self.frame) - self.seekSlider.setIconVisible(True) - self.seekSlider.setTracking(True) - self.seekSlider.setObjectName("seekSlider") - self.verticalLayout_2.addWidget(self.seekSlider) - self.verticalLayout.addWidget(self.frame) - self.frame_2 = QtGui.QFrame(Video) - self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel) - self.frame_2.setFrameShadow(QtGui.QFrame.Raised) - self.frame_2.setObjectName("frame_2") - self.formLayout = QtGui.QFormLayout(self.frame_2) - self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.ExpandingFieldsGrow) - self.formLayout.setObjectName("formLayout") - self.label_4 = QtGui.QLabel(self.frame_2) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_4.setFont(font) - self.label_4.setObjectName("label_4") - self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_4) - self.urlEdit = QtGui.QLineEdit(self.frame_2) - self.urlEdit.setReadOnly(True) - self.urlEdit.setObjectName("urlEdit") - self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.urlEdit) - self.label_8 = QtGui.QLabel(self.frame_2) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_8.setFont(font) - self.label_8.setObjectName("label_8") - self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_8) - self.durationLabel = QtGui.QLabel(self.frame_2) - self.durationLabel.setObjectName("durationLabel") - self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.durationLabel) - self.label = QtGui.QLabel(self.frame_2) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label.setFont(font) - self.label.setObjectName("label") - self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.label) - self.authorLabel = QtGui.QLabel(self.frame_2) - self.authorLabel.setObjectName("authorLabel") - self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.authorLabel) - self.label_2 = QtGui.QLabel(self.frame_2) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_2.setFont(font) - self.label_2.setObjectName("label_2") - self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_2) - self.dateLabel = QtGui.QLabel(self.frame_2) - self.dateLabel.setObjectName("dateLabel") - self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.dateLabel) - self.label_3 = QtGui.QLabel(self.frame_2) - font = QtGui.QFont() - font.setWeight(75) - font.setBold(True) - self.label_3.setFont(font) - self.label_3.setObjectName("label_3") - self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_3) - self.ratingLabel = QtGui.QLabel(self.frame_2) - self.ratingLabel.setObjectName("ratingLabel") - self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.ratingLabel) - self.verticalLayout.addWidget(self.frame_2) - - self.retranslateUi(Video) - QtCore.QMetaObject.connectSlotsByName(Video) - - def retranslateUi(self, Video): - Video.setWindowTitle(QtGui.QApplication.translate("Video", "Video", None, QtGui.QApplication.UnicodeUTF8)) - self.titleLabel.setText(QtGui.QApplication.translate("Video", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label_4.setText(QtGui.QApplication.translate("Video", "URL", None, QtGui.QApplication.UnicodeUTF8)) - self.label_8.setText(QtGui.QApplication.translate("Video", "Duration", None, QtGui.QApplication.UnicodeUTF8)) - self.durationLabel.setText(QtGui.QApplication.translate("Video", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label.setText(QtGui.QApplication.translate("Video", "Author", None, QtGui.QApplication.UnicodeUTF8)) - self.authorLabel.setText(QtGui.QApplication.translate("Video", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label_2.setText(QtGui.QApplication.translate("Video", "Date", None, QtGui.QApplication.UnicodeUTF8)) - self.dateLabel.setText(QtGui.QApplication.translate("Video", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - self.label_3.setText(QtGui.QApplication.translate("Video", "Rating", None, QtGui.QApplication.UnicodeUTF8)) - self.ratingLabel.setText(QtGui.QApplication.translate("Video", "TextLabel", None, QtGui.QApplication.UnicodeUTF8)) - -from PyQt4 import phonon