Manos Pitsidianakis
4048eab424
ui/conf: Add include file feature
...
Use
#include "path/to/file"
In configuration file to include other files.
2019-11-27 22:21:25 +02:00
Manos Pitsidianakis
8a17eee769
ui/compose: don't save sent mail with Draft flag
2019-11-27 17:42:11 +02:00
Manos Pitsidianakis
ba52c59859
bin: add backend specific validation functions for --test-config flag
2019-11-27 17:42:11 +02:00
Manos Pitsidianakis
81b7195080
ui: add Ctrl-* Alt-* and F1..F12 parsers and tests
2019-11-27 17:42:11 +02:00
Manos Pitsidianakis
2199726b2c
Retidy shortcuts
2019-11-27 17:42:11 +02:00
Manos Pitsidianakis
afff63c781
ui: load vcards to addressbook with vcard_folder account setting
2019-11-27 17:42:11 +02:00
Manos Pitsidianakis
9a516e0663
ui/text_editing: add Ctrl-{f,b,u} readline shortcuts
2019-11-27 01:46:23 +02:00
Manos Pitsidianakis
1df7a35f0f
ui: CellBuffer cleanups
...
- Remove unused Traits etc
- Make scrolling a method
2019-11-24 20:42:26 +02:00
Manos Pitsidianakis
e5f5febd6b
Log notification script failures
2019-11-24 20:39:57 +02:00
Manos Pitsidianakis
db197aaffe
ui/MailView: implement headers_sticky option
...
Kind of hacky, I don't like the way it is done but I'm willing to
compromise.
2019-11-24 20:38:30 +02:00
Manos Pitsidianakis
af365fa8d4
Set 600 perm mode to all created files
...
When creating a data file, set permissions to read/write for the user.
2019-11-24 17:00:55 +02:00
Manos Pitsidianakis
3e33335914
ui/MailView: unwrap Pager out of option
...
There's no need anymore for pager to be inside an Option.
2019-11-23 21:57:17 +02:00
Manos Pitsidianakis
874a252394
ui: add periodic account connectivity check
...
1. spawn thread to send ThreadPulses to the main event loop that "parks" until unparked from State
2. State unparks thread if there are accounts that are offline
3. thread sends ThreadPulse and parks again
4. State checks accounts again and so on.
2019-11-23 19:34:16 +02:00
Manos Pitsidianakis
12e4258ae4
conf: add * glob expansion to subscribed_folders field
...
You can now do:
subscribed_folders = [ "*", ]
2019-11-23 19:34:16 +02:00
Manos Pitsidianakis
b327bee3e4
text_processing: add GlobMatch trait
...
Move GlobMatch trait from ui::mailcap to text_processing in order to use
it for glob matching folder paths in subscribed_folders field of
account configuration. See next commit.
2019-11-23 19:34:16 +02:00
Manos Pitsidianakis
eecec551c1
Display watch thread errors to user
...
Show a proper notification with the error message to the user instead of
just logging it on debug-tracing.
2019-11-23 19:34:16 +02:00
Manos Pitsidianakis
b8e4a35963
melib/imap: add default capabilities to SUPPORTED_CAPABILITIES
2019-11-23 19:34:16 +02:00
Manos Pitsidianakis
41a678c6ef
melib: make MailBackend::folders return Result
...
Change folders() signature:
- fn folders(&self) -> FnvHashMap<FolderHash, Folder>;
+ fn folders(&self) -> Result<FnvHashMap<FolderHash, Folder>>;
Imap may not be online, therefore we need the ability to return an
error.
2019-11-23 17:47:24 +02:00
Manos Pitsidianakis
3d3ead02e9
bin: add --test-config flag
...
meli --test-config PATH tests a configuration file for syntax issues or missing options.
Caveat: right now undefined options/values do not return an error.
Backend specific options are also not validated.
2019-11-22 18:43:24 +02:00
Manos Pitsidianakis
1063bb73b5
shortcuts tidiness
...
- Unflatten shortcuts configuration table.
Shortcuts now have to be defined in levels:
[shortcuts.general]
...
[shortcuts.pager]
...
- Add shortcuts for thread view
- Sort alphabetically in help view
2019-11-22 16:34:35 +02:00
Manos Pitsidianakis
678889d706
ui/threadview: add show_thread shortcut
...
Press 't' by default to toggle thread visibility
2019-11-22 16:22:52 +02:00
Manos Pitsidianakis
f3c938d8c3
Prevent OOM abort when printing large strings
2019-11-22 14:17:09 +02:00
Manos Pitsidianakis
424b244bb7
fixup some TODO and FIXMEs
2019-11-22 13:59:00 +02:00
Manos Pitsidianakis
501f1a0e1e
pager: add minimum_width and split_lines_reflow
...
Add options to pager settings
2019-11-22 13:13:27 +02:00
Manos Pitsidianakis
022e1f437d
ui/pager: reflow on resize
2019-11-21 15:42:01 +02:00
Manos Pitsidianakis
3d52b1f1b7
ui: fix bracket mode end code typo
...
Thanks to Gert Hulselmans for noticing in 35c3017419
2019-11-19 23:41:12 +02:00
Manos Pitsidianakis
62bfe2a91f
ui: embed editor cleanups
2019-11-19 23:28:08 +02:00
Manos Pitsidianakis
ce646abc7a
ui: add send confirmation dialog in compose tab
...
Confirm before sending mail
2019-11-19 23:28:08 +02:00
Manos Pitsidianakis
458f8da332
ui: fix bounds check in StatusBar
2019-11-19 20:40:28 +02:00
Manos Pitsidianakis
0cea6368d9
ui/embed: fix scrolling area issues
2019-11-19 20:39:43 +02:00
Manos Pitsidianakis
f1588f6002
ui: shortcuts refactoring
2019-11-18 22:20:18 +02:00
Manos Pitsidianakis
8798d84e43
ui: update cached rows on row update in CompactListing
2019-11-18 20:55:52 +02:00
Manos Pitsidianakis
51628ac9d2
ui: move list_management mod to melib
...
list_management module includes some small functions to handle mailing
list metadata (List-* headers)
2019-11-18 20:37:48 +02:00
Manos Pitsidianakis
449a24d075
ui: ListActions changes
...
- Parse List-Post value like List-Unsubscribe: comma separated angle bracket limited list of <mailto:> or <url> values
- Check if List-Archive value is angle bracket delimited
2019-11-18 14:55:48 +02:00
Manos Pitsidianakis
590619de0e
ui/compose: remove thread view in reply composer
...
You don't need to have the thread in the composer anymore, since you can
just switch tabs to the actual thread.
2019-11-18 14:53:41 +02:00
Manos Pitsidianakis
31a86533c5
ui/pager: add Left/Right movements
...
Left/Right movements change the horizontal offset by (page width) / 3.
2019-11-18 14:50:08 +02:00
Manos Pitsidianakis
995e70e009
ui: change line_break meaning in write_string_to_grid
...
Change line_break parameter from bool flag (whether to break in the end
of a line or not) to an Option<usize>, where the value is the x_offset
of the left side of the area. Thus if line_break == Some(_) when a line
ends its value is set as x to continue in the next line properly.
2019-11-18 14:49:50 +02:00
Manos Pitsidianakis
a5e272c36e
Add tests/ dir and a test
...
Add a test for generating mail with melib's Draft struct.
2019-11-17 13:29:12 +02:00
Manos Pitsidianakis
094ce7ee69
Add format_flowed option for composing e-mail
...
When format_flowed=true, generated text/plain attachments include the
format=flowed MIME parameter.
format_flowed is set to true by default.
2019-11-17 13:27:22 +02:00
Manos Pitsidianakis
62f3d12253
ui/view: move reply and edit to view.rs
...
reply and edit actions where only in view/thread.rs, so simple envelope
views had no way to reply. view.rs is used standalone or within
view/thread.rs so it is the appropriate place for the actions.
2019-11-17 12:05:57 +02:00
Manos Pitsidianakis
f8a2ce0bed
ui: small bounds checking fix in view.rs
2019-11-17 12:05:57 +02:00
Manos Pitsidianakis
f8a1a6caa5
melib: replace find_thread_group with find_root_hash
...
thread_group property of ThreadNode doesn't yet reflect the actual root
ThreadNode (the root of the thread, that is). So find the root manually
instead.
2019-11-17 12:05:52 +02:00
Manos Pitsidianakis
1168804cf8
ui: add reflow property to Pager
...
For displaying format=flowed formatted text/plain attachments properly.
2019-11-16 20:23:07 +02:00
Manos Pitsidianakis
e1dec05881
ui/embed: don't increase cursor with multibyte chars
...
When waiting for a multibyte unicode codepoint to fill up, don't
increase cursor at all.
2019-11-16 20:00:42 +02:00
Manos Pitsidianakis
bd4cf860fa
ui: persist row highlighting in CompactListing
2019-11-16 14:00:00 +02:00
Manos Pitsidianakis
f3a3668f3f
ui: correct redrawing when entering Execute command
2019-11-16 13:42:03 +02:00
Manos Pitsidianakis
0d03116e8a
ui: correct row highlighting in CompactListing
2019-11-16 13:41:33 +02:00
Manos Pitsidianakis
321be8555f
Cleanup startup error exit paths
...
Make startup methods return Results so that the main binary can exit
cleanly instead of using std::process::exit from arbitrary positions,
which exits the process immediately and doesn't run destructors.
2019-11-16 00:33:22 +02:00
Manos Pitsidianakis
aeb9d046a2
ui/ThreadListing: fix uninitialized array entry crash
...
If ThreadListing is uninitialized, self.locations is empty and
coordinates() would panic.
2019-11-15 23:23:14 +02:00
Manos Pitsidianakis
7463248da8
melib: change BackendOp::set_flag() signature
2019-11-15 21:32:55 +02:00