summary refs log tree commit diff stats
path: root/widgets/dirlist.go
Commit message (Collapse)AuthorAgeFilesLines
* Only compile regex portion of folder filterDaniel Xu2019-08-201-1/+1
| | | | | | | | | | The code was trying to compile the `~` as well. In this case, it was trying to match a literal `~` to the front of the supplied regex. Fixes: 334ca89bea381 ("folder filter: only assume regex if filter is ~fmt") Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
* folder filter: only assume regex if filter is ~fmtDrew DeVault2019-08-201-4/+9
|
* Support regex filters for foldersDaniel Xu2019-08-191-1/+11
| | | | | | | | It's nice to be able to filter the folders displayed in the side bar. Basic string matching can get verbose with enough folders whitelisted. Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
* Implement next-folder using NextPrev with amountJelle Besseling2019-08-071-3/+3
| | | | | | This fixes ~sircmpwn/aerc2#182 https://todo.sr.ht/~sircmpwn/aerc2/182
* Move msgstore map to dirstoreJeffas2019-07-261-0/+12
| | | | | | This map represents a mapping from directory names to their associated messagestores anyway so they should be under dirstore. This simply moves them there and adds some methods required to interact with them.
* Show the directory being selected in grayJeffas2019-07-251-0/+3
|
* Factor UI models out of the worker message packageBen Burwell2019-07-081-1/+1
| | | | | | | | Before, the information needed to display different parts of the UI was tightly coupled to the specific messages being sent back and forth to the backend worker. Separating out a models package allows us to be more specific about exactly what a backend is able to and required to provide for the UI.
* Sort out dirstore once and for allDrew DeVault2019-07-041-0/+1
|
* dirlist: simplify nextPrev() considerablyReto Brunner2019-07-041-25/+11
| | | | | | | Assuming we always have a sorted dirlist (other code depends on that already), we don't need to loop over the dirStore. Any filtering done should be performed elsewhere
* dirlist: remove the additional filtering in Draw()Reto Brunner2019-07-041-7/+0
|
* dirlist: sync dirstore in filterDirsByFoldersConfigReto Brunner2019-07-041-9/+7
| | | | | Also sets the public List() method to return the unfiltered list of directories directly from the store.
* Add IMAP folder tab completionGregory Mullen2019-07-041-1/+5
| | | | | Credit for this fix goes to Reto; I guess if we're not gonna be mutt we should probabaly do things correctly.
* Revert "Remove dirs field and references to it"Drew DeVault2019-07-021-11/+10
| | | | This reverts commit 0e55637aac92e748267559b7aa91a188a17c386f.
* Remove dirs field and references to itRobert Günzler2019-06-301-10/+11
| | | | | This fixes prev/next-folder that broke after 546dfcd76dd228e0605359e9985f0b6a5672e8fa
* Add new lib/dirstore to source completions fromGregory Mullen2019-06-291-4/+7
|
* Implement basic tab completion supportGregory Mullen2019-06-291-0/+4
| | | | | Tab completion currently only works on commands. Contextual completion will be added in the future.
* Set empty message in dirlist if no folder exist.Reto Brunner2019-06-141-16/+24
|
* imap: respect the folder config optionReto Brunner2019-06-141-11/+31
|
* s/aerc2/aerc/gDrew DeVault2019-05-171-3/+3
|
* Force INBOX to be included in dirlistDrew DeVault2019-05-141-0/+11
|
* Split ex line text handling into dedicated widgetDrew DeVault2019-05-111-7/+7
|
* lib/ui: introduce InvalidatableSimon Ser2019-04-271-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many Drawable implementations have their own Invalidate and OnInvalidate functions, with an unexported onInvalidate field. However OnInvalidate and Invalidate are usually not called in the same goroutine. This results in a race on this field, e.g.: Read at 0x00c000094748 by goroutine 7: git.sr.ht/~sircmpwn/aerc2/widgets.NewDirectoryList.func1() /home/simon/src/aerc2/widgets/dirlist.go:85 +0x56 git.sr.ht/~sircmpwn/aerc2/widgets.(*Spinner).Start.func1() /home/simon/src/aerc2/widgets/spinner.go:93 +0x1bb Previous write at 0x00c000094748 by main goroutine: [failed to restore the stack] Goroutine 7 (running) created at: git.sr.ht/~sircmpwn/aerc2/widgets.(*Spinner).Start() /home/simon/src/aerc2/widgets/spinner.go:46 +0x8f git.sr.ht/~sircmpwn/aerc2/widgets.NewDirectoryList() /home/simon/src/aerc2/widgets/dirlist.go:37 +0x286 git.sr.ht/~sircmpwn/aerc2/widgets.NewAccountView() /home/simon/src/aerc2/widgets/account.go:50 +0x5ca git.sr.ht/~sircmpwn/aerc2/widgets.NewAerc() /home/simon/src/aerc2/widgets/aerc.go:60 +0x800 main.main() /home/simon/src/aerc2/aerc.go:65 +0x33e To fix this, introduce a new type, Invalidatable, which protects the field. Unfortunately the Drawable must be passed to the callback function in Invalidate, so we still need to re-implement this in each Invalidatable user.
* Use tcell.Style.Reverse instead of black on whiteDrew DeVault2019-03-301-2/+1
|
* Fix nil dereference on rapidly cycling foldersDrew DeVault2019-03-151-1/+1
|
* widgets/directories.go -> widgets/dirlist.goDrew DeVault2019-03-141-0/+156