[qcineoob] info person and info movie

This commit is contained in:
Julien Veyssier 2013-03-11 16:33:46 +01:00
commit e2ac58ae4f
6 changed files with 506 additions and 83 deletions

View file

@ -107,7 +107,7 @@ class MainWindow(QtMainWindow):
def searchMovieAction(self,pattern): def searchMovieAction(self,pattern):
self.ui.stackedWidget.setCurrentWidget(self.ui.movie_list_page) self.ui.stackedWidget.setCurrentWidget(self.ui.movie_list_page)
for minimovie in self.minimovies: for minimovie in self.minimovies:
self.ui.movie_list_page.layout().removeWidget(minimovie) self.ui.movie_list_content.layout().removeWidget(minimovie)
minimovie.hide() minimovie.hide()
minimovie.deleteLater() minimovie.deleteLater()
@ -125,17 +125,17 @@ class MainWindow(QtMainWindow):
self.process = None self.process = None
return return
minimovie = MiniMovie(self.weboob, backend, movie, self) minimovie = MiniMovie(self.weboob, backend, movie, self)
self.ui.scrollAreaContent.layout().addWidget(minimovie) self.ui.movie_list_content.layout().addWidget(minimovie)
self.minimovies.append(minimovie) self.minimovies.append(minimovie)
def displayMovie(self, movie): def displayMovie(self, movie):
self.ui.stackedWidget.setCurrentWidget(self.ui.movie_info_page) self.ui.stackedWidget.setCurrentWidget(self.ui.movie_info_page)
if self.current_movie_widget != None: if self.current_movie_widget != None:
self.ui.movie_info_page.layout().removeWidget(self.current_movie_widget) self.ui.movie_info_content.layout().removeWidget(self.current_movie_widget)
self.current_movie_widget.hide() self.current_movie_widget.hide()
self.current_movie_widget.deleteLater() self.current_movie_widget.deleteLater()
wmovie = Movie(movie,self) wmovie = Movie(movie,self)
self.ui.movie_info_page.layout().addWidget(wmovie) self.ui.movie_info_content.layout().addWidget(wmovie)
self.current_movie_widget = wmovie self.current_movie_widget = wmovie
def searchPerson(self): def searchPerson(self):
@ -147,7 +147,7 @@ class MainWindow(QtMainWindow):
def searchPersonAction(self,pattern): def searchPersonAction(self,pattern):
self.ui.stackedWidget.setCurrentWidget(self.ui.person_list_page) self.ui.stackedWidget.setCurrentWidget(self.ui.person_list_page)
for miniperson in self.minipersons: for miniperson in self.minipersons:
self.ui.person_list_page.layout().removeWidget(miniperson) self.ui.person_list_content.layout().removeWidget(miniperson)
miniperson.hide() miniperson.hide()
miniperson.deleteLater() miniperson.deleteLater()
@ -165,17 +165,17 @@ class MainWindow(QtMainWindow):
self.process = None self.process = None
return return
miniperson = MiniPerson(self.weboob, backend, person, self) miniperson = MiniPerson(self.weboob, backend, person, self)
self.ui.scrollAreaContent_2.layout().addWidget(miniperson) self.ui.person_list_content.layout().addWidget(miniperson)
self.minipersons.append(miniperson) self.minipersons.append(miniperson)
def displayPerson(self, person): def displayPerson(self, person):
self.ui.stackedWidget.setCurrentWidget(self.ui.person_info_page) self.ui.stackedWidget.setCurrentWidget(self.ui.person_info_page)
if self.current_person_widget != None: if self.current_person_widget != None:
self.ui.person_info_page.layout().removeWidget(self.current_person_widget) self.ui.person_info_content.layout().removeWidget(self.current_person_widget)
self.current_person_widget.hide() self.current_person_widget.hide()
self.current_person_widget.deleteLater() self.current_person_widget.deleteLater()
wperson = Person(person,self) wperson = Person(person,self)
self.ui.person_info_page.layout().addWidget(wperson) self.ui.person_info_content.layout().addWidget(wperson)
self.current_person_widget = wperson self.current_person_widget = wperson
def closeEvent(self, ev): def closeEvent(self, ev):

