2019-04-06 01:08:33 +03:00
/*
2019-09-27 12:48:48 +03:00
* meli - conf module
2019-04-06 01:08:33 +03:00
*
* Copyright 2019 Manos Pitsidianakis
*
* This file is part of meli .
*
* meli is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* meli is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with meli . If not , see < http ://www.gnu.org/licenses/>.
* /
2020-02-04 15:52:12 +02:00
//! Configuration for composing email.
2019-11-17 13:27:22 +02:00
use super ::default_vals ::{ false_val , none , true_val } ;
2020-03-01 17:45:55 +02:00
use std ::collections ::HashMap ;
2019-04-06 01:08:33 +03:00
2019-09-27 12:48:48 +03:00
/// Settings for writing and sending new e-mail
2019-11-05 08:35:07 +02:00
#[ derive(Debug, Serialize, Deserialize, Clone) ]
2019-09-27 12:48:48 +03:00
pub struct ComposingSettings {
2019-04-06 01:08:33 +03:00
/// A command to pipe new emails to
/// Required
pub mailer_cmd : String ,
2019-09-27 12:48:48 +03:00
/// Command to launch editor. Can have arguments. Draft filename is given as the last argument. If it's missing, the environment variable $EDITOR is looked up.
2019-11-05 08:35:07 +02:00
#[ serde(default = " none " ) ]
2019-09-27 12:48:48 +03:00
pub editor_cmd : Option < String > ,
2019-11-05 08:35:07 +02:00
/// Embed editor (for terminal interfaces) instead of forking and waiting.
#[ serde(default = " false_val " ) ]
pub embed : bool ,
2019-11-17 13:27:22 +02:00
/// Set "format=flowed" in plain text attachments.
/// Default: true
#[ serde(default = " true_val " ) ]
pub format_flowed : bool ,
2020-03-01 17:45:55 +02:00
/// Set default header values for new drafts
/// Default: empty
#[ serde(default) ]
pub default_header_values : HashMap < String , String > ,
2019-11-05 08:35:07 +02:00
}
impl Default for ComposingSettings {
fn default ( ) -> Self {
ComposingSettings {
mailer_cmd : String ::new ( ) ,
editor_cmd : None ,
embed : false ,
2019-11-17 13:27:22 +02:00
format_flowed : true ,
2020-03-01 17:45:55 +02:00
default_header_values : HashMap ::default ( ) ,
2019-11-05 08:35:07 +02:00
}
}
2019-04-06 01:08:33 +03:00
}