diff options
| author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2026-01-31 02:40:00 -0800 |
|---|---|---|
| committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2026-01-31 02:40:00 -0800 |
| commit | 925aa695b437325d48abc484f2769c6787ebf3f5 (patch) | |
| tree | e39c85a5dcea42ec4dd02a53f1a1361b053a89cc /rt.lua | |
| parent | 769bcb2bc0d52479df609ac075356431285da103 (diff) | |
| download | mpv-iptv-menu-925aa695b437325d48abc484f2769c6787ebf3f5.tar.gz mpv-iptv-menu-925aa695b437325d48abc484f2769c6787ebf3f5.tar.xz | |
use menu metatable for saving/restoring search state
Diffstat (limited to 'rt.lua')
| -rw-r--r-- | rt.lua | 16 |
1 files changed, 4 insertions, 12 deletions
@@ -167,8 +167,7 @@ local function save_favourites() end local function set_cursor(pos, opts) - local moved = state:menu():set_cursor(pos, osd:menu_lines(state), opts) - if moved then + if state:menu():set_cursor(pos, osd:menu_lines(state), opts) then osd:dirty() end end @@ -609,11 +608,7 @@ function rt.start_search() ' <colour.info>(<num_matches>/<num_total>)' if menu.type == 'search' then - -- resuming search, save previous state - menu.prev_search_text = menu.search_text - menu.prev_cursor = menu.cursor - menu.prev_view_top = menu.view_top - + menu:save_checkpoint() menu.title = title menu.search_active = true menu:set_search_cursor(#menu.search_text + 1) @@ -643,11 +638,8 @@ end function rt.cancel_search() local menu = state:menu() - -- cancelling resumed search restores previous state - if menu.prev_search_text then - menu:set_search_text(menu.prev_search_text) - menu.cursor = menu.prev_cursor - menu.view_top = menu.prev_view_top + if menu.checkpoint then + menu:restore_checkpoint() rt.end_search() return end |
