From d140bae224b214f38bdc418e12e40ae611bfb837 Mon Sep 17 00:00:00 2001 From: birkeh Date: Fri, 21 Oct 2016 16:52:16 +0200 Subject: [PATCH] Init --- ckodivideolibrary.cpp | 50 +++++++++++++++++++++++---- ckodivideolibrary.h | 5 +++ cmyvideos.cpp | 41 ++++++++++++++++++++++ cmyvideos.h | 80 +++++++++++++++++++++++++++++++++++++++++++ qtKodiDB.pro | 6 ++-- 5 files changed, 174 insertions(+), 8 deletions(-) create mode 100644 cmyvideos.cpp create mode 100644 cmyvideos.h diff --git a/ckodivideolibrary.cpp b/ckodivideolibrary.cpp index c61ec74..ca52bed 100644 --- a/ckodivideolibrary.cpp +++ b/ckodivideolibrary.cpp @@ -6,6 +6,9 @@ #include +#include +#include + cKodiVideoLibrary::cKodiVideoLibrary(const QString& szFileName) : m_szFileName(szFileName), @@ -58,15 +61,50 @@ qint16 cKodiVideoLibrary::version() qint32 cKodiVideoLibrary::load() { - QStringList movies; - QSqlQuery query(m_db); - query.exec("SELECT idMovie, idFile, c00 FROM movie_view ORDER BY c00;"); + query.exec("SELECT idMovie, idFile, c00, c01, c02, c03, c04, c05, c06, c07, c08, c09, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, idSet, userrating, strSet, strSetOverview, strFileName, strPath, playCount, lastPlayed, dateAdded, resumeTimeInSeconds, totalTimeInSeconds FROM movie_view ORDER BY c00;"); while(query.next()) { - movies.append(query.value("c00").toString()); - } + cMyVideos* lpNew = m_videosList.add( + query.value("idMovie").toInt(), + query.value("idFile").toInt(), + query.value("c00").toString(), + query.value("c01").toString(), + query.value("c02").toString(), + query.value("c03").toString(), + query.value("c04").toInt(), + query.value("c05").toDouble(), + query.value("c06").toString(), + query.value("c07").toInt(), + query.value("c08").toString(), + query.value("c09").toString(), + query.value("c10").toString(), + query.value("c11").toInt(), + query.value("c12").toString(), + query.value("c13").toString(), + query.value("c14").toString(), + query.value("c15").toString(), + query.value("c16").toString(), + query.value("c18").toString(), + query.value("c19").toString(), + query.value("c20").toString(), + query.value("c21").toString(), + query.value("c22").toString(), + query.value("c23").toInt(), + query.value("idSet").toInt(), + query.value("userrating").toInt(), + query.value("strSet").toString(), + query.value("strSetOverview").toString(), + query.value("strFileName").toString(), + query.value("strPath").toString(), + query.value("playCount").toInt(), + QDateTime::fromString(query.value("lastPlayed").toString(), "yyyy-MM-dd HH:mm:ss"), + QDateTime::fromString(query.value("dateAdded").toString(), "yyyy-MM-dd HH:mm:ss"), + query.value("resumeTimeInSeconds").toDouble(), + query.value("totalTimeInSeconds").toDouble()); - return(movies.count()); + lpNew = 0; + } + return(m_videosList.count()); } diff --git a/ckodivideolibrary.h b/ckodivideolibrary.h index b070789..affd746 100644 --- a/ckodivideolibrary.h +++ b/ckodivideolibrary.h @@ -1,6 +1,9 @@ #ifndef CKODIVIDEOLIBRARY_H #define CKODIVIDEOLIBRARY_H + +#include "cmyvideos.h" + #include #include #include @@ -21,6 +24,8 @@ private: QString m_szFileName; bool m_bConnected; qint16 m_iVersion; + + cMyVideosList m_videosList; }; #endif // CKODIVIDEOLIBRARY_H diff --git a/cmyvideos.cpp b/cmyvideos.cpp new file mode 100644 index 0000000..5bd5452 --- /dev/null +++ b/cmyvideos.cpp @@ -0,0 +1,41 @@ +#include "cmyvideos.h" + +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& 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_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_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) +{ +} + +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& 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) +{ + 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, + szCountry, szFilePath, idPath, idSet, iUserrating, szSet, szSetOverview, szFileName, szPathURL, iPlayCount, + lastPlayed, dateAdded, dResumeTimeInSeconds, dTotalTimeInSeconds); + append(lpNew); + return(lpNew); +} diff --git a/cmyvideos.h b/cmyvideos.h new file mode 100644 index 0000000..4a48395 --- /dev/null +++ b/cmyvideos.h @@ -0,0 +1,80 @@ +#ifndef CMYVIDEOS_H +#define CMYVIDEOS_H + + +#include +#include +#include +#include + + +class cMyVideos +{ +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& 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); +private: + qint32 m_idMovie; + qint32 m_idFile; + QString m_szLocalMovieTitle; // c00 + QString m_szMoviePlot; // c01 + QString m_szMoviePlotOutline; // c02 + QString m_szMovieTagline; // c03 + qint32 m_iRatingVotes; // c04 + qreal m_dRating; // c05 + QString m_szWriters; // c06 + qint32 m_iYearReleased; // c07 + QString m_szThumbnails; // c08 + QString m_szIMDBID; // c09 + QString m_szTitleFormattedForSorting; // c10 + qint32 m_iRuntime; // c11 + QString m_szMPAARating; // c12 + QString m_szIMDBTop250Ranking; // c13 + QString m_szGenre; // c14 + QString m_szDirector; // c15 + QString m_szOriginalMovieTitle; // c16 + QString m_szStudio; // c18 + QString m_szTrailerURL; // c19 + QString m_szFanartURLs; // c20 + QString m_szCountry; // c21 + QString m_szFilePath; // c22 + qint32 m_idPath; // c23 + qint32 m_idSet; // idSet + qint32 m_iUserrating; // userrating + QString m_szSet; // strSet + QString m_szSetOverview; // Set overview + QString m_szFileName; // strFileName + QString m_szPathURL; // strPath + qint32 m_iPlayCount; // playCount + QDateTime m_lastPlayed; // lastPlayed + QDateTime m_dateAdded; // dateAdded + qreal m_dResumeTimeInSeconds; // resumeTimeInSeconds + qreal m_dTotalTimeInSeconds; // totalTimeInSeconds +}; + +Q_DECLARE_METATYPE(cMyVideos*) + +class cMyVideosList : public QList +{ +public: + cMyVideosList(); + 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& 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); + +private: +}; + +#endif // CMYVIDEOS_H diff --git a/qtKodiDB.pro b/qtKodiDB.pro index 8ab5338..770285f 100644 --- a/qtKodiDB.pro +++ b/qtKodiDB.pro @@ -21,7 +21,8 @@ SOURCES += main.cpp\ cmaintabbar.cpp \ cmaintabwidget.cpp \ cmusicwidget.cpp \ - cmusicvideoswidget.cpp + cmusicvideoswidget.cpp \ + cmyvideos.cpp HEADERS += cmainwindow.h \ ckodivideolibrary.h \ @@ -31,7 +32,8 @@ HEADERS += cmainwindow.h \ cmaintabbar.h \ cmaintabwidget.h \ cmusicwidget.h \ - cmusicvideoswidget.h + cmusicvideoswidget.h \ + cmyvideos.h FORMS += cmainwindow.ui \ cmoviewidget.ui \