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