X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsearchcontroller.cpp;h=e8d7f90ff45bf8c4ec5a66fe4c0ee29309c1d83b;hp=44ddc694d52f963d9e4f2565b9988afcb1538dbc;hb=0bf67c91326f45df940f52b506da70fb2a8a3e6e;hpb=a117d3bd1592bae3b14630c953790a005b3c3a3d diff --git a/src/qtui/chatviewsearchcontroller.cpp b/src/qtui/chatviewsearchcontroller.cpp index 44ddc694..e8d7f90f 100644 --- a/src/qtui/chatviewsearchcontroller.cpp +++ b/src/qtui/chatviewsearchcontroller.cpp @@ -76,7 +76,7 @@ void ChatViewSearchController::setSearchString(const QString &searchString) { void ChatViewSearchController::updateHighlights(bool reuse) { if(!_scene) return; - + QAbstractItemModel *model = _scene->model(); Q_ASSERT(model); @@ -130,10 +130,10 @@ void ChatViewSearchController::highlightLine(ChatLine *line) { QList checkItems; if(_searchSenders) checkItems << &(line->item(MessageModel::SenderColumn)); - + if(_searchMsgs) checkItems << &(line->item(MessageModel::ContentsColumn)); - + foreach(ChatItem *item, checkItems) { foreach(QRectF wordRect, item->findWords(searchString(), caseSensitive())) { _highlightItems << new SearchHighlightItem(wordRect.adjusted(item->x(), 0, item->x(), 0), line); @@ -192,22 +192,21 @@ void ChatViewSearchController::setSearchOnlyRegularMsgs(bool searchOnlyRegularMs updateHighlights(searchOnlyRegularMsgs); } - - SearchHighlightItem::SearchHighlightItem(QRectF wordRect, QGraphicsItem *parent) - : QGraphicsItem(parent), - _boundingRect(QRectF(-wordRect.width() / 2, -wordRect.height() / 2, wordRect.width(), wordRect.height())) + : QGraphicsItem(parent) { - setPos(wordRect.x() + wordRect.width() / 2 , wordRect.y() + wordRect.height() / 2); - scale(1.2, 1.2); + setPos(wordRect.x(), wordRect.y()); + qreal sizedelta = wordRect.height() * 0.1; + _boundingRect = QRectF(-sizedelta, -sizedelta, wordRect.width() + 2 * sizedelta, wordRect.height() + 2 * sizedelta); } void SearchHighlightItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { + Q_UNUSED(option); Q_UNUSED(widget); - + painter->setPen(QPen(Qt::black, 1.5)); - //painter->setBrush(QColor(127, 133, 250)); painter->setBrush(QColor(254, 237, 45)); painter->setRenderHints(QPainter::Antialiasing); - painter->drawRoundedRect(boundingRect(), 30, 30, Qt::RelativeSize); + qreal radius = boundingRect().height() * 0.30; + painter->drawRoundedRect(boundingRect(), radius, radius); }