Commit Graph

53 Commits (9cb66ef818f6598eb779f931e201a8d38e86a484)

Author SHA1 Message Date
Manos Pitsidianakis 9cb66ef818 Fix all clippy warnings in `meli` crate 2 years ago
Manos Pitsidianakis 2eb22a290a
Stop hardcoding certain component colors
`Color::Byte` references were before themes were introduced in the code
base. Their presence is a bug and they should all be replaced by theme
values.

Closes #124

Stop hardcoding certain component colors #124
https://git.meli.delivery/meli/meli/issues/124
2 years ago
Manos Pitsidianakis d3e62e3d74
utilities/dialogs.rs: use conf shortcuts for scroll {up, down} 2 years ago
Manos Pitsidianakis e7b9d2963c
pager: add filter command, esc to clear filter 3 years ago
Manos Pitsidianakis 22fb2ed46c
Implement pager filter through EmbedGrid
Parse pager filter output as an EmbedGrid instead of the old ansi parser
module.
3 years ago
Manos Pitsidianakis 48d4343082
utilities/ProgressSpinner: add interval field and new spinners 3 years ago
Manos Pitsidianakis 2dfeb29b75
jobs/Timer: add set_interval() 3 years ago
Manos Pitsidianakis 6d63429ad3
Add scrolling context to StatusBar
- Whenever a scrolling context is entered/exited, send a ScrollUpdate event.
- StatusBar maintains a stack of scrolling contexts and displays the
last one, if it exists. Each context is associated with a ComponentId.
- To handle dangling contexts after their Components aren't visible
anymore, send a VisibilityChange event in situations where that scenario
is possible.
3 years ago
Manos Pitsidianakis 48e7a493a9
Add reload-config command
Closes #84 Add "reload configuration" command
4 years ago
Manos Pitsidianakis c5a5c2666b
utilities/pager: show scrolling percentage and/or search results position 4 years ago
Manos Pitsidianakis 857d4d546f
utilities/pager: use LineBreakText for lazy line breaking 4 years ago
Manos Pitsidianakis 6cbb89a8e5
utilities/widgets: fix tiny scrollbar grievances
- set minimum width/height to 1
 - set reverse terminal attribute on !use_color
 - use < > ^ v arrows and # block char if ascii_drawing
4 years ago
Manos Pitsidianakis b659749880
listing: scroll account sidebar menu
Closes #85 Accounts sidebar doesn't scroll
4 years ago
Manos Pitsidianakis e01275cd93
utilities/dialogs: add cursot Unfocused state as default 4 years ago
Manos Pitsidianakis 879af75d88
utilities/dialogs: use align_area to create box 4 years ago
Manos Pitsidianakis 311c1a8a95
utilities/dialogs: respect theme_default 4 years ago
Manos Pitsidianakis ce5c7848e8
utilities: move dialogs to its own submodule 4 years ago
Manos Pitsidianakis ede5851baf
utilities: reverse order of drawing fields in form
Reverse order of drawing since a field might have an auto complete
prompt below it, so rendering the field below instead of above next
would overwrite it.
4 years ago
Manos Pitsidianakis d4f508642a
widgets: allow text overflow in text fields
Show text content of a text field that exceeds the visible width
properly.
4 years ago
Manos Pitsidianakis f69f623818
Fix some invalid area calculations 4 years ago
Manos Pitsidianakis f25f93fccf
utilities: Fix incorrect calculations in ScrollBar 4 years ago
Manos Pitsidianakis aaee6d094c
Fix NO_COLOR cursor highlight in sidebar and progress spinner 4 years ago
Manos Pitsidianakis 6392904047
Replace PosixTimer with async timers 4 years ago
Manos Pitsidianakis 560771b32a
widgets: select AutoCompleteEntry on Enter 4 years ago
Manos Pitsidianakis 3b97e66c10
docs/meli.conf.5: add progress_spinner_sequence doc 4 years ago
Manos Pitsidianakis 3949cecb75
mail/composer: add scrollbars 4 years ago
Manos Pitsidianakis 1e7b40e6b3
utilities: move pager to its own module 4 years ago
Manos Pitsidianakis d8d66641e2
utilities/widgets: only advance stage by timer in ProgressSpinner 4 years ago
Manos Pitsidianakis 4e72b6552a
conf: add setting for progress spinner
Choose between 30-something built in sequences (integers between 0-30)
or define your own list of strings for the progress spinner animation.

Default: 0
4 years ago
Manos Pitsidianakis b343530f0c
widgets: add button type parameter to FormWidget 4 years ago
Manos Pitsidianakis 9ce62c735a
compose: add key selection state for gpg operations
Closes #81
4 years ago
Manos Pitsidianakis 0ca7b0042e
utilities: ensure Form/Button widgets are not always non-dirty 4 years ago
Manos Pitsidianakis e42c9281fd
Fix input events going to hidden components 4 years ago
Manos Pitsidianakis f83df69d2f
utilities/widgets: ensure ProgressSpinner is cleaned up 4 years ago
Manos Pitsidianakis 14663e46b9
Remove some old TODO comments 4 years ago
Manos Pitsidianakis 3ac2c12e7a
Small fixes 4 years ago
Manos Pitsidianakis a7e177586a
Fix clippy lints 4 years ago
Manos Pitsidianakis e06308fed2
MailBackend: change more methods to Futures 4 years ago
Manos Pitsidianakis c0c19268ee
Add ProgressSpinner widget 4 years ago
Manos Pitsidianakis b946b61cf1
terminal/cells.rs: remove unused variables 4 years ago
Manos Pitsidianakis 9fb86ab2f2
components: create layouts module in utilities 4 years ago
Manos Pitsidianakis 9703b39a40
Add execute command parser to improve suggestions
Add grammar for execute commands and parser to identify possible next
tokens for the user's execute command input.

The grammar is given as a sequence of Tokens in each command's
definition. The parser parses the user's input according to this
grammar, and returns the tokens that could come next, if any.
4 years ago
Manos Pitsidianakis eb701695f7
Remove fnv crate 4 years ago
Manos Pitsidianakis 4930d1b46c
Add Italics, Blink, Dim and Hidden text attributes
Text attributes have been rewritten as bit flags, so for example instead of
"BoldUnderline" you'd have to define "Bold | Underline" in your theme
settings.

Requested in #21
4 years ago
Manos Pitsidianakis 670485e8c7
compose: clear bounds of compose area properly 4 years ago
Manos Pitsidianakis 44da24fc96
Add left/right cursor mvments to execute bar 4 years ago
Manos Pitsidianakis c4c11e4abc
Make Selector widget accept FnOnce 4 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.
4 years ago
Manos Pitsidianakis 14b0ef8f37
Respect use_color conf value as well as NO_COLOR 4 years ago
Manos Pitsidianakis c22a141b14
ui/themes: expand theme coverage to status panel and contacts 4 years ago