take the correct filename for synthax highlighting in code block

This commit is contained in:
Andreas Gattringer
2024-07-15 15:46:15 +02:00
parent 20f9a86ad9
commit d574a97a35

View File

@@ -446,14 +446,16 @@ QList<MessageComponent> MessageContentModel::componentsForType(MessageComponentT
Q_ASSERT(event->content() != nullptr && event->content()->fileInfo() != nullptr); Q_ASSERT(event->content() != nullptr && event->content()->fileInfo() != nullptr);
const QMimeType mimeType = event->content()->fileInfo()->mimeType; const QMimeType mimeType = event->content()->fileInfo()->mimeType;
if (mimeType.name() == QStringLiteral("text/plain") || mimeType.parentMimeTypes().contains(QStringLiteral("text/plain"))) { if (mimeType.name() == QStringLiteral("text/plain") || mimeType.parentMimeTypes().contains(QStringLiteral("text/plain"))) {
KSyntaxHighlighting::Repository repository; QString originalName = event->content()->fileInfo()->originalName;
KSyntaxHighlighting::Definition definitionForFile = repository.definitionForFileName(fileTransferInfo.localPath.path()); if (originalName.isEmpty()) {
if (!definitionForFile.isValid()) { originalName = event->plainBody();
definitionForFile = repository.definitionForFileName(event->content()->fileInfo()->originalName);
} }
KSyntaxHighlighting::Repository repository;
KSyntaxHighlighting::Definition definitionForFile = repository.definitionForFileName(originalName);
if (!definitionForFile.isValid()) { if (!definitionForFile.isValid()) {
definitionForFile = repository.definitionForMimeType(mimeType.name()); definitionForFile = repository.definitionForMimeType(mimeType.name());
} }
QFile file(fileTransferInfo.localPath.path()); QFile file(fileTransferInfo.localPath.path());
file.open(QIODevice::ReadOnly); file.open(QIODevice::ReadOnly);
components += MessageComponent{MessageComponentType::Code, components += MessageComponent{MessageComponentType::Code,