Mercurial > pidgin
annotate src/prefs.c @ 338:9d258a0aa560
[gaim-migrate @ 348]
Whoa, all kinds of things happened here. The applet looks better. The
preferences dialog changes based on your compile-time options (oscar,
gnome). Whispering works again. libfaim got updated; it can almost do
RVOUS stuff, and hopefully soon can make requests too. The applet doesn't
need to have its sounds go through GNOME, although it still can. There
is code to facilitate SOCKS5 support (all that needs to be done is to
actually write the code to communicate with the proxy server).
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Tue, 06 Jun 2000 09:55:30 +0000 |
| parents | f5b199e20d12 |
| children | 0d9cfc3579a5 |
| rev | line source |
|---|---|
| 1 | 1 /* |
| 2 * gaim | |
| 3 * | |
| 4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 * | |
| 6 * This program is free software; you can redistribute it and/or modify | |
| 7 * it under the terms of the GNU General Public License as published by | |
| 8 * the Free Software Foundation; either version 2 of the License, or | |
| 9 * (at your option) any later version. | |
| 10 * | |
| 11 * This program is distributed in the hope that it will be useful, | |
| 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 * GNU General Public License for more details. | |
| 15 * | |
| 16 * You should have received a copy of the GNU General Public License | |
| 17 * along with this program; if not, write to the Free Software | |
| 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 * | |
| 20 */ | |
| 21 | |
| 22 #include <string.h> | |
| 23 #include <sys/time.h> | |
| 24 | |
| 25 #include <sys/types.h> | |
| 26 #include <sys/stat.h> | |
| 27 | |
| 28 #include <unistd.h> | |
| 29 #include <stdio.h> | |
| 30 #include <stdlib.h> | |
| 31 #include <gtk/gtk.h> | |
| 32 #include "gaim.h" | |
| 33 #include "proxy.h" | |
| 34 | |
| 35 struct prefs_data *pd = NULL; | |
| 36 struct debug_window *dw = NULL; | |
| 37 | |
| 38 GtkWidget *debugbutton; | |
| 39 | |
| 40 struct chat_page { | |
| 41 GtkWidget *list1; | |
| 42 GtkWidget *list2; | |
| 43 }; | |
| 44 | |
| 45 | |
| 46 char debug_buff[BUF_LONG]; | |
| 47 | |
| 48 void do_chat_page(GtkWidget *page); | |
| 49 | |
| 50 void list_clicked( GtkWidget *widget, struct away_message *a); | |
| 51 void list_unclicked( GtkWidget *widget, struct away_message *a); | |
| 52 | |
|
171
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
53 void show_debug(GtkObject *); |
| 1 | 54 |
| 55 void remove_away_message(GtkWidget *widget, void *dummy) | |
| 56 { | |
| 57 GList *i; | |
| 58 struct away_message *a; | |
| 59 | |
| 60 i = GTK_LIST(pd->away_list)->selection; | |
| 61 | |
| 62 a = gtk_object_get_user_data(GTK_OBJECT(i->data)); | |
| 63 | |
| 64 rem_away_mess(NULL, a); | |
| 65 } | |
| 66 | |
| 67 void away_list_clicked( GtkWidget *widget, struct away_message *a) | |
| 68 { | |
| 69 gchar buffer[2048]; | |
| 70 guint text_len; | |
| 71 | |
| 72 pd->cur_message = a; | |
| 73 | |
| 74 /* Get proper Length */ | |
| 75 text_len = gtk_text_get_length(GTK_TEXT(pd->away_text)); | |
| 76 pd->edited_message = gtk_editable_get_chars(GTK_EDITABLE(pd->away_text), 0, text_len); | |
| 77 | |
| 78 /* Clear the Box */ | |
| 79 gtk_text_set_point(GTK_TEXT(pd->away_text), 0 ); | |
| 80 gtk_text_forward_delete (GTK_TEXT(pd->away_text), text_len); | |
| 81 | |
| 82 /* Fill the text box with new message */ | |
| 83 strcpy(buffer, a->message); | |
| 84 gtk_text_insert(GTK_TEXT(pd->away_text), NULL, NULL, NULL, buffer, -1); | |
| 85 | |
| 86 | |
| 87 } | |
| 88 | |
| 89 void away_list_unclicked( GtkWidget *widget, struct away_message *a) | |
| 90 { | |
| 91 if (pd == NULL) | |
| 92 return; | |
| 93 strcpy(a->message, pd->edited_message); | |
| 94 save_prefs(); | |
| 95 } | |
| 96 | |
| 97 void set_option(GtkWidget *w, int *option) | |
| 98 { | |
| 99 *option = !(*option); | |
| 100 } | |
| 101 | |
| 102 void set_display_option(GtkWidget *w, int *option) | |
| 103 { | |
| 104 display_options = display_options ^ (int)option; | |
| 9 | 105 |
| 18 | 106 if (blist) update_button_pix(); |
| 9 | 107 |
| 84 | 108 #ifdef USE_APPLET |
| 82 | 109 update_pixmaps(); |
| 110 #endif | |
| 111 | |
| 1 | 112 save_prefs(); |
| 113 } | |
| 114 | |
| 115 void set_sound_option(GtkWidget *w, int *option) | |
| 116 { | |
| 117 sound_options = sound_options ^ (int)option; | |
| 118 save_prefs(); | |
| 119 } | |
| 120 | |
| 121 void set_font_option(GtkWidget *w, int *option) | |
| 122 { | |
| 123 font_options = font_options ^ (int)option; | |
| 124 | |
| 125 update_font_buttons(); | |
| 126 | |
| 127 save_prefs(); | |
| 128 } | |
| 129 | |
| 130 void set_general_option(GtkWidget *w, int *option) | |
| 131 { | |
| 132 general_options = general_options ^ (int)option; | |
| 133 | |
| 134 if ((int)option == OPT_GEN_SHOW_LAGMETER) | |
| 135 update_lagometer(-1); | |
| 136 if ((int)option == OPT_GEN_LOG_ALL) | |
| 137 update_log_convs(); | |
| 138 save_prefs(); | |
| 139 | |
| 140 /* | |
| 141 if (data == &show_grp_nums) | |
| 142 update_num_groups(); | |
| 143 if (data == &showidle || data == &showpix) | |
| 144 update_show_idlepix(); | |
| 18 | 145 if (data == &button_pix && blist) |
| 1 | 146 update_button_pix(); |
| 147 if (data == &transparent) | |
| 148 update_transparency(); | |
| 149 */ | |
| 150 | |
| 151 } | |
| 152 | |
| 153 | |
| 154 static gint debug_delete(GtkWidget *w, GdkEvent *event, void *dummy) | |
| 155 { | |
|
171
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
156 if (debugbutton) |
|
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
157 gtk_button_clicked(GTK_BUTTON(debugbutton)); |
|
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
158 if (general_options & OPT_GEN_DEBUG) |
| 1 | 159 { |
|
171
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
160 general_options = general_options ^ (int)OPT_GEN_DEBUG; |
|
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
161 save_prefs(); |
| 1 | 162 } |
| 163 g_free(dw); | |
| 164 dw=NULL; | |
| 165 return FALSE; | |
| 166 | |
| 167 } | |
| 168 | |
| 169 static gint handle_delete(GtkWidget *w, GdkEvent *event, void *dummy) | |
| 170 { | |
| 171 guint text_len; | |
| 172 struct away_message *a; | |
| 173 | |
| 174 | |
| 175 if (pd->cur_message) { | |
| 176 | |
| 177 a = pd->cur_message; | |
| 178 | |
| 179 | |
| 180 /* Get proper Length and grab data */ | |
| 181 text_len = gtk_text_get_length(GTK_TEXT(pd->away_text)); | |
| 182 pd->edited_message = gtk_editable_get_chars(GTK_EDITABLE(pd->away_text), 0, text_len); | |
| 183 | |
| 184 /* Store the data for later use */ | |
| 185 strcpy(a->message, pd->edited_message); | |
| 186 | |
| 187 } | |
| 188 | |
| 189 save_prefs(); | |
| 190 | |
| 191 if (event == NULL) | |
| 192 { | |
| 193 gtk_widget_destroy(pd->window); | |
| 194 debugbutton=NULL; | |
| 195 } | |
| 196 g_free(pd); | |
| 197 pd = NULL; | |
| 198 | |
| 199 | |
| 200 return FALSE; | |
| 201 } | |
| 202 | |
| 203 static int | |
| 204 manualentry_key_pressed(GtkWidget *w, GdkEvent *event, void *dummy) | |
| 205 { | |
| 206 g_snprintf(web_command, sizeof(web_command), "%s", gtk_entry_get_text(GTK_ENTRY(pd->browser_entry))); | |
| 207 save_prefs(); | |
| 208 return TRUE; | |
| 209 } | |
| 210 | |
| 211 static int | |
| 212 connection_key_pressed(GtkWidget *w, GdkEvent *event, void *dummy) | |
| 213 { | |
| 214 g_snprintf(aim_host, sizeof(aim_host), "%s", gtk_entry_get_text(GTK_ENTRY(pd->aim_host_entry))); | |
| 215 sscanf(gtk_entry_get_text(GTK_ENTRY(pd->aim_port_entry)), "%d", &aim_port); | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
216 if (proxy_type != PROXY_NONE) { |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
217 g_snprintf(proxy_host, sizeof(proxy_host), "%s", gtk_entry_get_text(GTK_ENTRY(pd->proxy_host_entry))); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
218 sscanf(gtk_entry_get_text(GTK_ENTRY(pd->proxy_port_entry)), "%d", &proxy_port); |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
219 } |
| 1 | 220 |
| 221 g_snprintf(login_host, sizeof(login_host), "%s", gtk_entry_get_text(GTK_ENTRY(pd->login_host_entry))); | |
| 222 sscanf(gtk_entry_get_text(GTK_ENTRY(pd->login_port_entry)), "%d", &login_port); | |
| 223 save_prefs(); | |
| 224 return TRUE; | |
| 225 } | |
| 226 | |
| 227 | |
| 228 | |
| 229 | |
| 230 static void set_browser(GtkWidget *w, int *data) | |
| 231 { | |
| 232 web_browser = (int)data; | |
| 233 if (web_browser != BROWSER_MANUAL) { | |
| 234 if (pd->browser_entry) | |
| 235 gtk_widget_set_sensitive(pd->browser_entry, FALSE); | |
| 236 } else { | |
| 237 if (pd->browser_entry) | |
| 238 gtk_widget_set_sensitive(pd->browser_entry, TRUE); | |
| 239 } | |
| 240 | |
| 241 if (web_browser != BROWSER_NETSCAPE) { | |
| 242 if (pd->nwbutton) | |
| 243 gtk_widget_set_sensitive(pd->nwbutton, FALSE); | |
| 244 } else { | |
| 245 if (pd->nwbutton) | |
| 246 gtk_widget_set_sensitive(pd->nwbutton, TRUE); | |
| 247 } | |
| 248 | |
| 249 | |
| 250 save_prefs(); | |
| 251 } | |
| 252 | |
| 253 static void set_connect(GtkWidget *w, int *data) | |
| 254 { | |
| 255 proxy_type = (int)data; | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
256 if (proxy_type != PROXY_NONE) { |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
257 if (pd->proxy_host_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
258 gtk_widget_set_sensitive(pd->proxy_host_entry, TRUE); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
259 if (pd->proxy_port_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
260 gtk_widget_set_sensitive(pd->proxy_port_entry, TRUE); |
| 1 | 261 } else { |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
262 if (pd->proxy_host_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
263 gtk_widget_set_sensitive(pd->proxy_host_entry, FALSE); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
264 if (pd->proxy_port_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
265 gtk_widget_set_sensitive(pd->proxy_port_entry, FALSE); |
| 1 | 266 } |
| 267 | |
| 268 save_prefs(); | |
| 269 } | |
| 270 | |
| 271 static void set_idle(GtkWidget *w, int *data) | |
| 272 { | |
| 273 report_idle = (int)data; | |
| 274 save_prefs(); | |
| 275 } | |
| 276 | |
| 277 | |
| 278 GtkWidget *gaim_button(const char *text, int *options, int option, GtkWidget *page) | |
| 279 { | |
| 280 GtkWidget *button; | |
| 281 button = gtk_check_button_new_with_label(text); | |
| 282 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (*options & option)); | |
| 283 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); | |
| 284 | |
| 285 if (options == &font_options) | |
| 286 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_font_option), (int *)option); | |
| 287 | |
| 288 if (options == &sound_options) | |
| 289 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_sound_option), (int *)option); | |
| 290 if (options == &display_options) | |
| 291 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_display_option), (int *)option); | |
| 292 | |
| 293 if (options == &general_options) | |
| 294 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_general_option), (int *)option); | |
| 295 gtk_widget_show(button); | |
| 296 | |
| 297 return button; | |
| 298 } | |
| 299 | |
| 300 | |
| 301 void build_prefs() | |
| 302 { | |
| 303 GtkWidget *bbox; | |
| 304 GtkWidget *vbox; | |
| 305 GtkWidget *hbox; | |
| 306 GtkWidget *hbox2; | |
| 307 GtkWidget *idlebox; | |
| 308 GtkWidget *idleframe; | |
| 309 GtkWidget *genbox; | |
| 310 GtkWidget *fontbox; | |
| 311 GtkWidget *fontframe; | |
| 312 GtkWidget *appbox; | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
313 GtkWidget *appletbox; |
| 1 | 314 GtkWidget *away_topbox; |
| 315 GtkWidget *away_botbox; | |
| 316 GtkWidget *add_away; | |
| 317 GtkWidget *remove_away; | |
| 318 GtkWidget *close; | |
| 319 GtkWidget *notebook; | |
| 320 GtkWidget *sound_page; | |
| 321 /* GtkWidget *debug_page; */ | |
| 322 GtkWidget *general_page; | |
| 323 GtkWidget *appearance_page; | |
| 324 GtkWidget *chat_page; | |
| 325 GtkWidget *browser_page; | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
326 #ifndef USE_OSCAR /* sorry, since we don't control the comm we can't set |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
327 the connection */ |
| 1 | 328 GtkWidget *connection_page; |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
329 #endif |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
330 #ifdef USE_APPLET |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
331 GtkWidget *applet_page; |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
332 #endif |
| 1 | 333 GtkWidget *label; |
| 334 GtkWidget *browseropt; | |
| 335 GtkWidget *connectopt; | |
| 336 GtkWidget *idleopt; | |
| 337 | |
| 338 GList *awy = away_messages; | |
| 339 struct away_message *a; | |
| 340 GtkWidget *sw; | |
| 341 GtkWidget *sw2; | |
| 342 GtkWidget *away_page; | |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
343 GtkWidget *select_font; |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
344 GtkWidget *font_face_for_text; |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
345 |
| 1 | 346 GtkWidget *list_item; |
| 347 | |
| 348 gchar buffer[64]; | |
| 349 | |
| 350 if (!pd) | |
| 351 pd = g_new0(struct prefs_data, 1); | |
| 352 | |
| 353 pd->window = gtk_window_new(GTK_WINDOW_DIALOG); | |
| 354 gtk_widget_realize(pd->window); | |
| 355 aol_icon(pd->window->window); | |
| 356 gtk_container_border_width(GTK_CONTAINER(pd->window), 10); | |
| 357 gtk_window_set_title(GTK_WINDOW(pd->window), "Gaim - Preferences"); | |
| 358 | |
| 359 vbox = gtk_vbox_new(FALSE, 5); | |
| 360 gtk_container_add(GTK_CONTAINER(pd->window), vbox); | |
| 361 | |
| 362 /* Notebooks */ | |
| 363 notebook = gtk_notebook_new(); | |
| 364 gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 5); | |
| 365 | |
| 366 | |
| 367 /* General page */ | |
| 368 general_page = gtk_hbox_new(FALSE, 0); | |
| 369 label = gtk_label_new("General"); | |
| 370 gtk_widget_show(label); | |
| 371 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), general_page, label); | |
| 372 | |
| 373 genbox = gtk_vbox_new(FALSE, 5); | |
| 374 idleframe = gtk_frame_new("Idle"); | |
| 375 idlebox = gtk_vbox_new(FALSE, 5); | |
| 376 | |
| 377 gtk_box_pack_start(GTK_BOX(general_page), genbox, TRUE, TRUE, 5); | |
| 378 gtk_box_pack_start(GTK_BOX(general_page), idleframe, TRUE, TRUE, 5); | |
| 379 gtk_container_add(GTK_CONTAINER(idleframe), idlebox); | |
| 380 | |
| 381 | |
| 382 gaim_button("Enter sends message", &general_options, OPT_GEN_ENTER_SENDS, genbox); | |
| 383 gaim_button("Auto-login", &general_options, OPT_GEN_AUTO_LOGIN, genbox); | |
| 384 gaim_button("Log All Conversations", &general_options, OPT_GEN_LOG_ALL, genbox); | |
| 385 gaim_button("Strip HTML from log files", &general_options, OPT_GEN_STRIP_HTML, genbox); | |
| 386 gaim_button("Raise windows when message recieved", &general_options, OPT_GEN_POPUP_WINDOWS, genbox); | |
| 387 gaim_button("Send URLs as links", &general_options, OPT_GEN_SEND_LINKS, genbox); | |
| 388 gaim_button("Show Lag-O-Meter", &general_options, OPT_GEN_SHOW_LAGMETER, genbox); | |
| 389 gaim_button("Save some window size/positions", &general_options, OPT_GEN_SAVED_WINDOWS, genbox); | |
| 390 gaim_button("Ignore new conversations when away", &general_options, OPT_GEN_DISCARD_WHEN_AWAY, genbox); | |
| 206 | 391 gaim_button("Automagically highlight misspelled words", &general_options, OPT_GEN_CHECK_SPELLING, genbox); |
|
176
c99d0b82c8a8
[gaim-migrate @ 186]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
171
diff
changeset
|
392 if (!dw && (general_options & OPT_GEN_DEBUG)) |
|
c99d0b82c8a8
[gaim-migrate @ 186]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
171
diff
changeset
|
393 general_options = general_options ^ OPT_GEN_DEBUG; |
| 1 | 394 debugbutton = gaim_button("Enable debug mode", &general_options, OPT_GEN_DEBUG, genbox); |
| 395 | |
| 396 | |
| 397 idleopt = gtk_radio_button_new_with_label(NULL, "No Idle"); | |
| 398 gtk_box_pack_start(GTK_BOX(idlebox), idleopt, FALSE, FALSE, 0); | |
| 399 gtk_signal_connect(GTK_OBJECT(idleopt), "clicked", GTK_SIGNAL_FUNC(set_idle), (void *)IDLE_NONE); | |
| 400 gtk_widget_show(idleopt); | |
| 401 if (report_idle == IDLE_NONE) | |
| 402 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(idleopt), TRUE); | |
| 403 | |
| 404 idleopt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(idleopt)), "GAIM Use"); | |
| 405 gtk_box_pack_start(GTK_BOX(idlebox), idleopt, FALSE, FALSE, 0); | |
| 406 gtk_signal_connect(GTK_OBJECT(idleopt), "clicked", GTK_SIGNAL_FUNC(set_idle), (void *)IDLE_GAIM); | |
| 407 gtk_widget_show(idleopt); | |
| 408 if (report_idle == IDLE_GAIM) | |
| 409 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(idleopt), TRUE); | |
| 410 | |
| 411 /* idleopt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(idleopt)), "X Use"); | |
| 412 gtk_box_pack_start(GTK_BOX(idlebox), idleopt, FALSE, FALSE, 0); | |
| 413 gtk_signal_connect(GTK_OBJECT(idleopt), "clicked", GTK_SIGNAL_FUNC(set_idle), (void *)IDLE_SYSTEM); | |
| 414 gtk_widget_show(idleopt); | |
| 415 if (report_idle == IDLE_SYSTEM) | |
| 416 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(idleopt), TRUE); | |
| 417 */ | |
| 418 | |
| 419 gtk_widget_show(general_page); | |
| 420 gtk_widget_show(genbox); | |
| 421 gtk_widget_show(idlebox); | |
| 422 gtk_widget_show(idleframe); | |
| 423 | |
| 424 | |
|
171
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
425 gtk_signal_connect_object( GTK_OBJECT(debugbutton), "clicked", GTK_SIGNAL_FUNC(show_debug), NULL); |
| 1 | 426 |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
427 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
428 /* Applet */ |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
429 #ifdef USE_APPLET |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
430 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
431 applet_page = gtk_vbox_new(FALSE, 0); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
432 label = gtk_label_new("Applet"); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
433 gtk_widget_show(label); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
434 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), applet_page, label); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
435 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
436 appletbox = gtk_vbox_new(FALSE, 5); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
437 gtk_box_pack_start(GTK_BOX(applet_page), appletbox, TRUE, TRUE, 5); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
438 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
439 gaim_button("Automatically Show Buddy List", &general_options, OPT_GEN_APP_BUDDY_SHOW, appletbox); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
440 gaim_button("Sounds go through GNOME", &sound_options, OPT_SOUND_THROUGH_GNOME, appletbox); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
441 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
442 gtk_widget_show(appletbox); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
443 gtk_widget_show(applet_page); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
444 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
445 #endif |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
446 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
447 |
| 1 | 448 /* Connection */ |
| 449 | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
450 #ifndef USE_OSCAR |
| 1 | 451 connection_page = gtk_vbox_new(FALSE, 0); |
| 452 label = gtk_label_new("Connection"); | |
| 453 gtk_widget_show(label); | |
| 454 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), connection_page, label); | |
| 455 | |
| 456 hbox = gtk_hbox_new(FALSE, 0); | |
| 457 label = gtk_label_new("TOC Host:"); | |
| 458 gtk_widget_show(label); | |
| 459 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); | |
| 460 pd->aim_host_entry = gtk_entry_new(); | |
| 461 gtk_widget_show(pd->aim_host_entry); | |
| 462 gtk_box_pack_start(GTK_BOX(hbox), pd->aim_host_entry, FALSE, FALSE, 0); | |
| 463 | |
| 464 label = gtk_label_new("Port:"); | |
| 465 gtk_widget_show(label); | |
| 466 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); | |
| 467 pd->aim_port_entry = gtk_entry_new(); | |
| 468 gtk_widget_show(pd->aim_port_entry); | |
| 469 gtk_box_pack_start(GTK_BOX(hbox), pd->aim_port_entry, FALSE, FALSE, 0); | |
| 470 gtk_widget_show(hbox); | |
| 471 | |
| 472 gtk_box_pack_start(GTK_BOX(connection_page), hbox, FALSE, FALSE, 0); | |
| 473 gtk_entry_set_text(GTK_ENTRY(pd->aim_host_entry), aim_host); | |
| 474 | |
| 475 g_snprintf(buffer, sizeof(buffer), "%d", aim_port); | |
| 476 gtk_entry_set_text(GTK_ENTRY(pd->aim_port_entry), buffer); | |
| 477 | |
| 478 hbox2 = gtk_hbox_new(FALSE, 0); | |
| 479 label = gtk_label_new("Login Host:"); | |
| 480 gtk_widget_show(label); | |
| 481 gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 5); | |
| 482 pd->login_host_entry = gtk_entry_new(); | |
| 483 gtk_widget_show(pd->login_host_entry); | |
| 484 gtk_box_pack_start(GTK_BOX(hbox2), pd->login_host_entry, FALSE, FALSE, 0); | |
| 485 | |
| 486 label = gtk_label_new("Port:"); | |
| 487 gtk_widget_show(label); | |
| 488 gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 5); | |
| 489 pd->login_port_entry = gtk_entry_new(); | |
| 490 gtk_widget_show(pd->login_port_entry); | |
| 491 gtk_box_pack_start(GTK_BOX(hbox2), pd->login_port_entry, FALSE, FALSE, 0); | |
| 492 gtk_widget_show(hbox2); | |
| 493 | |
| 494 gtk_box_pack_start(GTK_BOX(connection_page), hbox2, FALSE, FALSE, 0); | |
| 495 gtk_entry_set_text(GTK_ENTRY(pd->login_host_entry), login_host); | |
| 496 | |
| 497 g_snprintf(buffer, sizeof(buffer), "%d", login_port); | |
| 498 gtk_entry_set_text(GTK_ENTRY(pd->login_port_entry), buffer); | |
| 499 | |
| 500 connectopt = gtk_radio_button_new_with_label(NULL, "No Proxy"); | |
| 501 gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); | |
| 502 gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_NONE); | |
| 503 gtk_widget_show(connectopt); | |
| 504 if (proxy_type == PROXY_NONE) | |
| 505 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); | |
| 506 | |
| 507 connectopt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(connectopt)), "HTTP Proxy"); | |
| 508 gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); | |
| 509 gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_HTTP); | |
| 510 gtk_widget_show(connectopt); | |
| 511 if (proxy_type == PROXY_HTTP) | |
| 512 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); | |
| 513 | |
| 514 | |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
515 connectopt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(connectopt)), "SOCKS v4 Proxy"); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
516 gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
517 gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_SOCKS4); |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
518 gtk_widget_show(connectopt); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
519 if (proxy_type == PROXY_SOCKS4) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
520 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
521 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
522 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
523 connectopt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(connectopt)), "SOCKS v5 Proxy (DOES NOT WORK!)"); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
524 gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
525 gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_SOCKS5); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
526 gtk_widget_show(connectopt); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
527 if (proxy_type == PROXY_SOCKS5) |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
528 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
529 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
530 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
531 hbox = gtk_hbox_new(FALSE, 0); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
532 label = gtk_label_new("Proxy Host:"); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
533 gtk_widget_show(label); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
534 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
535 pd->proxy_host_entry = gtk_entry_new(); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
536 gtk_widget_show(pd->proxy_host_entry); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
537 gtk_box_pack_start(GTK_BOX(hbox), pd->proxy_host_entry, FALSE, FALSE, 0); |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
538 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
539 label = gtk_label_new("Port:"); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
540 gtk_widget_show(label); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
541 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
542 pd->proxy_port_entry = gtk_entry_new(); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
543 gtk_widget_show(pd->proxy_port_entry); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
544 gtk_box_pack_start(GTK_BOX(hbox), pd->proxy_port_entry, FALSE, FALSE, 0); |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
545 gtk_widget_show(hbox); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
546 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
547 gtk_box_pack_start(GTK_BOX(connection_page), hbox, FALSE, FALSE, 0); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
548 gtk_entry_set_text(GTK_ENTRY(pd->proxy_host_entry), proxy_host); |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
549 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
550 g_snprintf(buffer, sizeof(buffer), "%d", proxy_port); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
551 gtk_entry_set_text(GTK_ENTRY(pd->proxy_port_entry), buffer); |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
552 |
| 1 | 553 |
| 554 gtk_widget_show(connection_page); | |
| 555 | |
| 556 | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
557 if (proxy_type != PROXY_NONE) { |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
558 if (pd->proxy_host_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
559 gtk_widget_set_sensitive(pd->proxy_host_entry, TRUE); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
560 if (pd->proxy_port_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
561 gtk_widget_set_sensitive(pd->proxy_port_entry, TRUE); |
| 1 | 562 } else { |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
563 if (pd->proxy_host_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
564 gtk_widget_set_sensitive(pd->proxy_host_entry, FALSE); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
565 if (pd->proxy_port_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
566 gtk_widget_set_sensitive(pd->proxy_port_entry, FALSE); |
| 1 | 567 } |
| 568 | |
| 569 | |
| 570 | |
| 571 gtk_signal_connect(GTK_OBJECT(pd->aim_host_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); | |
| 572 gtk_signal_connect(GTK_OBJECT(pd->aim_port_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); | |
| 573 gtk_signal_connect(GTK_OBJECT(pd->login_host_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); | |
| 574 gtk_signal_connect(GTK_OBJECT(pd->login_port_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
575 gtk_signal_connect(GTK_OBJECT(pd->proxy_host_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
576 gtk_signal_connect(GTK_OBJECT(pd->proxy_port_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); |
| 1 | 577 |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
578 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
579 #endif /* USE_OSCAR */ |
| 1 | 580 |
| 581 /* Away */ | |
| 582 | |
| 583 a = awaymessage; | |
| 584 pd->cur_message = NULL; | |
| 585 pd->nwbutton = NULL; | |
| 586 pd->browser_entry = NULL; | |
| 587 | |
| 588 away_page = gtk_vbox_new(FALSE, 0); | |
| 589 away_topbox = gtk_hbox_new(FALSE, 0); | |
| 590 away_botbox = gtk_hbox_new(FALSE, 0); | |
| 591 | |
| 592 label = gtk_label_new("Away"); | |
| 593 gtk_widget_show(label); | |
| 594 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), away_page, label); | |
| 595 gtk_widget_show(away_page); | |
| 596 | |
| 597 sw2 = gtk_scrolled_window_new(NULL, NULL); | |
| 598 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), | |
| 599 GTK_POLICY_AUTOMATIC, | |
| 600 GTK_POLICY_AUTOMATIC); | |
| 601 gtk_widget_show(sw2); | |
| 602 | |
| 603 pd->away_list = gtk_list_new(); | |
| 604 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), pd->away_list); | |
| 605 gtk_box_pack_start(GTK_BOX(away_topbox), sw2, TRUE, TRUE, 0); | |
| 606 | |
| 607 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 608 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
| 609 GTK_POLICY_AUTOMATIC, | |
| 610 GTK_POLICY_AUTOMATIC); | |
| 611 gtk_widget_show(sw); | |
| 612 | |
| 613 pd->away_text = gtk_text_new(NULL, NULL); | |
| 614 gtk_container_add(GTK_CONTAINER(sw), pd->away_text); | |
| 615 gtk_box_pack_start(GTK_BOX(away_topbox), sw, TRUE, TRUE, 0); | |
| 616 gtk_text_set_word_wrap(GTK_TEXT(pd->away_text), TRUE); | |
| 617 gtk_text_set_editable(GTK_TEXT(pd->away_text), TRUE ); | |
| 618 | |
| 619 add_away = gtk_button_new_with_label("Create Message"); | |
| 620 gtk_signal_connect(GTK_OBJECT(add_away), "clicked", GTK_SIGNAL_FUNC(create_away_mess), NULL); | |
| 621 gtk_box_pack_start(GTK_BOX(away_botbox), add_away, TRUE, FALSE, 5); | |
| 622 | |
| 623 remove_away = gtk_button_new_with_label("Remove Message"); | |
| 624 gtk_signal_connect(GTK_OBJECT(remove_away), "clicked", GTK_SIGNAL_FUNC(remove_away_message), NULL); | |
| 625 gtk_box_pack_start(GTK_BOX(away_botbox), remove_away, TRUE, FALSE, 5); | |
| 626 | |
| 627 gtk_box_pack_start(GTK_BOX(away_page), away_topbox, TRUE, TRUE, 0); | |
| 628 gtk_box_pack_start(GTK_BOX(away_page), away_botbox, FALSE, FALSE, 0); | |
| 629 | |
| 630 gtk_widget_show(add_away); | |
| 631 gtk_widget_show(remove_away); | |
| 632 gtk_widget_show(pd->away_list); | |
| 633 gtk_widget_show(pd->away_text); | |
| 634 gtk_widget_show(away_topbox); | |
| 635 gtk_widget_show(away_botbox); | |
| 636 | |
| 637 if (awy != NULL) { | |
| 638 a = (struct away_message *)awy->data; | |
| 639 g_snprintf(buffer, sizeof(buffer), "%s", a->message); | |
| 640 gtk_text_insert(GTK_TEXT(pd->away_text), NULL, NULL, NULL, buffer, -1); | |
| 641 } | |
| 642 | |
| 643 while(awy) { | |
| 644 a = (struct away_message *)awy->data; | |
| 645 label = gtk_label_new(a->name); | |
| 646 list_item = gtk_list_item_new(); | |
| 647 gtk_container_add(GTK_CONTAINER(list_item), label); | |
| 648 gtk_signal_connect(GTK_OBJECT(list_item), "select", GTK_SIGNAL_FUNC(away_list_clicked), a); | |
| 649 gtk_signal_connect(GTK_OBJECT(list_item), "deselect", GTK_SIGNAL_FUNC(away_list_unclicked), a); | |
| 650 gtk_object_set_user_data(GTK_OBJECT(list_item), a); | |
| 651 | |
| 652 gtk_widget_show(label); | |
| 653 gtk_container_add(GTK_CONTAINER(pd->away_list), list_item); | |
| 654 gtk_widget_show(list_item); | |
| 655 | |
| 656 awy = awy->next; | |
| 657 | |
| 658 } | |
| 659 | |
| 660 /* Sound */ | |
| 661 sound_page = gtk_vbox_new(FALSE, 0); | |
| 662 label = gtk_label_new("Sounds"); | |
| 663 gtk_widget_show(label); | |
| 664 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sound_page, label); | |
| 665 gaim_button("Sound when buddy logs in", &sound_options, OPT_SOUND_LOGIN, sound_page); | |
| 666 gaim_button("Sound when buddy logs out", &sound_options, OPT_SOUND_LOGOUT, sound_page); | |
| 667 gaim_button("Sound when message is received", &sound_options, OPT_SOUND_RECV, sound_page); | |
| 668 gaim_button("Sound when message is sent", &sound_options, OPT_SOUND_SEND, sound_page); | |
| 669 gaim_button("Sound when first message is received", &sound_options, OPT_SOUND_FIRST_RCV, sound_page); | |
| 670 gaim_button("Sound when message is received if away", &sound_options, OPT_SOUND_WHEN_AWAY, sound_page); | |
|
109
45bcfa3b584c
[gaim-migrate @ 119]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
84
diff
changeset
|
671 gaim_button("No sound for buddies signed on when you log in", &sound_options, OPT_SOUND_SILENT_SIGNON, sound_page); |
| 1 | 672 gtk_widget_show(sound_page); |
| 673 | |
| 674 | |
| 675 /* Browser */ | |
| 676 browser_page = gtk_vbox_new(FALSE, 0); | |
| 677 | |
| 678 label = gtk_label_new("Browser"); | |
| 679 gtk_widget_show(label); | |
| 680 | |
| 681 | |
| 682 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), browser_page, label); | |
| 683 browseropt = gtk_radio_button_new_with_label(NULL, "Netscape"); | |
| 684 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 685 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_NETSCAPE); | |
| 686 gtk_widget_show(browseropt); | |
| 687 if (web_browser == BROWSER_NETSCAPE) | |
| 688 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 689 | |
| 690 browseropt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(browseropt)), "KFM (The KDE browser)"); | |
| 691 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 692 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_KFM); | |
| 693 gtk_widget_show(browseropt); | |
| 694 if (web_browser == BROWSER_KFM) | |
| 695 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 696 | |
| 697 | |
| 698 browseropt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(browseropt)), "Internal HTML widget (Quite likely a bad idea!)"); | |
| 699 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 700 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_INTERNAL); | |
| 701 gtk_widget_show(browseropt); | |
| 702 if (web_browser == BROWSER_INTERNAL) | |
| 703 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 704 | |
| 705 | |
| 706 browseropt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(browseropt)), "Manual"); | |
| 707 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 708 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_MANUAL); | |
| 709 gtk_widget_show(browseropt); | |
| 710 if (web_browser == BROWSER_MANUAL) | |
| 711 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 712 | |
| 713 | |
| 714 pd->browser_entry = gtk_entry_new(); | |
| 715 gtk_widget_show(pd->browser_entry); | |
| 716 | |
| 717 gtk_box_pack_start(GTK_BOX(browser_page), pd->browser_entry, FALSE, FALSE, 0); | |
| 718 gtk_entry_set_text(GTK_ENTRY(pd->browser_entry), web_command); | |
| 719 | |
| 720 pd->nwbutton = gaim_button("Pop up new window by default", &general_options, OPT_GEN_BROWSER_POPUP, browser_page); | |
| 721 gtk_widget_show(browser_page); | |
| 722 | |
| 723 gtk_signal_connect(GTK_OBJECT(pd->browser_entry), "focus_out_event", GTK_SIGNAL_FUNC(manualentry_key_pressed), NULL); | |
| 724 | |
| 725 | |
| 726 | |
| 727 if (web_browser != BROWSER_MANUAL) { | |
| 728 gtk_widget_set_sensitive(pd->browser_entry, FALSE); | |
| 729 } else { | |
| 730 gtk_widget_set_sensitive(pd->browser_entry, TRUE); | |
| 731 } | |
| 732 | |
| 733 if (web_browser != BROWSER_NETSCAPE) { | |
| 734 gtk_widget_set_sensitive(pd->nwbutton, FALSE); | |
| 735 } else { | |
| 736 gtk_widget_set_sensitive(pd->nwbutton, TRUE); | |
| 737 } | |
| 738 | |
| 739 | |
| 740 | |
| 741 | |
| 742 /* Appearance */ | |
| 743 appearance_page = gtk_hbox_new(FALSE, 0); | |
| 744 label = gtk_label_new("Appearance"); | |
| 745 gtk_widget_show(label); | |
| 746 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), appearance_page, label); | |
| 747 appbox = gtk_vbox_new(FALSE, 5); | |
| 748 fontframe = gtk_frame_new("Font Properties"); | |
| 749 fontbox = gtk_vbox_new(FALSE, 5); | |
| 750 | |
| 751 gtk_box_pack_start(GTK_BOX(appearance_page), appbox, TRUE, TRUE, 5); | |
| 752 gtk_box_pack_start(GTK_BOX(appearance_page), fontframe, TRUE, TRUE, 5); | |
| 753 gtk_container_add(GTK_CONTAINER(fontframe), fontbox); | |
| 754 | |
| 755 gaim_button("Show time on messages", &display_options, OPT_DISP_SHOW_TIME, appbox); | |
| 756 gaim_button("Show numbers in groups", &display_options, OPT_DISP_SHOW_GRPNUM, appbox ); | |
| 757 gaim_button("Show buddy-type pixmaps", &display_options, OPT_DISP_SHOW_PIXMAPS, appbox ); | |
| 758 gaim_button("Show idle times", &display_options, OPT_DISP_SHOW_IDLETIME, appbox ); | |
| 759 gaim_button("Show button pixmaps", &display_options, OPT_DISP_SHOW_BUTTON_XPM, appbox ); | |
| 760 gaim_button("Ignore incoming colours", &display_options, OPT_DISP_IGNORE_COLOUR, appbox ); | |
| 761 #if 0 | |
| 762 gaim_button("Transparent text window (experimental)", &transparent, appbox ); | |
| 763 #endif | |
| 764 gaim_button("Show logon/logoffs in conversation windows", &display_options, OPT_DISP_SHOW_LOGON, appbox ); | |
|
150
d4e99c17e399
[gaim-migrate @ 160]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
109
diff
changeset
|
765 gaim_button("Use devil icons", &display_options, OPT_DISP_DEVIL_PIXMAPS, appbox ); |
| 337 | 766 gaim_button("Show graphical smileys", &display_options, OPT_DISP_SHOW_SMILEY, appbox ); |
| 1 | 767 |
| 768 | |
| 769 gaim_button("Bold Text", &font_options, OPT_FONT_BOLD, fontbox); | |
| 770 gaim_button("Italics Text", &font_options, OPT_FONT_ITALIC, fontbox); | |
| 771 gaim_button("Underlined Text", &font_options, OPT_FONT_UNDERLINE, fontbox); | |
| 772 gaim_button("Strike Text", &font_options, OPT_FONT_STRIKE, fontbox); | |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
773 font_face_for_text = gaim_button("Font Face for Text", &font_options, OPT_FONT_FACE, fontbox); |
|
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
774 |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
775 select_font = gtk_button_new_with_label("Select Font"); |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
776 gtk_box_pack_start(GTK_BOX(fontbox), select_font, FALSE, FALSE, 0); |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
777 gtk_signal_connect(GTK_OBJECT(select_font), "clicked", GTK_SIGNAL_FUNC(show_font_dialog), NULL); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
778 if (!(font_options & OPT_FONT_FACE)) |
|
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
779 gtk_widget_set_sensitive(GTK_WIDGET(select_font), FALSE); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
780 gtk_widget_show(select_font); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
781 gtk_signal_connect(GTK_OBJECT(font_face_for_text), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select_font); |
|
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
782 |
| 1 | 783 gtk_widget_show(appearance_page); |
| 784 gtk_widget_show(fontbox); | |
| 785 gtk_widget_show(fontframe); | |
| 786 gtk_widget_show(appbox); | |
| 787 | |
| 788 | |
| 789 /* Buddy Chats */ | |
| 790 chat_page = gtk_vbox_new(FALSE, 0); | |
| 791 label = gtk_label_new("Buddy Chats"); | |
| 792 | |
| 793 gtk_widget_show(label); | |
| 794 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), chat_page, label); | |
| 795 | |
| 796 do_chat_page(chat_page); | |
| 797 gtk_widget_show(chat_page); | |
| 798 | |
| 799 bbox = gtk_hbox_new(FALSE, 5); | |
| 800 close = gtk_button_new_with_label("Close"); | |
| 801 | |
| 802 /* Pack the button(s) in the button box */ | |
| 803 gtk_box_pack_end(GTK_BOX(bbox), close, FALSE, FALSE, 5); | |
| 804 gtk_box_pack_start(GTK_BOX(vbox),bbox, FALSE, FALSE, 5); | |
| 805 | |
| 806 gtk_widget_show(notebook); | |
| 807 gtk_widget_show(close); | |
| 808 | |
| 809 gtk_widget_show(bbox); | |
| 810 gtk_widget_show(vbox); | |
| 811 | |
| 812 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(handle_delete), NULL); | |
| 813 gtk_signal_connect(GTK_OBJECT(pd->window),"delete_event", GTK_SIGNAL_FUNC(handle_delete), NULL); | |
| 814 | |
| 815 } | |
| 816 | |
| 817 void show_prefs() | |
| 818 { | |
| 819 if (!pd || !pd->window) | |
| 820 build_prefs(); | |
| 821 gtk_widget_show(pd->window); | |
| 822 } | |
| 823 void add_chat(GtkWidget *w, struct chat_page *cp) | |
| 824 { | |
| 825 GList *sel = GTK_LIST(cp->list1)->selection; | |
| 826 struct chat_room *cr, *cr2; | |
| 827 GList *crs = chat_rooms; | |
| 828 GtkWidget *item; | |
| 829 | |
| 830 if (sel) { | |
| 831 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(sel->data)); | |
| 832 } else | |
| 833 return; | |
| 834 | |
| 835 while(crs) { | |
| 836 cr2 = (struct chat_room *)crs->data; | |
| 837 if (!strcasecmp(cr->name, cr2->name)) | |
| 838 return; | |
| 839 crs = crs->next; | |
| 840 } | |
| 841 item = gtk_list_item_new_with_label(cr->name); | |
| 842 cr2 = g_new0(struct chat_room, 1); | |
| 843 strcpy(cr2->name, cr->name); | |
| 844 cr2->exchange = cr->exchange; | |
| 845 gtk_object_set_user_data(GTK_OBJECT(item), cr2); | |
| 846 gtk_widget_show(item); | |
| 847 sel = g_list_append(NULL, item); | |
| 848 gtk_list_append_items(GTK_LIST(cp->list2), sel); | |
| 849 chat_rooms = g_list_append(chat_rooms, cr2); | |
| 850 | |
| 851 setup_buddy_chats(); | |
| 852 save_prefs(); | |
| 853 | |
| 854 | |
| 855 } | |
| 856 | |
| 857 void remove_chat(GtkWidget *w, struct chat_page *cp) | |
| 858 { | |
| 859 GList *sel = GTK_LIST(cp->list2)->selection; | |
| 860 struct chat_room *cr; | |
| 861 GList *crs; | |
| 862 GtkWidget *item; | |
| 863 | |
| 864 if (sel) { | |
| 865 item = (GtkWidget *)sel->data; | |
| 866 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(item)); | |
| 867 } else | |
| 868 return; | |
| 869 | |
| 870 chat_rooms = g_list_remove(chat_rooms, cr); | |
| 871 | |
| 872 | |
| 873 gtk_list_clear_items(GTK_LIST(cp->list2), 0, -1); | |
| 874 | |
| 875 if (g_list_length(chat_rooms) == 0) | |
| 876 chat_rooms = NULL; | |
| 877 | |
| 878 crs = chat_rooms; | |
| 879 | |
| 880 while(crs) { | |
| 881 cr = (struct chat_room *)crs->data; | |
| 882 item = gtk_list_item_new_with_label(cr->name); | |
| 883 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 884 gtk_widget_show(item); | |
| 885 gtk_list_append_items(GTK_LIST(cp->list2), g_list_append(NULL, item)); | |
| 886 | |
| 887 | |
| 888 crs = crs->next; | |
| 889 } | |
| 890 | |
| 891 setup_buddy_chats(); | |
| 892 save_prefs(); | |
| 893 } | |
| 894 | |
| 895 void refresh_list(GtkWidget *w, struct chat_page *cp) | |
| 896 { | |
| 897 char *text = grab_url("http://www.aol.com/community/chat/allchats.html"); | |
| 898 char *c; | |
| 899 int len = strlen(text); | |
| 900 GtkWidget *item; | |
| 901 GList *items = GTK_LIST(cp->list1)->children; | |
| 902 struct chat_room *cr; | |
| 903 c = text; | |
| 904 | |
| 905 while(items) { | |
| 906 g_free(gtk_object_get_user_data(GTK_OBJECT(items->data))); | |
| 907 items = items->next; | |
| 908 } | |
| 909 | |
| 910 items = NULL; | |
| 911 | |
| 912 gtk_list_clear_items(GTK_LIST(cp->list1), 0, -1); | |
| 913 | |
| 914 item = gtk_list_item_new_with_label("Gaim Chat"); | |
| 915 cr = g_new0(struct chat_room, 1); | |
| 916 strcpy(cr->name, "Gaim Chat"); | |
| 917 cr->exchange = 4; | |
| 918 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 919 gtk_widget_show(item); | |
| 920 | |
| 921 items = g_list_append(NULL, item); | |
| 922 | |
| 923 while(c) { | |
| 924 if (c - text > len - 30) | |
| 925 break; /* assume no chat rooms 30 from end, padding */ | |
| 926 if (!strncasecmp(AOL_SRCHSTR, c, strlen(AOL_SRCHSTR))) { | |
| 927 char *t; | |
| 928 int len=0; | |
| 929 int exchange; | |
| 930 char *name = NULL; | |
| 931 | |
| 932 c += strlen(AOL_SRCHSTR); | |
| 933 t = c; | |
| 934 while(t) { | |
| 935 len++; | |
| 936 name = g_realloc(name, len); | |
| 937 if (*t == '+') | |
| 938 name[len - 1] = ' '; | |
| 939 else if (*t == '&') { | |
| 940 name[len - 1] = 0; | |
| 941 sscanf(t, "&Exchange=%d", &exchange); | |
| 942 c = t + strlen("&Exchange=x"); | |
| 943 break; | |
| 944 } else | |
| 945 name[len - 1] = *t; | |
| 946 t++; | |
| 947 } | |
| 948 cr = g_new0(struct chat_room, 1); | |
| 949 strcpy(cr->name, name); | |
| 950 cr->exchange = exchange; | |
| 951 item = gtk_list_item_new_with_label(name); | |
| 952 gtk_widget_show(item); | |
| 953 items = g_list_append(items, item); | |
| 954 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 955 g_free(name); | |
| 956 } | |
| 957 c++; | |
| 958 } | |
| 959 gtk_list_append_items(GTK_LIST(cp->list1), items); | |
| 960 g_free(text); | |
| 961 } | |
| 962 | |
| 963 | |
| 964 | |
| 965 void do_chat_page(GtkWidget *page) | |
| 966 { | |
| 967 GtkWidget *table; | |
| 968 GtkWidget *rem_button, *add_button, *ref_button; | |
| 969 GtkWidget *list1, *list2; | |
| 970 GtkWidget *label; | |
| 971 GtkWidget *sw1, *sw2; | |
| 972 GtkWidget *item; | |
| 973 struct chat_page *cp = g_new0(struct chat_page, 1); | |
| 974 GList *crs = chat_rooms; | |
| 975 GList *items = NULL; | |
| 976 struct chat_room *cr; | |
| 977 | |
| 978 table = gtk_table_new(4, 2, FALSE); | |
| 979 gtk_widget_show(table); | |
| 980 | |
| 981 | |
| 982 gtk_box_pack_start(GTK_BOX(page), table, TRUE, TRUE, 0); | |
| 983 | |
| 984 | |
| 985 list1 = gtk_list_new(); | |
| 986 list2 = gtk_list_new(); | |
| 987 sw1 = gtk_scrolled_window_new(NULL, NULL); | |
| 988 sw2 = gtk_scrolled_window_new(NULL, NULL); | |
| 989 ref_button = gtk_button_new_with_label("Refresh"); | |
| 990 add_button = gtk_button_new_with_label("Add"); | |
| 991 rem_button = gtk_button_new_with_label("Remove"); | |
| 992 gtk_widget_show(list1); | |
| 993 gtk_widget_show(sw1); | |
| 994 gtk_widget_show(list2); | |
| 995 gtk_widget_show(sw2); | |
| 996 gtk_widget_show(ref_button); | |
| 997 gtk_widget_show(add_button); | |
| 998 gtk_widget_show(rem_button); | |
| 999 | |
| 1000 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw1), list1); | |
| 1001 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list2); | |
| 1002 | |
| 1003 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw1), | |
| 1004 GTK_POLICY_AUTOMATIC,GTK_POLICY_ALWAYS); | |
| 1005 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), | |
| 1006 GTK_POLICY_AUTOMATIC,GTK_POLICY_ALWAYS); | |
| 1007 | |
| 1008 cp->list1 = list1; | |
| 1009 cp->list2 = list2; | |
| 1010 | |
| 1011 gtk_signal_connect(GTK_OBJECT(ref_button), "clicked", | |
| 1012 GTK_SIGNAL_FUNC(refresh_list), cp); | |
| 1013 gtk_signal_connect(GTK_OBJECT(rem_button), "clicked", | |
| 1014 GTK_SIGNAL_FUNC(remove_chat), cp); | |
| 1015 gtk_signal_connect(GTK_OBJECT(add_button), "clicked", | |
| 1016 GTK_SIGNAL_FUNC(add_chat), cp); | |
| 1017 | |
| 1018 | |
| 1019 | |
| 1020 label = gtk_label_new("List of available chats"); | |
| 1021 gtk_widget_show(label); | |
| 1022 | |
| 1023 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, | |
| 1024 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1025 gtk_table_attach(GTK_TABLE(table), ref_button, 0, 1, 1, 2, | |
| 1026 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1027 gtk_table_attach(GTK_TABLE(table), sw1, 0, 1, 2, 3, | |
| 1028 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, | |
| 1029 5, 5); | |
| 1030 gtk_table_attach(GTK_TABLE(table), add_button, 0, 1, 3, 4, | |
| 1031 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1032 | |
| 1033 | |
| 1034 label = gtk_label_new("List of subscribed chats"); | |
| 1035 gtk_widget_show(label); | |
| 1036 | |
| 1037 gtk_table_attach(GTK_TABLE(table), label, 1, 2, 0, 1, | |
| 1038 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1039 gtk_table_attach(GTK_TABLE(table), sw2, 1, 2, 2, 3, | |
| 1040 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, | |
| 1041 5, 5); | |
| 1042 gtk_table_attach(GTK_TABLE(table), rem_button, 1, 2, 3, 4, | |
| 1043 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1044 | |
| 1045 | |
| 1046 item = gtk_list_item_new_with_label("Gaim Chat"); | |
| 1047 cr = g_new0(struct chat_room, 1); | |
| 1048 strcpy(cr->name, "Gaim Chat"); | |
| 1049 cr->exchange = 4; | |
| 1050 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 1051 gtk_widget_show(item); | |
| 1052 gtk_list_append_items(GTK_LIST(list1), g_list_append(NULL, item)); | |
| 1053 | |
| 1054 | |
| 1055 while(crs) { | |
| 1056 cr = (struct chat_room *)crs->data; | |
| 1057 item = gtk_list_item_new_with_label(cr->name); | |
| 1058 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 1059 gtk_widget_show(item); | |
| 1060 items = g_list_append(items, item); | |
| 1061 | |
| 1062 crs = crs->next; | |
| 1063 } | |
| 1064 | |
| 1065 gtk_list_append_items(GTK_LIST(list2), items); | |
| 1066 } | |
| 1067 | |
| 1068 | |
| 1069 | |
| 1070 | |
| 1071 | |
| 1072 void debug_print(char *chars) | |
| 1073 { | |
| 18 | 1074 if(general_options & OPT_GEN_DEBUG && dw) |
| 1 | 1075 gtk_text_insert(GTK_TEXT(dw->entry),NULL, NULL, NULL, chars, strlen(chars)); |
| 1076 #ifdef DEBUG | |
| 1077 printf("%s\n", chars); | |
| 1078 #endif | |
| 1079 } | |
| 1080 | |
| 1081 | |
| 1082 void build_debug() | |
| 1083 { | |
| 1084 GtkWidget *scroll; | |
| 1085 GtkWidget *box; | |
| 1086 if (!dw) | |
| 1087 dw = g_new0(struct debug_window, 1); | |
| 1088 | |
| 1089 box = gtk_hbox_new(FALSE,0); | |
| 1090 dw->window = gtk_window_new(GTK_WINDOW_DIALOG); | |
| 1091 gtk_window_set_title(GTK_WINDOW(dw->window), "GAIM debug output window"); | |
| 1092 gtk_container_add(GTK_CONTAINER(dw->window), box); | |
| 1093 dw->entry = gtk_text_new(NULL,NULL); | |
| 1094 gtk_widget_set_usize(dw->entry, 500, 200); | |
| 1095 scroll = gtk_vscrollbar_new(GTK_TEXT(dw->entry)->vadj); | |
| 1096 gtk_box_pack_start(GTK_BOX(box), dw->entry, TRUE,TRUE,0); | |
| 1097 gtk_box_pack_end(GTK_BOX(box), scroll,FALSE,FALSE,0); | |
| 1098 gtk_widget_show(dw->entry); | |
| 1099 gtk_widget_show(scroll); | |
| 1100 gtk_widget_show(box); | |
| 1101 gtk_signal_connect(GTK_OBJECT(dw->window),"delete_event", GTK_SIGNAL_FUNC(debug_delete), NULL); | |
| 1102 gtk_widget_show(dw->window); | |
| 1103 } | |
| 1104 | |
| 1105 | |
| 1106 | |
| 1107 void show_debug(GtkObject * object) | |
| 1108 { | |
| 1109 if((general_options & OPT_GEN_DEBUG)) { | |
| 1110 if(!dw || !dw->window) | |
| 1111 build_debug(); | |
| 1112 gtk_widget_show(dw->window); | |
| 1113 } else { | |
|
171
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
1114 if (!dw) return; |
| 1 | 1115 gtk_widget_destroy(dw->window); |
| 1116 dw->window = NULL; | |
| 1117 } | |
| 1118 } | |
| 1119 |
