Start of marking of images for selection
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user