From 9094c5e845eca783f6fe2c1f87e4a7c0d77e4c05 Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Thu, 30 Sep 2021 19:48:10 +0200 Subject: [PATCH] Fix selezione tipo di vista --- platformcode/platformtools.py | 45 ++++++++++++++++++++--------------- resources/settings.xml | 4 +++- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 8f5635b3..d2b385d6 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -378,28 +378,29 @@ def render_items(itemlist, parent_item): set_view_mode(itemlist[0], parent_item) - xbmcplugin.endOfDirectory(_handle) + xbmcplugin.endOfDirectory(_handle, succeeded=True, updateListing=False, cacheToDisc=False) logger.debug('END render_items') def viewmodeMonitor(): - try: - currentModeName = xbmc.getInfoLabel('Container.Viewmode') - win = xbmcgui.Window(xbmcgui.getCurrentWindowId()) - currentMode = int(win.getFocusId()) - if currentModeName and 'plugin.video.kod' in xbmc.getInfoLabel('Container.FolderPath') and currentMode < 1000 and currentMode >= 50: # inside addon and in itemlist view - content, Type = getCurrentView() - if content: - defaultMode = int(config.get_setting('view_mode_%s' % content).split(',')[-1]) - if currentMode != defaultMode: - logger.debug('viewmode changed: ' + currentModeName + '-' + str(currentMode) + ' - content: ' + content) - config.set_setting('view_mode_%s' % content, currentModeName + ', ' + str(currentMode)) - dialog_notification(config.get_localized_string(70153), - config.get_localized_string(70187) % (content, currentModeName), - sound=False) - except: - import traceback - logger.error(traceback.print_exc()) + if get_window() == 'WINDOW_VIDEO_NAV': + try: + currentModeName = xbmc.getInfoLabel('Container.Viewmode') + win = xbmcgui.Window(xbmcgui.getCurrentWindowId()) + currentMode = int(win.getFocusId()) + if currentModeName and 'plugin.video.kod' in xbmc.getInfoLabel('Container.FolderPath') and currentMode < 1000 and currentMode >= 50: # inside addon and in itemlist view + content, Type = getCurrentView() + if content: + defaultMode = int(config.get_setting('view_mode_%s' % content).split(',')[-1]) + if currentMode != defaultMode: + logger.debug('viewmode changed: ' + currentModeName + '-' + str(currentMode) + ' - content: ' + content) + config.set_setting('view_mode_%s' % content, currentModeName + ', ' + str(currentMode)) + dialog_notification(config.get_localized_string(70153), + config.get_localized_string(70187) % (content, currentModeName), + sound=False) + except: + import traceback + logger.error(traceback.print_exc()) def getCurrentView(item=None, parent_item=None): @@ -437,13 +438,19 @@ def getCurrentView(item=None, parent_item=None): elif parent_item.action in ['episodios', 'get_episodes'] or item.contentType == 'episode': return 'episode', 'tvshows' + elif parent_item.action in ['getmainlist', '']: + return 'home', 'addons' + + elif parent_item.action in ['filterchannels']: + return 'channels', 'addons' + else: return 'menu', 'addons' if config.get_setting('touch_view') else '' def set_view_mode(item, parent_item): def reset_view_mode(): - for mode in ['menu','channel','movie','tvshow','season','episode','server']: + for mode in ['home','menu','channels','channel','movie','tvshow','season','episode','server']: config.set_setting('skin_name', xbmc.getSkinDir()) config.set_setting('view_mode_%s' % mode, config.get_localized_string(70003) + ' , 0') diff --git a/resources/settings.xml b/resources/settings.xml index 2821386f..4df4c6bf 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -138,7 +138,9 @@ + + @@ -149,7 +151,7 @@ - +