Split text section into blocks

The aim is to be able to use separate delegate for things like codeblocks and quotes so that they can be styled differently.

![image](/uploads/c813c0d1767f45df14cebe632e2ee10a/image.png)
This commit is contained in:
James Graham
2024-02-27 18:52:06 +00:00
parent ca439b0f86
commit 1fac6ca34a
12 changed files with 702 additions and 130 deletions

View File

@@ -37,6 +37,8 @@ public:
Image, /**< A message that is an image. */
Audio, /**< A message that is an audio recording. */
Video, /**< A message that is a video. */
Code, /**< A code section. */
Quote, /**< A quote section. */
File, /**< A message that is a file. */
Poll, /**< The initial event for a poll. */
Location, /**< A location event. */
@@ -104,4 +106,22 @@ public:
return MessageComponentType::Other;
}
/**
* @brief Return MessageComponentType for the given html tag.
*
* @param tag the tag name to return a type for.
*
* @sa Type
*/
static Type typeForTag(const QString &tag)
{
if (tag == QLatin1String("pre") || tag == QLatin1String("pre")) {
return Code;
}
if (tag == QLatin1String("blockquote")) {
return Quote;
}
return Text;
}
};