Source Code (Use browser search to find items of interest.)
Class Index
kwrite'KAccelInput (./kdeutils/kwrite/kguicommand.h:270)
class KAccelInput : public QLineEdit
{
Q_OBJECT
public:
KAccelInput(QWidget *parent);
int getKeyCode1();
int getKeyCode2();
void clear();
signals:
void valid(bool);
void changed();
// // not compiled public slots:
// void removeModifiers();
protected:
void setContents();
virtual void keyPressEvent(QKeyEvent *);
virtual void keyReleaseEvent(QKeyEvent *);
int pos;
int keyCodes[2];
};
kwrite'KAccelInput::KAccelInput() (./kdeutils/kwrite/kguicommand.cpp:906)
KAccelInput::KAccelInput(QWidget *parent) : QLineEdit(parent) {
pos = 0;
keyCodes[0] = keyCodes[1] = 0;
}
kwrite'KAccelInput::getKeyCode1() (./kdeutils/kwrite/kguicommand.cpp:911)
int KAccelInput::getKeyCode1() {
return keyCodes[0];
}
kwrite'KAccelInput::getKeyCode2() (./kdeutils/kwrite/kguicommand.cpp:915)
int KAccelInput::getKeyCode2() {
return keyCodes[1];
}
kwrite'KAccelInput::clear() (./kdeutils/kwrite/kguicommand.cpp:919)
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();
}
*/
kwrite'KAccelInput::setContents() (./kdeutils/kwrite/kguicommand.cpp:936)
void KAccelInput::setContents() {
QString s = keyToLanguage(keyCodes[0]);
if (keyCodes[1] != 0) {
s += ", ";
s += keyToLanguage(keyCodes[1]);
}
setText(s);
}
kwrite'KAccelInput::keyPressEvent() (./kdeutils/kwrite/kguicommand.cpp:945)
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 = convertModifiers(e->state());//globalModifiers;
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();
}
kwrite'KAccelInput::keyReleaseEvent() (./kdeutils/kwrite/kguicommand.cpp:972)
void KAccelInput::keyReleaseEvent(QKeyEvent *e) {
int m;
//remove modifier flags on release
m = modifier2Flag(e->key());
if (m && pos < 2) {
keyCodes[pos] &= ~m;
setContents();
}
}