Source Code (Use browser search to find items of interest.)
Class Index
kdevelop'KAccelInput (./kdevelop/kdevelop/kwrite/kguicommand.h:271)
class KAccelInput : public QLineEdit {
Q_OBJECT
public:
KAccelInput(QWidget *parent);
int getKeyCode1();
int getKeyCode2();
void clear();
signals:
void valid(bool);
void changed();
// public slots:
// void removeModifiers();
protected:
void setContents();
virtual void keyPressEvent(QKeyEvent *);
virtual void keyReleaseEvent(QKeyEvent *);
int pos;
int keyCodes[2];
};
kdevelop'KAccelInput::KAccelInput() (./kdevelop/kdevelop/kwrite/kguicommand.cpp:897)
KAccelInput::KAccelInput(QWidget *parent) : QLineEdit(parent) {
pos = 0;
keyCodes[0] = keyCodes[1] = 0;
}
kdevelop'KAccelInput::getKeyCode1() (./kdevelop/kdevelop/kwrite/kguicommand.cpp:902)
int KAccelInput::getKeyCode1() {
return keyCodes[0];
}
kdevelop'KAccelInput::getKeyCode2() (./kdevelop/kdevelop/kwrite/kguicommand.cpp:906)
int KAccelInput::getKeyCode2() {
return keyCodes[1];
}
kdevelop'KAccelInput::clear() (./kdevelop/kdevelop/kwrite/kguicommand.cpp:910)
void KAccelInput::clear() {
//clear input line
pos = 0;
keyCodes[0] = keyCodes[1] = 0;
setText("");
emit valid(false);
emit changed();
}
/*
void KAccelInput::removeModifiers() {
keyCodes[0] &= ~modifierMask;
keyCodes[1] &= ~modifierMask;
setContents();
emit changed();
}
*/
kdevelop'KAccelInput::setContents() (./kdevelop/kdevelop/kwrite/kguicommand.cpp:927)
void KAccelInput::setContents() {
QString s = keyToLanguage(keyCodes[0]);
if (keyCodes[1] != 0) {
s += ", ";
s += keyToLanguage(keyCodes[1]);
}
setText(s);
}
kdevelop'KAccelInput::keyPressEvent() (./kdevelop/kdevelop/kwrite/kguicommand.cpp:936)
void KAccelInput::keyPressEvent(QKeyEvent *e) {
int keyCode, modifiers, m;
keyCode = e->key();
if (isSpecialKey(keyCode)) return;
if ((pos != 0 && keyCode == Key_Backspace) || pos >= 2) {
clear();
if (keyCode == Key_Backspace) return;
}
modifiers = globalModifiers;//((KGuiCmdApp *) kapp)->getModifiers();
m = modifier2Flag(keyCode);
if (m) {
//modifier pressed
keyCodes[pos] = modifiers |= m;
} else {
//key pressed
keyCodes[pos] = keyCode | modifiers;
if (pos == 0) emit valid(true);
emit changed();
pos++;
}
//set contents of input line
setContents();
}
kdevelop'KAccelInput::keyReleaseEvent() (./kdevelop/kdevelop/kwrite/kguicommand.cpp:963)
void KAccelInput::keyReleaseEvent(QKeyEvent *e) {
int m;
//remove modifier flags on release
m = modifier2Flag(e->key());
if (m && pos < 2) {
keyCodes[pos] &= ~m;
setContents();
}
}