feat: include more data when copying messages as JSON (#5600)

This commit is contained in:
nerix
2024-09-28 12:40:15 +02:00
committed by GitHub
parent edf18a7a0f
commit e149be3820
16 changed files with 504 additions and 33 deletions
+6 -32
View File
@@ -256,40 +256,14 @@ void addHiddenContextMenuItems(QMenu *menu,
});
}
const auto *message = layout->getMessage();
auto message = layout->getMessagePtr();
if (message != nullptr)
if (message)
{
QJsonDocument jsonDocument;
QJsonObject jsonObject;
jsonObject["id"] = message->id;
jsonObject["searchText"] = message->searchText;
jsonObject["messageText"] = message->messageText;
jsonObject["flags"] = qmagicenum::enumFlagsName(message->flags.value());
if (message->reward)
{
QJsonObject reward;
reward["id"] = message->reward->id;
reward["title"] = message->reward->title;
reward["cost"] = message->reward->cost;
reward["isUserInputRequired"] =
message->reward->isUserInputRequired;
jsonObject["reward"] = reward;
}
else
{
jsonObject["reward"] = QJsonValue();
}
jsonDocument.setObject(jsonObject);
auto jsonString =
jsonDocument.toJson(QJsonDocument::JsonFormat::Indented);
menu->addAction("Copy message &JSON", [jsonString] {
crossPlatformCopy(jsonString);
menu->addAction("Copy message &JSON", [message] {
auto jsonString = QJsonDocument{message->toJson()}.toJson(
QJsonDocument::Indented);
crossPlatformCopy(QString::fromUtf8(jsonString));
});
}
}