src/gtkconv.c

changeset 9493
8f15113fce1d
parent 9492
a5f4d712d169
child 9495
e9b2ece77b70
equal deleted inserted replaced
9492:a5f4d712d169 9493:8f15113fce1d
868 savelog_writefile_cb(conv, 1); 868 savelog_writefile_cb(conv, 1);
869 } 869 }
870 870
871 #if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */ 871 #if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
872 static void 872 static void
873 savelog_destroy_cb(GtkWidget *widget, GaimGtkConversation *gtkconv) 873 savelog_destroy_cb(GtkWidget *widget, GaimConversation *conv)
874 { 874 {
875 GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv);
875 if (gtkconv->dialogs.savelog != NULL) { 876 if (gtkconv->dialogs.savelog != NULL) {
876 gaim_notify_close_with_handle(gtkconv->dialogs.savelog); 877 gaim_notify_close_with_handle(gtkconv->dialogs.savelog);
877 gaim_request_close_with_handle(gtkconv->dialogs.savelog); 878 gaim_request_close_with_handle(gtkconv->dialogs.savelog);
878 gtk_widget_destroy(gtkconv->dialogs.savelog); 879 gtk_widget_destroy(gtkconv->dialogs.savelog);
879 gtkconv->dialogs.savelog = NULL; 880 gtkconv->dialogs.savelog = NULL;
886 { 887 {
887 GaimConvWindow *win = (GaimConvWindow *)data; 888 GaimConvWindow *win = (GaimConvWindow *)data;
888 GaimConversation *conv = gaim_conv_window_get_active_conversation(win); 889 GaimConversation *conv = gaim_conv_window_get_active_conversation(win);
889 GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); 890 GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv);
890 gchar *buf; 891 gchar *buf;
892
893 if (gtkconv->dialogs.savelog != NULL) {
894 gtk_window_present(GTK_WINDOW(gtkconv->dialogs.savelog));
895 return;
896 }
891 897
892 #if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */ 898 #if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
893 buf = g_strdup_printf("%s.html", gaim_normalize(conv->account, conv->name)); 899 buf = g_strdup_printf("%s.html", gaim_normalize(conv->account, conv->name));
894 gtkconv->dialogs.savelog = gtk_file_chooser_dialog_new(_("Save Conversation"), 900 gtkconv->dialogs.savelog = gtk_file_chooser_dialog_new(_("Save Conversation"),
895 GTK_WINDOW(GAIM_GTK_WINDOW(win)->window), 901 GTK_WINDOW(GAIM_GTK_WINDOW(win)->window),
911 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.savelog)->ok_button), 917 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.savelog)->ok_button),
912 "clicked", G_CALLBACK(savelog_checkfile_cb), conv); 918 "clicked", G_CALLBACK(savelog_checkfile_cb), conv);
913 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.savelog)->cancel_button), 919 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(gtkconv->dialogs.savelog)->cancel_button),
914 "clicked", G_CALLBACK(savelog_destroy_cb), conv); 920 "clicked", G_CALLBACK(savelog_destroy_cb), conv);
915 g_signal_connect(G_OBJECT(gtkconv->dialogs.savelog), 921 g_signal_connect(G_OBJECT(gtkconv->dialogs.savelog),
916 "clicked", G_CALLBACK(savelog_destroy_cb), conv); 922 "destroy", G_CALLBACK(savelog_destroy_cb), conv);
917 #endif /* FILECHOOSER */ 923 #endif /* FILECHOOSER */
918 924
919 g_free(buf); 925 g_free(buf);
920 926
921 gtk_widget_show_all(GTK_WIDGET(gtkconv->dialogs.savelog)); 927 gtk_widget_show_all(GTK_WIDGET(gtkconv->dialogs.savelog));

mercurial