summaryrefslogtreecommitdiffstats
path: root/smubermodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-06-12 11:13:11 +0200
committerArno <am@disconnect.de>2010-06-12 11:13:11 +0200
commitf84598155ee8a6b20f163b459722e27eb24658ab (patch)
treeb5bf419c1451e7a21102572a93a60fe4b5f93922 /smubermodel.cpp
parent3240cad2718ead169a07219e2a65ae84328b4485 (diff)
downloadSheMov-f84598155ee8a6b20f163b459722e27eb24658ab.tar.gz
SheMov-f84598155ee8a6b20f163b459722e27eb24658ab.tar.bz2
SheMov-f84598155ee8a6b20f163b459722e27eb24658ab.zip
Implemented SmUberModel::populateSeriesModel
Implemented SmUberModel::populateSeriesModel(). Created a new QSqlDatabase with hardcoded access data for refactoring. This will change once the new schema is working.
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);
}