Compare commits
2 Commits
70d51aef47
...
63bb323ac3
| Author | SHA1 | Date | |
|---|---|---|---|
| 63bb323ac3 | |||
| e7054741a0 |
107
gtk-signin.go
Normal file
107
gtk-signin.go
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
|
||||||
|
"os"
|
||||||
|
"bytes"
|
||||||
|
|
||||||
|
"github.com/diamondburned/gotk4/pkg/gio/v2"
|
||||||
|
"github.com/diamondburned/gotk4/pkg/gtk/v4"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/BurntSushi/toml"
|
||||||
|
|
||||||
|
_ "embed"
|
||||||
|
)
|
||||||
|
|
||||||
|
func dropToSignInPage(err error) {
|
||||||
|
app := gtk.NewApplication("net.sunglocto.lambda.login", gio.ApplicationFlagsNone)
|
||||||
|
app.ConnectActivate(func() {
|
||||||
|
form_box := gtk.NewBox(gtk.OrientationVertical, 0)
|
||||||
|
|
||||||
|
server_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
||||||
|
username_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
||||||
|
password_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
||||||
|
nickname_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
||||||
|
insecure_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
||||||
|
|
||||||
|
server_label := gtk.NewLabel("Server: ")
|
||||||
|
username_label := gtk.NewLabel("Username: ")
|
||||||
|
password_label := gtk.NewLabel("Password: ")
|
||||||
|
nickname_label := gtk.NewLabel("Nickname: ")
|
||||||
|
insecure_label := gtk.NewLabel("Insecure: ")
|
||||||
|
|
||||||
|
server_entry := gtk.NewEntry()
|
||||||
|
server_entry.SetHAlign(gtk.AlignEnd)
|
||||||
|
|
||||||
|
username_entry := gtk.NewEntry()
|
||||||
|
username_entry.SetHAlign(gtk.AlignEnd)
|
||||||
|
|
||||||
|
password_entry := gtk.NewPasswordEntry()
|
||||||
|
password_entry.SetHAlign(gtk.AlignEnd)
|
||||||
|
|
||||||
|
nickname_entry := gtk.NewEntry()
|
||||||
|
nickname_entry.SetHAlign(gtk.AlignEnd)
|
||||||
|
|
||||||
|
insecure_check := gtk.NewCheckButton()
|
||||||
|
insecure_check.SetHAlign(gtk.AlignEnd)
|
||||||
|
|
||||||
|
|
||||||
|
server_box.Append(server_label)
|
||||||
|
server_box.Append(server_entry)
|
||||||
|
|
||||||
|
username_box.Append(username_label)
|
||||||
|
username_box.Append(username_entry)
|
||||||
|
|
||||||
|
password_box.Append(password_label)
|
||||||
|
password_box.Append(password_entry)
|
||||||
|
|
||||||
|
nickname_box.Append(nickname_label)
|
||||||
|
nickname_box.Append(nickname_entry)
|
||||||
|
|
||||||
|
insecure_box.Append(insecure_label)
|
||||||
|
insecure_box.Append(insecure_check)
|
||||||
|
|
||||||
|
form_box.Append(server_box)
|
||||||
|
form_box.Append(username_box)
|
||||||
|
form_box.Append(password_box)
|
||||||
|
form_box.Append(nickname_box)
|
||||||
|
form_box.Append(insecure_box)
|
||||||
|
|
||||||
|
sumbit_btn := gtk.NewButtonWithLabel("Submit")
|
||||||
|
sumbit_btn.ConnectClicked(func() {
|
||||||
|
conf := new(lambdaConfig)
|
||||||
|
conf.Server = server_entry.Text()
|
||||||
|
conf.Username = username_entry.Text()
|
||||||
|
conf.Password = password_entry.Text()
|
||||||
|
conf.Nick = nickname_entry.Text()
|
||||||
|
conf.Insecure = insecure_check.Active()
|
||||||
|
|
||||||
|
var b bytes.Buffer
|
||||||
|
e := toml.NewEncoder(&b)
|
||||||
|
e.Encode(conf)
|
||||||
|
|
||||||
|
p, err := ensureConfig()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
os.WriteFile(filepath.Join(p, "lambda.toml"), b.Bytes(), 0644)
|
||||||
|
|
||||||
|
|
||||||
|
window.SetVisible(false)
|
||||||
|
main()
|
||||||
|
os.Exit(0)
|
||||||
|
})
|
||||||
|
|
||||||
|
form_box.Append(sumbit_btn)
|
||||||
|
|
||||||
|
window = gtk.NewApplicationWindow(app)
|
||||||
|
window.SetChild(form_box)
|
||||||
|
window.SetResizable(false)
|
||||||
|
window.SetVisible(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
if code := app.Run(os.Args); code == 0 {
|
||||||
|
os.Exit(code)
|
||||||
|
}
|
||||||
|
}
|
||||||
95
main.go
95
main.go
@@ -3,7 +3,6 @@ package main
|
|||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
"bytes"
|
|
||||||
|
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -68,97 +67,13 @@ func init() {
|
|||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
func dropToSignInPage(err error) {
|
|
||||||
app := gtk.NewApplication("net.sunglocto.lambda.login", gio.ApplicationFlagsNone)
|
|
||||||
app.ConnectActivate(func() {
|
|
||||||
form_box := gtk.NewBox(gtk.OrientationVertical, 0)
|
|
||||||
|
|
||||||
server_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
|
||||||
username_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
|
||||||
password_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
|
||||||
nickname_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
|
||||||
insecure_box := gtk.NewBox(gtk.OrientationHorizontal, 0)
|
|
||||||
|
|
||||||
server_label := gtk.NewLabel("Server: ")
|
|
||||||
username_label := gtk.NewLabel("Username: ")
|
|
||||||
password_label := gtk.NewLabel("Password: ")
|
|
||||||
nickname_label := gtk.NewLabel("Nickname: ")
|
|
||||||
insecure_label := gtk.NewLabel("Insecure: ")
|
|
||||||
|
|
||||||
server_entry := gtk.NewEntry()
|
|
||||||
server_entry.SetHAlign(gtk.AlignEnd)
|
|
||||||
|
|
||||||
username_entry := gtk.NewEntry()
|
|
||||||
username_entry.SetHAlign(gtk.AlignEnd)
|
|
||||||
|
|
||||||
password_entry := gtk.NewPasswordEntry()
|
|
||||||
password_entry.SetHAlign(gtk.AlignEnd)
|
|
||||||
|
|
||||||
nickname_entry := gtk.NewEntry()
|
|
||||||
nickname_entry.SetHAlign(gtk.AlignEnd)
|
|
||||||
|
|
||||||
insecure_check := gtk.NewCheckButton()
|
|
||||||
insecure_check.SetHAlign(gtk.AlignEnd)
|
|
||||||
|
|
||||||
|
|
||||||
server_box.Append(server_label)
|
|
||||||
server_box.Append(server_entry)
|
|
||||||
|
|
||||||
username_box.Append(username_label)
|
|
||||||
username_box.Append(username_entry)
|
|
||||||
|
|
||||||
password_box.Append(password_label)
|
|
||||||
password_box.Append(password_entry)
|
|
||||||
|
|
||||||
nickname_box.Append(nickname_label)
|
|
||||||
nickname_box.Append(nickname_entry)
|
|
||||||
|
|
||||||
insecure_box.Append(insecure_label)
|
|
||||||
insecure_box.Append(insecure_check)
|
|
||||||
|
|
||||||
form_box.Append(server_box)
|
|
||||||
form_box.Append(username_box)
|
|
||||||
form_box.Append(password_box)
|
|
||||||
form_box.Append(nickname_box)
|
|
||||||
form_box.Append(insecure_box)
|
|
||||||
|
|
||||||
sumbit_btn := gtk.NewButtonWithLabel("Submit")
|
|
||||||
sumbit_btn.ConnectClicked(func() {
|
|
||||||
conf := new(lambdaConfig)
|
|
||||||
conf.Server = server_entry.Text()
|
|
||||||
conf.Username = username_entry.Text()
|
|
||||||
conf.Password = password_entry.Text()
|
|
||||||
conf.Nick = nickname_entry.Text()
|
|
||||||
conf.Insecure = insecure_check.Active()
|
|
||||||
|
|
||||||
var b bytes.Buffer
|
|
||||||
e := toml.NewEncoder(&b)
|
|
||||||
e.Encode(conf)
|
|
||||||
|
|
||||||
p, _ := ensureConfig()
|
|
||||||
os.WriteFile(filepath.Join(p, "lambda.toml"), b.Bytes(), 0644)
|
|
||||||
|
|
||||||
|
|
||||||
window.SetVisible(false)
|
|
||||||
main()
|
|
||||||
os.Exit(0)
|
|
||||||
})
|
|
||||||
|
|
||||||
form_box.Append(sumbit_btn)
|
|
||||||
|
|
||||||
window = gtk.NewApplicationWindow(app)
|
|
||||||
window.SetChild(form_box)
|
|
||||||
window.SetResizable(false)
|
|
||||||
window.SetVisible(true)
|
|
||||||
})
|
|
||||||
|
|
||||||
if code := app.Run(os.Args); code == 0 {
|
|
||||||
os.Exit(code)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
p, _ := ensureConfig()
|
p, err := ensureConfig()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
b, err := os.ReadFile(filepath.Join(p, "lambda.toml"))
|
b, err := os.ReadFile(filepath.Join(p, "lambda.toml"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
dropToSignInPage(err)
|
dropToSignInPage(err)
|
||||||
|
|||||||
Reference in New Issue
Block a user