mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 06:22:15 -07:00
Merge c529f20a92 into bed79ef89e
This commit is contained in:
commit
73f685fbc6
2 changed files with 15 additions and 4 deletions
|
|
@ -389,6 +389,15 @@ FilterString::FilterString()
|
||||||
_error = "Not initialized";
|
_error = "Not initialized";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FilterString::logger(size_t ln, size_t col, const std::string &msg) {
|
||||||
|
if(ln == 0) {
|
||||||
|
_error = tr("Error at position %1: %2").arg(col).arg(QString::fromStdString(msg));
|
||||||
|
}else{
|
||||||
|
_error = tr("Error at line %1, position %2: %3").arg(ln).arg(col).arg(QString::fromStdString(msg));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
FilterString::FilterString(const QString &expr)
|
FilterString::FilterString(const QString &expr)
|
||||||
{
|
{
|
||||||
QByteArray ba = expr.simplified().toUtf8();
|
QByteArray ba = expr.simplified().toUtf8();
|
||||||
|
|
@ -402,9 +411,7 @@ FilterString::FilterString(const QString &expr)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
search.set_logger([&](size_t /*ln*/, size_t col, const std::string &msg) {
|
search.set_logger([this](size_t ln, size_t col, const std::string &msg){logger(ln, col, msg);});
|
||||||
_error = QString("Error at position %1: %2").arg(col).arg(QString::fromStdString(msg));
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!search.parse(ba.data(), result)) {
|
if (!search.parse(ba.data(), result)) {
|
||||||
qCInfo(FilterStringLog).nospace() << "FilterString error for " << expr << "; " << qPrintable(_error);
|
qCInfo(FilterStringLog).nospace() << "FilterString error for " << expr << "; " << qPrintable(_error);
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,10 @@ struct EmptyType;
|
||||||
typedef AstBase<EmptyType> Ast;
|
typedef AstBase<EmptyType> Ast;
|
||||||
} // namespace peg
|
} // namespace peg
|
||||||
|
|
||||||
class FilterString
|
class FilterString : QObject
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FilterString();
|
FilterString();
|
||||||
explicit FilterString(const QString &exp);
|
explicit FilterString(const QString &exp);
|
||||||
|
|
@ -49,6 +51,8 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void logger(size_t ln, size_t col, const std::string &msg);
|
||||||
|
|
||||||
QString _error;
|
QString _error;
|
||||||
Filter result;
|
Filter result;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue