This commit is contained in:
2016-10-27 20:01:37 +02:00
parent cfd70be0ca
commit fa3c115a89
5 changed files with 780 additions and 31 deletions
+1 -1
View File
@@ -129,7 +129,7 @@ qint32 cKodiVideoLibrary::load()
query.value("c10").toString(),
query.value("c11").toInt(),
query.value("c12").toString(),
query.value("c13").toString(),
query.value("c13").toInt(),
query.value("c14").toString(),
query.value("c15").toString(),
query.value("c16").toString(),
+174 -11
View File
@@ -5,7 +5,7 @@ cMyVideosValues::cMyVideosValues() :
m_idMovie(-1), m_idFile(-1), m_szLocalMovieTitle("UNSET"), m_szMoviePlot("UNSET"), m_szMoviePlotOutline("UNSET"),
m_szMovieTagline("UNSET"), m_iRatingVotes(-1), m_dRating(-1), m_szWriters("UNSET"), m_iYearReleased(-1),
m_szThumbnails("UNSET"), m_szIMDBID("UNSET"), m_szTitleFormattedForSorting("UNSET"), m_iRuntime(-1),
m_szMPAARating("UNSET"), m_szIMDBTop250Ranking("UNSET"), m_szGenre("UNSET"), m_szDirector("UNSET"), m_szOriginalMovieTitle("UNSET"),
m_szMPAARating("UNSET"), m_iIMDBTop250Ranking(-1), m_szGenre("UNSET"), m_szDirector("UNSET"), m_szOriginalMovieTitle("UNSET"),
m_szStudio("UNSET"), m_szTrailerURL("UNSET"), m_szFanartURLs("UNSET"), m_szCountry("UNSET"), m_szFilePath("UNSET"), m_idPath(-1), m_idSet(-1),
m_iUserrating(-1), m_szSet("UNSET"), m_szSetOverview("UNSET"), m_szFileName("UNSET"), m_szPathURL("UNSET"), m_iPlayCount(-1),
m_dResumeTimeInSeconds(-1), m_dTotalTimeInSeconds(-1)
@@ -15,7 +15,7 @@ cMyVideosValues::cMyVideosValues() :
cMyVideosValues::cMyVideosValues(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating, qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
@@ -23,7 +23,7 @@ cMyVideosValues::cMyVideosValues(qint32 idMovie, qint32 idFile, const QString& s
m_idMovie(idMovie), m_idFile(idFile), m_szLocalMovieTitle(szLocalMovieTitle), m_szMoviePlot(szMoviePlot), m_szMoviePlotOutline(szMoviePlotOutline),
m_szMovieTagline(szMovieTagline), m_iRatingVotes(iRatingVotes), m_dRating(dRating), m_szWriters(szWriters), m_iYearReleased(iYearReleased),
m_szThumbnails(szThumbnails), m_szIMDBID(szIMDBID), m_szTitleFormattedForSorting(szTitleFormattedForSorting), m_iRuntime(iRuntime),
m_szMPAARating(szMPAARating), m_szIMDBTop250Ranking(szIMDBTop250Ranking), m_szGenre(szGenre), m_szDirector(szDirector), m_szOriginalMovieTitle(szOriginalMovieTitle),
m_szMPAARating(szMPAARating), m_iIMDBTop250Ranking(iIMDBTop250Ranking), m_szGenre(szGenre), m_szDirector(szDirector), m_szOriginalMovieTitle(szOriginalMovieTitle),
m_szStudio(szStudio), m_szTrailerURL(szTrailerURL), m_szFanartURLs(szFanartURLs), m_szCountry(szCountry), m_szFilePath(szFilePath), m_idPath(idPath), m_idSet(idSet),
m_iUserrating(iUserrating), m_szSet(szSet), m_szSetOverview(szSetOverview), m_szFileName(szFileName), m_szPathURL(szPathURL), m_iPlayCount(iPlayCount),
m_lastPlayed(lastPlayed), m_dateAdded(dateAdded), m_dResumeTimeInSeconds(dResumeTimeInSeconds), m_dTotalTimeInSeconds(dTotalTimeInSeconds)
@@ -33,7 +33,7 @@ cMyVideosValues::cMyVideosValues(qint32 idMovie, qint32 idFile, const QString& s
void cMyVideosValues::set(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating, qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
@@ -54,7 +54,7 @@ void cMyVideosValues::set(qint32 idMovie, qint32 idFile, const QString& szLocalM
m_szTitleFormattedForSorting = szTitleFormattedForSorting;
m_iRuntime = iRuntime;
m_szMPAARating = szMPAARating;
m_szIMDBTop250Ranking = szIMDBTop250Ranking;
m_iIMDBTop250Ranking = iIMDBTop250Ranking;
m_szGenre = szGenre;
m_szDirector = szDirector;
m_szOriginalMovieTitle = szOriginalMovieTitle;
@@ -94,7 +94,7 @@ inline bool cMyVideosValues::operator==(const cMyVideosValues b) const
if(m_szTitleFormattedForSorting != b.m_szTitleFormattedForSorting) return(false);
if(m_iRuntime != b.m_iRuntime) return(false);
if(m_szMPAARating != b.m_szMPAARating) return(false);
if(m_szIMDBTop250Ranking != b.m_szIMDBTop250Ranking) return(false);
if(m_iIMDBTop250Ranking != b.m_iIMDBTop250Ranking) return(false);
if(m_szGenre != b.m_szGenre) return(false);
if(m_szDirector != b.m_szDirector) return(false);
if(m_szOriginalMovieTitle != b.m_szOriginalMovieTitle) return(false);
@@ -135,7 +135,7 @@ inline bool cMyVideosValues::operator!=(const cMyVideosValues b) const
|| m_szTitleFormattedForSorting != b.m_szTitleFormattedForSorting
|| m_iRuntime != b.m_iRuntime
|| m_szMPAARating != b.m_szMPAARating
|| m_szIMDBTop250Ranking != b.m_szIMDBTop250Ranking
|| m_iIMDBTop250Ranking != b.m_iIMDBTop250Ranking
|| m_szGenre != b.m_szGenre
|| m_szDirector != b.m_szDirector
|| m_szOriginalMovieTitle != b.m_szOriginalMovieTitle
@@ -163,13 +163,13 @@ inline bool cMyVideosValues::operator!=(const cMyVideosValues b) const
cMyVideos::cMyVideos(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating, qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
qreal dResumeTimeInSeconds, qreal dTotalTimeInSeconds) :
m_values(idMovie, idFile, szLocalMovieTitle, szMoviePlot, szMoviePlotOutline, szMovieTagline, iRatingVotes, dRating, szWriters, iYearReleased,
szThumbnails, szIMDBID, szTitleFormattedForSorting, iRuntime, szMPAARating, szIMDBTop250Ranking, szGenre, szDirector, szOriginalMovieTitle,
szThumbnails, szIMDBID, szTitleFormattedForSorting, iRuntime, szMPAARating, iIMDBTop250Ranking, szGenre, szDirector, szOriginalMovieTitle,
szStudio, szTrailerURL, szFanartURLs, szCountry, szFilePath, idPath, idSet, iUserrating, szSet, szSetOverview, szFileName, szPathURL, iPlayCount,
lastPlayed, dateAdded, dResumeTimeInSeconds, dTotalTimeInSeconds)
{
@@ -183,7 +183,7 @@ cMyVideosList::cMyVideosList()
cMyVideos* cMyVideosList::add(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating, qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
@@ -191,7 +191,7 @@ cMyVideos* cMyVideosList::add(qint32 idMovie, qint32 idFile, const QString& szLo
{
cMyVideos* lpNew = new cMyVideos(idMovie, idFile, szLocalMovieTitle, szMoviePlot, szMoviePlotOutline, szMovieTagline, iRatingVotes, dRating,
szWriters, iYearReleased, szThumbnails, szIMDBID, szTitleFormattedForSorting, iRuntime, szMPAARating,
szIMDBTop250Ranking, szGenre, szDirector, szOriginalMovieTitle, szStudio, szTrailerURL, szFanartURLs,
iIMDBTop250Ranking, szGenre, szDirector, szOriginalMovieTitle, szStudio, szTrailerURL, szFanartURLs,
szCountry, szFilePath, idPath, idSet, iUserrating, szSet, szSetOverview, szFileName, szPathURL, iPlayCount,
lastPlayed, dateAdded, dResumeTimeInSeconds, dTotalTimeInSeconds);
append(lpNew);
@@ -228,21 +228,184 @@ QString cMyVideos::movieTagline()
return(m_values.m_szMovieTagline);
}
qint32 cMyVideos::ratingVotes()
{
return(m_values.m_iRatingVotes);
}
qreal cMyVideos::rating()
{
return(m_values.m_dRating);
}
QStringList cMyVideos::writers()
{
return(m_values.m_szWriters.split(", "));
}
qint32 cMyVideos::yearReleased()
{
return(m_values.m_iYearReleased);
}
QList<STRING2> cMyVideos::thumbnails()
{
QList<STRING2> list;
QStringList tmpList = m_values.m_szThumbnails.split("><");
for(int z = 0;z < tmpList.count();z++)
{
QString str = tmpList.at(z);
STRING2 str2;
if(str.indexOf("preview="))
{
str2._1 = str.mid(str.indexOf("preview=")+9);
str2._1 = str2._1.left(str2._1.indexOf("\">"));
str2._2 = str.mid(str.indexOf("\">")+2);
str2._2 = str2._2.left(str2._2.indexOf("</thumb"));
list.append(str2);
}
}
return(list);
}
QString cMyVideos::imdbID()
{
return(m_values.m_szIMDBID);
}
QString cMyVideos::titleFormattedForSorting()
{
return(m_values.m_szTitleFormattedForSorting);
}
qint32 cMyVideos::runtime()
{
return(m_values.m_iRuntime);
}
QString cMyVideos::mpaaRating()
{
return(m_values.m_szMPAARating);
}
qint32 cMyVideos::imdbTop250Ranking()
{
return(m_values.m_iIMDBTop250Ranking);
}
QStringList cMyVideos::genre()
{
return(m_values.m_szGenre.split(" / "));
}
QStringList cMyVideos::director()
{
return(m_values.m_szDirector.split(", "));
}
QString cMyVideos::originalMovieTitle()
{
return(m_values.m_szOriginalMovieTitle);
}
QStringList cMyVideos::studio()
{
return(m_values.m_szStudio.split(" / "));
}
QString cMyVideos::trailerURL()
{
return(m_values.m_szTrailerURL);
}
QList<STRING2> cMyVideos::fanartURL()
{
QString tmp = m_values.m_szFanartURLs.mid(8, m_values.m_szFanartURLs.length()-17);
QList<STRING2> list;
QStringList tmpList = tmp.split("><");
for(int z = 0;z < tmpList.count();z++)
{
QString str = tmpList.at(z);
STRING2 str2;
if(str.indexOf("preview="))
{
str2._1 = str.mid(str.indexOf("preview=")+9);
str2._1 = str2._1.left(str2._1.indexOf("\">"));
str2._2 = str.mid(str.indexOf("\">")+2);
str2._2 = str2._2.left(str2._2.indexOf("</thumb"));
list.append(str2);
}
}
return(list);
}
QStringList cMyVideos::country()
{
return(m_values.m_szCountry.split(" / "));
}
QString cMyVideos::filePath()
{
return(m_values.m_szFilePath);
}
qint32 cMyVideos::idSet()
{
return(m_values.m_idSet);
}
qint32 cMyVideos::userRating()
{
return(m_values.m_iUserrating);
}
QString cMyVideos::set()
{
return(m_values.m_szSet);
}
QString cMyVideos::setOverview()
{
return(m_values.m_szSetOverview);
}
QString cMyVideos::fileName()
{
return(m_values.m_szFileName);
}
QString cMyVideos::pathURL()
{
return(m_values.m_szPathURL);
}
qint32 cMyVideos::playCount()
{
return(m_values.m_iPlayCount);
}
QDateTime cMyVideos::lastPlayed()
{
return(m_values.m_lastPlayed);
}
QDateTime cMyVideos::dateAdded()
{
return(m_values.m_dateAdded);
}
qreal cMyVideos::resumeTimeInSeconds()
{
return(m_values.m_dResumeTimeInSeconds);
}
qreal cMyVideos::totalTimeInSeconds()
{
return(m_values.m_dTotalTimeInSeconds);
}
bool cMyVideos::isNew()
{
if(m_values.m_idMovie == -1)
+48 -16
View File
@@ -8,6 +8,12 @@
#include <QMetaType>
typedef struct tagSTRING2
{
QString _1;
QString _2;
} STRING2;
class cMyVideosValues
{
public:
@@ -15,7 +21,7 @@ public:
cMyVideosValues(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating, qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
@@ -24,7 +30,7 @@ public:
void set(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating, qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
@@ -48,7 +54,7 @@ public:
QString m_szTitleFormattedForSorting; // c10
qint32 m_iRuntime; // c11
QString m_szMPAARating; // c12
QString m_szIMDBTop250Ranking; // c13
qint32 m_iIMDBTop250Ranking; // c13
QString m_szGenre; // c14
QString m_szDirector; // c15
QString m_szOriginalMovieTitle; // c16
@@ -77,24 +83,50 @@ public:
cMyVideos(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating,qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
qreal dResumeTimeInSeconds, qreal dTotalTimeInSeconds);
qint32 idMovie();
qint32 idFile();
QString localMovieTitle();
QString moviePlot();
QString moviePlotOutline();
QString movieTagline();
qint32 yearReleased();
qint32 idSet();
QString set();
qint32 idMovie();
qint32 idFile();
QString localMovieTitle();
QString moviePlot();
QString moviePlotOutline();
QString movieTagline();
qint32 ratingVotes();
qreal rating();
QStringList writers();
qint32 yearReleased();
QList<STRING2> thumbnails();
QString imdbID();
QString titleFormattedForSorting();
qint32 runtime();
QString mpaaRating();
qint32 imdbTop250Ranking();
QStringList genre();
QStringList director();
QString originalMovieTitle();
QStringList studio();
QString trailerURL();
QList<STRING2> fanartURL();
QStringList country();
QString filePath();
qint32 idSet();
qint32 userRating();
QString set();
QString setOverview();
QString fileName();
QString pathURL();
qint32 playCount();
QDateTime lastPlayed();
QDateTime dateAdded();
qreal resumeTimeInSeconds();
qreal totalTimeInSeconds();
bool isNew();
bool isChanged();
bool isNew();
bool isChanged();
private:
cMyVideosValues m_values;
cMyVideosValues m_oValues;
@@ -109,7 +141,7 @@ public:
cMyVideos* add(qint32 idMovie, qint32 idFile, const QString& szLocalMovieTitle, const QString& szMoviePlot, const QString& szMoviePlotOutline,
const QString& szMovieTagline, qint32 iRatingVotes, qreal dRating, const QString& szWriters, qint32 iYearReleased,
const QString& szThumbnails, const QString& szIMDBID, const QString& szTitleFormattedForSorting, qint32 iRuntime,
const QString& szMPAARating, const QString& szIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szMPAARating, qint32 iIMDBTop250Ranking, const QString& szGenre, const QString& szDirector,
const QString& szOriginalMovieTitle, const QString& szStudio, const QString& szTrailerURL, const QString& szFanartURLs,
const QString& szCountry, const QString& szFilePath, qint32 idPath, qint32 idSet, qint32 iUserrating, const QString& szSet, const QString& szSetOverview,
const QString& szFileName, const QString& szPathURL, qint32 iPlayCount, const QDateTime& lastPlayed, const QDateTime& dateAdded,
+30
View File
@@ -70,6 +70,36 @@ void cVideoWidget::selectionChanged(const QItemSelection& /*newSelection*/, cons
const QModelIndex index = ui->m_lpVideoView->selectionModel()->currentIndex();
cMyVideos* lpVideos = index.data(Qt::UserRole).value<cMyVideos*>();
ui->m_lpDirector->clear();
ui->m_lpWriter->clear();
// Basic Tab
ui->m_lpTitle->setText(lpVideos->localMovieTitle());
ui->m_lpOriginalTitle->setText(lpVideos->originalMovieTitle());
ui->m_lpTitleForSorting->setText(lpVideos->titleFormattedForSorting());
ui->m_lpSet->setText(lpVideos->set());
ui->m_lpTagline->setText(lpVideos->movieTagline());
ui->m_lpRating->setValue(lpVideos->rating());
ui->m_lpRatingVotes->setValue(lpVideos->ratingVotes());
ui->m_lpTop250->setValue(lpVideos->imdbTop250Ranking());
ui->m_lpReleased->setValue(lpVideos->yearReleased());
ui->m_lpRuntime->setValue(lpVideos->runtime());
ui->m_lpCertification->setText(lpVideos->mpaaRating());
ui->m_lpTrailer->setText(lpVideos->trailerURL());
ui->m_lpPlayCount->setValue(lpVideos->playCount());
ui->m_lpLastPlayed->setDateTime(lpVideos->lastPlayed());
ui->m_lpPlot->setText(lpVideos->moviePlot());
ui->m_lpOutline->setText(lpVideos->moviePlotOutline());
// Extended Tab
ui->m_lpGenres->addItems(lpVideos->genre());
ui->m_lpCountries->addItems(lpVideos->country());
ui->m_lpStudios->addItems(lpVideos->studio());
// Crew Tab
ui->m_lpDirector->addItems(lpVideos->director());
ui->m_lpWriter->addItems(lpVideos->writers());
if(m_lpVideoModel->itemFromIndex(index)->hasChildren())
{
thumb = m_lpImageList->get(cImage::MEDIATYPE_set, cImage::TYPE_thumb, lpVideos->idSet());
+527 -3
View File
@@ -63,8 +63,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>791</width>
<height>714</height>
<width>901</width>
<height>697</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_6">
@@ -73,22 +73,546 @@
<item>
<widget class="QTabWidget" name="m_lpInformationTab">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="m_lpInformationTabBasic">
<attribute name="title">
<string>Basic</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_7">
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Set</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="m_lpTagline"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Rating</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Tagline</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="m_lpSet"/>
</item>
<item row="5" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QDoubleSpinBox" name="m_lpRating"/>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Votes</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="m_lpRatingVotes">
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_8">
<property name="text">
<string>Top 250</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="m_lpTop250">
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</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 row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Original Title</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="m_lpOriginalTitle"/>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="m_lpTitle"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Name</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="m_lpTitleForSorting"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Title for Sorting</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Released</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="m_lpCertification"/>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Trailer</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Certification</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Outline</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="8" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLineEdit" name="m_lpTrailer"/>
</item>
<item>
<widget class="QPushButton" name="m_lpTrailerPlay">
<property name="text">
<string>&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="6" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QSpinBox" name="m_lpReleased">
<property name="maximum">
<number>2999</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_10">
<property name="text">
<string>Runtime</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="m_lpRuntime">
<property name="maximum">
<number>3000</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<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 row="11" column="1">
<widget class="QTextEdit" name="m_lpOutline"/>
</item>
<item row="10" column="1">
<widget class="QTextEdit" name="m_lpPlot"/>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Play Count</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="9" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QSpinBox" name="m_lpPlayCount">
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_16">
<property name="text">
<string>Last Played</string>
</property>
</widget>
</item>
<item>
<widget class="QDateTimeEdit" name="m_lpLastPlayed"/>
</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>
<item row="10" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Plot</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<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>
</widget>
<widget class="QWidget" name="m_lpInformationTabExtended">
<attribute name="title">
<string>Extended</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_12">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_11">
<item row="3" column="0">
<widget class="QGroupBox" name="m_lpGenresGroup">
<property name="title">
<string>Genres</string>
</property>
<layout class="QGridLayout" name="gridLayout_13">
<item row="0" column="0">
<widget class="QListWidget" name="m_lpGenres"/>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QPushButton" name="m_lpGenresAdd">
<property name="text">
<string>add</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_lpGenresEdit">
<property name="text">
<string>edit</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_lpGenresRemove">
<property name="text">
<string>remove</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<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>
</widget>
</item>
<item row="5" column="0">
<widget class="QGroupBox" name="m_lpStudiosGroup">
<property name="title">
<string>Studios</string>
</property>
<layout class="QGridLayout" name="gridLayout_15">
<item row="0" column="0">
<widget class="QListWidget" name="m_lpStudios"/>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QPushButton" name="m_lpStudiosAdd">
<property name="text">
<string>add</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_lpStudiosEdit">
<property name="text">
<string>edit</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_lpStudiosDelete">
<property name="text">
<string>delete</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_7">
<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>
</widget>
</item>
<item row="4" column="0">
<widget class="QGroupBox" name="m_lpCountriesGroup">
<property name="title">
<string>Countries</string>
</property>
<layout class="QGridLayout" name="gridLayout_14">
<item row="0" column="0">
<widget class="QListWidget" name="m_lpCountries"/>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QPushButton" name="m_lpCountriesAdd">
<property name="text">
<string>add</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_lpCountriesEdit">
<property name="text">
<string>edit</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_lpCountriesDelete">
<property name="text">
<string>delete</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<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>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer_3">
<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>
</widget>
<widget class="QWidget" name="m_lpInformationTabCrew">
<attribute name="title">
<string>Crew</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_10">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_9">
<item row="0" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Director</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QListWidget" name="m_lpDirector"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_20">
<property name="text">
<string>Writer</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QListWidget" name="m_lpWriter"/>
</item>
</layout>
</item>
<item row="1" column="0">
<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>
</widget>
<widget class="QWidget" name="m_lpInformationTabStream">
<attribute name="title">