diff options
Diffstat (limited to 'Swift/QtUI/QtTabbable.cpp')
-rw-r--r-- | Swift/QtUI/QtTabbable.cpp | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/Swift/QtUI/QtTabbable.cpp b/Swift/QtUI/QtTabbable.cpp index 0e08343..bad6315 100644 --- a/Swift/QtUI/QtTabbable.cpp +++ b/Swift/QtUI/QtTabbable.cpp @@ -23,47 +23,47 @@ QtTabbable::QtTabbable() : QWidget() { } QtTabbable::~QtTabbable() { - emit windowClosing(); + emit windowClosing(); } bool QtTabbable::isWidgetSelected() { - /*isActiveWindow() shouldn't be necessary, but I don't trust it as far as I can throw it*/ - if (!isActiveWindow()) { - return false; - } - QtChatTabs* parent = qobject_cast<QtChatTabs*>(window()); - return parent ? parent->getCurrentTab() == this : isAncestorOf(QApplication::focusWidget()); + /*isActiveWindow() shouldn't be necessary, but I don't trust it as far as I can throw it*/ + if (!isActiveWindow()) { + return false; + } + QtChatTabs* parent = qobject_cast<QtChatTabs*>(window()); + return parent ? parent->getCurrentTab() == this : isAncestorOf(QApplication::focusWidget()); } bool QtTabbable::event(QEvent* event) { - QKeyEvent* keyEvent = dynamic_cast<QKeyEvent*>(event); - if (keyEvent) { - // According to Qt's focus documentation, one can only override CTRL+TAB via reimplementing QWidget::event(). - if (keyEvent->modifiers().testFlag(QtUtilities::ctrlHardwareKeyModifier) && keyEvent->key() == Qt::Key_Tab) { - // Only handle KeyRelease event as Linux also generate KeyPress event in case of CTRL+TAB being pressed - // in the roster of a MUC. - if (keyEvent->type() == QEvent::KeyRelease) { - emit requestNextTab(); - } - return true; - } + QKeyEvent* keyEvent = dynamic_cast<QKeyEvent*>(event); + if (keyEvent) { + // According to Qt's focus documentation, one can only override CTRL+TAB via reimplementing QWidget::event(). + if (keyEvent->modifiers().testFlag(QtUtilities::ctrlHardwareKeyModifier) && keyEvent->key() == Qt::Key_Tab) { + // Only handle KeyRelease event as Linux also generate KeyPress event in case of CTRL+TAB being pressed + // in the roster of a MUC. + if (keyEvent->type() == QEvent::KeyRelease) { + emit requestNextTab(); + } + return true; + } #ifdef SWIFTEN_PLATFORM_LINUX - else if (keyEvent->modifiers().testFlag(QtUtilities::ctrlHardwareKeyModifier) && keyEvent->key() == Qt::Key_Backtab && keyEvent->type() != QEvent::KeyRelease) { + else if (keyEvent->modifiers().testFlag(QtUtilities::ctrlHardwareKeyModifier) && keyEvent->key() == Qt::Key_Backtab && keyEvent->type() != QEvent::KeyRelease) { #else - else if (keyEvent->modifiers().testFlag(QtUtilities::ctrlHardwareKeyModifier) && keyEvent->key() == Qt::Key_Backtab) { + else if (keyEvent->modifiers().testFlag(QtUtilities::ctrlHardwareKeyModifier) && keyEvent->key() == Qt::Key_Backtab) { #endif #ifdef SWIFTEN_PLATFORM_WINDOWS - // Windows emits both the KeyPress and KeyRelease events. - if (keyEvent->type() == QEvent::KeyPress) { + // Windows emits both the KeyPress and KeyRelease events. + if (keyEvent->type() == QEvent::KeyPress) { #else - if (keyEvent->type() != QEvent::ShortcutOverride) { + if (keyEvent->type() != QEvent::ShortcutOverride) { #endif - emit requestPreviousTab(); - } - return true; - } - } - return QWidget::event(event); + emit requestPreviousTab(); + } + return true; + } + } + return QWidget::event(event); } } |