src/gtkpounce.c

Thu, 02 Feb 2006 05:54:51 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Thu, 02 Feb 2006 05:54:51 +0000
changeset 13094
dfbe0dea413b
parent 13091
b5ed878998dd
child 13105
8f9c66e4af87
permissions
-rw-r--r--

[gaim-migrate @ 15455]
Since we try to discourage use of CVS, let's not talk about it in the segfault message. That line doesn't really provide any useful information to the average user anyway.

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

mercurial