diff options
author | 2007-03-10 23:22:09 +0000 | |
---|---|---|
committer | 2007-03-10 23:22:09 +0000 | |
commit | d005a023b33217b94c70be85490bd235a98f4a6e (patch) | |
tree | cb2970f4f0dbec1cc5913f57066400a362515158 /kde-misc/dolphin/files | |
parent | Stable on alpha wrt security #153911 (diff) | |
download | gentoo-2-d005a023b33217b94c70be85490bd235a98f4a6e.tar.gz gentoo-2-d005a023b33217b94c70be85490bd235a98f4a6e.tar.bz2 gentoo-2-d005a023b33217b94c70be85490bd235a98f4a6e.zip |
Added patch to allow browsing archive files (see #170335)
(Portage version: 2.1.2.1-r1)
Diffstat (limited to 'kde-misc/dolphin/files')
-rw-r--r-- | kde-misc/dolphin/files/digest-dolphin-0.8.2-r1 | 3 | ||||
-rw-r--r-- | kde-misc/dolphin/files/dolphin-0.8.2-tarZip-handlers.patch | 103 |
2 files changed, 106 insertions, 0 deletions
diff --git a/kde-misc/dolphin/files/digest-dolphin-0.8.2-r1 b/kde-misc/dolphin/files/digest-dolphin-0.8.2-r1 new file mode 100644 index 000000000000..3a147cc81592 --- /dev/null +++ b/kde-misc/dolphin/files/digest-dolphin-0.8.2-r1 @@ -0,0 +1,3 @@ +MD5 376f7a1deca0f4d69fa96a393cea464b dolphin-0.8.2.tar.gz 1842748 +RMD160 9af44361215caa48940395e0e720cd96be71fec6 dolphin-0.8.2.tar.gz 1842748 +SHA256 fcda66ed150c9a67be36501937249f2ab02d7633549d95b15b19432642795062 dolphin-0.8.2.tar.gz 1842748 diff --git a/kde-misc/dolphin/files/dolphin-0.8.2-tarZip-handlers.patch b/kde-misc/dolphin/files/dolphin-0.8.2-tarZip-handlers.patch new file mode 100644 index 000000000000..c4861aa6f08b --- /dev/null +++ b/kde-misc/dolphin/files/dolphin-0.8.2-tarZip-handlers.patch @@ -0,0 +1,103 @@ +diff -Naur dolphin-0.8.2-orig/src/dolphinview.cpp dolphin-0.8.2-new/src/dolphinview.cpp +--- dolphin-0.8.2-orig/src/dolphinview.cpp 2006-12-09 00:00:24.000000000 +0100 ++++ dolphin-0.8.2-new/src/dolphinview.cpp 2007-03-10 23:25:15.000000000 +0100 +@@ -705,6 +705,27 @@ + setURL(KURL(localPath)); + } + } ++ else if (fileItem->isFile()) { ++ // allow to browse through ZIP and tar files ++ KMimeType::Ptr mime = fileItem->mimeTypePtr(); ++ if (mime->is("application/x-zip")) { ++ KURL url = fileItem->url(); ++ 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")) { ++ KURL url = fileItem->url(); ++ url.setProtocol("tar"); ++ setURL(url); ++ } ++ else { ++ fileItem->run(); ++ } ++ } + else { + fileItem->run(); + } +diff -Naur dolphin-0.8.2-orig/src/urlnavigator.cpp dolphin-0.8.2-new/src/urlnavigator.cpp +--- dolphin-0.8.2-orig/src/urlnavigator.cpp 2006-11-01 00:07:08.000000000 +0100 ++++ dolphin-0.8.2-new/src/urlnavigator.cpp 2007-03-10 23:25:03.000000000 +0100 +@@ -116,6 +116,68 @@ + void URLNavigator::setURL(const KURL& url) + { + QString urlStr(url.prettyURL()); ++ ++ if (url.protocol() == "zip") { ++ bool stillInside = false; ++ if (KMimeType::findByPath(url.url(-1)) ++ ->is("application/x-zip")) { ++ stillInside = true; ++ } ++ else { ++ KURL url1 = url.upURL(); ++ while (url1 != url1.upURL()) { ++ if (KMimeType::findByPath(url1.url(-1)) ++ ->is("application/x-zip")) { ++ stillInside = true; ++ break; ++ } ++ url1 = url1.upURL(); ++ } ++ } ++ if (!stillInside) ++ { ++ // Drop the zip:/ protocol since we are not in the zip anymore ++ urlStr = url.path(); ++ } ++ } ++ else if (url.protocol() == "tar") ++ { ++ bool stillInside = false; ++ KMimeType::Ptr kmp = ++ KMimeType::findByPath(url.url(-1)); ++ 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") ++ ) { ++ stillInside = true; ++ } ++ else { ++ KURL url1 = url.upURL(); ++ while (url1 != url1.upURL()) { ++ KMimeType::Ptr kmp = ++ KMimeType::findByPath(url1.url(-1)); ++ 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") ++ ) { ++ stillInside = true; ++ break; ++ } ++ url1 = url1.upURL(); ++ } ++ } ++ if (!stillInside) ++ { ++ // Drop the tar:/ protocol since we are not in the tar anymore ++ urlStr = url.path(); ++ } ++ } ++ ++ + if (urlStr.at(0) == '~') { + // replace '~' by the home directory + urlStr.remove(0, 1); |