[Digikam-devel] extragear/graphics/digikam/libs/widgets/common
Gustavo P. Boiko
gustavo.boiko at kdemail.net
Wed Dec 19 12:02:28 GMT 2007
SVN commit 750486 by boiko:
Fix the hiding and showing of the cursor tracker tooltip, and also make it
X11-independent.
Use the same coding style all around the file (fixed some space/tab usage)
CCMAIL: digikam-devel at kde.org
M +17 -22 dcursortracker.cpp
--- trunk/extragear/graphics/digikam/libs/widgets/common/dcursortracker.cpp #750485:750486
@@ -38,7 +38,7 @@
{
DCursorTracker::DCursorTracker(const QString& txt, QWidget *parent)
- : QLabel(txt, 0, Qt::X11BypassWindowManagerHint)
+ : QLabel(txt, 0, Qt::ToolTip )
{
parent->setMouseTracking(true);
parent->installEventFilter(this);
@@ -50,8 +50,8 @@
*/
void DCursorTracker::setText(const QString& txt)
{
- QLabel::setText(txt);
- adjustSize();
+ QLabel::setText(txt);
+ adjustSize();
}
void DCursorTracker::setEnable(bool b)
@@ -61,15 +61,14 @@
bool DCursorTracker::eventFilter(QObject *object, QEvent *e)
{
- QWidget *widget = static_cast<QWidget*>(object);
-
- switch (e->type())
+ QWidget *widget = static_cast<QWidget*>(object);
+
+ switch (e->type())
{
case QEvent::MouseMove:
{
QMouseEvent *event = static_cast<QMouseEvent*>(e);
- if (m_enable && (widget->rect().contains(event->pos()) ||
- (event->buttons() & Qt::LeftButton)))
+ if (m_enable)
{
show();
QPoint p = widget->mapToGlobal(QPoint(widget->width()/2, 0));
@@ -81,32 +80,28 @@
}
break;
}
-
- case QEvent::MouseButtonRelease:
+
+ case QEvent::Leave:
{
- QMouseEvent* event = static_cast<QMouseEvent*>(e);
- if ( !widget->rect().contains(event->pos()) )
- {
- hide();
- }
+ hide();
break;
}
-
+
default:
break;
- }
+ }
- return false;
+ return false;
}
DTipTracker::DTipTracker(const QString& txt, QWidget *parent)
: DCursorTracker(txt, parent)
{
- setPalette(QToolTip::palette());
- setFrameStyle(QFrame::Plain | QFrame::Box);
- setLineWidth(1);
- setAlignment(Qt::AlignLeft | Qt::AlignTop);
+ setPalette(QToolTip::palette());
+ setFrameStyle(QFrame::Plain | QFrame::Box);
+ setLineWidth(1);
+ setAlignment(Qt::AlignLeft | Qt::AlignTop);
}
} // namespace Digikam
More information about the Digikam-devel
mailing list