Deliver group avatar publication results through the GUI bridge
This commit is contained in:
1 parent
2f9dd6a27b
commit
8e3ff6fd81
3 files changed
+13
No files matched your search
@@ -16,6 +16,7 @@
|
||||
#include "imageviewer_window.h"
|
||||
#include "member_files/browser.h"
|
||||
#include "avatars/avatarmanager.h"
|
||||
#include "avatars/groupavatarmanager.h"
|
||||
extern "C" {
|
||||
#include "chat/chat_member.h"
|
||||
}
|
||||
@@ -157,6 +158,7 @@ MainWindow::MainWindow(QWidget *parent, DbManager* db, const QString& cfgPath,
|
||||
resize(900, 600);
|
||||
if (m_db) m_db->setDbPath(m_cfgDbPath);
|
||||
new AvatarManager(m_db, this);
|
||||
new GroupAvatarManager(m_db, this);
|
||||
setupUi();
|
||||
setupTray();
|
||||
setupSoundFromConfig();
|
||||
@@ -180,6 +182,8 @@ MainWindow::MainWindow(QWidget *parent, DbManager* db, const QString& cfgPath,
|
||||
MainWindow::~MainWindow() {
|
||||
s_mainWindow = nullptr;
|
||||
delete AvatarManager::instance();
|
||||
delete GroupAvatarManager::instance();
|
||||
gui_bridge_set_group_avatar_result_cb(nullptr);
|
||||
gui_bridge_set_avatar_result_cb(nullptr);
|
||||
if (m_fileBrowser) delete m_fileBrowser.data();
|
||||
gui_bridge_set_member_files_response_cb(nullptr);
|
||||
@@ -410,6 +414,9 @@ void MainWindow::setupBridgeCallbacks() {
|
||||
gui_bridge_set_avatar_result_cb([](const uint8_t* data, int length) {
|
||||
if (AvatarManager::instance()) AvatarManager::instance()->onPublished(data, length);
|
||||
});
|
||||
gui_bridge_set_group_avatar_result_cb([](const uint8_t* data, int length) {
|
||||
if (GroupAvatarManager::instance()) GroupAvatarManager::instance()->onResult(data, length);
|
||||
});
|
||||
gui_bridge_set_msg_received_cb(onMsgReceivedCallback);
|
||||
gui_bridge_set_channel_updated_cb(onChannelUpdatedCallback);
|
||||
gui_bridge_set_member_list_cb(onMemberListCallback);
|
||||
|
||||
@@ -242,6 +242,7 @@ void gui_bridge_set_dm_invite_result_cb(gui_dm_messages_fn cb);
|
||||
void gui_bridge_set_member_files_response_cb(gui_dm_messages_fn cb);
|
||||
void gui_bridge_set_member_files_transfer_cb(gui_dm_messages_fn cb);
|
||||
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);
|
||||
/* CHAT_EVT_ATTACHMENT_PREPARATION: target + job UUID + state. */
|
||||
void gui_bridge_set_attachment_preparation_cb(gui_dm_messages_fn cb);
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ static gui_dm_messages_fn g_dm_invite_result_cb = nullptr;
|
||||
static gui_dm_messages_fn g_member_files_response_cb = nullptr;
|
||||
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_network_changed_fn g_network_changed_cb = nullptr;
|
||||
static struct UASYNC* g_ua = nullptr;
|
||||
static struct UTUN_INSTANCE* g_inst = nullptr;
|
||||
@@ -83,6 +84,9 @@ void GuiBridgeReceiver::processPost(int eventType, QByteArray data) {
|
||||
eventType == 16 || eventType == 17 || eventType == 24 || eventType == 25 || eventType == 31 || eventType == 33))
|
||||
g_network_changed_cb(eventType);
|
||||
switch (eventType) {
|
||||
case CHAT_EVT_GROUP_AVATAR_RESULT:
|
||||
if (g_group_avatar_result_cb) g_group_avatar_result_cb(d, dlen);
|
||||
break;
|
||||
case CHAT_EVT_AVATAR_RESULT:
|
||||
if (g_avatar_result_cb) g_avatar_result_cb(d, dlen);
|
||||
break;
|
||||
@@ -576,6 +580,7 @@ void gui_bridge_set_dm_invite_result_cb(gui_dm_messages_fn cb) { g_dm_invite_res
|
||||
void gui_bridge_set_member_files_response_cb(gui_dm_messages_fn cb) { g_member_files_response_cb = cb; }
|
||||
void gui_bridge_set_member_files_transfer_cb(gui_dm_messages_fn cb) { g_member_files_transfer_cb = cb; }
|
||||
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_dm_conv_updated_cb(gui_dm_conv_updated_fn cb) {
|
||||
g_dm_conv_updated_cb = cb;
|
||||
|
||||
Reference in new issue
Block a user