diff options
| author | Drew DeVault <sir@cmpwn.com> | 2019-09-18 10:21:45 -0400 | 
|---|---|---|
| committer | Drew DeVault <sir@cmpwn.com> | 2019-09-18 10:21:45 -0400 | 
| commit | 956f1366a538f4cbd0f300083871196c4c759d44 (patch) | |
| tree | 52a6585250dc04ea861abac37e80b504b9d34f49 | |
| parent | 35dc57ed90f8c26fd2f792b312934acdcaaf5269 (diff) | |
Revert "Fix out-of-order messages by sorting as we display"
This reverts commit ac99d9ed62644cf0259bdd79481b28c3fbcef650.
| -rw-r--r-- | lib/msgstore.go | 2 | ||||
| -rw-r--r-- | widgets/msglist.go | 31 | 
2 files changed, 1 insertions, 32 deletions
| diff --git a/lib/msgstore.go b/lib/msgstore.go index 73c79e7..1f18fbf 100644 --- a/lib/msgstore.go +++ b/lib/msgstore.go @@ -13,7 +13,7 @@ type MessageStore struct {  	Deleted  map[uint32]interface{}  	DirInfo  models.DirectoryInfo  	Messages map[uint32]*models.MessageInfo -	// List of known UIDs, order is not important +	// Ordered list of known UIDs  	uids []uint32  	selected        int diff --git a/widgets/msglist.go b/widgets/msglist.go index b7c921c..5c2d2f4 100644 --- a/widgets/msglist.go +++ b/widgets/msglist.go @@ -3,7 +3,6 @@ package widgets  import (  	"fmt"  	"log" -	"sort"  	"github.com/gdamore/tcell"  	"github.com/mattn/go-runewidth" @@ -28,34 +27,6 @@ type MessageList struct {  	aerc          *Aerc  } -type msgSorter struct { -	uids  []uint32 -	store *lib.MessageStore -} - -func (s *msgSorter) Len() int { -	return len(s.uids) -} - -func (s *msgSorter) Less(i, j int) bool { -	msgI := s.store.Messages[s.uids[i]] -	msgJ := s.store.Messages[s.uids[j]] -	if msgI == nil && msgJ == nil { -		return false // doesn't matter which order among nulls -	} else if msgI == nil && msgJ != nil { -		return true // say i is before j so we sort i to bottom -	} else if msgI != nil && msgJ == nil { -		return false // say i is after j so we sort j to bottom -	} -	return msgI.InternalDate.Before(msgJ.InternalDate) -} - -func (s *msgSorter) Swap(i, j int) { -	tmp := s.uids[i] -	s.uids[i] = s.uids[j] -	s.uids[j] = tmp -} -  func NewMessageList(conf *config.AercConfig, logger *log.Logger, aerc *Aerc) *MessageList {  	ml := &MessageList{  		conf:          conf, @@ -97,8 +68,6 @@ func (ml *MessageList) Draw(ctx *ui.Context) {  		row          int = 0  	)  	uids := store.Uids() -	sorter := msgSorter{uids: uids, store: store} -	sort.Stable(&sorter)  	for i := len(uids) - 1 - ml.scroll; i >= 0; i-- {  		uid := uids[i] | 
