mirror of
https://github.com/youwen5/iamb.git
synced 2025-06-19 21:29:52 -07:00
Add a new :chats
window that lists both DMs and Rooms (#184)
Fixes #172
This commit is contained in:
parent
88af9bfec3
commit
b7ae01499b
7 changed files with 211 additions and 19 deletions
|
@ -227,6 +227,7 @@ pub type UserOverrides = HashMap<OwnedUserId, UserDisplayTunables>;
|
|||
|
||||
fn merge_sorts(a: SortOverrides, b: SortOverrides) -> SortOverrides {
|
||||
SortOverrides {
|
||||
chats: b.chats.or(a.chats),
|
||||
dms: b.dms.or(a.dms),
|
||||
rooms: b.rooms.or(a.rooms),
|
||||
spaces: b.spaces.or(a.spaces),
|
||||
|
@ -308,6 +309,7 @@ pub struct ImagePreviewProtocolValues {
|
|||
|
||||
#[derive(Clone)]
|
||||
pub struct SortValues {
|
||||
pub chats: Vec<SortColumn<SortFieldRoom>>,
|
||||
pub dms: Vec<SortColumn<SortFieldRoom>>,
|
||||
pub rooms: Vec<SortColumn<SortFieldRoom>>,
|
||||
pub spaces: Vec<SortColumn<SortFieldRoom>>,
|
||||
|
@ -316,6 +318,7 @@ pub struct SortValues {
|
|||
|
||||
#[derive(Clone, Default, Deserialize)]
|
||||
pub struct SortOverrides {
|
||||
pub chats: Option<Vec<SortColumn<SortFieldRoom>>>,
|
||||
pub dms: Option<Vec<SortColumn<SortFieldRoom>>>,
|
||||
pub rooms: Option<Vec<SortColumn<SortFieldRoom>>>,
|
||||
pub spaces: Option<Vec<SortColumn<SortFieldRoom>>>,
|
||||
|
@ -325,11 +328,12 @@ pub struct SortOverrides {
|
|||
impl SortOverrides {
|
||||
pub fn values(self) -> SortValues {
|
||||
let rooms = self.rooms.unwrap_or_else(|| Vec::from(DEFAULT_ROOM_SORT));
|
||||
let chats = self.chats.unwrap_or_else(|| rooms.clone());
|
||||
let dms = self.dms.unwrap_or_else(|| rooms.clone());
|
||||
let spaces = self.spaces.unwrap_or_else(|| rooms.clone());
|
||||
let members = self.members.unwrap_or_else(|| Vec::from(DEFAULT_MEMBERS_SORT));
|
||||
|
||||
SortValues { rooms, members, dms, spaces }
|
||||
SortValues { rooms, members, chats, dms, spaces }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue