Mercurial > pidgin
comparison src/prpl.c @ 2153:0befa2d2e540
[gaim-migrate @ 2163]
moving mail notifications to the core. this makes things much easier on the protocols. next steps: make buddy right-click menu stuff generated by the core (based on information provided by the protocols, similar to the away menu stuff); make entry-widget protocol-specific user options generated by the core based on what the protocols tell it (in a similar way).
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Wed, 22 Aug 2001 21:11:58 +0000 |
| parents | ecd5f3d29f47 |
| children | dca8e00d7de0 |
comparison
equal
deleted
inserted
replaced
| 2152:f631cfc8e824 | 2153:0befa2d2e540 |
|---|---|
| 472 c = g_slist_next(c); | 472 c = g_slist_next(c); |
| 473 } | 473 } |
| 474 } | 474 } |
| 475 } | 475 } |
| 476 | 476 |
| 477 static void des_email_win(GtkWidget *w, struct gaim_connection *yd) { | |
| 478 gtk_widget_destroy(yd->email_win); | |
| 479 if (yd->email_win == w) | |
| 480 yd->email_win = NULL; | |
| 481 yd->email_label = NULL; | |
| 482 } | |
| 483 | |
| 484 void connection_has_mail(struct gaim_connection *gc, int count, const char *from, const char *subject) | |
| 485 { | |
| 486 char buf[2048]; | |
| 487 | |
| 488 if (!(gc->user->options & OPT_USR_MAIL_CHECK)) | |
| 489 return; | |
| 490 | |
| 491 if (count < 0 && from && subject) { | |
| 492 g_snprintf(buf, sizeof buf, "%s has mail from %s: %s", | |
| 493 gc->username, from, subject); | |
| 494 if (!gc->email_win) { | |
| 495 GtkWidget *close; | |
| 496 | |
| 497 gc->email_win = gtk_dialog_new(); | |
| 498 gtk_window_set_policy(GTK_WINDOW(gc->email_win), 0, 0, 1); | |
| 499 gtk_container_set_border_width(GTK_CONTAINER(gc->email_win), 5); | |
| 500 gtk_window_set_title(GTK_WINDOW(gc->email_win), "New Mail"); | |
| 501 gtk_signal_connect(GTK_OBJECT(gc->email_win), "destroy", | |
| 502 GTK_SIGNAL_FUNC(des_email_win), gc); | |
| 503 gtk_widget_realize(gc->email_win); | |
| 504 aol_icon(gc->email_win->window); | |
| 505 | |
| 506 gc->email_label = gtk_label_new(buf); | |
| 507 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(gc->email_win)->vbox), | |
| 508 gc->email_label, 0, 0, 5); | |
| 509 gtk_widget_show(gc->email_label); | |
| 510 | |
| 511 close = picture_button(gc->email_win, _("Close"), cancel_xpm); | |
| 512 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(gc->email_win)->action_area), | |
| 513 close, 0, 0, 5); | |
| 514 gtk_signal_connect(GTK_OBJECT(close), "clicked", | |
| 515 GTK_SIGNAL_FUNC(des_email_win), gc); | |
| 516 | |
| 517 gtk_widget_show(gc->email_win); | |
| 518 } | |
| 519 gtk_label_set_text(GTK_LABEL(gc->email_label), buf); | |
| 520 } else if (count) { | |
| 521 g_snprintf(buf, sizeof buf, "%s has %d new message%s.", | |
| 522 gc->username, count, count == 1 ? "" : "s"); | |
| 523 if (!gc->email_win) { | |
| 524 GtkWidget *close; | |
| 525 | |
| 526 gc->email_win = gtk_dialog_new(); | |
| 527 gtk_window_set_policy(GTK_WINDOW(gc->email_win), 0, 0, 1); | |
| 528 gtk_container_set_border_width(GTK_CONTAINER(gc->email_win), 5); | |
| 529 gtk_window_set_title(GTK_WINDOW(gc->email_win), "New Mail"); | |
| 530 gtk_signal_connect(GTK_OBJECT(gc->email_win), "destroy", | |
| 531 GTK_SIGNAL_FUNC(des_email_win), gc); | |
| 532 gtk_widget_realize(gc->email_win); | |
| 533 aol_icon(gc->email_win->window); | |
| 534 | |
| 535 gc->email_label = gtk_label_new(buf); | |
| 536 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(gc->email_win)->vbox), | |
| 537 gc->email_label, 0, 0, 5); | |
| 538 gtk_widget_show(gc->email_label); | |
| 539 | |
| 540 close = picture_button(gc->email_win, _("Close"), cancel_xpm); | |
| 541 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(gc->email_win)->action_area), | |
| 542 close, 0, 0, 5); | |
| 543 gtk_signal_connect(GTK_OBJECT(close), "clicked", | |
| 544 GTK_SIGNAL_FUNC(des_email_win), gc); | |
| 545 | |
| 546 gtk_widget_show(gc->email_win); | |
| 547 } | |
| 548 gtk_label_set_text(GTK_LABEL(gc->email_label), buf); | |
| 549 } else if (gc->email_win) | |
| 550 gtk_widget_destroy(gc->email_win); | |
| 551 } | |
| 552 | |
| 553 /* | |
| 477 struct ft_req { | 554 struct ft_req { |
| 478 struct gaim_connection *gc; | 555 struct gaim_connection *gc; |
| 479 gboolean send; | 556 gboolean send; |
| 480 gboolean multiple; | 557 gboolean multiple; |
| 481 guint size; | 558 guint size; |
| 498 g_free(fr); | 575 g_free(fr); |
| 499 } | 576 } |
| 500 | 577 |
| 501 static void do_exist_dialog(const char *name, unsigned long size, struct ft_req *fr) | 578 static void do_exist_dialog(const char *name, unsigned long size, struct ft_req *fr) |
| 502 { | 579 { |
| 503 /* | 580 \* |
| 504 GtkWidget *window; | 581 GtkWidget *window; |
| 505 GtkWidget *vbox; | 582 GtkWidget *vbox; |
| 506 GtkWidget *label; | 583 GtkWidget *label; |
| 507 GtkWidget *hbox; | 584 GtkWidget *hbox; |
| 508 GtkWidget *button; | 585 GtkWidget *button; |
| 511 g_snprintf(buf, sizeof(buf), "It appears that %s already exists. Do you want to " | 588 g_snprintf(buf, sizeof(buf), "It appears that %s already exists. Do you want to " |
| 512 "overwrite the file%s or cancel the transfer?", name, | 589 "overwrite the file%s or cancel the transfer?", name, |
| 513 (size <= fr->size) ? ", resume the download," : ""); | 590 (size <= fr->size) ? ", resume the download," : ""); |
| 514 | 591 |
| 515 window = gtk_window_new(GTK_WINDOW_DIALOG); | 592 window = gtk_window_new(GTK_WINDOW_DIALOG); |
| 516 */ | 593 *\ |
| 517 } | 594 } |
| 518 | 595 |
| 519 static void ftgotfile(gpointer w, struct ft_req *fr) | 596 static void ftgotfile(gpointer w, struct ft_req *fr) |
| 520 { | 597 { |
| 521 const char *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(fr->fd)); | 598 const char *fname = gtk_file_selection_get_filename(GTK_FILE_SELECTION(fr->fd)); |
| 536 gtk_widget_destroy(fr->fd); | 613 gtk_widget_destroy(fr->fd); |
| 537 } | 614 } |
| 538 | 615 |
| 539 static void ftrrok(gpointer w, struct ft_req *ft) | 616 static void ftrrok(gpointer w, struct ft_req *ft) |
| 540 { | 617 { |
| 541 /* ft is going to be free'd as soon as we leave this function, so we'll copy it */ | 618 \* ft is going to be free'd as soon as we leave this function, so we'll copy it *\ |
| 542 struct ft_req *fr = g_memdup(ft, sizeof(struct ft_req)); | 619 struct ft_req *fr = g_memdup(ft, sizeof(struct ft_req)); |
| 543 char buf[256]; | 620 char buf[256]; |
| 544 | 621 |
| 545 if (fr->send) | 622 if (fr->send) |
| 546 fr->fd = gtk_file_selection_new(_("Gaim - Select File")); | 623 fr->fd = gtk_file_selection_new(_("Gaim - Select File")); |
| 590 g_snprintf(buf, sizeof(buf), "%s has just asked %s to receive a file.", | 667 g_snprintf(buf, sizeof(buf), "%s has just asked %s to receive a file.", |
| 591 who, gc->username); | 668 who, gc->username); |
| 592 | 669 |
| 593 do_ask_dialog(buf, fr, ftrrok, ftrrno); | 670 do_ask_dialog(buf, fr, ftrrok, ftrrno); |
| 594 } | 671 } |
| 672 */ |
