diff --git a/src/plugins/coreplugin/find/searchresulttreeitemdelegate.cpp b/src/plugins/coreplugin/find/searchresulttreeitemdelegate.cpp index 768a485caec..ed9ad6706bb 100644 --- a/src/plugins/coreplugin/find/searchresulttreeitemdelegate.cpp +++ b/src/plugins/coreplugin/find/searchresulttreeitemdelegate.cpp @@ -37,32 +37,28 @@ static std::pair lineNumberInfo(const QStyleOptionViewItem &option } // Aligns text by appending spaces -static QPair align(QString text, const QString& containingFunction) { +static QString align(QString text) +{ constexpr int minimumTextSize = 80; constexpr int textSizeIncrement = 20; int textSize = ((text.size() / textSizeIncrement) + 1) * textSizeIncrement; textSize = std::max(minimumTextSize, textSize); text.resize(textSize, ' '); - return QPair{std::move(text), containingFunction}; + return text; } static QPair itemText(const QModelIndex &index) { QString text = index.data(Qt::DisplayRole).toString(); // show number of subresults in displayString - QString containingFunction; - const auto contFnName = index.data(ItemDataRoles::ContainingFunctionNameRole).toString(); - if (contFnName.length()) - containingFunction = QLatin1String("[in ") + contFnName + QLatin1String("]"); + if (index.model()->hasChildren(index)) + text += " (" + QString::number(index.model()->rowCount(index)) + ')'; - if (index.model()->hasChildren(index)) { - QString textAndCount{text + QLatin1String(" (") - + QString::number(index.model()->rowCount(index)) + QLatin1Char(')')}; - - return align(std::move(textAndCount), containingFunction); - } - return align(std::move(text), containingFunction); + const auto functionName = index.data(ItemDataRoles::ContainingFunctionNameRole).toString(); + if (!functionName.isEmpty()) + return {align(std::move(text)), "[in " + functionName + "]"}; + return {text, {}}; } LayoutInfo SearchResultTreeItemDelegate::getLayoutInfo(const QStyleOptionViewItem &option,