aboutsummaryrefslogtreecommitdiffstats
path: root/worker/maildir/worker.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/maildir/worker.go')
-rw-r--r--worker/maildir/worker.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/worker/maildir/worker.go b/worker/maildir/worker.go
index a94792bc..dc794a10 100644
--- a/worker/maildir/worker.go
+++ b/worker/maildir/worker.go
@@ -38,6 +38,7 @@ type Worker struct {
c *Container
selected *maildir.Dir
selectedName string
+ selectedInfo *models.DirectoryInfo
worker *types.Worker
watcher types.FSWatcher
currentSortCriteria []*types.SortCriterion
@@ -112,8 +113,13 @@ func (w *Worker) handleFSEvent(ev *types.FSEvent) {
}
dirInfo := w.getDirectoryInfo(w.selectedName)
+ var refetch bool
+ if dirInfo.Exists > w.selectedInfo.Exists {
+ refetch = true
+ }
w.worker.PostMessage(&types.DirectoryInfo{
- Info: dirInfo,
+ Info: dirInfo,
+ Refetch: refetch,
}, nil)
}
@@ -394,6 +400,7 @@ func (w *Worker) handleOpenDirectory(msg *types.OpenDirectory) error {
info := &types.DirectoryInfo{
Info: w.getDirectoryInfo(msg.Directory),
}
+ w.selectedInfo = info.Info
w.worker.PostMessage(info, nil)
return nil
}
@@ -865,8 +872,7 @@ func (w *Worker) handleCheckMail(msg *types.CheckMail) {
}
dirInfo := w.getDirectoryInfo(name)
w.worker.PostMessage(&types.DirectoryInfo{
- Info: dirInfo,
- SkipSort: true,
+ Info: dirInfo,
}, nil)
}
w.done(msg)