From 24f9a12f1b7c6f26e790b1508fd49a3dd5b5b4ae Mon Sep 17 00:00:00 2001 From: "Gene Z. Ragan" Date: Wed, 21 Jun 2000 18:39:48 +0000 Subject: [PATCH] Fixed bug #583 2000-06-21 Gene Z. Ragan 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. --- .../file-types/file-types-capplet-dialogs.c | 76 ++++++++++++++++++- capplets/file-types/file-types-capplet.c | 18 ----- 2 files changed, 74 insertions(+), 20 deletions(-) diff --git a/capplets/file-types/file-types-capplet-dialogs.c b/capplets/file-types/file-types-capplet-dialogs.c index 48146ba49..bb48dddb0 100644 --- a/capplets/file-types/file-types-capplet-dialogs.c +++ b/capplets/file-types/file-types-capplet-dialogs.c @@ -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; } -} \ No newline at end of file +} + +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; + } +} + \ No newline at end of file diff --git a/capplets/file-types/file-types-capplet.c b/capplets/file-types/file-types-capplet.c index 77362098f..0c69c03fa 100644 --- a/capplets/file-types/file-types-capplet.c +++ b/capplets/file-types/file-types-capplet.c @@ -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);