* @brief Set a single widget setting key/value. */
| 525 | * @brief Set a single widget setting key/value. |
| 526 | */ |
| 527 | API::CommandResponse API::Handlers::WindowHandler::setWidgetSetting(const QString& id, |
| 528 | const QJsonObject& params) |
| 529 | { |
| 530 | if (!params.contains(QStringLiteral("widgetId")) || !params.contains(QStringLiteral("key")) |
| 531 | || !params.contains(QStringLiteral("settingValue"))) { |
| 532 | return CommandResponse::makeError( |
| 533 | id, |
| 534 | ErrorCode::MissingParam, |
| 535 | QStringLiteral("Missing required parameters: widgetId, key, settingValue")); |
| 536 | } |
| 537 | |
| 538 | const QString widget_id = params.value(QStringLiteral("widgetId")).toString(); |
| 539 | const QString key = params.value(QStringLiteral("key")).toString(); |
| 540 | const QVariant value = params.value(QStringLiteral("settingValue")).toVariant(); |
| 541 | |
| 542 | auto* pm = &DataModel::ProjectModel::instance(); |
| 543 | QMetaObject::invokeMethod( |
| 544 | pm, [pm, widget_id, key, value]() { pm->saveWidgetSetting(widget_id, key, value); }); |
| 545 | |
| 546 | QJsonObject result; |
| 547 | result[QStringLiteral("widgetId")] = widget_id; |
| 548 | result[QStringLiteral("key")] = key; |
| 549 | return CommandResponse::makeSuccess(id, result); |
| 550 | } |
nothing calls this directly
no test coverage detected