Detailed changes
@@ -417,11 +417,7 @@ impl Item for ChannelView {
.gap_2()
.child(
Label::new(channel_name)
- .color(if params.selected {
- Color::Default
- } else {
- Color::Muted
- })
+ .color(params.text_color())
.italic(params.preview),
)
.when_some(status, |element, status| {
@@ -649,11 +649,7 @@ impl Item for ProjectDiagnosticsEditor {
fn tab_content(&self, params: TabContentParams, _: &WindowContext) -> AnyElement {
if self.summary.error_count == 0 && self.summary.warning_count == 0 {
Label::new("No problems")
- .color(if params.selected {
- Color::Default
- } else {
- Color::Muted
- })
+ .color(params.text_color())
.into_any_element()
} else {
h_flex()
@@ -663,13 +659,10 @@ impl Item for ProjectDiagnosticsEditor {
h_flex()
.gap_1()
.child(Icon::new(IconName::XCircle).color(Color::Error))
- .child(Label::new(self.summary.error_count.to_string()).color(
- if params.selected {
- Color::Default
- } else {
- Color::Muted
- },
- )),
+ .child(
+ Label::new(self.summary.error_count.to_string())
+ .color(params.text_color()),
+ ),
)
})
.when(self.summary.warning_count > 0, |then| {
@@ -677,13 +670,10 @@ impl Item for ProjectDiagnosticsEditor {
h_flex()
.gap_1()
.child(Icon::new(IconName::ExclamationTriangle).color(Color::Warning))
- .child(Label::new(self.summary.warning_count.to_string()).color(
- if params.selected {
- Color::Default
- } else {
- Color::Muted
- },
- )),
+ .child(
+ Label::new(self.summary.warning_count.to_string())
+ .color(params.text_color()),
+ ),
)
})
.into_any_element()
@@ -466,11 +466,7 @@ impl Item for GroupedDiagnosticsEditor {
fn tab_content(&self, params: TabContentParams, _: &WindowContext) -> AnyElement {
if self.summary.error_count == 0 && self.summary.warning_count == 0 {
Label::new("No problems")
- .color(if params.selected {
- Color::Default
- } else {
- Color::Muted
- })
+ .color(params.text_color())
.into_any_element()
} else {
h_flex()
@@ -480,13 +476,10 @@ impl Item for GroupedDiagnosticsEditor {
h_flex()
.gap_1()
.child(Icon::new(IconName::XCircle).color(Color::Error))
- .child(Label::new(self.summary.error_count.to_string()).color(
- if params.selected {
- Color::Default
- } else {
- Color::Muted
- },
- )),
+ .child(
+ Label::new(self.summary.error_count.to_string())
+ .color(params.text_color()),
+ ),
)
})
.when(self.summary.warning_count > 0, |then| {
@@ -494,13 +487,10 @@ impl Item for GroupedDiagnosticsEditor {
h_flex()
.gap_1()
.child(Icon::new(IconName::ExclamationTriangle).color(Color::Warning))
- .child(Label::new(self.summary.warning_count.to_string()).color(
- if params.selected {
- Color::Default
- } else {
- Color::Muted
- },
- )),
+ .child(
+ Label::new(self.summary.warning_count.to_string())
+ .color(params.text_color()),
+ ),
)
})
.into_any_element()
@@ -80,11 +80,7 @@ impl Item for ImageView {
.to_string();
Label::new(title)
.single_line()
- .color(if params.selected {
- Color::Default
- } else {
- Color::Muted
- })
+ .color(params.text_color())
.italic(params.preview)
.into_any_element()
}
@@ -994,11 +994,7 @@ impl Item for TerminalView {
)
}),
)
- .child(Label::new(title).color(if params.selected {
- Color::Default
- } else {
- Color::Muted
- }))
+ .child(Label::new(title).color(params.text_color()))
.into_any()
}
@@ -142,6 +142,17 @@ pub struct TabContentParams {
pub preview: bool,
}
+impl TabContentParams {
+ /// Returns the text color to be used for the tab content.
+ pub fn text_color(&self) -> Color {
+ if self.selected {
+ Color::Default
+ } else {
+ Color::Muted
+ }
+ }
+}
+
pub trait Item: FocusableView + EventEmitter<Self::Event> {
type Event;
@@ -154,13 +165,9 @@ pub trait Item: FocusableView + EventEmitter<Self::Event> {
return gpui::Empty.into_any();
};
- let color = if params.selected {
- Color::Default
- } else {
- Color::Muted
- };
-
- Label::new(text).color(color).into_any_element()
+ Label::new(text)
+ .color(params.text_color())
+ .into_any_element()
}
/// Returns the textual contents of the tab.