X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/38c34eeca315c7be58e65d4d3fb72aaf7b866719..9691afbc507ee480d4d129a6fff90b6b926aed62:/src/kitemviews/kitemlistcontainer.cpp diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index 1d62c9620..1cac8f7a6 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -138,6 +138,21 @@ void KItemListContainer::keyPressEvent(QKeyEvent *event) } } +void KItemListContainer::contextMenuEvent(QContextMenuEvent *event) +{ + // Note copied from the keyPressEvent() method above because the same reasons probably also apply here. + // TODO: We should find a better way to handle the context menu events in the view. + // The reasons why we need this hack are: + // 1. Without reimplementing contextMenuEvent() here, the event would not reach the QGraphicsView. + // 2. By default, the KItemListView does not have the keyboard focus in the QGraphicsScene, so + // simply sending the event to the QGraphicsView which is the KItemListContainer's viewport + // does not work. + KItemListView *view = m_controller->view(); + if (view) { + QApplication::sendEvent(view, event); + } +} + void KItemListContainer::showEvent(QShowEvent *event) { QAbstractScrollArea::showEvent(event); @@ -175,6 +190,22 @@ void KItemListContainer::wheelEvent(QWheelEvent *event) smoothScroller->handleWheelEvent(event); } +void KItemListContainer::focusInEvent(QFocusEvent *event) +{ + KItemListView *view = m_controller->view(); + if (view) { + QApplication::sendEvent(view, event); + } +} + +void KItemListContainer::focusOutEvent(QFocusEvent *event) +{ + KItemListView *view = m_controller->view(); + if (view) { + QApplication::sendEvent(view, event); + } +} + void KItemListContainer::slotScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous) { Q_UNUSED(previous) @@ -396,3 +427,4 @@ void KItemListContainer::updateScrollOffsetScrollBarPolicy() } #include "kitemlistcontainer.moc" +#include "moc_kitemlistcontainer.cpp"