|
9 | 9 | :license: GPLv3, see LICENSE for more details.
|
10 | 10 | '''
|
11 | 11 | from xbmcswift2 import xbmcgui
|
| 12 | +from xbmcswift2.logger import log |
12 | 13 |
|
13 | 14 |
|
14 | 15 | class ListItem(object):
|
15 | 16 | '''A wrapper for the xbmcgui.ListItem class. The class keeps track
|
16 | 17 | of any set properties that xbmcgui doesn't expose getters for.
|
17 | 18 | '''
|
18 |
| - def __init__(self, label=None, label2=None, icon=None, thumbnail=None, fanart=None, |
19 |
| - path=None): |
| 19 | + def __init__(self, label=None, label2=None, icon=None, thumbnail=None, |
| 20 | + path=None, fanart=None): |
20 | 21 | '''Defaults are an emtpy string since xbmcgui.ListItem will not
|
21 | 22 | accept None.
|
22 | 23 | '''
|
@@ -56,14 +57,17 @@ def get_context_menu_items(self):
|
56 | 57 | '''Returns the list of currently set context_menu items.'''
|
57 | 58 | return self._context_menu_items
|
58 | 59 |
|
59 |
| - def add_context_menu_items(self, items): |
60 |
| - '''Adds context menu items. If replace_items is True all |
61 |
| - previous context menu items will be removed. |
| 60 | + def add_context_menu_items(self, items, replace_items=False): |
| 61 | + '''Adds context menu items. replace_items is only kept for |
| 62 | + legacy reasons, its functionality was removed. |
62 | 63 | '''
|
63 | 64 | for label, action in items:
|
64 | 65 | assert isinstance(label, basestring)
|
65 | 66 | assert isinstance(action, basestring)
|
66 | 67 |
|
| 68 | + if replace_items: |
| 69 | + log.warning("Replacing context menu items functionality was removed.") |
| 70 | + |
67 | 71 | self._context_menu_items.extend(items)
|
68 | 72 | self._listitem.addContextMenuItems(items)
|
69 | 73 |
|
@@ -190,16 +194,16 @@ def as_xbmc_listitem(self):
|
190 | 194 | return self._listitem
|
191 | 195 |
|
192 | 196 | @classmethod
|
193 |
| - def from_dict(cls, label=None, label2=None, icon=None, thumbnail=None, fanart=None, |
| 197 | + def from_dict(cls, label=None, label2=None, icon=None, thumbnail=None, |
194 | 198 | path=None, selected=None, info=None, properties=None,
|
195 |
| - context_menu=None, |
196 |
| - is_playable=None, info_type='video', stream_info=None): |
| 199 | + context_menu=None, replace_context_menu=False, |
| 200 | + is_playable=None, info_type='video', stream_info=None, fanart=None): |
197 | 201 | '''A ListItem constructor for setting a lot of properties not
|
198 | 202 | available in the regular __init__ method. Useful to collect all
|
199 | 203 | the properties in a dict and then use the **dct to call this
|
200 | 204 | method.
|
201 | 205 | '''
|
202 |
| - listitem = cls(label, label2, icon, thumbnail, fanart, path) |
| 206 | + listitem = cls(label, label2, icon, thumbnail, path, fanart) |
203 | 207 |
|
204 | 208 | if selected is not None:
|
205 | 209 | listitem.select(selected)
|
|
0 commit comments