3 #include <setup_timeshift.h>
6 #include <lib/gui/slider.h>
7 #include <lib/gui/ebutton.h>
8 #include <lib/gui/elabel.h>
9 #include <lib/gui/combobox.h>
10 #include <lib/gui/echeckbox.h>
11 #include <lib/gui/enumber.h>
12 #include <lib/gui/eskin.h>
13 #include <lib/gui/actions.h>
14 #include <lib/system/econfig.h>
15 #include <lib/dvb/servicedvb.h>
16 #include <enigma_main.h>
19 eZapTimeshiftSetup::eZapTimeshiftSetup()
22 delay
=new eNumber(this,1,1, 60, 3, 0, 0); delay
->setName("delay");
23 minutes
=new eNumber(this,1,1, MAX_PERMANENT_TIMESHIFT_MINUTES
, 3, 0, 0); minutes
->setName("minutes");
24 active
=new eCheckbox(this);active
->setName("active");
25 pause
=new eCheckbox(this);pause
->setName("pause");
26 store
=new eButton(this); store
->setName("store");
29 eConfig::getInstance()->getKey("/enigma/timeshift/permanent", tmp
);
30 unsigned char permactive
= (unsigned char) tmp
;
31 active
->setCheck(permactive
);
34 eConfig::getInstance()->getKey("/enigma/timeshift/activatepausebutton", tmp2
);
35 unsigned char permpause
= (unsigned char) tmp2
;
36 pause
->setCheck(permpause
);
39 eConfig::getInstance()->getKey("/enigma/timeshift/permanentdelay", permdelay
);
40 delay
->setNumber(permdelay
);
42 int permbuffersize
= 30;
43 eConfig::getInstance()->getKey("/enigma/timeshift/permanentminutes", permbuffersize
);
44 minutes
->setNumber(permbuffersize
);
46 sbar
= new eStatusBar(this); sbar
->setName("statusbar");
48 if (eSkin::getActive()->build(this, "SetupTimeshift"))
49 eFatal("skin load of \"SetupTimeshift\" failed");
51 CONNECT(store
->selected
, eZapTimeshiftSetup::storePressed
);
56 eZapTimeshiftSetup::~eZapTimeshiftSetup()
60 void eZapTimeshiftSetup::storePressed()
63 eConfig::getInstance()->getKey("/enigma/timeshift/permanent", tmp
);
64 unsigned char permactive
= (unsigned char) tmp
;
66 eConfig::getInstance()->setKey("/enigma/timeshift/permanent", active
->isChecked()?255:0 );
67 eConfig::getInstance()->setKey("/enigma/timeshift/activatepausebutton", pause
->isChecked()?255:0 );
68 eConfig::getInstance()->setKey("/enigma/timeshift/permanentdelay", delay
->getNumber() );
69 eConfig::getInstance()->setKey("/enigma/timeshift/permanentminutes", minutes
->getNumber() );
70 if (permactive
&& !active
->isChecked())
72 eZapMain::getInstance()->stopPermanentTimeshift();
74 else if (!permactive
&& active
->isChecked())
76 eZapMain::getInstance()->beginPermanentTimeshift();
81 #endif // DISABLE_FILE