File tree Expand file tree Collapse file tree 8 files changed +28
-8
lines changed Expand file tree Collapse file tree 8 files changed +28
-8
lines changed Original file line number Diff line number Diff line change @@ -117,7 +117,7 @@ impl Avatar {
117117 closure ! ( |_: Self , item: Option <glib:: Object >, title: String | {
118118 item. as_ref( )
119119 . and_then( |i| i. downcast_ref:: <Chat >( ) )
120- . filter( |chat| chat. is_own_chat( ) )
120+ . filter( |chat| chat. is_own_chat( ) || chat . is_replies_chat ( ) )
121121 // Workaround for having a blue AdwAvatar for Saved Messages chat
122122 . map( |_| "-" . to_string( ) )
123123 . unwrap_or( title)
@@ -137,9 +137,15 @@ impl Avatar {
137137 >| {
138138 item. as_ref( )
139139 . and_then( |i| i. downcast_ref:: <Chat >( ) )
140- . filter( |chat| chat. is_own_chat( ) )
140+ . filter( |chat| chat. is_own_chat( ) || chat . is_replies_chat ( ) )
141141 // Show bookmark icon for Saved Messages chat
142- . map( |_| "user-bookmarks-symbolic" )
142+ . map( |chat| {
143+ if chat. is_replies_chat( ) {
144+ "mail-reply-sender-symbolic"
145+ } else {
146+ "user-bookmarks-symbolic"
147+ }
148+ } )
143149 } ) ) ;
144150 icon_name_expression. bind ( & * imp. avatar , "icon-name" , Some ( self ) ) ;
145151
Original file line number Diff line number Diff line change @@ -22,6 +22,8 @@ pub(crate) fn chat_display_name(chat_expression: >k::Expression) -> gtk::Expre
2222 let is_deleted = args[ 3 ] . get :: < bool > ( ) . unwrap ( ) ;
2323 if chat. is_own_chat ( ) {
2424 gettext ( "Saved Messages" )
25+ } else if chat. is_replies_chat ( ) {
26+ gettext ( "Replies" )
2527 } else if is_deleted {
2628 gettext ( "Deleted Account" )
2729 } else {
Original file line number Diff line number Diff line change @@ -760,6 +760,14 @@ impl ChatActionBar {
760760 imp. action_bar_stack . set_visible_child_name ( "entry" ) ;
761761 } else if is_blocked {
762762 imp. action_bar_stack . set_visible_child_name ( "unblock" ) ;
763+ } else if chat. is_replies_chat ( ) {
764+ imp. action_bar_stack . set_visible_child_name ( "mute" ) ;
765+
766+ if self . is_chat_muted ( ) {
767+ imp. mute_button . set_label ( & gettext ( "Unmute" ) ) ;
768+ } else {
769+ imp. mute_button . set_label ( & gettext ( "Mute" ) ) ;
770+ }
763771 } else {
764772 imp. action_bar_stack . set_visible_child_name ( "entry" ) ;
765773 }
Original file line number Diff line number Diff line change @@ -176,7 +176,7 @@ impl MessageBubble {
176176
177177 let show_sender = if force_hide_sender {
178178 None
179- } else if message. chat ( ) . is_own_chat ( ) {
179+ } else if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
180180 if message. is_outgoing ( ) {
181181 None
182182 } else {
Original file line number Diff line number Diff line change @@ -213,7 +213,7 @@ impl MessageRow {
213213 if let Some ( message) = message. downcast_ref :: < Message > ( ) {
214214 let show_avatar = if message. is_outgoing ( ) {
215215 false
216- } else if message. chat ( ) . is_own_chat ( ) {
216+ } else if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
217217 message. forward_info ( ) . is_some ( )
218218 } else {
219219 match message. chat ( ) . type_ ( ) {
@@ -241,7 +241,7 @@ impl MessageRow {
241241 }
242242 } ;
243243
244- if message. chat ( ) . is_own_chat ( ) {
244+ if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
245245 match message. forward_info ( ) . unwrap ( ) . origin ( ) {
246246 MessageForwardOrigin :: User ( user) => {
247247 avatar. set_custom_text ( None ) ;
Original file line number Diff line number Diff line change @@ -571,7 +571,7 @@ fn sender_label(message: Message) -> Option<String> {
571571 _ => return None ,
572572 }
573573
574- if message. chat ( ) . is_own_chat ( ) {
574+ if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
575575 if message. is_outgoing ( ) {
576576 None
577577 } else {
Original file line number Diff line number Diff line change @@ -481,6 +481,10 @@ impl Chat {
481481 self . type_ ( ) . user ( ) == Some ( & self . session ( ) . me ( ) )
482482 }
483483
484+ pub ( crate ) fn is_replies_chat ( & self ) -> bool {
485+ self . id ( ) == 1271266957 || self . id ( ) == 708513
486+ }
487+
484488 pub ( crate ) fn permissions ( & self ) -> BoxedChatPermissions {
485489 self . imp ( ) . permissions . borrow ( ) . to_owned ( ) . unwrap ( )
486490 }
Original file line number Diff line number Diff line change @@ -313,7 +313,7 @@ impl Message {
313313 }
314314
315315 pub ( crate ) fn sender_display_name_expression ( & self ) -> gtk:: Expression {
316- if self . chat ( ) . is_own_chat ( ) {
316+ if self . chat ( ) . is_own_chat ( ) || self . chat ( ) . is_replies_chat ( ) {
317317 self . forward_info ( )
318318 . map ( MessageForwardInfo :: origin)
319319 . map ( |forward_origin| match forward_origin {
You can’t perform that action at this time.
0 commit comments