mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-28 20:01:33 +00:00
Fix microphone and speaking styles
This commit is contained in:
parent
c381e8821c
commit
9ab0efa1f8
3 changed files with 23 additions and 10 deletions
|
@ -668,6 +668,7 @@ impl CollabTitlebarItem {
|
|||
avatar_img,
|
||||
*avatar_style,
|
||||
Color::transparent_black(),
|
||||
None
|
||||
));
|
||||
};
|
||||
|
||||
|
@ -846,17 +847,20 @@ impl CollabTitlebarItem {
|
|||
let leader_style = theme.titlebar.leader_avatar;
|
||||
let follower_style = theme.titlebar.follower_avatar;
|
||||
|
||||
let mut background_color = if muted {
|
||||
gpui::color::Color::red()
|
||||
let microphone_state = if muted {
|
||||
Some(theme.titlebar.muted)
|
||||
} else if speaking {
|
||||
gpui::color::Color::green()
|
||||
Some(theme.titlebar.speaking)
|
||||
} else {
|
||||
theme
|
||||
.titlebar
|
||||
.container
|
||||
.background_color
|
||||
.unwrap_or_default()
|
||||
None
|
||||
};
|
||||
|
||||
let mut background_color = theme
|
||||
.titlebar
|
||||
.container
|
||||
.background_color
|
||||
.unwrap_or_default();
|
||||
|
||||
if let Some(replica_id) = replica_id {
|
||||
if followed_by_self {
|
||||
let selection = theme.editor.replica_selection_style(replica_id).selection;
|
||||
|
@ -872,6 +876,7 @@ impl CollabTitlebarItem {
|
|||
avatar.clone(),
|
||||
Self::location_style(workspace, location, leader_style, cx),
|
||||
background_color,
|
||||
microphone_state
|
||||
))
|
||||
.with_children(
|
||||
(|| {
|
||||
|
@ -903,6 +908,7 @@ impl CollabTitlebarItem {
|
|||
avatar.clone(),
|
||||
follower_style,
|
||||
background_color,
|
||||
None
|
||||
))
|
||||
}))
|
||||
})()
|
||||
|
@ -1021,12 +1027,13 @@ impl CollabTitlebarItem {
|
|||
avatar: Arc<ImageData>,
|
||||
avatar_style: AvatarStyle,
|
||||
background_color: Color,
|
||||
microphone_state: Option<Color>
|
||||
) -> AnyElement<V> {
|
||||
Image::from_data(avatar)
|
||||
.with_style(avatar_style.image)
|
||||
.aligned()
|
||||
.contained()
|
||||
.with_background_color(background_color)
|
||||
.with_background_color(microphone_state.unwrap_or(background_color))
|
||||
.with_corner_radius(avatar_style.outer_corner_radius)
|
||||
.constrained()
|
||||
.with_width(avatar_style.outer_width)
|
||||
|
|
|
@ -132,6 +132,8 @@ pub struct Titlebar {
|
|||
pub sign_in_button: Toggleable<Interactive<ContainedText>>,
|
||||
pub outdated_warning: ContainedText,
|
||||
pub share_button: Toggleable<Interactive<ContainedText>>,
|
||||
pub muted: Color,
|
||||
pub speaking: Color,
|
||||
pub screen_share_button: Toggleable<Interactive<IconButton>>,
|
||||
pub toggle_contacts_button: Toggleable<Interactive<IconButton>>,
|
||||
pub toggle_microphone_button: Toggleable<Interactive<IconButton>>,
|
||||
|
@ -146,6 +148,7 @@ pub struct UserMenu {
|
|||
pub user_menu_button_online: UserMenuButton,
|
||||
pub user_menu_button_offline: UserMenuButton,
|
||||
}
|
||||
|
||||
#[derive(Clone, Deserialize, Default, JsonSchema)]
|
||||
pub struct UserMenuButton {
|
||||
pub user_menu: Toggleable<Interactive<Icon>>,
|
||||
|
|
|
@ -57,6 +57,9 @@ function call_controls(theme: ColorScheme) {
|
|||
},
|
||||
active_color: 'accent'
|
||||
}),
|
||||
|
||||
muted: foreground(theme.lowest, "negative"),
|
||||
speaking: foreground(theme.lowest, "accent"),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,7 +156,7 @@ function user_menu(theme: ColorScheme) {
|
|||
}
|
||||
|
||||
export function titlebar(theme: ColorScheme) {
|
||||
const avatarWidth = 18
|
||||
const avatarWidth = 15
|
||||
const avatarOuterWidth = avatarWidth + 4
|
||||
const followerAvatarWidth = 14
|
||||
const followerAvatarOuterWidth = followerAvatarWidth + 4
|
||||
|
|
Loading…
Reference in a new issue