void QKeyButton::setKey(QKeyEvent *e, bool bPress) { if (!m_bGrab) return; QStringList btns; unsigned state = e->state(); unsigned key_state = 0; QString keyName; QString name; log(L_DEBUG, "-> %X %X", e->key(), e->state()); switch (e->key()){ case Key_Shift: key_state = ShiftButton; break; case Key_Control: key_state = ControlButton; break; case Key_Alt: key_state = AltButton; break; #if COMPAT_QT_VERSION >= 0x030000 case Key_Meta: key_state = MetaButton; break; #endif default: name = QAccel::keyToString(e->key()); if ((name[0] == '<') && (name[(int)(name.length()-1)] == '>')) return; } if (bPress){ state |= key_state; }else{ state &= ~key_state; } if (state & AltButton) keyName += "Alt+"; if (state & ControlButton) keyName += "Ctrl+"; if (state & ShiftButton) keyName += "Shift+"; #if COMPAT_QT_VERSION >= 0x030000 if (state & MetaButton) keyName += "Meta+"; #endif setText(keyName + name); if (name.length()){ endGrab(); emit changed(); } }
void QKeyButton::setKey(QKeyEvent *e) { if (!m_bGrab) return; QStringList btns; ButtonState state = e->state(); QString keyName; if (state & AltButton) keyName += "Alt+"; if (state & ControlButton) keyName += "Ctrl+"; if (state & ShiftButton) keyName += "Shift+"; QString name = QAccel::keyToString(e->key()); if ((name[0] == '<') && (name[(int)(name.length()-1)] == '>')) return; setText(keyName + name); if (name.length()){ endGrab(); emit changed(); } }
void QKeyButton::setKey(QKeyEvent *e, bool bPress) { if (!m_bGrab) return; QStringList btns; Qt::KeyboardModifiers state = e->modifiers(); Qt::KeyboardModifiers key_state = 0; QString keyName; QString name; SIM::log(SIM::L_DEBUG, "-> %X %X", e->key(), (unsigned)e->modifiers()); switch (e->key()){ case Qt::Key_Shift: key_state = Qt::ShiftModifier; break; case Qt::Key_Control: key_state = Qt::ControlModifier; break; case Qt::Key_Alt: key_state = Qt::AltModifier; break; case Qt::Key_Meta: key_state = Qt::MetaModifier; break; default: name = (QString)QKeySequence(e->key()); if ((name[0] == '<') && (name[(int)(name.length()-1)] == '>')) return; } if (bPress){ state |= key_state; }else{ state &= ~key_state; } if (state & Qt::AltModifier) keyName += "Alt+"; if (state & Qt::ControlModifier) keyName += "Ctrl+"; if (state & Qt::ShiftModifier) keyName += "Shift+"; if (state & Qt::MetaModifier) keyName += "Meta+"; setText(keyName + name); if (name.length()){ endGrab(); emit changed(); } }
void QKeyButton::setKey(QKeyEvent *e) { if (!m_bGrab) return; QStringList btns; ButtonState state = e->state(); if (state & AltButton) btns.append("ALT"); if (state & ControlButton) btns.append("CTRL"); if (state & ShiftButton) btns.append("SHIFT"); const char *name = NULL; if (e->key() && (e->key() != Key_Alt) && (e->key() != Key_Control) && (e->key() != Key_Shift)) name = HotKeys::keyToString(e->key()); if (name) btns.append(name); setText(btns.join("-")); if (name){ endGrab(); emit changed(); } }
void QKeyButton::mousePressEvent(QMouseEvent *e) { QPushButton::mousePressEvent(e); endGrab(); }
void QKeyButton::focusOutEvent(QFocusEvent *e) { endGrab(); QPushButton::focusOutEvent(e); }