Channel chat: Add edit message (#9035)
**Summary**: - Removed reply message from message_menu - Made render_popover_buttons a bit more reusable - Fixed issue that you can't close the reply/edit preview when you are not focusing the message editor - Notify only the new people that were mentioned inside the edited message **Follow up** - Fix that we update the notification message for the people that we mentioned already - Fix that we remove the notification when a message gets deleted. - Fix last acknowledge message id is in correct now **Todo**: - [x] Add tests - [x] Change new added bindings to the `Editor::Cancel` event. Release Notes: - Added editing of chat messages ([#6707](https://github.com/zed-industries/zed/issues/6707)). <img width="239" alt="Screenshot 2024-03-09 at 11 55 23" src="https://github.com/zed-industries/zed/assets/62463826/b0949f0d-0f8b-43e1-ac20-4c6d40ac41e1"> <img width="240" alt="Screenshot 2024-03-13 at 13 34 23" src="https://github.com/zed-industries/zed/assets/62463826/d0636da2-c5aa-4fed-858e-4bebe5695ba7"> --------- Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
This commit is contained in:
parent
5139aa3811
commit
3dadfe4787
16 changed files with 743 additions and 149 deletions
|
@ -37,6 +37,7 @@ pub struct MessageEditor {
|
|||
mentions_task: Option<Task<()>>,
|
||||
channel_id: Option<ChannelId>,
|
||||
reply_to_message_id: Option<u64>,
|
||||
edit_message_id: Option<u64>,
|
||||
}
|
||||
|
||||
struct MessageEditorCompletionProvider(WeakView<MessageEditor>);
|
||||
|
@ -131,6 +132,7 @@ impl MessageEditor {
|
|||
mentions: Vec::new(),
|
||||
mentions_task: None,
|
||||
reply_to_message_id: None,
|
||||
edit_message_id: None,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -146,6 +148,18 @@ impl MessageEditor {
|
|||
self.reply_to_message_id = None;
|
||||
}
|
||||
|
||||
pub fn edit_message_id(&self) -> Option<u64> {
|
||||
self.edit_message_id
|
||||
}
|
||||
|
||||
pub fn set_edit_message_id(&mut self, edit_message_id: u64) {
|
||||
self.edit_message_id = Some(edit_message_id);
|
||||
}
|
||||
|
||||
pub fn clear_edit_message_id(&mut self) {
|
||||
self.edit_message_id = None;
|
||||
}
|
||||
|
||||
pub fn set_channel(
|
||||
&mut self,
|
||||
channel_id: ChannelId,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue