move VolumeControl to own file
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sat, 21 Jun 2008 15:00:20 +0000 (15:00 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sat, 21 Jun 2008 15:00:20 +0000 (15:00 +0000)
lib/python/Components/Makefile.am
lib/python/Components/VolumeControl.py [new file with mode: 0644]
mytest.py

index 71160c9..d3c51ab 100644 (file)
@@ -7,7 +7,7 @@ install_PYTHON = \
        Button.py HTMLComponent.py ProgressBar.py TimerList.py config.py        \
        HTMLSkin.py ServiceList.py VariableText.py                              \
        ConfigList.py VariableValue.py                                          \
-       Label.py ServiceScan.py VolumeBar.py                       \
+       Label.py ServiceScan.py VolumeBar.py VolumeControl.py                   \
        GUIComponent.py MenuList.py __init__.py MovieList.py                    \
        InputDevice.py ServicePosition.py SetupDevices.py Harddisk.py           \
        AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py Lcd.py        \
diff --git a/lib/python/Components/VolumeControl.py b/lib/python/Components/VolumeControl.py
new file mode 100644 (file)
index 0000000..19fb90d
--- /dev/null
@@ -0,0 +1,79 @@
+from enigma import eDVBVolumecontrol, eTimer
+from Tools.Profile import profile
+from Screens.Volume import Volume
+from Screens.Mute import Mute
+from GlobalActions import globalActionMap
+from config import config, ConfigSubsection, ConfigInteger
+
+profile("VolumeControl")
+#TODO .. move this to a own .py file
+class VolumeControl:
+       """Volume control, handles volUp, volDown, volMute actions and display
+       a corresponding dialog"""
+       def __init__(self, session):
+               global globalActionMap
+               globalActionMap.actions["volumeUp"]=self.volUp
+               globalActionMap.actions["volumeDown"]=self.volDown
+               globalActionMap.actions["volumeMute"]=self.volMute
+
+               config.audio = ConfigSubsection()
+               config.audio.volume = ConfigInteger(default = 100, limits = (0, 100))
+
+               self.volumeDialog = session.instantiateDialog(Volume)
+               self.muteDialog = session.instantiateDialog(Mute)
+
+               self.hideVolTimer = eTimer()
+               self.hideVolTimer.callback.append(self.volHide)
+
+               vol = config.audio.volume.value
+               self.volumeDialog.setValue(vol)
+               self.volctrl = eDVBVolumecontrol.getInstance()
+               self.volctrl.setVolume(vol, vol)
+
+       def volSave(self):
+               if self.volctrl.isMuted():
+                       config.audio.volume.value = 0
+               else:
+                       config.audio.volume.value = self.volctrl.getVolume()
+               config.audio.volume.save()
+
+       def volUp(self):
+               self.setVolume(+1)
+
+       def volDown(self):
+               self.setVolume(-1)
+
+       def setVolume(self, direction):
+               oldvol = self.volctrl.getVolume()
+               if direction > 0:
+                       self.volctrl.volumeUp()
+               else:
+                       self.volctrl.volumeDown()
+               is_muted = self.volctrl.isMuted()
+               vol = self.volctrl.getVolume()
+               self.volumeDialog.show()
+               if is_muted:
+                       self.volMute() # unmute
+               elif not vol:
+                       self.volMute(False, True) # mute but dont show mute symbol
+               if self.volctrl.isMuted():
+                       self.volumeDialog.setValue(0)
+               else:
+                       self.volumeDialog.setValue(self.volctrl.getVolume())
+               self.volSave()
+               self.hideVolTimer.start(3000, True)
+
+       def volHide(self):
+               self.volumeDialog.hide()
+
+       def volMute(self, showMuteSymbol=True, force=False):
+               vol = self.volctrl.getVolume()
+               if vol or force:
+                       self.volctrl.volumeToggleMute()
+                       if self.volctrl.isMuted():
+                               if showMuteSymbol:
+                                       self.muteDialog.show()
+                               self.volumeDialog.setValue(0)
+                       else:
+                               self.muteDialog.hide()
+                               self.volumeDialog.setValue(vol)
index 5b3258d..d58649c 100644 (file)
--- a/mytest.py
+++ b/mytest.py
@@ -7,7 +7,7 @@ from Tools.Profile import profile, profile_final
 
 profile("PYTHON_START")
 
-from enigma import runMainloop, eDVBDB, eTimer, quitMainloop, eDVBVolumecontrol, \
+from enigma import runMainloop, eDVBDB, eTimer, quitMainloop, \
        getDesktop, ePythonConfigQuery, eAVSwitch, eServiceEvent
 from tools import *
 
@@ -314,87 +314,11 @@ class Session:
                if self.summary is not None:
                        self.summary.show()
 
-from Screens.Volume import Volume
-from Screens.Mute import Mute
-from GlobalActions import globalActionMap
-
-profile("VolumeControl")
-#TODO .. move this to a own .py file
-class VolumeControl:
-       """Volume control, handles volUp, volDown, volMute actions and display
-       a corresponding dialog"""
-       def __init__(self, session):
-               global globalActionMap
-               globalActionMap.actions["volumeUp"]=self.volUp
-               globalActionMap.actions["volumeDown"]=self.volDown
-               globalActionMap.actions["volumeMute"]=self.volMute
-
-               config.audio = ConfigSubsection()
-               config.audio.volume = ConfigInteger(default = 100, limits = (0, 100))
-
-               self.volumeDialog = session.instantiateDialog(Volume)
-               self.muteDialog = session.instantiateDialog(Mute)
-
-               self.hideVolTimer = eTimer()
-               self.hideVolTimer.callback.append(self.volHide)
-
-               vol = config.audio.volume.value
-               self.volumeDialog.setValue(vol)
-               self.volctrl = eDVBVolumecontrol.getInstance()
-               self.volctrl.setVolume(vol, vol)
-
-       def volSave(self):
-               if self.volctrl.isMuted():
-                       config.audio.volume.value = 0
-               else:
-                       config.audio.volume.value = self.volctrl.getVolume()
-               config.audio.volume.save()
-
-       def volUp(self):
-               self.setVolume(+1)
-
-       def volDown(self):
-               self.setVolume(-1)
-
-       def setVolume(self, direction):
-               oldvol = self.volctrl.getVolume()
-               if direction > 0:
-                       self.volctrl.volumeUp()
-               else:
-                       self.volctrl.volumeDown()
-               is_muted = self.volctrl.isMuted()
-               vol = self.volctrl.getVolume()
-               self.volumeDialog.show()
-               if is_muted:
-                       self.volMute() # unmute
-               elif not vol:
-                       self.volMute(False, True) # mute but dont show mute symbol
-               if self.volctrl.isMuted():
-                       self.volumeDialog.setValue(0)
-               else:
-                       self.volumeDialog.setValue(self.volctrl.getVolume())
-               self.volSave()
-               self.hideVolTimer.start(3000, True)
-
-       def volHide(self):
-               self.volumeDialog.hide()
-
-       def volMute(self, showMuteSymbol=True, force=False):
-               vol = self.volctrl.getVolume()
-               if vol or force:
-                       self.volctrl.volumeToggleMute()
-                       if self.volctrl.isMuted():
-                               if showMuteSymbol:
-                                       self.muteDialog.show()
-                               self.volumeDialog.setValue(0)
-                       else:
-                               self.muteDialog.hide()
-                               self.volumeDialog.setValue(vol)
-
 profile("Standby,PowerKey")
 import Screens.Standby
 from Screens.Menu import MainMenu, mdom
 import xml.dom.minidom
+from GlobalActions import globalActionMap
 
 class PowerKey:
        """ PowerKey stuff - handles the powerkey press and powerkey release actions"""
@@ -480,6 +404,9 @@ profile("Load:CI")
 from enigma import eDVBCIInterfaces
 from Screens.Ci import CiHandler
 
+profile("Load:VolumeControl")
+from Components.VolumeControl import VolumeControl
+
 def runScreenTest():
        profile("readPluginList")
        plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))