annotate src/gtkpounce.c @ 13131:47ecef83e2e1

[gaim-migrate @ 15493] A lot of our conversation code assumes that conv->account != NULL. This is a completely invalid assumption. If you have a conversation open on an account, and you delete the account, Gaim should leave the conversation window open and set the account to NULL and handle everything appropriately. Currently it does not, and that makes me a little unhappy. To reproduce this: 1. Open a conversation with someone 2. Delete the account that you're sending messages from 3. Watch the assertion failures scroll by in the debug window committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 06 Feb 2006 05:43:09 +0000
parents fcde3faa1f57
children 18d320fdf28c
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 */
9791
4a15962c344a [gaim-migrate @ 10659]
Mark Doliner <mark@kingant.net>
parents: 9709
diff changeset
26 #include "internal.h"
4a15962c344a [gaim-migrate @ 10659]
Mark Doliner <mark@kingant.net>
parents: 9709
diff changeset
27 #include "gtkgaim.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
28
8235
63c7a16a2c09 [gaim-migrate @ 8958]
Mark Doliner <mark@kingant.net>
parents: 8157
diff changeset
29 #include "account.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
30 #include "conversation.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
31 #include "debug.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
32 #include "notify.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
33 #include "prpl.h"
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
34 #include "request.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
35 #include "server.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
36 #include "sound.h"
9709
4d05b6e9e9cd [gaim-migrate @ 10570]
Mark Doliner <mark@kingant.net>
parents: 9699
diff changeset
37 #include "util.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
38
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
39 #include "gtkblist.h"
9709
4d05b6e9e9cd [gaim-migrate @ 10570]
Mark Doliner <mark@kingant.net>
parents: 9699
diff changeset
40 #include "gtkdialogs.h"
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 #include "gtkpounce.h"
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
42 #include "gtkstock.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
43 #include "gtkutils.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5866
diff changeset
44
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
45 /**
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
46 * These are used for the GtkTreeView when you're scrolling through
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
47 * all your saved pounces.
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
48 */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
49 enum
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
50 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
51 /* Hidden column containing the GaimPounce */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
52 POUNCES_MANAGER_COLUMN_POUNCE,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
53 POUNCES_MANAGER_COLUMN_ICON,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
54 POUNCES_MANAGER_COLUMN_TARGET,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
55 POUNCES_MANAGER_COLUMN_ACCOUNT,
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
56 POUNCES_MANAGER_COLUMN_RECURRING,
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
57 POUNCES_MANAGER_NUM_COLUMNS
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
58 };
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
59
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
60 typedef struct
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 /* Pounce data */
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
63 GaimPounce *pounce;
5563
9eb5b13fd412 [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
64 GaimAccount *account;
5032
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 /* The window */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 GtkWidget *window;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
69 /* Pounce on Whom */
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 GtkWidget *account_menu;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 GtkWidget *buddy_entry;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
73 /* Pounce options */
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
74 GtkWidget *on_away;
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
75
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
76 /* Pounce When Buddy... */
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 GtkWidget *signon;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 GtkWidget *signoff;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 GtkWidget *away;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 GtkWidget *away_return;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 GtkWidget *idle;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 GtkWidget *idle_return;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 GtkWidget *typing;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 GtkWidget *stop_typing;
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
85 GtkWidget *message_recv;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
87 /* Action */
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 GtkWidget *open_win;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 GtkWidget *popup;
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
90 GtkWidget *popup_entry;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 GtkWidget *send_msg;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92 GtkWidget *send_msg_entry;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 GtkWidget *exec_cmd;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 GtkWidget *exec_cmd_entry;
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
95 GtkWidget *exec_cmd_browse;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 GtkWidget *play_sound;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97 GtkWidget *play_sound_entry;
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
98 GtkWidget *play_sound_browse;
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
99 GtkWidget *play_sound_test;
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
100
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
101 GtkWidget *save_pounce;
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
102
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
103 /* Buttons */
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
104 GtkWidget *save_button;
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
105
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
106 } GaimGtkPounceDialog;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
107
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
108 typedef struct
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
109 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
110 GtkWidget *window;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
111 GtkListStore *model;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
112 GtkWidget *treeview;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
113 GtkWidget *modify_button;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
114 GtkWidget *delete_button;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
115 } PouncesManager;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
116
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
117 static PouncesManager *pounces_manager = NULL;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
118
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
119 /**************************************************************************
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120 * Callbacks
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
121 **************************************************************************/
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122 static gint
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
123 delete_win_cb(GtkWidget *w, GdkEventAny *e, GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 gtk_widget_destroy(dialog->window);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 g_free(dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
128 return TRUE;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
132 delete_cb(GtkWidget *w, GaimGtkPounceDialog *dialog)
5052
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
133 {
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
134 gaim_pounce_destroy(dialog->pounce);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
135
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
136 delete_win_cb(NULL, NULL, dialog);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
137 }
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
138
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
139 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
140 cancel_cb(GtkWidget *w, GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
141 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
142 delete_win_cb(NULL, NULL, dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
143 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
145 static void
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
146 pounce_update_entry_fields(void *user_data, const char *filename)
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
147 {
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
148 GtkWidget *entry = (GtkWidget *)user_data;
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
149
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
150 gtk_entry_set_text(GTK_ENTRY(entry), filename);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
151 }
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
152
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
153 static void
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
154 filesel(GtkWidget *widget, gpointer data)
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
155 {
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
156 GtkWidget *entry;
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
157 const gchar *name;
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
158
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
159 entry = (GtkWidget *)data;
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
160 name = gtk_entry_get_text(GTK_ENTRY(entry));
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
161
9505
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
162 gaim_request_file(entry, _("Select a file"), name, FALSE,
12ce3d23c662 [gaim-migrate @ 10332]
Mark Doliner <mark@kingant.net>
parents: 9206
diff changeset
163 G_CALLBACK(pounce_update_entry_fields), NULL, entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
164 }
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
165
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
166 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
167 pounce_test_sound(GtkWidget *w, GtkWidget *entry)
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
168 {
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
169 const char *filename;
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
170
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
171 filename = gtk_entry_get_text(GTK_ENTRY(entry));
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
172
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
173 if (filename != NULL && *filename != '\0')
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11338
diff changeset
174 gaim_sound_play_file(filename, NULL);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
175 else
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11338
diff changeset
176 gaim_sound_play_event(GAIM_SOUND_POUNCE_DEFAULT, NULL);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
177 }
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179 static void
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
180 add_pounce_to_treeview(GtkListStore *model, GaimPounce *pounce)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
181 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
182 GtkTreeIter iter;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
183 GaimAccount *account;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
184 GaimPounceEvent events;
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
185 gboolean recurring;
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
186 const char *pouncer;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
187 const char *pouncee;
13090
0aa231ebbfd5 [gaim-migrate @ 15452]
Mark Doliner <mark@kingant.net>
parents: 13033
diff changeset
188 GdkPixbuf *pixbuf;
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
189
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
190 account = gaim_pounce_get_pouncer(pounce);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
191
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
192 if (gaim_account_is_disconnected(account))
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
193 return;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
194
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
195 events = gaim_pounce_get_events(pounce);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
196
13090
0aa231ebbfd5 [gaim-migrate @ 15452]
Mark Doliner <mark@kingant.net>
parents: 13033
diff changeset
197 pixbuf = gaim_gtk_create_prpl_icon(account, 0.5);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
198
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
199 pouncer = gaim_account_get_username(account);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
200 pouncee = gaim_pounce_get_pouncee(pounce);
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
201 recurring = gaim_pounce_get_save(pounce);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
202
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
203 gtk_list_store_append(model, &iter);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
204 gtk_list_store_set(model, &iter,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
205 POUNCES_MANAGER_COLUMN_POUNCE, pounce,
13090
0aa231ebbfd5 [gaim-migrate @ 15452]
Mark Doliner <mark@kingant.net>
parents: 13033
diff changeset
206 POUNCES_MANAGER_COLUMN_ICON, pixbuf,
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
207 POUNCES_MANAGER_COLUMN_TARGET, pouncee,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
208 POUNCES_MANAGER_COLUMN_ACCOUNT, pouncer,
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
209 POUNCES_MANAGER_COLUMN_RECURRING, recurring,
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
210 -1);
13090
0aa231ebbfd5 [gaim-migrate @ 15452]
Mark Doliner <mark@kingant.net>
parents: 13033
diff changeset
211
0aa231ebbfd5 [gaim-migrate @ 15452]
Mark Doliner <mark@kingant.net>
parents: 13033
diff changeset
212 if (pixbuf != NULL)
0aa231ebbfd5 [gaim-migrate @ 15452]
Mark Doliner <mark@kingant.net>
parents: 13033
diff changeset
213 g_object_unref(pixbuf);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
214 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
215
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
216 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
217 populate_pounces_list(PouncesManager *dialog)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
218 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
219 const GList *pounces;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
220
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
221 gtk_list_store_clear(dialog->model);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
222
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
223 for (pounces = gaim_pounces_get_all(); pounces != NULL;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
224 pounces = g_list_next(pounces))
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
225 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
226 add_pounce_to_treeview(dialog->model, pounces->data);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
227 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
228 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
229
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
230 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
231 update_pounces(void)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
232 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
233 /* Rebuild the pounces list if the pounces manager is open */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
234 if (pounces_manager != NULL)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
235 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
236 populate_pounces_list(pounces_manager);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
237 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
238 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
239
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
240 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
241 signed_on_off_cb(GaimConnection *gc, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
242 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
243 update_pounces();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
244 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
245
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
246 static void
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
247 save_pounce_cb(GtkWidget *w, GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
249 const char *name;
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
250 const char *message, *command, *sound, *reason;
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
251 GaimPounceEvent events = GAIM_POUNCE_NONE;
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
252 GaimPounceOption options = GAIM_POUNCE_OPTION_NONE;
5032
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 name = gtk_entry_get_text(GTK_ENTRY(dialog->buddy_entry));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
256 if (*name == '\0')
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
257 {
5436
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5319
diff changeset
258 gaim_notify_error(NULL, NULL,
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5319
diff changeset
259 _("Please enter a buddy to pounce."), NULL);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
260 return;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
261 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
262
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
263 /* Options */
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
264 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->on_away)))
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
265 options |= GAIM_POUNCE_OPTION_AWAY;
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
266
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
267 /* Events */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
268 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->signon)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
269 events |= GAIM_POUNCE_SIGNON;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->signoff)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272 events |= GAIM_POUNCE_SIGNOFF;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
274 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->away)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
275 events |= GAIM_POUNCE_AWAY;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
276
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
277 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->away_return)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 events |= GAIM_POUNCE_AWAY_RETURN;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
279
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
280 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->idle)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281 events |= GAIM_POUNCE_IDLE;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
282
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
283 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->idle_return)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
284 events |= GAIM_POUNCE_IDLE_RETURN;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
285
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
286 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->typing)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287 events |= GAIM_POUNCE_TYPING;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
288
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
289 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->stop_typing)))
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
290 events |= GAIM_POUNCE_TYPING_STOPPED;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
291
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
292 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->message_recv)))
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
293 events |= GAIM_POUNCE_MESSAGE_RECEIVED;
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
294
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
295 /* Data fields */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
296 message = gtk_entry_get_text(GTK_ENTRY(dialog->send_msg_entry));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
297 command = gtk_entry_get_text(GTK_ENTRY(dialog->exec_cmd_entry));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
298 sound = gtk_entry_get_text(GTK_ENTRY(dialog->play_sound_entry));
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
299 reason = gtk_entry_get_text(GTK_ENTRY(dialog->popup_entry));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
300
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
301 if (*reason == '\0') reason = NULL;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
302 if (*message == '\0') message = NULL;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
303 if (*command == '\0') command = NULL;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
304 if (*sound == '\0') sound = NULL;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
305
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
306 if (dialog->pounce == NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
307 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
308 dialog->pounce = gaim_pounce_new(GAIM_GTK_UI, dialog->account,
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
309 name, events, options);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310 }
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
311 else {
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
312 gaim_pounce_set_events(dialog->pounce, events);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
313 gaim_pounce_set_options(dialog->pounce, options);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
314 gaim_pounce_set_pouncer(dialog->pounce, dialog->account);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
315 gaim_pounce_set_pouncee(dialog->pounce, name);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
316 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
317
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
318 /* Actions */
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
319 gaim_pounce_action_set_enabled(dialog->pounce, "open-window",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
320 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->open_win)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
321 gaim_pounce_action_set_enabled(dialog->pounce, "popup-notify",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
322 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->popup)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
323 gaim_pounce_action_set_enabled(dialog->pounce, "send-message",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
324 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->send_msg)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
325 gaim_pounce_action_set_enabled(dialog->pounce, "execute-command",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
326 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
327 gaim_pounce_action_set_enabled(dialog->pounce, "play-sound",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
328 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->play_sound)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
329
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
330 gaim_pounce_action_set_attribute(dialog->pounce, "send-message",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
331 "message", message);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
332 gaim_pounce_action_set_attribute(dialog->pounce, "execute-command",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
333 "command", command);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
334 gaim_pounce_action_set_attribute(dialog->pounce, "play-sound",
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
335 "filename", sound);
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
336 gaim_pounce_action_set_attribute(dialog->pounce, "popup-notify",
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
337 "reason", reason);
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
338
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
339 /* Set the defaults for next time. */
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
340 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/open-window",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
341 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->open_win)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
342 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/popup-notify",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
343 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->popup)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
344 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/send-message",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
345 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->send_msg)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
346 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/execute-command",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
347 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
348 gaim_prefs_set_bool("/gaim/gtk/pounces/default_actions/play-sound",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
349 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->play_sound)));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
350
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
351 gaim_pounce_set_save(dialog->pounce,
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
352 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->save_pounce)));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
353
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
354 update_pounces();
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
355
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
356 delete_win_cb(NULL, NULL, dialog);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
357 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
358
5054
abc8489b2e8f [gaim-migrate @ 5404]
Nathan Walp <nwalp@pidgin.im>
parents: 5052
diff changeset
359 static void
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
360 pounce_choose_cb(GtkWidget *item, GaimAccount *account,
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
361 GaimGtkPounceDialog *dialog)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
362 {
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
363 dialog->account = account;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
364 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
365
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
366 static void
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
367 buddy_changed_cb(GtkEntry *entry, GaimGtkPounceDialog *dialog)
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
368 {
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
369 if (dialog->save_button == NULL)
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
370 return;
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
371
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
372 gtk_widget_set_sensitive(dialog->save_button,
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
373 *gtk_entry_get_text(entry) != '\0');
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
374 }
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
375
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
376 static void
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
377 message_recv_toggle(GtkButton *message_recv, GtkWidget *send_msg)
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
378 {
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
379 gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(message_recv));
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
380
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
381 gtk_widget_set_sensitive(send_msg, !active);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
382 if (active)
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
383 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(send_msg), FALSE);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
384 }
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
385
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
386 static void
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
387 pounce_dnd_recv(GtkWidget *widget, GdkDragContext *dc, gint x, gint y,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
388 GtkSelectionData *sd, guint info, guint t, gpointer data)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
389 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
390 GaimGtkPounceDialog *dialog;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
391
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
392 if (sd->target == gdk_atom_intern("GAIM_BLIST_NODE", FALSE))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
393 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
394 GaimBlistNode *node = NULL;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
395 GaimBuddy *buddy;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
396
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
397 memcpy(&node, sd->data, sizeof(node));
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
398
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
399 if (GAIM_BLIST_NODE_IS_CONTACT(node))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
400 buddy = gaim_contact_get_priority_buddy((GaimContact *)node);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
401 else if (GAIM_BLIST_NODE_IS_BUDDY(node))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
402 buddy = (GaimBuddy *)node;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
403 else
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
404 return;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
405
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
406 dialog = (GaimGtkPounceDialog *)data;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
407
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
408 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), buddy->name);
9910
0cb20555b3ab [gaim-migrate @ 10802]
Luke Schierer <lschiere@pidgin.im>
parents: 9791
diff changeset
409 dialog->account = buddy->account;
0cb20555b3ab [gaim-migrate @ 10802]
Luke Schierer <lschiere@pidgin.im>
parents: 9791
diff changeset
410 gaim_gtk_account_option_menu_set_selected(dialog->account_menu, buddy->account);
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
411
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
412 gtk_drag_finish(dc, TRUE, (dc->action == GDK_ACTION_MOVE), t);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
413 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
414 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
415 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
416 char *protocol = NULL;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
417 char *username = NULL;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
418 GaimAccount *account;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
419
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 10921
diff changeset
420 if (gaim_gtk_parse_x_im_contact((const char *)sd->data, FALSE, &account,
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
421 &protocol, &username, NULL))
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
422 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
423 if (account == NULL)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
424 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
425 gaim_notify_error(NULL, NULL,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
426 _("You are not currently signed on with an account that "
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
427 "can add that buddy."), NULL);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
428 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
429 else
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
430 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
431 dialog = (GaimGtkPounceDialog *)data;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
432
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
433 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), username);
9910
0cb20555b3ab [gaim-migrate @ 10802]
Luke Schierer <lschiere@pidgin.im>
parents: 9791
diff changeset
434 dialog->account = account;
0cb20555b3ab [gaim-migrate @ 10802]
Luke Schierer <lschiere@pidgin.im>
parents: 9791
diff changeset
435 gaim_gtk_account_option_menu_set_selected(dialog->account_menu, account);
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
436 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
437 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
438
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
439 if (username != NULL) g_free(username);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
440 if (protocol != NULL) g_free(protocol);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
441
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
442 gtk_drag_finish(dc, TRUE, (dc->action == GDK_ACTION_MOVE), t);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
443 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
444 }
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
445
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
446 static const GtkTargetEntry dnd_targets[] =
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
447 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
448 {"GAIM_BLIST_NODE", GTK_TARGET_SAME_APP, 0},
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
449 {"application/x-im-contact", 0, 1}
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
450 };
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
451
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452 void
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
453 gaim_gtk_pounce_editor_show(GaimAccount *account, const char *name,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
454 GaimPounce *cur_pounce)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
455 {
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
456 GaimGtkPounceDialog *dialog;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
457 GtkWidget *window;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
458 GtkWidget *label;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459 GtkWidget *bbox;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
460 GtkWidget *vbox1, *vbox2;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
461 GtkWidget *hbox;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
462 GtkWidget *button;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
463 GtkWidget *frame;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
464 GtkWidget *table;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
465 GtkSizeGroup *sg;
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
466 GPtrArray *sound_widgets;
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
467 GPtrArray *exec_widgets;
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
468
10352
5879593a6a10 [gaim-migrate @ 11569]
Mark Doliner <mark@kingant.net>
parents: 10250
diff changeset
469 g_return_if_fail((cur_pounce != NULL) || (account != NULL) ||
5879593a6a10 [gaim-migrate @ 11569]
Mark Doliner <mark@kingant.net>
parents: 10250
diff changeset
470 (gaim_connections_get_all() != NULL));
5879593a6a10 [gaim-migrate @ 11569]
Mark Doliner <mark@kingant.net>
parents: 10250
diff changeset
471
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
472 dialog = g_new0(GaimGtkPounceDialog, 1);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
473
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
474 if (cur_pounce != NULL)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
475 {
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
476 dialog->pounce = cur_pounce;
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
477 dialog->account = gaim_pounce_get_pouncer(cur_pounce);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
478 }
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
479 else if (account != NULL)
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
480 {
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
481 dialog->pounce = NULL;
5907
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
482 dialog->account = account;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
483 }
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
484 else
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
485 {
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
486 GaimConnection *gc;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
487
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
488 gc = (GaimConnection *)gaim_connections_get_all()->data;
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
489
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
490 dialog->pounce = NULL;
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
491 dialog->account = gaim_connection_get_account(gc);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
492 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
493
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
494 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
495
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
496 /* Create the window. */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
497 dialog->window = window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
498 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
499 gtk_window_set_role(GTK_WINDOW(window), "buddy_pounce");
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
500 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
501 gtk_window_set_title(GTK_WINDOW(window),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
502 (cur_pounce == NULL
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
503 ? _("New Buddy Pounce") : _("Edit Buddy Pounce")));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
504
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
505 gtk_container_set_border_width(GTK_CONTAINER(window), GAIM_HIG_BORDER);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
506
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
507 g_signal_connect(G_OBJECT(window), "delete_event",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
508 G_CALLBACK(delete_win_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
509
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
510 /* Create the parent vbox for everything. */
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
511 vbox1 = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
512 gtk_container_add(GTK_CONTAINER(window), vbox1);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
513 gtk_widget_show(vbox1);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
514
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
515 /* Create the vbox that will contain all the prefs stuff. */
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
516 vbox2 = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
517 gtk_box_pack_start(GTK_BOX(vbox1), vbox2, TRUE, TRUE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
518
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
519 /* Create the "Pounce on Whom" frame. */
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
520 frame = gaim_gtk_make_frame(vbox2, _("Pounce on Whom"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
521
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
522 /* Account: */
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
523 hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
524 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
525 gtk_widget_show(hbox);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
526
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
527 label = gtk_label_new_with_mnemonic(_("_Account:"));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
528 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
529 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
530 gtk_widget_show(label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
531 gtk_size_group_add_widget(sg, label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
532
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
533 dialog->account_menu =
6646
b89d98f0bf79 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
534 gaim_gtk_account_option_menu_new(dialog->account, FALSE,
b89d98f0bf79 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
535 G_CALLBACK(pounce_choose_cb),
b89d98f0bf79 [gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents: 6640
diff changeset
536 NULL, dialog);
5877
f336fc0a7b8b [gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents: 5876
diff changeset
537
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
538 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
539 gtk_widget_show(dialog->account_menu);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
540 gaim_set_accessible_label (dialog->account_menu, label);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
541
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
542 /* Buddy: */
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
543 hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
544 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
545 gtk_widget_show(hbox);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
546
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
547 label = gtk_label_new_with_mnemonic(_("_Buddy name:"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
548 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
549 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
550 gtk_widget_show(label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
551 gtk_size_group_add_widget(sg, label);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
552
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
553 dialog->buddy_entry = gtk_entry_new();
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
554
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
555 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
556 gtk_widget_show(dialog->buddy_entry);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
557
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
558 g_signal_connect(G_OBJECT(dialog->buddy_entry), "changed",
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
559 G_CALLBACK(buddy_changed_cb), dialog);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
560 gaim_set_accessible_label (dialog->buddy_entry, label);
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
561
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
562 if (cur_pounce != NULL) {
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
563 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
564 gaim_pounce_get_pouncee(cur_pounce));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
565 }
5907
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
566 else if (name != NULL) {
18486c860a46 [gaim-migrate @ 6339]
Christian Hammond <chipx86@chipx86.com>
parents: 5877
diff changeset
567 gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), name);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
568 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
569
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
570 /* Create the "Pounce When Buddy..." frame. */
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
571 frame = gaim_gtk_make_frame(vbox2, _("Pounce When Buddy..."));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
572
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
573 table = gtk_table_new(2, 4, FALSE);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
574 gtk_container_add(GTK_CONTAINER(frame), table);
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
575 gtk_table_set_col_spacings(GTK_TABLE(table), GAIM_HIG_BORDER);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
576 gtk_widget_show(table);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
577
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
578 dialog->signon =
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
579 gtk_check_button_new_with_mnemonic(_("Si_gns on"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
580 dialog->signoff =
12142
0c672be21798 [gaim-migrate @ 14443]
Richard Laager <rlaager@wiktel.com>
parents: 12141
diff changeset
581 gtk_check_button_new_with_mnemonic(_("Signs o_ff"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
582 dialog->away =
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
583 gtk_check_button_new_with_mnemonic(_("Goes a_way"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
584 dialog->away_return =
12144
d93e6979b77a [gaim-migrate @ 14445]
Richard Laager <rlaager@wiktel.com>
parents: 12142
diff changeset
585 gtk_check_button_new_with_mnemonic(_("Ret_urns from away"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
586 dialog->idle =
12192
fb89d3a31c19 [gaim-migrate @ 14494]
Richard Laager <rlaager@wiktel.com>
parents: 12186
diff changeset
587 gtk_check_button_new_with_mnemonic(_("Becomes _idle"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
588 dialog->idle_return =
12192
fb89d3a31c19 [gaim-migrate @ 14494]
Richard Laager <rlaager@wiktel.com>
parents: 12186
diff changeset
589 gtk_check_button_new_with_mnemonic(_("Is no longer i_dle"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
590 dialog->typing =
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
591 gtk_check_button_new_with_mnemonic(_("Starts _typing"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
592 dialog->stop_typing =
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
593 gtk_check_button_new_with_mnemonic(_("Stops t_yping"));
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
594 dialog->message_recv =
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
595 gtk_check_button_new_with_mnemonic(_("Sends a _message"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
596
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
597 gtk_table_attach(GTK_TABLE(table), dialog->signon, 0, 1, 0, 1,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
598 GTK_FILL, 0, 0, 0);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
599 gtk_table_attach(GTK_TABLE(table), dialog->signoff, 1, 2, 0, 1,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
600 GTK_FILL, 0, 0, 0);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
601 gtk_table_attach(GTK_TABLE(table), dialog->away, 0, 1, 1, 2,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
602 GTK_FILL, 0, 0, 0);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
603 gtk_table_attach(GTK_TABLE(table), dialog->away_return, 1, 2, 1, 2,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
604 GTK_FILL, 0, 0, 0);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
605 gtk_table_attach(GTK_TABLE(table), dialog->idle, 0, 1, 2, 3,
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
606 GTK_FILL, 0, 0, 0);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
607 gtk_table_attach(GTK_TABLE(table), dialog->idle_return, 1, 2, 2, 3,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
608 GTK_FILL, 0, 0, 0);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
609 gtk_table_attach(GTK_TABLE(table), dialog->typing, 0, 1, 3, 4,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
610 GTK_FILL, 0, 0, 0);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
611 gtk_table_attach(GTK_TABLE(table), dialog->stop_typing, 1, 2, 3, 4,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
612 GTK_FILL, 0, 0, 0);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
613 gtk_table_attach(GTK_TABLE(table), dialog->message_recv, 0, 1, 4, 5,
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
614 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
615
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
616 gtk_widget_show(dialog->signon);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
617 gtk_widget_show(dialog->signoff);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
618 gtk_widget_show(dialog->away);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
619 gtk_widget_show(dialog->away_return);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
620 gtk_widget_show(dialog->idle);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
621 gtk_widget_show(dialog->idle_return);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
622 gtk_widget_show(dialog->typing);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
623 gtk_widget_show(dialog->stop_typing);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
624 gtk_widget_show(dialog->message_recv);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
625
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
626 /* Create the "Action" frame. */
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
627 frame = gaim_gtk_make_frame(vbox2, _("Action"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
628
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
629 table = gtk_table_new(3, 5, FALSE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
630 gtk_container_add(GTK_CONTAINER(frame), table);
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
631 gtk_table_set_col_spacings(GTK_TABLE(table), GAIM_HIG_BORDER);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
632 gtk_widget_show(table);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
633
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
634 dialog->open_win
12192
fb89d3a31c19 [gaim-migrate @ 14494]
Richard Laager <rlaager@wiktel.com>
parents: 12186
diff changeset
635 = gtk_check_button_new_with_mnemonic(_("Ope_n an IM window"));
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
636 dialog->popup
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
637 = gtk_check_button_new_with_mnemonic(_("_Pop up a notification"));
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
638 dialog->send_msg
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
639 = gtk_check_button_new_with_mnemonic(_("Send a _message"));
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
640 dialog->exec_cmd
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
641 = gtk_check_button_new_with_mnemonic(_("E_xecute a command"));
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
642 dialog->play_sound
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
643 = gtk_check_button_new_with_mnemonic(_("P_lay a sound"));
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
644
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
645 dialog->send_msg_entry = gtk_entry_new();
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
646 dialog->exec_cmd_entry = gtk_entry_new();
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
647 dialog->popup_entry = gtk_entry_new();
12192
fb89d3a31c19 [gaim-migrate @ 14494]
Richard Laager <rlaager@wiktel.com>
parents: 12186
diff changeset
648 dialog->exec_cmd_browse = gtk_button_new_with_mnemonic(_("Brows_e..."));
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
649 dialog->play_sound_entry = gtk_entry_new();
12144
d93e6979b77a [gaim-migrate @ 14445]
Richard Laager <rlaager@wiktel.com>
parents: 12142
diff changeset
650 dialog->play_sound_browse = gtk_button_new_with_mnemonic(_("Br_owse..."));
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
651 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
652
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
653 gtk_widget_set_sensitive(dialog->send_msg_entry, FALSE);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
654 gtk_widget_set_sensitive(dialog->exec_cmd_entry, FALSE);
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
655 gtk_widget_set_sensitive(dialog->popup_entry, FALSE);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
656 gtk_widget_set_sensitive(dialog->exec_cmd_browse, FALSE);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
657 gtk_widget_set_sensitive(dialog->play_sound_entry, FALSE);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
658 gtk_widget_set_sensitive(dialog->play_sound_browse, FALSE);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
659 gtk_widget_set_sensitive(dialog->play_sound_test, FALSE);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
660
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
661 sg = gtk_size_group_new(GTK_SIZE_GROUP_VERTICAL);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
662 gtk_size_group_add_widget(sg, dialog->open_win);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
663 gtk_size_group_add_widget(sg, dialog->popup);
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
664 gtk_size_group_add_widget(sg, dialog->popup_entry);
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
665 gtk_size_group_add_widget(sg, dialog->send_msg);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
666 gtk_size_group_add_widget(sg, dialog->send_msg_entry);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
667 gtk_size_group_add_widget(sg, dialog->exec_cmd);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
668 gtk_size_group_add_widget(sg, dialog->exec_cmd_entry);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
669 gtk_size_group_add_widget(sg, dialog->exec_cmd_browse);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
670 gtk_size_group_add_widget(sg, dialog->play_sound);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
671 gtk_size_group_add_widget(sg, dialog->play_sound_entry);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
672 gtk_size_group_add_widget(sg, dialog->play_sound_browse);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
673 gtk_size_group_add_widget(sg, dialog->play_sound_test);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
674
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
675 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
676 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
677 gtk_table_attach(GTK_TABLE(table), dialog->popup, 0, 1, 1, 2,
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
678 GTK_FILL, 0, 0, 0);
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
679 gtk_table_attach(GTK_TABLE(table), dialog->popup_entry, 1, 4, 1, 2,
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
680 GTK_FILL, 0, 0, 0);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
681 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
682 GTK_FILL, 0, 0, 0);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
683 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
684 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
685 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
686 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
687 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
688 GTK_FILL, 0, 0, 0);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
689 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
690 GTK_FILL | GTK_EXPAND, 0, 0, 0);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
691 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
692 GTK_FILL, 0, 0, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
693 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
694 GTK_FILL, 0, 0, 0);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
695 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
696 GTK_FILL | GTK_EXPAND, 0, 0, 0);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
697 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
698 GTK_FILL | GTK_EXPAND, 0, 0, 0);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
699
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
700 gtk_table_set_row_spacings(GTK_TABLE(table), GAIM_HIG_BOX_SPACE / 2);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
701
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
702 gtk_widget_show(dialog->open_win);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
703 gtk_widget_show(dialog->popup);
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
704 gtk_widget_show(dialog->popup_entry);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
705 gtk_widget_show(dialog->send_msg);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
706 gtk_widget_show(dialog->send_msg_entry);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
707 gtk_widget_show(dialog->exec_cmd);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
708 gtk_widget_show(dialog->exec_cmd_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
709 gtk_widget_show(dialog->exec_cmd_browse);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
710 gtk_widget_show(dialog->play_sound);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
711 gtk_widget_show(dialog->play_sound_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
712 gtk_widget_show(dialog->play_sound_browse);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
713 gtk_widget_show(dialog->play_sound_test);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
714
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
715 g_signal_connect(G_OBJECT(dialog->message_recv), "clicked",
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
716 G_CALLBACK(message_recv_toggle),
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
717 dialog->send_msg);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
718
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
719 g_signal_connect(G_OBJECT(dialog->send_msg), "clicked",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
720 G_CALLBACK(gaim_gtk_toggle_sensitive),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
721 dialog->send_msg_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
722
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
723 g_signal_connect(G_OBJECT(dialog->popup), "clicked",
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
724 G_CALLBACK(gaim_gtk_toggle_sensitive),
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
725 dialog->popup_entry);
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
726
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
727 exec_widgets = g_ptr_array_new();
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
728 g_ptr_array_add(exec_widgets,dialog->exec_cmd_entry);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
729 g_ptr_array_add(exec_widgets,dialog->exec_cmd_browse);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
730
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
731 g_signal_connect(G_OBJECT(dialog->exec_cmd), "clicked",
10590
896efbdc74e2 [gaim-migrate @ 11995]
Etan Reisner <pidgin@unreliablesource.net>
parents: 10535
diff changeset
732 G_CALLBACK(gaim_gtk_toggle_sensitive_array),
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
733 exec_widgets);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
734 g_signal_connect(G_OBJECT(dialog->exec_cmd_browse), "clicked",
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
735 G_CALLBACK(filesel),
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
736 dialog->exec_cmd_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
737
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
738 sound_widgets = g_ptr_array_new();
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
739 g_ptr_array_add(sound_widgets,dialog->play_sound_entry);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
740 g_ptr_array_add(sound_widgets,dialog->play_sound_browse);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
741 g_ptr_array_add(sound_widgets,dialog->play_sound_test);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
742
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
743 g_signal_connect(G_OBJECT(dialog->play_sound), "clicked",
10590
896efbdc74e2 [gaim-migrate @ 11995]
Etan Reisner <pidgin@unreliablesource.net>
parents: 10535
diff changeset
744 G_CALLBACK(gaim_gtk_toggle_sensitive_array),
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
745 sound_widgets);
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
746 g_signal_connect(G_OBJECT(dialog->play_sound_browse), "clicked",
5857
2fa4aa9c1885 [gaim-migrate @ 6288]
Christian Hammond <chipx86@chipx86.com>
parents: 5676
diff changeset
747 G_CALLBACK(filesel),
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
748 dialog->play_sound_entry);
5319
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
749 g_signal_connect(G_OBJECT(dialog->play_sound_test), "clicked",
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
750 G_CALLBACK(pounce_test_sound),
3adb20b869b4 [gaim-migrate @ 5691]
Christian Hammond <chipx86@chipx86.com>
parents: 5228
diff changeset
751 dialog->play_sound_entry);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
752
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
753 g_signal_connect(G_OBJECT(dialog->send_msg_entry), "activate",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
754 G_CALLBACK(save_pounce_cb), dialog);
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
755 g_signal_connect(G_OBJECT(dialog->popup_entry), "activate",
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
756 G_CALLBACK(save_pounce_cb), dialog);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
757 g_signal_connect(G_OBJECT(dialog->exec_cmd_entry), "activate",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
758 G_CALLBACK(save_pounce_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
759 g_signal_connect(G_OBJECT(dialog->play_sound_entry), "activate",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
760 G_CALLBACK(save_pounce_cb), dialog);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
761
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
762 /* Create the "Options" frame. */
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
763 frame = gaim_gtk_make_frame(vbox2, _("Options"));
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
764
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
765 table = gtk_table_new(2, 1, FALSE);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
766 gtk_container_add(GTK_CONTAINER(frame), table);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
767 gtk_table_set_col_spacings(GTK_TABLE(table), GAIM_HIG_BORDER);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
768 gtk_widget_show(table);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
769
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
770 dialog->on_away =
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
771 gtk_check_button_new_with_mnemonic(_("P_ounce only when my status is not available"));
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
772 gtk_table_attach(GTK_TABLE(table), dialog->on_away, 0, 1, 0, 1,
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
773 GTK_FILL, 0, 0, 0);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
774
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
775 dialog->save_pounce = gtk_check_button_new_with_mnemonic(
12186
b4d1b142f6cb [gaim-migrate @ 14488]
Mark Doliner <mark@kingant.net>
parents: 12144
diff changeset
776 _("_Recurring"));
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
777 gtk_table_attach(GTK_TABLE(table), dialog->save_pounce, 0, 1, 1, 2,
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
778 GTK_FILL, 0, 0, 0);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
779
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
780 gtk_widget_show(dialog->on_away);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
781 gtk_widget_show(dialog->save_pounce);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
782
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
783 /* Now the button box! */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
784 bbox = gtk_hbutton_box_new();
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
785 gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
786 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
787 gtk_box_pack_end(GTK_BOX(vbox1), bbox, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
788 gtk_widget_show(bbox);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
789
5052
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
790 /* Delete button */
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
791 button = gtk_button_new_from_stock(GTK_STOCK_DELETE);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
792 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
10366
fbb78553cae1 [gaim-migrate @ 11584]
Luke Schierer <lschiere@pidgin.im>
parents: 10352
diff changeset
793 if (cur_pounce == NULL)
fbb78553cae1 [gaim-migrate @ 11584]
Luke Schierer <lschiere@pidgin.im>
parents: 10352
diff changeset
794 gtk_widget_set_sensitive(button, FALSE);
5052
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
795 gtk_widget_show(button);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
796
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
797 g_signal_connect(G_OBJECT(button), "clicked",
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
798 G_CALLBACK(delete_cb), dialog);
6a7759f63766 [gaim-migrate @ 5401]
Christian Hammond <chipx86@chipx86.com>
parents: 5051
diff changeset
799
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
800 /* Cancel button */
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
801 button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
802 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
803 gtk_widget_show(button);
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 g_signal_connect(G_OBJECT(button), "clicked",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
806 G_CALLBACK(cancel_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
807
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
808 /* Save button */
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
809 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
810 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
811 gtk_widget_show(button);
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
812
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
813 g_signal_connect(G_OBJECT(button), "clicked",
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
814 G_CALLBACK(save_pounce_cb), dialog);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
815
5876
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
816 if (*gtk_entry_get_text(GTK_ENTRY(dialog->buddy_entry)) == '\0')
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
817 gtk_widget_set_sensitive(button, FALSE);
8d6e5f804325 [gaim-migrate @ 6308]
Christian Hammond <chipx86@chipx86.com>
parents: 5875
diff changeset
818
8803
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
819 /* Setup drag-and-drop */
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
820 gtk_drag_dest_set(window,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
821 GTK_DEST_DEFAULT_MOTION |
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
822 GTK_DEST_DEFAULT_DROP,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
823 dnd_targets,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
824 sizeof(dnd_targets) / sizeof(GtkTargetEntry),
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
825 GDK_ACTION_COPY);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
826 gtk_drag_dest_set(dialog->buddy_entry,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
827 GTK_DEST_DEFAULT_MOTION |
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
828 GTK_DEST_DEFAULT_DROP,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
829 dnd_targets,
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
830 sizeof(dnd_targets) / sizeof(GtkTargetEntry),
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
831 GDK_ACTION_COPY);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
832
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
833 g_signal_connect(G_OBJECT(window), "drag_data_received",
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
834 G_CALLBACK(pounce_dnd_recv), dialog);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
835 g_signal_connect(G_OBJECT(dialog->buddy_entry), "drag_data_received",
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
836 G_CALLBACK(pounce_dnd_recv), dialog);
721899998983 [gaim-migrate @ 9565]
Christian Hammond <chipx86@chipx86.com>
parents: 8259
diff changeset
837
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
838 /* Set the values of stuff. */
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
839 if (cur_pounce != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
840 {
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
841 GaimPounceEvent events = gaim_pounce_get_events(cur_pounce);
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
842 GaimPounceOption options = gaim_pounce_get_options(cur_pounce);
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
843 const char *value;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
844
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
845 /* Options */
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
846 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->on_away),
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
847 (options & GAIM_POUNCE_OPTION_AWAY));
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
848
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
849 /* Events */
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
850 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->signon),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
851 (events & GAIM_POUNCE_SIGNON));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
852 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->signoff),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
853 (events & GAIM_POUNCE_SIGNOFF));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
854 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->away),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
855 (events & GAIM_POUNCE_AWAY));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
856 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->away_return),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
857 (events & GAIM_POUNCE_AWAY_RETURN));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
858 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
859 (events & GAIM_POUNCE_IDLE));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
860 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle_return),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
861 (events & GAIM_POUNCE_IDLE_RETURN));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
862 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->typing),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
863 (events & GAIM_POUNCE_TYPING));
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
864 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->stop_typing),
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
865 (events & GAIM_POUNCE_TYPING_STOPPED));
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
866 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->message_recv),
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
867 (events & GAIM_POUNCE_MESSAGE_RECEIVED));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
868
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
869 /* Actions */
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
870 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
871 gaim_pounce_action_is_enabled(cur_pounce, "open-window"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
872 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->popup),
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
873 gaim_pounce_action_is_enabled(cur_pounce, "popup-notify"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
874 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
875 gaim_pounce_action_is_enabled(cur_pounce, "send-message"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
876 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
877 gaim_pounce_action_is_enabled(cur_pounce, "execute-command"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
878 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
879 gaim_pounce_action_is_enabled(cur_pounce, "play-sound"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
880
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
881 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
882 gaim_pounce_get_save(cur_pounce));
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
883
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
884 if ((value = gaim_pounce_action_get_attribute(cur_pounce,
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
885 "send-message",
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
886 "message")) != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
887 {
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
888 gtk_entry_set_text(GTK_ENTRY(dialog->send_msg_entry), value);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
889 }
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
890
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
891 if ((value = gaim_pounce_action_get_attribute(cur_pounce,
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
892 "popup-notify",
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
893 "reason")) != NULL)
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
894 {
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
895 gtk_entry_set_text(GTK_ENTRY(dialog->popup_entry), value);
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
896 }
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
897
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
898 if ((value = gaim_pounce_action_get_attribute(cur_pounce,
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
899 "execute-command",
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
900 "command")) != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
901 {
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
902 gtk_entry_set_text(GTK_ENTRY(dialog->exec_cmd_entry), value);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
903 }
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
904
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
905 if ((value = gaim_pounce_action_get_attribute(cur_pounce,
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
906 "play-sound",
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
907 "filename")) != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
908 {
5864
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
909 gtk_entry_set_text(GTK_ENTRY(dialog->play_sound_entry), value);
417b1001d2b1 [gaim-migrate @ 6295]
Christian Hammond <chipx86@chipx86.com>
parents: 5857
diff changeset
910 }
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
911 }
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
912 else
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
913 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
914 GaimBuddy *buddy = NULL;
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
915
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
916 if (name != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
917 buddy = gaim_find_buddy(account, name);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
918
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
919 /* Set some defaults */
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
920 if (buddy == NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
921 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
922 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
923 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
924 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
925 else
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
926 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
927 if (!GAIM_BUDDY_IS_ONLINE(buddy))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
928 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
929 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
930 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
931 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
932 else
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
933 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
934 gboolean default_set = FALSE;
9949
ced29c7b396c [gaim-migrate @ 10845]
Luke Schierer <lschiere@pidgin.im>
parents: 9910
diff changeset
935 GaimPresence *presence = gaim_buddy_get_presence(buddy);
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
936
9949
ced29c7b396c [gaim-migrate @ 10845]
Luke Schierer <lschiere@pidgin.im>
parents: 9910
diff changeset
937 if (gaim_presence_is_idle(presence))
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
938 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
939 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
940 GTK_TOGGLE_BUTTON(dialog->idle_return), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
941
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
942 default_set = TRUE;
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
943 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
944
9949
ced29c7b396c [gaim-migrate @ 10845]
Luke Schierer <lschiere@pidgin.im>
parents: 9910
diff changeset
945 if (!gaim_presence_is_available(presence))
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
946 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
947 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
948 GTK_TOGGLE_BUTTON(dialog->away_return), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
949
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
950 default_set = TRUE;
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
951 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
952
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
953 if (!default_set)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
954 {
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
955 gtk_toggle_button_set_active(
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
956 GTK_TOGGLE_BUTTON(dialog->signon), TRUE);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
957 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
958 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
959 }
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
960
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
961 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->open_win),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
962 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/open-window"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
963 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->popup),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
964 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/popup-notify"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
965 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->send_msg),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
966 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/send-message"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
967 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->exec_cmd),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
968 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/execute-command"));
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
969 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->play_sound),
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
970 gaim_prefs_get_bool("/gaim/gtk/pounces/default_actions/play-sound"));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
971 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
972
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
973 gtk_widget_show_all(vbox2);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
974 gtk_widget_show(window);
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
975 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
976
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
977 static gboolean
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
978 pounces_manager_configure_cb(GtkWidget *widget, GdkEventConfigure *event, PouncesManager *dialog)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
979 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
980 if (GTK_WIDGET_VISIBLE(widget)) {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
981 gaim_prefs_set_int("/gaim/gtk/pounces/dialog/width", event->width);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
982 gaim_prefs_set_int("/gaim/gtk/pounces/dialog/height", event->height);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
983 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
984
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
985 return FALSE;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
986 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
987
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
988 static gboolean
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
989 pounces_manager_find_pounce(GtkTreeIter *iter, GaimPounce *pounce)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
990 {
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
991 GtkTreeModel *model = GTK_TREE_MODEL(pounces_manager->model);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
992 GaimPounce *p;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
993
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
994 if (!gtk_tree_model_get_iter_first(model, iter))
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
995 return FALSE;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
996
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
997 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &p, -1);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
998 if (pounce == p)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
999 return TRUE;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1000
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1001 while (gtk_tree_model_iter_next(model, iter))
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1002 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1003 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &p, -1);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1004 if (pounce == p)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1005 return TRUE;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1006 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1007
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1008 return FALSE;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1009 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1010
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1011 static gboolean
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1012 pounces_manager_destroy_cb(GtkWidget *widget, GdkEvent *event, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1013 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1014 PouncesManager *dialog = user_data;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1015
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1016 dialog->window = NULL;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1017 gaim_gtk_pounces_manager_hide();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1018
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1019 return FALSE;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1020 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1021
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1022 #if !GTK_CHECK_VERSION(2,2,0)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1023 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1024 count_selected_helper(GtkTreeModel *model, GtkTreePath *path,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1025 GtkTreeIter *iter, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1026 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1027 (*(gint *)user_data)++;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1028 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1029 #endif
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1030
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1031 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1032 pounces_manager_connection_cb(GaimConnection *gc, GtkWidget *add_button)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1033 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1034 gtk_widget_set_sensitive(add_button, (gaim_connections_get_all() != NULL));
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1035 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1036
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1037 static void
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1038 pounces_manager_add_cb(GtkButton *button, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1039 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1040 gaim_gtk_pounce_editor_show(NULL, NULL, NULL);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1041 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1042
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1043 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1044 pounces_manager_modify_foreach(GtkTreeModel *model, GtkTreePath *path,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1045 GtkTreeIter *iter, gpointer user_data)
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1046 {
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1047 GaimPounce *pounce;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1048
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1049 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1050 gaim_gtk_pounce_editor_show(NULL, NULL, pounce);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1051 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1052
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1053 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1054 pounces_manager_modify_cb(GtkButton *button, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1055 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1056 PouncesManager *dialog = user_data;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1057 GtkTreeSelection *selection;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1058
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1059 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1060
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1061 gtk_tree_selection_selected_foreach(selection, pounces_manager_modify_foreach, user_data);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1062 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1063
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1064 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1065 pounces_manager_delete_confirm_cb(GaimPounce *pounce)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1066 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1067 GtkTreeIter iter;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1068
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1069 if (pounces_manager_find_pounce(&iter, pounce))
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1070 gtk_list_store_remove(pounces_manager->model, &iter);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1071
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1072 gaim_pounce_destroy(pounce);
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1073 }
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1074
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1075 static void
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1076 pounces_manager_delete_foreach(GtkTreeModel *model, GtkTreePath *path,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1077 GtkTreeIter *iter, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1078 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1079 GaimPounce *pounce;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1080 GaimAccount *account;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1081 const char *pouncer, *pouncee;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1082 char *buf;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1083
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1084 gtk_tree_model_get(model, iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1085 account = gaim_pounce_get_pouncer(pounce);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1086 pouncer = gaim_account_get_username(account);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1087 pouncee = gaim_pounce_get_pouncee(pounce);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1088
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1089 buf = g_strdup_printf(_("Are you sure you want to delete the pounce on %s for %s?"), pouncee, pouncer);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1090 gaim_request_action(NULL, NULL, buf, NULL, 0, pounce, 2,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1091 _("Delete"), pounces_manager_delete_confirm_cb,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1092 _("Cancel"), g_free);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1093 g_free(buf);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1094 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1095
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1096 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1097 pounces_manager_delete_cb(GtkButton *button, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1098 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1099 PouncesManager *dialog = user_data;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1100 GtkTreeSelection *selection;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1101
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1102 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1103
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1104 gtk_tree_selection_selected_foreach(selection, pounces_manager_delete_foreach, user_data);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1105 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1106
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1107 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1108 pounces_manager_close_cb(GtkButton *button, gpointer user_data)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1109 {
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1110 gaim_gtk_pounces_manager_hide();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1111 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1112
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1113 static void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1114 pounce_selected_cb(GtkTreeSelection *sel, gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1115 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1116 PouncesManager *dialog = user_data;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1117 int num_selected = 0;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1118
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1119 #if GTK_CHECK_VERSION(2,2,0)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1120 num_selected = gtk_tree_selection_count_selected_rows(sel);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1121 #else
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1122 gtk_tree_selection_selected_foreach(sel, count_selected_helper, &num_selected);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1123 #endif
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1124
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1125 gtk_widget_set_sensitive(dialog->modify_button, (num_selected > 0));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1126 gtk_widget_set_sensitive(dialog->delete_button, (num_selected > 0));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1127 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1128
12137
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1129 static gboolean
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1130 pounce_double_click_cb(GtkTreeView *treeview, GdkEventButton *event, gpointer user_data)
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1131 {
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1132 PouncesManager *dialog = user_data;
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1133 GtkTreePath *path;
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1134 GtkTreeIter iter;
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1135 GaimPounce *pounce;
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1136
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1137 /* Figure out which node was clicked */
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1138 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(dialog->treeview), event->x, event->y, &path, NULL, NULL, NULL))
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1139 return FALSE;
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1140 gtk_tree_model_get_iter(GTK_TREE_MODEL(dialog->model), &iter, path);
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1141 gtk_tree_path_free(path);
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1142 gtk_tree_model_get(GTK_TREE_MODEL(dialog->model), &iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1);
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1143
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1144 if ((pounce != NULL) && (event->button == 1) &&
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1145 (event->type == GDK_2BUTTON_PRESS))
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1146 {
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1147 gaim_gtk_pounce_editor_show(NULL, NULL, pounce);
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1148 return TRUE;
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1149 }
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1150
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1151 return FALSE;
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1152 }
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1153
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1154 static void
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1155 pounces_manager_recurring_cb(GtkCellRendererToggle *renderer, gchar *path_str,
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1156 gpointer user_data)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1157 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1158 PouncesManager *dialog = user_data;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1159 GaimPounce *pounce;
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1160 gboolean recurring;
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1161 GtkTreeModel *model = GTK_TREE_MODEL(dialog->model);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1162 GtkTreeIter iter;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1163
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1164 gtk_tree_model_get_iter_from_string(model, &iter, path_str);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1165 gtk_tree_model_get(model, &iter,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1166 POUNCES_MANAGER_COLUMN_POUNCE, &pounce,
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1167 POUNCES_MANAGER_COLUMN_RECURRING, &recurring,
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1168 -1);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1169
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1170 gaim_pounce_set_save(pounce, !recurring);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1171
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1172 update_pounces();
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1173 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1174
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1175 static gboolean
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1176 search_func(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data)
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1177 {
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1178 gboolean result;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1179 char *haystack;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1180
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1181 gtk_tree_model_get(model, iter, column, &haystack, -1);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1182
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1183 result = (gaim_strcasestr(haystack, key) == NULL);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1184
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1185 g_free(haystack);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1186
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1187 return result;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1188 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1189
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1190 static GtkWidget *
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1191 create_pounces_list(PouncesManager *dialog)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1192 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1193 GtkWidget *sw;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1194 GtkWidget *treeview;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1195 GtkTreeSelection *sel;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1196 GtkTreeViewColumn *column;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1197 GtkCellRenderer *renderer;
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1198
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1199 /* Create the scrolled window */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1200 sw = gtk_scrolled_window_new(0, 0);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1201 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1202 GTK_POLICY_AUTOMATIC,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1203 GTK_POLICY_ALWAYS);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1204 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1205 GTK_SHADOW_IN);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1206 gtk_widget_show(sw);
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1207
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1208 /* Create the list model */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1209 dialog->model = gtk_list_store_new(POUNCES_MANAGER_NUM_COLUMNS,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1210 G_TYPE_POINTER,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1211 GDK_TYPE_PIXBUF,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1212 G_TYPE_STRING,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1213 G_TYPE_STRING,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1214 G_TYPE_BOOLEAN
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1215 );
10250
89a25444401c [gaim-migrate @ 11390]
Mark Doliner <mark@kingant.net>
parents: 10246
diff changeset
1216
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1217 /* Create the treeview */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1218 treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(dialog->model));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1219 dialog->treeview = treeview;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1220 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
10250
89a25444401c [gaim-migrate @ 11390]
Mark Doliner <mark@kingant.net>
parents: 10246
diff changeset
1221
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1222 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1223 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1224 g_signal_connect(G_OBJECT(sel), "changed",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1225 G_CALLBACK(pounce_selected_cb), dialog);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1226
12137
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1227 /* Handle double-clicking */
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1228 g_signal_connect(G_OBJECT(treeview), "button_press_event",
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1229 G_CALLBACK(pounce_double_click_cb), dialog);
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1230
44104dfce57b [gaim-migrate @ 14437]
Richard Laager <rlaager@wiktel.com>
parents: 12136
diff changeset
1231
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1232 gtk_container_add(GTK_CONTAINER(sw), treeview);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1233 gtk_widget_show(treeview);
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1234
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1235 /* Pouncee Column */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1236 column = gtk_tree_view_column_new();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1237 gtk_tree_view_column_set_title(column, _("Pounce Target"));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1238 gtk_tree_view_column_set_resizable(column, TRUE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1239 gtk_tree_view_column_set_min_width(column, 200);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1240 gtk_tree_view_column_set_sort_column_id(column,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1241 POUNCES_MANAGER_COLUMN_TARGET);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1242 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
5161
777f56b95a92 [gaim-migrate @ 5525]
Nathan Walp <nwalp@pidgin.im>
parents: 5158
diff changeset
1243
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1244 /* Icon */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1245 renderer = gtk_cell_renderer_pixbuf_new();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1246 gtk_tree_view_column_pack_start(column, renderer, FALSE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1247 gtk_tree_view_column_add_attribute(column, renderer, "pixbuf",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1248 POUNCES_MANAGER_COLUMN_ICON);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1249
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1250 /* Pouncee */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1251 renderer = gtk_cell_renderer_text_new();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1252 gtk_tree_view_column_pack_start(column, renderer, TRUE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1253 gtk_tree_view_column_add_attribute(column, renderer, "text",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1254 POUNCES_MANAGER_COLUMN_TARGET);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1255
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1256
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1257 /* Account Column */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1258 column = gtk_tree_view_column_new();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1259 gtk_tree_view_column_set_title(column, _("Account"));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1260 gtk_tree_view_column_set_resizable(column, TRUE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1261 gtk_tree_view_column_set_min_width(column, 200);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1262 gtk_tree_view_column_set_sort_column_id(column,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1263 POUNCES_MANAGER_COLUMN_ACCOUNT);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1264 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1265 renderer = gtk_cell_renderer_text_new();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1266 gtk_tree_view_column_pack_start(column, renderer, TRUE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1267 gtk_tree_view_column_add_attribute(column, renderer, "text",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1268 POUNCES_MANAGER_COLUMN_ACCOUNT);
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1269
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1270 /* Recurring Column */
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1271 renderer = gtk_cell_renderer_toggle_new();
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1272 column = gtk_tree_view_column_new_with_attributes(_("Recurring"), renderer,
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1273 "active", POUNCES_MANAGER_COLUMN_RECURRING, NULL);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1274 gtk_tree_view_column_set_sort_column_id(column,
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1275 POUNCES_MANAGER_COLUMN_RECURRING);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1276 gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1277 g_signal_connect(G_OBJECT(renderer), "toggled",
12193
5c5b57067b2e [gaim-migrate @ 14495]
Richard Laager <rlaager@wiktel.com>
parents: 12192
diff changeset
1278 G_CALLBACK(pounces_manager_recurring_cb), dialog);
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1279
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1280 /* Enable CTRL+F searching */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1281 gtk_tree_view_set_search_column(GTK_TREE_VIEW(treeview), POUNCES_MANAGER_COLUMN_TARGET);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1282 gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(treeview), search_func, NULL, NULL);
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1283
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1284 /* Sort the pouncee column by default */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1285 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(dialog->model),
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1286 POUNCES_MANAGER_COLUMN_TARGET,
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1287 GTK_SORT_ASCENDING);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1288
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1289 /* Populate list */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1290 populate_pounces_list(dialog);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1291
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1292 return sw;
5153
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1293 }
ab0f12de3718 [gaim-migrate @ 5517]
Christian Hammond <chipx86@chipx86.com>
parents: 5054
diff changeset
1294
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1295 void
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1296 gaim_gtk_pounces_manager_show(void)
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1297 {
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1298 PouncesManager *dialog;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1299 GtkWidget *bbox;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1300 GtkWidget *button;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1301 GtkWidget *list;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1302 GtkWidget *vbox;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1303 GtkWidget *win;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1304 int width, height;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1305
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1306 if (pounces_manager != NULL) {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1307 gtk_window_present(GTK_WINDOW(pounces_manager->window));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1308 return;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1309 }
8252
10a41e67a800 [gaim-migrate @ 8975]
Nathan Walp <nwalp@pidgin.im>
parents: 8236
diff changeset
1310
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1311 pounces_manager = dialog = g_new0(PouncesManager, 1);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1312
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1313 width = gaim_prefs_get_int("/gaim/gtk/pounces/dialog/width");
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1314 height = gaim_prefs_get_int("/gaim/gtk/pounces/dialog/height");
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1315
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1316 dialog->window = win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1317 gtk_window_set_default_size(GTK_WINDOW(win), width, height);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1318 gtk_window_set_role(GTK_WINDOW(win), "pounces");
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1319 gtk_window_set_title(GTK_WINDOW(win), _("Buddy Pounces"));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1320 gtk_container_set_border_width(GTK_CONTAINER(win), GAIM_HIG_BORDER);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1321
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1322 g_signal_connect(G_OBJECT(win), "delete_event",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1323 G_CALLBACK(pounces_manager_destroy_cb), dialog);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1324 g_signal_connect(G_OBJECT(win), "configure_event",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1325 G_CALLBACK(pounces_manager_configure_cb), dialog);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1326
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1327 /* Setup the vbox */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1328 vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1329 gtk_container_add(GTK_CONTAINER(win), vbox);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1330 gtk_widget_show(vbox);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1331
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1332 /* List of saved buddy pounces */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1333 list = create_pounces_list(dialog);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1334 gtk_box_pack_start(GTK_BOX(vbox), list, TRUE, TRUE, 0);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1335
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1336 /* Button box. */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1337 bbox = gtk_hbutton_box_new();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1338 gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1339 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1340 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, TRUE, 0);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1341 gtk_widget_show(bbox);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1342
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1343 /* Add button */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1344 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1345 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1346 gtk_widget_set_sensitive(button, (gaim_connections_get_all() != NULL));
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1347 gaim_signal_connect(gaim_connections_get_handle(), "signed-on",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1348 pounces_manager, GAIM_CALLBACK(pounces_manager_connection_cb), button);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1349 gaim_signal_connect(gaim_connections_get_handle(), "signed-off",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1350 pounces_manager, GAIM_CALLBACK(pounces_manager_connection_cb), button);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1351 gtk_widget_show(button);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1352
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1353 g_signal_connect(G_OBJECT(button), "clicked",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1354 G_CALLBACK(pounces_manager_add_cb), dialog);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1355
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1356 /* Modify button */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1357 button = gtk_button_new_from_stock(GAIM_STOCK_MODIFY);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1358 dialog->modify_button = button;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1359 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1360 gtk_widget_set_sensitive(button, FALSE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1361 gtk_widget_show(button);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1362
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1363 g_signal_connect(G_OBJECT(button), "clicked",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1364 G_CALLBACK(pounces_manager_modify_cb), dialog);
8259
4f9f68ab8770 [gaim-migrate @ 8982]
Christian Hammond <chipx86@chipx86.com>
parents: 8252
diff changeset
1365
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1366 /* Delete button */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1367 button = gtk_button_new_from_stock(GTK_STOCK_DELETE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1368 dialog->delete_button = button;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1369 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1370 gtk_widget_set_sensitive(button, FALSE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1371 gtk_widget_show(button);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1372
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1373 g_signal_connect(G_OBJECT(button), "clicked",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1374 G_CALLBACK(pounces_manager_delete_cb), dialog);
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1375
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1376 /* Close button */
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1377 button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1378 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1379 gtk_widget_show(button);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1380
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1381 g_signal_connect(G_OBJECT(button), "clicked",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1382 G_CALLBACK(pounces_manager_close_cb), dialog);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1383
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1384 gtk_widget_show(win);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1385 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1386
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1387 void
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1388 gaim_gtk_pounces_manager_hide(void)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1389 {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1390 if (pounces_manager == NULL)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1391 return;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1392
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1393 if (pounces_manager->window != NULL)
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1394 gtk_widget_destroy(pounces_manager->window);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1395
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1396 gaim_signals_disconnect_by_handle(pounces_manager);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1397
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1398 g_free(pounces_manager);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1399 pounces_manager = NULL;
5032
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1400 }
cb700c07ee07 [gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1401
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1402 static void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1403 pounce_cb(GaimPounce *pounce, GaimPounceEvent events, void *data)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1404 {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1405 GaimConversation *conv;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1406 GaimAccount *account;
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
1407 GaimBuddy *buddy;
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1408 const char *pouncee;
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
1409 const char *alias;
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1410
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1411 pouncee = gaim_pounce_get_pouncee(pounce);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1412 account = gaim_pounce_get_pouncer(pounce);
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1413
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
1414 buddy = gaim_find_buddy(account, pouncee);
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1415 if (buddy != NULL)
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1416 {
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1417 alias = gaim_buddy_get_alias(buddy);
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1418 if (alias == NULL)
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1419 alias = pouncee;
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1420 }
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1421 else
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1422 alias = pouncee;
7994
d5874c4f19c5 [gaim-migrate @ 8671]
Christian Hammond <chipx86@chipx86.com>
parents: 7276
diff changeset
1423
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1424 if (gaim_pounce_action_is_enabled(pounce, "open-window"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1425 {
11338
17142948653e [gaim-migrate @ 13551]
Mark Doliner <mark@kingant.net>
parents: 11243
diff changeset
1426 conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, pouncee, account);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1427
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1428 if (conv == NULL)
11338
17142948653e [gaim-migrate @ 13551]
Mark Doliner <mark@kingant.net>
parents: 11243
diff changeset
1429 conv = gaim_conversation_new(GAIM_CONV_TYPE_IM, account, pouncee);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1430 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1431
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1432 if (gaim_pounce_action_is_enabled(pounce, "popup-notify"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1433 {
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1434 char *tmp;
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1435 const char *name_shown;
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1436 const char *reason;
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1437 reason = gaim_pounce_action_get_attribute(pounce, "popup-notify",
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1438 "reason");
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1439
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1440 /*
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1441 * 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
1442 * confusion about what protocol a pounce is for.
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1443 */
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1444 tmp = g_strdup_printf(
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1445 (events & GAIM_POUNCE_TYPING) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1446 _("%s has started typing to you (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1447 (events & GAIM_POUNCE_SIGNON) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1448 _("%s has signed on (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1449 (events & GAIM_POUNCE_IDLE_RETURN) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1450 _("%s has returned from being idle (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1451 (events & GAIM_POUNCE_AWAY_RETURN) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1452 _("%s has returned from being away (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1453 (events & GAIM_POUNCE_TYPING_STOPPED) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1454 _("%s has stopped typing to you (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1455 (events & GAIM_POUNCE_SIGNOFF) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1456 _("%s has signed off (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1457 (events & GAIM_POUNCE_IDLE) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1458 _("%s has become idle (%s)") :
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1459 (events & GAIM_POUNCE_AWAY) ?
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1460 _("%s has gone away. (%s)") :
12694
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
1461 (events & GAIM_POUNCE_MESSAGE_RECEIVED) ?
ebed1bbedb04 [gaim-migrate @ 15037]
Richard Laager <rlaager@wiktel.com>
parents: 12336
diff changeset
1462 _("%s has sent you a message. (%s)") :
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1463 _("Unknown pounce event. Please report this!"),
10774
d83f745c997b [gaim-migrate @ 12383]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10590
diff changeset
1464 alias, gaim_account_get_protocol_name(account));
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1465
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1466 /*
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1467 * Ok here is where I change the second argument, title, from
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1468 * NULL to the account alias if we have it or the account
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1469 * name if that's all we have
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1470 */
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1471 if ((name_shown = gaim_account_get_alias(account)) == NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1472 name_shown = gaim_account_get_username(account);
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1473
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1474 if (reason == NULL)
13119
fcde3faa1f57 [gaim-migrate @ 15481]
Richard Laager <rlaager@wiktel.com>
parents: 13104
diff changeset
1475 {
fcde3faa1f57 [gaim-migrate @ 15481]
Richard Laager <rlaager@wiktel.com>
parents: 13104
diff changeset
1476 gaim_notify_info(NULL, name_shown, tmp, gaim_date_format_full(NULL));
fcde3faa1f57 [gaim-migrate @ 15481]
Richard Laager <rlaager@wiktel.com>
parents: 13104
diff changeset
1477 }
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1478 else
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1479 {
13119
fcde3faa1f57 [gaim-migrate @ 15481]
Richard Laager <rlaager@wiktel.com>
parents: 13104
diff changeset
1480 char *tmp2 = g_strdup_printf("%s\n\n%s", reason, gaim_date_format_full(NULL));
12934
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1481 gaim_notify_info(NULL, name_shown, tmp, tmp2);
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1482 g_free(tmp2);
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1483 }
c6a202e5823b [gaim-migrate @ 15287]
Richard Laager <rlaager@wiktel.com>
parents: 12694
diff changeset
1484 g_free(tmp);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1485 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1486
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1487 if (gaim_pounce_action_is_enabled(pounce, "send-message"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1488 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1489 const char *message;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1490
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1491 message = gaim_pounce_action_get_attribute(pounce, "send-message",
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1492 "message");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1493
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1494 if (message != NULL)
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1495 {
11338
17142948653e [gaim-migrate @ 13551]
Mark Doliner <mark@kingant.net>
parents: 11243
diff changeset
1496 conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, pouncee, account);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1497
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1498 if (conv == NULL)
11338
17142948653e [gaim-migrate @ 13551]
Mark Doliner <mark@kingant.net>
parents: 11243
diff changeset
1499 conv = gaim_conversation_new(GAIM_CONV_TYPE_IM, account, pouncee);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1500
6982
083d1e4a9c78 [gaim-migrate @ 7538]
Mark Doliner <mark@kingant.net>
parents: 6695
diff changeset
1501 gaim_conversation_write(conv, NULL, message,
6621
42fdf16f1dad [gaim-migrate @ 7145]
Mark Doliner <mark@kingant.net>
parents: 6444
diff changeset
1502 GAIM_MESSAGE_SEND, time(NULL));
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1503
6982
083d1e4a9c78 [gaim-migrate @ 7538]
Mark Doliner <mark@kingant.net>
parents: 6695
diff changeset
1504 serv_send_im(account->gc, (char *)pouncee, (char *)message, 0);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1505 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1506 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1507
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1508 if (gaim_pounce_action_is_enabled(pounce, "execute-command"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1509 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1510 const char *command;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1511
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1512 command = gaim_pounce_action_get_attribute(pounce,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1513 "execute-command", "command");
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1514
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1515 if (command != NULL)
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1516 {
6660
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1517 #ifndef _WIN32
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1518 char *localecmd = g_locale_from_utf8(command, -1, NULL,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1519 NULL, NULL);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1520
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1521 if (localecmd != NULL)
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1522 {
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1523 int pid = fork();
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1524
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1525 if (pid == 0) {
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1526 char *args[4];
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1527
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1528 args[0] = "sh";
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1529 args[1] = "-c";
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1530 args[2] = (char *)localecmd;
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1531 args[3] = NULL;
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1532
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1533 execvp(args[0], args);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1534
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1535 _exit(0);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1536 }
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1537 g_free(localecmd);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1538 }
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1539 #else /* !_WIN32 */
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1540 PROCESS_INFORMATION pi;
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1541 BOOL retval;
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1542 gchar *message = NULL;
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1543
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1544 memset(&pi, 0, sizeof(pi));
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1545
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1546 if (G_WIN32_HAVE_WIDECHAR_API ()) {
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1547 STARTUPINFOW si;
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1548 wchar_t *wc_cmd = g_utf8_to_utf16(command,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1549 -1, NULL, NULL, NULL);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1550
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1551 memset(&si, 0 , sizeof(si));
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1552 si.cb = sizeof(si);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1553
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1554 retval = CreateProcessW(NULL, wc_cmd, NULL,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1555 NULL, 0, 0, NULL, NULL,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1556 &si, &pi);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1557 g_free(wc_cmd);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1558 } else {
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1559 STARTUPINFOA si;
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1560 char *l_cmd = g_locale_from_utf8(command,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1561 -1, NULL, NULL, NULL);
6660
48a31082bf5f [gaim-migrate @ 7185]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6646
diff changeset
1562
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1563 memset(&si, 0 , sizeof(si));
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1564 si.cb = sizeof(si);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1565
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1566 retval = CreateProcessA(NULL, l_cmd, NULL,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1567 NULL, 0, 0, NULL, NULL,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1568 &si, &pi);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1569 g_free(l_cmd);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1570 }
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1571
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1572 if (retval) {
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1573 CloseHandle(pi.hProcess);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1574 CloseHandle(pi.hThread);
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1575 } else {
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1576 message = g_win32_error_message(GetLastError());
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1577 }
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1578
7276
29c0fe160f90 [gaim-migrate @ 7855]
Christian Hammond <chipx86@chipx86.com>
parents: 7098
diff changeset
1579 gaim_debug_info("pounce",
10921
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1580 "Pounce execute command called for: "
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1581 "%s\n%s%s%s",
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1582 command,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1583 retval ? "" : "Error: ",
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1584 retval ? "" : message,
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1585 retval ? "" : "\n");
9f75886e4f1f [gaim-migrate @ 12688]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10913
diff changeset
1586 g_free(message);
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1587 #endif /* !_WIN32 */
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1588 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1589 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1590
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1591 if (gaim_pounce_action_is_enabled(pounce, "play-sound"))
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1592 {
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1593 const char *sound;
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1594
9205
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1595 sound = gaim_pounce_action_get_attribute(pounce,
5b35a6b96726 [gaim-migrate @ 10000]
Christian Hammond <chipx86@chipx86.com>
parents: 9191
diff changeset
1596 "play-sound", "filename");
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1597
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1598 if (sound != NULL)
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11338
diff changeset
1599 gaim_sound_play_file(sound, account);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1600 else
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11338
diff changeset
1601 gaim_sound_play_event(GAIM_SOUND_POUNCE_DEFAULT, account);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1602 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1603 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1604
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1605 static void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1606 free_pounce(GaimPounce *pounce)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1607 {
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1608 update_pounces();
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1609 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1610
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1611 static void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1612 new_pounce(GaimPounce *pounce)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1613 {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1614 gaim_pounce_action_register(pounce, "open-window");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1615 gaim_pounce_action_register(pounce, "popup-notify");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1616 gaim_pounce_action_register(pounce, "send-message");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1617 gaim_pounce_action_register(pounce, "execute-command");
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1618 gaim_pounce_action_register(pounce, "play-sound");
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1619
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1620 update_pounces();
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1621 }
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1622
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1623 void *
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1624 gaim_gtk_pounces_get_handle() {
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1625 static int handle;
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1626
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1627 return &handle;
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1628 }
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1629
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1630 void
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1631 gaim_gtk_pounces_init(void)
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1632 {
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1633 gaim_pounces_register_handler(GAIM_GTK_UI, pounce_cb, new_pounce,
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1634 free_pounce);
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1635
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1636 gaim_prefs_add_none("/gaim/gtk/pounces");
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1637 gaim_prefs_add_none("/gaim/gtk/pounces/default_actions");
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1638 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/open-window",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1639 FALSE);
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1640 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/popup-notify",
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
1641 TRUE);
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1642 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/send-message",
12141
dcd2bcad2f3d [gaim-migrate @ 14442]
Richard Laager <rlaager@wiktel.com>
parents: 12137
diff changeset
1643 FALSE);
9206
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1644 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/execute-command",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1645 FALSE);
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1646 gaim_prefs_add_bool("/gaim/gtk/pounces/default_actions/play-sound",
13bfd59e164f [gaim-migrate @ 10001]
Christian Hammond <chipx86@chipx86.com>
parents: 9205
diff changeset
1647 FALSE);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1648 gaim_prefs_add_none("/gaim/gtk/pounces/dialog");
12336
0bde9a3cb93d [gaim-migrate @ 14640]
Mark Doliner <mark@kingant.net>
parents: 12193
diff changeset
1649 gaim_prefs_add_int("/gaim/gtk/pounces/dialog/width", 520);
0bde9a3cb93d [gaim-migrate @ 14640]
Mark Doliner <mark@kingant.net>
parents: 12193
diff changeset
1650 gaim_prefs_add_int("/gaim/gtk/pounces/dialog/height", 321);
12136
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1651
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1652 gaim_signal_connect(gaim_connections_get_handle(), "signed-on",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1653 gaim_gtk_pounces_get_handle(),
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1654 GAIM_CALLBACK(signed_on_off_cb), NULL);
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1655 gaim_signal_connect(gaim_connections_get_handle(), "signed-off",
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1656 gaim_gtk_pounces_get_handle(),
370f9d7868f9 [gaim-migrate @ 14436]
Richard Laager <rlaager@wiktel.com>
parents: 11995
diff changeset
1657 GAIM_CALLBACK(signed_on_off_cb), NULL);
5875
448f2f4ca3ec [gaim-migrate @ 6307]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1658 }