View file

@ -17,12 +17,13 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>. # along with weboob. If not, see <http://www.gnu.org/licenses/>.
import urllib
from PyQt4.QtCore import QUrl from PyQt4.QtCore import QUrl,Qt
from PyQt4.QtGui import QFrame from PyQt4.QtGui import QFrame, QImage, QPixmap
from PyQt4.phonon import Phonon
from weboob.applications.qcineoob.ui.movie_ui import Ui_Movie from weboob.applications.qcineoob.ui.movie_ui import Ui_Movie
from weboob.capabilities.base import NotAvailable, NotLoaded
class Movie(QFrame): class Movie(QFrame):
def __init__(self, movie, parent=None): def __init__(self, movie, parent=None):
@ -34,3 +35,22 @@ class Movie(QFrame):
self.movie = movie self.movie = movie
self.ui.titleLabel.setText(movie.original_title) self.ui.titleLabel.setText(movie.original_title)
self.ui.durationLabel.setText(unicode(movie.duration)) self.ui.durationLabel.setText(unicode(movie.duration))
self.gotThumbnail()
if movie.other_titles != NotAvailable:
self.ui.otherTitlesPlain.setPlainText('\n'.join(movie.other_titles))
if movie.release_date != NotAvailable:
self.ui.releaseDateLabel.setText(movie.release_date.isoformat())
self.ui.durationLabel.setText('%s'%movie.duration)
self.ui.pitchPlain.setPlainText('%s'%movie.pitch)
self.ui.countryLabel.setText('%s'%movie.country)
self.ui.noteLabel.setText('%s'%movie.note)
self.ui.verticalLayout.setAlignment(Qt.AlignTop)
def gotThumbnail(self):
if self.movie.thumbnail_url != NotAvailable:
data = urllib.urlopen(self.movie.thumbnail_url).read()
img = QImage.fromData(data)
self.ui.imageLabel.setPixmap(QPixmap.fromImage(img))

View file

@ -17,12 +17,13 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>. # along with weboob. If not, see <http://www.gnu.org/licenses/>.
import urllib
from PyQt4.QtCore import QUrl from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QFrame from PyQt4.QtGui import QFrame, QImage, QPixmap
from PyQt4.phonon import Phonon
from weboob.applications.qcineoob.ui.person_ui import Ui_Person from weboob.applications.qcineoob.ui.person_ui import Ui_Person
from weboob.capabilities.base import NotAvailable, NotLoaded
class Person(QFrame): class Person(QFrame):
def __init__(self, person, parent=None): def __init__(self, person, parent=None):
@ -32,5 +33,20 @@ class Person(QFrame):
self.ui.setupUi(self) self.ui.setupUi(self)
self.person = person self.person = person
self.gotThumbnail()
self.ui.nameLabel.setText(person.name) self.ui.nameLabel.setText(person.name)
self.ui.birthdateLabel.setText(person.birth_date.isoformat())
self.ui.realNameLabel.setText('%s'%person.real_name)
self.ui.birthPlaceLabel.setText('%s'%person.birth_place)
self.ui.birthDateLabel.setText(person.birth_date.isoformat())
if person.death_date != NotAvailable:
self.ui.deathDateLabel.setText(person.death_date.isoformat())
else:
self.ui.deathDateLabel.parent().hide()
self.ui.shortBioPlain.setPlainText('%s'%person.short_biography)
def gotThumbnail(self):
if self.person.thumbnail_url != NotAvailable:
data = urllib.urlopen(self.person.thumbnail_url).read()
img = QImage.fromData(data)
self.ui.imageLabel.setPixmap(QPixmap.fromImage(img))

View file

