diff --git a/src/qtgui/reslist.cpp b/src/qtgui/reslist.cpp index 34671cab..ca09ec72 100644 --- a/src/qtgui/reslist.cpp +++ b/src/qtgui/reslist.cpp @@ -143,7 +143,6 @@ public: virtual void suggest(const vectoruterms, map >& sugg); virtual string absSep() {return (const char *)(prefs.abssep.toUtf8());} - virtual string iconUrl(RclConfig *, Rcl::Doc& doc); #ifdef USING_WEBENGINE virtual string linkPrefix() override {return "http://localhost/";} #endif @@ -292,29 +291,6 @@ void QtGuiResListPager::suggest(const vectoruterms, } } -string QtGuiResListPager::iconUrl(RclConfig *config, Rcl::Doc& doc) -{ - if (doc.ipath.empty()) { - vector docs; - docs.push_back(doc); - vector paths; - Rcl::docsToPaths(docs, paths); - if (!paths.empty()) { - string path; - LOGDEB2("ResList::iconUrl: source path [" << paths[0] << "]\n"); - if (thumbPathForUrl(cstr_fileu + paths[0], 128, path)) { - LOGDEB2("ResList::iconUrl: icon path [" << path << "]\n"); - return cstr_fileu + path; - } else { - LOGDEB2("ResList::iconUrl: no icon: path [" << path << "]\n"); - } - } else { - LOGDEB("ResList::iconUrl: docsToPaths failed\n"); - } - } - return ResListPager::iconUrl(config, doc); -} - /////// /////// End reslistpager methods string PlainToRichQtReslist::startMatch(unsigned int idx) diff --git a/src/qtgui/restable.cpp b/src/qtgui/restable.cpp index 9efefbca..604b871b 100644 --- a/src/qtgui/restable.cpp +++ b/src/qtgui/restable.cpp @@ -83,7 +83,6 @@ public: virtual string trans(const string& in); virtual const string &parFormat(); virtual string absSep() {return (const char *)(prefs.abssep.toUtf8());} - virtual string iconUrl(RclConfig *, Rcl::Doc& doc); private: ResTable *m_parent; }; @@ -109,22 +108,6 @@ const string& ResTablePager::parFormat() return prefs.creslistformat; } -string ResTablePager::iconUrl(RclConfig *config, Rcl::Doc& doc) -{ - if (doc.ipath.empty()) { - vector docs; - docs.push_back(doc); - vector paths; - Rcl::docsToPaths(docs, paths); - if (!paths.empty()) { - string path; - if (thumbPathForUrl(cstr_fileu + paths[0], 128, path)) { - return cstr_fileu + path; - } - } - } - return ResListPager::iconUrl(config, doc); -} ///////////////////////////////////////////////////////////////////////////// /// Detail text area methods diff --git a/src/query/reslistpager.cpp b/src/query/reslistpager.cpp index 5a9b4b36..f8026ba6 100644 --- a/src/query/reslistpager.cpp +++ b/src/query/reslistpager.cpp @@ -478,9 +478,29 @@ string ResListPager::prevUrl() string ResListPager::iconUrl(RclConfig *config, Rcl::Doc& doc) { + // If this is a top level doc, check for a thumbnail image + if (doc.ipath.empty()) { + vector docs; + docs.push_back(doc); + vector paths; + Rcl::docsToPaths(docs, paths); + if (!paths.empty()) { + string path; + LOGDEB2("ResList::iconUrl: source path [" << paths[0] << "]\n"); + if (thumbPathForUrl(cstr_fileu + paths[0], 128, path)) { + LOGDEB2("ResList::iconUrl: icon path [" << path << "]\n"); + return cstr_fileu + path; + } else { + LOGDEB2("ResList::iconUrl: no icon: path [" << path << "]\n"); + } + } else { + LOGDEB("ResList::iconUrl: docsToPaths failed\n"); + } + } + + // No thumbnail, look for the MIME type icon. string apptag; doc.getmeta(Rcl::Doc::keyapptg, &apptag); - return path_pathtofileurl(config->getMimeIconPath(doc.mimetype, apptag)); }