diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/msgstore.go | 4 | ||||
-rw-r--r-- | lib/state/templates.go | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/msgstore.go b/lib/msgstore.go index 01b78289..6186b195 100644 --- a/lib/msgstore.go +++ b/lib/msgstore.go @@ -49,6 +49,7 @@ type MessageStore struct { threadedView bool reverseThreadOrder bool + threadContext bool sortThreadSiblings bool buildThreads bool builder *ThreadBuilder @@ -87,6 +88,7 @@ func NewMessageStore(worker *types.Worker, reverseOrder bool, reverseThreadOrder bool, sortThreadSiblings bool, triggerNewEmail func(*models.MessageInfo), triggerDirectoryChange func(), onSelect func(*models.MessageInfo), + threadContext bool, ) *MessageStore { if !worker.Backend.Capabilities().Thread { clientThreads = true @@ -104,6 +106,7 @@ func NewMessageStore(worker *types.Worker, threadedView: thread, buildThreads: clientThreads, + threadContext: threadContext, reverseThreadOrder: reverseThreadOrder, sortThreadSiblings: sortThreadSiblings, @@ -831,6 +834,7 @@ func (store *MessageStore) Sort(criteria []*types.SortCriterion, cb func(types.W Context: store.ctx, SortCriteria: criteria, FilterCriteria: store.filter, + ThreadContext: store.threadContext, }, handle_return) } else { store.worker.PostAction(&types.FetchDirectoryContents{ diff --git a/lib/state/templates.go b/lib/state/templates.go index fbe5aa4a..88c5eeae 100644 --- a/lib/state/templates.go +++ b/lib/state/templates.go @@ -20,7 +20,7 @@ type DataSetter interface { Data() models.TemplateData SetHeaders(*mail.Header, *models.OriginalMail) SetInfo(*models.MessageInfo, int, bool) - SetThreading(string, bool, int, bool) + SetThreading(string, bool, int, bool, bool) SetComposer(Composer) SetAccount(*config.AccountConfig) SetFolder(*models.Directory) @@ -34,6 +34,7 @@ type ThreadInfo struct { Prefix string Count int Folded bool + Context bool } type templateData struct { @@ -86,12 +87,13 @@ func (d *templateData) SetInfo(info *models.MessageInfo, num int, marked bool, } func (d *templateData) SetThreading(prefix string, same bool, count int, - folded bool, + folded bool, context bool, ) { d.threadInfo.Prefix = prefix d.threadInfo.SameSubject = same d.threadInfo.Count = count d.threadInfo.Folded = folded + d.threadInfo.Context = context } func (d *templateData) SetAccount(acct *config.AccountConfig) { @@ -300,6 +302,10 @@ func (d *templateData) ThreadFolded() bool { return d.threadInfo.Folded } +func (d *templateData) ThreadContext() bool { + return d.threadInfo.Context +} + func (d *templateData) Subject() string { var subject string switch { |