Sun, 30 Apr 2023 17:42:35 -0500
Use G_SOURCE_FUNC macro more
It was added in GLib 2.58
Testing Done:
Compiled only.
Reviewed at https://reviews.imfreedom.org/r/2446/
|
39887
9c8f874c74a0
Clean up all of the license headers
Gary Kramlich <grim@reaperworld.com>
parents:
39834
diff
changeset
|
1 | /* |
|
9c8f874c74a0
Clean up all of the license headers
Gary Kramlich <grim@reaperworld.com>
parents:
39834
diff
changeset
|
2 | * finch |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
3 | * |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15908
diff
changeset
|
4 | * Finch is the legal property of its developers, whose names are too numerous |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
6 | * source distribution. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
7 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
11 | * (at your option) any later version. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
12 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
16 | * GNU General Public License for more details. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
17 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19555
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14555
diff
changeset
|
21 | */ |
|
39887
9c8f874c74a0
Clean up all of the license headers
Gary Kramlich <grim@reaperworld.com>
parents:
39834
diff
changeset
|
22 | |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38849
diff
changeset
|
23 | #include NCURSES_HEADER |
|
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38849
diff
changeset
|
24 | |
|
40590
597b9c74296e
Finch shouldn't include finch.h
Gary Kramlich <grim@reaperworld.com>
parents:
40511
diff
changeset
|
25 | #include <string.h> |
|
597b9c74296e
Finch shouldn't include finch.h
Gary Kramlich <grim@reaperworld.com>
parents:
40511
diff
changeset
|
26 | |
|
40441
f23c7e772667
Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
27 | #include <glib/gi18n-lib.h> |
|
f23c7e772667
Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
28 | |
|
40897
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
29 | #include <gplugin.h> |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
30 | |
|
40359
ca141ea93b83
Make all of finch use purple.h
Gary Kramlich <grim@reaperworld.com>
parents:
40131
diff
changeset
|
31 | #include <purple.h> |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | |
|
40511
ec08ac1f7d5f
Fix Finch for the libgnt single header file
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
33 | #include <gnt.h> |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
34 | |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
35 | #include "gntblist.h" |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14447
diff
changeset
|
36 | #include "gntconv.h" |
|
40590
597b9c74296e
Finch shouldn't include finch.h
Gary Kramlich <grim@reaperworld.com>
parents:
40511
diff
changeset
|
37 | #include "gntmenuutil.h" |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
38 | #include "gntstatus.h" |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16344
diff
changeset
|
40 | #define PREF_ROOT "/finch/blist" |
|
25732
bdd010ff69fa
*** Plucked rev 143e16e9 (sadrul@pidgin.im):
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25708
diff
changeset
|
41 | #define TYPING_TIMEOUT_S 4 |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
42 | |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
43 | #define UI_DATA "ui-finch" |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
44 | |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
45 | #define SHOW_EMPTY_GROUP_TIMEOUT 60 |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
46 | |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
47 | struct _FinchBuddyList { |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
48 | PurpleBuddyList parent; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
49 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
50 | GntWidget *window; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
51 | GntWidget *tree; |
|
13919
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
52 | |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
53 | GntWidget *tooltip; |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34855
diff
changeset
|
54 | PurpleBlistNode *tnode; /* Who is the tooltip being displayed for? */ |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
55 | GList *tagged; /* A list of tagged blistnodes */ |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
56 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
57 | GntWidget *context; |
| 15884 | 58 | PurpleBlistNode *cnode; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
59 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
60 | /* XXX: I am KISSing */ |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
61 | GntWidget *status; /* Dropdown with the statuses */ |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
62 | GntWidget *statustext; /* Status message */ |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
63 | int typing; |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
64 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
65 | GntWidget *menu; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
66 | /* These are the menuitems that get regenerated */ |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
67 | GntMenuItem *accounts; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
68 | GntMenuItem *plugins; |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
69 | GntMenuItem *grouping; |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
70 | |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
71 | /* When a new group is manually added, it is empty, but we still want to show it |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
72 | * for a while (SHOW_EMPTY_GROUP_TIMEOUT seconds) even if 'show empty groups' is |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
73 | * not selected. |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
74 | */ |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
75 | GList *new_group; |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
76 | guint new_group_timeout; |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
77 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
78 | FinchBlistManager *manager; |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
79 | }; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
80 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
81 | typedef struct |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
82 | { |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
83 | gpointer row; /* the row in the GntTree */ |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
84 | guint signed_timer; /* used when 'recently' signed on/off */ |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
85 | } FinchBlistNode; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
86 | |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
87 | typedef enum |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
88 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
89 | STATUS_PRIMITIVE = 0, |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
90 | STATUS_SAVED_POPULAR, |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
91 | STATUS_SAVED_ALL, |
|
14194
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
92 | STATUS_SAVED_NEW |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
93 | } StatusType; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
94 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
95 | typedef struct |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
96 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
97 | StatusType type; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
98 | union |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
99 | { |
| 15884 | 100 | PurpleStatusPrimitive prim; |
| 101 | PurpleSavedStatus *saved; | |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
102 | } u; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
103 | } StatusBoxItem; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
104 | |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
105 | static FinchBuddyList *ggblist; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
106 | |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
107 | static void add_buddy(PurpleBuddy *buddy, FinchBuddyList *ggblist); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
108 | static void add_contact(PurpleMetaContact *contact, FinchBuddyList *ggblist); |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
109 | static void add_group(PurpleGroup *group, FinchBuddyList *ggblist); |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
110 | static void add_chat(PurpleChat *chat, FinchBuddyList *ggblist); |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
111 | static void add_node(PurpleBlistNode *node, FinchBuddyList *ggblist); |
|
17876
e22e8884af80
Fix for the bug Alver reported:
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17862
diff
changeset
|
112 | static void node_update(PurpleBuddyList *list, PurpleBlistNode *node); |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
113 | static void draw_tooltip(FinchBuddyList *ggblist); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
114 | static void tooltip_for_buddy(PurpleBuddy *buddy, GString *str, gboolean full); |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
115 | static gboolean remove_typing_cb(gpointer data); |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
116 | static void remove_peripherals(FinchBuddyList *ggblist); |
| 15884 | 117 | static const char * get_display_name(PurpleBlistNode *node); |
| 118 | static void savedstatus_changed(PurpleSavedStatus *now, PurpleSavedStatus *old); | |
| 119 | static void blist_show(PurpleBuddyList *list); | |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
120 | static void update_node_display(PurpleBlistNode *buddy, |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
121 | FinchBuddyList *ggblist); |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
122 | static void update_buddy_display(PurpleBuddy *buddy, FinchBuddyList *ggblist); |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
123 | static gboolean account_autojoin_cb(PurpleConnection *pc, gpointer data); |
|
39676
1e8394d47205
Add list parameter to all buddy list UI ops.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39665
diff
changeset
|
124 | static void finch_request_add_buddy(PurpleBuddyList *list, |
|
1e8394d47205
Add list parameter to all buddy list UI ops.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39665
diff
changeset
|
125 | PurpleAccount *account, |
|
1e8394d47205
Add list parameter to all buddy list UI ops.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39665
diff
changeset
|
126 | const char *username, const char *grp, |
|
1e8394d47205
Add list parameter to all buddy list UI ops.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39665
diff
changeset
|
127 | const char *alias); |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
128 | static void menu_group_set_cb(GntMenuItem *item, gpointer data); |
|
13919
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
129 | |
| 14774 | 130 | /* Sort functions */ |
|
16555
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
131 | static int blist_node_compare_position(PurpleBlistNode *n1, PurpleBlistNode *n2); |
| 15884 | 132 | static int blist_node_compare_text(PurpleBlistNode *n1, PurpleBlistNode *n2); |
| 133 | static int blist_node_compare_status(PurpleBlistNode *n1, PurpleBlistNode *n2); | |
| 14774 | 134 | |
|
21804
931ef2cc7cfb
Add support for colour in gnttreerows, and colourise the blist. Fixes #1490
Richard Nelson <wabz@pidgin.im>
parents:
21630
diff
changeset
|
135 | static int color_available; |
|
931ef2cc7cfb
Add support for colour in gnttreerows, and colourise the blist. Fixes #1490
Richard Nelson <wabz@pidgin.im>
parents:
21630
diff
changeset
|
136 | static int color_away; |
|
931ef2cc7cfb
Add support for colour in gnttreerows, and colourise the blist. Fixes #1490
Richard Nelson <wabz@pidgin.im>
parents:
21630
diff
changeset
|
137 | static int color_offline; |
|
931ef2cc7cfb
Add support for colour in gnttreerows, and colourise the blist. Fixes #1490
Richard Nelson <wabz@pidgin.im>
parents:
21630
diff
changeset
|
138 | static int color_idle; |
|
931ef2cc7cfb
Add support for colour in gnttreerows, and colourise the blist. Fixes #1490
Richard Nelson <wabz@pidgin.im>
parents:
21630
diff
changeset
|
139 | |
|
35456
821aa4bcb6fa
Fix a bunch of gtk-doc warnings in finch
Ankit Vani <a@nevitus.org>
parents:
35454
diff
changeset
|
140 | /* |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
141 | * Buddy List Manager functions. |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
142 | */ |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
143 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
144 | static gboolean default_can_add_node(PurpleBlistNode *node) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
145 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
146 | gboolean offline = purple_prefs_get_bool(PREF_ROOT "/showoffline"); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
147 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
148 | if (PURPLE_IS_BUDDY(node)) { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
149 | PurpleBuddy *buddy = (PurpleBuddy*)node; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
150 | FinchBlistNode *fnode = g_object_get_data(G_OBJECT(node), UI_DATA); |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
151 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
152 | if (!purple_buddy_get_contact(buddy)) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
153 | return FALSE; /* When a new buddy is added and show-offline is set */ |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
154 | if (PURPLE_BUDDY_IS_ONLINE(buddy)) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
155 | return TRUE; /* The buddy is online */ |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
156 | if (!purple_account_is_connected(purple_buddy_get_account(buddy))) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
157 | return FALSE; /* The account is disconnected. Do not show */ |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
158 | if (offline) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
159 | return TRUE; /* We want to see offline buddies too */ |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
160 | if (fnode && fnode->signed_timer) |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
161 | return TRUE; /* Show if the buddy just signed off */ |
|
22314
850c1c5e24b9
Pay attention to the 'show_offline' setting for the buddylist.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22312
diff
changeset
|
162 | if (purple_blist_node_get_bool(node, "show_offline")) |
|
850c1c5e24b9
Pay attention to the 'show_offline' setting for the buddylist.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22312
diff
changeset
|
163 | return TRUE; |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
164 | } else if (PURPLE_IS_META_CONTACT(node)) { |
|
41085
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
165 | PurpleBlistNode *child; |
|
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
166 | for (child = purple_blist_node_get_first_child(node); |
|
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
167 | child; child = purple_blist_node_get_sibling_next(child)) { |
|
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
168 | if (default_can_add_node(child)) { |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
169 | return TRUE; |
|
41085
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
170 | } |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
171 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
172 | } else if (PURPLE_IS_CHAT(node)) { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
173 | PurpleChat *chat = (PurpleChat*)node; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
174 | if (purple_account_is_connected(purple_chat_get_account(chat))) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
175 | return TRUE; /* Show whenever the account is online */ |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
176 | } else if (PURPLE_IS_GROUP(node)) { |
|
41085
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
177 | PurpleBlistNode *child; |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
178 | gboolean empty = purple_prefs_get_bool(PREF_ROOT "/emptygroups"); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
179 | if (empty) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
180 | return TRUE; /* If we want to see empty groups, we can show any group */ |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
181 | |
|
41085
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
182 | for (child = purple_blist_node_get_first_child(node); |
|
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
183 | child; child = purple_blist_node_get_sibling_next(child)) { |
|
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
184 | if (default_can_add_node(child)) { |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
185 | return TRUE; |
|
41085
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
186 | } |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
187 | } |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
188 | |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
189 | if (ggblist && ggblist->new_group && g_list_find(ggblist->new_group, node)) |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
190 | return TRUE; |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
191 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
192 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
193 | return FALSE; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
194 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
195 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
196 | static gpointer default_find_parent(PurpleBlistNode *node) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
197 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
198 | gpointer ret = NULL; |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
199 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
200 | if (PURPLE_IS_BUDDY(node) || PURPLE_IS_META_CONTACT(node) || PURPLE_IS_CHAT(node)) |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
201 | ret = purple_blist_node_get_parent(node); |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
202 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
203 | if (ret) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
204 | add_node(ret, ggblist); |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
205 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
206 | return ret; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
207 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
208 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
209 | static gboolean default_create_tooltip(gpointer selected_row, GString **body, char **tool_title) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
210 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
211 | GString *str; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
212 | PurpleBlistNode *node = selected_row; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
213 | int lastseen = 0; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
214 | char *title; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
215 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
216 | str = g_string_new(""); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
217 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
218 | if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
219 | PurpleBuddy *pr = purple_meta_contact_get_priority_buddy((PurpleMetaContact*)node); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
220 | gboolean offline = !PURPLE_BUDDY_IS_ONLINE(pr); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
221 | gboolean showoffline = purple_prefs_get_bool(PREF_ROOT "/showoffline"); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
222 | const char *name = purple_buddy_get_name(pr); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
223 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
224 | title = g_strdup(name); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
225 | tooltip_for_buddy(pr, str, TRUE); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
226 | for (node = purple_blist_node_get_first_child(node); node; node = purple_blist_node_get_sibling_next(node)) { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
227 | PurpleBuddy *buddy = (PurpleBuddy*)node; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
228 | if (offline) { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
229 | int value = purple_blist_node_get_int(node, "last_seen"); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
230 | if (value > lastseen) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
231 | lastseen = value; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
232 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
233 | if (node == (PurpleBlistNode*)pr) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
234 | continue; |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
235 | if (!purple_account_is_connected(purple_buddy_get_account(buddy))) |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
236 | continue; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
237 | if (!showoffline && !PURPLE_BUDDY_IS_ONLINE(buddy)) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
238 | continue; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
239 | str = g_string_append(str, "\n----------\n"); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
240 | tooltip_for_buddy(buddy, str, FALSE); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
241 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
242 | } else if (PURPLE_IS_BUDDY(node)) { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
243 | PurpleBuddy *buddy = (PurpleBuddy *)node; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
244 | tooltip_for_buddy(buddy, str, TRUE); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
245 | title = g_strdup(purple_buddy_get_name(buddy)); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
246 | if (!PURPLE_BUDDY_IS_ONLINE((PurpleBuddy*)node)) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
247 | lastseen = purple_blist_node_get_int(node, "last_seen"); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
248 | } else if (PURPLE_IS_GROUP(node)) { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
249 | PurpleGroup *group = (PurpleGroup *)node; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
250 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
251 | g_string_append_printf(str, _("Online: %d\nTotal: %d"), |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
252 | purple_counting_node_get_online_count(PURPLE_COUNTING_NODE(group)), |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
253 | purple_counting_node_get_current_size(PURPLE_COUNTING_NODE(group))); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
254 | |
|
22342
916c989bd2c0
Update finch to not touch the internals of PurpleGroup.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22341
diff
changeset
|
255 | title = g_strdup(purple_group_get_name(group)); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
256 | } else if (PURPLE_IS_CHAT(node)) { |
|
41980
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
257 | PurpleAccount *account = NULL; |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
258 | PurpleContactInfo *info = NULL; |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
259 | PurpleChat *chat = NULL; |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
260 | |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
261 | chat = PURPLE_CHAT(node); |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
262 | account = purple_chat_get_account(chat); |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
263 | info = PURPLE_CONTACT_INFO(account); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
264 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
265 | g_string_append_printf(str, _("Account: %s (%s)"), |
|
41980
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
266 | purple_contact_info_get_username(info), |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
267 | purple_account_get_protocol_name(account)); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
268 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
269 | title = g_strdup(purple_chat_get_name(chat)); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
270 | } else { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
271 | g_string_free(str, TRUE); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
272 | return FALSE; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
273 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
274 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
275 | if (lastseen > 0) { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
276 | char *tmp = purple_str_seconds_to_string(time(NULL) - lastseen); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
277 | g_string_append_printf(str, _("\nLast Seen: %s ago"), tmp); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
278 | g_free(tmp); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
279 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
280 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
281 | if (tool_title) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
282 | *tool_title = title; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
283 | else |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
284 | g_free(title); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
285 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
286 | if (body) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
287 | *body = str; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
288 | else |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
289 | g_string_free(str, TRUE); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
290 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
291 | return TRUE; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
292 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
293 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
294 | static FinchBlistManager default_manager = |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
295 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
296 | "default", |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
297 | N_("Default"), |
|
22312
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
298 | NULL, |
|
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
299 | NULL, |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
300 | default_can_add_node, |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
301 | default_find_parent, |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
302 | default_create_tooltip, |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
303 | {NULL, NULL, NULL, NULL} |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
304 | }; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
305 | static GList *managers; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
306 | |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
307 | static void |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
308 | finch_blist_node_free(FinchBlistNode *node) { |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
309 | g_clear_handle_id(&node->signed_timer, g_source_remove); |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
310 | |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
311 | g_free(node); |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
312 | } |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
313 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
314 | static FinchBlistNode * |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
315 | create_finch_blist_node(PurpleBlistNode *node, gpointer row) |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
316 | { |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
317 | FinchBlistNode *fnode = g_object_get_data(G_OBJECT(node), UI_DATA); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
318 | if (!fnode) { |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
319 | fnode = g_new0(FinchBlistNode, 1); |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
320 | fnode->signed_timer = 0; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
321 | |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
322 | g_object_set_data_full(G_OBJECT(node), UI_DATA, fnode, |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
323 | (GDestroyNotify)finch_blist_node_free); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
324 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
325 | fnode->row = row; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
326 | return fnode; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
327 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
328 | |
|
21808
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
329 | static int |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
330 | get_display_color(PurpleBlistNode *node) |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
331 | { |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
332 | PurpleBuddy *buddy; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
333 | int color = 0; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
334 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
335 | if (PURPLE_IS_META_CONTACT(node)) |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
336 | node = PURPLE_BLIST_NODE(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(node))); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
337 | if (!PURPLE_IS_BUDDY(node)) |
|
21808
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
338 | return 0; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
339 | |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
340 | buddy = (PurpleBuddy*)node; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
341 | if (purple_presence_is_idle(purple_buddy_get_presence(buddy))) { |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
342 | color = color_idle; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
343 | } else if (purple_presence_is_available(purple_buddy_get_presence(buddy))) { |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
344 | color = color_available; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
345 | } else if (purple_presence_is_online(purple_buddy_get_presence(buddy)) && |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
346 | !purple_presence_is_available(purple_buddy_get_presence(buddy))) { |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
347 | color = color_away; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
348 | } else if (!purple_presence_is_online(purple_buddy_get_presence(buddy))) { |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
349 | color = color_offline; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
350 | } |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
351 | |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
352 | return color; |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
353 | } |
|
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
354 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
355 | static GntTextFormatFlags |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
356 | get_blist_node_flag(FinchBuddyList *ggblist, PurpleBlistNode *node) |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
357 | { |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
358 | GntTextFormatFlags flag = 0; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
359 | FinchBlistNode *fnode = g_object_get_data(G_OBJECT(node), UI_DATA); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
360 | |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
361 | if (ggblist->tagged && g_list_find(ggblist->tagged, node)) |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
362 | flag |= GNT_TEXT_FLAG_BOLD; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
363 | |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
364 | if (fnode && fnode->signed_timer) |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
365 | flag |= GNT_TEXT_FLAG_BLINK; |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
366 | else if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
367 | node = PURPLE_BLIST_NODE(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(node))); |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
368 | fnode = g_object_get_data(G_OBJECT(node), UI_DATA); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
369 | if (fnode && fnode->signed_timer) |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
370 | flag |= GNT_TEXT_FLAG_BLINK; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
371 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
372 | |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
373 | return flag; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
374 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
375 | |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
376 | static void |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
377 | blist_update_row_flags(FinchBuddyList *ggblist, PurpleBlistNode *node) |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
378 | { |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
379 | gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), node, |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
380 | get_blist_node_flag(ggblist, node)); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
381 | gnt_tree_set_row_color(GNT_TREE(ggblist->tree), node, get_display_color(node)); |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
382 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
383 | |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
384 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
385 | new_node(G_GNUC_UNUSED PurpleBuddyList *list, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
386 | G_GNUC_UNUSED PurpleBlistNode *node) |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
387 | { |
|
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
388 | } |
|
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
389 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
390 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
391 | add_node(PurpleBlistNode *node, FinchBuddyList *ggblist) |
|
13927
c2f57a00bc1f
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13926
diff
changeset
|
392 | { |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
393 | if(g_object_get_data(G_OBJECT(node), UI_DATA)) { |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
394 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
395 | } |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
396 | |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
397 | if(!ggblist->manager->can_add_node(node)) { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
398 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
399 | } |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
400 | |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
401 | if(PURPLE_IS_BUDDY(node)) { |
| 15884 | 402 | add_buddy((PurpleBuddy*)node, ggblist); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
403 | } else if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
404 | add_contact((PurpleMetaContact*)node, ggblist); |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
405 | } else if (PURPLE_IS_GROUP(node)) { |
| 15884 | 406 | add_group((PurpleGroup*)node, ggblist); |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
407 | } else if (PURPLE_IS_CHAT(node)) { |
| 15884 | 408 | add_chat((PurpleChat *)node, ggblist); |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
409 | } |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
410 | |
|
13927
c2f57a00bc1f
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13926
diff
changeset
|
411 | draw_tooltip(ggblist); |
|
c2f57a00bc1f
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13926
diff
changeset
|
412 | } |
|
c2f57a00bc1f
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13926
diff
changeset
|
413 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
414 | void finch_blist_manager_add_node(PurpleBlistNode *node) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
415 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
416 | add_node(node, ggblist); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
417 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
418 | |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
419 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
420 | remove_tooltip(FinchBuddyList *ggblist) |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
421 | { |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
422 | gnt_widget_destroy(ggblist->tooltip); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
423 | ggblist->tooltip = NULL; |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
424 | ggblist->tnode = NULL; |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
425 | } |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
426 | |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
427 | static void |
| 15884 | 428 | node_remove(PurpleBuddyList *list, PurpleBlistNode *node) |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
429 | { |
|
39694
4aed5fad4da9
Remove purple_blist_[gs]et_ui_data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39693
diff
changeset
|
430 | FinchBuddyList *ggblist = FINCH_BUDDY_LIST(list); |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
431 | PurpleBlistNode *parent; |
|
13919
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
432 | |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
433 | if (ggblist == NULL || g_object_get_data(G_OBJECT(node), UI_DATA) == NULL) |
|
13919
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
434 | return; |
|
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
435 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
436 | if (PURPLE_IS_GROUP(node) && ggblist->new_group) { |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
437 | ggblist->new_group = g_list_remove(ggblist->new_group, node); |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
438 | } |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
439 | |
|
13919
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
440 | gnt_tree_remove(GNT_TREE(ggblist->tree), node); |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
441 | if (ggblist->tagged) |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
442 | ggblist->tagged = g_list_remove(ggblist->tagged, node); |
|
13919
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
443 | |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
444 | parent = purple_blist_node_get_parent(node); |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
445 | for (node = purple_blist_node_get_first_child(node); node; |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
446 | node = purple_blist_node_get_sibling_next(node)) |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
447 | node_remove(list, node); |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
448 | |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
449 | if (parent) { |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
450 | if (!ggblist->manager->can_add_node(parent)) |
|
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
451 | node_remove(list, parent); |
|
17876
e22e8884af80
Fix for the bug Alver reported:
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17862
diff
changeset
|
452 | else |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
453 | node_update(list, parent); |
|
13919
94caf5dc02b4
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13915
diff
changeset
|
454 | } |
| 14910 | 455 | |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
456 | draw_tooltip(ggblist); |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
457 | } |
|
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
458 | |
|
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
459 | static void |
| 15884 | 460 | node_update(PurpleBuddyList *list, PurpleBlistNode *node) |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
461 | { |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
462 | FinchBuddyList *ggblist; |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
463 | |
|
39694
4aed5fad4da9
Remove purple_blist_[gs]et_ui_data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39693
diff
changeset
|
464 | g_return_if_fail(FINCH_IS_BUDDY_LIST(list)); |
| 14455 | 465 | /* It really looks like this should never happen ... but it does. |
| 466 | This will at least emit a warning to the log when it | |
| 467 | happens, so maybe someone will figure it out. */ | |
| 468 | g_return_if_fail(node != NULL); | |
| 469 | ||
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
470 | ggblist = FINCH_BUDDY_LIST(list); |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
471 | if (ggblist->window == NULL) { |
|
17862
32f49f3a139a
Fix a crash exposed by nullprpl.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17845
diff
changeset
|
472 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
473 | } |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
474 | |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
475 | if(g_object_get_data(G_OBJECT(node), UI_DATA) != NULL) { |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
476 | gnt_tree_change_text(GNT_TREE(ggblist->tree), node, 0, |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
477 | get_display_name(node)); |
| 14774 | 478 | gnt_tree_sort_row(GNT_TREE(ggblist->tree), node); |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
479 | blist_update_row_flags(ggblist, node); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
480 | if (gnt_tree_get_parent_key(GNT_TREE(ggblist->tree), node) != |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
481 | ggblist->manager->find_parent(node)) |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
482 | { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
483 | node_remove(list, node); |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
484 | } |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
485 | } |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
486 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
487 | if (PURPLE_IS_BUDDY(node)) { |
| 15884 | 488 | PurpleBuddy *buddy = (PurpleBuddy*)node; |
|
39694
4aed5fad4da9
Remove purple_blist_[gs]et_ui_data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39693
diff
changeset
|
489 | add_node((PurpleBlistNode *)buddy, FINCH_BUDDY_LIST(list)); |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
490 | node_update(list, purple_blist_node_get_parent(node)); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
491 | } else if (PURPLE_IS_CHAT(node)) { |
|
39694
4aed5fad4da9
Remove purple_blist_[gs]et_ui_data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39693
diff
changeset
|
492 | add_node(node, FINCH_BUDDY_LIST(list)); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
493 | } else if (PURPLE_IS_META_CONTACT(node)) { |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
494 | if (g_object_get_data(G_OBJECT(node), UI_DATA) == NULL) { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
495 | /* The core seems to expect the UI to add the buddies. */ |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
496 | for (node = purple_blist_node_get_first_child(node); node; node = purple_blist_node_get_sibling_next(node)) |
|
39694
4aed5fad4da9
Remove purple_blist_[gs]et_ui_data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39693
diff
changeset
|
497 | add_node(node, FINCH_BUDDY_LIST(list)); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
498 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
499 | } else if (PURPLE_IS_GROUP(node)) { |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
500 | if (!ggblist->manager->can_add_node(node)) |
|
14469
3b398f75a695
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14467
diff
changeset
|
501 | node_remove(list, node); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
502 | else |
|
39694
4aed5fad4da9
Remove purple_blist_[gs]et_ui_data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39693
diff
changeset
|
503 | add_node(node, FINCH_BUDDY_LIST(list)); |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
504 | } |
|
24198
a8cf4ef3982a
Update the tooltip if the status of the selected node changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23485
diff
changeset
|
505 | if (ggblist->tnode == node) { |
|
a8cf4ef3982a
Update the tooltip if the status of the selected node changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23485
diff
changeset
|
506 | draw_tooltip(ggblist); |
|
a8cf4ef3982a
Update the tooltip if the status of the selected node changes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23485
diff
changeset
|
507 | } |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
508 | } |
|
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
509 | |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
510 | static gboolean |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
511 | remove_new_empty_group(G_GNUC_UNUSED gpointer data) |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
512 | { |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
513 | PurpleBuddyList *list; |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
514 | FinchBuddyList *ggblist; |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
515 | |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
516 | list = purple_blist_get_default(); |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
517 | g_return_val_if_fail(list, FALSE); |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
518 | ggblist = FINCH_BUDDY_LIST(list); |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
519 | |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
520 | ggblist->new_group_timeout = 0; |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
521 | while (ggblist->new_group) { |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
522 | PurpleBlistNode *group = ggblist->new_group->data; |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
523 | ggblist->new_group = g_list_delete_link(ggblist->new_group, ggblist->new_group); |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
524 | node_update(list, group); |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
525 | } |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
526 | |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
527 | return FALSE; |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
528 | } |
|
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
529 | |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
530 | static void |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
531 | add_buddy_cb(G_GNUC_UNUSED gpointer data, PurpleRequestPage *page) { |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
532 | const char *username = purple_request_page_get_string(page, "screenname"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
533 | const char *alias = purple_request_page_get_string(page, "alias"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
534 | const char *group = purple_request_page_get_string(page, "group"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
535 | const char *invite = purple_request_page_get_string(page, "invite"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
536 | PurpleAccount *account = purple_request_page_get_account(page, "account"); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
537 | const char *error = NULL; |
| 15884 | 538 | PurpleGroup *grp; |
| 539 | PurpleBuddy *buddy; | |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
540 | |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
541 | if (!username) |
|
22942
2bf494f8e2a4
Change the string "screen name" to "username" everywhere. I think most
Mark Doliner <markdoliner@pidgin.im>
parents:
22935
diff
changeset
|
542 | error = _("You must provide a username for the buddy."); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
543 | else if (!group) |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
544 | error = _("You must provide a group."); |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
545 | else if (!account) |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
546 | error = _("You must select an account."); |
|
16982
febd8a44dce7
Show an error message when trying to add a buddy from an offline account.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16981
diff
changeset
|
547 | else if (!purple_account_is_connected(account)) |
|
febd8a44dce7
Show an error message when trying to add a buddy from an offline account.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16981
diff
changeset
|
548 | error = _("The selected account is not online."); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
549 | |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
550 | if (error) |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
551 | { |
|
39676
1e8394d47205
Add list parameter to all buddy list UI ops.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39665
diff
changeset
|
552 | finch_request_add_buddy(purple_blist_get_default(), account, |
|
1e8394d47205
Add list parameter to all buddy list UI ops.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39665
diff
changeset
|
553 | username, group, alias); |
|
34449
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
554 | purple_notify_error(NULL, _("Error"), _("Error adding buddy"), |
|
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
555 | error, purple_request_cpar_from_account(account)); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
556 | return; |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
557 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
558 | |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
559 | grp = purple_blist_find_group(group); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
560 | if (!grp) |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
561 | { |
| 15884 | 562 | grp = purple_group_new(group); |
| 563 | purple_blist_add_group(grp, NULL); | |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
564 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
565 | |
|
24867
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
24799
diff
changeset
|
566 | /* XXX: Ask to merge if there's already a buddy with the same alias in the same group (#4553) */ |
|
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
24799
diff
changeset
|
567 | |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
568 | if ((buddy = purple_blist_find_buddy_in_group(account, username, grp)) == NULL) |
|
24867
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
24799
diff
changeset
|
569 | { |
|
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
24799
diff
changeset
|
570 | buddy = purple_buddy_new(account, username, alias); |
|
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
24799
diff
changeset
|
571 | purple_blist_add_buddy(buddy, NULL, grp, NULL); |
|
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
24799
diff
changeset
|
572 | } |
|
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
24799
diff
changeset
|
573 | |
|
32315
2550a39e0285
Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32287
diff
changeset
|
574 | purple_account_add_buddy(account, buddy, invite); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
575 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
576 | |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
577 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
578 | finch_request_add_buddy(G_GNUC_UNUSED PurpleBuddyList *list, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
579 | PurpleAccount *account, const char *username, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
580 | const char *grp, const char *alias) |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
581 | { |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
582 | PurpleRequestPage *page = purple_request_page_new(); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
583 | PurpleRequestGroup *group = purple_request_group_new(NULL); |
| 15884 | 584 | PurpleRequestField *field; |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
585 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
586 | purple_request_page_add_group(page, group); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
587 | |
|
22942
2bf494f8e2a4
Change the string "screen name" to "username" everywhere. I think most
Mark Doliner <markdoliner@pidgin.im>
parents:
22935
diff
changeset
|
588 | field = purple_request_field_string_new("screenname", _("Username"), username, FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
589 | purple_request_group_add_field(group, field); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
590 | |
|
22431
06ae5eb33844
Right-clicking on a widget should trigger the context-menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22379
diff
changeset
|
591 | field = purple_request_field_string_new("alias", _("Alias (optional)"), alias, FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
592 | purple_request_group_add_field(group, field); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
593 | |
|
31601
8aa82480b972
Show invite message entry in Finch's Add Buddy dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
594 | field = purple_request_field_string_new("invite", _("Invite message (optional)"), NULL, FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
595 | purple_request_group_add_field(group, field); |
|
31601
8aa82480b972
Show invite message entry in Finch's Add Buddy dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
596 | |
|
22431
06ae5eb33844
Right-clicking on a widget should trigger the context-menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22379
diff
changeset
|
597 | field = purple_request_field_string_new("group", _("Add in group"), grp, FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
598 | purple_request_group_add_field(group, field); |
|
15908
d5b3f76ff418
Group autocomplete for buddy adding
Richard Nelson <wabz@pidgin.im>
parents:
15906
diff
changeset
|
599 | purple_request_field_set_type_hint(field, "group"); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
600 | |
| 15884 | 601 | field = purple_request_field_account_new("account", _("Account"), NULL); |
|
42134
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
602 | purple_request_field_account_set_show_all(PURPLE_REQUEST_FIELD_ACCOUNT(field), |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
603 | FALSE); |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
604 | if(account) { |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
605 | purple_request_field_account_set_value(PURPLE_REQUEST_FIELD_ACCOUNT(field), |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
606 | account); |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
607 | } |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
608 | purple_request_group_add_field(group, field); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
609 | |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
610 | purple_request_fields(NULL, _("Add Buddy"), NULL, _("Please enter buddy information."), |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
611 | page, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
16478
diff
changeset
|
612 | _("Add"), G_CALLBACK(add_buddy_cb), |
|
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
16478
diff
changeset
|
613 | _("Cancel"), NULL, |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
614 | purple_request_cpar_from_account(account), |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
615 | NULL); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
616 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
617 | |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
618 | static void |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
619 | join_chat(PurpleChat *chat) |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
620 | { |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
621 | PurpleAccount *account = purple_chat_get_account(chat); |
|
40961
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
622 | PurpleConversationManager *manager; |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
623 | const char *name; |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
624 | PurpleConversation *conv; |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
625 | |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
626 | name = purple_chat_get_name_only(chat); |
|
40961
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
627 | manager = purple_conversation_manager_get_default(); |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
628 | conv = purple_conversation_manager_find_chat(manager, account, name); |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
629 | |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
630 | if (!conv || purple_chat_conversation_has_left(PURPLE_CHAT_CONVERSATION(conv))) { |
|
35499
c4c5e0a670b1
Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents:
35494
diff
changeset
|
631 | purple_serv_join_chat(purple_account_get_connection(account), |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
632 | purple_chat_get_components(chat)); |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
633 | } else if (conv) { |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
634 | purple_conversation_present(conv); |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
635 | } |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
636 | } |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
637 | |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
638 | static void |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
639 | add_chat_cb(G_GNUC_UNUSED gpointer data, PurpleRequestPage *page) { |
| 15884 | 640 | PurpleAccount *account; |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
641 | const char *alias, *name, *group; |
| 15884 | 642 | PurpleChat *chat; |
| 643 | PurpleGroup *grp; | |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
644 | GHashTable *hash = NULL; |
| 15884 | 645 | PurpleConnection *gc; |
|
18852
cc1891434459
Add an 'auto-join' checkbox in the 'Add Chat' dialog, thanks to fmoo's
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18851
diff
changeset
|
646 | gboolean autojoin; |
|
36544
1bf8b6ef5aea
Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents:
36510
diff
changeset
|
647 | PurpleProtocol *protocol; |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
648 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
649 | account = purple_request_page_get_account(page, "account"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
650 | name = purple_request_page_get_string(page, "name"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
651 | alias = purple_request_page_get_string(page, "alias"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
652 | group = purple_request_page_get_string(page, "group"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
653 | autojoin = purple_request_page_get_bool(page, "autojoin"); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
654 | |
| 15884 | 655 | if (!purple_account_is_connected(account) || !name || !*name) |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
656 | return; |
|
22336
ac905bb0a8ec
Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22335
diff
changeset
|
657 | |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
658 | if (!group || !*group) |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
659 | group = _("Chats"); |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
660 | |
| 15884 | 661 | gc = purple_account_get_connection(account); |
|
36623
caaadef03507
Renamed purple_connection_get_protocol_info() to purple_connection_get_protocol()
Ankit Vani <a@nevitus.org>
parents:
36606
diff
changeset
|
662 | protocol = purple_connection_get_protocol(gc); |
|
40697
81f81f5d2f39
Split PurpleProtocolChat to its own file and clean up the API.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
663 | hash = purple_protocol_chat_info_defaults(PURPLE_PROTOCOL_CHAT(protocol), gc, name); |
|
22336
ac905bb0a8ec
Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22335
diff
changeset
|
664 | |
| 15884 | 665 | chat = purple_chat_new(account, name, hash); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
666 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
667 | if (chat != NULL) { |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
668 | if ((grp = purple_blist_find_group(group)) == NULL) { |
| 15884 | 669 | grp = purple_group_new(group); |
| 670 | purple_blist_add_group(grp, NULL); | |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
671 | } |
| 15884 | 672 | purple_blist_add_chat(chat, grp, NULL); |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
673 | purple_chat_set_alias(chat, alias); |
|
18852
cc1891434459
Add an 'auto-join' checkbox in the 'Add Chat' dialog, thanks to fmoo's
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18851
diff
changeset
|
674 | purple_blist_node_set_bool((PurpleBlistNode*)chat, "gnt-autojoin", autojoin); |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
675 | if (autojoin) { |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
676 | join_chat(chat); |
|
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
677 | } |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
678 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
679 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
680 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
681 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
682 | finch_request_add_chat(G_GNUC_UNUSED PurpleBuddyList *list, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
683 | PurpleAccount *account, PurpleGroup *grp, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
684 | const char *alias, const char *name) |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
685 | { |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
686 | PurpleRequestPage *page = purple_request_page_new(); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
687 | PurpleRequestGroup *group = purple_request_group_new(NULL); |
| 15884 | 688 | PurpleRequestField *field; |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
689 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
690 | purple_request_page_add_group(page, group); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
691 | |
| 15884 | 692 | field = purple_request_field_account_new("account", _("Account"), NULL); |
|
42134
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
693 | purple_request_field_account_set_show_all(PURPLE_REQUEST_FIELD_ACCOUNT(field), |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
694 | FALSE); |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
695 | if(account) { |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
696 | purple_request_field_account_set_value(PURPLE_REQUEST_FIELD_ACCOUNT(field), |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
697 | account); |
|
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42128
diff
changeset
|
698 | } |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
699 | purple_request_group_add_field(group, field); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
700 | |
| 15884 | 701 | field = purple_request_field_string_new("name", _("Name"), name, FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
702 | purple_request_group_add_field(group, field); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
703 | |
| 15884 | 704 | field = purple_request_field_string_new("alias", _("Alias"), alias, FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
705 | purple_request_group_add_field(group, field); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
706 | |
|
22342
916c989bd2c0
Update finch to not touch the internals of PurpleGroup.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22341
diff
changeset
|
707 | field = purple_request_field_string_new("group", _("Group"), grp ? purple_group_get_name(grp) : NULL, FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
708 | purple_request_group_add_field(group, field); |
|
22976
df744a1b1bbe
Setup tab-completion for groups in the 'Add Chat' dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22942
diff
changeset
|
709 | purple_request_field_set_type_hint(field, "group"); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
710 | |
|
18852
cc1891434459
Add an 'auto-join' checkbox in the 'Add Chat' dialog, thanks to fmoo's
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18851
diff
changeset
|
711 | field = purple_request_field_bool_new("autojoin", _("Auto-join"), FALSE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
712 | purple_request_group_add_field(group, field); |
|
18852
cc1891434459
Add an 'auto-join' checkbox in the 'Add Chat' dialog, thanks to fmoo's
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18851
diff
changeset
|
713 | |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
714 | purple_request_fields(NULL, _("Add Chat"), NULL, |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
715 | _("You can edit more information from the context menu later."), |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
716 | page, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
717 | NULL, NULL); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
718 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
719 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
720 | static void |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
721 | add_group_cb(FinchBuddyList *ggblist, const char *group) |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
722 | { |
| 15884 | 723 | PurpleGroup *grp; |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
724 | |
|
24458
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
725 | if (!group || !*group) { |
| 15884 | 726 | purple_notify_error(NULL, _("Error"), _("Error adding group"), |
|
34449
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
727 | _("You must give a name for the group to add."), NULL); |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
728 | g_object_unref(ggblist); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
729 | return; |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
730 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
731 | |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
732 | grp = purple_blist_find_group(group); |
|
24458
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
733 | if (!grp) { |
| 15884 | 734 | grp = purple_group_new(group); |
| 735 | purple_blist_add_group(grp, NULL); | |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
736 | } |
|
24458
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
737 | |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
738 | /* Treat the group as a new group even if it had existed before. This should |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
739 | * make things easier to add buddies to empty groups (new or old) without having |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
740 | * to turn on 'show empty groups' setting */ |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
741 | ggblist->new_group = g_list_prepend(ggblist->new_group, grp); |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
742 | g_clear_handle_id(&ggblist->new_group_timeout, g_source_remove); |
|
38433
361c801c4536
Remove purple_timeout_* function usage
Mike Ruprecht <cmaiku@gmail.com>
parents:
38358
diff
changeset
|
743 | ggblist->new_group_timeout = g_timeout_add_seconds(SHOW_EMPTY_GROUP_TIMEOUT, |
|
24458
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
744 | remove_new_empty_group, NULL); |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
745 | |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
746 | /* Select the group */ |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
747 | if (ggblist->tree) { |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
748 | FinchBlistNode *fnode = g_object_get_data(G_OBJECT(grp), UI_DATA); |
|
24458
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
749 | if (!fnode) |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
750 | add_node((PurpleBlistNode*)grp, ggblist); |
|
7706c9b08d5e
Instead of showing error message when trying to interactively add an
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24450
diff
changeset
|
751 | gnt_tree_set_selected(GNT_TREE(ggblist->tree), grp); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
752 | } |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
753 | |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
754 | g_object_unref(ggblist); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
755 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
756 | |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
757 | static void |
|
39676
1e8394d47205
Add list parameter to all buddy list UI ops.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39665
diff
changeset
|
758 | finch_request_add_group(PurpleBuddyList *list) |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
759 | { |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
760 | purple_request_input(NULL, _("Add Group"), NULL, |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
761 | _("Enter the name of the group"), NULL, FALSE, |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
762 | FALSE, NULL, _("Add"), G_CALLBACK(add_group_cb), |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
763 | _("Cancel"), G_CALLBACK(g_object_unref), NULL, |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
764 | g_object_ref(list)); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
765 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
766 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
767 | static gpointer |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21855
diff
changeset
|
768 | finch_blist_get_handle(void) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
769 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
770 | static int handle; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
771 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
772 | return &handle; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
773 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
774 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
775 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
776 | add_group(PurpleGroup *group, FinchBuddyList *ggblist) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
777 | { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
778 | gpointer parent; |
| 15884 | 779 | PurpleBlistNode *node = (PurpleBlistNode *)group; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
780 | if(g_object_get_data(G_OBJECT(node), UI_DATA)) { |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
781 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
782 | } |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
783 | parent = ggblist->manager->find_parent((PurpleBlistNode*)group); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
784 | create_finch_blist_node(node, gnt_tree_add_row_after(GNT_TREE(ggblist->tree), group, |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
785 | gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
786 | parent, NULL)); |
|
16165
24ec117bc52c
Remember the collapsed state of groups in the blist
Richard Nelson <wabz@pidgin.im>
parents:
15991
diff
changeset
|
787 | gnt_tree_set_expanded(GNT_TREE(ggblist->tree), node, |
|
24ec117bc52c
Remember the collapsed state of groups in the blist
Richard Nelson <wabz@pidgin.im>
parents:
15991
diff
changeset
|
788 | !purple_blist_node_get_bool(node, "collapsed")); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
789 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
790 | |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
791 | static const char * |
| 15884 | 792 | get_display_name(PurpleBlistNode *node) |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
793 | { |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
794 | static char text[2096]; |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
795 | char status[8] = " "; |
|
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
796 | const char *name = NULL; |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
797 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
798 | if (PURPLE_IS_META_CONTACT(node)) |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
799 | node = PURPLE_BLIST_NODE(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(node))); /* XXX: this can return NULL?! */ |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
800 | |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
801 | if (node == NULL) |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
802 | return NULL; |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
803 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
804 | if (PURPLE_IS_BUDDY(node)) |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
805 | { |
| 15884 | 806 | PurpleBuddy *buddy = (PurpleBuddy *)node; |
| 807 | PurpleStatusPrimitive prim; | |
| 808 | PurplePresence *presence; | |
| 809 | PurpleStatus *now; | |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13978
diff
changeset
|
810 | gboolean ascii = gnt_ascii_only(); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
811 | |
| 15884 | 812 | presence = purple_buddy_get_presence(buddy); |
|
18614
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
813 | if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_MOBILE)) |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
814 | strncpy(status, ascii ? ":" : "☎", sizeof(status) - 1); |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
815 | else { |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
816 | now = purple_presence_get_active_status(presence); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
817 | |
|
34855
9c289149eed4
Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents:
34849
diff
changeset
|
818 | prim = purple_status_type_get_primitive(purple_status_get_status_type(now)); |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
819 | |
|
18614
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
820 | switch(prim) { |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
821 | case PURPLE_STATUS_OFFLINE: |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
822 | strncpy(status, ascii ? "x" : "⊗", sizeof(status) - 1); |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
823 | break; |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
824 | case PURPLE_STATUS_AVAILABLE: |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
825 | strncpy(status, ascii ? "o" : "â—¯", sizeof(status) - 1); |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
826 | break; |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
827 | default: |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
828 | strncpy(status, ascii ? "." : "⊖", sizeof(status) - 1); |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
829 | break; |
|
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
830 | } |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
831 | } |
| 15884 | 832 | name = purple_buddy_get_alias(buddy); |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
833 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
834 | else if (PURPLE_IS_CHAT(node)) |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
835 | { |
| 15884 | 836 | PurpleChat *chat = (PurpleChat*)node; |
| 837 | name = purple_chat_get_name(chat); | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13946
diff
changeset
|
838 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13946
diff
changeset
|
839 | strncpy(status, "~", sizeof(status) - 1); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
840 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
841 | else if (PURPLE_IS_GROUP(node)) |
|
22342
916c989bd2c0
Update finch to not touch the internals of PurpleGroup.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22341
diff
changeset
|
842 | return purple_group_get_name((PurpleGroup*)node); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
843 | |
|
25708
7e97dbce8223
applied changes from aa7ce93329f5ccbe74640a92b6656ae402d8eea8
Ethan Blanton <elb@pidgin.im>
parents:
24799
diff
changeset
|
844 | g_snprintf(text, sizeof(text) - 1, "%s %s", status, name); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
845 | |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
846 | return text; |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
847 | } |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
848 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
849 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
850 | add_chat(PurpleChat *chat, FinchBuddyList *ggblist) |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
851 | { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
852 | gpointer parent; |
| 15884 | 853 | PurpleBlistNode *node = (PurpleBlistNode *)chat; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
854 | if(g_object_get_data(G_OBJECT(node), UI_DATA)) { |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
855 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
856 | } |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
857 | if(!purple_account_is_connected(purple_chat_get_account(chat))) { |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
858 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
859 | } |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
860 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
861 | parent = ggblist->manager->find_parent((PurpleBlistNode*)chat); |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
862 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
863 | create_finch_blist_node(node, gnt_tree_add_row_after(GNT_TREE(ggblist->tree), chat, |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14021
diff
changeset
|
864 | gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
865 | parent, NULL)); |
|
13946
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
866 | } |
|
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
867 | |
|
c895c1eeb4d7
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13939
diff
changeset
|
868 | static void |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
869 | add_contact(PurpleMetaContact *contact, FinchBuddyList *ggblist) |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
870 | { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
871 | gpointer parent; |
| 15884 | 872 | PurpleBlistNode *node = (PurpleBlistNode*)contact; |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
873 | const char *name; |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
874 | |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
875 | if(g_object_get_data(G_OBJECT(node), UI_DATA)) { |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
876 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
877 | } |
|
21808
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
878 | |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
879 | name = get_display_name(node); |
|
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
880 | if (name == NULL) |
|
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
881 | return; |
|
21808
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
882 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
883 | parent = ggblist->manager->find_parent((PurpleBlistNode*)contact); |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
884 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
885 | create_finch_blist_node(node, gnt_tree_add_row_after(GNT_TREE(ggblist->tree), contact, |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
886 | gnt_tree_create_row(GNT_TREE(ggblist->tree), name), |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
887 | parent, NULL)); |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
888 | |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
889 | gnt_tree_set_expanded(GNT_TREE(ggblist->tree), contact, FALSE); |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
890 | } |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
891 | |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
892 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
893 | add_buddy(PurpleBuddy *buddy, FinchBuddyList *ggblist) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
894 | { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
895 | gpointer parent; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
896 | PurpleBlistNode *node = (PurpleBlistNode *)buddy; |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
897 | PurpleMetaContact *contact; |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
898 | |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
899 | if(g_object_get_data(G_OBJECT(node), UI_DATA)) { |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
900 | return; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
901 | } |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
902 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
903 | contact = purple_buddy_get_contact(buddy); |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
904 | parent = ggblist->manager->find_parent((PurpleBlistNode*)buddy); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
905 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
906 | create_finch_blist_node(node, gnt_tree_add_row_after(GNT_TREE(ggblist->tree), buddy, |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14021
diff
changeset
|
907 | gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
908 | parent, NULL)); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
909 | |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
910 | blist_update_row_flags(ggblist, (PurpleBlistNode *)buddy); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
911 | if (buddy == purple_meta_contact_get_priority_buddy(contact)) { |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
912 | blist_update_row_flags(ggblist, (PurpleBlistNode *)contact); |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
913 | } |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
914 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
915 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
916 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
917 | selection_activate(G_GNUC_UNUSED GntWidget *widget, FinchBuddyList *ggblist) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
918 | { |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
919 | GntTree *tree = GNT_TREE(ggblist->tree); |
| 15884 | 920 | PurpleBlistNode *node = gnt_tree_get_selection_data(tree); |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
921 | |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
922 | if (!node) |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
923 | return; |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
924 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
925 | if (PURPLE_IS_META_CONTACT(node)) |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
926 | node = PURPLE_BLIST_NODE(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(node))); |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
927 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
928 | if (PURPLE_IS_BUDDY(node)) |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
929 | { |
| 15884 | 930 | PurpleBuddy *buddy = (PurpleBuddy *)node; |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
931 | PurpleConversation *im; |
|
40961
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
932 | PurpleConversationManager *manager; |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
933 | |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
934 | manager = purple_conversation_manager_get_default(); |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
935 | im = purple_conversation_manager_find_im(manager, |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
936 | purple_buddy_get_account(buddy), |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
937 | purple_buddy_get_name(buddy)); |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
938 | |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
939 | if(!PURPLE_IS_IM_CONVERSATION(im)) { |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
940 | im = purple_im_conversation_new(purple_buddy_get_account(buddy), |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
941 | purple_buddy_get_name(buddy)); |
|
18134
47b947e1c8f1
present existing conversation window if one exists
Richard Nelson <wabz@pidgin.im>
parents:
18132
diff
changeset
|
942 | } else { |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
943 | FinchConv *ggconv = FINCH_CONV(im); |
|
18134
47b947e1c8f1
present existing conversation window if one exists
Richard Nelson <wabz@pidgin.im>
parents:
18132
diff
changeset
|
944 | gnt_window_present(ggconv->window); |
|
47b947e1c8f1
present existing conversation window if one exists
Richard Nelson <wabz@pidgin.im>
parents:
18132
diff
changeset
|
945 | } |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
946 | finch_conversation_set_active(im); |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
947 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
948 | else if (PURPLE_IS_CHAT(node)) |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
949 | { |
|
22986
a02bb7b14dca
Check to see if we are already in a room before attempting to join. If
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22976
diff
changeset
|
950 | join_chat((PurpleChat*)node); |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
951 | } |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
952 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
953 | |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
954 | static void |
| 15884 | 955 | append_proto_menu(GntMenu *menu, PurpleConnection *gc, PurpleBlistNode *node) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
956 | { |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
957 | GList *list; |
|
36623
caaadef03507
Renamed purple_connection_get_protocol_info() to purple_connection_get_protocol()
Ankit Vani <a@nevitus.org>
parents:
36606
diff
changeset
|
958 | PurpleProtocol *protocol = purple_connection_get_protocol(gc); |
|
36544
1bf8b6ef5aea
Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents:
36510
diff
changeset
|
959 | |
|
39901
253056947264
finch: Remove redundant checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39897
diff
changeset
|
960 | if (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT, blist_node_menu)) { |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
961 | return; |
|
39901
253056947264
finch: Remove redundant checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39897
diff
changeset
|
962 | } |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
963 | |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40590
diff
changeset
|
964 | for(list = purple_protocol_client_blist_node_menu(PURPLE_PROTOCOL_CLIENT(protocol), node); |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40590
diff
changeset
|
965 | list; list = g_list_delete_link(list, list)) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
966 | { |
|
39481
4db28449567d
Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents:
39479
diff
changeset
|
967 | PurpleActionMenu *act = (PurpleActionMenu *) list->data; |
|
30060
461d1acb4a54
Fix a crash caused by context menus for sametime buddies.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
30039
diff
changeset
|
968 | if (!act) |
|
461d1acb4a54
Fix a crash caused by context menus for sametime buddies.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
30039
diff
changeset
|
969 | continue; |
|
39483
ab4728087d87
Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents:
39481
diff
changeset
|
970 | purple_action_menu_set_data(act, node); |
|
35494
e631108a5464
Fix namespace issues in libgnt and finch.
Ankit Vani <a@nevitus.org>
parents:
35475
diff
changeset
|
971 | finch_append_menu_action(menu, act, node); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
972 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
973 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
974 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
975 | static void |
|
41312
c39de96b3daf
Replace PurpleCallback by GCallback
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41202
diff
changeset
|
976 | add_custom_action(GntMenu *menu, const char *label, GCallback callback, |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
977 | gpointer data) |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
978 | { |
|
39483
ab4728087d87
Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents:
39481
diff
changeset
|
979 | PurpleActionMenu *action = purple_action_menu_new(label, callback, data, NULL); |
|
35494
e631108a5464
Fix namespace issues in libgnt and finch.
Ankit Vani <a@nevitus.org>
parents:
35475
diff
changeset
|
980 | finch_append_menu_action(menu, action, NULL); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
981 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
982 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
983 | static void |
|
42155
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
984 | chat_components_edit_ok(PurpleChat *chat, PurpleRequestPage *page) { |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
985 | guint n_groups; |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
986 | |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
987 | n_groups = g_list_model_get_n_items(G_LIST_MODEL(page)); |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
988 | for(guint group_index = 0; group_index < n_groups; group_index++) { |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
989 | GListModel *group = NULL; |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
990 | guint n_fields = 0; |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
991 | |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
992 | group = g_list_model_get_item(G_LIST_MODEL(page), group_index); |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
993 | n_fields = g_list_model_get_n_items(group); |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
994 | for(guint field_index = 0; field_index < n_fields; field_index++) { |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
995 | PurpleRequestField *field = NULL; |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
996 | const char *id; |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
997 | char *val; |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
998 | |
|
42155
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
999 | field = g_list_model_get_item(group, field_index); |
| 15884 | 1000 | id = purple_request_field_get_id(field); |
|
42137
59ceb87dc43c
Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42135
diff
changeset
|
1001 | if(PURPLE_IS_REQUEST_FIELD_INT(field)) { |
|
59ceb87dc43c
Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42135
diff
changeset
|
1002 | PurpleRequestFieldInt *ifield = PURPLE_REQUEST_FIELD_INT(field); |
|
59ceb87dc43c
Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42135
diff
changeset
|
1003 | val = g_strdup_printf("%d", |
|
59ceb87dc43c
Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42135
diff
changeset
|
1004 | purple_request_field_int_get_value(ifield)); |
|
59ceb87dc43c
Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42135
diff
changeset
|
1005 | } else { |
|
42135
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
1006 | val = g_strdup(purple_request_field_string_get_value(PURPLE_REQUEST_FIELD_STRING(field))); |
|
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
1007 | } |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1008 | |
|
22935
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1009 | if (!val) { |
|
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1010 | g_hash_table_remove(purple_chat_get_components(chat), id); |
|
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1011 | } else { |
|
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1012 | g_hash_table_replace(purple_chat_get_components(chat), g_strdup(id), val); /* val should not be free'd */ |
|
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1013 | } |
|
42155
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
1014 | |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
1015 | g_object_unref(field); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1016 | } |
|
42155
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
1017 | |
|
bce9e3254fe6
Use GListModel access to request fields in finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
1018 | g_object_unref(group); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1019 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1020 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1021 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1022 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1023 | chat_components_edit(G_GNUC_UNUSED PurpleBlistNode *selected, PurpleChat *chat) |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1024 | { |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
1025 | PurpleRequestPage *page = purple_request_page_new(); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
1026 | PurpleRequestGroup *group = purple_request_group_new(NULL); |
| 15884 | 1027 | PurpleRequestField *field; |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1028 | GList *parts, *iter; |
|
40697
81f81f5d2f39
Split PurpleProtocolChat to its own file and clean up the API.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
1029 | PurpleProtocol *protocol; |
|
36555
fc17a4351e63
Replaced struct proto_chat_entry with PurpleProtocolChatEntry
Ankit Vani <a@nevitus.org>
parents:
36544
diff
changeset
|
1030 | PurpleProtocolChatEntry *pce; |
|
22335
f6715418a9a8
Update finch to not touch the internals of PurpleAccount. This also includes a change I made to reduce the Cyclomatic Complexity of one of the functions.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22334
diff
changeset
|
1031 | PurpleConnection *gc; |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1032 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
1033 | purple_request_page_add_group(page, group); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1034 | |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1035 | gc = purple_account_get_connection(purple_chat_get_account(chat)); |
|
40697
81f81f5d2f39
Split PurpleProtocolChat to its own file and clean up the API.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
1036 | protocol = purple_connection_get_protocol(gc); |
|
81f81f5d2f39
Split PurpleProtocolChat to its own file and clean up the API.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
1037 | parts = purple_protocol_chat_info(PURPLE_PROTOCOL_CHAT(protocol), gc); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1038 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1039 | for (iter = parts; iter; iter = iter->next) { |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1040 | pce = iter->data; |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1041 | if (pce->is_int) { |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1042 | int val; |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1043 | const char *str = g_hash_table_lookup(purple_chat_get_components(chat), pce->identifier); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1044 | if (!str || sscanf(str, "%d", &val) != 1) |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1045 | val = pce->min; |
|
33935
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32849
diff
changeset
|
1046 | field = purple_request_field_int_new(pce->identifier, pce->label, val, INT_MIN, INT_MAX); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1047 | } else { |
| 15884 | 1048 | field = purple_request_field_string_new(pce->identifier, pce->label, |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1049 | g_hash_table_lookup(purple_chat_get_components(chat), pce->identifier), FALSE); |
|
42135
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
1050 | if(pce->secret) { |
|
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
1051 | purple_request_field_string_set_masked(PURPLE_REQUEST_FIELD_STRING(field), |
|
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
1052 | TRUE); |
|
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
1053 | } |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1054 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1055 | |
|
22935
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1056 | if (pce->required) |
|
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1057 | purple_request_field_set_required(field, TRUE); |
|
80562b52fb71
Fine tune the edit-settings dialog (e.g., mark fields as masked or
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22579
diff
changeset
|
1058 | |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
1059 | purple_request_group_add_field(group, field); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1060 | g_free(pce); |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1061 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1062 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1063 | g_list_free(parts); |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1064 | |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1065 | purple_request_fields(NULL, _("Edit Chat"), NULL, _("Please Update the necessary fields."), |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
1066 | page, _("Edit"), G_CALLBACK(chat_components_edit_ok), _("Cancel"), NULL, |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
1067 | NULL, chat); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1068 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1069 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1070 | static void |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1071 | autojoin_toggled(GntMenuItem *item, gpointer data) |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1072 | { |
|
39481
4db28449567d
Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents:
39479
diff
changeset
|
1073 | PurpleActionMenu *action = data; |
|
39483
ab4728087d87
Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents:
39481
diff
changeset
|
1074 | purple_blist_node_set_bool(purple_action_menu_get_data(action), "gnt-autojoin", |
|
15991
1efb6bd8ba3f
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15931
diff
changeset
|
1075 | gnt_menuitem_check_get_checked(GNT_MENU_ITEM_CHECK(item))); |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1076 | } |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1077 | |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1078 | static void |
| 15884 | 1079 | create_chat_menu(GntMenu *menu, PurpleChat *chat) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1080 | { |
|
39483
ab4728087d87
Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents:
39481
diff
changeset
|
1081 | PurpleActionMenu *action = purple_action_menu_new(_("Auto-join"), NULL, chat, NULL); |
|
32287
c8cf9b704a49
Hide-a-PurpleMenuAction.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
32254
diff
changeset
|
1082 | GntMenuItem *check = gnt_menuitem_check_new( |
|
39483
ab4728087d87
Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents:
39481
diff
changeset
|
1083 | purple_action_menu_get_label(action)); |
|
15991
1efb6bd8ba3f
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15931
diff
changeset
|
1084 | gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(check), |
| 15884 | 1085 | purple_blist_node_get_bool((PurpleBlistNode*)chat, "gnt-autojoin")); |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1086 | gnt_menu_add_item(menu, check); |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1087 | gnt_menuitem_set_callback(check, autojoin_toggled, action); |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1088 | g_signal_connect_swapped(G_OBJECT(menu), "destroy", |
|
39483
ab4728087d87
Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents:
39481
diff
changeset
|
1089 | G_CALLBACK(purple_action_menu_free), action); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1090 | |
|
38651
966bb404064f
finch: add protocol menu to blist chats
Dylan Simon <dylan@dylex.net>
parents:
38433
diff
changeset
|
1091 | /* Protocol actions */ |
|
966bb404064f
finch: add protocol menu to blist chats
Dylan Simon <dylan@dylex.net>
parents:
38433
diff
changeset
|
1092 | append_proto_menu(menu, |
|
966bb404064f
finch: add protocol menu to blist chats
Dylan Simon <dylan@dylex.net>
parents:
38433
diff
changeset
|
1093 | purple_account_get_connection(purple_chat_get_account(chat)), |
|
966bb404064f
finch: add protocol menu to blist chats
Dylan Simon <dylan@dylex.net>
parents:
38433
diff
changeset
|
1094 | (PurpleBlistNode*)chat); |
|
966bb404064f
finch: add protocol menu to blist chats
Dylan Simon <dylan@dylex.net>
parents:
38433
diff
changeset
|
1095 | |
|
41312
c39de96b3daf
Replace PurpleCallback by GCallback
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41202
diff
changeset
|
1096 | add_custom_action(menu, _("Edit Settings"), (GCallback)chat_components_edit, chat); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1097 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1098 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1099 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1100 | finch_add_buddy(G_GNUC_UNUSED PurpleBlistNode *selected, PurpleGroup *grp) |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1101 | { |
|
22342
916c989bd2c0
Update finch to not touch the internals of PurpleGroup.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22341
diff
changeset
|
1102 | purple_blist_request_add_buddy(NULL, NULL, grp ? purple_group_get_name(grp) : NULL, NULL); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1103 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1104 | |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1105 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1106 | finch_add_group(G_GNUC_UNUSED PurpleBlistNode *selected, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1107 | G_GNUC_UNUSED PurpleGroup *grp) |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1108 | { |
| 15884 | 1109 | purple_blist_request_add_group(); |
|
14124
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1110 | } |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1111 | |
|
181ebb961493
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
1112 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1113 | finch_add_chat(G_GNUC_UNUSED PurpleBlistNode *selected, PurpleGroup *grp) |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1114 | { |
| 15884 | 1115 | purple_blist_request_add_chat(NULL, grp, NULL, NULL); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1116 | } |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1117 | |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
1118 | static void |
| 15884 | 1119 | create_group_menu(GntMenu *menu, PurpleGroup *group) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1120 | { |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1121 | add_custom_action(menu, _("Add Buddy"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1122 | G_CALLBACK(finch_add_buddy), group); |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1123 | add_custom_action(menu, _("Add Chat"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1124 | G_CALLBACK(finch_add_chat), group); |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1125 | add_custom_action(menu, _("Add Group"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1126 | G_CALLBACK(finch_add_group), group); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1127 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1128 | |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17366
diff
changeset
|
1129 | gpointer finch_retrieve_user_info(PurpleConnection *conn, const char *name) |
|
17360
4b04b2ee459a
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17295
diff
changeset
|
1130 | { |
|
41924
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1131 | PurpleProtocol *protocol = NULL; |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1132 | PurpleNotifyUserInfo *info = NULL; |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17366
diff
changeset
|
1133 | gpointer uihandle; |
|
41924
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1134 | |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1135 | protocol = purple_connection_get_protocol(conn); |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1136 | |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1137 | if(!PURPLE_IS_PROTOCOL_SERVER(protocol)) { |
|
41927
6182863475ee
Make sure finch_retrieve_user_info returns a value on failure
Gary Kramlich <grim@reaperworld.com>
parents:
41924
diff
changeset
|
1138 | return NULL; |
|
41924
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1139 | } |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1140 | |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1141 | purple_protocol_server_get_info(PURPLE_PROTOCOL_SERVER(protocol), conn, |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1142 | name); |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1143 | |
|
7646d24a31be
Inline purple_serv_get_info and purple_serv_set_info
Gary Kramlich <grim@reaperworld.com>
parents:
41840
diff
changeset
|
1144 | info = purple_notify_user_info_new(); |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
31601
diff
changeset
|
1145 | purple_notify_user_info_add_pair_plaintext(info, _("Information"), _("Retrieving...")); |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17366
diff
changeset
|
1146 | uihandle = purple_notify_userinfo(conn, name, info, NULL, NULL); |
|
17360
4b04b2ee459a
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17295
diff
changeset
|
1147 | purple_notify_user_info_destroy(info); |
|
4b04b2ee459a
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17295
diff
changeset
|
1148 | |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17366
diff
changeset
|
1149 | return uihandle; |
|
17360
4b04b2ee459a
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17295
diff
changeset
|
1150 | } |
|
4b04b2ee459a
Use utility functions to get user info. Closes #964.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17295
diff
changeset
|
1151 | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1152 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1153 | finch_blist_get_buddy_info_cb(G_GNUC_UNUSED PurpleBlistNode *selected, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1154 | PurpleBuddy *buddy) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1155 | { |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1156 | finch_retrieve_user_info(purple_account_get_connection(purple_buddy_get_account(buddy)), purple_buddy_get_name(buddy)); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1157 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1158 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1159 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1160 | finch_blist_menu_send_file_cb(G_GNUC_UNUSED PurpleBlistNode *selected, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1161 | PurpleBuddy *buddy) |
|
15702
111fdd9108cc
Patch from Richard 'wabz' Nelson to add file-transfer ui. Amazing stuff\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15564
diff
changeset
|
1162 | { |
|
35499
c4c5e0a670b1
Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents:
35494
diff
changeset
|
1163 | purple_serv_send_file(purple_account_get_connection(purple_buddy_get_account(buddy)), purple_buddy_get_name(buddy), NULL); |
|
15702
111fdd9108cc
Patch from Richard 'wabz' Nelson to add file-transfer ui. Amazing stuff\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15564
diff
changeset
|
1164 | } |
|
111fdd9108cc
Patch from Richard 'wabz' Nelson to add file-transfer ui. Amazing stuff\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15564
diff
changeset
|
1165 | |
|
111fdd9108cc
Patch from Richard 'wabz' Nelson to add file-transfer ui. Amazing stuff\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15564
diff
changeset
|
1166 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1167 | toggle_show_offline(G_GNUC_UNUSED GntMenuItem *item, gpointer buddy) |
|
24504
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1168 | { |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1169 | purple_blist_node_set_bool(buddy, "show_offline", |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1170 | !purple_blist_node_get_bool(buddy, "show_offline")); |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1171 | if (!ggblist->manager->can_add_node(buddy)) |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
1172 | node_remove(purple_blist_get_default(), buddy); |
|
24504
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1173 | else |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
1174 | node_update(purple_blist_get_default(), buddy); |
|
24504
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1175 | } |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1176 | |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1177 | static void |
| 15884 | 1178 | create_buddy_menu(GntMenu *menu, PurpleBuddy *buddy) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1179 | { |
|
22378
921097afd92d
Add a [X] Blocked item to the buddy context menu, and add a dialog to
Richard Nelson <wabz@pidgin.im>
parents:
22376
diff
changeset
|
1180 | GntMenuItem *item; |
|
36544
1bf8b6ef5aea
Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents:
36510
diff
changeset
|
1181 | PurpleProtocol *protocol; |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1182 | PurpleConnection *gc = purple_account_get_connection(purple_buddy_get_account(buddy)); |
|
22335
f6715418a9a8
Update finch to not touch the internals of PurpleAccount. This also includes a change I made to reduce the Cyclomatic Complexity of one of the functions.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22334
diff
changeset
|
1183 | |
|
36623
caaadef03507
Renamed purple_connection_get_protocol_info() to purple_connection_get_protocol()
Ankit Vani <a@nevitus.org>
parents:
36606
diff
changeset
|
1184 | protocol = purple_connection_get_protocol(gc); |
|
39759
ea1401483849
Rename *_GET_*_IFACE to more standard *_GET_IFACE.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39698
diff
changeset
|
1185 | if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER, get_info)) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1186 | { |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1187 | add_custom_action(menu, _("Get Info"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1188 | G_CALLBACK(finch_blist_get_buddy_info_cb), buddy); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1189 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1190 | |
|
38827
3573c82d32d8
Initial attempt at removing the magic around PurpleProtocolXferInterface
Gary Kramlich <grim@reaperworld.com>
parents:
38433
diff
changeset
|
1191 | if (PURPLE_IS_PROTOCOL_XFER(protocol)) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1192 | { |
|
38827
3573c82d32d8
Initial attempt at removing the magic around PurpleProtocolXferInterface
Gary Kramlich <grim@reaperworld.com>
parents:
38433
diff
changeset
|
1193 | if (purple_protocol_xfer_can_receive( |
|
3573c82d32d8
Initial attempt at removing the magic around PurpleProtocolXferInterface
Gary Kramlich <grim@reaperworld.com>
parents:
38433
diff
changeset
|
1194 | PURPLE_PROTOCOL_XFER(protocol), |
|
3573c82d32d8
Initial attempt at removing the magic around PurpleProtocolXferInterface
Gary Kramlich <grim@reaperworld.com>
parents:
38433
diff
changeset
|
1195 | gc, |
|
3573c82d32d8
Initial attempt at removing the magic around PurpleProtocolXferInterface
Gary Kramlich <grim@reaperworld.com>
parents:
38433
diff
changeset
|
1196 | purple_buddy_get_name(buddy)) |
|
3573c82d32d8
Initial attempt at removing the magic around PurpleProtocolXferInterface
Gary Kramlich <grim@reaperworld.com>
parents:
38433
diff
changeset
|
1197 | ) { |
|
15702
111fdd9108cc
Patch from Richard 'wabz' Nelson to add file-transfer ui. Amazing stuff\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15564
diff
changeset
|
1198 | add_custom_action(menu, _("Send File"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1199 | G_CALLBACK(finch_blist_menu_send_file_cb), buddy); |
|
38827
3573c82d32d8
Initial attempt at removing the magic around PurpleProtocolXferInterface
Gary Kramlich <grim@reaperworld.com>
parents:
38433
diff
changeset
|
1200 | } |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1201 | } |
|
22378
921097afd92d
Add a [X] Blocked item to the buddy context menu, and add a dialog to
Richard Nelson <wabz@pidgin.im>
parents:
22376
diff
changeset
|
1202 | |
|
24504
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1203 | item = gnt_menuitem_check_new(_("Show when offline")); |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1204 | gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(item), purple_blist_node_get_bool((PurpleBlistNode*)buddy, "show_offline")); |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1205 | gnt_menuitem_set_callback(item, toggle_show_offline, buddy); |
|
7cc4ea958ea8
Show when offline (because the plugin doesn't work no more).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24458
diff
changeset
|
1206 | gnt_menu_add_item(menu, item); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1207 | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1208 | /* Protocol actions */ |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1209 | append_proto_menu(menu, |
| 15884 | 1210 | purple_account_get_connection(purple_buddy_get_account(buddy)), |
| 1211 | (PurpleBlistNode*)buddy); | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1212 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1213 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1214 | static void |
| 15884 | 1215 | append_extended_menu(GntMenu *menu, PurpleBlistNode *node) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1216 | { |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1217 | GList *iter; |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1218 | |
| 15884 | 1219 | for (iter = purple_blist_node_get_extended_menu(node); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1220 | iter; iter = g_list_delete_link(iter, iter)) |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1221 | { |
|
35494
e631108a5464
Fix namespace issues in libgnt and finch.
Ankit Vani <a@nevitus.org>
parents:
35475
diff
changeset
|
1222 | finch_append_menu_action(menu, iter->data, node); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1223 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1224 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1225 | |
| 15884 | 1226 | /* Xerox'd from gtkdialogs.c:purple_gtkdialogs_remove_contact_cb */ |
| 14756 | 1227 | static void |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1228 | remove_contact(PurpleMetaContact *contact) |
| 14756 | 1229 | { |
| 15884 | 1230 | PurpleBlistNode *bnode, *cnode; |
| 1231 | PurpleGroup *group; | |
| 14756 | 1232 | |
| 15884 | 1233 | cnode = (PurpleBlistNode *)contact; |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1234 | group = (PurpleGroup*)purple_blist_node_get_parent(cnode); |
|
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1235 | for (bnode = purple_blist_node_get_first_child(cnode); bnode; bnode = purple_blist_node_get_sibling_next(bnode)) { |
| 15884 | 1236 | PurpleBuddy *buddy = (PurpleBuddy*)bnode; |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1237 | PurpleAccount *account = purple_buddy_get_account(buddy); |
|
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1238 | if (purple_account_is_connected(account)) |
|
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1239 | purple_account_remove_buddy(account, buddy, group); |
| 14756 | 1240 | } |
| 15884 | 1241 | purple_blist_remove_contact(contact); |
| 14756 | 1242 | } |
| 1243 | ||
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1244 | static void |
| 15884 | 1245 | rename_blist_node(PurpleBlistNode *node, const char *newname) |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1246 | { |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1247 | const char *name = newname; |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1248 | if (name && !*name) |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1249 | name = NULL; |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1250 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1251 | if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1252 | PurpleMetaContact *contact = (PurpleMetaContact*)node; |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1253 | PurpleBuddy *buddy = purple_meta_contact_get_priority_buddy(contact); |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1254 | purple_meta_contact_set_alias(contact, name); |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
1255 | purple_buddy_set_local_alias(buddy, name); |
|
35499
c4c5e0a670b1
Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents:
35494
diff
changeset
|
1256 | purple_serv_alias_buddy(buddy); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1257 | } else if (PURPLE_IS_BUDDY(node)) { |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
1258 | purple_buddy_set_local_alias((PurpleBuddy*)node, name); |
|
35499
c4c5e0a670b1
Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents:
35494
diff
changeset
|
1259 | purple_serv_alias_buddy((PurpleBuddy*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1260 | } else if (PURPLE_IS_CHAT(node)) |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
1261 | purple_chat_set_alias((PurpleChat*)node, name); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1262 | else if (PURPLE_IS_GROUP(node) && (name != NULL)) |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
1263 | purple_group_set_name((PurpleGroup*)node, name); |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1264 | else |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1265 | g_return_if_reached(); |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1266 | } |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1267 | |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1268 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1269 | finch_blist_rename_node_cb(G_GNUC_UNUSED PurpleBlistNode *selected, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1270 | PurpleBlistNode *node) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1271 | { |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1272 | const char *name = NULL; |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1273 | char *prompt; |
|
16344
4f2b448b7559
Use 'alias' instead of 'rename' for non-group nodes. Thankfully, this does not introduce new strings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
1274 | const char *text; |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1275 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1276 | if (PURPLE_IS_META_CONTACT(node)) |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1277 | name = purple_meta_contact_get_alias((PurpleMetaContact*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1278 | else if (PURPLE_IS_BUDDY(node)) |
| 15884 | 1279 | name = purple_buddy_get_contact_alias((PurpleBuddy*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1280 | else if (PURPLE_IS_CHAT(node)) |
| 15884 | 1281 | name = purple_chat_get_name((PurpleChat*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1282 | else if (PURPLE_IS_GROUP(node)) |
|
22342
916c989bd2c0
Update finch to not touch the internals of PurpleGroup.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22341
diff
changeset
|
1283 | name = purple_group_get_name((PurpleGroup*)node); |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1284 | else |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1285 | g_return_if_reached(); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1286 | |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1287 | prompt = g_strdup_printf(_("Please enter the new name for %s"), name); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1288 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1289 | text = PURPLE_IS_GROUP(node) ? _("Rename") : _("Set Alias"); |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1290 | purple_request_input(node, text, prompt, _("Enter empty string to reset the name."), |
|
16344
4f2b448b7559
Use 'alias' instead of 'rename' for non-group nodes. Thankfully, this does not introduce new strings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
1291 | name, FALSE, FALSE, NULL, text, G_CALLBACK(rename_blist_node), |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
16478
diff
changeset
|
1292 | _("Cancel"), NULL, |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33935
diff
changeset
|
1293 | NULL, node); |
|
14080
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1294 | |
|
7fad848bbe7b
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
1295 | g_free(prompt); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1296 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1297 | |
| 15884 | 1298 | /* Xeroxed from gtkdialogs.c:purple_gtkdialogs_remove_group_cb*/ |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1299 | static void |
| 15884 | 1300 | remove_group(PurpleGroup *group) |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1301 | { |
| 15884 | 1302 | PurpleBlistNode *cnode, *bnode; |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1303 | |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1304 | cnode = purple_blist_node_get_first_child(((PurpleBlistNode*)group)); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1305 | |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1306 | while (cnode) { |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1307 | if (PURPLE_IS_META_CONTACT(cnode)) { |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1308 | bnode = purple_blist_node_get_first_child(cnode); |
|
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1309 | cnode = purple_blist_node_get_sibling_next(cnode); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1310 | while (bnode) { |
| 15884 | 1311 | PurpleBuddy *buddy; |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1312 | if (PURPLE_IS_BUDDY(bnode)) { |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1313 | PurpleAccount *account; |
| 15884 | 1314 | buddy = (PurpleBuddy*)bnode; |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1315 | bnode = purple_blist_node_get_sibling_next(bnode); |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1316 | account = purple_buddy_get_account(buddy); |
|
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1317 | if (purple_account_is_connected(account)) { |
|
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1318 | purple_account_remove_buddy(account, buddy, group); |
| 15884 | 1319 | purple_blist_remove_buddy(buddy); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1320 | } |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1321 | } else { |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1322 | bnode = purple_blist_node_get_sibling_next(bnode); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1323 | } |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1324 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1325 | } else if (PURPLE_IS_CHAT(cnode)) { |
| 15884 | 1326 | PurpleChat *chat = (PurpleChat *)cnode; |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1327 | cnode = purple_blist_node_get_sibling_next(cnode); |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
1328 | if (purple_account_is_connected(purple_chat_get_account(chat))) |
| 15884 | 1329 | purple_blist_remove_chat(chat); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1330 | } else { |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1331 | cnode = purple_blist_node_get_sibling_next(cnode); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1332 | } |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1333 | } |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1334 | |
| 15884 | 1335 | purple_blist_remove_group(group); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1336 | } |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1337 | |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1338 | static void |
| 15884 | 1339 | finch_blist_remove_node(PurpleBlistNode *node) |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1340 | { |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1341 | if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1342 | remove_contact((PurpleMetaContact*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1343 | } else if (PURPLE_IS_BUDDY(node)) { |
| 15884 | 1344 | PurpleBuddy *buddy = (PurpleBuddy*)node; |
| 1345 | PurpleGroup *group = purple_buddy_get_group(buddy); | |
| 1346 | purple_account_remove_buddy(purple_buddy_get_account(buddy), buddy, group); | |
| 1347 | purple_blist_remove_buddy(buddy); | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1348 | } else if (PURPLE_IS_CHAT(node)) { |
| 15884 | 1349 | purple_blist_remove_chat((PurpleChat*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1350 | } else if (PURPLE_IS_GROUP(node)) { |
| 15884 | 1351 | remove_group((PurpleGroup*)node); |
|
14125
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1352 | } |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1353 | } |
|
2a14281b124b
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14124
diff
changeset
|
1354 | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1355 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1356 | finch_blist_remove_node_cb(G_GNUC_UNUSED PurpleBlistNode *selected, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1357 | PurpleBlistNode *node) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1358 | { |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
16478
diff
changeset
|
1359 | PurpleAccount *account = NULL; |
|
14260
a21577fbb4d2
[gaim-migrate @ 16870]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14194
diff
changeset
|
1360 | char *primary; |
|
a21577fbb4d2
[gaim-migrate @ 16870]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14194
diff
changeset
|
1361 | const char *name, *sec = NULL; |
|
14126
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1362 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1363 | if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1364 | PurpleMetaContact *c = (PurpleMetaContact*)node; |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1365 | name = purple_meta_contact_get_alias(c); |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
1366 | if (purple_counting_node_get_total_size(PURPLE_COUNTING_NODE(c)) > 1) |
| 14756 | 1367 | sec = _("Removing this contact will also remove all the buddies in the contact"); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1368 | } else if (PURPLE_IS_BUDDY(node)) { |
| 15884 | 1369 | name = purple_buddy_get_name((PurpleBuddy*)node); |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
16478
diff
changeset
|
1370 | account = purple_buddy_get_account((PurpleBuddy*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1371 | } else if (PURPLE_IS_CHAT(node)) { |
| 15884 | 1372 | name = purple_chat_get_name((PurpleChat*)node); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1373 | } else if (PURPLE_IS_GROUP(node)) { |
|
22342
916c989bd2c0
Update finch to not touch the internals of PurpleGroup.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22341
diff
changeset
|
1374 | name = purple_group_get_name((PurpleGroup*)node); |
|
14126
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1375 | sec = _("Removing this group will also remove all the buddies in the group"); |
|
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1376 | } |
|
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1377 | else |
|
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1378 | return; |
|
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1379 | |
|
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1380 | primary = g_strdup_printf(_("Are you sure you want to remove %s?"), name); |
|
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1381 | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1382 | /* XXX: anything to do with the returned ui-handle? */ |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1383 | purple_request_action(node, _("Confirm Remove"), |
|
14126
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1384 | primary, sec, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
16478
diff
changeset
|
1385 | 1, |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
1386 | purple_request_cpar_from_account(account), |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1387 | node, 2, |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
1388 | _("Remove"), finch_blist_remove_node, |
|
14126
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1389 | _("Cancel"), NULL); |
|
176d35315165
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14125
diff
changeset
|
1390 | g_free(primary); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1391 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1392 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1393 | static void |
| 15884 | 1394 | finch_blist_toggle_tag_buddy(PurpleBlistNode *node) |
| 14756 | 1395 | { |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1396 | GList *iter; |
|
15377
f45f57e922a7
[gaim-migrate @ 18106]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15244
diff
changeset
|
1397 | if (node == NULL) |
|
f45f57e922a7
[gaim-migrate @ 18106]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15244
diff
changeset
|
1398 | return; |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1399 | if (ggblist->tagged && (iter = g_list_find(ggblist->tagged, node)) != NULL) { |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1400 | ggblist->tagged = g_list_delete_link(ggblist->tagged, iter); |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1401 | } else { |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1402 | ggblist->tagged = g_list_prepend(ggblist->tagged, node); |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1403 | } |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1404 | if (PURPLE_IS_META_CONTACT(node)) |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1405 | update_buddy_display(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(node)), ggblist); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1406 | else if (PURPLE_IS_BUDDY(node)) |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1407 | update_buddy_display((PurpleBuddy*)node, ggblist); |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1408 | else |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1409 | update_node_display(node, ggblist); |
| 14756 | 1410 | } |
| 1411 | ||
| 1412 | static void | |
| 15884 | 1413 | finch_blist_place_tagged(PurpleBlistNode *target) |
| 14756 | 1414 | { |
| 15884 | 1415 | PurpleGroup *tg = NULL; |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1416 | PurpleMetaContact *tc = NULL; |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1417 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1418 | if (PURPLE_IS_GROUP(target)) |
| 15884 | 1419 | tg = (PurpleGroup*)target; |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1420 | else if (PURPLE_IS_BUDDY(target)) { |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1421 | tc = (PurpleMetaContact*)purple_blist_node_get_parent(target); |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
1422 | tg = (PurpleGroup*)purple_blist_node_get_parent((PurpleBlistNode*)tc); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1423 | } else if (PURPLE_IS_META_CONTACT(target)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1424 | tc = (PurpleMetaContact *)target; |
|
39901
253056947264
finch: Remove redundant checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39897
diff
changeset
|
1425 | tg = (PurpleGroup *)purple_blist_node_get_parent(target); |
|
253056947264
finch: Remove redundant checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39897
diff
changeset
|
1426 | } else if (PURPLE_IS_CHAT(target)) { |
|
253056947264
finch: Remove redundant checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39897
diff
changeset
|
1427 | tg = (PurpleGroup*)purple_blist_node_get_parent(target); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1428 | } else { |
|
39901
253056947264
finch: Remove redundant checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39897
diff
changeset
|
1429 | return; |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1430 | } |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1431 | |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1432 | if (ggblist->tagged) { |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1433 | GList *list = ggblist->tagged; |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1434 | ggblist->tagged = NULL; |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1435 | while (list) { |
| 15884 | 1436 | PurpleBlistNode *node = list->data; |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1437 | list = g_list_delete_link(list, list); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1438 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1439 | if (PURPLE_IS_GROUP(node)) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1440 | update_node_display(node, ggblist); |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1441 | /* Add the group after the current group */ |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1442 | purple_blist_add_group((PurpleGroup*)node, (PurpleBlistNode*)tg); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1443 | } else if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1444 | update_buddy_display(purple_meta_contact_get_priority_buddy((PurpleMetaContact*)node), ggblist); |
|
24974
a81952e9babb
Update some casts (that the script didn't fix correctly) to GObject macros.
Richard Laager <rlaager@pidgin.im>
parents:
24951
diff
changeset
|
1445 | if (PURPLE_BLIST_NODE(tg) == target) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1446 | /* The target is a group, just add the contact to the group. */ |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1447 | purple_blist_add_contact((PurpleMetaContact*)node, tg, NULL); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1448 | } else if (tc) { |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1449 | /* The target is either a buddy, or a contact. Merge with that contact. */ |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1450 | purple_meta_contact_merge((PurpleMetaContact*)node, (PurpleBlistNode*)tc); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1451 | } else { |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1452 | /* The target is a chat. Add the contact to the group after this chat. */ |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1453 | purple_blist_add_contact((PurpleMetaContact*)node, NULL, target); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1454 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1455 | } else if (PURPLE_IS_BUDDY(node)) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1456 | update_buddy_display((PurpleBuddy*)node, ggblist); |
|
24974
a81952e9babb
Update some casts (that the script didn't fix correctly) to GObject macros.
Richard Laager <rlaager@pidgin.im>
parents:
24951
diff
changeset
|
1457 | if (PURPLE_BLIST_NODE(tg) == target) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1458 | /* The target is a group. Add this buddy in a new contact under this group. */ |
| 15884 | 1459 | purple_blist_add_buddy((PurpleBuddy*)node, NULL, tg, NULL); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1460 | } else if (PURPLE_IS_META_CONTACT(target)) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1461 | /* Add to the contact. */ |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1462 | purple_blist_add_buddy((PurpleBuddy*)node, tc, NULL, NULL); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1463 | } else if (PURPLE_IS_BUDDY(target)) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1464 | /* Add to the contact after the selected buddy. */ |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1465 | purple_blist_add_buddy((PurpleBuddy*)node, NULL, NULL, target); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1466 | } else if (PURPLE_IS_CHAT(target)) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1467 | /* Add to the selected chat's group. */ |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1468 | purple_blist_add_buddy((PurpleBuddy*)node, NULL, tg, NULL); |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1469 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1470 | } else if (PURPLE_IS_CHAT(node)) { |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1471 | update_node_display(node, ggblist); |
|
24974
a81952e9babb
Update some casts (that the script didn't fix correctly) to GObject macros.
Richard Laager <rlaager@pidgin.im>
parents:
24951
diff
changeset
|
1472 | if (PURPLE_BLIST_NODE(tg) == target) |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1473 | purple_blist_add_chat((PurpleChat*)node, tg, NULL); |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1474 | else |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1475 | purple_blist_add_chat((PurpleChat*)node, NULL, target); |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1476 | } |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1477 | } |
| 14756 | 1478 | } |
| 1479 | } | |
| 1480 | ||
| 1481 | static void | |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1482 | context_menu_destroyed(G_GNUC_UNUSED GntWidget *widget, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1483 | FinchBuddyList *ggblist) |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1484 | { |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1485 | ggblist->context = NULL; |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1486 | } |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1487 | |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1488 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
1489 | draw_context_menu(FinchBuddyList *ggblist) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1490 | { |
| 15884 | 1491 | PurpleBlistNode *node = NULL; |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1492 | GntWidget *context = NULL; |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1493 | GntTree *tree = NULL; |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1494 | int x, y, top, width; |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1495 | char *title = NULL; |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1496 | |
|
16869
f35dce8e5bc3
Do not build the context menu if one is already being shown.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
1497 | if (ggblist->context) |
|
f35dce8e5bc3
Do not build the context menu if one is already being shown.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
1498 | return; |
|
f35dce8e5bc3
Do not build the context menu if one is already being shown.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
1499 | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1500 | tree = GNT_TREE(ggblist->tree); |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1501 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1502 | node = gnt_tree_get_selection_data(tree); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1503 | if (node && !(PURPLE_IS_BUDDY(node) || PURPLE_IS_META_CONTACT(node) || |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
1504 | PURPLE_IS_GROUP(node) || PURPLE_IS_CHAT(node))) |
|
22286
c97b158bd4f4
Do not show a context menu for an unknown node.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22285
diff
changeset
|
1505 | return; |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1506 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1507 | if (ggblist->tooltip) |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1508 | remove_tooltip(ggblist); |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1509 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1510 | ggblist->cnode = node; |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1511 | |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1512 | ggblist->context = context = gnt_menu_new(GNT_MENU_POPUP); |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1513 | g_signal_connect(G_OBJECT(context), "destroy", G_CALLBACK(context_menu_destroyed), ggblist); |
|
18831
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18787
diff
changeset
|
1514 | g_signal_connect(G_OBJECT(context), "hide", G_CALLBACK(gnt_widget_destroy), NULL); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1515 | |
| 14756 | 1516 | if (!node) { |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1517 | create_group_menu(GNT_MENU(context), NULL); |
| 14756 | 1518 | title = g_strdup(_("Buddy List")); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1519 | } else if (PURPLE_IS_META_CONTACT(node)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1520 | ggblist->cnode = PURPLE_BLIST_NODE(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(node))); |
|
18831
ed4592c036ec
Fix a crash Eric found. These parameters were in reverse order.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18787
diff
changeset
|
1521 | create_buddy_menu(GNT_MENU(context), (PurpleBuddy*)ggblist->cnode); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1522 | title = g_strdup(purple_meta_contact_get_alias((PurpleMetaContact*)node)); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1523 | } else if (PURPLE_IS_BUDDY(node)) { |
| 15884 | 1524 | PurpleBuddy *buddy = (PurpleBuddy *)node; |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1525 | create_buddy_menu(GNT_MENU(context), buddy); |
| 15884 | 1526 | title = g_strdup(purple_buddy_get_name(buddy)); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1527 | } else if (PURPLE_IS_CHAT(node)) { |
| 15884 | 1528 | PurpleChat *chat = (PurpleChat*)node; |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1529 | create_chat_menu(GNT_MENU(context), chat); |
| 15884 | 1530 | title = g_strdup(purple_chat_get_name(chat)); |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1531 | } else if (PURPLE_IS_GROUP(node)) { |
| 15884 | 1532 | PurpleGroup *group = (PurpleGroup *)node; |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1533 | create_group_menu(GNT_MENU(context), group); |
|
22342
916c989bd2c0
Update finch to not touch the internals of PurpleGroup.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22341
diff
changeset
|
1534 | title = g_strdup(purple_group_get_name(group)); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1535 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1536 | |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1537 | append_extended_menu(GNT_MENU(context), node); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1538 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1539 | /* These are common for everything */ |
| 14756 | 1540 | if (node) { |
|
16344
4f2b448b7559
Use 'alias' instead of 'rename' for non-group nodes. Thankfully, this does not introduce new strings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
1541 | add_custom_action(GNT_MENU(context), |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1542 | PURPLE_IS_GROUP(node) ? _("Rename") : _("Alias"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1543 | G_CALLBACK(finch_blist_rename_node_cb), node); |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1544 | add_custom_action(GNT_MENU(context), _("Remove"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1545 | G_CALLBACK(finch_blist_remove_node_cb), node); |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1546 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1547 | if (ggblist->tagged && (PURPLE_IS_META_CONTACT(node) |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1548 | || PURPLE_IS_GROUP(node))) { |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1549 | add_custom_action(GNT_MENU(context), _("Place tagged"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1550 | G_CALLBACK(finch_blist_place_tagged), node); |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1551 | } |
|
15564
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
1552 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1553 | if (PURPLE_IS_BUDDY(node) || PURPLE_IS_META_CONTACT(node)) { |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1554 | add_custom_action(GNT_MENU(context), _("Toggle Tag"), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
1555 | G_CALLBACK(finch_blist_toggle_tag_buddy), node); |
| 14756 | 1556 | } |
| 1557 | } | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1558 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1559 | /* Set the position for the popup */ |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1560 | gnt_widget_get_position(GNT_WIDGET(tree), &x, &y); |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1561 | gnt_widget_get_size(GNT_WIDGET(tree), &width, NULL); |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1562 | top = gnt_tree_get_selection_visible_line(tree); |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1563 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1564 | x += width; |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1565 | y += top - 1; |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1566 | |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1567 | gnt_widget_set_position(context, x, y); |
|
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1568 | gnt_screen_menu_show(GNT_MENU(context)); |
|
14021
a633de85f90e
[gaim-migrate @ 16511]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14020
diff
changeset
|
1569 | g_free(title); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1570 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1571 | |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1572 | static void |
|
18391
a51451368934
Show better tooltips for contacts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18369
diff
changeset
|
1573 | tooltip_for_buddy(PurpleBuddy *buddy, GString *str, gboolean full) |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1574 | { |
|
41980
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
1575 | PurpleAccount *account = NULL; |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
1576 | PurpleContactInfo *info = NULL; |
| 15884 | 1577 | PurpleNotifyUserInfo *user_info; |
|
41980
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
1578 | PurplePresence *presence = NULL; |
| 15884 | 1579 | const char *alias = purple_buddy_get_alias(buddy); |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1580 | char *tmp, *strip; |
|
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1581 | |
| 15884 | 1582 | user_info = purple_notify_user_info_new(); |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1583 | |
| 15884 | 1584 | account = purple_buddy_get_account(buddy); |
|
41980
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
1585 | info = PURPLE_CONTACT_INFO(account); |
|
18614
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
1586 | presence = purple_buddy_get_presence(buddy); |
|
15113
956d8ac87bf6
[gaim-migrate @ 17835]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15083
diff
changeset
|
1587 | |
|
19425
07be487bc354
Fix #2607. (Finch tooltip HTML display)
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18909
diff
changeset
|
1588 | if (!full || g_utf8_collate(purple_buddy_get_name(buddy), alias)) { |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
31601
diff
changeset
|
1589 | purple_notify_user_info_add_pair_plaintext(user_info, _("Nickname"), alias); |
|
19425
07be487bc354
Fix #2607. (Finch tooltip HTML display)
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18909
diff
changeset
|
1590 | } |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1591 | |
|
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1592 | tmp = g_strdup_printf("%s (%s)", |
|
41980
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
1593 | purple_contact_info_get_username(info), |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
1594 | purple_account_get_protocol_name(account)); |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
31601
diff
changeset
|
1595 | purple_notify_user_info_add_pair_plaintext(user_info, _("Account"), tmp); |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1596 | g_free(tmp); |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
1597 | |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16344
diff
changeset
|
1598 | if (purple_prefs_get_bool("/finch/blist/idletime")) { |
| 15884 | 1599 | PurplePresence *pre = purple_buddy_get_presence(buddy); |
| 1600 | if (purple_presence_is_idle(pre)) { | |
|
42071
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1601 | GDateTime *idle = purple_presence_get_idle_time(pre); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1602 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1603 | if(idle != NULL) { |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1604 | GDateTime *now = NULL; |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1605 | GTimeSpan since = 0; |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1606 | char *st = NULL; |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1607 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1608 | now = g_date_time_new_now_local(); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1609 | since = g_date_time_difference(now, idle); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1610 | g_date_time_unref(now); |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1611 | |
|
a719f0f3c600
Convert idle_time in PurplePresence to GDateTime
Gary Kramlich <grim@reaperworld.com>
parents:
41980
diff
changeset
|
1612 | st = purple_str_seconds_to_string(since / G_TIME_SPAN_SECOND); |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
31601
diff
changeset
|
1613 | purple_notify_user_info_add_pair_plaintext(user_info, _("Idle"), st); |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1614 | g_free(st); |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1615 | } |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1616 | } |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1617 | } |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30060
diff
changeset
|
1618 | |
| 15884 | 1619 | tmp = purple_notify_user_info_get_text_with_newline(user_info, "<BR>"); |
| 1620 | purple_notify_user_info_destroy(user_info); | |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1621 | |
| 15884 | 1622 | strip = purple_markup_strip_html(tmp); |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1623 | g_string_append(str, strip); |
|
18614
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
1624 | |
|
18909
ebc3cc277277
Insert a newline in the tooltip.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18852
diff
changeset
|
1625 | if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_MOBILE)) { |
|
ebc3cc277277
Insert a newline in the tooltip.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18852
diff
changeset
|
1626 | g_string_append(str, "\n"); |
|
18614
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
1627 | g_string_append(str, _("On Mobile")); |
|
18909
ebc3cc277277
Insert a newline in the tooltip.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18852
diff
changeset
|
1628 | } |
|
18614
186b07bbc7a3
Show a pimping cool unicode status emblem for buddies on mobile (thanks, elb).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18607
diff
changeset
|
1629 | |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1630 | g_free(strip); |
|
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
15113
diff
changeset
|
1631 | g_free(tmp); |
|
14446
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1632 | } |
|
5f36f08183e8
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14441
diff
changeset
|
1633 | |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1634 | static GString* |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1635 | make_sure_text_fits(GString *string) |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1636 | { |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1637 | int maxw = getmaxx(stdscr) - 3; |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1638 | char *str = gnt_util_onscreen_fit_string(string->str, maxw); |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1639 | string = g_string_assign(string, str); |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1640 | g_free(str); |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1641 | return string; |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1642 | } |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1643 | |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1644 | static gboolean |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
1645 | draw_tooltip_real(FinchBuddyList *ggblist) |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1646 | { |
| 15884 | 1647 | PurpleBlistNode *node; |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1648 | int x, y, top, width, w, h; |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
1649 | GString *str = NULL; |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1650 | GntTree *tree; |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1651 | GntWidget *widget, *box, *tv; |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1652 | char *title = NULL; |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1653 | |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1654 | widget = ggblist->tree; |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1655 | tree = GNT_TREE(widget); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1656 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
1657 | if (!gnt_widget_has_focus(ggblist->tree) || |
|
39617
1d0453799f73
Use GntWidget flag accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39483
diff
changeset
|
1658 | (ggblist->context && gnt_widget_get_visible(ggblist->context))) |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1659 | return FALSE; |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
1660 | |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1661 | if (ggblist->tooltip) |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1662 | { |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13927
diff
changeset
|
1663 | /* XXX: Once we can properly redraw on expose events, this can be removed at the end |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13927
diff
changeset
|
1664 | * to avoid the blinking*/ |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1665 | remove_tooltip(ggblist); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1666 | } |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1667 | |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1668 | node = gnt_tree_get_selection_data(tree); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1669 | if (!node) |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1670 | return FALSE; |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1671 | |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
1672 | if (!ggblist->manager->create_tooltip(node, &str, &title)) |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1673 | return FALSE; |
| 14489 | 1674 | |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1675 | gnt_widget_get_position(widget, &x, &y); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1676 | gnt_widget_get_size(widget, &width, NULL); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1677 | top = gnt_tree_get_selection_visible_line(tree); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1678 | |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1679 | x += width; |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1680 | y += top - 1; |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1681 | |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1682 | box = gnt_box_new(FALSE, FALSE); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1683 | gnt_box_set_toplevel(GNT_BOX(box), TRUE); |
|
39617
1d0453799f73
Use GntWidget flag accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39483
diff
changeset
|
1684 | gnt_widget_set_has_shadow(box, FALSE); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1685 | gnt_box_set_title(GNT_BOX(box), title); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1686 | |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1687 | str = make_sure_text_fits(str); |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1688 | gnt_util_get_text_bound(str->str, &w, &h); |
|
18369
5a713a62b959
Use the new flags to make the tooltip look better.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
1689 | h = MAX(1, h); |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1690 | tv = gnt_text_view_new(); |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1691 | gnt_widget_set_size(tv, w + 1, h); |
|
18369
5a713a62b959
Use the new flags to make the tooltip look better.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
1692 | gnt_text_view_set_flag(GNT_TEXT_VIEW(tv), GNT_TEXT_VIEW_NO_SCROLL); |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1693 | gnt_box_add_widget(GNT_BOX(box), tv); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1694 | |
|
22579
a84da60f3748
Move the tooltip to the left of the buddylist if there's not enough room to show it on the right.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22556
diff
changeset
|
1695 | if (x + w >= getmaxx(stdscr)) |
|
a84da60f3748
Move the tooltip to the left of the buddylist if there's not enough room to show it on the right.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22556
diff
changeset
|
1696 | x -= w + width + 2; |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1697 | gnt_widget_set_position(box, x, y); |
|
39617
1d0453799f73
Use GntWidget flag accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39483
diff
changeset
|
1698 | gnt_widget_set_take_focus(box, FALSE); |
|
1d0453799f73
Use GntWidget flag accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39483
diff
changeset
|
1699 | gnt_widget_set_transient(box, TRUE); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1700 | gnt_widget_draw(box); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1701 | |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1702 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(tv), str->str, GNT_TEXT_FLAG_NORMAL); |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1703 | gnt_text_view_scroll(GNT_TEXT_VIEW(tv), 0); |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1704 | |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1705 | g_free(title); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1706 | g_string_free(str, TRUE); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1707 | ggblist->tooltip = box; |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1708 | ggblist->tnode = node; |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13927
diff
changeset
|
1709 | |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13927
diff
changeset
|
1710 | gnt_widget_set_name(ggblist->tooltip, "tooltip"); |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1711 | return FALSE; |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1712 | } |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1713 | |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1714 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
1715 | draw_tooltip(FinchBuddyList *ggblist) |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1716 | { |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1717 | /* When an account has signed off, it removes one buddy at a time. |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1718 | * Drawing the tooltip after removing each buddy is expensive. On |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1719 | * top of that, if the selected buddy belongs to the disconnected |
|
41085
508788523450
Fix typos in Finch
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41008
diff
changeset
|
1720 | * account, then retrieving the tooltip for that causes crash. So |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1721 | * let's make sure we wait for all the buddies to be removed first.*/ |
|
42210
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
1722 | int id = g_timeout_add(0, G_SOURCE_FUNC(draw_tooltip_real), ggblist); |
|
14997
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1723 | g_object_set_data_full(G_OBJECT(ggblist->window), "draw_tooltip_calback", |
|
197138c20527
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14981
diff
changeset
|
1724 | GINT_TO_POINTER(id), (GDestroyNotify)g_source_remove); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1725 | } |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1726 | |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1727 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1728 | selection_changed(G_GNUC_UNUSED GntWidget *widget, G_GNUC_UNUSED gpointer old, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1729 | G_GNUC_UNUSED gpointer current, FinchBuddyList *ggblist) |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1730 | { |
|
16837
d3b8ba967fdc
Fix context menu unusualness in the buddylist.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16828
diff
changeset
|
1731 | remove_peripherals(ggblist); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1732 | draw_tooltip(ggblist); |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1733 | } |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1734 | |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1735 | static gboolean |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1736 | context_menu(G_GNUC_UNUSED GntWidget *widget, FinchBuddyList *ggblist) |
|
14896
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14774
diff
changeset
|
1737 | { |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14774
diff
changeset
|
1738 | draw_context_menu(ggblist); |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14774
diff
changeset
|
1739 | return TRUE; |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14774
diff
changeset
|
1740 | } |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14774
diff
changeset
|
1741 | |
|
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14774
diff
changeset
|
1742 | static gboolean |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1743 | key_pressed(G_GNUC_UNUSED GntWidget *widget, const char *text, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1744 | FinchBuddyList *ggblist) |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1745 | { |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1746 | if (text[0] == 27 && text[1] == 0) { |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1747 | /* Escape was pressed */ |
|
21472
7c77d4a1921d
Cancel the typeahead search when escape is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21233
diff
changeset
|
1748 | if (gnt_tree_is_searching(GNT_TREE(ggblist->tree))) |
|
7c77d4a1921d
Cancel the typeahead search when escape is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21233
diff
changeset
|
1749 | gnt_bindable_perform_action_named(GNT_BINDABLE(ggblist->tree), "end-search", NULL); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1750 | remove_peripherals(ggblist); |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
1751 | } else if (purple_strequal(text, GNT_KEY_INS)) { |
|
27174
c368e3f44e40
Remove a now-unnecessary binding for the buddylist.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26871
diff
changeset
|
1752 | PurpleBlistNode *node = gnt_tree_get_selection_data(GNT_TREE(ggblist->tree)); |
|
c368e3f44e40
Remove a now-unnecessary binding for the buddylist.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26871
diff
changeset
|
1753 | purple_blist_request_add_buddy(NULL, NULL, |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
1754 | node && PURPLE_IS_GROUP(node) ? purple_group_get_name(PURPLE_GROUP(node)) : NULL, |
|
27174
c368e3f44e40
Remove a now-unnecessary binding for the buddylist.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26871
diff
changeset
|
1755 | NULL); |
|
18787
a96af97dc501
New feature: successful compilation.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18765
diff
changeset
|
1756 | } else if (!gnt_tree_is_searching(GNT_TREE(ggblist->tree))) { |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
1757 | if (purple_strequal(text, "t")) { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
1758 | finch_blist_toggle_tag_buddy(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree))); |
|
28631
d0b410479721
Add missing null sentinels, and help the compiler catch such errors.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
28088
diff
changeset
|
1759 | gnt_bindable_perform_action_named(GNT_BINDABLE(ggblist->tree), "move-down", NULL); |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
1760 | } else if (purple_strequal(text, "a")) { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
1761 | finch_blist_place_tagged(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree))); |
|
15228
b3a992ff3e5f
[gaim-migrate @ 17952]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15222
diff
changeset
|
1762 | } else |
|
b3a992ff3e5f
[gaim-migrate @ 17952]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15222
diff
changeset
|
1763 | return FALSE; |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1764 | } else |
|
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1765 | return FALSE; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13946
diff
changeset
|
1766 | |
|
15039
20a0d0117a47
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14997
diff
changeset
|
1767 | return TRUE; |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1768 | } |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
1769 | |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1770 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
1771 | update_node_display(PurpleBlistNode *node, FinchBuddyList *ggblist) |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1772 | { |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
1773 | GntTextFormatFlags flag = get_blist_node_flag(ggblist, node); |
|
16636
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1774 | gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), node, flag); |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1775 | } |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1776 | |
|
7f37767fa737
This makes it possible to rearrange chats and groups using the tag+attach system. Thanks a bunch to wabz for testing this. Fixes #379.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16555
diff
changeset
|
1777 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
1778 | update_buddy_display(PurpleBuddy *buddy, FinchBuddyList *ggblist) |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1779 | { |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1780 | PurpleMetaContact *contact; |
|
21808
2684d3deb32e
Refactor the code a little bit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21807
diff
changeset
|
1781 | |
| 15884 | 1782 | contact = purple_buddy_get_contact(buddy); |
|
14447
32f854416012
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14446
diff
changeset
|
1783 | |
| 15884 | 1784 | gnt_tree_change_text(GNT_TREE(ggblist->tree), buddy, 0, get_display_name((PurpleBlistNode*)buddy)); |
| 1785 | gnt_tree_change_text(GNT_TREE(ggblist->tree), contact, 0, get_display_name((PurpleBlistNode*)contact)); | |
|
14447
32f854416012
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14446
diff
changeset
|
1786 | |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
1787 | blist_update_row_flags(ggblist, (PurpleBlistNode *)buddy); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
1788 | if (buddy == purple_meta_contact_get_priority_buddy(contact)) |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
1789 | blist_update_row_flags(ggblist, (PurpleBlistNode *)contact); |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
1790 | |
|
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
1791 | if (ggblist->tnode == (PurpleBlistNode *)buddy) { |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1792 | draw_tooltip(ggblist); |
|
39698
43d46d468694
Remove some use of buddy list globals in Finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39696
diff
changeset
|
1793 | } |
|
13993
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1794 | } |
|
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1795 | |
|
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1796 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1797 | buddy_status_changed(PurpleBuddy *buddy, G_GNUC_UNUSED PurpleStatus *old, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1798 | G_GNUC_UNUSED PurpleStatus *now, FinchBuddyList *ggblist) |
|
13993
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1799 | { |
|
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1800 | update_buddy_display(buddy, ggblist); |
|
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1801 | } |
|
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1802 | |
|
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1803 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1804 | buddy_idle_changed(PurpleBuddy *buddy, G_GNUC_UNUSED int old, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1805 | G_GNUC_UNUSED int new, FinchBuddyList *ggblist) |
|
13993
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1806 | { |
|
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
1807 | update_buddy_display(buddy, ggblist); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1808 | } |
|
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
1809 | |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1810 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
1811 | remove_peripherals(FinchBuddyList *ggblist) |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1812 | { |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1813 | if (ggblist->tooltip) |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1814 | remove_tooltip(ggblist); |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1815 | else if (ggblist->context) |
|
14905
23f31a7acc73
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14896
diff
changeset
|
1816 | gnt_widget_destroy(ggblist->context); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1817 | } |
|
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
1818 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1819 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1820 | size_changed_cb(GntWidget *w, G_GNUC_UNUSED int wi, G_GNUC_UNUSED int h) |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1821 | { |
| 14908 | 1822 | int width, height; |
| 1823 | gnt_widget_get_size(w, &width, &height); | |
| 15884 | 1824 | purple_prefs_set_int(PREF_ROOT "/size/width", width); |
| 1825 | purple_prefs_set_int(PREF_ROOT "/size/height", height); | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1826 | } |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1827 | |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1828 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1829 | save_position_cb(G_GNUC_UNUSED GntWidget *w, int x, int y) |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1830 | { |
| 15884 | 1831 | purple_prefs_set_int(PREF_ROOT "/position/x", x); |
| 1832 | purple_prefs_set_int(PREF_ROOT "/position/y", y); | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1833 | } |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
1834 | |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1835 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1836 | reset_blist_window(G_GNUC_UNUSED GntWidget *window, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1837 | G_GNUC_UNUSED gpointer data) |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1838 | { |
| 15884 | 1839 | purple_signals_disconnect_by_handle(finch_blist_get_handle()); |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
1840 | |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
1841 | g_clear_handle_id(&ggblist->typing, g_source_remove); |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1842 | remove_peripherals(ggblist); |
|
42172
7c2d151b410d
Use g_clear_* helpers where useful
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42167
diff
changeset
|
1843 | g_clear_list(&ggblist->tagged, NULL); |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
1844 | |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
1845 | g_clear_handle_id(&ggblist->new_group_timeout, g_source_remove); |
|
42172
7c2d151b410d
Use g_clear_* helpers where useful
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42167
diff
changeset
|
1846 | g_clear_list(&ggblist->new_group, NULL); |
|
24450
b41b4278c53a
Show a manually added new empty group even if the preference is not set.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24198
diff
changeset
|
1847 | |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1848 | ggblist = NULL; |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1849 | } |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1850 | |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1851 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21855
diff
changeset
|
1852 | populate_buddylist(void) |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1853 | { |
| 15884 | 1854 | PurpleBlistNode *node; |
| 1855 | PurpleBuddyList *list; | |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1856 | |
|
22312
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
1857 | if (ggblist->manager->init) |
|
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
1858 | ggblist->manager->init(); |
|
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
1859 | |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
1860 | if (purple_strequal(purple_prefs_get_string(PREF_ROOT "/sort_type"), "text")) { |
| 14774 | 1861 | gnt_tree_set_compare_func(GNT_TREE(ggblist->tree), |
| 1862 | (GCompareFunc)blist_node_compare_text); | |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
1863 | } else if (purple_strequal(purple_prefs_get_string(PREF_ROOT "/sort_type"), "status")) { |
| 14774 | 1864 | gnt_tree_set_compare_func(GNT_TREE(ggblist->tree), |
| 1865 | (GCompareFunc)blist_node_compare_status); | |
| 1866 | } | |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30060
diff
changeset
|
1867 | |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
1868 | list = purple_blist_get_default(); |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
1869 | node = purple_blist_get_root(list); |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1870 | while (node) |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1871 | { |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1872 | node_update(list, node); |
| 15884 | 1873 | node = purple_blist_node_next(node, FALSE); |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1874 | } |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1875 | } |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
1876 | |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1877 | static void |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1878 | destroy_status_list(GList *list) |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1879 | { |
|
39897
16b440d4ab36
Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39887
diff
changeset
|
1880 | g_list_free_full(list, g_free); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1881 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1882 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1883 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21855
diff
changeset
|
1884 | populate_status_dropdown(void) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1885 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1886 | int i; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1887 | GList *iter; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1888 | GList *items = NULL; |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1889 | StatusBoxItem *item = NULL; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1890 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1891 | /* First the primitives */ |
| 15884 | 1892 | PurpleStatusPrimitive prims[] = {PURPLE_STATUS_AVAILABLE, PURPLE_STATUS_AWAY, |
| 1893 | PURPLE_STATUS_INVISIBLE, PURPLE_STATUS_OFFLINE, PURPLE_STATUS_UNSET}; | |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1894 | |
|
14555
0d6ef581e3ac
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14539
diff
changeset
|
1895 | gnt_combo_box_remove_all(GNT_COMBO_BOX(ggblist->status)); |
|
0d6ef581e3ac
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14539
diff
changeset
|
1896 | |
| 15884 | 1897 | for (i = 0; prims[i] != PURPLE_STATUS_UNSET; i++) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1898 | { |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1899 | item = g_new0(StatusBoxItem, 1); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1900 | item->type = STATUS_PRIMITIVE; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1901 | item->u.prim = prims[i]; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1902 | items = g_list_prepend(items, item); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1903 | gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
| 15884 | 1904 | purple_primitive_get_name_from_type(prims[i])); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1905 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1906 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1907 | /* Now the popular statuses */ |
|
18851
87634d109f57
Memory leak fix.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18850
diff
changeset
|
1908 | for (iter = purple_savedstatuses_get_popular(6); iter; iter = g_list_delete_link(iter, iter)) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1909 | { |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1910 | item = g_new0(StatusBoxItem, 1); |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1911 | item->type = STATUS_SAVED_POPULAR; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1912 | item->u.saved = iter->data; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1913 | items = g_list_prepend(items, item); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1914 | gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
| 15884 | 1915 | purple_savedstatus_get_title(iter->data)); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1916 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1917 | |
|
14194
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
1918 | /* New savedstatus */ |
|
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
1919 | item = g_new0(StatusBoxItem, 1); |
|
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
1920 | item->type = STATUS_SAVED_NEW; |
|
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
1921 | items = g_list_prepend(items, item); |
|
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
1922 | gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
|
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
1923 | _("New...")); |
|
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
1924 | |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1925 | /* More savedstatuses */ |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1926 | item = g_new0(StatusBoxItem, 1); |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1927 | item->type = STATUS_SAVED_ALL; |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1928 | items = g_list_prepend(items, item); |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1929 | gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1930 | _("Saved...")); |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1931 | |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1932 | /* The keys for the combobox are created here, and never used |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1933 | * anywhere else. So make sure the keys are freed when the widget |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1934 | * is destroyed. */ |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1935 | g_object_set_data_full(G_OBJECT(ggblist->status), "list of statuses", |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
1936 | items, (GDestroyNotify)destroy_status_list); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1937 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
1938 | |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1939 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1940 | redraw_blist(G_GNUC_UNUSED const char *name, G_GNUC_UNUSED PurplePrefType type, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
1941 | G_GNUC_UNUSED gconstpointer val, G_GNUC_UNUSED gpointer data) |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1942 | { |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
1943 | PurpleBlistNode *sel; |
|
22300
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1944 | FinchBlistManager *manager; |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1945 | |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1946 | if (ggblist == NULL) |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1947 | return; |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1948 | |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1949 | manager = finch_blist_manager_find(purple_prefs_get_string(PREF_ROOT "/grouping")); |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1950 | if (manager == NULL) |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1951 | manager = &default_manager; |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1952 | if (ggblist->manager != manager) { |
|
22312
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
1953 | if (ggblist->manager->uninit) |
|
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
1954 | ggblist->manager->uninit(); |
|
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
1955 | |
|
22300
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1956 | ggblist->manager = manager; |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1957 | if (manager->can_add_node == NULL) |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1958 | manager->can_add_node = default_can_add_node; |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1959 | if (manager->find_parent == NULL) |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1960 | manager->find_parent = default_find_parent; |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1961 | if (manager->create_tooltip == NULL) |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1962 | manager->create_tooltip = default_create_tooltip; |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1963 | } |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1964 | |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
1965 | if (ggblist->window == NULL) |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1966 | return; |
|
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1967 | |
|
14531
4beceb49b547
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14489
diff
changeset
|
1968 | sel = gnt_tree_get_selection_data(GNT_TREE(ggblist->tree)); |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1969 | gnt_tree_remove_all(GNT_TREE(ggblist->tree)); |
|
22312
dae4ed366fcb
Init and uninit the buddylist managers at appropriate times.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22303
diff
changeset
|
1970 | |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1971 | populate_buddylist(); |
|
14531
4beceb49b547
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14489
diff
changeset
|
1972 | gnt_tree_set_selected(GNT_TREE(ggblist->tree), sel); |
|
4beceb49b547
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14489
diff
changeset
|
1973 | draw_tooltip(ggblist); |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1974 | } |
|
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
1975 | |
|
41840
fe350460fb1c
Remove C99-obsoleted constructs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41733
diff
changeset
|
1976 | void |
|
fe350460fb1c
Remove C99-obsoleted constructs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41733
diff
changeset
|
1977 | finch_blist_init(void) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1978 | { |
|
21855
fc93ce6595e4
Add color to the conversation window to indicate various message attributes
Richard Nelson <wabz@pidgin.im>
parents:
21808
diff
changeset
|
1979 | color_available = gnt_style_get_color(NULL, "color-available"); |
|
21807
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1980 | if (!color_available) |
|
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1981 | color_available = gnt_color_add_pair(COLOR_GREEN, -1); |
|
21855
fc93ce6595e4
Add color to the conversation window to indicate various message attributes
Richard Nelson <wabz@pidgin.im>
parents:
21808
diff
changeset
|
1982 | color_away = gnt_style_get_color(NULL, "color-away"); |
|
21807
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1983 | if (!color_away) |
|
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1984 | color_away = gnt_color_add_pair(COLOR_BLUE, -1); |
|
21855
fc93ce6595e4
Add color to the conversation window to indicate various message attributes
Richard Nelson <wabz@pidgin.im>
parents:
21808
diff
changeset
|
1985 | color_idle = gnt_style_get_color(NULL, "color-idle"); |
|
21807
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1986 | if (!color_idle) |
|
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1987 | color_idle = gnt_color_add_pair(COLOR_CYAN, -1); |
|
21855
fc93ce6595e4
Add color to the conversation window to indicate various message attributes
Richard Nelson <wabz@pidgin.im>
parents:
21808
diff
changeset
|
1988 | color_offline = gnt_style_get_color(NULL, "color-offline"); |
|
21807
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1989 | if (!color_offline) |
|
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1990 | color_offline = gnt_color_add_pair(COLOR_RED, -1); |
|
3d64cf4a1601
Update the changelogs. Correct the man page. Allow 'default' to mean the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21804
diff
changeset
|
1991 | |
| 15884 | 1992 | purple_prefs_add_none(PREF_ROOT); |
| 1993 | purple_prefs_add_none(PREF_ROOT "/size"); | |
| 1994 | purple_prefs_add_int(PREF_ROOT "/size/width", 20); | |
| 1995 | purple_prefs_add_int(PREF_ROOT "/size/height", 17); | |
| 1996 | purple_prefs_add_none(PREF_ROOT "/position"); | |
| 1997 | purple_prefs_add_int(PREF_ROOT "/position/x", 0); | |
| 1998 | purple_prefs_add_int(PREF_ROOT "/position/y", 0); | |
| 1999 | purple_prefs_add_bool(PREF_ROOT "/idletime", TRUE); | |
| 2000 | purple_prefs_add_bool(PREF_ROOT "/showoffline", FALSE); | |
|
18625
775baeaa9f1a
Plucked revision from im.pidgin.soc.2007.finchfeat to allow showing empty
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18614
diff
changeset
|
2001 | purple_prefs_add_bool(PREF_ROOT "/emptygroups", FALSE); |
| 15884 | 2002 | purple_prefs_add_string(PREF_ROOT "/sort_type", "text"); |
|
22300
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
2003 | purple_prefs_add_string(PREF_ROOT "/grouping", "default"); |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
2004 | |
| 15884 | 2005 | purple_prefs_connect_callback(finch_blist_get_handle(), |
|
18625
775baeaa9f1a
Plucked revision from im.pidgin.soc.2007.finchfeat to allow showing empty
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18614
diff
changeset
|
2006 | PREF_ROOT "/emptygroups", redraw_blist, NULL); |
|
775baeaa9f1a
Plucked revision from im.pidgin.soc.2007.finchfeat to allow showing empty
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18614
diff
changeset
|
2007 | purple_prefs_connect_callback(finch_blist_get_handle(), |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
2008 | PREF_ROOT "/showoffline", redraw_blist, NULL); |
| 15884 | 2009 | purple_prefs_connect_callback(finch_blist_get_handle(), |
| 14774 | 2010 | PREF_ROOT "/sort_type", redraw_blist, NULL); |
|
22300
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
2011 | purple_prefs_connect_callback(finch_blist_get_handle(), |
|
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
2012 | PREF_ROOT "/grouping", redraw_blist, NULL); |
|
14461
ed494fb68279
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14458
diff
changeset
|
2013 | |
|
30039
9cd7672bae4f
Add an autojoin connection signal
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
2014 | purple_signal_connect_priority(purple_connections_get_handle(), |
|
9cd7672bae4f
Add an autojoin connection signal
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
2015 | "autojoin", purple_blist_get_handle(), |
|
9cd7672bae4f
Add an autojoin connection signal
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
2016 | G_CALLBACK(account_autojoin_cb), NULL, |
|
9cd7672bae4f
Add an autojoin connection signal
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
2017 | PURPLE_SIGNAL_PRIORITY_HIGHEST); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2018 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2019 | finch_blist_install_manager(&default_manager); |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
2020 | } |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
2021 | |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14104
diff
changeset
|
2022 | static gboolean |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2023 | remove_typing_cb(G_GNUC_UNUSED gpointer data) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2024 | { |
| 15884 | 2025 | PurpleSavedStatus *current; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2026 | const char *message, *newmessage; |
|
24799
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2027 | char *escnewmessage; |
| 15884 | 2028 | PurpleStatusPrimitive prim, newprim; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2029 | StatusBoxItem *item; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2030 | |
| 15884 | 2031 | current = purple_savedstatus_get_current(); |
| 2032 | message = purple_savedstatus_get_message(current); | |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
2033 | prim = purple_savedstatus_get_primitive_type(current); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2034 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2035 | newmessage = gnt_entry_get_text(GNT_ENTRY(ggblist->statustext)); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2036 | item = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(ggblist->status)); |
|
24799
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2037 | escnewmessage = newmessage ? g_markup_escape_text(newmessage, -1) : NULL; |
|
16719
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2038 | |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2039 | switch (item->type) { |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2040 | case STATUS_PRIMITIVE: |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2041 | newprim = item->u.prim; |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2042 | break; |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2043 | case STATUS_SAVED_POPULAR: |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
2044 | newprim = purple_savedstatus_get_primitive_type(item->u.saved); |
|
16719
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2045 | break; |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2046 | default: |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2047 | goto end; /* 'New' or 'Saved' is selected, but this should never happen. */ |
|
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2048 | } |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2049 | |
|
24799
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2050 | if (newprim != prim || ((message && !escnewmessage) || |
|
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2051 | (!message && escnewmessage) || |
|
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2052 | (message && escnewmessage && g_utf8_collate(message, escnewmessage) != 0))) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2053 | { |
|
24799
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2054 | PurpleSavedStatus *status = purple_savedstatus_find_transient_by_type_and_message(newprim, escnewmessage); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2055 | /* Holy Crap! That's a LAWNG function name */ |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2056 | if (status == NULL) |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2057 | { |
| 15884 | 2058 | status = purple_savedstatus_new(NULL, newprim); |
|
24799
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2059 | purple_savedstatus_set_message(status, escnewmessage); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2060 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2061 | |
| 15884 | 2062 | purple_savedstatus_activate(status); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2063 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2064 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2065 | gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); |
|
16719
b54dafede4bd
A rare crash fix for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16636
diff
changeset
|
2066 | end: |
|
24799
d166acdb3a43
Properly escape the status message.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24504
diff
changeset
|
2067 | g_free(escnewmessage); |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
2068 | g_clear_handle_id(&ggblist->typing, g_source_remove); |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14104
diff
changeset
|
2069 | return FALSE; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2070 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2071 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2072 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2073 | status_selection_changed(G_GNUC_UNUSED GntComboBox *box, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2074 | G_GNUC_UNUSED StatusBoxItem *old, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2075 | StatusBoxItem *now, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2076 | G_GNUC_UNUSED gpointer data) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2077 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2078 | gnt_entry_set_text(GNT_ENTRY(ggblist->statustext), NULL); |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
2079 | if (now->type == STATUS_SAVED_POPULAR) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2080 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2081 | /* Set the status immediately */ |
| 15884 | 2082 | purple_savedstatus_activate(now->u.saved); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2083 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2084 | else if (now->type == STATUS_PRIMITIVE) |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2085 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2086 | /* Move the focus to the entry box */ |
|
14121
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14109
diff
changeset
|
2087 | /* XXX: Make sure the selected status can have a message */ |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2088 | gnt_box_move_focus(GNT_BOX(ggblist->window), 1); |
|
42210
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2089 | ggblist->typing = g_timeout_add_seconds(TYPING_TIMEOUT_S, |
|
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2090 | G_SOURCE_FUNC(remove_typing_cb), |
|
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2091 | NULL); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2092 | } |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
2093 | else if (now->type == STATUS_SAVED_ALL) |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
2094 | { |
|
14193
fcfd3eea2160
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14188
diff
changeset
|
2095 | /* Restore the selection to reflect current status. */ |
| 15884 | 2096 | savedstatus_changed(purple_savedstatus_get_current(), NULL); |
|
14193
fcfd3eea2160
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14188
diff
changeset
|
2097 | gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
2098 | finch_savedstatus_show_all(); |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
2099 | } |
|
14194
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
2100 | else if (now->type == STATUS_SAVED_NEW) |
|
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
2101 | { |
| 15884 | 2102 | savedstatus_changed(purple_savedstatus_get_current(), NULL); |
|
14194
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
2103 | gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
2104 | finch_savedstatus_edit(NULL); |
|
14194
b371a53b1695
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
2105 | } |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2106 | else |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2107 | g_return_if_reached(); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2108 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2109 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2110 | static gboolean |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2111 | status_text_changed(G_GNUC_UNUSED GntEntry *entry, const char *text, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2112 | G_GNUC_UNUSED gpointer data) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2113 | { |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14104
diff
changeset
|
2114 | if ((text[0] == 27 || (text[0] == '\t' && text[1] == '\0')) && ggblist->typing == 0) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2115 | return FALSE; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2116 | |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
2117 | g_clear_handle_id(&ggblist->typing, g_source_remove); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2118 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2119 | if (text[0] == '\r' && text[1] == 0) |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2120 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2121 | /* Set the status only after you press 'Enter' */ |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2122 | remove_typing_cb(NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2123 | return TRUE; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2124 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2125 | |
|
42210
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2126 | ggblist->typing = g_timeout_add_seconds(TYPING_TIMEOUT_S, |
|
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2127 | G_SOURCE_FUNC(remove_typing_cb), |
|
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2128 | NULL); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2129 | return FALSE; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2130 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2131 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2132 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2133 | savedstatus_changed(PurpleSavedStatus *now, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2134 | G_GNUC_UNUSED PurpleSavedStatus *old) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2135 | { |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2136 | GList *list; |
| 15884 | 2137 | PurpleStatusPrimitive prim; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2138 | const char *message; |
|
15564
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2139 | gboolean found = FALSE, saved = TRUE; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2140 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2141 | if (!ggblist) |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2142 | return; |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2143 | |
|
14555
0d6ef581e3ac
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14539
diff
changeset
|
2144 | /* Block the signals we don't want to emit */ |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2145 | g_signal_handlers_block_matched(ggblist->status, G_SIGNAL_MATCH_FUNC, |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2146 | 0, 0, NULL, status_selection_changed, NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2147 | g_signal_handlers_block_matched(ggblist->statustext, G_SIGNAL_MATCH_FUNC, |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2148 | 0, 0, NULL, status_text_changed, NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2149 | |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35024
diff
changeset
|
2150 | prim = purple_savedstatus_get_primitive_type(now); |
| 15884 | 2151 | message = purple_savedstatus_get_message(now); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2152 | |
|
14555
0d6ef581e3ac
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14539
diff
changeset
|
2153 | /* Rebuild the status dropdown */ |
|
0d6ef581e3ac
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14539
diff
changeset
|
2154 | populate_status_dropdown(); |
|
0d6ef581e3ac
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14539
diff
changeset
|
2155 | |
|
15564
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2156 | while (!found) { |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2157 | list = g_object_get_data(G_OBJECT(ggblist->status), "list of statuses"); |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2158 | for (; list; list = list->next) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2159 | { |
|
15564
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2160 | StatusBoxItem *item = list->data; |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2161 | if ((saved && item->type != STATUS_PRIMITIVE && item->u.saved == now) || |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2162 | (!saved && item->type == STATUS_PRIMITIVE && item->u.prim == prim)) |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2163 | { |
| 15884 | 2164 | char *mess = purple_unescape_html(message); |
|
15564
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2165 | gnt_combo_box_set_selected(GNT_COMBO_BOX(ggblist->status), item); |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2166 | gnt_entry_set_text(GNT_ENTRY(ggblist->statustext), mess); |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2167 | gnt_widget_draw(ggblist->status); |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2168 | g_free(mess); |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2169 | found = TRUE; |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2170 | break; |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2171 | } |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2172 | } |
|
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2173 | if (!saved) |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2174 | break; |
|
15564
61befe113a13
Wonderful patch from Richard 'wabz' Nelson to fix the bug of lacking a pounce ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15377
diff
changeset
|
2175 | saved = FALSE; |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2176 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2177 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2178 | g_signal_handlers_unblock_matched(ggblist->status, G_SIGNAL_MATCH_FUNC, |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2179 | 0, 0, NULL, status_selection_changed, NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2180 | g_signal_handlers_unblock_matched(ggblist->statustext, G_SIGNAL_MATCH_FUNC, |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2181 | 0, 0, NULL, status_text_changed, NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2182 | } |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2183 | |
|
14167
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2184 | static int |
|
16555
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2185 | blist_node_compare_position(PurpleBlistNode *n1, PurpleBlistNode *n2) |
|
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2186 | { |
|
22334
6eec04817c0d
Add API so Finch doesn't need to touch the internals of PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22314
diff
changeset
|
2187 | while ((n1 = purple_blist_node_get_sibling_prev(n1)) != NULL) |
|
16555
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2188 | if (n1 == n2) |
|
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2189 | return 1; |
|
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2190 | return -1; |
|
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2191 | } |
|
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2192 | |
|
9f8c3a97fb35
Never change the orders of chats or the groups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16490
diff
changeset
|
2193 | static int |
| 15884 | 2194 | blist_node_compare_text(PurpleBlistNode *n1, PurpleBlistNode *n2) |
|
14167
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2195 | { |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2196 | const char *s1, *s2; |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2197 | char *us1, *us2; |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2198 | int ret; |
|
17333
dfb8dfb6ede0
It's valid for different types to be compared. In that case, use existing positions.
Richard Nelson <wabz@pidgin.im>
parents:
17295
diff
changeset
|
2199 | |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2200 | if (G_OBJECT_TYPE(n1) != G_OBJECT_TYPE(n2)) |
|
17333
dfb8dfb6ede0
It's valid for different types to be compared. In that case, use existing positions.
Richard Nelson <wabz@pidgin.im>
parents:
17295
diff
changeset
|
2201 | return blist_node_compare_position(n1, n2); |
|
dfb8dfb6ede0
It's valid for different types to be compared. In that case, use existing positions.
Richard Nelson <wabz@pidgin.im>
parents:
17295
diff
changeset
|
2202 | |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2203 | if (PURPLE_IS_CHAT(n1)) { |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2204 | s1 = purple_chat_get_name((PurpleChat*)n1); |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2205 | s2 = purple_chat_get_name((PurpleChat*)n2); |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2206 | } else if (PURPLE_IS_BUDDY(n1)) { |
|
34849
4676b30130c9
Refactored finch to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents:
34760
diff
changeset
|
2207 | return purple_buddy_presence_compare( |
|
4676b30130c9
Refactored finch to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents:
34760
diff
changeset
|
2208 | PURPLE_BUDDY_PRESENCE(purple_buddy_get_presence(PURPLE_BUDDY(n1))), |
|
4676b30130c9
Refactored finch to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents:
34760
diff
changeset
|
2209 | PURPLE_BUDDY_PRESENCE(purple_buddy_get_presence(PURPLE_BUDDY(n2)))); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2210 | } else if (PURPLE_IS_META_CONTACT(n1)) { |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2211 | s1 = purple_meta_contact_get_alias((PurpleMetaContact*)n1); |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2212 | s2 = purple_meta_contact_get_alias((PurpleMetaContact*)n2); |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2213 | } else { |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2214 | return blist_node_compare_position(n1, n2); |
|
14167
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2215 | } |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2216 | |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2217 | us1 = g_utf8_strup(s1, -1); |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2218 | us2 = g_utf8_strup(s2, -1); |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2219 | ret = g_utf8_collate(us1, us2); |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2220 | g_free(us1); |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2221 | g_free(us2); |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2222 | |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2223 | return ret; |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2224 | } |
|
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14127
diff
changeset
|
2225 | |
| 14774 | 2226 | static int |
| 15884 | 2227 | blist_node_compare_status(PurpleBlistNode *n1, PurpleBlistNode *n2) |
| 14774 | 2228 | { |
| 2229 | int ret; | |
| 2230 | ||
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2231 | if (G_OBJECT_TYPE(n1) != G_OBJECT_TYPE(n2)) |
|
17333
dfb8dfb6ede0
It's valid for different types to be compared. In that case, use existing positions.
Richard Nelson <wabz@pidgin.im>
parents:
17295
diff
changeset
|
2232 | return blist_node_compare_position(n1, n2); |
| 14774 | 2233 | |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2234 | if (PURPLE_IS_META_CONTACT(n1)) |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2235 | n1 = PURPLE_BLIST_NODE(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(n1))); |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2236 | if (PURPLE_IS_META_CONTACT(n2)) |
|
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2237 | n2 = PURPLE_BLIST_NODE(purple_meta_contact_get_priority_buddy(PURPLE_META_CONTACT(n2))); |
|
35914
e05ac5e585d0
Finch: fix glib warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35587
diff
changeset
|
2238 | |
|
e05ac5e585d0
Finch: fix glib warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35587
diff
changeset
|
2239 | if (PURPLE_IS_BUDDY(n1) && PURPLE_IS_BUDDY(n2)) { |
|
34849
4676b30130c9
Refactored finch to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents:
34760
diff
changeset
|
2240 | ret = purple_buddy_presence_compare( |
|
4676b30130c9
Refactored finch to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents:
34760
diff
changeset
|
2241 | PURPLE_BUDDY_PRESENCE(purple_buddy_get_presence(PURPLE_BUDDY(n1))), |
|
4676b30130c9
Refactored finch to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents:
34760
diff
changeset
|
2242 | PURPLE_BUDDY_PRESENCE(purple_buddy_get_presence(PURPLE_BUDDY(n2)))); |
|
34737
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2243 | if (ret != 0) |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2244 | return ret; |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2245 | } else { |
|
60d32106f808
Refactored finch to use the GObject BList API. Added purple_chat_get_name_only().
Ankit Vani <a@nevitus.org>
parents:
34736
diff
changeset
|
2246 | return blist_node_compare_position(n1, n2); |
| 14774 | 2247 | } |
| 2248 | ||
| 2249 | /* Sort alphabetically if presence is not comparable */ | |
| 2250 | ret = blist_node_compare_text(n1, n2); | |
| 2251 | ||
| 2252 | return ret; | |
| 2253 | } | |
| 2254 | ||
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2255 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2256 | plugin_action(G_GNUC_UNUSED GntMenuItem *item, G_GNUC_UNUSED gpointer data) |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2257 | { |
|
41681
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2258 | /* TODO: Convert to GAction/GMenu. */ |
|
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2259 | #if 0 |
| 15884 | 2260 | PurplePluginAction *action = data; |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2261 | if (action && action->callback) |
|
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2262 | action->callback(action); |
|
41681
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2263 | #endif |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2264 | } |
|
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2265 | |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2266 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2267 | build_plugin_actions(G_GNUC_UNUSED GntMenuItem *item, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2268 | G_GNUC_UNUSED PurplePlugin *plugin) |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2269 | { |
|
41681
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2270 | /* TODO: port to GAction/GMenu. */ |
|
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2271 | #if 0 |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2272 | GntWidget *sub = gnt_menu_new(GNT_MENU_POPUP); |
|
36934
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36896
diff
changeset
|
2273 | PurplePluginActionsCb actions_cb; |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2274 | GList *actions; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2275 | GntMenuItem *menuitem; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2276 | |
|
36934
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36896
diff
changeset
|
2277 | actions_cb = |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36896
diff
changeset
|
2278 | purple_plugin_info_get_actions_cb(purple_plugin_get_info(plugin)); |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2279 | |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2280 | gnt_menuitem_set_submenu(item, GNT_MENU(sub)); |
|
36934
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36896
diff
changeset
|
2281 | for (actions = actions_cb(plugin); actions; |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2282 | actions = g_list_delete_link(actions, actions)) { |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2283 | if (actions->data) { |
| 15884 | 2284 | PurplePluginAction *action = actions->data; |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2285 | action->plugin = plugin; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2286 | menuitem = gnt_menuitem_new(action->label); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2287 | gnt_menu_add_item(GNT_MENU(sub), menuitem); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2288 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2289 | gnt_menuitem_set_callback(menuitem, plugin_action, action); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2290 | g_object_set_data_full(G_OBJECT(menuitem), "plugin_action", |
| 15884 | 2291 | action, (GDestroyNotify)purple_plugin_action_free); |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2292 | } |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2293 | } |
|
41681
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2294 | #endif |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2295 | } |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2296 | |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2297 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2298 | protocol_action(G_GNUC_UNUSED GntMenuItem *item, gpointer data) { |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2299 | PurpleProtocolAction *action = data; |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2300 | if (action && action->callback) |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2301 | action->callback(action); |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2302 | } |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2303 | |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2304 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2305 | build_protocol_actions(G_GNUC_UNUSED GntMenuItem *item, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2306 | G_GNUC_UNUSED PurpleProtocol *protocol, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2307 | G_GNUC_UNUSED PurpleConnection *gc) |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2308 | { |
|
41678
77df5b4ebc67
Remove some remnants of the old protocol get_actions interface.
Gary Kramlich <grim@reaperworld.com>
parents:
41455
diff
changeset
|
2309 | /* TODO: port to PurpleProtocolActions. */ |
|
77df5b4ebc67
Remove some remnants of the old protocol get_actions interface.
Gary Kramlich <grim@reaperworld.com>
parents:
41455
diff
changeset
|
2310 | #if 0 |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2311 | GntWidget *sub = gnt_menu_new(GNT_MENU_POPUP); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2312 | GList *actions; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2313 | GntMenuItem *menuitem; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2314 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2315 | gnt_menuitem_set_submenu(item, GNT_MENU(sub)); |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40590
diff
changeset
|
2316 | for (actions = purple_protocol_client_get_actions(PURPLE_PROTOCOL_CLIENT(protocol), gc); |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40590
diff
changeset
|
2317 | actions; actions = g_list_delete_link(actions, actions)) { |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2318 | if (actions->data) { |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2319 | PurpleProtocolAction *action = actions->data; |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2320 | action->connection = gc; |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2321 | menuitem = gnt_menuitem_new(action->label); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2322 | gnt_menu_add_item(GNT_MENU(sub), menuitem); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2323 | |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2324 | gnt_menuitem_set_callback(menuitem, protocol_action, action); |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2325 | g_object_set_data_full(G_OBJECT(menuitem), "protocol_action", |
|
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2326 | action, (GDestroyNotify)purple_protocol_action_free); |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2327 | } |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2328 | } |
|
41678
77df5b4ebc67
Remove some remnants of the old protocol get_actions interface.
Gary Kramlich <grim@reaperworld.com>
parents:
41455
diff
changeset
|
2329 | #endif |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2330 | } |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2331 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2332 | static gboolean |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2333 | buddy_recent_signed_on_off(gpointer data) |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2334 | { |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2335 | PurpleBlistNode *node = data; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
2336 | FinchBlistNode *fnode = g_object_get_data(G_OBJECT(node), UI_DATA); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2337 | |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
2338 | g_clear_handle_id(&fnode->signed_timer, g_source_remove); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2339 | |
|
22303
cab9f3452d72
Rework some of the code that deals with adding and removing blist nodes in the tree. There were some typoed code that just happened to work. This fixes those.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22300
diff
changeset
|
2340 | if (!ggblist->manager->can_add_node(node)) { |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2341 | node_remove(purple_blist_get_default(), node); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2342 | } else { |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2343 | update_node_display(node, ggblist); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2344 | if (purple_blist_node_get_parent(node) && PURPLE_IS_META_CONTACT(purple_blist_node_get_parent(node))) |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
2345 | update_node_display(purple_blist_node_get_parent(node), ggblist); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2346 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2347 | |
|
34716
fc09ccb6eab5
ref buddy before connecting signed off timeout, and unref in the handler
Ankit Vani <a@nevitus.org>
parents:
34709
diff
changeset
|
2348 | g_object_unref(node); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2349 | return FALSE; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2350 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2351 | |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2352 | static gboolean |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2353 | buddy_signed_on_off_cb(gpointer data) |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2354 | { |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2355 | PurpleBlistNode *node = data; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
2356 | FinchBlistNode *fnode = g_object_get_data(G_OBJECT(node), UI_DATA); |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
2357 | if(!ggblist || !fnode) { |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2358 | return FALSE; |
|
40751
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
2359 | } |
|
9e2dd7dcdc0e
Remove ui_data from PurpleBlistNode
Gary Kramlich <grim@reaperworld.com>
parents:
40697
diff
changeset
|
2360 | |
|
42175
4185b4043214
Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42172
diff
changeset
|
2361 | g_clear_handle_id(&fnode->signed_timer, g_source_remove); |
|
34716
fc09ccb6eab5
ref buddy before connecting signed off timeout, and unref in the handler
Ankit Vani <a@nevitus.org>
parents:
34709
diff
changeset
|
2362 | |
|
fc09ccb6eab5
ref buddy before connecting signed off timeout, and unref in the handler
Ankit Vani <a@nevitus.org>
parents:
34709
diff
changeset
|
2363 | g_object_ref(node); |
|
42210
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2364 | fnode->signed_timer = g_timeout_add_seconds(6, |
|
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2365 | G_SOURCE_FUNC(buddy_recent_signed_on_off), |
|
eb8592c26889
Use G_SOURCE_FUNC macro more
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42175
diff
changeset
|
2366 | data); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2367 | update_node_display(node, ggblist); |
|
41733
a9085b52de8b
Rename PurpleContact to PurpleMetaContact.
Gary Kramlich <grim@reaperworld.com>
parents:
41681
diff
changeset
|
2368 | if (purple_blist_node_get_parent(node) && PURPLE_IS_META_CONTACT(purple_blist_node_get_parent(node))) |
|
22282
a964668bd7e4
Add some accessor functions for PurpleBlistNode.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22140
diff
changeset
|
2369 | update_node_display(purple_blist_node_get_parent(node), ggblist); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2370 | return FALSE; |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2371 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2372 | |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2373 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2374 | buddy_signed_on_off(PurpleBuddy* buddy, G_GNUC_UNUSED gpointer data) |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2375 | { |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2376 | g_idle_add(buddy_signed_on_off_cb, buddy); |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2377 | } |
|
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2378 | |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2379 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21855
diff
changeset
|
2380 | reconstruct_plugins_menu(void) |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2381 | { |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2382 | GntWidget *sub; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2383 | GntMenuItem *plg; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2384 | GList *iter; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2385 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2386 | if (!ggblist) |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2387 | return; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2388 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2389 | if (ggblist->plugins == NULL) |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2390 | ggblist->plugins = gnt_menuitem_new(_("Plugins")); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2391 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2392 | plg = ggblist->plugins; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2393 | sub = gnt_menu_new(GNT_MENU_POPUP); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2394 | gnt_menuitem_set_submenu(plg, GNT_MENU(sub)); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2395 | |
|
41681
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2396 | /* TODO: port to GAction/GMenu. */ |
|
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2397 | #if 0 |
| 15884 | 2398 | for (iter = purple_plugins_get_loaded(); iter; iter = iter->next) { |
| 2399 | PurplePlugin *plugin = iter->data; | |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2400 | PurplePluginInfo *info = purple_plugin_get_info(plugin); |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2401 | GntMenuItem *item; |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2402 | |
|
36934
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36896
diff
changeset
|
2403 | if (!purple_plugin_info_get_actions_cb(info)) |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2404 | continue; |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2405 | |
|
39834
0345d198dbd6
Remove redundant purple_plugin_info_get_* wrappers.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39759
diff
changeset
|
2406 | item = gnt_menuitem_new(_(gplugin_plugin_info_get_name( |
|
0345d198dbd6
Remove redundant purple_plugin_info_get_* wrappers.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39759
diff
changeset
|
2407 | GPLUGIN_PLUGIN_INFO(info)))); |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2408 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
36489
6e8edeb3f3f9
Refactored gntblist to use the actions callbacks
Ankit Vani <a@nevitus.org>
parents:
36488
diff
changeset
|
2409 | build_plugin_actions(item, plugin); |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2410 | } |
|
41681
52dbe7ad39ce
Remove PurplePluginAction as everything except finch as been ported to GAction/GMenu.
Gary Kramlich <grim@reaperworld.com>
parents:
41678
diff
changeset
|
2411 | #endif |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2412 | } |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2413 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2414 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2415 | reconstruct_plugins_menu_cb(G_GNUC_UNUSED GObject *plugin_manager, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2416 | G_GNUC_UNUSED GPluginPlugin *plugin, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2417 | G_GNUC_UNUSED gpointer data) |
|
40897
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2418 | { |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2419 | reconstruct_plugins_menu(); |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2420 | } |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2421 | |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2422 | static void |
|
41202
5c41b36cb13e
port finch to the new AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
2423 | reconstruct_accounts_menu(void) { |
|
5c41b36cb13e
port finch to the new AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
2424 | PurpleAccountManager *manager = NULL; |
| 14774 | 2425 | GntWidget *sub; |
| 2426 | GntMenuItem *acc, *item; | |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2427 | GList *iter; |
|
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2428 | |
|
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2429 | if (!ggblist) |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2430 | return; |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2431 | |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2432 | if (ggblist->accounts == NULL) |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2433 | ggblist->accounts = gnt_menuitem_new(_("Accounts")); |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2434 | |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2435 | acc = ggblist->accounts; |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2436 | sub = gnt_menu_new(GNT_MENU_POPUP); |
| 14774 | 2437 | gnt_menuitem_set_submenu(acc, GNT_MENU(sub)); |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2438 | |
|
41202
5c41b36cb13e
port finch to the new AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
2439 | manager = purple_account_manager_get_default(); |
|
41455
4dcc4dc91609
Update finch for the purple_account_manager_get_(in)active deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41314
diff
changeset
|
2440 | iter = purple_account_manager_get_enabled(manager); |
|
41202
5c41b36cb13e
port finch to the new AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
2441 | |
|
5c41b36cb13e
port finch to the new AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
2442 | for (; iter; iter = g_list_delete_link(iter, iter)) { |
| 15884 | 2443 | PurpleAccount *account = iter->data; |
| 2444 | PurpleConnection *gc = purple_account_get_connection(account); | |
|
36544
1bf8b6ef5aea
Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents:
36510
diff
changeset
|
2445 | PurpleProtocol *protocol; |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2446 | |
| 15884 | 2447 | if (!gc || !PURPLE_CONNECTION_IS_CONNECTED(gc)) |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2448 | continue; |
|
36623
caaadef03507
Renamed purple_connection_get_protocol_info() to purple_connection_get_protocol()
Ankit Vani <a@nevitus.org>
parents:
36606
diff
changeset
|
2449 | protocol = purple_connection_get_protocol(gc); |
|
36544
1bf8b6ef5aea
Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents:
36510
diff
changeset
|
2450 | |
|
41678
77df5b4ebc67
Remove some remnants of the old protocol get_actions interface.
Gary Kramlich <grim@reaperworld.com>
parents:
41455
diff
changeset
|
2451 | #if 0 |
|
77df5b4ebc67
Remove some remnants of the old protocol get_actions interface.
Gary Kramlich <grim@reaperworld.com>
parents:
41455
diff
changeset
|
2452 | /* TODO: port to PurpleProtocolActions */ |
|
39759
ea1401483849
Rename *_GET_*_IFACE to more standard *_GET_IFACE.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39698
diff
changeset
|
2453 | if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CLIENT, get_actions)) { |
|
41980
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
2454 | PurpleContactInfo *info = PURPLE_CONTACT_INFO(account); |
|
4809f699d6c9
Update Finch for the PurpleAccount deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
2455 | item = gnt_menuitem_new(purple_contact_info_get_username(info)); |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2456 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
36544
1bf8b6ef5aea
Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents:
36510
diff
changeset
|
2457 | build_protocol_actions(item, protocol, gc); |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2458 | } |
|
41678
77df5b4ebc67
Remove some remnants of the old protocol get_actions interface.
Gary Kramlich <grim@reaperworld.com>
parents:
41455
diff
changeset
|
2459 | #endif |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2460 | } |
| 14774 | 2461 | } |
| 2462 | ||
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2463 | static void |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2464 | reconstruct_grouping_menu(void) |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2465 | { |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2466 | GList *iter; |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2467 | GntWidget *subsub; |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2468 | |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2469 | if (!ggblist || !ggblist->grouping) |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2470 | return; |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2471 | |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2472 | subsub = gnt_menu_new(GNT_MENU_POPUP); |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2473 | gnt_menuitem_set_submenu(ggblist->grouping, GNT_MENU(subsub)); |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2474 | |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2475 | for (iter = managers; iter; iter = iter->next) { |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2476 | char menuid[128]; |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2477 | FinchBlistManager *manager = iter->data; |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2478 | GntMenuItem *item = gnt_menuitem_new(_(manager->name)); |
|
25708
7e97dbce8223
applied changes from aa7ce93329f5ccbe74640a92b6656ae402d8eea8
Ethan Blanton <elb@pidgin.im>
parents:
24799
diff
changeset
|
2479 | g_snprintf(menuid, sizeof(menuid), "grouping-%s", manager->id); |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2480 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), menuid); |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2481 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2482 | g_object_set_data_full(G_OBJECT(item), "grouping-id", g_strdup(manager->id), g_free); |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2483 | gnt_menuitem_set_callback(item, menu_group_set_cb, NULL); |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2484 | } |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2485 | } |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2486 | |
|
19555
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2487 | static gboolean |
|
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2488 | auto_join_chats(gpointer data) |
|
15242
4f4b5d66f9af
[gaim-migrate @ 17967]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15241
diff
changeset
|
2489 | { |
| 15884 | 2490 | PurpleBlistNode *node; |
|
19555
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2491 | PurpleConnection *pc = data; |
|
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2492 | PurpleAccount *account = purple_connection_get_account(pc); |
|
15242
4f4b5d66f9af
[gaim-migrate @ 17967]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15241
diff
changeset
|
2493 | |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2494 | for (node = purple_blist_get_default_root(); node; |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2495 | node = purple_blist_node_next(node, FALSE)) { |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
2496 | if (PURPLE_IS_CHAT(node)) { |
| 15884 | 2497 | PurpleChat *chat = (PurpleChat*)node; |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
2498 | if (purple_chat_get_account(chat) == account && |
|
16828
0501ee8b8220
Fix this spectacularly braindead code. I must've been on the good stuff when I wrote this. Fixes #364.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16719
diff
changeset
|
2499 | purple_blist_node_get_bool(node, "gnt-autojoin")) |
|
35499
c4c5e0a670b1
Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents:
35494
diff
changeset
|
2500 | purple_serv_join_chat(purple_account_get_connection(account), purple_chat_get_components(chat)); |
|
15242
4f4b5d66f9af
[gaim-migrate @ 17967]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15241
diff
changeset
|
2501 | } |
|
4f4b5d66f9af
[gaim-migrate @ 17967]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15241
diff
changeset
|
2502 | } |
|
19555
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2503 | return FALSE; |
|
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2504 | } |
|
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2505 | |
|
30039
9cd7672bae4f
Add an autojoin connection signal
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
2506 | static gboolean |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2507 | account_autojoin_cb(PurpleConnection *gc, G_GNUC_UNUSED gpointer data) |
|
19555
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2508 | { |
|
9d5c2c048760
I think this fixes the auto-rejoin-after-auto-reconnect bug in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19425
diff
changeset
|
2509 | g_idle_add(auto_join_chats, gc); |
|
30039
9cd7672bae4f
Add an autojoin connection signal
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
2510 | return TRUE; |
|
15242
4f4b5d66f9af
[gaim-migrate @ 17967]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15241
diff
changeset
|
2511 | } |
|
18626
c2d9efa0ef1a
Minor changes to remove a couple of lines of duplication.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18625
diff
changeset
|
2512 | |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2513 | static void toggle_pref_cb(G_GNUC_UNUSED GntMenuItem *item, gpointer n) |
|
18625
775baeaa9f1a
Plucked revision from im.pidgin.soc.2007.finchfeat to allow showing empty
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18614
diff
changeset
|
2514 | { |
|
18626
c2d9efa0ef1a
Minor changes to remove a couple of lines of duplication.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18625
diff
changeset
|
2515 | purple_prefs_set_bool(n, !purple_prefs_get_bool(n)); |
| 14774 | 2516 | } |
| 2517 | ||
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2518 | static void sort_blist_change_cb(G_GNUC_UNUSED GntMenuItem *item, gpointer n) |
| 14774 | 2519 | { |
| 15884 | 2520 | purple_prefs_set_string(PREF_ROOT "/sort_type", n); |
| 14774 | 2521 | } |
| 2522 | ||
|
18607
9b0e8be076f0
Fix a bug where buddies from offline accounts were showing up.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18400
diff
changeset
|
2523 | /* send_im_select* -- Xerox */ |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2524 | static void |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2525 | send_im_select_cb(G_GNUC_UNUSED gpointer data, PurpleRequestPage *page) { |
| 15884 | 2526 | PurpleAccount *account; |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2527 | const char *username; |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
2528 | PurpleConversation *im; |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2529 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2530 | account = purple_request_page_get_account(page, "account"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2531 | username = purple_request_page_get_string(page, "screenname"); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2532 | |
|
34657
b10d6297ffd5
Refactored finch to use the GObject conversation API
Ankit Vani <a@nevitus.org>
parents:
34627
diff
changeset
|
2533 | im = purple_im_conversation_new(account, username); |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
2534 | purple_conversation_present(im); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2535 | } |
|
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2536 | |
|
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2537 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2538 | send_im_select(G_GNUC_UNUSED GntMenuItem *item, G_GNUC_UNUSED gpointer n) |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2539 | { |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2540 | PurpleRequestPage *page; |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2541 | PurpleRequestGroup *group; |
| 15884 | 2542 | PurpleRequestField *field; |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2543 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2544 | page = purple_request_page_new(); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2545 | |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2546 | group = purple_request_group_new(NULL); |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2547 | purple_request_page_add_group(page, group); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2548 | |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2549 | field = purple_request_field_string_new("screenname", _("Name"), NULL, FALSE); |
| 15884 | 2550 | purple_request_field_set_type_hint(field, "screenname"); |
| 2551 | purple_request_field_set_required(field, TRUE); | |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2552 | purple_request_group_add_field(group, field); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2553 | |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2554 | field = purple_request_field_account_new("account", _("Account"), NULL); |
| 15884 | 2555 | purple_request_field_set_type_hint(field, "account"); |
| 2556 | purple_request_field_set_visible(field, | |
| 2557 | (purple_connections_get_all() != NULL && | |
| 2558 | purple_connections_get_all()->next != NULL)); | |
| 2559 | purple_request_field_set_required(field, TRUE); | |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2560 | purple_request_group_add_field(group, field); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2561 | |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2562 | purple_request_fields( |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2563 | purple_blist_get_default(), _("New Instant Message"), NULL, |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2564 | _("Please enter the username or alias of the person " |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2565 | "you would like to IM."), |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2566 | page, _("OK"), G_CALLBACK(send_im_select_cb), _("Cancel"), |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2567 | NULL, NULL, NULL); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2568 | } |
|
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2569 | |
| 14774 | 2570 | static void |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2571 | join_chat_select_cb(G_GNUC_UNUSED gpointer data, PurpleRequestPage *page) { |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2572 | PurpleAccount *account; |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2573 | const char *name; |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2574 | PurpleConnection *gc; |
|
40961
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
2575 | PurpleConversationManager *manager; |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2576 | PurpleChat *chat; |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2577 | GHashTable *hash = NULL; |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
2578 | PurpleConversation *conv; |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2579 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2580 | account = purple_request_page_get_account(page, "account"); |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2581 | name = purple_request_page_get_string(page, "chat"); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2582 | |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2583 | if (!purple_account_is_connected(account)) |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2584 | return; |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2585 | |
|
22336
ac905bb0a8ec
Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22335
diff
changeset
|
2586 | gc = purple_account_get_connection(account); |
|
40961
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
2587 | manager = purple_conversation_manager_get_default(); |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
2588 | |
|
23422
22bc7c68bbc3
Fix chat joining from the 'Join a chat' dialog. Thanks to w00b on IRC for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22988
diff
changeset
|
2589 | /* Create a new conversation now. This will give focus to the new window. |
|
22bc7c68bbc3
Fix chat joining from the 'Join a chat' dialog. Thanks to w00b on IRC for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22988
diff
changeset
|
2590 | * But it's necessary to pretend that we left the chat, because otherwise |
|
22bc7c68bbc3
Fix chat joining from the 'Join a chat' dialog. Thanks to w00b on IRC for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22988
diff
changeset
|
2591 | * a new conversation window will pop up when we finally join the chat. */ |
|
40961
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
2592 | conv = purple_conversation_manager_find_chat(manager, account, name); |
|
f2f397659f30
Convert Finch to the PurpleConversationManager API
Gary Kramlich <grim@reaperworld.com>
parents:
40897
diff
changeset
|
2593 | if(!PURPLE_IS_CHAT_CONVERSATION(conv)) { |
|
34627
08733a7475df
Replaced purple_conversation_new() with purple_[im,chat]_conversation_new()
Ankit Vani <a@nevitus.org>
parents:
34625
diff
changeset
|
2594 | conv = purple_chat_conversation_new(account, name); |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
2595 | purple_chat_conversation_leave(PURPLE_CHAT_CONVERSATION(conv)); |
|
23422
22bc7c68bbc3
Fix chat joining from the 'Join a chat' dialog. Thanks to w00b on IRC for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22988
diff
changeset
|
2596 | } else { |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40806
diff
changeset
|
2597 | purple_conversation_present(conv); |
|
23422
22bc7c68bbc3
Fix chat joining from the 'Join a chat' dialog. Thanks to w00b on IRC for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22988
diff
changeset
|
2598 | } |
|
22bc7c68bbc3
Fix chat joining from the 'Join a chat' dialog. Thanks to w00b on IRC for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22988
diff
changeset
|
2599 | |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2600 | chat = purple_blist_find_chat(account, name); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2601 | if (chat == NULL) { |
|
36623
caaadef03507
Renamed purple_connection_get_protocol_info() to purple_connection_get_protocol()
Ankit Vani <a@nevitus.org>
parents:
36606
diff
changeset
|
2602 | PurpleProtocol *protocol = purple_connection_get_protocol(gc); |
|
40697
81f81f5d2f39
Split PurpleProtocolChat to its own file and clean up the API.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
2603 | hash = purple_protocol_chat_info_defaults(PURPLE_PROTOCOL_CHAT(protocol), gc, name); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2604 | } else { |
|
22341
ed341c90116e
Add accessor and update finch to not touch the internals of PurpleBuddy and PurpleChat.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22339
diff
changeset
|
2605 | hash = purple_chat_get_components(chat); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2606 | } |
|
35499
c4c5e0a670b1
Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents:
35494
diff
changeset
|
2607 | purple_serv_join_chat(gc, hash); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2608 | if (chat == NULL && hash != NULL) |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2609 | g_hash_table_destroy(hash); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2610 | } |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2611 | |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2612 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2613 | join_chat_select(G_GNUC_UNUSED GntMenuItem *item, G_GNUC_UNUSED gpointer n) |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2614 | { |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2615 | PurpleRequestPage *page; |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2616 | PurpleRequestGroup *group; |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2617 | PurpleRequestField *field; |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2618 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2619 | page = purple_request_page_new(); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2620 | |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2621 | group = purple_request_group_new(NULL); |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2622 | purple_request_page_add_group(page, group); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2623 | |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2624 | field = purple_request_field_string_new("chat", _("Channel"), NULL, FALSE); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2625 | purple_request_field_set_required(field, TRUE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2626 | purple_request_group_add_field(group, field); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2627 | |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2628 | field = purple_request_field_account_new("account", _("Account"), NULL); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2629 | purple_request_field_set_type_hint(field, "account"); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2630 | purple_request_field_set_visible(field, |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2631 | (purple_connections_get_all() != NULL && |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2632 | purple_connections_get_all()->next != NULL)); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2633 | purple_request_field_set_required(field, TRUE); |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42079
diff
changeset
|
2634 | purple_request_group_add_field(group, field); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2635 | |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2636 | purple_request_fields( |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2637 | purple_blist_get_default(), _("Join a Chat"), NULL, |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2638 | _("Please enter the name of the chat you want to join."), |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
2639 | page, _("Join"), G_CALLBACK(join_chat_select_cb), _("Cancel"), |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2640 | NULL, NULL, NULL); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2641 | } |
|
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2642 | |
| 14774 | 2643 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2644 | menu_add_buddy_cb(G_GNUC_UNUSED GntMenuItem *item, G_GNUC_UNUSED gpointer data) |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2645 | { |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2646 | purple_blist_request_add_buddy(NULL, NULL, NULL, NULL); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2647 | } |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2648 | |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2649 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2650 | menu_add_chat_cb(G_GNUC_UNUSED GntMenuItem *item, G_GNUC_UNUSED gpointer data) |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2651 | { |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2652 | purple_blist_request_add_chat(NULL, NULL, NULL, NULL); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2653 | } |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2654 | |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2655 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2656 | menu_add_group_cb(G_GNUC_UNUSED GntMenuItem *item, G_GNUC_UNUSED gpointer data) |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2657 | { |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2658 | purple_blist_request_add_group(); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2659 | } |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2660 | |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2661 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2662 | menu_group_set_cb(GntMenuItem *item, G_GNUC_UNUSED gpointer data) |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2663 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2664 | const char *id = g_object_get_data(G_OBJECT(item), "grouping-id"); |
|
22300
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
2665 | purple_prefs_set_string(PREF_ROOT "/grouping", id); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2666 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2667 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2668 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21855
diff
changeset
|
2669 | create_menu(void) |
| 14774 | 2670 | { |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2671 | GntWidget *menu, *sub, *subsub; |
| 14774 | 2672 | GntMenuItem *item; |
| 2673 | GntWindow *window; | |
| 2674 | ||
| 2675 | if (!ggblist) | |
| 2676 | return; | |
| 2677 | ||
| 2678 | window = GNT_WINDOW(ggblist->window); | |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2679 | ggblist->menu = menu = gnt_menu_new(GNT_MENU_TOPLEVEL); |
| 14774 | 2680 | gnt_window_set_menu(window, GNT_MENU(menu)); |
| 2681 | ||
| 2682 | item = gnt_menuitem_new(_("Options")); | |
| 2683 | gnt_menu_add_item(GNT_MENU(menu), item); | |
| 2684 | ||
| 2685 | sub = gnt_menu_new(GNT_MENU_POPUP); | |
| 2686 | gnt_menuitem_set_submenu(item, GNT_MENU(sub)); | |
| 2687 | ||
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2688 | item = gnt_menuitem_new(_("Send IM...")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2689 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "send-im"); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2690 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
15991
1efb6bd8ba3f
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15931
diff
changeset
|
2691 | gnt_menuitem_set_callback(GNT_MENU_ITEM(item), send_im_select, NULL); |
|
14951
315052c54c13
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14945
diff
changeset
|
2692 | |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2693 | item = gnt_menuitem_new(_("Join Chat...")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2694 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "join-chat"); |
|
20793
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2695 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2696 | gnt_menuitem_set_callback(GNT_MENU_ITEM(item), join_chat_select, NULL); |
|
2cf364db44c2
Add a 'Join Chat...' item in the buddylist menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20666
diff
changeset
|
2697 | |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2698 | item = gnt_menuitem_new(_("Show")); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2699 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2700 | subsub = gnt_menu_new(GNT_MENU_POPUP); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2701 | gnt_menuitem_set_submenu(item, GNT_MENU(subsub)); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2702 | |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2703 | item = gnt_menuitem_check_new(_("Empty groups")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2704 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "show-empty-groups"); |
|
18625
775baeaa9f1a
Plucked revision from im.pidgin.soc.2007.finchfeat to allow showing empty
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18614
diff
changeset
|
2705 | gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(item), |
|
775baeaa9f1a
Plucked revision from im.pidgin.soc.2007.finchfeat to allow showing empty
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18614
diff
changeset
|
2706 | purple_prefs_get_bool(PREF_ROOT "/emptygroups")); |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2707 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
18626
c2d9efa0ef1a
Minor changes to remove a couple of lines of duplication.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18625
diff
changeset
|
2708 | gnt_menuitem_set_callback(GNT_MENU_ITEM(item), toggle_pref_cb, PREF_ROOT "/emptygroups"); |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2709 | |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2710 | item = gnt_menuitem_check_new(_("Offline buddies")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2711 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "show-offline-buddies"); |
|
15991
1efb6bd8ba3f
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15931
diff
changeset
|
2712 | gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(item), |
| 15884 | 2713 | purple_prefs_get_bool(PREF_ROOT "/showoffline")); |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2714 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
18626
c2d9efa0ef1a
Minor changes to remove a couple of lines of duplication.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18625
diff
changeset
|
2715 | gnt_menuitem_set_callback(GNT_MENU_ITEM(item), toggle_pref_cb, PREF_ROOT "/showoffline"); |
| 14774 | 2716 | |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2717 | item = gnt_menuitem_new(_("Sort")); |
| 14774 | 2718 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2719 | subsub = gnt_menu_new(GNT_MENU_POPUP); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2720 | gnt_menuitem_set_submenu(item, GNT_MENU(subsub)); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2721 | |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2722 | item = gnt_menuitem_new(_("By Status")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2723 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "sort-status"); |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2724 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
15991
1efb6bd8ba3f
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15931
diff
changeset
|
2725 | gnt_menuitem_set_callback(GNT_MENU_ITEM(item), sort_blist_change_cb, "status"); |
| 14774 | 2726 | |
|
20684
4daaf3284863
propagate from branch 'im.pidgin.pidgin' (head b47c4fe72d16b3724a2e8fa0b9c783bc33863beb)
Gabriel Schulhof <nix@go-nix.ca>
diff
changeset
|
2727 | item = gnt_menuitem_new(_("Alphabetically")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2728 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "sort-alpha"); |
|
20684
4daaf3284863
propagate from branch 'im.pidgin.pidgin' (head b47c4fe72d16b3724a2e8fa0b9c783bc33863beb)
Gabriel Schulhof <nix@go-nix.ca>
diff
changeset
|
2729 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
15991
1efb6bd8ba3f
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15931
diff
changeset
|
2730 | gnt_menuitem_set_callback(GNT_MENU_ITEM(item), sort_blist_change_cb, "text"); |
| 14774 | 2731 | |
|
20691
2b0a4e2175db
Restoring gntblist.c:create_menu
Gabriel Schulhof <nix@go-nix.ca>
parents:
20690
diff
changeset
|
2732 | item = gnt_menuitem_new(_("By Log Size")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2733 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "sort-log"); |
|
20691
2b0a4e2175db
Restoring gntblist.c:create_menu
Gabriel Schulhof <nix@go-nix.ca>
parents:
20690
diff
changeset
|
2734 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
2b0a4e2175db
Restoring gntblist.c:create_menu
Gabriel Schulhof <nix@go-nix.ca>
parents:
20690
diff
changeset
|
2735 | gnt_menuitem_set_callback(GNT_MENU_ITEM(item), sort_blist_change_cb, "log"); |
|
2b0a4e2175db
Restoring gntblist.c:create_menu
Gabriel Schulhof <nix@go-nix.ca>
parents:
20690
diff
changeset
|
2736 | |
|
2b0a4e2175db
Restoring gntblist.c:create_menu
Gabriel Schulhof <nix@go-nix.ca>
parents:
20690
diff
changeset
|
2737 | item = gnt_menuitem_new(_("Add")); |
| 14774 | 2738 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
20691
2b0a4e2175db
Restoring gntblist.c:create_menu
Gabriel Schulhof <nix@go-nix.ca>
parents:
20690
diff
changeset
|
2739 | |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2740 | subsub = gnt_menu_new(GNT_MENU_POPUP); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2741 | gnt_menuitem_set_submenu(item, GNT_MENU(subsub)); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2742 | |
|
22288
c6c6473ce2b9
Mark some strings for translation.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22286
diff
changeset
|
2743 | item = gnt_menuitem_new(_("Buddy")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2744 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "add-buddy"); |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2745 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2746 | gnt_menuitem_set_callback(item, menu_add_buddy_cb, NULL); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2747 | |
|
22288
c6c6473ce2b9
Mark some strings for translation.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22286
diff
changeset
|
2748 | item = gnt_menuitem_new(_("Chat")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2749 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "add-chat"); |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2750 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2751 | gnt_menuitem_set_callback(item, menu_add_chat_cb, NULL); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2752 | |
|
22288
c6c6473ce2b9
Mark some strings for translation.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22286
diff
changeset
|
2753 | item = gnt_menuitem_new(_("Group")); |
|
20823
4f1e2463fc36
Add IDs to the menuitems in the buddylist menu so they can have acceletor keys.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20793
diff
changeset
|
2754 | gnt_menuitem_set_id(GNT_MENU_ITEM(item), "add-group"); |
|
20628
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2755 | gnt_menu_add_item(GNT_MENU(subsub), item); |
|
14b7b59970c3
Re-arrange the menu. Add 'Add buddy/chat/group' in the menu.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20147
diff
changeset
|
2756 | gnt_menuitem_set_callback(item, menu_add_group_cb, NULL); |
| 14774 | 2757 | |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2758 | ggblist->grouping = item = gnt_menuitem_new(_("Grouping")); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2759 | gnt_menu_add_item(GNT_MENU(sub), item); |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2760 | reconstruct_grouping_menu(); |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2761 | |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2762 | reconstruct_accounts_menu(); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2763 | gnt_menu_add_item(GNT_MENU(menu), ggblist->accounts); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2764 | |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2765 | reconstruct_plugins_menu(); |
|
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2766 | gnt_menu_add_item(GNT_MENU(menu), ggblist->plugins); |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2767 | } |
|
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2768 | |
|
41840
fe350460fb1c
Remove C99-obsoleted constructs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41733
diff
changeset
|
2769 | void |
|
fe350460fb1c
Remove C99-obsoleted constructs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41733
diff
changeset
|
2770 | finch_blist_show(void) |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
2771 | { |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39617
diff
changeset
|
2772 | blist_show(purple_blist_get_default()); |
|
14909
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14908
diff
changeset
|
2773 | } |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
2774 | |
|
14909
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14908
diff
changeset
|
2775 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2776 | group_collapsed(G_GNUC_UNUSED GntWidget *widget, PurpleBlistNode *node, |
|
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2777 | gboolean collapsed, G_GNUC_UNUSED gpointer data) |
|
16165
24ec117bc52c
Remember the collapsed state of groups in the blist
Richard Nelson <wabz@pidgin.im>
parents:
15991
diff
changeset
|
2778 | { |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34657
diff
changeset
|
2779 | if (PURPLE_IS_GROUP(node)) |
| 16166 | 2780 | purple_blist_node_set_bool(node, "collapsed", collapsed); |
|
16165
24ec117bc52c
Remember the collapsed state of groups in the blist
Richard Nelson <wabz@pidgin.im>
parents:
15991
diff
changeset
|
2781 | } |
|
24ec117bc52c
Remember the collapsed state of groups in the blist
Richard Nelson <wabz@pidgin.im>
parents:
15991
diff
changeset
|
2782 | |
|
24ec117bc52c
Remember the collapsed state of groups in the blist
Richard Nelson <wabz@pidgin.im>
parents:
15991
diff
changeset
|
2783 | static void |
|
42079
679258d92a92
Mark unused parameters as such for all finch
Gary Kramlich <grim@reaperworld.com>
parents:
42071
diff
changeset
|
2784 | blist_show(G_GNUC_UNUSED PurpleBuddyList *list) |
|
14909
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14908
diff
changeset
|
2785 | { |
|
40978
2cb285cacbfd
Fix warnings about changing types on assignment.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40961
diff
changeset
|
2786 | GPluginManager *plugin_manager = NULL; |
|
40897
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2787 | |
|
39695
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2788 | if (ggblist->window) { |
|
18400
549820f4725c
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18391
diff
changeset
|
2789 | gnt_window_present(ggblist->window); |
|
14909
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14908
diff
changeset
|
2790 | return; |
|
18400
549820f4725c
If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18391
diff
changeset
|
2791 | } |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2792 | |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2793 | ggblist->window = gnt_vwindow_new(FALSE); |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13927
diff
changeset
|
2794 | gnt_widget_set_name(ggblist->window, "buddylist"); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
2795 | gnt_box_set_toplevel(GNT_BOX(ggblist->window), TRUE); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2796 | gnt_box_set_title(GNT_BOX(ggblist->window), _("Buddy List")); |
|
13915
15a38b312abe
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13852
diff
changeset
|
2797 | gnt_box_set_pad(GNT_BOX(ggblist->window), 0); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2798 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2799 | ggblist->tree = gnt_tree_new(); |
| 14774 | 2800 | |
|
39617
1d0453799f73
Use GntWidget flag accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39483
diff
changeset
|
2801 | gnt_widget_set_has_border(ggblist->tree, FALSE); |
| 15884 | 2802 | gnt_widget_set_size(ggblist->tree, purple_prefs_get_int(PREF_ROOT "/size/width"), |
| 2803 | purple_prefs_get_int(PREF_ROOT "/size/height")); | |
| 2804 | gnt_widget_set_position(ggblist->window, purple_prefs_get_int(PREF_ROOT "/position/x"), | |
| 2805 | purple_prefs_get_int(PREF_ROOT "/position/y")); | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2806 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2807 | gnt_box_add_widget(GNT_BOX(ggblist->window), ggblist->tree); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2808 | |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2809 | ggblist->status = gnt_combo_box_new(); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2810 | gnt_box_add_widget(GNT_BOX(ggblist->window), ggblist->status); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2811 | ggblist->statustext = gnt_entry_new(NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2812 | gnt_box_add_widget(GNT_BOX(ggblist->window), ggblist->statustext); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2813 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2814 | gnt_widget_show(ggblist->window); |
|
13926
d2c1522276b3
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13923
diff
changeset
|
2815 | |
| 15884 | 2816 | purple_signal_connect(purple_connections_get_handle(), "signed-on", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2817 | G_CALLBACK(reconstruct_accounts_menu), NULL); |
| 15884 | 2818 | purple_signal_connect(purple_connections_get_handle(), "signed-off", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2819 | G_CALLBACK(reconstruct_accounts_menu), NULL); |
|
26871
d62964222795
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <darkrain42@pidgin.im>
parents:
26852
diff
changeset
|
2820 | purple_signal_connect(purple_accounts_get_handle(), "account-actions-changed", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2821 | G_CALLBACK(reconstruct_accounts_menu), NULL); |
| 15884 | 2822 | purple_signal_connect(purple_blist_get_handle(), "buddy-status-changed", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2823 | G_CALLBACK(buddy_status_changed), ggblist); |
| 15884 | 2824 | purple_signal_connect(purple_blist_get_handle(), "buddy-idle-changed", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2825 | G_CALLBACK(buddy_idle_changed), ggblist); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2826 | |
|
41008
dc06703548a1
Update everything for GPlugin 0.33.0
Gary Kramlich <grim@reaperworld.com>
parents:
40978
diff
changeset
|
2827 | plugin_manager = gplugin_manager_get_default(); |
|
40897
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2828 | g_signal_connect_object(plugin_manager, "loaded-plugin", |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2829 | G_CALLBACK(reconstruct_plugins_menu_cb), ggblist, 0); |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2830 | g_signal_connect_object(plugin_manager, "unloaded-plugin", |
|
d7f0dd7ba01e
Update finch to use GPluginManager's signals directly
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
2831 | G_CALLBACK(reconstruct_plugins_menu_cb), ggblist, 0); |
|
14945
4cd7dbf2933b
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14912
diff
changeset
|
2832 | |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2833 | purple_signal_connect(purple_blist_get_handle(), "buddy-signed-on", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2834 | G_CALLBACK(buddy_signed_on_off), ggblist); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2835 | purple_signal_connect(purple_blist_get_handle(), "buddy-signed-off", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2836 | G_CALLBACK(buddy_signed_on_off), ggblist); |
|
22110
d0bd9cd65d03
Blink the buddies that signed on/off recently for six seconds.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21855
diff
changeset
|
2837 | |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
2838 | g_signal_connect(G_OBJECT(ggblist->tree), "selection_changed", G_CALLBACK(selection_changed), ggblist); |
|
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
2839 | g_signal_connect(G_OBJECT(ggblist->tree), "key_pressed", G_CALLBACK(key_pressed), ggblist); |
|
14896
bcc0f594ed15
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14774
diff
changeset
|
2840 | g_signal_connect(G_OBJECT(ggblist->tree), "context-menu", G_CALLBACK(context_menu), ggblist); |
|
16165
24ec117bc52c
Remember the collapsed state of groups in the blist
Richard Nelson <wabz@pidgin.im>
parents:
15991
diff
changeset
|
2841 | g_signal_connect(G_OBJECT(ggblist->tree), "collapse-toggled", G_CALLBACK(group_collapsed), NULL); |
|
13922
7195a6fe2416
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13920
diff
changeset
|
2842 | g_signal_connect(G_OBJECT(ggblist->tree), "activate", G_CALLBACK(selection_activate), ggblist); |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2843 | g_signal_connect_data(G_OBJECT(ggblist->tree), "gained-focus", G_CALLBACK(draw_tooltip), |
|
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2844 | ggblist, 0, G_CONNECT_AFTER | G_CONNECT_SWAPPED); |
|
14020
d9a007b109be
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
2845 | g_signal_connect_data(G_OBJECT(ggblist->tree), "lost-focus", G_CALLBACK(remove_peripherals), |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2846 | ggblist, 0, G_CONNECT_AFTER | G_CONNECT_SWAPPED); |
|
16779
006f50afb7a6
Let windows know when the workspace they are in is being hidden/shown
Richard Nelson <wabz@pidgin.im>
parents:
16719
diff
changeset
|
2847 | g_signal_connect_data(G_OBJECT(ggblist->window), "workspace-hidden", G_CALLBACK(remove_peripherals), |
|
006f50afb7a6
Let windows know when the workspace they are in is being hidden/shown
Richard Nelson <wabz@pidgin.im>
parents:
16719
diff
changeset
|
2848 | ggblist, 0, G_CONNECT_AFTER | G_CONNECT_SWAPPED); |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
2849 | g_signal_connect(G_OBJECT(ggblist->tree), "size_changed", G_CALLBACK(size_changed_cb), NULL); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
2850 | g_signal_connect(G_OBJECT(ggblist->window), "position_set", G_CALLBACK(save_position_cb), NULL); |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
2851 | g_signal_connect(G_OBJECT(ggblist->window), "destroy", G_CALLBACK(reset_blist_window), NULL); |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
2852 | |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2853 | /* Status signals */ |
| 15884 | 2854 | purple_signal_connect(purple_savedstatuses_get_handle(), "savedstatus-changed", finch_blist_get_handle(), |
|
41314
0dc72eacd8bf
Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41312
diff
changeset
|
2855 | G_CALLBACK(savedstatus_changed), NULL); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2856 | g_signal_connect(G_OBJECT(ggblist->status), "selection_changed", |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2857 | G_CALLBACK(status_selection_changed), NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2858 | g_signal_connect(G_OBJECT(ggblist->statustext), "key_pressed", |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2859 | G_CALLBACK(status_text_changed), NULL); |
|
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2860 | |
| 14774 | 2861 | create_menu(); |
|
14678
97f57691faab
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14620
diff
changeset
|
2862 | |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14082
diff
changeset
|
2863 | populate_buddylist(); |
|
14103
bcac61d40461
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
2864 | |
| 15884 | 2865 | savedstatus_changed(purple_savedstatus_get_current(), NULL); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2866 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2867 | |
|
41840
fe350460fb1c
Remove C99-obsoleted constructs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41733
diff
changeset
|
2868 | void |
|
fe350460fb1c
Remove C99-obsoleted constructs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41733
diff
changeset
|
2869 | finch_blist_uninit(void) |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
2870 | { |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
2871 | } |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
2872 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
2873 | gboolean finch_blist_get_position(int *x, int *y) |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2874 | { |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
2875 | if (!ggblist || !ggblist->window) |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
2876 | return FALSE; |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2877 | gnt_widget_get_position(ggblist->window, x, y); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
2878 | return TRUE; |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2879 | } |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
2880 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
2881 | void finch_blist_set_position(int x, int y) |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2882 | { |
|
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2883 | gnt_widget_set_position(ggblist->window, x, y); |
|
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2884 | } |
|
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2885 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
2886 | gboolean finch_blist_get_size(int *width, int *height) |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2887 | { |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
2888 | if (!ggblist || !ggblist->window) |
|
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
2889 | return FALSE; |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2890 | gnt_widget_get_size(ggblist->window, width, height); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14280
diff
changeset
|
2891 | return TRUE; |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2892 | } |
|
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2893 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15825
diff
changeset
|
2894 | void finch_blist_set_size(int width, int height) |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2895 | { |
|
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2896 | gnt_widget_set_size(ggblist->window, width, height); |
|
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
2897 | } |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2898 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2899 | void finch_blist_install_manager(const FinchBlistManager *manager) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2900 | { |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2901 | if (!g_list_find(managers, manager)) { |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2902 | managers = g_list_append(managers, (gpointer)manager); |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2903 | reconstruct_grouping_menu(); |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
2904 | if (purple_strequal(manager->id, purple_prefs_get_string(PREF_ROOT "/grouping"))) |
|
22300
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
2905 | purple_prefs_trigger_callback(PREF_ROOT "/grouping"); |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2906 | } |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2907 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2908 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2909 | void finch_blist_uninstall_manager(const FinchBlistManager *manager) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2910 | { |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2911 | if (g_list_find(managers, manager)) { |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2912 | managers = g_list_remove(managers, manager); |
|
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2913 | reconstruct_grouping_menu(); |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
2914 | if (purple_strequal(manager->id, purple_prefs_get_string(PREF_ROOT "/grouping"))) |
|
22300
42f7d98ffeeb
Remember the selected grouping option.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22299
diff
changeset
|
2915 | purple_prefs_trigger_callback(PREF_ROOT "/grouping"); |
|
22299
e2e241477323
Reconstruct the 'Grouping' menu when a blist manager is un/installed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22288
diff
changeset
|
2916 | } |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2917 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2918 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2919 | FinchBlistManager * finch_blist_manager_find(const char *id) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2920 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2921 | GList *iter = managers; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2922 | if (!id) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2923 | return NULL; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2924 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2925 | for (; iter; iter = iter->next) { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2926 | FinchBlistManager *m = iter->data; |
|
38259
c593fc9f5438
Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31601
diff
changeset
|
2927 | if (purple_strequal(id, m->id)) |
|
22285
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2928 | return m; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2929 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2930 | return NULL; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2931 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2932 | |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2933 | GntTree * finch_blist_get_tree(void) |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2934 | { |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2935 | return ggblist ? GNT_TREE(ggblist->tree) : NULL; |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2936 | } |
|
203b8d12f1ca
Add a buddy list manager for finch. This allows plugins to show the buddylist
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22282
diff
changeset
|
2937 | |
| 35587 | 2938 | /************************************************************************** |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2939 | * GObject code |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2940 | **************************************************************************/ |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2941 | G_DEFINE_TYPE(FinchBuddyList, finch_buddy_list, PURPLE_TYPE_BUDDY_LIST) |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2942 | |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2943 | static void |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2944 | finch_buddy_list_init(FinchBuddyList *self) |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2945 | { |
|
39695
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2946 | if (!ggblist) { |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2947 | /* The first buddy list object becomes the default. */ |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2948 | ggblist = self; |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2949 | } |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2950 | |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2951 | self->manager = finch_blist_manager_find( |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2952 | purple_prefs_get_string(PREF_ROOT "/grouping")); |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2953 | if (!self->manager) { |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2954 | self->manager = &default_manager; |
|
f0f7abe70b49
Remove PurpleBuddyListClass->new_list.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39694
diff
changeset
|
2955 | } |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2956 | } |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2957 | |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2958 | static void |
|
39696
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2959 | finch_buddy_list_finalize(GObject *obj) |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2960 | { |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2961 | FinchBuddyList *ggblist = FINCH_BUDDY_LIST(obj); |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2962 | |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2963 | gnt_widget_destroy(ggblist->window); |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2964 | |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2965 | G_OBJECT_CLASS(finch_buddy_list_parent_class)->finalize(obj); |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2966 | } |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2967 | |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2968 | static void |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2969 | finch_buddy_list_class_init(FinchBuddyListClass *klass) |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2970 | { |
|
39696
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2971 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2972 | PurpleBuddyListClass *purple_blist_class; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2973 | |
|
39696
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2974 | obj_class->finalize = finch_buddy_list_finalize; |
|
2ed6dd895984
Remove PurpleBuddyListClass->destroy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39695
diff
changeset
|
2975 | |
|
39693
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2976 | purple_blist_class = PURPLE_BUDDY_LIST_CLASS(klass); |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2977 | purple_blist_class->new_node = new_node; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2978 | purple_blist_class->show = blist_show; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2979 | purple_blist_class->update = node_update; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2980 | purple_blist_class->remove = node_remove; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2981 | purple_blist_class->request_add_buddy = finch_request_add_buddy; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2982 | purple_blist_class->request_add_chat = finch_request_add_chat; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2983 | purple_blist_class->request_add_group = finch_request_add_group; |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2984 | } |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2985 | |
|
86f5c1fef140
Convert UI ops to PurpleBuddyListClass methods.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39692
diff
changeset
|
2986 | /************************************************************************** |
| 35587 | 2987 | * GBoxed code |
| 2988 | **************************************************************************/ | |
| 2989 | static FinchBlistManager * | |
| 2990 | finch_blist_manager_copy(FinchBlistManager *manager) | |
| 2991 | { | |
| 2992 | FinchBlistManager *manager_new; | |
| 2993 | ||
| 2994 | g_return_val_if_fail(manager != NULL, NULL); | |
| 2995 | ||
| 2996 | manager_new = g_new(FinchBlistManager, 1); | |
| 2997 | *manager_new = *manager; | |
| 2998 | ||
| 2999 | return manager_new; | |
| 3000 | } | |
| 3001 | ||
| 3002 | static void | |
| 3003 | finch_blist_manager_free(FinchBlistManager *manager) | |
| 3004 | { | |
| 3005 | g_return_if_fail(manager != NULL); | |
| 3006 | ||
| 3007 | g_free(manager); | |
| 3008 | } | |
| 3009 | ||
| 3010 | GType | |
| 3011 | finch_blist_manager_get_type(void) | |
| 3012 | { | |
| 3013 | static GType type = 0; | |
| 3014 | ||
| 3015 | if (type == 0) { | |
| 3016 | type = g_boxed_type_register_static("FinchBlistManager", | |
| 3017 | (GBoxedCopyFunc)finch_blist_manager_copy, | |
| 3018 | (GBoxedFreeFunc)finch_blist_manager_free); | |
| 3019 | } | |
| 3020 | ||
| 3021 | return type; | |
| 3022 | } |