support for a final post-destroy value
[enigma2.git] / lib / python / Components / UsageConfig.py
index cfdb4589a3e52f9d69143b5290a6d9c2bb3b7084..26138f200a72c21c8f8f56f8fcd73cbfdce9e654 100644 (file)
@@ -1,4 +1,5 @@
-from config import ConfigSubsection, ConfigYesNo, config, ConfigSelection, ConfigText, ConfigNumber, ConfigSet, ConfigNothing
+from Components.Harddisk import harddiskmanager
+from config import ConfigSubsection, ConfigYesNo, config, ConfigSelection, ConfigText, ConfigNumber, ConfigSet, ConfigLocations
 from enigma import Misc_Options, setTunerTypePriorityOrder;
 from SystemInfo import SystemInfo
 import os
@@ -16,12 +17,12 @@ def InitUsageConfig():
        config.usage.show_infobar_on_zap = ConfigYesNo(default = True)
        config.usage.show_infobar_on_skip = ConfigYesNo(default = True)
        config.usage.show_infobar_on_event_change = ConfigYesNo(default = True)
-       config.usage.hdd_standby = ConfigSelection(default = "120", choices = [
-               ("0", _("no standby")), ("2", "10 " + _("seconds")), ("6", "30 " + _("seconds")),
-               ("12", "1 " + _("minute")), ("24", "2 " + _("minutes")),
-               ("60", "5 " + _("minutes")), ("120", "10 " + _("minutes")), ("240", "20 " + _("minutes")),
-               ("241", "30 " + _("minutes")), ("242", "1 " + _("hour")), ("244", "2 " + _("hours")),
-               ("248", "4 " + _("hours")) ])
+       config.usage.hdd_standby = ConfigSelection(default = "600", choices = [
+               ("0", _("no standby")), ("10", "10 " + _("seconds")), ("30", "30 " + _("seconds")),
+               ("60", "1 " + _("minute")), ("120", "2 " + _("minutes")),
+               ("300", "5 " + _("minutes")), ("600", "10 " + _("minutes")), ("1200", "20 " + _("minutes")),
+               ("1800", "30 " + _("minutes")), ("3600", "1 " + _("hour")), ("7200", "2 " + _("hours")),
+               ("14400", "4 " + _("hours")) ])
        config.usage.output_12V = ConfigSelection(default = "do not change", choices = [
                ("do not change", _("do not change")), ("off", _("off")), ("on", _("on")) ])
 
@@ -29,6 +30,9 @@ def InitUsageConfig():
                ("standard", _("standard")), ("swap", _("swap PiP and main picture")),
                ("swapstop", _("move PiP to main picture")), ("stop", _("stop PiP")) ])
 
+       config.usage.allowed_timeshift_paths = ConfigLocations(default = ["/media/hdd/"])
+       config.usage.timeshift_path = ConfigText(default = "/media/hdd")
+
        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 = [
@@ -54,13 +58,15 @@ def InitUsageConfig():
                ("5", "DVB-T/-S/-C") ])
 
        config.usage.blinking_display_clock_during_recording = ConfigYesNo(default = False)
-
+       config.usage.load_length_of_movies_in_moviellist = ConfigYesNo(default = True)
+       
        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():
+                       hdd[1].setIdleTime(int(configElement.value))
        config.usage.hdd_standby.addNotifier(setHDDStandby)
 
        def set12VOutput(configElement):
@@ -83,8 +89,8 @@ def InitUsageConfig():
        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.enter_forward = ConfigSelection(default = "2", choices = ["2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])
+       config.seek.enter_backward = ConfigSelection(default = "1", choices = ["1", "2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])
        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"])
 
@@ -98,21 +104,21 @@ def InitUsageConfig():
                        configElement.value = [2]
                updateChoices(config.seek.enter_forward, configElement.value)
 
-       config.seek.speeds_forward.addNotifier(updateEnterForward)
+       config.seek.speeds_forward.addNotifier(updateEnterForward, immediate_feedback = False)
 
        def updateEnterBackward(configElement):
                if not configElement.value:
                        configElement.value = [2]
                updateChoices(config.seek.enter_backward, configElement.value)
 
-       config.seek.speeds_backward.addNotifier(updateEnterBackward)
+       config.seek.speeds_backward.addNotifier(updateEnterBackward, immediate_feedback = False)
 
 def updateChoices(sel, choices):
        if choices:
                defval = None
                val = int(sel.value)
                if not val in choices:
-                       tmp = choices+[]
+                       tmp = choices[:]
                        tmp.reverse()
                        for x in tmp:
                                if x < val: