diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py
index 4337a4ae..bdb0bd95 100644
--- a/platformcode/platformtools.py
+++ b/platformcode/platformtools.py
@@ -208,7 +208,9 @@ def render_items(itemlist, parent_item):
breadcrumb = config.get_localized_string(70693)
xbmcplugin.setPluginCategory(handle=_handle, category=breadcrumb)
- # xbmcplugin.setContent(handle=_handle, content=breadcrumb)
+ # from core.support import dbg;dbg()
+ set_view_mode(item, parent_item)
+
xbmcplugin.endOfDirectory(_handle)
# Fijar la vista
if config.get_setting("forceview"):
@@ -218,6 +220,53 @@ def render_items(itemlist, parent_item):
xbmc.executebuiltin("Container.SetViewMode(500)")
logger.info('END render_items')
+
+def set_view_mode(item, parent_item):
+ # from core.support import dbg;dbg()
+ if (item.contentType in ['movie'] and parent_item.action in ['peliculas']) \
+ or (item.channel in ['videolibrary'] and parent_item.action in ['list_movies']):
+ mode = config.get_setting('view_mode_movie')
+ if mode > 0:
+ xbmcplugin.setContent(handle=int(sys.argv[1]), content='movies')
+ xbmc.executebuiltin('Container.SetViewMode(%s)' % mode)
+ elif (item.contentType in ['tvshow'] and parent_item.action in ['peliculas']) \
+ or (item.channel in ['videolibrary'] and parent_item.action in ['list_tvshows']):
+ mode = config.get_setting('view_mode_tvshow')
+ if mode > 0:
+ xbmcplugin.setContent(handle=int(sys.argv[1]), content='tvshows')
+ xbmc.executebuiltin('Container.SetViewMode(%s)' % mode)
+ elif parent_item.action in ['get_seasons']:
+ mode = config.get_setting('view_mode_season')
+ if mode > 0:
+ xbmcplugin.setContent(handle=int(sys.argv[1]), content='tvshows')
+ xbmc.executebuiltin('Container.SetViewMode(%s)' % mode)
+ elif parent_item.action in ['episodios', 'get_episodes']:
+ mode = config.get_setting('view_mode_episode')
+ if mode > 0:
+ xbmcplugin.setContent(handle=int(sys.argv[1]), content='tvshows')
+ xbmc.executebuiltin('Container.SetViewMode(%s)' % mode)
+ elif parent_item.action == 'findvideos':
+ mode = config.get_setting('view_mode_server')
+ if mode > 0:
+ xbmcplugin.setContent(handle=int(sys.argv[1]), content='addons')
+ xbmc.executebuiltin('Container.SetViewMode(%s)' % mode)
+ else:
+ mode = config.get_setting('view_mode_addon')
+ if mode > 0:
+ xbmcplugin.setContent(handle=int(sys.argv[1]), content='addons')
+ xbmc.executebuiltin('Container.SetViewMode(%s)' % mode)
+ else:
+ xbmcplugin.setContent(handle=int(sys.argv[1]), content='')
+ # content = 'movies' if item.contentType in ['movie'] and parent_item.action == 'peliculas'\
+ # else 'tvshows' if item.contentType in ['tvshow'] and parent_item.action == 'peliculas' \
+ # else 'tvshows' if parent_item.action == 'episodios' \
+ # else 'addons' if parent_item.action in ['findvideos'] \
+ # else 'addons'
+
+ # logger.info('Content: ' + content + ' - Action: ' + parent_item.action)
+ # xbmcplugin.setContent(handle=int(sys.argv[1]), content=content)
+ # xbmc.executebuiltin('Container.SetViewMode(%s)')
+
def render_items_old(itemlist, parent_item):
"""
Función encargada de mostrar el itemlist en kodi, se pasa como parametros el itemlist y el item del que procede
@@ -416,11 +465,11 @@ def render_items_old(itemlist, parent_item):
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
# Fijar la vista
- if config.get_setting("forceview"):
- viewmode_id = get_viewmode_id(parent_item)
- xbmc.executebuiltin("Container.SetViewMode(%s)" % viewmode_id)
- if parent_item.mode in ['silent', 'get_cached', 'set_cache', 'finish']:
- xbmc.executebuiltin("Container.SetViewMode(500)")
+ # if config.get_setting("forceview"):
+ # viewmode_id = get_viewmode_id(parent_item)
+ # xbmc.executebuiltin("Container.SetViewMode(%s)" % viewmode_id)
+ # if parent_item.mode in ['silent', 'get_cached', 'set_cache', 'finish']:
+ # xbmc.executebuiltin("Container.SetViewMode(500)")
logger.info('END render_items')
diff --git a/resources/language/English/strings.po b/resources/language/English/strings.po
index 77261bf0..7d880c6b 100644
--- a/resources/language/English/strings.po
+++ b/resources/language/English/strings.po
@@ -321,6 +321,10 @@ msgctxt "#30139"
msgid "Music"
msgstr ""
+msgctxt "#30140"
+msgid "Seasons"
+msgstr ""
+
msgctxt "#30151"
msgid "Watch the video"
msgstr ""
diff --git a/resources/language/Italian/strings.po b/resources/language/Italian/strings.po
index 01f91dcd..30a7d47a 100644
--- a/resources/language/Italian/strings.po
+++ b/resources/language/Italian/strings.po
@@ -321,6 +321,10 @@ msgctxt "#30139"
msgid "Music"
msgstr "Musica"
+msgctxt "#30140"
+msgid "Seasons"
+msgstr "Stagioni"
+
msgctxt "#30151"
msgid "Watch the video"
msgstr "Guarda il video"
diff --git a/resources/settings.xml b/resources/settings.xml
index 44140c77..73763f33 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -85,6 +85,13 @@
+
+
+
+
+
+
+
diff --git a/specials/shortcuts.py b/specials/shortcuts.py
index aa7a4ab4..4d702f5a 100644
--- a/specials/shortcuts.py
+++ b/specials/shortcuts.py
@@ -29,6 +29,77 @@ def settings_menu(item):
from platformcode import config
config.open_settings()
+def view_mode(item):
+ logger.info(str(item))
+ import xbmc
+ from platformcode import config, platformtools
+ skin_view_mode ={
+ 'skin.estuary':{
+ 'movie':{
+ 'List': 50,
+ 'Poster': 51,
+ # 'IconWall': 52,
+ 'Shift': 53,
+ 'InfoWall': 54,
+ 'WideList': 55,
+ 'Wall': 500,
+ # 'Banner': 501,
+ 'Fanart': 502
+ },
+ 'tvshow':{
+ 'List': 50,
+ 'Poster': 51,
+ 'Shift': 53,
+ 'InfoWall': 54,
+ 'WideList': 55,
+ 'Wall': 500,
+ 'Banner': 501,
+ 'Fanart': 502
+ },
+ 'season':{
+ 'List': 50,
+ 'Poster': 51,
+ 'Shift': 53,
+ 'InfoWall': 54,
+ 'WideList': 55,
+ 'Wall': 500,
+ 'Fanart': 502
+ },
+ 'episode':{
+ 'List': 50,
+ 'Poster': 51,
+ 'Shift': 53,
+ 'InfoWall': 54,
+ 'WideList': 55,
+ 'Wall': 500,
+ 'Banner': 501,
+ 'Fanart': 502
+ },
+ 'server':{
+ 'WideList': 55,
+ 'Wall': 500
+ },
+ 'addon':{
+ 'WideList': 55,
+ 'Wall': 500
+ }
+ }
+ }
+
+ list_type = [config.get_localized_string(59992)]
+ skin=xbmc.getSkinDir()
+ skin = skin_view_mode[xbmc.getSkinDir()][item.type]
+
+ for key in skin:
+ list_type.append(key)
+
+ select = platformtools.dialog_select(config.get_localized_string(60552), list_type)
+ if select > 0:
+ value = skin[list_type[select]]
+ else:
+ value = 0
+ config.set_setting('view_mode_%s' % item.type, value)
+
def servers_menu(item):
# from core.support import dbg; dbg()
from core import servertools