aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/msgviewer.go
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/msgviewer.go')
-rw-r--r--widgets/msgviewer.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go
index 4d70e93d..70ff5d8f 100644
--- a/widgets/msgviewer.go
+++ b/widgets/msgviewer.go
@@ -392,6 +392,22 @@ func (mv *MessageViewer) Close() error {
return nil
}
+func (mv *MessageViewer) UpdateScreen() {
+ if mv.switcher == nil {
+ return
+ }
+ parts := mv.switcher.parts
+ selected := mv.switcher.selected
+ if selected < 0 {
+ return
+ }
+ if len(parts) > 0 && selected < len(parts) {
+ if part := parts[selected]; part != nil {
+ part.UpdateScreen()
+ }
+ }
+}
+
func (ps *PartSwitcher) Invalidate() {
ps.DoInvalidate(ps)
}
@@ -628,6 +644,12 @@ func (pv *PartViewer) SetSource(reader io.Reader) {
pv.attemptCopy()
}
+func (pv *PartViewer) UpdateScreen() {
+ if pv.term != nil {
+ pv.term.Invalidate()
+ }
+}
+
func (pv *PartViewer) attemptCopy() {
if pv.source == nil || pv.pager == nil || pv.pager.Process == nil {
return