diff --git a/resources/lib/functions.py b/resources/lib/functions.py index d4640d2..9832c9b 100644 --- a/resources/lib/functions.py +++ b/resources/lib/functions.py @@ -57,6 +57,7 @@ from clientinfo import ClientInformation from datamanager import DataManager from views import DefaultViews, loadSkinDefaults from server_detect import checkServer +from resume_dialog import ResumeDialog __settings__ = xbmcaddon.Addon(id='plugin.video.embycon') @@ -630,9 +631,15 @@ def PLAY( url, handle ): reasonableTicks = int(userData.get("PlaybackPositionTicks")) / 1000 seekTime = reasonableTicks / 10000 displayTime = str(timedelta(seconds=seekTime)) - display_list = [ "Resume from " + displayTime, "Start from beginning"] - resumeScreen = xbmcgui.Dialog() - resume_result = resumeScreen.select('Resume', display_list) + + resumeDialog = ResumeDialog("ResumeDialog.xml", __cwd__, "default", "720p") + resumeDialog.setResumeTime("Resume from " + displayTime) + resumeDialog.doModal() + resume_result = resumeDialog.getResumeAction() + del resumeDialog + + log.info("Resume Dialog Result: " + str(resume_result)) + if resume_result == -1: return diff --git a/resources/lib/resume_dialog.py b/resources/lib/resume_dialog.py new file mode 100644 index 0000000..d751f48 --- /dev/null +++ b/resources/lib/resume_dialog.py @@ -0,0 +1,50 @@ + +import os +import sys +import xbmc +import xbmcgui +import xbmcaddon +import logging + +log = logging.getLogger("EmbyCon." + __name__) + +class ResumeDialog(xbmcgui.WindowXMLDialog): + + resumePlay = -1 + resumeTimeStamp = "" + + def __init__(self, *args, **kwargs): + xbmcgui.WindowXMLDialog.__init__(self, *args, **kwargs) + log.info("ResumeDialog INITIALISED") + + def onInit(self): + self.action_exitkeys_id = [10, 13] + + self.getControl(3010).setLabel(self.resumeTimeStamp) + + def onFocus(self, controlId): + pass + + def doAction(self, actionID): + pass + + def onClick(self, controlID): + + if(controlID == 3010): + self.resumePlay = 0 + self.close() + if(controlID == 3011): + self.resumePlay = 1 + self.close() + + pass + + def setResumeTime(self, timeStamp): + self.resumeTimeStamp = timeStamp + + def getResumeAction(self): + return self.resumePlay + + + + \ No newline at end of file diff --git a/resources/skins/default/720p/ResumeDialog.xml b/resources/skins/default/720p/ResumeDialog.xml new file mode 100644 index 0000000..78f23e3 --- /dev/null +++ b/resources/skins/default/720p/ResumeDialog.xml @@ -0,0 +1,48 @@ + + + 3010 + 2 + + 1 + 450 + 250 + + dialogeffect + + + + 0 + 0 + 340 + 160 + bg.png + + + + white.png + white.png + 20 + 30 + 300 + 40 + + - + 3011 + font14 + + + + white.png + white.png + 20 + 90 + 300 + 40 + + 3010 + 3012 + font14 + + + + \ No newline at end of file