Use MIME type inheritance to find out if a file contains text

Before this commit, filenamesearch checked if a file's MIME type begins
with "text/" to determine if its content can be searched. This prevented
that text inside shell scripts is found.

BUG: 332143
REVIEW: 116805
FIXED-IN: 4.12.4
This commit is contained in:
Frank Reininghaus 2014-03-16 18:02:43 +01:00
parent c5d9791ad3
commit d803ecec24

View file

@ -91,8 +91,11 @@ void FileNameSearchProtocol::searchDirectory(const KUrl& directory)
bool addItem = false; bool addItem = false;
if (!m_regExp || item.name().contains(*m_regExp)) { if (!m_regExp || item.name().contains(*m_regExp)) {
addItem = true; addItem = true;
} else if (m_checkContent && item.mimetype().startsWith(QLatin1String("text/"))) { } else if (m_checkContent && item.determineMimeType()->is(QLatin1String("text/plain"))) {
qDebug() << "### Checking" << item;
addItem = contentContainsPattern(item.url()); addItem = contentContainsPattern(item.url());
} else {
qDebug() << "### NOT Checking" << item;
} }
if (addItem) { if (addItem) {