┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKai Uwe Broulik <[email protected]>2020-06-08 22:45:27 +0200
committerKai Uwe Broulik <[email protected]>2020-06-22 09:51:35 +0000
commitf2c09faf00e5375bc698732953572841933bb74d (patch)
tree5695825535564b9547bcb4450b3ad9ddfb3ef676 /src
parentdb408cf09d9cc106405fdb496e333246e795902a (diff)
Generalize Player protocol support
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
Diffstat (limited to 'src')
-rw-r--r--src/panels/places/placesitem.cpp13
-rw-r--r--src/panels/places/placesitem.h2
2 files changed, 9 insertions, 6 deletions
diff --git a/src/panels/places/placesitem.cpp b/src/panels/places/placesitem.cpp
index b06bac9a6..ea2270020 100644
--- a/src/panels/places/placesitem.cpp
+++ b/src/panels/places/placesitem.cpp
@@ -37,7 +37,7 @@ PlacesItem::PlacesItem(const KBookmark& bookmark, PlacesItem* parent) :
m_access(),
m_volume(),
m_disc(),
- m_mtp(),
+ m_player(),
m_signalHandler(nullptr),
m_bookmark()
{
@@ -140,7 +140,7 @@ void PlacesItem::setBookmark(const KBookmark& bookmark)
delete m_access;
delete m_volume;
delete m_disc;
- delete m_mtp;
+ delete m_player;
const QString udi = bookmark.metaDataItem(QStringLiteral("UDI"));
if (udi.isEmpty()) {
@@ -207,7 +207,7 @@ void PlacesItem::initializeDevice(const QString& udi)
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());
@@ -228,8 +228,11 @@ void PlacesItem::initializeDevice(const QString& udi)
} 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())));
+ }
}
}
diff --git a/src/panels/places/placesitem.h b/src/panels/places/placesitem.h
index eccd297fa..1eff7a380 100644
--- a/src/panels/places/placesitem.h
+++ b/src/panels/places/placesitem.h
@@ -106,7 +106,7 @@ private:
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;