Wed, 21 Sep 2011 06:45:26 +0000
Apply conversation theme when opening the GTK conversation. All the
parsing stuff was moved out of the theme code and into the conversation
code.
Someone (not me!) needs to check the code I commented out and see if
we really need that stuff (and then port it to WebKit/styling).
We also need to determine where to place Template.html and the rest
of our (not-yet-written) default theme.
| 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 | |
|
25629
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
9 | /* include UI for pidgin_dialogs_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 :) */ |
|
25629
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
19 | pidgin_dialogs_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 */ |
|
20288
5ca925a094e2
applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
16404
diff
changeset
|
92 | DISPLAY_VERSION, /**< version */ |
| 5255 | 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 */ |
|
25629
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
111 | NULL, /**< actions */ |
|
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
112 | /* padding */ |
|
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
113 | NULL, |
|
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
114 | NULL, |
|
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
115 | NULL, |
|
a1d84a478cb7
s/pidgindialogs_about/pidgin_dialogs_about/ to fix compiling also add some
Etan Reisner <deryni@pidgin.im>
parents:
20288
diff
changeset
|
116 | NULL |
| 5255 | 117 | }; |
| 118 | ||
| 119 | static void | |
| 15884 | 120 | init_plugin(PurplePlugin *plugin) |
| 5255 | 121 | { |
| 3551 | 122 | } |
| 123 | ||
| 15884 | 124 | PURPLE_INIT_PLUGIN(purpleinc, init_plugin, info) |