show pinned chats again and order them to the top

This commit is contained in:
Simon Laux
2020-02-08 21:16:40 +01:00
committed by B. Petersen
parent 5678562ce2
commit 1765b8f2cf
4 changed files with 10 additions and 14 deletions

View File

@@ -25,9 +25,7 @@ use std::time::{Duration, SystemTime};
use libc::uintptr_t;
use num_traits::{FromPrimitive, ToPrimitive};
use deltachat::chat::ArchiveState;
use deltachat::chat::ChatId;
use deltachat::chat::MuteDuration;
use deltachat::chat::{ArchiveState, ChatId, MuteDuration};
use deltachat::constants::DC_MSG_ID_LAST_SPECIAL;
use deltachat::contact::Contact;
use deltachat::context::Context;

View File

@@ -521,7 +521,7 @@ pub fn dc_cmdline(context: &Context, line: &str) -> Result<(), failure::Error> {
match chat.get_id().get_archive_state(context) {
ArchiveState::Normal => "",
ArchiveState::Archived => "📦",
ArchiveState::Pinned => "📌"
ArchiveState::Pinned => "📌",
},
);
let lot = chatlist.get_summary(context, i, Some(&chat));
@@ -859,9 +859,7 @@ pub fn dc_cmdline(context: &Context, line: &str) -> Result<(), failure::Error> {
"archive" => ArchiveState::Archived,
"unarchive" | "unpin" => ArchiveState::Normal,
"pin" => ArchiveState::Pinned,
_ => {
panic!("Unexpected command (This should never happen)")
}
_ => panic!("Unexpected command (This should never happen)"),
},
)?;
}

View File

@@ -148,17 +148,17 @@ impl ChatId {
self
);
let mut send_event = false;
if new_archive_state == ArchiveState::Archived {
let send_event = if new_archive_state == ArchiveState::Archived {
sql::execute(
context,
&context.sql,
"UPDATE msgs SET state=? WHERE chat_id=? AND state=?;",
params![MessageState::InNoticed, self, MessageState::InFresh],
)?;
send_event = true;
}
true
} else {
false
};
sql::execute(
context,

View File

@@ -202,9 +202,9 @@ impl Chatlist {
AND (hidden=0 OR state=?))
WHERE c.id>9
AND c.blocked=0
AND c.archived=0
AND NOT c.archived=1
GROUP BY c.id
ORDER BY IFNULL(m.timestamp,c.created_timestamp) DESC, m.id DESC;",
ORDER BY c.archived=2 DESC, IFNULL(m.timestamp,c.created_timestamp) DESC, m.id DESC;",
params![MessageState::OutDraft],
process_row,
process_rows,