diff options
Diffstat (limited to 'gui/internal/ui/plan.go')
| -rw-r--r-- | gui/internal/ui/plan.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gui/internal/ui/plan.go b/gui/internal/ui/plan.go index 97d8599..f4ecb91 100644 --- a/gui/internal/ui/plan.go +++ b/gui/internal/ui/plan.go @@ -45,6 +45,7 @@ type planView struct { previewScroll *gtk.ScrolledWindow previewTmp string previewFor string + renderedDir string previewOff bool startSelected bool menu *gtk.Popover @@ -573,9 +574,16 @@ func (p *planView) showPreview(rel string) { p.picture.SetFilename(pv.Image) p.picture.SetVisible(true) p.pictureFrame.SetVisible(true) + // The picture is loaded, so the page rendered for the row + // before it can go. + p.dropRendered() + p.renderedDir = pv.Dir case model.PreviewText: p.previewText.Buffer().SetText(escapeText(pv.Text)) p.previewScroll.SetVisible(true) + p.dropRendered() + default: + p.dropRendered() } }) } @@ -593,8 +601,17 @@ func (p *planView) applyPrefs(prefs model.Prefs) { } } +// dropRendered removes the page rendered for the previous row. +func (p *planView) dropRendered() { + if p.renderedDir != "" { + os.RemoveAll(p.renderedDir) + p.renderedDir = "" + } +} + // closePreview removes what the previews left behind. func (p *planView) closePreview() { + p.dropRendered() if p.previewTmp != "" { os.RemoveAll(p.previewTmp) p.previewTmp = "" |
