+ setPos(wordRect.x(), wordRect.y());
+ qreal sizedelta = wordRect.height() * 0.1;
+ _boundingRect = QRectF(-sizedelta, -sizedelta, wordRect.width() + 2 * sizedelta, wordRect.height() + 2 * sizedelta);
+
+ connect(&_timeLine, SIGNAL(valueChanged(qreal)), this, SLOT(updateHighlight(qreal)));
+}
+
+void SearchHighlightItem::setHighlighted(bool highlighted) {
+ _highlighted = highlighted;
+
+ if(highlighted)
+ _timeLine.setDirection(QTimeLine::Forward);
+ else
+ _timeLine.setDirection(QTimeLine::Backward);
+
+ if(_timeLine.state() != QTimeLine::Running)
+ _timeLine.start();
+
+ update();
+}
+
+void SearchHighlightItem::updateHighlight(qreal value) {
+ _alpha = 100 + 155 * value;
+ update();