Sun, 22 Jul 2007 08:14:16 +0000
revert 'no visible tabs when only one conversation' as it proved unpopular. Made tabs only fill the entire width of the notebook when there's only one tab to avoid http://pidgin.im/~deryni/that_just_looks_dumb.png
| 7746 | 1 | #include "internal.h" |
| 2 | #include "plugin.h" | |
| 3 | ||
| 4 | #include "account.h" | |
| 5 | #include "connection.h" | |
| 6 | #include "conversation.h" | |
| 9954 | 7 | #include "version.h" |
| 7746 | 8 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15442
diff
changeset
|
9 | /* include UI for pidgindialogs_about() */ |
| 7746 | 10 | #include "gtkplugin.h" |
|
9709
2e73f176cc80
[gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
8999
diff
changeset
|
11 | #include "gtkdialogs.h" |
| 91 | 12 | |
| 15884 | 13 | #define PURPLEINC_PLUGIN_ID "core-purpleinc" |
| 5255 | 14 | |
|
6485
3c7ba18e32f1
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
15 | static void |
| 15884 | 16 | echo_hi(PurpleConnection *gc) |
|
6485
3c7ba18e32f1
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
17 | { |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
18 | /* this doesn't do much, just lets you know who we are :) */ |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15442
diff
changeset
|
19 | pidgindialogs_about(); |
| 91 | 20 | } |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
91
diff
changeset
|
21 | |
| 7746 | 22 | static gboolean |
| 15884 | 23 | reverse(PurpleAccount *account, char **who, char **message, |
| 24 | PurpleConversation *conv, int *flags) | |
|
6485
3c7ba18e32f1
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
25 | { |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
26 | /* this will drive you insane. whenever you receive a message, |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
27 | * the text of the message (HTML and all) will be reversed. */ |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
28 | int i, l; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
29 | char tmp; |
|
99
eed3f8358586
[gaim-migrate @ 109]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
30 | |
|
eed3f8358586
[gaim-migrate @ 109]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
31 | /* this check is necessary in case bad plugins do bad things */ |
|
eed3f8358586
[gaim-migrate @ 109]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
32 | if (message == NULL || *message == NULL) |
| 7746 | 33 | return FALSE; |
|
99
eed3f8358586
[gaim-migrate @ 109]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
34 | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
35 | l = strlen(*message); |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
36 | |
| 15884 | 37 | if (!strcmp(*who, purple_account_get_username(account))) |
| 7746 | 38 | return FALSE; |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
39 | |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
40 | for (i = 0; i < l/2; i++) { |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
41 | tmp = (*message)[i]; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
42 | (*message)[i] = (*message)[l - i - 1]; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
43 | (*message)[l - i - 1] = tmp; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
44 | } |
| 7746 | 45 | return FALSE; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
91
diff
changeset
|
46 | } |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
47 | |
|
6485
3c7ba18e32f1
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
48 | static void |
| 15884 | 49 | bud(PurpleBuddy *who) |
|
6485
3c7ba18e32f1
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
50 | { |
| 15884 | 51 | PurpleAccount *acct = who->account; |
| 52 | PurpleConversation *conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, who->name); | |
| 7746 | 53 | |
| 15884 | 54 | purple_conv_im_send(PURPLE_CONV_IM(conv), "Hello!"); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
55 | } |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
56 | |
| 5255 | 57 | /* |
| 58 | * EXPORTED FUNCTIONS | |
| 59 | */ | |
| 60 | ||
| 61 | static gboolean | |
| 15884 | 62 | plugin_load(PurplePlugin *plugin) |
| 5255 | 63 | { |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
64 | /* this is for doing something fun when we sign on */ |
| 15884 | 65 | purple_signal_connect(purple_connections_get_handle(), "signed-on", |
| 66 | plugin, PURPLE_CALLBACK(echo_hi), NULL); | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
67 | |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
68 | /* this is for doing something fun when we get a message */ |
| 15884 | 69 | purple_signal_connect(purple_conversations_get_handle(), "receiving-im-msg", |
| 70 | plugin, PURPLE_CALLBACK(reverse), NULL); | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
71 | |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
72 | /* this is for doing something fun when a buddy comes online */ |
| 15884 | 73 | purple_signal_connect(purple_blist_get_handle(), "buddy-signed-on", |
| 74 | plugin, PURPLE_CALLBACK(bud), NULL); | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
99
diff
changeset
|
75 | |
| 5255 | 76 | return TRUE; |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
77 | } |
|
96
2b8586ab9456
[gaim-migrate @ 106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
78 | |
| 15884 | 79 | static PurplePluginInfo info = |
| 5255 | 80 | { |
| 15884 | 81 | PURPLE_PLUGIN_MAGIC, |
| 82 | PURPLE_MAJOR_VERSION, | |
| 83 | PURPLE_MINOR_VERSION, | |
| 84 | PURPLE_PLUGIN_STANDARD, /**< type */ | |
| 5255 | 85 | NULL, /**< ui_requirement */ |
| 86 | 0, /**< flags */ | |
| 87 | NULL, /**< dependencies */ | |
| 15884 | 88 | PURPLE_PRIORITY_DEFAULT, /**< priority */ |
| 5255 | 89 | |
| 15884 | 90 | PURPLEINC_PLUGIN_ID, /**< id */ |
|
16073
e70e589dde54
more help for translators (I removed a few PIDGIN_NAME references
Nathan Walp <nwalp@pidgin.im>
parents:
15884
diff
changeset
|
91 | N_("Pidgin Demonstration Plugin"), /**< name */ |
| 5255 | 92 | VERSION, /**< version */ |
| 93 | /** summary */ | |
| 94 | N_("An example plugin that does stuff - see the description."), | |
| 95 | /** description */ | |
| 96 | N_("This is a really cool plugin that does a lot of stuff:\n" | |
| 97 | "- It tells you who wrote the program when you log in\n" | |
| 98 | "- It reverses all incoming text\n" | |
| 99 | "- It sends a message to people on your list immediately" | |
| 100 | " when they sign on"), | |
| 101 | "Eric Warmenhoven <eric@warmenhoven.org>", /**< author */ | |
| 15884 | 102 | PURPLE_WEBSITE, /**< homepage */ |
| 5255 | 103 | |
| 104 | plugin_load, /**< load */ | |
|
6485
3c7ba18e32f1
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
105 | NULL, /**< unload */ |
| 5255 | 106 | NULL, /**< destroy */ |
| 107 | ||
| 108 | NULL, /**< ui_info */ | |
|
13471
e01689a020dd
[gaim-migrate @ 15846]
Richard Laager <rlaager@pidgin.im>
parents:
11338
diff
changeset
|
109 | NULL, /**< extra_info */ |
|
e01689a020dd
[gaim-migrate @ 15846]
Richard Laager <rlaager@pidgin.im>
parents:
11338
diff
changeset
|
110 | NULL, /**< prefs_info */ |
|
e01689a020dd
[gaim-migrate @ 15846]
Richard Laager <rlaager@pidgin.im>
parents:
11338
diff
changeset
|
111 | NULL /**< actions */ |
| 5255 | 112 | }; |
| 113 | ||
| 114 | static void | |
| 15884 | 115 | init_plugin(PurplePlugin *plugin) |
| 5255 | 116 | { |
| 3551 | 117 | } |
| 118 | ||
| 15884 | 119 | PURPLE_INIT_PLUGIN(purpleinc, init_plugin, info) |