[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):
self.ui.stackedWidget.setCurrentWidget(self.ui.movie_list_page)
for minimovie in self.minimovies:
self.ui.movie_list_page.layout().removeWidget(minimovie)
self.ui.movie_list_content.layout().removeWidget(minimovie)
minimovie.hide()
minimovie.deleteLater()
@ -125,17 +125,17 @@ class MainWindow(QtMainWindow):
self.process = None
return
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)
def displayMovie(self, movie):
self.ui.stackedWidget.setCurrentWidget(self.ui.movie_info_page)
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.deleteLater()
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
def searchPerson(self):
@ -147,7 +147,7 @@ class MainWindow(QtMainWindow):
def searchPersonAction(self,pattern):
self.ui.stackedWidget.setCurrentWidget(self.ui.person_list_page)
for miniperson in self.minipersons:
self.ui.person_list_page.layout().removeWidget(miniperson)
self.ui.person_list_content.layout().removeWidget(miniperson)
miniperson.hide()
miniperson.deleteLater()
@ -165,17 +165,17 @@ class MainWindow(QtMainWindow):
self.process = None
return
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)
def displayPerson(self, person):
self.ui.stackedWidget.setCurrentWidget(self.ui.person_info_page)
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.deleteLater()
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
def closeEvent(self, ev):

View file

@ -17,12 +17,13 @@
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import urllib
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QFrame
from PyQt4.phonon import Phonon
from PyQt4.QtCore import QUrl,Qt
from PyQt4.QtGui import QFrame, QImage, QPixmap
from weboob.applications.qcineoob.ui.movie_ui import Ui_Movie
from weboob.capabilities.base import NotAvailable, NotLoaded
class Movie(QFrame):
def __init__(self, movie, parent=None):
@ -34,3 +35,22 @@ class Movie(QFrame):
self.movie = movie
self.ui.titleLabel.setText(movie.original_title)
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
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import urllib
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QFrame
from PyQt4.phonon import Phonon
from PyQt4.QtGui import QFrame, QImage, QPixmap
from weboob.applications.qcineoob.ui.person_ui import Ui_Person
from weboob.capabilities.base import NotAvailable, NotLoaded
class Person(QFrame):
def __init__(self, person, parent=None):
@ -32,5 +33,20 @@ class Person(QFrame):
self.ui.setupUi(self)
self.person = person
self.gotThumbnail()
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">
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaContent">
<widget class="QWidget" name="movie_list_content">
<property name="geometry">
<rect>
<x>0</x>
@ -94,56 +91,77 @@
<height>313</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
<layout class="QVBoxLayout" name="verticalLayout_2"/>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="movie_info_page">
<layout class="QVBoxLayout" name="movieInfoLayout"/>
</widget>
<widget class="QWidget" name="person_list_page">
<layout class="QVBoxLayout" name="verticalLayout_6">
<layout class="QVBoxLayout" name="movieInfoLayout">
<item>
<widget class="QScrollArea" name="scrollArea_2">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaContent_2">
<widget class="QWidget" name="movie_info_content">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>78</width>
<height>16</height>
<width>542</width>
<height>313</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
<layout class="QVBoxLayout" name="verticalLayout_8"/>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="person_list_page">
<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>
</item>
</layout>
</widget>
<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>
</item>

View file

@ -6,10 +6,22 @@
<rect>
<x>0</x>
<y>0</y>
<width>857</width>
<height>629</height>
<width>428</width>
<height>490</height>
</rect>
</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">
<string>Frame</string>
</property>
@ -19,25 +31,24 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<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">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Title:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="titleLabel">
<widget class="QLabel" name="imageLabel">
<property name="text">
<string/>
</property>
@ -47,26 +58,246 @@
</widget>
</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">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Duration:</string>
<widget class="QFrame" name="frame_9">
<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_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>
</item>
<item>
<widget class="QLabel" name="durationLabel">
<property name="text">
<string/>
<widget class="QFrame" name="frame_8">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</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>
</item>
</layout>

View file

@ -19,25 +19,18 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QFrame" name="frame">
<widget class="QFrame" name="frame_3">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="nameLabel">
<widget class="QLabel" name="imageLabel">
<property name="text">
<string/>
</property>
@ -47,26 +40,171 @@
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<widget class="QFrame" name="frame_4">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Birth date:</string>
<widget class="QFrame" name="frame">
<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>name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="nameLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="birthdateLabel">
<property name="text">
<string/>
<widget class="QFrame" name="frame_2">
<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>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>
</item>
</layout>