icon now part of paragraph format

This commit is contained in:
dockes 2007-07-12 08:23:40 +00:00
parent b7396b0a8a
commit 32c0086419
5 changed files with 28 additions and 42 deletions

View File

@ -1,5 +1,5 @@
#ifndef lint #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 #endif
/* /*
* This program is free software; you can redistribute it and/or modify * 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", SETTING_RW(prefs.autoSearchOnWS, "/Recoll/prefs/reslist/autoSearchOnWS",
Bool, false); Bool, false);
SETTING_RW(prefs.ssearchAutoPhrase, SETTING_RW(prefs.ssearchAutoPhrase,
@ -191,9 +190,7 @@ void rwSettings(bool writing)
SETTING_RW(prefs.reslistfontsize, "/Recoll/prefs/reslist/fontSize", Num, SETTING_RW(prefs.reslistfontsize, "/Recoll/prefs/reslist/fontSize", Num,
10); 10);
QString rlfDflt = QString rlfDflt =
QString::fromAscii("%R %S %L &nbsp;&nbsp;<b>%T</b><br>" QString::fromAscii(prefs.getDfltResListFormat());
"%M&nbsp;%D&nbsp;&nbsp;&nbsp;<i>%U</i><br>"
"%A %K");
SETTING_RW(prefs.reslistformat, "/Recoll/prefs/reslist/format", , rlfDflt); SETTING_RW(prefs.reslistformat, "/Recoll/prefs/reslist/format", , rlfDflt);
if (prefs.reslistformat.stripWhiteSpace().isEmpty()) if (prefs.reslistformat.stripWhiteSpace().isEmpty())
prefs.reslistformat = rlfDflt; prefs.reslistformat = rlfDflt;

View File

@ -17,7 +17,7 @@
#ifndef _GUIUTILS_H_INCLUDED_ #ifndef _GUIUTILS_H_INCLUDED_
#define _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 * jean-francois.dockes@wanadoo.fr
* *
* This program is free software; you can redistribute it and/or modify * 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) */ /** Holder for preferences (gets saved to user Qt prefs) */
class PrefsPack { class PrefsPack {
public: public:
bool showicons;
bool autoSearchOnWS; bool autoSearchOnWS;
int respagesize; int respagesize;
QString reslistfontfamily; QString reslistfontfamily;
@ -112,17 +111,23 @@ class PrefsPack {
vector<int> advSearchClauses; vector<int> advSearchClauses;
PrefsPack() : PrefsPack() :
showicons(true),
respagesize(8), respagesize(8),
reslistfontsize(10), reslistfontsize(10),
ssearchTyp(0), ssearchTyp(0),
queryBuildAbstract(true), queryBuildAbstract(true),
queryReplaceAbstract(false), queryReplaceAbstract(false),
startWithAdvSearchOpen(false), startWithAdvSearchOpen(false),
startWithSortToolOpen(false), startWithSortToolOpen(false),
termMatchType(0) termMatchType(0)
{ {
} }
static const char *getDfltResListFormat() {
return "<img src=\"%I\" align=\"left\">"
"%R %S %L &nbsp;&nbsp;<b>%T</b><br>"
"%M&nbsp;%D&nbsp;&nbsp;&nbsp;<i>%U</i><br>"
"%A %K";
}
}; };
/** Global preferences record */ /** Global preferences record */

View File

@ -1,5 +1,5 @@
#ifndef lint #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 #endif
#include <time.h> #include <time.h>
@ -408,17 +408,14 @@ void ResList::resultPageNext()
// Determine icon to display if any // Determine icon to display if any
string img_name; string img_name;
if (prefs.showicons) { string iconpath;
string iconpath; string iconname = rclconfig->getMimeIconName(doc.mimetype, &iconpath);
string iconname = rclconfig->getMimeIconName(doc.mimetype, LOGDEB1(("Img file; %s\n", iconpath.c_str()));
&iconpath); QImage image(iconpath.c_str());
LOGDEB1(("Img file; %s\n", iconpath.c_str())); if (!image.isNull()) {
QImage image(iconpath.c_str()); img_name = string("img_") + iconname;
if (!image.isNull()) { QMimeSourceFactory::defaultFactory()->
img_name = string("img_") + iconname; setImage(img_name.c_str(), image);
QMimeSourceFactory::defaultFactory()->
setImage(img_name.c_str(), image);
}
} }
// Percentage of 'relevance' // Percentage of 'relevance'
@ -501,14 +498,11 @@ void ResList::resultPageNext()
else else
result += "<p>"; result += "<p>";
if (!img_name.empty()) {
result += "<img source=\"" + img_name + "\" align=\"left\">";
}
// Configurable stuff // Configurable stuff
map<char,string> subs; map<char,string> subs;
subs['A'] = !richabst.empty() ? richabst + "<br>" : ""; subs['A'] = !richabst.empty() ? richabst + "<br>" : "";
subs['D'] = datebuf; subs['D'] = datebuf;
subs['I'] = img_name;
subs['K'] = !doc.meta["keywords"].empty() ? subs['K'] = !doc.meta["keywords"].empty() ?
escapeHtml(doc.meta["keywords"]) + "<br>" : ""; escapeHtml(doc.meta["keywords"]) + "<br>" : "";
subs['L'] = linksbuf; subs['L'] = linksbuf;

View File

@ -154,7 +154,7 @@
<string>Result paragraph&lt;br&gt;format string</string> <string>Result paragraph&lt;br&gt;format string</string>
</property> </property>
<property name="toolTip" stdset="0"> <property name="toolTip" stdset="0">
<string>Defines the format for each result list paragraph. Use qt html format and printf-like replacements:&lt;br&gt;%A Abstract&lt;br&gt; %D Date&lt;br&gt; %K Keywords (if any)&lt;br&gt; %L Preview and Edit links&lt;br&gt; %M Mime type&lt;br&gt; %N Result number&lt;br&gt; %R Relevance percentage&lt;br&gt; %S Size information&lt;br&gt; %T Title&lt;br&gt; %U Url&lt;br&gt;</string> <string>Defines the format for each result list paragraph. Use qt html format and printf-like replacements:&lt;br&gt;%A Abstract&lt;br&gt; %D Date&lt;br&gt; %I Icon image name%lt;br&gt; %K Keywords (if any)&lt;br&gt; %L Preview and Edit links&lt;br&gt; %M Mime type&lt;br&gt; %N Result number&lt;br&gt; %R Relevance percentage&lt;br&gt; %S Size information&lt;br&gt; %T Title&lt;br&gt; %U Url&lt;br&gt;</string>
</property> </property>
</widget> </widget>
<widget class="QTextEdit"> <widget class="QTextEdit">
@ -264,17 +264,6 @@
</widget> </widget>
</hbox> </hbox>
</widget> </widget>
<widget class="QCheckBox">
<property name="name">
<cstring>useIconsCB</cstring>
</property>
<property name="text">
<string>Show document type icons in result list.</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QCheckBox"> <widget class="QCheckBox">
<property name="name"> <property name="name">
<cstring>autoSearchCB</cstring> <cstring>autoSearchCB</cstring>

View File

@ -1,5 +1,5 @@
#ifndef lint #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 #endif
/* /*
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -96,8 +96,6 @@ void UIPrefsDialog::setFromPrefs()
{ {
// Entries per result page spinbox // Entries per result page spinbox
pageLenSB->setValue(prefs.respagesize); pageLenSB->setValue(prefs.respagesize);
// Show icons checkbox
useIconsCB->setChecked(prefs.showicons);
autoSearchCB->setChecked(prefs.autoSearchOnWS); autoSearchCB->setChecked(prefs.autoSearchOnWS);
syntlenSB->setValue(prefs.syntAbsLen); syntlenSB->setValue(prefs.syntAbsLen);
syntctxSB->setValue(prefs.syntAbsCtx); syntctxSB->setValue(prefs.syntAbsCtx);
@ -171,13 +169,16 @@ void UIPrefsDialog::setFromPrefs()
void UIPrefsDialog::accept() void UIPrefsDialog::accept()
{ {
prefs.showicons = useIconsCB->isChecked();
prefs.autoSearchOnWS = autoSearchCB->isChecked(); prefs.autoSearchOnWS = autoSearchCB->isChecked();
prefs.respagesize = pageLenSB->value(); prefs.respagesize = pageLenSB->value();
prefs.reslistfontfamily = reslistFontFamily; prefs.reslistfontfamily = reslistFontFamily;
prefs.reslistfontsize = reslistFontSize; prefs.reslistfontsize = reslistFontSize;
prefs.reslistformat = rlfTE->text(); prefs.reslistformat = rlfTE->text();
if (prefs.reslistformat.stripWhiteSpace().isEmpty()) {
prefs.reslistformat = prefs.getDfltResListFormat();
rlfTE->setText(prefs.reslistformat);
}
prefs.htmlBrowser = helpBrowserLE->text(); prefs.htmlBrowser = helpBrowserLE->text();