blob: f1baba4ba24e01cffcc5be84fb0ed99fc7c3e291 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
package main
import (
"crypto/sha256"
"encoding/hex"
"fmt"
"log"
"os"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
myApp := app.NewWithID("org.buetow.quicklogger")
myWindow := myApp.NewWindow("Quick logger")
storageDir := fyne.CurrentApp().Storage().RootURI().Path()
label := widget.NewLabel(storageDir)
input := widget.NewMultiLineEntry()
input.SetPlaceHolder("Enter text here.")
button := widget.NewButton("Log text", func() {
content := input.Text
filename := fmt.Sprintf("%s/quicklog-%s.txt", storageDir, getSHA256Hash(content))
err := os.WriteFile(filename, []byte(content), 0644)
if err != nil {
log.Println("Error writing to file:", err)
input.SetText(err.Error())
} else {
input.SetText("")
}
})
myWindow.SetContent(container.NewVBox(
label,
input,
button,
))
myWindow.Resize(fyne.NewSize(200, 100))
myWindow.ShowAndRun()
}
func getSHA256Hash(text string) string {
hasher := sha256.New()
hasher.Write([]byte(text))
return hex.EncodeToString(hasher.Sum(nil))
}
|