summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pica-client/main.cpp11
-rw-r--r--pica-client/settings.cpp18
-rw-r--r--pica-client/settings.h1
3 files changed, 30 insertions, 0 deletions
diff --git a/pica-client/main.cpp b/pica-client/main.cpp
index 99a19f2..1441b5c 100644
--- a/pica-client/main.cpp
+++ b/pica-client/main.cpp
@@ -14,6 +14,8 @@
#include <QIcon>
#include "../PICA_client.h"
#include "dhparam.h"
+#include "settings.h"
+#include "dialogs/settingsdialog.h"
//globals
QString config_dir;
@@ -493,6 +495,15 @@ int main(int argc, char *argv[])
picapica_ico_fly = QIcon("share\\picapica-icon-fly.png");
#endif
+ Settings st(config_dbname);
+
+ if (st.isEmpty()) //show settings dialog on first start
+ {
+ SettingsDialog sd;
+
+ sd.exec();
+ }
+
PicaActionCenter ac;
action_center = &ac;
diff --git a/pica-client/settings.cpp b/pica-client/settings.cpp
index 160e402..4b5485d 100644
--- a/pica-client/settings.cpp
+++ b/pica-client/settings.cpp
@@ -18,6 +18,24 @@ QString Settings::GetLastError()
return lasterr.text();
}
+bool Settings::isEmpty()
+{
+ QSqlQuery query;
+
+ query.exec("select count(*) from settings");
+
+ lasterr = query.lastError();
+
+ query.next();
+
+ if (query.isValid() && query.value(0).toInt() == 0)
+ {
+ return true;
+ }
+
+ return false;
+}
+
QVariant Settings::loadValue(QString name, QVariant defval)
{
QSqlQuery query;
diff --git a/pica-client/settings.h b/pica-client/settings.h
index d7d5b5f..9476ab5 100644
--- a/pica-client/settings.h
+++ b/pica-client/settings.h
@@ -12,6 +12,7 @@ public:
QVariant loadValue(QString name, QVariant defval);
void storeValue(QString name, QString val);
+ bool isEmpty();
QString GetLastError();