diff options
Diffstat (limited to 'ui/aboutdialog.go')
-rw-r--r-- | ui/aboutdialog.go | 52 |
1 files changed, 44 insertions, 8 deletions
diff --git a/ui/aboutdialog.go b/ui/aboutdialog.go index 8109b159..b56389bb 100644 --- a/ui/aboutdialog.go +++ b/ui/aboutdialog.go @@ -20,11 +20,22 @@ import ( var easterEggIndex = -1 func onAbout(owner walk.Form) { + showError(runAboutDialog(owner), owner) +} + +func runAboutDialog(owner walk.Form) error { vbl := walk.NewVBoxLayout() vbl.SetMargins(walk.Margins{80, 20, 80, 20}) vbl.SetSpacing(10) - dlg, _ := walk.NewDialogWithFixedSize(owner) + var disposables walk.Disposables + defer disposables.Treat() + + dlg, err := walk.NewDialogWithFixedSize(owner) + if err != nil { + return err + } + disposables.Add(dlg) dlg.SetTitle("About WireGuard") dlg.SetLayout(vbl) if icon, err := loadLogoIcon(32); err == nil { @@ -34,7 +45,10 @@ func onAbout(owner walk.Form) { font, _ := walk.NewFont("Segoe UI", 9, 0) dlg.SetFont(font) - iv, _ := walk.NewImageView(dlg) + iv, err := walk.NewImageView(dlg) + if err != nil { + return err + } iv.SetCursor(walk.CursorHand()) iv.MouseUp().Attach(func(x, y int, button walk.MouseButton) { if button == walk.LeftButton { @@ -55,34 +69,52 @@ func onAbout(owner walk.Form) { iv.SetImage(logo) } - wgLbl, _ := walk.NewTextLabel(dlg) + wgLbl, err := walk.NewTextLabel(dlg) + if err != nil { + return err + } wgFont, _ := walk.NewFont("Segoe UI", 16, walk.FontBold) wgLbl.SetFont(wgFont) wgLbl.SetTextAlignment(walk.AlignHCenterVNear) wgLbl.SetText("WireGuard") - detailsLbl, _ := walk.NewTextLabel(dlg) + detailsLbl, err := walk.NewTextLabel(dlg) + if err != nil { + return err + } detailsLbl.SetTextAlignment(walk.AlignHCenterVNear) detailsLbl.SetText(fmt.Sprintf("App version: %s\nGo backend version: %s\nGo version: %s\nOperating system: %s\nArchitecture: %s", version.RunningVersion(), device.WireGuardGoVersion, strings.TrimPrefix(runtime.Version(), "go"), version.OsName(), runtime.GOARCH)) - copyrightLbl, _ := walk.NewTextLabel(dlg) + copyrightLbl, err := walk.NewTextLabel(dlg) + if err != nil { + return err + } copyrightFont, _ := walk.NewFont("Segoe UI", 7, 0) copyrightLbl.SetFont(copyrightFont) copyrightLbl.SetTextAlignment(walk.AlignHCenterVNear) copyrightLbl.SetText("Copyright © 2015-2019 Jason A. Donenfeld. All Rights Reserved.") - buttonCP, _ := walk.NewComposite(dlg) + buttonCP, err := walk.NewComposite(dlg) + if err != nil { + return err + } hbl := walk.NewHBoxLayout() hbl.SetMargins(walk.Margins{VNear: 10}) buttonCP.SetLayout(hbl) walk.NewHSpacer(buttonCP) - closePB, _ := walk.NewPushButton(buttonCP) + closePB, err := walk.NewPushButton(buttonCP) + if err != nil { + return err + } closePB.SetAlignment(walk.AlignHCenterVNear) closePB.SetText("Close") closePB.Clicked().Attach(func() { dlg.Accept() }) - donatePB, _ := walk.NewPushButton(buttonCP) + donatePB, err := walk.NewPushButton(buttonCP) + if err != nil { + return err + } donatePB.SetAlignment(walk.AlignHCenterVNear) donatePB.SetText("♥ Donate!") donatePB.Clicked().Attach(func() { @@ -97,5 +129,9 @@ func onAbout(owner walk.Form) { dlg.SetDefaultButton(donatePB) dlg.SetCancelButton(closePB) + disposables.Spare() + dlg.Run() + + return nil } |