Mercurial > pidgin
comparison src/dialogs.c @ 1805:caa605e70917
[gaim-migrate @ 1815]
i have that sting song, the one they play in the mercedes commercial, stuck in my head. what the hell are the words to that song.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 05 May 2001 10:36:08 +0000 |
parents | d7cbedd1d651 |
children | f15d449b3167 |
comparison
equal
deleted
inserted
replaced
1804:c7b288ea3892 | 1805:caa605e70917 |
---|---|
794 add_buddy(a->gc, grp, who, whoalias); | 794 add_buddy(a->gc, grp, who, whoalias); |
795 serv_add_buddy(a->gc, who); | 795 serv_add_buddy(a->gc, who); |
796 } else if (connections) { | 796 } else if (connections) { |
797 add_buddy(connections->data, grp, who, whoalias); | 797 add_buddy(connections->data, grp, who, whoalias); |
798 serv_add_buddy(connections->data, who); | 798 serv_add_buddy(connections->data, who); |
799 a->gc = connections->data; | |
799 } | 800 } |
800 | 801 |
801 if (c != NULL) { | 802 if (c != NULL) { |
802 update_buttons_by_protocol(c); | 803 update_buttons_by_protocol(c); |
803 } | 804 } |
804 | 805 |
805 do_export( (GtkWidget *) NULL, 0 ); | 806 do_export(a->gc); |
806 | 807 |
807 destroy_dialog(NULL, a->window); | 808 destroy_dialog(NULL, a->window); |
808 } | 809 } |
809 | 810 |
810 void do_add_group(GtkWidget *w, struct addbuddy *a) | 811 void do_add_group(GtkWidget *w, struct addbuddy *a) |
812 char *grp; | 813 char *grp; |
813 | 814 |
814 grp = gtk_entry_get_text(GTK_ENTRY(a->entry)); | 815 grp = gtk_entry_get_text(GTK_ENTRY(a->entry)); |
815 | 816 |
816 if (a->gc) add_group(a->gc, grp); | 817 if (a->gc) add_group(a->gc, grp); |
817 else if (connections) add_group(connections->data, grp); | 818 else if (connections) { |
818 | 819 add_group(connections->data, grp); |
819 do_export( (GtkWidget *) NULL, 0 ); | 820 a->gc = connections->data; |
821 } | |
822 | |
823 do_export(a->gc); | |
820 | 824 |
821 destroy_dialog(NULL, a->window); | 825 destroy_dialog(NULL, a->window); |
822 } | 826 } |
823 | 827 |
824 | 828 |
1818 g_free(n); | 1822 g_free(n); |
1819 if (!d) { | 1823 if (!d) { |
1820 p->gc->deny = g_slist_append(p->gc->deny, name); | 1824 p->gc->deny = g_slist_append(p->gc->deny, name); |
1821 build_block_list(); | 1825 build_block_list(); |
1822 serv_add_deny(p->gc, name); | 1826 serv_add_deny(p->gc, name); |
1823 do_export(0, 0); | 1827 do_export(p->gc); |
1824 } else | 1828 } else |
1825 g_free(name); | 1829 g_free(name); |
1826 } else { | 1830 } else { |
1827 GSList *d = p->gc->permit; | 1831 GSList *d = p->gc->permit; |
1828 char *n; | 1832 char *n; |
1835 g_free(n); | 1839 g_free(n); |
1836 if (!d) { | 1840 if (!d) { |
1837 p->gc->permit = g_slist_append(p->gc->permit, name); | 1841 p->gc->permit = g_slist_append(p->gc->permit, name); |
1838 build_allow_list(); | 1842 build_allow_list(); |
1839 serv_add_permit(p->gc, name); | 1843 serv_add_permit(p->gc, name); |
1840 do_export(0, 0); | 1844 do_export(p->gc); |
1841 } else | 1845 } else |
1842 g_free(name); | 1846 g_free(name); |
1843 } | 1847 } |
1844 | 1848 |
1845 destroy_dialog(NULL, p->window); | 1849 destroy_dialog(NULL, p->window); |
2786 } | 2790 } |
2787 | 2791 |
2788 /* if dummy is 0, save to ~/.gaim/screenname.blist, where screenname is each | 2792 /* if dummy is 0, save to ~/.gaim/screenname.blist, where screenname is each |
2789 * signed in user. Else, let user choose */ | 2793 * signed in user. Else, let user choose */ |
2790 | 2794 |
2791 void do_export(GtkWidget *w, void *dummy) | 2795 void do_export(struct gaim_connection *g) |
2792 { | 2796 { |
2797 FILE *dir; | |
2793 FILE *f; | 2798 FILE *f; |
2794 gint show_dialog = (int) dummy; | 2799 char buf[32 * 1024]; |
2795 char *buf = g_malloc(BUF_LONG * 2); | |
2796 char *file; | 2800 char *file; |
2797 char path[PATHSIZE]; | 2801 char path[PATHSIZE]; |
2798 | 2802 char *g_screenname; |
2803 | |
2804 /* | |
2799 if ( show_dialog == 1 ) { | 2805 if ( show_dialog == 1 ) { |
2800 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(exportdialog)); | 2806 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(exportdialog)); |
2801 strncpy( path, file, PATHSIZE - 1 ); | 2807 strncpy( path, file, PATHSIZE - 1 ); |
2802 if (file_is_dir(path, exportdialog)) { | 2808 if (file_is_dir(path, exportdialog)) { |
2803 g_free (buf); | |
2804 return; | 2809 return; |
2805 } | 2810 } |
2806 if ((f = fopen(path,"w"))) { | 2811 if ((f = fopen(path,"w"))) { |
2807 toc_build_config(connections->data, buf, 8192 - 1, TRUE); | 2812 toc_build_config(connections->data, buf, 8192 - 1, TRUE); |
2808 fprintf(f, "%s\n", buf); | 2813 fprintf(f, "%s\n", buf); |
2813 do_error_dialog(buf, _("Error")); | 2818 do_error_dialog(buf, _("Error")); |
2814 } | 2819 } |
2815 destroy_dialog(NULL, exportdialog); | 2820 destroy_dialog(NULL, exportdialog); |
2816 exportdialog = NULL; | 2821 exportdialog = NULL; |
2817 } else { | 2822 } else { |
2818 GSList *c = connections; | 2823 */ |
2819 struct gaim_connection *g; | 2824 |
2820 char *g_screenname; | 2825 file = gaim_user_dir(); |
2821 | 2826 if (!file) return; |
2822 file = gaim_user_dir(); | 2827 |
2823 if ( file != (char *) NULL ) { | 2828 strcpy(buf, file); |
2824 FILE *dir; | 2829 dir = fopen(buf, "r"); |
2825 strcpy(buf, file); | 2830 if (!dir) |
2826 dir = fopen(buf, "r"); | 2831 mkdir(buf, S_IRUSR | S_IWUSR | S_IXUSR); |
2827 if (!dir) | 2832 else |
2828 mkdir(buf, S_IRUSR | S_IWUSR | S_IXUSR); | 2833 fclose(dir); |
2829 else | 2834 |
2830 fclose(dir); | 2835 g_screenname = get_screenname_filename(g->username); |
2831 | 2836 |
2832 while (c) { | 2837 sprintf(path, "%s/%s.%d.blist", file, g_screenname, |
2833 g = (struct gaim_connection *)c->data; | 2838 (g->protocol == PROTO_OSCAR) ? PROTO_TOC : g->protocol); |
2834 | 2839 if ((f = fopen(path,"w"))) { |
2835 g_screenname = get_screenname_filename(g->username); | 2840 debug_printf("writing %s\n", path); |
2836 | 2841 toc_build_config(g, buf, 8192 - 1, TRUE); |
2837 sprintf(path, "%s/%s.%d.blist", file, g_screenname, | 2842 fprintf(f, "%s\n", buf); |
2838 (g->protocol == PROTO_OSCAR) ? PROTO_TOC : g->protocol); | 2843 fclose(f); |
2839 if ((f = fopen(path,"w"))) { | 2844 chmod(buf, S_IRUSR | S_IWUSR); |
2840 debug_printf("writing %s\n", path); | 2845 } else { |
2841 toc_build_config(g, buf, 8192 - 1, TRUE); | 2846 debug_printf("unable to write %s\n", path); |
2842 fprintf(f, "%s\n", buf); | 2847 } |
2843 fclose(f); | 2848 |
2844 chmod(buf, S_IRUSR | S_IWUSR); | 2849 g_free(g_screenname); |
2845 } else { | 2850 g_free(file); |
2846 debug_printf("unable to write %s\n", path); | 2851 } |
2847 } | 2852 |
2848 | 2853 |
2849 g_free(g_screenname); | 2854 /* |
2850 | |
2851 c = c->next; | |
2852 } | |
2853 g_free(file); | |
2854 } else return; | |
2855 } | |
2856 | |
2857 g_free(buf); | |
2858 | |
2859 } | |
2860 | |
2861 | |
2862 void show_export_dialog() | 2855 void show_export_dialog() |
2863 { | 2856 { |
2864 char *buf = g_malloc(BUF_LEN); | 2857 char *buf = g_malloc(BUF_LEN); |
2865 if (!exportdialog) { | 2858 if (!exportdialog) { |
2866 exportdialog = gtk_file_selection_new(_("Gaim - Export Buddy List")); | 2859 exportdialog = gtk_file_selection_new(_("Gaim - Export Buddy List")); |
2885 | 2878 |
2886 gtk_widget_show(exportdialog); | 2879 gtk_widget_show(exportdialog); |
2887 gdk_window_raise(exportdialog->window); | 2880 gdk_window_raise(exportdialog->window); |
2888 | 2881 |
2889 } | 2882 } |
2883 */ | |
2890 | 2884 |
2891 /* if gc is non-NULL, then import from ~/.gaim/gc->username.blist, else let user | 2885 /* if gc is non-NULL, then import from ~/.gaim/gc->username.blist, else let user |
2892 choose */ | 2886 choose */ |
2893 | 2887 |
2894 void do_import(GtkWidget *w, struct gaim_connection *gc) | 2888 void do_import(GtkWidget *w, struct gaim_connection *gc) |
2990 fclose( f ); | 2984 fclose( f ); |
2991 | 2985 |
2992 if ( from_dialog ) { | 2986 if ( from_dialog ) { |
2993 /* save what we just did to cache */ | 2987 /* save what we just did to cache */ |
2994 | 2988 |
2995 do_export( (GtkWidget *) NULL, 0 ); | 2989 do_export(gc); |
2996 destroy_dialog(NULL, importdialog); | 2990 destroy_dialog(NULL, importdialog); |
2997 importdialog = NULL; | 2991 importdialog = NULL; |
2998 } | 2992 } |
2999 | 2993 |
3000 g_free(buf); | 2994 g_free(buf); |
3389 static void do_alias_bud(GtkWidget *w, struct buddy *b) | 3383 static void do_alias_bud(GtkWidget *w, struct buddy *b) |
3390 { | 3384 { |
3391 char *al = gtk_entry_get_text(GTK_ENTRY(aliasname)); | 3385 char *al = gtk_entry_get_text(GTK_ENTRY(aliasname)); |
3392 g_snprintf(b->show, sizeof(b->show), "%s", (al && strlen(al)) ? al : b->name); | 3386 g_snprintf(b->show, sizeof(b->show), "%s", (al && strlen(al)) ? al : b->name); |
3393 handle_buddy_rename(b, b->name); | 3387 handle_buddy_rename(b, b->name); |
3394 do_export(0, 0); | 3388 do_export(b->gc); |
3395 destroy_dialog(aliasdlg, aliasdlg); | 3389 destroy_dialog(aliasdlg, aliasdlg); |
3396 } | 3390 } |
3397 | 3391 |
3398 void alias_dialog_bud(struct buddy *b) | 3392 void alias_dialog_bud(struct buddy *b) |
3399 { | 3393 { |
3791 prevname = g_strdup(g->name); | 3785 prevname = g_strdup(g->name); |
3792 g_snprintf(g->name, sizeof(g->name), "%s", new_name); | 3786 g_snprintf(g->name, sizeof(g->name), "%s", new_name); |
3793 handle_group_rename(g, prevname); | 3787 handle_group_rename(g, prevname); |
3794 g_free(prevname); | 3788 g_free(prevname); |
3795 } | 3789 } |
3796 do_export(0, 0); | 3790 do_export(g->gc); |
3797 } | 3791 } |
3798 | 3792 |
3799 destroy_dialog(rename_dialog, rename_dialog); | 3793 destroy_dialog(rename_dialog, rename_dialog); |
3800 } | 3794 } |
3801 | 3795 |