Commit Graph

1240 Commits (8ec0da4fbd14eee7d71994940d43b199c4dc9e47)
 

Author SHA1 Message Date
Manos Pitsidianakis c4c11e4abc
Make Selector widget accept FnOnce 5 years ago
Manos Pitsidianakis 499fd59c6e
melib/imap: implement refresh() 5 years ago
Manos Pitsidianakis bbdc9d69b4
melib/imap: add ImapConnection::connect() 5 years ago
Manos Pitsidianakis f38d03e43a
melib: {create,delete}_folder returns updated folders
Potential parent folders will have their children fields updated, so
just return all folders.
5 years ago
Manos Pitsidianakis 9a46e58029
imap: don't retry command on reconnection
If a command fails and connection is restarted, don't try the command
again; it only made sense in the previous connection's context.
5 years ago
Manos Pitsidianakis e3abd458ce
Add ui_dialogs in State 5 years ago
Manos Pitsidianakis a806571322
Add UIDialog and UIConfirmationDialog widgets
They are just typedefs for the Selector widget. The API is kind of
messed up and this commit is part of the process of cleaning it up:
right now to use this, you check the is_done() method which if returns
true, the done() method executes the closure you defined when creating
the widget. The closure returns a UIEvent which you can forward
application-wide by context.replies.push_back(event) or handle it in
process_event() immediately.
5 years ago
Manos Pitsidianakis e22ab2b424
ui: fix shortcuts map title not showing up on resize 5 years ago
Manos Pitsidianakis d779a94279
Fix sent_folder not getting recorded if no explicit folder conf is set 5 years ago
Manos Pitsidianakis b6efb14824
melib: remove Mailbox
Refactor Collection from melib to hold what folders have what envelopes.

Frontend accounts will now have a FolderEntry for each logical folder
and will unify many Account fields into one and eliminate a lot of
duplicate/dead code.
5 years ago
Manos Pitsidianakis b50e770b5a
ui/accounts: remove Index<usize> impls 5 years ago
Manos Pitsidianakis aab6b02db2
ui: clear selection with Esc 5 years ago
Manos Pitsidianakis e26ed83331
Update native-tls to 0.2.3 5 years ago
Manos Pitsidianakis 4090eecd04
ui: Consume Esc input events only when necessary 5 years ago
Manos Pitsidianakis 9757e523bd
debian/: add build artifacts to .gitignore 5 years ago
Manos Pitsidianakis 14b0ef8f37
Respect use_color conf value as well as NO_COLOR 5 years ago
Manos Pitsidianakis a496de2794
build.rs: add rerun-if-changed 5 years ago
Manos Pitsidianakis 0ebad39b50
Bumb version to 0.5.1 5 years ago
Manos Pitsidianakis 34331232af
build.rs: use `man` binary if mandoc missing in cli-docs 5 years ago
Manos Pitsidianakis c678b16711
melib/jmap: fix macro path 5 years ago
Manos Pitsidianakis 30c31c9c90
debian/: move xdg-utils to recommends
It's not a hard dependency
5 years ago
Manos Pitsidianakis 555654d5e3
Makefile: don't emit timestamps with gzip 5 years ago
Manos Pitsidianakis fead7a5da4
meli: add invalid flag combo check 5 years ago
Manos Pitsidianakis 962283f9fe
Add opt-level=z flag for release profile 5 years ago
Manos Pitsidianakis 63cdf1a38f
debian/: add mandoc build dependency 5 years ago
Manos Pitsidianakis 0aa2659072
meli: add cli-docs feature
Optionally build manpages to text with mandoc and print them from the
command line.
5 years ago
Manos Pitsidianakis c22a141b14
ui/themes: expand theme coverage to status panel and contacts 5 years ago
Manos Pitsidianakis 22fb0c0844
ui: handle ViewMailbox in listing.rs
handling viewmailbox inside a listing instead of their parent/manager
component is a leftover from before they even had a parent/manager.
5 years ago
Manos Pitsidianakis 647cb10b33
ui: Use FolderHash instead of usize for folder cursor
Use FolderHash directly as a cursor type for folders within an account
isntead of having a usize (being the order of the folder within the
account) and figuring out the folder_hash everytime it's needed.

Add OfflineListing for offline accounts and AccountStatusChange event.
5 years ago
Manos Pitsidianakis 42747ef590
ui/themes: make theme_default the default for other keys 5 years ago
Manos Pitsidianakis eef007600b
ui: improve theming coverage 5 years ago
Manos Pitsidianakis 9b7875c023
ui: change Component::get_status return type
There was no reason to return Option<String>, just return String::new()
instead of Option::None
5 years ago
Manos Pitsidianakis cadb1e1613
ui/conf: expand include() paths in config
Expand variables and `~` in included paths in user configuration.
5 years ago
Manos Pitsidianakis 0b4109dfdb
ui: fix wrong subscription status in folders
Subscription status was checked/modified in various places, whereas now
the universal truth is the `BackendFolder::is_subscribed()` method set
by the backend when a folder is created. The `Account` struct passes a
closure to the backend constructor that determines whether the folder is subscribed or not according to the user configuration.

- If subscribed_folders field is empty, then all folders are subscribed.
- OR check explicit folder configuration
- OR check if folder path matches to a glob in subscribed_folders.
5 years ago
Manos Pitsidianakis 9616fbb544
melib/maildir: fix wrong subscription status in folders
MaildirFolder::new() was checking for subscribed status though that is
supposed to be done in MaildirType::new()
5 years ago
Manos Pitsidianakis b107424258
melib: update GlobMatch algorithm
Taken from https://research.swtch.com/glob
5 years ago
Manos Pitsidianakis 50bfed7247
ui: fix subtraction overflow 5 years ago
Manos Pitsidianakis 6b7dea35dc
melib/parser: fix minor encoded word error 5 years ago
Manos Pitsidianakis 6afac835e0
melib/datetime: fix overflow panic on early date input 5 years ago
Manos Pitsidianakis eb501b6d50
ui: add ThemeAttribute argument to clear_area()
clear_area() sets the cleared cell attributes according to the new
argument.
5 years ago
Manos Pitsidianakis 3bca6d1d9c
ui: add floating notifications within terminal
`DisplayMessage` messages are for user input responses (eg errors for
user actions). They now appear as floating boxes in the bottom right
corner of the UI and can be browsed with Alt('<') and Alt('>')
5 years ago
Manos Pitsidianakis 4a4c8e265a
ui: add overlay grid
Add second layer grid for overlays (messages, notifications)
5 years ago
Manos Pitsidianakis 333db9ed37
ui: remove notifications from StatusBar
It's bad UX, they aren't very visible.
5 years ago
Manos Pitsidianakis d6e3c51b07
ui: move box drawing to src/terminal
No logical reason for it not to be in the terminal module anymore (the
set_and_join* functions predate the terminal module which is why they
weren't there to begin with).
5 years ago
Manos Pitsidianakis f131e01bfc
Fix drawing getting stuck in empty terminal
Fix drawing getting stuck in loops when terminal is too small by
checking for it.
5 years ago
Manos Pitsidianakis 4301fa3b04
ui: Change ascii branch drawings in attachment tree 5 years ago
Manos Pitsidianakis af38b1306a
ui: use quoted_argument parser in Ex command arguments 5 years ago
Manos Pitsidianakis 144eb62b76
ui: force refresh_mailbox etc on Mailbox{Delete,Create} 5 years ago
Manos Pitsidianakis f5e694cf5a
Make small cosmetic fixes 5 years ago
Manos Pitsidianakis f208948651
melib: add mailbox delete/create to IMAP 5 years ago