コード例 #1
0
ファイル: splitter.c プロジェクト: rgenoud/purple-plugin-pack
/* register "sending" message signal callback */
static gboolean
plugin_load(PurplePlugin *plugin) {
	purple_signal_connect_priority(purple_conversations_get_handle(),
			    "sending-im-msg",
			    plugin,
			    PURPLE_CALLBACK(sending_im_msg_cb),
			    NULL,
				PURPLE_SIGNAL_PRIORITY_HIGHEST);
	purple_signal_connect_priority(purple_conversations_get_handle(),
			    "sending-chat-msg",
			    plugin,
			    PURPLE_CALLBACK(sending_chat_msg_cb),
			    NULL,
				PURPLE_SIGNAL_PRIORITY_HIGHEST);

	return TRUE;
}
コード例 #2
0
ファイル: gntgf.c プロジェクト: bf4/pidgin-mac
static gboolean
plugin_load(PurplePlugin *plugin)
{
	purple_signal_connect(purple_blist_get_handle(), "buddy-signed-on", plugin,
			PURPLE_CALLBACK(buddy_signed_on), NULL);
	purple_signal_connect(purple_blist_get_handle(), "buddy-signed-off", plugin,
			PURPLE_CALLBACK(buddy_signed_off), NULL);
	purple_signal_connect(purple_conversations_get_handle(), "received-im-msg", plugin,
			PURPLE_CALLBACK(received_im_msg), NULL);
	purple_signal_connect(purple_conversations_get_handle(), "received-chat-msg", plugin,
			PURPLE_CALLBACK(received_chat_msg), NULL);

	memset(&gpsy, 0, sizeof(gpsy));
	memset(&gpsw, 0, sizeof(gpsw));

	return TRUE;
}
コード例 #3
0
ファイル: winprefs.c プロジェクト: N8Fear/purple-facebook
static gboolean plugin_load(PurplePlugin *plugin, GError **error) {
	purple_prefs_add_none("/plugins/gtk");
	purple_prefs_add_none("/plugins/gtk/win32");
	purple_prefs_add_none("/plugins/gtk/win32/winprefs");
	purple_prefs_add_bool(PREF_DBLIST_DOCKABLE, FALSE);
	purple_prefs_add_bool(PREF_DBLIST_DOCKED, FALSE);
	purple_prefs_add_int(PREF_DBLIST_HEIGHT, 0);
	purple_prefs_add_int(PREF_DBLIST_SIDE, 0);

	/* Convert old preferences */
	if(purple_prefs_exists(PREF_DBLIST_ON_TOP)) {
		gint blist_top = BLIST_TOP_NEVER;
		if(purple_prefs_get_bool(PREF_BLIST_ON_TOP))
			blist_top = BLIST_TOP_ALWAYS;
		else if(purple_prefs_get_bool(PREF_DBLIST_ON_TOP))
			blist_top = BLIST_TOP_DOCKED;
		purple_prefs_remove(PREF_BLIST_ON_TOP);
		purple_prefs_remove(PREF_DBLIST_ON_TOP);
		purple_prefs_add_int(PREF_BLIST_ON_TOP, blist_top);
	} else
		purple_prefs_add_int(PREF_BLIST_ON_TOP, BLIST_TOP_NEVER);
	purple_prefs_remove(PREF_CHAT_BLINK);

	handle = plugin;

	/* blist docking init */
	if(purple_blist_get_buddy_list() && PIDGIN_BLIST(purple_blist_get_buddy_list())
			&& PIDGIN_BLIST(purple_blist_get_buddy_list())->window) {
		blist_create_cb(purple_blist_get_buddy_list(), NULL);
	}

	/* This really shouldn't happen anymore generally, but if for some strange
	   reason, the blist is recreated, we need to set it up again. */
	purple_signal_connect(pidgin_blist_get_handle(), "gtkblist-created",
		plugin, PURPLE_CALLBACK(blist_create_cb), NULL);

	purple_signal_connect((void*)purple_get_core(), "quitting", plugin,
		PURPLE_CALLBACK(purple_quit_cb), NULL);

	purple_prefs_connect_callback(handle, PREF_BLIST_ON_TOP,
		winprefs_set_blist_ontop, NULL);
	purple_prefs_connect_callback(handle, PREF_DBLIST_DOCKABLE,
		winprefs_set_blist_dockable, NULL);

	return TRUE;
}
コード例 #4
0
 */JNIEXPORT void JNICALL
Java_im_pidgin_jpurple_account_PurpleAccountManager_register_1native(
		JNIEnv *env, jobject obj)
{
	setJavaObject(&accountList, env, obj);
	purple_accounts_set_ui_ops(&uiOps);

	purple_signal_connect(purple_accounts_get_handle(), "account-added",
			&accountList, PURPLE_CALLBACK(account_added_callback), NULL);
	purple_signal_connect(purple_accounts_get_handle(), "account-removed",
			&accountList, PURPLE_CALLBACK(account_removed_callback), NULL);
	purple_signal_connect(purple_accounts_get_handle(), "account-disabled",
			&accountList, PURPLE_CALLBACK(account_abled_callback), NULL);
	purple_signal_connect(purple_accounts_get_handle(), "account-enabled",
			&accountList, PURPLE_CALLBACK(account_abled_callback), NULL);

}
コード例 #5
0
static gboolean
plugin_load(PurplePlugin *plugin)
{
	/* this is for doing something fun when we sign on */
	purple_signal_connect(purple_connections_get_handle(), "signed-on",
						plugin, PURPLE_CALLBACK(echo_hi), NULL);

	/* this is for doing something fun when we get a message */
	purple_signal_connect(purple_conversations_get_handle(), "receiving-im-msg",
						plugin, PURPLE_CALLBACK(reverse), NULL);

	/* this is for doing something fun when a buddy comes online */
	purple_signal_connect(purple_blist_get_handle(), "buddy-signed-on",
						plugin, PURPLE_CALLBACK(bud), NULL);

	return TRUE;
}
コード例 #6
0
static gboolean
plugin_load(PurplePlugin *plugin)
{
	purple_signal_connect(purple_conversations_get_handle(),
			"conversation-created", plugin, PURPLE_CALLBACK(historize), NULL);

	return TRUE;
}
コード例 #7
0
static gboolean
plugin_load (PurplePlugin * plugin)
{
	purple_signal_connect(purple_blist_get_handle(), "blist-node-extended-menu",
						plugin, PURPLE_CALLBACK(extended_menu_cb), NULL);

	return TRUE;
}
コード例 #8
0
ファイル: purple_ruby.c プロジェクト: strelok1111/purple_ruby
static  VALUE watch_signed_off_event(VALUE self)
{
  set_callback(&signed_off_handler, "signed_off_handler");
  int handle;
	purple_signal_connect(purple_connections_get_handle(), "signed-off", &handle,
				PURPLE_CALLBACK(signed_off), NULL);
  return signed_off_handler;
}
コード例 #9
0
ファイル: translate.c プロジェクト: Javran/purple-plugin-pack
static gboolean
plugin_unload(PurplePlugin *plugin)
{
	purple_signal_disconnect(purple_conversations_get_handle(),
	                         "receiving-im-msg", plugin,
	                         PURPLE_CALLBACK(translate_receiving_im_msg));
	purple_signal_disconnect(purple_conversations_get_handle(),
							 "sending-im-msg", plugin,
							 PURPLE_CALLBACK(translate_sending_im_msg));
	purple_signal_disconnect(purple_blist_get_handle(),
							 "blist-node-extended-menu", plugin,
							 PURPLE_CALLBACK(translate_blist_extended_menu));
	purple_signal_disconnect(purple_conversations_get_handle(),
							 "blist-node-extended-menu", plugin,
							 PURPLE_CALLBACK(translate_conv_extended_menu));
	purple_signal_disconnect(purple_conversations_get_handle(),
							 "conversation-created", plugin,
							 PURPLE_CALLBACK(translate_conversation_created));
	purple_signal_disconnect(purple_conversations_get_handle(),
	                         "receiving-chat-msg", plugin,
	                         PURPLE_CALLBACK(translate_receiving_chat_msg));
	purple_signal_disconnect(purple_conversations_get_handle(),
	                         "sending-chat-msg", plugin,
	                         PURPLE_CALLBACK(translate_sending_chat_msg));
	return TRUE;
}
コード例 #10
0
static gboolean
plugin_load (PurplePlugin * plugin)
{

  trace("plugin loading");

  recent_contacts_plugin = plugin; /* assign this here so we have a
                                      valid handle later */
  g_size = purple_prefs_get_int(PREF_SIZE);
  void *handle = purple_prefs_get_handle();
  purple_prefs_connect_callback(handle, PREF_SIZE, pref_size_on_change, NULL);
  void *conv_handle = purple_conversations_get_handle();
  purple_signal_connect(conv_handle, "conversation-created", plugin,
  		PURPLE_CALLBACK(rc_at_conversation_event), NULL);
  purple_signal_connect(conv_handle, "deleting-conversation", plugin, 
  		PURPLE_CALLBACK(rc_at_conversation_event), NULL);
  return TRUE;
}
コード例 #11
0
ファイル: akaplugin.c プロジェクト: jearls/akaplugin
/*  Connects signal handlers used by the plugin.
 *  Currently, this consists of only the receiving-chat-msg signal.
 */
