Fixed the moving around of the InfoPanel on non KDE enviroments.

This patch restores the ability to move the info-overlay panel on the
profile. For some reason the eventFilter wasn't working (and actually,
looking at the code, it really shouldn't, because I didn't see where I set
it to work, maybe someone (me) broke it a long time ago) well, it seems
fixed now at least. :)

Tested on XFCE, Gnome and KDE, with three different window managers.

[Dirk Hohndel: removed debug output]

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2013-10-15 23:18:09 -03:00 committed by Dirk Hohndel
parent c59d594e00
commit 22afca58bf
2 changed files with 2 additions and 21 deletions

View file

@ -1392,8 +1392,7 @@ ToolTipItem::ToolTipItem(QGraphicsItem* parent): QGraphicsPathItem(parent), back
{
title = new QGraphicsSimpleTextItem(tr("Information"), this);
separator = new QGraphicsLineItem(this);
dragging = false;
setFlag(ItemIgnoresTransformations);
setFlags(ItemIgnoresTransformations | ItemIsMovable);
status = COLLAPSED;
updateTitlePosition();
setZValue(99);
@ -1440,12 +1439,7 @@ bool ToolTipItem::isExpanded() {
void ToolTipItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
{
persistPos();
dragging = false;
}
void ToolTipItem::mousePressEvent(QGraphicsSceneMouseEvent* event)
{
dragging = true;
QGraphicsPathItem::mouseReleaseEvent(event);
}
void ToolTipItem::persistPos()
@ -1468,16 +1462,6 @@ void ToolTipItem::readPos()
setPos(value);
}
bool ToolTipItem::eventFilter(QObject* view, QEvent* event)
{
if (event->type() == QEvent::HoverMove && dragging){
QHoverEvent *e = static_cast<QHoverEvent*>(event);
QGraphicsView *v = scene()->views().at(0);
setPos( v->mapToScene(e->pos()));
}
return false;
}
QColor EventItem::getColor(const color_indice_t i)
{
return profile_color[i].at((isGrayscale) ? 1 : 0);

View file

@ -39,9 +39,7 @@ public:
bool isExpanded();
void persistPos();
void readPos();
void mousePressEvent(QGraphicsSceneMouseEvent* event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
bool eventFilter(QObject* , QEvent* );
public slots:
void setRect(const QRectF& rect);
@ -53,7 +51,6 @@ private:
QGraphicsSimpleTextItem *title;
Status status;
QRectF rectangle;
bool dragging;
QRectF nextRectangle;
};