MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / setWidgetSetting

Method setWidgetSetting

app/src/API/Handlers/WindowHandler.cpp:527–550  ·  view source on GitHub ↗

* @brief Set a single widget setting key/value. */

Source from the content-addressed store, hash-verified

525 * @brief Set a single widget setting key/value.
526 */
527API::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}

Callers

nothing calls this directly

Calls 4

toVariantMethod · 0.80
saveWidgetSettingMethod · 0.80
containsMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected