fixes
@@ -1,92 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
#------------------------------------------------------------
|
|
||||||
# XBMC Plugin
|
|
||||||
#------------------------------------------------------------
|
|
||||||
|
|
||||||
import xbmcgui
|
|
||||||
import xbmc
|
|
||||||
|
|
||||||
from platformcode import config
|
|
||||||
from core import filetools
|
|
||||||
|
|
||||||
main = None
|
|
||||||
|
|
||||||
|
|
||||||
MAIN_MENU = {
|
|
||||||
"news" : {"label" : "Novedades", "icon" : filetools.join(config.get_runtime_path(),"resources","media","general","default","thumb_news.png"), "order": 0},
|
|
||||||
"channels" : {"label" : "Canales", "icon" : filetools.join(config.get_runtime_path(),"resources","media","general","default","thumb_channels.png"), "order": 1},
|
|
||||||
"search" : {"label" : "Buscador", "icon" : filetools.join(config.get_runtime_path(),"resources","media","general","default","thumb_search.png"), "order": 2},
|
|
||||||
"favorites" : {"label" : "Favoritos", "icon" : filetools.join(config.get_runtime_path(),"resources","media","general","default","thumb_favorites.png"), "order": 3},
|
|
||||||
"videolibrary" : {"label" : "Videoteca", "icon" : filetools.join(config.get_runtime_path(),"resources","media","general","default","thumb_videolibrary.png"), "order": 4},
|
|
||||||
"downloads" : {"label" : "Descargas", "icon" : filetools.join(config.get_runtime_path(),"resources","media","general","default","thumb_downloads.png"), "order": 5},
|
|
||||||
"settings" : {"label" : "Configuración", "icon" : filetools.join(config.get_runtime_path(),"resources","media","general","default","thumb_setting_0.png"), "order": 6},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Main(xbmcgui.WindowXMLDialog):
|
|
||||||
|
|
||||||
def __init__( self, *args, **kwargs ):
|
|
||||||
self.items = []
|
|
||||||
self.open = kwargs.get("open")
|
|
||||||
|
|
||||||
def onInit(self):
|
|
||||||
self.setCoordinateResolution(2)
|
|
||||||
|
|
||||||
|
|
||||||
if self.open:
|
|
||||||
for menuentry in MAIN_MENU.keys():
|
|
||||||
item = xbmcgui.ListItem(MAIN_MENU[menuentry]["label"])
|
|
||||||
item.setProperty("thumb",str(MAIN_MENU[menuentry]["icon"]))
|
|
||||||
item.setProperty("identifier",str(menuentry))
|
|
||||||
item.setProperty("order", str(MAIN_MENU[menuentry]["order"]))
|
|
||||||
self.items.append(item)
|
|
||||||
|
|
||||||
self.items.sort(key=lambda it:int(it.getProperty("order")))
|
|
||||||
self.getControl(32500).addItems(self.items)
|
|
||||||
self.setFocusId(32500)
|
|
||||||
self.open = False
|
|
||||||
|
|
||||||
def onClick(self,controlId):
|
|
||||||
if controlId == 32500:
|
|
||||||
identifier = self.getControl(32500).getSelectedItem().getProperty("identifier")
|
|
||||||
if identifier == "news":
|
|
||||||
self.close()
|
|
||||||
xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJuZXdzIg0KfQ==")')
|
|
||||||
elif identifier == "channels":
|
|
||||||
self.close()
|
|
||||||
xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAiZ2V0Y2hhbm5lbHR5cGVzIiwgDQogICAgImNoYW5uZWwiOiAiY2hhbm5lbHNlbGVjdG9yIg0KfQ==")')
|
|
||||||
elif identifier == "search":
|
|
||||||
self.close()
|
|
||||||
xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJzZWFyY2giDQp9")')
|
|
||||||
elif identifier == "favorites":
|
|
||||||
self.close()
|
|
||||||
xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJmYXZvcml0ZXMiDQp9")')
|
|
||||||
elif identifier == "videolibrary":
|
|
||||||
self.close()
|
|
||||||
xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJ2aWRlb2xpYnJhcnkiDQp9")')
|
|
||||||
elif identifier == "downloads":
|
|
||||||
self.close()
|
|
||||||
xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJkb3dubG9hZHMiDQp9")')
|
|
||||||
elif identifier == "settings":
|
|
||||||
self.close()
|
|
||||||
xbmc.executebuiltin('ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJzZXR0aW5nIg0KfQ==")')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def onAction(self,action):
|
|
||||||
#exit
|
|
||||||
global main
|
|
||||||
if action.getId() == 92 or action.getId() == 10:
|
|
||||||
main.close()
|
|
||||||
del main
|
|
||||||
if action.getId() == 117:
|
|
||||||
config.open_settings()
|
|
||||||
|
|
||||||
|
|
||||||
def start(item):
|
|
||||||
global main
|
|
||||||
main = Main('script-shortcut-menu.xml',config.get_runtime_path(),open=True)
|
|
||||||
main.doModal()
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import xbmcgui
|
|
||||||
import xbmcaddon
|
|
||||||
from platformcode import config
|
|
||||||
from core import filetools
|
|
||||||
from threading import Timer
|
|
||||||
|
|
||||||
class KeyListener(xbmcgui.WindowXMLDialog):
|
|
||||||
TIMEOUT = 10
|
|
||||||
|
|
||||||
def __new__(cls):
|
|
||||||
gui_api = tuple(map(int, xbmcaddon.Addon('xbmc.gui').getAddonInfo('version').split('.')))
|
|
||||||
file_name = "DialogNotification.xml" if gui_api >= (5, 11, 0) else "DialogKaiToast.xml"
|
|
||||||
return super(KeyListener, cls).__new__(cls, file_name, "")
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
self.key = None
|
|
||||||
|
|
||||||
def onInit(self):
|
|
||||||
try:
|
|
||||||
self.getControl(401).addLabel("Presiona la tecla a usar para abrir la ventana")
|
|
||||||
self.getControl(402).addLabel("Tienes %s segundos" % self.TIMEOUT)
|
|
||||||
except AttributeError:
|
|
||||||
self.getControl(401).setLabel("Presiona la tecla a usar para abrir la ventana")
|
|
||||||
self.getControl(402).setLabel("Tienes %s segundos" % self.TIMEOUT)
|
|
||||||
|
|
||||||
self.getControl(400).setImage(filetools.join(config.get_runtime_path(),"resources","images","matchcenter","matchcenter.png"))
|
|
||||||
|
|
||||||
def onAction(self, action):
|
|
||||||
code = action.getButtonCode()
|
|
||||||
self.key = None if code == 0 else str(code)
|
|
||||||
self.close()
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def record_key():
|
|
||||||
dialog = KeyListener()
|
|
||||||
timeout = Timer(KeyListener.TIMEOUT, dialog.close)
|
|
||||||
timeout.start()
|
|
||||||
dialog.doModal()
|
|
||||||
timeout.cancel()
|
|
||||||
key = dialog.key
|
|
||||||
del dialog
|
|
||||||
return key
|
|
||||||
|
|
||||||
|
|
||||||
def start():
|
|
||||||
tecla_guardada = config.get_setting("keymap_edit", "editor_keymap")
|
|
||||||
nuevakey = KeyListener().record_key()
|
|
||||||
if nuevakey and tecla_guardada != nuevakey:
|
|
||||||
from core import filetools
|
|
||||||
from platformcode import platformtools
|
|
||||||
import xbmc
|
|
||||||
file_xml = "special://profile/keymaps/alfa.xml"
|
|
||||||
data = '<keymap><global><keyboard><key id="%s">' % nuevakey + 'runplugin(plugin://' \
|
|
||||||
'plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAic3RhcnQiLCANCiAgICAiY2hhbm5lbCI6ICJtaW5pbWVudSIsIA0KICAgICJpbmZvTGFiZWxzIjoge30NCn0=)</key></keyboard></global></keymap>'
|
|
||||||
filetools.write(xbmc.translatePath(file_xml), data)
|
|
||||||
platformtools.dialog_notification("Tecla guardada", "Reinicia Kodi para que se apliquen los cambios")
|
|
||||||
|
|
||||||
from core import scrapertools
|
|
||||||
config.set_setting("keymap_edit", nuevakey, "editor_keymap")
|
|
||||||
file_idioma = filetools.join(config.get_runtime_path(), 'resources', 'language', 'Spanish', 'strings.xml')
|
|
||||||
data = filetools.read(file_idioma)
|
|
||||||
value_xml = scrapertools.find_single_match(data, '<string id="31100">([^<]+)<')
|
|
||||||
if "tecla" in value_xml:
|
|
||||||
data = data.replace(value_xml, 'Cambiar tecla/botón para abrir la ventana (Guardada: %s)' % nuevakey)
|
|
||||||
elif "key" in value_xml:
|
|
||||||
data = data.replace(value_xml, 'Change key/button to open the window (Saved: %s)' % nuevakey)
|
|
||||||
else:
|
|
||||||
data = data.replace(value_xml, 'Cambiamento di chiave/pulsante per aprire la finestra (Salvato: %s)' % nuevakey)
|
|
||||||
filetools.write(file_idioma, data)
|
|
||||||
|
|
||||||
return
|
|
||||||
@@ -0,0 +1,180 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from threading import Timer
|
||||||
|
|
||||||
|
import xbmc
|
||||||
|
import xbmcaddon
|
||||||
|
import xbmcgui
|
||||||
|
from core import filetools
|
||||||
|
from platformcode import config
|
||||||
|
|
||||||
|
|
||||||
|
class KeyListener(xbmcgui.WindowXMLDialog):
|
||||||
|
TIMEOUT = 10
|
||||||
|
|
||||||
|
def __new__(cls):
|
||||||
|
gui_api = tuple(map(int, xbmcaddon.Addon('xbmc.gui').getAddonInfo('version').split('.')))
|
||||||
|
if gui_api >= (5, 11, 0):
|
||||||
|
filenname = "DialogNotification.xml"
|
||||||
|
else:
|
||||||
|
filenname = "DialogKaiToast.xml"
|
||||||
|
return super(KeyListener, cls).__new__(cls, filenname, "")
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.key = None
|
||||||
|
|
||||||
|
def onInit(self):
|
||||||
|
try:
|
||||||
|
self.getControl(401).addLabel("Presiona la tecla a usar para abrir la ventana")
|
||||||
|
self.getControl(402).addLabel("Tienes %s segundos" % self.TIMEOUT)
|
||||||
|
except AttributeError:
|
||||||
|
self.getControl(401).setLabel("Presiona la tecla a usar para abrir la ventana")
|
||||||
|
self.getControl(402).setLabel("Tienes %s segundos" % self.TIMEOUT)
|
||||||
|
|
||||||
|
def onAction(self, action):
|
||||||
|
code = action.getButtonCode()
|
||||||
|
if code == 0:
|
||||||
|
self.key = None
|
||||||
|
else:
|
||||||
|
self.key = str(code)
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def record_key():
|
||||||
|
dialog = KeyListener()
|
||||||
|
timeout = Timer(KeyListener.TIMEOUT, dialog.close)
|
||||||
|
timeout.start()
|
||||||
|
dialog.doModal()
|
||||||
|
timeout.cancel()
|
||||||
|
key = dialog.key
|
||||||
|
del dialog
|
||||||
|
return key
|
||||||
|
|
||||||
|
|
||||||
|
def set_key():
|
||||||
|
saved_key = config.get_setting("shortcut_key")
|
||||||
|
new_key = KeyListener().record_key()
|
||||||
|
|
||||||
|
if new_key and saved_key != new_key:
|
||||||
|
from core import filetools
|
||||||
|
from platformcode import platformtools
|
||||||
|
import xbmc
|
||||||
|
file_xml = "special://profile/keymaps/alfa.xml"
|
||||||
|
data = '<keymap><global><keyboard><key id="%s">' % new_key + 'runplugin(plugin://' \
|
||||||
|
'plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAia2V5bWFwIiwNCiAgICAib3BlbiI6IHRydWUNCn0=)</key></keyboard></global></keymap>'
|
||||||
|
filetools.write(xbmc.translatePath(file_xml), data)
|
||||||
|
platformtools.dialog_notification("Tecla guardada", "Reinicia Kodi para que se apliquen los cambios")
|
||||||
|
|
||||||
|
config.set_setting("shortcut_key", new_key)
|
||||||
|
# file_idioma = filetools.join(config.get_runtime_path(), 'resources', 'language', 'Spanish', 'strings.xml')
|
||||||
|
# data = filetools.read(file_idioma)
|
||||||
|
# value_xml = scrapertools.find_single_match(data, '<string id="31100">([^<]+)<')
|
||||||
|
# if "tecla" in value_xml:
|
||||||
|
# data = data.replace(value_xml, 'Cambiar tecla/botón para abrir la ventana (Guardada: %s)' % new_key)
|
||||||
|
# elif "key" in value_xml:
|
||||||
|
# data = data.replace(value_xml, 'Change key/button to open the window (Saved: %s)' % new_key)
|
||||||
|
# else:
|
||||||
|
# data = data.replace(value_xml,
|
||||||
|
# 'Cambiamento di chiave/pulsante per aprire la finestra (Salvato: %s)' % new_key)
|
||||||
|
# filetools.write(file_idioma, data)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
MAIN_MENU = {
|
||||||
|
"news": {"label": "Novedades",
|
||||||
|
"icon": filetools.join(config.get_runtime_path(), "resources", "media", "general", "default",
|
||||||
|
"thumb_news.png"), "order": 0},
|
||||||
|
"channels": {"label": "Canales",
|
||||||
|
"icon": filetools.join(config.get_runtime_path(), "resources", "media", "general", "default",
|
||||||
|
"thumb_channels.png"), "order": 1},
|
||||||
|
"search": {"label": "Buscador",
|
||||||
|
"icon": filetools.join(config.get_runtime_path(), "resources", "media", "general", "default",
|
||||||
|
"thumb_search.png"), "order": 2},
|
||||||
|
"favorites": {"label": "Favoritos",
|
||||||
|
"icon": filetools.join(config.get_runtime_path(), "resources", "media", "general", "default",
|
||||||
|
"thumb_favorites.png"), "order": 3},
|
||||||
|
"videolibrary": {"label": "Videoteca",
|
||||||
|
"icon": filetools.join(config.get_runtime_path(), "resources", "media", "general", "default",
|
||||||
|
"thumb_videolibrary.png"), "order": 4},
|
||||||
|
"downloads": {"label": "Descargas",
|
||||||
|
"icon": filetools.join(config.get_runtime_path(), "resources", "media", "general", "default",
|
||||||
|
"thumb_downloads.png"), "order": 5},
|
||||||
|
"settings": {"label": "Configuración",
|
||||||
|
"icon": filetools.join(config.get_runtime_path(), "resources", "media", "general", "default",
|
||||||
|
"thumb_setting_0.png"), "order": 6},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Main(xbmcgui.WindowXMLDialog):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
self.items = []
|
||||||
|
self.open = kwargs.get("open")
|
||||||
|
|
||||||
|
def onInit(self):
|
||||||
|
self.setCoordinateResolution(2)
|
||||||
|
|
||||||
|
if self.open:
|
||||||
|
for menuentry in MAIN_MENU.keys():
|
||||||
|
item = xbmcgui.ListItem(MAIN_MENU[menuentry]["label"])
|
||||||
|
item.setProperty("thumb", str(MAIN_MENU[menuentry]["icon"]))
|
||||||
|
item.setProperty("identifier", str(menuentry))
|
||||||
|
item.setProperty("order", str(MAIN_MENU[menuentry]["order"]))
|
||||||
|
self.items.append(item)
|
||||||
|
|
||||||
|
self.items.sort(key=lambda it: it.getProperty("order"))
|
||||||
|
self.getControl(32500).addItems(self.items)
|
||||||
|
self.setFocusId(32500)
|
||||||
|
self.open = False
|
||||||
|
|
||||||
|
def onClick(self, control_id):
|
||||||
|
if control_id == 32500:
|
||||||
|
identifier = self.getControl(32500).getSelectedItem().getProperty("identifier")
|
||||||
|
if identifier == "news":
|
||||||
|
self.close()
|
||||||
|
xbmc.executebuiltin(
|
||||||
|
'ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJuZXdzIg0KfQ==")')
|
||||||
|
elif identifier == "channels":
|
||||||
|
self.close()
|
||||||
|
xbmc.executebuiltin(
|
||||||
|
'ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAiZ2V0Y2hhbm5lbHR5cGVzIiwgDQogICAgImNoYW5uZWwiOiAiY2hhbm5lbHNlbGVjdG9yIg0KfQ==")')
|
||||||
|
elif identifier == "search":
|
||||||
|
self.close()
|
||||||
|
xbmc.executebuiltin(
|
||||||
|
'ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJzZWFyY2giDQp9")')
|
||||||
|
elif identifier == "favorites":
|
||||||
|
self.close()
|
||||||
|
xbmc.executebuiltin(
|
||||||
|
'ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJmYXZvcml0ZXMiDQp9")')
|
||||||
|
elif identifier == "videolibrary":
|
||||||
|
self.close()
|
||||||
|
xbmc.executebuiltin(
|
||||||
|
'ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJ2aWRlb2xpYnJhcnkiDQp9")')
|
||||||
|
elif identifier == "downloads":
|
||||||
|
self.close()
|
||||||
|
xbmc.executebuiltin(
|
||||||
|
'ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJkb3dubG9hZHMiDQp9")')
|
||||||
|
elif identifier == "settings":
|
||||||
|
self.close()
|
||||||
|
xbmc.executebuiltin(
|
||||||
|
'ActivateWindow(10025, "plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAibWFpbmxpc3QiLCANCiAgICAiY2hhbm5lbCI6ICJzZXR0aW5nIg0KfQ==")')
|
||||||
|
|
||||||
|
config.set_setting("shortcut_flag", "")
|
||||||
|
|
||||||
|
def onAction(self, action):
|
||||||
|
# exit
|
||||||
|
if action.getId() in [xbmcgui.ACTION_PREVIOUS_MENU, xbmcgui.ACTION_NAV_BACK]:
|
||||||
|
# main.close()
|
||||||
|
self.close()
|
||||||
|
config.set_setting("shortcut_flag", "")
|
||||||
|
|
||||||
|
if action.getId() == xbmcgui.ACTION_CONTEXT_MENU:
|
||||||
|
config.open_settings()
|
||||||
|
|
||||||
|
|
||||||
|
def open_shortcut_menu():
|
||||||
|
if config.get_setting("shortcut_flag") != "open":
|
||||||
|
main = Main('ShortCutMenu.xml', config.get_runtime_path(), open=True)
|
||||||
|
config.set_setting("shortcut_flag", "open")
|
||||||
|
main.doModal()
|
||||||
|
del main
|
||||||
@@ -120,9 +120,12 @@ def run(item=None):
|
|||||||
play_from_library(item)
|
play_from_library(item)
|
||||||
return
|
return
|
||||||
|
|
||||||
elif item.action == "editor_keymap":
|
elif item.action == "keymap":
|
||||||
from platformcode import editor_keymap
|
from platformcode import keymaptools
|
||||||
return editor_keymap.start()
|
if item.open:
|
||||||
|
return keymaptools.open_shortcut_menu()
|
||||||
|
else:
|
||||||
|
return keymaptools.set_key()
|
||||||
|
|
||||||
# Action in certain channel specified in "action" and "channel" parameters
|
# Action in certain channel specified in "action" and "channel" parameters
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -51,6 +51,6 @@
|
|||||||
<setting id="extended_info" type="bool" label="Mostrar opción ExtendedInfo (Necesario addon externo):" default="false"/>
|
<setting id="extended_info" type="bool" label="Mostrar opción ExtendedInfo (Necesario addon externo):" default="false"/>
|
||||||
|
|
||||||
<setting label="Botones/Teclas de acceso (Cambios requieren reiniciar Kodi)" type="lsep"/>
|
<setting label="Botones/Teclas de acceso (Cambios requieren reiniciar Kodi)" type="lsep"/>
|
||||||
<setting id="button_keymap" type="action" label="31100" action="RunPlugin(plugin://plugin.video.alfa/?ewogICAgImFjdGlvbiI6ICJlZGl0b3Jfa2V5bWFwIiwgCiAgICAiaW5mb0xhYmVscyI6IHt9Cn0%3D)" />
|
<setting id="shortcut_key" type="action" label="31100" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAia2V5bWFwIg0KfQ==)" />
|
||||||
</category>
|
</category>
|
||||||
</settings>
|
</settings>
|
||||||
|
|||||||
@@ -1,229 +1,229 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<window type="window">
|
<window type="window">
|
||||||
<depth>0.52</depth>
|
<depth>0.52</depth>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<left>147</left>
|
<left>147</left>
|
||||||
<top>180</top>
|
<top>180</top>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
<defaultcontrol always="true">32500</defaultcontrol>
|
<defaultcontrol always="true">32500</defaultcontrol>
|
||||||
<animation type="WindowOpen" reversible="false">
|
<animation type="WindowOpen" reversible="false">
|
||||||
<effect type="zoom" start="80" end="100" center="960,540" delay="160" tween="back" time="240" />
|
<effect type="zoom" start="80" end="100" center="960,540" delay="160" tween="back" time="240" />
|
||||||
<effect type="fade" delay="160" end="100" time="240" />
|
<effect type="fade" delay="160" end="100" time="240" />
|
||||||
</animation>
|
</animation>
|
||||||
<animation type="WindowClose" reversible="false">
|
<animation type="WindowClose" reversible="false">
|
||||||
<effect type="zoom" start="100" end="80" center="960,540" easing="in" tween="back" time="240" />
|
<effect type="zoom" start="100" end="80" center="960,540" easing="in" tween="back" time="240" />
|
||||||
<effect type="fade" start="100" end="0" time="240" />
|
<effect type="fade" start="100" end="0" time="240" />
|
||||||
</animation>
|
</animation>
|
||||||
<controls>
|
<controls>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>0</left>
|
<left>0</left>
|
||||||
<top>0</top>
|
<top>0</top>
|
||||||
<width>969</width>
|
<width>969</width>
|
||||||
<height>283</height>
|
<height>283</height>
|
||||||
<texture border="2">Shorcut/dialog-bg-solid.png</texture>
|
<texture border="2">Shortcut/dialog-bg-solid.png</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>0</left>
|
<left>0</left>
|
||||||
<top>0</top>
|
<top>0</top>
|
||||||
<width>969</width>
|
<width>969</width>
|
||||||
<height>70</height>
|
<height>70</height>
|
||||||
<texture colordiffuse="FF12B2E7" border="2">Shorcut/white70.png</texture>
|
<texture colordiffuse="FF12B2E7" border="2">Shortcut/white70.png</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="label" id="30000">
|
<control type="label" id="30000">
|
||||||
<textoffsetx>70</textoffsetx>
|
<textoffsetx>70</textoffsetx>
|
||||||
<left>-30</left>
|
<left>-30</left>
|
||||||
<top>0</top>
|
<top>0</top>
|
||||||
<width>969</width>
|
<width>969</width>
|
||||||
<height>70</height>
|
<height>70</height>
|
||||||
<font>font20_title</font>
|
<font>font20_title</font>
|
||||||
<label>Shortcut</label>
|
<label>Shortcut</label>
|
||||||
<align>left</align>
|
<align>left</align>
|
||||||
<aligny>center</aligny>
|
<aligny>center</aligny>
|
||||||
<shadowcolor>black</shadowcolor>
|
<shadowcolor>black</shadowcolor>
|
||||||
</control>
|
</control>
|
||||||
<control type="button">
|
<control type="button">
|
||||||
<left>-1920</left>
|
<left>-1920</left>
|
||||||
<top>-1080</top>
|
<top>-1080</top>
|
||||||
<width>5760</width>
|
<width>5760</width>
|
||||||
<height>3240</height>
|
<height>3240</height>
|
||||||
<texturefocus>-</texturefocus>
|
<texturefocus>-</texturefocus>
|
||||||
<texturenofocus>-</texturenofocus>
|
<texturenofocus>-</texturenofocus>
|
||||||
<onclick>Action(close)</onclick>
|
<onclick>Action(close)</onclick>
|
||||||
</control>
|
</control>
|
||||||
<control type="button">
|
<control type="button">
|
||||||
<description>button overlay to avoid closing in dialog area</description>
|
<description>button overlay to avoid closing in dialog area</description>
|
||||||
<left>0</left>
|
<left>0</left>
|
||||||
<top>0</top>
|
<top>0</top>
|
||||||
<width>969</width>
|
<width>969</width>
|
||||||
<height>283</height>
|
<height>283</height>
|
||||||
<texturefocus>-</texturefocus>
|
<texturefocus>-</texturefocus>
|
||||||
<texturenofocus>-</texturenofocus>
|
<texturenofocus>-</texturenofocus>
|
||||||
<onclick>noop</onclick>
|
<onclick>noop</onclick>
|
||||||
</control>
|
</control>
|
||||||
<control type="radiobutton" id="32501">
|
<control type="radiobutton" id="32501">
|
||||||
<left>969</left>
|
<left>969</left>
|
||||||
<top>11</top>
|
<top>11</top>
|
||||||
<width>48</width>
|
<width>48</width>
|
||||||
<height>48</height>
|
<height>48</height>
|
||||||
<radiowidth>48</radiowidth>
|
<radiowidth>48</radiowidth>
|
||||||
<radioheight>48</radioheight>
|
<radioheight>48</radioheight>
|
||||||
<texturefocus>-</texturefocus>
|
<texturefocus>-</texturefocus>
|
||||||
<texturenofocus>-</texturenofocus>
|
<texturenofocus>-</texturenofocus>
|
||||||
<label></label>
|
<label></label>
|
||||||
<animation effect="slide" end="-70,0" time="0" condition="true">Conditional</animation>
|
<animation effect="slide" end="-70,0" time="0" condition="true">Conditional</animation>
|
||||||
<textureradioofffocus colordiffuse="EEFFFFFF">Shorcut/close.png</textureradioofffocus>
|
<textureradioofffocus colordiffuse="EEFFFFFF">Shortcut/close.png</textureradioofffocus>
|
||||||
<textureradiooffnofocus colordiffuse="EEFFFFFF">Shorcut/logo.png</textureradiooffnofocus>
|
<textureradiooffnofocus colordiffuse="EEFFFFFF">Shortcut/logo.png</textureradiooffnofocus>
|
||||||
<textureradioonfocus colordiffuse="EEFFFFFF">Shorcut/close.png</textureradioonfocus>
|
<textureradioonfocus colordiffuse="EEFFFFFF">Shortcut/close.png</textureradioonfocus>
|
||||||
<textureradioonnofocus colordiffuse="EEFFFFFF">Shorcut/logo.png</textureradioonnofocus>
|
<textureradioonnofocus colordiffuse="EEFFFFFF">Shortcut/logo.png</textureradioonnofocus>
|
||||||
<onclick>Action(close)</onclick>
|
<onclick>Action(close)</onclick>
|
||||||
<onup>32500</onup>
|
<onup>32500</onup>
|
||||||
<ondown>32500</ondown>
|
<ondown>32500</ondown>
|
||||||
</control>
|
</control>
|
||||||
<control type="group">
|
<control type="group">
|
||||||
<control type="group">
|
<control type="group">
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>-21</left>
|
<left>-21</left>
|
||||||
<top>50</top>
|
<top>50</top>
|
||||||
<width>1011</width>
|
<width>1011</width>
|
||||||
<height>253</height>
|
<height>253</height>
|
||||||
<texture border="40">Shorcut/dialogbutton-nofo.png</texture>
|
<texture border="40">Shortcut/dialogbutton-nofo.png</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="list" id="32500">
|
<control type="list" id="32500">
|
||||||
<left>-139</left>
|
<left>-139</left>
|
||||||
<top>55</top>
|
<top>55</top>
|
||||||
<width>980</width>
|
<width>980</width>
|
||||||
<height>220</height>
|
<height>220</height>
|
||||||
<onup>32501</onup>
|
<onup>32501</onup>
|
||||||
<ondown>61</ondown>
|
<ondown>61</ondown>
|
||||||
<orientation>horizontal</orientation>
|
<orientation>horizontal</orientation>
|
||||||
<scrolltime>200</scrolltime>
|
<scrolltime>200</scrolltime>
|
||||||
<pagecontrol>61</pagecontrol>
|
<pagecontrol>61</pagecontrol>
|
||||||
<animation effect="slide" start="0,0" end="10,0" time="0" condition="true">Conditional</animation>
|
<animation effect="slide" start="0,0" end="10,0" time="0" condition="true">Conditional</animation>
|
||||||
<animation effect="slide" end="120,0" time="0" condition="!Control.IsVisible(5)">Conditional</animation>
|
<animation effect="slide" end="120,0" time="0" condition="!Control.IsVisible(5)">Conditional</animation>
|
||||||
<itemlayout height="225" width="323">
|
<itemlayout height="225" width="323">
|
||||||
<top>2</top>
|
<top>2</top>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<top>5</top>
|
<top>5</top>
|
||||||
<left>10</left>
|
<left>10</left>
|
||||||
<width>347</width>
|
<width>347</width>
|
||||||
<height>260</height>
|
<height>260</height>
|
||||||
<texture border="40">Shorcut/button-nofo.png</texture>
|
<texture border="40">Shortcut/button-nofo.png</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>30</left>
|
<left>30</left>
|
||||||
<top>149</top>
|
<top>149</top>
|
||||||
<width>306</width>
|
<width>306</width>
|
||||||
<height>75</height>
|
<height>75</height>
|
||||||
<texture colordiffuse="60FFFFFF">Shorcut/black.png</texture>
|
<texture colordiffuse="60FFFFFF">Shortcut/black.png</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>95</left>
|
<left>95</left>
|
||||||
<top>23</top>
|
<top>23</top>
|
||||||
<width>160</width>
|
<width>160</width>
|
||||||
<height>130</height>
|
<height>130</height>
|
||||||
<texture>$INFO[ListItem.Property(thumb)]</texture>
|
<texture>$INFO[ListItem.Property(thumb)]</texture>
|
||||||
<aspectratio>keep</aspectratio>
|
<aspectratio>keep</aspectratio>
|
||||||
<align>center</align>
|
<align>center</align>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>329</left>
|
<left>329</left>
|
||||||
<top>24</top>
|
<top>24</top>
|
||||||
<width>50</width>
|
<width>50</width>
|
||||||
<height>50</height>
|
<height>50</height>
|
||||||
<aspectratio>keep</aspectratio>
|
<aspectratio>keep</aspectratio>
|
||||||
<texture>$INFO[ListItem.Overlay]</texture>
|
<texture>$INFO[ListItem.Overlay]</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="textbox">
|
<control type="textbox">
|
||||||
<left>25</left>
|
<left>25</left>
|
||||||
<top>146</top>
|
<top>146</top>
|
||||||
<width>300</width>
|
<width>300</width>
|
||||||
<height>74</height>
|
<height>74</height>
|
||||||
<label>[COLOR grey]$INFO[ListItem.Label][/COLOR]</label>
|
<label>[COLOR grey]$INFO[ListItem.Label][/COLOR]</label>
|
||||||
<shadowcolor>text_shadow</shadowcolor>
|
<shadowcolor>text_shadow</shadowcolor>
|
||||||
<font>font12</font>
|
<font>font12</font>
|
||||||
<align>center</align>
|
<align>center</align>
|
||||||
<aligny>center</aligny>
|
<aligny>center</aligny>
|
||||||
</control>
|
</control>
|
||||||
</itemlayout>
|
</itemlayout>
|
||||||
<focusedlayout height="225" width="323">
|
<focusedlayout height="225" width="323">
|
||||||
<control type="group">
|
<control type="group">
|
||||||
<depth>0.10</depth>
|
<depth>0.10</depth>
|
||||||
<animation type="Focus" reversible="false">
|
<animation type="Focus" reversible="false">
|
||||||
<effect type="zoom" center="auto" start="100" end="108" time="250" tween="sine" />
|
<effect type="zoom" center="auto" start="100" end="108" time="250" tween="sine" />
|
||||||
</animation>
|
</animation>
|
||||||
<animation type="UnFocus" reversible="false">
|
<animation type="UnFocus" reversible="false">
|
||||||
<effect type="zoom" center="auto" start="108" end="100" time="150" tween="sine" />
|
<effect type="zoom" center="auto" start="108" end="100" time="150" tween="sine" />
|
||||||
</animation>
|
</animation>
|
||||||
<top>2</top>
|
<top>2</top>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<width>340</width>
|
<width>340</width>
|
||||||
<height>245</height>
|
<height>245</height>
|
||||||
<texture border="40">Shorcut/button-nofo.png</texture>
|
<texture border="40">Shortcut/button-nofo.png</texture>
|
||||||
<animation effect="fade" start="0" end="100" time="0">Unfocus</animation>
|
<animation effect="fade" start="0" end="100" time="0">Unfocus</animation>
|
||||||
<animation effect="fade" start="100" end="0" time="0">Focus</animation>
|
<animation effect="fade" start="100" end="0" time="0">Focus</animation>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<width>340</width>
|
<width>340</width>
|
||||||
<height>237</height>
|
<height>237</height>
|
||||||
<texture border="40" colordiffuse="FF12B2E7">Shorcut/button-fo.png</texture>
|
<texture border="40" colordiffuse="FF12B2E7">Shortcut/button-fo.png</texture>
|
||||||
<animation effect="fade" start="100" end="0" time="0">Unfocus</animation>
|
<animation effect="fade" start="100" end="0" time="0">Unfocus</animation>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>5</left>
|
<left>5</left>
|
||||||
<top>24</top>
|
<top>24</top>
|
||||||
<width>50</width>
|
<width>50</width>
|
||||||
<height>50</height>
|
<height>50</height>
|
||||||
<aspectratio>keep</aspectratio>
|
<aspectratio>keep</aspectratio>
|
||||||
<texture>$INFO[ListItem.Overlay]</texture>
|
<texture>$INFO[ListItem.Overlay]</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>23</left>
|
<left>23</left>
|
||||||
<top>149</top>
|
<top>149</top>
|
||||||
<width>298</width>
|
<width>298</width>
|
||||||
<height>75</height>
|
<height>75</height>
|
||||||
<texture colordiffuse="60FFFFFF">Shorcut/black.png</texture>
|
<texture colordiffuse="60FFFFFF">Shortcut/black.png</texture>
|
||||||
</control>
|
</control>
|
||||||
<control type="image">
|
<control type="image">
|
||||||
<left>95</left>
|
<left>95</left>
|
||||||
<top>23</top>
|
<top>23</top>
|
||||||
<width>160</width>
|
<width>160</width>
|
||||||
<height>130</height>
|
<height>130</height>
|
||||||
<texture>$INFO[ListItem.Property(thumb)]</texture>
|
<texture>$INFO[ListItem.Property(thumb)]</texture>
|
||||||
<aspectratio>keep</aspectratio>
|
<aspectratio>keep</aspectratio>
|
||||||
<align>center</align>
|
<align>center</align>
|
||||||
</control>
|
</control>
|
||||||
<control type="textbox">
|
<control type="textbox">
|
||||||
<left>25</left>
|
<left>25</left>
|
||||||
<top>146</top>
|
<top>146</top>
|
||||||
<width>300</width>
|
<width>300</width>
|
||||||
<height>74</height>
|
<height>74</height>
|
||||||
<font>font12</font>
|
<font>font12</font>
|
||||||
<label>$INFO[ListItem.Label]</label>
|
<label>$INFO[ListItem.Label]</label>
|
||||||
<align>center</align>
|
<align>center</align>
|
||||||
<aligny>center</aligny>
|
<aligny>center</aligny>
|
||||||
</control>
|
</control>
|
||||||
</control>
|
</control>
|
||||||
</focusedlayout>
|
</focusedlayout>
|
||||||
</control>
|
</control>
|
||||||
<control type="scrollbar" id="61">
|
<control type="scrollbar" id="61">
|
||||||
<left>-122</left>
|
<left>-122</left>
|
||||||
<top>280</top>
|
<top>280</top>
|
||||||
<width>972</width>
|
<width>972</width>
|
||||||
<height>15</height>
|
<height>15</height>
|
||||||
<texturesliderbackground colordiffuse="FFE6E6E6">Shorcut/white.png</texturesliderbackground>
|
<texturesliderbackground colordiffuse="FFE6E6E6">Shortcut/white.png</texturesliderbackground>
|
||||||
<texturesliderbar colordiffuse="FF12D2E7">Shorcut/white.png</texturesliderbar>
|
<texturesliderbar colordiffuse="FF12D2E7">Shortcut/white.png</texturesliderbar>
|
||||||
<texturesliderbarfocus colordiffuse="FF12B2E7">Shorcut/white.png</texturesliderbarfocus>
|
<texturesliderbarfocus colordiffuse="FF12B2E7">Shortcut/white.png</texturesliderbarfocus>
|
||||||
<textureslidernib>-</textureslidernib>
|
<textureslidernib>-</textureslidernib>
|
||||||
<textureslidernibfocus>-</textureslidernibfocus>
|
<textureslidernibfocus>-</textureslidernibfocus>
|
||||||
<showonepage>false</showonepage>
|
<showonepage>false</showonepage>
|
||||||
<orientation>horizontal</orientation>
|
<orientation>horizontal</orientation>
|
||||||
<onleft>32500</onleft>
|
<onleft>32500</onleft>
|
||||||
<onright>32500</onright>
|
<onright>32500</onright>
|
||||||
<ondown>32500</ondown>
|
<ondown>32500</ondown>
|
||||||
<onup>32500</onup>
|
<onup>32500</onup>
|
||||||
<animation effect="slide" end="120,0" time="0" condition="!Control.IsVisible(5)">Conditional</animation>
|
<animation effect="slide" end="120,0" time="0" condition="!Control.IsVisible(5)">Conditional</animation>
|
||||||
</control>
|
</control>
|
||||||
</control>
|
</control>
|
||||||
</control>
|
</control>
|
||||||
</controls>
|
</controls>
|
||||||
</window>
|
</window>
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 874 B After Width: | Height: | Size: 874 B |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 838 B After Width: | Height: | Size: 838 B |
|
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 167 B |
|
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 177 B |