added showing selection of tasks
This commit is contained in:
@@ -11,6 +11,8 @@ WHITE_BLUE = 5
|
|||||||
CYAN_BLACK = 6
|
CYAN_BLACK = 6
|
||||||
menu_width = 20
|
menu_width = 20
|
||||||
|
|
||||||
|
ree = 30
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
COLOR_BLACK
|
COLOR_BLACK
|
||||||
@@ -44,6 +46,7 @@ class Status(Enum):
|
|||||||
WORKING = 2
|
WORKING = 2
|
||||||
IDLE = 3
|
IDLE = 3
|
||||||
|
|
||||||
|
# TODO maybe get rid of this enum and just use a number
|
||||||
class SelectedWindow(Enum):
|
class SelectedWindow(Enum):
|
||||||
PROJECTS = 1
|
PROJECTS = 1
|
||||||
TASKS = 2
|
TASKS = 2
|
||||||
@@ -74,7 +77,7 @@ def draw_menu(stdscr, projects: list, idx: int, selected_window):
|
|||||||
stdscr.addstr(y, 0, project.title)
|
stdscr.addstr(y, 0, project.title)
|
||||||
y = y + 1
|
y = y + 1
|
||||||
|
|
||||||
def draw_tasks(stdscr, tasks, selected_window):
|
def draw_tasks(stdscr, tasks, selected_window,idx):
|
||||||
h, w = stdscr.getmaxyx()
|
h, w = stdscr.getmaxyx()
|
||||||
|
|
||||||
# draw middle devidor line
|
# draw middle devidor line
|
||||||
@@ -92,9 +95,13 @@ def draw_tasks(stdscr, tasks, selected_window):
|
|||||||
|
|
||||||
# draw task names
|
# draw task names
|
||||||
y = 1
|
y = 1
|
||||||
idx = 0
|
# TODO make items light up when selected
|
||||||
for i,task in enumerate(tasks):
|
# TODO add counter for increasing and decreasing selection for tasks
|
||||||
stdscr.addstr(y, menu_width + 1, task.title)
|
for i, task in enumerate(tasks):
|
||||||
|
if i == idx and SelectedWindow(selected_window) == SelectedWindow.TASKS:
|
||||||
|
stdscr.addstr(y, menu_width + 1, task.title,curses.A_REVERSE)
|
||||||
|
else:
|
||||||
|
stdscr.addstr(y, menu_width + 1, task.title)
|
||||||
y = y + 1
|
y = y + 1
|
||||||
|
|
||||||
|
|
||||||
@@ -109,6 +116,7 @@ def main(stdscr):
|
|||||||
|
|
||||||
k = 0 # input key
|
k = 0 # input key
|
||||||
project_index = 0
|
project_index = 0
|
||||||
|
task_index = 0
|
||||||
selected_window = 1
|
selected_window = 1
|
||||||
projects = []
|
projects = []
|
||||||
test_project = Project("Test")
|
test_project = Project("Test")
|
||||||
@@ -131,11 +139,17 @@ def main(stdscr):
|
|||||||
if SelectedWindow(selected_window) == SelectedWindow.PROJECTS:
|
if SelectedWindow(selected_window) == SelectedWindow.PROJECTS:
|
||||||
project_index = project_index - 1
|
project_index = project_index - 1
|
||||||
if project_index < 0: project_index = len(projects) - 1
|
if project_index < 0: project_index = len(projects) - 1
|
||||||
|
elif SelectedWindow(selected_window) == SelectedWindow.TASKS:
|
||||||
|
task_index = task_index - 1
|
||||||
|
if task_index < 0: task_index = len(projects[project_index].tasks)-1
|
||||||
elif k == 456: # down key
|
elif k == 456: # down key
|
||||||
# only move the projects selection if we're on that pane
|
# only move the projects selection if we're on that pane
|
||||||
if SelectedWindow(selected_window) == SelectedWindow.PROJECTS:
|
if SelectedWindow(selected_window) == SelectedWindow.PROJECTS:
|
||||||
project_index = project_index + 1
|
project_index = project_index + 1
|
||||||
if project_index > len(projects) - 1: project_index = 0
|
if project_index > len(projects) - 1: project_index = 0
|
||||||
|
elif SelectedWindow(selected_window) == SelectedWindow.TASKS:
|
||||||
|
task_index = task_index + 1
|
||||||
|
if task_index > len(projects[project_index].tasks) - 1: task_index = 0
|
||||||
elif k == 454: # right key
|
elif k == 454: # right key
|
||||||
selected_window = selected_window + 1
|
selected_window = selected_window + 1
|
||||||
if selected_window > len(SelectedWindow):
|
if selected_window > len(SelectedWindow):
|
||||||
@@ -147,8 +161,8 @@ def main(stdscr):
|
|||||||
|
|
||||||
|
|
||||||
stdscr.clear()
|
stdscr.clear()
|
||||||
draw_menu(stdscr, projects, project_index,selected_window)
|
draw_menu(stdscr, projects, project_index, selected_window)
|
||||||
draw_tasks(stdscr, projects[project_index].tasks,selected_window)
|
draw_tasks(stdscr, projects[project_index].tasks,selected_window,task_index)
|
||||||
|
|
||||||
# draw botton text
|
# draw botton text
|
||||||
stdscr.addstr(stdscr.getmaxyx()[0]-1,0,"TPM by Sem van der Hoeven",)
|
stdscr.addstr(stdscr.getmaxyx()[0]-1,0,"TPM by Sem van der Hoeven",)
|
||||||
|
|||||||
Reference in New Issue
Block a user