Sun, 26 Apr 2020 03:22:31 -0500
Fix a bunch of stuff that was found in review.
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | /* |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | * pidgin |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 | * |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | * source distribution. |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 | * |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 | * (at your option) any later version. |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | * |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | * GNU General Public License for more details. |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 | * |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | */ |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
23 | #include "pidginactiongroup.h" |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
24 | |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
25 | #include <purple.h> |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
26 | |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | #include "internal.h" |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
28 | |
|
40378
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
29 | #include "pidgin/gtkblist.h" |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
30 | #include "pidgin/gtkdialogs.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
31 | #include "pidgin/gtkpounce.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
32 | #include "pidgin/gtkprefs.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
33 | #include "pidgin/gtkprivacy.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
34 | #include "pidgin/gtkroomlist.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
35 | #include "pidgin/gtksmiley-manager.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
36 | #include "pidgin/gtkxfer.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
37 | #include "pidgin/pidginabout.h" |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
38 | #include "pidgin/pidginlog.h" |
|
40385
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
39 | #include "pidgin/pidginmooddialog.h" |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
40 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 | struct _PidginActionGroup { |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
42 | GSimpleActionGroup parent; |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 | }; |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
45 | /****************************************************************************** |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
46 | * Globals |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
47 | *****************************************************************************/ |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
48 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
49 | /**< private > |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
50 | * online_actions: |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
51 | * |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
52 | * This list keeps track of which actions should only be enabled while online. |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
53 | */ |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
54 | static const gchar *pidgin_action_group_online_actions[] = { |
|
40371
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
55 | PIDGIN_ACTION_ADD_BUDDY, |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
56 | PIDGIN_ACTION_ADD_GROUP, |
|
40380
665ba7e7acbc
alphabetize the online required actions and add room list to them
Gary Kramlich <grim@reaperworld.com>
parents:
40379
diff
changeset
|
57 | PIDGIN_ACTION_GET_USER_INFO, |
|
665ba7e7acbc
alphabetize the online required actions and add room list to them
Gary Kramlich <grim@reaperworld.com>
parents:
40379
diff
changeset
|
58 | PIDGIN_ACTION_NEW_MESSAGE, |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
59 | PIDGIN_ACTION_PRIVACY, |
|
40385
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
60 | PIDGIN_ACTION_SET_MOOD, |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
61 | }; |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
62 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
63 | static const gchar *pidgin_action_group_chat_actions[] = { |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
64 | PIDGIN_ACTION_ADD_CHAT, |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
65 | PIDGIN_ACTION_JOIN_CHAT, |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
66 | }; |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
67 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
68 | static const gchar *pidgin_action_group_room_list_actions[] = { |
|
40380
665ba7e7acbc
alphabetize the online required actions and add room list to them
Gary Kramlich <grim@reaperworld.com>
parents:
40379
diff
changeset
|
69 | PIDGIN_ACTION_ROOM_LIST, |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
70 | }; |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
71 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
72 | /****************************************************************************** |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
73 | * Helpers |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
74 | *****************************************************************************/ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
75 | |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
76 | /*< private > |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
77 | * pidgin_action_group_bool_pref_handler: |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
78 | * @group: The #PidginActionGroup instance. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
79 | * @action_name: The name of the action to update. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
80 | * @value: The value of the preference. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
81 | * |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
82 | * Changes the state of the action named @action_name to match @value. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
83 | * |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
84 | * This function is meant to be called from a #PurplePrefCallback function as |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
85 | * there isn't a good way to have a #PurplePrefCallback with multiple items in |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
86 | * the data parameter without leaking them forever. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
87 | */ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
88 | static void |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
89 | pidgin_action_group_bool_pref_handler(PidginActionGroup *group, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
90 | const gchar *action_name, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
91 | gboolean value) |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
92 | { |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
93 | GAction *action = NULL; |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
94 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
95 | action = g_action_map_lookup_action(G_ACTION_MAP(group), action_name); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
96 | if(action != NULL) { |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
97 | g_simple_action_set_state(G_SIMPLE_ACTION(action), |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
98 | g_variant_new_boolean(value)); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
99 | } |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
100 | } |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
101 | |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
102 | /*< private > |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
103 | * pidgin_action_group_setup_bool: |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
104 | * @group: The #PidginActionGroup instance. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
105 | * @action_name: The name of the action to setup. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
106 | * @pref_name: The name of the preference that @action_name is tied to. |
|
40388
3f2e9e346f6f
Fix a bunch of stuff that was found in review.
Gary Kramlich <grim@reaperworld.com>
parents:
40385
diff
changeset
|
107 | * @callback: (scope notified): A #PurplePrefCallback to call when the |
|
3f2e9e346f6f
Fix a bunch of stuff that was found in review.
Gary Kramlich <grim@reaperworld.com>
parents:
40385
diff
changeset
|
108 | * preference is changed. |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
109 | * |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
110 | * Initializes the boolean action named @action_name to the value of @pref_name |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
111 | * and setups up a preference change callback to @callback to maintain the |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
112 | * state of the action. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
113 | */ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
114 | static void |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
115 | pidgin_action_group_setup_bool(PidginActionGroup *group, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
116 | const gchar *action_name, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
117 | const gchar *pref_name, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
118 | PurplePrefCallback callback) |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
119 | { |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
120 | GAction *action = NULL; |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
121 | gboolean value = FALSE; |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
122 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
123 | /* find the action, if we can't find it, bail */ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
124 | action = g_action_map_lookup_action(G_ACTION_MAP(group), action_name); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
125 | g_return_if_fail(action != NULL); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
126 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
127 | /* get the value of the preference */ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
128 | value = purple_prefs_get_bool(pref_name); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
129 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
130 | /* change the state of the action to match the preference value. */ |
|
40367
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
131 | g_simple_action_set_state(G_SIMPLE_ACTION(action), |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
132 | g_variant_new_boolean(value)); |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
133 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
134 | /* finally add a preference callback to update the state based on the |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
135 | * preference. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
136 | */ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
137 | purple_prefs_connect_callback(group, pref_name, callback, group); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
138 | } |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
139 | |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
140 | /*< private > |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
141 | * pidgin_action_group_string_pref_handler: |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
142 | * @group: The #PidginActionGroup instance. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
143 | * @action_name: The name of the action to update. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
144 | * @value: The value of the preference. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
145 | * |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
146 | * Changes the state of the action named @action_name to match @value. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
147 | * |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
148 | * This function is meant to be called from a #PurplePrefCallback function as |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
149 | * there isn't a good way to have a #PurplePrefCallback with multiple items in |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
150 | * the data parameter without leaking them forever. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
151 | */ |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
152 | static void |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
153 | pidgin_action_group_string_pref_handler(PidginActionGroup *group, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
154 | const gchar *action_name, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
155 | const gchar *value) |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
156 | { |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
157 | GAction *action = NULL; |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
158 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
159 | action = g_action_map_lookup_action(G_ACTION_MAP(group), action_name); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
160 | if(action != NULL) { |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
161 | g_simple_action_set_state(G_SIMPLE_ACTION(action), |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
162 | g_variant_new_string(value)); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
163 | } |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
164 | } |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
165 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
166 | /*< private > |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
167 | * pidgin_action_group_setup_string: |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
168 | * @group: The #PidginActionGroup instance. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
169 | * @action_name: The name of the action to setup. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
170 | * @pref_name: The name of the preference that @action_name is tied to. |
|
40388
3f2e9e346f6f
Fix a bunch of stuff that was found in review.
Gary Kramlich <grim@reaperworld.com>
parents:
40385
diff
changeset
|
171 | * @callback: (scope notified): A #PurplePrefCallback to call when the |
|
3f2e9e346f6f
Fix a bunch of stuff that was found in review.
Gary Kramlich <grim@reaperworld.com>
parents:
40385
diff
changeset
|
172 | * preference is changed. |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
173 | * |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
174 | * Initializes the string action named @action_name to the value of @pref_name |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
175 | * and setups up a preference change callback to @callback to maintain the |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
176 | * state of the action. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
177 | */ |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
178 | static void |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
179 | pidgin_action_group_setup_string(PidginActionGroup *group, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
180 | const gchar *action_name, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
181 | const gchar *pref_name, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
182 | PurplePrefCallback callback) |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
183 | { |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
184 | GAction *action = NULL; |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
185 | const gchar *value = NULL; |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
186 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
187 | /* find the action, if we can't find it, bail */ |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
188 | action = g_action_map_lookup_action(G_ACTION_MAP(group), action_name); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
189 | g_return_if_fail(action != NULL); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
190 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
191 | /* change the state of the action to match the preference value. */ |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
192 | value = purple_prefs_get_string(pref_name); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
193 | g_simple_action_set_state(G_SIMPLE_ACTION(action), |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
194 | g_variant_new_string(value)); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
195 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
196 | /* finally add a preference callback to update the state based on the |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
197 | * preference. |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
198 | */ |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
199 | purple_prefs_connect_callback(group, pref_name, callback, group); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
200 | } |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
201 | |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
202 | /*< private > |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
203 | * pidgin_action_group_actions_set_enable: |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
204 | * @group: The #PidginActionGroup instance. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
205 | * @actions: The action names. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
206 | * @n_actions: The number of @actions. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
207 | * @enabled: Whether or not to enable the actions. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
208 | * |
|
40388
3f2e9e346f6f
Fix a bunch of stuff that was found in review.
Gary Kramlich <grim@reaperworld.com>
parents:
40385
diff
changeset
|
209 | * Sets the enabled property of the named actions to @enabled. |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
210 | */ |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
211 | static void |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
212 | pidgin_action_group_actions_set_enable(PidginActionGroup *group, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
213 | const gchar *const *actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
214 | gint n_actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
215 | gboolean enabled) |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
216 | { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
217 | gint i = 0; |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
218 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
219 | for(i = 0; i < n_actions; i++) { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
220 | GAction *action = NULL; |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
221 | const gchar *name = actions[i]; |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
222 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
223 | action = g_action_map_lookup_action(G_ACTION_MAP(group), name); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
224 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
225 | if(action != NULL) { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
226 | g_simple_action_set_enabled(G_SIMPLE_ACTION(action), enabled); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
227 | } else { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
228 | g_warning("Failed to find action named %s", name); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
229 | } |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
230 | } |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
231 | } |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
232 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
233 | /*< private > |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
234 | * pidgin_action_group_online_actions_set_enable: |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
235 | * @group: The #PidginActionGroup instance. |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
236 | * @enabled: %TRUE to enable the actions, %FALSE to disable them. |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
237 | * |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
238 | * Enables/disables the actions that require being online to use. |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
239 | */ |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
240 | static void |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
241 | pidgin_action_group_online_actions_set_enable(PidginActionGroup *group, |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
242 | gboolean enabled) |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
243 | { |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
244 | gint n_actions = G_N_ELEMENTS(pidgin_action_group_online_actions); |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
245 | |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
246 | pidgin_action_group_actions_set_enable(group, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
247 | pidgin_action_group_online_actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
248 | n_actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
249 | enabled); |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
250 | } |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
251 | |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
252 | /*< private > |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
253 | * pidgin_action_group_chat_actions_set_enable: |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
254 | * @group: The #PidginActionGroup instance. |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
255 | * @enabled: Whether or not to enable/disable the actions. |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
256 | * |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
257 | * Sets the enabled state of the chat specific actions to the value of @enabled. |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
258 | */ |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
259 | static void |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
260 | pidgin_action_group_chat_actions_set_enable(PidginActionGroup *group, |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
261 | gboolean enabled) |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
262 | { |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
263 | gint n_actions = G_N_ELEMENTS(pidgin_action_group_chat_actions); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
264 | |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
265 | pidgin_action_group_actions_set_enable(group, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
266 | pidgin_action_group_chat_actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
267 | n_actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
268 | enabled); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
269 | } |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
270 | |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
271 | /*< private > |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
272 | * pidgin_action_group_room_list_actions_set_enable: |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
273 | * @group: The #PidginActionGroup instance. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
274 | * @enabled: Whether or not to enable/disable the actions. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
275 | * |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
276 | * Sets the enabled state of the room list specific actions to the value of |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
277 | * @enabled. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
278 | */ |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
279 | static void |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
280 | pidgin_action_group_room_list_actions_set_enable(PidginActionGroup *group, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
281 | gboolean enabled) |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
282 | { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
283 | gint n_actions = G_N_ELEMENTS(pidgin_action_group_room_list_actions); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
284 | |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
285 | pidgin_action_group_actions_set_enable(group, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
286 | pidgin_action_group_room_list_actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
287 | n_actions, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
288 | enabled); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
289 | } |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
290 | |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
291 | /****************************************************************************** |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
292 | * Purple Signal Callbacks |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
293 | *****************************************************************************/ |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
294 | static void |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
295 | pidgin_action_group_online_cb(gpointer data) { |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
296 | pidgin_action_group_online_actions_set_enable(PIDGIN_ACTION_GROUP(data), |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
297 | TRUE); |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
298 | } |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
299 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
300 | static void |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
301 | pidgin_action_group_offline_cb(gpointer data) { |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
302 | pidgin_action_group_online_actions_set_enable(PIDGIN_ACTION_GROUP(data), |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
303 | FALSE); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
304 | } |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
305 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
306 | static void |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
307 | pidgin_action_group_signed_on_cb(PurpleAccount *account, gpointer data) { |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
308 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
309 | PurpleProtocol *protocol = NULL; |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
310 | const gchar *protocol_id = NULL; |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
311 | gboolean should_enable_chat = FALSE, should_enable_room_list = FALSE; |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
312 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
313 | protocol_id = purple_account_get_protocol_id(account); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
314 | protocol = purple_protocols_find(protocol_id); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
315 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
316 | /* We assume that the current state is correct, so we don't bother changing |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
317 | * state unless the newly connected account implements the chat interface, |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
318 | * which would cause a state change. |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
319 | */ |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
320 | should_enable_chat = PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT, info); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
321 | if(should_enable_chat) { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
322 | pidgin_action_group_chat_actions_set_enable(group, TRUE); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
323 | } |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
324 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
325 | /* likewise, for the room list, we only care about enabling in this |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
326 | * handler. |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
327 | */ |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
328 | should_enable_room_list = PURPLE_PROTOCOL_IMPLEMENTS(protocol, ROOMLIST, |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
329 | get_list); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
330 | if(should_enable_room_list) { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
331 | pidgin_action_group_room_list_actions_set_enable(group, TRUE); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
332 | } |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
333 | } |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
334 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
335 | static void |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
336 | pidgin_action_group_signed_off_cb(PurpleAccount *account, gpointer data) { |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
337 | gboolean should_disable_chat = TRUE, should_disable_room_list = TRUE; |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
338 | GList *connections = NULL, *l = NULL; |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
339 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
340 | /* walk through all the connections, looking for online ones that implement |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
341 | * the chat interface. We don't bother checking the account that this |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
342 | * signal was emitted for, because it's already offline and will be |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
343 | * filtered out by the online check. |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
344 | */ |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
345 | connections = purple_connections_get_all(); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
346 | for(l = connections; l != NULL; l = l->next) { |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
347 | PurpleConnection *connection = PURPLE_CONNECTION(l->data); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
348 | PurpleProtocol *protocol = NULL; |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
349 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
350 | /* if the connection isn't online, we don't care about it */ |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
351 | if(!PURPLE_CONNECTION_IS_CONNECTED(connection)) { |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
352 | continue; |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
353 | } |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
354 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
355 | protocol = purple_connection_get_protocol(connection); |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
356 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
357 | /* check if the protocol implements the chat interface */ |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
358 | if(PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT, info)) { |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
359 | should_disable_chat = FALSE; |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
360 | } |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
361 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
362 | /* check if the protocol implement the room list interface */ |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
363 | if(PURPLE_PROTOCOL_IMPLEMENTS(protocol, ROOMLIST, get_list)) { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
364 | should_disable_room_list = FALSE; |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
365 | } |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
366 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
367 | /* if we can't disable both, we can bail out of the loop */ |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
368 | if(!should_disable_chat && !should_disable_room_list) { |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
369 | break; |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
370 | } |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
371 | } |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
372 | |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
373 | if(should_disable_chat) { |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
374 | pidgin_action_group_chat_actions_set_enable(PIDGIN_ACTION_GROUP(data), |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
375 | FALSE); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
376 | } |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
377 | |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
378 | if(should_disable_room_list) { |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
379 | pidgin_action_group_room_list_actions_set_enable(PIDGIN_ACTION_GROUP(data), |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
380 | FALSE); |
|
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
381 | } |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
382 | } |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
383 | |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
384 | /****************************************************************************** |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
385 | * Preference Callbacks |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
386 | *****************************************************************************/ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
387 | static void |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
388 | pidgin_action_group_mute_sounds_callback(const gchar *name, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
389 | PurplePrefType type, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
390 | gconstpointer value, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
391 | gpointer data) |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
392 | { |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
393 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
394 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
395 | pidgin_action_group_bool_pref_handler(group, PIDGIN_ACTION_MUTE_SOUNDS, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
396 | (gboolean)GPOINTER_TO_INT(value)); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
397 | } |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
398 | |
|
40367
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
399 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
400 | pidgin_action_group_show_buddy_icons_callback(const gchar *name, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
401 | PurplePrefType type, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
402 | gconstpointer value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
403 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
404 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
405 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
406 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
407 | pidgin_action_group_bool_pref_handler(group, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
408 | PIDGIN_ACTION_SHOW_BUDDY_ICONS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
409 | (gboolean)GPOINTER_TO_INT(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
410 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
411 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
412 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
413 | pidgin_action_group_show_empty_groups_callback(const gchar *name, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
414 | PurplePrefType type, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
415 | gconstpointer value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
416 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
417 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
418 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
419 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
420 | pidgin_action_group_bool_pref_handler(group, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
421 | PIDGIN_ACTION_SHOW_EMPTY_GROUPS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
422 | (gboolean)GPOINTER_TO_INT(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
423 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
424 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
425 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
426 | pidgin_action_group_show_idle_times_callback(const gchar *name, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
427 | PurplePrefType type, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
428 | gconstpointer value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
429 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
430 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
431 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
432 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
433 | pidgin_action_group_bool_pref_handler(group, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
434 | PIDGIN_ACTION_SHOW_IDLE_TIMES, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
435 | (gboolean)GPOINTER_TO_INT(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
436 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
437 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
438 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
439 | pidgin_action_group_show_offline_buddies_callback(const gchar *name, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
440 | PurplePrefType type, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
441 | gconstpointer value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
442 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
443 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
444 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
445 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
446 | pidgin_action_group_bool_pref_handler(group, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
447 | PIDGIN_ACTION_SHOW_OFFLINE_BUDDIES, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
448 | (gboolean)GPOINTER_TO_INT(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
449 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
450 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
451 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
452 | pidgin_action_group_show_protocol_icons_callback(const gchar *name, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
453 | PurplePrefType type, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
454 | gconstpointer value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
455 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
456 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
457 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
458 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
459 | pidgin_action_group_bool_pref_handler(group, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
460 | PIDGIN_ACTION_SHOW_PROTOCOL_ICONS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
461 | (gboolean)GPOINTER_TO_INT(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
462 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
463 | |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
464 | static void |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
465 | pidgin_action_group_sort_method_callback(const gchar *name, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
466 | PurplePrefType type, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
467 | gconstpointer value, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
468 | gpointer data) |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
469 | { |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
470 | PidginActionGroup *group = PIDGIN_ACTION_GROUP(data); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
471 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
472 | pidgin_action_group_string_pref_handler(group, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
473 | PIDGIN_ACTION_SORT_METHOD, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
474 | value); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
475 | } |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
476 | |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
477 | /****************************************************************************** |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
478 | * Action Callbacks |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
479 | *****************************************************************************/ |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
480 | static void |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
481 | pidgin_action_group_about(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
482 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
483 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
484 | GtkWidget *about = pidgin_about_dialog_new(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
485 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
486 | /* fix me? */ |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
487 | #if 0 |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
488 | gtk_window_set_transient_for(GTK_WINDOW(about), GTK_WINDOW(window)); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
489 | #endif |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
490 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
491 | gtk_widget_show_all(about); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
492 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
493 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
494 | static void |
|
40371
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
495 | pidgin_action_group_add_buddy(GSimpleAction *simple, GVariant *parameter, |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
496 | gpointer data) |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
497 | { |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
498 | purple_blist_request_add_buddy(NULL, NULL, NULL, NULL); |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
499 | } |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
500 | |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
501 | static void |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
502 | pidgin_action_group_add_chat(GSimpleAction *simple, GVariant *parameter, |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
503 | gpointer data) |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
504 | { |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
505 | purple_blist_request_add_chat(NULL, NULL, NULL, NULL); |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
506 | } |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
507 | |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
508 | static void |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
509 | pidgin_action_group_add_group(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
510 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
511 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
512 | purple_blist_request_add_group(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
513 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
514 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
515 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
516 | pidgin_action_group_buddy_pounces(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
517 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
518 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
519 | pidgin_pounces_manager_show(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
520 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
521 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
522 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
523 | pidgin_action_group_custom_smiley(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
524 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
525 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
526 | pidgin_smiley_manager_show(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
527 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
528 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
529 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
530 | pidgin_action_group_debug(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
531 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
532 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
533 | gboolean old = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/debug/enabled"); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
534 | purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/debug/enabled", !old); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
535 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
536 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
537 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
538 | pidgin_action_group_file_transfers(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
539 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
540 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
541 | pidgin_xfer_dialog_show(NULL); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
542 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
543 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
544 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
545 | pidgin_action_group_get_user_info(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
546 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
547 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
548 | pidgin_dialogs_info(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
549 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
550 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
551 | static void |
|
40378
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
552 | pidgin_action_group_join_chat(GSimpleAction *simple, GVariant *parameter, |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
553 | gpointer data) |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
554 | { |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
555 | pidgin_blist_joinchat_show(); |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
556 | } |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
557 | |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
558 | static void |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
559 | pidgin_action_group_mute_sounds(GSimpleAction *action, GVariant *value, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
560 | gpointer data) |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
561 | { |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
562 | purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
563 | g_variant_get_boolean(value)); |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
564 | } |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
565 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
566 | static void |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
567 | pidgin_action_group_new_message(GSimpleAction *simple, GVariant *parameter, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
568 | gpointer data) |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
569 | { |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
570 | pidgin_dialogs_im(); |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
571 | } |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
572 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
573 | static void |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
574 | pidgin_action_group_online_help(GSimpleAction *simple, GVariant *parameter, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
575 | gpointer data) |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
576 | { |
|
40388
3f2e9e346f6f
Fix a bunch of stuff that was found in review.
Gary Kramlich <grim@reaperworld.com>
parents:
40385
diff
changeset
|
577 | purple_notify_uri(NULL, PURPLE_WEBSITE "help"); |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
578 | } |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
579 | |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
580 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
581 | pidgin_action_group_preferences(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
582 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
583 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
584 | pidgin_prefs_show(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
585 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
586 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
587 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
588 | pidgin_action_group_privacy(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
589 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
590 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
591 | pidgin_privacy_dialog_show(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
592 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
593 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
594 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
595 | pidgin_action_group_quit(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
596 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
597 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
598 | purple_core_quit(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
599 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
600 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
601 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
602 | pidgin_action_group_room_list(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
603 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
604 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
605 | pidgin_roomlist_dialog_show(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
606 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
607 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
608 | static void |
|
40385
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
609 | pidgin_action_group_set_mood(GSimpleAction *simple, GVariant *parameter, |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
610 | gpointer data) |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
611 | { |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
612 | pidgin_mood_dialog_show(NULL); |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
613 | } |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
614 | |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
615 | static void |
|
40367
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
616 | pidgin_action_group_show_buddy_icons(GSimpleAction *action, GVariant *value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
617 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
618 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
619 | purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
620 | g_variant_get_boolean(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
621 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
622 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
623 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
624 | pidgin_action_group_show_empty_groups(GSimpleAction *action, GVariant *value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
625 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
626 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
627 | purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_empty_groups", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
628 | g_variant_get_boolean(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
629 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
630 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
631 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
632 | pidgin_action_group_show_idle_times(GSimpleAction *action, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
633 | GVariant *value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
634 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
635 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
636 | purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_idle_time", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
637 | g_variant_get_boolean(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
638 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
639 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
640 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
641 | pidgin_action_group_show_offline_buddies(GSimpleAction *action, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
642 | GVariant *value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
643 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
644 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
645 | purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_offline_buddies", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
646 | g_variant_get_boolean(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
647 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
648 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
649 | static void |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
650 | pidgin_action_group_show_protocol_icons(GSimpleAction *action, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
651 | GVariant *value, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
652 | gpointer data) |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
653 | { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
654 | purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_protocol_icons", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
655 | g_variant_get_boolean(value)); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
656 | } |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
657 | |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
658 | static void |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
659 | pidgin_action_group_sort_method(GSimpleAction *action, GVariant *value, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
660 | gpointer data) |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
661 | { |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
662 | purple_prefs_set_string(PIDGIN_PREFS_ROOT "/blist/sort_type", |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
663 | g_variant_get_string(value, NULL)); |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
664 | } |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
665 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
666 | static void |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
667 | pidgin_action_group_system_log(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
668 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
669 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
670 | pidgin_syslog_show(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
671 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
672 | |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
673 | static void |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
674 | pidgin_action_group_view_user_log(GSimpleAction *simple, GVariant *parameter, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
675 | gpointer data) |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
676 | { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
677 | pidgin_dialogs_log(); |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
678 | } |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
679 | |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
680 | /****************************************************************************** |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
681 | * GObject Implementation |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
682 | *****************************************************************************/ |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
683 | G_DEFINE_TYPE(PidginActionGroup, pidgin_action_group, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
684 | G_TYPE_SIMPLE_ACTION_GROUP) |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
685 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
686 | static void |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
687 | pidgin_action_group_init(PidginActionGroup *group) { |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
688 | gpointer handle = NULL; |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
689 | GActionEntry entries[] = { |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
690 | { |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
691 | .name = PIDGIN_ACTION_ABOUT, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
692 | .activate = pidgin_action_group_about, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
693 | }, { |
|
40371
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
694 | .name = PIDGIN_ACTION_ADD_BUDDY, |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
695 | .activate = pidgin_action_group_add_buddy, |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
696 | }, { |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
697 | .name = PIDGIN_ACTION_ADD_CHAT, |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
698 | .activate = pidgin_action_group_add_chat, |
|
0773c993abd8
Migrate add-chat and add-buddy to the new menu
Gary Kramlich <grim@reaperworld.com>
parents:
40370
diff
changeset
|
699 | }, { |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
700 | .name = PIDGIN_ACTION_ADD_GROUP, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
701 | .activate = pidgin_action_group_add_group, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
702 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
703 | .name = PIDGIN_ACTION_BUDDY_POUNCES, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
704 | .activate = pidgin_action_group_buddy_pounces, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
705 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
706 | .name = PIDGIN_ACTION_CUSTOM_SMILEY, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
707 | .activate = pidgin_action_group_custom_smiley, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
708 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
709 | .name = PIDGIN_ACTION_DEBUG, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
710 | .activate = pidgin_action_group_debug, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
711 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
712 | .name = PIDGIN_ACTION_FILE_TRANSFERS, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
713 | .activate = pidgin_action_group_file_transfers, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
714 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
715 | .name = PIDGIN_ACTION_GET_USER_INFO, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
716 | .activate = pidgin_action_group_get_user_info, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
717 | }, { |
|
40378
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
718 | .name = PIDGIN_ACTION_JOIN_CHAT, |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
719 | .activate = pidgin_action_group_join_chat, |
|
9713b0ef6504
Move the join chat menu item to the new menu setup
Gary Kramlich <grim@reaperworld.com>
parents:
40373
diff
changeset
|
720 | }, { |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
721 | .name = PIDGIN_ACTION_MUTE_SOUNDS, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
722 | .state = "false", |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
723 | .change_state = pidgin_action_group_mute_sounds, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
724 | }, { |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
725 | .name = PIDGIN_ACTION_NEW_MESSAGE, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
726 | .activate = pidgin_action_group_new_message, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
727 | }, { |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
728 | .name = PIDGIN_ACTION_ONLINE_HELP, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
729 | .activate = pidgin_action_group_online_help, |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
730 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
731 | .name = PIDGIN_ACTION_PREFERENCES, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
732 | .activate = pidgin_action_group_preferences, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
733 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
734 | .name = PIDGIN_ACTION_PRIVACY, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
735 | .activate = pidgin_action_group_privacy, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
736 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
737 | .name = PIDGIN_ACTION_QUIT, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
738 | .activate = pidgin_action_group_quit, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
739 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
740 | .name = PIDGIN_ACTION_ROOM_LIST, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
741 | .activate = pidgin_action_group_room_list, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
742 | }, { |
|
40385
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
743 | .name = PIDGIN_ACTION_SET_MOOD, |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
744 | .activate = pidgin_action_group_set_mood, |
|
c3e9a7d14e6f
Move the mood api to it's own files and remove the remaining bits of the old menu bar from gtkblist
Gary Kramlich <grim@reaperworld.com>
parents:
40382
diff
changeset
|
745 | }, { |
|
40367
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
746 | .name = PIDGIN_ACTION_SHOW_BUDDY_ICONS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
747 | .state = "false", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
748 | .change_state = pidgin_action_group_show_buddy_icons, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
749 | }, { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
750 | .name = PIDGIN_ACTION_SHOW_EMPTY_GROUPS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
751 | .state = "false", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
752 | .change_state = pidgin_action_group_show_empty_groups, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
753 | }, { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
754 | .name = PIDGIN_ACTION_SHOW_IDLE_TIMES, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
755 | .state = "false", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
756 | .change_state = pidgin_action_group_show_idle_times, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
757 | }, { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
758 | .name = PIDGIN_ACTION_SHOW_OFFLINE_BUDDIES, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
759 | .state = "false", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
760 | .change_state = pidgin_action_group_show_offline_buddies, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
761 | }, { |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
762 | .name = PIDGIN_ACTION_SHOW_PROTOCOL_ICONS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
763 | .state = "false", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
764 | .change_state = pidgin_action_group_show_protocol_icons, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
765 | }, { |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
766 | .name = PIDGIN_ACTION_SORT_METHOD, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
767 | .parameter_type = "s", |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
768 | .state = "'none'", |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
769 | .change_state = pidgin_action_group_sort_method, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
770 | }, { |
|
40364
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
771 | .name = PIDGIN_ACTION_SYSTEM_LOG, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
772 | .activate = pidgin_action_group_system_log, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
773 | }, { |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
774 | .name = PIDGIN_ACTION_VIEW_USER_LOG, |
|
55483ee6710f
Migrate the rest of the static menu items to the new PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40363
diff
changeset
|
775 | .activate = pidgin_action_group_view_user_log, |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
776 | }, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
777 | }; |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
778 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
779 | g_action_map_add_action_entries(G_ACTION_MAP(group), entries, |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
780 | G_N_ELEMENTS(entries), NULL); |
|
40366
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
781 | |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
782 | /* now add some handlers for preference changes and set actions to the |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
783 | * correct value. |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
784 | */ |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
785 | pidgin_action_group_setup_bool(group, PIDGIN_ACTION_MUTE_SOUNDS, |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
786 | PIDGIN_PREFS_ROOT "/sound/mute", |
|
5c78f6c9a36b
Implement mute sounds to prove out the action state code
Gary Kramlich <grim@reaperworld.com>
parents:
40364
diff
changeset
|
787 | pidgin_action_group_mute_sounds_callback); |
|
40367
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
788 | pidgin_action_group_setup_bool(group, PIDGIN_ACTION_SHOW_BUDDY_ICONS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
789 | PIDGIN_PREFS_ROOT "/blist/show_buddy_icons", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
790 | pidgin_action_group_show_buddy_icons_callback); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
791 | pidgin_action_group_setup_bool(group, PIDGIN_ACTION_SHOW_EMPTY_GROUPS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
792 | PIDGIN_PREFS_ROOT "/blist/show_empty_groups", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
793 | pidgin_action_group_show_empty_groups_callback); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
794 | pidgin_action_group_setup_bool(group, PIDGIN_ACTION_SHOW_IDLE_TIMES, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
795 | PIDGIN_PREFS_ROOT "/blist/show_idle_time", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
796 | pidgin_action_group_show_idle_times_callback); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
797 | pidgin_action_group_setup_bool(group, PIDGIN_ACTION_SHOW_OFFLINE_BUDDIES, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
798 | PIDGIN_PREFS_ROOT "/blist/show_offline_buddies", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
799 | pidgin_action_group_show_offline_buddies_callback); |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
800 | pidgin_action_group_setup_bool(group, PIDGIN_ACTION_SHOW_PROTOCOL_ICONS, |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
801 | PIDGIN_PREFS_ROOT "/blist/show_protocol_icons", |
|
3bd059ab9eb4
Finish porting the rest of the toggle actions to the new menubar widget
Gary Kramlich <grim@reaperworld.com>
parents:
40366
diff
changeset
|
802 | pidgin_action_group_show_protocol_icons_callback); |
|
40368
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
803 | |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
804 | pidgin_action_group_setup_string(group, PIDGIN_ACTION_SORT_METHOD, |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
805 | PIDGIN_PREFS_ROOT "/blist/sort_type", |
|
cb9a81e8845a
Port the sort-method items to GMenu and GAction and display in the new menubar
Gary Kramlich <grim@reaperworld.com>
parents:
40367
diff
changeset
|
806 | pidgin_action_group_sort_method_callback); |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
807 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
808 | /* assume we are offline and disable all of the actions that require us to |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
809 | * be online. |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
810 | */ |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
811 | pidgin_action_group_online_actions_set_enable(group, FALSE); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
812 | pidgin_action_group_chat_actions_set_enable(group, FALSE); |
|
40382
c491e1f440dd
Manage the room list action's state based on whether the online accounts support the room list interface.
Gary Kramlich <grim@reaperworld.com>
parents:
40381
diff
changeset
|
813 | pidgin_action_group_room_list_actions_set_enable(group, FALSE); |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
814 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
815 | /* connect to the online and offline signals in purple connections. This |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
816 | * is used to toggle states of actions that require being online. |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
817 | */ |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
818 | handle = purple_connections_get_handle(); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
819 | purple_signal_connect(handle, "online", group, |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
820 | PURPLE_CALLBACK(pidgin_action_group_online_cb), |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
821 | group); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
822 | purple_signal_connect(handle, "offline", group, |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
823 | PURPLE_CALLBACK(pidgin_action_group_offline_cb), |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
824 | group); |
|
40381
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
825 | |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
826 | /* connect to account-signed-on and account-signed-off to toggle actions |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
827 | * that depend on specific interfaces in accounts. |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
828 | */ |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
829 | handle = purple_accounts_get_handle(); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
830 | purple_signal_connect(handle, "account-signed-on", group, |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
831 | PURPLE_CALLBACK(pidgin_action_group_signed_on_cb), |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
832 | group); |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
833 | purple_signal_connect(handle, "account-signed-off", group, |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
834 | PURPLE_CALLBACK(pidgin_action_group_signed_off_cb), |
|
bfd6a61974ac
Toggle the enabled status of chat actions based on connected accounts that implement that interface
Gary Kramlich <grim@reaperworld.com>
parents:
40380
diff
changeset
|
835 | group); |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
836 | }; |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
837 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
838 | static void |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
839 | pidgin_action_group_finalize(GObject *obj) { |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
840 | purple_signals_disconnect_by_handle(obj); |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
841 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
842 | G_OBJECT_CLASS(pidgin_action_group_parent_class)->finalize(obj); |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
843 | } |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
844 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
845 | static void |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
846 | pidgin_action_group_class_init(PidginActionGroupClass *klass) { |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
847 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
848 | |
|
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
849 | obj_class->finalize = pidgin_action_group_finalize; |
|
40363
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
850 | } |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
851 | |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
852 | /****************************************************************************** |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
853 | * Public API |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
854 | *****************************************************************************/ |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
855 | GSimpleActionGroup * |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
856 | pidgin_action_group_new(void) { |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
857 | return G_SIMPLE_ACTION_GROUP(g_object_new(PIDGIN_TYPE_ACTION_GROUP, NULL)); |
|
c8b010d1d430
Start to migrate the buddy list from GtkActionEntry and UiManager to GActionEntry and a custom widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
858 | } |
|
40370
74c0f140048d
Use the new online and offline signals to manage the state of actions in PidginActionGroup
Gary Kramlich <grim@reaperworld.com>
parents:
40368
diff
changeset
|
859 |