aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/ServiceStopScreen.py
blob: 7f0d26a5811a45f4e6481bb90146627269eba0e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from Screens.MessageBox import MessageBox

class ServiceStopScreen:
	def __init__(self):
		try:
			self.session
		except:
			print "[ServiceStopScreen] ERROR: no self.session set"
			
		self.oldref = None
		self.onClose.append(self.__onClose)
		
	def stopService(self):		
		self.oldref = self.session.nav.getCurrentlyPlayingServiceReference()
		self.session.nav.stopService()
		if self.session.pipshown: # try to disable pip
			self.session.pipshown = False
			del self.session.pip
		
	def __onClose(self):
		self.session.nav.playService(self.oldref)
		
	def restoreService(self, msg = _("Zap back to previously tuned service?")):
		if self.oldref:
			self.session.openWithCallback(self.restartPrevService, MessageBox, msg, MessageBox.TYPE_YESNO)
		else:
			self.restartPrevService(False)
		
	def restartPrevService(self, yesno):
		if not yesno:
			self.oldref=None
		self.close()