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); 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. * Get archived state.
* *

View File

@@ -1203,7 +1203,7 @@ pub unsafe extern "C" fn dc_archive_chat(
1 => ArchiveState::Archived, 1 => ArchiveState::Archived,
2 => ArchiveState::Pinned, 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; return;
} }
}; };

View File

@@ -423,28 +423,28 @@ class Chat(object):
"""return True if this chat is archived. """return True if this chat is archived.
:returns: True if 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): def is_pinned(self):
"""return True if this chat is pinned. """return True if this chat is pinned.
:returns: True if 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): def archive(self):
"""archive the chat. """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): def unarchive(self):
"""unarchive the chat. """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): def pin(self):
"""pin the chat. """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): def unpin(self):
"""unpin the chat. (same as unarchive) """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_SINGLE = 100
DC_CHAT_TYPE_GROUP = 120 DC_CHAT_TYPE_GROUP = 120
DC_CHAT_TYPE_VERIFIED_GROUP = 130 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_MARKER1 = 1
DC_MSG_ID_DAYMARKER = 9 DC_MSG_ID_DAYMARKER = 9
DC_MSG_ID_LAST_SPECIAL = 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 { impl rusqlite::types::FromSql for ArchiveState {
fn column_result(value: rusqlite::types::ValueRef) -> rusqlite::types::FromSqlResult<Self> { fn column_result(value: rusqlite::types::ValueRef) -> rusqlite::types::FromSqlResult<Self> {
i64::column_result(value).and_then(|val| { i64::column_result(value).and_then(|val| {
Ok({ match val {
match val { 2 => Ok(ArchiveState::Pinned),
2 => ArchiveState::Pinned, 1 => Ok(ArchiveState::Archived),
1 => ArchiveState::Archived, 0 => Ok(ArchiveState::Normal),
0 => ArchiveState::Normal, n => {
_ => { // unknown archived state, falling back to normal state (was this db opened with a newer deltachat version?)
println!("unknown archived state, falling back to normal state (was this db opened with a newer deltachat version?)"); Err(rusqlite::types::FromSqlError::OutOfRange(n))
ArchiveState::Normal
},
} }
}) }
}) })
} }
} }