Make it so that the menus for individual thread messages can be accessed
This is mostly just for text type messages at the moment but give the framework so that when other message types can be sent in threads they can be added easily
This commit is contained in:
@@ -82,6 +82,38 @@ void MessageAttached::setMaxContentWidth(qreal maxContentWidth)
|
||||
Q_EMIT maxContentWidthChanged();
|
||||
}
|
||||
|
||||
QString MessageAttached::selectedText() const
|
||||
{
|
||||
return m_selectedText;
|
||||
}
|
||||
|
||||
void MessageAttached::setSelectedText(const QString &selectedTest)
|
||||
{
|
||||
m_explicitSelectedText = true;
|
||||
if (m_selectedText == selectedTest) {
|
||||
return;
|
||||
}
|
||||
m_selectedText = selectedTest;
|
||||
propagateMessage(this);
|
||||
Q_EMIT selectedTextChanged();
|
||||
}
|
||||
|
||||
QString MessageAttached::hoveredLink() const
|
||||
{
|
||||
return m_hoveredLink;
|
||||
}
|
||||
|
||||
void MessageAttached::setHoveredLink(const QString &hoveredLink)
|
||||
{
|
||||
m_explicitHoveredLink = true;
|
||||
if (m_hoveredLink == hoveredLink) {
|
||||
return;
|
||||
}
|
||||
m_hoveredLink = hoveredLink;
|
||||
propagateMessage(this);
|
||||
Q_EMIT hoveredLinkChanged();
|
||||
}
|
||||
|
||||
void MessageAttached::propagateMessage(MessageAttached *message)
|
||||
{
|
||||
if (m_explicitRoom || m_room != message->room()) {
|
||||
@@ -104,6 +136,16 @@ void MessageAttached::propagateMessage(MessageAttached *message)
|
||||
Q_EMIT maxContentWidthChanged();
|
||||
}
|
||||
|
||||
if (m_explicitSelectedText || m_selectedText != message->selectedText()) {
|
||||
m_selectedText = message->selectedText();
|
||||
Q_EMIT selectedTextChanged();
|
||||
}
|
||||
|
||||
if (m_explicitHoveredLink || m_hoveredLink != message->hoveredLink()) {
|
||||
m_hoveredLink = message->hoveredLink();
|
||||
Q_EMIT hoveredLinkChanged();
|
||||
}
|
||||
|
||||
const auto styles = attachedChildren();
|
||||
for (auto *child : attachedChildren()) {
|
||||
MessageAttached *message = qobject_cast<MessageAttached *>(child);
|
||||
|
||||
Reference in New Issue
Block a user