void IpodCollectionFactory::slotAddSolidDevice( const QString &udi ) { if( m_collectionMap.contains( udi ) ) return; // a device added twice (?) if( identifySolidDevice( udi ) ) createCollectionForSolidDevice( udi ); }
void IpodCollectionFactory::init() { connect( Solid::DeviceNotifier::instance(), SIGNAL(deviceAdded(QString)), SLOT(slotAddSolidDevice(QString)) ); connect( Solid::DeviceNotifier::instance(), SIGNAL(deviceRemoved(QString)), SLOT(slotRemoveSolidDevice(QString)) ); // detect iPods that were already connected on startup QString query( "[IS StorageAccess OR IS PortableMediaPlayer]" ); QList<Solid::Device> ipodDevices = Solid::Device::listFromQuery( query ); foreach( Solid::Device device, ipodDevices ) { if( identifySolidDevice( device.udi() ) ) createCollectionForSolidDevice( device.udi() ); } m_initialized = true; }