|
|
|
@ -16,6 +16,7 @@ |
|
|
|
#include "imageviewer_window.h" |
|
|
|
#include "imageviewer_window.h" |
|
|
|
#include "member_files/browser.h" |
|
|
|
#include "member_files/browser.h" |
|
|
|
#include "avatars/avatarmanager.h" |
|
|
|
#include "avatars/avatarmanager.h" |
|
|
|
|
|
|
|
#include "avatars/groupavatarmanager.h" |
|
|
|
extern "C" { |
|
|
|
extern "C" { |
|
|
|
#include "chat/chat_member.h" |
|
|
|
#include "chat/chat_member.h" |
|
|
|
} |
|
|
|
} |
|
|
|
@ -157,6 +158,7 @@ MainWindow::MainWindow(QWidget *parent, DbManager* db, const QString& cfgPath, |
|
|
|
resize(900, 600); |
|
|
|
resize(900, 600); |
|
|
|
if (m_db) m_db->setDbPath(m_cfgDbPath); |
|
|
|
if (m_db) m_db->setDbPath(m_cfgDbPath); |
|
|
|
new AvatarManager(m_db, this); |
|
|
|
new AvatarManager(m_db, this); |
|
|
|
|
|
|
|
new GroupAvatarManager(m_db, this); |
|
|
|
setupUi(); |
|
|
|
setupUi(); |
|
|
|
setupTray(); |
|
|
|
setupTray(); |
|
|
|
setupSoundFromConfig(); |
|
|
|
setupSoundFromConfig(); |
|
|
|
@ -180,6 +182,8 @@ MainWindow::MainWindow(QWidget *parent, DbManager* db, const QString& cfgPath, |
|
|
|
MainWindow::~MainWindow() { |
|
|
|
MainWindow::~MainWindow() { |
|
|
|
s_mainWindow = nullptr; |
|
|
|
s_mainWindow = nullptr; |
|
|
|
delete AvatarManager::instance(); |
|
|
|
delete AvatarManager::instance(); |
|
|
|
|
|
|
|
delete GroupAvatarManager::instance(); |
|
|
|
|
|
|
|
gui_bridge_set_group_avatar_result_cb(nullptr); |
|
|
|
gui_bridge_set_avatar_result_cb(nullptr); |
|
|
|
gui_bridge_set_avatar_result_cb(nullptr); |
|
|
|
if (m_fileBrowser) delete m_fileBrowser.data(); |
|
|
|
if (m_fileBrowser) delete m_fileBrowser.data(); |
|
|
|
gui_bridge_set_member_files_response_cb(nullptr); |
|
|
|
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) { |
|
|
|
gui_bridge_set_avatar_result_cb([](const uint8_t* data, int length) { |
|
|
|
if (AvatarManager::instance()) AvatarManager::instance()->onPublished(data, 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_msg_received_cb(onMsgReceivedCallback); |
|
|
|
gui_bridge_set_channel_updated_cb(onChannelUpdatedCallback); |
|
|
|
gui_bridge_set_channel_updated_cb(onChannelUpdatedCallback); |
|
|
|
gui_bridge_set_member_list_cb(onMemberListCallback); |
|
|
|
gui_bridge_set_member_list_cb(onMemberListCallback); |
|
|
|
|