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();
}