From c59d9c365c4ca90a592af8849fbaea9133839269 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Wed, 28 Sep 2022 11:18:28 -0500 Subject: [PATCH] fixing videos not updating after deleting --- src/videosqlmodel.cpp | 48 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/src/videosqlmodel.cpp b/src/videosqlmodel.cpp index c44098d..f0721a3 100644 --- a/src/videosqlmodel.cpp +++ b/src/videosqlmodel.cpp @@ -125,10 +125,18 @@ void VideoSqlModel::setTitle(const QString &title) { // This function is for updating the title from outside the delegate void VideoSqlModel::updateTitle(const int &row, const QString &title) { qDebug() << "Row is " << row; - QSqlRecord rowdata = record(row); + QSqlQuery query("select id from videos"); + QList ids; + while (query.next()) { + ids.append(query.value(0).toInt()); + // qDebug() << ids; + } + int id = ids.indexOf(row,0); + + QSqlRecord rowdata = record(id); qDebug() << rowdata; rowdata.setValue("title", title); - setRecord(row, rowdata); + setRecord(id, rowdata); qDebug() << rowdata; submitAll(); emit titleChanged(); @@ -151,10 +159,18 @@ void VideoSqlModel::setFilePath(const QUrl &filePath) { // This function is for updating the filepath from outside the delegate void VideoSqlModel::updateFilePath(const int &row, const QUrl &filePath) { qDebug() << "Row is " << row; - QSqlRecord rowdata = record(row); + QSqlQuery query("select id from videos"); + QList ids; + while (query.next()) { + ids.append(query.value(0).toInt()); + // qDebug() << ids; + } + int id = ids.indexOf(row,0); + + QSqlRecord rowdata = record(id); qDebug() << rowdata; rowdata.setValue("filePath", filePath); - setRecord(row, rowdata); + setRecord(id, rowdata); qDebug() << rowdata; submitAll(); emit filePathChanged(); @@ -178,10 +194,18 @@ void VideoSqlModel::setStartTime(const int &startTime) { // This function is for updating the title from outside the delegate void VideoSqlModel::updateStartTime(const int &row, const int &startTime) { qDebug() << "Row is " << row; - QSqlRecord rowdata = record(row); + QSqlQuery query("select id from videos"); + QList ids; + while (query.next()) { + ids.append(query.value(0).toInt()); + // qDebug() << ids; + } + int id = ids.indexOf(row,0); + + QSqlRecord rowdata = record(id); qDebug() << rowdata; rowdata.setValue("startTime", startTime); - setRecord(row, rowdata); + setRecord(id, rowdata); qDebug() << rowdata; submitAll(); emit startTimeChanged(); @@ -204,10 +228,18 @@ void VideoSqlModel::setEndTime(const int &endTime) { // This function is for updating the title from outside the delegate void VideoSqlModel::updateEndTime(const int &row, const int &endTime) { qDebug() << "Row is " << row; - QSqlRecord rowdata = record(row); + QSqlQuery query("select id from videos"); + QList ids; + while (query.next()) { + ids.append(query.value(0).toInt()); + // qDebug() << ids; + } + int id = ids.indexOf(row,0); + + QSqlRecord rowdata = record(id); qDebug() << rowdata; rowdata.setValue("endTime", endTime); - setRecord(row, rowdata); + setRecord(id, rowdata); qDebug() << rowdata; submitAll(); emit endTimeChanged();