Add automatic markdown formatting

This commit is contained in:
James Graham
2025-11-06 20:46:51 +00:00
parent 11bf741554
commit 4db1e1c437
16 changed files with 801 additions and 313 deletions

View File

@@ -9,7 +9,6 @@
#include "chatdocumenthandler.h"
#include "enums/chatbartype.h"
#include "enums/messagecomponenttype.h"
#include "enums/textstyle.h"
#include "messagecontentmodel.h"
ChatBarMessageContentModel::ChatBarMessageContentModel(QObject *parent)
@@ -278,16 +277,16 @@ ChatBarMessageContentModel::insertComponent(int row, MessageComponentType::Type
return it;
}
void ChatBarMessageContentModel::insertStyleAtCursor(TextStyle::Style style)
void ChatBarMessageContentModel::insertStyleAtCursor(RichFormat::Format style)
{
switch (style) {
case TextStyle::Paragraph:
case RichFormat::Paragraph:
insertComponentAtCursor(MessageComponentType::Text);
return;
case TextStyle::Code:
case RichFormat::Code:
insertComponentAtCursor(MessageComponentType::Code);
return;
case TextStyle::Quote:
case RichFormat::Quote:
insertComponentAtCursor(MessageComponentType::Quote);
return;
default:
@@ -299,7 +298,7 @@ void ChatBarMessageContentModel::insertComponentAtCursor(MessageComponentType::T
{
if (m_components[m_currentFocusComponent.row()].type == type) {
if (type == MessageComponentType::Text && focusedDocumentHandler()) {
focusedDocumentHandler()->setStyle(TextStyle::Paragraph);
focusedDocumentHandler()->setFormat(RichFormat::Paragraph);
}
return;
}

View File

@@ -9,7 +9,7 @@
#include "chatdocumenthandler.h"
#include "enums/messagecomponenttype.h"
#include "enums/textstyle.h"
#include "enums/richformat.h"
#include "messagecomponent.h"
#include "models/messagecontentmodel.h"
@@ -56,7 +56,7 @@ public:
Q_INVOKABLE void refocusCurrentComponent() const;
ChatDocumentHandler *focusedDocumentHandler() const;
Q_INVOKABLE void insertStyleAtCursor(TextStyle::Style style);
Q_INVOKABLE void insertStyleAtCursor(RichFormat::Format style);
Q_INVOKABLE void insertComponentAtCursor(MessageComponentType::Type type);