set hdd standby value for all hdds (not working on hotplug devices,
[enigma2.git] / lib / python / Components / UsageConfig.py
index 393dbbc404c73b981dd17716241a8b33926f170a..d9fb2a55a872e2d8a1e3ccba5d86bbf1f8287601 100644 (file)
@@ -1,5 +1,7 @@
-from config import ConfigSubsection, ConfigYesNo, config, ConfigSelection
-from enigma import Misc_Options
+from Components.Harddisk import harddiskmanager
+from config import ConfigSubsection, ConfigYesNo, config, ConfigSelection, ConfigText, ConfigNumber, ConfigSet
+from enigma import Misc_Options, setTunerTypePriorityOrder;
+from SystemInfo import SystemInfo
 import os
 
 def InitUsageConfig():
@@ -24,8 +26,43 @@ def InitUsageConfig():
        config.usage.output_12V = ConfigSelection(default = "do not change", choices = [
                ("do not change", _("do not change")), ("off", _("off")), ("on", _("on")) ])
 
+       config.usage.pip_zero_button = ConfigSelection(default = "standard", choices = [
+               ("standard", _("standard")), ("swap", _("swap PiP and main picture")),
+               ("swapstop", _("move PiP to main picture")), ("stop", _("stop PiP")) ])
+
+       config.usage.on_movie_start = ConfigSelection(default = "ask", choices = [
+               ("ask", _("Ask user")), ("resume", _("Resume from last position")), ("beginning", _("Start from the beginning")) ])
+       config.usage.on_movie_stop = ConfigSelection(default = "ask", choices = [
+               ("ask", _("Ask user")), ("movielist", _("Return to movie list")), ("quit", _("Return to previous service")) ])
+       config.usage.on_movie_eof = ConfigSelection(default = "ask", choices = [
+               ("ask", _("Ask user")), ("movielist", _("Return to movie list")), ("quit", _("Return to previous service")), ("pause", _("Pause movie at end")) ])
+
+       config.usage.setup_level = ConfigSelection(default = "intermediate", choices = [
+               ("simple", _("Simple")),
+               ("intermediate", _("Intermediate")),
+               ("expert", _("Expert")) ])
+
+       config.usage.on_long_powerpress = ConfigSelection(default = "show_menu", choices = [
+               ("show_menu", _("show shutdown menu")),
+               ("shutdown", _("immediate shutdown")) ] )
+
+       config.usage.alternatives_priority = ConfigSelection(default = "0", choices = [
+               ("0", "DVB-S/-C/-T"),
+               ("1", "DVB-S/-T/-C"),
+               ("2", "DVB-C/-S/-T"),
+               ("3", "DVB-C/-T/-S"),
+               ("4", "DVB-T/-C/-S"),
+               ("5", "DVB-T/-S/-C") ])
+
+       config.usage.blinking_display_clock_during_recording = ConfigYesNo(default = False)
+
+       def TunerTypePriorityOrderChanged(configElement):
+               setTunerTypePriorityOrder(int(configElement.value))
+       config.usage.alternatives_priority.addNotifier(TunerTypePriorityOrderChanged)
+
        def setHDDStandby(configElement):
-               os.system("hdparm -S" + configElement.value + " /dev/ide/host0/bus0/target0/lun0/disc")
+               for hdd in harddiskmanager.HDDList():
+                       os.system("hdparm -S%s %s" % (configElement.value, hdd[1].getDeviceName()))
        config.usage.hdd_standby.addNotifier(setHDDStandby)
 
        def set12VOutput(configElement):
@@ -34,3 +71,53 @@ def InitUsageConfig():
                elif configElement.value == "off":
                        Misc_Options.getInstance().set_12V_output(0)
        config.usage.output_12V.addNotifier(set12VOutput)
+
+       SystemInfo["12V_Output"] = Misc_Options.getInstance().detected_12V_output()
+
+       config.usage.keymap = ConfigText(default = "/usr/share/enigma2/keymap.xml")
+
+       config.seek = ConfigSubsection()
+       config.seek.selfdefined_13 = ConfigNumber(default=15)
+       config.seek.selfdefined_46 = ConfigNumber(default=60)
+       config.seek.selfdefined_79 = ConfigNumber(default=300)
+
+       config.seek.speeds_forward = ConfigSet(default=[2, 4, 8, 16, 32, 64, 128], choices=[2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128])
+       config.seek.speeds_backward = ConfigSet(default=[8, 16, 32, 64, 128], choices=[1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128])
+       config.seek.speeds_slowmotion = ConfigSet(default=[2, 4, 8], choices=[2, 4, 6, 8, 12, 16, 25])
+
+       config.seek.enter_forward = ConfigSelection(default = "2", choices = ["2"])
+       config.seek.enter_backward = ConfigSelection(default = "2", choices = ["2"])
+       config.seek.stepwise_minspeed = ConfigSelection(default = "16", choices = ["Never", "2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])
+       config.seek.stepwise_repeat = ConfigSelection(default = "3", choices = ["2", "3", "4", "5", "6"])
+
+       config.seek.on_pause = ConfigSelection(default = "play", choices = [
+               ("play", _("Play")),
+               ("step", _("Singlestep (GOP)")),
+               ("last", _("Last speed")) ])
+
+       def updateEnterForward(configElement):
+               if not configElement.value:
+                       configElement.value = [2]
+               updateChoices(config.seek.enter_forward, configElement.value)
+
+       config.seek.speeds_forward.addNotifier(updateEnterForward)
+
+       def updateEnterBackward(configElement):
+               if not configElement.value:
+                       configElement.value = [2]
+               updateChoices(config.seek.enter_backward, configElement.value)
+
+       config.seek.speeds_backward.addNotifier(updateEnterBackward)
+
+def updateChoices(sel, choices):
+       if choices:
+               defval = None
+               val = int(sel.value)
+               if not val in choices:
+                       tmp = choices+[]
+                       tmp.reverse()
+                       for x in tmp:
+                               if x < val:
+                                       defval = str(x)
+                                       break
+               sel.setChoices(map(str, choices), defval)