static void
connect_signals(PurplePlugin *plugin) {
    /*  The conversation handle is used for conversation-related signals  */
    void *conv_handle = purple_conversations_get_handle() ;
    /*  Register the receiving-chat-msg signal handler  */
    purple_signal_connect(conv_handle, "receiving-chat-msg", plugin, PURPLE_CALLBACK(receiving_chat_msg_cb), NULL) ;
    /*  Done, nothing to return  */
    return ;
}
コード例 #12
0
ファイル: message.c プロジェクト: saljs/sndmsg
static void connect_to_signals(void)
{

	static int handle;

	purple_signal_connect(purple_connections_get_handle(), "signed-on", &handle,
				PURPLE_CALLBACK(signed_on), NULL);

}
コード例 #13
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
void set_displaying_userinfo(PurplePlugin *plugin, PyObject *func) {
  static PyObject *displaying_userinfo_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(displaying_userinfo_cb);
  displaying_userinfo_cb = func;

  purple_signal_connect(purple_notify_get_handle(), "displaying-userinfo",
    plugin, PURPLE_CALLBACK(displaying_userinfo), displaying_userinfo_cb);
}
コード例 #14
0
static gboolean plugin_load(PurplePlugin *plugin) {
    
    void *conv = purple_conversations_get_handle(); 
    buzz_plugin = plugin;
    
    //Connect attention signal to our callback function
    purple_signal_connect( conv, "got-attention", buzz_plugin, PURPLE_CALLBACK(buzz_cb), NULL ); 

    return TRUE;
}
コード例 #15
0
ファイル: unity.c プロジェクト: N8Fear/purple-facebook
static gboolean
plugin_load(PurplePlugin *plugin, GError **error)
{
	GList *convs = purple_conversations_get_all();
	PurpleSavedStatus *saved_status;
	void *conv_handle = purple_conversations_get_handle();
	void *gtk_conv_handle = pidgin_conversations_get_handle();
	void *savedstat_handle = purple_savedstatuses_get_handle();

	purple_prefs_add_none("/plugins/gtk");
	purple_prefs_add_none("/plugins/gtk/unity");
	purple_prefs_add_int("/plugins/gtk/unity/launcher_count", LAUNCHER_COUNT_SOURCES);
	purple_prefs_add_int("/plugins/gtk/unity/messaging_menu_text", MESSAGING_MENU_COUNT);
	purple_prefs_add_bool("/plugins/gtk/unity/alert_chat_nick", TRUE);

	alert_chat_nick = purple_prefs_get_bool("/plugins/gtk/unity/alert_chat_nick");

	mmapp = messaging_menu_app_new("pidgin.desktop");
	g_object_ref(mmapp);
	messaging_menu_app_register(mmapp);
	messaging_menu_text = purple_prefs_get_int("/plugins/gtk/unity/messaging_menu_text");

	g_signal_connect(mmapp, "activate-source",
			G_CALLBACK(message_source_activated), NULL);
	g_signal_connect(mmapp, "status-changed",
			G_CALLBACK(messaging_menu_status_changed), NULL);

	saved_status = purple_savedstatus_get_current();
	status_changed_cb(saved_status);

	purple_signal_connect(savedstat_handle, "savedstatus-changed", plugin,
			PURPLE_CALLBACK(status_changed_cb), NULL);

	launcher = unity_launcher_entry_get_for_desktop_id("pidgin.desktop");
	g_object_ref(launcher);
	launcher_count = purple_prefs_get_int("/plugins/gtk/unity/launcher_count");

	purple_signal_connect(gtk_conv_handle, "displayed-im-msg", plugin,
			PURPLE_CALLBACK(message_displayed_cb), NULL);
	purple_signal_connect(gtk_conv_handle, "displayed-chat-msg", plugin,
			PURPLE_CALLBACK(message_displayed_cb), NULL);
	purple_signal_connect(conv_handle, "sent-im-msg", plugin,
			PURPLE_CALLBACK(im_sent_im), NULL);
	purple_signal_connect(conv_handle, "sent-chat-msg", plugin,
			PURPLE_CALLBACK(chat_sent_im), NULL);
	purple_signal_connect(conv_handle, "conversation-created", plugin,
			PURPLE_CALLBACK(conv_created), NULL);
	purple_signal_connect(conv_handle, "deleting-conversation", plugin,
			PURPLE_CALLBACK(deleting_conv), NULL);

	while (convs) {
		PurpleConversation *conv = (PurpleConversation *)convs->data;
		attach_signals(conv);
		convs = convs->next;
	}

	return TRUE;
}
コード例 #16
0
/* calling when plugin load */
static gboolean plugin_load(PurplePlugin *plugin)
{


	void *gtk_blist_handle = pidgin_blist_get_handle();
	
	purple_signal_connect(gtk_blist_handle, "drawing-tooltip", plugin, PURPLE_CALLBACK(gtk_buddy_tooltip), NULL);

	return TRUE;
}
コード例 #17
0
ファイル: cc_pidgin_plugin.c プロジェクト: dylex/pidgin
static gboolean plugin_unload(PurplePlugin *plugin)
{
	void *conv_handle;
	struct crazychat *extra;
	assert(plugin);
	extra = (struct crazychat*) plugin->info->extra_info;
	cc_destroy(extra);
	conv_handle = purple_conversations_get_handle();
	purple_signal_disconnect(PIDGIN_BLIST
			       (purple_get_blist()),
			       "drawing-menu", plugin,
			       PURPLE_CALLBACK(cc_buddy_menu));
	purple_signal_disconnect(conv_handle, "received-im", plugin,
			       PURPLE_CALLBACK(receive_im_cb));
	purple_signal_disconnect(conv_handle, "displaying-im-msg", plugin,
			       PURPLE_CALLBACK(display_im_cb));
	Debug("CrazyChat plugin unloaded.\n");
	return TRUE;
}
コード例 #18
0
static void
conv_menu_cb(PurpleConversation *conv, GList **list)
{
	PurpleConversationType type = purple_conversation_get_type(conv);
	gboolean enabled = ((type == PURPLE_CONV_TYPE_IM && purple_prefs_get_bool(PREF_IMS)) ||
		(type == PURPLE_CONV_TYPE_CHAT && purple_prefs_get_bool(PREF_CHATS)));
	PurpleMenuAction *action = purple_menu_action_new(_("Jump to markerline"),
			enabled ? PURPLE_CALLBACK(jump_to_markerline) : NULL, NULL, NULL);
	*list = g_list_append(*list, action);
}
コード例 #19
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
void set_chat_buddy_left(PurplePlugin *plugin, PyObject *func) {
  static PyObject *chat_buddy_left_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(chat_buddy_left_cb);
  chat_buddy_left_cb = func;

  purple_signal_connect(purple_conversations_get_handle(), "chat-buddy-left",
    plugin, PURPLE_CALLBACK(chat_buddy_left), chat_buddy_left_cb);
}
コード例 #20
0
ファイル: win2ktrans.c プロジェクト: N8Fear/purple-facebook
static gboolean plugin_load(PurplePlugin *plugin, GError **error) {

	purple_prefs_add_none("/plugins/gtk/win32");
	purple_prefs_add_none("/plugins/gtk/win32/wintrans");
	purple_prefs_add_bool(OPT_WINTRANS_IM_ENABLED, FALSE);
	purple_prefs_add_int(OPT_WINTRANS_IM_ALPHA, 255);
	purple_prefs_add_bool(OPT_WINTRANS_IM_SLIDER, FALSE);
	purple_prefs_add_bool(OPT_WINTRANS_IM_ONFOCUS, FALSE);
	purple_prefs_add_bool(OPT_WINTRANS_IM_ONTOP, FALSE);
	purple_prefs_add_bool(OPT_WINTRANS_BL_ENABLED, FALSE);
	purple_prefs_add_int(OPT_WINTRANS_BL_ALPHA, 255);
	purple_prefs_add_bool(OPT_WINTRANS_BL_ONFOCUS, FALSE);
	purple_prefs_add_bool(OPT_WINTRANS_BL_ONTOP, FALSE);

	purple_signal_connect(purple_conversations_get_handle(),
		"conversation-created", plugin,
		PURPLE_CALLBACK(new_conversation_cb), NULL);

	/* Set callback to remove window from the list, if the window is destroyed */
	purple_signal_connect(purple_conversations_get_handle(),
		"deleting-conversation", plugin,
		PURPLE_CALLBACK(conversation_delete_cb), NULL);

	purple_signal_connect(pidgin_conversations_get_handle(),
		"conversation-dragging", plugin,
		PURPLE_CALLBACK(set_conv_window_trans), NULL);

	purple_signal_connect(purple_conversations_get_handle(),
		"conversation-updated", plugin,
		PURPLE_CALLBACK(conv_updated_cb), NULL);

	update_existing_convs();

	if (blist)
		blist_created_cb(NULL, NULL);
	else
		purple_signal_connect(pidgin_blist_get_handle(),
			"gtkblist-created", plugin,
			PURPLE_CALLBACK(blist_created_cb), NULL);


	return TRUE;
}
コード例 #21
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
void set_received_chat_msg(PurplePlugin *plugin, PyObject *func) {
  static PyObject *received_chat_msg_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(received_chat_msg_cb);
  received_chat_msg_cb = func;

  purple_signal_connect(purple_conversations_get_handle(), "received-chat-msg",
    plugin, PURPLE_CALLBACK(received_chat_msg), received_chat_msg_cb);
}
コード例 #22
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
void set_buddy_typing(PurplePlugin *plugin, PyObject *func) {
  static PyObject *buddy_typing_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(buddy_typing_cb);
  buddy_typing_cb = func;

  purple_signal_connect(purple_conversations_get_handle(), "buddy-typing",
    plugin, PURPLE_CALLBACK(buddy_typing), buddy_typing_cb);
}
コード例 #23
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
//-----------------------------------------------------------------------------
void set_signing_off(PurplePlugin *plugin, PyObject *func) {
  static PyObject *signing_off_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(signing_off_cb);
  signing_off_cb = func;

  purple_signal_connect(purple_connections_get_handle(), "signing-off",
    plugin, PURPLE_CALLBACK(connection_python_cb), signing_off_cb);
}
コード例 #24
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
void set_buddy_added(PurplePlugin *plugin, PyObject *func) {
  static PyObject *buddy_added_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(buddy_added_cb);
  buddy_added_cb = func;

  purple_signal_connect(purple_blist_get_handle(), "buddy-added", plugin,
    PURPLE_CALLBACK(buddy_added), buddy_added_cb);
}
コード例 #25
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
void set_blist_node_aliased(PurplePlugin *plugin, PyObject *func) {
  static PyObject *blist_node_aliased_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(blist_node_aliased_cb);
  blist_node_aliased_cb = func;

  purple_signal_connect(purple_blist_get_handle(), "blist-node-aliased", plugin,
    PURPLE_CALLBACK(blist_node_aliased), blist_node_aliased_cb);
}
コード例 #26
0
ファイル: purple.c プロジェクト: KimCM/Heliotrope
void set_connection_error(PurplePlugin *plugin, PyObject *func) {
  static PyObject *connection_error_cb = 0;

  Py_XINCREF(func);
  Py_XDECREF(connection_error_cb);
  connection_error_cb = func;

  purple_signal_connect(purple_connections_get_handle(), "connection-error",
    plugin, PURPLE_CALLBACK(connection_error), connection_error_cb);
}
コード例 #27
0
ファイル: ticker.c プロジェクト: gotomypc/pidgin_whiteboard
static gboolean
plugin_load(PurplePlugin *plugin)
{
	void *blist_handle = purple_blist_get_handle();

	purple_signal_connect(purple_connections_get_handle(), "signed-off",
						plugin, PURPLE_CALLBACK(signoff_cb), NULL);
	purple_signal_connect(blist_handle, "buddy-signed-on",
						plugin, PURPLE_CALLBACK(buddy_signon_cb), NULL);
	purple_signal_connect(blist_handle, "buddy-signed-off",
						plugin, PURPLE_CALLBACK(buddy_signoff_cb), NULL);
	purple_signal_connect(blist_handle, "buddy-status-changed",
						plugin, PURPLE_CALLBACK(status_changed_cb), NULL);

	if (purple_connections_get_all())
		buddy_ticker_show();

	return TRUE;
}
コード例 #28
0
static gboolean plugin_load(PurplePlugin *plugin) {
	void *convs_handle;
	convs_handle = purple_conversations_get_handle();

	purple_signal_connect(convs_handle, "conversation-created", plugin, PURPLE_CALLBACK(conversation_created_cb), NULL);

	cmd_order_id = purple_cmd_register("ordertabs", "", PURPLE_CMD_P_DEFAULT, PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, PLUGIN_ID, cmd_reorder_cb, "Order conversation tabs alphabetically", NULL);

	return TRUE;
}
コード例 #29
0
ファイル: psychic.c プロジェクト: Mons/libpurple-mini
static gboolean
plugin_load(PurplePlugin *plugin) {

  void *convs_handle;
  convs_handle = purple_conversations_get_handle();

  purple_signal_connect(convs_handle, "buddy-typing", plugin,
		      PURPLE_CALLBACK(buddy_typing_cb), NULL);
  
  return TRUE;
}
static gboolean
plugin_load(PurplePlugin *plugin)
{
	void *conv_handle = purple_conversations_get_handle();
	
	purple_debug(PURPLE_DEBUG_INFO, "plugins", "block <user> has left the conversation plugin loaded.\n");

	purple_signal_connect(conv_handle, "writing-im-msg", plugin, PURPLE_CALLBACK(writing_im_msg_cb), NULL);	

	return TRUE;
}