Reach consistent state
This commit is contained in:
parent
c73a522309
commit
741cef25eb
4
kls
4
kls
|
@ -86,7 +86,7 @@ def navigate_horizontally(key_pressed, menu):
|
||||||
|
|
||||||
|
|
||||||
def navigate_vertically(key_pressed, menu):
|
def navigate_vertically(key_pressed, menu):
|
||||||
if not menu.filtered_rows() or len(menu.filtered_rows()) == 1: return # если строк нет или строка одна, навигация не нужна
|
if len(menu.filtered_rows()) > 1: # если строк нет или строка одна, навигация не нужна
|
||||||
menu.selected_row_index = (menu.selected_row_index + INCREMENT[key_pressed]) % len(menu.filtered_rows()) # выбираем строку учитывая сколько строк в меню
|
menu.selected_row_index = (menu.selected_row_index + INCREMENT[key_pressed]) % len(menu.filtered_rows()) # выбираем строку учитывая сколько строк в меню
|
||||||
draw_menu(menu) # перерисовываем меню
|
draw_menu(menu) # перерисовываем меню
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ def catch_input(menu):
|
||||||
def main():
|
def main():
|
||||||
for menu in [menu0, menu1, menu2]: draw_menu(menu) # основные окна
|
for menu in [menu0, menu1, menu2]: draw_menu(menu) # основные окна
|
||||||
draw_row(curses.newwin(3, curses.COLS, curses.LINES - 3, 0), HELP_TEXT, 1, 2) # окно помощи
|
draw_row(curses.newwin(3, curses.COLS, curses.LINES - 3, 0), HELP_TEXT, 1, 2) # окно помощи
|
||||||
while menu0.state in [1, 2] or menu1.state in [1, 2] or menu2.state in [1, 2]:
|
while any(menu.state in [1, 2] for menu in [menu0, menu1, menu2]):
|
||||||
for menu in [menu0, menu1, menu2]:
|
for menu in [menu0, menu1, menu2]:
|
||||||
if menu.state in [1, 2]: catch_input(menu) # если меню выбрано, перехватываем ввод пользователя
|
if menu.state in [1, 2]: catch_input(menu) # если меню выбрано, перехватываем ввод пользователя
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue