From f0d193e53d44696ac909446b0206b6d29f3e40b9 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Thu, 23 Feb 2017 11:50:54 +0100 Subject: [PATCH] Reopen db before showing indexed MIME types, explain empty list --- src/qtgui/rclm_wins.cpp | 17 ++++++++++++----- src/qtgui/recoll.h | 4 ++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/qtgui/rclm_wins.cpp b/src/qtgui/rclm_wins.cpp index 54ae49e2..9594a72c 100644 --- a/src/qtgui/rclm_wins.cpp +++ b/src/qtgui/rclm_wins.cpp @@ -346,9 +346,11 @@ void RclMain::showMissingHelpers() void RclMain::showActiveTypes() { - if (rcldb == 0) { + string reason; + bool maindberror; + if (!maybeOpenDb(reason, true, &maindberror)) { QMessageBox::warning(0, tr("Error"), - tr("Index not open"), + u8s2qs(reason), QMessageBox::Ok, QMessageBox::NoButton); return; @@ -407,9 +409,14 @@ void RclMain::showActiveTypes() editor->setReadOnly(true); dialog.horizontalLayout->addWidget(editor); - for (set::const_iterator it = mtypesfromdbconf.begin(); - it != mtypesfromdbconf.end(); it++) { - editor->append(QString::fromUtf8(it->c_str())); + if (mtypesfromdbconf.empty()) { + editor->append(tr("Types list empty: maybe wait for indexing to " + "progress?")); + } else { + for (set::const_iterator it = mtypesfromdbconf.begin(); + it != mtypesfromdbconf.end(); it++) { + editor->append(QString::fromUtf8(it->c_str())); + } } editor->moveCursor(QTextCursor::Start); editor->ensureCursorVisible(); diff --git a/src/qtgui/recoll.h b/src/qtgui/recoll.h index e78a0025..7ee0dfe9 100644 --- a/src/qtgui/recoll.h +++ b/src/qtgui/recoll.h @@ -55,6 +55,10 @@ inline std::string qs2utf8s(const QString& qs) { return std::string((const char *)qs.toUtf8()); } +inline QString u8s2qs(const std::string us) +{ + return QString::fromUtf8(us.c_str()); +} /** Specialized version of the qt file dialog. Can't use getOpenFile() etc. cause they hide dot files... */