Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/library/dao/settingsdao.cpp

Go to the documentation of this file.
00001 // settingsdao.cpp
00002 // Created 12/29/2009 by RJ Ryan (rryan@mit.edu)
00003 
00004 #include "library/dao/settingsdao.h"
00005 
00006 SettingsDAO::SettingsDAO(QSqlDatabase& db)
00007         : m_db(db) {
00008 }
00009 
00010 SettingsDAO::~SettingsDAO() {
00011 
00012 }
00013 
00014 void SettingsDAO::initialize() {
00015 }
00016 
00017 QString SettingsDAO::getValue(QString name, QString defaultValue) {
00018     QSqlQuery query(m_db);
00019 
00020     query.prepare("SELECT value FROM settings WHERE name = :name");
00021     query.bindValue(":name", name);
00022 
00023     QString value = defaultValue;
00024     if (query.exec() && query.first()) {
00025         value = query.value(query.record().indexOf("value")).toString();
00026     }
00027     return value;
00028 }
00029 
00030 bool SettingsDAO::setValue(QString name, QVariant value) {
00031     if (!qVariantCanConvert<QString>(value)) {
00032         return false;
00033     }
00034 
00035     QSqlQuery query(m_db);
00036     query.prepare("REPLACE INTO settings (name, value) VALUES (:name, :value)");
00037     query.bindValue(":name", name);
00038     query.bindValue(":value", value.toString());
00039 
00040     if (!query.exec()) {
00041         qDebug() << "SettingsDAO::setValue() failed" << name << ":" << value
00042                  << query.lastError();
00043         return false;
00044     }
00045     return true;
00046 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines