Add button
This commit is contained in:
parent
437e41f99d
commit
62786cd508
2 changed files with 40 additions and 2 deletions
|
@ -1,6 +1,6 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
contact_notification::ContactNotification, contacts_popover, face_pile::FacePile,
|
contact_notification::ContactNotification, contacts_popover, face_pile::FacePile,
|
||||||
toggle_deafen, toggle_mute, toggle_screen_sharing, ToggleDeafen, ToggleMute,
|
toggle_deafen, toggle_mute, toggle_screen_sharing, LeaveCall, ToggleDeafen, ToggleMute,
|
||||||
ToggleScreenSharing,
|
ToggleScreenSharing,
|
||||||
};
|
};
|
||||||
use call::{ActiveCall, ParticipantLocation, Room};
|
use call::{ActiveCall, ParticipantLocation, Room};
|
||||||
|
@ -85,7 +85,7 @@ impl View for CollabTitlebarItem {
|
||||||
{
|
{
|
||||||
right_container
|
right_container
|
||||||
.add_children(self.render_in_call_share_unshare_button(&workspace, &theme, cx));
|
.add_children(self.render_in_call_share_unshare_button(&workspace, &theme, cx));
|
||||||
|
right_container.add_child(self.render_leave_call(&theme, cx));
|
||||||
left_container
|
left_container
|
||||||
.add_child(self.render_current_user(&workspace, &theme, &user, peer_id, cx));
|
.add_child(self.render_current_user(&workspace, &theme, &user, peer_id, cx));
|
||||||
left_container.add_children(self.render_collaborators(&workspace, &theme, &room, cx));
|
left_container.add_children(self.render_collaborators(&workspace, &theme, &room, cx));
|
||||||
|
@ -544,6 +544,43 @@ impl CollabTitlebarItem {
|
||||||
.aligned()
|
.aligned()
|
||||||
.into_any()
|
.into_any()
|
||||||
}
|
}
|
||||||
|
fn render_leave_call(&self, theme: &Theme, cx: &mut ViewContext<Self>) -> AnyElement<Self> {
|
||||||
|
let icon = "icons/radix/exit.svg";
|
||||||
|
let tooltip = "Leave call";
|
||||||
|
|
||||||
|
let titlebar = &theme.workspace.titlebar;
|
||||||
|
MouseEventHandler::<LeaveCall, Self>::new(0, cx, |state, _| {
|
||||||
|
let style = titlebar
|
||||||
|
.toggle_speakers_button
|
||||||
|
.in_state(false)
|
||||||
|
.style_for(state);
|
||||||
|
Svg::new(icon)
|
||||||
|
.with_color(style.color)
|
||||||
|
.constrained()
|
||||||
|
.with_width(style.icon_width)
|
||||||
|
.aligned()
|
||||||
|
.constrained()
|
||||||
|
.with_width(style.button_width)
|
||||||
|
.with_height(style.button_width)
|
||||||
|
.contained()
|
||||||
|
.with_style(style.container)
|
||||||
|
})
|
||||||
|
.with_cursor_style(CursorStyle::PointingHand)
|
||||||
|
.on_click(MouseButton::Left, move |_, _, cx| {
|
||||||
|
ActiveCall::global(cx)
|
||||||
|
.update(cx, |call, cx| call.hang_up(cx))
|
||||||
|
.detach_and_log_err(cx);
|
||||||
|
})
|
||||||
|
.with_tooltip::<LeaveCall>(
|
||||||
|
0,
|
||||||
|
tooltip.into(),
|
||||||
|
Some(Box::new(LeaveCall)),
|
||||||
|
theme.tooltip.clone(),
|
||||||
|
cx,
|
||||||
|
)
|
||||||
|
.aligned()
|
||||||
|
.into_any()
|
||||||
|
}
|
||||||
fn render_in_call_share_unshare_button(
|
fn render_in_call_share_unshare_button(
|
||||||
&self,
|
&self,
|
||||||
workspace: &ViewHandle<Workspace>,
|
workspace: &ViewHandle<Workspace>,
|
||||||
|
|
|
@ -22,6 +22,7 @@ actions!(
|
||||||
ToggleScreenSharing,
|
ToggleScreenSharing,
|
||||||
ToggleMute,
|
ToggleMute,
|
||||||
ToggleDeafen,
|
ToggleDeafen,
|
||||||
|
LeaveCall,
|
||||||
ShareMicrophone
|
ShareMicrophone
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue