Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Leander Schulten
Lichtsteuerung
Commits
ea18ad76
Commit
ea18ad76
authored
Jun 16, 2018
by
Leander Schulten
Browse files
Add Settings to the settings system
parent
cb851ea0
Changes
5
Hide whitespace changes
Inline
Side-by-side
SettingsView.qml
View file @
ea18ad76
...
@@ -59,6 +59,45 @@ Pane{
...
@@ -59,6 +59,45 @@ Pane{
text
:
Settings
.
updatePauseInMs
;
text
:
Settings
.
updatePauseInMs
;
onAccepted
:
Settings
.
updatePauseInMs
=
text
;
onAccepted
:
Settings
.
updatePauseInMs
=
text
;
}
}
Label
{
Layout.fillWidth
:
true
text
:
"
Module Directory:
"
}
TextInputField
{
Layout.fillWidth
:
true
text
:
Settings
.
moduleDirPath
onAccepted
:
Settings
.
moduleDirPath
=
text
;
MouseArea
{
anchors.fill
:
parent
onClicked
:
{
fileDialog
.
folder
=
Settings
.
moduleDirPath
;
fileDialog
.
open
();
fileDialog
.
addSelection
(
Settings
.
moduleDirPath
);
fileDialog
.
callback
=
function
(
file
){
console
.
log
(
file
);
Settings
.
moduleDirPath
=
file
;
};
}
}
}
Label
{
Layout.fillWidth
:
true
text
:
"
Compiler Flags:
"
}
TextInputField
{
Layout.fillWidth
:
true
text
:
Settings
.
compilerFlags
onAccepted
:
Settings
.
compilerFlags
=
text
;
}
Label
{
Layout.fillWidth
:
true
text
:
"
Compiler Library Flags:
"
}
TextInputField
{
Layout.fillWidth
:
true
text
:
Settings
.
compilerLibraryFlags
onAccepted
:
Settings
.
compilerLibraryFlags
=
text
;
}
}
}
FileDialog
{
FileDialog
{
property
var
callback
;
property
var
callback
;
...
...
main.cpp
View file @
ea18ad76
...
@@ -36,9 +36,9 @@
...
@@ -36,9 +36,9 @@
int
main
(
int
argc
,
char
*
argv
[])
int
main
(
int
argc
,
char
*
argv
[])
{
{
Test
::
TestModulSystem
testModulSystem
;
/*
Test::TestModulSystem testModulSystem;
testModulSystem.runTest();
testModulSystem.runTest();
return
0
;
return 0;
*/
class
CatchingErrorApplication
:
public
QGuiApplication
{
class
CatchingErrorApplication
:
public
QGuiApplication
{
public:
public:
...
@@ -121,6 +121,9 @@ int main(int argc, char *argv[])
...
@@ -121,6 +121,9 @@ int main(int argc, char *argv[])
Driver
::
getCurrentDriver
()
->
setWaitTime
(
std
::
chrono
::
milliseconds
(
settings
.
getUpdatePauseInMs
()));
Driver
::
getCurrentDriver
()
->
setWaitTime
(
std
::
chrono
::
milliseconds
(
settings
.
getUpdatePauseInMs
()));
}
}
});
});
settings
.
connect
(
&
settings
,
&
Settings
::
moduleDirPathChanged
,[
&
](){
Modules
::
ModuleManager
::
singletone
()
->
loadAllModulesInDir
(
settings
.
getModuleDirPath
());
});
engine
.
rootContext
()
->
setContextProperty
(
"ModelManager"
,
new
ModelManager
());
engine
.
rootContext
()
->
setContextProperty
(
"ModelManager"
,
new
ModelManager
());
...
...
programms/compiler.h
View file @
ea18ad76
...
@@ -6,6 +6,7 @@ namespace Modules {
...
@@ -6,6 +6,7 @@ namespace Modules {
class
Compiler
class
Compiler
{
{
public:
static
QString
compilerCmd
;
static
QString
compilerCmd
;
static
QString
compilerLibraryFlags
;
static
QString
compilerLibraryFlags
;
static
QString
compilerFlags
;
static
QString
compilerFlags
;
...
...
programms/modulemanager.cpp
View file @
ea18ad76
...
@@ -42,8 +42,14 @@ typedef Modules::Programm* (*CreateProgramm)(unsigned int index);
...
@@ -42,8 +42,14 @@ typedef Modules::Programm* (*CreateProgramm)(unsigned int index);
void
ModuleManager
::
loadAllModulesInDir
(
QDir
dir
){
void
ModuleManager
::
loadAllModulesInDir
(
QDir
dir
){
for
(
auto
s
:
dir
.
entryList
(
QDir
::
Files
)){
for
(
auto
s
:
dir
.
entryList
(
QDir
::
Files
)){
#ifdef Q_OS_WIN
if
(
s
.
endsWith
(
".dll"
))
#endif
loadModule
(
s
);
loadModule
(
s
);
}
}
for
(
auto
s
:
dir
.
entryList
(
QDir
::
Dirs
)){
loadAllModulesInDir
(
s
);
}
}
}
}
}
settings.h
View file @
ea18ad76
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
#include <QObject>
#include <QObject>
#include <QSettings>
#include <QSettings>
#include <QFile>
#include <QFile>
#include "programms/compiler.h"
class
Settings
:
public
QObject
class
Settings
:
public
QObject
{
{
...
@@ -11,6 +12,10 @@ class Settings : public QObject
...
@@ -11,6 +12,10 @@ class Settings : public QObject
QSettings
settings
;
QSettings
settings
;
Q_PROPERTY
(
QString
jsonSettingsFilePath
READ
getJsonSettingsFilePath
WRITE
setJsonSettingsFilePath
NOTIFY
jsonSettingsFilePathChanged
)
Q_PROPERTY
(
QString
jsonSettingsFilePath
READ
getJsonSettingsFilePath
WRITE
setJsonSettingsFilePath
NOTIFY
jsonSettingsFilePathChanged
)
Q_PROPERTY
(
QString
driverFilePath
READ
getDriverFilePath
WRITE
setDriverFilePath
NOTIFY
driverFilePathChanged
)
Q_PROPERTY
(
QString
driverFilePath
READ
getDriverFilePath
WRITE
setDriverFilePath
NOTIFY
driverFilePathChanged
)
Q_PROPERTY
(
QString
moduleDirPath
READ
getModuleDirPath
WRITE
setModuleDirPath
NOTIFY
moduleDirPathChanged
)
Q_PROPERTY
(
QString
compilerPath
READ
getCompilerPath
WRITE
setCompilerPath
NOTIFY
compilerPathChanged
)
Q_PROPERTY
(
QString
compilerFlags
READ
getCompilerFlags
WRITE
setCompilerFlags
NOTIFY
compilerFlagsChanged
)
Q_PROPERTY
(
QString
compilerLibraryFlags
READ
getCompilerLibraryFlags
WRITE
setCompilerLibraryFlags
NOTIFY
compilerLibraryFlagsChanged
)
Q_PROPERTY
(
unsigned
int
updatePauseInMs
READ
getUpdatePauseInMs
WRITE
setUpdatePauseInMs
NOTIFY
updatePauseInMsChanged
)
Q_PROPERTY
(
unsigned
int
updatePauseInMs
READ
getUpdatePauseInMs
WRITE
setUpdatePauseInMs
NOTIFY
updatePauseInMsChanged
)
public:
public:
explicit
Settings
(
QObject
*
parent
=
nullptr
);
explicit
Settings
(
QObject
*
parent
=
nullptr
);
...
@@ -20,10 +25,49 @@ public:
...
@@ -20,10 +25,49 @@ public:
QString
getDriverFilePath
()
const
{
return
settings
.
value
(
"driverFilePath"
).
toString
();}
QString
getDriverFilePath
()
const
{
return
settings
.
value
(
"driverFilePath"
).
toString
();}
void
setUpdatePauseInMs
(
unsigned
int
pause
){
settings
.
setValue
(
"updatePauseInMs"
,
pause
);
emit
updatePauseInMsChanged
();}
void
setUpdatePauseInMs
(
unsigned
int
pause
){
settings
.
setValue
(
"updatePauseInMs"
,
pause
);
emit
updatePauseInMsChanged
();}
unsigned
int
getUpdatePauseInMs
()
const
{
return
settings
.
value
(
"updatePauseInMs"
).
toUInt
();}
unsigned
int
getUpdatePauseInMs
()
const
{
return
settings
.
value
(
"updatePauseInMs"
).
toUInt
();}
void
setModuleDirPath
(
const
QString
_moduleDirPath
){
if
(
!
QFile
::
exists
(
_moduleDirPath
))
return
;
settings
.
setValue
(
"moduleDirPath"
,
_moduleDirPath
);
emit
moduleDirPathChanged
();
}
QString
getModuleDirPath
()
const
{
return
settings
.
value
(
"moduleDirPath"
).
toString
();
}
void
setCompilerPath
(
const
QString
_compilerPath
){
if
(
_compilerPath
!=
Modules
::
Compiler
::
compilerCmd
){
Modules
::
Compiler
::
compilerCmd
=
_compilerPath
;
emit
compilerPathChanged
();
}
}
QString
getCompilerPath
()
const
{
return
Modules
::
Compiler
::
compilerCmd
;
}
void
setCompilerFlags
(
const
QString
_compilerFlags
){
if
(
_compilerFlags
!=
Modules
::
Compiler
::
compilerFlags
){
Modules
::
Compiler
::
compilerFlags
=
_compilerFlags
;
emit
compilerFlagsChanged
();
}
}
QString
getCompilerFlags
()
const
{
return
Modules
::
Compiler
::
compilerFlags
;
}
void
setCompilerLibraryFlags
(
const
QString
_compilerLibraryFlags
){
if
(
_compilerLibraryFlags
!=
Modules
::
Compiler
::
compilerLibraryFlags
){
Modules
::
Compiler
::
compilerLibraryFlags
=
_compilerLibraryFlags
;
emit
compilerLibraryFlagsChanged
();
}
}
QString
getCompilerLibraryFlags
()
const
{
return
Modules
::
Compiler
::
compilerLibraryFlags
;
}
signals:
signals:
void
jsonSettingsFilePathChanged
();
void
jsonSettingsFilePathChanged
();
void
driverFilePathChanged
();
void
driverFilePathChanged
();
void
updatePauseInMsChanged
();
void
updatePauseInMsChanged
();
void
moduleDirPathChanged
();
void
compilerPathChanged
();
void
compilerFlagsChanged
();
void
compilerLibraryFlagsChanged
();
public
slots
:
public
slots
:
};
};
...
...
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