[Kde-hardware-devel] Solid - how to get path of storage device

Christopher Blauvelt cblauvelt at gmail.com
Wed Jun 11 00:16:08 CEST 2008


On Tue, Jun 10, 2008 at 4:34 PM, David Boosalis <david.boosalis at gmail.com>
wrote:

> Hi All.
>
> My first time use of Solid as I want to capture in my application when a
> USB Memory stick gets inserted into the computer.  I have no problem getting
> the event, my question is how do I go from a Solid Class to a File Path, so
> I can open up a file dialog on it.
>
> Here is my slot  thus far:
>
> void MyApp::slotSolidDeviceChanged(const QString &str)
> {
>   qDebug() << "Device changed " << str;
>   QString filePath;
>   Solid::Device device(str);
>   Solid::DeviceInterface *deviceInterface;
>   Solid::StorageAccess *accessStorage;
>   Solid::StorageVolume *volumeStorage;
>   if (device.isValid())
>     {
>       if (device.is<Solid::StorageAccess>()) {
>     deviceInterface =
> device.asDeviceInterface(Solid::DeviceInterface::StorageDrive);
>
>     usbStick = device.as<Solid::StorageDrive>();
>
>     volumeStorage = device.as<Solid::StorageVolume>();
>     accessStorage = device.as<Solid::StorageAccess>();
>     qDebug() << "file path  = " << accessStorage->filePath();   // produces
> NULL code
>     qDebug() << "uuid = " << volumeStorage->uuid();
>     qDebug() << "Volumne Label = " << volumeStorage->label();
>   }
>
>
Dave,
Are you sure the drive is mounted?  If not, then filePath() should return an
empty string.  Make to use StorageAccess::setup.  This will mount the drive
and, if successful, you should be able to get a file path.  Also, I've
included kde-hardware-devel on this list.  Posting here will likely get you
more attention from knowledgable people.
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-hardware-devel/attachments/20080610/fad755fa/attachment.html 


More information about the Kde-hardware-devel mailing list