ui: Add functions for generating textual representations of key bindings (#15287)
This PR adds some helper functions in the `ui` crate that can be used to get textural representations of keystrokes or key bindings. Release Notes: - N/A
This commit is contained in:
parent
a5279cc48a
commit
c937a2fcdd
5 changed files with 206 additions and 23 deletions
|
@ -27,7 +27,6 @@ pub struct QuickActionBar {
|
|||
_inlay_hints_enabled_subscription: Option<Subscription>,
|
||||
active_item: Option<Box<dyn ItemHandle>>,
|
||||
buffer_search_bar: View<BufferSearchBar>,
|
||||
platform_style: PlatformStyle,
|
||||
repl_menu: Option<View<ContextMenu>>,
|
||||
show: bool,
|
||||
toggle_selections_menu: Option<View<ContextMenu>>,
|
||||
|
@ -45,7 +44,6 @@ impl QuickActionBar {
|
|||
_inlay_hints_enabled_subscription: None,
|
||||
active_item: None,
|
||||
buffer_search_bar,
|
||||
platform_style: PlatformStyle::platform(),
|
||||
repl_menu: None,
|
||||
show: true,
|
||||
toggle_selections_menu: None,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
use gpui::{AnyElement, WeakView};
|
||||
use gpui::{AnyElement, Modifiers, WeakView};
|
||||
use markdown_preview::{
|
||||
markdown_preview_view::MarkdownPreviewView, OpenPreview, OpenPreviewToTheSide,
|
||||
};
|
||||
use ui::{prelude::*, IconButtonShape, Tooltip};
|
||||
use ui::{prelude::*, text_for_keystroke, IconButtonShape, Tooltip};
|
||||
use workspace::Workspace;
|
||||
|
||||
use crate::QuickActionBar;
|
||||
|
@ -27,9 +27,10 @@ impl QuickActionBar {
|
|||
return None;
|
||||
}
|
||||
|
||||
let tooltip_meta = match self.platform_style {
|
||||
PlatformStyle::Mac => "Option+Click to open in a split",
|
||||
_ => "Alt+Click to open in a split",
|
||||
let alt_click = gpui::Keystroke {
|
||||
key: "click".into(),
|
||||
modifiers: Modifiers::alt(),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
let button = IconButton::new("toggle-markdown-preview", IconName::Eye)
|
||||
|
@ -40,7 +41,10 @@ impl QuickActionBar {
|
|||
Tooltip::with_meta(
|
||||
"Preview Markdown",
|
||||
Some(&markdown_preview::OpenPreview),
|
||||
tooltip_meta,
|
||||
format!(
|
||||
"{} to open in a split",
|
||||
text_for_keystroke(&alt_click, PlatformStyle::platform())
|
||||
),
|
||||
cx,
|
||||
)
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue