summaryrefslogtreecommitdiff
path: root/rt.lua
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-01-31 02:40:00 -0800
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-01-31 02:40:00 -0800
commit925aa695b437325d48abc484f2769c6787ebf3f5 (patch)
treee39c85a5dcea42ec4dd02a53f1a1361b053a89cc /rt.lua
parent769bcb2bc0d52479df609ac075356431285da103 (diff)
downloadmpv-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.lua16
1 files changed, 4 insertions, 12 deletions
diff --git a/rt.lua b/rt.lua
index 9193314..502cf83 100644
--- a/rt.lua
+++ b/rt.lua
@@ -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