fix bug 4769 tweak to look slightly better. fix a potential segfault too.

2000-11-16  Mathieu Lacage  <mathieu@eazel.com>

	fix bug 4769
	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(nautilus_mime_type_capplet_show_new_mime_window): tweak to
	look slightly better. fix a potential segfault too.
	* mime-type-capplet/nautilus-mime-type-capplet.c: (revert_real_cb),
	(revert_mime_clicked), (add_mime_clicked): add dialog hook.
This commit is contained in:
Mathieu Lacage 2000-11-17 00:41:44 +00:00 committed by Mathieu Lacage
parent 796feca1e3
commit 7b46e81978
2 changed files with 35 additions and 11 deletions

View file

@ -618,6 +618,7 @@ nautilus_mime_type_capplet_show_new_mime_window (void)
mime_type = NULL; mime_type = NULL;
dialog = gnome_dialog_new (_("Add Mime Type"), GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL); dialog = gnome_dialog_new (_("Add Mime Type"), GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL);
gnome_dialog_set_default (GNOME_DIALOG (dialog), 1);
label = gtk_label_new (_("Add a new Mime Type\nFor example: image/tiff; text/x-scheme")); label = gtk_label_new (_("Add a new Mime Type\nFor example: image/tiff; text/x-scheme"));
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL); hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
@ -647,6 +648,8 @@ nautilus_mime_type_capplet_show_new_mime_window (void)
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gnome_dialog_set_close (GNOME_DIALOG (dialog), FALSE);
gtk_widget_show_all (GNOME_DIALOG (dialog)->vbox); gtk_widget_show_all (GNOME_DIALOG (dialog)->vbox);
switch (gnome_dialog_run (GNOME_DIALOG (dialog))) { switch (gnome_dialog_run (GNOME_DIALOG (dialog))) {
case 0: case 0:
@ -662,13 +665,14 @@ nautilus_mime_type_capplet_show_new_mime_window (void)
/* Fall through to close dialog */ /* Fall through to close dialog */
case 1: case 1:
gtk_widget_destroy (dialog);
break; break;
default: default:
break; break;
} }
gnome_dialog_close (GNOME_DIALOG (dialog));
return mime_type; return mime_type;
} }

View file

@ -954,12 +954,12 @@ populate_viewer_menu (GtkWidget *component_menu, const char *mime_type)
gtk_option_menu_set_menu (GTK_OPTION_MENU (default_menu), new_menu); gtk_option_menu_set_menu (GTK_OPTION_MENU (default_menu), new_menu);
} }
static void static void
revert_mime_clicked (GtkWidget *widget, gpointer data) revert_real_cb (gint reply, gpointer data)
{ {
if (reply == 0) {
/* YES */
GList *mime_types_list; GList *mime_types_list;
gnome_vfs_mime_reset (); gnome_vfs_mime_reset ();
gnome_vfs_mime_info_reload (); gnome_vfs_mime_info_reload ();
@ -968,6 +968,25 @@ revert_mime_clicked (GtkWidget *widget, gpointer data)
gtk_clist_clear (GTK_CLIST (mime_list)); gtk_clist_clear (GTK_CLIST (mime_list));
populate_mime_list (mime_types_list, GTK_CLIST (mime_list)); populate_mime_list (mime_types_list, GTK_CLIST (mime_list));
} else {
/* NO */
}
}
static void
revert_mime_clicked (GtkWidget *widget, gpointer data)
{
GtkWidget *dialog;
gint button_clicked;
GtkWidget *label;
dialog = gnome_question_dialog_modal (_("Reverting to system settings\n"
"will lose all your personal \n"
"Mime configuration.\n"
"Revert to System Settings ?\n"),
revert_real_cb, NULL);
} }
/* /*
* delete_mime_clicked * delete_mime_clicked
@ -1091,6 +1110,7 @@ add_mime_clicked (GtkWidget *widget, gpointer data)
g_free (text[3]); g_free (text[3]);
g_free (extensions); g_free (extensions);
} }
} }
static void static void