Source Code (Use browser search to find items of interest.)
Class Index
kmines'CustomDialog (./kdegames/kmines/dialogs.h:92)
class CustomDialog : public DialogBase
{
Q_OBJECT
public:
CustomDialog(Level &lev, QWidget *parent);
private slots:
void widthChanged(int);
void heightChanged(int);
void nbMinesChanged(int);
private:
KIntNumInput *km;
Level &lev, initLev;
void updateNbMines();
};
//-----------------------------------------------------------------------------
kmines'CustomDialog::CustomDialog() (./kdegames/kmines/dialogs.cpp:121)
CustomDialog::CustomDialog(Level &_lev, QWidget *parent)
: DialogBase(i18n("Customize your game"), Ok|Cancel, Cancel, parent),
lev(_lev), initLev(_lev)
{
// width
KIntNumInput *ki = new KIntNumInput(lev.width, plainPage());
ki->setLabel(i18n("Width"));
ki->setRange(8, 50);
connect(ki, SIGNAL(valueChanged(int)), SLOT(widthChanged(int)));
top->addWidget(ki);
// height
ki = new KIntNumInput(lev.height, plainPage());
ki->setLabel(i18n("Height"));
ki->setRange(8, 50);
connect(ki, SIGNAL(valueChanged(int)), SLOT(heightChanged(int)));
top->addWidget(ki);
// mines
km = new KIntNumInput(lev.nbMines, plainPage());
connect(km, SIGNAL(valueChanged(int)), SLOT(nbMinesChanged(int)));
top->addWidget(km);
updateNbMines();
}
kmines'CustomDialog::widthChanged() (./kdegames/kmines/dialogs.cpp:146)
void CustomDialog::widthChanged(int n)
{
lev.width = (uint)n;
updateNbMines();
}
kmines'CustomDialog::heightChanged() (./kdegames/kmines/dialogs.cpp:152)
void CustomDialog::heightChanged(int n)
{
lev.height = (uint)n;
updateNbMines();
}
kmines'CustomDialog::nbMinesChanged() (./kdegames/kmines/dialogs.cpp:158)
void CustomDialog::nbMinesChanged(int n)
{
lev.nbMines = (uint)n;
updateNbMines();
}
kmines'CustomDialog::updateNbMines() (./kdegames/kmines/dialogs.cpp:164)
void CustomDialog::updateNbMines()
{
uint nb = lev.width * lev.height;
km->setRange(1, nb - 2);
km->setLabel(i18n("Mines (%1%)").arg(100*lev.nbMines/nb));
enableButton(Ok, lev.width!=initLev.width || lev.height!=initLev.height
|| lev.nbMines!=initLev.nbMines);
}
//-----------------------------------------------------------------------------