diff --git a/Video-Datenbank.pro b/Video-Datenbank.pro index 47742f3..b594b8f 100644 --- a/Video-Datenbank.pro +++ b/Video-Datenbank.pro @@ -1,4 +1,4 @@ -QT += core gui sql printsupport network +QT += core gui sql printsupport network xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets diff --git a/mainwindow.cpp b/mainwindow.cpp index c771265..8318187 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -67,6 +67,7 @@ if(Debug) qDebug() << "oeffneDatenbank"; } query = QSqlQuery(db); + query2 = QSqlQuery(db); query.exec("CREATE TABLE IF NOT EXISTS einstellungen(" "pfad TEXT)"); @@ -149,12 +150,128 @@ if(Debug) qDebug() << "~MainWindow"; if(Debug) qDebug() << "~MainWindow-Ende"; } -void MainWindow::on_actionDaten_aktualisieren_triggered(){ +void MainWindow::on_actionVideopfad_einlesen_triggered(){ if(Debug) qDebug() << "on_actionDaten_aktualisieren_triggered"; leseVerzeichnis(); if(Debug) qDebug() << "on_actionDaten_aktualisieren_triggered-Ende"; } +void MainWindow::on_actionKodi_Daten_einlesen_triggered(){ +if(Debug) qDebug() << "on_actionKodi_Daten_einlesen_triggered"; + QSqlQuery query("SELECT pfad FROM video"); + while (query.next()) { + QString pfad = query.value(0).toString(); + QStringList list_pfad = pfad.split(u'.'); + QString pfad_tmp; + for(int i=0; istatusbar->showMessage("Fehler:" + query.lastError().databaseText()); + } + while(query2.next()){ + id=query2.value(0).toInt(); + } + // id ermitteln ende + // Titel speichern + query2.exec(QString("UPDATE video SET Titel=('%1') WHERE id=('%2')").arg(Titel.replace(QString("'"), QString("''")), QString::number(id))); + if(query2.lastError().isValid()){ + ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText()); + } + // Genre speichern + query2.exec(QString("UPDATE video SET Genre=('%1') WHERE id=('%2')").arg(Genre.replace(QString("'"), QString("''")), QString::number(id))); + if(query2.lastError().isValid()){ + ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText()); + } + // Länge speichern + query2.exec(QString("UPDATE video SET Länge=('%1') WHERE id=('%2')").arg(Laenge.replace(QString("'"), QString("''")), QString::number(id))); + if(query2.lastError().isValid()){ + ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText()); + } + // Jahr speichern + query2.exec(QString("UPDATE video SET Jahr=('%1') WHERE id=('%2')").arg(Jahr.replace(QString("'"), QString("''")), QString::number(id))); + if(query2.lastError().isValid()){ + ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText()); + } + // Handlung speichern + query2.exec(QString("UPDATE video SET Handlung=('%1') WHERE id=('%2')").arg(Handlung.replace(QString("'"), QString("''")), QString::number(id))); + if(query2.lastError().isValid()){ + ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText()); + } + // Bild speichern + if(!(pfad_Bild=="")){ + QFile file(pfad_Bild); + if(file.open(QIODevice::ReadOnly)){ + QByteArray inByteArray = file.readAll(); + query2.prepare(QString("UPDATE video SET Bild=(:imageData) WHERE id=('%1')").arg(QString::number(id))); + query2.bindValue(":imageData", inByteArray); + if(!query2.exec()){ + ui->statusbar->showMessage("Fehler:" + query2.lastError().databaseText()); + } + } + } + } + ui->statusbar->showMessage(pfad); + ui->statusbar->repaint(); + } + ui->statusbar->showMessage("Daten gespeichert"); +if(Debug) qDebug() << "on_actionKodi_Daten_einlesen_triggered"; +} void MainWindow::on_actionDaten_ausgeben_triggered(){ if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered"; @@ -164,14 +281,12 @@ if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered"; if(Debug) qDebug() << "on_actionDaten_ausgeben_triggered-Ende"; } - void MainWindow::on_actionBeenden_triggered(){ if(Debug) qDebug() << "on_actionBeenden_triggered"; MainWindow::close(); if(Debug) qDebug() << "on_actionBeenden_triggered-Ende"; } - void MainWindow::on_actionPfad_zu_den_Videos_triggered(){ if(Debug) qDebug() << "on_actionPfad_zu_den_Videos_triggered"; datenPfad = QFileDialog::getExistingDirectory(this, tr("Öffne Verzeichnis"), datenPfad, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); @@ -766,4 +881,3 @@ if(Debug) qDebug() << "on_pushButton_on_pushButton_ordner_clicked"; ui->statusbar->showMessage("Ordner öffnen"); if(Debug) qDebug() << "on_pushButton_on_pushButton_ordner_clicked-Ende"; } - diff --git a/mainwindow.h b/mainwindow.h index 67d2706..4251c70 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -20,6 +20,8 @@ #include #include #include +#include +#include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } @@ -35,7 +37,8 @@ public: private slots: // Menü - void on_actionDaten_aktualisieren_triggered(); + void on_actionVideopfad_einlesen_triggered(); + void on_actionKodi_Daten_einlesen_triggered(); void on_actionDaten_ausgeben_triggered(); void on_actionBeenden_triggered(); void on_actionPfad_zu_den_Videos_triggered(); @@ -68,5 +71,6 @@ private: Ui::MainWindow *ui; QSqlDatabase db; QSqlQuery query; + QSqlQuery query2; }; #endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui index b50ede8..86c3258 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -439,7 +439,14 @@ Datei - + + + Daten aktualisieren + + + + + @@ -454,11 +461,6 @@ - - - Daten aktualisieren - - Daten ausgeben @@ -474,6 +476,16 @@ Beenden + + + Videopfad einlesen + + + + + Kodi Daten einlesen + +