Properly color file labels in project panel

This commit is contained in:
Kirill Bulatov 2023-12-23 01:27:41 +02:00
parent b501f4eafc
commit 9600337d81
2 changed files with 7 additions and 8 deletions

View file

@ -1364,16 +1364,15 @@ impl ProjectPanel {
.map_or(false, |selection| selection.entry_id == entry_id);
let width = self.width.unwrap_or(px(0.));
let theme = cx.theme();
let filename_text_color = details
.git_status
.as_ref()
.map(|status| match status {
GitFileStatus::Added => theme.status().created,
GitFileStatus::Modified => theme.status().modified,
GitFileStatus::Conflict => theme.status().conflict,
GitFileStatus::Added => Color::Created,
GitFileStatus::Modified => Color::Modified,
GitFileStatus::Conflict => Color::Conflict,
})
.unwrap_or(theme.status().info);
.unwrap_or(Color::Default);
let file_name = details.filename.clone();
let icon = details.icon.clone();
@ -1407,9 +1406,7 @@ impl ProjectPanel {
if let (Some(editor), true) = (Some(&self.filename_editor), show_editor) {
div().h_full().w_full().child(editor.clone())
} else {
div()
.text_color(filename_text_color)
.child(Label::new(file_name))
div().child(Label::new(file_name).color(filename_text_color))
}
.ml_1(),
)

View file

@ -13,6 +13,7 @@ pub enum Color {
Hidden,
Info,
Modified,
Conflict,
Muted,
Placeholder,
Player(u32),
@ -28,6 +29,7 @@ impl Color {
Color::Muted => cx.theme().colors().text_muted,
Color::Created => cx.theme().status().created,
Color::Modified => cx.theme().status().modified,
Color::Conflict => cx.theme().status().conflict,
Color::Deleted => cx.theme().status().deleted,
Color::Disabled => cx.theme().colors().text_disabled,
Color::Hidden => cx.theme().status().hidden,