diff --git a/libssu/ssudeviceinfo.cpp b/libssu/ssudeviceinfo.cpp index 5203360..4cf8544 100644 --- a/libssu/ssudeviceinfo.cpp +++ b/libssu/ssudeviceinfo.cpp @@ -443,10 +443,10 @@ void SsuDeviceInfo::setDeviceModel(QString model){ } QVariant SsuDeviceInfo::value(const QString &key, const QVariant &value){ - if (boardMappings->contains(deviceVariant()+"/"+key)){ - return boardMappings->value(deviceVariant()+"/"+key); - } else if (boardMappings->contains(deviceModel()+"/"+key)){ + if (boardMappings->contains(deviceModel()+"/"+key)){ return boardMappings->value(deviceModel()+"/"+key); + } else if (boardMappings->contains(deviceVariant()+"/"+key)){ + return boardMappings->value(deviceVariant()+"/"+key); } return value; diff --git a/libssu/ssudeviceinfo.h b/libssu/ssudeviceinfo.h index ce90063..5b08cf8 100644 --- a/libssu/ssudeviceinfo.h +++ b/libssu/ssudeviceinfo.h @@ -99,6 +99,10 @@ class SsuDeviceInfo: public QObject { /** * Return a value from an adaptation section. Returns an empty string * or a given default value if key does not exist. + * + * If a device is marked as variant, and the requested key exists in a + * dedicated device section the key from the device section will get + * returned, otherwise the one from the variant. */ QVariant value(const QString &key, const QVariant &value=QVariant());