void ProgramSensor::processExited(TDEProcess *) { int lineNbr; SensorParams *sp; Meter *meter; TQValueVector<TQString> lines; TQStringList stringList = TQStringList::split('\n',sensorResult,true); TQStringList::ConstIterator end( stringList.end() ); for ( TQStringList::ConstIterator it = stringList.begin(); it != end; ++it ) { lines.push_back(*it); } int count = (int) lines.size(); TQObjectListIt it( *objList ); while (it != 0) { sp = (SensorParams*)(*it); meter = sp->getMeter(); if( meter != 0) { lineNbr = (sp->getParam("LINE")).toInt(); if ( lineNbr >= 1 && lineNbr <= (int) count ) { meter->setValue(lines[lineNbr-1]); } if ( -lineNbr >= 1 && -lineNbr <= (int) count ) { meter->setValue(lines[count+lineNbr]); } if (lineNbr == 0) { meter->setValue(sensorResult); } } ++it; } sensorResult = ""; }
void DiskSensor::processExited(TDEProcess *) { TQStringList stringList = TQStringList::split('\n',sensorResult); sensorResult = ""; TQStringList::Iterator it = stringList.begin(); //TQRegExp rx( "^(/dev/).*(/\\S*)$"); TQRegExp rx( ".*\\s+(/\\S*)$"); while( it != stringList.end()) { rx.search( *it ); if ( !rx.cap(0).isEmpty()) { mntMap[rx.cap(1)] = *it; } it++; } stringList.clear(); TQString format; TQString mntPt; SensorParams *sp; Meter *meter; TQObjectListIt lit( *objList ); while (lit != 0) { sp = (SensorParams*)(*lit); meter = sp->getMeter(); format = sp->getParam("FORMAT"); mntPt = sp->getParam("MOUNTPOINT"); if (mntPt.length() == 0) mntPt="/"; if (format.length() == 0 ) { format = "%u"; } format.replace( TQRegExp("%fp", false),TQString::number(getPercentFree(mntPt))); format.replace( TQRegExp("%fg",false), TQString::number(getFreeSpace(mntPt)/(1024*1024))); format.replace( TQRegExp("%fkb",false), TQString::number(getFreeSpace(mntPt)*8) ); format.replace( TQRegExp("%fk",false), TQString::number(getFreeSpace(mntPt)) ); format.replace( TQRegExp("%f", false),TQString::number(getFreeSpace(mntPt)/1024)); format.replace( TQRegExp("%up", false),TQString::number(getPercentUsed(mntPt))); format.replace( TQRegExp("%ug",false), TQString::number(getUsedSpace(mntPt)/(1024*1024))); format.replace( TQRegExp("%ukb",false), TQString::number(getUsedSpace(mntPt)*8) ); format.replace( TQRegExp("%uk",false), TQString::number(getUsedSpace(mntPt)) ); format.replace( TQRegExp("%u", false),TQString::number(getUsedSpace(mntPt)/1024)); format.replace( TQRegExp("%tg",false), TQString::number(getTotalSpace(mntPt)/(1024*1024))); format.replace( TQRegExp("%tkb",false), TQString::number(getTotalSpace(mntPt)*8)); format.replace( TQRegExp("%tk",false), TQString::number(getTotalSpace(mntPt))); format.replace( TQRegExp("%t", false),TQString::number(getTotalSpace(mntPt)/1024)); meter->setValue(format); ++lit; } if ( init == 1 ) { emit initComplete(); init = 0; } }
void NoatunSensor::update() { TQString format; SensorParams *sp; Meter *meter; TQObjectListIt it( *objList ); TQString title; int songLength = 0; int currentTime = 0; bool running = isRunning(); if( running ) { title = getTitle(); if( title.isEmpty() ) title = "Noatun"; currentTime = getTime(); if( currentTime == -1 ) currentTime = 0; songLength = getLength(); if( songLength == -1 ) songLength = 0; } while (it != 0) { sp = (SensorParams*)(*it); meter = sp->getMeter(); if( running ) { format = sp->getParam("FORMAT"); if (format.length() == 0 ) { format = "%title %time / %length"; } if( format.lower() == "%ms" ) { meter->setMax( songLength ); meter->setValue( currentTime ); } else if ( format.lower() == "%full" ) { meter->setValue( 1 ); } else { format.replace( TQRegExp("%title", false), title ); format.replace( TQRegExp("%id", false), noatunID ); format.replace( TQRegExp("%length", false), TQTime( 0,0,0 ). addMSecs( songLength ) .toString( "h:mm:ss" ) ); format.replace( TQRegExp("%time", false), TQTime( 0,0,0 ). addMSecs( currentTime ) .toString( "h:mm:ss" ) ); format.replace( TQRegExp("%remain", false), TQTime( 0,0,0 ). addMSecs( songLength ) .addMSecs(-currentTime ) .toString( "h:mm:ss" ) ); meter->setValue(format); } } else { meter->setValue(""); } ++it; } }
void XMMSSensor::update() { QString format; SensorParams *sp; Meter *meter; QObjectListIt it( *objList ); #ifdef HAVE_XMMS int pos; QString title; int songLength = 0; int currentTime = 0; bool isPlaying = false; bool isRunning = xmms_remote_is_running(0); if( isRunning ) { isPlaying = xmms_remote_is_playing(0); pos = xmms_remote_get_playlist_pos(0); qDebug("unicode start"); title = codec->toUnicode( QCString( xmms_remote_get_playlist_title( 0, pos ) ) ); qDebug("unicode end"); if( title.isEmpty() ) title = "XMMS"; qDebug("Title: %s", title.ascii()); songLength = xmms_remote_get_playlist_time( 0, pos ); currentTime = xmms_remote_get_output_time( 0 ); } #endif // HAVE_XMMS while (it != 0) { sp = (SensorParams*)(*it); meter = sp->getMeter(); #ifdef HAVE_XMMS if( isRunning ) { format = sp->getParam("FORMAT"); if (format.length() == 0 ) { format = "%title %time / %length"; } if( format == "%ms" ) { meter->setMax( songLength ); meter->setValue( currentTime ); } else if ( format == "%full" ) { meter->setValue( 1 ); } else { format.replace( QRegExp("%title", false), title ); format.replace( QRegExp("%length", false), QTime( 0,0,0 ). addMSecs( songLength ) .toString( "h:mm:ss" ) ); format.replace( QRegExp("%time", false), QTime( 0,0,0 ). addMSecs( currentTime ) .toString( "h:mm:ss" ) ); if( isPlaying ) { format.replace( QRegExp("%remain", false), QTime( 0,0,0 ). addMSecs( songLength ) .addMSecs(-currentTime ) .toString( "h:mm:ss" ) ); } else { format.replace( QRegExp("%remain", false), QTime( 0,0,0 ).toString("h:mm:ss" ) ); } meter->setValue(format); } } else #endif // HAVE_XMMS { meter->setValue(""); } ++it; } }