diff --git a/platformcode/keymaptools.py b/platformcode/keymaptools.py index 906c682f..f28e2009 100644 --- a/platformcode/keymaptools.py +++ b/platformcode/keymaptools.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- from builtins import map -import sys, xbmc, xbmcaddon, xbmcgui, base64, json, os, re +import xbmc, xbmcaddon, xbmcgui, os from threading import Timer from platformcode import config, logger, platformtools, launcher +from core import filetools from core.item import Item import channelselector -addon_icon = os.path.join( config.__settings__.getAddonInfo( "path" ),'resources', 'media', 'logo.png' ) +addon_icon = filetools.join( config.__settings__.getAddonInfo( "path" ),'resources', 'media', 'logo.png' ) background = 'FF232323' text = 'FFFFFFFF' @@ -130,7 +131,7 @@ class Main(xbmcgui.WindowXMLDialog): item.setProperty('channel', menuentry.channel) item.setProperty('focus', '0') item.setProperty('thumbnail', menuentry.thumbnail) - if menuentry.channel in ['news', 'channelselector', 'search', 'videolibrary', 'favorites']: + if menuentry.channel not in ['downloads', 'setting', 'help']: item.setProperty('sub', 'true') item.setProperty('run', menuentry.tourl()) itemlist.append(item) @@ -141,7 +142,7 @@ class Main(xbmcgui.WindowXMLDialog): if control_id in [1, 2]: action = self.getControl(control_id).getSelectedItem().getProperty('run') self.close() - if self.getControl(control_id).getSelectedItem().getProperty('folder') == 'False': + if Item().fromurl(action).folder == False: xbmc.executebuiltin('RunPlugin("plugin://plugin.video.kod/?' + action + '")') else: xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.kod/?' + action + '")') @@ -180,7 +181,7 @@ class Main(xbmcgui.WindowXMLDialog): if channel_name == 'channelselector': import channelselector itemlist = self.menulist(channelselector.getchanneltypes()) - elif channel_name in ['news', 'channelselector', 'search', 'videolibrary', 'favorites']: + elif channel_name not in ['downloads', 'setting', 'help']: channel = __import__('specials.%s' % channel_name, fromlist=["specials.%s" % channel_name]) itemlist = self.menulist(channel.mainlist(Item().fromurl(self.MENU.getSelectedItem().getProperty('run')))) self.SUBMENU.reset() diff --git a/resources/skins/Default/720p/ShortCutMenu.xml b/resources/skins/Default/720p/ShortCutMenu.xml index 63c20c63..c7b53108 100644 --- a/resources/skins/Default/720p/ShortCutMenu.xml +++ b/resources/skins/Default/720p/ShortCutMenu.xml @@ -89,6 +89,18 @@ keep center + + Selected Item + 0 + 180 + 100% + 40 + font13 + FFFFFFFF + + center + center + @@ -126,36 +138,35 @@ keep center + + Selected Item + 0 + 180 + 100% + 40 + font13 + FFFFFFFF + + center + center + - - Selected Item - 0 - 280 - 100% - 40 - font13 - FFFFFFFF - - center - center - - !String.IsEmpty(Container(1).ListItem.Property(sub)) + !Control.HasFocus(2) + !Control.HasFocus(102) Conditional - Conditional + + 520 + 240 + 60 + 60 down.png down.png keep @@ -164,16 +175,16 @@ !Control.HasFocus(1) + !Control.HasFocus(101) Conditional - Conditional + + 520 + -80 + 60 + 60 up.png up.png keep diff --git a/specials/kodfavorites.py b/specials/kodfavorites.py index af732369..cc7f7fdf 100644 --- a/specials/kodfavorites.py +++ b/specials/kodfavorites.py @@ -26,7 +26,7 @@ from datetime import datetime from core.item import Item from platformcode import config, logger, platformtools -from core import filetools, jsontools +from core import filetools, jsontools, support def fechahora_actual(): @@ -189,30 +189,24 @@ def mainlist(item): for i_perfil, perfil in enumerate(alfav.user_favorites): context = [] - context.append({'title': config.get_localized_string(70533), 'channel': item.channel, 'action': 'editar_perfil_titulo', - 'i_perfil': i_perfil}) - context.append({'title': config.get_localized_string(70534), 'channel': item.channel, 'action': 'eliminar_perfil', - 'i_perfil': i_perfil}) + context.append({'title': config.get_localized_string(70533), 'channel': item.channel, 'action': 'editar_perfil_titulo', 'i_perfil': i_perfil}) + context.append({'title': config.get_localized_string(70534), 'channel': item.channel, 'action': 'eliminar_perfil', 'i_perfil': i_perfil}) if i_perfil > 0: - context.append({'title': config.get_localized_string(70535), 'channel': item.channel, 'action': 'mover_perfil', - 'i_perfil': i_perfil, 'direccion': 'top'}) - context.append({'title': config.get_localized_string(70536), 'channel': item.channel, 'action': 'mover_perfil', - 'i_perfil': i_perfil, 'direccion': 'arriba'}) + context.append({'title': config.get_localized_string(70535), 'channel': item.channel, 'action': 'mover_perfil', 'i_perfil': i_perfil, 'direccion': 'top'}) + context.append({'title': config.get_localized_string(70536), 'channel': item.channel, 'action': 'mover_perfil', 'i_perfil': i_perfil, 'direccion': 'arriba'}) if i_perfil < last_i: - context.append({'title': config.get_localized_string(70537), 'channel': item.channel, 'action': 'mover_perfil', - 'i_perfil': i_perfil, 'direccion': 'abajo'}) - context.append({'title': config.get_localized_string(70538), 'channel': item.channel, 'action': 'mover_perfil', - 'i_perfil': i_perfil, 'direccion': 'bottom'}) + context.append({'title': config.get_localized_string(70537), 'channel': item.channel, 'action': 'mover_perfil', 'i_perfil': i_perfil, 'direccion': 'abajo'}) + context.append({'title': config.get_localized_string(70538), 'channel': item.channel, 'action': 'mover_perfil', 'i_perfil': i_perfil, 'direccion': 'bottom'}) plot = str(len(perfil['items'])) + " " + config.get_localized_string(70723) - itemlist.append(Item(channel=item.channel, action='mostrar_perfil', title=perfil['title'], plot=plot, i_perfil=i_perfil, context=context)) + itemlist.append(Item(channel=item.channel, action='mostrar_perfil', title=perfil['title'], plot=plot, i_perfil=i_perfil, context=context, thumbnail=support.thumb('mylink.png'))) itemlist.append(item.clone(action='crear_perfil', title=config.get_localized_string(70542), folder=False)) itemlist.append(item.clone(action='mainlist_listas', title=config.get_localized_string(70603))) - return itemlist + return support.thumb(itemlist) def mostrar_perfil(item): @@ -230,13 +224,13 @@ def mostrar_perfil(item): for i_enlace, enlace in enumerate(alfav.user_favorites[i_perfil]['items']): it = Item().fromurl(enlace) - it.context = [ {'title': '[COLOR blue]'+config.get_localized_string(70617)+'[/COLOR]', 'channel': item.channel, 'action': 'acciones_enlace', + it.context = [ {'title': config.get_localized_string(70617), 'channel': item.channel, 'action': 'acciones_enlace', 'i_enlace': i_enlace, 'i_perfil': i_perfil} ] - it.plot += '[CR][CR][COLOR blue]' + config.get_localized_string(70724) + ':[/COLOR] ' + it.channel + ' [COLOR blue]' + config.get_localized_string(60266) + ':[/COLOR] ' + it.action - if it.extra != '': it.plot += ' [COLOR blue]Extra:[/COLOR] ' + it.extra - it.plot += '[CR][COLOR blue]Url:[/COLOR] ' + it.url if isinstance(it.url, str) else '...' - if it.date_added != '': it.plot += '[CR][COLOR blue]' + config.get_localized_string(70469) + ':[/COLOR] ' + it.date_added + it.plot += '[CR][CR]' + config.get_localized_string(70724) + ': ' + it.channel + ' ' + config.get_localized_string(60266) + ': ' + it.action + if it.extra != '': it.plot += ' Extra: ' + it.extra + it.plot += '[CR]Url: ' + it.url if isinstance(it.url, str) else '...' + if it.date_added != '': it.plot += '[CR]' + config.get_localized_string(70469) + ': ' + it.date_added # If it is not a url, nor does it have the system path, convert the path since it will have been copied from another device. # It would be more optimal if the conversion was done with an import menu, but at the moment it is controlled in run-time.