Index: doc/kioslave/xz/index.docbook
===================================================================
--- doc/kioslave/xz/index.docbook	(revisão 0)
+++ doc/kioslave/xz/index.docbook	(revisão 0)
@@ -0,0 +1,37 @@
+<?xml version="1.0" ?>
+<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
+"dtd/kdex.dtd" [
+<!ENTITY % addindex "IGNORE">
+<!ENTITY % English "INCLUDE" > <!-- change language only here -->
+]>
+	
+<article lang="&language;" id="xz">
+<title>xz / lzma</title>
+<articleinfo>
+<authorgroup>
+<author>&Lauri.Watts; &Lauri.Watts.mail;</author>
+<!-- TRANS:ROLES_OF_TRANSLATORS -->
+</authorgroup>
+</articleinfo>
+
+<para>Xz is a compression program</para>
+
+<para>The xz kioslave is not directly usable, and is intended for use
+as a filter.  For example, the tar kioslave can filter a file through
+the xz kioslave, in order to display the contents of a <literal
+role="extension">tar.lzma</literal> or <literal role="extension">tar.xz
+</literal> file directly in a &konqueror; window.</para>
+
+<para>If you click on a file compressed with a <literal
+role="extension">.lzma</literal> or <literal role="extension">tar.xz
+</literal> in &konqueror;, this kioslave is used to
+uncompress it and display it as a normal (uncompressed) file.</para>
+
+<para>If you are a developer, and would like to use the xz filter,
+you can find documentation on using kioslaves at <ulink
+url="http://developer.kde.org">http://developer.kde.org</ulink></para>
+
+<para> See the manual: <ulink url="man:/xz">xz</ulink>.
+</para>
+
+</article>
Index: doc/kioslave/xz/CMakeLists.txt
===================================================================
--- doc/kioslave/xz/CMakeLists.txt	(revisão 0)
+++ doc/kioslave/xz/CMakeLists.txt	(revisão 0)
@@ -0,0 +1,3 @@
+########### install files ###############
+kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kioslave/xz)
+

Mudanças de propriedades em: doc/kioslave/xz/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
   + native

Index: kioslave/filter/xz.protocol
===================================================================
--- kioslave/filter/xz.protocol	(revisão 0)
+++ kioslave/filter/xz.protocol	(revisão 0)
@@ -0,0 +1,11 @@
+[Protocol]
+exec=kio_filter
+protocol=xz
+archiveMimetype=application/x-xz
+determineMimetypeFromExtension=false
+input=stream
+output=stream
+reading=true
+source=false
+DocPath=kioslave/xz.html
+Icon=package-x-generic
Index: kioslave/filter/lzma.protocol
===================================================================
--- kioslave/filter/lzma.protocol	(revisão 0)
+++ kioslave/filter/lzma.protocol	(revisão 0)
@@ -0,0 +1,11 @@
+[Protocol]
+exec=kio_filter
+protocol=lzma
+archiveMimetype=application/x-lzma
+determineMimetypeFromExtension=true
+input=stream
+output=stream
+reading=true
+source=false
+DocPath=kioslave/xz.html
+Icon=package-x-generic
Index: kioslave/filter/CMakeLists.txt
===================================================================
--- kioslave/filter/CMakeLists.txt	(revisão 966970)
+++ kioslave/filter/CMakeLists.txt	(cópia de trabalho)
@@ -2,6 +2,9 @@
 macro_optional_find_package(BZip2)
 macro_log_feature(BZIP2_FOUND "BZip2" "A high-quality data compressor" "http://www.bzip.org" FALSE "" "Provides the ability to read and write bzip2 compressed data files in the filter kioslave.")
 
+macro_optional_find_package(LibLZMA)
+macro_log_feature(LIBLZMA_FOUND "LZMA/XZ" "A very high compression ratio data compressor" "http://tukaani.org/xz/" FALSE "" "Provides the ability to read and write xz compressed data files.")
+
 ########### next target ###############
 
 set(kio_filter_PART_SRCS filter.cc )
@@ -22,3 +25,6 @@
 install( FILES bzip.protocol bzip2.protocol  DESTINATION  ${SERVICES_INSTALL_DIR} )
 endif(BZIP2_FOUND)
 
+if(LIBLZMA_FOUND)
+install( FILES lzma.protocol xz.protocol  DESTINATION  ${SERVICES_INSTALL_DIR} )
+endif(LIBLZMA_FOUND)
Index: kioslave/info/kde-info2html
===================================================================
--- kioslave/info/kde-info2html	(revisão 966970)
+++ kioslave/info/kde-info2html	(cópia de trabalho)
@@ -39,6 +39,10 @@
 #   March 9 2003      Add support for browsing by file. by Luis Pedro Coelho
 #   June  11 2003     Update the layout of the sides to the new infopageslayout.
 #                     by Sven Leiber <s.leiber@web.de>
+#   July  22 2008     Add support for lzma.
+#                     by Per Øyvind Karlsen <peroyvind@mandriva.org>
+#   January 8 2009    Update lzma support for new xz tool and format.
+#                     by Per Øyvind Karlsen <peroyvind@mandriva.org>
 #
 #-------------------------------------------------------
 
@@ -147,6 +151,10 @@
 	if ($DirFileName =~ m/.info.bz2$/ ) {
 		open DIR, "-|", "bzcat", $DirFileName;
 	}
