diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-08-20 15:12:16 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-08-20 15:12:16 (GMT) |
commit | a1d2cc819f381db6b7371c55d3c22ffe56596aed (patch) | |
tree | fde0ccfc77b9b74e0527db0b45781b5d4accdd3f /Swift/QtUI/QtWebView.cpp | |
parent | 7e78cc2b173db39f12e92a929ad17b706877e33d (diff) | |
download | swift-contrib-a1d2cc819f381db6b7371c55d3c22ffe56596aed.zip swift-contrib-a1d2cc819f381db6b7371c55d3c22ffe56596aed.tar.bz2 |
Focus the chat input again when the chat log is clicked.
Resolves: #532
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(); +} + +} |