diff Applications/Qt/QCairoWidget.cpp @ 284:38b0ac8055b9 am-2

Qt: catch and forward keyboard events
author am@osimis.io
date Tue, 28 Aug 2018 11:09:37 +0200
parents 829163c6efc1
children 87376a645ee1
line wrap: on
line diff
--- a/Applications/Qt/QCairoWidget.cpp	Tue Aug 28 10:01:31 2018 +0200
+++ b/Applications/Qt/QCairoWidget.cpp	Tue Aug 28 11:09:37 2018 +0200
@@ -29,6 +29,7 @@
   QWidget(parent),
   context_(NULL)
 {
+  setFocusPolicy(Qt::StrongFocus); // catch keyPressEvents
 }
 
 QCairoWidget::~QCairoWidget()
@@ -134,6 +135,12 @@
   }
 }
 
+void QCairoWidget::keyPressEvent(QKeyEvent *event)
+{
+  OrthancStone::KeyboardModifiers stoneModifiers = GetKeyboardModifiers(event);
+
+  context_->GetCentralViewport().KeyPressed(event->text()[0].toLatin1(), stoneModifiers);
+}
 
 
 void QCairoWidget::resizeEvent(QResizeEvent* event)