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.
5 years ago
Manos Pitsidianakis
f8a2ce0bed
ui: small bounds checking fix in view.rs
5 years ago
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.
5 years ago
Manos Pitsidianakis
1168804cf8
ui: add reflow property to Pager
...
For displaying format=flowed formatted text/plain attachments properly.
5 years ago
Manos Pitsidianakis
dfa83e486c
melib: add into_iter() for &StackVec<T>
5 years ago
Manos Pitsidianakis
b01b9ffbcb
text_processing: add reflow method() and enum to TextProcessing trait
...
Add
split_lines_reflow(&self, reflow: Reflow, width: Option<usize>) -> Vec<String>
method that, according to reflow (No reflow, FormatFlowed
or All) reflows the text.
FormatFlowed follows the rfc3676 - The Text/Plain Format and DelSp Parameters
https://tools.ietf.org/html/rfc3676
5 years ago
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.
5 years ago
Manos Pitsidianakis
04e1137b36
melib: add "On ${date} ${author} wrote" heading in replies
5 years ago
Manos Pitsidianakis
bd4cf860fa
ui: persist row highlighting in CompactListing
5 years ago
Manos Pitsidianakis
f3a3668f3f
ui: correct redrawing when entering Execute command
5 years ago
Manos Pitsidianakis
0d03116e8a
ui: correct row highlighting in CompactListing
5 years ago
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.
5 years ago
Manos Pitsidianakis
aeb9d046a2
ui/ThreadListing: fix uninitialized array entry crash
...
If ThreadListing is uninitialized, self.locations is empty and
coordinates() would panic.
5 years ago
Manos Pitsidianakis
77936e0cd5
melib: add notmuch backend
...
Missing:
- Watching for updates functionality
- Using tags
- Search
5 years ago
Manos Pitsidianakis
7463248da8
melib: change BackendOp::set_flag() signature
5 years ago
Manos Pitsidianakis
ede512200b
conf: move FolderConf to melib
...
This will be needed to add notmuch-specific configuration settings in
the FolderConf struct in the next commit
5 years ago
Manos Pitsidianakis
8f36678abf
melib: make Backendfolder::children return slice
5 years ago
Manos Pitsidianakis
56cda63c83
Fix some warnings
5 years ago
Manos Pitsidianakis
c2da09de99
ui/sqlite3: insert account if non-existent
5 years ago
Manos Pitsidianakis
f83db67a38
melib/imap: don't stop IDLE session
...
Previous behaviour: connection with IDLE was stopped every 5 minutes to
poll the other threads. As a result messages received within that time
window when there was no IDLING were never received.
Current behaviour: polling is done in the main connection.
5 years ago
Manos Pitsidianakis
94152f7336
ui: add multiplier shortcuts to cursor movements
...
Prepend a cursor movement (Up/Down/PageUp/PageDown) with a multiplier
(e.g 23+Down, that is '2' then '3' then 'Down') to increase the
movement's length.
5 years ago
Manos Pitsidianakis
134178a74a
ui/sqlite3: add remove/update for RefreshEvent
...
Remove and/or update envelopes in sqlite3 db when the appropriate events
happen.
5 years ago
Manos Pitsidianakis
c6a4fcb959
ui: fix Account watching bug
...
Account::is_online(&mut self) should be called from ui/src/state.rs
only, since it launches the watcher threads when an account goes from
offline to online. If it's called from elsewhere the watcher threads
might not get launched ever.
5 years ago
Manos Pitsidianakis
c9c4e1ea60
ui/sqlite3: add has:attachment query
5 years ago
Manos Pitsidianakis
35e34d1c09
ui: add "is:" alias for "flags:" query
5 years ago
Manos Pitsidianakis
6ce88667c0
ui/sqlite3: add flag query support
5 years ago
Manos Pitsidianakis
dce1c39b48
ui: add mailcap support
5 years ago
Manos Pitsidianakis
9cd00cf53a
sqlite3: add accounts and folders table
5 years ago
Manos Pitsidianakis
1d6ef92a4f
ui: make StatusPanel grid growable
5 years ago
Manos Pitsidianakis
776dc107c2
Fix Pager::print_string() with empty string
5 years ago
Manos Pitsidianakis
5761f854e2
melib: Add FolderPermissions
...
permissions() method on BackendFolder and SetPermissions in
FolderOperation enum.
5 years ago
Manos Pitsidianakis
97e20b22a8
ui: update PlainListing
...
Remake PlainListing after CompactListing to add columns, filtering,
selection.
5 years ago
Manos Pitsidianakis
c1902f96b5
imap: add UIDVALIDITY check
...
On UIDVALIDITY change, discard cache and force rescan.
5 years ago
Manos Pitsidianakis
0cbc44fd0e
ui: exit contact add dialog with Esc in mail view
5 years ago
Manos Pitsidianakis
06d99c7f92
ui: Add save attachment command
...
use as `save-attachment ATTACHMENT_INDEX PATH`
5 years ago
Manos Pitsidianakis
580f0be8a4
imap: fix cases that would block connection
...
Fix blocking if TLS negotiation can't start
Fix blocking if IDLE connection dies.
5 years ago
Manos Pitsidianakis
a907b9c21d
Fix melib test errors
5 years ago
Manos Pitsidianakis
8b781cbbe0
melib: StackVec bounds fix
5 years ago
Manos Pitsidianakis
1bd343988e
ui: add horizontal scrolling in pager
...
It only took what, 3 years?
5 years ago
Manos Pitsidianakis
e600b0252f
text_processing: add line_break method
...
In preparation for format=flowed support, add a line_break method in the
text_processing Trait, now renamed from Graphemes to TextProcessing.
5 years ago
Manos Pitsidianakis
098982015b
ui/conversations: show all participating addresses in entry
...
Show all unique From: values of addresses in thread entries in
Conversations
5 years ago
Manos Pitsidianakis
36eccdf514
Add search documentation
5 years ago
Manos Pitsidianakis
74672f0807
ui: Add CacheType option in configuration
...
CacheType's value dictates which cache backend to use: none, or sqlite3
5 years ago
Manos Pitsidianakis
229e879c26
ui/imap: select user given folder before search
...
IMAP search() didn't select a folder before searching, thus searching
the mailbox the previous user of self.connection had selected.
5 years ago
Manos Pitsidianakis
99697a8fd5
ui: Add search for IMAP
...
Add basic search utilising the default SEARCH capability.
5 years ago
Manos Pitsidianakis
27edd96493
Cache and Sqlite3 cleanups
5 years ago
Manos Pitsidianakis
e396b2f72b
ui: add query translation to SQL SELECTs
5 years ago
Manos Pitsidianakis
7936aef476
Fix infinite watch threads spawning
...
Watch threads were launched every time the account's online status was
checked, added a check to only do it when it was previously offline.
5 years ago
Manos Pitsidianakis
749d453f00
ui: add query parsers
5 years ago
Manos Pitsidianakis
8488ce21bf
ui: move is_online() check to Context
...
Context needs to know when an account gets online in order to get the
mailbox hashes and launch the watcher threads for this account. Instead
of assuming all accounts are online when launching meli, move the
initialisation logic to an is_online() method on Context to do it on
demand.
The is_online() method is then called by ui::components::mail::Listing
everytime it's drawn to check for status changes.
5 years ago