--- a/src/qtgui/webcache.cpp
+++ b/src/qtgui/webcache.cpp
@@ -21,17 +21,6 @@
#include <memory>
#include <unordered_map>
-#ifdef _WIN32
-#define USING_STD_REGEX
-#endif
-
-#ifndef USING_STD_REGEX
-#include <sys/types.h>
-#include <regex.h>
-#else
-#include <regex>
-#endif
-
#include <QDebug>
#include <QSettings>
#include <QCloseEvent>
@@ -47,6 +36,7 @@
#include "circache.h"
#include "conftree.h"
#include "rclmain_w.h"
+#include "smallut.h"
using namespace std;
@@ -158,21 +148,8 @@
return QVariant();
}
- /* We now read the data on init */
-#if 0
- string sdic;
- if (!m->cache->cc()->get(m->disp[row].udi, sdic)) {
- return QVariant();
- }
- ConfSimple dic(sdic);
- //ostringstream os; dic.write(os); cerr << "DIC: " << os.str() << endl;
- string mime, url;
- dic.get("mimetype", mime);
- dic.get("url", url);
-#else
const string& mime = m->disp[row].mimetype;
const string& url = m->disp[row].url;
-#endif
switch (index.column()) {
case 0: return QVariant(QString::fromUtf8(mime.c_str()));
@@ -181,35 +158,13 @@
}
}
-#ifndef USING_STD_REGEX
-#define M_regexec(A,B,C,D,E) regexec(&(A),B,C,D,E)
-#else
-#define M_regexec(A,B,C,D,E) (!regex_match(B,A))
-#endif
-
void WebcacheModel::setSearchFilter(const QString& _txt)
{
- string txt = qs2utf8s(_txt);
-
-#ifndef USING_STD_REGEX
- regex_t exp;
- if (regcomp(&exp, txt.c_str(), REG_NOSUB|REG_EXTENDED)) {
- //qDebug() << "regcomp failed for " << _txt;
- return;
- }
-#else
- basic_regex<char> exp;
- try {
- exp = basic_regex<char>(txt, std::regex_constants::nosubs |
- std::regex_constants::extended);
- } catch(...) {
- return;
- }
-#endif
+ SimpleRegexp re(qs2utf8s(_txt), SimpleRegexp::SRE_NOSUB);
m->disp.clear();
for (unsigned int i = 0; i < m->all.size(); i++) {
- if (!M_regexec(exp, m->all[i].url.c_str(), 0, 0, 0)) {
+ if (re(m->all[i].url)) {
m->disp.push_back(m->all[i]);
} else {
//qDebug() << "match failed. exp" << _txt << "data" <<