|
|
|
@ -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;
|
|
|
|
|