michaelh added a comment.

  Ahhhh.... Either I'm completely off-track here or `kfilemetadata` is not 
doing this correctly. 
  I see a lot of statements like `artist += ', ' + value` -> no list!
  `result->add` calls `QMap->addMulti().` This forces the client to iterate 
over the map, which is not necessary.
  In contrary
  
    kfilemetadata/src/propertyinfo.cpp: 52
         case Property::AlbumArtist:
                d->name = QStringLiteral("albumArtist");
                d->displayName = i18nc("@label", "Album Artist");
                d->valueType = QVariant::StringList;
                break;
  
  The client can call `toVariantMap()` on the extraction result to get a 
`QVariantMap` but not a `QVariant::StringList`.
  I really, really, really do not understand why `kfilemetadata` is not 
delivering a string list. It is much more natural and consistent with the 
announced Property info.
  Also:
  
    kfilemetadata/src/properties.h: 282
    typedef QMap<Property::Property, QVariant> PropertyMap;
    //In taglibextractor never a list --^`
  
  I'm confused.

REPOSITORY
  R286 KFileMetaData

REVISION DETAIL
  https://phabricator.kde.org/D10694

To: michaelh, mgallien, dfaure
Cc: astippich, #frameworks, ashaposhnikov, michaelh, spoorun, navarromorales, 
isidorov, nicolasfella, firef, andrebarros, alexeymin, emmanuelp

Reply via email to