diff --git a/src/filewidgets/kurlnavigator.cpp b/src/filewidgets/kurlnavigator.cpp --- a/src/filewidgets/kurlnavigator.cpp +++ b/src/filewidgets/kurlnavigator.cpp @@ -1049,9 +1049,9 @@ // code locationUrl() and url become the same URLs QUrl firstChildUrl = KIO::UrlUtil::firstChildUrl(locationUrl(), url); - if ((url.scheme() == QLatin1String("tar")) || (url.scheme() == QLatin1String("zip"))) { - // The URL represents a tar- or zip-file. Check whether - // the URL is really part of the tar- or zip-file, otherwise + if ((url.scheme() == QLatin1String("tar")) || (url.scheme() == QLatin1String("zip")) || (url.scheme() == QLatin1String("krarc"))) { + // The URL represents a tar- or zip-file, or an archive file supported by krarc. + // Check whether the URL is really part of the archive file, otherwise // replace it by the local path again. bool insideCompressedPath = d->isCompressedPath(url); if (!insideCompressedPath) { @@ -1067,7 +1067,7 @@ } } if (!insideCompressedPath) { - // drop the tar: or zip: protocol since we are not + // drop the tar: or zip: or krarc: protocol since we are not // inside the compressed path url.setScheme(QStringLiteral("file")); firstChildUrl.setScheme(QStringLiteral("file"));