update drag handler
Rust / build (macos-latest, stable) (push) Canceled after 0s
Rust / build (ubuntu-latest, stable) (push) Canceled after 0s
Rust / build (windows-latest, stable) (push) Canceled after 0s
Rust / build (macos-latest, stable) (pull_request) Canceled after 0s
Rust / build (ubuntu-latest, stable) (pull_request) Canceled after 0s
Rust / build (windows-latest, stable) (pull_request) Canceled after 0s
Rust / build (macos-latest, stable) (push) Canceled after 0s
Rust / build (ubuntu-latest, stable) (push) Canceled after 0s
Rust / build (windows-latest, stable) (push) Canceled after 0s
Rust / build (macos-latest, stable) (pull_request) Canceled after 0s
Rust / build (ubuntu-latest, stable) (pull_request) Canceled after 0s
Rust / build (windows-latest, stable) (pull_request) Canceled after 0s
This commit is contained in:
@@ -24,6 +24,11 @@ use signed_ui::title_bar_drag_handlers;
|
|||||||
use crate::dock_area::SkinShared;
|
use crate::dock_area::SkinShared;
|
||||||
use crate::{TAB_BAR_HEIGHT, t, window_controls};
|
use crate::{TAB_BAR_HEIGHT, t, window_controls};
|
||||||
|
|
||||||
|
/// A rough size for the drag preview, reported to base so a drop placeholder
|
||||||
|
/// knows where to fly in from.
|
||||||
|
///
|
||||||
|
/// The preview itself fits its content, so this is an estimate used only to
|
||||||
|
/// place the placeholder.
|
||||||
const DRAG_PREVIEW_SIZE: gpui::Size<gpui::Pixels> = size(px(96.), px(30.));
|
const DRAG_PREVIEW_SIZE: gpui::Size<gpui::Pixels> = size(px(96.), px(30.));
|
||||||
const COLLAPSED_TAB_BAR_SELECTOR: &str = "signed-dock-collapsed-tab-bar";
|
const COLLAPSED_TAB_BAR_SELECTOR: &str = "signed-dock-collapsed-tab-bar";
|
||||||
const ACTIVE_TAB_SELECTOR: &str = "signed-dock-active-tab";
|
const ACTIVE_TAB_SELECTOR: &str = "signed-dock-active-tab";
|
||||||
@@ -45,23 +50,21 @@ pub(crate) fn panel_title(
|
|||||||
/// The preview that follows the cursor while a panel is dragged.
|
/// The preview that follows the cursor while a panel is dragged.
|
||||||
///
|
///
|
||||||
/// Base's `DragPanel` is the payload and draws nothing, this is the appearance half.
|
/// Base's `DragPanel` is the payload and draws nothing, this is the appearance half.
|
||||||
|
/// It fits its content rather than a fixed width, so a long title is never cut off.
|
||||||
struct DragPanelPreview {
|
struct DragPanelPreview {
|
||||||
panel: Arc<dyn BasePanelView>,
|
panel: Arc<dyn BasePanelView>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Render for DragPanelPreview {
|
impl Render for DragPanelPreview {
|
||||||
fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
|
fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
|
||||||
div()
|
h_flex()
|
||||||
.id("drag-panel")
|
.id("drag-panel")
|
||||||
.cursor_grab()
|
.cursor_grab()
|
||||||
.py_1()
|
.p_1()
|
||||||
.px_3()
|
|
||||||
.w_24()
|
|
||||||
.overflow_hidden()
|
|
||||||
.whitespace_nowrap()
|
.whitespace_nowrap()
|
||||||
.border_1()
|
.border_1()
|
||||||
.border_color(cx.theme().border)
|
.border_color(cx.theme().border)
|
||||||
.rounded(cx.theme().radius)
|
.rounded(cx.theme().radius_lg)
|
||||||
.text_color(cx.theme().tab_foreground)
|
.text_color(cx.theme().tab_foreground)
|
||||||
.bg(cx.theme().tokens.tab_active)
|
.bg(cx.theme().tokens.tab_active)
|
||||||
.opacity(0.75)
|
.opacity(0.75)
|
||||||
|
|||||||
Reference in New Issue
Block a user