aboutsummaryrefslogtreecommitdiff
path: root/widgets
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-07-05 12:21:12 -0400
committerDrew DeVault <sir@cmpwn.com>2019-07-05 12:21:12 -0400
commit363aab5cc19135599cae93f6c9c7abcd23c111c9 (patch)
tree80cfeaf367bd1ac3077ec9dfb549a9dfc3b1f62f /widgets
parentf9f523ad59491eda08003ce2ccc6d57d7f19ea1e (diff)
Make :pipe command more generic
Diffstat (limited to 'widgets')
-rw-r--r--widgets/account.go8
-rw-r--r--widgets/msgviewer.go9
-rw-r--r--widgets/providesmessage.go12
3 files changed, 18 insertions, 11 deletions
diff --git a/widgets/account.go b/widgets/account.go
index 824f958..0948c5c 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -165,12 +165,16 @@ func (acct *AccountView) Store() *lib.MessageStore {
return acct.msglist.Store()
}
+func (acct *AccountView) SelectedAccount() *AccountView {
+ return acct
+}
+
func (acct *AccountView) SelectedMessage() *types.MessageInfo {
return acct.msglist.Selected()
}
-func (acct *AccountView) SelectedAccount() *AccountView {
- return acct
+func (acct *AccountView) SelectedMessagePart() *PartInfo {
+ return nil
}
func (acct *AccountView) onMessage(msg types.WorkerMessage) {
diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go
index 10c2182..b0ae79e 100644
--- a/widgets/msgviewer.go
+++ b/widgets/msgviewer.go
@@ -227,7 +227,7 @@ func (mv *MessageViewer) ToggleHeaders() {
switcher.Invalidate()
}
-func (mv *MessageViewer) CurrentPart() *PartInfo {
+func (mv *MessageViewer) SelectedMessagePart() *PartInfo {
switcher := mv.switcher
part := switcher.parts[switcher.selected]
@@ -332,13 +332,6 @@ type PartViewer struct {
term *Terminal
}
-type PartInfo struct {
- Index []int
- Msg *types.MessageInfo
- Part *imap.BodyStructure
- Store *lib.MessageStore
-}
-
func NewPartViewer(conf *config.AercConfig,
store *lib.MessageStore, msg *types.MessageInfo,
part *imap.BodyStructure, showHeaders bool,
diff --git a/widgets/providesmessage.go b/widgets/providesmessage.go
index 7be8e7e..4b71637 100644
--- a/widgets/providesmessage.go
+++ b/widgets/providesmessage.go
@@ -1,14 +1,24 @@
package widgets
import (
+ "github.com/emersion/go-imap"
+
"git.sr.ht/~sircmpwn/aerc/lib"
"git.sr.ht/~sircmpwn/aerc/lib/ui"
"git.sr.ht/~sircmpwn/aerc/worker/types"
)
+type PartInfo struct {
+ Index []int
+ Msg *types.MessageInfo
+ Part *imap.BodyStructure
+ Store *lib.MessageStore
+}
+
type ProvidesMessage interface {
ui.Drawable
Store() *lib.MessageStore
- SelectedMessage() *types.MessageInfo
SelectedAccount() *AccountView
+ SelectedMessage() *types.MessageInfo
+ SelectedMessagePart() *PartInfo
}