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

//-----------------------------------------------------------------------------