diff options
Diffstat (limited to 'Swift/QtUI/QtWebView.cpp')
-rw-r--r-- | Swift/QtUI/QtWebView.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Swift/QtUI/QtWebView.cpp b/Swift/QtUI/QtWebView.cpp new file mode 100644 index 0000000..a97357d --- /dev/null +++ b/Swift/QtUI/QtWebView.cpp @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2010 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + + +#include "Swift/QtUI/QtWebView.h" + +#include <QKeyEvent> +#include <QFocusEvent> + +namespace Swift { +QtWebView::QtWebView(QWidget* parent) : QWebView(parent) { + +} + +void QtWebView::keyPressEvent(QKeyEvent* event) { + Qt::KeyboardModifiers modifiers = event->modifiers(); + int key = event->key(); + if (modifiers == Qt::ShiftModifier && (key == Qt::Key_PageUp || key == Qt::Key_PageDown)) { + modifiers = Qt::NoModifier; + } + QKeyEvent* translatedEvent = new QKeyEvent(QEvent::KeyPress, + key, + modifiers, + event->text(), + event->isAutoRepeat(), + event->count()); + QWebView::keyPressEvent(translatedEvent); + delete translatedEvent; +} + +void QtWebView::focusInEvent(QFocusEvent* event) { + QWebView::focusInEvent(event); + emit gotFocus(); +} + +} |