| 227 | } |
| 228 | |
| 229 | bool ContextBrowserView::event(QEvent* event) |
| 230 | { |
| 231 | auto* keyEvent = dynamic_cast<QKeyEvent*>(event); |
| 232 | |
| 233 | if (hasFocus() && keyEvent) { |
| 234 | auto* navigationWidget = qobject_cast<AbstractNavigationWidget*>(m_navigationWidget.data()); |
| 235 | if (navigationWidget && event->type() == QEvent::KeyPress) { |
| 236 | int key = keyEvent->key(); |
| 237 | if (key == Qt::Key_Left) |
| 238 | navigationWidget->previous(); |
| 239 | if (key == Qt::Key_Right) |
| 240 | navigationWidget->next(); |
| 241 | if (key == Qt::Key_Up) |
| 242 | navigationWidget->up(); |
| 243 | if (key == Qt::Key_Down) |
| 244 | navigationWidget->down(); |
| 245 | if (key == Qt::Key_Return || key == Qt::Key_Enter) |
| 246 | navigationWidget->accept(); |
| 247 | |
| 248 | if (key == Qt::Key_L) |
| 249 | m_lockAction->toggle(); |
| 250 | } |
| 251 | } |
| 252 | return QWidget::event(event); |
| 253 | } |
| 254 | |
| 255 | void ContextBrowserView::showEvent(QShowEvent* event) |
| 256 | { |