pidgin/quail/quail

30de15bd6d0c
Parents 87bc001209e9
Children
Add the purple callbacks for the blist, however these might need to be moved to another class
--- a/mainwindow.cpp Mon Jul 01 16:30:25 2013 +0100
+++ b/mainwindow.cpp Tue Jul 02 08:15:37 2013 +0100
@@ -23,6 +23,76 @@
qpCore = new QPurple::QPurpleCore();
qpCore->setBlist(this);
+ handle = pidgin_blist_get_handle();
+
+ /* things that affect how buddies are displayed */
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/show_buddy_icons",
+ _prefs_change_redo_list, NULL);
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/show_idle_time",
+ _prefs_change_redo_list, NULL);
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/show_empty_groups",
+ _prefs_change_redo_list, NULL);
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/show_offline_buddies",
+ _prefs_change_redo_list, NULL);
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/show_protocol_icons",
+ _prefs_change_redo_list, NULL);
+
+ /* sorting */
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/sort_type",
+ _prefs_change_sort_method, NULL);
+
+ /* menus */
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/sound/mute",
+ pidgin_blist_mute_pref_cb, NULL);
+ purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/sound/method",
+ pidgin_blist_sound_method_pref_cb, NULL);
+
+ /* Setup some purple signal handlers. */
+
+ handle = purple_accounts_get_handle();
+ purple_signal_connect(handle, "account-enabled", this,
+ PURPLE_CALLBACK(account_modified), this);
+ purple_signal_connect(handle, "account-disabled", this,
+ PURPLE_CALLBACK(account_modified), this);
+ purple_signal_connect(handle, "account-removed", this,
+ PURPLE_CALLBACK(account_modified), this);
+ purple_signal_connect(handle, "account-status-changed", this,
+ PURPLE_CALLBACK(account_status_changed),
+ this);
+ purple_signal_connect(handle, "account-error-changed", this,
+ PURPLE_CALLBACK(update_account_error_state),
+ this);
+ purple_signal_connect(handle, "account-actions-changed", this,
+ PURPLE_CALLBACK(account_actions_changed), NULL);
+
+ handle = pidgin_account_get_handle();
+ purple_signal_connect(handle, "account-modified", gtkblist,
+ PURPLE_CALLBACK(account_modified), gtkblist);
+
+ handle = purple_connections_get_handle();
+ purple_signal_connect(handle, "signed-on", gtkblist,
+ PURPLE_CALLBACK(sign_on_off_cb), list);
+ purple_signal_connect(handle, "signed-off", gtkblist,
+ PURPLE_CALLBACK(sign_on_off_cb), list);
+
+ handle = purple_plugins_get_handle();
+ purple_signal_connect(handle, "plugin-load", gtkblist,
+ PURPLE_CALLBACK(plugin_changed_cb), NULL);
+ purple_signal_connect(handle, "plugin-unload", gtkblist,
+ PURPLE_CALLBACK(plugin_changed_cb), NULL);
+
+ handle = purple_conversations_get_handle();
+ purple_signal_connect(handle, "conversation-updated", gtkblist,
+ PURPLE_CALLBACK(conversation_updated_cb),
+ gtkblist);
+ purple_signal_connect(handle, "deleting-conversation", gtkblist,
+ PURPLE_CALLBACK(conversation_deleting_cb),
+ gtkblist);
+ purple_signal_connect(handle, "conversation-created", gtkblist,
+ PURPLE_CALLBACK(conversation_created_cb),
+ gtkblist);
+
+
qpCore->qpurple_init();
}
@@ -70,16 +140,20 @@
void MainWindow::slot_blist_new_list(PurpleBuddyList *blist)
{
qDebug() << "MainWindow::slot_blist_new_list";
+ blist->ui_data = g_new0(this, 1);
}
void MainWindow::slot_blist_new_node(PurpleBlistNode *node)
{
qDebug() << "MainWindow::slot_blist_new_node";
+ //node->ui_data = g_new0()
}
void MainWindow::slot_blist_show(PurpleBuddyList *list)
{
qDebug() << "MainWindow::slot_blist_show";
+ show();
+
}
void MainWindow::slot_blist_update(PurpleBuddyList *list, PurpleBlistNode *node)