Skip to content

Commit c0c685b

Browse files
committed
fixes
1 parent a17118d commit c0c685b

File tree

4 files changed

+41
-16
lines changed

4 files changed

+41
-16
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
*.exe
2-
.exe~
2+
.exe~
3+
./go-excel.exe~

go-excel.exe~

5.13 KB
Binary file not shown.

icon.jpeg

5.93 KB
Loading

main.go

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package main
22

33
import (
4+
"bytes"
5+
"encoding/json"
46
"fmt"
57
"image/color"
8+
"os"
69
"strings"
710

811
// "strings"
@@ -28,8 +31,14 @@ import (
2831
func main() {
2932
myApp := app.New()
3033
myWindow := myApp.NewWindow("Gbedu")
31-
myWindow.Resize(fyne.NewSize(800, 600))
32-
myWindow.Title()
34+
myWindow.Resize(fyne.NewSize(800, 500))
35+
36+
file, _ := os.ReadFile("icon.jpeg")
37+
38+
pic := fyne.NewStaticResource("name", file)
39+
40+
myApp.SetIcon(pic)
41+
myWindow.SetIcon(pic)
3342

3443
var selectedOption string
3544
var hasHeaders bool = false
@@ -45,21 +54,29 @@ func main() {
4554
hasHeaders = checked
4655
})
4756

48-
textArea := widget.NewMultiLineEntry()
57+
textArea := widget.NewEntry()
4958
textArea.MultiLine = true
50-
textArea.Resize(fyne.NewSize(600, 900))
59+
60+
scroll := container.NewVScroll(textArea)
61+
scroll.SetMinSize(fyne.NewSize(200, 400))
5162

5263
showError := func() {
5364
alertContent := container.NewVBox()
5465
dialog.ShowCustom(errorMessage, "OK", alertContent, myWindow)
5566
}
5667

68+
downloadBtn := widget.NewButton("Download JSON", func() {
69+
70+
})
71+
72+
downloadBtn.Disable()
73+
5774
// Create a button to display the selected option
5875
showButton := widget.NewButton("Open file", func() {
5976
dialog.ShowFileOpen(func(reader fyne.URIReadCloser, err error) {
6077
if err == nil && reader != nil {
6178
var fileExt string
62-
filters := []string{".csv", ".xlxs"}
79+
filters := []string{"csv", "xlsx"}
6380
fileExt = reader.URI().Extension()
6481

6582
fileExt = strings.Split(fileExt, ".")[1]
@@ -87,26 +104,32 @@ func main() {
87104
return
88105
}
89106

90-
// if !strings.Contains(selectedOption, fileExt) {
91-
// showError()
92-
// return
93-
// }
94-
95107
var data []byte
96108

97-
switch selectedOption {
109+
switch fileExt {
98110
case "csv":
99111
data = converters.ConvertCSVToJSON(reader.URI().Path(), hasHeaders)
100-
break
101112
case "excel":
102113
data = converters.ConvertExcelToJSON(reader.URI().Path(), hasHeaders)
103-
break
104114
}
105-
textArea.SetText(string(data))
106115

116+
var formattedJSON bytes.Buffer
117+
err := json.Indent(&formattedJSON, []byte(data), "", " ")
118+
if err != nil {
119+
// Handle error
120+
errorMessage = "File selection canceled or error occurred:"
121+
showError()
122+
return
123+
}
124+
125+
textArea.SetText(formattedJSON.String())
126+
fmt.Print(data)
127+
downloadBtn.Enable()
107128
defer reader.Close()
108129

109130
} else {
131+
errorMessage = "File selection canceled or error occurred:"
132+
showError()
110133
fmt.Println("File selection canceled or error occurred:", err)
111134
}
112135
}, myWindow)
@@ -119,7 +142,8 @@ func main() {
119142
content := container.NewVBox(
120143
grid,
121144
showButton,
122-
textArea,
145+
scroll,
146+
downloadBtn,
123147
)
124148

125149
myWindow.SetContent(content)

0 commit comments

Comments
 (0)