[tor-commits] [nyx/master] Added checkboxes for selected events
atagar at torproject.org
atagar at torproject.org
Sun May 15 05:37:21 UTC 2016
commit 25df46911d2ac5d09cc9d24feece38828a2ca48c
Author: Sambuddha Basu <sambuddhabasu1 at gmail.com>
Date: Sat May 7 01:43:03 2016 +0400
Added checkboxes for selected events
---
nyx/popups.py | 40 ++++++++++++++++++++++++++++++++++++----
1 file changed, 36 insertions(+), 4 deletions(-)
diff --git a/nyx/popups.py b/nyx/popups.py
index f0d4050..a146d47 100644
--- a/nyx/popups.py
+++ b/nyx/popups.py
@@ -418,17 +418,49 @@ def select_event_types():
def new_select_event_types():
+
+ selection = 0
+ selected_events = []
+
def _render(subwindow):
subwindow.box()
subwindow.addstr(0, 0, 'Event Types:', HIGHLIGHT)
events = nyx.tor_controller().get_info('events/names', None)
- for i, line in enumerate(events.split()):
- subwindow.addstr(1, i + 1, line)
+
+ if events:
+ events = events.split()
+ events = [events[i:i + 3] for i in xrange(0, len(events), 3)]
+
+ for i, line in enumerate(events):
+ for j, in_line in enumerate(line):
+ x = subwindow.addstr(j * 30 + 1, i + 1, '[X]' if (i * 3 + j) in selected_events else '[]')
+ x = subwindow.addstr(x, i + 1, in_line, HIGHLIGHT if selection == (i * 3 + j) else NORMAL)
with nyx.curses.CURSES_LOCK:
- nyx.curses.draw(_render, top = _top(), width = 80, height = 16)
- return None
+ events = nyx.tor_controller().get_info('events/names', None)
+ if events:
+ events = events.split()
+ while True:
+ nyx.curses.draw(_render, top = _top(), width = 80, height = 16)
+ key = nyx.curses.key_input()
+
+ if key.match('up'):
+ selection = max(0, selection - 3)
+ elif key.match('down'):
+ selection = min(len(events) - 1, selection + 3)
+ elif key.match('left'):
+ selection = max(0, selection - 1)
+ elif key.match('right'):
+ selection = min(len(events) - 1, selection + 1)
+ elif key.is_selection():
+ if selection in selected_events:
+ selected_events.remove(selection)
+ else:
+ selected_events.append(selection)
+ elif key.match('esc'):
+ return None
+
def confirm_save_torrc(torrc):
"""
More information about the tor-commits
mailing list