Better BLOB detection in the Browse Data tab

This improves the BLOB detection in the Browse Data tab which was
working pretty poorly because it was only looking for null bytes, not
for any other non-printable characters.

See issue #1201.
This commit is contained in:
Martin Kleusberg
2017-10-29 13:39:24 +01:00
parent 557ef399bb
commit 9b309402db

View File

@@ -839,7 +839,10 @@ void SqliteTableModel::clearCache()
bool SqliteTableModel::isBinary(const QModelIndex& index) const
{
return m_data.at(index.row()).at(index.column()).left(1024).contains('\0');
// We're using the same way to detect binary data here as in the EditDialog class. For performance reasons we're only looking at
// the first couple of bytes though.
QByteArray data = m_data.at(index.row()).at(index.column()).left(512);
return QString(data).toUtf8() != data;
}
QByteArray SqliteTableModel::encode(const QByteArray& str) const