From 32c00864194a0e62c29ebbb597c144698cca8a77 Mon Sep 17 00:00:00 2001 From: dockes Date: Thu, 12 Jul 2007 08:23:40 +0000 Subject: [PATCH] icon now part of paragraph format --- src/qtgui/guiutils.cpp | 7 ++----- src/qtgui/guiutils.h | 15 ++++++++++----- src/qtgui/reslist.cpp | 26 ++++++++++---------------- src/qtgui/uiprefs.ui | 13 +------------ src/qtgui/uiprefs_w.cpp | 9 +++++---- 5 files changed, 28 insertions(+), 42 deletions(-) diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index 05420ee8..0d4cd0bd 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -1,5 +1,5 @@ #ifndef lint -static char rcsid[] = "@(#$Id: guiutils.cpp,v 1.32 2007-05-24 07:48:19 dockes Exp $ (C) 2005 Jean-Francois Dockes"; +static char rcsid[] = "@(#$Id: guiutils.cpp,v 1.33 2007-07-12 08:23:40 dockes Exp $ (C) 2005 Jean-Francois Dockes"; #endif /* * This program is free software; you can redistribute it and/or modify @@ -180,7 +180,6 @@ void rwSettings(bool writing) } } - SETTING_RW(prefs.showicons, "/Recoll/prefs/reslist/showicons", Bool, true); SETTING_RW(prefs.autoSearchOnWS, "/Recoll/prefs/reslist/autoSearchOnWS", Bool, false); SETTING_RW(prefs.ssearchAutoPhrase, @@ -191,9 +190,7 @@ void rwSettings(bool writing) SETTING_RW(prefs.reslistfontsize, "/Recoll/prefs/reslist/fontSize", Num, 10); QString rlfDflt = - QString::fromAscii("%R %S %L   %T
" - "%M %D   %U
" - "%A %K"); + QString::fromAscii(prefs.getDfltResListFormat()); SETTING_RW(prefs.reslistformat, "/Recoll/prefs/reslist/format", , rlfDflt); if (prefs.reslistformat.stripWhiteSpace().isEmpty()) prefs.reslistformat = rlfDflt; diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h index 60bdb684..3f615d1d 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -17,7 +17,7 @@ #ifndef _GUIUTILS_H_INCLUDED_ #define _GUIUTILS_H_INCLUDED_ /* - * @(#$Id: guiutils.h,v 1.21 2007-05-24 07:48:19 dockes Exp $ (C) 2005 Jean-Francois Dockes + * @(#$Id: guiutils.h,v 1.22 2007-07-12 08:23:40 dockes Exp $ (C) 2005 Jean-Francois Dockes * jean-francois.dockes@wanadoo.fr * * This program is free software; you can redistribute it and/or modify @@ -61,7 +61,6 @@ extern bool printableUrl(const string &in, string &out); /** Holder for preferences (gets saved to user Qt prefs) */ class PrefsPack { public: - bool showicons; bool autoSearchOnWS; int respagesize; QString reslistfontfamily; @@ -112,17 +111,23 @@ class PrefsPack { vector advSearchClauses; PrefsPack() : - showicons(true), respagesize(8), reslistfontsize(10), ssearchTyp(0), queryBuildAbstract(true), queryReplaceAbstract(false), startWithAdvSearchOpen(false), - startWithSortToolOpen(false), - termMatchType(0) + startWithSortToolOpen(false), + termMatchType(0) { } + static const char *getDfltResListFormat() { + return "" + "%R %S %L   %T
" + "%M %D   %U
" + "%A %K"; + } + }; /** Global preferences record */ diff --git a/src/qtgui/reslist.cpp b/src/qtgui/reslist.cpp index afaa2e55..77d4db6e 100644 --- a/src/qtgui/reslist.cpp +++ b/src/qtgui/reslist.cpp @@ -1,5 +1,5 @@ #ifndef lint -static char rcsid[] = "@(#$Id: reslist.cpp,v 1.30 2007-07-11 10:05:27 dockes Exp $ (C) 2005 J.F.Dockes"; +static char rcsid[] = "@(#$Id: reslist.cpp,v 1.31 2007-07-12 08:23:40 dockes Exp $ (C) 2005 J.F.Dockes"; #endif #include @@ -408,17 +408,14 @@ void ResList::resultPageNext() // Determine icon to display if any string img_name; - if (prefs.showicons) { - string iconpath; - string iconname = rclconfig->getMimeIconName(doc.mimetype, - &iconpath); - LOGDEB1(("Img file; %s\n", iconpath.c_str())); - QImage image(iconpath.c_str()); - if (!image.isNull()) { - img_name = string("img_") + iconname; - QMimeSourceFactory::defaultFactory()-> - setImage(img_name.c_str(), image); - } + string iconpath; + string iconname = rclconfig->getMimeIconName(doc.mimetype, &iconpath); + LOGDEB1(("Img file; %s\n", iconpath.c_str())); + QImage image(iconpath.c_str()); + if (!image.isNull()) { + img_name = string("img_") + iconname; + QMimeSourceFactory::defaultFactory()-> + setImage(img_name.c_str(), image); } // Percentage of 'relevance' @@ -501,14 +498,11 @@ void ResList::resultPageNext() else result += "

"; - if (!img_name.empty()) { - result += ""; - } - // Configurable stuff map subs; subs['A'] = !richabst.empty() ? richabst + "
" : ""; subs['D'] = datebuf; + subs['I'] = img_name; subs['K'] = !doc.meta["keywords"].empty() ? escapeHtml(doc.meta["keywords"]) + "
" : ""; subs['L'] = linksbuf; diff --git a/src/qtgui/uiprefs.ui b/src/qtgui/uiprefs.ui index 13389b28..5bac842b 100644 --- a/src/qtgui/uiprefs.ui +++ b/src/qtgui/uiprefs.ui @@ -154,7 +154,7 @@ Result paragraph<br>format string - Defines the format for each result list paragraph. Use qt html format and printf-like replacements:<br>%A Abstract<br> %D Date<br> %K Keywords (if any)<br> %L Preview and Edit links<br> %M Mime type<br> %N Result number<br> %R Relevance percentage<br> %S Size information<br> %T Title<br> %U Url<br> + Defines the format for each result list paragraph. Use qt html format and printf-like replacements:<br>%A Abstract<br> %D Date<br> %I Icon image name%lt;br> %K Keywords (if any)<br> %L Preview and Edit links<br> %M Mime type<br> %N Result number<br> %R Relevance percentage<br> %S Size information<br> %T Title<br> %U Url<br> @@ -264,17 +264,6 @@ - - - useIconsCB - - - Show document type icons in result list. - - - true - - autoSearchCB diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp index de8d5dd9..e1b80af4 100644 --- a/src/qtgui/uiprefs_w.cpp +++ b/src/qtgui/uiprefs_w.cpp @@ -1,5 +1,5 @@ #ifndef lint -static char rcsid[] = "@(#$Id: uiprefs_w.cpp,v 1.17 2007-05-24 07:48:19 dockes Exp $ (C) 2005 J.F.Dockes"; +static char rcsid[] = "@(#$Id: uiprefs_w.cpp,v 1.18 2007-07-12 08:23:40 dockes Exp $ (C) 2005 J.F.Dockes"; #endif /* * This program is free software; you can redistribute it and/or modify @@ -96,8 +96,6 @@ void UIPrefsDialog::setFromPrefs() { // Entries per result page spinbox pageLenSB->setValue(prefs.respagesize); - // Show icons checkbox - useIconsCB->setChecked(prefs.showicons); autoSearchCB->setChecked(prefs.autoSearchOnWS); syntlenSB->setValue(prefs.syntAbsLen); syntctxSB->setValue(prefs.syntAbsCtx); @@ -171,13 +169,16 @@ void UIPrefsDialog::setFromPrefs() void UIPrefsDialog::accept() { - prefs.showicons = useIconsCB->isChecked(); prefs.autoSearchOnWS = autoSearchCB->isChecked(); prefs.respagesize = pageLenSB->value(); prefs.reslistfontfamily = reslistFontFamily; prefs.reslistfontsize = reslistFontSize; prefs.reslistformat = rlfTE->text(); + if (prefs.reslistformat.stripWhiteSpace().isEmpty()) { + prefs.reslistformat = prefs.getDfltResListFormat(); + rlfTE->setText(prefs.reslistformat); + } prefs.htmlBrowser = helpBrowserLE->text();