diff options
Diffstat (limited to 'sigmodr/widgets/mapeditor/WorldMapItem.cpp')
-rw-r--r-- | sigmodr/widgets/mapeditor/WorldMapItem.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sigmodr/widgets/mapeditor/WorldMapItem.cpp b/sigmodr/widgets/mapeditor/WorldMapItem.cpp index 6dceaed3..e614d2b2 100644 --- a/sigmodr/widgets/mapeditor/WorldMapItem.cpp +++ b/sigmodr/widgets/mapeditor/WorldMapItem.cpp @@ -80,6 +80,11 @@ void WorldMapItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* opti painter->setPen(QPen(m_locked ? Qt::red : Qt::black, 2)); painter->drawRect(QRect(0, 0, m_map->width(), m_map->height())); painter->setBrush(QBrush(Qt::yellow)); + if (option->state & QStyle::State_HasFocus) + { + painter->setPen(QPen(KStatefulBrush(KColorScheme::View, KColorScheme::FocusColor).brush(QPalette::Active), 3)); + painter->drawRect(boundingRect()); + } if (option->state & QStyle::State_MouseOver) { painter->setPen(QPen(KStatefulBrush(KColorScheme::View, KColorScheme::HoverColor).brush(QPalette::Active), 3)); @@ -108,6 +113,18 @@ bool WorldMapItem::isLocked() const return m_locked; } +void WorldMapItem::focusInEvent(QFocusEvent* event) +{ + QGraphicsItem::focusInEvent(event); + update(); +} + +void WorldMapItem::focusOutEvent(QFocusEvent* event) +{ + QGraphicsItem::focusOutEvent(event); + update(); +} + void WorldMapItem::hoverEnterEvent(QGraphicsSceneHoverEvent* event) { m_label->show(); |