From 07813ab6ba2dc92917793d6d1bc8e5ccd6c97cce Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Sat, 10 Mar 2012 14:45:40 +0100 Subject: [PATCH] Dont store filename in empty title at index time, to keep choice at display time. Define %t as title in addition to %T as title or filename --- src/query/reslistpager.cpp | 14 +++++++++++--- src/rcldb/rcldb.cpp | 2 -- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/query/reslistpager.cpp b/src/query/reslistpager.cpp index 01f1d3d2..01c04c5e 100644 --- a/src/query/reslistpager.cpp +++ b/src/query/reslistpager.cpp @@ -145,8 +145,15 @@ void ResListPager::displayDoc(RclConfig *config, printableUrl(config->getDefCharset(), doc.url, url); // Make title out of file name if none yet - if (doc.meta[Rcl::Doc::keytt].empty()) { - doc.meta[Rcl::Doc::keytt] = path_getsimple(url); + string titleOrFilename; + string utf8fn; + doc.getmeta(Rcl::Doc::keytt, &titleOrFilename); + doc.getmeta(Rcl::Doc::keyfn, &utf8fn); + if (utf8fn.empty()) { + utf8fn = path_getsimple(url); + } + if (titleOrFilename.empty()) { + titleOrFilename = utf8fn; } // Result number @@ -234,7 +241,8 @@ void ResListPager::displayDoc(RclConfig *config, subs["M"] = doc.mimetype; subs["R"] = doc.meta[Rcl::Doc::keyrr]; subs["S"] = sizebuf; - subs["T"] = escapeHtml(doc.meta[Rcl::Doc::keytt]); + subs["T"] = escapeHtml(titleOrFilename); + subs["t"] = escapeHtml(doc.meta[Rcl::Doc::keytt]); subs["U"] = url; // Let %(xx) access all metadata. diff --git a/src/rcldb/rcldb.cpp b/src/rcldb/rcldb.cpp index a4351395..69121b34 100644 --- a/src/rcldb/rcldb.cpp +++ b/src/rcldb/rcldb.cpp @@ -1278,8 +1278,6 @@ bool Db::addOrUpdate(const string &udi, const string &parent_udi, if (!doc.ipath.empty()) RECORD_APPEND(record, Doc::keyipt, doc.ipath); - if (doc.meta[Doc::keytt].empty()) - doc.meta[Doc::keytt] = doc.utf8fn; doc.meta[Doc::keytt] = neutchars(truncate_to_word(doc.meta[Doc::keytt], 150), cstr_nc); if (!doc.meta[Doc::keytt].empty())