2 // Copyright Mikko Keinänen 2010
4 // This file is part of EmuFront.
7 // EmuFront is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
12 // Foobar is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License
18 // along with Foobar. If not, see <http://www.gnu.org/licenses/>.
20 #include "databasemanager.h"
22 #include <QSqlDatabase>
23 #include <QSqlTableModel>
31 const QString DatabaseManager::DB_FILENAME = QString("my.db.sqlite");
33 DatabaseManager::DatabaseManager(QObject *parent)
37 DatabaseManager::~DatabaseManager()
40 bool DatabaseManager::openDB()
42 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
43 db.setDatabaseName(DatabaseManager::getDbPath());
47 /*QSqlError DatabaseManager::lastError()
49 return db.lastError();
52 /*bool DatabaseManager::deleteDB()
55 return QFile::remove(getDbPath());
58 QString DatabaseManager::getDbPath()
62 path.append(QDir::home().path());
63 path.append(QDir::separator()).append(DB_FILENAME);
65 path.append(DB_FILENAME);
71 * Check if database already exists.
72 * Returns false if doesn't or we don't have a connection.
74 bool DatabaseManager::dbExists()
77 query.exec("SELECT name FROM sqlite_master WHERE name='platform'");
81 bool DatabaseManager::createDB()
86 ret = query.exec("create table platform "
87 "(id integer primary key, "
89 "filename varchar(125))");
90 /*ret = query.exec("create table media "
91 "(id integer primary key, "
93 "filename varchar(125))");*/
97 void DatabaseManager::resetModel()
99 if (!sqlTableModel) return;
100 sqlTableModel->setFilter("");
101 sqlTableModel->select();