none
This commit is contained in:
+7
-3
@@ -72,7 +72,7 @@ void startManual(const string& helpindex)
|
||||
mainWindow->startManual(helpindex);
|
||||
}
|
||||
|
||||
bool maybeOpenDb(string &reason, bool force)
|
||||
bool maybeOpenDb(string &reason, bool force, bool *maindberror)
|
||||
{
|
||||
if (!rcldb) {
|
||||
reason = "Internal error: db not created";
|
||||
@@ -87,9 +87,13 @@ bool maybeOpenDb(string &reason, bool force)
|
||||
LOGDEB(("main: adding [%s]\n", it->c_str()));
|
||||
rcldb->addQueryDb(*it);
|
||||
}
|
||||
if (!rcldb->isopen() && !rcldb->open(Rcl::Db::DbRO)) {
|
||||
Rcl::Db::OpenError error;
|
||||
if (!rcldb->isopen() && !rcldb->open(Rcl::Db::DbRO, &error)) {
|
||||
reason = "Could not open database in " +
|
||||
theconfig->getDbDir() + " wait for indexing to complete?";
|
||||
if (maindberror) {
|
||||
*maindberror = (error == Rcl::Db::DbOpenMainDb) ? true : false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
rcldb->setAbstractParams(-1, prefs.syntAbsLen, prefs.syntAbsCtx);
|
||||
@@ -114,7 +118,7 @@ static void recollCleanup()
|
||||
LOGDEB2(("recollCleanup: closing database\n"));
|
||||
deleteZ(rcldb);
|
||||
deleteZ(theconfig);
|
||||
deleteZ(thestableconfig);
|
||||
// deleteZ(thestableconfig);
|
||||
#ifdef RCL_USE_ASPELL
|
||||
deleteZ(aspell);
|
||||
#endif
|
||||
|
||||
+22
-16
@@ -345,25 +345,31 @@ void RclMain::initDbOpen()
|
||||
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)) {
|
||||
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 0: // Ok: indexing is going to start.
|
||||
start_indexing(true);
|
||||
break;
|
||||
|
||||
case 1: // Cancel
|
||||
needindexconfig = 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."));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -26,7 +26,8 @@
|
||||
// Misc declarations in need of sharing between the UI files
|
||||
|
||||
// Open the database if needed. We now force a close/open by default
|
||||
extern bool maybeOpenDb(std::string &reason, bool force = true);
|
||||
extern bool maybeOpenDb(std::string &reason, bool force = true,
|
||||
bool *maindberror = 0);
|
||||
|
||||
/** Retrieve configured stemming languages */
|
||||
bool getStemLangs(list<string>& langs);
|
||||
|
||||
Reference in New Issue
Block a user