Browse Source

Route message link activation through the Qt conversation view

master
evgeny 1 week 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->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(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); m_view->setModel(m_model);
auto* msgDelegate = new MessageDelegate(this); 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); 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) { msgDelegate->setVideoOpenCallback([this](const QString& path) {
emit openVideoRequested(path); emit openVideoRequested(path);

2
tools/chatgui/src/messagelist.h

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

Loading…
Cancel
Save