fix: refresh hover when menus modify their contents
This fixes hover and scroll in palettes and dropdowns. close #486
This commit is contained in:
parent
d5166e2f68
commit
87e0e06aaf
5 changed files with 9 additions and 1 deletions
|
|
@ -276,6 +276,7 @@ pub fn Create(options: type) type {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn start_query(self: *Self, n: usize) !void {
|
fn start_query(self: *Self, n: usize) !void {
|
||||||
|
defer tui.reset_hover(@src());
|
||||||
self.items = 0;
|
self.items = 0;
|
||||||
self.menu.reset_items();
|
self.menu.reset_items();
|
||||||
self.menu.selected = null;
|
self.menu.selected = null;
|
||||||
|
|
@ -307,7 +308,6 @@ pub fn Create(options: type) type {
|
||||||
self.menu.select_down();
|
self.menu.select_down();
|
||||||
const padding = tui.get_widget_style(widget_type).padding;
|
const padding = tui.get_widget_style(widget_type).padding;
|
||||||
self.do_resize(padding);
|
self.do_resize(padding);
|
||||||
tui.refresh_hover(@src());
|
|
||||||
self.selection_updated();
|
self.selection_updated();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -249,6 +249,7 @@ fn receive_project_manager(self: *Self, _: tp.pid_ref, m: tp.message) MessageFil
|
||||||
}
|
}
|
||||||
|
|
||||||
fn process_project_manager(self: *Self, m: tp.message) MessageFilter.Error!void {
|
fn process_project_manager(self: *Self, m: tp.message) MessageFilter.Error!void {
|
||||||
|
defer tui.reset_hover(@src());
|
||||||
var file_name: []const u8 = undefined;
|
var file_name: []const u8 = undefined;
|
||||||
var file_type: []const u8 = undefined;
|
var file_type: []const u8 = undefined;
|
||||||
var file_icon: []const u8 = undefined;
|
var file_icon: []const u8 = undefined;
|
||||||
|
|
|
||||||
|
|
@ -318,6 +318,7 @@ pub fn Create(options: type) type {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn start_query(self: *Self, n: usize) !void {
|
fn start_query(self: *Self, n: usize) !void {
|
||||||
|
defer tui.reset_hover(@src());
|
||||||
defer self.update_count_hint();
|
defer self.update_count_hint();
|
||||||
self.items = 0;
|
self.items = 0;
|
||||||
self.menu.reset_items();
|
self.menu.reset_items();
|
||||||
|
|
|
||||||
|
|
@ -162,6 +162,7 @@ fn receive_project_manager(self: *Self, _: tp.pid_ref, m: tp.message) MessageFil
|
||||||
}
|
}
|
||||||
|
|
||||||
fn process_project_manager(self: *Self, m: tp.message) MessageFilter.Error!void {
|
fn process_project_manager(self: *Self, m: tp.message) MessageFilter.Error!void {
|
||||||
|
defer tui.reset_hover(@src());
|
||||||
var file_name: []const u8 = undefined;
|
var file_name: []const u8 = undefined;
|
||||||
var file_type: []const u8 = undefined;
|
var file_type: []const u8 = undefined;
|
||||||
var file_icon: []const u8 = undefined;
|
var file_icon: []const u8 = undefined;
|
||||||
|
|
|
||||||
|
|
@ -893,6 +893,11 @@ pub fn refresh_hover(src: std.builtin.SourceLocation) void {
|
||||||
_ = self.update_hover(self.last_hover_y, self.last_hover_x) catch {};
|
_ = self.update_hover(self.last_hover_y, self.last_hover_x) catch {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn reset_hover(src: std.builtin.SourceLocation) void {
|
||||||
|
const self = current();
|
||||||
|
self.clear_hover_focus(src) catch {};
|
||||||
|
}
|
||||||
|
|
||||||
pub fn save_config() (root.ConfigDirError || root.ConfigWriteError)!void {
|
pub fn save_config() (root.ConfigDirError || root.ConfigWriteError)!void {
|
||||||
const self = current();
|
const self = current();
|
||||||
try root.write_config(self.config_, self.allocator);
|
try root.write_config(self.config_, self.allocator);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue