diff options
| -rw-r--r-- | pica-client/pica-client.pro | 6 | ||||
| -rw-r--r-- | pica-client/settings.cpp | 51 | ||||
| -rw-r--r-- | pica-client/settings.h | 23 |
3 files changed, 78 insertions, 2 deletions
diff --git a/pica-client/pica-client.pro b/pica-client/pica-client.pro index 74f484a..ef9f9fd 100644 --- a/pica-client/pica-client.pro +++ b/pica-client/pica-client.pro @@ -37,7 +37,8 @@ SOURCES += main.cpp\ dialogs/filetransferdialog.cpp \ filetransfercontroller.cpp \ sound.cpp \ - dialogs/settingsdialog.cpp + dialogs/settingsdialog.cpp \ + settings.cpp HEADERS += mainwindow.h \ chatwindow.h \ @@ -68,7 +69,8 @@ HEADERS += mainwindow.h \ dialogs/filetransferdialog.h \ filetransfercontroller.h \ sound.h \ - dialogs/settingsdialog.h + dialogs/settingsdialog.h \ + settings.h DEFINES = PICA_MULTITHREADED diff --git a/pica-client/settings.cpp b/pica-client/settings.cpp new file mode 100644 index 0000000..160e402 --- /dev/null +++ b/pica-client/settings.cpp @@ -0,0 +1,51 @@ +#include "settings.h" + +Settings::Settings(QString storage) +{ + dbconn=QSqlDatabase::addDatabase("QSQLITE"); + dbconn.setDatabaseName(storage); + + if (!dbconn.open()) + { + lasterr=dbconn.lastError(); + return; + } + +} + +QString Settings::GetLastError() +{ + return lasterr.text(); +} + +QVariant Settings::loadValue(QString name, QVariant defval) +{ + QSqlQuery query; + + query.prepare("select value from settings where name = :name"); + query.bindValue(":name", name); + query.exec(); + + lasterr = query.lastError(); + + query.next(); + + if (!query.isValid()) + { + return defval; + } + + return query.value(0); +} + +void Settings::storeValue(QString name, QString val) +{ + QSqlQuery query; + + query.prepare("insert into settings (name, value) values (:name, :val)"); + query.bindValue(":addr", name); + query.bindValue(":val", val); + query.exec(); + + lasterr = query.lastError(); +} diff --git a/pica-client/settings.h b/pica-client/settings.h new file mode 100644 index 0000000..d7d5b5f --- /dev/null +++ b/pica-client/settings.h @@ -0,0 +1,23 @@ +#ifndef SETTINGS_H +#define SETTINGS_H + +#include <QtSql> +#include <QSqlDatabase> +#include <QVariant> + +class Settings +{ +public: + Settings(QString storage); + + QVariant loadValue(QString name, QVariant defval); + void storeValue(QString name, QString val); + + QString GetLastError(); + +private: + QSqlDatabase dbconn; + QSqlError lasterr; +}; + +#endif // SETTINGS_H |
