Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Datovka projects
mobile Datovka
Commits
f91b98c0
Commit
f91b98c0
authored
May 12, 2017
by
Martin Straka
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'remove-global-models' into 'develop'
Remove Global Models See merge request
!58
parents
1afa60da
737d6962
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
770 additions
and
508 deletions
+770
-508
qml/pages/PageAccountList.qml
qml/pages/PageAccountList.qml
+37
-9
qml/pages/PageMenuAccount.qml
qml/pages/PageMenuAccount.qml
+8
-3
qml/pages/PageMenuDatovkaSettings.qml
qml/pages/PageMenuDatovkaSettings.qml
+12
-6
qml/pages/PageMenuMessage.qml
qml/pages/PageMenuMessage.qml
+7
-4
qml/pages/PageMenuMessageDetail.qml
qml/pages/PageMenuMessageDetail.qml
+3
-1
qml/pages/PageMenuMessageList.qml
qml/pages/PageMenuMessageList.qml
+3
-2
qml/pages/PageMessageDetail.qml
qml/pages/PageMessageDetail.qml
+5
-3
qml/pages/PageMessageList.qml
qml/pages/PageMessageList.qml
+24
-10
qml/pages/PageMessageSearch.qml
qml/pages/PageMessageSearch.qml
+2
-1
qml/pages/PageSettingsAccount.qml
qml/pages/PageSettingsAccount.qml
+16
-9
qml/pages/PageSettingsGeneral.qml
qml/pages/PageSettingsGeneral.qml
+5
-1
qml/pages/PageSettingsPin.qml
qml/pages/PageSettingsPin.qml
+4
-0
qml/pages/PageSettingsStorage.qml
qml/pages/PageSettingsStorage.qml
+5
-1
qml/pages/PageSettingsSync.qml
qml/pages/PageSettingsSync.qml
+5
-1
src/accounts.cpp
src/accounts.cpp
+87
-100
src/accounts.h
src/accounts.h
+31
-16
src/main.cpp
src/main.cpp
+10
-13
src/messages.cpp
src/messages.cpp
+101
-99
src/messages.h
src/messages.h
+20
-13
src/models/accountmodel.cpp
src/models/accountmodel.cpp
+27
-5
src/models/accountmodel.h
src/models/accountmodel.h
+43
-16
src/models/messagemodel.cpp
src/models/messagemodel.cpp
+0
-2
src/models/messagemodel.h
src/models/messagemodel.h
+0
-2
src/net/db_wrapper.cpp
src/net/db_wrapper.cpp
+15
-31
src/net/db_wrapper.h
src/net/db_wrapper.h
+0
-2
src/net/isds_wrapper.cpp
src/net/isds_wrapper.cpp
+159
-85
src/net/isds_wrapper.h
src/net/isds_wrapper.h
+48
-13
src/settings.cpp
src/settings.cpp
+5
-20
src/settings.h
src/settings.h
+9
-17
src/setwrapper.cpp
src/setwrapper.cpp
+32
-12
src/setwrapper.h
src/setwrapper.h
+36
-5
src/sqlite/message_db.cpp
src/sqlite/message_db.cpp
+8
-3
src/sqlite/message_db.h
src/sqlite/message_db.h
+3
-3
No files found.
qml/pages/PageAccountList.qml
View file @
f91b98c0
...
...
@@ -28,6 +28,7 @@ import QtQuick.Layouts 1.2
import
QtQuick
.
Dialogs
1.2
import
QtGraphicalEffects
1.0
import
cz
.
nic
.
mobileDatovka
.
messages
1.0
import
cz
.
nic
.
mobileDatovka
.
models
1.0
/*
* Roles are defined in AccountListModel::roleNames() and are accessed directly
...
...
@@ -56,6 +57,22 @@ Component {
syncAllButton
.
enabled
=
false
}
}
/*
* The account list model is created by C++ code because the accounts
* need to be set up and saved from within the main function.
* But, the account model is explicitly passed to other QML pages just
* to maintain consistency with other models and to emphasise the fact
* that the pages need to access the model.
*/
//AccountListModel {
// id: mainAccountModel
//
// Component.onCompleted: {
// }
//}
property
var
accountModel
:
mainAccountModel
/* Cannot use an alias here. */
Rectangle
{
id
:
datovkaHeader
anchors.top
:
parent
.
top
...
...
@@ -92,8 +109,11 @@ Component {
MouseArea
{
anchors.fill
:
parent
onClicked
:
{
statusBarText
.
text
=
""
isds
.
syncAllAccounts
()
statusBarText
.
text
=
""
if
(
isds
.
syncAllAccounts
(
accountModel
))
{
settings
.
setLastUpdateToNow
()
settings
.
saveAllSettings
(
accountModel
)
}
}
}
}
...
...
@@ -107,7 +127,8 @@ Component {
onClicked
:
{
pageView
.
push
(
pageMenuDatovkaSettings
,
{
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
"
statusBar
"
:
statusBar
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
}
...
...
@@ -128,7 +149,8 @@ Component {
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
,
"
acntName
"
:
""
,
"
userName
"
:
""
"
userName
"
:
""
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
}
...
...
@@ -143,7 +165,7 @@ Component {
visible
:
true
width
:
parent
.
width
interactive
:
true
model
:
account
List
Model
model
:
accountModel
onCountChanged
:
{
if
(
accountList
.
count
==
0
)
{
accountList
.
visible
=
false
...
...
@@ -225,7 +247,8 @@ Component {
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
,
"
acntName
"
:
rAcntName
,
"
userName
"
:
rUserName
"
userName
"
:
rUserName
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
}
...
...
@@ -240,7 +263,10 @@ Component {
MouseArea
{
anchors.fill
:
parent
onClicked
:
{
isds
.
syncOneAccount
(
rUserName
)
if
(
isds
.
syncOneAccount
(
accountModel
,
rUserName
))
{
settings
.
setLastUpdateToNow
()
settings
.
saveAllSettings
(
accountModel
)
}
}
}
}
...
...
@@ -313,7 +339,8 @@ Component {
"
statusBar
"
:
statusBar
,
"
acntName
"
:
rAcntName
,
"
userName
"
:
rUserName
,
"
msgType
"
:
MessageType
.
TYPE_RECEIVED
"
msgType
"
:
MessageType
.
TYPE_RECEIVED
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
}
...
...
@@ -381,7 +408,8 @@ Component {
"
statusBar
"
:
statusBar
,
"
acntName
"
:
rAcntName
,
"
userName
"
:
rUserName
,
"
msgType
"
:
MessageType
.
TYPE_SENT
"
msgType
"
:
MessageType
.
TYPE_SENT
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
}
...
...
qml/pages/PageMenuAccount.qml
View file @
f91b98c0
...
...
@@ -39,6 +39,7 @@ Component {
property
var
statusBar
property
string
acntName
property
string
userName
property
var
accountModel
:
null
property
int
myWidht
:
mainLayout
.
width
-
2
*
defaultMargin
...
...
@@ -151,7 +152,8 @@ Component {
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
,
"
acntName
"
:
acntName
,
"
userName
"
:
userName
"
userName
"
:
userName
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
else
if
(
index
==
1
)
{
pageView
.
replace
(
pageAccountDetail
,
{
...
...
@@ -163,9 +165,12 @@ Component {
}
else
if
(
index
==
2
)
{
files
.
deleteFileDb
(
userName
)
}
else
if
(
index
==
3
)
{
isds
.
changePassword
(
userName
,
acntName
)
if
(
isds
.
changePassword
(
userName
,
acntName
))
{
settings
.
saveAllSettings
(
accountModel
)
}
}
else
if
(
index
==
4
)
{
if
(
accounts
.
removeAccount
(
userName
,
true
))
{
if
(
accounts
.
removeAccount
(
accountModel
,
userName
,
true
))
{
settings
.
saveAllSettings
(
accountModel
)
pageView
.
pop
(
StackView
.
Immediate
)
}
}
else
{
...
...
qml/pages/PageMenuDatovkaSettings.qml
View file @
f91b98c0
...
...
@@ -30,13 +30,14 @@ import QtGraphicalEffects 1.0
import
cz
.
nic
.
mobileDatovka
1.0
Component
{
id
:
menuDatovka
main
Settings
id
:
menuDatovkaSettings
Item
{
id
:
mainLayout
/* These properties must be set by caller. */
property
var
pageView
property
var
statusBar
property
var
accountModel
:
null
property
int
myWidht
:
mainLayout
.
width
-
2
*
defaultMargin
...
...
@@ -153,27 +154,32 @@ Component {
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
,
"
acntName
"
:
""
,
"
userName
"
:
""
"
userName
"
:
""
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
else
if
(
index
==
2
)
{
pageView
.
replace
(
pageSettingsGeneral
,
{
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
"
statusBar
"
:
statusBar
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
else
if
(
index
==
3
)
{
pageView
.
replace
(
pageSettingsSync
,
{
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
"
statusBar
"
:
statusBar
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
else
if
(
index
==
4
)
{
pageView
.
replace
(
pageSettingsStorage
,
{
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
"
statusBar
"
:
statusBar
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
else
if
(
index
==
5
)
{
pageView
.
replace
(
pageSettingsPin
,
{
"
pageView
"
:
pageView
,
"
statusBar
"
:
statusBar
"
statusBar
"
:
statusBar
,
"
accountModel
"
:
accountModel
},
StackView
.
Immediate
)
}
else
if
(
index
==
6
)
{
pageView
.
replace
(
pageMessageSearch
,
{
...
...
qml/pages/PageMenuMessage.qml
View file @
f91b98c0
...
...
@@ -29,6 +29,7 @@ import QtQuick.Dialogs 1.2
import
QtGraphicalEffects
1.0
import
cz
.
nic
.
mobileDatovka
1.0
import
cz
.
nic
.
mobileDatovka
.
messages
1.0
import
cz
.
nic
.
mobileDatovka
.
models
1.0
Component
{
id
:
menuMessage
...
...
@@ -43,6 +44,8 @@ Component {
property
int
msgType
property
string
msgId
property
bool
canDeleteMsg
property
var
accountModel
:
null
property
var
messageModel
:
null
property
int
myWidht
:
mainLayout
.
width
-
2
*
defaultMargin
Component.onCompleted
:
{
...
...
@@ -159,13 +162,13 @@ Component {
anchors.fill
:
parent
onClicked
:
{
if
(
index
==
0
)
{
isds
.
downloadMessage
(
userName
,
msgType
,
msgId
)
isds
.
downloadMessage
(
messageModel
,
userName
,
msgType
,
msgId
)
}
else
if
(
index
==
1
)
{
messages
.
markMessageAsLocallyRead
(
userName
,
msgId
,
true
)
messages
.
markMessageAsLocallyRead
(
messageModel
,
userName
,
msgId
,
true
)
}
else
if
(
index
==
2
)
{
messages
.
markMessageAsLocallyRead
(
userName
,
msgId
,
false
)
messages
.
markMessageAsLocallyRead
(
messageModel
,
userName
,
msgId
,
false
)
}
else
if
(
index
==
3
)
{
messages
.
deleteMessageFromDbs
(
userName
,
msgId
)
messages
.
deleteMessageFromDbs
(
accountModel
,
messageModel
,
userName
,
msgId
)
}
pageView
.
pop
(
StackView
.
Immediate
)
}
...
...
qml/pages/PageMenuMessageDetail.qml
View file @
f91b98c0
...
...
@@ -29,6 +29,7 @@ import QtQuick.Dialogs 1.2
import
QtGraphicalEffects
1.0
import
cz
.
nic
.
mobileDatovka
1.0
import
cz
.
nic
.
mobileDatovka
.
messages
1.0
import
cz
.
nic
.
mobileDatovka
.
models
1.0
Component
{
id
:
menuMessageDetail
...
...
@@ -42,6 +43,7 @@ Component {
property
string
userName
property
int
msgType
property
string
msgId
property
var
messageModel
:
null
property
var
attachmentModel
:
null
/* The QVariant holds actually a pointer to the model. */
property
int
myWidht
:
mainLayout
.
width
-
2
*
defaultMargin
...
...
@@ -151,7 +153,7 @@ Component {
anchors.fill
:
parent
onClicked
:
{
if
(
index
==
0
)
{
isds
.
downloadMessage
(
userName
,
msgType
,
msgId
)
isds
.
downloadMessage
(
messageModel
,
userName
,
msgType
,
msgId
)
}
else
if
(
index
==
1
)
{
files
.
sendAttachmentsWithEmailFromDb
(
userName
,
msgId
)
}
else
if
(
index
==
2
)
{
...
...
qml/pages/PageMenuMessageList.qml
View file @
f91b98c0
...
...
@@ -41,6 +41,7 @@ Component {
property
string
acntName
property
string
userName
property
int
msgType
property
var
messageModel
:
null
property
int
myWidht
:
mainLayout
.
width
-
2
*
defaultMargin
...
...
@@ -137,9 +138,9 @@ Component {
anchors.fill
:
parent
onClicked
:
{
if
(
index
==
0
)
{
messages
.
markMessagesAsLocallyRead
(
userName
,
msgType
,
true
)
messages
.
markMessagesAsLocallyRead
(
messageModel
,
userName
,
msgType
,
true
)
}
else
if
(
index
==
1
)
{
messages
.
markMessagesAsLocallyRead
(
userName
,
msgType
,
false
)
messages
.
markMessagesAsLocallyRead
(
messageModel
,
userName
,
msgType
,
false
)
}
pageView
.
pop
(
StackView
.
Immediate
)
}
...
...
qml/pages/PageMessageDetail.qml
View file @
f91b98c0
...
...
@@ -44,6 +44,7 @@ Component {
property
string
userName
:
""
property
string
msgId
:
""
property
int
msgType
property
var
messageModel
:
null
/* These properties are set from within the page. */
property
string
zfoId
/*Prevents infinite loop that would be caused by setting msgId from within the page. */
...
...
@@ -87,7 +88,7 @@ Component {
}
else
if
(
fromLocalDb
&&
(
userName
.
length
!=
0
)
&&
(
msgId
.
length
!=
0
))
{
zfoId
=
msgId
messages
.
markMessageAsLocallyRead
(
userName
,
msgId
,
true
)
messages
.
markMessageAsLocallyRead
(
messageModel
,
userName
,
msgId
,
true
)
msgDescrHtml
=
messages
.
getMessageDetail
(
userName
,
zfoId
)
attachmentModel
.
setFromDb
(
userName
,
zfoId
)
...
...
@@ -204,7 +205,7 @@ Component {
anchors.fill
:
parent
onClicked
:
{
if
(
fromLocalDb
)
{
isds
.
downloadMessage
(
userName
,
msgType
,
zfoId
)
isds
.
downloadMessage
(
messageModel
,
userName
,
msgType
,
zfoId
)
msgDescrHtml
=
messages
.
getMessageDetail
(
userName
,
zfoId
)
attachmentModel
.
setFromDb
(
userName
,
zfoId
)
emptyList
.
visible
=
(
attachmentList
.
count
==
0
)
...
...
@@ -229,6 +230,7 @@ Component {
"
userName
"
:
userName
,
"
msgType
"
:
msgType
,
"
msgId
"
:
zfoId
,
"
messageModel
"
:
messageModel
,
"
attachmentModel
"
:
attachmentModel
},
StackView
.
Immediate
)
}
...
...
@@ -415,7 +417,7 @@ Component {
if
(
downloadStart
)
{
downloadStart
=
false
if
(
fromLocalDb
)
{
isds
.
downloadMessage
(
userName
,
msgType
,
zfoId
)
isds
.
downloadMessage
(
messageModel
,
userName
,
msgType
,
zfoId
)
msgDescrHtml
=
messages
.
getMessageDetail
(
userName
,
zfoId
)
attachmentModel
.
setFromDb
(
userName
,
zfoId
)
}
...
...
qml/pages/PageMessageList.qml
View file @
f91b98c0
...
...
@@ -45,16 +45,24 @@ Component {
property
string
acntName
property
string
userName
property
int
msgType
property
var
accountModel
:
null
Component.onCompleted
:
{
messages
.
fillMessageList
(
userName
,
msgType
)
messages
.
fillMessageList
(
messageModel
,
userName
,
msgType
)
if
(
messageList
.
count
==
0
)
{
emptyList
.
visible
=
true
/* Don't use visible property as it hides the element. */
settingsButton
.
enabled
=
false
}
proxyMessageModel
.
setSourceModel
(
messageListModel
)
proxyMessageModel
.
setSourceModel
(
messageModel
)
}
MessageListModel
{
id
:
messageModel
Component.onCompleted
:
{
}
}
ListSortFilterProxyModel
{
...
...
@@ -82,8 +90,7 @@ Component {
MouseArea
{
anchors.fill
:
parent
onClicked
:
{
messages
.
clearMessagesModel
()
accounts
.
updateNewMessageCounter
(
userName
)
accounts
.
updateNewMessageCounter
(
accountModel
,
userName
)
statusBar
.
visible
=
false
pageView
.
pop
(
StackView
.
Immediate
)
}
...
...
@@ -124,7 +131,8 @@ Component {
"
statusBar
"
:
statusBar
,
"
acntName
"
:
acntName
,
"
userName
"
:
userName
,
"
msgType
"
:
msgType
"
msgType
"
:
msgType
,
"
messageModel
"
:
messageModel
},
StackView
.
Immediate
)
}
}
...
...
@@ -173,7 +181,8 @@ Component {
"
acntName
"
:
acntName
,
"
userName
"
:
userName
,
"
msgType
"
:
msgType
,
"
msgId
"
:
msgId
"
msgId
"
:
msgId
,
"
messageModel
"
:
messageModel
},
StackView
.
Immediate
)
}
onMsgPressAndHold
:
{
...
...
@@ -185,7 +194,9 @@ Component {
"
userName
"
:
userName
,
"
msgType
"
:
msgType
,
"
msgId
"
:
msgId
,
"
canDeleteMsg
"
:
canDelete
"
canDeleteMsg
"
:
canDelete
,
"
accountModel
"
:
accountModel
,
"
messageModel
"
:
messageModel
},
StackView
.
Immediate
)
}
...
...
@@ -194,11 +205,14 @@ Component {
if
(
downloadStart
)
{
downloadStart
=
false
if
(
msgType
==
MessageType
.
TYPE_RECEIVED
)
{
isds
.
syncSingleAccountReceived
(
userName
)
if
(
isds
.
syncSingleAccountReceived
(
accountModel
,
messageModel
,
userName
))
{
settings
.
setLastUpdateToNow
()
settings
.
saveAllSettings
(
accountModel
)
}
}
else
if
(
msgType
==
MessageType
.
TYPE_SENT
)
{
isds
.
syncSingleAccountSent
(
userName
)
isds
.
syncSingleAccountSent
(
accountModel
,
messageModel
,
userName
)
}
messages
.
fillMessageList
(
userName
,
msgType
)
messages
.
fillMessageList
(
messageModel
,
userName
,
msgType
)
}
}
onDragEnded
:
{
...
...
qml/pages/PageMessageSearch.qml
View file @
f91b98c0
...
...
@@ -178,7 +178,8 @@ Component {
"
acntName
"
:
""
,
"
userName
"
:
userName
,
"
msgType
"
:
msgType
,
"
msgId
"
:
msgId
"
msgId
"
:
msgId
,
"
messageModel
"
:
messageModel
},
StackView
.
Immediate
)
}
}
...
...
qml/pages/PageSettingsAccount.qml
View file @
f91b98c0
...
...
@@ -30,11 +30,14 @@ Component {
id
:
settingsAccount
Item
{
id
:
mainLayout
/* These properties must be set by caller. */
property
var
pageView
property
var
statusBar
property
string
acntName
property
string
userName
property
var
accountModel
:
null
property
bool
isNewAccount
:
(
userName
==
""
)
property
string
sLoginMethod
:
"
pwd
"
Component.onCompleted
:
{
...
...
@@ -312,26 +315,30 @@ Component {
/* TODO - Must be replaced via better solution in the future. */
onSaveAccountResponse
:
{
if
(
isNewAccount
)
{
if
(
accounts
.
createAccount
(
sLoginMethod
,
if
(
accounts
.
createAccount
(
accountModel
,
sLoginMethod
,
accountNameTextField
.
text
.
toString
(),
userNameTextField
.
text
.
toString
(),
passwordTextField
.
text
.
toString
(),
testAccount
.
checked
,
rememberPassword
.
checked
,
useLS
.
checked
,
certPathLabelId
.
text
.
toString
()))
{
if
(
isds
.
getAccountInfo
(
userNameTextField
.
text
.
toString
(),
true
))
{
accounts
.
saveAccountToSettings
(
)
settings
.
saveAllSettings
(
accountModel
)
pageView
.
pop
(
StackView
.
Immediate
)
}
else
{
accounts
.
removeAccount
(
userNameTextField
.
text
.
toString
(),
false
)
if
(
accounts
.
removeAccount
(
accountModel
,
userNameTextField
.
text
.
toString
(),
false
))
{
settings
.
saveAllSettings
(
accountModel
)
}
}
}
}
else
{
accounts
.
updateAccount
(
sLoginMethod
,
accountNameTextField
.
text
.
toString
(),
userNameTextField
.
text
.
toString
(),
passwordTextField
.
text
.
toString
(),
testAccount
.
checked
,
rememberPassword
.
checked
,
useLS
.
checked
,
certPathLabelId
.
text
.
toString
())
if
(
accounts
.
updateAccount
(
accountModel
,
sLoginMethod
,
accountNameTextField
.
text
.
toString
(),
userNameTextField
.
text
.
toString
(),
passwordTextField
.
text
.
toString
(),
testAccount
.
checked
,
rememberPassword
.
checked
,
useLS
.
checked
,
certPathLabelId
.
text
.
toString
()))
{
settings
.
saveAllSettings
(
accountModel
)
}
pageView
.
pop
(
StackView
.
Immediate
)
}
}
...
...
qml/pages/PageSettingsGeneral.qml
View file @
f91b98c0
...
...
@@ -29,9 +29,12 @@ Component {
id
:
settingsGeneral
Item
{
id
:
mainLayout
/* These properties must be set by caller. */
property
var
pageView
property
var
statusBar
property
var
accountModel
:
null
property
string
sectionName
:
"
general
"
property
string
sLang
:
"
cs
"
Component.onCompleted
:
{
...
...
@@ -169,8 +172,9 @@ Component {
target
:
settings
/* TODO - Must be replaced via better solution in the future. */
onSaveSettingsGeneralResponse
:
{
settings
.
updateSettingsGeneral
(
sLang
,
settings
.
updateSettingsGeneral
(
sLang
,
fontSizeSpinBox
.
val
().
toString
())
settings
.
saveAllSettings
(
accountModel
)
pageView
.
pop
(
StackView
.
Immediate
)
}
}
...
...
qml/pages/PageSettingsPin.qml
View file @
f91b98c0
...
...
@@ -33,6 +33,7 @@ Component {
/* These properties must be set by caller. */
property
var
pageView
property
var
statusBar
property
var
accountModel
:
null
Component.onCompleted
:
{
currentPIN
=
settings
.
pinValue
()
...
...
@@ -176,6 +177,7 @@ Component {
}
else
{
errLineText
.
visible
=
false
settings
.
updatePinSettings
(
pinConfirmField1
.
text
.
toString
())
settings
.
saveAllSettings
(
accountModel
)
pageView
.
pop
(
StackView
.
Immediate
)
}
/* change current pin code */
...
...
@@ -197,6 +199,7 @@ Component {
}
else
{
errLineText
.
visible
=
false
settings
.
updatePinSettings
(
pinConfirmField1
.
text
.
toString
())
settings
.
saveAllSettings
(
accountModel
)
pageView
.
pop
(
StackView
.
Immediate
)
}
}
else
{
...
...
@@ -210,6 +213,7 @@ Component {
if
(
pinValueField
.
text
==
currentPIN
)
{
errLineText
.
visible
=
false
settings
.
updatePinSettings
(
""
)
settings
.
saveAllSettings
(
accountModel
)
settings
.
setInactivityInterval
(
0
)
locker
.
setInactivityInterval
(
0
)
pageView
.
pop
(
StackView
.
Immediate
)
...
...
qml/pages/PageSettingsStorage.qml
View file @
f91b98c0
...
...
@@ -29,9 +29,12 @@ Component {
id
:
settingsStorage
Item
{
id
:
mainLayout
/* These properties must be set by caller. */
property
var
pageView
property
var
statusBar
property
var
accountModel
:
null
property
string
sectionName
:
"
storage
"
Component.onCompleted
:
{
settings
.
loadSettings
(
sectionName
)
...
...
@@ -227,10 +230,11 @@ Component {
target
:
settings
/* TODO - Must be replaced via better solution in the future. */
onSaveSettingsStorageResponse
:
{
settings
.
updateSettingsStorage
(
settings
.
updateSettingsStorage
(
messageLifeSpinBox
.
val
().
toString
(),
attachLifeSpinBox
.
val
().
toString
(),
dbPathText
.
text
.
toString
())
settings
.
saveAllSettings
(
accountModel
)
pageView
.
pop
(
StackView
.
Immediate
)
}
}
...
...
qml/pages/PageSettingsSync.qml
View file @
f91b98c0
...
...
@@ -29,9 +29,12 @@ Component {
id
:
settingsSync
Item
{
id
:
mainLayout
/* These properties must be set by caller. */
property
var
pageView
property
var
statusBar
property
var
accountModel
:
null
property
string
sectionName
:
"
sync
"
Component.onCompleted
:
{
settings
.
loadSettings
(
sectionName
)
...
...
@@ -124,9 +127,10 @@ Component {
target
:
settings
/* TODO - Must be replaced via better solution in the future. */
onSaveSettingsSyncResponse
:
{
settings
.
updateSettingsSync
(
settings
.
updateSettingsSync
(
idownloadOnlyNewMsgs
.
checked
,
idownloadCompleteMsgs
.
checked
)
settings
.
saveAllSettings
(
accountModel
)
pageView
.
pop
(
StackView
.
Immediate
)
}
}
...
...
src/accounts.cpp
View file @
f91b98c0
...
...
@@ -21,7 +21,6 @@
* the two.
*/
#include <QDebug>
#include <QSettings>
#include <QUrl>
...
...
@@ -41,35 +40,33 @@ Accounts::Accounts(QObject *parent)
{
}
/* ========================================================================= */
/*
* Slot: Update new message counter.
*/
void
Accounts
::
updateNewMessageCounter
(
const
QString
&
userName
)
/* ========================================================================= */
void
Accounts
::
updateNewMessageCounter
(
const
QVariant
&
acntModelVariant
,
const
QString
&
userName
)
{
qDebug
(
"%s()"
,
__func__
);
MessageDb
*
msgDb
=
NULL
;
msgDb
=
globMessageDbsPtr
->
accessMessageDb
(
globSet
.
dbsLocation
,
userName
,
AccountListModel
*
accountModel
=
AccountListModel
::
fromVariant
(
acntModelVariant
);
if
(
accountModel
==
Q_NULLPTR
)
{