From b2288673dc0f1f687bf29c99f13c752cf51bfaef Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Fri, 23 Jun 2023 19:44:35 +0200 Subject: [PATCH] Selezione Tipologia Visualizzazione Riprendi da (Impostazioni/Riproduzione) --- platformcode/platformtools.py | 62 ++++++++++++++++--- .../resource.language.en_gb/strings.po | 12 ++++ .../resource.language.it_it/strings.po | 12 ++++ resources/settings.xml | 1 + 4 files changed, 79 insertions(+), 8 deletions(-) diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 4717c566..bbb637af 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -1618,17 +1618,63 @@ def play_torrent(item, xlistitem, mediaurl): xbmc.sleep(3000) xbmc.executebuiltin("PlayMedia(" + torrent_options[selection][1] % mediaurl + ")") + + def resume_playback(played_time): + class ResumePlayback(xbmcgui.WindowXMLDialog): + Close = False + Resume = False + + def __init__(self, *args, **kwargs): + self.action_exitkeys_id = [92, 10] + self.progress_control = None + played_time = kwargs.get('played_time') + m, s = divmod(played_time, 60) + h, m = divmod(m, 60) + self.setProperty("time", '%02d:%02d:%02d' % (h, m, s)) + + def set_values(self, value): + self.Resume = value + self.Close = True + + def is_close(self): + return self.Close + + def onClick(self, controlId): + if controlId == 3012: # Resume + self.set_values(True) + self.close() + elif controlId == 3013: # Cancel + self.set_values(False) + self.close() + + def onAction(self, action): + if action in self.action_exitkeys_id: + self.set_values(False) + self.close() + + if played_time and played_time > 30: - m, s = divmod(played_time, 60) - h, m = divmod(m, 60) - idx = xbmcgui.Dialog().contextmenu( - [ - xbmc.getLocalizedString(12022).format('%02d:%02d:%02d' % (h, m, s)), - xbmc.getLocalizedString(12021) - ]) - if idx: played_time = 0 + if config.get_setting('resume_menu') == 0: + Dialog = ResumePlayback('ResumePlayback.xml', config.get_runtime_path(), played_time=played_time) + Dialog.show() + t = 0 + while not Dialog.is_close() and t < 100: + t += 1 + xbmc.sleep(100) + if not Dialog.Resume: played_time = 0 + else: + m, s = divmod(played_time, 60) + h, m = divmod(m, 60) + idx = xbmcgui.Dialog().contextmenu( + [ + xbmc.getLocalizedString(12022).format('%02d:%02d:%02d' % (h, m, s)), + xbmc.getLocalizedString(12021) + ]) + if idx in [-1, 0]: played_time = 0 + else: played_time = 0 + xbmc.sleep(300) return played_time ##### INPUTSTREM ##### diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 51c428d8..c2eebb4e 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -199,6 +199,18 @@ msgctxt "#30046" msgid "Resume from start" msgstr "" +msgctxt "#30047" +msgid "Show resume from How:" +msgstr "Mostra riprendi da come:" + +msgctxt "#30048" +msgid "Custom window" +msgstr "Finestra personalizzata" + +msgctxt "#30049" +msgid "Skin window" +msgstr "Finestra della skin" + msgctxt "#30050" msgid "Server connection error" msgstr "" diff --git a/resources/language/resource.language.it_it/strings.po b/resources/language/resource.language.it_it/strings.po index 5b7af2e6..d4fdd658 100644 --- a/resources/language/resource.language.it_it/strings.po +++ b/resources/language/resource.language.it_it/strings.po @@ -199,6 +199,18 @@ msgctxt "#30046" msgid "Resume from start" msgstr "Riprendi dall'inizio" +msgctxt "#30047" +msgid "Show resume from How:" +msgstr "Mostra riprendi da come:" + +msgctxt "#30048" +msgid "Custom window" +msgstr "Finestra personalizzata" + +msgctxt "#30049" +msgid "Skin window" +msgstr "Finestra della skin" + msgctxt "#30050" msgid "Server connection error" msgstr "Errore connessione server" diff --git a/resources/settings.xml b/resources/settings.xml index 6726ecba..91257d4b 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -24,6 +24,7 @@ +