diff --git a/src/handlers/xdgurl.cpp b/src/handlers/xdgurl.cpp index 6cf2f4f724008b9d7af22b42c975b12f7eade303..08d21f51ddb085483819c542330accceeaa1695d 100644 --- a/src/handlers/xdgurl.cpp +++ b/src/handlers/xdgurl.cpp @@ -112,11 +112,19 @@ QJsonObject XdgUrl::_importDestinations() QJsonObject XdgUrl::_importArchiveTypes() { - //QJsonObject archiveTypes; - //QJsonObject appConfigArchiveTypes = _appConfig->get("archive_types"); + QJsonObject archiveTypes; + QJsonObject appConfigArchiveTypes = _appConfig->get("archive_types"); + QJsonObject userConfigArchiveTypes = _userConfig->get("archive_types"); - //return archiveTypes; - return _appConfig->get("archive_types"); + archiveTypes = appConfigArchiveTypes; + + if (!userConfigArchiveTypes.isEmpty()) { + foreach (const QString key, userConfigArchiveTypes.keys()) { + archiveTypes[key] = userConfigArchiveTypes.value(key); + } + } + + return archiveTypes; } bool XdgUrl::_installPlasmapkg(const QString &path, const QString &type)