summaryrefslogtreecommitdiffstats
path: root/smubermodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'smubermodel.cpp')
-rw-r--r--smubermodel.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/smubermodel.cpp b/smubermodel.cpp
index 1134e18..784904a 100644
--- a/smubermodel.cpp
+++ b/smubermodel.cpp
@@ -5,10 +5,50 @@
2 of the License, or (at your option) any later version.
*/
+#include <QSqlQuery>
+#include <QList>
+#include <QVariant>
+
#include "smubermodel.h"
#include "smtreemodel.h"
+#include "smtreeitem.h"
#include "actormodel.h"
SmUberModel::SmUberModel(QObject *parent) : QObject(parent), mSeriesModel(0), mFileModel(0), mActorModel(0){
+ //db setup
+ mDb = QSqlDatabase::addDatabase("QPSQL", "treedb");
+ mDb.setHostName("localhost");
+ mDb.setUserName("shemov");
+ mDb.setPassword("shemov");
+ mDb.setDatabaseName("shemov2");
+ mSeriesPartsQuery = new QSqlQuery(mDb);
+ mSeriesPartsQuery->prepare("SELECT iseriespart_id, iseriespart, iseries_id, iquality FROM seriesparts WHERE iseries_id = :id ORDER BY iseriespart");
+
+ //series model
+ QStringList seriesHeaders = QStringList() << tr("Name") << tr("Quality") << tr("Id");
+ mSeriesModel = new SmTreeModel(seriesHeaders, this);
+}
+
+SmUberModel::~SmUberModel(){
+ delete mSeriesPartsQuery;
+}
+void SmUberModel::populateSeriesmodel(){
+ QSqlQuery seriesQuery("SELECT iseries_id, tseries_name FROM series ORDER BY tseries_name", mDb);
+ SmTreeItem *root = new SmTreeItem(3);
+ while(seriesQuery.next()){
+ QList<QVariant> seriesData;
+ seriesData << seriesQuery.value(1) << QVariant() << seriesQuery.value(0);
+ SmTreeItem *seriesItem = new SmTreeItem(seriesData);
+ root->appendChild(seriesItem);
+ mSeriesPartsQuery->bindValue(":id", seriesQuery.value(0));
+ mSeriesPartsQuery->exec();
+ while(mSeriesPartsQuery->next()){
+ QList<QVariant> partsData;
+ QString title = QString("%1 %2").arg(seriesData.at(0).toString()).arg(mSeriesPartsQuery->value(1).toInt());
+ partsData << title << mSeriesPartsQuery->value(2) << mSeriesPartsQuery->value(0);
+ seriesItem->appendChild(new SmTreeItem(partsData, seriesItem));
+ }
+ }
+ mSeriesModel->setRoot(root);
}