Browse Source

Route message link activation through the Qt conversation view

master
evgeny 6 days ago
parent
commit
01fa1bc552
  1. 6
      tools/chatgui/src/messagelist.cpp
  2. 2
      tools/chatgui/src/messagelist.h

6
tools/chatgui/src/messagelist.cpp

@ -338,7 +338,7 @@ MessageList::MessageList(DbManager* db, AudioRecorder* recorder, QWidget *parent
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(0);
connect(m_view, &ChatView::inviteLinkActivated, this, &MessageList::inviteLinkActivated);
connect(m_view, &ChatView::linkActivated, this, &MessageList::linkActivated);
/* ── шапка чата: название канала + переключатель рации ── */
{
@ -415,9 +415,9 @@ MessageList::MessageList(DbManager* db, AudioRecorder* recorder, QWidget *parent
m_view->setModel(m_model);
auto* msgDelegate = new MessageDelegate(this);
m_view->setInviteHitTest([this, msgDelegate](const QModelIndex& index, const QPoint& point) {
m_view->setLinkHitTest([this, msgDelegate](const QModelIndex& index, const QPoint& point) {
QStyleOptionViewItem option; option.initFrom(m_view); option.widget = m_view; option.rect = m_view->visualRect(index);
return msgDelegate->inviteLinkAt(option, index, point);
return msgDelegate->linkAt(option, index, point);
});
msgDelegate->setVideoOpenCallback([this](const QString& path) {
emit openVideoRequested(path);

2
tools/chatgui/src/messagelist.h

@ -45,7 +45,7 @@ signals:
void openVideoRequested(const QString& filePath);
void openImageRequested(const QString& filePath);
void inviteRequested(const QString& sourceChannel, quint64 peer, const QString& name);
void inviteLinkActivated(const QString& link);
void linkActivated(const QString& link);
private:
ChatView *m_view;

Loading…
Cancel
Save