Handle other data source types in the debug console clipboard tab

This commit is contained in:
Vlad Zahorodnii 2024-08-13 15:56:23 +03:00
parent 95a8163c5b
commit 55b50a3e2b

View file

@ -572,20 +572,21 @@ static QString sourceString(const AbstractDataSource *const source)
return QString();
}
if (!source->client()) {
return QStringLiteral("XWayland source");
if (source->client()) {
const QString executable = waylandServer()->display()->getConnection(source->client())->executablePath();
if (auto dataSource = qobject_cast<const DataSourceInterface *const>(source)) {
return QStringLiteral("wl_data_source@%1 of %2").arg(wl_resource_get_id(dataSource->resource())).arg(executable);
} else if (qobject_cast<const PrimarySelectionSourceV1Interface *const>(source)) {
return QStringLiteral("zwp_primary_selection_source_v1 of %2").arg(executable);
} else if (qobject_cast<const DataControlSourceV1Interface *const>(source)) {
return QStringLiteral("data control by %1").arg(executable);
}
return QStringLiteral("unknown source of").arg(executable);
}
const QString executable = waylandServer()->display()->getConnection(source->client())->executablePath();
if (auto dataSource = qobject_cast<const DataSourceInterface *const>(source)) {
return QStringLiteral("wl_data_source@%1 of %2").arg(wl_resource_get_id(dataSource->resource())).arg(executable);
} else if (qobject_cast<const PrimarySelectionSourceV1Interface *const>(source)) {
return QStringLiteral("zwp_primary_selection_source_v1 of %2").arg(executable);
} else if (qobject_cast<const DataControlSourceV1Interface *const>(source)) {
return QStringLiteral("data control by %1").arg(executable);
}
return QStringLiteral("unknown source of").arg(executable);
return QStringLiteral("%1(0x%2)").arg(source->metaObject()->className()).arg(qulonglong(source), 0, 16);
}
DebugConsole::DebugConsole()