Skip to content

Commit ff17f26

Browse files
committed
The application will update all setting files before quit.
1 parent 313c7f8 commit ff17f26

File tree

3 files changed

+42
-1
lines changed

3 files changed

+42
-1
lines changed

exit.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@ func quitAndSave() {
3434
case <-quitChannel:
3535
// press "*" and "enter"
3636
save()
37+
writeSetting()
3738
quit()
3839
case <-controlC:
3940
// press "control-c"
4041
if strings.Compare(runtime.GOOS, "windows") != 0 {
4142
fmt.Printf("\n\n")
4243
save()
44+
writeSetting()
4345
}
4446
quit()
4547
}
@@ -51,12 +53,14 @@ func quitAndSave() {
5153
case <-quitChannel:
5254
// press "*" and "enter"
5355
save()
56+
writeSetting()
5457
quit()
5558
case <-controlC:
5659
// press "control-c"
5760
if strings.Compare(runtime.GOOS, "windows") != 0 {
5861
fmt.Printf("\n\n")
5962
save()
63+
writeSetting()
6064
}
6165
quit()
6266
}
@@ -70,6 +74,18 @@ func save() {
7074
fmt.Printf(information)
7175
}
7276

77+
func writeSetting() {
78+
var err error
79+
err = mydictionary.Setting.Write()
80+
if err != nil {
81+
fmt.Printf(err.Error() + "\n\n")
82+
}
83+
err = setting.Write()
84+
if err != nil {
85+
fmt.Printf(err.Error() + "\n\n")
86+
}
87+
}
88+
7389
func quit() {
7490
var tm time.Time
7591
tm = time.Now()

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"github.com/zzc-tongji/vocabulary4mydictionary"
1111
)
1212

13-
const version = "v2.0.0"
13+
const version = "v2.1.0"
1414

1515
var (
1616
setting settingStruct

setting.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package main
33
import (
44
"encoding/json"
55
"io/ioutil"
6+
"os"
67

78
"github.com/zzc-tongji/rtoa"
89
)
@@ -45,3 +46,27 @@ func (setting *settingStruct) read() (content string, err error) {
4546
content = string(buf)
4647
return
4748
}
49+
50+
// Write : write setting
51+
func (setting *settingStruct) Write() (err error) {
52+
var (
53+
buf []byte
54+
path string
55+
)
56+
// convert path
57+
path, err = rtoa.Convert("mydictionary-local-cli.setting.json", "")
58+
if err != nil {
59+
return
60+
}
61+
// write
62+
buf, err = json.MarshalIndent(setting, "", "\t")
63+
if err != nil {
64+
return
65+
}
66+
err = os.Remove(path)
67+
if err != nil {
68+
return
69+
}
70+
err = ioutil.WriteFile(path, buf, 0644)
71+
return
72+
}

0 commit comments

Comments
 (0)