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 @@ -717,6 +717,14 @@ impl ChatActionBar {
717717 imp. action_bar_stack . set_visible_child_name ( "entry" ) ;
718718 } else if is_blocked {
719719 imp. action_bar_stack . set_visible_child_name ( "unblock" ) ;
720+ } else if chat. is_replies_chat ( ) {
721+ imp. action_bar_stack . set_visible_child_name ( "mute" ) ;
722+
723+ if self . is_chat_muted ( ) {
724+ imp. mute_button . set_label ( & gettext ( "Unmute" ) ) ;
725+ } else {
726+ imp. mute_button . set_label ( & gettext ( "Mute" ) ) ;
727+ }
720728 } else {
721729 imp. action_bar_stack . set_visible_child_name ( "entry" ) ;
722730 }
Original file line number Diff line number Diff line change @@ -181,7 +181,7 @@ impl MessageBubble {
181181
182182 let show_sender = if force_hide_sender {
183183 None
184- } else if message. chat ( ) . is_own_chat ( ) {
184+ } else if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
185185 if message. is_outgoing ( ) {
186186 None
187187 } else {
Original file line number Diff line number Diff line change @@ -216,7 +216,7 @@ impl MessageRow {
216216 if let Some ( message) = message. downcast_ref :: < Message > ( ) {
217217 let show_avatar = if message. is_outgoing ( ) {
218218 false
219- } else if message. chat ( ) . is_own_chat ( ) {
219+ } else if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
220220 message. forward_info ( ) . is_some ( )
221221 } else {
222222 match message. chat ( ) . type_ ( ) {
@@ -244,7 +244,7 @@ impl MessageRow {
244244 }
245245 } ;
246246
247- if message. chat ( ) . is_own_chat ( ) {
247+ if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
248248 match message. forward_info ( ) . unwrap ( ) . origin ( ) {
249249 MessageForwardOrigin :: User ( user) => {
250250 avatar. set_custom_text ( None ) ;
Original file line number Diff line number Diff line change @@ -604,7 +604,7 @@ fn sender_label(message: Message) -> Option<String> {
604604 _ => return None ,
605605 }
606606
607- if message. chat ( ) . is_own_chat ( ) {
607+ if message. chat ( ) . is_own_chat ( ) || message . chat ( ) . is_replies_chat ( ) {
608608 if message. is_outgoing ( ) {
609609 None
610610 } else {
Original file line number Diff line number Diff line change @@ -412,6 +412,10 @@ impl Chat {
412412 self . type_ ( ) . user ( ) == Some ( & self . session ( ) . me ( ) )
413413 }
414414
415+ pub ( crate ) fn is_replies_chat ( & self ) -> bool {
416+ self . id ( ) == 1271266957 || self . id ( ) == 708513
417+ }
418+
415419 pub ( crate ) fn permissions ( & self ) -> BoxedChatPermissions {
416420 self . imp ( ) . permissions . borrow ( ) . to_owned ( ) . unwrap ( )
417421 }
Original file line number Diff line number Diff line change @@ -278,7 +278,7 @@ impl Message {
278278 }
279279
280280 pub ( crate ) fn sender_display_name_expression ( & self ) -> gtk:: Expression {
281- if self . chat ( ) . is_own_chat ( ) {
281+ if self . chat ( ) . is_own_chat ( ) || self . chat ( ) . is_replies_chat ( ) {
282282 self . forward_info ( )
283283 . map ( MessageForwardInfo :: origin)
284284 . map ( |forward_origin| match forward_origin {
You can’t perform that action at this time.
0 commit comments