diff --git a/src/tui/WidgetList.zig b/src/tui/WidgetList.zig index e62b6f3..f9fcdce 100644 --- a/src/tui/WidgetList.zig +++ b/src/tui/WidgetList.zig @@ -93,8 +93,10 @@ pub fn addP(self: *Self, w_: Widget) !*Widget { } pub fn remove(self: *Self, w: Widget) void { - for (self.widgets.items, 0..) |p, i| if (p.widget.ptr == w.ptr) + for (self.widgets.items, 0..) |p, i| if (p.widget.ptr == w.ptr) { self.widgets.orderedRemove(i).widget.deinit(self.allocator); + return; + }; } pub fn remove_all(self: *Self) void { diff --git a/src/tui/mainview.zig b/src/tui/mainview.zig index e6d3c80..f0a2083 100644 --- a/src/tui/mainview.zig +++ b/src/tui/mainview.zig @@ -28,6 +28,7 @@ const home = @import("home.zig"); const logview = @import("logview.zig"); const filelist_view = @import("filelist_view.zig"); const info_view = @import("info_view.zig"); +const input_view = @import("inputview.zig"); const Self = @This(); const Commands = command.Collection(cmds); @@ -514,6 +515,8 @@ const cmds = struct { try self.toggle_panel_view(info_view, false) else if (self.is_panel_view_showing(filelist_view)) try self.toggle_panel_view(filelist_view, false) + else if (self.is_panel_view_showing(input_view)) + try self.toggle_panel_view(input_view, false) else try self.toggle_panel_view(logview, false); } @@ -530,7 +533,7 @@ const cmds = struct { pub const show_logview_meta = .{ .description = "View log" }; pub fn toggle_inputview(self: *Self, _: Ctx) Result { - try self.toggle_panel_view(@import("inputview.zig"), false); + try self.toggle_panel_view(input_view, false); } pub const toggle_inputview_meta = .{ .description = "Toggle raw input log" };