diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-04-28 12:27:06 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-04-29 08:41:30 +0200 |
commit | e9682162ac908e9b9d81f3378faf8b38d1baa630 (patch) | |
tree | 1c3e6059569376c72336ba09f06e9a5ee5e1e833 /ui/ui.go | |
parent | go.mod: use forked winio with no thirdparty deps (diff) | |
download | wireguard-windows-e9682162ac908e9b9d81f3378faf8b38d1baa630.tar.xz wireguard-windows-e9682162ac908e9b9d81f3378faf8b38d1baa630.zip |
updater: add initial skeleton
Diffstat (limited to '')
-rw-r--r-- | ui/ui.go | 41 |
1 files changed, 34 insertions, 7 deletions
@@ -7,17 +7,17 @@ package ui import ( "fmt" - "runtime" - "runtime/debug" - "github.com/lxn/walk" "golang.zx2c4.com/wireguard/device" "golang.zx2c4.com/wireguard/windows/service" + "golang.zx2c4.com/wireguard/windows/updater" + "golang.zx2c4.com/wireguard/windows/version" + "log" + "runtime" + "runtime/debug" + "time" ) -// #include "../version.h" -import "C" - var iconProvider *IconProvider var shouldQuitManagerWhenExiting = false @@ -50,6 +50,31 @@ func RunUI() { panic(err) } + go func() { + first := true + for { + update, err := updater.CheckForUpdate() + if err == nil && update != nil { + mtw.Synchronize(func() { + mtw.UpdateFound() + tray.UpdateFound() + }) + return + } + if err != nil { + log.Printf("Update checker: %v", err) + if first { + time.Sleep(time.Minute * 4) + first = false + } else { + time.Sleep(time.Minute * 25) + } + } else { + time.Sleep(time.Hour) + } + } + }() + mtw.Run() tray.Dispose() mtw.Dispose() @@ -102,10 +127,12 @@ func onAbout(owner walk.Form) { detailsLbl.SetText(fmt.Sprintf(`App version: %s Go backend version: %s +Golang version: %s %s +%s Copyright © 2015-2019 WireGuard LLC. All Rights Reserved.`, - C.WIREGUARD_WINDOWS_VERSION, device.WireGuardGoVersion)) + version.WireGuardWindowsVersion, device.WireGuardGoVersion, runtime.Version(), runtime.GOARCH, version.OsName())) hbl := walk.NewHBoxLayout() hbl.SetMargins(walk.Margins{VNear: 10}) |