diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py
index 5dc4081c..672b459f 100644
--- a/platformcode/platformtools.py
+++ b/platformcode/platformtools.py
@@ -1788,6 +1788,91 @@ def serverWindow(item, itemlist):
from platformcode.launcher import run
run(action)
+ class ServerSkinWindow(xbmcgui.WindowXMLDialog):
+ def start(self, item, itemlist):
+ self.item = item
+ self.itemlist = itemlist
+ self.selection = -1
+ self.actions = []
+ self.doModal()
+ return self.selection
+
+ def onInit(self):
+ try:
+ self.list = self.getControl(6)
+ self.exit = self.getControl(5)
+ self.first = self.getControl(8)
+ self.second = self.getControl(7)
+ self.first.setVisible(False)
+ self.second.setVisible(False)
+ self.exit.setNavigation(self.exit, self.exit, self.list, self.list)
+ except:
+ pass
+
+ self.exit.setLabel(config.get_localized_string(60396))
+
+ for item in itemlist:
+ if item.server: break
+ if item.contentSeason and item.contentEpisodeNumber:
+ title = '{}x{:02d}. {}'.format(item.contentSeason, item.contentEpisodeNumber, item.contentTitle)
+ elif item.contentEpisodeNumber:
+ title = '{:02d}. {}'.format(item.contentEpisodeNumber, item.contentTitle)
+ else:
+ title = item.fulltitle
+
+ self.getControl(1).setLabel(title)
+
+ items = []
+
+ from core.support import typo
+ for videoitem in self.itemlist:
+ videoitem.thumbnail = config.get_online_server_thumb(videoitem.server)
+ quality = ' [' + videoitem.quality + ']' if videoitem.quality else ''
+ if videoitem.server:
+ color = scrapertools.find_single_match(videoitem.alive, r'(FF[^\]]+)')
+ color = typo(' •', 'bold color 0x{}'.format(color)) if color else ''
+ it = xbmcgui.ListItem('{}{}{}'.format(videoitem.serverName, quality, color))
+ logger.debug('{}{}{}'.format(videoitem.serverName, quality, color))
+
+ it.setLabel2(videoitem.ch_name)
+ it.setArt({'thumb': videoitem.thumbnail})
+ items.append(it)
+ self.list.reset()
+ self.list.addItems(items)
+ self.setFocus(self.list)
+ else:
+ self.actions.append(videoitem)
+
+ for n, action in enumerate(self.actions):
+ label = ''
+ if 'library' in action.action:
+ label = config.get_localized_string(30131)
+ elif 'download' in action.action:
+ label = config.get_localized_string(30153)
+ if n == 0:
+ self.first.setLabel(label)
+ self.exit.setNavigation(self.first, self.first, self.list, self.list)
+ self.first.setNavigation(self.exit, self.exit, self.list, self.list)
+ self.first.setVisible(True)
+ elif n == 1:
+ self.second.setLabel(label)
+ self.first.setNavigation(self.exit, self.second, self.list, self.list)
+ self.second.setNavigation(self.first, self.exit, self.list, self.list)
+ self.second.setVisible(True)
+
+
+ def onClick(self, control):
+ if control == 6:
+ self.selection = self.itemlist[self.list.getSelectedPosition()]
+ self.close()
+ if control == 5:
+ self.close()
+ elif control == 7:
+ from platformcode.launcher import run
+ run(self.actions[1])
+ elif control == 8:
+ from platformcode.launcher import run
+ run(self.actions[0])
if itemlist:
@@ -1804,8 +1889,10 @@ def serverWindow(item, itemlist):
xbmc.sleep(200)
if not db['controls'].get('reopen', False):
return
-
- selection = ServerWindow('Servers.xml', config.get_runtime_path()).start(item, itemlist)
+ if config.get_setting('window_type') == 0:
+ selection = ServerSkinWindow("DialogSelect.xml", config.get_runtime_path()).start(item, itemlist)
+ else:
+ selection = ServerWindow('Servers.xml', config.get_runtime_path()).start(item, itemlist)
if selection == -1:
if item.fakevideo:
diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po
index 794753ad..36d2a304 100644
--- a/resources/language/resource.language.en_gb/strings.po
+++ b/resources/language/resource.language.en_gb/strings.po
@@ -2605,12 +2605,12 @@ msgid "Links view"
msgstr ""
msgctxt "#60622"
-msgid "Normal window"
+msgid "Pop-up window"
msgstr ""
msgctxt "#60623"
-msgid "Pop-up window"
-msgstr ""
+msgid "Fullscreen window"
+msgstr "
msgctxt "#60624"
msgid " Maximum number of links to display"
diff --git a/resources/language/resource.language.it_it/strings.po b/resources/language/resource.language.it_it/strings.po
index bf8b7ccf..5afa566a 100644
--- a/resources/language/resource.language.it_it/strings.po
+++ b/resources/language/resource.language.it_it/strings.po
@@ -2604,13 +2604,13 @@ msgid "Links view"
msgstr "Visualizzazione collegamenti"
msgctxt "#60622"
-msgid "Normal window"
-msgstr "Finestra normale"
-
-msgctxt "#60623"
msgid "Pop-up window"
msgstr "Finestra pop-up"
+msgctxt "#60623"
+msgid "Fullscreen window"
+msgstr "Finestra a schermo intero"
+
msgctxt "#60624"
msgid " Maximum number of links to display"
msgstr " Numero massimo di link da visualizzare"
diff --git a/resources/settings.xml b/resources/settings.xml
index 6975de39..24ffad94 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -23,7 +23,7 @@
-
+