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