From 06f1ba978fcb3628f92090de84c22037c4978258 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Sun, 31 Jan 2021 12:56:36 -0500 Subject: [PATCH] Add more options to restart menu at end of deck It now has the option to "restart and show other side first" and "restart in reverse" --- lightcards/display.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/lightcards/display.py b/lightcards/display.py index a707fc1..d541a12 100755 --- a/lightcards/display.py +++ b/lightcards/display.py @@ -50,6 +50,8 @@ def disp_menu(stdscr, stack, headers, idx): "[s]: restart with starred only\n" + "[u]: restart and unstar all\n" + "[z]: restart and shuffle cards\n" + + "[f]: restart and show the other side first\n" + + "[t]: restart in reverse order\n" + "[q]: quit") while True: key = stdscr.getkey() @@ -58,11 +60,6 @@ def disp_menu(stdscr, stack, headers, idx): elif key == "r": idx.setIdx(0) get_key(stdscr, stack, headers, idx) - elif key == "u": - idx.setIdx(0) - for x in stack: - x.unStar() - get_key(stdscr, stack, headers, idx) elif key == "s": # Check if there are any starred cards before proceeding, and if # not, don't allow to proceed and show an error message @@ -80,10 +77,25 @@ def disp_menu(stdscr, stack, headers, idx): stdscr.addstr("ERR: Stack empty. Choose another option\n\n", curses.color_pair(2)) disp_menu(stdscr, stack, headers, idx) + elif key == "u": + idx.setIdx(0) + for x in stack: + x.unStar() + get_key(stdscr, stack, headers, idx) elif key == "z": idx.setIdx(0) shuffle(stack) get_key(stdscr, stack, headers, idx) + elif key == "f": + idx.setIdx(0) + for x in stack: + x[0], x[1] = x[1], x[0] + headers[0], headers[1] = headers[1], headers[0] + get_key(stdscr, stack, headers, idx) + elif key == "t": + idx.setIdx(0) + stack.reverse() + get_key(stdscr, stack, headers, idx) def disp_card(stdscr, stack, headers, obj): -- 2.39.2