pane: Fix tooltips of navigation buttons (#17035)
Tooltips for "Go Forward"/"Go Back" did not show the keybindings. Now they do. Release Notes: - N/A
This commit is contained in:
parent
9ca772991f
commit
dfd113dfb0
3 changed files with 24 additions and 9 deletions
|
@ -360,12 +360,7 @@ impl AssistantPanel {
|
||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
.tooltip(move |cx| {
|
.tooltip(move |cx| {
|
||||||
cx.new_view(|cx| {
|
Tooltip::for_action_in("Open History", &DeployHistory, &focus_handle, cx)
|
||||||
let keybind =
|
|
||||||
KeyBinding::for_action_in(&DeployHistory, &focus_handle, cx);
|
|
||||||
Tooltip::new("Open History").key_binding(keybind)
|
|
||||||
})
|
|
||||||
.into()
|
|
||||||
})
|
})
|
||||||
.selected(
|
.selected(
|
||||||
pane.active_item()
|
pane.active_item()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use gpui::{Action, AnyView, IntoElement, Render, VisualContext};
|
use gpui::{Action, AnyView, FocusHandle, IntoElement, Render, VisualContext};
|
||||||
use settings::Settings;
|
use settings::Settings;
|
||||||
use theme::ThemeSettings;
|
use theme::ThemeSettings;
|
||||||
|
|
||||||
|
@ -34,6 +34,19 @@ impl Tooltip {
|
||||||
.into()
|
.into()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn for_action_in(
|
||||||
|
title: impl Into<SharedString>,
|
||||||
|
action: &dyn Action,
|
||||||
|
focus_handle: &FocusHandle,
|
||||||
|
cx: &mut WindowContext,
|
||||||
|
) -> AnyView {
|
||||||
|
cx.new_view(|cx| Self {
|
||||||
|
title: title.into(),
|
||||||
|
meta: None,
|
||||||
|
key_binding: KeyBinding::for_action_in(action, focus_handle, cx),
|
||||||
|
})
|
||||||
|
.into()
|
||||||
|
}
|
||||||
pub fn with_meta(
|
pub fn with_meta(
|
||||||
title: impl Into<SharedString>,
|
title: impl Into<SharedString>,
|
||||||
action: Option<&dyn Action>,
|
action: Option<&dyn Action>,
|
||||||
|
|
|
@ -1979,6 +1979,7 @@ impl Pane {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_tab_bar(&mut self, cx: &mut ViewContext<'_, Pane>) -> impl IntoElement {
|
fn render_tab_bar(&mut self, cx: &mut ViewContext<'_, Pane>) -> impl IntoElement {
|
||||||
|
let focus_handle = self.focus_handle.clone();
|
||||||
let navigate_backward = IconButton::new("navigate_backward", IconName::ArrowLeft)
|
let navigate_backward = IconButton::new("navigate_backward", IconName::ArrowLeft)
|
||||||
.shape(IconButtonShape::Square)
|
.shape(IconButtonShape::Square)
|
||||||
.icon_size(IconSize::Small)
|
.icon_size(IconSize::Small)
|
||||||
|
@ -1987,7 +1988,10 @@ impl Pane {
|
||||||
move |_, cx| view.update(cx, Self::navigate_backward)
|
move |_, cx| view.update(cx, Self::navigate_backward)
|
||||||
})
|
})
|
||||||
.disabled(!self.can_navigate_backward())
|
.disabled(!self.can_navigate_backward())
|
||||||
.tooltip(|cx| Tooltip::for_action("Go Back", &GoBack, cx));
|
.tooltip({
|
||||||
|
let focus_handle = focus_handle.clone();
|
||||||
|
move |cx| Tooltip::for_action_in("Go Back", &GoBack, &focus_handle, cx)
|
||||||
|
});
|
||||||
|
|
||||||
let navigate_forward = IconButton::new("navigate_forward", IconName::ArrowRight)
|
let navigate_forward = IconButton::new("navigate_forward", IconName::ArrowRight)
|
||||||
.shape(IconButtonShape::Square)
|
.shape(IconButtonShape::Square)
|
||||||
|
@ -1997,7 +2001,10 @@ impl Pane {
|
||||||
move |_, cx| view.update(cx, Self::navigate_forward)
|
move |_, cx| view.update(cx, Self::navigate_forward)
|
||||||
})
|
})
|
||||||
.disabled(!self.can_navigate_forward())
|
.disabled(!self.can_navigate_forward())
|
||||||
.tooltip(|cx| Tooltip::for_action("Go Forward", &GoForward, cx));
|
.tooltip({
|
||||||
|
let focus_handle = focus_handle.clone();
|
||||||
|
move |cx| Tooltip::for_action_in("Go Forward", &GoForward, &focus_handle, cx)
|
||||||
|
});
|
||||||
|
|
||||||
TabBar::new("tab_bar")
|
TabBar::new("tab_bar")
|
||||||
.track_scroll(self.tab_bar_scroll_handle.clone())
|
.track_scroll(self.tab_bar_scroll_handle.clone())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue