2000-06-21  Gene Z. Ragan  <gzr@eazel.com>

	Fixed bug #583

	* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
	(initialize_edit_applications_dialog),
	(show_new_application_window), (show_edit_application_window):
	New dialog and items to indicate and allow user to
	set application behavior concerning multiple launch and
	URI handling.

	* mime-type-capplet/nautilus-mime-type-capplet.c:
	(init_mime_capplet):
	Removed old UI code and migrated to dialog.
This commit is contained in:
Gene Z. Ragan 2000-06-21 18:39:48 +00:00 committed by Gene Ragan
parent 6d98ed445a
commit 24f9a12f1b
2 changed files with 74 additions and 20 deletions

View file

@ -60,6 +60,7 @@ static edit_dialog_details *edit_component_details = NULL;
/* Local prototypes */
static void show_new_application_window (void);
static void show_edit_application_window (void);
static void
edit_applications_dialog_destroy (GtkWidget *widget, gpointer data)
@ -328,10 +329,15 @@ initialize_edit_applications_dialog (const char *mime_type)
/* Add edit buttons */
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
button = gtk_button_new_with_label (_("Add Application..."));
button = gtk_button_new_with_label (_("Add Application..."));
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_signal_connect_object (GTK_OBJECT (button), "clicked", show_new_application_window, NULL);
button = gtk_button_new_with_label (_("Edit Application..."));
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_signal_connect_object (GTK_OBJECT (button), "clicked", show_edit_application_window, NULL);
button = gtk_button_new_with_label (_("Delete Application"));
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
@ -707,4 +713,70 @@ show_new_application_window (void)
default:
break;
}
}
}
static void
show_edit_application_window (void)
{
GtkWidget *app_entry, *command_entry;
GtkWidget *hbox, *vbox;
GtkWidget *dialog;
GtkWidget *label;
GtkWidget *behavior_frame, *frame_vbox;
GtkWidget *check_box;
dialog = gnome_dialog_new (_("Edit Application"), GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL);
label = gtk_label_new (_("Application Name:"));
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
app_entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), app_entry, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0);
label = gtk_label_new (_("Application Command:"));
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
command_entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), command_entry, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0);
/* Open Behavior frame */
vbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), vbox, FALSE, FALSE, 0);
behavior_frame = gtk_frame_new (_("Open Behavior"));
gtk_box_pack_start (GTK_BOX (vbox), behavior_frame, FALSE, FALSE, 0);
frame_vbox = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
gtk_container_add (GTK_CONTAINER (behavior_frame), frame_vbox);
check_box = gtk_check_button_new_with_label (_("Can open multiple files"));
gtk_box_pack_start (GTK_BOX (frame_vbox), check_box, FALSE, FALSE, 0);
check_box = gtk_check_button_new_with_label (_("Can open from URI"));
gtk_box_pack_start (GTK_BOX (frame_vbox), check_box, FALSE, FALSE, 0);
gtk_widget_show_all (GNOME_DIALOG (dialog)->vbox);
/* Set focus to text entry widget */
gtk_window_set_focus (GTK_WINDOW (dialog), app_entry);
switch (gnome_dialog_run (GNOME_DIALOG (dialog))) {
case 0:
add_new_application (gtk_entry_get_text (GTK_ENTRY (app_entry)),
gtk_entry_get_text (GTK_ENTRY (app_entry)),
gtk_entry_get_text (GTK_ENTRY (command_entry)));
case 1:
gtk_widget_destroy (dialog);
break;
default:
break;
}
}

View file

@ -298,8 +298,6 @@ init_mime_capplet (void)
GtkWidget *action_frame;
GtkWidget *frame_hbox;
GtkWidget *vbox1, *vbox2, *vbox3, *vbox4;
/*GtkWidget *action_frame, *behavior_frame;
GtkWidget *check_box;*/
gchar *title[2] = {"Extensions"};
@ -421,22 +419,6 @@ init_mime_capplet (void)
gtk_signal_connect (GTK_OBJECT (component_button), "toggled",
GTK_SIGNAL_FUNC (component_button_toggled), NULL);
/* Open Behavior frame */
/*
behavior_frame = gtk_frame_new (_("Open Behavior"));
gtk_box_pack_start (GTK_BOX (vbox4), behavior_frame, FALSE, FALSE, 0);
frame_vbox = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
gtk_container_add (GTK_CONTAINER (behavior_frame), frame_vbox);
check_box = gtk_check_button_new_with_label (_("Can open multiple files"));
gtk_box_pack_start (GTK_BOX (frame_vbox), check_box, FALSE, FALSE, 0);
check_box = gtk_check_button_new_with_label (_("Can open from URI"));
gtk_box_pack_start (GTK_BOX (frame_vbox), check_box, FALSE, FALSE, 0);
*/
/* Mime list Add and Delete buttons */
button = left_aligned_button (_("Add..."));
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);