From 8006301d72e20a2bbcd52dc459485eb286b2836b Mon Sep 17 00:00:00 2001 From: mac12m99 <10120390+mac12m99@users.noreply.github.com> Date: Thu, 6 May 2021 17:01:07 +0200 Subject: [PATCH] Migliorato salvataggio viste --- platformcode/launcher.py | 5 +++- platformcode/platformtools.py | 26 ++++++++++++++++--- .../resource.language.en_gb/strings.po | 4 +-- .../resource.language.it_it/strings.po | 8 +++--- resources/settings.xml | 2 +- service.py | 18 +------------ 6 files changed, 35 insertions(+), 28 deletions(-) diff --git a/platformcode/launcher.py b/platformcode/launcher.py index 25839355..6e41f12a 100644 --- a/platformcode/launcher.py +++ b/platformcode/launcher.py @@ -33,8 +33,11 @@ def start(): def run(item=None): - # from core.support import dbg;dbg() logger.debug() + + # for saving viewmode for precedent menu + platformtools.viewmodeMonitor() + if not item: # Extract item from sys.argv if sys.argv[2]: diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 446cc382..32c9dce9 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -388,6 +388,26 @@ def render_items(itemlist, parent_item): 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()) + + def getCurrentView(item=None, parent_item=None): if not parent_item: info = xbmc.getInfoLabel('Container.FolderPath') @@ -395,7 +415,7 @@ def getCurrentView(item=None, parent_item=None): return None, None parent_item = Item().fromurl(info) if not item: - info = xbmc.getInfoLabel('Container.ListItem(1).FileNameAndPath') + info = xbmc.getInfoLabel('Container.ListItemPosition(2).FileNameAndPath') # first addon listitem (consider "..") if not info: return None, None item = Item().fromurl(info) if info else Item() @@ -424,12 +444,12 @@ def getCurrentView(item=None, parent_item=None): return 'episode', 'tvshows' else: - return 'addon', 'addons' if config.get_setting('touch_view') 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 ['addon','channel','movie','tvshow','season','episode','server']: + for mode in ['menu','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/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 39947634..ec414ea0 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -3433,7 +3433,7 @@ msgid "Show ExtendedInfo" msgstr "" msgctxt "#70153" -msgid "" +msgid "View mode saved" msgstr "" msgctxt "#70154" @@ -3569,7 +3569,7 @@ msgid "Getting episodes..." msgstr "" msgctxt "#70187" -msgid "" +msgid "For content %s -> %s" msgstr "" msgctxt "#70188" diff --git a/resources/language/resource.language.it_it/strings.po b/resources/language/resource.language.it_it/strings.po index 307be3f8..d1198d29 100644 --- a/resources/language/resource.language.it_it/strings.po +++ b/resources/language/resource.language.it_it/strings.po @@ -3432,8 +3432,8 @@ msgid "Show ExtendedInfo" msgstr "Mostra ExtendedInfo" msgctxt "#70153" -msgid "" -msgstr "" +msgid "View mode saved" +msgstr "Tipo di vista salvato" msgctxt "#70154" msgid "TMDB search" @@ -3568,8 +3568,8 @@ msgid "Getting episodes..." msgstr "Ottenimento episodi..." msgctxt "#70187" -msgid "" -msgstr "" +msgid "For content %s -> %s" +msgstr "Per contenuto %s -> %s" msgctxt "#70188" msgid "Obtaining data for the TV show" diff --git a/resources/settings.xml b/resources/settings.xml index 880344eb..3acf0ec7 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -138,7 +138,7 @@ - + diff --git a/service.py b/service.py index 4c1c88a1..cf225499 100644 --- a/service.py +++ b/service.py @@ -286,22 +286,6 @@ def check_for_update(overwrite=True): trakt_tools.update_all() -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 = platformtools.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)) - except: - logger.error(traceback.print_exc()) - - def updaterCheck(): # updater check updated, needsReload = updater.check(background=True) @@ -441,7 +425,7 @@ class AddonMonitor(xbmc.Monitor): logger.debug('scheduled videolibrary at ' + str(self.update_hour).zfill(2) + ':00') def scheduleScreenOnJobs(self): - schedule.every().second.do(viewmodeMonitor).tag('screenOn') + schedule.every().second.do(platformtools.viewmodeMonitor).tag('screenOn') schedule.every().second.do(torrent.elementum_monitor).tag('screenOn') def onDPMSActivated(self):