From a2062036d325c45a7bc0e50ddb39fe5b238cde41 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind1991@gmail.com>
Date: Wed, 3 Aug 2011 00:30:21 +0200
Subject: [PATCH] selecting a text file from the search results now activates
 the text viewer

---
 apps/files_textviewer/js/textviewer.js | 12 ++++++++++++
 lib/search/provider/file.php           |  9 ++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/apps/files_textviewer/js/textviewer.js b/apps/files_textviewer/js/textviewer.js
index d650c44d5a..b1a564df9b 100644
--- a/apps/files_textviewer/js/textviewer.js
+++ b/apps/files_textviewer/js/textviewer.js
@@ -116,4 +116,16 @@ $(document).ready(function() {
 		});
 		FileActions.setDefault('application/xml','View');
 	}
+	OC.search.customResults.Text=function(row,item){
+		var text=item.link.substr(item.link.indexOf('file=')+5);
+		var a=row.find('a');
+		a.data('file',text);
+		a.attr('href','#');
+		a.click(function(){
+			var file=$(this).data('file');
+			var text=file.split('/').pop();
+			var dir=file.substr(0,file.length-file.length-1);
+			TextViewer.showText(dir,text);
+		});
+	}
 });
diff --git a/lib/search/provider/file.php b/lib/search/provider/file.php
index f3d235abdc..5fd35fa3e5 100644
--- a/lib/search/provider/file.php
+++ b/lib/search/provider/file.php
@@ -13,11 +13,18 @@ class OC_Search_Provider_File extends OC_Search_Provider{
 				switch($mimeBase){
 					case 'audio':
 						break;
+					case 'text':
+						$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Text');
+						break;
 					case 'image':
 						$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Images');
 						break;
 					default:
-						$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Files');
+						if($mime=='application/xml'){
+							$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Text');
+						}else{
+							$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Files');
+						}
 				}
 			}
 		}
-- 
GitLab