In preparation for AFC support in KFilePlacesModel.
This needs to go into stable since otherwise once Solid announces
AFC devices Dolphin would see them but try to open them as MTP URL
m_access(),
m_volume(),
m_disc(),
m_access(),
m_volume(),
m_disc(),
m_signalHandler(nullptr),
m_bookmark()
{
m_signalHandler(nullptr),
m_bookmark()
{
delete m_access;
delete m_volume;
delete m_disc;
delete m_access;
delete m_volume;
delete m_disc;
const QString udi = bookmark.metaDataItem(QStringLiteral("UDI"));
if (udi.isEmpty()) {
const QString udi = bookmark.metaDataItem(QStringLiteral("UDI"));
if (udi.isEmpty()) {
m_access = m_device.as<Solid::StorageAccess>();
m_volume = m_device.as<Solid::StorageVolume>();
m_disc = m_device.as<Solid::OpticalDisc>();
m_access = m_device.as<Solid::StorageAccess>();
m_volume = m_device.as<Solid::StorageVolume>();
m_disc = m_device.as<Solid::OpticalDisc>();
- m_mtp = m_device.as<Solid::PortableMediaPlayer>();
+ m_player = m_device.as<Solid::PortableMediaPlayer>();
setText(m_device.description());
setIcon(m_device.icon());
setText(m_device.description());
setIcon(m_device.icon());
} else {
setUrl(QUrl(QStringLiteral("audiocd:/")));
}
} else {
setUrl(QUrl(QStringLiteral("audiocd:/")));
}
- } else if (m_mtp) {
- setUrl(QUrl(QStringLiteral("mtp:udi=%1").arg(m_device.udi())));
+ } else if (m_player) {
+ const QStringList protocols = m_player->supportedProtocols();
+ if (!protocols.isEmpty()) {
+ setUrl(QUrl(QStringLiteral("%1:udi=%2").arg(protocols.first(), m_device.udi())));
+ }
QPointer<Solid::StorageAccess> m_access;
QPointer<Solid::StorageVolume> m_volume;
QPointer<Solid::OpticalDisc> m_disc;
QPointer<Solid::StorageAccess> m_access;
QPointer<Solid::StorageVolume> m_volume;
QPointer<Solid::OpticalDisc> m_disc;
- QPointer<Solid::PortableMediaPlayer> m_mtp;
+ QPointer<Solid::PortableMediaPlayer> m_player;
QPointer<PlacesItemSignalHandler> m_signalHandler;
KBookmark m_bookmark;
QPointer<PlacesItemSignalHandler> m_signalHandler;
KBookmark m_bookmark;