Mercurial > pidgin
annotate libgaim/plugins/perl/scripts/request.pl @ 15143:b81e4e44b509
[gaim-migrate @ 17929]
User Info and Tooltips now use the GaimNotifyUserInfo object and methods defined in notify.h. GaimNotifyUserInfo objects encapsulate a list of GaimNotifyUserInfoEntry objects, each of which may have a label, a value, and be specified to be a section header.
This moves the burden of UI generation of user information from the various prpls to the UI. The UI can choose how to display the information rather than being fenced into a particular HTML formatting. Consistency across the prpls' information presentation is now enforced, as well. gaim_notify_user_info_get_text_with_newline() generates text in the:
<b>label</b>: value
<b>label</b>: value
format as was passed by convention from prpls in the past.
committer: Tailor Script <tailor@pidgin.im>
| author | Evan Schoenberg <evan.s@dreskin.net> |
|---|---|
| date | Sun, 10 Dec 2006 02:53:09 +0000 |
| parents | 74cdcd0c58b5 |
| children |
| rev | line source |
|---|---|
| 14192 | 1 $MODULE_NAME = "Request Functions Test"; |
| 2 | |
| 3 use Gaim; | |
| 4 | |
| 5 # All the information Gaim gets about our nifty plugin | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
6 %PLUGIN_INFO = ( |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
7 perl_api_version => 2, |
|
14449
74cdcd0c58b5
[gaim-migrate @ 17163]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14447
diff
changeset
|
8 name => "Perl: $MODULE_NAME", |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
9 version => "0.1", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
10 summary => "Test plugin for the Perl interpreter.", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
11 description => "Implements a set of test proccedures to ensure all functions that work in the C API still work in the Perl plugin interface. As XSUBs are added, this *should* be updated to test the changes. Furthermore, this will function as the tutorial perl plugin.", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
12 author => "John H. Kelm <johnhkelm\@gmail.com>", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
13 url => "http://sourceforge.net/users/johnhkelm/", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
14 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
15 load => "plugin_load", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
16 unload => "plugin_unload", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
17 plugin_action_sub => "plugin_action_names" |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
18 ); |
| 14192 | 19 |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
20 %plugin_actions = ( |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
21 "Plugin Action Test Label" => \&plugin_action_test, |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
22 ); |
| 14192 | 23 |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
24 sub plugin_action_names { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
25 foreach $key (keys %plugin_actions) { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
26 push @array, $key; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
27 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
28 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
29 return @array; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
30 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
31 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
32 sub plugin_init { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
33 return %PLUGIN_INFO; |
| 14192 | 34 } |
| 35 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
36 sub ok_cb_test { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
37 $fields = shift; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
38 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
39 Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: BEGIN\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
40 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: BEGIN\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
41 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Button Click\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
42 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Field Type: $fields \n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
43 $account = Gaim::Request::Fields::get_account($fields, "acct_test"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
44 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Username of selected account: " . Gaim::Account::get_username($account) . "\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
45 $int = Gaim::Request::Fields::get_integer($fields, "int_test"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
46 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Integer Value: $int \n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
47 $choice = Gaim::Request::Fields::get_choice($fields, "ch_test"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
48 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: Choice Value: $choice \n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
49 Gaim::Debug::info($MODULE_NAME, "ok_cb_test: END\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
50 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
51 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
52 sub cancel_cb_test { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
53 Gaim::Debug::info($MODULE_NAME, "cancel_cb_test: Button Click\n"); |
| 14192 | 54 } |
| 55 | |
| 56 sub plugin_action_test { | |
| 57 $plugin = shift; | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
58 Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: BEGIN\n"); |
| 14192 | 59 plugin_request($plugin); |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
60 Gaim::Debug::info($MODULE_NAME, "plugin_action_cb_test: END\n"); |
| 14192 | 61 } |
| 62 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
63 sub plugin_load { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
64 my $plugin = shift; |
| 14192 | 65 ######### TEST CODE HERE ########## |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
66 |
| 14192 | 67 |
| 68 } | |
| 69 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
70 sub plugin_request { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
71 $group = Gaim::Request::Field::Group::new("Group Name"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
72 $field = Gaim::Request::Field::account_new("acct_test", "Account Text", undef); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
73 Gaim::Request::Field::account_set_show_all($field, 0); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
74 Gaim::Request::Field::Group::add_field($group, $field); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
75 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
76 $field = Gaim::Request::Field::int_new("int_test", "Integer Text", 33); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
77 Gaim::Request::Field::Group::add_field($group, $field); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
78 |
| 14192 | 79 # Test field choice |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
80 $field = Gaim::Request::Field::choice_new("ch_test", "Choice Text", 1); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
81 Gaim::Request::Field::choice_add($field, "Choice 0"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
82 Gaim::Request::Field::choice_add($field, "Choice 1"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
83 Gaim::Request::Field::choice_add($field, "Choice 2"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
84 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
85 Gaim::Request::Field::Group::add_field($group, $field); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
86 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
87 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
88 $request = Gaim::Request::Fields::new(); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
89 Gaim::Request::Fields::add_group($request, $group); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
90 |
| 14192 | 91 Gaim::Request::fields( |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
92 $plugin, |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
93 "Request Title!", |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
94 "Primary Title", |
| 14192 | 95 "Secondary Title", |
| 96 $request, | |
| 97 "Ok Text", "ok_cb_test", | |
| 98 "Cancel Text", "cancel_cb_test"); | |
| 99 } | |
| 100 | |
|
14378
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
101 sub plugin_unload { |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
102 my $plugin = shift; |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
103 Gaim::Debug::info($MODULE_NAME, "#" x 80 . "\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
104 ######### TEST CODE HERE ########## |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
105 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
106 |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
107 Gaim::Debug::info($MODULE_NAME, "\n" . "#" x 80 . "\n"); |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
108 } |
|
d1d275a95d02
[gaim-migrate @ 17084]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14192
diff
changeset
|
109 |
