Migliorato salvataggio viste

This commit is contained in:
mac12m99
2021-05-06 17:01:07 +02:00
parent 642c0acc41
commit 8006301d72
6 changed files with 35 additions and 28 deletions

View File

@@ -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]:

View File

@@ -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')

View File

@@ -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"

View File

@@ -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"

View File

@@ -138,7 +138,7 @@
<setting id="touch_view" label='30002' type="bool" default="false"/>
<!-- View Mode (hidden)-->
<setting id="skin_name" label='Skin Name' type="text" default="skin.estuary" visible="false"/>
<setting id="view_mode_addon" type="action" label="70009" default= "Default, 0" visible="false"/>
<setting id="view_mode_menu" type="action" label="70009" default= "Default, 0" visible="false"/>
<setting id="view_mode_channel" type="action" label="30118" default= "Default, 0" visible="false"/>
<setting id="view_mode_movie" type="action" label="30122" default= "Default, 0" visible="false"/>
<setting id="view_mode_tvshow" type="action" label="30123" default= "Default, 0" visible="false"/>

View File

@@ -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):