From 1acc4cf18f1e4e38a514b7de816d9b04c44fb6e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mikko=20Kein=C3=A4nen?= Date: Fri, 19 Nov 2010 22:25:02 +0200 Subject: [PATCH] Updates the last scanned timestamp after successful scan. --- src/db/dbfilepath.cpp | 11 +++++++++++ src/db/dbfilepath.h | 1 + src/dialogs/dbobjectdialog.h | 2 +- src/dialogs/mediaimagepathmaindialog.cpp | 5 +++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/db/dbfilepath.cpp b/src/db/dbfilepath.cpp index 5396749..7c6aa69 100644 --- a/src/db/dbfilepath.cpp +++ b/src/db/dbfilepath.cpp @@ -64,6 +64,17 @@ bool DbFilePath::updateDataObjectToModel(const EmuFrontObject *ob) return ret; } +bool DbFilePath::setScanned(const EmuFrontObject *ob) +{ + QSqlQuery q; + q.prepare("UPDATE filepath SET lastscanned=:lastscanned WHERE id=:id"); + q.bindValue(":lastscanned", getCurrentTimeStamp()); + q.bindValue(":id", ob->getId()); + bool ret = q.exec(); + if (ret) resetModel(); + return ret; +} + /* Returns id of inserted data item after succesful insert, -1 if insert failed */ int DbFilePath::insertDataObjectToModel(const EmuFrontObject *ob) { diff --git a/src/db/dbfilepath.h b/src/db/dbfilepath.h index 4d0f9d4..c1c745a 100644 --- a/src/db/dbfilepath.h +++ b/src/db/dbfilepath.h @@ -31,6 +31,7 @@ public: virtual bool updateDataObjectToModel(const EmuFrontObject*); int insertDataObjectToModel(const EmuFrontObject*); bool deleteDataObjectFromModel(QModelIndex*); + bool setScanned(const EmuFrontObject *ob); enum { FilePath_Id = 0, FilePath_Name, FilePath_LastScanned, diff --git a/src/dialogs/dbobjectdialog.h b/src/dialogs/dbobjectdialog.h index d06ccf7..a7ae1d6 100644 --- a/src/dialogs/dbobjectdialog.h +++ b/src/dialogs/dbobjectdialog.h @@ -46,12 +46,12 @@ private slots: void listObjectClicked(const QModelIndex &); void updateData(); void updateReject(); - void updateList() const; void testSlot(); void enableUi(); protected: // implementation specific, deletes current data object from memory + void updateList() const; virtual void deleteCurrentObject() = 0; virtual void cleanUp() = 0; virtual void initEditDialog() = 0; diff --git a/src/dialogs/mediaimagepathmaindialog.cpp b/src/dialogs/mediaimagepathmaindialog.cpp index ae4a3b1..42494e6 100644 --- a/src/dialogs/mediaimagepathmaindialog.cpp +++ b/src/dialogs/mediaimagepathmaindialog.cpp @@ -92,9 +92,14 @@ void MediaImagePathMainDialog::beginScanFilePath() setUIEnabled(false); int count = fileUtil.scanFilePath(fpo, l, dbMediaImageContainer, progressDialog); progressDialog.hide(); + QMessageBox msgBox; msgBox.setText(tr("Scanned %1 files to database.").arg(count)); msgBox.exec(); + DbFilePath *dbfp = dynamic_cast(dbManager); + if (!(dbfp && dbfp->setScanned(fpo))) + throw EmuFrontException(tr("Failed updating the last scanned time stamp for selected file path!")); + else updateList(); } catch (EmuFrontException s) { -- 1.7.9.5