- else if (item->isFile() && item->mimeTypePtr()->is("application/x-zip")) {
- // allow to browse through ZIP files
- const QString localPath(item->localPath());
- KUrl url;
- if (localPath.isEmpty()) {
- url = item->url();
+ else if (item->isFile()) {
+ // allow to browse through ZIP and tar files
+ KMimeType::Ptr mime = item->mimeTypePtr();
+ if (mime->is("application/x-zip")) {
+ url.setProtocol("zip");
+ setUrl(url);
+ }
+ else if (mime->is("application/x-tar") ||
+ mime->is("application/x-tarz") ||
+ mime->is("application/x-tbz") ||
+ mime->is("application/x-tgz") ||
+ mime->is("application/x-tzo")) {
+ url.setProtocol("tar");
+ setUrl(url);