Skip to content

Commit 25469cf

Browse files
committed
fixing a crash that would occur when pressing ENTER on the Cancel button
of the "rename playlist" and "new playlist" window
1 parent 8409162 commit 25469cf

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

pyradio/edit.py

+21-2
Original file line numberDiff line numberDiff line change
@@ -877,6 +877,7 @@ def show(self):
877877
string_changed_handler=self._string_changed)
878878
self._widgets[0].bracket = False
879879
self._widgets[0].set_global_functions(self._global_functions)
880+
self._widgets[0].id = 0
880881
self._line_editor = self._widgets[0]
881882
# add copy checkbox
882883
if self._widgets[1] is None:
@@ -887,6 +888,7 @@ def show(self):
887888
self._line_editor_yx[0] + 2, 2,
888889
'Copy playlist instead of renaming it',
889890
curses.color_pair(9), curses.color_pair(4), curses.color_pair(5))
891+
self._widgets[1].id = 1
890892
# add open afterwards checkbox
891893
adjust_line_Y = -1
892894
if self._open_afterwards:
@@ -903,6 +905,7 @@ def show(self):
903905
self.initial_enabled[2] = True
904906
else:
905907
self._widgets[2] = DisabledWidget()
908+
self._widgets[2].id = 2
906909
if self._create:
907910
adjust_line_Y = -1
908911
# add buttons
@@ -919,6 +922,8 @@ def show(self):
919922
self._widgets[3]._focused = self._widgets[4].focused = False
920923
else:
921924
self._h_buttons.calculate_buttons_position(parent=self._win)
925+
self._widgets[3].id = 3
926+
self._widgets[4].id = 4
922927

923928
if self._create:
924929
adjust_line_Y = -2
@@ -1085,22 +1090,34 @@ def _update_focus(self):
10851090
x._focused = False
10861091

10871092
def _focus_next(self):
1093+
# logger.error('nn i self.focus = {}'.format(self.focus))
10881094
if self._focus == len(self._widgets) - 1:
10891095
self.focus = 0
1096+
# logger.error('nn f self.focus = 0')
10901097
else:
10911098
focus = self.focus + 1
1099+
focus = self._widgets[focus].id
1100+
# logger.error('nn focus = {}'.format(focus))
10921101
while not self._widgets[focus].enabled:
10931102
focus += 1
1103+
# logger.error('nn+ focus = {}'.format(focus))
10941104
self.focus = focus
1105+
# logger.error('nn o self.focus = {}'.format(self.focus))
10951106

10961107
def _focus_previous(self):
1108+
# logger.error('pp i self.focus = {}'.format(self.focus))
10971109
if self._focus == 0:
10981110
self.focus = len(self._widgets) - 1
1111+
# logger.error('pp l self.focus = {}'.format(self.focus))
10991112
else:
11001113
focus = self.focus - 1
1114+
focus = self._widgets[focus].id
1115+
logger.error('pp focus = {}'.format(focus))
11011116
while not self._widgets[focus].enabled:
11021117
focus -= 1
1118+
# logger.error('pp+ focus = {}'.format(focus))
11031119
self.focus = focus
1120+
# logger.error('pp o self.focus = {}'.format(self.focus))
11041121

11051122
def _act_on_file(self):
11061123
"""Rename the playlist (if self._create is False)
@@ -1170,6 +1187,7 @@ def keypress(self, char):
11701187
return -1, '', '', False, False, False
11711188
return 0, '', '', False, False, False
11721189
else:
1190+
logger.error('self.focus = {}'.format(self.focus))
11731191
if char in (curses.KEY_EXIT, 27, ord('q')) and \
11741192
self.focus > 0:
11751193
return -1, '', '', False, False, False
@@ -1180,6 +1198,7 @@ def keypress(self, char):
11801198
self._widgets[self._focus].toggle_checked()
11811199
if self._focus == 1 and self._opened_from_editor:
11821200
self._widgets[2].enabled = self._widgets[1].checked
1201+
logger.error('len widgets = {}'.format(len(self._widgets)))
11831202
elif char in (ord('\t'), 9, curses.KEY_DOWN):
11841203
self._focus_next()
11851204
elif char in (curses.KEY_UP, curses.KEY_BTAB):
@@ -1197,13 +1216,13 @@ def keypress(self, char):
11971216
return self._get_result(ret)
11981217
elif self._focus == 4:
11991218
# cancel
1200-
return -1, '', '', False, False
1219+
return -1, '', '', False, False, False
12011220
elif char == ord('s') and self._focus > 0:
12021221
# s, execute
12031222
if self._widgets[-2].enabled:
12041223
ret = self._act_on_file()
12051224
return self._get_result(ret)
1206-
return 0, '', '', False, False
1225+
return 0, '', '', False, False, False
12071226
elif self._focus == 0:
12081227
"""
12091228
Returns:

0 commit comments

Comments
 (0)