Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Jyrki
nFurAffinity
Commits
a116511f
Commit
a116511f
authored
7 years ago
by
Jyrki
Browse files
Options
Download
Email Patches
Plain Diff
Add AppSetting model
parent
333d5b71
master
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
db/inc/dbmanager_migrate_from.h
+10
-1
db/inc/dbmanager_migrate_from.h
db/migrations/20180506095408_create_app_settings.rb
+8
-0
db/migrations/20180506095408_create_app_settings.rb
nFurAffinity.pro
+4
-2
nFurAffinity.pro
src/models/appsetting.cpp
+55
-0
src/models/appsetting.cpp
src/models/appsetting.h
+21
-0
src/models/appsetting.h
with
98 additions
and
3 deletions
+98
-3
db/inc/dbmanager_migrate_from.h
+
10
-
1
View file @
a116511f
...
...
@@ -2,7 +2,7 @@
#define DBMANAGER_MIGRATE_FROM
// This file was generated by `/db/gen_migration_data.rb`.
// Last changed at: 2018-05-0
5
1
3:41:22
+0200
// Last changed at: 2018-05-0
6
1
5:06:18
+0200
void
DbManager
::
migrateFrom
(
qlonglong
version
)
{
...
...
@@ -19,6 +19,15 @@ void DbManager::migrateFrom(qlonglong version)
version
=
20180505002706
;
// qDebug() << "====== done ========";
}
if
(
version
<
20180506095408
)
{
// qDebug() << "migrating to version 20180506095408";
query
.
exec
(
"CREATE TABLE `app_settings` (`name` varchar(255) NOT NULL PRIMARY KEY, `value` text DEFAULT ('') NOT NULL)"
);
query
.
exec
(
"INSERT INTO `schema_migrations` (`version`) VALUES (20180506095408)"
);
version
=
20180506095408
;
// qDebug() << "====== done ========";
}
}
#endif // DBMANAGER_MIGRATE_FROM
This diff is collapsed.
Click to expand it.
db/migrations/20180506095408_create_app_settings.rb
0 → 100644
+
8
-
0
View file @
a116511f
Sequel
.
migration
do
change
do
create_table
(
:app_settings
)
do
String
:name
,
primary_key:
true
String
:value
,
text:
true
,
default:
""
,
null:
false
end
end
end
This diff is collapsed.
Click to expand it.
nFurAffinity.pro
+
4
-
2
View file @
a116511f
...
...
@@ -31,7 +31,8 @@ SOURCES += \
src
/
dbmanager
.
cpp
\
src
/
settings
/
settingsdialog
.
cpp
\
src
/
settings
/
accountswidget
.
cpp
\
src
/
webdialog
.
cpp
src
/
webdialog
.
cpp
\
src
/
models
/
appsetting
.
cpp
HEADERS
+=
\
src
/
mainwindow
.
h
\
...
...
@@ -41,7 +42,8 @@ HEADERS += \
db
/
inc
/
dbmanager_migrate_from
.
h
\
src
/
settings
/
settingsdialog
.
h
\
src
/
settings
/
accountswidget
.
h
\
src
/
webdialog
.
h
src
/
webdialog
.
h
\
src
/
models
/
appsetting
.
h
FORMS
+=
\
src
/
mainwindow
.
ui
\
...
...
This diff is collapsed.
Click to expand it.
src/models/appsetting.cpp
0 → 100644
+
55
-
0
View file @
a116511f
#include "appsetting.h"
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
AppSetting
::
AppSetting
(
QObject
*
parent
)
:
QObject
(
parent
)
{
}
QString
AppSetting
::
get
(
const
QString
&
name
,
bool
*
ok
)
{
QSqlDatabase
db
=
QSqlDatabase
::
database
();
QSqlQuery
query
;
query
.
prepare
(
"SELECT `value` FROM `app_settings` WHERE `name` = :name"
);
query
.
bindValue
(
":name"
,
name
);
if
(
!
(
query
.
exec
()
&&
query
.
first
()))
{
if
(
ok
!=
nullptr
)
{
*
ok
=
false
;
}
db
.
close
();
return
""
;
}
if
(
ok
!=
nullptr
)
{
*
ok
=
true
;
}
db
.
close
();
return
query
.
value
(
"value"
).
toString
();
}
bool
AppSetting
::
set
(
const
QString
&
name
,
const
QString
&
value
)
{
QSqlDatabase
db
=
QSqlDatabase
::
database
();
QSqlQuery
query
;
query
.
prepare
(
"INSERT OR REPLACE INTO `app_settings` (`name`, `value`) "
"VALUES (:name, :value)"
);
query
.
bindValue
(
":name"
,
name
);
query
.
bindValue
(
":value"
,
value
);
if
(
!
query
.
exec
())
{
db
.
close
();
return
false
;
}
db
.
close
();
return
true
;
}
This diff is collapsed.
Click to expand it.
src/models/appsetting.h
0 → 100644
+
21
-
0
View file @
a116511f
#ifndef APPSETTING_H
#define APPSETTING_H
#include <QObject>
#include <QVariant>
class
AppSetting
:
public
QObject
{
Q_OBJECT
public:
explicit
AppSetting
(
QObject
*
parent
=
nullptr
);
static
QString
get
(
const
QString
&
name
,
bool
*
ok
=
nullptr
);
static
bool
set
(
const
QString
&
name
,
const
QString
&
value
);
signals:
public
slots
:
};
#endif // APPSETTING_H
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help