[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