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 /state.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 'state.lua')
| -rw-r--r-- | state.lua | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -82,6 +82,21 @@ function mt:insert_favourite_before_next_in_menu(id) self:add_favourite(id) end +function menu_mt:save_checkpoint() + self.checkpoint = { + search_text = self.search_text, + cursor = self.cursor, + view_top = self.view_top, + } +end + +function menu_mt:restore_checkpoint() + local t = self.checkpoint + self:set_search_text(t.search_text) + self.cursor = t.cursor + self.view_top = t.view_top +end + function menu_mt:set_cursor(pos, lines, opts) local pos = math.max(1, math.min(pos, #self.options)) local top = self.view_top |
