Add 'euph.rooms.<name>.autojoin' config option
This commit is contained in:
parent
74561c791b
commit
04581f9158
3 changed files with 12 additions and 1 deletions
|
|
@ -18,6 +18,7 @@ Procedure when bumping the version number:
|
|||
- Config file
|
||||
- `ephemeral` config option
|
||||
- `data_dir` config option
|
||||
- `euph.rooms.<name>.autojoin` config option
|
||||
- `euph.rooms.<name>.username` config option
|
||||
- `euph.rooms.<name>.force_username` config option
|
||||
- `euph.rooms.<name>.password` config option
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ use crate::macros::ok_or_return;
|
|||
|
||||
#[derive(Debug, Clone, Default, Deserialize)]
|
||||
pub struct EuphRoom {
|
||||
#[serde(default)]
|
||||
pub autojoin: bool,
|
||||
pub username: Option<String>,
|
||||
#[serde(default)]
|
||||
pub force_username: bool,
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ impl Rooms {
|
|||
vault: Vault,
|
||||
ui_event_tx: mpsc::UnboundedSender<UiEvent>,
|
||||
) -> Self {
|
||||
Self {
|
||||
let mut result = Self {
|
||||
config,
|
||||
vault,
|
||||
ui_event_tx,
|
||||
|
|
@ -65,7 +65,15 @@ impl Rooms {
|
|||
list: ListState::new(),
|
||||
order: Order::Alphabet,
|
||||
euph_rooms: HashMap::new(),
|
||||
};
|
||||
|
||||
for (name, config) in &config.euph.rooms {
|
||||
if config.autojoin {
|
||||
result.get_or_insert_room(name.clone()).connect();
|
||||
}
|
||||
}
|
||||
|
||||
result
|
||||
}
|
||||
|
||||
fn get_or_insert_room(&mut self, name: String) -> &mut EuphRoom {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue