Mercurial > pidgin.yaz
comparison libpurple/plugins/newline.c @ 21774:b63b2a5c2d05
merge of '282b4acb46729e4358221cb7cc78ad9373289199'
and '3fe64d635336a6d7f6e520f4b2e041c3316c465d'
author | Etan Reisner <pidgin@unreliablesource.net> |
---|---|
date | Sat, 01 Dec 2007 03:41:37 +0000 |
parents | 3f87c3265740 |
children | cc8903c59d6b |
comparison
equal
deleted
inserted
replaced
21597:14afe5a92fc2 | 21774:b63b2a5c2d05 |
---|---|
29 | 29 |
30 static gboolean | 30 static gboolean |
31 addnewline_msg_cb(PurpleAccount *account, char *sender, char **message, | 31 addnewline_msg_cb(PurpleAccount *account, char *sender, char **message, |
32 PurpleConversation *conv, int *flags, void *data) | 32 PurpleConversation *conv, int *flags, void *data) |
33 { | 33 { |
34 if (((purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) && | |
35 !purple_prefs_get_bool("/plugins/core/newline/im")) || | |
36 ((purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) && | |
37 !purple_prefs_get_bool("/plugins/core/newline/chat"))) | |
38 return FALSE; | |
39 | |
34 if (g_ascii_strncasecmp(*message, "/me ", strlen("/me "))) { | 40 if (g_ascii_strncasecmp(*message, "/me ", strlen("/me "))) { |
35 char *tmp = g_strdup_printf("<br/>%s", *message); | 41 char *tmp = g_strdup_printf("<br/>%s", *message); |
36 g_free(*message); | 42 g_free(*message); |
37 *message = tmp; | 43 *message = tmp; |
38 } | 44 } |
39 | 45 |
40 return FALSE; | 46 return FALSE; |
41 } | 47 } |
48 | |
49 static PurplePluginPrefFrame * | |
50 get_plugin_pref_frame(PurplePlugin *plugin) { | |
51 PurplePluginPrefFrame *frame; | |
52 PurplePluginPref *ppref; | |
53 | |
54 frame = purple_plugin_pref_frame_new(); | |
55 | |
56 ppref = purple_plugin_pref_new_with_name_and_label( | |
57 "/plugins/core/newline/im", _("Add new line in IMs")); | |
58 purple_plugin_pref_frame_add(frame, ppref); | |
59 | |
60 ppref = purple_plugin_pref_new_with_name_and_label( | |
61 "/plugins/core/newline/chat", _("Add new line in Chats")); | |
62 purple_plugin_pref_frame_add(frame, ppref); | |
63 | |
64 return frame; | |
65 } | |
66 | |
42 | 67 |
43 static gboolean | 68 static gboolean |
44 plugin_load(PurplePlugin *plugin) | 69 plugin_load(PurplePlugin *plugin) |
45 { | 70 { |
46 void *conversation = purple_conversations_get_handle(); | 71 void *conversation = purple_conversations_get_handle(); |
50 purple_signal_connect(conversation, "writing-chat-msg", | 75 purple_signal_connect(conversation, "writing-chat-msg", |
51 plugin, PURPLE_CALLBACK(addnewline_msg_cb), NULL); | 76 plugin, PURPLE_CALLBACK(addnewline_msg_cb), NULL); |
52 | 77 |
53 return TRUE; | 78 return TRUE; |
54 } | 79 } |
80 | |
81 static PurplePluginUiInfo prefs_info = { | |
82 get_plugin_pref_frame, | |
83 0, /* page_num (Reserved) */ | |
84 NULL, /* frame (Reserved) */ | |
85 /* Padding */ | |
86 NULL, | |
87 NULL, | |
88 NULL, | |
89 NULL | |
90 }; | |
55 | 91 |
56 static PurplePluginInfo info = | 92 static PurplePluginInfo info = |
57 { | 93 { |
58 PURPLE_PLUGIN_MAGIC, /**< magic */ | 94 PURPLE_PLUGIN_MAGIC, /**< magic */ |
59 PURPLE_MAJOR_VERSION, /**< major version */ | 95 PURPLE_MAJOR_VERSION, /**< major version */ |
78 NULL, /**< unload */ | 114 NULL, /**< unload */ |
79 NULL, /**< destroy */ | 115 NULL, /**< destroy */ |
80 | 116 |
81 NULL, /**< ui_info */ | 117 NULL, /**< ui_info */ |
82 NULL, /**< extra_info */ | 118 NULL, /**< extra_info */ |
83 NULL, /**< prefs_info */ | 119 &prefs_info, /**< prefs_info */ |
84 NULL, /**< actions */ | 120 NULL, /**< actions */ |
85 | 121 |
86 /* padding */ | 122 /* padding */ |
87 NULL, | 123 NULL, |
88 NULL, | 124 NULL, |
90 NULL | 126 NULL |
91 }; | 127 }; |
92 | 128 |
93 static void | 129 static void |
94 init_plugin(PurplePlugin *plugin) { | 130 init_plugin(PurplePlugin *plugin) { |
131 purple_prefs_add_none("/plugins/core/newline"); | |
132 purple_prefs_add_bool("/plugins/core/newline/im", TRUE); | |
133 purple_prefs_add_bool("/plugins/core/newline/chat", TRUE); | |
95 } | 134 } |
96 | 135 |
97 PURPLE_INIT_PLUGIN(lastseen, init_plugin, info) | 136 PURPLE_INIT_PLUGIN(lastseen, init_plugin, info) |