Mon, 12 Sep 2016 08:55:35 -0500
gg: Protect against issues when closing while connecting
Since the GIOStream is cancelled when data is freed, any cancelled
callbacks are called after such data is freed. This patch guards against
cancelled calls by safely returning without accessing any freed data if
the connection has been cancelled (aka closed).
Futhermore, if GG tries to connect and is quickly disconnected,
ggp_tcpsocket_close() is never called. As far as I can tell, it's an
existing bug, but PurpleSockets both work differently when closing and
are closed by the connection if any leak. So the issue wasn't a major
problem. This patch lessens the issue by guarding against it, but it
should be fixed at some point.
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
1 | /* finch |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
2 | * |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15906
diff
changeset
|
3 | * 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:
14368
diff
changeset
|
4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
5 | * source distribution. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
6 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
7 | * This program is free software; you can redistribute it and/or modify |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
8 | * it under the terms of the GNU General Public License as published by |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
9 | * the Free Software Foundation; either version 2 of the License, or |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
10 | * (at your option) any later version. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
11 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
12 | * This program is distributed in the hope that it will be useful, |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
15 | * GNU General Public License for more details. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
16 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
17 | * You should have received a copy of the GNU General Public License |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
18 | * 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:
18402
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14368
diff
changeset
|
20 | */ |
|
29106
51c7b2177e42
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <darkrain42@pidgin.im>
parents:
27829
diff
changeset
|
21 | #include <internal.h> |
|
51c7b2177e42
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <darkrain42@pidgin.im>
parents:
27829
diff
changeset
|
22 | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
23 | #include <gnt.h> |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
24 | #include <gntbox.h> |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
25 | #include <gntbutton.h> |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
26 | #include <gntlabel.h> |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
27 | #include <gnttree.h> |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
28 | #include <gntutils.h> |
|
22991
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
29 | #include <gntwindow.h> |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | |
|
18273
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17846
diff
changeset
|
31 | #include "finch.h" |
|
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17846
diff
changeset
|
32 | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
33 | #include <util.h> |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
34 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
35 | #include "gntnotify.h" |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
36 | #include "debug.h" |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
37 | |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
38 | static struct |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
39 | { |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
40 | GntWidget *window; |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
41 | GntWidget *tree; |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
42 | } emaildialog; |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
43 | |
|
14050
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
44 | static void |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
45 | notify_msg_window_destroy_cb(GntWidget *window, PurpleNotifyType type) |
|
14050
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
46 | { |
| 15884 | 47 | purple_notify_close(type, window); |
|
14050
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
48 | } |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
49 | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
50 | static void * |
|
37409
9dadde8529a8
Change enum name from PurpleNotifyMsgType to PurpleNotifyMessageType
Jorge Villaseñor <salinasv@pidgin.im>
parents:
36002
diff
changeset
|
51 | finch_notify_common(PurpleNotifyType ntype, PurpleNotifyMessageType msgtype, |
|
34458
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
52 | const char *title, const char *primary, const char *secondary, |
|
34449
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33892
diff
changeset
|
53 | PurpleRequestCommonParameters *cpar) |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
54 | { |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
55 | GntWidget *window, *button; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
56 | GntTextFormatFlags pf = 0, sf = 0; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
57 | |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
58 | switch (msgtype) |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
59 | { |
| 15884 | 60 | case PURPLE_NOTIFY_MSG_ERROR: |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
61 | sf |= GNT_TEXT_FLAG_BOLD; |
|
35998
aeaebd2ba4af
Silence more already dismissed coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35990
diff
changeset
|
62 | /* fall through */ |
| 15884 | 63 | case PURPLE_NOTIFY_MSG_WARNING: |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
64 | pf |= GNT_TEXT_FLAG_UNDERLINE; |
|
35998
aeaebd2ba4af
Silence more already dismissed coverity warnings
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35990
diff
changeset
|
65 | /* fall through */ |
| 15884 | 66 | case PURPLE_NOTIFY_MSG_INFO: |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
67 | pf |= GNT_TEXT_FLAG_BOLD; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
68 | break; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
69 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
70 | |
|
22991
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
71 | window = gnt_window_box_new(FALSE, TRUE); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
72 | gnt_box_set_title(GNT_BOX(window), title); |
|
14015
e543d2109729
[gaim-migrate @ 16501]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
73 | gnt_box_set_fill(GNT_BOX(window), FALSE); |
|
e543d2109729
[gaim-migrate @ 16501]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14014
diff
changeset
|
74 | gnt_box_set_alignment(GNT_BOX(window), GNT_ALIGN_MID); |
|
17846
e8ee63f71029
Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17845
diff
changeset
|
75 | gnt_box_set_pad(GNT_BOX(window), 0); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
76 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
77 | if (primary) |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
78 | gnt_box_add_widget(GNT_BOX(window), |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
79 | gnt_label_new_with_format(primary, pf)); |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
80 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
81 | button = gnt_button_new(_("OK")); |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
82 | |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
83 | if (secondary) { |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
84 | GntWidget *msg; |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
85 | if (ntype == PURPLE_NOTIFY_FORMATTED) { |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
86 | int width = -1, height = -1; |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
87 | char *plain = (char*)secondary; |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
88 | msg = gnt_text_view_new(); |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
89 | gnt_text_view_set_flag(GNT_TEXT_VIEW(msg), GNT_TEXT_VIEW_TOP_ALIGN | GNT_TEXT_VIEW_NO_SCROLL); |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
90 | |
|
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
91 | plain = purple_markup_strip_html(secondary); |
|
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
92 | if (!gnt_util_parse_xhtml_to_textview(secondary, GNT_TEXT_VIEW(msg))) |
|
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
93 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(msg), plain, sf); |
|
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
94 | |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
95 | gnt_text_view_attach_scroll_widget(GNT_TEXT_VIEW(msg), button); |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
96 | gnt_util_get_text_bound(plain, &width, &height); |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
97 | gnt_widget_set_size(msg, width + 3, height + 1); |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
98 | if (plain != secondary) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
99 | g_free(plain); |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
100 | } else { |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
101 | msg = gnt_label_new_with_format(secondary, sf); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
102 | } |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
103 | gnt_box_add_widget(GNT_BOX(window), msg); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
104 | g_object_set_data(G_OBJECT(window), "info-widget", msg); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
105 | } |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
106 | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
107 | gnt_box_add_widget(GNT_BOX(window), button); |
|
14050
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
108 | g_signal_connect_swapped(G_OBJECT(button), "activate", |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
109 | G_CALLBACK(gnt_widget_destroy), window); |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
110 | g_signal_connect(G_OBJECT(window), "destroy", |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
111 | G_CALLBACK(notify_msg_window_destroy_cb), GINT_TO_POINTER(ntype)); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
112 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
113 | gnt_widget_show(window); |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
114 | return window; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
115 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
116 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
117 | /* handle is, in all/most occasions, a GntWidget * */ |
| 15884 | 118 | static void finch_close_notify(PurpleNotifyType type, void *handle) |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
119 | { |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
120 | GntWidget *widget = handle; |
|
14050
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
121 | |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
122 | if (!widget) |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
123 | return; |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
124 | |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
125 | while (widget->parent) |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
126 | widget = widget->parent; |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
127 | |
| 15884 | 128 | if (type == PURPLE_NOTIFY_SEARCHRESULTS) |
| 129 | purple_notify_searchresults_free(g_object_get_data(handle, "notify-results")); | |
|
14368
141224b7e90e
[gaim-migrate @ 16996]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14260
diff
changeset
|
130 | #if 1 |
|
141224b7e90e
[gaim-migrate @ 16996]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14260
diff
changeset
|
131 | /* This did not seem to be necessary */ |
|
14050
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
132 | g_signal_handlers_disconnect_by_func(G_OBJECT(widget), |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
133 | G_CALLBACK(notify_msg_window_destroy_cb), GINT_TO_POINTER(type)); |
|
800c76ca93f7
[gaim-migrate @ 16561]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14041
diff
changeset
|
134 | #endif |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
135 | gnt_widget_destroy(widget); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
136 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
137 | |
|
34458
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
138 | static void * |
|
37409
9dadde8529a8
Change enum name from PurpleNotifyMsgType to PurpleNotifyMessageType
Jorge Villaseñor <salinasv@pidgin.im>
parents:
36002
diff
changeset
|
139 | finch_notify_message(PurpleNotifyMessageType type, const char *title, |
|
34458
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
140 | const char *primary, const char *secondary, |
|
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
141 | PurpleRequestCommonParameters *cpar) |
|
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
142 | { |
|
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
143 | return finch_notify_common(PURPLE_NOTIFY_MESSAGE, type, title, primary, |
|
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
144 | secondary, cpar); |
|
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
145 | } |
|
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
146 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15252
diff
changeset
|
147 | static void *finch_notify_formatted(const char *title, const char *primary, |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
148 | const char *secondary, const char *text) |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
149 | { |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
150 | char *xhtml = NULL; |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
151 | char *t = g_strdup_printf("<span>%s%s%s</span>", |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
152 | secondary ? secondary : "", |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
153 | secondary ? "\n" : "", |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
154 | text ? text : ""); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
155 | void *ret; |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
156 | |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
157 | purple_markup_html_to_xhtml(t, &xhtml, NULL); |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
158 | ret = finch_notify_common(PURPLE_NOTIFY_FORMATTED, |
|
34458
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
159 | PURPLE_NOTIFY_MSG_INFO, title, primary, xhtml, NULL); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
160 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
161 | g_free(t); |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
162 | g_free(xhtml); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
163 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
164 | return ret; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
165 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
166 | |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
167 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
20984
diff
changeset
|
168 | reset_email_dialog(void) |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
169 | { |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
170 | emaildialog.window = NULL; |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
171 | emaildialog.tree = NULL; |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
172 | } |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
173 | |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
174 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
20984
diff
changeset
|
175 | setup_email_dialog(void) |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
176 | { |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
177 | GntWidget *box, *tree, *button; |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
178 | if (emaildialog.window) |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
179 | return; |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
180 | |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
181 | emaildialog.window = box = gnt_vbox_new(FALSE); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
182 | gnt_box_set_toplevel(GNT_BOX(box), TRUE); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
183 | gnt_box_set_title(GNT_BOX(box), _("Emails")); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
184 | gnt_box_set_fill(GNT_BOX(box), FALSE); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
185 | gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_MID); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
186 | gnt_box_set_pad(GNT_BOX(box), 0); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
187 | |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
188 | gnt_box_add_widget(GNT_BOX(box), |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
189 | gnt_label_new_with_format(_("You have mail!"), GNT_TEXT_FLAG_BOLD)); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
190 | |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
191 | emaildialog.tree = tree = gnt_tree_new_with_columns(3); |
| 17357 | 192 | gnt_tree_set_column_titles(GNT_TREE(tree), _("Account"), _("Sender"), _("Subject")); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
193 | gnt_tree_set_show_title(GNT_TREE(tree), TRUE); |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
194 | gnt_tree_set_col_width(GNT_TREE(tree), 0, 15); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
195 | gnt_tree_set_col_width(GNT_TREE(tree), 1, 25); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
196 | gnt_tree_set_col_width(GNT_TREE(tree), 2, 25); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
197 | |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
198 | gnt_box_add_widget(GNT_BOX(box), tree); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
199 | |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
200 | button = gnt_button_new(_("Close")); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
201 | gnt_box_add_widget(GNT_BOX(box), button); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
202 | |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
203 | g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gnt_widget_destroy), box); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
204 | g_signal_connect(G_OBJECT(box), "destroy", G_CALLBACK(reset_email_dialog), NULL); |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
205 | } |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
206 | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
207 | static void * |
| 15884 | 208 | finch_notify_emails(PurpleConnection *gc, size_t count, gboolean detailed, |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
209 | const char **subjects, const char **froms, const char **tos, |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
210 | const char **urls) |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
211 | { |
| 15884 | 212 | PurpleAccount *account = purple_connection_get_account(gc); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
213 | GString *message = g_string_new(NULL); |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
214 | void *ret; |
|
20984
d8539239d231
Fix the searchresult thingy nosnilmot fixed in pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20875
diff
changeset
|
215 | static int key = 0; |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
216 | |
|
27190
6018f258116c
Fix Finch not to announce "your gmail account has 0 new messages."
Paul Aurich <darkrain42@pidgin.im>
parents:
26852
diff
changeset
|
217 | if (count == 0) |
|
6018f258116c
Fix Finch not to announce "your gmail account has 0 new messages."
Paul Aurich <darkrain42@pidgin.im>
parents:
26852
diff
changeset
|
218 | return NULL; |
|
6018f258116c
Fix Finch not to announce "your gmail account has 0 new messages."
Paul Aurich <darkrain42@pidgin.im>
parents:
26852
diff
changeset
|
219 | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
220 | if (!detailed) |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
221 | { |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
222 | g_string_append_printf(message, |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
223 | ngettext("%s (%s) has %d new message.", |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
224 | "%s (%s) has %d new messages.", |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
225 | (int)count), |
| 15884 | 226 | tos ? *tos : purple_account_get_username(account), |
| 227 | purple_account_get_protocol_name(account), (int)count); | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
228 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
229 | else |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
230 | { |
|
14167
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14050
diff
changeset
|
231 | char *to; |
|
23319
987080575fde
Highlight the mail window for new mails.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22991
diff
changeset
|
232 | gboolean newwin = (emaildialog.window == NULL); |
|
14167
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14050
diff
changeset
|
233 | |
|
23319
987080575fde
Highlight the mail window for new mails.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22991
diff
changeset
|
234 | if (newwin) |
|
987080575fde
Highlight the mail window for new mails.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22991
diff
changeset
|
235 | setup_email_dialog(); |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
236 | |
| 15884 | 237 | to = g_strdup_printf("%s (%s)", tos ? *tos : purple_account_get_username(account), |
| 238 | purple_account_get_protocol_name(account)); | |
|
20984
d8539239d231
Fix the searchresult thingy nosnilmot fixed in pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20875
diff
changeset
|
239 | gnt_tree_add_row_after(GNT_TREE(emaildialog.tree), GINT_TO_POINTER(++key), |
|
14167
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14050
diff
changeset
|
240 | gnt_tree_create_row(GNT_TREE(emaildialog.tree), to, |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
241 | froms ? *froms : "[Unknown sender]", |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
242 | *subjects), |
|
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
243 | NULL, NULL); |
|
14167
ca6027c33d2c
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14050
diff
changeset
|
244 | g_free(to); |
|
23319
987080575fde
Highlight the mail window for new mails.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22991
diff
changeset
|
245 | if (newwin) |
|
987080575fde
Highlight the mail window for new mails.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22991
diff
changeset
|
246 | gnt_widget_show(emaildialog.window); |
|
987080575fde
Highlight the mail window for new mails.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22991
diff
changeset
|
247 | else |
|
987080575fde
Highlight the mail window for new mails.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22991
diff
changeset
|
248 | gnt_window_present(emaildialog.window); |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14015
diff
changeset
|
249 | return NULL; |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
250 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
251 | |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
252 | ret = finch_notify_common(PURPLE_NOTIFY_EMAIL, PURPLE_NOTIFY_MSG_INFO, |
|
34458
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
253 | _("New Mail"), _("You have mail!"), message->str, NULL); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
254 | g_string_free(message, TRUE); |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
255 | return ret; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
256 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
257 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
258 | static void * |
| 15884 | 259 | finch_notify_email(PurpleConnection *gc, const char *subject, const char *from, |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
260 | const char *to, const char *url) |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
261 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15252
diff
changeset
|
262 | return finch_notify_emails(gc, 1, subject != NULL, |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
263 | subject ? &subject : NULL, |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
264 | from ? &from : NULL, |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
265 | to ? &to : NULL, |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
266 | url ? &url : NULL); |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
267 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
268 | |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
269 | /** User information. **/ |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
270 | static GHashTable *userinfo; |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
271 | |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
272 | static char * |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
273 | userinfo_hash(PurpleAccount *account, const char *who) |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
274 | { |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
275 | char key[256]; |
|
25708
7e97dbce8223
applied changes from aa7ce93329f5ccbe74640a92b6656ae402d8eea8
Ethan Blanton <elb@pidgin.im>
parents:
24225
diff
changeset
|
276 | g_snprintf(key, sizeof(key), "%s - %s", purple_account_get_username(account), purple_normalize(account, who)); |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
277 | return g_utf8_strup(key, -1); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
278 | } |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
279 | |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
280 | static void |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
281 | remove_userinfo(GntWidget *widget, gpointer key) |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
282 | { |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
283 | g_hash_table_remove(userinfo, key); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
284 | } |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
285 | |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
286 | static char * |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
287 | purple_notify_user_info_get_xhtml(PurpleNotifyUserInfo *user_info) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
288 | { |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
289 | GList *l; |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
290 | GString *text; |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
291 | |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
292 | text = g_string_new("<span>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
293 | |
|
32193
42173d1c1317
Change PurpleNotifyUserInfo->user_info_entries from a GList to a GQueue.
Mark Doliner <markdoliner@pidgin.im>
parents:
31782
diff
changeset
|
294 | for (l = purple_notify_user_info_get_entries(user_info)->head; l != NULL; |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
295 | l = l->next) { |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
296 | PurpleNotifyUserInfoEntry *user_info_entry = l->data; |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
34458
diff
changeset
|
297 | PurpleNotifyUserInfoEntryType type = purple_notify_user_info_entry_get_entry_type(user_info_entry); |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
298 | const char *label = purple_notify_user_info_entry_get_label(user_info_entry); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
299 | const char *value = purple_notify_user_info_entry_get_value(user_info_entry); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
300 | |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
301 | /* Handle the label/value pair itself */ |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
302 | if (type == PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
303 | g_string_append(text, "<u>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
304 | if (label) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
305 | g_string_append_printf(text, "<b>%s</b>", label); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
306 | g_string_append(text, "<span>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
307 | if (label && value) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
308 | g_string_append(text, ": "); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
309 | if (value) { |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
310 | char *strip = purple_markup_strip_html(value); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
311 | g_string_append(text, strip); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
312 | g_free(strip); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
313 | } |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
314 | g_string_append(text, "</span>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
315 | if (type == PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
316 | g_string_append(text, "</u>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
317 | else if (type == PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
318 | g_string_append(text, "<HR/>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
319 | g_string_append(text, "<BR/>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
320 | } |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
321 | g_string_append(text, "</span>"); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
322 | |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
323 | return g_string_free(text, FALSE); |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
324 | } |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
325 | |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
326 | static void * |
| 15884 | 327 | finch_notify_userinfo(PurpleConnection *gc, const char *who, PurpleNotifyUserInfo *user_info) |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
328 | { |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
329 | char *primary; |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
14620
diff
changeset
|
330 | char *info; |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
331 | void *ui_handle; |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
332 | char *key = userinfo_hash(purple_connection_get_account(gc), who); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
333 | |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
334 | info = purple_notify_user_info_get_xhtml(user_info); |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
335 | |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
336 | ui_handle = g_hash_table_lookup(userinfo, key); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
337 | if (ui_handle != NULL) { |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
338 | GntTextView *msg = GNT_TEXT_VIEW(g_object_get_data(G_OBJECT(ui_handle), "info-widget")); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
339 | char *strip = purple_markup_strip_html(info); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
340 | int tvw, tvh, width, height, ntvw, ntvh; |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
341 | |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17357
diff
changeset
|
342 | while (GNT_WIDGET(ui_handle)->parent) |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17357
diff
changeset
|
343 | ui_handle = GNT_WIDGET(ui_handle)->parent; |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
344 | gnt_widget_get_size(GNT_WIDGET(ui_handle), &width, &height); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
345 | gnt_widget_get_size(GNT_WIDGET(msg), &tvw, &tvh); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
346 | |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
347 | gnt_text_view_clear(msg); |
|
24225
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
348 | if (!gnt_util_parse_xhtml_to_textview(info, msg)) |
|
7b54e1675a58
Try to preserve HTML attributes in notification dialogs
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23319
diff
changeset
|
349 | gnt_text_view_append_text_with_flags(msg, strip, GNT_TEXT_FLAG_NORMAL); |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
350 | gnt_text_view_scroll(msg, 0); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
351 | gnt_util_get_text_bound(strip, &ntvw, &ntvh); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
352 | ntvw += 3; |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
353 | ntvh++; |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
354 | |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17357
diff
changeset
|
355 | gnt_screen_resize_widget(GNT_WIDGET(ui_handle), width + MAX(0, ntvw - tvw), height + MAX(0, ntvh - tvh)); |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
356 | g_free(strip); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
357 | g_free(key); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
358 | } else { |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
359 | primary = g_strdup_printf(_("Info for %s"), who); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
360 | ui_handle = finch_notify_formatted(_("Buddy Information"), primary, NULL, info); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
361 | g_hash_table_insert(userinfo, key, ui_handle); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
362 | g_free(primary); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
363 | g_signal_connect(G_OBJECT(ui_handle), "destroy", G_CALLBACK(remove_userinfo), key); |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
364 | } |
|
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
365 | |
|
15207
31d9665a2a7d
[gaim-migrate @ 17931]
Evan Schoenberg <evands@pidgin.im>
parents:
14620
diff
changeset
|
366 | g_free(info); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
367 | return ui_handle; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
368 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
369 | |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
370 | static void |
| 15884 | 371 | notify_button_activated(GntWidget *widget, PurpleNotifySearchButton *b) |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
372 | { |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
373 | GList *list = NULL; |
| 15884 | 374 | PurpleAccount *account = g_object_get_data(G_OBJECT(widget), "notify-account"); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
375 | gpointer data = g_object_get_data(G_OBJECT(widget), "notify-data"); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
376 | |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
377 | list = gnt_tree_get_selection_text_list(GNT_TREE(g_object_get_data(G_OBJECT(widget), "notify-tree"))); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
378 | |
| 15884 | 379 | b->callback(purple_account_get_connection(account), list, data); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
380 | g_list_foreach(list, (GFunc)g_free, NULL); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
381 | g_list_free(list); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
382 | } |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
383 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
384 | static void |
| 15884 | 385 | finch_notify_sr_new_rows(PurpleConnection *gc, |
| 386 | PurpleNotifySearchResults *results, void *data) | |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
387 | { |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
388 | GntTree *tree = GNT_TREE(data); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
389 | GList *o; |
|
32764
308f04fac4e4
Fix insertion order of search results in Finch.
Howard Chu <hyc@symas.com>
parents:
32754
diff
changeset
|
390 | GntTreeRow *prev = NULL; |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
391 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
392 | /* XXX: Do I need to empty the tree here? */ |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
393 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
394 | for (o = results->rows; o; o = o->next) |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
395 | { |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
396 | gnt_tree_add_row_after(GNT_TREE(tree), o->data, |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
397 | gnt_tree_create_row_from_list(GNT_TREE(tree), o->data), |
|
32764
308f04fac4e4
Fix insertion order of search results in Finch.
Howard Chu <hyc@symas.com>
parents:
32754
diff
changeset
|
398 | NULL, prev); |
|
308f04fac4e4
Fix insertion order of search results in Finch.
Howard Chu <hyc@symas.com>
parents:
32754
diff
changeset
|
399 | prev = o->data; |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
400 | } |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
401 | } |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
402 | |
|
32754
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
403 | static void |
|
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
404 | notify_sr_destroy_cb(GntWidget *window, void *data) |
|
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
405 | { |
|
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
406 | purple_notify_close(PURPLE_NOTIFY_SEARCHRESULTS, window); |
|
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
407 | } |
|
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
408 | |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
409 | static void * |
| 15884 | 410 | finch_notify_searchresults(PurpleConnection *gc, const char *title, |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
411 | const char *primary, const char *secondary, |
| 15884 | 412 | PurpleNotifySearchResults *results, gpointer data) |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
413 | { |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
414 | GntWidget *window, *tree, *box, *button; |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
415 | GList *iter; |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
416 | int columns, i; |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
417 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
418 | window = gnt_vbox_new(FALSE); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
419 | gnt_box_set_toplevel(GNT_BOX(window), TRUE); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
420 | gnt_box_set_title(GNT_BOX(window), title); |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
421 | gnt_box_set_fill(GNT_BOX(window), TRUE); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
422 | gnt_box_set_pad(GNT_BOX(window), 0); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
423 | gnt_box_set_alignment(GNT_BOX(window), GNT_ALIGN_MID); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
424 | |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
425 | if (primary) |
|
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
426 | gnt_box_add_widget(GNT_BOX(window), |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
427 | gnt_label_new_with_format(primary, GNT_TEXT_FLAG_BOLD)); |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
428 | if (secondary) |
|
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
429 | gnt_box_add_widget(GNT_BOX(window), |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
430 | gnt_label_new_with_format(secondary, GNT_TEXT_FLAG_NORMAL)); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
431 | |
|
20355
dacdf6087e16
Access search results directly instead of going through the API because
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
432 | columns = g_list_length(results->columns); |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
433 | tree = gnt_tree_new_with_columns(columns); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
434 | gnt_tree_set_show_title(GNT_TREE(tree), TRUE); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
435 | gnt_box_add_widget(GNT_BOX(window), tree); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
436 | |
|
20355
dacdf6087e16
Access search results directly instead of going through the API because
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
437 | i = 0; |
|
dacdf6087e16
Access search results directly instead of going through the API because
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
438 | for (iter = results->columns; iter; iter = iter->next) |
|
dacdf6087e16
Access search results directly instead of going through the API because
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
439 | { |
|
20984
d8539239d231
Fix the searchresult thingy nosnilmot fixed in pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20875
diff
changeset
|
440 | PurpleNotifySearchColumn *column = iter->data; |
|
32691
d6eb58903f8b
Hide struct PurpleNotifySearchColumn.
Andrew Victor <andrew.victor@mxit.com>
parents:
32193
diff
changeset
|
441 | gnt_tree_set_column_title(GNT_TREE(tree), i, purple_notify_searchresult_column_get_title(column)); |
| 31696 | 442 | |
| 443 | if (!purple_notify_searchresult_column_is_visible(column)) | |
| 444 | gnt_tree_set_column_visible(GNT_TREE(tree), i, FALSE); | |
|
20355
dacdf6087e16
Access search results directly instead of going through the API because
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
445 | i++; |
|
dacdf6087e16
Access search results directly instead of going through the API because
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
446 | } |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
447 | |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
448 | box = gnt_hbox_new(TRUE); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
449 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
450 | for (iter = results->buttons; iter; iter = iter->next) |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
451 | { |
| 15884 | 452 | PurpleNotifySearchButton *b = iter->data; |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
453 | const char *text; |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
454 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
455 | switch (b->type) |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
456 | { |
| 15884 | 457 | case PURPLE_NOTIFY_BUTTON_LABELED: |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
458 | text = b->label; |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
459 | break; |
| 15884 | 460 | case PURPLE_NOTIFY_BUTTON_CONTINUE: |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
461 | text = _("Continue"); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
462 | break; |
| 15884 | 463 | case PURPLE_NOTIFY_BUTTON_ADD: |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
464 | text = _("Add"); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
465 | break; |
| 15884 | 466 | case PURPLE_NOTIFY_BUTTON_INFO: |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
467 | text = _("Info"); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
468 | break; |
| 15884 | 469 | case PURPLE_NOTIFY_BUTTON_IM: |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
470 | text = _("IM"); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
471 | break; |
| 15884 | 472 | case PURPLE_NOTIFY_BUTTON_JOIN: |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
473 | text = _("Join"); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
474 | break; |
| 15884 | 475 | case PURPLE_NOTIFY_BUTTON_INVITE: |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
476 | text = _("Invite"); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
477 | break; |
|
14260
a21577fbb4d2
[gaim-migrate @ 16870]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
478 | default: |
|
a21577fbb4d2
[gaim-migrate @ 16870]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14167
diff
changeset
|
479 | text = _("(none)"); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
480 | } |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
481 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
482 | button = gnt_button_new(text); |
| 15884 | 483 | g_object_set_data(G_OBJECT(button), "notify-account", purple_connection_get_account(gc)); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
484 | g_object_set_data(G_OBJECT(button), "notify-data", data); |
|
18402
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
485 | g_object_set_data(G_OBJECT(button), "notify-tree", tree); |
|
f84b9b94e0ac
Update search-api to not crash. Searching for users in xmpp/oscar works now.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
486 | g_signal_connect(G_OBJECT(button), "activate", |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
487 | G_CALLBACK(notify_button_activated), b); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
488 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
489 | gnt_box_add_widget(GNT_BOX(box), button); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
490 | } |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
491 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
492 | gnt_box_add_widget(GNT_BOX(window), box); |
|
32754
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
493 | g_signal_connect(G_OBJECT(tree), "destroy", |
|
c5ade9b736d5
Ensure that the user's close callback is invoked when search
Howard Chu <hyc@symas.com>
parents:
32691
diff
changeset
|
494 | G_CALLBACK(notify_sr_destroy_cb), NULL); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
495 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15252
diff
changeset
|
496 | finch_notify_sr_new_rows(gc, results, tree); |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
497 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
498 | gnt_widget_show(window); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
499 | g_object_set_data(G_OBJECT(window), "notify-results", results); |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
500 | |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
501 | return tree; |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
502 | } |
|
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
503 | |
|
22991
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
504 | static void * |
|
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
505 | finch_notify_uri(const char *url) |
|
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
506 | { |
|
35979
ca8204d663bf
Backport warning fixes for Finch from default
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
31741
diff
changeset
|
507 | return finch_notify_common(PURPLE_NOTIFY_URI, PURPLE_NOTIFY_MSG_INFO, |
|
34458
5c9d451155c5
Clang warnings: clean up finch
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
508 | _("URI"), url, NULL, NULL); |
|
22991
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
509 | } |
|
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
510 | |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
29106
diff
changeset
|
511 | static PurpleNotifyUiOps ops = |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
512 | { |
|
17164
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
513 | finch_notify_message, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
514 | finch_notify_email, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
515 | finch_notify_emails, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
516 | finch_notify_formatted, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
517 | finch_notify_searchresults, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
518 | finch_notify_sr_new_rows, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
519 | finch_notify_userinfo, |
|
22991
a5a6aafb28b4
Show the url, instead of silently ignoring a url-open request.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
520 | finch_notify_uri, |
|
17164
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
521 | finch_close_notify, /* The rest of the notify-uiops return a GntWidget. |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
522 | These widgets should be destroyed from here. */ |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
523 | NULL, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
524 | NULL, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
525 | NULL, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16981
diff
changeset
|
526 | NULL |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
527 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
528 | }; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
529 | |
| 15884 | 530 | PurpleNotifyUiOps *finch_notify_get_ui_ops() |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
531 | { |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
532 | return &ops; |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
533 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
534 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15252
diff
changeset
|
535 | void finch_notify_init() |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
536 | { |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
537 | userinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
538 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
539 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15252
diff
changeset
|
540 | void finch_notify_uninit() |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
541 | { |
|
16981
f4fd66d0bc51
When getting information, show "Information: Retrieving..." before the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16255
diff
changeset
|
542 | g_hash_table_destroy(userinfo); |
|
14014
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
543 | } |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
544 | |
|
223d99ce2f06
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
545 |