From kde-commits Tue Jul 12 13:37:46 2005 From: Gilles Caulier Date: Tue, 12 Jul 2005 13:37:46 +0000 To: kde-commits Subject: extragear/graphics/digikam/libs/widgets Message-Id: <1121175466.758905.4962.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=112117547320828 SVN commit 433991 by cgilles: digiKam Image guide widget : animated guide is more visible! CCMAIL: digikam-devel@kde.org M +23 -5 imageguidewidget.cpp M +3 -0 imageguidewidget.h --- trunk/extragear/graphics/digikam/libs/widgets/imageguidewidget.cpp #433990:433991 @@ -26,6 +26,7 @@ #include #include #include +#include // KDE include. @@ -49,10 +50,13 @@ bool spotVisible, int guideMode) : QWidget(parent, 0, Qt::WDestructiveClose) { - m_spotVisible = spotVisible; - m_guideMode = guideMode; - m_focus = false; + m_spotVisible = spotVisible; + m_guideMode = guideMode; + m_focus = false; + m_flicker = false; + m_timerID = startTimer(800); + setBackgroundMode(Qt::NoBackground); setMinimumSize(w, h); setMouseTracking(true); @@ -137,8 +141,8 @@ { QPainter p(m_pixmap); p.setPen(QPen(Qt::red, 1, Qt::DotLine)); - p.drawLine(xspot, m_rect.top(), xspot, m_rect.bottom()); - p.drawLine(m_rect.left(), yspot, m_rect.right(), yspot); + p.drawLine(xspot, m_rect.top() + m_flicker, xspot, m_rect.bottom() - m_flicker); + p.drawLine(m_rect.left() + m_flicker, yspot, m_rect.right() - m_flicker, yspot); p.end(); break; } @@ -149,6 +153,8 @@ p.setPen(QPen(Qt::red, 1, Qt::SolidLine)); p.drawLine(xspot-10, yspot-10, xspot+10, yspot+10); p.drawLine(xspot+10, yspot-10, xspot-10, yspot+10); + if (m_flicker%2 != 0) + p.setPen(QPen(Qt::red, 2, Qt::SolidLine)); p.drawEllipse( xspot-5, yspot-5, 11, 11 ); p.end(); break; @@ -159,6 +165,18 @@ bitBlt(this, 0, 0, m_pixmap); } +void ImageGuideWidget::timerEvent(QTimerEvent * e) +{ + if (e->timerId() == m_timerID) + { + if (m_flicker == 5) m_flicker=0; + else m_flicker++; + repaint(false); + } + else + QWidget::timerEvent(e); +} + void ImageGuideWidget::resizeEvent(QResizeEvent * e) { blockSignals(true); --- trunk/extragear/graphics/digikam/libs/widgets/imageguidewidget.h #433990:433991 @@ -73,6 +73,7 @@ void paintEvent( QPaintEvent *e ); void resizeEvent( QResizeEvent * e ); + void timerEvent(QTimerEvent * e); void mousePressEvent ( QMouseEvent * e ); void mouseReleaseEvent ( QMouseEvent * e ); void mouseMoveEvent ( QMouseEvent * e ); @@ -83,7 +84,9 @@ int m_w; int m_h; + int m_timerID; int m_guideMode; + int m_flicker; bool m_focus; bool m_spotVisible;