]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Generalize Player protocol support
authorKai Uwe Broulik <kde@privat.broulik.de>
Mon, 8 Jun 2020 20:45:27 +0000 (22:45 +0200)
committerKai Uwe Broulik <kde@privat.broulik.de>
Mon, 22 Jun 2020 09:51:35 +0000 (09:51 +0000)
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

src/panels/places/placesitem.cpp
src/panels/places/placesitem.h

index b06bac9a693576d2a7d31644ae11cba077ef4646..ea22700202d661e22f169204693e203f642ccaa8 100644 (file)
@@ -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())));
+        }
     }
 }
 
index eccd297fa4bc6e2fbe5595471291e747a3cca215..1eff7a380021dacceb25939f3eebb01d4bd896ce 100644 (file)
@@ -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;