Fixed bug #583
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:
parent
6d98ed445a
commit
24f9a12f1b
2 changed files with 74 additions and 20 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue