comparison src/dialogs.c @ 1288:d8eaf65ca9c3

[gaim-migrate @ 1298] libfaim changes, clean up warn dialog committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 15 Dec 2000 13:04:55 +0000
parents 7448bc1cc7fd
children cb84b5c6d9ab
comparison
equal deleted inserted replaced
1287:cbb8d7a9be43 1288:d8eaf65ca9c3
319 1 : 0); 319 1 : 0);
320 320
321 destroy_dialog(NULL, w->window); 321 destroy_dialog(NULL, w->window);
322 } 322 }
323 323
324 static void free_warn_data(GtkObject *obj, struct warning *w)
325 {
326 g_free(w);
327 }
324 328
325 void show_warn_dialog(struct gaim_connection *gc, char *who) 329 void show_warn_dialog(struct gaim_connection *gc, char *who)
326 { 330 {
327 GtkWidget *cancel; 331 GtkWidget *cancel;
328 GtkWidget *warn; 332 GtkWidget *warn;
329 GtkWidget *label; 333 GtkWidget *label;
330 GtkWidget *vbox; 334 GtkWidget *vbox;
331 GtkWidget *bbox; 335 GtkWidget *bbox;
332 GtkWidget *frame; 336 GtkWidget *frame;
333 GtkWidget *fbox; 337 GtkWidget *fbox;
338 char buf[128];
334 339
335 struct warning *w = g_new0(struct warning, 1); 340 struct warning *w = g_new0(struct warning, 1);
341 w->who = who;
342 w->gc = gc;
336 343
337 char *buf = g_malloc(128);
338 w->window = gtk_window_new(GTK_WINDOW_DIALOG); 344 w->window = gtk_window_new(GTK_WINDOW_DIALOG);
345 dialogwindows = g_list_prepend(dialogwindows, w->window);
339 gtk_window_set_wmclass(GTK_WINDOW(w->window), "warning", "Gaim"); 346 gtk_window_set_wmclass(GTK_WINDOW(w->window), "warning", "Gaim");
340 gtk_window_set_policy(GTK_WINDOW(w->window), FALSE, FALSE, TRUE); 347 gtk_window_set_policy(GTK_WINDOW(w->window), FALSE, FALSE, TRUE);
341 gtk_widget_show(w->window); 348 gtk_window_set_title(GTK_WINDOW(w->window), _("Gaim - Warn user?"));
342 dialogwindows = g_list_prepend(dialogwindows, w->window); 349 gtk_container_set_border_width(GTK_CONTAINER(w->window), 5);
343 bbox = gtk_hbox_new(TRUE, 10); 350 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event",
351 GTK_SIGNAL_FUNC(destroy_dialog), w->window);
352 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event",
353 GTK_SIGNAL_FUNC(free_warn_data), w);
354 gtk_widget_realize(w->window);
355 aol_icon(w->window->window);
356
357 fbox = gtk_vbox_new(FALSE, 5);
358 gtk_container_add(GTK_CONTAINER(w->window), fbox);
359 gtk_widget_show(fbox);
360
361 frame = gtk_frame_new(_("Warn"));
362 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5);
363 gtk_widget_show(frame);
364
344 vbox = gtk_vbox_new(FALSE, 5); 365 vbox = gtk_vbox_new(FALSE, 5);
345 fbox = gtk_vbox_new(FALSE, 5); 366 gtk_container_add(GTK_CONTAINER(frame), vbox);
346 367 gtk_widget_show(vbox);
347 frame = gtk_frame_new(_("Warn"));
348
349 warn = picture_button(w->window, _("Warn"), warn_xpm);
350
351 cancel = picture_button(w->window, _("Cancel"), cancel_xpm);
352
353 if (display_options & OPT_DISP_COOL_LOOK)
354 {
355 gtk_button_set_relief(GTK_BUTTON(cancel), GTK_RELIEF_NONE);
356 gtk_button_set_relief(GTK_BUTTON(warn), GTK_RELIEF_NONE);
357 }
358
359 /* Put the buttons in the box */
360
361 gtk_box_pack_start(GTK_BOX(bbox), warn, FALSE, FALSE, 5);
362 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5);
363 368
364 g_snprintf(buf, 127, _("Do you really want to warn %s?"), who); 369 g_snprintf(buf, 127, _("Do you really want to warn %s?"), who);
365 label = gtk_label_new(buf); 370 label = gtk_label_new(buf);
366 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); 371 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5);
367 gtk_widget_show(label); 372 gtk_widget_show(label);
373
368 w->anon = gtk_check_button_new_with_label(_("Warn anonymously?")); 374 w->anon = gtk_check_button_new_with_label(_("Warn anonymously?"));
369 gtk_box_pack_start(GTK_BOX(vbox), w->anon, TRUE, TRUE, 5); 375 gtk_box_pack_start(GTK_BOX(vbox), w->anon, TRUE, TRUE, 5);
376 gtk_widget_show(w->anon);
370 377
371 label = gtk_label_new(_("Anonymous warnings are less harsh.")); 378 label = gtk_label_new(_("Anonymous warnings are less harsh."));
372 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); 379 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5);
373 gtk_widget_show(label); 380 gtk_widget_show(label);
374 381
375 w->who = who; 382 bbox = gtk_hbox_new(TRUE, 10);
376 w->gc = gc;
377
378 gtk_container_add(GTK_CONTAINER(frame), vbox);
379
380 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5);
381 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 5); 383 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 5);
382 384 gtk_widget_show(bbox);
383 /* Handle closes right */ 385
384 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", 386 warn = picture_button(w->window, _("Warn"), warn_xpm);
385 GTK_SIGNAL_FUNC(destroy_dialog), w->window); 387 gtk_box_pack_start(GTK_BOX(bbox), warn, FALSE, FALSE, 5);
388 gtk_signal_connect(GTK_OBJECT(warn), "clicked",
389 GTK_SIGNAL_FUNC(do_warn), w);
390
391 cancel = picture_button(w->window, _("Cancel"), cancel_xpm);
392 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5);
386 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", 393 gtk_signal_connect(GTK_OBJECT(cancel), "clicked",
387 GTK_SIGNAL_FUNC(destroy_dialog), w->window); 394 GTK_SIGNAL_FUNC(destroy_dialog), w->window);
388 gtk_signal_connect(GTK_OBJECT(warn), "clicked",
389 GTK_SIGNAL_FUNC(do_warn), w);
390 /* Finish up */
391 gtk_widget_show(w->anon);
392 gtk_widget_show(bbox);
393 gtk_widget_show(vbox);
394 gtk_widget_show(frame);
395 gtk_widget_show(fbox);
396
397 gtk_window_set_title(GTK_WINDOW(w->window), _("Gaim - Warn user?"));
398 gtk_container_add(GTK_CONTAINER(w->window), fbox);
399 gtk_container_set_border_width(GTK_CONTAINER(w->window), 5);
400 gtk_widget_realize(w->window);
401 aol_icon(w->window->window);
402 395
403 gtk_widget_show(w->window); 396 gtk_widget_show(w->window);
404 g_free(buf);
405 } 397 }
406 398
407 399
408 /*------------------------------------------------------------------------*/ 400 /*------------------------------------------------------------------------*/
409 /* The dialog for getting an error */ 401 /* The dialog for getting an error */