Skip to content

Commit 43a8bfd

Browse files
committed
make round-robining optional
1 parent b882847 commit 43a8bfd

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

Diff for: lib/windows/dropdown.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def __init__(self, *args, **kwargs):
2121
self.options = kwargs.get('options')
2222
self.pos = kwargs.get('pos')
2323
self.lastSelectedItem = 0
24+
self.roundRobin = kwargs.get('round_robin', True)
2425
self.posIsBottom = kwargs.get('pos_is_bottom')
2526
self.closeDirection = kwargs.get('close_direction')
2627
self.setDropdownProp = kwargs.get('set_dropdown_prop', False)
@@ -68,7 +69,8 @@ def onAction(self, action):
6869
except:
6970
util.ERROR()
7071

71-
if action in (xbmcgui.ACTION_MOVE_UP, xbmcgui.ACTION_MOVE_DOWN) and self.getFocusId() == self.OPTIONS_LIST_ID:
72+
if self.roundRobin and action in (xbmcgui.ACTION_MOVE_UP, xbmcgui.ACTION_MOVE_DOWN) and \
73+
self.getFocusId() == self.OPTIONS_LIST_ID:
7274
to_pos = None
7375
last_index = self.optionsList.size() - 1
7476

Diff for: lib/windows/playersettings.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def __init__(self, *args, **kwargs):
2424
self.video = kwargs.get('video')
2525
self.viaOSD = kwargs.get('via_osd')
2626
self.nonPlayback = kwargs.get('non_playback')
27+
self.roundRobin = kwargs.get('round_robin', True)
2728
self.lastSelectedItem = 0
2829

2930
if not self.video.mediaChoice:
@@ -46,7 +47,8 @@ def onAction(self, action):
4647
except:
4748
util.ERROR()
4849

49-
if action in (xbmcgui.ACTION_MOVE_UP, xbmcgui.ACTION_MOVE_DOWN) and self.getFocusId() == self.SETTINGS_LIST_ID:
50+
if self.roundRobin and action in (xbmcgui.ACTION_MOVE_UP, xbmcgui.ACTION_MOVE_DOWN) and \
51+
self.getFocusId() == self.SETTINGS_LIST_ID:
5052
to_pos = None
5153
last_index = self.settingsList.size() - 1
5254
if action == xbmcgui.ACTION_MOVE_UP and self.lastSelectedItem == 0 and self.settingsList.topHasFocus():
@@ -179,6 +181,7 @@ def __init__(self, *args, **kwargs):
179181
self.choice = None
180182
self.nonPlayback = kwargs.get('non_playback')
181183
self.lastSelectedItem = self.selectedIdx if self.selectedIdx is not None else 0
184+
self.roundRobin = kwargs.get('round_robin', True)
182185

183186
def onFirstInit(self):
184187
self.optionsList = kodigui.ManagedControlList(self, self.OPTIONS_LIST_ID, 8)
@@ -194,7 +197,8 @@ def onAction(self, action):
194197
except:
195198
util.ERROR()
196199

197-
if action in (xbmcgui.ACTION_MOVE_UP, xbmcgui.ACTION_MOVE_DOWN) and self.getFocusId() == self.OPTIONS_LIST_ID:
200+
if self.roundRobin and action in (xbmcgui.ACTION_MOVE_UP, xbmcgui.ACTION_MOVE_DOWN) and \
201+
self.getFocusId() == self.OPTIONS_LIST_ID:
198202
to_pos = None
199203
last_index = self.optionsList.size() - 1
200204

0 commit comments

Comments
 (0)