diff --git a/src/plugins/find/searchresulttreeitemdelegate.cpp b/src/plugins/find/searchresulttreeitemdelegate.cpp index 5502069a1772fcca2b9d9f5d8949b90448599bde..88ac8d055357665e29e88dd917d2f3ba07ec1d5e 100644 --- a/src/plugins/find/searchresulttreeitemdelegate.cpp +++ b/src/plugins/find/searchresulttreeitemdelegate.cpp @@ -109,7 +109,7 @@ int SearchResultTreeItemDelegate::drawLineNumber(QPainter *painter, const QStyle painter->setPen(isSelected ? option.palette.color(cg, QPalette::HighlightedText) : Qt::darkGray); painter->drawText(lineNumberAreaRect.adjusted(0, 0, -lineNumberAreaHorizontalPadding, 0), - Qt::AlignRight, QString::number(lineNumber)); + Qt::AlignRight | Qt::AlignVCenter, QString::number(lineNumber)); return lineNumberAreaWidth; } diff --git a/src/plugins/find/searchresulttreemodel.cpp b/src/plugins/find/searchresulttreemodel.cpp index 267022bb437df06bf65eed6807e8f3de2fdb8461..3afb91d31da0a541b0274b68b2d1276b9a03fd45 100644 --- a/src/plugins/find/searchresulttreemodel.cpp +++ b/src/plugins/find/searchresulttreemodel.cpp @@ -33,6 +33,7 @@ #include <QtGui/QApplication> #include <QtGui/QFont> +#include <QtGui/QFontMetrics> #include <QtGui/QColor> #include <QtGui/QPalette> #include <QtCore/QDir> @@ -45,7 +46,7 @@ SearchResultTreeModel::SearchResultTreeModel(QObject *parent) , m_lastAppendedResultFile(0) , m_showReplaceUI(false) { - m_rootItem = new SearchResultTreeItem(); + m_rootItem = new SearchResultTreeItem; m_textEditorFont = QFont("Courier"); } @@ -61,7 +62,9 @@ void SearchResultTreeModel::setShowReplaceUI(bool show) void SearchResultTreeModel::setTextEditorFont(const QFont &font) { + layoutAboutToBeChanged(); m_textEditorFont = font; + layoutChanged(); } Qt::ItemFlags SearchResultTreeModel::flags(const QModelIndex &index) const @@ -143,7 +146,13 @@ QVariant SearchResultTreeModel::data(const QModelIndex &index, int role) const QVariant result; - if (item->itemType() == SearchResultTreeItem::ResultRow) + if (role == Qt::SizeHintRole) + { + const int appFontHeight = QApplication::fontMetrics().height(); + const int editorFontHeight = QFontMetrics(m_textEditorFont).height(); + result = QSize(0, qMax(appFontHeight, editorFontHeight)); + } + else if (item->itemType() == SearchResultTreeItem::ResultRow) { const SearchResultTextRow *row = static_cast<const SearchResultTextRow *>(item); result = data(row, role);