Start of marking of images for selection

This commit is contained in:
2016-07-30 21:29:11 +02:00
parent 32e06a3e08
commit 3f226eb952
8 changed files with 135 additions and 6 deletions
+68
View File
@@ -0,0 +1,68 @@
#include "database.h"
#include <QStandardPaths>
#include <QDir>
#include <QSqlError>
#include <QDebug>
Database::Database(QObject *parent) : QObject(parent)
{
}
bool Database::init()
{
QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
QDir dir(path);
m_database = QSqlDatabase::addDatabase("QSQLITE");
if(!dir.mkpath("."))
return false;
if(m_database.isValid())
{
m_database.setDatabaseName(dir.absoluteFilePath("database.db"));
if(m_database.open())
{
m_database.exec("CREATE TABLE IF NOT EXISTS files (id INTEGER PRIMARY KEY AUTOINCREMENT, file VARCHAR(255));");
QSqlError error = m_database.lastError();
if(error.type() == QSqlError::NoError)
{
m_markQuery = QSqlQuery(m_database);
m_markQuery.prepare("INSERT INTO files (file) VALUES (?)");
m_unmarkQuery = QSqlQuery(m_database);
m_unmarkQuery.prepare("DELETE FROM files WHERE file = '?'");
return true;
}
qDebug() << error.text();
}
}
return false;
}
bool Database::mark(QString &filename)
{
m_markQuery.bindValue(0, filename);
m_markQuery.exec();
return checkError();
}
bool Database::unmark(QString &filename)
{
m_unmarkQuery.bindValue(0, filename);
m_unmarkQuery.exec();
return checkError();
}
bool Database::checkError()
{
QSqlError error = m_database.lastError();
if(error.type() == QSqlError::NoError)
return true;
else
{
qDebug() << error.text();
return false;
}
}