SatellitesComponent::SatellitesComponent( SkyComposite *parent ) : SkyComponent( parent ) { KSFileReader fileReader; QString line; QStringList group_infos; if ( ! fileReader.open( "satellites.dat" ) ) return; emitProgressText( i18n("Loading satellites" ) ); while ( fileReader.hasMoreLines() ) { line = fileReader.readLine(); if ( line.trimmed().isEmpty() || line.at( 0 ) == '#' ) continue; group_infos = line.split( ';' ); m_groups.append( new SatelliteGroup( group_infos.at( 0 ), group_infos.at( 1 ), QUrl( group_infos.at( 2 ) ) ) ); } objectNames(SkyObject::SATELLITE).clear(); foreach( SatelliteGroup *group, m_groups ) { for ( int i=0; i<group->size(); i++ ) { Satellite *sat = group->at( i ); if ( sat->selected() && nameHash.contains(sat->name().toLower()) == false) { objectNames(SkyObject::SATELLITE).append(sat->name()); nameHash[sat->name().toLower()] = sat; } } } }
foreach ( SatelliteGroup *group, m_groups ) { for ( int i=0; i<group->size(); i++ ) { Satellite *sat = group->at( i ); if ( sat->name() == name ) return sat; } }