debugger: Truncate long session and thread names (#33790)
Related to #33072 Release Notes: - debugger: Fixed long session and thread names eating up excessive space in the control strip.
This commit is contained in:
parent
4fdda8d5a1
commit
f9bd54b4b1
2 changed files with 10 additions and 0 deletions
|
@ -4,6 +4,7 @@ use collections::HashMap;
|
|||
use gpui::{Animation, AnimationExt as _, Entity, Transformation, percentage};
|
||||
use project::debugger::session::{ThreadId, ThreadStatus};
|
||||
use ui::{ContextMenu, DropdownMenu, DropdownStyle, Indicator, prelude::*};
|
||||
use util::truncate_and_trailoff;
|
||||
|
||||
use crate::{
|
||||
debugger_panel::DebugPanel,
|
||||
|
@ -12,6 +13,8 @@ use crate::{
|
|||
|
||||
impl DebugPanel {
|
||||
fn dropdown_label(label: impl Into<SharedString>) -> Label {
|
||||
const MAX_LABEL_CHARS: usize = 50;
|
||||
let label = truncate_and_trailoff(&label.into(), MAX_LABEL_CHARS);
|
||||
Label::new(label).size(LabelSize::Small)
|
||||
}
|
||||
|
||||
|
@ -170,6 +173,8 @@ impl DebugPanel {
|
|||
window: &mut Window,
|
||||
cx: &mut Context<Self>,
|
||||
) -> Option<DropdownMenu> {
|
||||
const MAX_LABEL_CHARS: usize = 150;
|
||||
|
||||
let running_state = running_state.clone();
|
||||
let running_state_read = running_state.read(cx);
|
||||
let thread_id = running_state_read.thread_id();
|
||||
|
@ -202,6 +207,7 @@ impl DebugPanel {
|
|||
.is_empty()
|
||||
.then(|| format!("Tid: {}", thread.id))
|
||||
.unwrap_or_else(|| thread.name);
|
||||
let entry_name = truncate_and_trailoff(&entry_name, MAX_LABEL_CHARS);
|
||||
|
||||
this = this.entry(entry_name, None, move |window, cx| {
|
||||
running_state.update(cx, |running_state, cx| {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue