Store children process metadata. Pid and command lines can then be shown
in the UI and in logs.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
prev_entry, next_entry shortcuts (default bindings: Ctrl+p and Ctrl+n)
were not behaving consistently in all different listing index styles. In
particular in some conditions the switch entry shortcuts worked at most
once because the cursor position was not updated properly. This commit
fixes that.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add a default mailbox setting:
> The mailbox that is the default to open / view for this account. Must be
> a valid mailbox name.
>
> If not specified, the default is [`Self::root_mailbox`].
Closes: #350
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
In the next commits we will add a `default_mailbox` field. Instead of
poluting the `Account` struct with more setting fields, consolidate them
on its `settings`.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
accounts.rs is getting rather long (almost 3K lines) so split standalone
stuff in submodules.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Prevent accessing a ThreadView if it has not been initialized by making
an uninitialized ThreadView impossible.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
An error was returned from the db_path function, preventing the issuing
of the reindex command in the background.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
General refactoring to make blocking operations use special blocking
thread workers, SQL operations to use transactions, and setting up WAL
journal mode mode to minimize locking.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
set_err_kind() is a method of the IntoError trait, not an Error method;
it is meant to be used for any error type that can be converted into
Error. Since melib::Error implements Into<melib::Error> tautologically,
this was not a compilation error. Nevertheless, the correct thing to do
is use the type method directly to set ErrorKind.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
AccountSettings extra keys like `vcard_folder` were not taken into
account when validating a config.
This commit introduces an AccountSettings::validate_config() method that
checks for the presence and validity of this key value.
Fixes#349https://git.meli-email.org/meli/meli/issues/349
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Commit (a37d5fc1 conf/shortcuts: implement
a key to command mapping) introduced shortcuts that expand to user
defined commands. To allow already existing shortcuts to take
precedence, the check for the user-defined shortcuts should be the last
one in the evaluation order.
Example problem scenario:
- Press new_mail shortcut (e.g. `m`)
- Code in listing.rs searches if it matches any of the commands, and
regardless if it matches or not, stops the evaluation and returns.
- New mail composer never shows up.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Commit 61a0c3c27f ("listing: do not clear
selection after action") broke select/jump modifiers (e.g. prefixing a
jump with a number).
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>