From d070c1660fd033f08a2b98c949698b8522de1f92 Mon Sep 17 00:00:00 2001 From: Roman Pytkov Date: Thu, 26 Feb 2026 15:58:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B0=D0=B9?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ui/left_panel.zig | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/ui/left_panel.zig b/src/ui/left_panel.zig index 27881b8..231d767 100644 --- a/src/ui/left_panel.zig +++ b/src/ui/left_panel.zig @@ -74,7 +74,7 @@ fn objectTreeRow(open_doc: *WindowContext.OpenDocument, obj: *Object, depth: u32 .{ .id_extra = row_id, .expand = .horizontal }, ); - if (is_selected or hovered) { + if (hovered) { const delete_opts: dvui.Options = .{ .id_extra = row_id +% 1, .margin = dvui.Rect{ .x = 4 }, @@ -114,7 +114,11 @@ fn objectTree(ctx: *WindowContext) void { if (object_callback) |callback| { switch (callback) { .select => |obj| { - open_doc.selected_object = obj; + if (open_doc.selected_object == obj) { + open_doc.selected_object = null; + } else { + open_doc.selected_object = obj; + } }, .delete => |obj| { _ = doc.removeObject(obj); @@ -136,7 +140,9 @@ pub fn leftPanel(ctx: *WindowContext) void { .{ .dir = .vertical }, .{ .expand = .vertical, + // Фиксированная ширина левой панели .min_size_content = .{ .w = 220 }, + .max_size_content = .{ .h = undefined, .w = 220 }, .background = true, .padding = padding, }, @@ -199,10 +205,14 @@ pub fn leftPanel(ctx: *WindowContext) void { }, ); { - dvui.label(@src(), "Objects", .{}, .{}); + dvui.label(@src(), "Objects", .{}, .{ .font = .{ + .id = dvui.themeGet().font_heading.id, + .line_height_factor = dvui.themeGet().font_heading.line_height_factor, + .size = dvui.themeGet().font_heading.size + 8, + }, .gravity_x = 0.5 }); var scroll = dvui.scrollArea( @src(), - .{ .vertical = .auto }, + .{ .vertical = .auto, .horizontal = .auto }, .{ .expand = .both, .background = false }, ); {