void SolidDeviceJob::start() { Solid::Device device (m_dest); QString operation = operationName(); if (operation == QLatin1String("mount")) { if (device.is<Solid::StorageAccess>()) { Solid::StorageAccess *access = device.as<Solid::StorageAccess>(); if (access && !access->isAccessible()) { access->setup(); } } } else if (operation == QLatin1String("unmount")) { if (device.is<Solid::OpticalDisc>()) { Solid::OpticalDrive *drive = device.as<Solid::OpticalDrive>(); if (!drive) { drive = device.parent().as<Solid::OpticalDrive>(); } if (drive) { drive->eject(); } } else if (device.is<Solid::StorageAccess>()) { Solid::StorageAccess *access = device.as<Solid::StorageAccess>(); if (access && access->isAccessible()) { access->teardown(); } } } emitResult(); }
void IpodCollectionFactory::createCollectionForSolidDevice( const QString &udi ) { DEBUG_BLOCK DeviceType type; QString mountPointOrUuid; Solid::Device device( udi ); Solid::StorageAccess *ssa = device.as<Solid::StorageAccess>(); if( ssa ) { type = iPod; if( ssa->isIgnored() ) { debug() << "device" << udi << "ignored, ignoring :-)"; return; } // we are definitely interested in this device, listen for accessibility changes disconnect( ssa, SIGNAL(accessibilityChanged(bool,QString)), this, 0 ); connect( ssa, SIGNAL(accessibilityChanged(bool,QString)), SLOT(slotAccessibilityChanged(bool,QString)) ); if( !ssa->isAccessible() ) { debug() << "device" << udi << "not accessible, ignoring for now"; return; } mountPointOrUuid = ssa->filePath(); } else // no ssa { do { // break inside this block means "continue with collection creation"
void MenuDiskItem::ejectButtonClicked() { mEjectButtonClicked = true; Solid::StorageAccess* di = mDevice.as<Solid::StorageAccess>(); if (di->isAccessible()) di->teardown(); else onUnmounted(Solid::NoError, QString(), mDevice.udi()); mPopup->hide(); }
void MenuDiskItem::diskButtonClicked() { mDiskButtonClicked = true; Solid::StorageAccess* di = mDevice.as<Solid::StorageAccess>(); if (!di->isAccessible()) di->setup(); else onMounted(Solid::NoError, QString(), mDevice.udi()); mPopup->hide(); }
void MenuDiskItem::diskButtonClicked() { mDiskButtonClicked = true; Solid::StorageAccess* di = mDevice.as<Solid::StorageAccess>(); if (!di->isAccessible()) di->setup(); else mounted(Solid::NoError, QString(), mDevice.udi()); qobject_cast<QWidget*>(parent())->hide(); }
void MenuDiskItem::ejectButtonClicked() { mEjectButtonClicked = true; Solid::StorageAccess* di = mDevice.as<Solid::StorageAccess>(); if (di->isAccessible()) { di->teardown(); } else { unmounted(Solid::NoError, QString(), mDevice.udi()); } qobject_cast<QWidget*>(parent())->hide(); }