Source Code (Use browser search to find items of interest.)
Class Index
ksnake'Keys (./kdegames/ksnake/keys.h:8)
class Keys : public QDialog
{
Q_OBJECT
public:
Keys( QWidget *parent=0, const char *name=0 );
private slots:
void butRight();
void butLeft();
void butUp();
void butDown();
void getKey(int);
void defaults();
void focusIn(QLabel *);
void focusOut(QLabel *);
void ok();
protected:
void keyPressEvent( QKeyEvent * );
private:
void init();
QLabel *labels[4];
QLabel *lab;
};
ksnake'Keys::Keys() (./kdegames/ksnake/keys.cpp:17)
Keys::Keys( QWidget *parent, const char *name)
: QDialog( parent, name, TRUE )
{
QPushButton *okButton = new QPushButton(this);
okButton->setText(i18n("OK"));
okButton->setFixedSize(okButton->size());
connect( okButton, SIGNAL(clicked()),this, SLOT(ok()) );
okButton->move(20,210);
QPushButton *defaultButton = new QPushButton(this);
defaultButton->setText(i18n("Defaults"));
defaultButton->setFixedSize(defaultButton->size());
connect( defaultButton, SIGNAL(clicked()),this, SLOT(defaults()) );
defaultButton->move(140,210);
QPushButton *cancelButton = new QPushButton(this);
cancelButton->setText(i18n("Cancel"));
cancelButton->setFixedSize(cancelButton->size());
connect( cancelButton, SIGNAL(clicked()),this, SLOT(reject()) );
cancelButton->move(260,210);
QFrame *separator = new QFrame(this);
separator->setFrameStyle( QFrame::HLine | QFrame::Sunken );
separator->setGeometry( 20, 190, 340, 4 );
for ( int x = 0; x < 4; x++) {
QLabel *l = new QLabel(this);
l->setAlignment(AlignCenter);
labels[x] = l;
}
labels[0]->setGeometry(120, 20, 140, 20 );
labels[1]->setGeometry(120,160, 140, 20 );
labels[2]->setGeometry( 20, 92, 100, 20 );
labels[3]->setGeometry(265, 92, 100, 20 );
QPushButton *up = new QPushButton(this);
up->setPixmap( BarIcon("up"));
up->adjustSize();
up->setFixedSize(up->size() );
connect( up, SIGNAL(clicked()),this, SLOT(butUp()) );
up->move(180, 50);
QPushButton *down = new QPushButton(this);
down->setPixmap( BarIcon("down"));
down->adjustSize();
down->setFixedSize(down->size() );
connect( down, SIGNAL(clicked()),this, SLOT(butDown()) );
down->move(180, 130);
QPushButton *left = new QPushButton(this);
left->setPixmap( BarIcon("left"));
left->adjustSize();
left->setFixedSize(left->size() );
connect( left, SIGNAL(clicked()),this, SLOT(butLeft()) );
left->move(140, 90);
QPushButton *right = new QPushButton(this);
right->setPixmap( BarIcon("right"));
right->adjustSize();
right->setFixedSize(right->size() );
connect( right, SIGNAL(clicked()),this, SLOT(butRight()) );
right->move(220, 90);
setCaption(i18n("Change Direction Keys"));
setFixedSize(380, 260);
lab = 0;
init();
}
ksnake'Keys::keyPressEvent() (./kdegames/ksnake/keys.cpp:90)
void Keys::keyPressEvent( QKeyEvent *e )
{
uint kCode = e->key() & ~(SHIFT | CTRL | ALT);
QString string = KAccel::keyToString(kCode);
if (lab != 0) {
if ( string.isNull() )
lab->setText(i18n("Undefined key"));
else lab->setText(string);
}
else if ( lab == 0 && e->key() == Key_Escape)
reject();
}
ksnake'Keys::butUp() (./kdegames/ksnake/keys.cpp:104)
void Keys::butUp()
{
getKey(0);
}
ksnake'Keys::butDown() (./kdegames/ksnake/keys.cpp:109)
void Keys::butDown()
{
getKey(1);
}
ksnake'Keys::butLeft() (./kdegames/ksnake/keys.cpp:114)
void Keys::butLeft()
{
getKey(2);
}
ksnake'Keys::butRight() (./kdegames/ksnake/keys.cpp:119)
void Keys::butRight()
{
getKey(3);
}
ksnake'Keys::getKey() (./kdegames/ksnake/keys.cpp:124)
void Keys::getKey(int i)
{
if ( lab != 0)
focusOut(lab);
focusIn(labels[i]);
}
ksnake'Keys::focusOut() (./kdegames/ksnake/keys.cpp:132)
void Keys::focusOut(QLabel *l)
{
l->setFrameStyle( QFrame::NoFrame );
l->setBackgroundColor(backgroundColor());
l->repaint();
}
ksnake'Keys::focusIn() (./kdegames/ksnake/keys.cpp:139)
void Keys::focusIn(QLabel *l)
{
lab = l;
lab->setFrameStyle( QFrame::Panel | QFrame::Sunken );
lab->setBackgroundColor(white);
lab->repaint();
}
ksnake'Keys::defaults() (./kdegames/ksnake/keys.cpp:147)
void Keys::defaults()
{
if ( lab != 0)
focusOut(lab);
lab = 0;
labels[0]->setText(i18n("Up"));
labels[1]->setText(i18n("Down"));
labels[2]->setText(i18n("Left"));
labels[3]->setText(i18n("Right"));
}
ksnake'Keys::init() (./kdegames/ksnake/keys.cpp:160)
void Keys::init()
{
KConfig *conf = kapp->config();
if(conf != NULL) {
QString up = conf->readEntry("upKey", "Up");
labels[0]->setText(up);
QString down = conf->readEntry("downKey", "Down");
labels[1]->setText(down);
QString left = conf->readEntry("leftKey", "Left");
labels[2]->setText(left);
QString right = conf->readEntry("rightKey", "Right");
labels[3]->setText(right);
}
}
ksnake'Keys::ok() (./kdegames/ksnake/keys.cpp:178)
void Keys::ok()
{
KConfig *conf = kapp->config();
if(conf != NULL) {
conf->writeEntry("upKey", labels[0]->text() );
conf->writeEntry("downKey", labels[1]->text() );
conf->writeEntry("leftKey", labels[2]->text() );
conf->writeEntry("rightKey",labels[3]->text() );
}
accept();
}