Add group invitation button to desktop PM header
This commit is contained in:
1 parent
44e75e661e
commit
01aa692a56
2 files changed
+22
No files matched your search
@@ -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);
|
||||
|
||||
@@ -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; /* шапка: переключатель рации */
|
||||
|
||||
Reference in new issue
Block a user