Mercurial > pidgin
annotate src/prefs.c @ 340:0d9cfc3579a5
[gaim-migrate @ 350]
More changes to the applet. Now, you can have it remember the position and
not have it near the applet, or not remember the position and not near the
applet, or near the applet. Also, if you want it near the applet, the login
box will appear near the applet.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Tue, 06 Jun 2000 21:33:20 +0000 |
| parents | 9d258a0aa560 |
| children | b402a23f35df |
| 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; | |
| 313 GtkWidget *away_topbox; | |
| 314 GtkWidget *away_botbox; | |
| 315 GtkWidget *add_away; | |
| 316 GtkWidget *remove_away; | |
| 317 GtkWidget *close; | |
| 318 GtkWidget *notebook; | |
| 319 GtkWidget *sound_page; | |
| 320 /* GtkWidget *debug_page; */ | |
| 321 GtkWidget *general_page; | |
| 322 GtkWidget *appearance_page; | |
| 323 GtkWidget *chat_page; | |
| 324 GtkWidget *browser_page; | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
325 #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
|
326 the connection */ |
| 1 | 327 GtkWidget *connection_page; |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
328 #endif |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
329 #ifdef USE_APPLET |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
330 GtkWidget *applet_page; |
|
340
0d9cfc3579a5
[gaim-migrate @ 350]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
331 GtkWidget *appletbox; |
|
338
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); |
|
340
0d9cfc3579a5
[gaim-migrate @ 350]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
441 gaim_button("Buddy list displays near the applet", &general_options, OPT_GEN_NEAR_APPLET, appletbox); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
442 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
443 gtk_widget_show(appletbox); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
444 gtk_widget_show(applet_page); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
445 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
446 #endif |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
447 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
448 |
| 1 | 449 /* Connection */ |
| 450 | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
451 #ifndef USE_OSCAR |
| 1 | 452 connection_page = gtk_vbox_new(FALSE, 0); |
| 453 label = gtk_label_new("Connection"); | |
| 454 gtk_widget_show(label); | |
| 455 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), connection_page, label); | |
| 456 | |
| 457 hbox = gtk_hbox_new(FALSE, 0); | |
| 458 label = gtk_label_new("TOC Host:"); | |
| 459 gtk_widget_show(label); | |
| 460 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); | |
| 461 pd->aim_host_entry = gtk_entry_new(); | |
| 462 gtk_widget_show(pd->aim_host_entry); | |
| 463 gtk_box_pack_start(GTK_BOX(hbox), pd->aim_host_entry, FALSE, FALSE, 0); | |
| 464 | |
| 465 label = gtk_label_new("Port:"); | |
| 466 gtk_widget_show(label); | |
| 467 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); | |
| 468 pd->aim_port_entry = gtk_entry_new(); | |
| 469 gtk_widget_show(pd->aim_port_entry); | |
| 470 gtk_box_pack_start(GTK_BOX(hbox), pd->aim_port_entry, FALSE, FALSE, 0); | |
| 471 gtk_widget_show(hbox); | |
| 472 | |
| 473 gtk_box_pack_start(GTK_BOX(connection_page), hbox, FALSE, FALSE, 0); | |
| 474 gtk_entry_set_text(GTK_ENTRY(pd->aim_host_entry), aim_host); | |
| 475 | |
| 476 g_snprintf(buffer, sizeof(buffer), "%d", aim_port); | |
| 477 gtk_entry_set_text(GTK_ENTRY(pd->aim_port_entry), buffer); | |
| 478 | |
| 479 hbox2 = gtk_hbox_new(FALSE, 0); | |
| 480 label = gtk_label_new("Login Host:"); | |
| 481 gtk_widget_show(label); | |
| 482 gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 5); | |
| 483 pd->login_host_entry = gtk_entry_new(); | |
| 484 gtk_widget_show(pd->login_host_entry); | |
| 485 gtk_box_pack_start(GTK_BOX(hbox2), pd->login_host_entry, FALSE, FALSE, 0); | |
| 486 | |
| 487 label = gtk_label_new("Port:"); | |
| 488 gtk_widget_show(label); | |
| 489 gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 5); | |
| 490 pd->login_port_entry = gtk_entry_new(); | |
| 491 gtk_widget_show(pd->login_port_entry); | |
| 492 gtk_box_pack_start(GTK_BOX(hbox2), pd->login_port_entry, FALSE, FALSE, 0); | |
| 493 gtk_widget_show(hbox2); | |
| 494 | |
| 495 gtk_box_pack_start(GTK_BOX(connection_page), hbox2, FALSE, FALSE, 0); | |
| 496 gtk_entry_set_text(GTK_ENTRY(pd->login_host_entry), login_host); | |
| 497 | |
| 498 g_snprintf(buffer, sizeof(buffer), "%d", login_port); | |
| 499 gtk_entry_set_text(GTK_ENTRY(pd->login_port_entry), buffer); | |
| 500 | |
| 501 connectopt = gtk_radio_button_new_with_label(NULL, "No Proxy"); | |
| 502 gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); | |
| 503 gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_NONE); | |
| 504 gtk_widget_show(connectopt); | |
| 505 if (proxy_type == PROXY_NONE) | |
| 506 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); | |
| 507 | |
| 508 connectopt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(connectopt)), "HTTP Proxy"); | |
| 509 gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); | |
| 510 gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_HTTP); | |
| 511 gtk_widget_show(connectopt); | |
| 512 if (proxy_type == PROXY_HTTP) | |
| 513 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); | |
| 514 | |
| 515 | |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
516 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
|
517 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
|
518 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
|
519 gtk_widget_show(connectopt); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
520 if (proxy_type == PROXY_SOCKS4) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
521 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); |
|
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 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
524 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
|
525 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
|
526 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
|
527 gtk_widget_show(connectopt); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
528 if (proxy_type == PROXY_SOCKS5) |
|
253
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
529 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); |
|
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 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
532 hbox = gtk_hbox_new(FALSE, 0); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
533 label = gtk_label_new("Proxy Host:"); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
534 gtk_widget_show(label); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
535 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
|
536 pd->proxy_host_entry = gtk_entry_new(); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
537 gtk_widget_show(pd->proxy_host_entry); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
538 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
|
539 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
540 label = gtk_label_new("Port:"); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
541 gtk_widget_show(label); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
542 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
|
543 pd->proxy_port_entry = gtk_entry_new(); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
544 gtk_widget_show(pd->proxy_port_entry); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
545 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
|
546 gtk_widget_show(hbox); |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
547 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
548 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
|
549 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
|
550 |
|
5b28ef2b550e
[gaim-migrate @ 263]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
234
diff
changeset
|
551 g_snprintf(buffer, sizeof(buffer), "%d", proxy_port); |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
552 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
|
553 |
| 1 | 554 |
| 555 gtk_widget_show(connection_page); | |
| 556 | |
| 557 | |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
558 if (proxy_type != PROXY_NONE) { |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
559 if (pd->proxy_host_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
560 gtk_widget_set_sensitive(pd->proxy_host_entry, TRUE); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
561 if (pd->proxy_port_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
562 gtk_widget_set_sensitive(pd->proxy_port_entry, TRUE); |
| 1 | 563 } else { |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
564 if (pd->proxy_host_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
565 gtk_widget_set_sensitive(pd->proxy_host_entry, FALSE); |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
566 if (pd->proxy_port_entry) |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
567 gtk_widget_set_sensitive(pd->proxy_port_entry, FALSE); |
| 1 | 568 } |
| 569 | |
| 570 | |
| 571 | |
| 572 gtk_signal_connect(GTK_OBJECT(pd->aim_host_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); | |
| 573 gtk_signal_connect(GTK_OBJECT(pd->aim_port_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); | |
| 574 gtk_signal_connect(GTK_OBJECT(pd->login_host_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); | |
| 575 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
|
576 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
|
577 gtk_signal_connect(GTK_OBJECT(pd->proxy_port_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); |
| 1 | 578 |
|
338
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
579 |
|
9d258a0aa560
[gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
337
diff
changeset
|
580 #endif /* USE_OSCAR */ |
| 1 | 581 |
| 582 /* Away */ | |
| 583 | |
| 584 a = awaymessage; | |
| 585 pd->cur_message = NULL; | |
| 586 pd->nwbutton = NULL; | |
| 587 pd->browser_entry = NULL; | |
| 588 | |
| 589 away_page = gtk_vbox_new(FALSE, 0); | |
| 590 away_topbox = gtk_hbox_new(FALSE, 0); | |
| 591 away_botbox = gtk_hbox_new(FALSE, 0); | |
| 592 | |
| 593 label = gtk_label_new("Away"); | |
| 594 gtk_widget_show(label); | |
| 595 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), away_page, label); | |
| 596 gtk_widget_show(away_page); | |
| 597 | |
| 598 sw2 = gtk_scrolled_window_new(NULL, NULL); | |
| 599 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), | |
| 600 GTK_POLICY_AUTOMATIC, | |
| 601 GTK_POLICY_AUTOMATIC); | |
| 602 gtk_widget_show(sw2); | |
| 603 | |
| 604 pd->away_list = gtk_list_new(); | |
| 605 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), pd->away_list); | |
| 606 gtk_box_pack_start(GTK_BOX(away_topbox), sw2, TRUE, TRUE, 0); | |
| 607 | |
| 608 sw = gtk_scrolled_window_new(NULL, NULL); | |
| 609 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
| 610 GTK_POLICY_AUTOMATIC, | |
| 611 GTK_POLICY_AUTOMATIC); | |
| 612 gtk_widget_show(sw); | |
| 613 | |
| 614 pd->away_text = gtk_text_new(NULL, NULL); | |
| 615 gtk_container_add(GTK_CONTAINER(sw), pd->away_text); | |
| 616 gtk_box_pack_start(GTK_BOX(away_topbox), sw, TRUE, TRUE, 0); | |
| 617 gtk_text_set_word_wrap(GTK_TEXT(pd->away_text), TRUE); | |
| 618 gtk_text_set_editable(GTK_TEXT(pd->away_text), TRUE ); | |
| 619 | |
| 620 add_away = gtk_button_new_with_label("Create Message"); | |
| 621 gtk_signal_connect(GTK_OBJECT(add_away), "clicked", GTK_SIGNAL_FUNC(create_away_mess), NULL); | |
| 622 gtk_box_pack_start(GTK_BOX(away_botbox), add_away, TRUE, FALSE, 5); | |
| 623 | |
| 624 remove_away = gtk_button_new_with_label("Remove Message"); | |
| 625 gtk_signal_connect(GTK_OBJECT(remove_away), "clicked", GTK_SIGNAL_FUNC(remove_away_message), NULL); | |
| 626 gtk_box_pack_start(GTK_BOX(away_botbox), remove_away, TRUE, FALSE, 5); | |
| 627 | |
| 628 gtk_box_pack_start(GTK_BOX(away_page), away_topbox, TRUE, TRUE, 0); | |
| 629 gtk_box_pack_start(GTK_BOX(away_page), away_botbox, FALSE, FALSE, 0); | |
| 630 | |
| 631 gtk_widget_show(add_away); | |
| 632 gtk_widget_show(remove_away); | |
| 633 gtk_widget_show(pd->away_list); | |
| 634 gtk_widget_show(pd->away_text); | |
| 635 gtk_widget_show(away_topbox); | |
| 636 gtk_widget_show(away_botbox); | |
| 637 | |
| 638 if (awy != NULL) { | |
| 639 a = (struct away_message *)awy->data; | |
| 640 g_snprintf(buffer, sizeof(buffer), "%s", a->message); | |
| 641 gtk_text_insert(GTK_TEXT(pd->away_text), NULL, NULL, NULL, buffer, -1); | |
| 642 } | |
| 643 | |
| 644 while(awy) { | |
| 645 a = (struct away_message *)awy->data; | |
| 646 label = gtk_label_new(a->name); | |
| 647 list_item = gtk_list_item_new(); | |
| 648 gtk_container_add(GTK_CONTAINER(list_item), label); | |
| 649 gtk_signal_connect(GTK_OBJECT(list_item), "select", GTK_SIGNAL_FUNC(away_list_clicked), a); | |
| 650 gtk_signal_connect(GTK_OBJECT(list_item), "deselect", GTK_SIGNAL_FUNC(away_list_unclicked), a); | |
| 651 gtk_object_set_user_data(GTK_OBJECT(list_item), a); | |
| 652 | |
| 653 gtk_widget_show(label); | |
| 654 gtk_container_add(GTK_CONTAINER(pd->away_list), list_item); | |
| 655 gtk_widget_show(list_item); | |
| 656 | |
| 657 awy = awy->next; | |
| 658 | |
| 659 } | |
| 660 | |
| 661 /* Sound */ | |
| 662 sound_page = gtk_vbox_new(FALSE, 0); | |
| 663 label = gtk_label_new("Sounds"); | |
| 664 gtk_widget_show(label); | |
| 665 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sound_page, label); | |
| 666 gaim_button("Sound when buddy logs in", &sound_options, OPT_SOUND_LOGIN, sound_page); | |
| 667 gaim_button("Sound when buddy logs out", &sound_options, OPT_SOUND_LOGOUT, sound_page); | |
| 668 gaim_button("Sound when message is received", &sound_options, OPT_SOUND_RECV, sound_page); | |
| 669 gaim_button("Sound when message is sent", &sound_options, OPT_SOUND_SEND, sound_page); | |
| 670 gaim_button("Sound when first message is received", &sound_options, OPT_SOUND_FIRST_RCV, sound_page); | |
| 671 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
|
672 gaim_button("No sound for buddies signed on when you log in", &sound_options, OPT_SOUND_SILENT_SIGNON, sound_page); |
| 1 | 673 gtk_widget_show(sound_page); |
| 674 | |
| 675 | |
| 676 /* Browser */ | |
| 677 browser_page = gtk_vbox_new(FALSE, 0); | |
| 678 | |
| 679 label = gtk_label_new("Browser"); | |
| 680 gtk_widget_show(label); | |
| 681 | |
| 682 | |
| 683 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), browser_page, label); | |
| 684 browseropt = gtk_radio_button_new_with_label(NULL, "Netscape"); | |
| 685 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 686 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_NETSCAPE); | |
| 687 gtk_widget_show(browseropt); | |
| 688 if (web_browser == BROWSER_NETSCAPE) | |
| 689 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 690 | |
| 691 browseropt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(browseropt)), "KFM (The KDE browser)"); | |
| 692 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 693 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_KFM); | |
| 694 gtk_widget_show(browseropt); | |
| 695 if (web_browser == BROWSER_KFM) | |
| 696 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 697 | |
| 698 | |
| 699 browseropt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(browseropt)), "Internal HTML widget (Quite likely a bad idea!)"); | |
| 700 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 701 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_INTERNAL); | |
| 702 gtk_widget_show(browseropt); | |
| 703 if (web_browser == BROWSER_INTERNAL) | |
| 704 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 705 | |
| 706 | |
| 707 browseropt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(browseropt)), "Manual"); | |
| 708 gtk_box_pack_start(GTK_BOX(browser_page), browseropt, FALSE, FALSE, 0); | |
| 709 gtk_signal_connect(GTK_OBJECT(browseropt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)BROWSER_MANUAL); | |
| 710 gtk_widget_show(browseropt); | |
| 711 if (web_browser == BROWSER_MANUAL) | |
| 712 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(browseropt), TRUE); | |
| 713 | |
| 714 | |
| 715 pd->browser_entry = gtk_entry_new(); | |
| 716 gtk_widget_show(pd->browser_entry); | |
| 717 | |
| 718 gtk_box_pack_start(GTK_BOX(browser_page), pd->browser_entry, FALSE, FALSE, 0); | |
| 719 gtk_entry_set_text(GTK_ENTRY(pd->browser_entry), web_command); | |
| 720 | |
| 721 pd->nwbutton = gaim_button("Pop up new window by default", &general_options, OPT_GEN_BROWSER_POPUP, browser_page); | |
| 722 gtk_widget_show(browser_page); | |
| 723 | |
| 724 gtk_signal_connect(GTK_OBJECT(pd->browser_entry), "focus_out_event", GTK_SIGNAL_FUNC(manualentry_key_pressed), NULL); | |
| 725 | |
| 726 | |
| 727 | |
| 728 if (web_browser != BROWSER_MANUAL) { | |
| 729 gtk_widget_set_sensitive(pd->browser_entry, FALSE); | |
| 730 } else { | |
| 731 gtk_widget_set_sensitive(pd->browser_entry, TRUE); | |
| 732 } | |
| 733 | |
| 734 if (web_browser != BROWSER_NETSCAPE) { | |
| 735 gtk_widget_set_sensitive(pd->nwbutton, FALSE); | |
| 736 } else { | |
| 737 gtk_widget_set_sensitive(pd->nwbutton, TRUE); | |
| 738 } | |
| 739 | |
| 740 | |
| 741 | |
| 742 | |
| 743 /* Appearance */ | |
| 744 appearance_page = gtk_hbox_new(FALSE, 0); | |
| 745 label = gtk_label_new("Appearance"); | |
| 746 gtk_widget_show(label); | |
| 747 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), appearance_page, label); | |
| 748 appbox = gtk_vbox_new(FALSE, 5); | |
| 749 fontframe = gtk_frame_new("Font Properties"); | |
| 750 fontbox = gtk_vbox_new(FALSE, 5); | |
| 751 | |
| 752 gtk_box_pack_start(GTK_BOX(appearance_page), appbox, TRUE, TRUE, 5); | |
| 753 gtk_box_pack_start(GTK_BOX(appearance_page), fontframe, TRUE, TRUE, 5); | |
| 754 gtk_container_add(GTK_CONTAINER(fontframe), fontbox); | |
| 755 | |
| 756 gaim_button("Show time on messages", &display_options, OPT_DISP_SHOW_TIME, appbox); | |
| 757 gaim_button("Show numbers in groups", &display_options, OPT_DISP_SHOW_GRPNUM, appbox ); | |
| 758 gaim_button("Show buddy-type pixmaps", &display_options, OPT_DISP_SHOW_PIXMAPS, appbox ); | |
| 759 gaim_button("Show idle times", &display_options, OPT_DISP_SHOW_IDLETIME, appbox ); | |
| 760 gaim_button("Show button pixmaps", &display_options, OPT_DISP_SHOW_BUTTON_XPM, appbox ); | |
| 761 gaim_button("Ignore incoming colours", &display_options, OPT_DISP_IGNORE_COLOUR, appbox ); | |
| 762 #if 0 | |
| 763 gaim_button("Transparent text window (experimental)", &transparent, appbox ); | |
| 764 #endif | |
| 765 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
|
766 gaim_button("Use devil icons", &display_options, OPT_DISP_DEVIL_PIXMAPS, appbox ); |
| 337 | 767 gaim_button("Show graphical smileys", &display_options, OPT_DISP_SHOW_SMILEY, appbox ); |
| 1 | 768 |
| 769 | |
| 770 gaim_button("Bold Text", &font_options, OPT_FONT_BOLD, fontbox); | |
| 771 gaim_button("Italics Text", &font_options, OPT_FONT_ITALIC, fontbox); | |
| 772 gaim_button("Underlined Text", &font_options, OPT_FONT_UNDERLINE, fontbox); | |
| 773 gaim_button("Strike Text", &font_options, OPT_FONT_STRIKE, fontbox); | |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
774 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
|
775 |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
776 select_font = gtk_button_new_with_label("Select Font"); |
|
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
777 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
|
778 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
|
779 if (!(font_options & OPT_FONT_FACE)) |
|
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
780 gtk_widget_set_sensitive(GTK_WIDGET(select_font), FALSE); |
|
230
83dd297aa363
[gaim-migrate @ 240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
206
diff
changeset
|
781 gtk_widget_show(select_font); |
|
234
985635758c33
[gaim-migrate @ 244]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
230
diff
changeset
|
782 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
|
783 |
| 1 | 784 gtk_widget_show(appearance_page); |
| 785 gtk_widget_show(fontbox); | |
| 786 gtk_widget_show(fontframe); | |
| 787 gtk_widget_show(appbox); | |
| 788 | |
| 789 | |
| 790 /* Buddy Chats */ | |
| 791 chat_page = gtk_vbox_new(FALSE, 0); | |
| 792 label = gtk_label_new("Buddy Chats"); | |
| 793 | |
| 794 gtk_widget_show(label); | |
| 795 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), chat_page, label); | |
| 796 | |
| 797 do_chat_page(chat_page); | |
| 798 gtk_widget_show(chat_page); | |
| 799 | |
| 800 bbox = gtk_hbox_new(FALSE, 5); | |
| 801 close = gtk_button_new_with_label("Close"); | |
| 802 | |
| 803 /* Pack the button(s) in the button box */ | |
| 804 gtk_box_pack_end(GTK_BOX(bbox), close, FALSE, FALSE, 5); | |
| 805 gtk_box_pack_start(GTK_BOX(vbox),bbox, FALSE, FALSE, 5); | |
| 806 | |
| 807 gtk_widget_show(notebook); | |
| 808 gtk_widget_show(close); | |
| 809 | |
| 810 gtk_widget_show(bbox); | |
| 811 gtk_widget_show(vbox); | |
| 812 | |
| 813 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(handle_delete), NULL); | |
| 814 gtk_signal_connect(GTK_OBJECT(pd->window),"delete_event", GTK_SIGNAL_FUNC(handle_delete), NULL); | |
| 815 | |
| 816 } | |
| 817 | |
| 818 void show_prefs() | |
| 819 { | |
| 820 if (!pd || !pd->window) | |
| 821 build_prefs(); | |
| 822 gtk_widget_show(pd->window); | |
| 823 } | |
| 824 void add_chat(GtkWidget *w, struct chat_page *cp) | |
| 825 { | |
| 826 GList *sel = GTK_LIST(cp->list1)->selection; | |
| 827 struct chat_room *cr, *cr2; | |
| 828 GList *crs = chat_rooms; | |
| 829 GtkWidget *item; | |
| 830 | |
| 831 if (sel) { | |
| 832 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(sel->data)); | |
| 833 } else | |
| 834 return; | |
| 835 | |
| 836 while(crs) { | |
| 837 cr2 = (struct chat_room *)crs->data; | |
| 838 if (!strcasecmp(cr->name, cr2->name)) | |
| 839 return; | |
| 840 crs = crs->next; | |
| 841 } | |
| 842 item = gtk_list_item_new_with_label(cr->name); | |
| 843 cr2 = g_new0(struct chat_room, 1); | |
| 844 strcpy(cr2->name, cr->name); | |
| 845 cr2->exchange = cr->exchange; | |
| 846 gtk_object_set_user_data(GTK_OBJECT(item), cr2); | |
| 847 gtk_widget_show(item); | |
| 848 sel = g_list_append(NULL, item); | |
| 849 gtk_list_append_items(GTK_LIST(cp->list2), sel); | |
| 850 chat_rooms = g_list_append(chat_rooms, cr2); | |
| 851 | |
| 852 setup_buddy_chats(); | |
| 853 save_prefs(); | |
| 854 | |
| 855 | |
| 856 } | |
| 857 | |
| 858 void remove_chat(GtkWidget *w, struct chat_page *cp) | |
| 859 { | |
| 860 GList *sel = GTK_LIST(cp->list2)->selection; | |
| 861 struct chat_room *cr; | |
| 862 GList *crs; | |
| 863 GtkWidget *item; | |
| 864 | |
| 865 if (sel) { | |
| 866 item = (GtkWidget *)sel->data; | |
| 867 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(item)); | |
| 868 } else | |
| 869 return; | |
| 870 | |
| 871 chat_rooms = g_list_remove(chat_rooms, cr); | |
| 872 | |
| 873 | |
| 874 gtk_list_clear_items(GTK_LIST(cp->list2), 0, -1); | |
| 875 | |
| 876 if (g_list_length(chat_rooms) == 0) | |
| 877 chat_rooms = NULL; | |
| 878 | |
| 879 crs = chat_rooms; | |
| 880 | |
| 881 while(crs) { | |
| 882 cr = (struct chat_room *)crs->data; | |
| 883 item = gtk_list_item_new_with_label(cr->name); | |
| 884 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 885 gtk_widget_show(item); | |
| 886 gtk_list_append_items(GTK_LIST(cp->list2), g_list_append(NULL, item)); | |
| 887 | |
| 888 | |
| 889 crs = crs->next; | |
| 890 } | |
| 891 | |
| 892 setup_buddy_chats(); | |
| 893 save_prefs(); | |
| 894 } | |
| 895 | |
| 896 void refresh_list(GtkWidget *w, struct chat_page *cp) | |
| 897 { | |
| 898 char *text = grab_url("http://www.aol.com/community/chat/allchats.html"); | |
| 899 char *c; | |
| 900 int len = strlen(text); | |
| 901 GtkWidget *item; | |
| 902 GList *items = GTK_LIST(cp->list1)->children; | |
| 903 struct chat_room *cr; | |
| 904 c = text; | |
| 905 | |
| 906 while(items) { | |
| 907 g_free(gtk_object_get_user_data(GTK_OBJECT(items->data))); | |
| 908 items = items->next; | |
| 909 } | |
| 910 | |
| 911 items = NULL; | |
| 912 | |
| 913 gtk_list_clear_items(GTK_LIST(cp->list1), 0, -1); | |
| 914 | |
| 915 item = gtk_list_item_new_with_label("Gaim Chat"); | |
| 916 cr = g_new0(struct chat_room, 1); | |
| 917 strcpy(cr->name, "Gaim Chat"); | |
| 918 cr->exchange = 4; | |
| 919 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 920 gtk_widget_show(item); | |
| 921 | |
| 922 items = g_list_append(NULL, item); | |
| 923 | |
| 924 while(c) { | |
| 925 if (c - text > len - 30) | |
| 926 break; /* assume no chat rooms 30 from end, padding */ | |
| 927 if (!strncasecmp(AOL_SRCHSTR, c, strlen(AOL_SRCHSTR))) { | |
| 928 char *t; | |
| 929 int len=0; | |
| 930 int exchange; | |
| 931 char *name = NULL; | |
| 932 | |
| 933 c += strlen(AOL_SRCHSTR); | |
| 934 t = c; | |
| 935 while(t) { | |
| 936 len++; | |
| 937 name = g_realloc(name, len); | |
| 938 if (*t == '+') | |
| 939 name[len - 1] = ' '; | |
| 940 else if (*t == '&') { | |
| 941 name[len - 1] = 0; | |
| 942 sscanf(t, "&Exchange=%d", &exchange); | |
| 943 c = t + strlen("&Exchange=x"); | |
| 944 break; | |
| 945 } else | |
| 946 name[len - 1] = *t; | |
| 947 t++; | |
| 948 } | |
| 949 cr = g_new0(struct chat_room, 1); | |
| 950 strcpy(cr->name, name); | |
| 951 cr->exchange = exchange; | |
| 952 item = gtk_list_item_new_with_label(name); | |
| 953 gtk_widget_show(item); | |
| 954 items = g_list_append(items, item); | |
| 955 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 956 g_free(name); | |
| 957 } | |
| 958 c++; | |
| 959 } | |
| 960 gtk_list_append_items(GTK_LIST(cp->list1), items); | |
| 961 g_free(text); | |
| 962 } | |
| 963 | |
| 964 | |
| 965 | |
| 966 void do_chat_page(GtkWidget *page) | |
| 967 { | |
| 968 GtkWidget *table; | |
| 969 GtkWidget *rem_button, *add_button, *ref_button; | |
| 970 GtkWidget *list1, *list2; | |
| 971 GtkWidget *label; | |
| 972 GtkWidget *sw1, *sw2; | |
| 973 GtkWidget *item; | |
| 974 struct chat_page *cp = g_new0(struct chat_page, 1); | |
| 975 GList *crs = chat_rooms; | |
| 976 GList *items = NULL; | |
| 977 struct chat_room *cr; | |
| 978 | |
| 979 table = gtk_table_new(4, 2, FALSE); | |
| 980 gtk_widget_show(table); | |
| 981 | |
| 982 | |
| 983 gtk_box_pack_start(GTK_BOX(page), table, TRUE, TRUE, 0); | |
| 984 | |
| 985 | |
| 986 list1 = gtk_list_new(); | |
| 987 list2 = gtk_list_new(); | |
| 988 sw1 = gtk_scrolled_window_new(NULL, NULL); | |
| 989 sw2 = gtk_scrolled_window_new(NULL, NULL); | |
| 990 ref_button = gtk_button_new_with_label("Refresh"); | |
| 991 add_button = gtk_button_new_with_label("Add"); | |
| 992 rem_button = gtk_button_new_with_label("Remove"); | |
| 993 gtk_widget_show(list1); | |
| 994 gtk_widget_show(sw1); | |
| 995 gtk_widget_show(list2); | |
| 996 gtk_widget_show(sw2); | |
| 997 gtk_widget_show(ref_button); | |
| 998 gtk_widget_show(add_button); | |
| 999 gtk_widget_show(rem_button); | |
| 1000 | |
| 1001 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw1), list1); | |
| 1002 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list2); | |
| 1003 | |
| 1004 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw1), | |
| 1005 GTK_POLICY_AUTOMATIC,GTK_POLICY_ALWAYS); | |
| 1006 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), | |
| 1007 GTK_POLICY_AUTOMATIC,GTK_POLICY_ALWAYS); | |
| 1008 | |
| 1009 cp->list1 = list1; | |
| 1010 cp->list2 = list2; | |
| 1011 | |
| 1012 gtk_signal_connect(GTK_OBJECT(ref_button), "clicked", | |
| 1013 GTK_SIGNAL_FUNC(refresh_list), cp); | |
| 1014 gtk_signal_connect(GTK_OBJECT(rem_button), "clicked", | |
| 1015 GTK_SIGNAL_FUNC(remove_chat), cp); | |
| 1016 gtk_signal_connect(GTK_OBJECT(add_button), "clicked", | |
| 1017 GTK_SIGNAL_FUNC(add_chat), cp); | |
| 1018 | |
| 1019 | |
| 1020 | |
| 1021 label = gtk_label_new("List of available chats"); | |
| 1022 gtk_widget_show(label); | |
| 1023 | |
| 1024 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, | |
| 1025 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1026 gtk_table_attach(GTK_TABLE(table), ref_button, 0, 1, 1, 2, | |
| 1027 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1028 gtk_table_attach(GTK_TABLE(table), sw1, 0, 1, 2, 3, | |
| 1029 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, | |
| 1030 5, 5); | |
| 1031 gtk_table_attach(GTK_TABLE(table), add_button, 0, 1, 3, 4, | |
| 1032 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1033 | |
| 1034 | |
| 1035 label = gtk_label_new("List of subscribed chats"); | |
| 1036 gtk_widget_show(label); | |
| 1037 | |
| 1038 gtk_table_attach(GTK_TABLE(table), label, 1, 2, 0, 1, | |
| 1039 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1040 gtk_table_attach(GTK_TABLE(table), sw2, 1, 2, 2, 3, | |
| 1041 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, | |
| 1042 5, 5); | |
| 1043 gtk_table_attach(GTK_TABLE(table), rem_button, 1, 2, 3, 4, | |
| 1044 GTK_SHRINK, GTK_SHRINK, 0, 0); | |
| 1045 | |
| 1046 | |
| 1047 item = gtk_list_item_new_with_label("Gaim Chat"); | |
| 1048 cr = g_new0(struct chat_room, 1); | |
| 1049 strcpy(cr->name, "Gaim Chat"); | |
| 1050 cr->exchange = 4; | |
| 1051 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 1052 gtk_widget_show(item); | |
| 1053 gtk_list_append_items(GTK_LIST(list1), g_list_append(NULL, item)); | |
| 1054 | |
| 1055 | |
| 1056 while(crs) { | |
| 1057 cr = (struct chat_room *)crs->data; | |
| 1058 item = gtk_list_item_new_with_label(cr->name); | |
| 1059 gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 1060 gtk_widget_show(item); | |
| 1061 items = g_list_append(items, item); | |
| 1062 | |
| 1063 crs = crs->next; | |
| 1064 } | |
| 1065 | |
| 1066 gtk_list_append_items(GTK_LIST(list2), items); | |
| 1067 } | |
| 1068 | |
| 1069 | |
| 1070 | |
| 1071 | |
| 1072 | |
| 1073 void debug_print(char *chars) | |
| 1074 { | |
| 18 | 1075 if(general_options & OPT_GEN_DEBUG && dw) |
| 1 | 1076 gtk_text_insert(GTK_TEXT(dw->entry),NULL, NULL, NULL, chars, strlen(chars)); |
| 1077 #ifdef DEBUG | |
| 1078 printf("%s\n", chars); | |
| 1079 #endif | |
| 1080 } | |
| 1081 | |
| 1082 | |
| 1083 void build_debug() | |
| 1084 { | |
| 1085 GtkWidget *scroll; | |
| 1086 GtkWidget *box; | |
| 1087 if (!dw) | |
| 1088 dw = g_new0(struct debug_window, 1); | |
| 1089 | |
| 1090 box = gtk_hbox_new(FALSE,0); | |
| 1091 dw->window = gtk_window_new(GTK_WINDOW_DIALOG); | |
| 1092 gtk_window_set_title(GTK_WINDOW(dw->window), "GAIM debug output window"); | |
| 1093 gtk_container_add(GTK_CONTAINER(dw->window), box); | |
| 1094 dw->entry = gtk_text_new(NULL,NULL); | |
| 1095 gtk_widget_set_usize(dw->entry, 500, 200); | |
| 1096 scroll = gtk_vscrollbar_new(GTK_TEXT(dw->entry)->vadj); | |
| 1097 gtk_box_pack_start(GTK_BOX(box), dw->entry, TRUE,TRUE,0); | |
| 1098 gtk_box_pack_end(GTK_BOX(box), scroll,FALSE,FALSE,0); | |
| 1099 gtk_widget_show(dw->entry); | |
| 1100 gtk_widget_show(scroll); | |
| 1101 gtk_widget_show(box); | |
| 1102 gtk_signal_connect(GTK_OBJECT(dw->window),"delete_event", GTK_SIGNAL_FUNC(debug_delete), NULL); | |
| 1103 gtk_widget_show(dw->window); | |
| 1104 } | |
| 1105 | |
| 1106 | |
| 1107 | |
| 1108 void show_debug(GtkObject * object) | |
| 1109 { | |
| 1110 if((general_options & OPT_GEN_DEBUG)) { | |
| 1111 if(!dw || !dw->window) | |
| 1112 build_debug(); | |
| 1113 gtk_widget_show(dw->window); | |
| 1114 } else { | |
|
171
789c792ed14b
[gaim-migrate @ 181]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
150
diff
changeset
|
1115 if (!dw) return; |
| 1 | 1116 gtk_widget_destroy(dw->window); |
| 1117 dw->window = NULL; | |
| 1118 } | |
| 1119 } | |
| 1120 |
