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(); +} + +} | 
 Swift
 Swift