summaryrefslogtreecommitdiff
path: root/src/solverwindow.cc
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2013-08-03 09:31:17 +0000
committerStijn Buys <ingar@osirion.org>2013-08-03 09:31:17 +0000
commitd7f292f0abbffb24dc683d754a2ab4b8b2938cc0 (patch)
treeab84004b8ab38916803ac39feea84f111b59df73 /src/solverwindow.cc
parent850441d72ad73e6bcf3570e3f62287c28eaead31 (diff)
Adds an option to mark cells with a unique solution.
Diffstat (limited to 'src/solverwindow.cc')
-rw-r--r--src/solverwindow.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/solverwindow.cc b/src/solverwindow.cc
index 623caa3..de768cf 100644
--- a/src/solverwindow.cc
+++ b/src/solverwindow.cc
@@ -24,6 +24,11 @@ SolverWindow::SolverWindow()
setLayout(windowlayout);
}
+const bool SolverWindow::showHintUnique() const
+{
+ return solverwindow_sudokuwidget->showHintUnique();
+}
+
void SolverWindow::openFromFile(const QString & filename)
{
QFile file(filename);
@@ -187,7 +192,7 @@ void SolverWindow::doStep()
}
Sudoku solution(sudoku);
- int solved = solution.solve_rules();
+ int solved = solution.solve_coverage() + solution.solve_constraints();
if (solved == 0) {
QMessageBox::warning(this, tr("Step"), tr("No more cells to solve!"));
return;
@@ -317,6 +322,11 @@ void SolverWindow::doValidate()
QMessageBox::warning(this, tr("Validate"), tr("This sudoku is valid but can not be solved!"));
}
+void SolverWindow::doShowHintUnique()
+{
+ solverwindow_sudokuwidget->setShowHintUnique(!solverwindow_sudokuwidget->showHintUnique());
+}
+
void SolverWindow::step_constraints()
{
Sudoku sudoku;