aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/manage_tunnels.go
diff options
context:
space:
mode:
authorAlexander Neumann <alexander.neumann@picos-software.com>2019-04-08 15:33:00 +0200
committerAlexander Neumann <alexander.neumann@picos-software.com>2019-04-23 11:04:59 +0200
commitea53b8bb8b2f60f6ed5c26a720d614ac530eb0af (patch)
tree7c962a0d6aad06aa37c8fa3f537aca7754fa577b /ui/manage_tunnels.go
parentui: replace PrivateKeyEvent with walk.StringEvent (diff)
downloadwireguard-windows-ea53b8bb8b2f60f6ed5c26a720d614ac530eb0af.tar.xz
wireguard-windows-ea53b8bb8b2f60f6ed5c26a720d614ac530eb0af.zip
ui: handle adding and removing of tunnels for tray
Signed-off-by: Alexander Neumann <alexander.neumann@picos-software.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--ui/manage_tunnels.go20
1 files changed, 18 insertions, 2 deletions
diff --git a/ui/manage_tunnels.go b/ui/manage_tunnels.go
index 662de850..4a3985d0 100644
--- a/ui/manage_tunnels.go
+++ b/ui/manage_tunnels.go
@@ -25,8 +25,10 @@ type ManageTunnelsWindow struct {
icon *walk.Icon
- tunnelsView *TunnelsView
- confView *ConfView
+ tunnelsView *TunnelsView
+ confView *ConfView
+ tunnelAddedPublisher walk.StringEventPublisher
+ tunnelDeletedPublisher walk.StringEventPublisher
}
func NewManageTunnelsWindow(icon *walk.Icon) (*ManageTunnelsWindow, error) {
@@ -417,6 +419,8 @@ func (mtw *ManageTunnelsWindow) addTunnel(config *conf.Config) {
}
mtw.confView.SetTunnel(&tunnel)
+
+ mtw.tunnelAddedPublisher.Publish(tunnel.Name)
}
func (mtw *ManageTunnelsWindow) deleteTunnel(tunnel *service.Tunnel) {
@@ -431,6 +435,16 @@ func (mtw *ManageTunnelsWindow) deleteTunnel(tunnel *service.Tunnel) {
break
}
}
+
+ mtw.tunnelDeletedPublisher.Publish(tunnel.Name)
+}
+
+func (mtw *ManageTunnelsWindow) TunnelAdded() *walk.StringEvent {
+ return mtw.tunnelAddedPublisher.Event()
+}
+
+func (mtw *ManageTunnelsWindow) TunnelDeleted() *walk.StringEvent {
+ return mtw.tunnelDeletedPublisher.Event()
}
// Handlers
@@ -474,6 +488,8 @@ func (mtw *ManageTunnelsWindow) onDelete() {
}
mtw.deleteTunnel(currentTunnel)
+
+ mtw.tunnelDeletedPublisher.Publish(currentTunnel.Name)
}
func (mtw *ManageTunnelsWindow) onImport() {