Switch to side-by-side view

--- a/src/qtgui/preview_w.cpp
+++ b/src/qtgui/preview_w.cpp
@@ -1,5 +1,5 @@
 #ifndef lint
-static char rcsid[] = "@(#$Id: preview_w.cpp,v 1.15 2007-02-06 18:01:58 dockes Exp $ (C) 2005 J.F.Dockes";
+static char rcsid[] = "@(#$Id: preview_w.cpp,v 1.16 2007-02-08 17:05:12 dockes Exp $ (C) 2005 J.F.Dockes";
 #endif
 /*
  *   This program is free software; you can redistribute it and/or modify
@@ -443,7 +443,7 @@
     string tmpdir;
     int loglevel;
  public: 
-    string reason;
+    string missing;
     LoadThread(int *stp, Rcl::Doc *odoc, string fn, string ip, string *mt) 
 	: statusp(stp), out(odoc), filename(fn), ipath(ip), mtype(mt) 
 	{
@@ -457,6 +457,7 @@
     }
     virtual void run() {
 	DebugLog::getdbl()->setloglevel(loglevel);
+	string reason;
 	if (!maketmpdir(tmpdir, reason)) {
 	    QMessageBox::critical(0, "Recoll",
 				  Preview::tr("Cannot create temporary directory"));
@@ -486,7 +487,7 @@
 		*statusp = 0;
 	    } else {
 		out->mimetype = interner.getMimetype();
-		reason = interner.getReason();
+		interner.getMissingExternal(missing);
 		*statusp = -1;
 	    }
 	} catch (CancelExcept) {
@@ -588,19 +589,10 @@
 	return false;
     if (status != 0) {
 	QString explain;
-	if (lthr.reason.find("RECFILTERROR") == 0) {
-	    list<string> lerr;
-	    stringToStrings(lthr.reason, lerr);
-	    if (lerr.size() > 2) {
-		list<string>::iterator it = lerr.begin();
-		it++;
-		if (*it == "HELPERNOTFOUND") {
-		    it++;
-		    explain = QString::fromAscii("<br>") +
-			tr("Missing helper program: ") + 
-			QString::fromLocal8Bit(it->c_str());
-		}
-	    }		    
+	if (!lthr.missing.empty()) {
+	    explain = QString::fromAscii("<br>") +
+		tr("Missing helper program: ") + 
+		QString::fromLocal8Bit(lthr.missing.c_str());
 	}
 	QMessageBox::warning(0, "Recoll",
 			     tr("Can't turn doc into internal "