+	elsif ($DirFileName =~ m/.info.(lzma|xz)$/ ) {
+		open DIR, "-|", "xzcat", $DirFileName;
+	}
+
 	elsif ($DirFileName =~ m/.info.gz$/ ) {
 		open DIR, "-|", "gzip", "-dc", $DirFileName;
 	}
@@ -256,6 +264,9 @@
 			if ($infofile =~ m/.info.bz2$/ ) {
 				open INFOFILE, "-|", "bzcat", "$dir/$infofile";
 			}
+			elsif ($infofile =~ m/.info.(lzma|xz)$/ ) {
+				open INFOFILE, "-|", "xzcat", "$dir/$infofile";
+			}
 			elsif ($infofile =~ m/.info.gz$/ ) {
 				open INFOFILE, "-|", "gzip", "-dc", "$dir/$infofile";
 			}
@@ -434,6 +445,8 @@
     open FH1, "-|", "gunzip", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
   } elsif ($FileName =~ /\.bz2$/) {
     open FH1, "-|", "bunzip2", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
+  } elsif ($FileName =~ /\.(lzma|xz)$/) {
+    open FH1, "-|", "unxz", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
   } else {
     open(FH1, $FileName) || &DieFileNotFound($FileName);
   }
@@ -480,6 +493,8 @@
     open FH, "-|", "gunzip", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
   } elsif ($FileName =~ /\.bz2$/) {
     open FH, "-|", "bunzip2", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
+  } elsif ($FileName =~ /\.(lzma|xz)$/) {
+    open FH, "-|", "unxz", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
   } else {
     open FH, $FileName || &DieFileNotFound($FileName);
   }
@@ -776,6 +791,8 @@
     open FH2, "-|", "gunzip", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
   } elsif ($FileName =~ /\.bz2$/) {
     open FH2, "-|", "bunzip2", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
+  } elsif ($FileName =~ /\.(lzma|xz)$/) {
+    open FH2, "-|", "unxz", "-q", "-d", "-c", $FileName || &DieFileNotFound($FileName);
   } else {
     open FH2, $FileName || &DieFileNotFound($FileName);
   }
@@ -1005,17 +1022,23 @@
     foreach my $Name ($File, $Alt) {
         my $gzName  = $Name . '.gz';
         my $bz2Name = $Name . '.bz2';
+        my $lzmaName = $Name . '.lzma';
+        my $xzName = $Name . '.xz';
 
         foreach (@info2html::config::INFODIR) {
             return "$_/$Name"    if -e "$_/$Name";
             return "$_/$gzName"  if -e "$_/$gzName";
             return "$_/$bz2Name" if -e "$_/$bz2Name";
+            return "$_/$lzmaName" if -e "$_/$lzmaName";
+            return "$_/$xzName" if -e "$_/$xzName";
         }
         next unless $ENV{INFOPATH};
         foreach my $i (split(/:/, $ENV{INFOPATH})) {
             return "$i/$Name"    if -e "$i/$Name";
             return "$i/$gzName"  if -e "$i/$gzName";
             return "$i/$bz2Name" if -e "$i/$bz2Name";
+            return "$i/$lzmaName" if -e "$i/$lzmaName";
+            return "$i/$xzName" if -e "$i/$xzName";
         }
     }
     return "";
Index: kioslave/man/kio_man.cpp
===================================================================
--- kioslave/man/kio_man.cpp	(revisão 966970)
+++ kioslave/man/kio_man.cpp	(cópia de trabalho)
@@ -70,6 +70,10 @@
         pos -= 4;
     else if ( name->indexOf(".bz", -3) != -1 )
         pos -= 3;
+    else if ( name->indexOf(".lzma", -5) != -1 )
+        pos -= 5;
+    else if ( name->indexOf(".xz", -3) != -1 )
+        pos -= 3;
 
     if ( pos > 0 )
         pos = name->lastIndexOf('.', pos-1);
@@ -1317,6 +1321,10 @@
 	    end -= 2;
 	else if ( len >= 4 && strcmp( end-3, ".bz2" ) == 0 )
 	    end -= 4;
+	else if ( len >= 5 && strcmp( end-4, ".lzma" ) == 0 )
+	    end -= 5;
+	else if ( len >= 3 && strcmp( end-2, ".xz" ) == 0 )
+	    end -= 3;
 
 	while ( end >= begin && *end != '.' )
 	    end--;
Index: nepomuk/strigibackend/sopranoindexwriter.cpp
===================================================================
--- nepomuk/strigibackend/sopranoindexwriter.cpp	(revisão 966970)
+++ nepomuk/strigibackend/sopranoindexwriter.cpp	(cópia de trabalho)
@@ -90,7 +90,9 @@
             if ( QFile::exists( archivePath ) ) {
                 if ( archivePath.endsWith( QLatin1String( ".tar" ) ) ||
                      archivePath.endsWith( QLatin1String( ".tar.gz" ) ) ||
-                     archivePath.endsWith( QLatin1String( ".tar.bz2" ) ) ) {
+                     archivePath.endsWith( QLatin1String( ".tar.bz2" ) ) ||
+                     archivePath.endsWith( QLatin1String( ".tar.lzma" ) ) ||
+                     archivePath.endsWith( QLatin1String( ".tar.xz" ) ) ) {
                     uri.setScheme( "tar" );
                 }
                 else if ( archivePath.endsWith( QLatin1String( ".zip" ) ) ) {
