From 8af003abd0f17fb8d30a4a00e2cdcbf8d97e3926 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Mon, 23 Sep 2024 09:44:00 +0300 Subject: [PATCH] Rename addressbook stuff to "contacts" Wasn't a nice name to begin with. Signed-off-by: Manos Pitsidianakis --- meli/docs/meli.1 | 2 +- meli/src/accounts.rs | 20 ++++++------ meli/src/contacts/editor.rs | 2 +- meli/src/contacts/list.rs | 32 +++++++++---------- meli/src/mail/compose.rs | 4 +-- meli/src/mail/view.rs | 2 +- .../{addressbook => contacts}/jscontact.rs | 2 +- melib/src/{addressbook.rs => contacts/mod.rs} | 8 ++--- melib/src/{addressbook => contacts}/mutt.rs | 2 +- melib/src/{addressbook => contacts}/vcard.rs | 2 +- melib/src/lib.rs | 6 ++-- 11 files changed, 41 insertions(+), 41 deletions(-) rename melib/src/{addressbook => contacts}/jscontact.rs (99%) rename melib/src/{addressbook.rs => contacts/mod.rs} (99%) rename melib/src/{addressbook => contacts}/mutt.rs (99%) rename melib/src/{addressbook => contacts}/vcard.rs (99%) diff --git a/meli/docs/meli.1 b/meli/docs/meli.1 index fb6daffc..be4d6c55 100644 --- a/meli/docs/meli.1 +++ b/meli/docs/meli.1 @@ -450,7 +450,7 @@ supports three kinds of contact backends: .Bl -enum -compact .It an internal format that gets saved under -.Pa $XDG_DATA_HOME/meli/account_name/addressbook Ns +.Pa $XDG_DATA_HOME/meli/account_name/contacts Ns \&. .It vCard files (v3, v4) through the diff --git a/meli/src/accounts.rs b/meli/src/accounts.rs index f37a2e21..24697832 100644 --- a/meli/src/accounts.rs +++ b/meli/src/accounts.rs @@ -43,7 +43,7 @@ use melib::{ log, thread::Threads, utils::{fnmatch::Fnmatch, futures::sleep, random}, - AddressBook, SortField, SortOrder, + Contacts, SortField, SortOrder, }; use smallvec::SmallVec; @@ -129,7 +129,7 @@ pub struct Account { pub mailboxes_order: Vec, pub tree: Vec, pub collection: Collection, - pub address_book: AddressBook, + pub contacts: Contacts, pub settings: AccountConf, pub backend: Arc>>, @@ -143,7 +143,7 @@ pub struct Account { impl Drop for Account { fn drop(&mut self) { if let Ok(data_dir) = xdg::BaseDirectories::with_profile("meli", &self.name) { - if let Ok(data) = data_dir.place_data_file("addressbook") { + if let Ok(data) = data_dir.place_data_file("contacts") { /* place result in cache directory */ let f = match fs::File::create(data) { Ok(f) => f, @@ -158,7 +158,7 @@ impl Drop for Account { permissions.set_mode(0o600); // Read/write for owner only. f.set_permissions(permissions).unwrap(); let writer = io::BufWriter::new(f); - if let Err(err) = serde_json::to_writer(writer, &self.address_book) { + if let Err(err) = serde_json::to_writer(writer, &self.contacts) { eprintln!("{}", err); }; }; @@ -218,16 +218,16 @@ impl Account { )?; let data_dir = xdg::BaseDirectories::with_profile("meli", &name).unwrap(); - let mut address_book = AddressBook::with_account(settings.account()); + let mut contacts = Contacts::with_account(settings.account()); - if let Ok(data) = data_dir.place_data_file("addressbook") { + if let Ok(data) = data_dir.place_data_file("contacts") { if data.exists() { let reader = io::BufReader::new(fs::File::open(data).unwrap()); - let result: result::Result = serde_json::from_reader(reader); + let result: result::Result = serde_json::from_reader(reader); if let Ok(data_t) = result { for (id, c) in data_t.cards { - if !address_book.card_exists(id) && !c.external_resource() { - address_book.add_card(c); + if !contacts.card_exists(id) && !c.external_resource() { + contacts.add_card(c); } } } @@ -313,7 +313,7 @@ impl Account { mailbox_entries: Default::default(), mailboxes_order: Default::default(), tree: Default::default(), - address_book, + contacts, collection: backend.collection(), settings, main_loop_handler, diff --git a/meli/src/contacts/editor.rs b/meli/src/contacts/editor.rs index 5dde71d3..0b07cc61 100644 --- a/meli/src/contacts/editor.rs +++ b/meli/src/contacts/editor.rs @@ -230,7 +230,7 @@ impl Component for ContactManager { let mut new_card = Card::from(fields); new_card.set_id(*self.card.id()); context.accounts[self.account_pos] - .address_book + .contacts .add_card(new_card); context.replies.push_back(UIEvent::StatusEvent( StatusEvent::DisplayMessage("Saved.".into()), diff --git a/meli/src/contacts/list.rs b/meli/src/contacts/list.rs index 1c656ad7..be2aae29 100644 --- a/meli/src/contacts/list.rs +++ b/meli/src/contacts/list.rs @@ -122,17 +122,17 @@ impl ContactList { fn initialize(&mut self, context: &Context) { self.data_columns.clear(); let account = &context.accounts[self.account_pos]; - let book = &account.address_book; - self.length = book.len(); + let contacts = &account.contacts; + self.length = contacts.len(); self.id_positions.clear(); - if self.id_positions.capacity() < book.len() { - self.id_positions.reserve(book.len()); + if self.id_positions.capacity() < contacts.len() { + self.id_positions.reserve(contacts.len()); } self.dirty = true; let mut min_width = ("Name".len(), "E-mail".len(), 0, "external".len(), 0, 0); - for c in book.values() { + for c in contacts.values() { /* name */ let name = c.name().split_graphemes().len(); if name > 0 { @@ -164,8 +164,8 @@ impl ContactList { ); let account = &context.accounts[self.account_pos]; - let book = &account.address_book; - let mut book_values = book.values().collect::>(); + let contacts = &account.contacts; + let mut book_values = contacts.values().collect::>(); book_values.sort_unstable_by_key(|c| c.name()); for (idx, c) in book_values.iter().enumerate() { self.id_positions.push(*c.id()); @@ -294,7 +294,7 @@ impl ContactList { }; grid.change_theme(area, account_attrs); - let s = format!(" [{}]", context.accounts[a.index].address_book.len()); + let s = format!(" [{}]", context.accounts[a.index].contacts.len()); /* Print account name */ grid.write_string( &a.name, @@ -589,8 +589,8 @@ impl Component for ContactList { return true; } let account = &mut context.accounts[self.account_pos]; - let book = &mut account.address_book; - let card = book[&self.id_positions[self.cursor_pos]].clone(); + let contacts = &mut account.contacts; + let card = contacts[&self.id_positions[self.cursor_pos]].clone(); let mut manager = Box::new(ContactManager::new(context)); manager.set_parent_id(self.id); manager.card = card; @@ -612,8 +612,8 @@ impl Component for ContactList { } let card = { let account = &context.accounts[self.account_pos]; - let book = &account.address_book; - book[&self.id_positions[self.cursor_pos]].clone() + let contacts = &account.contacts; + contacts[&self.id_positions[self.cursor_pos]].clone() }; super::export_to_vcard(&card, self.account_pos, context); return true; @@ -626,8 +626,8 @@ impl Component for ContactList { } let account = &context.accounts[self.account_pos]; let account_hash = account.hash(); - let book = &account.address_book; - let card = &book[&self.id_positions[self.cursor_pos]]; + let contacts = &account.contacts; + let card = &contacts[&self.id_positions[self.cursor_pos]]; let mut draft: Draft = Draft::default(); *draft.headers_mut().get_mut("To").unwrap() = format!("{} <{}>", &card.name(), &card.email()); @@ -649,7 +649,7 @@ impl Component for ContactList { } // [ref:TODO]: add a confirmation dialog? context.accounts[self.account_pos] - .address_book + .contacts .remove_card(self.id_positions[self.cursor_pos]); self.initialized = false; self.set_dirty(true); @@ -936,7 +936,7 @@ impl Component for ContactList { fn status(&self, context: &Context) -> String { format!( "{} entries", - context.accounts[self.account_pos].address_book.len() + context.accounts[self.account_pos].contacts.len() ) } } diff --git a/meli/src/mail/compose.rs b/meli/src/mail/compose.rs index e3528fd2..c7b6a7e8 100644 --- a/meli/src/mail/compose.rs +++ b/meli/src/mail/compose.rs @@ -31,7 +31,7 @@ use std::{ use indexmap::IndexSet; use melib::{ email::attachment_types::{ContentType, MultipartType}, - list_management, Address, AddressBook, Draft, HeaderName, SpecialUsageMailbox, SubjectPrefix, + list_management, Address, Contacts, Draft, HeaderName, SpecialUsageMailbox, SubjectPrefix, UnixTimestamp, }; use nix::sys::wait::WaitStatus; @@ -637,7 +637,7 @@ To: {} k.into(), headers[k].to_string(), Box::new(move |c, term| { - let book: &AddressBook = &c.accounts[&account_hash].address_book; + let book: &Contacts = &c.accounts[&account_hash].contacts; let results: Vec = book.search(term); results .into_iter() diff --git a/meli/src/mail/view.rs b/meli/src/mail/view.rs index 10ce5f18..c65a042f 100644 --- a/meli/src/mail/view.rs +++ b/meli/src/mail/view.rs @@ -414,7 +414,7 @@ impl Component for MailView { let account = &mut context.accounts[&coordinates.0]; { for card in results.iter() { - account.address_book.add_card(card.clone()); + account.contacts.add_card(card.clone()); } } self.contact_selector = None; diff --git a/melib/src/addressbook/jscontact.rs b/melib/src/contacts/jscontact.rs similarity index 99% rename from melib/src/addressbook/jscontact.rs rename to melib/src/contacts/jscontact.rs index b682a581..dde9e0d8 100644 --- a/melib/src/addressbook/jscontact.rs +++ b/melib/src/contacts/jscontact.rs @@ -23,7 +23,7 @@ use std::hash::Hasher; use crate::{ - addressbook::{Card, CardId}, + contacts::{Card, CardId}, error::Result, }; diff --git a/melib/src/addressbook.rs b/melib/src/contacts/mod.rs similarity index 99% rename from melib/src/addressbook.rs rename to melib/src/contacts/mod.rs index 3ec4110f..e8cd7071 100644 --- a/melib/src/addressbook.rs +++ b/melib/src/contacts/mod.rs @@ -1,5 +1,5 @@ /* - * meli - addressbook module + * meli - contacts module * * Copyright 2019 Manos Pitsidianakis * @@ -79,7 +79,7 @@ impl From for CardId { } #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] -pub struct AddressBook { +pub struct Contacts { display_name: String, created: UnixTimestamp, last_edited: UnixTimestamp, @@ -129,7 +129,7 @@ impl Hash for Card { } } -impl AddressBook { +impl Contacts { pub fn new(display_name: String) -> Self { Self { display_name, @@ -219,7 +219,7 @@ impl AddressBook { } } -impl Deref for AddressBook { +impl Deref for Contacts { type Target = IndexMap; fn deref(&self) -> &IndexMap { diff --git a/melib/src/addressbook/mutt.rs b/melib/src/contacts/mutt.rs similarity index 99% rename from melib/src/addressbook/mutt.rs rename to melib/src/contacts/mutt.rs index 5b9ea4e7..bfece834 100644 --- a/melib/src/addressbook/mutt.rs +++ b/melib/src/contacts/mutt.rs @@ -1,5 +1,5 @@ /* - * meli - addressbook module + * meli - contacts module * * Copyright 2019 Manos Pitsidianakis * diff --git a/melib/src/addressbook/vcard.rs b/melib/src/contacts/vcard.rs similarity index 99% rename from melib/src/addressbook/vcard.rs rename to melib/src/contacts/vcard.rs index 89fe7b1c..40fc0708 100644 --- a/melib/src/addressbook/vcard.rs +++ b/melib/src/contacts/vcard.rs @@ -1,5 +1,5 @@ /* - * meli - addressbook module + * meli - contacts module * * Copyright 2019 Manos Pitsidianakis * diff --git a/melib/src/lib.rs b/melib/src/lib.rs index 07bf4ea4..61316d24 100644 --- a/melib/src/lib.rs +++ b/melib/src/lib.rs @@ -86,7 +86,7 @@ //! - Decode attachments (see module [`email::attachments`]) //! - Create new mail (see [`email::Draft`](email::compose::Draft)) //! - Send mail with an SMTP client (see module [`smtp`]) -//! - Manage an `addressbook` i.e. have contacts (see module [`addressbook`]) +//! - Manage contacts (see module [`contacts`]) //! - Build thread structures out of a list of mail via their `In-Reply-To` and //! `References` header values (see module [`thread`]) //! @@ -141,8 +141,8 @@ pub use utils::{ SortField, SortOrder, }; -pub mod addressbook; -pub use addressbook::*; +pub mod contacts; +pub use contacts::*; pub mod backends; pub use backends::*; mod collection;