From 4744ffac60b9bde27616f34a934f9404bc314efc Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 17 Sep 2026 00:32:04 +0200 Subject: gui: a rendered PDF page per file, and Settings in the top right --- gui/internal/ui/plan.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gui/internal/ui/plan.go') 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 = "" -- cgit v1.3