diff options
Diffstat (limited to 'src/sudokuwidget.cc')
-rw-r--r-- | src/sudokuwidget.cc | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/sudokuwidget.cc b/src/sudokuwidget.cc index 75fc3be..c870663 100644 --- a/src/sudokuwidget.cc +++ b/src/sudokuwidget.cc @@ -5,6 +5,16 @@ #include <QGridLayout> #include <QString> +/* + * TODO + * This should be moved into a global configuration sectoion + * with a settings dialog + * */ +const QColor color_invalid_value(255, 0, 0); +const QColor color_input_error(195, 195, 195); + + + SudokuWidget::SudokuWidget() { for (int row = 0; row < 9; row++) { @@ -31,6 +41,11 @@ void SudokuWidget::verify(const QString & text) values.cell(row, column).set_value(i); } else { values.cell(row, column).set_value(0); + QPalette child_palette(palette()); + if (!sudokuwidget_value[row][column]->text().isEmpty()) { + child_palette.setColor(QPalette::Base, color_input_error); + } + sudokuwidget_value[row][column]->setPalette(child_palette); } } } @@ -44,11 +59,10 @@ void SudokuWidget::verify(const QString & text) if ( (i > 0) && (i <= 9) ) { // set background color depending on the validity of the cell value if (!values.cell(row, column).valid()) { - // FIXME colors should be configurable - child_palette.setColor(QPalette::Base, QColor(255, 0, 0)); + child_palette.setColor(QPalette::Base, color_invalid_value); } + sudokuwidget_value[row][column]->setPalette(child_palette); } - sudokuwidget_value[row][column]->setPalette(child_palette); } } } @@ -69,11 +83,8 @@ void SudokuWidget::set_values(const Sudoku & values) sudokuwidget_value[row][column]->setText(str); // set background color depending on the validity of the cell value - if (values.cell(row, column).valid()) { - //child_palette.setColor(QPalette::Base, QColor(0, 0, 255)); - } else { - // FIXME colors should be configurable - child_palette.setColor(QPalette::Base, QColor(255, 0, 0)); + if (!values.cell(row, column).valid()) { + child_palette.setColor(QPalette::Base, color_invalid_value); } } else { sudokuwidget_value[row][column]->clear(); |