diff options
-rw-r--r-- | commands/msg/move.go | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/commands/msg/move.go b/commands/msg/move.go index d7e1ea95..37402ef1 100644 --- a/commands/msg/move.go +++ b/commands/msg/move.go @@ -45,27 +45,27 @@ func (Move) Execute(aerc *widgets.Aerc, args []string) error { } } - widget := aerc.SelectedTab().(widgets.ProvidesMessage) - acct := widget.SelectedAccount() - if acct == nil { - return errors.New("No account selected") + h := newHelper(aerc) + store, err := h.store() + if err != nil { + return err } - store := widget.Store() - if store == nil { - return errors.New("Cannot perform action. Messages still loading") + uids, err := h.uids() + if err != nil { + return err } - msg, err := widget.SelectedMessage() + acct, err := h.account() if err != nil { return err } - _, isMsgView := widget.(*widgets.MessageViewer) + _, isMsgView := h.msgProvider.(*widgets.MessageViewer) if isMsgView { - aerc.RemoveTab(widget) + aerc.RemoveTab(h.msgProvider) } store.Next() acct.Messages().Scroll() joinedArgs := strings.Join(args[optind:], " ") - store.Move([]uint32{msg.Uid}, joinedArgs, createParents, func( + store.Move(uids, joinedArgs, createParents, func( msg types.WorkerMessage) { switch msg := msg.(type) { |