Merge pull request #1473 from sqlitebrowser/filter_strings

Support for operator filters for strings
This commit is contained in:
Manuel
2018-08-08 14:39:02 +02:00
committed by GitHub
2 changed files with 11 additions and 16 deletions

View File

@@ -612,6 +612,11 @@ void ExtendedTableWidget::useAsFilter(const QString& filterOperator, bool binary
else
value = data.toString();
// When Containing filter is requested (empty operator) and the value starts with
// an operator character, the character is escaped.
if (filterOperator.isEmpty())
value.replace(QRegExp("^(<|>|=)"), Settings::getValue("databrowser", "filter_escape").toString() + QString("\\1"));
// If binary operator, the cell data is used as first value and
// the second value must be added by the user.
if (binary)

View File

@@ -739,24 +739,14 @@ void SqliteTableModel::updateFilter(int column, const QString& value)
numeric = true;
val = "''";
} else {
bool ok;
value.mid(2).toFloat(&ok);
if(ok)
{
op = value.left(2);
val = value.mid(2);
numeric = true;
}
value.mid(2).toFloat(&numeric);
op = value.left(2);
val = value.mid(2);
}
} else if(value.left(1) == ">" || value.left(1) == "<") {
bool ok;
value.mid(1).toFloat(&ok);
if(ok)
{
op = value.left(1);
val = value.mid(1);
numeric = true;
}
value.mid(1).toFloat(&numeric);
op = value.left(1);
val = value.mid(1);
} else if(value.left(1) == "=") {
val = value.mid(1);