MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / findInFilesClicked

Method findInFilesClicked

tools/triage/mainwindow.cpp:360–399  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

358}
359
360void MainWindow::findInFilesClicked()
361{
362 ui->tabWidget->setCurrentIndex(1);
363 ui->inFilesResult->clear();
364 const QString text = ui->filterEdit->text();
365
366 // cppcheck-suppress shadowFunction - TODO: fix this
367 QStringList filter;
368 if (ui->hFilesFilter->isChecked())
369 filter.append(hFiles);
370 if (ui->srcFilesFilter->isChecked())
371 filter.append(srcFiles);
372
373 QMimeDatabase mimeDatabase;
374 QDirIterator it(WORK_FOLDER, filter, QDir::AllEntries | QDir::NoSymLinks | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
375
376 const auto common_path_len = WORK_FOLDER.length() + 1; // let's remove common part of path improve UI
377
378 while (it.hasNext()) {
379 const QString fileName = it.next();
380 const QMimeType mimeType = mimeDatabase.mimeTypeForFile(fileName);
381
382 if (mimeType.isValid() && !mimeType.inherits(QStringLiteral("text/plain"))) {
383 continue;
384 }
385
386 QFile file(fileName);
387 if (file.open(QIODevice::ReadOnly)) {
388 int lineN = 0;
389 QTextStream in(&file);
390 while (!in.atEnd()) {
391 ++lineN;
392 QString line = in.readLine();
393 if (line.contains(text, Qt::CaseInsensitive)) {
394 ui->inFilesResult->addItem(fileName.mid(common_path_len) + QString{":"} + QString::number(lineN));
395 }
396 }
397 }
398 }
399}
400
401void MainWindow::directorytreeDoubleClick()
402{

Callers

nothing calls this directly

Calls 5

nextMethod · 0.80
addItemMethod · 0.80
clearMethod · 0.45
openMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected