Пример #1
0
void eTimeSettings::init_eTimeSettings()
{
	move(ePoint(130, 135));
	int entry=0;
	CONNECT((new eListBoxEntryMenu(&list, _("Timezone Configuration"), eString().sprintf("(%d) %s", ++entry, _("open timezone selector")) ))->selected, eTimeSettings::time_zone);
	CONNECT((new eListBoxEntryMenu(&list, _("Time Correction"), eString().sprintf("(%d) %s", ++entry, _("open time correction window")) ))->selected, eTimeSettings::time_correction);
}
Пример #2
0
bool eParentalSetup::ChangePin(eButton *p)
{
	const char *text = ( p == changeParentalPin ) ? _("parental") : _("setup");

	int oldpin = (p == changeParentalPin) ? parentalpin : setuppin;
	
	int ret = 0;

	if ( oldpin >= 0 )  // let enter the oldpin.. and validate
	{
		if ( !pinCheck::getInstance()->checkPin((p == changeParentalPin) ? pinCheck::parental : pinCheck::setup, true) )
			return false;
	}

	int newPin=0;
	do
	{
		{
			ParentalLockWindow w(eString().sprintf(_("New %s PIN"),text).c_str(), 0 );
			w.show();
			newPin = w.exec();
			w.hide();
			if ( newPin == -1 ) // cancel pressed
				return false;
		}
		ParentalLockWindow w(eString().sprintf(_("Reenter %s PIN"),text).c_str(), 0 );
		w.show();
		ret = w.exec();
		w.hide();
		if ( ret == -1 ) // cancel pressed
			return false;
		else if ( ret != newPin )
		{
			int ret = eMessageBox::ShowBox(_("The PINs are not equal!\n\nDo you want to retry?"),
					_("PIN validation failed"),
					eMessageBox::btYes|eMessageBox::btNo|eMessageBox::iconQuestion,
					eMessageBox::btYes );
			if ( ret == eMessageBox::btNo || ret == -1 )
				return false;
		}
	}
	while ( newPin != ret );

	if ( p == changeParentalPin )
		parentalpin = newPin;
	else
		setuppin = newPin;

	eMessageBox::ShowBox(_("PIN change completed"),
		_("PIN changed"),
		eMessageBox::btOK|eMessageBox::iconInfo,
		eMessageBox::btOK );
	return true;
}
Пример #3
0
void eLNBSelector::init_eLNBSelector()
{
	valign();
	int cnt=0;
	for ( std::list<eLNB>::iterator it( eTransponderList::getInstance()->getLNBs().begin()); it != eTransponderList::getInstance()->getLNBs().end(); it++, cnt++ )
	{
		if ( it->getDiSEqC().DiSEqCMode == eDiSEqC::V1_2 )
			new eListBoxEntryText( &list, eString().sprintf("LNB %d", cnt), (void*)&(*it), 0, eString().sprintf(_("use LNB %d for Motor"), cnt ).c_str());
	}
	CONNECT( list.selected, eLNBSelector::selected );
}
Пример #4
0
bool ChannelManager::matchesCurrentShowFlags( eString name )
{
	if ( name == eString( "UNKNOWN" ) )
		return ( showFlags & CM_SHOW_UNKNOWN );
	else if ( name == eString( "IGNORE" ) )
		return ( showFlags & CM_SHOW_IGNORE );
	else if ( name.length() > 0 )
                return ( showFlags & CM_SHOW_MAPPED );
	else
		return false;
}
Пример #5
0
bool EnigmaCache::parseProgramData( EITEvent *ev, struct ProgramData &p, bool descrFlag, bool contentFlag )
{
	if ( descrFlag )
		p.descr = "";

	eString otherLangName, otherLangDescr;

	for (ePtrList<Descriptor>::const_iterator d(ev->descriptor); d != ev->descriptor.end(); ++d ) {
		if ( d->Tag() == DESCR_SHORT_EVENT ) {
			const ShortEventDescriptor *s= (const ShortEventDescriptor*)*d;

			if ( langCodesMatch( (char *)(s->language_code), userLangPref ) )
				p.name = s->event_name;
			else
				otherLangName = s->event_name;

                        if ( descrFlag ) {
				eString descrTemp = s->text;

				while ( descrTemp[0] == ' ' )
					descrTemp.erase(0);

				if (
					( descrTemp.length() > 0 ) &&
					( ! ( descrTemp.left(15) == "Geen informatie" ) ) &&
					( descrTemp != p.name ) &&
					( descrTemp != otherLangName )
				) {
					if ( langCodesMatch( (char *) (s->language_code), userLangPref ) ) 
       	                        		p.descr = p.descr + descrTemp + eString( "\n\n" );
					else
       	                        		otherLangDescr = otherLangDescr + descrTemp + eString( "\n\n" );
				}
			}
		}
                else if ( 
			( descrFlag ) &&
			( d->Tag() == DESCR_EXTENDED_EVENT ) 
		) {
              		ExtendedEventDescriptor *ss=(ExtendedEventDescriptor*)*d;

			if ( langCodesMatch( ss->language_code, userLangPref ) )
#if ENIGMAVERSION > 1074
               		        p.descr += ss->text;
#else
               		        p.descr += ss->item_description;
#endif
			else
#if ENIGMAVERSION > 1074
             		        otherLangDescr += ss->text;
#else
              		        otherLangDescr += ss->item_description;
#endif
               	}
Пример #6
0
eString eSocket::readLine()
{
	int size=readbuffer.searchchr('\n');
	if (size == -1)
		return eString();
	size++; // ich will auch das \n
	char buffer[size+1];
	buffer[size]=0;
	readbuffer.read(buffer, size);
	return eString(buffer);
}
Пример #7
0
void eSoftwareUpdate::init_eSoftwareUpdate()
{
	move(ePoint(140, 100));
#ifndef DISABLE_NETWORK
	int entry=0;
	CONNECT((new eListBoxEntryMenu(&list, _("Internet Update"), eString().sprintf("(%d) %s", ++entry, _("open internet update")) ))->selected, eSoftwareUpdate::internet_update );
	CONNECT((new eListBoxEntryMenu(&list, _("Manual Update"), eString().sprintf("(%d) %s", ++entry, _("open manual update")) ))->selected, eSoftwareUpdate::manual_update );
#ifdef ENABLE_FLASHTOOL
	CONNECT((new eListBoxEntryMenu(&list, _("Expert Flash Save/Restore"), eString().sprintf("(%d) %s", ++entry, _("open expert flash tool")) ))->selected, eSoftwareUpdate::flash_tool);
#endif
#endif
}
Пример #8
0
void eZapScan::init_eZapScan()
{
	int entry=0;
	move(ePoint(160, 130));
	if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feSatellite )  // only when a sat box is avail we shows a satellite config
	{
		CONNECT((new eListBoxEntryMenu(&list, _("Satellite Configuration"), eString().sprintf("(%d) %s", ++entry, _("open satellite config"))))->selected, eZapScan::sel_satconfig);
		CONNECT((new eListBoxEntryMenu(&list, _("Satfind"), eString().sprintf("(%d) %s", ++entry, _("open the satfinder"))))->selected, eZapScan::sel_satfind);
		CONNECT((new eListBoxEntryMenu(&list, _("Motor Setup"), eString().sprintf("(%d) %s", ++entry, _("open Motor Setup"))))->selected, eZapScan::sel_rotorConfig);
		CONNECT((new eListBoxEntryMenu(&list, _("Transponder Edit"), eString().sprintf("(%d) %s", ++entry, _("for automatic scan"))))->selected, eZapScan::sel_transponderEdit);
	}
	else if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feTerrestrial )
	{
		CONNECT((new eListBoxEntryMenu(&list, _("Signalfind"), eString().sprintf("(%d) %s", ++entry, _("open the signalfinder"))))->selected, eZapScan::sel_satfind);
		(new eListBoxEntryCheck(&list, _("Disable 5V"), "/elitedvb/DVB/config/disable_5V", _("disable 5V for passive terrerstrial antennas")))
			->selected.connect( sigc::mem_fun(*eFrontend::getInstance(), &eFrontend::setTerrestrialAntennaVoltage) );
	}
	if ( eSystemInfo::getInstance()->getFEType() != eSystemInfo::feCable )
		new eListBoxEntryMenuSeparator(&list, eSkin::getActive()->queryImage("listbox.separator"), 0, true );
	CONNECT((new eListBoxEntryMenu(&list, _("Automatic Transponder Scan"), eString().sprintf("(%d) %s", ++entry, _("open automatic transponder scan"))))->selected, eZapScan::sel_autoScan);
	if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feSatellite )  // only when a sat box is avail we shows a satellite config
		CONNECT((new eListBoxEntryMenu(&list, _("Automatic Multisat Scan"), eString().sprintf("(%d) %s", ++entry, _("open automatic multisat transponder scan"))))->selected, eZapScan::sel_multiScan);

	CONNECT((new eListBoxEntryMenu(&list, _("Manual Transponder Scan"), eString().sprintf("(%d) %s", ++entry, _("open manual transponder scan"))))->selected, eZapScan::sel_manualScan);
}
Пример #9
0
int eDVRPlayerThread::FillSliceSizes()
{
	slicesizes.clear();
	struct stat64 s;
	int filelength=0;
	int slice = 0;
	while (!stat64((filename + (slice ? eString().sprintf(".%03d", slice) : eString(""))).c_str(), &s))
	{
		filelength+=s.st_size/1880;
		slicesizes.push_back(s.st_size);
		slice++;
	}
	//eDebug("FillSliceSizes:%s,%d",filename.c_str(),filelength);
	return filelength;
}
RunApp::RunApp ():
eWindow (0)
{
  //setText(_("Running script"));
  printf ("%s is running, please wait\n", Executable);
  setText (eString ().sprintf ("%s is running, please wait", Executable));
  cmove (ePoint (50, 100));
  cresize (eSize (630, 400));

  bClose = new eButton (this);
  bClose->setText (_("Close"));
  bClose->setShortcut ("green");
  bClose->setShortcutPixmap ("green");
  bClose->move (ePoint (440, 10));
  bClose->resize (eSize (170, 40));
  bClose->loadDeco ();
  bClose->hide ();
  CONNECT (bClose->selected, RunApp::accept);

/*
	bCancel=new eButton(this);
	bCancel->loadDeco();
	bCancel->setText(_("abort"));
	bCancel->move(ePoint(210, 220));
	bCancel->resize(eSize(170, 40));
	bCancel->setHelpText(_("ignore changes and return"));
	CONNECT( bCancel->selected, RunApp::onCancel );
*/

  lState = new eLabel (this);
  lState->setName ("state");
  lState->move (ePoint (0, 0));
  lState->resize (eSize (630, 400));
}
Пример #11
0
bool ePermanentTimeshift::CheckSlice(unsigned int minutes)
{
	timeval now;
	gettimeofday(&now,0);
	// new File every 60 seconds of recording
	if ((now.tv_sec - last_split.tv_sec) >= 60)
	{
		eString path = getTimeshiftPath();
		int slice = slicelist.back().first;
		struct stat64 s;
		eString filename = (slice ? eString().sprintf("%s.%03d", path.c_str(), slice) : path);
		if (!stat64(filename.c_str(), &s))
		{
			slicelist.back().second=s.st_size;
			eDebug("[PERM] remember slice:%d,%d",slicelist.back().first,s.st_size);
		}
		int nextslice = slicelist.size();
		if (slicelist.size() >= minutes && current_slice_playing != slicelist.begin())
		{
			nextslice = slicelist.front().first;			
			slicelist.pop_front();
			//if (current_slice_playing != slicelist.end())
			//	current_slice_playing--;
		}
		slicelist.push_back(std::pair<int,off64_t>(nextslice,0));
		last_split = now;
		return true;
	}
	return false;
}
Пример #12
0
int ePlaylist::deleteService(std::list<ePlaylistEntry>::iterator it)
{
	if (it != list.end())
	{
		if ((it->type & ePlaylistEntry::boundFile) && (it->service.path.size()))
		{
			int slice=0;
			eString filename;
			while (1)
			{
				filename=it->service.path;
				if (slice)
					filename+=eString().sprintf(".%03d", slice);
				slice++;
				struct stat64 s;
				if (::stat64(filename.c_str(), &s) < 0)
					break;
				eBackgroundFileEraser::getInstance()->erase(filename.c_str());
			}
		}
		list.erase(it);
		changed=1;
		return 0;
	}
	return -1;
}
Пример #13
0
void eTransponderEditWindow::removeNetwork()
{
    eListBoxEntryText* entry = satellites->getCurrent();
    if ( entry && entry->getKey() )
    {
        tpPacket *p = (tpPacket*) entry->getKey();
        eMessageBox mb(
            _("Really delete the selected satellite?"),
            eString().sprintf(_("Delete %s"), p->name.c_str() ),
            eMessageBox::btYes|eMessageBox::btNo|eMessageBox::iconQuestion, eMessageBox::btNo );
        hide();
        mb.show();
        if ( mb.exec() == eMessageBox::btYes )
        {
            satellites->beginAtomic();
            satellites->goNext();
            eTransponderList::getInstance()->getNetworks().remove( *p );
            satellites->remove( entry, true );
            satellites->endAtomic();
            changed++;
        }
        mb.hide();
        show();
    }
}
Пример #14
0
bool checkPin( int pin, const char * text )
{
	if ( !pin )
		return true;
	ParentalLockWindow w(eString().sprintf(_("current %s PIN"),text).c_str(), 0 );
	int ret=0;
	do
	{
		w.show();
		ret = w.exec();
		w.hide();
		if ( ret == -1 )  // cancel pressed
			return false;
		else if ( ret != pin )
		{
			ret = eMessageBox::ShowBox(_("The entered PIN is incorrect.\nDo you want to retry?"),
					_("PIN validation failed"),
					eMessageBox::btYes|eMessageBox::btNo|eMessageBox::iconQuestion,
					eMessageBox::btYes );
			if ( ret == eMessageBox::btNo || ret == -1 )
				return false;
		}
	}
	while ( ret != pin );
	return true;
}
Пример #15
0
static eString getVersionInfo(const char *info)
{
	FILE *f=fopen("/.version", "rt");
	if (!f)
		f = fopen("/etc/image-version", "rt");
	if (!f)
		return "";
	eString result;
	while (1)
	{
		char buffer[128];
		if (!fgets(buffer, 128, f))
			break;
		if (strlen(buffer))
			buffer[strlen(buffer)-1]=0;
		if ((!strncmp(buffer, info, strlen(info)) && (buffer[strlen(info)]=='=')))
		{
			int i = strlen(info)+1;
			result = eString(buffer).mid(i, strlen(buffer)-i);
			break;
		}
	}	
	fclose(f);
	return result;
}
Пример #16
0
void ENgrabSetup::detectMAC()
{
	eString serverip;

	serverip.sprintf("%d.%d.%d.%d",
		inet_address->getNumber(0),
		inet_address->getNumber(1),
		inet_address->getNumber(2),
		inet_address->getNumber(3) );

	if ( system(eString().sprintf("ping -c 2 %s",serverip.c_str()).c_str()) == 0 )
	{
		FILE *f = fopen("/proc/net/arp", "r");
		if ( f )
		{
			char line[1024];
			fgets(line, 1024, f);
			int HWAddrPos = strstr(line, "HW address") - line;
			if ( HWAddrPos  <  0)
			{
				fclose(f);
				return;
			}
			while (1)
			{
				if (!fgets(line, 1024, f))
					break;
				if ( strstr(line, serverip.c_str() ) )
				{
					serverMAC->setText( eString(line+HWAddrPos,17) );
					break;
				}       
			}
			fclose(f);
		}
	}
	else
	{
		hide();
		eMessageBox::ShowBox(
			_("Please check your NGrab Server or the IP"),
			_("HW Address(MAC) detection failed"),
			eMessageBox::btOK|eMessageBox::iconInfo );
		show();
	}
}
Пример #17
0
void eSatfind::satChanged(eListBoxEntryText *sat)
{
    transponder->clear();
    if (sat && sat->getKey())
    {
        eDVBServiceController *sapi=eDVB::getInstance()->getServiceAPI();
        eTransponder *tp=0;

        if (sapi && sapi->transponder)
            tp = sapi->transponder;

        eListBoxEntryText *sel=0;

        tpPacket *i = (tpPacket*) (sat->getKey());

        switch(eSystemInfo::getInstance()->getFEType())
        {
        case eSystemInfo::feSatellite:
            for (std::list<eTransponder>::const_iterator it( i->possibleTransponders.begin() ); it != i->possibleTransponders.end(); it++)
            {
                if ( tp && *tp == *it )
                    sel = new eListBoxEntryText( *transponder, eString().sprintf("%d / %d / %c", it->satellite.frequency/1000, it->satellite.symbol_rate/1000, it->satellite.polarisation?'V':'H' ), (void*)&(*it) );
                else
                    new eListBoxEntryText( *transponder, eString().sprintf("%d / %d / %c", it->satellite.frequency/1000, it->satellite.symbol_rate/1000, it->satellite.polarisation?'V':'H' ), (void*)&(*it) );
            }
            break;
        case eSystemInfo::feTerrestrial:
            for (std::list<eTransponder>::const_iterator it( i->possibleTransponders.begin() ); it != i->possibleTransponders.end(); it++)
            {
                if ( tp && *tp == *it )
                    sel = new eListBoxEntryText( *transponder, eString().sprintf("%d kHz", it->terrestrial.centre_frequency/1000), (void*)&(*it) );
                else
                    new eListBoxEntryText( *transponder, eString().sprintf("%d kHz", it->terrestrial.centre_frequency/1000), (void*)&(*it) );
            }
            break;
        }

        if (transponder->getCount())
        {
            if ( sel )
                transponder->setCurrent(sel,true);
            else
                transponder->setCurrent(0,true);
        }
    }
}
Пример #18
0
ChannelPicker::ChannelPicker() : eListBoxWindow<eListBoxEntryText>()
{ 
	setText( eString( getStr( strChannelPickerWindowTitle ) ) );
	setWidgetGeom( this, CP_X, CP_Y, CP_WIDTH, CP_HEIGHT );

	setWidgetGeom( &list, 0, 0, clientrect.width(), clientrect.height() );
	list.setColumns( CP_NO_COLS );
	CONNECT( list.selected, ChannelPicker::selected );
}
Пример #19
0
eGuiOpPage::eGuiOpPage(const QString &name, QGraphicsView *parent) : QGraphicsScene(parent)
{
    _initialize();

    // Create new "engine" page, which is wrapped
    // by the current instance of this class.
    m_opPage = eDemoData::addPage();
    eASSERT(m_opPage != eNULL);
    m_opPage->setUserName(eString(name.toAscii()));
}
Пример #20
0
void eHTTPMovie::init_eHTTPMovie(eHTTPConnection *c,const char *mime)
{
	if (method == methodGET)
	{
		int slice=0;
		struct stat64 s;
		while (!stat64((filename + (slice ? eString().sprintf(".%03d", slice) : eString(""))).c_str(), &s))
		{
			size+=s.st_size;
			++slice;
		}
		c->local_header["Content-Type"]=eString(mime);
		char asize[32];
		snprintf(asize, 32, "%lld", size);
		c->local_header["Content-Length"]=asize;
	}
	connection->code_descr="OK";
	connection->code=200;
}
Пример #21
0
void eSoftwareUpdate::init_eSoftwareUpdate()
{
	valign();
#ifndef DISABLE_NETWORK
	int entry=0;
	if(!eSystemInfo::getInstance()->isOpenEmbedded())
	{
		CONNECT((new eListBoxEntryMenu(&list, _("Internet Update"), eString().sprintf("(%d) %s", ++entry, _("open internet update")) ))->selected, eSoftwareUpdate::internet_update );
		CONNECT((new eListBoxEntryMenu(&list, _("Manual Update"), eString().sprintf("(%d) %s", ++entry, _("open manual update")) ))->selected, eSoftwareUpdate::manual_update );
#ifdef ENABLE_FLASHTOOL
		CONNECT((new eListBoxEntryMenu(&list, _("Expert Flash Save/Restore"), eString().sprintf("(%d) %s", ++entry, _("open expert flash tool")) ))->selected, eSoftwareUpdate::flash_tool);
#endif
	}
	else
	{
		CONNECT((new eListBoxEntryMenu(&list, _("Prepare box for new image"), eString().sprintf("(%d) %s", ++entry, _("put your dreambox in **STOP** mode")) ))->selected, eSoftwareUpdate::stop_mode );
	}
#endif
}
Пример #22
0
eString getISO639Description(char *iso)
{
	for (unsigned int i=0; i<sizeof(iso639)/sizeof(*iso639); ++i)
	{
		if (!strncasecmp(iso639[i].iso639foreign, iso, 3))
			return iso639[i].description1;
		if (!strncasecmp(iso639[i].iso639int, iso, 3))
			return iso639[i].description1;
	}
	return eString()+iso[0]+iso[1]+iso[2];
}
Пример #23
0
void eTimeCorrectionEditWindow::updateTimeDate()
{
	time_t now = time(0)+eDVB::getInstance()->time_difference;
	tm ltime = *localtime( &now );
	lCurTime->setText(eString().sprintf("%02d:%02d:%02d", ltime.tm_hour, ltime.tm_min, ltime.tm_sec));
	lCurDate->setText(eString().sprintf("%02d.%02d.%04d", ltime.tm_mday, ltime.tm_mon+1, 1900+ltime.tm_year));
	eDVBServiceController *sapi = eDVB::getInstance()->getServiceAPI();
	if ( sapi && sapi->tdt && sapi->transponder )
	{
		time_t tpTime = now + sapi->lastTpTimeDifference;
		tm ltime = *localtime( &tpTime );
		lTpTime->setText(eString().sprintf("%02d:%02d:%02d", ltime.tm_hour, ltime.tm_min, ltime.tm_sec));
		lTpDate->setText(eString().sprintf("%02d.%02d.%04d", ltime.tm_mday, ltime.tm_mon+1, 1900+ltime.tm_year));
	}
	else
	{
		lTpTime->setText(_("no transponder time"));
		lTpDate->setText("");
	}
}
Пример #24
0
int eDVRPlayerThread::openFile(int slice)
{
	eString tfilename=filename;
	if (slice)
		tfilename += eString().sprintf(".%03d", slice);

	if (inputsn)
	{
		delete inputsn;
		inputsn=0;
	}
	if (sourcefd >= 0)
		::close(sourcefd);

	sourcefd=::open(tfilename.c_str(), O_RDONLY|O_LARGEFILE);
	if (sourcefd >= 0)
	{
		off64_t slicesize=this->slicesize;
		eDebug("opened slice %d", slice);
		if (!slice && !playingPermanentTimeshift)
		{
			if (!livemode)
			{
				slicesize=lseek64(sourcefd, 0, SEEK_END);
				if (slicesize <= 0)
				{
					int tmp=1024*1024;
					eConfig::getInstance()->getKey("/extras/record_splitsize", tmp);
					slicesize=tmp;
					slicesize*=1024;
				}
				lseek64(sourcefd, 0, SEEK_SET);
			}
			else
			{
				int tmp=1024*1024;
				eConfig::getInstance()->getKey("/extras/record_splitsize", tmp);
				slicesize=tmp;
				slicesize*=1024;
			}
		}

		inputsn=new eSocketNotifier(this, sourcefd, eSocketNotifier::Read, 0);
		inputsn->start();
		CONNECT(inputsn->activated, eDVRPlayerThread::readMore);

		this->slicesize = slicesize;
		this->slice = slice;
		position=0;
		return 0;
	}
	return -1;
}
Пример #25
0
void eHTTPDyn::init_eHTTPDyn(eHTTPConnection *c)
{
	wptr=0;
	char buffer[10];
	snprintf(buffer, 10, "%d", size=result.length());
	c->local_header["Content-Length"]=eString(buffer);
	if (c->code == -1)
	{
		c->code=200;
		c->code_descr="OK";
	}
}
Пример #26
0
void showTimerEditWindow( eWidget *parent, int type, Channel *cp, Program *pp, time_t preOffset, time_t postOffset )
{
	int timerType = ePlaylistEntry::SwitchTimerEntry;

        switch ( type ) {
                case timerEditRecord:
                        timerType = ePlaylistEntry::RecTimerEntry|ePlaylistEntry::recDVR;
                        break;
                case timerEditNGRAB:
                        timerType = ePlaylistEntry::RecTimerEntry|ePlaylistEntry::recNgrab;
                        break;
                default:
                        break;
        }

	EITEvent tempEvent;

        tempEvent.start_time = pp->getStartTime() - preOffset;

        time_t end = pp->getEndTime() + postOffset;

        tempEvent.duration = (int) ( end - tempEvent.start_time );

        eServiceReferenceDVB sref = cp->getServiceRef();

	// Want to restore this afterwards, in case we disturb
	// something else in enigma (I'm not clear what it's used
	// for)

	eString oldServiceDescr = sref.descr;

	sref.descr = getFullServiceName( cp->getServiceRef() ) + eString( "/" ) + pp->getTitle();

        eTimerManager *timerMgrP = eTimerManager::getInstance();

        if ( type == timerEditDelete ) {
                ePlaylistEntry* p = timerMgrP->findEvent( &sref, &tempEvent );

                if ( p )
                        timerMgrP->removeEventFromTimerList( parent, *p,eTimerManager::erase );
                else
                        showTimerListWindow();
        }
        else {
                eTimerEditView bob( tempEvent, timerType, sref );
		showExecHide( &bob );
        }

	sref.descr = oldServiceDescr;

        timerMgrP->saveTimerList();
}
Пример #27
0
void ePermanentTimeshift::renameAllSlices(const char* filename)
{
	eDebug("renameAllSlices:%s",filename);
	int slice = 0;
	eString path = getTimeshiftPath();
	for (std::list<std::pair<int,off64_t> >::iterator x(slicelist.begin()); x != slicelist.end(); ++x)
	{
		eString oldfilename = (x->first ? eString().sprintf("%s.%03d", path.c_str(), x->first) : path.c_str());
		eString newfilename=filename;
		if (slice)
			newfilename += eString().sprintf(".%03d", slice);
		eString cmd;
		cmd.sprintf("mv \"%s\" \"%s\"",oldfilename.c_str(),newfilename.c_str());		
		if (system(cmd.c_str()))
		{
			eDebug("renaming timeshift failed:%s:%s",cmd.c_str(),strerror(errno));
		}
			
		slice++;
	}
	slicelist.clear();
}
Пример #28
0
void eTimeCorrectionEditWindow::init_eTimeCorrectionEditWindow( tsref tp )
{

	lCurTime= CreateSkinnedLabel("curtime");
	lCurDate = CreateSkinnedLabel("curdate");

	lTpTime = CreateSkinnedLabel("tptime");
	lTpDate = CreateSkinnedLabel("tpdate");

	time_t now = time(0)+eDVB::getInstance()->time_difference;
	tm tmp = *localtime( &now );

	nTime = CreateSkinnedNumber("nTime",0, 2, 0, 59, 2, 0, 0);
	nTime->setFlags( eNumber::flagTime|eNumber::flagFillWithZeros );
	CONNECT( nTime->selected, eTimeCorrectionEditWindow::fieldSelected );

	cday = CreateSkinnedComboBox("cday");
	cmonth = CreateSkinnedComboBox("cmonth");
	for ( int i = 0; i < 12; i++ )
		new eListBoxEntryText( *cmonth, eString().sprintf("%02d",i+1), (void*)i );
	CONNECT( cmonth->selchanged, eTimeCorrectionEditWindow::monthChanged );

	cyear = CreateSkinnedComboBox("cyear");
	for ( int i = -1; i < 4; i++ )
		new eListBoxEntryText( *cyear, eString().sprintf("%d",tmp.tm_year+(1900+i)), (void*)(tmp.tm_year+i) );

	CONNECT( cyear->selchanged, eTimeCorrectionEditWindow::yearChanged );

	bSet=CreateSkinnedButton("set");
	CONNECT(bSet->selected, eTimeCorrectionEditWindow::savePressed);

	BuildSkin("timecorrection");
	CONNECT( updateTimer.timeout, eTimeCorrectionEditWindow::updateTimeDate );
	nTime->setNumber(0, tmp.tm_hour );
	nTime->setNumber(1, tmp.tm_min );
	cyear->setCurrent( (void*) tmp.tm_year );
	cmonth->setCurrent( (void*) tmp.tm_mon, true );
	cday->setCurrent( (void*) tmp.tm_mday );
}
Пример #29
0
void eZapScan::init_eZapScan()
{
	int entry=0;
	valign();
	if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feSatellite )  // only when a sat box is avail we shows a satellite config
	{
		CONNECT((new eListBoxEntryMenu(&list, _("Satellite Configuration"), eString().sprintf("(%d) %s", ++entry, _("open satellite config"))))->selected, eZapScan::sel_satconfig);
		CONNECT((new eListBoxEntryMenu(&list, _("Satfind"), eString().sprintf("(%d) %s", ++entry, _("open the satfinder"))))->selected, eZapScan::sel_satfind);
		// Only show Motor setup when Motor is enabled
		eSatelliteConfigurationManager satconfig(false);
		if (satconfig.getRotorEnabled())
		{
			CONNECT((new eListBoxEntryMenu(&list, _("Rotor Setup"), eString().sprintf("(%d) %s", ++entry, _("open Rotor Setup"))))->selected, eZapScan::sel_rotorConfig);
		}
		CONNECT((new eListBoxEntryMenu(&list, _("Transponder Edit"), eString().sprintf("(%d) %s", ++entry, _("for automatic scan"))))->selected, eZapScan::sel_transponderEdit);
	}
	else if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feTerrestrial )
	{
		CONNECT((new eListBoxEntryMenu(&list, _("Signalfind"), eString().sprintf("(%d) %s", ++entry, _("open the signalfinder"))))->selected, eZapScan::sel_satfind);
		(new eListBoxEntryCheck(&list, _("Disable 5V"), "/elitedvb/DVB/config/disable_5V", _("disable 5V for passive terrerstrial antennas")))
			->selected.connect( slot(*eFrontend::getInstance(), &eFrontend::setTerrestrialAntennaVoltage) );
	}
	if ( eSystemInfo::getInstance()->getFEType() != eSystemInfo::feCable )
		new eListBoxEntryMenuSeparator(&list, eSkin::getActive()->queryImage("listbox.separator"), 0, true );
	CONNECT((new eListBoxEntryMenu(&list, _("Automatic Transponder Scan"), eString().sprintf("(%d) %s", ++entry, _("open automatic transponder scan"))))->selected, eZapScan::sel_autoScan);
	if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feSatellite ) { // only when a sat box is avail we shows a satellite config
		CONNECT((new eListBoxEntryMenu(&list, _("Automatic Multisat Scan"), eString().sprintf("(%d) %s", ++entry, _("open automatic multisat transponder scan"))))->selected, eZapScan::sel_multiScan);
		CONNECT((new eListBoxEntryMenu(&list, _("Fast Scan"), eString().sprintf("(%d) %s", ++entry, _("open fast scan"))))->selected, eZapScan::sel_Fastscan);
	}

	CONNECT((new eListBoxEntryMenu(&list, _("Manual Transponder Scan"), eString().sprintf("(%d) %s", ++entry, _("open manual transponder scan"))))->selected, eZapScan::sel_manualScan);
	if ( eFrontend::getInstance()->canBlindScan() && eZapPlugins(eZapPlugins::StandardPlugin).execPluginByName("enigma_blindscan.cfg", true) == "OK" )
		CONNECT((new eListBoxEntryMenu(&list, _("Satellite Blindscan"), eString().sprintf("(%d) %s", ++entry, _("open transponder blindscan"))))->selected, eZapScan::sel_blindScan);

	new eListBoxEntryMenuSeparator(&list, eSkin::getActive()->queryImage("listbox.separator"), 0, true);

	new eListBoxEntryCheck(&list, _("Disable background scanning"), "/elitedvb/extra/disableSDTScan", _("Don't look for new services in the background"));
}
Пример #30
0
void ePermanentTimeshift::Start()
{
	lock.lock();
	eDebug("[PERM] starting permanent timeshift:%d",IsTimeshifting);
	slicelist.clear();
	slicelist.push_back(std::pair<int,off64_t>(0,0));
	current_slice_playing = slicelist.end();
	IsTimeshifting = 1;
	gettimeofday(&(last_split),0);
	int minutes = 30;
	eConfig::getInstance()->getKey("/enigma/timeshift/permanentminutes", minutes );
	eString path = getTimeshiftPath();
	struct stat64 s;
	eString filename = eString().sprintf("%s.%03d", path.c_str(), minutes);
	while (!stat64(filename.c_str(), &s))
	{
		eBackgroundFileEraser::getInstance()->erase(filename.c_str());
		minutes++;
		filename = eString().sprintf("%s.%03d", path.c_str(), minutes);
	}

	lock.unlock();
}