chatgui: кнопка + для invite в каналах, автокопирование ссылки, автоподключение из буфера
- Замена контекстного меню 'Пригласить' на кнопку + (18x18) справа снизу каждого канала с hover-эффектом - InviteDialog: авто-копирование ссылки в буфер (Clipboard + Selection) при открытии - JoinDialog: параметр autoJoinLink — если в буфере валидная utun:// ссылка, диалог сразу стартует подключение
This commit is contained in:
1 parent
501b636d19
commit
e3286d409f
8 files changed
+107
-27
No files matched your search
@@ -13,6 +13,7 @@
|
||||
#include <QSplitter>
|
||||
#include <QCloseEvent>
|
||||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QStyle>
|
||||
#include <QMessageBox>
|
||||
#include <QDebug>
|
||||
@@ -253,10 +254,21 @@ void MainWindow::showJoinDialog() {
|
||||
QMessageBox::warning(this, "Error", "Node is not running.");
|
||||
return;
|
||||
}
|
||||
JoinDialog dlg(m_node, m_db, this);
|
||||
if (dlg.exec() == QDialog::Accepted) {
|
||||
m_channelList->loadChannels();
|
||||
|
||||
QString autoLink;
|
||||
QClipboard* cb = QApplication::clipboard();
|
||||
QString clipText = cb->text(QClipboard::Clipboard).trimmed();
|
||||
if (clipText.startsWith("utun://") && decodeInviteLink(clipText).error.isEmpty())
|
||||
autoLink = clipText;
|
||||
else if (cb->supportsSelection()) {
|
||||
QString selText = cb->text(QClipboard::Selection).trimmed();
|
||||
if (selText.startsWith("utun://") && decodeInviteLink(selText).error.isEmpty())
|
||||
autoLink = selText;
|
||||
}
|
||||
|
||||
JoinDialog dlg(m_node, m_db, this, autoLink);
|
||||
if (dlg.exec() == QDialog::Accepted)
|
||||
m_channelList->loadChannels();
|
||||
}
|
||||
|
||||
void MainWindow::showSettings() {
|
||||
|
||||
Reference in new issue
Block a user