implements settings, conversation dbus encoding
This commit is contained in:
@@ -16,9 +16,9 @@ pub struct Settings {
|
||||
|
||||
impl Settings {
|
||||
pub fn from_db(db_settings: &mut DbSettings) -> Result<Self> {
|
||||
let server_url = db_settings.get(keys::SERVER_URL)?;
|
||||
let username = db_settings.get(keys::USERNAME)?;
|
||||
let credential_item = db_settings.get(keys::CREDENTIAL_ITEM)?;
|
||||
let server_url: Option<String> = db_settings.get(keys::SERVER_URL)?;
|
||||
let username: Option<String> = db_settings.get(keys::USERNAME)?;
|
||||
let credential_item: Option<String> = db_settings.get(keys::CREDENTIAL_ITEM)?;
|
||||
|
||||
Ok(Self {
|
||||
server_url,
|
||||
@@ -28,9 +28,25 @@ impl Settings {
|
||||
}
|
||||
|
||||
pub fn save(&self, db_settings: &mut DbSettings) -> Result<()> {
|
||||
db_settings.put(keys::SERVER_URL, &self.server_url)?;
|
||||
db_settings.put(keys::USERNAME, &self.username)?;
|
||||
db_settings.put(keys::CREDENTIAL_ITEM, &self.credential_item)?;
|
||||
if let Some(server_url) = &self.server_url {
|
||||
db_settings.put(keys::SERVER_URL, &server_url)?;
|
||||
}
|
||||
if let Some(username) = &self.username {
|
||||
db_settings.put(keys::USERNAME, &username)?;
|
||||
}
|
||||
if let Some(credential_item) = &self.credential_item {
|
||||
db_settings.put(keys::CREDENTIAL_ITEM, &credential_item)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Settings {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
server_url: None,
|
||||
username: None,
|
||||
credential_item: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user