Commit Graph

120 Commits (022e1f437d0eb1531580cc08ca6bb574dab14c3b)

Author SHA1 Message Date
Manos Pitsidianakis 022e1f437d
ui/pager: reflow on resize 2019-11-21 15:42:01 +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 f1588f6002
ui: shortcuts refactoring 2019-11-18 22:20:18 +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 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 f3a3668f3f
ui: correct redrawing when entering Execute command 2019-11-16 13:42:03 +02:00
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.
2019-11-12 22:14:44 +02:00
Manos Pitsidianakis 776dc107c2
Fix Pager::print_string() with empty string 2019-11-11 00:48:42 +02:00
Manos Pitsidianakis 06d99c7f92
ui: Add save attachment command
use as `save-attachment ATTACHMENT_INDEX PATH`
2019-11-10 13:33:22 +02:00
Manos Pitsidianakis 1bd343988e
ui: add horizontal scrolling in pager
It only took what, 3 years?
2019-11-09 17:45:23 +02:00
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.
2019-11-09 17:44:22 +02:00
Manos Pitsidianakis 78eecbb104
melib: Hide Envelope behind RwLock
Envelope can now only be accessed from within a RwLock. Two new structs
are introduced: EnvelopeRef and EnvelopeRefMut. These hold a reference
to an Envelope and the mutex guard that keeps them alive.

This change allows sharing of the envelopes hash map amongst threads.
2019-11-08 15:13:41 +02:00
Manos Pitsidianakis 6b5ed25289
Add history browse option in execute bar
Press Ctrl-P and Ctrl-N to get previous and next command in history.
2019-11-08 15:09:25 +02:00
Manos Pitsidianakis d17deaca01
ui: add M-{i} tab change 2019-10-15 23:47:37 +03:00
Manos Pitsidianakis febea423d9
ui: Add RawBuffer component for raw ansi content 2019-10-06 11:32:47 +03:00
Manos Pitsidianakis 6f816d29c5
conf: add ascii_drawing option
If set to true, box drawing is done with ascii characters.
2019-10-06 11:32:35 +03:00
Manos Pitsidianakis f485079404
ui: align buttons in Selector
Correct alignment of Ok, Cancel buttons
2019-10-03 14:38:58 +03:00
Manos Pitsidianakis cd761b3166
ui: revamp option dialog
Selector component shows choices/options to the user. Ok and Cancel
buttons were added, along with a window border and window title.
2019-10-03 01:03:20 +03:00
Manos Pitsidianakis 68c40a2920
melib: return Result with error when an IO operation fails
Don't unwrap anything because this might be temporary, for example a
short IMAP disconnection.
2019-09-27 13:40:02 +03:00
Manos Pitsidianakis d44a68ec69
ui: don't quit if editing a draft
Ask user to save draft or discard it.
2019-09-27 13:40:02 +03:00
Manos Pitsidianakis 6d40a57a2e
ui: scroll in shortcuts panel 2019-09-26 13:11:53 +03:00
Manos Pitsidianakis 91ae539de1
Small fixes 2019-09-26 13:11:49 +03:00
Manos Pitsidianakis 415fb2455b
ui: display status bar messages for 5 seconds 2019-09-22 13:35:50 +03:00
Manos Pitsidianakis af38b7e7cb
ui: add envelope views in new tab action 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis 5ddd68ad9f
ui: add statusbar change with tab switch and updates 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis 2eb41f3d3d
ui: dedup history suggestions in command execute bar 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis e3cd2d4c67
ui: save execute cmd history to XDG_DATA_DIR 2019-09-15 13:21:15 +03:00
Manos Pitsidianakis ecb3fd7f3d
Add dyn keyword to Trait objects
And fix some unused var warnings as well
2019-09-15 13:21:14 +03:00
Manos Pitsidianakis a866e060a1
ui: open MessageRfc822 attachments in new tab 2019-09-08 11:13:51 +03:00
Manos Pitsidianakis f72fb069fa
ui: add paste input in StatusBar 2019-08-30 18:41:25 +03:00
Manos Pitsidianakis 1845b046fa
ui: add attribute support
bold/italic etc
2019-08-18 15:47:09 +03:00
Manos Pitsidianakis 8a0e702127
melib,ui: add MailboxEntry enum
Use an enum to describe a mailbox's state in ui::conf::Account instead
of Result.
2019-07-28 20:15:41 +03:00
Manos Pitsidianakis f13da6a26a
ui: Add pipe action for Pager 2019-07-15 00:12:01 +03:00
Manos Pitsidianakis 0925f2a439
ui: restore Page{Up,Dn} to Pager
When issuing PageUp and PageDn actions to an e-mail pager in
CompactListing, the input action was handled by listing and not the
pager which led to the keys get seemingly ignored.
2019-07-13 22:52:42 +03:00
Manos Pitsidianakis 70e5949590
ui: add autocomplete for commands in execute bar 2019-07-06 20:44:51 +03:00
Manos Pitsidianakis 74be47ec5a
ui: fix some lints 2019-07-06 12:47:27 +03:00
Manos Pitsidianakis b5ba9c3a8c
ui: force redraw CompactListing after EnvelopeRename event 2019-07-06 00:19:37 +03:00
Manos Pitsidianakis 22dbc7dd9f
ui: don't print empty history or duplicates 2019-06-25 10:37:19 +03:00
Manos Pitsidianakis e0e520b2c4
ui: add filter method in ListingTrait
Implemented in CompactListing only for now. Filter results are stored in
the filter* fields of the struct.
2019-06-22 16:13:40 +03:00
Manos Pitsidianakis 06862c1484
ui: prevent some unnecessary redraws 2019-06-19 19:39:23 +03:00
Manos Pitsidianakis 9026fb866e
ui: Add ability to call mailing list actions from Envelope view 2019-06-18 22:16:32 +03:00
Manos Pitsidianakis 24831b3c13
Fix warnings, lints, and 2018 errors 2019-06-18 21:14:14 +03:00
Manos Pitsidianakis 42654410e3
ui: move Collection to Account
Each account had one mailbox per folder, which had one associated
collection. Now each Account has one Collection for all folders and each
Mailbox object holds only the hashes of each message.

Collection also gets Threads for each folder in order to mix messages
(ie from/to Sent folder).

Insert Sent emails in chronological order

if inserted unsorted, mails a, b with a happened-before b, might never
  get added.

Fix multiple insertions in ThreadTree upon insert_reply

insert_reply was creating multiple copies in threading
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis 7de075df49
ui: add Home/End movements 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis 06b96449c1
ui: add history and autocomplete in execute bar
closes #116 and #117
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis 4582bcd5ae
fix warnings and lints 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis f972f69bad
ui: send RefreshMailbox events in every refresh_mailbox call
closes #108
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis 6e7ab0421b
ui: fix pager scrolling getting stuck 2019-06-10 19:40:48 +03:00