diff options
author | Alexander Neumann <alexander.neumann@picos-software.com> | 2019-04-02 18:05:12 +0200 |
---|---|---|
committer | Alexander Neumann <alexander.neumann@picos-software.com> | 2019-04-23 11:04:59 +0200 |
commit | c2d40839465987e9583cb66b2be936b1c3a33de0 (patch) | |
tree | f50af648d6880c0b2a5eb3334edbe41ed9f5d594 /ui/manage_tunnels.go | |
parent | ui: fill in gaps in config editing (diff) | |
download | wireguard-windows-c2d40839465987e9583cb66b2be936b1c3a33de0.tar.xz wireguard-windows-c2d40839465987e9583cb66b2be936b1c3a33de0.zip |
ui: add initial support for [de]activating tunnels
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.go | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/ui/manage_tunnels.go b/ui/manage_tunnels.go index 4568d394..6ab20873 100644 --- a/ui/manage_tunnels.go +++ b/ui/manage_tunnels.go @@ -61,10 +61,16 @@ func (mtw *ManageTunnelsWindow) setup() error { tunnelsContainer, _ := walk.NewComposite(splitter) tunnelsContainer.SetLayout(walk.NewVBoxLayout()) + splitter.SetFixed(tunnelsContainer, true) + mtw.tunnelsView, _ = NewTunnelsView(tunnelsContainer) mtw.tunnelsView.ItemActivated().Attach(mtw.onEditTunnel) mtw.tunnelsView.CurrentIndexChanged().Attach(mtw.updateConfView) + service.IPCClientRegisterTunnelChange(func(tunnel *service.Tunnel, state service.TunnelState, err error) { + mtw.tunnelsView.Invalidate() + }) + // ToolBar actions { // HACK: Because of https://github.com/lxn/walk/issues/481 @@ -168,19 +174,7 @@ func (mtw *ManageTunnelsWindow) updateConfView() { return } - currentTunnel := mtw.tunnelsView.CurrentTunnel() - if currentTunnel == nil { - // TODO: config must be non-nil right now - // mtw.confView.SetConfiguration(nil) - return - } - - config, err := currentTunnel.RuntimeConfig() - if err != nil { - return - } - - mtw.confView.SetConfiguration(&config) + mtw.confView.SetTunnel(mtw.tunnelsView.CurrentTunnel()) } func (mtw *ManageTunnelsWindow) runTunnelEdit(tunnel *service.Tunnel) *conf.Config { @@ -199,7 +193,7 @@ func (mtw *ManageTunnelsWindow) runTunnelEdit(tunnel *service.Tunnel) *conf.Conf } else { title = "Edit tunnel" name = tunnel.Name - config, _ = tunnel.RuntimeConfig() + config, _ = tunnel.StoredConfig() } dlg, _ := walk.NewDialog(mtw) @@ -416,7 +410,7 @@ func (mtw *ManageTunnelsWindow) addTunnel(config *conf.Config) { } } - mtw.confView.SetConfiguration(config) + mtw.confView.SetTunnel(&tunnel) } func (mtw *ManageTunnelsWindow) deleteTunnel(tunnel *service.Tunnel) { |