address some of flubs comments

This commit is contained in:
Simon Laux
2020-02-11 11:54:04 +01:00
committed by B. Petersen
parent ac4b2b9dfe
commit 2e8409f146
5 changed files with 21 additions and 16 deletions

View File

@@ -2845,6 +2845,10 @@ char* dc_chat_get_profile_image (const dc_chat_t* chat);
uint32_t dc_chat_get_color (const dc_chat_t* chat);
#define DC_CHAT_ARCHIVE_STATE_NORMAL 0
#define DC_CHAT_ARCHIVE_STATE_ARCHIVED 1
#define DC_CHAT_ARCHIVE_STATE_PINNED 2
/**
* Get archived state.
*

View File

@@ -1203,7 +1203,7 @@ pub unsafe extern "C" fn dc_archive_chat(
1 => ArchiveState::Archived,
2 => ArchiveState::Pinned,
_ => {
eprintln!("ignoring careless call to dc_archive_chat(): unknown archived state");
ffi_context.warning("ignoring careless call to dc_archive_chat(): unknown archived state");
return;
}
};

View File

@@ -423,28 +423,28 @@ class Chat(object):
"""return True if this chat is archived.
:returns: True if archived.
"""
return lib.dc_chat_get_archived(self._dc_chat) == 1
return lib.dc_chat_get_archived(self._dc_chat) == const.DC_CHAT_ARCHIVE_STATE_ARCHIVED
def is_pinned(self):
"""return True if this chat is pinned.
:returns: True if pinned.
"""
return lib.dc_chat_get_archived(self._dc_chat) == 2
return lib.dc_chat_get_archived(self._dc_chat) == const.DC_CHAT_ARCHIVE_STATE_PINNED
def archive(self):
"""archive the chat.
"""
lib.dc_archive_chat(self._dc_context, self.id, 1)
lib.dc_archive_chat(self._dc_context, self.id, const.DC_CHAT_ARCHIVE_STATE_ARCHIVED)
def unarchive(self):
"""unarchive the chat.
"""
lib.dc_archive_chat(self._dc_context, self.id, 0)
lib.dc_archive_chat(self._dc_context, self.id, const.DC_CHAT_ARCHIVE_STATE_NORMAL)
def pin(self):
"""pin the chat.
"""
lib.dc_archive_chat(self._dc_context, self.id, 2)
lib.dc_archive_chat(self._dc_context, self.id, const.DC_CHAT_ARCHIVE_STATE_PINNED)
def unpin(self):
"""unpin the chat. (same as unarchive)

View File

@@ -33,6 +33,9 @@ DC_CHAT_TYPE_UNDEFINED = 0
DC_CHAT_TYPE_SINGLE = 100
DC_CHAT_TYPE_GROUP = 120
DC_CHAT_TYPE_VERIFIED_GROUP = 130
DC_CHAT_ARCHIVE_STATE_NORMAL = 0
DC_CHAT_ARCHIVE_STATE_ARCHIVED = 1
DC_CHAT_ARCHIVE_STATE_PINNED = 2
DC_MSG_ID_MARKER1 = 1
DC_MSG_ID_DAYMARKER = 9
DC_MSG_ID_LAST_SPECIAL = 9

View File

@@ -961,17 +961,15 @@ impl rusqlite::types::ToSql for ArchiveState {
impl rusqlite::types::FromSql for ArchiveState {
fn column_result(value: rusqlite::types::ValueRef) -> rusqlite::types::FromSqlResult<Self> {
i64::column_result(value).and_then(|val| {
Ok({
match val {
2 => ArchiveState::Pinned,
1 => ArchiveState::Archived,
0 => ArchiveState::Normal,
_ => {
println!("unknown archived state, falling back to normal state (was this db opened with a newer deltachat version?)");
ArchiveState::Normal
},
match val {
2 => Ok(ArchiveState::Pinned),
1 => Ok(ArchiveState::Archived),
0 => Ok(ArchiveState::Normal),
n => {
// unknown archived state, falling back to normal state (was this db opened with a newer deltachat version?)
Err(rusqlite::types::FromSqlError::OutOfRange(n))
}
})
}
})
}
}