chatgui: preserve active channel selection on reload, members sync, profile settings, member list model
This commit is contained in:
1 parent
c3f946fb63
commit
d70cdbb040
28 files changed
+1895
-91
No files matched your search
@@ -26,7 +26,9 @@ public:
|
||||
static GuiBridgeReceiver* g_receiver = nullptr;
|
||||
static gui_connect_result_fn g_connect_result_cb = nullptr;
|
||||
static gui_msg_received_fn g_msg_received_cb = nullptr;
|
||||
static gui_channel_updated_fn g_channel_updated_cb = nullptr;
|
||||
static gui_channel_updated_fn g_channel_updated_cb = nullptr;
|
||||
static gui_members_changed_fn g_members_changed_cb = nullptr;
|
||||
static gui_my_node_id_fn g_my_node_id_cb = nullptr;
|
||||
static struct UASYNC* g_ua = nullptr;
|
||||
|
||||
/* ── GuiBridgeReceiver implementation ── */
|
||||
@@ -81,6 +83,21 @@ void GuiBridgeReceiver::processPost(int eventType, QByteArray data) {
|
||||
DEBUG_WARN(DEBUG_CATEGORY_DEBUG, "gui_bridge: CHANNEL_UPDATED data too short %d", dlen);
|
||||
}
|
||||
break;
|
||||
case GUI_EVT_MEMBERS_CHANGED:
|
||||
if (dlen >= 2) {
|
||||
uint8_t chLen = d[0];
|
||||
if (dlen >= 1 + chLen) {
|
||||
QString chId = QString::fromUtf8((const char*)d + 1, chLen);
|
||||
if (g_members_changed_cb) g_members_changed_cb((const char*)d + 1, chLen);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case GUI_EVT_MY_NODE_ID:
|
||||
if (dlen >= 8) {
|
||||
uint64_t nid; memcpy(&nid, d, 8);
|
||||
if (g_my_node_id_cb) g_my_node_id_cb(nid);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
DEBUG_WARN(DEBUG_CATEGORY_DEBUG, "gui_bridge: unknown event type %d", eventType);
|
||||
break;
|
||||
@@ -139,6 +156,14 @@ void gui_bridge_set_channel_updated_cb(gui_channel_updated_fn cb) {
|
||||
g_channel_updated_cb = cb;
|
||||
}
|
||||
|
||||
void gui_bridge_set_members_changed_cb(gui_members_changed_fn cb) {
|
||||
g_members_changed_cb = cb;
|
||||
}
|
||||
|
||||
void gui_bridge_set_my_node_id_cb(gui_my_node_id_fn cb) {
|
||||
g_my_node_id_cb = cb;
|
||||
}
|
||||
|
||||
} /* extern "C" */
|
||||
|
||||
#include "gui_bridge_impl.moc"
|
||||
Reference in new issue
Block a user