annotate src/gtkpounce.c @ 9709:4d05b6e9e9cd

[gaim-migrate @ 10570] This patch is freaking massive. Renamed ui.h to gtkdialogs.h Renamed dialogs.c to gtkdialogs.c sed'ed the hell out of the .po files These files are similar to gtkutil.c/.h. They are meant to contain dialogs such as the "New Instant Message" window, which does not belong in gtkblist.c or gtkconv.c, and is called from both places. Eventually the functions in gtkdialogs.c/.h should be changed to conform to Gaim's naming convention. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 08 Aug 2004 00:48:19 +0000
parents 267eab8f3fa4
children 4a15962c344a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
2 * @file gtkpounce.c GTK+ Buddy Pounce API
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
3 * @ingroup gtkui
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7994
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7994
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7994
diff changeset
9 * source distribution.
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
10 *
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 *
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 */
6371
8f94cce8faa5 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 5966
diff changeset
26 #include "gtkinternal.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
27
8235
63c7a16a2c09 [gaim-migrate @ 8958]
Mark Doliner <mark@kingant.net>
parents: 8157
diff changeset
28 #include "account.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
29 #include "conversation.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
30 #include "debug.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
31 #include "notify.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
32 #include "prpl.h"
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
33 #include "request.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
34 #include "server.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
35 #include "sound.h"
9709
4d05b6e9e9cd [gaim-migrate @ 10570]
Mark Doliner <mark@kingant.net>
parents: 9699
diff changeset
36 #include "util.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
37
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
38 #include "gtkblist.h"
9709
4d05b6e9e9cd [gaim-migrate @ 10570]
Mark Doliner <mark@kingant.net>
parents: 9699
diff changeset
39 #include "gtkdialogs.h"
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 #include "gtkpounce.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
41 #include "gtkutils.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
42
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
43 typedef struct
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 /* Pounce data */
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
46 GaimPounce *pounce;
5563
9eb5b13fd412 [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
47 GaimAccount *account;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 /* The window */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 GtkWidget *window;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 /* Pounce Who */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 GtkWidget *account_menu;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 GtkWidget *buddy_entry;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 /* Pounce When */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 GtkWidget *signon;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 GtkWidget *signoff;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 GtkWidget *away;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60 GtkWidget *away_return;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 GtkWidget *idle;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 GtkWidget *idle_return;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 GtkWidget *typing;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 GtkWidget *stop_typing;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 /* Pounce Action */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 GtkWidget *open_win;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 GtkWidget *popup;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 GtkWidget *send_msg;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 GtkWidget *send_msg_entry;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 GtkWidget *exec_cmd;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 GtkWidget *exec_cmd_entry;
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
73 GtkWidget *exec_cmd_browse;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 GtkWidget *play_sound;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 GtkWidget *play_sound_entry;
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
76 GtkWidget *play_sound_browse;
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
77 GtkWidget *play_sound_test;
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
78
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 GtkWidget *save_pounce;
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
80
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
81 /* Buttons */
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
82 GtkWidget *save_button;
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
83
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
84 } GaimGtkPounceDialog;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 /**************************************************************************
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 * Callbacks
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 **************************************************************************/
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 static gint
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
90 delete_win_cb(GtkWidget *w, GdkEventAny *e, GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92 gtk_widget_destroy(dialog->window);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 g_free(dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 return TRUE;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
98 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
99 delete_cb(GtkWidget *w, GaimGtkPounceDialog *dialog)
5052
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
100 {
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
101 gaim_pounce_destroy(dialog->pounce);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
102
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
103 delete_win_cb(NULL, NULL, dialog);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
104 }
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
105
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
106 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
107 cancel_cb(GtkWidget *w, GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
108 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
109 delete_win_cb(NULL, NULL, dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
110 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
112 static void
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
113 pounce_update_entry_fields(void *user_data, const char *filename)
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
114 {
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
115 GtkWidget *entry = (GtkWidget *)user_data;
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
116
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
117 gtk_entry_set_text(GTK_ENTRY(entry), filename);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
118 }
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
119
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
120 static void
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
121 filesel(GtkWidget *widget, gpointer data)
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
122 {
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
123 GtkWidget *entry;
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
124 const gchar *name;
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
125
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
126 entry = (GtkWidget *)data;
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
127 name = gtk_entry_get_text(GTK_ENTRY(entry));
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
128
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
129 gaim_request_file(entry, _("Select a file"), name, FALSE,
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
130 G_CALLBACK(pounce_update_entry_fields), NULL, entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
131 }
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
132
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
133 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
134 pounce_test_sound(GtkWidget *w, GtkWidget *entry)
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
135 {
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
136 const char *filename;
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
137
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
138 filename = gtk_entry_get_text(GTK_ENTRY(entry));
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
139
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
140 if (filename != NULL && *filename != '\0')
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
141 gaim_sound_play_file((char *) filename);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
142 else
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
143 gaim_sound_play_event(GAIM_SOUND_POUNCE_DEFAULT);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
144 }
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
145
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
146 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
147 save_pounce_cb(GtkWidget *w, GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
148 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
149 const char *name;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
150 const char *message, *command, *sound;
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
151 GaimBuddyList *blist;
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
152 GaimGtkBuddyList *gtkblist;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153 GaimPounceEvent events = GAIM_POUNCE_NONE;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
155 name = gtk_entry_get_text(GTK_ENTRY(dialog->buddy_entry));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
156
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
157 if (*name == '\0')
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
158 {
5436
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5319
diff changeset
159 gaim_notify_error(NULL, NULL,
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5319
diff changeset
160 _("Please enter a buddy to pounce."), NULL);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161 return;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
162 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
163
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
164 /* Events */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->signon)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
166 events |= GAIM_POUNCE_SIGNON;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
167
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
168 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->signoff)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
169 events |= GAIM_POUNCE_SIGNOFF;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
171 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->away)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
172 events |= GAIM_POUNCE_AWAY;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
174 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->away_return)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
175 events |= GAIM_POUNCE_AWAY_RETURN;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->idle)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178 events |= GAIM_POUNCE_IDLE;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->idle_return)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 events |= GAIM_POUNCE_IDLE_RETURN;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
182
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->typing)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
184 events |= GAIM_POUNCE_TYPING;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
185
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
186 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->stop_typing)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
187 events |= GAIM_POUNCE_TYPING_STOPPED;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
188
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
189 /* Data fields */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
190 message = gtk_entry_get_text(GTK_ENTRY(dialog->send_msg_entry));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
191 command = gtk_entry_get_text(GTK_ENTRY(dialog->exec_cmd_entry));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
192 sound = gtk_entry_get_text(GTK_ENTRY(dialog->play_sound_entry));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
194 if (*message == '\0') message = NULL;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195 if (*command == '\0') command = NULL;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 if (*sound == '\0') sound = NULL;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
198 if (dialog->pounce == NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
199 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
200 dialog->pounce = gaim_pounce_new(GAIM_GTK_UI, dialog->account,
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
201 name, events);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
202 }
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
203 else {
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
204 gaim_pounce_set_events(dialog->pounce, events);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
205 gaim_pounce_set_pouncer(dialog->pounce, dialog->account);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
206 gaim_pounce_set_pouncee(dialog->pounce, name);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
207 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
208
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
209 /* Actions */
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
210 gaim_pounce_action_set_enabled(dialog->pounce, "open-window",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
211 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->open_win)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
212 gaim_pounce_action_set_enabled(dialog->pounce, "popup-notify",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
213 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->popup)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
214 gaim_pounce_action_set_enabled(dialog->pounce, "send-message",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
215 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->send_msg)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
216 gaim_pounce_action_set_enabled(dialog->pounce, "execute-command",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
217 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
218 gaim_pounce_action_set_enabled(dialog->pounce, "play-sound",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
219 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->play_sound)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
220
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
221 gaim_pounce_action_set_attribute(dialog->pounce, "send-message",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
222 "message", message);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
223 gaim_pounce_action_set_attribute(dialog->pounce, "execute-command",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
224 "command", command);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
225 gaim_pounce_action_set_attribute(dialog->pounce, "play-sound",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
226 "filename", sound);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
227
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
228 /* Set the defaults for next time. */
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
229 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/open-window",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
230 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->open_win)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
231 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/popup-notify",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
232 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->popup)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
233 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/send-message",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
234 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->send_msg)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
235 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/execute-command",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
236 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
237 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/play-sound",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
238 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->play_sound)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
239
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
240 gaim_pounce_set_save(dialog->pounce,
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
241 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->save_pounce)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
242
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
243 delete_win_cb(NULL, NULL, dialog);
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
244
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
245 gaim_pounces_sync();
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
246
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
247 /* Rebuild the pounce menu */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 blist = gaim_get_blist();
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
249
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
250 if (GAIM_IS_GTK_BLIST(blist))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
251 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
252 gtkblist = GAIM_GTK_BLIST(blist);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
253
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
254 gaim_gtkpounce_menu_build(gtkblist->bpmenu);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257
5054
abc8489b2e8f [gaim-migrate @ 5404]
Nathan Walp <nwalp@pidgin.im>
parents: 5052
diff changeset
258 static void
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
259 pounce_choose_cb(GtkWidget *item, GaimAccount *account,
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
260 GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
261 {
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
262 dialog->account = account;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
264
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
265 static void
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
266 buddy_changed_cb(GtkEntry *entry, GaimGtkPounceDialog *dialog)
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
267 {
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
268 if (dialog->save_button == NULL)
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
269 return;
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
270
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
271 gtk_widget_set_sensitive(dialog->save_button,
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
272 *gtk_entry_get_text(entry) != '\0');
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
273 }
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
274
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
275 static void
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
276 pounce_dnd_recv(GtkWidget *widget, GdkDragContext *dc, gint x, gint y,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
277 GtkSelectionData *sd, guint info, guint t, gpointer data)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
278 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
279 GaimGtkPounceDialog *dialog;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
280
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
281 if (sd->target == gdk_atom_intern("GAIM_BLIST_NODE", FALSE))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
282 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
283 GaimBlistNode *node = NULL;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
284 GaimBuddy *buddy;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
285
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
286 memcpy(&node, sd->data, sizeof(node));
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
287
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
288 if (GAIM_BLIST_NODE_IS_CONTACT(node))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
289 buddy = gaim_contact_get_priority_buddy((GaimContact *)node);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
290 else if (GAIM_BLIST_NODE_IS_BUDDY(node))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
291 buddy = (GaimBuddy *)node;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
292 else
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
293 return;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
294
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
295 dialog = (GaimGtkPounceDialog *)data;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
296
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
297 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), buddy->name);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
298
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
299 gtk_drag_finish(dc, TRUE, (dc->action == GDK_ACTION_MOVE), t);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
300 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
301 else if (sd->target == gdk_atom_intern("application/x-im-contact", FALSE))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
302 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
303 char *protocol = NULL;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
304 char *username = NULL;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
305 GaimAccount *account;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
306
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
307 if (gaim_gtk_parse_x_im_contact(sd->data, FALSE, &account,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
308 &protocol, &username, NULL))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
309 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
310 if (account == NULL)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
311 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
312 gaim_notify_error(NULL, NULL,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
313 _("You are not currently signed on with an account that "
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
314 "can add that buddy."), NULL);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
315 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
316 else
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
317 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
318 dialog = (GaimGtkPounceDialog *)data;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
319
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
320 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), username);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
321 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
322 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
323
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
324 if (username != NULL) g_free(username);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
325 if (protocol != NULL) g_free(protocol);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
326
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
327 gtk_drag_finish(dc, TRUE, (dc->action == GDK_ACTION_MOVE), t);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
328 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
329 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
330
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
331 static const GtkTargetEntry dnd_targets[] =
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
332 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
333 {"GAIM_BLIST_NODE", GTK_TARGET_SAME_APP, 0},
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
334 {"application/x-im-contact", 0, 1}
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
335 };
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
336
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
337 void
5907
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
338 gaim_gtkpounce_dialog_show(GaimAccount *account, const char *name,
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
339 GaimPounce *cur_pounce)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 {
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
341 GaimGtkPounceDialog *dialog;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
342 GtkWidget *window;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
343 GtkWidget *label;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
344 GtkWidget *bbox;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
345 GtkWidget *vbox1, *vbox2;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
346 GtkWidget *hbox;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
347 GtkWidget *button;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
348 GtkWidget *frame;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
349 GtkWidget *table;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
350 GtkWidget *sep;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
351 GtkSizeGroup *sg;
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
352 GPtrArray *sound_widgets;
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
353 GPtrArray *exec_widgets;
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
354
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
355 dialog = g_new0(GaimGtkPounceDialog, 1);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
357 if (cur_pounce != NULL)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
358 {
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
359 dialog->pounce = cur_pounce;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
360 dialog->account = gaim_pounce_get_pouncer(cur_pounce);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
361 }
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
362 else if (account != NULL)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
363 {
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
364 dialog->pounce = NULL;
5907
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
365 dialog->account = account;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
366 }
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
367 else
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
368 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
369 GaimConnection *gc;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
370
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
371 gc = (GaimConnection *)gaim_connections_get_all()->data;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
372
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
373 dialog->pounce = NULL;
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
374 dialog->account = gaim_connection_get_account(gc);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
375 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
377 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
378
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
379 /* Create the window. */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
380 dialog->window = window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
381 gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 gtk_window_set_role(GTK_WINDOW(window), "buddy_pounce");
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
383 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 gtk_window_set_title(GTK_WINDOW(window),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
385 (cur_pounce == NULL
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
386 ? _("New Buddy Pounce") : _("Edit Buddy Pounce")));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
387
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388 gtk_container_set_border_width(GTK_CONTAINER(window), 12);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
389
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
390 g_signal_connect(G_OBJECT(window), "delete_event",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
391 G_CALLBACK(delete_win_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
393 /* Create the parent vbox for everything. */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
394 vbox1 = gtk_vbox_new(FALSE, 12);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
395 gtk_container_add(GTK_CONTAINER(window), vbox1);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
396 gtk_widget_show(vbox1);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
397
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
398 /* Create the vbox that will contain all the prefs stuff. */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399 vbox2 = gtk_vbox_new(FALSE, 18);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
400 gtk_box_pack_start(GTK_BOX(vbox1), vbox2, TRUE, TRUE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
401
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402 /* Create the "Pounce Who" frame. */
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
403 frame = gaim_gtk_make_frame(vbox2, _("Pounce Who"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
404
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
405 /* Account: */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
406 hbox = gtk_hbox_new(FALSE, 6);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 gtk_widget_show(hbox);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
409
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 label = gtk_label_new_with_mnemonic(_("_Account:"));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
413 gtk_widget_show(label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
414 gtk_size_group_add_widget(sg, label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
415
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
416 dialog->account_menu =
6646
b89d98f0bf79 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
417 gaim_gtk_account_option_menu_new(dialog->account, FALSE,
b89d98f0bf79 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
418 G_CALLBACK(pounce_choose_cb),
b89d98f0bf79 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
419 NULL, dialog);
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
420
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
421 gtk_box_pack_start(GTK_BOX(hbox), dialog->account_menu, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
422 gtk_widget_show(dialog->account_menu);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
423 gaim_set_accessible_label (dialog->account_menu, label);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
425 /* Buddy: */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
426 hbox = gtk_hbox_new(FALSE, 6);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
427 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
428 gtk_widget_show(hbox);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
429
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
430 label = gtk_label_new_with_mnemonic(_("_Buddy name:"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
431 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
432 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
433 gtk_widget_show(label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
434 gtk_size_group_add_widget(sg, label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
435
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
436 dialog->buddy_entry = gtk_entry_new();
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
437
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
438 gtk_box_pack_start(GTK_BOX(hbox), dialog->buddy_entry, TRUE, TRUE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
439 gtk_widget_show(dialog->buddy_entry);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
440
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
441 g_signal_connect(G_OBJECT(dialog->buddy_entry), "changed",
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
442 G_CALLBACK(buddy_changed_cb), dialog);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
443 gaim_set_accessible_label (dialog->buddy_entry, label);
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
444
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
445 if (cur_pounce != NULL) {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
446 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
447 gaim_pounce_get_pouncee(cur_pounce));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
448 }
5907
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
449 else if (name != NULL) {
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
450 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), name);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
451 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
453 /* Create the "Pounce When" frame. */
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
454 frame = gaim_gtk_make_frame(vbox2, _("Pounce When"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
455
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
456 table = gtk_table_new(2, 4, FALSE);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
457 gtk_container_add(GTK_CONTAINER(frame), table);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
458 gtk_table_set_col_spacings(GTK_TABLE(table), 12);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459 gtk_widget_show(table);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
460
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
461 dialog->signon =
9591
bc910eb2679f [gaim-migrate @ 10434]
Luke Schierer <lschiere@pidgin.im>
parents: 9505
diff changeset
462 gtk_check_button_new_with_mnemonic(_("Si_gn on"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
463 dialog->signoff =
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
464 gtk_check_button_new_with_mnemonic(_("Sign _off"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
465 dialog->away =
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
466 gtk_check_button_new_with_mnemonic(_("A_way"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
467 dialog->away_return =
9591
bc910eb2679f [gaim-migrate @ 10434]
Luke Schierer <lschiere@pidgin.im>
parents: 9505
diff changeset
468 gtk_check_button_new_with_mnemonic(_("_Return from away"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
469 dialog->idle =
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
470 gtk_check_button_new_with_mnemonic(_("_Idle"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
471 dialog->idle_return =
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
472 gtk_check_button_new_with_mnemonic(_("Retur_n from idle"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
473 dialog->typing =
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
474 gtk_check_button_new_with_mnemonic(_("Buddy starts _typing"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
475 dialog->stop_typing =
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
476 gtk_check_button_new_with_mnemonic(_("Buddy stops t_yping"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
477
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
478 gtk_table_attach(GTK_TABLE(table), dialog->signon, 0, 1, 0, 1,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
479 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
480 gtk_table_attach(GTK_TABLE(table), dialog->signoff, 1, 2, 0, 1,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
481 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
482 gtk_table_attach(GTK_TABLE(table), dialog->away, 0, 1, 1, 2,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
483 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
484 gtk_table_attach(GTK_TABLE(table), dialog->away_return, 1, 2, 1, 2,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
485 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
486 gtk_table_attach(GTK_TABLE(table), dialog->idle, 0, 1, 2, 3,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
487 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
488 gtk_table_attach(GTK_TABLE(table), dialog->idle_return, 1, 2, 2, 3,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
489 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
490 gtk_table_attach(GTK_TABLE(table), dialog->typing, 0, 1, 3, 4,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
491 GTK_FILL, 0, 0, 0);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
492 gtk_table_attach(GTK_TABLE(table), dialog->stop_typing, 1, 2, 3, 5,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
493 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
494
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
495 gtk_widget_show(dialog->signon);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
496 gtk_widget_show(dialog->signoff);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
497 gtk_widget_show(dialog->away);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
498 gtk_widget_show(dialog->away_return);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
499 gtk_widget_show(dialog->idle);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
500 gtk_widget_show(dialog->idle_return);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
501 gtk_widget_show(dialog->typing);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
502 gtk_widget_show(dialog->stop_typing);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
503
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
504 /* Create the "Pounce Action" frame. */
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
505 frame = gaim_gtk_make_frame(vbox2, _("Pounce Action"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
506
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
507 table = gtk_table_new(3, 5, FALSE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
508 gtk_container_add(GTK_CONTAINER(frame), table);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
509 gtk_table_set_col_spacings(GTK_TABLE(table), 12);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
510 gtk_widget_show(table);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
511
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
512 dialog->open_win
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
513 = gtk_check_button_new_with_mnemonic(_("Op_en an IM window"));
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
514 dialog->popup
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
515 = gtk_check_button_new_with_mnemonic(_("_Popup notification"));
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
516 dialog->send_msg
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
517 = gtk_check_button_new_with_mnemonic(_("Send a _message"));
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
518 dialog->exec_cmd
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
519 = gtk_check_button_new_with_mnemonic(_("E_xecute a command"));
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
520 dialog->play_sound
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
521 = gtk_check_button_new_with_mnemonic(_("P_lay a sound"));
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
522
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
523 dialog->send_msg_entry = gtk_entry_new();
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
524 dialog->exec_cmd_entry = gtk_entry_new();
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
525 dialog->exec_cmd_browse = gtk_button_new_with_mnemonic(_("B_rowse..."));
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
526 dialog->play_sound_entry = gtk_entry_new();
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
527 dialog->play_sound_browse = gtk_button_new_with_mnemonic(_("Bro_wse..."));
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
528 dialog->play_sound_test = gtk_button_new_with_mnemonic(_("Pre_view"));
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
529
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
530 gtk_widget_set_sensitive(dialog->send_msg_entry, FALSE);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
531 gtk_widget_set_sensitive(dialog->exec_cmd_entry, FALSE);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
532 gtk_widget_set_sensitive(dialog->exec_cmd_browse, FALSE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
533 gtk_widget_set_sensitive(dialog->play_sound_entry, FALSE);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
534 gtk_widget_set_sensitive(dialog->play_sound_browse, FALSE);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
535 gtk_widget_set_sensitive(dialog->play_sound_test, FALSE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
536
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
537 gtk_table_attach(GTK_TABLE(table), dialog->open_win, 0, 1, 0, 1,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
538 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
539 gtk_table_attach(GTK_TABLE(table), dialog->popup, 0, 1, 1, 2,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
540 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
541 gtk_table_attach(GTK_TABLE(table), dialog->send_msg, 0, 1, 2, 3,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
542 GTK_FILL, 0, 0, 0);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
543 gtk_table_attach(GTK_TABLE(table), dialog->send_msg_entry, 1, 4, 2, 3,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
544 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
545 gtk_table_attach(GTK_TABLE(table), dialog->exec_cmd, 0, 1, 3, 4,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
546 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
547 gtk_table_attach(GTK_TABLE(table), dialog->exec_cmd_entry, 1, 2, 3, 4,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
548 GTK_FILL, 0, 0, 0);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
549 gtk_table_attach(GTK_TABLE(table), dialog->exec_cmd_browse, 2, 3, 3, 4,
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
550 GTK_FILL | GTK_EXPAND, 0, 0, 0);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
551 gtk_table_attach(GTK_TABLE(table), dialog->play_sound, 0, 1, 4, 5,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
552 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
553 gtk_table_attach(GTK_TABLE(table), dialog->play_sound_entry, 1, 2, 4, 5,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
554 GTK_FILL, 0, 0, 0);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
555 gtk_table_attach(GTK_TABLE(table), dialog->play_sound_browse, 2, 3, 4, 5,
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
556 GTK_FILL | GTK_EXPAND, 0, 0, 0);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
557 gtk_table_attach(GTK_TABLE(table), dialog->play_sound_test, 3, 4, 4, 5,
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
558 GTK_FILL | GTK_EXPAND, 0, 0, 0);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
559
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
560 gtk_widget_show(dialog->open_win);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
561 gtk_widget_show(dialog->popup);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
562 gtk_widget_show(dialog->send_msg);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
563 gtk_widget_show(dialog->send_msg_entry);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
564 gtk_widget_show(dialog->exec_cmd);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
565 gtk_widget_show(dialog->exec_cmd_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
566 gtk_widget_show(dialog->exec_cmd_browse);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
567 gtk_widget_show(dialog->play_sound);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
568 gtk_widget_show(dialog->play_sound_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
569 gtk_widget_show(dialog->play_sound_browse);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
570 gtk_widget_show(dialog->play_sound_test);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
571
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
572 g_signal_connect(G_OBJECT(dialog->send_msg), "clicked",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
573 G_CALLBACK(gaim_gtk_toggle_sensitive),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
574 dialog->send_msg_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
575
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
576 exec_widgets = g_ptr_array_new();
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
577 g_ptr_array_add(exec_widgets,dialog->exec_cmd_entry);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
578 g_ptr_array_add(exec_widgets,dialog->exec_cmd_browse);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
579
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
580 g_signal_connect(G_OBJECT(dialog->exec_cmd), "clicked",
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
581 G_CALLBACK(gtk_toggle_sensitive_array),
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
582 exec_widgets);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
583 g_signal_connect(G_OBJECT(dialog->exec_cmd_browse), "clicked",
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
584 G_CALLBACK(filesel),
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
585 dialog->exec_cmd_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
586
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
587 sound_widgets = g_ptr_array_new();
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
588 g_ptr_array_add(sound_widgets,dialog->play_sound_entry);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
589 g_ptr_array_add(sound_widgets,dialog->play_sound_browse);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
590 g_ptr_array_add(sound_widgets,dialog->play_sound_test);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
591
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
592 g_signal_connect(G_OBJECT(dialog->play_sound), "clicked",
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
593 G_CALLBACK(gtk_toggle_sensitive_array),
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
594 sound_widgets);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
595 g_signal_connect(G_OBJECT(dialog->play_sound_browse), "clicked",
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
596 G_CALLBACK(filesel),
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
597 dialog->play_sound_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
598 g_signal_connect(G_OBJECT(dialog->play_sound_test), "clicked",
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
599 G_CALLBACK(pounce_test_sound),
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
600 dialog->play_sound_entry);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
601
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
602 g_signal_connect(G_OBJECT(dialog->send_msg_entry), "activate",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
603 G_CALLBACK(save_pounce_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
604 g_signal_connect(G_OBJECT(dialog->exec_cmd_entry), "activate",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
605 G_CALLBACK(save_pounce_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
606 g_signal_connect(G_OBJECT(dialog->play_sound_entry), "activate",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
607 G_CALLBACK(save_pounce_cb), dialog);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
608
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
609 /* Now the last part, where we have the Save checkbox */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
610 dialog->save_pounce = gtk_check_button_new_with_mnemonic(
8157
657b5acaec48 [gaim-migrate @ 8869]
Ethan Blanton <elb@pidgin.im>
parents: 8137
diff changeset
611 _("Sav_e this pounce after activation"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
612
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
613 gtk_box_pack_start(GTK_BOX(vbox2), dialog->save_pounce, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
614
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
615 /* Separator... */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
616 sep = gtk_hseparator_new();
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
617 gtk_box_pack_start(GTK_BOX(vbox1), sep, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
618 gtk_widget_show(sep);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
619
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
620 /* Now the button box! */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
621 bbox = gtk_hbutton_box_new();
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
622 gtk_box_set_spacing(GTK_BOX(bbox), 6);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
623 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
624 gtk_box_pack_end(GTK_BOX(vbox1), bbox, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
625 gtk_widget_show(bbox);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
626
5052
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
627 /* Delete button */
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
628 button = gtk_button_new_from_stock(GTK_STOCK_DELETE);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
629 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
630 gtk_widget_show(button);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
631
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
632 g_signal_connect(G_OBJECT(button), "clicked",
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
633 G_CALLBACK(delete_cb), dialog);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
634
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
635 /* Cancel button */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
636 button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
637 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
638 gtk_widget_show(button);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
639
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
640 g_signal_connect(G_OBJECT(button), "clicked",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
641 G_CALLBACK(cancel_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
642
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
643 /* Save button */
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
644 dialog->save_button = button = gtk_button_new_from_stock(GTK_STOCK_SAVE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
645 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
646 gtk_widget_show(button);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
647
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
648 g_signal_connect(G_OBJECT(button), "clicked",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
649 G_CALLBACK(save_pounce_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
650
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
651 if (*gtk_entry_get_text(GTK_ENTRY(dialog->buddy_entry)) == '\0')
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
652 gtk_widget_set_sensitive(button, FALSE);
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
653
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
654 /* Setup drag-and-drop */
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
655 gtk_drag_dest_set(window,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
656 GTK_DEST_DEFAULT_MOTION |
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
657 GTK_DEST_DEFAULT_DROP,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
658 dnd_targets,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
659 sizeof(dnd_targets) / sizeof(GtkTargetEntry),
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
660 GDK_ACTION_COPY);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
661 gtk_drag_dest_set(dialog->buddy_entry,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
662 GTK_DEST_DEFAULT_MOTION |
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
663 GTK_DEST_DEFAULT_DROP,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
664 dnd_targets,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
665 sizeof(dnd_targets) / sizeof(GtkTargetEntry),
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
666 GDK_ACTION_COPY);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
667
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
668 g_signal_connect(G_OBJECT(window), "drag_data_received",
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
669 G_CALLBACK(pounce_dnd_recv), dialog);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
670 g_signal_connect(G_OBJECT(dialog->buddy_entry), "drag_data_received",
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
671 G_CALLBACK(pounce_dnd_recv), dialog);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
672
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
673 /* Set the values of stuff. */
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
674 if (cur_pounce != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
675 {
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
676 GaimPounceEvent events = gaim_pounce_get_events(cur_pounce);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
677 const char *value;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
678
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
679 /* Events */
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
680 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->signon),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
681 (events & GAIM_POUNCE_SIGNON));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
682 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->signoff),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
683 (events & GAIM_POUNCE_SIGNOFF));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
684 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->away),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
685 (events & GAIM_POUNCE_AWAY));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
686 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->away_return),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
687 (events & GAIM_POUNCE_AWAY_RETURN));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
688 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
689 (events & GAIM_POUNCE_IDLE));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
690 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle_return),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
691 (events & GAIM_POUNCE_IDLE_RETURN));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
692 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->typing),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
693 (events & GAIM_POUNCE_TYPING));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
694 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->stop_typing),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
695 (events & GAIM_POUNCE_TYPING_STOPPED));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
696
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
697 /* Actions */
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
698 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->open_win),
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
699 gaim_pounce_action_is_enabled(cur_pounce, "open-window"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
700 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->popup),
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
701 gaim_pounce_action_is_enabled(cur_pounce, "popup-notify"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
702 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->send_msg),
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
703 gaim_pounce_action_is_enabled(cur_pounce, "send-message"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
704 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd),
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
705 gaim_pounce_action_is_enabled(cur_pounce, "execute-command"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
706 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->play_sound),
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
707 gaim_pounce_action_is_enabled(cur_pounce, "play-sound"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
708
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
709 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->save_pounce),
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
710 gaim_pounce_get_save(cur_pounce));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
711
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
712 if ((value = gaim_pounce_action_get_attribute(cur_pounce,
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
713 "send-message",
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
714 "message")) != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
715 {
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
716 gtk_entry_set_text(GTK_ENTRY(dialog->send_msg_entry), value);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
717 }
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
718
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
719 if ((value = gaim_pounce_action_get_attribute(cur_pounce,
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
720 "execute-command",
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
721 "command")) != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
722 {
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
723 gtk_entry_set_text(GTK_ENTRY(dialog->exec_cmd_entry), value);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
724 }
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
725
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
726 if ((value = gaim_pounce_action_get_attribute(cur_pounce,
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
727 "play-sound",
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
728 "filename")) != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
729 {
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
730 gtk_entry_set_text(GTK_ENTRY(dialog->play_sound_entry), value);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
731 }
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
732 }
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
733 else
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
734 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
735 GaimBuddy *buddy = NULL;
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
736
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
737 if (name != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
738 buddy = gaim_find_buddy(account, name);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
739
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
740 /* Set some defaults */
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
741 if (buddy == NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
742 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
743 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
744 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
745 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
746 else
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
747 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
748 if (!GAIM_BUDDY_IS_ONLINE(buddy))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
749 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
750 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
751 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
752 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
753 else
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
754 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
755 gboolean default_set = FALSE;
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
756
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
757 if (buddy->idle)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
758 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
759 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
760 GTK_TOGGLE_BUTTON(dialog->idle_return), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
761
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
762 default_set = TRUE;
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
763 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
764
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
765 if (buddy->uc & UC_UNAVAILABLE)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
766 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
767 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
768 GTK_TOGGLE_BUTTON(dialog->away_return), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
769
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
770 default_set = TRUE;
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
771 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
772
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
773 if (!default_set)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
774 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
775 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
776 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
777 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
778 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
779 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
780
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
781 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->open_win),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
782 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/open-window"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
783 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->popup),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
784 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/popup-notify"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
785 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->send_msg),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
786 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/send-message"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
787 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
788 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/execute-command"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
789 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->play_sound),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
790 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/play-sound"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
791 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
792
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
793 gtk_widget_show_all(vbox2);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
794 gtk_widget_show(window);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
795 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
796
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
797 static void
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6660
diff changeset
798 new_pounce_cb(GtkWidget *w, GaimBuddy *b)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
799 {
5937
3034a6ea2d89 [gaim-migrate @ 6377]
Christian Hammond <chipx86@chipx86.com>
parents: 5907
diff changeset
800 if (b == NULL)
3034a6ea2d89 [gaim-migrate @ 6377]
Christian Hammond <chipx86@chipx86.com>
parents: 5907
diff changeset
801 gaim_gtkpounce_dialog_show(NULL, NULL, NULL);
3034a6ea2d89 [gaim-migrate @ 6377]
Christian Hammond <chipx86@chipx86.com>
parents: 5907
diff changeset
802 else
3034a6ea2d89 [gaim-migrate @ 6377]
Christian Hammond <chipx86@chipx86.com>
parents: 5907
diff changeset
803 gaim_gtkpounce_dialog_show(b->account, b->name, NULL);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
804 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
805
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
806 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
807 delete_pounce_cb(GtkWidget *w, GaimPounce *pounce)
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
808 {
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
809 gaim_pounce_destroy(pounce);
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
810 }
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
811
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
812 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
813 edit_pounce_cb(GtkWidget *w, GaimPounce *pounce)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
814 {
5907
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
815 gaim_gtkpounce_dialog_show(NULL, NULL, pounce);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
816 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
817
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
818 static gboolean
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
819 fill_menu(GtkWidget *menu, GCallback cb)
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
820 {
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
821 GtkWidget *image;
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
822 GtkWidget *item;
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
823 GdkPixbuf *pixbuf, *scale;
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
824 GaimPounce *pounce;
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
825 const char *buddy;
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
826 gboolean has_items = FALSE;
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
827 GList *bp;
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
828
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
829 for (bp = gaim_pounces_get_all(); bp != NULL; bp = bp->next)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
830 {
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
831 pounce = (GaimPounce *)bp->data;
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
832 buddy = gaim_pounce_get_pouncee(pounce);
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
833
8235
63c7a16a2c09 [gaim-migrate @ 8958]
Mark Doliner <mark@kingant.net>
parents: 8157
diff changeset
834 /* Check if account is online, if not skip it */
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
835 if (!gaim_account_is_connected(pounce->pouncer))
8235
63c7a16a2c09 [gaim-migrate @ 8958]
Mark Doliner <mark@kingant.net>
parents: 8157
diff changeset
836 continue;
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
837
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
838 has_items = TRUE;
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
839
5161
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
840 /* Build the menu item */
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
841 item = gtk_image_menu_item_new_with_label(buddy);
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
842
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
843 /* Create a pixmap for the protocol icon. */
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
844 pixbuf = create_prpl_icon(gaim_pounce_get_pouncer(pounce));
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
845 if (pixbuf != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
846 {
5161
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
847 scale = gdk_pixbuf_scale_simple(pixbuf, 16, 16,
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
848 GDK_INTERP_BILINEAR);
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
849
5161
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
850 /* Now convert it to GtkImage */
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
851 image = gtk_image_new_from_pixbuf(scale);
5161
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
852 g_object_unref(G_OBJECT(scale));
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
853 g_object_unref(G_OBJECT(pixbuf));
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
854 gtk_widget_show(image);
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
855 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
856 }
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
857
5161
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
858 /* Put the item in the menu */
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
859 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
860 gtk_widget_show(item);
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
861
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
862 /* Set our callbacks. */
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
863 g_signal_connect(G_OBJECT(item), "activate", cb, pounce);
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
864 }
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
865
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
866 return has_items;
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
867 }
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
868
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
869 void
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
870 gaim_gtkpounce_menu_build(GtkWidget *menu)
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
871 {
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
872 GtkWidget *remmenu;
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
873 GtkWidget *item;
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
874 GList *children, *l;
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
875 gboolean has_items;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
876
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
877 g_return_if_fail(menu != NULL);
8252
10a41e67a800 [gaim-migrate @ 8975]
Nathan Walp <nwalp@pidgin.im>
parents: 8236
diff changeset
878
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
879 if ((children = gtk_container_get_children(GTK_CONTAINER(menu))) != NULL)
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
880 {
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
881 for (l = children; l != NULL; l = l->next)
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
882 gtk_widget_destroy(GTK_WIDGET(l->data));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
883
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
884 g_list_free(children);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
885 }
8252
10a41e67a800 [gaim-migrate @ 8975]
Nathan Walp <nwalp@pidgin.im>
parents: 8236
diff changeset
886
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
887 /* "New Buddy Pounce" */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
888 item = gtk_menu_item_new_with_label(_("New Buddy Pounce"));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
889 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
890 gtk_widget_show(item);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
891 g_signal_connect(G_OBJECT(item), "activate",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
892 G_CALLBACK(new_pounce_cb), NULL);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
893
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
894 /* "Remove Buddy Pounce" */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
895 item = gtk_menu_item_new_with_label(_("Remove Buddy Pounce"));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
896 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
897
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
898 /* "Remove Buddy Pounce" menu */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
899 remmenu = gtk_menu_new();
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
900
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
901 has_items = fill_menu(remmenu, G_CALLBACK(delete_pounce_cb));
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
902
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
903 if (!has_items)
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
904 gtk_widget_set_sensitive(item, FALSE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
905
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
906 gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), remmenu);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
907 gtk_widget_show(remmenu);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
908 gtk_widget_show(item);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
909
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
910 /* Separator */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
911 item = gtk_separator_menu_item_new();
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
912 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
913 gtk_widget_show(item);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
914
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
915 fill_menu(menu, G_CALLBACK(edit_pounce_cb));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
916 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
917
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
918 static void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
919 pounce_cb(GaimPounce *pounce, GaimPounceEvent events, void *data)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
920 {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
921 GaimConversation *conv;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
922 GaimAccount *account;
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
923 GaimBuddy *buddy;
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
924 const char *pouncee;
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
925 const char *alias;
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
926
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
927 pouncee = gaim_pounce_get_pouncee(pounce);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
928 account = gaim_pounce_get_pouncer(pounce);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
929
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
930 buddy = gaim_find_buddy(account, pouncee);
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
931
9620
c001be3c330e [gaim-migrate @ 10464]
Mark Doliner <mark@kingant.net>
parents: 9606
diff changeset
932 alias = gaim_buddy_get_alias(buddy);
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
933
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
934 if (gaim_pounce_action_is_enabled(pounce, "open-window"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
935 {
6640
314111e7b601 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6621
diff changeset
936 conv = gaim_find_conversation_with_account(pouncee, account);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
937
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
938 if (conv == NULL)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
939 conv = gaim_conversation_new(GAIM_CONV_IM, account, pouncee);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
940 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
941
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
942 if (gaim_pounce_action_is_enabled(pounce, "popup-notify"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
943 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
944 char tmp[1024];
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
945 const char *name_shown;
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
946
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
947 /*
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
948 * Here we place the protocol name in the pounce dialog to lessen
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
949 * confusion about what protocol a pounce is for.
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
950 */
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
951 g_snprintf(tmp, sizeof(tmp),
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
952 (events & GAIM_POUNCE_TYPING) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
953 _("%s has started typing to you (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
954 (events & GAIM_POUNCE_SIGNON) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
955 _("%s has signed on (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
956 (events & GAIM_POUNCE_IDLE_RETURN) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
957 _("%s has returned from being idle (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
958 (events & GAIM_POUNCE_AWAY_RETURN) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
959 _("%s has returned from being away (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
960 (events & GAIM_POUNCE_TYPING_STOPPED) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
961 _("%s has stopped typing to you (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
962 (events & GAIM_POUNCE_SIGNOFF) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
963 _("%s has signed off (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
964 (events & GAIM_POUNCE_IDLE) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
965 _("%s has become idle (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
966 (events & GAIM_POUNCE_AWAY) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
967 _("%s has gone away. (%s)") :
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
968 _("Unknown pounce event. Please report this!"),
9699
267eab8f3fa4 [gaim-migrate @ 10558]
Mark Doliner <mark@kingant.net>
parents: 9620
diff changeset
969 alias, gaim_account_get_protocol_name(account));
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
970
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
971 /*
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
972 * Ok here is where I change the second argument, title, from
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
973 * NULL to the account name if that's all we have or the account
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
974 * alias if we have that
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
975 */
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
976 if ((name_shown = gaim_account_get_alias(account)) == NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
977 name_shown = gaim_account_get_username(account);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
978
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
979 gaim_notify_info(NULL, name_shown, tmp, gaim_date_full());
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
980 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
981
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
982 if (gaim_pounce_action_is_enabled(pounce, "send-message"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
983 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
984 const char *message;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
985
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
986 message = gaim_pounce_action_get_attribute(pounce, "send-message",
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
987 "message");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
988
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
989 if (message != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
990 {
6640
314111e7b601 [gaim-migrate @ 7165]
Christian Hammond <chipx86@chipx86.com>
parents: 6621
diff changeset
991 conv = gaim_find_conversation_with_account(pouncee, account);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
992
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
993 if (conv == NULL)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
994 conv = gaim_conversation_new(GAIM_CONV_IM, account, pouncee);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
995
6982
083d1e4a9c78 [gaim-migrate @ 7538]
Mark Doliner <mark@kingant.net>
parents: 6695
diff changeset
996 gaim_conversation_write(conv, NULL, message,
6621
42fdf16f1dad [gaim-migrate @ 7145]
Mark Doliner <mark@kingant.net>
parents: 6444
diff changeset
997 GAIM_MESSAGE_SEND, time(NULL));
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
998
6982
083d1e4a9c78 [gaim-migrate @ 7538]
Mark Doliner <mark@kingant.net>
parents: 6695
diff changeset
999 serv_send_im(account->gc, (char *)pouncee, (char *)message, 0);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1000 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1001 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1002
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1003 if (gaim_pounce_action_is_enabled(pounce, "execute-command"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1004 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1005 const char *command;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1006
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1007 command = gaim_pounce_action_get_attribute(pounce, "execute-command",
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1008 "command");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1009
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1010 if (command != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1011 {
6660
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1012 #ifndef _WIN32
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1013 int pid = fork();
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1014
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1015 if (pid == 0) {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1016 char *args[4];
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1017
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1018 args[0] = "sh";
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1019 args[1] = "-c";
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1020 args[2] = (char *)command;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1021 args[3] = NULL;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1022
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1023 execvp(args[0], args);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1024
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1025 _exit(0);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1026 }
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1027 #else /* !_WIN32 */
6660
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1028 STARTUPINFO StartInfo;
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1029 PROCESS_INFORMATION ProcInfo;
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1030
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1031 memset(&ProcInfo, 0, sizeof(ProcInfo));
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1032 memset(&StartInfo, 0 , sizeof(StartInfo));
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1033 StartInfo.cb = sizeof(StartInfo);
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1034 CreateProcess(NULL, (char *)command, NULL, NULL, 0, 0, NULL,
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1035 NULL, &StartInfo, &ProcInfo);
7276
29c0fe160f90 [gaim-migrate @ 7855]
Christian Hammond <chipx86@chipx86.com>
parents: 7098
diff changeset
1036 gaim_debug_info("pounce",
29c0fe160f90 [gaim-migrate @ 7855]
Christian Hammond <chipx86@chipx86.com>
parents: 7098
diff changeset
1037 "Pounce execute command called for: %s\n",
29c0fe160f90 [gaim-migrate @ 7855]
Christian Hammond <chipx86@chipx86.com>
parents: 7098
diff changeset
1038 command);
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1039 #endif /* !_WIN32 */
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1040 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1041 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1042
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1043 if (gaim_pounce_action_is_enabled(pounce, "play-sound"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1044 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1045 const char *sound;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1046
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1047 sound = gaim_pounce_action_get_attribute(pounce,
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1048 "play-sound", "filename");
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1049
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1050 if (sound != NULL)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1051 gaim_sound_play_file(sound);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1052 else
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1053 gaim_sound_play_event(GAIM_SOUND_POUNCE_DEFAULT);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1054 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1055 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1056
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1057 static void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1058 free_pounce(GaimPounce *pounce)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1059 {
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1060 GaimBuddyList *blist;
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1061 GaimGtkBuddyList *gtkblist;
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1062
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1063 /* Rebuild the pounce menu */
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1064 blist = gaim_get_blist();
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1065
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1066 if (GAIM_IS_GTK_BLIST(blist))
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1067 {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1068 gtkblist = GAIM_GTK_BLIST(blist);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1069
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1070 gaim_gtkpounce_menu_build(gtkblist->bpmenu);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1071 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1072 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1073
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1074 static void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1075 new_pounce(GaimPounce *pounce)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1076 {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1077 gaim_pounce_action_register(pounce, "open-window");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1078 gaim_pounce_action_register(pounce, "popup-notify");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1079 gaim_pounce_action_register(pounce, "send-message");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1080 gaim_pounce_action_register(pounce, "execute-command");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1081 gaim_pounce_action_register(pounce, "play-sound");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1082 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1083
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1084 void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1085 gaim_gtk_pounces_init(void)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1086 {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1087 gaim_pounces_register_handler(GAIM_GTK_UI, pounce_cb, new_pounce,
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1088 free_pounce);
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1089
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1090 gaim_prefs_add_none("/gaim/gtk/pounces");
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1091 gaim_prefs_add_none("/gaim/gtk/pounces/default_actions");
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1092 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/open-window",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1093 FALSE);
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1094 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/popup-notify",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1095 FALSE);
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1096 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/send-message",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1097 TRUE);
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1098 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/execute-command",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1099 FALSE);
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1100 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/play-sound",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1101 FALSE);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1102 }