This commit is contained in:
Jean-Francois Dockes 2013-05-14 10:21:58 +02:00
commit f2aa650d89
10 changed files with 76 additions and 36 deletions

View File

@ -126,3 +126,4 @@ e44205c256063d6388682c1dfc62b4db6184db0d help
0000000000000000000000000000000000000000 RECOLL_1_19_0
0000000000000000000000000000000000000000 RECOLL_1_19_0
3207b030989d19bdec25fdd2b500c3bbec3ebe97 RECOLL_1_19_0
599179076d53eb87604c97e0adf391e304bcf377 RECOLL_1_19_1

View File

@ -1 +1 @@
1.19.0
1.19.1

View File

@ -46,15 +46,21 @@ IF(PTHREAD_IN_LIBPTHREAD)
LIST(APPEND EXTRA_LIBS pthread)
ENDIF(PTHREAD_IN_LIBPTHREAD)
# Had the idea to add e.g. /usr/lib/recoll to the rpath so that the dyn lib
# will be found at run time. But this does not seem to work with debian
# which strips RPATH by default (I think there is a way for libs in app-specific
# paths but I did not find it. Link with the .a instead.
#SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib/recoll")
kde4_add_plugin(kio_recoll ${kio_recoll_SRCS})
add_custom_target(rcllib
COMMAND make
COMMAND make librecoll.a
WORKING_DIRECTORY ${rcltop}/lib
)
add_dependencies(kio_recoll rcllib)
target_link_libraries(kio_recoll recoll ${EXTRA_LIBS} ${KDE4_KIO_LIBS})
target_link_libraries(kio_recoll recoll xapian z ${EXTRA_LIBS} ${KDE4_KIO_LIBS})
install(TARGETS kio_recoll DESTINATION ${PLUGIN_INSTALL_DIR})

View File

