kde kioslave: fix for new wasaToRcl shared_ptr interface. Misc warnings suppression
This commit is contained in:
parent
3c7e3ccbc7
commit
663da54c04
@ -309,7 +309,7 @@ bool RecollProtocol::doSearch(const QueryDesc& qd)
|
|||||||
|
|
||||||
char opt = qd.opt.isEmpty() ? 'l' : qd.opt.toUtf8().at(0);
|
char opt = qd.opt.isEmpty() ? 'l' : qd.opt.toUtf8().at(0);
|
||||||
string qs = (const char *)qd.query.toUtf8();
|
string qs = (const char *)qd.query.toUtf8();
|
||||||
Rcl::SearchData *sd = 0;
|
std::shared_ptr<Rcl::SearchData> sdata;
|
||||||
if (opt != 'l') {
|
if (opt != 'l') {
|
||||||
Rcl::SearchDataClause *clp = 0;
|
Rcl::SearchDataClause *clp = 0;
|
||||||
if (opt == 'f') {
|
if (opt == 'f') {
|
||||||
@ -318,19 +318,18 @@ bool RecollProtocol::doSearch(const QueryDesc& qd)
|
|||||||
clp = new Rcl::SearchDataClauseSimple(opt == 'o' ? Rcl::SCLT_OR :
|
clp = new Rcl::SearchDataClauseSimple(opt == 'o' ? Rcl::SCLT_OR :
|
||||||
Rcl::SCLT_AND, qs);
|
Rcl::SCLT_AND, qs);
|
||||||
}
|
}
|
||||||
sd = new Rcl::SearchData(Rcl::SCLT_OR, m_stemlang);
|
sdata = std::make_shared<Rcl::SearchData>(Rcl::SCLT_OR, m_stemlang);
|
||||||
if (sd && clp)
|
if (sdata && clp)
|
||||||
sd->addClause(clp);
|
sdata->addClause(clp);
|
||||||
} else {
|
} else {
|
||||||
sd = wasaStringToRcl(o_rclconfig, m_stemlang, qs, m_reason);
|
sdata = wasaStringToRcl(o_rclconfig, m_stemlang, qs, m_reason);
|
||||||
}
|
}
|
||||||
if (!sd) {
|
if (!sdata) {
|
||||||
m_reason = "Internal Error: cant build search";
|
m_reason = "Internal Error: cant build search";
|
||||||
error(KIO::ERR_SLAVE_DEFINED, m_reason.c_str());
|
error(KIO::ERR_SLAVE_DEFINED, m_reason.c_str());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<Rcl::SearchData> sdata(sd);
|
|
||||||
std::shared_ptr<Rcl::Query>query(new Rcl::Query(m_rcldb.get()));
|
std::shared_ptr<Rcl::Query>query(new Rcl::Query(m_rcldb.get()));
|
||||||
query->setCollapseDuplicates(prefs.collapseDuplicates);
|
query->setCollapseDuplicates(prefs.collapseDuplicates);
|
||||||
if (!query->setQuery(sdata)) {
|
if (!query->setQuery(sdata)) {
|
||||||
|
|||||||
@ -34,7 +34,9 @@ Recoll configuration.
|
|||||||
|
|
||||||
Recipe:
|
Recipe:
|
||||||
|
|
||||||
- Make sure the KF5 core and KIO devel packages and cmake are installed.
|
- Make sure the KF5 core and KIO devel packages and cmake are
|
||||||
|
installed. You probably need the kio-devel and extra-cmake-modules
|
||||||
|
packages.
|
||||||
|
|
||||||
- Extract the Recoll source.
|
- Extract the Recoll source.
|
||||||
|
|
||||||
|
|||||||
@ -117,40 +117,40 @@ static const UDSEntry resultToUDSEntry(const Rcl::Doc& doc, int num)
|
|||||||
// asked to access it
|
// asked to access it
|
||||||
char cnum[30];
|
char cnum[30];
|
||||||
sprintf(cnum, "%04d", num);
|
sprintf(cnum, "%04d", num);
|
||||||
entry.insert(KIO::UDSEntry::UDS_NAME, resultBaseName + cnum);
|
entry.fastInsert(KIO::UDSEntry::UDS_NAME, resultBaseName + cnum);
|
||||||
|
|
||||||
// Display the real file name
|
// Display the real file name
|
||||||
entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, url.fileName());
|
entry.fastInsert(KIO::UDSEntry::UDS_DISPLAY_NAME, url.fileName());
|
||||||
|
|
||||||
/// A local file path if the ioslave display files sitting on the
|
/// A local file path if the ioslave display files sitting on the
|
||||||
/// local filesystem (but in another hierarchy, e.g. settings:/ or
|
/// local filesystem (but in another hierarchy, e.g. settings:/ or
|
||||||
/// remote:/)
|
/// remote:/)
|
||||||
entry.insert(KIO::UDSEntry::UDS_LOCAL_PATH, url.path());
|
entry.fastInsert(KIO::UDSEntry::UDS_LOCAL_PATH, url.path());
|
||||||
|
|
||||||
/// This file is a shortcut or mount, pointing to an
|
/// This file is a shortcut or mount, pointing to an
|
||||||
/// URL in a different hierarchy
|
/// URL in a different hierarchy
|
||||||
/// @since 4.1
|
/// @since 4.1
|
||||||
// We should probably set this only if the scheme is not 'file' (e.g.
|
// We should probably set this only if the scheme is not 'file' (e.g.
|
||||||
// from the web cache).
|
// from the web cache).
|
||||||
entry.insert(KIO::UDSEntry::UDS_TARGET_URL, doc.url.c_str());
|
entry.fastInsert(KIO::UDSEntry::UDS_TARGET_URL, doc.url.c_str());
|
||||||
|
|
||||||
if (!doc.mimetype.compare("application/x-fsdirectory") ||
|
if (!doc.mimetype.compare("application/x-fsdirectory") ||
|
||||||
!doc.mimetype.compare("inode/directory")) {
|
!doc.mimetype.compare("inode/directory")) {
|
||||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, "inode/directory");
|
entry.fastInsert(KIO::UDSEntry::UDS_MIME_TYPE, "inode/directory");
|
||||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
entry.fastInsert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
||||||
} else {
|
} else {
|
||||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, doc.mimetype.c_str());
|
entry.fastInsert(KIO::UDSEntry::UDS_MIME_TYPE, doc.mimetype.c_str());
|
||||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
entry.fastInsert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For local files, supply the usual file stat information
|
// For local files, supply the usual file stat information
|
||||||
struct stat info;
|
struct stat info;
|
||||||
if (lstat(url.path().toUtf8(), &info) >= 0) {
|
if (lstat(url.path().toUtf8(), &info) >= 0) {
|
||||||
entry.insert(KIO::UDSEntry::UDS_SIZE, info.st_size);
|
entry.fastInsert(KIO::UDSEntry::UDS_SIZE, info.st_size);
|
||||||
entry.insert(KIO::UDSEntry::UDS_ACCESS, info.st_mode);
|
entry.fastInsert(KIO::UDSEntry::UDS_ACCESS, info.st_mode);
|
||||||
entry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME, info.st_mtime);
|
entry.fastInsert(KIO::UDSEntry::UDS_MODIFICATION_TIME, info.st_mtime);
|
||||||
entry.insert(KIO::UDSEntry::UDS_ACCESS_TIME, info.st_atime);
|
entry.fastInsert(KIO::UDSEntry::UDS_ACCESS_TIME, info.st_atime);
|
||||||
entry.insert(KIO::UDSEntry::UDS_CREATION_TIME, info.st_ctime);
|
entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME, info.st_ctime);
|
||||||
}
|
}
|
||||||
|
|
||||||
return entry;
|
return entry;
|
||||||
@ -161,23 +161,23 @@ static const UDSEntry resultToUDSEntry(const Rcl::Doc& doc, int num)
|
|||||||
static void createRootEntry(KIO::UDSEntry& entry)
|
static void createRootEntry(KIO::UDSEntry& entry)
|
||||||
{
|
{
|
||||||
entry.clear();
|
entry.clear();
|
||||||
entry.insert(KIO::UDSEntry::UDS_NAME, ".");
|
entry.fastInsert(KIO::UDSEntry::UDS_NAME, ".");
|
||||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
entry.fastInsert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
||||||
entry.insert(KIO::UDSEntry::UDS_ACCESS, 0700);
|
entry.fastInsert(KIO::UDSEntry::UDS_ACCESS, 0700);
|
||||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, "inode/directory");
|
entry.fastInsert(KIO::UDSEntry::UDS_MIME_TYPE, "inode/directory");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Points to html query screen
|
// Points to html query screen
|
||||||
static void createGoHomeEntry(KIO::UDSEntry& entry)
|
static void createGoHomeEntry(KIO::UDSEntry& entry)
|
||||||
{
|
{
|
||||||
entry.clear();
|
entry.clear();
|
||||||
entry.insert(KIO::UDSEntry::UDS_NAME, "search.html");
|
entry.fastInsert(KIO::UDSEntry::UDS_NAME, "search.html");
|
||||||
entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, "Recoll search (click me)");
|
entry.fastInsert(KIO::UDSEntry::UDS_DISPLAY_NAME, "Recoll search (click me)");
|
||||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
entry.fastInsert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
||||||
entry.insert(KIO::UDSEntry::UDS_TARGET_URL, "recoll:///search.html");
|
entry.fastInsert(KIO::UDSEntry::UDS_TARGET_URL, "recoll:///search.html");
|
||||||
entry.insert(KIO::UDSEntry::UDS_ACCESS, 0500);
|
entry.fastInsert(KIO::UDSEntry::UDS_ACCESS, 0500);
|
||||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, "text/html");
|
entry.fastInsert(KIO::UDSEntry::UDS_MIME_TYPE, "text/html");
|
||||||
entry.insert(KIO::UDSEntry::UDS_ICON_NAME, "recoll");
|
entry.fastInsert(KIO::UDSEntry::UDS_ICON_NAME, "recoll");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Points to help file
|
// Points to help file
|
||||||
@ -187,14 +187,14 @@ static void createGoHelpEntry(KIO::UDSEntry& entry)
|
|||||||
QStandardPaths::locate(QStandardPaths::GenericDataLocation,
|
QStandardPaths::locate(QStandardPaths::GenericDataLocation,
|
||||||
"kio_recoll/help.html");
|
"kio_recoll/help.html");
|
||||||
entry.clear();
|
entry.clear();
|
||||||
entry.insert(KIO::UDSEntry::UDS_NAME, "help");
|
entry.fastInsert(KIO::UDSEntry::UDS_NAME, "help");
|
||||||
entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, "Recoll help (click me first)");
|
entry.fastInsert(KIO::UDSEntry::UDS_DISPLAY_NAME, "Recoll help (click me first)");
|
||||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
entry.fastInsert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
|
||||||
entry.insert(KIO::UDSEntry::UDS_TARGET_URL, QString("file://") +
|
entry.fastInsert(KIO::UDSEntry::UDS_TARGET_URL, QString("file://") +
|
||||||
location);
|
location);
|
||||||
entry.insert(KIO::UDSEntry::UDS_ACCESS, 0500);
|
entry.fastInsert(KIO::UDSEntry::UDS_ACCESS, 0500);
|
||||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, "text/html");
|
entry.fastInsert(KIO::UDSEntry::UDS_MIME_TYPE, "text/html");
|
||||||
entry.insert(KIO::UDSEntry::UDS_ICON_NAME, "help");
|
entry.fastInsert(KIO::UDSEntry::UDS_ICON_NAME, "help");
|
||||||
}
|
}
|
||||||
|
|
||||||
// As far as I can see we only ever get this on '/' so why all the code?
|
// As far as I can see we only ever get this on '/' so why all the code?
|
||||||
@ -205,8 +205,8 @@ void RecollProtocol::stat(const QUrl& url)
|
|||||||
UrlIngester ingest(this, url);
|
UrlIngester ingest(this, url);
|
||||||
|
|
||||||
KIO::UDSEntry entry;
|
KIO::UDSEntry entry;
|
||||||
// entry.insert(KIO::UDSEntry::UDS_TARGET_URL, url.url());
|
// entry.fastInsert(KIO::UDSEntry::UDS_TARGET_URL, url.url());
|
||||||
// entry.insert(KIO::UDSEntry::UDS_URL, url.url());
|
// entry.fastInsert(KIO::UDSEntry::UDS_URL, url.url());
|
||||||
UrlIngester::RootEntryType rettp;
|
UrlIngester::RootEntryType rettp;
|
||||||
QueryDesc qd;
|
QueryDesc qd;
|
||||||
int num;
|
int num;
|
||||||
@ -257,12 +257,12 @@ void RecollProtocol::stat(const QUrl& url)
|
|||||||
if (m_alwaysdir || ingest.alwaysDir() || ingest.endSlashQuery()) {
|
if (m_alwaysdir || ingest.alwaysDir() || ingest.endSlashQuery()) {
|
||||||
qDebug() << "RecollProtocol::stat: Directory type:";
|
qDebug() << "RecollProtocol::stat: Directory type:";
|
||||||
// Need to check no / in there
|
// Need to check no / in there
|
||||||
entry.insert(KIO::UDSEntry::UDS_NAME, qd.query);
|
entry.fastInsert(KIO::UDSEntry::UDS_NAME, qd.query);
|
||||||
entry.insert(KIO::UDSEntry::UDS_ACCESS, 0700);
|
entry.fastInsert(KIO::UDSEntry::UDS_ACCESS, 0700);
|
||||||
entry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME, time(0));
|
entry.fastInsert(KIO::UDSEntry::UDS_MODIFICATION_TIME, time(0));
|
||||||
entry.insert(KIO::UDSEntry::UDS_CREATION_TIME, time(0));
|
entry.fastInsert(KIO::UDSEntry::UDS_CREATION_TIME, time(0));
|
||||||
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
entry.fastInsert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
|
||||||
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, "inode/directory");
|
entry.fastInsert(KIO::UDSEntry::UDS_MIME_TYPE, "inode/directory");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
qDebug() << "RecollProtocol::stat: none of the above ??";
|
qDebug() << "RecollProtocol::stat: none of the above ??";
|
||||||
|
|||||||
@ -191,16 +191,16 @@ void RecollProtocol::queryDetails()
|
|||||||
QByteArray array;
|
QByteArray array;
|
||||||
QTextStream os(&array, QIODevice::WriteOnly);
|
QTextStream os(&array, QIODevice::WriteOnly);
|
||||||
|
|
||||||
os << "<html><head>" << endl;
|
os << "<html><head>" << "\n";
|
||||||
os << "<meta http-equiv=\"Content-Type\" content=\"text/html;"
|
os << "<meta http-equiv=\"Content-Type\" content=\"text/html;"
|
||||||
"charset=utf-8\">" << endl;
|
"charset=utf-8\">" << "\n";
|
||||||
os << "<title>" << "Recoll query details" << "</title>\n" << endl;
|
os << "<title>" << "Recoll query details" << "</title>\n" << "\n";
|
||||||
os << "</head>" << endl;
|
os << "</head>" << "\n";
|
||||||
os << "<body><h3>Query details:</h3>" << endl;
|
os << "<body><h3>Query details:</h3>" << "\n";
|
||||||
os << "<p>" << m_pager.queryDescription().c_str() << "</p>" << endl;
|
os << "<p>" << m_pager.queryDescription().c_str() << "</p>" << "\n";
|
||||||
os << "<p><a href=\"" << makeQueryUrl(m_pager.pageNumber()).c_str() <<
|
os << "<p><a href=\"" << makeQueryUrl(m_pager.pageNumber()).c_str() <<
|
||||||
"\">Return to results</a>" << endl;
|
"\">Return to results</a>" << "\n";
|
||||||
os << "</body></html>" << endl;
|
os << "</body></html>" << "\n";
|
||||||
data(array);
|
data(array);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ public:
|
|||||||
: m_name(nm) {
|
: m_name(nm) {
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual string header() {
|
virtual string header() override {
|
||||||
if (m_inputhtml) {
|
if (m_inputhtml) {
|
||||||
return cstr_null;
|
return cstr_null;
|
||||||
} else {
|
} else {
|
||||||
@ -222,11 +222,11 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual string startMatch(unsigned int) {
|
virtual string startMatch(unsigned int) override {
|
||||||
return string("<font color=\"blue\">");
|
return string("<font color=\"blue\">");
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual string endMatch() {
|
virtual string endMatch() override {
|
||||||
return string("</font>");
|
return string("</font>");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,14 +266,14 @@ void RecollProtocol::showPreview(const Rcl::Doc& idoc)
|
|||||||
it != otextlist.end(); it++) {
|
it != otextlist.end(); it++) {
|
||||||
os << (*it).c_str();
|
os << (*it).c_str();
|
||||||
}
|
}
|
||||||
os << "</body></html>" << endl;
|
os << "</body></html>" << "\n";
|
||||||
data(array);
|
data(array);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecollProtocol::htmlDoSearch(const QueryDesc& qd)
|
void RecollProtocol::htmlDoSearch(const QueryDesc& qd)
|
||||||
{
|
{
|
||||||
qDebug() << "q" << qd.query << "option" << qd.opt << "page" << qd.page <<
|
qDebug() << "q" << qd.query << "option" << qd.opt << "page" << qd.page <<
|
||||||
"isdet" << qd.isDetReq << endl;
|
"isdet" << qd.isDetReq << "\n";
|
||||||
|
|
||||||
mimeType("text/html");
|
mimeType("text/html");
|
||||||
|
|
||||||
|
|||||||
@ -312,7 +312,7 @@ bool RecollProtocol::doSearch(const QueryDesc& qd)
|
|||||||
|
|
||||||
char opt = qd.opt.isEmpty() ? 'l' : qd.opt.toUtf8().at(0);
|
char opt = qd.opt.isEmpty() ? 'l' : qd.opt.toUtf8().at(0);
|
||||||
string qs = (const char *)qd.query.toUtf8();
|
string qs = (const char *)qd.query.toUtf8();
|
||||||
Rcl::SearchData *sd = 0;
|
std::shared_ptr<Rcl::SearchData> sdata;
|
||||||
if (opt != 'l') {
|
if (opt != 'l') {
|
||||||
Rcl::SearchDataClause *clp = 0;
|
Rcl::SearchDataClause *clp = 0;
|
||||||
if (opt == 'f') {
|
if (opt == 'f') {
|
||||||
@ -321,20 +321,19 @@ bool RecollProtocol::doSearch(const QueryDesc& qd)
|
|||||||
clp = new Rcl::SearchDataClauseSimple(opt == 'o' ? Rcl::SCLT_OR :
|
clp = new Rcl::SearchDataClauseSimple(opt == 'o' ? Rcl::SCLT_OR :
|
||||||
Rcl::SCLT_AND, qs);
|
Rcl::SCLT_AND, qs);
|
||||||
}
|
}
|
||||||
sd = new Rcl::SearchData(Rcl::SCLT_OR, m_stemlang);
|
sdata = std::make_shared<Rcl::SearchData>(Rcl::SCLT_OR, m_stemlang);
|
||||||
if (sd && clp) {
|
if (sdata && clp) {
|
||||||
sd->addClause(clp);
|
sdata->addClause(clp);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sd = wasaStringToRcl(o_rclconfig, m_stemlang, qs, m_reason);
|
sdata = wasaStringToRcl(o_rclconfig, m_stemlang, qs, m_reason);
|
||||||
}
|
}
|
||||||
if (!sd) {
|
if (!sdata) {
|
||||||
m_reason = "Internal Error: cant build search";
|
m_reason = "Internal Error: cant build search";
|
||||||
error(KIO::ERR_SLAVE_DEFINED, u8s2qs(m_reason));
|
error(KIO::ERR_SLAVE_DEFINED, u8s2qs(m_reason));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<Rcl::SearchData> sdata(sd);
|
|
||||||
std::shared_ptr<Rcl::Query>query(new Rcl::Query(m_rcldb.get()));
|
std::shared_ptr<Rcl::Query>query(new Rcl::Query(m_rcldb.get()));
|
||||||
query->setCollapseDuplicates(prefs.collapseDuplicates);
|
query->setCollapseDuplicates(prefs.collapseDuplicates);
|
||||||
if (!query->setQuery(sdata)) {
|
if (!query->setQuery(sdata)) {
|
||||||
|
|||||||
@ -40,15 +40,15 @@ public:
|
|||||||
m_parent = proto;
|
m_parent = proto;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual bool append(const std::string& data);
|
virtual bool append(const std::string& data) override;
|
||||||
virtual bool append(const std::string& data, int, const Rcl::Doc&) {
|
virtual bool append(const std::string& data, int, const Rcl::Doc&) override {
|
||||||
return append(data);
|
return append(data);
|
||||||
}
|
}
|
||||||
virtual std::string detailsLink();
|
virtual std::string detailsLink() override;
|
||||||
virtual const std::string& parFormat();
|
virtual const std::string& parFormat() override;
|
||||||
virtual std::string nextUrl();
|
virtual std::string nextUrl() override;
|
||||||
virtual std::string prevUrl();
|
virtual std::string prevUrl() override;
|
||||||
virtual std::string pageTop();
|
virtual std::string pageTop() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RecollProtocol *m_parent;
|
RecollProtocol *m_parent;
|
||||||
@ -151,12 +151,12 @@ class RecollProtocol : public KIO::SlaveBase {
|
|||||||
public:
|
public:
|
||||||
RecollProtocol(const QByteArray& pool, const QByteArray& app);
|
RecollProtocol(const QByteArray& pool, const QByteArray& app);
|
||||||
virtual ~RecollProtocol();
|
virtual ~RecollProtocol();
|
||||||
virtual void mimetype(const QUrl& url);
|
virtual void mimetype(const QUrl& url) override;
|
||||||
virtual void get(const QUrl& url);
|
virtual void get(const QUrl& url) override;
|
||||||
// The directory mode is not available with KDE 4.0, I could find
|
// The directory mode is not available with KDE 4.0, I could find
|
||||||
// no way to avoid crashing kdirmodel
|
// no way to avoid crashing kdirmodel
|
||||||
virtual void stat(const QUrl& url);
|
virtual void stat(const QUrl& url) override;
|
||||||
virtual void listDir(const QUrl& url);
|
virtual void listDir(const QUrl& url) override;
|
||||||
|
|
||||||
static RclConfig *o_rclconfig;
|
static RclConfig *o_rclconfig;
|
||||||
|
|
||||||
|
|||||||
@ -119,21 +119,19 @@ PHP_METHOD(Query, query)
|
|||||||
}
|
}
|
||||||
|
|
||||||
pRclDb->setAbstractParams(-1, maxchars, ctxwords);
|
pRclDb->setAbstractParams(-1, maxchars, ctxwords);
|
||||||
Rcl::SearchData *sd = 0;
|
|
||||||
|
|
||||||
// jf: the original implementation built an AND clause. It would
|
// jf: the original implementation built an AND clause. It would
|
||||||
// be nice to offer an option, but the next best thing is to
|
// be nice to offer an option, but the next best thing is to
|
||||||
// default to the query language
|
// default to the query language
|
||||||
sd = wasaStringToRcl(rclconfig, "english", qs, reason);
|
auto sdata = wasaStringToRcl(rclconfig, "english", qs, reason);
|
||||||
|
|
||||||
if (!sd) {
|
if (!sdata) {
|
||||||
cerr << "Query string interpretation failed: " << reason << endl;
|
cerr << "Query string interpretation failed: " << reason << endl;
|
||||||
RETURN_BOOL(false);
|
RETURN_BOOL(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<Rcl::SearchData> rq(sd);
|
|
||||||
Rcl::Query *pRclQuery = new Rcl::Query(pRclDb);
|
Rcl::Query *pRclQuery = new Rcl::Query(pRclDb);
|
||||||
pRclQuery->setQuery(rq);
|
pRclQuery->setQuery(sdata);
|
||||||
|
|
||||||
query_object *obj = (query_object *)zend_object_store_get_object(getThis() TSRMLS_CC);
|
query_object *obj = (query_object *)zend_object_store_get_object(getThis() TSRMLS_CC);
|
||||||
obj->pRclQuery = pRclQuery;
|
obj->pRclQuery = pRclQuery;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user