Tue, 06 Jun 2000 21:33:20 +0000
[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.
| 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
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
602b40b60252
[gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
10
diff
changeset
|
106 | if (blist) update_button_pix(); |
| 9 | 107 | |
|
84
419c24cfe582
[gaim-migrate @ 94]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
82
diff
changeset
|
108 | #ifdef USE_APPLET |
|
82
33bc54b6c16a
[gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
18
diff
changeset
|
109 | update_pixmaps(); |
|
33bc54b6c16a
[gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
18
diff
changeset
|
110 | #endif |
|
33bc54b6c16a
[gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
18
diff
changeset
|
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
602b40b60252
[gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
10
diff
changeset
|
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
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
150
diff
changeset
|
156 | if (debugbutton) |
|
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
150
diff
changeset
|
157 | gtk_button_clicked(GTK_BUTTON(debugbutton)); |
|
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
150
diff
changeset
|
158 | if (general_options & OPT_GEN_DEBUG) |
| 1 | 159 | { |
|
171
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
150
diff
changeset
|
160 | general_options = general_options ^ (int)OPT_GEN_DEBUG; |
|
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
216 | if (proxy_type != PROXY_NONE) { |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
217 | g_snprintf(proxy_host, sizeof(proxy_host), "%s", gtk_entry_get_text(GTK_ENTRY(pd->proxy_host_entry))); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
218 | sscanf(gtk_entry_get_text(GTK_ENTRY(pd->proxy_port_entry)), "%d", &proxy_port); |
|
253
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
256 | if (proxy_type != PROXY_NONE) { |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
257 | if (pd->proxy_host_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
258 | gtk_widget_set_sensitive(pd->proxy_host_entry, TRUE); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
259 | if (pd->proxy_port_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
260 | gtk_widget_set_sensitive(pd->proxy_port_entry, TRUE); |
| 1 | 261 | } else { |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
262 | if (pd->proxy_host_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
263 | gtk_widget_set_sensitive(pd->proxy_host_entry, FALSE); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
264 | if (pd->proxy_port_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
325 | #ifndef USE_OSCAR /* sorry, since we don't control the comm we can't set |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
326 | the connection */ |
| 1 | 327 | GtkWidget *connection_page; |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
328 | #endif |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
329 | #ifdef USE_APPLET |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
330 | GtkWidget *applet_page; |
|
340
d2d7e1b4e088
[gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
338
diff
changeset
|
331 | GtkWidget *appletbox; |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
206
diff
changeset
|
343 | GtkWidget *select_font; |
|
234
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
230
diff
changeset
|
344 | GtkWidget *font_face_for_text; |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
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
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
171
diff
changeset
|
392 | if (!dw && (general_options & OPT_GEN_DEBUG)) |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
150
diff
changeset
|
425 | gtk_signal_connect_object( GTK_OBJECT(debugbutton), "clicked", GTK_SIGNAL_FUNC(show_debug), NULL); |
| 1 | 426 | |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
427 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
428 | /* Applet */ |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
429 | #ifdef USE_APPLET |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
430 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
431 | applet_page = gtk_vbox_new(FALSE, 0); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
432 | label = gtk_label_new("Applet"); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
433 | gtk_widget_show(label); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
434 | gtk_notebook_append_page(GTK_NOTEBOOK(notebook), applet_page, label); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
435 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
436 | appletbox = gtk_vbox_new(FALSE, 5); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
437 | gtk_box_pack_start(GTK_BOX(applet_page), appletbox, TRUE, TRUE, 5); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
438 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
439 | gaim_button("Automatically Show Buddy List", &general_options, OPT_GEN_APP_BUDDY_SHOW, appletbox); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
440 | gaim_button("Sounds go through GNOME", &sound_options, OPT_SOUND_THROUGH_GNOME, appletbox); |
|
340
d2d7e1b4e088
[gaim-migrate @ 350]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
338
diff
changeset
|
441 | gaim_button("Buddy list displays near the applet", &general_options, OPT_GEN_NEAR_APPLET, appletbox); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
442 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
443 | gtk_widget_show(appletbox); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
444 | gtk_widget_show(applet_page); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
445 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
446 | #endif |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
447 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
448 | |
| 1 | 449 | /* Connection */ |
| 450 | ||
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
516 | connectopt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(connectopt)), "SOCKS v4 Proxy"); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
517 | gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
518 | gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_SOCKS4); |
|
253
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
519 | gtk_widget_show(connectopt); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
520 | if (proxy_type == PROXY_SOCKS4) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
521 | gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
522 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
523 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
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!)"); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
525 | gtk_box_pack_start(GTK_BOX(connection_page), connectopt, FALSE, FALSE, 0); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
526 | gtk_signal_connect(GTK_OBJECT(connectopt), "clicked", GTK_SIGNAL_FUNC(set_connect), (void *)PROXY_SOCKS5); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
527 | gtk_widget_show(connectopt); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
528 | if (proxy_type == PROXY_SOCKS5) |
|
253
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
529 | gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(connectopt), TRUE); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
530 | |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
531 | |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
532 | hbox = gtk_hbox_new(FALSE, 0); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
533 | label = gtk_label_new("Proxy Host:"); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
534 | gtk_widget_show(label); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
535 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
536 | pd->proxy_host_entry = gtk_entry_new(); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
537 | gtk_widget_show(pd->proxy_host_entry); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
538 | gtk_box_pack_start(GTK_BOX(hbox), pd->proxy_host_entry, FALSE, FALSE, 0); |
|
253
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
539 | |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
540 | label = gtk_label_new("Port:"); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
541 | gtk_widget_show(label); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
542 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
543 | pd->proxy_port_entry = gtk_entry_new(); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
544 | gtk_widget_show(pd->proxy_port_entry); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
545 | gtk_box_pack_start(GTK_BOX(hbox), pd->proxy_port_entry, FALSE, FALSE, 0); |
|
253
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
546 | gtk_widget_show(hbox); |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
547 | |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
548 | gtk_box_pack_start(GTK_BOX(connection_page), hbox, FALSE, FALSE, 0); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
549 | gtk_entry_set_text(GTK_ENTRY(pd->proxy_host_entry), proxy_host); |
|
253
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
550 | |
|
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
551 | g_snprintf(buffer, sizeof(buffer), "%d", proxy_port); |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
552 | gtk_entry_set_text(GTK_ENTRY(pd->proxy_port_entry), buffer); |
|
253
005289f6798d
[gaim-migrate @ 263]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
234
diff
changeset
|
553 | |
| 1 | 554 | |
| 555 | gtk_widget_show(connection_page); | |
| 556 | ||
| 557 | ||
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
558 | if (proxy_type != PROXY_NONE) { |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
559 | if (pd->proxy_host_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
560 | gtk_widget_set_sensitive(pd->proxy_host_entry, TRUE); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
561 | if (pd->proxy_port_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
562 | gtk_widget_set_sensitive(pd->proxy_port_entry, TRUE); |
| 1 | 563 | } else { |
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
564 | if (pd->proxy_host_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
565 | gtk_widget_set_sensitive(pd->proxy_host_entry, FALSE); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
566 | if (pd->proxy_port_entry) |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
576 | gtk_signal_connect(GTK_OBJECT(pd->proxy_host_entry), "focus_out_event", GTK_SIGNAL_FUNC(connection_key_pressed), NULL); |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
337
diff
changeset
|
579 | |
|
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
5384b8a3ca80
[gaim-migrate @ 119]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
e0c7e434ba4f
[gaim-migrate @ 160]
Eric Warmenhoven <warmenhoven@yahoo.com>
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
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
230
diff
changeset
|
774 | font_face_for_text = gaim_button("Font Face for Text", &font_options, OPT_FONT_FACE, fontbox); |
|
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
230
diff
changeset
|
775 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
206
diff
changeset
|
776 | select_font = gtk_button_new_with_label("Select Font"); |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
206
diff
changeset
|
777 | gtk_box_pack_start(GTK_BOX(fontbox), select_font, FALSE, FALSE, 0); |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
206
diff
changeset
|
778 | gtk_signal_connect(GTK_OBJECT(select_font), "clicked", GTK_SIGNAL_FUNC(show_font_dialog), NULL); |
|
234
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
230
diff
changeset
|
779 | if (!(font_options & OPT_FONT_FACE)) |
|
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
230
diff
changeset
|
780 | gtk_widget_set_sensitive(GTK_WIDGET(select_font), FALSE); |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
206
diff
changeset
|
781 | gtk_widget_show(select_font); |
|
234
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
230
diff
changeset
|
782 | gtk_signal_connect(GTK_OBJECT(font_face_for_text), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select_font); |
|
100138758e8d
[gaim-migrate @ 244]
Todd Kulesza <fflewddur@users.sourceforge.net>
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
602b40b60252
[gaim-migrate @ 27]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
10
diff
changeset
|
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
b3df3f8d922c
[gaim-migrate @ 181]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
150
diff
changeset
|
1115 | if (!dw) return; |
| 1 | 1116 | gtk_widget_destroy(dw->window); |
| 1117 | dw->window = NULL; | |
| 1118 | } | |
| 1119 | } | |
| 1120 |