Skip to content
Browse files

proimdb

  • Loading branch information...
1 parent e464a12 commit d5b9383ecb572af559272673b5bff2786a8d88b2 @gnuvince committed Feb 21, 2011
View
11 ImdbPro/ImdbPro.pro
@@ -1,18 +1,21 @@
#-------------------------------------------------
#
-# Project created by QtCreator 2011-02-15T08:46:14
+# Project created by QtCreator 2011-02-17T13:40:36
#
#-------------------------------------------------
-QT += core gui
+QT += core gui network
TARGET = ImdbPro
TEMPLATE = app
SOURCES += main.cpp\
- mainwindow.cpp
+ mainwindow.cpp \
+ imdb.cpp
-HEADERS += mainwindow.h
+HEADERS += mainwindow.h \
+ imdb.h
FORMS += mainwindow.ui
+CONFIG += debug
View
56 ImdbPro/ImdbPro.pro.user
@@ -7,7 +7,7 @@
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
- <value key="EditorConfiguration.Codec" type="QByteArray">UTF-8</value>
+ <value key="EditorConfiguration.Codec" type="QByteArray">System</value>
</valuemap>
</data>
<data>
@@ -43,13 +43,13 @@
<value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
<value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
<valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
- <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt in PATH Debug</value>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/u/thiviere/Documents/IFT2905/Devoirs/D1/ImdbPro/ImdbPro-build-desktop</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">3</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/vince/universite/H11/IFT2905/TP1/ImdbPro</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">2</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">false</value>
</valuemap>
<valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
@@ -77,49 +77,15 @@
<value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
<value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
<valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
- <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt in PATH Release</value>
- <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/u/thiviere/Documents/IFT2905/Devoirs/D1/ImdbPro/ImdbPro-build-desktop</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">3</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
- </valuemap>
- <valuemap key="ProjectExplorer.Target.BuildConfiguration.2" type="QVariantMap">
- <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
- <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
- <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
- <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
- </valuemap>
- <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
- <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
- <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
- <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
- <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
- <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
- </valuemap>
- <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
- <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
- <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
- <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
- <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
- <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
- <value type="QString">clean</value>
- </valuelist>
- <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
- </valuemap>
- <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
- <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
- <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
- <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt 4.7.0 OpenSource Debug</value>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug2</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/u/thiviere/Documents/IFT2905/Devoirs/D1/ImdbPro/ImdbPro-build-desktop</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/vince/universite/H11/IFT2905/TP1/ImdbPro-build-desktop</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">2</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
</valuemap>
- <valuemap key="ProjectExplorer.Target.BuildConfiguration.3" type="QVariantMap">
+ <valuemap key="ProjectExplorer.Target.BuildConfiguration.2" type="QVariantMap">
<valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
@@ -145,15 +111,15 @@
<value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
<value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
<valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
- <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt 4.7.0 OpenSource Release</value>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Release</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
- <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/u/thiviere/Documents/IFT2905/Devoirs/D1/ImdbPro/ImdbPro-build-desktop</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/vince/universite/H11/IFT2905/TP1/ImdbPro-build-desktop</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">2</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
<value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
</valuemap>
- <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">4</value>
+ <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">3</value>
<valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
<value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">ImdbPro</value>
<value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
View
241 ImdbPro/Makefile
@@ -0,0 +1,241 @@
+#############################################################################
+# Makefile for building: ImdbPro
+# Generated by qmake (2.01a) (Qt 4.7.1) on: Sat Feb 19 20:37:52 2011
+# Project: ImdbPro.pro
+# Template: app
+# Command: /usr/bin/qmake -spec /usr/share/qt/mkspecs/linux-g++-64 CONFIG+=debug -o Makefile ImdbPro.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
+CFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT $(DEFINES)
+CXXFLAGS = -m64 -pipe -g -Wall -W -D_REENTRANT $(DEFINES)
+INCPATH = -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I.
+LINK = g++
+LFLAGS = -m64 -Wl,--hash-style=gnu -Wl,--as-needed
+LIBS = $(SUBLIBS) -L/usr/lib -lQtGui -lQtNetwork -lQtCore -lpthread
+AR = ar cqs
+RANLIB =
+QMAKE = /usr/bin/qmake
+TAR = tar -cf
+COMPRESS = gzip -9f
+COPY = cp -f
+SED = sed
+COPY_FILE = $(COPY)
+COPY_DIR = $(COPY) -r
+STRIP = strip
+INSTALL_FILE = install -m 644 -p
+INSTALL_DIR = $(COPY_DIR)
+INSTALL_PROGRAM = install -m 755 -p
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = main.cpp \
+ mainwindow.cpp \
+ imdb.cpp moc_mainwindow.cpp \
+ moc_imdb.cpp
+OBJECTS = main.o \
+ mainwindow.o \
+ imdb.o \
+ moc_mainwindow.o \
+ moc_imdb.o
+DIST = /usr/share/qt/mkspecs/common/g++.conf \
+ /usr/share/qt/mkspecs/common/unix.conf \
+ /usr/share/qt/mkspecs/common/linux.conf \
+ /usr/share/qt/mkspecs/qconfig.pri \
+ /usr/share/qt/mkspecs/modules/qt_phonon.pri \
+ /usr/share/qt/mkspecs/modules/qt_webkit_version.pri \
+ /usr/share/qt/mkspecs/features/qt_functions.prf \
+ /usr/share/qt/mkspecs/features/qt_config.prf \
+ /usr/share/qt/mkspecs/features/exclusive_builds.prf \
+ /usr/share/qt/mkspecs/features/default_pre.prf \
+ /usr/share/qt/mkspecs/features/debug.prf \
+ /usr/share/qt/mkspecs/features/default_post.prf \
+ /usr/share/qt/mkspecs/features/warn_on.prf \
+ /usr/share/qt/mkspecs/features/qt.prf \
+ /usr/share/qt/mkspecs/features/unix/thread.prf \
+ /usr/share/qt/mkspecs/features/moc.prf \
+ /usr/share/qt/mkspecs/features/resources.prf \
+ /usr/share/qt/mkspecs/features/uic.prf \
+ /usr/share/qt/mkspecs/features/yacc.prf \
+ /usr/share/qt/mkspecs/features/lex.prf \
+ /usr/share/qt/mkspecs/features/include_source_dir.prf \
+ ImdbPro.pro
+QMAKE_TARGET = ImdbPro
+DESTDIR =
+TARGET = ImdbPro
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .o .c .cpp .cc .cxx .C
+
+.cpp.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cc.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cxx.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.C.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.c.o:
+ $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
+
+####### Build rules
+
+all: Makefile $(TARGET)
+
+$(TARGET): ui_mainwindow.h $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile: ImdbPro.pro /usr/share/qt/mkspecs/linux-g++-64/qmake.conf /usr/share/qt/mkspecs/common/g++.conf \
+ /usr/share/qt/mkspecs/common/unix.conf \
+ /usr/share/qt/mkspecs/common/linux.conf \
+ /usr/share/qt/mkspecs/qconfig.pri \
+ /usr/share/qt/mkspecs/modules/qt_phonon.pri \
+ /usr/share/qt/mkspecs/modules/qt_webkit_version.pri \
+ /usr/share/qt/mkspecs/features/qt_functions.prf \
+ /usr/share/qt/mkspecs/features/qt_config.prf \
+ /usr/share/qt/mkspecs/features/exclusive_builds.prf \
+ /usr/share/qt/mkspecs/features/default_pre.prf \
+ /usr/share/qt/mkspecs/features/debug.prf \
+ /usr/share/qt/mkspecs/features/default_post.prf \
+ /usr/share/qt/mkspecs/features/warn_on.prf \
+ /usr/share/qt/mkspecs/features/qt.prf \
+ /usr/share/qt/mkspecs/features/unix/thread.prf \
+ /usr/share/qt/mkspecs/features/moc.prf \
+ /usr/share/qt/mkspecs/features/resources.prf \
+ /usr/share/qt/mkspecs/features/uic.prf \
+ /usr/share/qt/mkspecs/features/yacc.prf \
+ /usr/share/qt/mkspecs/features/lex.prf \
+ /usr/share/qt/mkspecs/features/include_source_dir.prf \
+ /usr/lib/libQtGui.prl \
+ /usr/lib/libQtNetwork.prl \
+ /usr/lib/libQtCore.prl
+ $(QMAKE) -spec /usr/share/qt/mkspecs/linux-g++-64 CONFIG+=debug -o Makefile ImdbPro.pro
+/usr/share/qt/mkspecs/common/g++.conf:
+/usr/share/qt/mkspecs/common/unix.conf:
+/usr/share/qt/mkspecs/common/linux.conf:
+/usr/share/qt/mkspecs/qconfig.pri:
+/usr/share/qt/mkspecs/modules/qt_phonon.pri:
+/usr/share/qt/mkspecs/modules/qt_webkit_version.pri:
+/usr/share/qt/mkspecs/features/qt_functions.prf:
+/usr/share/qt/mkspecs/features/qt_config.prf:
+/usr/share/qt/mkspecs/features/exclusive_builds.prf:
+/usr/share/qt/mkspecs/features/default_pre.prf:
+/usr/share/qt/mkspecs/features/debug.prf:
+/usr/share/qt/mkspecs/features/default_post.prf:
+/usr/share/qt/mkspecs/features/warn_on.prf:
+/usr/share/qt/mkspecs/features/qt.prf:
+/usr/share/qt/mkspecs/features/unix/thread.prf:
+/usr/share/qt/mkspecs/features/moc.prf:
+/usr/share/qt/mkspecs/features/resources.prf:
+/usr/share/qt/mkspecs/features/uic.prf:
+/usr/share/qt/mkspecs/features/yacc.prf:
+/usr/share/qt/mkspecs/features/lex.prf:
+/usr/share/qt/mkspecs/features/include_source_dir.prf:
+/usr/lib/libQtGui.prl:
+/usr/lib/libQtNetwork.prl:
+/usr/lib/libQtCore.prl:
+qmake: FORCE
+ @$(QMAKE) -spec /usr/share/qt/mkspecs/linux-g++-64 CONFIG+=debug -o Makefile ImdbPro.pro
+
+dist:
+ @$(CHK_DIR_EXISTS) .tmp/ImdbPro1.0.0 || $(MKDIR) .tmp/ImdbPro1.0.0
+ $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/ImdbPro1.0.0/ && $(COPY_FILE) --parents mainwindow.h imdb.h .tmp/ImdbPro1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp imdb.cpp .tmp/ImdbPro1.0.0/ && $(COPY_FILE) --parents mainwindow.ui .tmp/ImdbPro1.0.0/ && (cd `dirname .tmp/ImdbPro1.0.0` && $(TAR) ImdbPro1.0.0.tar ImdbPro1.0.0 && $(COMPRESS) ImdbPro1.0.0.tar) && $(MOVE) `dirname .tmp/ImdbPro1.0.0`/ImdbPro1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/ImdbPro1.0.0
+
+
+clean:compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+check: first
+
+mocclean: compiler_moc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+
+compiler_moc_header_make_all: moc_mainwindow.cpp moc_imdb.cpp
+compiler_moc_header_clean:
+ -$(DEL_FILE) moc_mainwindow.cpp moc_imdb.cpp
+moc_mainwindow.cpp: imdb.h \
+ mainwindow.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp
+
+moc_imdb.cpp: imdb.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) imdb.h -o moc_imdb.cpp
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_image_collection_make_all: qmake_image_collection.cpp
+compiler_image_collection_clean:
+ -$(DEL_FILE) qmake_image_collection.cpp
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_uic_make_all: ui_mainwindow.h
+compiler_uic_clean:
+ -$(DEL_FILE) ui_mainwindow.h
+ui_mainwindow.h: mainwindow.ui
+ /usr/bin/uic mainwindow.ui -o ui_mainwindow.h
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_header_clean compiler_uic_clean
+
+####### Compile
+
+main.o: main.cpp mainwindow.h \
+ imdb.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
+
+mainwindow.o: mainwindow.cpp mainwindow.h \
+ imdb.h \
+ ui_mainwindow.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
+
+imdb.o: imdb.cpp imdb.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o imdb.o imdb.cpp
+
+moc_mainwindow.o: moc_mainwindow.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
+
+moc_imdb.o: moc_imdb.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_imdb.o moc_imdb.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
View
89 ImdbPro/imdb.cpp
@@ -0,0 +1,89 @@
+/*
+ * imdb.cpp
+ * Copyright (C) 2011 Nicolas Martin, Université de Montréal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "imdb.h"
+#include <QtCore>
+#include <QtNetwork>
+
+IMDb::IMDb(QObject *parent) : QObject(parent) {
+}
+
+void IMDb::changeFilmLocal(const QString &fichier) {
+ QFile f(fichier);
+ if (!f.open(QIODevice::ReadOnly)) {
+ throw ExceptionDonnees(trUtf8("Le fichier <%1> n'a pu être lu").arg(fichier));
+ }
+ donnees = QString::fromUtf8(f.readAll().data());
+
+ extrait();
+}
+
+void IMDb::changeFilmInternet(const QString &film) {
+ QProcess proc;
+ proc.start("./imdbScript.py", QStringList() << film);
+ if (!proc.waitForFinished()) {
+ throw ExceptionDonnees(trUtf8("N'a pas pu trouvé de réponses à la requête pour le film <%1>").arg(film));
+ }
+ donnees = QString::fromUtf8(proc.readAllStandardOutput().data());
+
+ extrait();
+}
+
+int telechargeImage(const QString &adresse, QPixmap &image) {
+ if (adresse == "") return 1;
+ QNetworkAccessManager manager;
+ QNetworkReply *reply = manager.get(QNetworkRequest(QUrl(adresse)));
+ QEventLoop loop;
+ QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
+ loop.exec();
+
+ if (reply->error() != QNetworkReply::NoError) {
+ manager.setProxy(QNetworkProxy());
+ reply = manager.get(QNetworkRequest(QUrl(adresse)));
+ QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
+ loop.exec();
+ }
+
+ image.loadFromData(reply->readAll());
+
+ delete reply;
+ return 0;
+}
+
+void IMDb::extrait() {
+ QMap<QString,QStringList> entries;
+ QStringList list = donnees.split("\n");
+ QString cur_entry;
+ foreach(QString entry, list)
+ {
+ if (!entry.startsWith('\t')) {
+ cur_entry = entry.remove(QChar(':')).trimmed();
+ entries[cur_entry] = QStringList();
+ } else {
+ entries[cur_entry] += entry.trimmed();
+ }
+ }
+
+ QPixmap image;
+ if (telechargeImage(entries.value("cover url",QStringList()<<"")[0], image) ) {
+ } else {
+ if (image.height()>96)
+ image = image.scaledToHeight(96);
+ }
+
+ emit filmDispo(entries, image);
+}
View
52 ImdbPro/imdb.h
@@ -0,0 +1,52 @@
+/*
+ * imdb.h
+ * Copyright (C) 2011 Nicolas Martin, Université de Montréal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef IMDB_H
+#define IMDB_H
+
+#include <QObject>
+#include <QMap>
+#include <QPixmap>
+
+
+int telechargeImage(const QString &adresse, QPixmap &image);
+
+class IMDb : public QObject {
+ Q_OBJECT
+ public:
+ IMDb(QObject* =0);
+
+ public slots:
+ void changeFilmLocal(const QString &fichier);
+ void changeFilmInternet(const QString &film);
+
+ signals:
+ void filmDispo(const QMap<QString,QStringList> &film, const QPixmap &image);
+
+ private:
+ void extrait();
+
+ private:
+ QString donnees;
+};
+
+struct ExceptionDonnees {
+ ExceptionDonnees(QString str) : str(str) {}
+ QString str;
+};
+
+#endif
View
84 ImdbPro/imdbScript.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+#
+# imdbScript.py
+# Copyright (C) 2011 Nicolas Martin, Université de Montréal
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+import imdb
+import sys
+import locale
+import urllib
+
+if len(sys.argv) == 2:
+ title = sys.argv[1]
+else:
+ print 'Usage: python imdbScript.py <film>'
+ sys.exit(3)
+
+
+ia = imdb.IMDb(accessSystem='http', adultSearch=0) # by default access the web.
+
+in_encoding = sys.stdin.encoding or sys.getdefaultencoding()
+#out_encoding = locale.getdefaultlocale()[1] or in_encoding
+out_encoding = 'UTF-8'
+
+
+title = unicode(title, in_encoding, 'replace')
+
+# Search for a movie (get a list of Movie objects).
+try:
+ results = ia.search_movie(title)
+except imdb.IMDbError, e:
+ print "Probably you're not connected to Internet. Complete error report:"
+ print e
+ sys.exit(3)
+
+if not results:
+ print 'No matches for "%s", sorry.' % title.encode(out_encoding, 'replace')
+ sys.exit(0)
+
+# This is a Movie instance.
+movie = results[0]
+
+# So far the Movie object only contains basic information like the
+# title and the year; retrieve main information:
+ia.update(movie)
+
+for elem in movie.keys():
+ if isinstance(elem, unicode):
+ elem = str(elem.encode(out_encoding))
+ else:
+ elem = str(elem)
+ print '\n%s :' % elem
+ try:
+ if type(movie[elem]) == type([]):
+ for pers in movie[elem]:
+ if isinstance(pers, unicode):
+ pers = str(pers.encode(out_encoding))
+ else:
+ pers = str(pers)
+ print '\t%s' % pers
+ else:
+ if isinstance(movie[elem], unicode):
+ movie[elem] = str(movie[elem].encode(out_encoding))
+ else:
+ movie[elem] = str(movie[elem])
+ print '\t%s' % movie[elem]
+ except KeyError:
+ continue
+ except TypeError:
+ continue
View
177 ImdbPro/mainwindow.cpp
@@ -1,14 +1,191 @@
+#include <cmath>
+
+#include "QDebug"
#include "mainwindow.h"
#include "ui_mainwindow.h"
+#include "imdb.h"
+
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
+ imdb = new IMDb(this);
+
+ connect(imdb, SIGNAL(filmDispo(const QMap<QString,QStringList> &, const QPixmap &)),
+ this, SLOT(dispatch(const QMap<QString,QStringList> &, const QPixmap &)));
+ connect(ui->search_button, SIGNAL(clicked()), this, SLOT(search_film()));
+ connect(ui->search_field, SIGNAL(returnPressed()), ui->search_button, SIGNAL(clicked()));
+
+ connect(this, SIGNAL(film_set_cover(const QPixmap &)), ui->film_cover, SLOT(setPixmap(QPixmap)));
+ connect(this, SIGNAL(film_set_title(const QString &)), ui->film_title, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_year(const QString &)), ui->film_year, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_rating(const QString &)), ui->film_rating, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_rank(const QString &)), ui->film_rank, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_votes(const QString &)), ui->film_votes, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_country(const QString &)), ui->film_country_general, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_director(const QString &)), ui->film_director, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_author(const QString &)), ui->film_writer, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_original_music(const QString &)), ui->film_original_music, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_languages(const QString &)), ui->film_languages, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_genres(const QString &)), ui->film_genres, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_runtime(const QString &)), ui->film_runtime, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_aspect_ratio(const QString &)), ui->film_aspect_ratio, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_mpaa_rating(const QString &)), ui->film_mpaa_rating, SLOT(setText(QString)));
+ connect(this, SIGNAL(film_set_plot(const QString &)), ui->film_plot, SLOT(setPlainText(QString)));
+ connect(this, SIGNAL(film_set_certificates(const QStringList&)), this, SLOT(display_film_certificates(QStringList)));
+
+ connect(this, SIGNAL(film_set_cast(const QStringList &)), this, SLOT(display_film_cast(const QStringList &)));
+ connect(this, SIGNAL(film_set_stunt_performers(const QStringList &)), this, SLOT(display_film_stunt_performers(const QStringList &)));
+ connect(this, SIGNAL(film_set_casting_director(const QString &)), ui->film_casting_director, SLOT(setText(QString)));
+
+ connect(this, SIGNAL(film_set_akas(const QStringList &)), this, SLOT(display_film_akas(const QStringList &)));
+ connect(this, SIGNAL(film_set_transportation(const QStringList &)), this, SLOT(display_film_transportation(const QStringList &)));
+ connect(this, SIGNAL(film_set_misc_crew(const QStringList &)), this, SLOT(display_film_misc_crew(const QStringList &)));
+ connect(this, SIGNAL(film_set_misc_companies(const QStringList &)), this, SLOT(display_film_misc_companies(const QStringList &)));
+
+ connect(this, SIGNAL(film_set_producers(const QStringList &)), this, SLOT(display_film_producers(const QStringList &)));
+
+ connect(this, SIGNAL(film_set_full_sized_cover(const QString&)), this, SLOT(display_film_full_sized_cover(const QString &)));
}
MainWindow::~MainWindow()
{
delete ui;
+ delete imdb;
+}
+
+
+QString get_field(const char* name, const QMap<QString, QStringList> &map) {
+ return map.value(QString(name), QStringList() << QString(""))[0];
+}
+
+
+QString star_rating(const QString& rating) {
+ bool ok;
+ int int_rating = int(round(rating.toDouble(&ok)));
+ if (!ok) return QString("");
+
+ QString ret = QString(10, QChar(L'\u2606'));
+ for (int i = 0; i < int_rating; ++i) {
+ ret[i] = QChar(L'\u2605');
+ }
+ return ret;
}
+
+
+QString display_rank(const QString& rank) {
+ QString empty = QString();
+ if (rank == empty)
+ return empty;
+ else
+ return QString("(Rang IMDb: %1 / 250)").arg(rank);
+}
+
+
+void MainWindow::dispatch(const QMap<QString, QStringList> &film, const QPixmap &image) {
+ // General
+ emit film_set_cover(image);
+ emit film_set_title(get_field("title", film));
+ emit film_set_year(get_field("year", film));
+ emit film_set_rating(star_rating(get_field("rating", film)));
+ emit film_set_rank(display_rank(get_field("top 250 rank", film)));
+ emit film_set_votes(QString("%1 votes").arg(get_field("votes", film)));
+ emit film_set_country(get_field("countries", film));
+ emit film_set_director(get_field("director", film));
+ emit film_set_author(get_field("writer", film));
+ emit film_set_original_music(get_field("original music", film));
+ emit film_set_languages(get_field("languages", film));
+ emit film_set_genres(get_field("genres", film));
+ emit film_set_aspect_ratio(get_field("aspect ratio", film));
+ emit film_set_runtime(QString("%1 minutes").arg(get_field("runtimes", film))) ;
+ emit film_set_mpaa_rating(get_field("mpaa", film));
+ emit film_set_certificates(film.value("certificates", QStringList()));
+ emit film_set_plot(get_field("plot outline", film));
+
+ // Distribution
+ emit film_set_cast(film.value("cast", QStringList()));
+ emit film_set_stunt_performers(film.value("stunt performer", QStringList()));
+ emit film_set_casting_director(get_field("casting director", film));
+
+ // Production
+ emit film_set_producers(film.value("producers", QStringList()));
+ emit film_set_production_companies(film.value("production companies", QStringList()));
+
+ // Misc
+ emit film_set_akas(film.value("akas", QStringList()));
+ emit film_set_transportation(film.value("transportation department", QStringList()));
+ emit film_set_misc_crew(film.value("miscellaneous crew", QStringList()));
+ emit film_set_misc_companies(film.value("miscellaneous companies", QStringList()));
+
+ // Full sized cover
+ emit film_set_full_sized_cover(get_field("full-size cover url", film));
+}
+
+void MainWindow::search_film() {
+ imdb->changeFilmInternet(ui->search_field->text());
+}
+
+void setItems(const QListWidget &widget, const QStringList &list) {
+ widget->clear();
+ widget.addItems(list);
+}
+
+
+void MainWindow::display_film_certificates(const QStringList &list) {
+ setItems(ui->film_certificates, list);
+}
+
+
+void MainWindow::display_film_cast(const QStringList &list) {
+ setItems(ui->film_cast, list);
+}
+
+void MainWindow::display_film_stunt_performers(const QStringList &list) {
+ setItems(ui->film_stunt_performers, list);
+}
+
+void MainWindow::display_film_akas(const QStringList &list) {
+ setItems(ui->film_akas, list);
+}
+
+void MainWindow::display_film_transportation(const QStringList &list) {
+ setItems(ui->film_transportation, list);
+}
+
+void MainWindow::display_film_misc_crew(const QStringList &list) {
+ setItems(ui->film_misc_crew, list);
+}
+
+void MainWindow::display_film_misc_companies(const QStringList &list) {
+ setItems(ui->film_misc_companies, list);
+}
+
+void MainWindow::display_film_producers(const QStringList &list) {
+ setItems(ui->film_producer, list);
+}
+
+void MainWindow::display_film_production_companies(const QStringList &list) {
+ setItems(ui->film_production_companies, list);
+}
+
+void MainWindow::display_film_art_direction(const QStringList &list) {
+ setItems(ui->film_art_director, list);
+}
+
+void MainWindow::display_film_makeup(const QStringList &list) {
+ setItems(ui->film_makeup, list);
+}
+
+void MainWindow::display_film_distributors(const QStringList &list) {
+ setItems(ui->film_distributors, list);
+}
+
+
+void MainWindow::display_film_full_sized_cover(const QString &string) {
+ QPixmap image;
+ telechargeImage(string, image);
+ ui->film_fullsize_cover->setPixmap(image);
+}
+
View
57 ImdbPro/mainwindow.h
@@ -2,6 +2,7 @@
#define MAINWINDOW_H
#include <QMainWindow>
+#include "imdb.h"
namespace Ui {
class MainWindow;
@@ -15,8 +16,64 @@ class MainWindow : public QMainWindow
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
+public slots:
+ void dispatch(const QMap<QString, QStringList> &film, const QPixmap &image);
+ void search_film();
+ void display_film_certificates(const QStringList &list);
+ void display_film_cast(const QStringList &list);
+ void display_film_stunt_performers(const QStringList &list);
+ void display_film_full_sized_cover(const QString &string);
+ void display_film_akas(const QStringList &list);
+ void display_film_transportation(const QStringList &list);
+ void display_film_misc_crew(const QStringList &list);
+ void display_film_misc_companies(const QStringList &list);
+
+ void display_film_producers(const QStringList &list);
+ void display_film_production_companies(const QStringList &list);
+ void display_film_distributors(const QStringList &list);
+ void display_film_art_direction(const QStringList &list);
+ void display_film_makeup(const QStringList &list);
+
+
+signals:
+ void film_set_cover(const QPixmap &image);
+ void film_set_title(const QString &string);
+ void film_set_year(const QString &string);
+ void film_set_rating(const QString &string);
+ void film_set_rank(const QString &string);
+ void film_set_votes(const QString &string);
+ void film_set_country(const QString &string);
+ void film_set_director(const QString &string);
+ void film_set_author(const QString &string);
+ void film_set_original_music(const QString &string);
+ void film_set_languages(const QString &string);
+ void film_set_genres(const QString &string);
+ void film_set_aspect_ratio(const QString &string);
+ void film_set_runtime(const QString &string);
+ void film_set_mpaa_rating(const QString &string);
+ void film_set_certificates(const QStringList &list);
+ void film_set_plot(const QString &string);
+
+ void film_set_cast(const QStringList &list);
+ void film_set_stunt_performers(const QStringList &list);
+ void film_set_casting_director(const QString& string);
+
+ void film_set_producers(const QStringList &list);
+ void film_set_production_companies(const QStringList &list);
+ void film_set_distributors(const QStringList &list);
+ void film_set_art_direction(const QStringList &list);
+ void film_set_makeup(const QStringList &list);
+
+ void film_set_akas(const QStringList &list);
+ void film_set_transportation(const QStringList &list);
+ void film_set_misc_crew(const QStringList &list);
+ void film_set_misc_companies(const QStringList &list);
+
+ void film_set_full_sized_cover(const QString& string);
+
private:
Ui::MainWindow *ui;
+ IMDb *imdb;
};
#endif // MAINWINDOW_H
View
1,402 ImdbPro/mainwindow.ui
@@ -6,688 +6,740 @@
<rect>
<x>0</x>
<y>0</y>
- <width>830</width>
- <height>502</height>
+ <width>755</width>
+ <height>457</height>
</rect>
</property>
<property name="windowTitle">
- <string>MainWindow</string>
+ <string>ImdbPro</string>
</property>
<widget class="QWidget" name="centralWidget">
- <widget class="QTabWidget" name="tabWidget">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>0</y>
- <width>741</width>
- <height>451</height>
- </rect>
- </property>
- <property name="currentIndex">
- <number>3</number>
- </property>
- <widget class="QWidget" name="tab_general">
- <attribute name="title">
- <string>Général</string>
- </attribute>
- <widget class="QLabel" name="film_cover">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>10</y>
- <width>71</width>
- <height>81</height>
- </rect>
- </property>
- <property name="text">
- <string>cover</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_title">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>10</y>
- <width>231</width>
- <height>31</height>
- </rect>
- </property>
- <property name="text">
- <string>title</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_rating">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>60</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>rating</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_rank">
- <property name="geometry">
- <rect>
- <x>210</x>
- <y>60</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>rank</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_plot">
- <property name="geometry">
- <rect>
- <x>480</x>
- <y>150</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>plot</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_year">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>120</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>year</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_certificates">
- <property name="geometry">
- <rect>
- <x>220</x>
- <y>120</y>
- <width>81</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>certificate</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_runtime">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>160</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>runtime</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_language">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>200</y>
- <width>71</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>language</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_votes">
- <property name="geometry">
- <rect>
- <x>300</x>
- <y>60</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>votes</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_mpaa_rating">
- <property name="geometry">
- <rect>
- <x>300</x>
- <y>120</y>
- <width>101</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>mpaa_rating</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_genres">
- <property name="geometry">
- <rect>
- <x>470</x>
- <y>60</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>genres</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_aspect_ratio">
- <property name="geometry">
- <rect>
- <x>310</x>
- <y>210</y>
- <width>81</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>aspectRatio</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_kind">
- <property name="geometry">
- <rect>
- <x>470</x>
- <y>250</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>Type</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_writer">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>250</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>Auteur</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_directors">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>290</y>
- <width>111</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Réalisateurs</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_original_music">
- <property name="geometry">
- <rect>
- <x>330</x>
- <y>300</y>
- <width>121</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Musique originale</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_sound_mix">
- <property name="geometry">
- <rect>
- <x>530</x>
- <y>300</y>
- <width>101</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>sound_mix?</string>
- </property>
- </widget>
- </widget>
- <widget class="QWidget" name="tab_distribution">
- <attribute name="title">
- <string>Distribution</string>
- </attribute>
- <widget class="QLabel" name="film_cast">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>20</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>Acteurs</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_casting_director">
- <property name="geometry">
- <rect>
- <x>190</x>
- <y>10</y>
- <width>221</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Directeur(s) de distribution</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_stunt_performer">
- <property name="geometry">
- <rect>
- <x>480</x>
- <y>10</y>
- <width>81</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Cascadeurs</string>
- </property>
- </widget>
- </widget>
- <widget class="QWidget" name="tab_production">
- <attribute name="title">
- <string>Production</string>
- </attribute>
- <widget class="QLabel" name="film_country">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>10</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>Pays</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_distributors">
- <property name="geometry">
- <rect>
- <x>350</x>
- <y>10</y>
- <width>91</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Distributeurs</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_art_director">
- <property name="geometry">
- <rect>
- <x>390</x>
- <y>150</y>
- <width>141</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Direction artistique</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_cinematographer">
- <property name="geometry">
- <rect>
- <x>90</x>
- <y>230</y>
- <width>121</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Cinématographe</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_production_companies">
- <property name="geometry">
- <rect>
- <x>500</x>
- <y>90</y>
- <width>161</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Société de production</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_editor">
- <property name="geometry">
- <rect>
- <x>520</x>
- <y>50</y>
- <width>59</width>
- <height>15</height>
- </rect>
- </property>
- <property name="text">
- <string>Éditeur</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_production_manager">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>90</y>
- <width>161</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Gestion de la production</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_production_assistant">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>130</y>
- <width>181</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Assistants à la production</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_makeup">
- <property name="geometry">
- <rect>
- <x>600</x>
- <y>30</y>
- <width>91</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Maquillages</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_producer">
- <property name="geometry">
- <rect>
- <x>350</x>
- <y>250</y>
- <width>91</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Producteurs</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_production_design">
- <property name="geometry">
- <rect>
- <x>460</x>
- <y>210</y>
- <width>201</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Conception de la production</string>
- </property>
- </widget>
- </widget>
- <widget class="QWidget" name="tab_technical">
- <attribute name="title">
- <string>Équipes techniques</string>
- </attribute>
- <widget class="QLabel" name="film_music_department">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>30</y>
- <width>121</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe musicale</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_sound_crew">
- <property name="geometry">
- <rect>
- <x>80</x>
- <y>110</y>
- <width>121</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe de sons</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_visual_effects">
- <property name="geometry">
- <rect>
- <x>460</x>
- <y>180</y>
- <width>101</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Effets visuels</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_sfx_companies">
- <property name="geometry">
- <rect>
- <x>70</x>
- <y>190</y>
- <width>191</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Sociétés des effets spéciaux</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_set_decoration">
- <property name="geometry">
- <rect>
- <x>70</x>
- <y>260</y>
- <width>121</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe des décors</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_costume_department">
- <property name="geometry">
- <rect>
- <x>340</x>
- <y>270</y>
- <width>141</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe des costumes</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_sfx_department">
- <property name="geometry">
- <rect>
- <x>450</x>
- <y>230</y>
- <width>181</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe des effets spéciaux</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_art_department">
- <property name="geometry">
- <rect>
- <x>300</x>
- <y>150</y>
- <width>141</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe artistique</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_camera_electricity">
- <property name="geometry">
- <rect>
- <x>450</x>
- <y>50</y>
- <width>161</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Caméras et électricité</string>
- </property>
- </widget>
- <widget class="QLabel" name="label">
- <property name="geometry">
- <rect>
- <x>510</x>
- <y>310</y>
- <width>131</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe d'animation</string>
- </property>
- </widget>
- </widget>
- <widget class="QWidget" name="tab_misc">
- <attribute name="title">
- <string>Divers</string>
- </attribute>
- <widget class="QLabel" name="film_international_titles">
- <property name="geometry">
- <rect>
- <x>270</x>
- <y>60</y>
- <width>141</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Titres internationaux</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_transportation">
- <property name="geometry">
- <rect>
- <x>520</x>
- <y>50</y>
- <width>111</width>
- <height>21</height>
- </rect>
- </property>
- <property name="text">
- <string>Transport</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_misc_companies">
- <property name="geometry">
- <rect>
- <x>270</x>
- <y>210</y>
- <width>141</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Compagnies diverses</string>
- </property>
- </widget>
- <widget class="QLabel" name="film_misc_crew">
- <property name="geometry">
- <rect>
- <x>510</x>
- <y>140</y>
- <width>111</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text">
- <string>Équipe diverse</string>
- </property>
- </widget>
- </widget>
- <widget class="QWidget" name="tab_fullcover">
- <attribute name="title">
- <string>Image</string>
- </attribute>
- <widget class="QLabel" name="film_fullsize_cover">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>20</y>
- <width>331</width>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Titre:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="search_field"/>
+ </item>
+ <item>
+ <widget class="QPushButton" name="search_button">
+ <property name="text">
+ <string>Chercher</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
<height>401</height>
- </rect>
- </property>
- <property name="text">
- <string>fullSizeCover</string>
- </property>
- </widget>
- </widget>
- </widget>
- </widget>
- <widget class="QMenuBar" name="menuBar">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>830</width>
- <height>23</height>
- </rect>
- </property>
- </widget>
- <widget class="QToolBar" name="mainToolBar">
- <attribute name="toolBarArea">
- <enum>TopToolBarArea</enum>
- </attribute>
- <attribute name="toolBarBreak">
- <bool>false</bool>
- </attribute>
+ </size>
+ </property>
+ <property name="currentIndex">
+ <number>2</number>
+ </property>
+ <widget class="QWidget" name="tab_general">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <attribute name="title">
+ <string>Général</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_8">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QLabel" name="film_cover">
+ <property name="text">
+ <string>cover</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="film_title">
+ <property name="font">
+ <font>
+ <pointsize>24</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>title</string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QLabel" name="film_rating">
+ <property name="text">
+ <string>rating</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="film_votes">
+ <property name="text">
+ <string>votes</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="film_rank">
+ <property name="text">
+ <string>rank</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Pays:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="film_country_general">
+ <property name="text">
+ <string>Pays</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Réalisateur:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="film_director">
+ <property name="text">
+ <string>Réalisateurs</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Auteur:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="film_writer">
+ <property name="text">
+ <string>Auteur</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Musique:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="film_original_music">
+ <property name="text">
+ <string>Musique originale</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Langue(s):</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="film_languages">
+ <property name="text">
+ <string>language</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Genre(s):</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLabel" name="film_genres">
+ <property name="text">
+ <string>genres</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Durée:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QLabel" name="film_runtime">
+ <property name="text">
+ <string>runtime</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Ratio:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QLabel" name="film_aspect_ratio">
+ <property name="text">
+ <string>aspectRatio</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Année:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="film_year">
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>year</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QFormLayout" name="formLayout_2">
+ <property name="labelAlignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Note MPAA:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="film_mpaa_rating">
+ <property name="text">
+ <string>mpaa_rating</string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Certificats:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Synopsis:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QPlainTextEdit" name="film_plot">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QListWidget" name="film_certificates"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Autres titres:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QListWidget" name="film_akas"/>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_distribution">
+ <attribute name="title">
+ <string>Distribution</string>
+ </attribute>
+ <layout class="QFormLayout" name="formLayout_4">
+ <item row="0" column="0">
+ <widget class="QLabel" name="film_casting_director_lbl">
+ <property name="text">
+ <string>Directeur(s) de distribution</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="film_casting_director">
+ <property name="text">
+ <string>Casting director</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="film_cast_lbl">
+ <property name="text">
+ <string>Acteurs</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QListWidget" name="film_cast"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="film_stunt_performer_lbl">
+ <property name="text">
+ <string>Cascadeurs</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QListWidget" name="film_stunt_performers"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_production">
+ <attribute name="title">
+ <string>Production</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_9">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <layout class="QFormLayout" name="formLayout_6">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="film_producer_lbl">
+ <property name="text">
+ <string>Producteurs</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QListWidget" name="film_producer"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="film_production_companies_lbl">
+ <property name="text">
+ <string>Société de production</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QListWidget" name="film_production_companies"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="film_distributors_lbl">
+ <property name="text">
+ <string>Distributeurs</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QListWidget" name="film_distributors"/>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QFormLayout" name="formLayout_5">
+ <item row="0" column="0">
+ <widget class="QLabel" name="film_editor_lbl">
+ <property name="text">
+ <string>Éditeur</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="film_editor">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="film_cinematographer_lbl">
+ <property name="text">
+ <string>Cinématographe</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="film_cinematographer">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="film_art_director_lbl">
+ <property name="text">
+ <string>Direction artistique</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QListWidget" name="film_art_director"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="film_makeup_lbl">
+ <property name="text">
+ <string>Maquillages</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QListWidget" name="film_makeup"/>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_technical">
+ <attribute name="title">
+ <string>Équipes techniques</string>
+ </attribute>
+ <widget class="QLabel" name="film_music_department">
+ <property name="geometry">
+ <rect>
+ <x>80</x>
+ <y>30</y>
+ <width>121</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Équipe musicale</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_sound_crew">
+ <property name="geometry">
+ <rect>
+ <x>80</x>
+ <y>110</y>
+ <width>121</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Équipe de sons</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_visual_effects">
+ <property name="geometry">
+ <rect>
+ <x>460</x>
+ <y>180</y>
+ <width>101</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Effets visuels</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_sfx_companies">
+ <property name="geometry">
+ <rect>
+ <x>70</x>
+ <y>190</y>
+ <width>191</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Sociétés des effets spéciaux</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_set_decoration">
+ <property name="geometry">
+ <rect>
+ <x>70</x>
+ <y>260</y>
+ <width>121</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Équipe des décors</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_costume_department">
+ <property name="geometry">
+ <rect>
+ <x>340</x>
+ <y>270</y>
+ <width>141</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Équipe des costumes</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_sfx_department">
+ <property name="geometry">
+ <rect>
+ <x>450</x>
+ <y>230</y>
+ <width>181</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Équipe des effets spéciaux</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_art_department">
+ <property name="geometry">
+ <rect>
+ <x>300</x>
+ <y>150</y>
+ <width>141</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Équipe artistique</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="film_camera_electricity">
+ <property name="geometry">
+ <rect>
+ <x>450</x>
+ <y>50</y>
+ <width>161</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Caméras et électricité</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label">
+ <property name="geometry">
+ <rect>
+ <x>190</x>
+ <y>290</y>
+ <width>131</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Équipe d'animation</string>
+ </property>
+ </widget>
+ </widget>
+ <widget class="QWidget" name="tab_misc">
+ <attribute name="title">
+ <string>Divers</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <layout class="QFormLayout" name="formLayout_3">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="film_transportation_lbl">
+ <property name="text">
+ <string>Transport</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QListWidget" name="film_transportation"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="film_misc_crew_lbl">
+ <property name="text">
+ <string>Équipe diverse</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QListWidget" name="film_misc_crew"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="film_misc_companies_lbl">
+ <property name="text">
+ <string>Compagnies diverses</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QListWidget" name="film_misc_companies"/>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_fullcover">
+ <attribute name="title">