Browse Source

add jar, txz and lzma mimetype, this relates to issue #4

Signed-off-by: gregory guy <g-gregory@gmx.fr>
pull/6/head
gregory guy 8 months ago
parent
commit
1cc8bb41d3
No account linked to committer's email address
2 changed files with 23 additions and 17 deletions
  1. 7
    5
      src/dolphinview.cpp
  2. 16
    12
      src/urlnavigator.cpp

+ 7
- 5
src/dolphinview.cpp View File

@@ -708,16 +708,18 @@ void DolphinView::updateURL()
else if (fileItem->isFile()) {
// allow to browse through ZIP and tar files
KMimeType::Ptr mime = fileItem->mimeTypePtr();
if (mime->is("application/x-zip")) {
if( mime->is("application/x-zip") || mime->is("application/x-jar") ) {
KURL url = fileItem->url();
url.setProtocol("zip");
setURL(url);
}
else if (mime->is("application/x-tar") ||
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")) {
mime->is("application/x-tbz") ||
mime->is("application/x-tgz") ||
mime->is("application/x-tzo") ||
mime->is("application/x-txz") ||
mime->is("application/x-tlzma") ) {
KURL url = fileItem->url();
url.setProtocol("tar");
setURL(url);

+ 16
- 12
src/urlnavigator.cpp View File

@@ -119,15 +119,15 @@ void URLNavigator::setURL(const KURL& url)

if (url.protocol() == "zip") {
bool stillInside = false;
if (KMimeType::findByPath(url.url(-1))
->is("application/x-zip")) {
if( KMimeType::findByPath( url.url(-1) )->is("application/x-zip") ||
KMimeType::findByPath( url.url(-1) )->is("application/x-jar") ) {
stillInside = true;
}
else {
KURL url1 = url.upURL();
while (url1 != url1.upURL()) {
if (KMimeType::findByPath(url1.url(-1))
->is("application/x-zip")) {
if( KMimeType::findByPath( url1.url(-1) )->is("application/x-zip") ||
KMimeType::findByPath( url1.url(-1) )->is("application/x-jar") ) {
stillInside = true;
break;
}
@@ -145,11 +145,13 @@ void URLNavigator::setURL(const KURL& url)
bool stillInside = false;
KMimeType::Ptr kmp =
KMimeType::findByPath(url.url(-1));
if (kmp->is("application/x-tar") ||
if( kmp->is("application/x-tar") ||
kmp->is("application/x-tarz") ||
kmp->is("application/x-tbz") ||
kmp->is("application/x-tgz") ||
kmp->is("application/x-tzo")
kmp->is("application/x-tbz") ||
kmp->is("application/x-tgz") ||
kmp->is("application/x-tzo") ||
kmp->is("application/x-txz") ||
kmp->is("application/x-tlzma")
) {
stillInside = true;
}
@@ -158,11 +160,13 @@ void URLNavigator::setURL(const KURL& url)
while (url1 != url1.upURL()) {
KMimeType::Ptr kmp =
KMimeType::findByPath(url1.url(-1));
if (kmp->is("application/x-tar") ||
if( kmp->is("application/x-tar") ||
kmp->is("application/x-tarz") ||
kmp->is("application/x-tbz") ||
kmp->is("application/x-tgz") ||
kmp->is("application/x-tzo")
kmp->is("application/x-tbz") ||
kmp->is("application/x-tgz") ||
kmp->is("application/x-tzo") ||
kmp->is("application/x-txz") ||
kmp->is("application/x-tlzma")
) {
stillInside = true;
break;

Loading…
Cancel
Save