From ad6dc7a881dbd9db0d1c7e060b07922f1c8c41e0 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Tue, 9 Feb 2021 20:55:40 -0500 Subject: [PATCH] Make menus more logical --- lightcards/display.py | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/lightcards/display.py b/lightcards/display.py index a37f28c..58a9055 100644 --- a/lightcards/display.py +++ b/lightcards/display.py @@ -117,15 +117,12 @@ class Display: """Grab keypresses on the menu screen""" while True: key = self.win.getkey() - if key in ["r", "q", "m"]: + if key in ["r", "m"]: self.menu_panel.hide() self.panel_up() - if key in ["q", "m"]: - if len(self.stack) == self.obj.getIdx() + 1: - self.leave() - elif len(self.stack) < self.obj.getIdx() + 1: - self.obj.setIdx(0) self.get_key() + elif key == "q": + self.leave() elif key == "y": self.stack = runner.get_orig()[1] self.menu_print("Stack reset!") @@ -173,15 +170,11 @@ class Display: self.obj.setIdx(0) self.get_key() - def menu_init(self, quit=True): + def menu_init(self): """Initialize the menu with content""" (self.menu_win, self.menu_panel) = self.panel_create(17, 44) self.menu_panel.top() self.menu_panel.hide() - # TODO: fix this - quit_text = "[q]: back" - if quit: - quit_text = "[q]: quit" self.menu_win.addstr( 1, 1, "LIGHTCARDS MENU", curses.color_pair(1) + curses.A_BOLD @@ -196,12 +189,13 @@ class Display: "[u]: unstar all", "[d]: star all", "[s]: update stack to include starred only", + "", + "[r]: restart", + "[m]: close menu", ] for t in enumerate(text): self.menu_win.addstr(t[0] + 3, 1, t[1]) - self.menu_win.addstr(len(text) + 4, 1, "[r]: restart") - self.menu_win.addstr(len(text) + 5, 1, quit_text) self.menu_win.box() self.panel_up() @@ -310,7 +304,7 @@ class Display: "More information can be found in the man page, or", "by running `lightcards --help`.", "", - "Press [q], [H], or [?] to go back.", + "Press [H], or [?] to go back.", ] for t in enumerate(text): @@ -326,7 +320,9 @@ class Display: self.help_panel.show() while True: key = self.help_win.getkey() - if key in ["q", "H", "?"]: + if key == "q": + self.leave() + elif key in ["H", "?"]: self.help_panel.hide() self.get_key() -- 2.39.2