mirror of
https://github.com/chatmail/core.git
synced 2026-04-24 00:46:30 +03:00
show pinned chats again and order them to the top
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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)"),
|
||||
},
|
||||
)?;
|
||||
}
|
||||
|
||||
10
src/chat.rs
10
src/chat.rs
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user