Browse Source

Add group invitation button to desktop PM header

master
evgeny 7 days ago
parent
commit
01aa692a56
  1. 19
      tools/chatgui/src/messagelist.cpp
  2. 3
      tools/chatgui/src/messagelist.h

19
tools/chatgui/src/messagelist.cpp

@ -365,6 +365,24 @@ MessageList::MessageList(DbManager* db, AudioRecorder* recorder, QWidget *parent
m_talkingLabel->hide();
hl->addWidget(m_talkingLabel);
m_inviteBtn = new QPushButton(QStringLiteral("+"), header);
m_inviteBtn->setAccessibleName(QStringLiteral("Пригласить в группу"));
m_inviteBtn->setToolTip(QStringLiteral("Пригласить в группу"));
m_inviteBtn->setFixedSize(34, 30);
m_inviteBtn->setCursor(Qt::PointingHandCursor);
m_inviteBtn->hide();
hl->addWidget(m_inviteBtn);
connect(m_inviteBtn, &QPushButton::clicked, this, [this]() {
if (!m_db || !isDmChannel(m_currentChannelId)) return;
for (const auto& conv : m_db->getDmConversations()) {
if (conv.convId == dmConvId(m_currentChannelId)) {
emit inviteRequested(QString(), conv.peerNodeId, m_channelTitle->text());
return;
}
}
GUI_ERROR("invite PM: conversation not found target=%s", qPrintable(m_currentChannelId));
});
m_callBtn = new QPushButton(QStringLiteral("☎"), header);
m_callBtn->setAccessibleName(QStringLiteral("Позвонить"));
m_callBtn->setFixedSize(34, 30);
@ -625,6 +643,7 @@ void MessageList::loadChannel(const QString& channelId) {
m_currentChannelId = channelId;
clearDmCallRoute();
m_callBtn->setVisible(isDmChannel(channelId));
m_inviteBtn->setVisible(isDmChannel(channelId));
m_peerStatus->setVisible(isDmChannel(channelId));
m_radioBtn->setVisible(!isDmChannel(channelId));
m_inputBar->setRecordingContext(m_db ? m_db->dbPath() + "/media" : QString(), channelId);

3
tools/chatgui/src/messagelist.h

@ -44,6 +44,8 @@ signals:
void callRequested(const QString& target, quint64 peer, const QString& name);
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);
private:
ChatView *m_view;
@ -63,6 +65,7 @@ private:
QLabel* m_channelTitle = nullptr; /* шапка: название канала */
QLabel* m_talkingLabel = nullptr; /* шапка: кто говорит в рации */
QPushButton* m_callBtn = nullptr;
QPushButton* m_inviteBtn = nullptr;
quint64 m_callPeer = 0;
quint64 m_callGroup = 0;
QPushButton* m_radioBtn = nullptr; /* шапка: переключатель рации */

Loading…
Cancel
Save