Deliver attachment key state changes to desktop UI

This commit is contained in:
evgeny committed 2026-10-18 02:15:25 +02:00
1 parent 4703a46eb9
commit 9f813424bb
3 files changed
+11

No files matched your search

+4
View File
@@ -216,6 +216,7 @@ MainWindow::~MainWindow() {
delete GroupAvatarManager::instance();
gui_bridge_set_group_avatar_result_cb(nullptr);
gui_bridge_set_feedback_changed_cb(nullptr);
gui_bridge_set_attachment_keys_cb(nullptr);
gui_bridge_set_feedback_result_cb(nullptr);
gui_bridge_set_msg_submitted_cb(nullptr);
gui_bridge_set_avatar_result_cb(nullptr);
@@ -470,6 +471,9 @@ void MainWindow::setupBridgeCallbacks() {
gui_bridge_set_feedback_changed_cb([](const uint8_t* data, int length) {
if (s_mainWindow && s_mainWindow->m_messageList) s_mainWindow->m_messageList->onFeedbackChanged(data, length);
});
gui_bridge_set_attachment_keys_cb([](const uint8_t* data, int length) {
if (s_mainWindow && s_mainWindow->m_messageList) s_mainWindow->m_messageList->onAttachmentKeysChanged(data, length);
});
gui_bridge_set_feedback_result_cb([](const uint8_t* data, int length) {
if (s_mainWindow && s_mainWindow->m_messageList) s_mainWindow->m_messageList->onFeedbackResult(data, length);
});
+2
View File
@@ -250,6 +250,8 @@ void gui_bridge_set_avatar_result_cb(gui_dm_messages_fn cb);
void gui_bridge_set_group_avatar_result_cb(gui_dm_messages_fn cb);
/* Опросы/реакции: адресное изменение и коррелированный ответ команды, в GUI-потоке. */
void gui_bridge_set_feedback_changed_cb(gui_dm_messages_fn cb);
/* Изменение локальных запросов/ключей вложения, без секретных данных. */
void gui_bridge_set_attachment_keys_cb(gui_dm_messages_fn cb);
void gui_bridge_set_feedback_result_cb(gui_dm_messages_fn cb);
void gui_bridge_set_msg_submitted_cb(gui_dm_messages_fn cb);
void gui_bridge_set_radio_mute_result_cb(gui_dm_messages_fn cb);
@@ -74,6 +74,7 @@ static gui_dm_messages_fn g_member_files_transfer_cb = nullptr;
static gui_dm_messages_fn g_avatar_result_cb = nullptr;
static gui_dm_messages_fn g_group_avatar_result_cb = nullptr;
static gui_dm_messages_fn g_feedback_changed_cb = nullptr;
static gui_dm_messages_fn g_attachment_keys_cb = nullptr;
static gui_dm_messages_fn g_feedback_result_cb = nullptr;
static gui_dm_messages_fn g_msg_submitted_cb = nullptr;
static gui_dm_messages_fn g_radio_mute_result_cb = nullptr;
@@ -111,6 +112,9 @@ void GuiBridgeReceiver::processPost(int eventType, QByteArray data) {
case CHAT_EVT_FEEDBACK_CHANGED:
if (g_feedback_changed_cb) g_feedback_changed_cb(d, dlen);
break;
case CHAT_EVT_ATTACHMENT_KEYS_CHANGED:
if (g_attachment_keys_cb) g_attachment_keys_cb(d, dlen);
break;
case CHAT_EVT_FEEDBACK_RESULT:
if (g_feedback_result_cb) g_feedback_result_cb(d, dlen);
break;
@@ -627,6 +631,7 @@ void gui_bridge_set_member_files_transfer_cb(gui_dm_messages_fn cb) { g_member_f
void gui_bridge_set_avatar_result_cb(gui_dm_messages_fn cb) { g_avatar_result_cb = cb; }
void gui_bridge_set_group_avatar_result_cb(gui_dm_messages_fn cb) { g_group_avatar_result_cb = cb; }
void gui_bridge_set_feedback_changed_cb(gui_dm_messages_fn cb) { g_feedback_changed_cb = cb; }
void gui_bridge_set_attachment_keys_cb(gui_dm_messages_fn cb) { g_attachment_keys_cb = cb; }
void gui_bridge_set_feedback_result_cb(gui_dm_messages_fn cb) { g_feedback_result_cb = cb; }
void gui_bridge_set_msg_submitted_cb(gui_dm_messages_fn cb) { g_msg_submitted_cb = cb; }
void gui_bridge_set_radio_mute_result_cb(gui_dm_messages_fn cb) { g_radio_mute_result_cb = cb; }