summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2012-04-23 14:23:14 (GMT)
committerKevin Smith <git@kismith.co.uk>2012-04-23 16:37:33 (GMT)
commit5af9a5c5cd4d74b29ce5bf4882b5b8391f09b468 (patch)
treeccf3fc72e9dd2d65de6f1fe68027f5e5c13f3761 /Swift/QtUI/QtChatWindow.cpp
parentd3ff5908eadb86e14d6eae9c4c9f0b4c959088e9 (diff)
downloadswift-contrib-5af9a5c5cd4d74b29ce5bf4882b5b8391f09b468.zip
swift-contrib-5af9a5c5cd4d74b29ce5bf4882b5b8391f09b468.tar.bz2
Move accelerator handling for active-,next-,previous- and close-tab into QtTabbable.
Resolves: #1091 License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
Diffstat (limited to 'Swift/QtUI/QtChatWindow.cpp')
-rw-r--r--Swift/QtUI/QtChatWindow.cpp27
1 files changed, 8 insertions, 19 deletions
diff --git a/Swift/QtUI/QtChatWindow.cpp b/Swift/QtUI/QtChatWindow.cpp
index e4cb004..0d94ecd 100644
--- a/Swift/QtUI/QtChatWindow.cpp
+++ b/Swift/QtUI/QtChatWindow.cpp
@@ -216,26 +216,15 @@ void QtChatWindow::setTabComplete(TabComplete* completer) {
}
void QtChatWindow::handleKeyPressEvent(QKeyEvent* event) {
+ event->ignore();
+ QtTabbable::handleKeyPressEvent(event);
+ if (event->isAccepted()) {
+ return;
+ }
+ event->accept();
+
int key = event->key();
- Qt::KeyboardModifiers modifiers = event->modifiers();
- if (key == Qt::Key_W && modifiers == Qt::ControlModifier) {
- close();
- } else if (
- (key == Qt::Key_PageUp && modifiers == Qt::ControlModifier)
-// || (key == Qt::Key_Left && modifiers == (Qt::ControlModifier & Qt::ShiftModifier))
- ) {
- emit requestPreviousTab();
- } else if (
- (key == Qt::Key_PageDown && modifiers == Qt::ControlModifier)
-// || (key == Qt::Key_Right && modifiers == (Qt::ControlModifier & Qt::ShiftModifier)
- || (key == Qt::Key_Tab && modifiers == Qt::ControlModifier)
- ) {
- emit requestNextTab();
- } else if (
- (key == Qt::Key_A && modifiers == Qt::AltModifier)
- ) {
- emit requestActiveTab();
- } else if (key == Qt::Key_Tab) {
+ if (key == Qt::Key_Tab) {
tabComplete();
} else if ((key == Qt::Key_Up) && input_->toPlainText().isEmpty() && !(lastSentMessage_.isEmpty())) {
beginCorrection();