| 1371 | } |
| 1372 | |
| 1373 | void SearchReplaceWidget::setValue(Column* column, DataType type, int row, const QString& replaceValue) { |
| 1374 | switch (type) { |
| 1375 | case DataType::Text: |
| 1376 | column->setTextAt(row, replaceValue); |
| 1377 | break; |
| 1378 | case DataType::Numeric: { |
| 1379 | bool ok; |
| 1380 | const auto mode = column->columnMode(); |
| 1381 | if (mode == AbstractColumn::ColumnMode::Double) { |
| 1382 | const double value = QLocale().toDouble(replaceValue, &ok); |
| 1383 | if (ok) |
| 1384 | column->setValueAt(row, value); |
| 1385 | } else if (mode == AbstractColumn::ColumnMode::Integer) { |
| 1386 | const int value = QLocale().toInt(replaceValue, &ok); |
| 1387 | if (ok) |
| 1388 | column->setIntegerAt(row, value); |
| 1389 | } else if (mode == AbstractColumn::ColumnMode::BigInt) { |
| 1390 | const qint64 value = QLocale().toLongLong(replaceValue, &ok); |
| 1391 | if (ok) |
| 1392 | column->setBigIntAt(row, value); |
| 1393 | } |
| 1394 | break; |
| 1395 | } |
| 1396 | case DataType::DateTime: |
| 1397 | const auto& value = uiSearchReplace.dteReplace->dateTime(); |
| 1398 | if (value.isValid()) |
| 1399 | column->setDateTimeAt(row, value); |
| 1400 | break; |
| 1401 | } |
| 1402 | } |
| 1403 | |
| 1404 | void SearchReplaceWidget::highlight(DataType type, bool invalid) { |
| 1405 | switch (type) { |
no test coverage detected