Skip to content

Commit f16ae71

Browse files
committed
qml: backend wiring for custom datadir functionality
1 parent 2b708f1 commit f16ae71

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

src/qml/components/StorageLocations.qml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,22 @@ ColumnLayout {
2222
ButtonGroup.group: group
2323
text: qsTr("Default")
2424
description: qsTr("Your application directory.")
25-
customDir: optionsModel.getDefaultDataDirString
26-
checked: optionsModel.dataDir === optionsModel.getDefaultDataDirString
25+
checked: true
26+
customDir: updateCustomDir()
27+
function updateCustomDir() {
28+
if (checked) {
29+
optionsModel.dataDir = optionsModel.getDefaultDataDirString;
30+
optionsModel.defaultReset();
31+
return optionsModel.dataDir;
32+
} else {
33+
return "";
34+
}
35+
}
2736
onClicked: {
2837
defaultDirOption.checked = true
38+
customDirOption.checked = false
2939
optionsModel.dataDir = optionsModel.getDefaultDataDirString
40+
optionsModel.defaultReset()
3041
}
3142
}
3243
OptionButton {
@@ -35,9 +46,12 @@ ColumnLayout {
3546
ButtonGroup.group: group
3647
text: qsTr("Custom")
3748
description: qsTr("Choose the directory and storage device.")
38-
customDir: customDirOption.checked ? fileDialog.folder : ""
49+
customDir: customDirOption.checked ? optionsModel.getCustomDataDirString() : ""
3950
checked: optionsModel.dataDir !== optionsModel.getDefaultDataDirString
40-
onClicked: fileDialog.open()
51+
onClicked: {
52+
defaultDirOption.checked = false
53+
fileDialog.open();
54+
}
4155
}
4256
FileDialog {
4357
id: fileDialog
@@ -49,10 +63,8 @@ ColumnLayout {
4963
if (customDataDir !== "") {
5064
optionsModel.setCustomDataDirArgs(customDataDir)
5165
customDirOption.customDir = optionsModel.getCustomDataDirString()
52-
if (optionsModel.dataDir !== optionsModel.getDefaultDataDirString) {
53-
customDirOption.checked = true
54-
defaultDirOption.checked = false
55-
}
66+
customDirOption.checked = true
67+
defaultDirOption.checked = false
5668
}
5769
}
5870
onRejected: {

0 commit comments

Comments
 (0)