pidgin/gtkpounce.c

Thu, 08 Jan 2009 04:37:42 +0000

author
Etan Reisner <deryni@pidgin.im>
date
Thu, 08 Jan 2009 04:37:42 +0000
changeset 25390
02100938b030
parent 24594
b2da1decae23
child 25869
7dbd62851df1
permissions
-rw-r--r--

Make dialogs that double as add and save dialogs indicate the current action
in the text of the confirm button as well as in the window title. This applies
to the "Add/Modify Account" dialog and the "New/Edit Buddy Pounce" dialog.

Also use the "Modify..." button in the "Custom Smiley Manager" dialog instead
of an "Edit" button. The other dialogs all use Modify.

This should all be translation neutral as all the new strings should have
already existed as these are stock buttons.

5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
2 * @file gtkpounce.c GTK+ Buddy Pounce API
16254
eeb2bba4dc94 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents: 16123
diff changeset
3 * @ingroup pidgin
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6 /* pidgin
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
8 * Pidgin is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7994
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7994
diff changeset
10 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
11 *
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * (at your option) any later version.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * GNU General Public License for more details.
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * 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: 19786
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 *
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 */
9791
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 9709
diff changeset
27 #include "internal.h"
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15570
diff changeset
28 #include "pidgin.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
29
8235
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8157
diff changeset
30 #include "account.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
31 #include "conversation.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
32 #include "debug.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
33 #include "notify.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
34 #include "prpl.h"
9505
6120a3cb8af7 [gaim-migrate @ 10332]
Mark Doliner <markdoliner@pidgin.im>
parents: 9206
diff changeset
35 #include "request.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
36 #include "server.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
37 #include "sound.h"
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents: 9699
diff changeset
38 #include "util.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
39
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
40 #include "gtkblist.h"
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents: 9699
diff changeset
41 #include "gtkdialogs.h"
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
42 #include "gtkimhtml.h"
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 #include "gtkpounce.h"
15883
969b74a3e27a According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
44 #include "pidginstock.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
45 #include "gtkutils.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
46
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
47 /**
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
48 * These are used for the GtkTreeView when you're scrolling through
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
49 * all your saved pounces.
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
50 */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
51 enum
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
52 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
53 /* Hidden column containing the PurplePounce */
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
54 POUNCES_MANAGER_COLUMN_POUNCE,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
55 POUNCES_MANAGER_COLUMN_ICON,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
56 POUNCES_MANAGER_COLUMN_TARGET,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
57 POUNCES_MANAGER_COLUMN_ACCOUNT,
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
58 POUNCES_MANAGER_COLUMN_RECURRING,
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
59 POUNCES_MANAGER_NUM_COLUMNS
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
60 };
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
61
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
62 typedef struct
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 {
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 /* Pounce data */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
65 PurplePounce *pounce;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
66 PurpleAccount *account;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 /* The window */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 GtkWidget *window;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
71 /* Pounce on Whom */
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 GtkWidget *account_menu;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 GtkWidget *buddy_entry;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
75 /* Pounce options */
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
76 GtkWidget *on_away;
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
77
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
78 /* Pounce When Buddy... */
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 GtkWidget *signon;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 GtkWidget *signoff;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 GtkWidget *away;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 GtkWidget *away_return;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 GtkWidget *idle;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 GtkWidget *idle_return;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 GtkWidget *typing;
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
86 GtkWidget *typed;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 GtkWidget *stop_typing;
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
88 GtkWidget *message_recv;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
90 /* Action */
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 GtkWidget *open_win;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92 GtkWidget *popup;
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
93 GtkWidget *popup_entry;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 GtkWidget *send_msg;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 GtkWidget *send_msg_entry;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 GtkWidget *exec_cmd;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97 GtkWidget *exec_cmd_entry;
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
98 GtkWidget *exec_cmd_browse;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
99 GtkWidget *play_sound;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
100 GtkWidget *play_sound_entry;
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
101 GtkWidget *play_sound_browse;
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
102 GtkWidget *play_sound_test;
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
103 GtkWidget *play_sound_reset;
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
104
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105 GtkWidget *save_pounce;
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
106
5876
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
107 /* Buttons */
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
108 GtkWidget *save_button;
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
109
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
110 } PidginPounceDialog;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
112 typedef struct
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
113 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
114 GtkWidget *window;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
115 GtkListStore *model;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
116 GtkWidget *treeview;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
117 GtkWidget *modify_button;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
118 GtkWidget *delete_button;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
119 } PouncesManager;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
120
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
121 static PouncesManager *pounces_manager = NULL;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
122
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
123 /**************************************************************************
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 * Callbacks
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 **************************************************************************/
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 static gint
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
127 delete_win_cb(GtkWidget *w, GdkEventAny *e, PidginPounceDialog *dialog)
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
128 {
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129 gtk_widget_destroy(dialog->window);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130 g_free(dialog);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132 return TRUE;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
133 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
134
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
135 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
136 cancel_cb(GtkWidget *w, PidginPounceDialog *dialog)
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
137 {
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
138 delete_win_cb(NULL, NULL, dialog);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
139 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
141 static void
9505
6120a3cb8af7 [gaim-migrate @ 10332]
Mark Doliner <markdoliner@pidgin.im>
parents: 9206
diff changeset
142 pounce_update_entry_fields(void *user_data, const char *filename)
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
143 {
9505
6120a3cb8af7 [gaim-migrate @ 10332]
Mark Doliner <markdoliner@pidgin.im>
parents: 9206
diff changeset
144 GtkWidget *entry = (GtkWidget *)user_data;
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
145
9505
6120a3cb8af7 [gaim-migrate @ 10332]
Mark Doliner <markdoliner@pidgin.im>
parents: 9206
diff changeset
146 gtk_entry_set_text(GTK_ENTRY(entry), filename);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
147 }
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
148
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
149 static void
9505
6120a3cb8af7 [gaim-migrate @ 10332]
Mark Doliner <markdoliner@pidgin.im>
parents: 9206
diff changeset
150 filesel(GtkWidget *widget, gpointer data)
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
151 {
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
152 GtkWidget *entry;
9505
6120a3cb8af7 [gaim-migrate @ 10332]
Mark Doliner <markdoliner@pidgin.im>
parents: 9206
diff changeset
153 const gchar *name;
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
154
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
155 entry = (GtkWidget *)data;
9505
6120a3cb8af7 [gaim-migrate @ 10332]
Mark Doliner <markdoliner@pidgin.im>
parents: 9206
diff changeset
156 name = gtk_entry_get_text(GTK_ENTRY(entry));
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
157
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
158 purple_request_file(entry, _("Select a file"), name, FALSE,
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: 16254
diff changeset
159 G_CALLBACK(pounce_update_entry_fields), NULL,
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: 16254
diff changeset
160 NULL, NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
161 entry);
15319
f8f83efdc3a6 [gaim-migrate @ 18047]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15315
diff changeset
162 g_signal_connect_swapped(G_OBJECT(entry), "destroy",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
163 G_CALLBACK(purple_request_close_with_handle), entry);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
164 }
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
165
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
166 static void
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
167 pounce_test_sound(GtkWidget *w, GtkWidget *entry)
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
168 {
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
169 const char *filename;
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
170 gboolean temp_mute;
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
171
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
172 temp_mute = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute");
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
173
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
174 if (temp_mute) purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", FALSE);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
175
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
176 filename = gtk_entry_get_text(GTK_ENTRY(entry));
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
177
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
178 if (filename != NULL && *filename != '\0' && strcmp(filename, _("(default)")))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
179 purple_sound_play_file(filename, NULL);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
180 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
181 purple_sound_play_event(PURPLE_SOUND_POUNCE_DEFAULT, NULL);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
182
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
183 if (temp_mute) purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", TRUE);
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
184 }
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
185
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
186 static void
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
187 pounce_reset_sound(GtkWidget *w, GtkWidget *entry)
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
188 {
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
189 gtk_entry_set_text(GTK_ENTRY(entry), _("(default)"));
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
190 }
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
191
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
192 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
193 add_pounce_to_treeview(GtkListStore *model, PurplePounce *pounce)
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
194 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
195 GtkTreeIter iter;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
196 PurpleAccount *account;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
197 PurplePounceEvent events;
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
198 gboolean recurring;
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
199 const char *pouncer;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
200 const char *pouncee;
13091
b5ed878998dd [gaim-migrate @ 15452]
Mark Doliner <markdoliner@pidgin.im>
parents: 13033
diff changeset
201 GdkPixbuf *pixbuf;
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
202
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
203 account = purple_pounce_get_pouncer(pounce);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
204
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
205 events = purple_pounce_get_events(pounce);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
206
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
207 pixbuf = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
208
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
209 pouncer = purple_account_get_username(account);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
210 pouncee = purple_pounce_get_pouncee(pounce);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
211 recurring = purple_pounce_get_save(pounce);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
212
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
213 gtk_list_store_append(model, &iter);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
214 gtk_list_store_set(model, &iter,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
215 POUNCES_MANAGER_COLUMN_POUNCE, pounce,
13091
b5ed878998dd [gaim-migrate @ 15452]
Mark Doliner <markdoliner@pidgin.im>
parents: 13033
diff changeset
216 POUNCES_MANAGER_COLUMN_ICON, pixbuf,
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
217 POUNCES_MANAGER_COLUMN_TARGET, pouncee,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
218 POUNCES_MANAGER_COLUMN_ACCOUNT, pouncer,
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
219 POUNCES_MANAGER_COLUMN_RECURRING, recurring,
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
220 -1);
13091
b5ed878998dd [gaim-migrate @ 15452]
Mark Doliner <markdoliner@pidgin.im>
parents: 13033
diff changeset
221
b5ed878998dd [gaim-migrate @ 15452]
Mark Doliner <markdoliner@pidgin.im>
parents: 13033
diff changeset
222 if (pixbuf != NULL)
b5ed878998dd [gaim-migrate @ 15452]
Mark Doliner <markdoliner@pidgin.im>
parents: 13033
diff changeset
223 g_object_unref(pixbuf);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
224 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
225
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
226 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
227 populate_pounces_list(PouncesManager *dialog)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
228 {
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 18186
diff changeset
229 GList *pounces;
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
230
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
231 gtk_list_store_clear(dialog->model);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
232
18209
5f63822878eb Fix #1574. (Pidgin and Finch show each other's pounces, interact in
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18193
diff changeset
233 for (pounces = purple_pounces_get_all_for_ui(PIDGIN_UI); pounces != NULL;
5f63822878eb Fix #1574. (Pidgin and Finch show each other's pounces, interact in
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18193
diff changeset
234 pounces = g_list_delete_link(pounces, pounces))
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
235 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
236 add_pounce_to_treeview(dialog->model, pounces->data);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
237 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
238 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
239
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
240 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
241 update_pounces(void)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
242 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
243 /* Rebuild the pounces list if the pounces manager is open */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
244 if (pounces_manager != NULL)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
245 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
246 populate_pounces_list(pounces_manager);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
247 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
248 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
249
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
250 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
251 signed_on_off_cb(PurpleConnection *gc, gpointer user_data)
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
252 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
253 update_pounces();
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
254 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
255
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
256 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
257 save_pounce_cb(GtkWidget *w, PidginPounceDialog *dialog)
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
258 {
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
259 const char *name;
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
260 const char *command, *sound, *reason;
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
261 char *message;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
262 PurplePounceEvent events = PURPLE_POUNCE_NONE;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
263 PurplePounceOption options = PURPLE_POUNCE_OPTION_NONE;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
264
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
265 name = gtk_entry_get_text(GTK_ENTRY(dialog->buddy_entry));
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
266
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
267 if (*name == '\0')
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
268 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
269 purple_notify_error(NULL, NULL,
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5319
diff changeset
270 _("Please enter a buddy to pounce."), NULL);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 return;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
274 /* Options */
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
275 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->on_away)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
276 options |= PURPLE_POUNCE_OPTION_AWAY;
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
277
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 /* Events */
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
279 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->signon)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
280 events |= PURPLE_POUNCE_SIGNON;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
282 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->signoff)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
283 events |= PURPLE_POUNCE_SIGNOFF;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
284
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
285 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->away)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
286 events |= PURPLE_POUNCE_AWAY;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
288 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->away_return)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
289 events |= PURPLE_POUNCE_AWAY_RETURN;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
290
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
291 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->idle)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
292 events |= PURPLE_POUNCE_IDLE;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
293
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
294 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->idle_return)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
295 events |= PURPLE_POUNCE_IDLE_RETURN;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
296
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
297 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->typing)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
298 events |= PURPLE_POUNCE_TYPING;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
299
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
300 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->typed)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
301 events |= PURPLE_POUNCE_TYPED;
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
302
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
303 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->stop_typing)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
304 events |= PURPLE_POUNCE_TYPING_STOPPED;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
305
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
306 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->message_recv)))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
307 events |= PURPLE_POUNCE_MESSAGE_RECEIVED;
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
308
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
309 /* Data fields */
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
310 message = gtk_imhtml_get_markup(GTK_IMHTML(dialog->send_msg_entry));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
311 command = gtk_entry_get_text(GTK_ENTRY(dialog->exec_cmd_entry));
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
312 sound = gtk_entry_get_text(GTK_ENTRY(dialog->play_sound_entry));
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
313 reason = gtk_entry_get_text(GTK_ENTRY(dialog->popup_entry));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
314
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
315 if (*reason == '\0') reason = NULL;
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
316 if (*message == '\0') {
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
317 g_free(message);
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
318 message = NULL;
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
319 }
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
320 if (*command == '\0') command = NULL;
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
321 if (*sound == '\0' || !strcmp(sound, _("(default)"))) sound = NULL;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
322
20168
5d2fb40e4cdf If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
Daniel Atallah <datallah@pidgin.im>
parents: 20147
diff changeset
323 /* If the pounce has already been triggered, let's pretend it is a new one */
5d2fb40e4cdf If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
Daniel Atallah <datallah@pidgin.im>
parents: 20147
diff changeset
324 if (dialog->pounce != NULL
5d2fb40e4cdf If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
Daniel Atallah <datallah@pidgin.im>
parents: 20147
diff changeset
325 && g_list_find(purple_pounces_get_all(), dialog->pounce) == NULL) {
5d2fb40e4cdf If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
Daniel Atallah <datallah@pidgin.im>
parents: 20147
diff changeset
326 purple_debug_info("gtkpounce", "Saving pounce that no longer exists; creating new pounce.\n");
5d2fb40e4cdf If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
Daniel Atallah <datallah@pidgin.im>
parents: 20147
diff changeset
327 dialog->pounce = NULL;
5d2fb40e4cdf If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
Daniel Atallah <datallah@pidgin.im>
parents: 20147
diff changeset
328 }
5d2fb40e4cdf If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
Daniel Atallah <datallah@pidgin.im>
parents: 20147
diff changeset
329
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
330 if (dialog->pounce == NULL)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
331 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
332 dialog->pounce = purple_pounce_new(PIDGIN_UI, dialog->account,
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
333 name, events, options);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
334 }
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
335 else {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
336 purple_pounce_set_events(dialog->pounce, events);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
337 purple_pounce_set_options(dialog->pounce, options);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
338 purple_pounce_set_pouncer(dialog->pounce, dialog->account);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
339 purple_pounce_set_pouncee(dialog->pounce, name);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
341
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
342 /* Actions */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
343 purple_pounce_action_set_enabled(dialog->pounce, "open-window",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
344 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->open_win)));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
345 purple_pounce_action_set_enabled(dialog->pounce, "popup-notify",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
346 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->popup)));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
347 purple_pounce_action_set_enabled(dialog->pounce, "send-message",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
348 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->send_msg)));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
349 purple_pounce_action_set_enabled(dialog->pounce, "execute-command",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
350 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd)));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
351 purple_pounce_action_set_enabled(dialog->pounce, "play-sound",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
352 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->play_sound)));
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
353
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
354 purple_pounce_action_set_attribute(dialog->pounce, "send-message",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
355 "message", message);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
356 purple_pounce_action_set_attribute(dialog->pounce, "execute-command",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
357 "command", command);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
358 purple_pounce_action_set_attribute(dialog->pounce, "play-sound",
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
359 "filename", sound);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
360 purple_pounce_action_set_attribute(dialog->pounce, "popup-notify",
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
361 "reason", reason);
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
362
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
363 /* Set the defaults for next time. */
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
364 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/open-window",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
365 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->open_win)));
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
366 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/popup-notify",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
367 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->popup)));
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
368 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/send-message",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
369 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->send_msg)));
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
370 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/execute-command",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
371 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd)));
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
372 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/play-sound",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
373 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->play_sound)));
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
374
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
375 purple_pounce_set_save(dialog->pounce,
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
376 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->save_pounce)));
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
377
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
378 update_pounces();
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
379 g_free(message);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
380
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
381 delete_win_cb(NULL, NULL, dialog);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
383
5054
803b9e19f4ea [gaim-migrate @ 5404]
Nathan Walp <nwalp@pidgin.im>
parents: 5052
diff changeset
384 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
385 pounce_choose_cb(GtkWidget *item, PurpleAccount *account,
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
386 PidginPounceDialog *dialog)
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
387 {
5877
37695b88b248 [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
388 dialog->account = account;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
389 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
390
5876
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
391 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
392 buddy_changed_cb(GtkEntry *entry, PidginPounceDialog *dialog)
5876
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
393 {
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
394 if (dialog->save_button == NULL)
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
395 return;
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
396
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
397 gtk_widget_set_sensitive(dialog->save_button,
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
398 *gtk_entry_get_text(entry) != '\0');
5876
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
399 }
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
400
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
401 static void
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
402 message_recv_toggle(GtkButton *message_recv, GtkWidget *send_msg)
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
403 {
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
404 gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(message_recv));
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
405
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
406 gtk_widget_set_sensitive(send_msg, !active);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
407 if (active)
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
408 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(send_msg), FALSE);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
409 }
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
410
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
411 static void
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
412 pounce_dnd_recv(GtkWidget *widget, GdkDragContext *dc, gint x, gint y,
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
413 GtkSelectionData *sd, guint info, guint t, gpointer data)
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
414 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
415 PidginPounceDialog *dialog;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
416
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
417 if (sd->target == gdk_atom_intern("PURPLE_BLIST_NODE", FALSE))
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
418 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
419 PurpleBlistNode *node = NULL;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
420 PurpleBuddy *buddy;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
421
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
422 memcpy(&node, sd->data, sizeof(node));
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
423
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
424 if (PURPLE_BLIST_NODE_IS_CONTACT(node))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
425 buddy = purple_contact_get_priority_buddy((PurpleContact *)node);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
426 else if (PURPLE_BLIST_NODE_IS_BUDDY(node))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
427 buddy = (PurpleBuddy *)node;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
428 else
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
429 return;
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
430
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
431 dialog = (PidginPounceDialog *)data;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
432
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
433 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), buddy->name);
9910
7b4465b92411 [gaim-migrate @ 10802]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
434 dialog->account = buddy->account;
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
435 pidgin_account_option_menu_set_selected(dialog->account_menu, buddy->account);
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
436
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
437 gtk_drag_finish(dc, TRUE, (dc->action == GDK_ACTION_MOVE), t);
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
438 }
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
439 else if (sd->target == gdk_atom_intern("application/x-im-contact", FALSE))
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
440 {
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
441 char *protocol = NULL;
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
442 char *username = NULL;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
443 PurpleAccount *account;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
444
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
445 if (pidgin_parse_x_im_contact((const char *)sd->data, FALSE, &account,
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
446 &protocol, &username, NULL))
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
447 {
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
448 if (account == NULL)
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
449 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
450 purple_notify_error(NULL, NULL,
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
451 _("You are not currently signed on with an account that "
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
452 "can add that buddy."), NULL);
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
453 }
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
454 else
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
455 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
456 dialog = (PidginPounceDialog *)data;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
457
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
458 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), username);
9910
7b4465b92411 [gaim-migrate @ 10802]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9791
diff changeset
459 dialog->account = account;
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
460 pidgin_account_option_menu_set_selected(dialog->account_menu, account);
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
461 }
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
462 }
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
463
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13844
diff changeset
464 g_free(username);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13844
diff changeset
465 g_free(protocol);
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
466
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
467 gtk_drag_finish(dc, TRUE, (dc->action == GDK_ACTION_MOVE), t);
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
468 }
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
469 }
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
470
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
471 static const GtkTargetEntry dnd_targets[] =
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
472 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
473 {"PURPLE_BLIST_NODE", GTK_TARGET_SAME_APP, 0},
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
474 {"application/x-im-contact", 0, 1}
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
475 };
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
476
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
477 static void
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
478 reset_send_msg_entry(PidginPounceDialog *dialog, GtkWidget *dontcare)
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
479 {
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
480 PurpleAccount *account = pidgin_account_option_menu_get_selected(dialog->account_menu);
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
481 gtk_imhtml_setup_entry(GTK_IMHTML(dialog->send_msg_entry),
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
482 (account && account->gc) ? account->gc->flags : PURPLE_CONNECTION_HTML);
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
483 }
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
484
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
485 void
20706
2b2ff7b44fb2 Doing pounces
Gabriel Schulhof <nix@go-nix.ca>
parents: 20685
diff changeset
486 pidgin_pounce_editor_show(PurpleAccount *account, const char *name,
25390
02100938b030 Make dialogs that double as add and save dialogs indicate the current action
Etan Reisner <deryni@pidgin.im>
parents: 24594
diff changeset
487 PurplePounce *cur_pounce)
20706
2b2ff7b44fb2 Doing pounces
Gabriel Schulhof <nix@go-nix.ca>
parents: 20685
diff changeset
488 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
489 PidginPounceDialog *dialog;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
490 GtkWidget *window;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
491 GtkWidget *label;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
492 GtkWidget *vbox1, *vbox2;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
493 GtkWidget *hbox;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
494 GtkWidget *button;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
495 GtkWidget *frame;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
496 GtkWidget *table;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
497 GtkSizeGroup *sg;
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
498 GPtrArray *sound_widgets;
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
499 GPtrArray *exec_widgets;
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
500 GtkWidget *send_msg_imhtml;
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
501
15058
212b71a4faf6 [gaim-migrate @ 17775]
Richard Laager <rlaager@pidgin.im>
parents: 14253
diff changeset
502 g_return_if_fail((cur_pounce != NULL) ||
212b71a4faf6 [gaim-migrate @ 17775]
Richard Laager <rlaager@pidgin.im>
parents: 14253
diff changeset
503 (account != NULL) ||
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
504 (purple_accounts_get_all() != NULL));
10352
802e7ab5b838 [gaim-migrate @ 11569]
Mark Doliner <markdoliner@pidgin.im>
parents: 10250
diff changeset
505
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
506 dialog = g_new0(PidginPounceDialog, 1);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
507
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
508 if (cur_pounce != NULL)
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
509 {
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
510 dialog->pounce = cur_pounce;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
511 dialog->account = purple_pounce_get_pouncer(cur_pounce);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
512 }
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
513 else if (account != NULL)
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
514 {
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
515 dialog->pounce = NULL;
5907
b2812113a4a6 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
516 dialog->account = account;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
517 }
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
518 else
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
519 {
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
520 GList *connections = purple_connections_get_all();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
521 PurpleConnection *gc;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
522
15058
212b71a4faf6 [gaim-migrate @ 17775]
Richard Laager <rlaager@pidgin.im>
parents: 14253
diff changeset
523 if (connections != NULL)
212b71a4faf6 [gaim-migrate @ 17775]
Richard Laager <rlaager@pidgin.im>
parents: 14253
diff changeset
524 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
525 gc = (PurpleConnection *)connections->data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
526 dialog->account = purple_connection_get_account(gc);
15058
212b71a4faf6 [gaim-migrate @ 17775]
Richard Laager <rlaager@pidgin.im>
parents: 14253
diff changeset
527 }
212b71a4faf6 [gaim-migrate @ 17775]
Richard Laager <rlaager@pidgin.im>
parents: 14253
diff changeset
528 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
529 dialog->account = purple_accounts_get_all()->data;
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
530
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
531 dialog->pounce = NULL;
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
532 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
533
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
534 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
535
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
536 /* Create the window. */
19546
b7a8a86af65a Use GtkDialog more often. Thanks nix_nix. Fixes #2618
Sean Egan <seanegan@pidgin.im>
parents: 18966
diff changeset
537 dialog->window = window = gtk_dialog_new();
b7a8a86af65a Use GtkDialog more often. Thanks nix_nix. Fixes #2618
Sean Egan <seanegan@pidgin.im>
parents: 18966
diff changeset
538 gtk_window_set_title(GTK_WINDOW(window), (cur_pounce == NULL ? _("New Buddy Pounce") : _("Edit Buddy Pounce")));
b7a8a86af65a Use GtkDialog more often. Thanks nix_nix. Fixes #2618
Sean Egan <seanegan@pidgin.im>
parents: 18966
diff changeset
539 gtk_window_set_role(GTK_WINDOW(window), "buddy_pounce");
b7a8a86af65a Use GtkDialog more often. Thanks nix_nix. Fixes #2618
Sean Egan <seanegan@pidgin.im>
parents: 18966
diff changeset
540 gtk_container_set_border_width(GTK_CONTAINER(dialog->window), PIDGIN_HIG_BORDER);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
541
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
542 g_signal_connect(G_OBJECT(window), "delete_event",
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
543 G_CALLBACK(delete_win_cb), dialog);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
544
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
545 /* Create the parent vbox for everything. */
19546
b7a8a86af65a Use GtkDialog more often. Thanks nix_nix. Fixes #2618
Sean Egan <seanegan@pidgin.im>
parents: 18966
diff changeset
546 vbox1 = GTK_DIALOG(window)->vbox;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
547
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
548 /* Create the vbox that will contain all the prefs stuff. */
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
549 vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
550 gtk_box_pack_start(GTK_BOX(vbox1), vbox2, TRUE, TRUE, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
551
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
552 /* Create the "Pounce on Whom" frame. */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
553 frame = pidgin_make_frame(vbox2, _("Pounce on Whom"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
554
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
555 /* Account: */
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
556 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
557 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
558 gtk_widget_show(hbox);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
559
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
560 label = gtk_label_new_with_mnemonic(_("_Account:"));
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
561 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
562 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
563 gtk_widget_show(label);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
564 gtk_size_group_add_widget(sg, label);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
565
5877
37695b88b248 [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
566 dialog->account_menu =
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
567 pidgin_account_option_menu_new(dialog->account, TRUE,
6646
b9a0b5eb74e6 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
568 G_CALLBACK(pounce_choose_cb),
b9a0b5eb74e6 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
569 NULL, dialog);
5877
37695b88b248 [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
570
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
571 gtk_box_pack_start(GTK_BOX(hbox), dialog->account_menu, FALSE, FALSE, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
572 gtk_widget_show(dialog->account_menu);
15568
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
573 pidgin_set_accessible_label (dialog->account_menu, label);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
574
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
575 /* Buddy: */
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
576 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
577 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
578 gtk_widget_show(hbox);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
579
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
580 label = gtk_label_new_with_mnemonic(_("_Buddy name:"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
581 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
582 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
583 gtk_widget_show(label);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
584 gtk_size_group_add_widget(sg, label);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
585
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
586 dialog->buddy_entry = gtk_entry_new();
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
587
18966
6a0715b72b6b Screenname auto-completion filtering by Leonardo Fernandes, Fixes #519
Sean Egan <seanegan@pidgin.im>
parents: 18209
diff changeset
588 pidgin_setup_screenname_autocomplete_with_filter(dialog->buddy_entry, dialog->account_menu, pidgin_screenname_autocomplete_default_filter, GINT_TO_POINTER(FALSE));
13361
bb2f64cf6721 [gaim-migrate @ 15733]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13228
diff changeset
589
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
590 gtk_box_pack_start(GTK_BOX(hbox), dialog->buddy_entry, TRUE, TRUE, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
591 gtk_widget_show(dialog->buddy_entry);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
592
5876
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
593 g_signal_connect(G_OBJECT(dialog->buddy_entry), "changed",
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
594 G_CALLBACK(buddy_changed_cb), dialog);
15568
cd19bb5a51b8 gtkutils changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
595 pidgin_set_accessible_label (dialog->buddy_entry, label);
5876
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
596
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
597 if (cur_pounce != NULL) {
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
598 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
599 purple_pounce_get_pouncee(cur_pounce));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
600 }
5907
b2812113a4a6 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
601 else if (name != NULL) {
b2812113a4a6 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
602 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), name);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
603 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
604
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
605 /* Create the "Pounce When Buddy..." frame. */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
606 frame = pidgin_make_frame(vbox2, _("Pounce When Buddy..."));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
607
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
608 table = gtk_table_new(5, 2, FALSE);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
609 gtk_container_add(GTK_CONTAINER(frame), table);
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
610 gtk_table_set_col_spacings(GTK_TABLE(table), PIDGIN_HIG_BORDER);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
611 gtk_widget_show(table);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
612
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
613 dialog->signon =
12141
9cd436b9b7f6 [gaim-migrate @ 14442]
Richard Laager <rlaager@pidgin.im>
parents: 12137
diff changeset
614 gtk_check_button_new_with_mnemonic(_("Si_gns on"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
615 dialog->signoff =
12142
45aba96df80d [gaim-migrate @ 14443]
Richard Laager <rlaager@pidgin.im>
parents: 12141
diff changeset
616 gtk_check_button_new_with_mnemonic(_("Signs o_ff"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
617 dialog->away =
12141
9cd436b9b7f6 [gaim-migrate @ 14442]
Richard Laager <rlaager@pidgin.im>
parents: 12137
diff changeset
618 gtk_check_button_new_with_mnemonic(_("Goes a_way"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
619 dialog->away_return =
12144
a24ccdee060b [gaim-migrate @ 14445]
Richard Laager <rlaager@pidgin.im>
parents: 12142
diff changeset
620 gtk_check_button_new_with_mnemonic(_("Ret_urns from away"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
621 dialog->idle =
12192
36b7b33aa956 [gaim-migrate @ 14494]
Richard Laager <rlaager@pidgin.im>
parents: 12186
diff changeset
622 gtk_check_button_new_with_mnemonic(_("Becomes _idle"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
623 dialog->idle_return =
12192
36b7b33aa956 [gaim-migrate @ 14494]
Richard Laager <rlaager@pidgin.im>
parents: 12186
diff changeset
624 gtk_check_button_new_with_mnemonic(_("Is no longer i_dle"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
625 dialog->typing =
12141
9cd436b9b7f6 [gaim-migrate @ 14442]
Richard Laager <rlaager@pidgin.im>
parents: 12137
diff changeset
626 gtk_check_button_new_with_mnemonic(_("Starts _typing"));
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
627 dialog->typed =
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
628 gtk_check_button_new_with_mnemonic(_("P_auses while typing"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
629 dialog->stop_typing =
12141
9cd436b9b7f6 [gaim-migrate @ 14442]
Richard Laager <rlaager@pidgin.im>
parents: 12137
diff changeset
630 gtk_check_button_new_with_mnemonic(_("Stops t_yping"));
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
631 dialog->message_recv =
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
632 gtk_check_button_new_with_mnemonic(_("Sends a _message"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
633
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
634 gtk_table_attach(GTK_TABLE(table), dialog->message_recv, 0, 1, 0, 1,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
635 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
636 gtk_table_attach(GTK_TABLE(table), dialog->signon, 0, 1, 1, 2,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
637 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
638 gtk_table_attach(GTK_TABLE(table), dialog->signoff, 0, 1, 2, 3,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
639 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
640 gtk_table_attach(GTK_TABLE(table), dialog->away, 0, 1, 3, 4,
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
641 GTK_FILL, 0, 0, 0);
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
642 gtk_table_attach(GTK_TABLE(table), dialog->away_return, 0, 1, 4, 5,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
643 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
644 gtk_table_attach(GTK_TABLE(table), dialog->idle, 1, 2, 0, 1,
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
645 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
646 gtk_table_attach(GTK_TABLE(table), dialog->idle_return, 1, 2, 1, 2,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
647 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
648 gtk_table_attach(GTK_TABLE(table), dialog->typing, 1, 2, 2, 3,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
649 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
650 gtk_table_attach(GTK_TABLE(table), dialog->typed, 1, 2, 3, 4,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
651 GTK_FILL, 0, 0, 0);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
652 gtk_table_attach(GTK_TABLE(table), dialog->stop_typing, 1, 2, 4, 5,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
653 GTK_FILL, 0, 0, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
654
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
655 gtk_widget_show(dialog->signon);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
656 gtk_widget_show(dialog->signoff);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
657 gtk_widget_show(dialog->away);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
658 gtk_widget_show(dialog->away_return);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
659 gtk_widget_show(dialog->idle);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
660 gtk_widget_show(dialog->idle_return);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
661 gtk_widget_show(dialog->typing);
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
662 gtk_widget_show(dialog->typed);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
663 gtk_widget_show(dialog->stop_typing);
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
664 gtk_widget_show(dialog->message_recv);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
665
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
666 /* Create the "Action" frame. */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
667 frame = pidgin_make_frame(vbox2, _("Action"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
668
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
669 table = gtk_table_new(3, 6, FALSE);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
670 gtk_container_add(GTK_CONTAINER(frame), table);
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
671 gtk_table_set_col_spacings(GTK_TABLE(table), PIDGIN_HIG_BORDER);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
672 gtk_widget_show(table);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
673
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
674 dialog->open_win
12192
36b7b33aa956 [gaim-migrate @ 14494]
Richard Laager <rlaager@pidgin.im>
parents: 12186
diff changeset
675 = gtk_check_button_new_with_mnemonic(_("Ope_n an IM window"));
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
676 dialog->popup
12141
9cd436b9b7f6 [gaim-migrate @ 14442]
Richard Laager <rlaager@pidgin.im>
parents: 12137
diff changeset
677 = gtk_check_button_new_with_mnemonic(_("_Pop up a notification"));
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
678 dialog->send_msg
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
679 = gtk_check_button_new_with_mnemonic(_("Send a _message"));
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
680 dialog->exec_cmd
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
681 = gtk_check_button_new_with_mnemonic(_("E_xecute a command"));
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
682 dialog->play_sound
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
683 = gtk_check_button_new_with_mnemonic(_("P_lay a sound"));
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
684
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
685 send_msg_imhtml = pidgin_create_imhtml(TRUE, &dialog->send_msg_entry, NULL, NULL);
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
686 reset_send_msg_entry(dialog, NULL);
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
687 dialog->exec_cmd_entry = gtk_entry_new();
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
688 dialog->popup_entry = gtk_entry_new();
12192
36b7b33aa956 [gaim-migrate @ 14494]
Richard Laager <rlaager@pidgin.im>
parents: 12186
diff changeset
689 dialog->exec_cmd_browse = gtk_button_new_with_mnemonic(_("Brows_e..."));
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
690 dialog->play_sound_entry = gtk_entry_new();
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
691 gtk_entry_set_text(GTK_ENTRY(dialog->play_sound_entry), _("(default)"));
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
692 gtk_editable_set_editable(GTK_EDITABLE(dialog->play_sound_entry), FALSE);
12144
a24ccdee060b [gaim-migrate @ 14445]
Richard Laager <rlaager@pidgin.im>
parents: 12142
diff changeset
693 dialog->play_sound_browse = gtk_button_new_with_mnemonic(_("Br_owse..."));
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
694 dialog->play_sound_test = gtk_button_new_with_mnemonic(_("Pre_view"));
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
695 dialog->play_sound_reset = gtk_button_new_with_mnemonic(_("Reset"));
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
696
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
697 gtk_widget_set_sensitive(send_msg_imhtml, FALSE);
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
698 gtk_widget_set_sensitive(dialog->exec_cmd_entry, FALSE);
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
699 gtk_widget_set_sensitive(dialog->popup_entry, FALSE);
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
700 gtk_widget_set_sensitive(dialog->exec_cmd_browse, FALSE);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
701 gtk_widget_set_sensitive(dialog->play_sound_entry, FALSE);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
702 gtk_widget_set_sensitive(dialog->play_sound_browse, FALSE);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
703 gtk_widget_set_sensitive(dialog->play_sound_test, FALSE);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
704 gtk_widget_set_sensitive(dialog->play_sound_reset, FALSE);
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
705
20289
5c844288fbec applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20168
diff changeset
706 g_object_unref(sg);
5c844288fbec applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20168
diff changeset
707
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
708 sg = gtk_size_group_new(GTK_SIZE_GROUP_VERTICAL);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
709 gtk_size_group_add_widget(sg, dialog->open_win);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
710 gtk_size_group_add_widget(sg, dialog->popup);
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
711 gtk_size_group_add_widget(sg, dialog->popup_entry);
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
712 gtk_size_group_add_widget(sg, dialog->exec_cmd);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
713 gtk_size_group_add_widget(sg, dialog->exec_cmd_entry);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
714 gtk_size_group_add_widget(sg, dialog->exec_cmd_browse);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
715 gtk_size_group_add_widget(sg, dialog->play_sound);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
716 gtk_size_group_add_widget(sg, dialog->play_sound_entry);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
717 gtk_size_group_add_widget(sg, dialog->play_sound_browse);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
718 gtk_size_group_add_widget(sg, dialog->play_sound_test);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
719 gtk_size_group_add_widget(sg, dialog->play_sound_reset);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
720
20289
5c844288fbec applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20168
diff changeset
721 g_object_unref(sg);
5c844288fbec applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20168
diff changeset
722 sg = NULL;
5c844288fbec applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20168
diff changeset
723
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
724 gtk_table_attach(GTK_TABLE(table), dialog->open_win, 0, 1, 0, 1,
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
725 GTK_FILL, 0, 0, 0);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
726 gtk_table_attach(GTK_TABLE(table), dialog->popup, 0, 1, 1, 2,
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
727 GTK_FILL, 0, 0, 0);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
728 gtk_table_attach(GTK_TABLE(table), dialog->popup_entry, 1, 5, 1, 2,
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
729 GTK_FILL, 0, 0, 0);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
730 gtk_table_attach(GTK_TABLE(table), dialog->send_msg, 0, 5, 2, 3,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
731 GTK_FILL, 0, 0, 0);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
732 gtk_table_attach(GTK_TABLE(table), send_msg_imhtml, 0, 5, 3, 4,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
733 GTK_FILL, 0, 0, 0);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
734 gtk_table_attach(GTK_TABLE(table), dialog->exec_cmd, 0, 1, 4, 5,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
735 GTK_FILL, 0, 0, 0);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
736 gtk_table_attach(GTK_TABLE(table), dialog->exec_cmd_entry, 1, 2, 4, 5,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
737 GTK_FILL, 0, 0, 0);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
738 gtk_table_attach(GTK_TABLE(table), dialog->exec_cmd_browse, 2, 3, 4, 5,
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
739 GTK_FILL | GTK_EXPAND, 0, 0, 0);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
740 gtk_table_attach(GTK_TABLE(table), dialog->play_sound, 0, 1, 5, 6,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
741 GTK_FILL, 0, 0, 0);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
742 gtk_table_attach(GTK_TABLE(table), dialog->play_sound_entry, 1, 2, 5, 6,
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
743 GTK_FILL, 0, 0, 0);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
744 gtk_table_attach(GTK_TABLE(table), dialog->play_sound_browse,2, 3, 5, 6,
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
745 GTK_FILL | GTK_EXPAND, 0, 0, 0);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
746 gtk_table_attach(GTK_TABLE(table), dialog->play_sound_test, 3, 4, 5, 6,
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
747 GTK_FILL | GTK_EXPAND, 0, 0, 0);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
748 gtk_table_attach(GTK_TABLE(table), dialog->play_sound_reset, 4, 5, 5, 6,
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
749 GTK_FILL | GTK_EXPAND, 0, 0, 0);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
750
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
751 gtk_table_set_row_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE / 2);
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
752
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
753 gtk_widget_show(dialog->open_win);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
754 gtk_widget_show(dialog->popup);
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
755 gtk_widget_show(dialog->popup_entry);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
756 gtk_widget_show(dialog->send_msg);
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
757 gtk_widget_show(send_msg_imhtml);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
758 gtk_widget_show(dialog->exec_cmd);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
759 gtk_widget_show(dialog->exec_cmd_entry);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
760 gtk_widget_show(dialog->exec_cmd_browse);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
761 gtk_widget_show(dialog->play_sound);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
762 gtk_widget_show(dialog->play_sound_entry);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
763 gtk_widget_show(dialog->play_sound_browse);
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
764 gtk_widget_show(dialog->play_sound_test);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
765 gtk_widget_show(dialog->play_sound_reset);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
766
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
767 g_signal_connect(G_OBJECT(dialog->message_recv), "clicked",
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
768 G_CALLBACK(message_recv_toggle),
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
769 dialog->send_msg);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
770
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
771 g_signal_connect(G_OBJECT(dialog->send_msg), "clicked",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
772 G_CALLBACK(pidgin_toggle_sensitive),
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
773 send_msg_imhtml);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
774
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
775 g_signal_connect(G_OBJECT(dialog->popup), "clicked",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
776 G_CALLBACK(pidgin_toggle_sensitive),
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
777 dialog->popup_entry);
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
778
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
779 exec_widgets = g_ptr_array_new();
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
780 g_ptr_array_add(exec_widgets,dialog->exec_cmd_entry);
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
781 g_ptr_array_add(exec_widgets,dialog->exec_cmd_browse);
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
782
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
783 g_signal_connect(G_OBJECT(dialog->exec_cmd), "clicked",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
784 G_CALLBACK(pidgin_toggle_sensitive_array),
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
785 exec_widgets);
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
786 g_signal_connect(G_OBJECT(dialog->exec_cmd_browse), "clicked",
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
787 G_CALLBACK(filesel),
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
788 dialog->exec_cmd_entry);
15315
048e3e051d67 [gaim-migrate @ 18043]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15058
diff changeset
789 g_object_set_data_full(G_OBJECT(dialog->window), "exec-widgets",
048e3e051d67 [gaim-migrate @ 18043]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15058
diff changeset
790 exec_widgets, (GDestroyNotify)g_ptr_array_free);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
791
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
792 sound_widgets = g_ptr_array_new();
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
793 g_ptr_array_add(sound_widgets,dialog->play_sound_entry);
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
794 g_ptr_array_add(sound_widgets,dialog->play_sound_browse);
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
795 g_ptr_array_add(sound_widgets,dialog->play_sound_test);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
796 g_ptr_array_add(sound_widgets,dialog->play_sound_reset);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
797
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
798 g_signal_connect(G_OBJECT(dialog->play_sound), "clicked",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
799 G_CALLBACK(pidgin_toggle_sensitive_array),
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
800 sound_widgets);
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
801 g_signal_connect(G_OBJECT(dialog->play_sound_browse), "clicked",
5857
52cff8a95261 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
802 G_CALLBACK(filesel),
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
803 dialog->play_sound_entry);
5319
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
804 g_signal_connect(G_OBJECT(dialog->play_sound_test), "clicked",
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
805 G_CALLBACK(pounce_test_sound),
d3832c88d562 [gaim-migrate @ 5691]
Benjamin Zeiss
parents: 5228
diff changeset
806 dialog->play_sound_entry);
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
807 g_signal_connect(G_OBJECT(dialog->play_sound_reset), "clicked",
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
808 G_CALLBACK(pounce_reset_sound),
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
809 dialog->play_sound_entry);
15315
048e3e051d67 [gaim-migrate @ 18043]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15058
diff changeset
810 g_object_set_data_full(G_OBJECT(dialog->window), "sound-widgets",
048e3e051d67 [gaim-migrate @ 18043]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15058
diff changeset
811 sound_widgets, (GDestroyNotify)g_ptr_array_free);
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
812
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
813 g_signal_connect_swapped(G_OBJECT(dialog->send_msg_entry), "format_function_clear",
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
814 G_CALLBACK(reset_send_msg_entry), dialog);
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
815 g_signal_connect_swapped(G_OBJECT(dialog->account_menu), "changed",
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
816 G_CALLBACK(reset_send_msg_entry), dialog);
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
817
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
818 g_signal_connect(G_OBJECT(dialog->send_msg_entry), "message_send",
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
819 G_CALLBACK(save_pounce_cb), dialog);
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
820 g_signal_connect(G_OBJECT(dialog->popup_entry), "activate",
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
821 G_CALLBACK(save_pounce_cb), dialog);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
822 g_signal_connect(G_OBJECT(dialog->exec_cmd_entry), "activate",
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
823 G_CALLBACK(save_pounce_cb), dialog);
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
824
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
825 /* Create the "Options" frame. */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
826 frame = pidgin_make_frame(vbox2, _("Options"));
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
827
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
828 table = gtk_table_new(2, 1, FALSE);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
829 gtk_container_add(GTK_CONTAINER(frame), table);
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
830 gtk_table_set_col_spacings(GTK_TABLE(table), PIDGIN_HIG_BORDER);
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
831 gtk_widget_show(table);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
832
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
833 dialog->on_away =
17655
64f25df341e4 Hopefully make what this checkbox does a little more clear by changing
Etan Reisner <deryni@pidgin.im>
parents: 16490
diff changeset
834 gtk_check_button_new_with_mnemonic(_("P_ounce only when my status is not Available"));
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
835 gtk_table_attach(GTK_TABLE(table), dialog->on_away, 0, 1, 0, 1,
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
836 GTK_FILL, 0, 0, 0);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
837
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
838 dialog->save_pounce = gtk_check_button_new_with_mnemonic(
12186
fddd08d58f3b [gaim-migrate @ 14488]
Mark Doliner <markdoliner@pidgin.im>
parents: 12144
diff changeset
839 _("_Recurring"));
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
840 gtk_table_attach(GTK_TABLE(table), dialog->save_pounce, 0, 1, 1, 2,
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
841 GTK_FILL, 0, 0, 0);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
842
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
843 gtk_widget_show(dialog->on_away);
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
844 gtk_widget_show(dialog->save_pounce);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
845
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
846 /* Cancel button */
19546
b7a8a86af65a Use GtkDialog more often. Thanks nix_nix. Fixes #2618
Sean Egan <seanegan@pidgin.im>
parents: 18966
diff changeset
847 button = gtk_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
848 g_signal_connect(G_OBJECT(button), "clicked",
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
849 G_CALLBACK(cancel_cb), dialog);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
850
25390
02100938b030 Make dialogs that double as add and save dialogs indicate the current action
Etan Reisner <deryni@pidgin.im>
parents: 24594
diff changeset
851 /* Save/Add button */
02100938b030 Make dialogs that double as add and save dialogs indicate the current action
Etan Reisner <deryni@pidgin.im>
parents: 24594
diff changeset
852 dialog->save_button = button = gtk_dialog_add_button(GTK_DIALOG(window),
02100938b030 Make dialogs that double as add and save dialogs indicate the current action
Etan Reisner <deryni@pidgin.im>
parents: 24594
diff changeset
853 (cur_pounce == NULL ? GTK_STOCK_ADD : GTK_STOCK_SAVE),
02100938b030 Make dialogs that double as add and save dialogs indicate the current action
Etan Reisner <deryni@pidgin.im>
parents: 24594
diff changeset
854 GTK_RESPONSE_OK);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
855 g_signal_connect(G_OBJECT(button), "clicked",
25390
02100938b030 Make dialogs that double as add and save dialogs indicate the current action
Etan Reisner <deryni@pidgin.im>
parents: 24594
diff changeset
856 G_CALLBACK(save_pounce_cb), dialog);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
857
5876
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
858 if (*gtk_entry_get_text(GTK_ENTRY(dialog->buddy_entry)) == '\0')
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
859 gtk_widget_set_sensitive(button, FALSE);
c12b198bde14 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
860
8803
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
861 /* Setup drag-and-drop */
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
862 gtk_drag_dest_set(window,
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
863 GTK_DEST_DEFAULT_MOTION |
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
864 GTK_DEST_DEFAULT_DROP,
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
865 dnd_targets,
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
866 sizeof(dnd_targets) / sizeof(GtkTargetEntry),
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
867 GDK_ACTION_COPY);
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
868 gtk_drag_dest_set(dialog->buddy_entry,
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
869 GTK_DEST_DEFAULT_MOTION |
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
870 GTK_DEST_DEFAULT_DROP,
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
871 dnd_targets,
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
872 sizeof(dnd_targets) / sizeof(GtkTargetEntry),
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
873 GDK_ACTION_COPY);
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
874
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
875 g_signal_connect(G_OBJECT(window), "drag_data_received",
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
876 G_CALLBACK(pounce_dnd_recv), dialog);
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
877 g_signal_connect(G_OBJECT(dialog->buddy_entry), "drag_data_received",
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
878 G_CALLBACK(pounce_dnd_recv), dialog);
79bc4ecbcac7 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
879
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
880 /* Set the values of stuff. */
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
881 if (cur_pounce != NULL)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
882 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
883 PurplePounceEvent events = purple_pounce_get_events(cur_pounce);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
884 PurplePounceOption options = purple_pounce_get_options(cur_pounce);
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
885 const char *value;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
886
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
887 /* Options */
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
888 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->on_away),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
889 (options & PURPLE_POUNCE_OPTION_AWAY));
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
890
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
891 /* Events */
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
892 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->signon),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
893 (events & PURPLE_POUNCE_SIGNON));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
894 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->signoff),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
895 (events & PURPLE_POUNCE_SIGNOFF));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
896 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->away),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
897 (events & PURPLE_POUNCE_AWAY));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
898 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->away_return),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
899 (events & PURPLE_POUNCE_AWAY_RETURN));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
900 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
901 (events & PURPLE_POUNCE_IDLE));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
902 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle_return),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
903 (events & PURPLE_POUNCE_IDLE_RETURN));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
904 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->typing),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
905 (events & PURPLE_POUNCE_TYPING));
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
906 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->typed),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
907 (events & PURPLE_POUNCE_TYPED));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
908 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->stop_typing),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
909 (events & PURPLE_POUNCE_TYPING_STOPPED));
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
910 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->message_recv),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
911 (events & PURPLE_POUNCE_MESSAGE_RECEIVED));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
912
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
913 /* Actions */
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
914 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->open_win),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
915 purple_pounce_action_is_enabled(cur_pounce, "open-window"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
916 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->popup),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
917 purple_pounce_action_is_enabled(cur_pounce, "popup-notify"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
918 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->send_msg),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
919 purple_pounce_action_is_enabled(cur_pounce, "send-message"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
920 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
921 purple_pounce_action_is_enabled(cur_pounce, "execute-command"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
922 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->play_sound),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
923 purple_pounce_action_is_enabled(cur_pounce, "play-sound"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
924
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
925 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->save_pounce),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
926 purple_pounce_get_save(cur_pounce));
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
927
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
928 if ((value = purple_pounce_action_get_attribute(cur_pounce,
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
929 "send-message",
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
930 "message")) != NULL)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
931 {
17388
8be39f0de528 Allow formatted text in the pounce dialog. Also, use the same code to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16490
diff changeset
932 gtk_imhtml_append_text(GTK_IMHTML(dialog->send_msg_entry), value, 0);
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
933 }
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
934
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
935 if ((value = purple_pounce_action_get_attribute(cur_pounce,
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
936 "popup-notify",
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
937 "reason")) != NULL)
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
938 {
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
939 gtk_entry_set_text(GTK_ENTRY(dialog->popup_entry), value);
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
940 }
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
941
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
942 if ((value = purple_pounce_action_get_attribute(cur_pounce,
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
943 "execute-command",
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
944 "command")) != NULL)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
945 {
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
946 gtk_entry_set_text(GTK_ENTRY(dialog->exec_cmd_entry), value);
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
947 }
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
948
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
949 if ((value = purple_pounce_action_get_attribute(cur_pounce,
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
950 "play-sound",
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
951 "filename")) != NULL)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
952 {
23260
56fda1590379 Make it more obvious that there is a default buddy pounce sound, and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22214
diff changeset
953 gtk_entry_set_text(GTK_ENTRY(dialog->play_sound_entry), (value && *value != '\0') ? value : _("(default)"));
5864
86822afeeab0 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
954 }
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
955 }
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
956 else
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
957 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
958 PurpleBuddy *buddy = NULL;
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
959
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
960 if (name != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
961 buddy = purple_find_buddy(account, name);
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
962
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
963 /* Set some defaults */
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
964 if (buddy == NULL)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
965 {
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
966 gtk_toggle_button_set_active(
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
967 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
968 }
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
969 else
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
970 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
971 if (!PURPLE_BUDDY_IS_ONLINE(buddy))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
972 {
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
973 gtk_toggle_button_set_active(
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
974 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
975 }
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
976 else
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
977 {
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
978 gboolean default_set = FALSE;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
979 PurplePresence *presence = purple_buddy_get_presence(buddy);
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
980
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
981 if (purple_presence_is_idle(presence))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
982 {
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
983 gtk_toggle_button_set_active(
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
984 GTK_TOGGLE_BUTTON(dialog->idle_return), TRUE);
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
985
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
986 default_set = TRUE;
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
987 }
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
988
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
989 if (!purple_presence_is_available(presence))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
990 {
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
991 gtk_toggle_button_set_active(
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
992 GTK_TOGGLE_BUTTON(dialog->away_return), TRUE);
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
993
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
994 default_set = TRUE;
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
995 }
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
996
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
997 if (!default_set)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
998 {
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
999 gtk_toggle_button_set_active(
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1000 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1001 }
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1002 }
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1003 }
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1004
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1005 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->open_win),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1006 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/open-window"));
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1007 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->popup),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1008 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/popup-notify"));
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1009 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->send_msg),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1010 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/send-message"));
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1011 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1012 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/execute-command"));
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1013 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->play_sound),
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1014 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/play-sound"));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1015 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1016
19786
33ab83cd846b Don't show *all*\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19546
diff changeset
1017 gtk_widget_show(vbox2);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1018 gtk_widget_show(window);
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1019 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1020
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1021 static gboolean
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1022 pounces_manager_configure_cb(GtkWidget *widget, GdkEventConfigure *event, PouncesManager *dialog)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1023 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1024 if (GTK_WIDGET_VISIBLE(widget)) {
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1025 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/pounces/dialog/width", event->width);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1026 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/pounces/dialog/height", event->height);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1027 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1028
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1029 return FALSE;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1030 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1031
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1032 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1033 pounces_manager_find_pounce(GtkTreeIter *iter, PurplePounce *pounce)
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1034 {
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1035 GtkTreeModel *model = GTK_TREE_MODEL(pounces_manager->model);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1036 PurplePounce *p;
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1037
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1038 if (!gtk_tree_model_get_iter_first(model, iter))
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1039 return FALSE;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1040
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1041 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &p, -1);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1042 if (pounce == p)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1043 return TRUE;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1044
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1045 while (gtk_tree_model_iter_next(model, iter))
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1046 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1047 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &p, -1);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1048 if (pounce == p)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1049 return TRUE;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1050 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1051
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1052 return FALSE;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1053 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1054
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1055 static gboolean
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1056 pounces_manager_destroy_cb(GtkWidget *widget, GdkEvent *event, gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1057 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1058 PouncesManager *dialog = user_data;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1059
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1060 dialog->window = NULL;
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
1061 pidgin_pounces_manager_hide();
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1062
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1063 return FALSE;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1064 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1065
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1066 #if !GTK_CHECK_VERSION(2,2,0)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1067 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1068 count_selected_helper(GtkTreeModel *model, GtkTreePath *path,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1069 GtkTreeIter *iter, gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1070 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1071 (*(gint *)user_data)++;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1072 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1073 #endif
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1074
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1075 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1076 pounces_manager_connection_cb(PurpleConnection *gc, GtkWidget *add_button)
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1077 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1078 gtk_widget_set_sensitive(add_button, (purple_connections_get_all() != NULL));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1079 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1080
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1081 static void
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1082 pounces_manager_add_cb(GtkButton *button, gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1083 {
21214
db28e29a4990 Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@pidgin.im>
parents: 21171
diff changeset
1084 pidgin_pounce_editor_show(NULL, NULL, NULL);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1085 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1086
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1087 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1088 pounces_manager_modify_foreach(GtkTreeModel *model, GtkTreePath *path,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1089 GtkTreeIter *iter, gpointer user_data)
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1090 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1091 PurplePounce *pounce;
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1092
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1093 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1);
21214
db28e29a4990 Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@pidgin.im>
parents: 21171
diff changeset
1094 pidgin_pounce_editor_show(NULL, NULL, pounce);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1095 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1096
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1097 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1098 pounces_manager_modify_cb(GtkButton *button, gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1099 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1100 PouncesManager *dialog = user_data;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1101 GtkTreeSelection *selection;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1102
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1103 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1104
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1105 gtk_tree_selection_selected_foreach(selection, pounces_manager_modify_foreach, user_data);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1106 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1107
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1108 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1109 pounces_manager_delete_confirm_cb(PurplePounce *pounce)
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1110 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1111 GtkTreeIter iter;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1112
13172
4e7621289194 [gaim-migrate @ 15534]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13120
diff changeset
1113 if (pounces_manager && pounces_manager_find_pounce(&iter, pounce))
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1114 gtk_list_store_remove(pounces_manager->model, &iter);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1115
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1116 purple_request_close_with_handle(pounce);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1117 purple_pounce_destroy(pounce);
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1118 }
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1119
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1120 static void
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1121 pounces_manager_delete_foreach(GtkTreeModel *model, GtkTreePath *path,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1122 GtkTreeIter *iter, gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1123 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1124 PurplePounce *pounce;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1125 PurpleAccount *account;
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1126 const char *pouncer, *pouncee;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1127 char *buf;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1128
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1129 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1130 account = purple_pounce_get_pouncer(pounce);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1131 pouncer = purple_account_get_username(account);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1132 pouncee = purple_pounce_get_pouncee(pounce);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1133
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1134 buf = g_strdup_printf(_("Are you sure you want to delete the pounce on %s for %s?"), pouncee, pouncer);
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1135 purple_request_action(pounce, NULL, buf, NULL, 0,
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: 16254
diff changeset
1136 account, pouncee, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1137 pounce, 2,
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1138 _("Delete"), pounces_manager_delete_confirm_cb,
13228
d1ef216aba5c [gaim-migrate @ 15592]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13172
diff changeset
1139 _("Cancel"), NULL);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1140 g_free(buf);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1141 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1142
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1143 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1144 pounces_manager_delete_cb(GtkButton *button, gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1145 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1146 PouncesManager *dialog = user_data;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1147 GtkTreeSelection *selection;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1148
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1149 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1150
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1151 gtk_tree_selection_selected_foreach(selection, pounces_manager_delete_foreach, user_data);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1152 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1153
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1154 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1155 pounces_manager_close_cb(GtkButton *button, gpointer user_data)
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1156 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
1157 pidgin_pounces_manager_hide();
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1158 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1159
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1160 static void
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1161 pounce_selected_cb(GtkTreeSelection *sel, gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1162 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1163 PouncesManager *dialog = user_data;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1164 int num_selected = 0;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1165
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1166 #if GTK_CHECK_VERSION(2,2,0)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1167 num_selected = gtk_tree_selection_count_selected_rows(sel);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1168 #else
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1169 gtk_tree_selection_selected_foreach(sel, count_selected_helper, &num_selected);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1170 #endif
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1171
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1172 gtk_widget_set_sensitive(dialog->modify_button, (num_selected > 0));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1173 gtk_widget_set_sensitive(dialog->delete_button, (num_selected > 0));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1174 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1175
12137
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1176 static gboolean
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1177 pounce_double_click_cb(GtkTreeView *treeview, GdkEventButton *event, gpointer user_data)
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1178 {
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1179 PouncesManager *dialog = user_data;
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1180 GtkTreePath *path;
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1181 GtkTreeIter iter;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1182 PurplePounce *pounce;
12137
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1183
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1184 /* Figure out which node was clicked */
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1185 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(dialog->treeview), event->x, event->y, &path, NULL, NULL, NULL))
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1186 return FALSE;
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1187 gtk_tree_model_get_iter(GTK_TREE_MODEL(dialog->model), &iter, path);
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1188 gtk_tree_path_free(path);
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1189 gtk_tree_model_get(GTK_TREE_MODEL(dialog->model), &iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1);
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1190
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1191 if ((pounce != NULL) && (event->button == 1) &&
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1192 (event->type == GDK_2BUTTON_PRESS))
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1193 {
21214
db28e29a4990 Reverted changes from ef7ac46f90a801547f7dfc4295927a956f90e869 to
Richard Laager <rlaager@pidgin.im>
parents: 21171
diff changeset
1194 pidgin_pounce_editor_show(NULL, NULL, pounce);
12137
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1195 return TRUE;
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1196 }
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1197
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1198 return FALSE;
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1199 }
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1200
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1201 static void
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1202 pounces_manager_recurring_cb(GtkCellRendererToggle *renderer, gchar *path_str,
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1203 gpointer user_data)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1204 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1205 PouncesManager *dialog = user_data;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1206 PurplePounce *pounce;
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1207 gboolean recurring;
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1208 GtkTreeModel *model = GTK_TREE_MODEL(dialog->model);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1209 GtkTreeIter iter;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1210
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1211 gtk_tree_model_get_iter_from_string(model, &iter, path_str);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1212 gtk_tree_model_get(model, &iter,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1213 POUNCES_MANAGER_COLUMN_POUNCE, &pounce,
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1214 POUNCES_MANAGER_COLUMN_RECURRING, &recurring,
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1215 -1);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1216
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1217 purple_pounce_set_save(pounce, !recurring);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1218
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1219 update_pounces();
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1220 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1221
8259
7ed91862683d [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1222 static gboolean
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1223 search_func(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data)
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1224 {
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1225 gboolean result;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1226 char *haystack;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1227
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1228 gtk_tree_model_get(model, iter, column, &haystack, -1);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1229
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1230 result = (purple_strcasestr(haystack, key) == NULL);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1231
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1232 g_free(haystack);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1233
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1234 return result;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1235 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1236
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1237 static GtkWidget *
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1238 create_pounces_list(PouncesManager *dialog)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1239 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1240 GtkWidget *sw;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1241 GtkWidget *treeview;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1242 GtkTreeSelection *sel;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1243 GtkTreeViewColumn *column;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1244 GtkCellRenderer *renderer;
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1245
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1246 /* Create the scrolled window */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1247 sw = gtk_scrolled_window_new(0, 0);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1248 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13844
diff changeset
1249 GTK_POLICY_AUTOMATIC,
13775
aac9281f8da3 [gaim-migrate @ 16185]
Marc E. <santusmarc@gmail.com>
parents: 13709
diff changeset
1250 GTK_POLICY_AUTOMATIC);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1251 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
13775
aac9281f8da3 [gaim-migrate @ 16185]
Marc E. <santusmarc@gmail.com>
parents: 13709
diff changeset
1252 GTK_SHADOW_IN);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1253 gtk_widget_show(sw);
8259
7ed91862683d [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1254
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1255 /* Create the list model */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1256 dialog->model = gtk_list_store_new(POUNCES_MANAGER_NUM_COLUMNS,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1257 G_TYPE_POINTER,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1258 GDK_TYPE_PIXBUF,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1259 G_TYPE_STRING,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1260 G_TYPE_STRING,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1261 G_TYPE_BOOLEAN
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1262 );
10250
9a0f00083ec1 [gaim-migrate @ 11390]
Mark Doliner <markdoliner@pidgin.im>
parents: 10246
diff changeset
1263
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1264 /* Create the treeview */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1265 treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(dialog->model));
22214
e8a9916cb99e It turns out the tree-models need to be unref'ed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22005
diff changeset
1266 g_object_unref(G_OBJECT(dialog->model));
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1267 dialog->treeview = treeview;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1268 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
10250
9a0f00083ec1 [gaim-migrate @ 11390]
Mark Doliner <markdoliner@pidgin.im>
parents: 10246
diff changeset
1269
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1270 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1271 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1272 g_signal_connect(G_OBJECT(sel), "changed",
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1273 G_CALLBACK(pounce_selected_cb), dialog);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1274
12137
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1275 /* Handle double-clicking */
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1276 g_signal_connect(G_OBJECT(treeview), "button_press_event",
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1277 G_CALLBACK(pounce_double_click_cb), dialog);
6a9dafcaaed1 [gaim-migrate @ 14437]
Richard Laager <rlaager@pidgin.im>
parents: 12136
diff changeset
1278
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1279 gtk_container_add(GTK_CONTAINER(sw), treeview);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1280 gtk_widget_show(treeview);
8259
7ed91862683d [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1281
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1282 /* Pouncee Column */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1283 column = gtk_tree_view_column_new();
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1284 gtk_tree_view_column_set_title(column, _("Pounce Target"));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1285 gtk_tree_view_column_set_resizable(column, TRUE);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1286 gtk_tree_view_column_set_min_width(column, 200);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1287 gtk_tree_view_column_set_sort_column_id(column,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1288 POUNCES_MANAGER_COLUMN_TARGET);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1289 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
5161
9a5172d9d9e1 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
1290
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1291 /* Icon */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1292 renderer = gtk_cell_renderer_pixbuf_new();
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1293 gtk_tree_view_column_pack_start(column, renderer, FALSE);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1294 gtk_tree_view_column_add_attribute(column, renderer, "pixbuf",
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1295 POUNCES_MANAGER_COLUMN_ICON);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1296
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1297 /* Pouncee */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1298 renderer = gtk_cell_renderer_text_new();
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1299 gtk_tree_view_column_pack_start(column, renderer, TRUE);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1300 gtk_tree_view_column_add_attribute(column, renderer, "text",
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1301 POUNCES_MANAGER_COLUMN_TARGET);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1302
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1303
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1304 /* Account Column */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1305 column = gtk_tree_view_column_new();
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1306 gtk_tree_view_column_set_title(column, _("Account"));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1307 gtk_tree_view_column_set_resizable(column, TRUE);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1308 gtk_tree_view_column_set_min_width(column, 200);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1309 gtk_tree_view_column_set_sort_column_id(column,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1310 POUNCES_MANAGER_COLUMN_ACCOUNT);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1311 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1312 renderer = gtk_cell_renderer_text_new();
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1313 gtk_tree_view_column_pack_start(column, renderer, TRUE);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1314 gtk_tree_view_column_add_attribute(column, renderer, "text",
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1315 POUNCES_MANAGER_COLUMN_ACCOUNT);
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1316
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1317 /* Recurring Column */
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1318 renderer = gtk_cell_renderer_toggle_new();
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1319 column = gtk_tree_view_column_new_with_attributes(_("Recurring"), renderer,
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1320 "active", POUNCES_MANAGER_COLUMN_RECURRING, NULL);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1321 gtk_tree_view_column_set_sort_column_id(column,
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1322 POUNCES_MANAGER_COLUMN_RECURRING);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1323 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1324 g_signal_connect(G_OBJECT(renderer), "toggled",
12193
243b18a880ba [gaim-migrate @ 14495]
Richard Laager <rlaager@pidgin.im>
parents: 12192
diff changeset
1325 G_CALLBACK(pounces_manager_recurring_cb), dialog);
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1326
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1327 /* Enable CTRL+F searching */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1328 gtk_tree_view_set_search_column(GTK_TREE_VIEW(treeview), POUNCES_MANAGER_COLUMN_TARGET);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1329 gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), search_func, NULL, NULL);
8259
7ed91862683d [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1330
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1331 /* Sort the pouncee column by default */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1332 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(dialog->model),
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1333 POUNCES_MANAGER_COLUMN_TARGET,
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1334 GTK_SORT_ASCENDING);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1335
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1336 /* Populate list */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1337 populate_pounces_list(dialog);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1338
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1339 return sw;
5153
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1340 }
4865538db77a [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1341
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1342 void
21182
23cc39e90bf7 Only the request API changes
Gabriel Schulhof <nix@go-nix.ca>
parents: 21162
diff changeset
1343 pidgin_pounces_manager_show(void)
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1344 {
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1345 PouncesManager *dialog;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1346 GtkWidget *button;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1347 GtkWidget *list;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1348 GtkWidget *vbox;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1349 GtkWidget *win;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1350 int width, height;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1351
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1352 if (pounces_manager != NULL) {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1353 gtk_window_present(GTK_WINDOW(pounces_manager->window));
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1354 return;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1355 }
8252
15c6f400498a [gaim-migrate @ 8975]
Nathan Walp <nwalp@pidgin.im>
parents: 8236
diff changeset
1356
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1357 pounces_manager = dialog = g_new0(PouncesManager, 1);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1358
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1359 width = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/pounces/dialog/width");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1360 height = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/pounces/dialog/height");
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1361
22000
5e7708f58d3d Patch from fmoo. This makes a lot of the windows closeable with Escape. There
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21630
diff changeset
1362 dialog->window = win = pidgin_create_dialog(_("Buddy Pounces"), PIDGIN_HIG_BORDER, "pounces", TRUE);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1363 gtk_window_set_default_size(GTK_WINDOW(win), width, height);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1364
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1365 g_signal_connect(G_OBJECT(win), "delete_event",
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1366 G_CALLBACK(pounces_manager_destroy_cb), dialog);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1367 g_signal_connect(G_OBJECT(win), "configure_event",
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1368 G_CALLBACK(pounces_manager_configure_cb), dialog);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1369
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1370 /* Setup the vbox */
22000
5e7708f58d3d Patch from fmoo. This makes a lot of the windows closeable with Escape. There
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21630
diff changeset
1371 vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(win), FALSE, PIDGIN_HIG_BORDER);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1372
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1373 /* List of saved buddy pounces */
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1374 list = create_pounces_list(dialog);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1375 gtk_box_pack_start(GTK_BOX(vbox), list, TRUE, TRUE, 0);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1376
22005
0183020ba2cc Add a utility function pidgin_dialog_add_button to add buttons to a dialog
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22000
diff changeset
1377 /* Add button */
24594
b2da1decae23 Add an ellipsis to the "Add" and "Modify" buttons in the accounts, pounces, and
Alex Willmer <alex@moreati.org.uk>
parents: 23260
diff changeset
1378 button = pidgin_dialog_add_button(GTK_DIALOG(win), PIDGIN_STOCK_ADD, G_CALLBACK(pounces_manager_add_cb), dialog);
22005
0183020ba2cc Add a utility function pidgin_dialog_add_button to add buttons to a dialog
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22000
diff changeset
1379 gtk_widget_set_sensitive(button, (purple_accounts_get_all() != NULL));
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1380
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1381 purple_signal_connect(purple_connections_get_handle(), "signed-on",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1382 pounces_manager, PURPLE_CALLBACK(pounces_manager_connection_cb), button);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1383 purple_signal_connect(purple_connections_get_handle(), "signed-off",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1384 pounces_manager, PURPLE_CALLBACK(pounces_manager_connection_cb), button);
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1385
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1386 /* Modify button */
22005
0183020ba2cc Add a utility function pidgin_dialog_add_button to add buttons to a dialog
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22000
diff changeset
1387 button = pidgin_dialog_add_button(GTK_DIALOG(win), PIDGIN_STOCK_MODIFY, G_CALLBACK(pounces_manager_modify_cb), dialog);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1388 gtk_widget_set_sensitive(button, FALSE);
22005
0183020ba2cc Add a utility function pidgin_dialog_add_button to add buttons to a dialog
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22000
diff changeset
1389 dialog->modify_button = button;
8259
7ed91862683d [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1390
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1391 /* Delete button */
22005
0183020ba2cc Add a utility function pidgin_dialog_add_button to add buttons to a dialog
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22000
diff changeset
1392 button = pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_DELETE, G_CALLBACK(pounces_manager_delete_cb), dialog);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1393 gtk_widget_set_sensitive(button, FALSE);
22005
0183020ba2cc Add a utility function pidgin_dialog_add_button to add buttons to a dialog
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22000
diff changeset
1394 dialog->delete_button = button;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1395
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1396 /* Close button */
22005
0183020ba2cc Add a utility function pidgin_dialog_add_button to add buttons to a dialog
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22000
diff changeset
1397 pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_CLOSE, G_CALLBACK(pounces_manager_close_cb), dialog);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1398
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1399 gtk_widget_show(win);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1400 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1401
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1402 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
1403 pidgin_pounces_manager_hide(void)
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1404 {
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1405 if (pounces_manager == NULL)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1406 return;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1407
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1408 if (pounces_manager->window != NULL)
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1409 gtk_widget_destroy(pounces_manager->window);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1410
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1411 purple_signals_disconnect_by_handle(pounces_manager);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1412
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1413 g_free(pounces_manager);
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1414 pounces_manager = NULL;
5032
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1415 }
2276c67b0243 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1416
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1417 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1418 pounce_cb(PurplePounce *pounce, PurplePounceEvent events, void *data)
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1419 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1420 PurpleConversation *conv;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1421 PurpleAccount *account;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1422 PurpleBuddy *buddy;
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1423 const char *pouncee;
7994
13b0203d6d52 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
1424 const char *alias;
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1425
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1426 pouncee = purple_pounce_get_pouncee(pounce);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1427 account = purple_pounce_get_pouncer(pounce);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1428
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1429 buddy = purple_find_buddy(account, pouncee);
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1430 if (buddy != NULL)
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1431 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1432 alias = purple_buddy_get_alias(buddy);
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1433 if (alias == NULL)
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1434 alias = pouncee;
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1435 }
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1436 else
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1437 alias = pouncee;
7994
13b0203d6d52 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
1438
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1439 if (purple_pounce_action_is_enabled(pounce, "open-window"))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1440 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1441 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, pouncee, account);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1442
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1443 if (conv == NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1444 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, pouncee);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1445 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1446
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1447 if (purple_pounce_action_is_enabled(pounce, "popup-notify"))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1448 {
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1449 char *tmp;
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1450 const char *name_shown;
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1451 const char *reason;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1452 reason = purple_pounce_action_get_attribute(pounce, "popup-notify",
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1453 "reason");
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1454
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1455 /*
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1456 * Here we place the protocol name in the pounce dialog to lessen
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1457 * confusion about what protocol a pounce is for.
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1458 */
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1459 tmp = g_strdup_printf(
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1460 (events & PURPLE_POUNCE_TYPING) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1461 _("%s has started typing to you (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1462 (events & PURPLE_POUNCE_TYPED) ?
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
1463 _("%s has paused while typing to you (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1464 (events & PURPLE_POUNCE_SIGNON) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1465 _("%s has signed on (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1466 (events & PURPLE_POUNCE_IDLE_RETURN) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1467 _("%s has returned from being idle (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1468 (events & PURPLE_POUNCE_AWAY_RETURN) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1469 _("%s has returned from being away (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1470 (events & PURPLE_POUNCE_TYPING_STOPPED) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1471 _("%s has stopped typing to you (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1472 (events & PURPLE_POUNCE_SIGNOFF) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1473 _("%s has signed off (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1474 (events & PURPLE_POUNCE_IDLE) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1475 _("%s has become idle (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1476 (events & PURPLE_POUNCE_AWAY) ?
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1477 _("%s has gone away. (%s)") :
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1478 (events & PURPLE_POUNCE_MESSAGE_RECEIVED) ?
12694
526fc1678184 [gaim-migrate @ 15037]
Lucio Maciel
parents: 12336
diff changeset
1479 _("%s has sent you a message. (%s)") :
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1480 _("Unknown pounce event. Please report this!"),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1481 alias, purple_account_get_protocol_name(account));
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1482
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1483 /*
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1484 * Ok here is where I change the second argument, title, from
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1485 * NULL to the account alias if we have it or the account
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1486 * name if that's all we have
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1487 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1488 if ((name_shown = purple_account_get_alias(account)) == NULL)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1489 name_shown = purple_account_get_username(account);
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1490
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1491 if (reason == NULL)
13120
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13105
diff changeset
1492 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1493 purple_notify_info(NULL, name_shown, tmp, purple_date_format_full(NULL));
13120
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13105
diff changeset
1494 }
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1495 else
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1496 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1497 char *tmp2 = g_strdup_printf("%s\n\n%s", reason, purple_date_format_full(NULL));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1498 purple_notify_info(NULL, name_shown, tmp, tmp2);
12934
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1499 g_free(tmp2);
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1500 }
d3ce70776eb5 [gaim-migrate @ 15287]
Richard Nelson <wabz@pidgin.im>
parents: 12694
diff changeset
1501 g_free(tmp);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1502 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1503
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1504 if (purple_pounce_action_is_enabled(pounce, "send-message"))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1505 {
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1506 const char *message;
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1507
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1508 message = purple_pounce_action_get_attribute(pounce, "send-message",
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1509 "message");
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1510
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1511 if (message != NULL)
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1512 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1513 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, pouncee, account);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1514
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1515 if (conv == NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1516 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, pouncee);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1517
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1518 purple_conversation_write(conv, NULL, message,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1519 PURPLE_MESSAGE_SEND, time(NULL));
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1520
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6695
diff changeset
1521 serv_send_im(account->gc, (char *)pouncee, (char *)message, 0);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1522 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1523 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1524
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1525 if (purple_pounce_action_is_enabled(pounce, "execute-command"))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1526 {
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1527 const char *command;
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1528
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1529 command = purple_pounce_action_get_attribute(pounce,
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1530 "execute-command", "command");
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1531
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1532 if (command != NULL)
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1533 {
6660
b0f52293fb7e [gaim-migrate @ 7185]
Kevin Stange <kstange@pidgin.im>
parents: 6646
diff changeset
1534 #ifndef _WIN32
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1535 char *localecmd = g_locale_from_utf8(command, -1, NULL,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1536 NULL, NULL);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1537
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1538 if (localecmd != NULL)
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1539 {
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1540 int pid = fork();
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1541
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1542 if (pid == 0) {
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1543 char *args[4];
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1544
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1545 args[0] = "sh";
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1546 args[1] = "-c";
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1547 args[2] = (char *)localecmd;
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1548 args[3] = NULL;
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1549
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1550 execvp(args[0], args);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1551
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1552 _exit(0);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1553 }
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1554 g_free(localecmd);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1555 }
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1556 #else /* !_WIN32 */
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1557 PROCESS_INFORMATION pi;
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1558 BOOL retval;
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1559 gchar *message = NULL;
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1560
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1561 memset(&pi, 0, sizeof(pi));
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1562
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1563 if (G_WIN32_HAVE_WIDECHAR_API ()) {
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1564 STARTUPINFOW si;
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1565 wchar_t *wc_cmd = g_utf8_to_utf16(command,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1566 -1, NULL, NULL, NULL);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1567
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1568 memset(&si, 0 , sizeof(si));
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1569 si.cb = sizeof(si);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1570
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1571 retval = CreateProcessW(NULL, wc_cmd, NULL,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1572 NULL, 0, 0, NULL, NULL,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1573 &si, &pi);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1574 g_free(wc_cmd);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1575 } else {
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1576 STARTUPINFOA si;
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1577 char *l_cmd = g_locale_from_utf8(command,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1578 -1, NULL, NULL, NULL);
6660
b0f52293fb7e [gaim-migrate @ 7185]
Kevin Stange <kstange@pidgin.im>
parents: 6646
diff changeset
1579
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1580 memset(&si, 0 , sizeof(si));
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1581 si.cb = sizeof(si);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1582
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1583 retval = CreateProcessA(NULL, l_cmd, NULL,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1584 NULL, 0, 0, NULL, NULL,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1585 &si, &pi);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1586 g_free(l_cmd);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1587 }
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1588
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1589 if (retval) {
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1590 CloseHandle(pi.hProcess);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1591 CloseHandle(pi.hThread);
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1592 } else {
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1593 message = g_win32_error_message(GetLastError());
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1594 }
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1595
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1596 purple_debug_info("pounce",
10921
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1597 "Pounce execute command called for: "
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1598 "%s\n%s%s%s",
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1599 command,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1600 retval ? "" : "Error: ",
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1601 retval ? "" : message,
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1602 retval ? "" : "\n");
44adf364b1e7 [gaim-migrate @ 12688]
Daniel Atallah <datallah@pidgin.im>
parents: 10913
diff changeset
1603 g_free(message);
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1604 #endif /* !_WIN32 */
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1605 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1606 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1607
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1608 if (purple_pounce_action_is_enabled(pounce, "play-sound"))
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1609 {
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1610 const char *sound;
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1611
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1612 sound = purple_pounce_action_get_attribute(pounce,
9205
8c4dbbe6386f [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1613 "play-sound", "filename");
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1614
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1615 if (sound != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1616 purple_sound_play_file(sound, account);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1617 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1618 purple_sound_play_event(PURPLE_SOUND_POUNCE_DEFAULT, account);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1619 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1620 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1621
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1622 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1623 free_pounce(PurplePounce *pounce)
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1624 {
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1625 update_pounces();
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1626 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1627
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1628 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1629 new_pounce(PurplePounce *pounce)
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1630 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1631 purple_pounce_action_register(pounce, "open-window");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1632 purple_pounce_action_register(pounce, "popup-notify");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1633 purple_pounce_action_register(pounce, "send-message");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1634 purple_pounce_action_register(pounce, "execute-command");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1635 purple_pounce_action_register(pounce, "play-sound");
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1636
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1637 update_pounces();
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1638 }
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1639
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1640 void *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
1641 pidgin_pounces_get_handle() {
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1642 static int handle;
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1643
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1644 return &handle;
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1645 }
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1646
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1647 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
1648 pidgin_pounces_init(void)
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1649 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1650 purple_pounces_register_handler(PIDGIN_UI, pounce_cb, new_pounce,
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1651 free_pounce);
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1652
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1653 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/pounces");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1654 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/pounces/default_actions");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1655 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/open-window",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1656 FALSE);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1657 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/popup-notify",
12141
9cd436b9b7f6 [gaim-migrate @ 14442]
Richard Laager <rlaager@pidgin.im>
parents: 12137
diff changeset
1658 TRUE);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1659 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/send-message",
12141
9cd436b9b7f6 [gaim-migrate @ 14442]
Richard Laager <rlaager@pidgin.im>
parents: 12137
diff changeset
1660 FALSE);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1661 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/execute-command",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1662 FALSE);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1663 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/pounces/default_actions/play-sound",
9206
57a4db675f8d [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1664 FALSE);
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1665 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/pounces/dialog");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1666 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/pounces/dialog/width", 520);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1667 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/pounces/dialog/height", 321);
12136
027b7ebee256 [gaim-migrate @ 14436]
Kevin Stange <kstange@pidgin.im>
parents: 11995
diff changeset
1668
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1669 purple_signal_connect(purple_connections_get_handle(), "signed-on",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
1670 pidgin_pounces_get_handle(),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1671 PURPLE_CALLBACK(signed_on_off_cb), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1672 purple_signal_connect(purple_connections_get_handle(), "signed-off",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15496
diff changeset
1673 pidgin_pounces_get_handle(),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1674 PURPLE_CALLBACK(signed_on_off_cb), NULL);
5875
493a921c0378 [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1675 }

mercurial