From 317e0df0e466356fd2787aea547e90b3fb1adf08 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 6 May 2019 18:13:51 +0200 Subject: ui: move things out of iconprovider Signed-off-by: Jason A. Donenfeld --- ui/listview.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'ui/listview.go') diff --git a/ui/listview.go b/ui/listview.go index 2e9ee3a7..814a799b 100644 --- a/ui/listview.go +++ b/ui/listview.go @@ -122,10 +122,22 @@ func (tv *ListView) StyleCell(style *walk.CellStyle) { b.Width -= b.Height canvas.DrawText(tunnel.Name, tv.Font(), 0, b, walk.TextVCenter|walk.TextSingleLine) - b.X = 0 + //TODO: don't make an IPC call from the drawing thread like this! + state, err := tunnel.State() + if err != nil { + return + } + margin := tv.DPI() / 48 //TODO: Do some sort of dynamic DPI calculation here + b.X = margin + b.Y += margin + b.Height -= margin * 2 b.Width = b.Height - - iconProvider.PaintForTunnel(tunnel, canvas, b) + icon, err := iconProvider.IconForState(state) + if err != nil { + return + } + canvas.DrawImageStretched(icon, b) + icon.Dispose() } func (tv *ListView) CurrentTunnel() *service.Tunnel { -- cgit v1.2.3-59-g8ed1b