@ -79,13 +79,10 @@
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<widget class="QScrollArea" name="scrollArea"> <widget class="QScrollArea" name="scrollArea">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="widgetResizable"> <property name="widgetResizable">
<bool>true</bool> <bool>true</bool>
</property> </property>
<widget class="QWidget" name="scrollAreaContent"> <widget class="QWidget" name="movie_list_content">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
@ -94,56 +91,77 @@
<height>313</height> <height>313</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2"/>
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
</widget> </widget>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="movie_info_page"> <widget class="QWidget" name="movie_info_page">
<layout class="QVBoxLayout" name="movieInfoLayout"/> <layout class="QVBoxLayout" name="movieInfoLayout">
</widget>
<widget class="QWidget" name="person_list_page">
<layout class="QVBoxLayout" name="verticalLayout_6">
<item> <item>
<widget class="QScrollArea" name="scrollArea_2"> <widget class="QScrollArea" name="scrollArea_2">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="widgetResizable"> <property name="widgetResizable">
<bool>true</bool> <bool>true</bool>
</property> </property>
<widget class="QWidget" name="scrollAreaContent_2"> <widget class="QWidget" name="movie_info_content">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>78</width> <width>542</width>
<height>16</height> <height>313</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_8"/>
<property name="spacing"> </widget>
<number>0</number> </widget>
</property> </item>
<property name="margin"> </layout>
<number>0</number> </widget>
</property> <widget class="QWidget" name="person_list_page">
</layout> <layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QScrollArea" name="scrollArea_4">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="person_list_content">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>542</width>
<height>313</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5"/>
</widget> </widget>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="person_info_page"> <widget class="QWidget" name="person_info_page">
<layout class="QVBoxLayout" name="verticalLayout_7"/> <layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QScrollArea" name="scrollArea_5">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="person_info_content">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>542</width>
<height>313</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4"/>
</widget>
</widget>
</item>
</layout>
</widget> </widget>
</widget> </widget>
</item> </item>

View file

@ -6,10 +6,22 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>857</width> <width>428</width>
<height>629</height> <height>490</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>2000</width>
<height>600</height>
</size>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string>Frame</string> <string>Frame</string>
</property> </property>
@ -19,25 +31,24 @@
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QFrame" name="frame_4">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>3000</height>
</size>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="imageLabel">
<property name="text">
<string>Title:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="titleLabel">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
@ -47,26 +58,246 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QFrame" name="frame_2"> <widget class="QFrame" name="frame_3">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>600</height>
</size>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QLabel" name="label_3"> <widget class="QFrame" name="frame_9">
<property name="text"> <property name="maximumSize">
<string>Duration:</string> <size>
<width>16777215</width>
<height>35</height>
</size>
</property> </property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Title:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="titleLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="durationLabel"> <widget class="QFrame" name="frame_8">
<property name="text"> <property name="sizePolicy">
<string/> <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>200</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLabel" name="label_6">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Other titles:</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="otherTitlesPlain"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>35</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Duration:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="durationLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_6">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>35</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Release date:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="releaseDateLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_5">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>200</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Pitch:</string>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="pitchPlain"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_7">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>35</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Country:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="countryLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>35</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Note:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="noteLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
</layout> </layout>

View file

@ -19,25 +19,18 @@
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QFrame" name="frame_3">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="imageLabel">
<property name="text">
<string>name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="nameLabel">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
@ -47,26 +40,171 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QFrame" name="frame_2"> <widget class="QFrame" name="frame_4">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QLabel" name="label_3"> <widget class="QFrame" name="frame">
<property name="text"> <property name="frameShape">
<string>Birth date:</string> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="nameLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="birthdateLabel"> <widget class="QFrame" name="frame_2">
<property name="text"> <property name="frameShape">
<string/> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Birth date:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="birthDateLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_8">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Real Name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="realNameLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_11">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="label_10">
<property name="text">
<string>Birth place:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="birthPlaceLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_10">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Death date:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="deathDateLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_9">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLabel" name="label_8">
<property name="text">
<string>Short biography:</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="shortBioPlain">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>100</height>
</size>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
</layout> </layout>