From b179939a8319c66410bd99f280b6821c2c1f4440 Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Fri, 3 Apr 2020 17:32:29 +0200 Subject: [PATCH] bozza impostazioni visualizzazioni predefinite --- platformcode/platformtools.py | 61 ++++++++++++++++++++--- resources/language/English/strings.po | 4 ++ resources/language/Italian/strings.po | 4 ++ resources/settings.xml | 7 +++ specials/shortcuts.py | 71 +++++++++++++++++++++++++++ 5 files changed, 141 insertions(+), 6 deletions(-) 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