trunk 20080912
[gitenigma.git] / src / setup_timeshift.cpp
blobca30fbd0f25efd87a96c75999cf44f7172b90e5e
1 #ifndef DISABLE_HDD
2 #ifndef DISABLE_FILE
3 #include <setup_timeshift.h>
5 #include <config.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()
20 :eWindow(0)
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");
28 int tmp = 0;
29 eConfig::getInstance()->getKey("/enigma/timeshift/permanent", tmp );
30 unsigned char permactive = (unsigned char) tmp;
31 active->setCheck(permactive);
33 int tmp2 = 0;
34 eConfig::getInstance()->getKey("/enigma/timeshift/activatepausebutton", tmp2 );
35 unsigned char permpause = (unsigned char) tmp2;
36 pause->setCheck(permpause);
38 int permdelay = 30;
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()
62 int tmp = 0;
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();
78 close(0);
81 #endif // DISABLE_FILE
82 #endif // DISABLE_HDD