diff options
Diffstat (limited to 'src/solverwindow.cc')
-rw-r--r-- | src/solverwindow.cc | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/src/solverwindow.cc b/src/solverwindow.cc index 1ace44f..feace77 100644 --- a/src/solverwindow.cc +++ b/src/solverwindow.cc @@ -9,6 +9,12 @@ #include <QVBoxLayout> #include <QPushButton> +/* + * FIXME + * On windows, this results in a rather awkward directory. + * The homepath should probably be a setting. + * */ + const QString HOMEDIR(QDir::homePath() + "/.sudoku"); SolverWindow::SolverWindow() @@ -44,6 +50,11 @@ SolverWindow::SolverWindow() sidebarlayout->addWidget(stepcoveragebutton); connect(stepcoveragebutton, SIGNAL(clicked()), this, SLOT(step_coverage())); + // add validate button + QPushButton *validatebutton = new QPushButton(tr("Validate")); + sidebarlayout->addWidget(validatebutton); + connect(validatebutton, SIGNAL(clicked()), this, SLOT(validate())); + // add stretch sidebarlayout->addStretch(1); @@ -95,7 +106,7 @@ void SolverWindow::load() for (int column = 0; column < 9 ; column++) { int i; textstream >> i; - sudoku.set_value(row, column, i); + sudoku.cell(row, column).set_value(i); } } solverwindow_sudokuwidget->set_values(sudoku); @@ -135,7 +146,7 @@ void SolverWindow::save() solverwindow_sudokuwidget->get_values(sudoku); for (int row = 0; row < 9; row++) { for (int column = 0; column < 9 ; column++) { - textstream << sudoku.value(row, column); + textstream << sudoku.cell(row, column).value(); if (column < 8) { textstream << ' '; if ((column % 3) == 2) { @@ -180,4 +191,18 @@ void SolverWindow::step_coverage() int solved = sudoku.solve_coverage(); solverwindow_sudokuwidget->set_values(sudoku); qDebug() << solved << " cells solved"; -}
\ No newline at end of file +} + +void SolverWindow::validate() +{ + Sudoku sudoku; + solverwindow_sudokuwidget->get_values(sudoku); + if (sudoku.validate()) { + qDebug() << "sudoku is valid"; + } else { + qDebug() << "sudoku is not valid"; + } + solverwindow_sudokuwidget->set_values(sudoku); + qDebug() << "sudoku validated"; +} + |