@ -315,6 +315,12 @@ public:
m_haveWildCards =
(txt.find_first_of(cstr_minwilds) != std::string::npos);
}
SearchDataClauseSimple(const std::string& txt, SClType tp)
: SearchDataClause(tp), m_text(txt), m_curcl(0)
{
m_haveWildCards =
(txt.find_first_of(cstr_minwilds) != std::string::npos);
}
virtual ~SearchDataClauseSimple()
{
@ -365,10 +371,10 @@ protected:
* field, especially for file names, because this makes searches for
* "*xx" much faster (no need to scan the whole main index).
*/
class SearchDataClauseFilename : public SearchDataClause {
class SearchDataClauseFilename : public SearchDataClauseSimple {
public:
SearchDataClauseFilename(const std::string& txt)
: SearchDataClause(SCLT_FILENAME), m_text(txt)
: SearchDataClauseSimple(txt, SCLT_FILENAME)
{
// File name searches don't count when looking for wild cards.
m_haveWildCards = false;
@ -383,9 +389,6 @@ public:
}
virtual bool toNativeQuery(Rcl::Db &, void *);
protected:
std::string m_text;
};

View File

@ -56,18 +56,20 @@ string SearchData::asXML()
// Clause list
os << "<CL>" << endl;
// List conjunction: default is AND, else print it.
if (m_tp != SCLT_AND)
os << "<CLT>" << tpToString(m_tp) << "</CLT>" << endl;
for (unsigned int i = 0; i < m_query.size(); i++) {
SearchDataClause *c = m_query[i];
if (c->getTp() == SCLT_SUB) {
LOGERR(("SearchData::asXML: can't do subclauses !\n"));
continue;
}
if (c->getexclude())
os << "<NEG/>" << endl;
if (c->getTp() == SCLT_PATH) {
// Keep these apart, for compat with the older history format
// Keep these apart, for compat with the older history format. NEG
// is ignored here, we have 2 different tags instead.
SearchDataClausePath *cl =
dynamic_cast<SearchDataClausePath*>(c);
if (cl->getexclude()) {
@ -76,24 +78,36 @@ string SearchData::asXML()
os << "<YD>" << base64_encode(cl->gettext()) << "</YD>" << endl;
}
continue;
}
} else {
SearchDataClauseSimple *cl =
dynamic_cast<SearchDataClauseSimple*>(c);
os << "<C>" << endl;
if (cl->getTp() != SCLT_AND) {
os << "<CT>" << tpToString(cl->getTp()) << "</CT>" << endl;
os << "<C>" << endl;
if (c->getexclude())
os << "<NEG/>" << endl;
if (c->getTp() != SCLT_AND) {
os << "<CT>" << tpToString(c->getTp()) << "</CT>" << endl;
}
if (c->getTp() == SCLT_FILENAME) {
SearchDataClauseFilename *cl =
dynamic_cast<SearchDataClauseFilename*>(c);
os << "<T>" << base64_encode(cl->gettext()) << "</T>" << endl;
} else {
SearchDataClauseSimple *cl =
dynamic_cast<SearchDataClauseSimple*>(c);
if (!cl->getfield().empty()) {
os << "<F>" << base64_encode(cl->getfield()) << "</F>" <<
endl;
}
os << "<T>" << base64_encode(cl->gettext()) << "</T>" << endl;
if (cl->getTp() == SCLT_NEAR || cl->getTp() == SCLT_PHRASE) {
SearchDataClauseDist *cld =
dynamic_cast<SearchDataClauseDist*>(cl);
os << "<S>" << cld->getslack() << "</S>" << endl;
}
}
os << "</C>" << endl;
}
if (cl->getTp() != SCLT_FILENAME && !cl->getfield().empty()) {
os << "<F>" << base64_encode(cl->getfield()) << "</F>" << endl;
}
os << "<T>" << base64_encode(cl->gettext()) << "</T>" << endl;
if (cl->getTp() == SCLT_NEAR || cl->getTp() == SCLT_PHRASE) {
SearchDataClauseDist *cld =
dynamic_cast<SearchDataClauseDist*>(cl);
os << "<S>" << cld->getslack() << "</S>" << endl;
}
os << "</C>" << endl;
}
os << "</CL>" << endl;

View File

@ -29,7 +29,7 @@
later versions. Bugs listed in the topmost section may also exist in older
versions.</i></p>
<h2><a name="b_latest">recoll 1.19.0</a></h2>
<h2><a name="b_latest">recoll 1.19.1</a></h2>
<ul>
<li>On systems such as Debian Stable which use Evince version 2.x (not 3.x)
as PDF viewer, the default "Open" command for PDF files will not work. You
@ -51,6 +51,12 @@ versions.</i></p>
~/.config/Recoll.org/recoll.conf, the QSettings storage for recoll.</li>
</ul>
<h2><a name="b_1_19_0">recoll 1.19.0</a></h2>
<ul>
<li>Using a "file name" clause inside advanced search crashes the
GUI because of a bug in the search history feature.</li>
</ul>
<h2><a name="b_1_18_2">recoll 1.18.2</a></h2>
<ul>
<li>When no indexing helper applications are actually missing, an ennoying

View File

@ -45,7 +45,7 @@
<h2><a>General information</a></h2>
<p>The current version is 1.19.0. <a href="release-1.19.html">Release
<p>The current version is 1.19.1. <a href="release-1.19.html">Release
notes</a>.</p>
<p>The download page for Recoll 1.18 is <a href="download-1.18.html">still
@ -87,12 +87,12 @@ is probably no necessity to upgrade anyway.</p>
<h2><a name="source">Source</a></h2>
<h3>Current release distribution: 1.19.0:</h3>
<h3>Current release distribution: 1.19.1:</h3>
<!-- Attention: source packages must remain here, not in a
subdirectory, because of all the places they're referred from
(package watches) -->
<p><a href="recoll-1.19.0.tar.gz">recoll-1.19.0.tar.gz</a>. </p>
<p><a href="recoll-1.19.1.tar.gz">recoll-1.19.1.tar.gz</a>. </p>
<!--
<h3>Snapshot</h3>
<p>I sometimes release a source tarfile when I consider that the

View File

@ -52,7 +52,7 @@
<li><a href="features.html">Detailed features</a>.
</ul>
<p>The current <span class="application">Recoll</span> version is
<a href="download.html">1.19.0</a>
<a href="download.html">1.19.1</a>
(<a href="release-1.19.html">Release notes</a>,
<a href="BUGS.html">known bugs</a>).</p>
@ -87,7 +87,7 @@
<div class="news">
<dl>
<dt>2013-05-12</dt><dd>Recoll 1.19.0 is out. See the
<dt>2013-05-12</dt><dd>Recoll 1.19.1 is out. See the
<a href="release-1.19.html">release notes</a> for a description
of the changes.</dd>
</dd>

View File

@ -48,7 +48,7 @@
<p><span class="application">Recoll</span> est un logiciel libre
gratuit, dont le code source est disponible sous licence GPL.
La dernière version est
<a class="important" href="download.html">1.19.0</a>
<a class="important" href="download.html">1.19.1</a>
(<a href="release-1.19.html">notes sur la version, en
anglais</a>)</p>
@ -102,7 +102,7 @@
<h2>Nouvelles: </h2>
<dl>
<dt>2013-05-12</dt><dd>La version 1.19.0 est disponible.</dd>
<dt>2013-05-12</dt><dd>La version 1.19.1 est disponible.</dd>
<dt>2012-11-05</dt><dd>Recoll 1.18.1 est disponible. Cette
version peut faire des recherches sensibles aux majuscules et

View File

@ -61,6 +61,13 @@ previous behaviour (losing the page number functionality), you need to prune
the list after installation . This can be done from the <em>Preferences-&gt;Gui
Configuration</em> menu.</p>
<h2>Minor releases at a glance</h2>
<ul>
<li>1.19.1 was released 2 hours after 1.19.0 (book of records anyone?)
because of a bug in the advanced search history feature which crashed
the GUI as soon as a <i>filename</i> search was performed.</li>
</ul>
<h2>Changes in Recoll 1.19.0</h2>
<ul>
<li>Indexing can use multiple threads. This can be a major performance boost
@ -79,7 +86,10 @@ Configuration</em> menu.</p>
<li>It is now possible to use OR with "dir:" clauses, and wildcards have been
enabled.</li>
<li>When the option to follow symbolic links is not set -which is the
default- symbolic links are now indexed as such (name and content).</li>
default- symbolic links are now indexed as such (name and
content).</li>
<li>The advanced search panel now has a history feature. Use the
up/down arrows to walk the search history list.</li>
<li>There are new GUI configuration options to run in "search as you type"
mode (which I don't find useful at all...), and to disable the Qt
auto-completion inside the simple search string. The completion was often