Source Code (Use browser search to find items of interest.)
Class Index
kwrite'KGuiCmd (./kdeutils/kwrite/kguicommand.h:49)
class KGuiCmd : public QObject {
Q_OBJECT
friend KGuiCmdCategory;
friend KGuiCmdManager;
friend KGuiCmdActivator;
friend KGuiCmdCategoryActivator;
public:
KGuiCmd(int cmdNum, const QString &name, KGuiCmdCategory *);
// int getCommand() {return cmdNum;}
int accelCount();
void addAccel(int keyCode1, int keyCode2);
QString getAccelString(int pos = 0);
int containsAccel(int keyCode1, int keyCode2);
void removeAccel(int pos);
void removeAccel(int keyCode1, int keyCode2);
QString getName() {return i18n(name);}
QString getCategoryName();
void makeDefault();
void restoreDefault();
void saveAccels();
void restoreAccels();
void changeAccels();
void readConfig(KConfig *);
void writeConfig(KConfig *);
void emitAccelString();
signals:
void changed(const QString &accelString);
protected:
static const int nAccels = 4;
int cmdNum;
QString name;
KGuiCmdCategory *category;
KGuiCmdAccel accels[nAccels];
KGuiCmdAccel oldAccels[nAccels]; //for "cancel" in the dialog
KGuiCmdAccel defaultAccels[nAccels];
};
kwrite'KGuiCmd::KGuiCmd() (./kdeutils/kwrite/kguicommand.cpp:215)
KGuiCmd::KGuiCmd(int cmdNum, const QString &name, KGuiCmdCategory *c)
: cmdNum(cmdNum), name(name), category(c) {
int z;
for (z = 0; z < nAccels; z++) accels[z].keyCode1 = 0;
}
kwrite'KGuiCmd::accelCount() (./kdeutils/kwrite/kguicommand.cpp:222)
int KGuiCmd::accelCount() {
int z;
for (z = 0; z < nAccels; z++) {
if (accels[z].keyCode1 == 0) break;
}
return z;
}
kwrite'KGuiCmd::addAccel() (./kdeutils/kwrite/kguicommand.cpp:231)
void KGuiCmd::addAccel(int keyCode1, int keyCode2) {
int z;
for (z = 0; z < nAccels; z++) {
if (accels[z].keyCode1 == 0) {
accels[z].keyCode1 = keyCode1;
accels[z].keyCode2 = keyCode2;
break;
}
}
}
kwrite'KGuiCmd::getAccelString() (./kdeutils/kwrite/kguicommand.cpp:243)
QString KGuiCmd::getAccelString(int pos) {
QString res;
int keyCode;
keyCode = accels[pos].keyCode1;
if (keyCode != 0) {
res = keyToLanguage(keyCode);
keyCode = accels[pos].keyCode2;
if (keyCode != 0) {
res += ", ";
res += keyToLanguage(keyCode);
}
}
return res;
}
kwrite'KGuiCmd::containsAccel() (./kdeutils/kwrite/kguicommand.cpp:260)
int KGuiCmd::containsAccel(int keyCode1, int keyCode2) {
int z;
for (z = 0; z < nAccels; z++) {
if (accels[z].keyCode1 == 0) break;
if (accels[z].keyCode1 == keyCode1 && (accels[z].keyCode2 == keyCode2
|| accels[z].keyCode2 == 0 || keyCode2 == 0)) {
return z;
}
if (accels[z].equals(keyCode1, keyCode2)) return z;
}
return -1;
}
kwrite'KGuiCmd::removeAccel() (./kdeutils/kwrite/kguicommand.cpp:276)
void KGuiCmd::removeAccel(int z) {
while (z < nAccels -1) {
accels[z] = accels[z +1];
z++;
}
accels[z].keyCode1 = 0;
}
kwrite'KGuiCmd::removeAccel() (./kdeutils/kwrite/kguicommand.cpp:284)
void KGuiCmd::removeAccel(int keyCode1, int keyCode2) {
int n;
while ((n = containsAccel(keyCode1, keyCode2)) >= 0) {
removeAccel(n);
}
}
kwrite'KGuiCmd::getCategoryName() (./kdeutils/kwrite/kguicommand.cpp:292)
QString KGuiCmd::getCategoryName() {
return i18n(category->name);
}
kwrite'KGuiCmd::makeDefault() (./kdeutils/kwrite/kguicommand.cpp:296)
void KGuiCmd::makeDefault() {
int z;
for (z = 0; z < nAccels; z++) defaultAccels[z] = accels[z];
}
kwrite'KGuiCmd::restoreDefault() (./kdeutils/kwrite/kguicommand.cpp:301)
void KGuiCmd::restoreDefault() {
int z;
for (z = 0; z < nAccels; z++) accels[z] = defaultAccels[z];
}
kwrite'KGuiCmd::saveAccels() (./kdeutils/kwrite/kguicommand.cpp:306)
void KGuiCmd::saveAccels() {
int z;
for (z = 0; z < nAccels; z++) oldAccels[z] = accels[z];
}
kwrite'KGuiCmd::restoreAccels() (./kdeutils/kwrite/kguicommand.cpp:311)
void KGuiCmd::restoreAccels() {
int z;
for (z = 0; z < nAccels; z++) accels[z] = oldAccels[z];
}
kwrite'KGuiCmd::changeAccels() (./kdeutils/kwrite/kguicommand.cpp:316)
void KGuiCmd::changeAccels() {
if (!accels[0].equals(oldAccels[0].keyCode1, oldAccels[0].keyCode2)) {
emit changed(getAccelString());
}
}
kwrite'KGuiCmd::readConfig() (./kdeutils/kwrite/kguicommand.cpp:323)
void KGuiCmd::readConfig(KConfig *config) {
QString s;
int z, nextAccel, next;
s = removeAnd(name);
if (!config->hasKey(s)) return;
s = config->readEntry(s);
// s.detach(); //for QT < 2
while ((z = s.find(' ')) != -1) s.remove(z, 1);
if (s == "(Default)") return;
for (z = 0; z < nAccels; z++) {
accels[z].keyCode1 = 0;
accels[z].keyCode2 = 0;
}
z = 0;
while (!s.isEmpty()) {
nextAccel = s.find(';');
if (nextAccel == -1) nextAccel = s.length();
next = s.findRev(',', nextAccel -1);
if (next != -1) {
accels[z].keyCode2 = myStringToKey(s.mid(next +1, nextAccel - next -1));
} else next = nextAccel;
accels[z].keyCode1 = myStringToKey(s.left(next));
s.remove(0, nextAccel +1);
z++;
}
}
kwrite'KGuiCmd::writeConfig() (./kdeutils/kwrite/kguicommand.cpp:356)
void KGuiCmd::writeConfig(KConfig *config) {
QString key;
int count, z;
bool def;
key = removeAnd(name);
count = accelCount();
//are current accelerators the default accelerators?
if (count < nAccels && defaultAccels[count].keyCode1 != 0) {
def = false;
} else {
def = true;
for (z = 0; z < count; z++) {
if (!defaultAccels[z].equals(accels[z].keyCode1, accels[z].keyCode2)) {
def = false;
break;
}
}
}
if (def) {
//default
//is there a possibility to remove a key?
if (config->hasKey(key)) config->writeEntry(key, "(Default)");
} else {
//not default
QString s;
for (z = 0; z < count; z++) {
if (z != 0) s += ';';
s += keyToString(accels[z].keyCode1);
if (accels[z].keyCode2 != 0) {
s += ',';
s += keyToString(accels[z].keyCode2);
}
}
config->writeEntry(key, s);
}
}
kwrite'KGuiCmd::emitAccelString() (./kdeutils/kwrite/kguicommand.cpp:398)
void KGuiCmd::emitAccelString() {
emit changed(getAccelString());
}