Switch to side-by-side view

--- a/src/qtgui/rclmain_w.cpp
+++ b/src/qtgui/rclmain_w.cpp
@@ -345,25 +345,31 @@
     bool needindexconfig = false;
     bool nodb = false;
     string reason;
-    if (!maybeOpenDb(reason)) {
+    bool maindberror;
+    if (!maybeOpenDb(reason, true, &maindberror)) {
         nodb = true;
-	switch (QMessageBox::
-		question
-		(this, "Recoll",
-		 qApp->translate("Main", "Could not open database in ") +
-		 QString::fromLocal8Bit(theconfig->getDbDir().c_str()) +
-		 qApp->translate("Main", 
-			       ".\n"
-			       "Click Cancel if you want to edit the configuration file before indexing starts, or Ok to let it proceed."),
-		 "Ok", "Cancel", 0,   0)) {
-
-	case 0: // Ok: indexing is going to start.
-	    start_indexing(true);
-	    break;
-
-	case 1: // Cancel
-	    needindexconfig = true;
-	    break;
+	if (maindberror) {
+	    switch (QMessageBox::
+		    question
+		    (this, "Recoll",
+		     qApp->translate("Main", "Could not open database in ") +
+		     QString::fromLocal8Bit(theconfig->getDbDir().c_str()) +
+		     qApp->translate("Main", 
+				     ".\n"
+				     "Click Cancel if you want to edit the configuration file before indexing starts, or Ok to let it proceed."),
+		     "Ok", "Cancel", 0,   0)) {
+
+	    case 0: // Ok: indexing is going to start.
+		start_indexing(true);
+		break;
+
+	    case 1: // Cancel
+		needindexconfig = true;
+		break;
+	    }
+	} else {
+	    QMessageBox::warning(0, "Recoll", 
+				 tr("Could not open external index. Db not open. Check external indexes list."));
 	}
     }