summaryrefslogtreecommitdiff
path: root/capplets/mime-type
diff options
context:
space:
mode:
Diffstat (limited to 'capplets/mime-type')
-rw-r--r--capplets/mime-type/ChangeLog72
-rw-r--r--capplets/mime-type/Makefile.am30
-rw-r--r--capplets/mime-type/edit-window.c578
-rw-r--r--capplets/mime-type/edit-window.h15
-rw-r--r--capplets/mime-type/mime-data.c661
-rw-r--r--capplets/mime-type/mime-data.h34
-rw-r--r--capplets/mime-type/mime-info.c492
-rw-r--r--capplets/mime-type/mime-info.h17
-rw-r--r--capplets/mime-type/mime-type-capplet.c143
-rw-r--r--capplets/mime-type/mime-type-capplet.pngbin2188 -> 0 bytes
-rw-r--r--capplets/mime-type/mime-type-properties.glade0
-rw-r--r--capplets/mime-type/mime-type.desktop.in.in7
-rw-r--r--capplets/mime-type/new-mime-window.c120
-rw-r--r--capplets/mime-type/new-mime-window.h14
14 files changed, 0 insertions, 2183 deletions
diff --git a/capplets/mime-type/ChangeLog b/capplets/mime-type/ChangeLog
deleted file mode 100644
index ad8f0a54a..000000000
--- a/capplets/mime-type/ChangeLog
+++ /dev/null
@@ -1,72 +0,0 @@
-2003-10-28 Jody Goldberg <jody@gnome.org>
-
- * Release 2.5.0
-
-2003-07-07 Jody Goldberg <jody@gnome.org>
-
- * Release 2.3.4
-
-2003-06-24 Jody Goldberg <jody@gnome.org>
-
- * Release 2.3.3
-
-2003-05-07 Jody Goldberg <jody@gnome.org>
-
- * Release 2.3.1
-
-Tue Feb 4 17:09:18 2003 Jonathan Blandford <jrb@redhat.com>
-
- * Release 2.2.0.1
-
-Tue Jan 21 01:15:14 2003 Jonathan Blandford <jrb@gnome.org>
-
- * Release 2.2.0
-
-Thu Jan 16 02:41:09 2003 Jonathan Blandford <jrb@gnome.org>
-
- * Release 2.1.7
-
-2003-01-10 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.6
-
-2002-12-18 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.5
-
-2002-11-23 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.3
-
-2002-11-02 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.2
-
-2002-10-21 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.1
-
-2002-10-01 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.0.1
-
-2002-08-21 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.0
-
-2002-06-17 Jody Goldberg <jody@gnome.org>
-
- * Release 2.0.0
-
-2001-07-27 Bradford Hovinen <hovinen@ximian.com>
-
- * RELEASE : 1.5.2
-
-2001-07-24 Richard Hestilow <hestilow@ximian.com>
-
- * mime-data.c (get_mime_clist): Set clist to reasonable default size.
-
-2001-07-20 Chema Celorio <chema@celorio.com>
-
- * RELEASE : 1.5.0
-
diff --git a/capplets/mime-type/Makefile.am b/capplets/mime-type/Makefile.am
deleted file mode 100644
index 665c4a538..000000000
--- a/capplets/mime-type/Makefile.am
+++ /dev/null
@@ -1,30 +0,0 @@
-cappletname = mime-type
-cappletgroup = "Advanced/"
-bin_PROGRAMS = mime-type-capplet
-
-mime_type_capplet_LDADD = $(GNOMECC_CAPPLETS_LIBS)
-mime_type_capplet_SOURCES = \
- mime-type-capplet.c\
- mime-data.h mime-data.c\
- edit-window.c edit-window.h\
- mime-info.c mime-info.h\
- new-mime-window.h new-mime-window.c
-
-pixmap_DATA =
-
-##
-## You should not need to modify anything below this line
-##
-@INTLTOOL_DESKTOP_RULE@
-@GNOMECC_CAPPLETS_DESKTOP_IN_RULE@
-
-INCLUDES = $(GNOMECC_CAPPLETS_CFLAGS)
-CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES)
-EXTRA_DIST = $(GNOMECC_CAPPLETS_EXTRA_DIST)
-iconsdir = $(GNOMECC_ICONS_DIR)
-Gladedir = $(GNOMECC_GLADE_DIR)
-pixmapdir = $(GNOMECC_PIXMAPS_DIR)
-Glade_DATA = $(cappletname)-properties.glade
-icons_DATA = $(cappletname)-capplet.png
-desktop = $(cappletname).desktop
-all-local: $(desktop)
diff --git a/capplets/mime-type/edit-window.c b/capplets/mime-type/edit-window.c
deleted file mode 100644
index 98dd8bb51..000000000
--- a/capplets/mime-type/edit-window.c
+++ /dev/null
@@ -1,578 +0,0 @@
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "edit-window.h"
-#include "mime-data.h"
-#include "mime-info.h"
-#include "capplet-widget.h"
-
-
-extern GtkWidget *capplet;
-extern GHashTable *user_mime_types;
-
-typedef struct {
- GtkWidget *window;
- GtkWidget *icon_entry;
- GtkWidget *mime_type;
-/* GtkWidget *ext_tag_label; */
- GtkWidget *regexp1_tag_label;
- GtkWidget *regexp2_tag_label;
-/* GtkWidget *ext_label; */
- GtkWidget *regexp1_label;
- GtkWidget *regexp2_label;
- GtkWidget *open_entry;
- GtkWidget *edit_entry;
- GtkWidget *view_entry;
- GtkWidget *ext_scroll;
- GtkWidget *ext_clist;
- GtkWidget *ext_entry;
- GtkWidget *ext_add_button;
- GtkWidget *ext_remove_button;
- MimeInfo *mi;
- MimeInfo *user_mi;
- GList *tmp_ext[2];
-} edit_window;
-static edit_window *main_win = NULL;
-static gboolean changing = TRUE;
-static void
-destruction_handler (GtkWidget *widget, gpointer data)
-{
- g_free (main_win);
- main_win = NULL;
-}
-static void
-entry_changed (GtkWidget *widget, gpointer data)
-{
- if (changing == FALSE)
- capplet_widget_state_changed (CAPPLET_WIDGET (capplet),
- TRUE);
-}
-static void
-ext_clist_selected (GtkWidget *clist, gint row, gint column, gpointer data)
-{
- gboolean deletable;
-
- deletable = GPOINTER_TO_INT (gtk_clist_get_row_data (GTK_CLIST (clist), row));
- if (deletable)
- gtk_widget_set_sensitive (main_win->ext_remove_button, TRUE);
- else
- gtk_widget_set_sensitive (main_win->ext_remove_button, FALSE);
-}
-static void
-ext_clist_deselected (GtkWidget *clist, gint row, gint column, gpointer data)
-{
- if (g_list_length (GTK_CLIST (clist)->selection) == 0)
- gtk_widget_set_sensitive (main_win->ext_remove_button, FALSE);
-}
-static void
-ext_entry_changed (GtkWidget *entry, gpointer data)
-{
- gchar *text;
- text = gtk_entry_get_text (GTK_ENTRY (entry));
- gtk_widget_set_sensitive (main_win->ext_add_button, (strlen (text) >0));
-}
-static void
-ext_add (GtkWidget *widget, gpointer data)
-{
- gchar *row[1];
- gint rownumber;
-
- row[0] = g_strdup (gtk_entry_get_text (GTK_ENTRY (main_win->ext_entry)));
- rownumber = gtk_clist_append (GTK_CLIST (main_win->ext_clist), row);
- gtk_clist_set_row_data (GTK_CLIST (main_win->ext_clist), rownumber,
- GINT_TO_POINTER (TRUE));
- gtk_entry_set_text (GTK_ENTRY (main_win->ext_entry), "");
-
- main_win->tmp_ext[0] = g_list_prepend (main_win->tmp_ext[0], row[0]);
- if (changing == FALSE)
- capplet_widget_state_changed (CAPPLET_WIDGET (capplet),
- TRUE);
-}
-static void
-ext_remove (GtkWidget *widget, gpointer data)
-{
- gint row;
- gchar *text;
- gchar *store;
- GList *tmp;
-
- text = (gchar *)g_malloc (sizeof (gchar) * 1024);
- gtk_clist_freeze (GTK_CLIST (main_win->ext_clist));
- row = GPOINTER_TO_INT (GTK_CLIST (main_win->ext_clist)->selection->data);
- gtk_clist_get_text (GTK_CLIST (main_win->ext_clist), row, 0, &text);
- store = g_strdup (text);
- gtk_clist_remove (GTK_CLIST (main_win->ext_clist), row);
-
- gtk_clist_thaw (GTK_CLIST (main_win->ext_clist));
-
- for (tmp = main_win->tmp_ext[0]; tmp; tmp = tmp->next) {
- GList *found;
-
- if (strcmp (tmp->data, store) == 0) {
- found = tmp;
-
- main_win->tmp_ext[0] = g_list_remove_link (main_win->tmp_ext[0], found);
- g_list_free_1 (found);
- break;
- }
- }
-
- if (changing == FALSE)
- capplet_widget_state_changed (CAPPLET_WIDGET (capplet),
- TRUE);
-}
-static void
-apply_entry_change (GtkWidget *entry, gchar *key, MimeInfo *mi)
-{
- const gchar *buf;
- gchar *text;
- /* buf is the value that existed before when we
- * started the capplet */
- buf = local_mime_get_value (mi->mime_type, key);
- if (buf == NULL)
- buf = gnome_mime_get_value (mi->mime_type, key);
- text = gtk_entry_get_text (GTK_ENTRY (entry));
- if (text && !*text)
- text = NULL;
-
- /* First we see if they've added something. */
- if (buf == NULL && text)
- set_mime_key_value (mi->mime_type, key, text);
- else {
- /* Has the value changed? */
- if (text && strcmp (text, buf))
- set_mime_key_value (mi->mime_type, key, text);
- else
- /* We _REALLY_ need a way to specify in
- * user.keys not to use the system defaults.
- * (ie. override the system default and
- * query it).
- * If we could then we'd set it here. */
- ;
- }
-}
-static GList*
-copy_mi_extensions (GList *orig)
-{
- GList *tmp;
- GList *list = NULL;
-
- for (tmp = orig; tmp; tmp = tmp->next) {
- list = g_list_append (list, g_strdup (tmp->data));
- }
- return list;
-}
-static void
-make_readable (MimeInfo *mi)
-{
- GList *list;
- GString *extension;
-
- extension = g_string_new ("");
- for (list = ((MimeInfo *) mi)->user_ext[0]; list; list = list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- mi->ext_readable[0] = extension->str;
- g_string_free (extension, FALSE);
-
- extension = g_string_new ("");
- for (list = ((MimeInfo *) mi)->user_ext[1]; list; list = list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- mi->ext_readable[1] = extension->str;
- g_string_free (extension, FALSE);
-}
-static void
-apply_changes (MimeInfo *mi)
-{
- GList *tmp;
- int i;
-
- apply_entry_change (gnome_icon_entry_gtk_entry (GNOME_ICON_ENTRY (main_win->icon_entry)),
- "icon-filename", mi);
- apply_entry_change (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->open_entry)),
- "open", mi);
- apply_entry_change (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->view_entry)),
- "view", mi);
- apply_entry_change (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->edit_entry)),
- "edit", mi);
-
- if (!main_win->user_mi) {
- add_to_key (mi->mime_type, "ext: tmp", user_mime_types, TRUE);
- /* the tmp extension will be removed when we copy the tmp_ext
- * stuff over the top of it.
- */
- main_win->user_mi = g_hash_table_lookup (user_mime_types,
- mi->mime_type);
- }
-
- for (i = 0; i < 2; i++) {
- if (main_win->tmp_ext[i]) {
- main_win->user_mi->user_ext[i] = copy_mi_extensions (main_win->tmp_ext[i]);
- mi->user_ext[i] = copy_mi_extensions (main_win->tmp_ext[i]);
- } else {
- main_win->user_mi->user_ext[i] = NULL;
- mi->user_ext[i] = NULL;
- }
- }
-
- make_readable (main_win->user_mi);
-
- if (! (main_win->user_mi->ext[0] || main_win->user_mi->ext[1] ||
- main_win->user_mi->user_ext[0] || main_win->user_mi->ext[1]))
- g_hash_table_remove (user_mime_types, mi->mime_type);
-
- /* Free the 2 tmp lists */
- for (i = 0; i < 2; i++) {
- if (main_win->tmp_ext[i])
- for (tmp = main_win->tmp_ext[i]; tmp; tmp = tmp->next)
- g_free (tmp->data);
- }
- if (changing == FALSE)
- capplet_widget_state_changed (CAPPLET_WIDGET (capplet),
- TRUE);
-}
-static void
-browse_callback (GtkWidget *widget, gpointer data)
-{
-}
-static void
-initialize_main_win ()
-{
- GtkWidget *align, *vbox, *hbox, *vbox2, *vbox3;
- GtkWidget *frame, *table, *label;
- GtkWidget *button;
- GString *extension;
- gchar *title[2] = {"Extensions"};
-
- main_win = g_new (edit_window, 1);
- main_win->window = gnome_dialog_new ("",
- GNOME_STOCK_BUTTON_OK,
- GNOME_STOCK_BUTTON_CANCEL,
- NULL);
- gtk_signal_connect (GTK_OBJECT (main_win->window),
- "destroy",
- destruction_handler,
- NULL);
- vbox = GNOME_DIALOG (main_win->window)->vbox;
-
- /* icon box */
- main_win->icon_entry = gnome_icon_entry_new ("mime_icon_entry", _("Select an icon..."));
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), main_win->icon_entry);
- gtk_signal_connect (GTK_OBJECT (gnome_icon_entry_gtk_entry (GNOME_ICON_ENTRY (main_win->icon_entry))),
- "changed",
- entry_changed,
- NULL);
- gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Mime Type: ")), FALSE, FALSE, 0);
- main_win->mime_type = gtk_label_new ("");
- gtk_box_pack_start (GTK_BOX (hbox), main_win->mime_type, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
- /* extension/regexp */
- vbox2 = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
- main_win->ext_clist = gtk_clist_new_with_titles (1, title);
- gtk_clist_column_titles_passive (GTK_CLIST (main_win->ext_clist));
- gtk_clist_set_auto_sort (GTK_CLIST (main_win->ext_clist), TRUE);
-
- gtk_signal_connect (GTK_OBJECT (main_win->ext_clist),
- "select-row",
- GTK_SIGNAL_FUNC (ext_clist_selected),
- NULL);
- gtk_signal_connect (GTK_OBJECT (main_win->ext_clist),
- "unselect-row",
- GTK_SIGNAL_FUNC (ext_clist_deselected),
- NULL);
- main_win->ext_scroll = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (main_win->ext_scroll),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_container_add (GTK_CONTAINER (main_win->ext_scroll),
- main_win->ext_clist);
-
- vbox3 = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
- main_win->ext_add_button = gtk_button_new_with_label (_("Add"));
- gtk_signal_connect (GTK_OBJECT (main_win->ext_add_button),
- "clicked",
- GTK_SIGNAL_FUNC (ext_add),
- NULL);
- gtk_box_pack_start (GTK_BOX (vbox3), main_win->ext_add_button, FALSE, FALSE, 0);
- gtk_widget_set_sensitive (main_win->ext_add_button, FALSE);
-
- main_win->ext_remove_button = gtk_button_new_with_label (_("Remove"));
- gtk_signal_connect (GTK_OBJECT (main_win->ext_remove_button),
- "clicked",
- GTK_SIGNAL_FUNC (ext_remove),
- NULL);
- gtk_widget_set_sensitive (main_win->ext_remove_button, FALSE);
- gtk_box_pack_start (GTK_BOX (vbox3), main_win->ext_remove_button,
- FALSE, FALSE, 0);
-
- gtk_box_pack_start (GTK_BOX (hbox), main_win->ext_scroll, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), vbox3, FALSE, FALSE, 0);
-
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, TRUE, TRUE, 0);
-
- main_win->ext_entry = gtk_entry_new ();
- gtk_signal_connect (GTK_OBJECT (main_win->ext_entry),
- "changed",
- ext_entry_changed,
- NULL);
- gtk_signal_connect (GTK_OBJECT (main_win->ext_entry),
- "activate",
- ext_add,
- NULL);
- gtk_box_pack_start (GTK_BOX (vbox2), main_win->ext_entry, TRUE, TRUE, 0);
-
- hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
- main_win->regexp1_label = gtk_label_new ("");
- main_win->regexp1_tag_label = gtk_label_new (_("First Regular Expression: "));
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp1_tag_label,
- FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp1_label, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
- main_win->regexp2_label = gtk_label_new ("");
- main_win->regexp2_tag_label = gtk_label_new (_("Second Regular Expression: "));
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp2_tag_label,
- FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp2_label, FALSE, FALSE, 0);
-
- /* Actions box */
- frame = gtk_frame_new (_("Mime Type Actions"));
- vbox2 = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
- table = gtk_table_new (3, 2, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table), GNOME_PAD_SMALL);
- gtk_container_set_border_width (GTK_CONTAINER (table), GNOME_PAD_SMALL);
- gtk_container_add (GTK_CONTAINER (frame), vbox2);
- label = gtk_label_new (_("Example: emacs %f"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_misc_set_padding (GTK_MISC (label), 2, 0);
- gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox2), table, FALSE, FALSE, 0);
- label = gtk_label_new (_("Open"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_misc_set_padding (GTK_MISC (label), 2, 0);
- gtk_table_attach_defaults (GTK_TABLE (table),
- label,
- 0, 1, 0, 1);
- main_win->open_entry = gnome_file_entry_new ("MIME_CAPPLET_OPEN", _("Select a file..."));
- gtk_signal_connect (GTK_OBJECT (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->open_entry))),
- "changed",
- entry_changed,
- NULL);
-
- gtk_table_attach_defaults (GTK_TABLE (table),
- main_win->open_entry,
- 1, 2, 0, 1);
- label = gtk_label_new (_("View"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_misc_set_padding (GTK_MISC (label), 2, 0);
- gtk_table_attach_defaults (GTK_TABLE (table),
- label,
- 0, 1, 1, 2);
-
- main_win->view_entry = gnome_file_entry_new ("MIME_CAPPLET_VIEW", _("Select a file..."));
- gtk_signal_connect (GTK_OBJECT (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->view_entry))),
- "changed",
- entry_changed,
- NULL);
-
- gtk_table_attach_defaults (GTK_TABLE (table),
- main_win->view_entry,
- 1, 2, 1, 2);
- label = gtk_label_new (_("Edit"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_misc_set_padding (GTK_MISC (label), 2, 0);
- gtk_table_attach_defaults (GTK_TABLE (table),
- label,
- 0, 1, 2, 3);
- main_win->edit_entry = gnome_file_entry_new ("MIME_CAPPLET_EDIT", _("Select a file..."));
- gtk_signal_connect (GTK_OBJECT (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->edit_entry))),
- "changed",
- entry_changed,
- NULL);
- gtk_table_attach_defaults (GTK_TABLE (table),
- main_win->edit_entry,
- 1, 2, 2, 3);
-}
-static void
-setup_entry (gchar *key, GtkWidget *g_entry, MimeInfo *mi)
-{
- const gchar *buf;
- GtkWidget *entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (g_entry));
- buf = local_mime_get_value (mi->mime_type, key);
- if (buf == NULL)
- buf = gnome_mime_get_value (mi->mime_type, key);
- if (buf)
- gtk_entry_set_text (GTK_ENTRY (entry), buf);
- else
- gtk_entry_set_text (GTK_ENTRY (entry), "");
-}
-void
-initialize_main_win_vals (void)
-{
- MimeInfo *mi;
- gchar *title;
- gboolean showext = FALSE;
- if (main_win == NULL)
- return;
- mi = main_win->mi;
- if (mi == NULL)
- return;
- /* now we fill in the fields with the mi stuff. */
-
- changing = TRUE;
- gtk_label_set_text (GTK_LABEL (main_win->mime_type), mi->mime_type);
- gnome_icon_entry_set_icon (GNOME_ICON_ENTRY (main_win->icon_entry),
- gnome_mime_get_value (mi->mime_type,
- "icon-filename"));
-
- gtk_widget_show_all (GNOME_DIALOG (main_win->window)->vbox);
- /* we initialize everything */
- title = g_strdup_printf (_("Set actions for %s"), mi->mime_type);
- gtk_window_set_title (GTK_WINDOW (main_win->window), title);
- g_free (title);
-
- /* not sure why this is necessary */
- gtk_clist_clear (GTK_CLIST (main_win->ext_clist));
- if (mi->ext[0]) {
- GList *tmp;
- gchar *extension[1];
- gint row;
- for (tmp = mi->ext[0]; tmp; tmp = tmp->next) {
- extension[0] = g_strdup (tmp->data);
- row = gtk_clist_append (GTK_CLIST (main_win->ext_clist),
- extension);
- gtk_clist_set_row_data (GTK_CLIST (main_win->ext_clist),
- row, GINT_TO_POINTER (FALSE));
- }
- showext = TRUE;
- }
- if (mi->ext[1]) {
- GList *tmp;
- gchar *extension[1];
- gint row;
- for (tmp = mi->ext[1]; tmp; tmp = tmp->next) {
- extension[0] = g_strdup (tmp->data);
- row = gtk_clist_append (GTK_CLIST (main_win->ext_clist),
- extension);
- gtk_clist_set_row_data (GTK_CLIST (main_win->ext_clist),
- row, GINT_TO_POINTER (FALSE));
- }
- showext = TRUE;
- }
- if (main_win->tmp_ext[0]) {
- GList *tmp;
- gchar *extension[1];
- gint row;
- for (tmp = main_win->tmp_ext[0]; tmp; tmp = tmp->next) {
- extension[0] = g_strdup (tmp->data);
- row = gtk_clist_append (GTK_CLIST (main_win->ext_clist),
- extension);
- gtk_clist_set_row_data (GTK_CLIST (main_win->ext_clist),
- row, GINT_TO_POINTER (TRUE));
- }
- showext = TRUE;
- }
- if (main_win->tmp_ext[1]) {
- GList *tmp;
- gchar *extension[1];
- gint row;
- for (tmp = main_win->tmp_ext[0]; tmp; tmp = tmp->next) {
- extension[0] = g_strdup (tmp->data);
- row = gtk_clist_append (GTK_CLIST (main_win->ext_clist),
- extension);
- gtk_clist_set_row_data (GTK_CLIST (main_win->ext_clist),
- row, GINT_TO_POINTER (TRUE));
- }
- showext = TRUE;
- }
- if (!showext) {
- gtk_widget_hide (main_win->ext_clist);
- gtk_widget_hide (main_win->ext_entry);
- gtk_widget_hide (main_win->ext_add_button);
- gtk_widget_hide (main_win->ext_remove_button);
- gtk_widget_hide (main_win->ext_scroll);
- }
- if (mi->regex_readable[0])
- gtk_label_set_text (GTK_LABEL (main_win->regexp1_label),
- mi->regex_readable[0]);
- else {
- gtk_widget_hide (main_win->regexp1_label);
- gtk_widget_hide (main_win->regexp1_tag_label);
- }
- if (mi->regex_readable[1])
- gtk_label_set_text (GTK_LABEL (main_win->regexp2_label),
- mi->regex_readable[1]);
- else {
- gtk_widget_hide (main_win->regexp2_label);
- gtk_widget_hide (main_win->regexp2_tag_label);
- }
- /* initialize the entries */
- setup_entry ("open", main_win->open_entry, mi);
- setup_entry ("view", main_win->view_entry, mi);
- setup_entry ("edit", main_win->edit_entry, mi);
- changing = FALSE;
-
-}
-void
-launch_edit_window (MimeInfo *mi)
-{
- gint size;
-
- if (main_win == NULL)
- initialize_main_win ();
- main_win->mi = mi;
- main_win->user_mi = g_hash_table_lookup (user_mime_types, mi->mime_type);
- main_win->tmp_ext[0] = NULL;
- main_win->tmp_ext[1] = NULL;
- if (main_win->user_mi) {
- if (main_win->user_mi->user_ext[0])
- main_win->tmp_ext[0] = copy_mi_extensions (main_win->user_mi->user_ext[0]);
- if (main_win->user_mi->user_ext[1])
- main_win->tmp_ext[1] = copy_mi_extensions (main_win->user_mi->user_ext[1]);
- }
- initialize_main_win_vals ();
-
- switch(gnome_dialog_run (GNOME_DIALOG (main_win->window))) {
- case 0:
- apply_changes (mi);
- case 1:
- main_win->mi = NULL;
- gtk_widget_hide (main_win->window);
- break;
- }
-}
-
-void
-hide_edit_window (void)
-{
- if (main_win && main_win->mi && main_win->window)
- gtk_widget_hide (main_win->window);
-}
-void
-show_edit_window (void)
-{
- if (main_win && main_win->mi && main_win->window)
- gtk_widget_show (main_win->window);
-}
-
-
-
-
diff --git a/capplets/mime-type/edit-window.h b/capplets/mime-type/edit-window.h
deleted file mode 100644
index 626a7c6be..000000000
--- a/capplets/mime-type/edit-window.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-/* Copyright (C) 1998 Redhat Software Inc.
- * Authors: Jonathan Blandford <jrb@redhat.com>
- */
-#include "mime-data.h"
-#ifndef _EDIT_WINDOW_H_
-#define _EDIT_WINDOW_H_
-
-
-void launch_edit_window (MimeInfo *mi);
-void initialize_main_win_vals (void);
-void hide_edit_window (void);
-void show_edit_window (void);
-
-#endif
diff --git a/capplets/mime-type/mime-data.c b/capplets/mime-type/mime-data.c
deleted file mode 100644
index a4698edae..000000000
--- a/capplets/mime-type/mime-data.c
+++ /dev/null
@@ -1,661 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-/* Copyright (C) 1998 Redhat Software Inc.
- * Authors: Jonathan Blandford <jrb@redhat.com>
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "capplet-widget.h"
-#include "gnome.h"
-#include <string.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <regex.h>
-#include <ctype.h>
-#include "edit-window.h"
-#include "mime-data.h"
-#include "mime-info.h"
-#include "new-mime-window.h"
-#include <sys/stat.h>
-#include <unistd.h>
-#include <errno.h>
-
-
-/* Prototypes */
-static void mime_fill_from_file (const char *filename, gboolean init_user);
-static void mime_load_from_dir (const char *mime_info_dir, gboolean system_dir);
-void add_to_key (char *mime_type, char *def, GHashTable *table, gboolean init_user);
-static char *get_priority (char *def, int *priority);
-
-
-/* Global variables */
-static char *current_lang;
-static GHashTable *mime_types = NULL;
-static GHashTable *initial_user_mime_types = NULL;
-GHashTable *user_mime_types = NULL;
-static GtkWidget *clist = NULL;
-extern GtkWidget *delete_button;
-extern GtkWidget *capplet;
-/* Initialization functions */
-static void
-run_error (gchar *message)
-{
- GtkWidget *error_box;
-
- error_box = gnome_message_box_new (
- message,
- GNOME_MESSAGE_BOX_ERROR,
- GNOME_STOCK_BUTTON_OK,
- NULL);
- gnome_dialog_run_and_close (GNOME_DIALOG (error_box));
-}
-static char *
-get_priority (char *def, int *priority)
-{
- *priority = 0;
-
- if (*def == ','){
- def++;
- if (*def == '1'){
- *priority = 0;
- def++;
- } else if (*def == '2'){
- *priority = 1;
- def++;
- }
- }
-
- while (*def && *def == ':')
- def++;
-
- return def;
-}
-static void
-free_mime_info (MimeInfo *mi)
-{
-
-}
-void
-add_to_key (char *mime_type, char *def, GHashTable *table, gboolean init_user)
-{
- int priority = 1;
- char *s, *p, *ext;
- int used;
- MimeInfo *info;
-
- info = g_hash_table_lookup (table, (const void *) mime_type);
- if (info == NULL) {
- info = g_malloc (sizeof (MimeInfo));
- info->mime_type = g_strdup (mime_type);
- info->regex[0] = NULL;
- info->regex[1] = NULL;
- info->ext[0] = NULL;
- info->ext[1] = NULL;
- info->user_ext[0] = NULL;
- info->user_ext[1] = NULL;
- info->regex_readable[0] = NULL;
- info->regex_readable[1] = NULL;
- info->ext_readable[0] = NULL;
- info->ext_readable[1] = NULL;
- info->keys = gnome_mime_get_keys (mime_type);
- g_hash_table_insert (table, info->mime_type, info);
- }
- if (strncmp (def, "ext", 3) == 0){
- char *tokp;
-
- def += 3;
- def = get_priority (def, &priority);
- s = p = g_strdup (def);
-
- used = 0;
-
- while ((ext = strtok_r (s, " \t\n\r,", &tokp)) != NULL){
- /* FIXME: We really need to check for duplicates before entering this. */
- if (!init_user) {
- info->ext[priority] = g_list_prepend (info->ext[priority], ext);
- } else {
- info->user_ext[priority] = g_list_prepend (info->user_ext[priority], ext);
- }
- used = 1;
- s = NULL;
- }
- if (!used)
- g_free (p);
- }
-
- if (strncmp (def, "regex", 5) == 0){
- regex_t *regex;
-
- regex = g_new (regex_t, 1);
- def += 5;
- def = get_priority (def, &priority);
-
- while (*def && isspace (*def))
- def++;
-
- if (!*def)
- return;
- if (regcomp (regex, def, REG_EXTENDED | REG_NOSUB))
- g_free (regex);
- else {
- info->regex[priority] = regex;
- g_free (info->regex_readable[priority]);
- info->regex_readable[priority] = g_strdup (def);
- }
- }
-}
-static void
-mime_fill_from_file (const char *filename, gboolean init_user)
-{
- FILE *f;
- char buf [1024];
- char *current_key;
- gboolean used;
-
- g_assert (filename != NULL);
-
- f = fopen (filename, "r");
- if (!f)
- return;
-
- current_key = NULL;
- used = FALSE;
- while (fgets (buf, sizeof (buf), f)){
- char *p;
-
- if (buf [0] == '#')
- continue;
-
- /* Trim trailing spaces */
- for (p = buf + strlen (buf) - 1; p >= buf; p--){
- if (isspace (*p) || *p == '\n')
- *p = 0;
- else
- break;
- }
-
- if (!buf [0])
- continue;
-
- if (buf [0] == '\t' || buf [0] == ' '){
- if (current_key){
- char *p = buf;
-
- while (*p && isspace (*p))
- p++;
-
- if (*p == 0)
- continue;
- add_to_key (current_key, p, mime_types, init_user);
- if (init_user) {
- add_to_key (current_key, p,
- initial_user_mime_types,
- TRUE);
- add_to_key (current_key, p,
- user_mime_types, TRUE);
- }
- used = TRUE;
- }
- } else {
- if (!used && current_key)
- g_free (current_key);
- current_key = g_strdup (buf);
- if (current_key [strlen (current_key)-1] == ':')
- current_key [strlen (current_key)-1] = 0;
-
- used = FALSE;
- }
- }
- fclose (f);
-}
-
-static void
-mime_load_from_dir (const char *mime_info_dir, gboolean system_dir)
-{
- DIR *dir;
- struct dirent *dent;
- const int extlen = sizeof (".mime") - 1;
- char *filename;
-
- dir = opendir (mime_info_dir);
- if (!dir)
- return;
- if (system_dir) {
- filename = g_build_filename (mime_info_dir, "gnome.mime", NULL);
- mime_fill_from_file (filename, FALSE);
- g_free (filename);
- }
- while ((dent = readdir (dir)) != NULL){
-
- int len = strlen (dent->d_name);
-
- if (len <= extlen)
- continue;
-
- if (strcmp (dent->d_name + len - extlen, ".mime"))
- continue;
- if (system_dir && !strcmp (dent->d_name, "gnome.mime"))
- continue;
- if (!system_dir && !strcmp (dent->d_name, "user.mime"))
- continue;
-
- filename = g_build_filename (mime_info_dir, dent->d_name, NULL);
- mime_fill_from_file (filename, FALSE);
- g_free (filename);
- }
- if (!system_dir) {
- filename = g_build_filename (mime_info_dir, "user.mime", NULL);
- mime_fill_from_file (filename, TRUE);
- g_free (filename);
- }
- closedir (dir);
-}
-static int
-add_mime_vals_to_clist (gchar *mime_type, gpointer mi, gpointer cl)
-{
- /* we also finalize the MimeInfo structure here, now that we're done
- * loading it */
- static gchar *text[2];
- GList *list;
- GString *extension;
- gint row;
-
- extension = g_string_new ("");
- for (list = ((MimeInfo *) mi)->ext[0];list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- if (strcmp (extension->str, "") != 0 && ((MimeInfo *)mi)->user_ext[0])
- g_string_append (extension, ", ");
- for (list = ((MimeInfo *) mi)->user_ext[0]; list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- ((MimeInfo *) mi)->ext_readable[0] = extension->str;
- g_string_free (extension, FALSE);
-
- extension = g_string_new ("");
- for (list = ((MimeInfo *) mi)->ext[1];list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next)
- g_string_append (extension, ", ");
- }
- if (strcmp (extension->str, "") != 0 && ((MimeInfo *)mi)->user_ext[1])
- g_string_append (extension, ", ");
- for (list = ((MimeInfo *) mi)->user_ext[1]; list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- ((MimeInfo *) mi)->ext_readable[1] = extension->str;
- g_string_free (extension, FALSE);
-
- if (((MimeInfo *) mi)->ext[0] || ((MimeInfo *) mi)->user_ext[0]) {
- extension = g_string_new ((((MimeInfo *) mi)->ext_readable[0]));
- if (((MimeInfo *) mi)->ext[1] || ((MimeInfo *) mi)->user_ext[1]) {
- g_string_append (extension, ", ");
- g_string_append (extension, (((MimeInfo *) mi)->ext_readable[1]));
- }
- } else if (((MimeInfo *) mi)->ext[1] || ((MimeInfo *) mi)->user_ext[1])
- extension = g_string_new ((((MimeInfo *) mi)->ext_readable[1]));
- else
- extension = g_string_new ("");
-
- text[0] = ((MimeInfo *) mi)->mime_type;
- text[1] = extension->str;
-
- row = gtk_clist_insert (GTK_CLIST (cl), 1, text);
- gtk_clist_set_row_data (GTK_CLIST (cl), row, mi);
- g_string_free (extension, TRUE);
- return row;
-}
-static void
-selected_row_callback (GtkWidget *widget, gint row, gint column, GdkEvent *event, gpointer data)
-{
- MimeInfo *mi;
- if (column < 0)
- return;
-
- mi = (MimeInfo *) gtk_clist_get_row_data (GTK_CLIST (widget),row);
-
- if (event && event->type == GDK_2BUTTON_PRESS)
- launch_edit_window (mi);
-
- if (g_hash_table_lookup (user_mime_types, mi->mime_type)) {
- gtk_widget_set_sensitive (delete_button, TRUE);
- } else
- gtk_widget_set_sensitive (delete_button, FALSE);
-}
-
-/* public functions */
-void
-delete_clicked (GtkWidget *widget, gpointer data)
-{
- MimeInfo *mi;
- gint row = 0;
-
- if (GTK_CLIST (clist)->selection)
- row = GPOINTER_TO_INT ((GTK_CLIST (clist)->selection)->data);
- else
- return;
- mi = (MimeInfo *) gtk_clist_get_row_data (GTK_CLIST (clist), row);
-
- gtk_clist_remove (GTK_CLIST (clist), row);
- g_hash_table_remove (user_mime_types, mi->mime_type);
- remove_mime_info (mi->mime_type);
- free_mime_info (mi);
- capplet_widget_state_changed (CAPPLET_WIDGET (capplet),
- TRUE);
-}
-
-void
-edit_clicked (GtkWidget *widget, gpointer data)
-{
- MimeInfo *mi;
- gint row = 0;
-
- if (GTK_CLIST (clist)->selection)
- row = GPOINTER_TO_INT ((GTK_CLIST (clist)->selection)->data);
- else
- return;
- mi = (MimeInfo *) gtk_clist_get_row_data (GTK_CLIST (clist), row);
- if (mi)
- launch_edit_window (mi);
- gtk_clist_remove (GTK_CLIST (clist), row);
- row = add_mime_vals_to_clist (mi->mime_type, mi, clist);
- gtk_clist_select_row (GTK_CLIST (clist), row, 0);
-}
-void
-add_clicked (GtkWidget *widget, gpointer data)
-{
- launch_new_mime_window ();
-}
-
-GtkWidget *
-get_mime_clist (void)
-{
- GtkWidget *retval;
- gchar *titles[2];
-
- titles[0] = _("Mime Type");
- titles[1] = _("Extension");
- retval = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (retval),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- clist = gtk_clist_new_with_titles (2, titles);
- gtk_widget_set_usize (clist, 400, 300);
- gtk_signal_connect (GTK_OBJECT (clist),
- "select_row",
- GTK_SIGNAL_FUNC (selected_row_callback),
- NULL);
- gtk_clist_set_selection_mode (GTK_CLIST (clist), GTK_SELECTION_BROWSE);
- gtk_clist_set_auto_sort (GTK_CLIST (clist), TRUE);
- if (clist)
- g_hash_table_foreach (mime_types, (GHFunc) add_mime_vals_to_clist, clist);
- gtk_clist_columns_autosize (GTK_CLIST (clist));
- gtk_clist_select_row (GTK_CLIST (clist), 0, 0);
- gtk_container_add (GTK_CONTAINER (retval), clist);
- return retval;
-}
-
-static void
-finalize_mime_type_foreach (gpointer mime_type, gpointer info, gpointer data)
-{
- MimeInfo *mi = (MimeInfo *)info;
- GList *list;
- GString *extension;
-
- extension = g_string_new ("");
- for (list = ((MimeInfo *) mi)->ext[0];list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- if (strcmp (extension->str, "") != 0 && mi->user_ext[0])
- g_string_append (extension, ", ");
- for (list = ((MimeInfo *) mi)->user_ext[0]; list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- ((MimeInfo *) mi)->ext_readable[0] = extension->str;
- g_string_free (extension, FALSE);
-
- extension = g_string_new ("");
- for (list = ((MimeInfo *) mi)->ext[1];list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next)
- g_string_append (extension, ", ");
- }
- if (strcmp (extension->str, "") != 0 && mi->user_ext[1])
- g_string_append (extension, ", ");
- for (list = ((MimeInfo *) mi)->user_ext[1]; list; list=list->next) {
- g_string_append (extension, (gchar *) list->data);
- if (list->next != NULL)
- g_string_append (extension, ", ");
- }
- ((MimeInfo *) mi)->ext_readable[1] = extension->str;
- g_string_free (extension, FALSE);
-
- if (((MimeInfo *) mi)->ext[0] || ((MimeInfo *) mi)->user_ext[0]) {
- extension = g_string_new ((((MimeInfo *) mi)->ext_readable[0]));
- if (((MimeInfo *) mi)->ext[1] || ((MimeInfo *) mi)->user_ext[1]) {
- g_string_append (extension, ", ");
- g_string_append (extension, (((MimeInfo *) mi)->ext_readable[1]));
- }
- } else if (((MimeInfo *) mi)->ext[1] || ((MimeInfo *) mi)->user_ext[1])
- extension = g_string_new ((((MimeInfo *) mi)->ext_readable[1]));
- else
- extension = g_string_new ("");
- g_string_free (extension, TRUE);
-}
-static void
-finalize_user_mime ()
-{
- g_hash_table_foreach (user_mime_types, finalize_mime_type_foreach, NULL);
- g_hash_table_foreach (initial_user_mime_types, finalize_mime_type_foreach, NULL);
-}
-void
-init_mime_type (void)
-{
- char *mime_info_dir;
-
- mime_types = g_hash_table_new (g_str_hash, g_str_equal);
- initial_user_mime_types = g_hash_table_new (g_str_hash, g_str_equal);
- user_mime_types = g_hash_table_new (g_str_hash, g_str_equal);
-
- mime_info_dir = gnome_unconditional_datadir_file ("mime-info");
- mime_load_from_dir (mime_info_dir, TRUE);
- g_free (mime_info_dir);
-
- mime_info_dir = g_build_filename (gnome_util_user_home (), ".gnome/mime-info", NULL);
- mime_load_from_dir (mime_info_dir, FALSE);
- g_free (mime_info_dir);
- finalize_user_mime ();
- init_mime_info ();
-}
-void
-add_new_mime_type (gchar *mime_type, gchar *raw_ext, gchar *regexp1, gchar *regexp2)
-{
- gchar *temp;
- MimeInfo *mi = NULL;
- gint row;
- gchar *ext = NULL;
- gchar *ptr, *ptr2;
-
- /* first we make sure that the information is good */
- if (mime_type == NULL || *mime_type == '\000') {
- run_error (_("You must enter a mime-type"));
- return;
- } else if ((raw_ext == NULL || *raw_ext == '\000') &&
- (regexp1 == NULL || *regexp1 == '\000') &&
- (regexp2 == NULL || *regexp2 == '\000')){
- run_error (_("You must add either a regular-expression or\na file-name extension"));
- return;
- }
- if (strchr (mime_type, '/') == NULL) {
- run_error (_("Please put your mime-type in the format:\nCATEGORY/TYPE\n\nFor Example:\nimage/png"));
- return;
- }
- if (g_hash_table_lookup (user_mime_types, mime_type) ||
- g_hash_table_lookup (mime_types, mime_type)) {
- run_error (_("This mime-type already exists"));
- return;
- }
- if (raw_ext || *raw_ext) {
- ptr2 = ext = g_malloc (sizeof (raw_ext));
- for (ptr = raw_ext;*ptr; ptr++) {
- if (*ptr != '.' && *ptr != ',') {
- *ptr2 = *ptr;
- ptr2 += 1;
- }
- }
- *ptr2 = '\000';
- }
- /* passed check, now we add it. */
- if (ext) {
- temp = g_strconcat ("ext: ", ext, NULL);
- add_to_key (mime_type, temp, user_mime_types, TRUE);
- mi = (MimeInfo *) g_hash_table_lookup (user_mime_types, mime_type);
- g_free (temp);
- }
- if (regexp1) {
- temp = g_strconcat ("regex: ", regexp1, NULL);
- add_to_key (mime_type, temp, user_mime_types, TRUE);
- g_free (temp);
- }
- if (regexp2) {
- temp = g_strconcat ("regex,2: ", regexp2, NULL);
- add_to_key (mime_type, temp, user_mime_types, TRUE);
- g_free (temp);
- }
- /* Finally add it to the clist */
- if (mi) {
- row = add_mime_vals_to_clist (mime_type, mi, clist);
- gtk_clist_select_row (GTK_CLIST (clist), row, 0);
- gtk_clist_moveto (GTK_CLIST (clist), row, 0, 0.5, 0.0);
- }
- g_free (ext);
-}
-static void
-write_mime_foreach (gpointer mime_type, gpointer info, gpointer data)
-{
- gchar *buf;
- MimeInfo *mi = (MimeInfo *) info;
- fwrite ((char *) mi->mime_type, 1, strlen ((char *) mi->mime_type), (FILE *) data);
- fwrite ("\n", 1, 1, (FILE *) data);
- if (mi->ext_readable[0]) {
- fwrite ("\text: ", 1, strlen ("\text: "), (FILE *) data);
- fwrite (mi->ext_readable[0], 1,
- strlen (mi->ext_readable[0]),
- (FILE *) data);
- fwrite ("\n", 1, 1, (FILE *) data);
- }
- if (mi->regex_readable[0]) {
- fwrite ("\tregex: ", 1, strlen ("\tregex: "), (FILE *) data);
- fwrite (mi->regex_readable[0], 1,
- strlen (mi->regex_readable[0]),
- (FILE *) data);
- fwrite ("\n", 1, 1, (FILE *) data);
- }
- if (mi->regex_readable[1]) {
- fwrite ("\tregex,2: ", 1, strlen ("\tregex,2: "), (FILE *) data);
- fwrite (mi->regex_readable[1], 1,
- strlen (mi->regex_readable[1]),
- (FILE *) data);
- fwrite ("\n", 1, 1, (FILE *) data);
- }
- fwrite ("\n", 1, 1, (FILE *) data);
-}
-
-static void
-write_mime (GHashTable *hash)
-{
- struct stat s;
- gchar *dirname, *filename;
- FILE *file;
- GtkWidget *error_box;
-
- dirname = g_build_filename (gnome_util_user_home (), ".gnome/mime-info", NULL);
- if ((stat (dirname, &s) < 0) || !(S_ISDIR (s.st_mode))){
- if (errno == ENOENT) {
- if (mkdir (dirname, S_IRWXU) < 0) {
- run_error (_("We are unable to create the directory\n"
- "~/.gnome/mime-info\n\n"
- "We will not be able to save the state."));
- return;
- }
- } else {
- run_error (_("We are unable to access the directory\n"
- "~/.gnome/mime-info\n\n"
- "We will not be able to save the state."));
- return;
- }
- }
- filename = g_build_filename (dirname, "user.mime", NULL);
-
- remove (filename);
- file = fopen (filename, "w");
- if (file == NULL) {
- run_error (_("Cannot create the file\n~/.gnome/mime-info/user.mime\n\n"
- "We will not be able to save the state"));
- return;
- }
- g_hash_table_foreach (hash, write_mime_foreach, file);
- fclose (file);
-}
-
-void
-write_user_mime (void)
-{
- write_mime (user_mime_types);
-}
-
-void
-write_initial_mime (void)
-{
- write_mime (initial_user_mime_types);
-}
-
-void
-reread_list ()
-{
- gtk_clist_freeze (GTK_CLIST (clist));
- gtk_clist_clear (GTK_CLIST (clist));
- g_hash_table_foreach (mime_types, (GHFunc) add_mime_vals_to_clist, clist);
- gtk_clist_thaw (GTK_CLIST (clist));
-}
-static void
-clean_mime_type (gpointer mime_type, gpointer mime_info, gpointer data)
-{
- /* we should write this )-: */
-}
-void
-discard_mime_info ()
-{
- gchar *filename;
- g_hash_table_foreach (user_mime_types, clean_mime_type, NULL);
- g_hash_table_destroy (user_mime_types);
- g_hash_table_foreach (initial_user_mime_types, clean_mime_type, NULL);
- g_hash_table_destroy (initial_user_mime_types);
- user_mime_types = g_hash_table_new (g_str_hash, g_str_equal);
- initial_user_mime_types = g_hash_table_new (g_str_hash, g_str_equal);
-
- filename = g_build_filename (gnome_util_user_home (), "/.gnome/mime-info/user.keys", NULL);
- mime_fill_from_file (filename, TRUE);
- finalize_user_mime ();
- reread_list ();
- g_free (filename);
-}
-
-
-
-
-
-
-
diff --git a/capplets/mime-type/mime-data.h b/capplets/mime-type/mime-data.h
deleted file mode 100644
index f5c8bedea..000000000
--- a/capplets/mime-type/mime-data.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-/* Copyright (C) 1998 Redhat Software Inc.
- * Authors: Jonathan Blandford <jrb@redhat.com>
- */
-#ifndef _MIME_DATA_H_
-#define _MIME_DATA_H_
-#include "gnome.h"
-#include <regex.h>
-/* Typedefs */
-typedef struct {
- char *mime_type;
- regex_t *regex[2];
- GList *ext[2];
- GList *user_ext[2];
- char *ext_readable[2];
- char *regex_readable[2];
- char *file_name;
- GList *keys;
-} MimeInfo;
-
-extern GHashTable *user_mime_types;
-extern void add_to_key (char *mime_type, char *def, GHashTable *table, gboolean init_user);
-
-GtkWidget *get_mime_clist (void);
-void init_mime_type (void);
-void delete_clicked (GtkWidget *widget, gpointer data);
-void add_clicked (GtkWidget *widget, gpointer data);
-void edit_clicked (GtkWidget *widget, gpointer data);
-void add_new_mime_type (gchar *mime_type, gchar *ext, gchar *regexp1, gchar *regexp2);
-void write_user_mime (void);
-void write_initial_mime (void);
-void reread_list (void);
-void discard_mime_info (void);
-#endif
diff --git a/capplets/mime-type/mime-info.c b/capplets/mime-type/mime-info.c
deleted file mode 100644
index a61811426..000000000
--- a/capplets/mime-type/mime-info.c
+++ /dev/null
@@ -1,492 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-/* Copyright (C) 1998 Redhat Software Inc.
- * Authors: Jonathan Blandford <jrb@redhat.com>
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "capplet-widget.h"
-#include "gnome.h"
-#include <string.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <regex.h>
-#include <ctype.h>
-#include "mime-info.h"
-#include "mime-data.h"
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#if !defined getc_unlocked && !defined HAVE_GETC_UNLOCKED
-# define getc_unlocked(fp) getc (fp)
-#endif
-
-typedef struct {
- char *mime_type;
- GHashTable *keys;
-} GnomeMimeContext;
-
-typedef enum {
- STATE_NONE,
- STATE_LANG,
- STATE_LOOKING_FOR_KEY,
- STATE_ON_MIME_TYPE,
- STATE_ON_KEY,
- STATE_ON_VALUE
-} ParserState;
-
-static char *current_lang = NULL;
-
-/*
- * A hash table containing all of the Mime records for specific
- * mime types (full description, like image/png)
- */
-static GHashTable *specific_types;
-static GHashTable *initial_specific_types;
-
-/*
- * A hash table containing all of the Mime records for non-specific
- * mime types (like image/\*)
- */
-static GHashTable *generic_types;
-static GHashTable *initial_generic_types;
-
-#define SWITCH_TO_MIME_TYPE() {
-static GnomeMimeContext *
-context_new (GString *str, gboolean is_default_context)
-{
- GnomeMimeContext *context;
- GHashTable *table;
- char *mime_type, *p;
-
- mime_type = g_strdup (str->str);
-
- if (is_default_context) {
- if ((p = strstr (mime_type, "/*")) == NULL){
- table = initial_specific_types;
- } else {
- *(p+1) = 0;
- table = initial_generic_types;
- }
- } else {
- if ((p = strstr (mime_type, "/*")) == NULL){
- table = specific_types;
- } else {
- *(p+1) = 0;
- table = generic_types;
- }
- }
- context = g_hash_table_lookup (table, mime_type);
-
- if (context)
- return context;
-
- context = g_new (GnomeMimeContext, 1);
- context->mime_type = mime_type;
- context->keys = g_hash_table_new (g_str_hash, g_str_equal);
-
- g_hash_table_insert (table, context->mime_type, context);
- return context;
-}
-
-static gboolean
-release_key_and_value (gpointer key, gpointer value, gpointer user_data)
-{
- g_free (key);
- g_free (value);
-
- return TRUE;
-}
-
-
-static gboolean
-remove_this_key (gpointer key, gpointer value, gpointer user_data)
-{
- if (strcmp ((gchar *)key, (gchar *)user_data) == 0){
- g_free (key);
- g_free (value);
- return TRUE;
- }
-
- return FALSE;
-}
-static void
-context_add_key (GnomeMimeContext *context, char *key, char *value)
-{
- char *v;
-
- v = g_hash_table_lookup (context->keys, key);
- if (v)
- g_hash_table_foreach_remove (context->keys, remove_this_key, key);
-
- g_hash_table_insert (context->keys, g_strdup (key), g_strdup (value));
-}
-static void
-context_destroy (GnomeMimeContext *context)
-{
- /*
- * Remove the context from our hash tables, we dont know
- * where it is: so just remove it from both (it can
- * only be in one).
- */
- if (context->mime_type) {
- g_hash_table_remove (specific_types, context->mime_type);
- g_hash_table_remove (generic_types, context->mime_type);
- }
- /*
- * Destroy it
- */
- if (context->keys) {
- g_hash_table_foreach_remove (context->keys, release_key_and_value, NULL);
- g_hash_table_destroy (context->keys);
- }
- g_free (context->mime_type);
- g_free (context);
-}
-
-static void
-load_mime_type_info_from (char *filename)
-{
- FILE *mime_file;
- gboolean in_comment, context_used;
- GString *line;
- int column, c;
- ParserState state;
- GnomeMimeContext *context, *default_context;
- char *key;
-
- mime_file = fopen (filename, "r");
- if (mime_file == NULL)
- return;
-
- in_comment = FALSE;
- context_used = FALSE;
- column = 0;
- context = NULL;
- default_context = NULL;
- key = NULL;
- line = g_string_sized_new (120);
- state = STATE_NONE;
-
- while ((c = getc_unlocked (mime_file)) != EOF){
- column++;
- if (c == '\r')
- continue;
-
- if (c == '#' && column == 0){
- in_comment = TRUE;
- continue;
- }
-
- if (c == '\n'){
- in_comment = FALSE;
- column = 0;
- if (state == STATE_ON_MIME_TYPE){
- context = context_new (line, FALSE);
- default_context = context_new (line, TRUE);
- context_used = FALSE;
- g_string_assign (line, "");
- state = STATE_LOOKING_FOR_KEY;
- continue;
- }
- if (state == STATE_ON_VALUE){
- context_used = TRUE;
- context_add_key (context, key, line->str);
- context_add_key (default_context, key, line->str);
- g_string_assign (line, "");
- g_free (key);
- key = NULL;
- state = STATE_LOOKING_FOR_KEY;
- continue;
- }
- continue;
- }
-
- if (in_comment)
- continue;
-
- switch (state){
- case STATE_NONE:
- if (c != ' ' && c != '\t')
- state = STATE_ON_MIME_TYPE;
- else
- break;
- /* fall down */
-
- case STATE_ON_MIME_TYPE:
- if (c == ':'){
- in_comment = TRUE;
- break;
- }
- g_string_append_c (line, c);
- break;
-
- case STATE_LOOKING_FOR_KEY:
- if (c == '\t' || c == ' ')
- break;
-
- if (c == '['){
- state = STATE_LANG;
- break;
- }
-
- if (column == 1){
- state = STATE_ON_MIME_TYPE;
- g_string_append_c (line, c);
- break;
- }
- state = STATE_ON_KEY;
- /* falldown */
-
- case STATE_ON_KEY:
- if (c == '\\'){
- c = getc (mime_file);
- if (c == EOF)
- break;
- }
- if (c == '='){
- key = g_strdup (line->str);
- g_string_assign (line, "");
- state = STATE_ON_VALUE;
- break;
- }
- g_string_append_c (line, c);
- break;
-
- case STATE_ON_VALUE:
- g_string_append_c (line, c);
- break;
-
- case STATE_LANG:
- if (c == ']'){
- state = STATE_ON_KEY;
- if (current_lang && line->str [0]){
- if (strcmp (current_lang, line->str) != 0){
- in_comment = TRUE;
- state = STATE_LOOKING_FOR_KEY;
- }
- } else {
- in_comment = TRUE;
- state = STATE_LOOKING_FOR_KEY;
- }
- g_string_assign (line, "");
- break;
- }
- g_string_append_c (line, c);
- break;
- }
- }
-
- if (context){
- if (key && line->str [0]) {
- context_add_key (context, key, line->str);
- context_add_key (default_context, key, line->str);
- } else
- if (!context_used) {
- context_destroy (context);
- context_destroy (default_context);
- }
-
- }
-
- g_string_free (line, TRUE);
- if (key)
- g_free (key);
-
- fclose (mime_file);
-}
-void
-set_mime_key_value (gchar *mime_type, gchar *key, gchar *value)
-{
- GnomeMimeContext *context;
-
- /* Assume no generic context's for now. */
- context = g_hash_table_lookup (specific_types, mime_type);
- if (context == NULL) {
- GString *str = g_string_new (mime_type);
- context = context_new (str, FALSE);
- g_string_free (str, TRUE);
- }
- context_add_key (context, key, value);
-}
-void
-init_mime_info (void)
-{
- gchar *filename;
-
- current_lang = getenv ("LANG");
- specific_types = g_hash_table_new (g_str_hash, g_str_equal);
- generic_types = g_hash_table_new (g_str_hash, g_str_equal);
- initial_specific_types = g_hash_table_new (g_str_hash, g_str_equal);
- initial_generic_types = g_hash_table_new (g_str_hash, g_str_equal);
-
- filename = g_build_filename (gnome_util_user_home (), "/.gnome/mime-info/user.keys", NULL);
- load_mime_type_info_from (filename);
- g_free (filename);
-}
-
-const char *
-local_mime_get_value (const char *mime_type, char *key)
-{
- char *value, *generic_type, *p;
- GnomeMimeContext *context;
-
- g_return_val_if_fail (mime_type != NULL, NULL);
- g_return_val_if_fail (key != NULL, NULL);
- context = g_hash_table_lookup (specific_types, mime_type);
- if (context){
- value = g_hash_table_lookup (context->keys, key);
-
- if (value)
- return value;
- }
-
- generic_type = g_strdup (mime_type);
- p = strchr (generic_type, '/');
- if (p)
- *(p+1) = 0;
-
- context = g_hash_table_lookup (generic_types, generic_type);
- g_free (generic_type);
-
- if (context){
- value = g_hash_table_lookup (context->keys, key);
- if (value)
- return value;
- }
- return NULL;
-}
-static void
-clean_mime_foreach (gpointer mime_type, gpointer gmc, gpointer data)
-{
- context_destroy ((GnomeMimeContext *) gmc);
-}
-static void
-write_mime_keys_foreach (gpointer key_name, gpointer value, gpointer data)
-{
- gchar *buf;
- if (current_lang && strcmp (current_lang, "C"))
- buf = g_strconcat ("\t[",
- current_lang,
- "]",
- (gchar *) key_name,
- "=",
- (gchar *) value,
- "\n", NULL);
- else
- buf = g_strconcat ("\t",
- (gchar *) key_name,
- "=",
- (gchar *) value,
- "\n", NULL);
- fwrite (buf, 1, strlen (buf), (FILE *) data);
- g_free (buf);
-}
-static void
-write_mime_foreach (gpointer mime_type, gpointer gmc, gpointer data)
-{
- gchar *buf;
- GnomeMimeContext *context = (GnomeMimeContext *) gmc;
-
- buf = g_strconcat ((gchar *) mime_type, ":\n", NULL);
- fwrite (buf, 1, strlen (buf), (FILE *) data);
- g_free (buf);
- g_hash_table_foreach (context->keys, write_mime_keys_foreach, data);
- fwrite ("\n", 1, strlen ("\n"), (FILE *) data);
-}
-
-static void
-run_error (gchar *message)
-{
- GtkWidget *error_box;
-
- error_box = gnome_message_box_new (
- message,
- GNOME_MESSAGE_BOX_ERROR,
- GNOME_STOCK_BUTTON_OK,
- NULL);
- gnome_dialog_run_and_close (GNOME_DIALOG (error_box));
-}
-static void
-write_keys (GHashTable *spec_hash, GHashTable *generic_hash)
-{
- struct stat s;
- gchar *dirname, *filename;
- FILE *file;
- GtkWidget *error_box;
-
- dirname = g_build_filename (gnome_util_user_home (), ".gnome/mime-info", NULL);
- if ((stat (dirname, &s) < 0) || !(S_ISDIR (s.st_mode))){
- if (errno == ENOENT) {
- if (mkdir (dirname, S_IRWXU) < 0) {
- run_error (_("We are unable to create the directory\n"
- "~/.gnome/mime-info\n\n"
- "We will not be able to save the state."));
- return;
- }
- } else {
- run_error (_("We are unable to access the directory\n"
- "~/.gnome/mime-info\n\n"
- "We will not be able to save the state."));
- return;
- }
- }
- filename = g_build_filename (dirname, "user.keys", NULL);
-
- remove (filename);
- file = fopen (filename, "w");
- if (file == NULL) {
- run_error (_("Cannot create the file\n~/.gnome/mime-info/user.keys.\n\n"
- "We will not be able to save the state"));
- return;
- }
- g_hash_table_foreach (spec_hash, write_mime_foreach, file);
- g_hash_table_foreach (generic_hash, write_mime_foreach, file);
- fclose (file);
-}
-void
-write_initial_keys (void)
-{
- write_keys (initial_generic_types, initial_specific_types);
-}
-void
-write_user_keys (void)
-{
- write_keys (generic_types, specific_types);
-}
-static void
-print_mime_foreach (gpointer mime_info, gpointer mi, gpointer data)
-{
- g_print ("mime_info:%s:\n", (char *)mime_info);
- g_print ("\t:%s:\n", ((MimeInfo *)mi)->mime_type);
-}
-void
-discard_key_info (void)
-{
- gchar *filename;
-
- current_lang = getenv ("LANG");
- g_hash_table_foreach (generic_types, clean_mime_foreach, NULL);
-/* g_hash_table_foreach (specific_types, print_mime_foreach, NULL); */
- g_hash_table_foreach (specific_types, clean_mime_foreach, NULL);
- g_hash_table_destroy (generic_types);
- g_hash_table_destroy (specific_types);
- specific_types = g_hash_table_new (g_str_hash, g_str_equal);
- generic_types = g_hash_table_new (g_str_hash, g_str_equal);
-
- filename = g_build_filename (gnome_util_user_home (), "/.gnome/mime-info/user.keys", NULL);
- load_mime_type_info_from (filename);
- reread_list ();
- g_free (filename);
-}
-void
-remove_mime_info (gchar *mime_type)
-{
- g_hash_table_remove (generic_types, mime_type);
- g_hash_table_remove (specific_types, mime_type);
-}
diff --git a/capplets/mime-type/mime-info.h b/capplets/mime-type/mime-info.h
deleted file mode 100644
index 18db2326f..000000000
--- a/capplets/mime-type/mime-info.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-/* Copyright (C) 1998 Redhat Software Inc.
- * Authors: Jonathan Blandford <jrb@redhat.com>
- */
-#ifndef _MIME_INFO_H_
-#define _MIME_INFO_H_
-#include "gnome.h"
-#include <regex.h>
-/* Typedefs */
-void init_mime_info (void);
-void discard_key_info (void);
-void set_mime_key_value (gchar *mime_type, gchar *key, gchar *value);
-const char * local_mime_get_value (const char *mime_type, char *key);
-void write_user_keys (void);
-void write_initial_keys (void);
-void remove_mime_info (gchar *mime_type);
-#endif
diff --git a/capplets/mime-type/mime-type-capplet.c b/capplets/mime-type/mime-type-capplet.c
deleted file mode 100644
index 6018b92f7..000000000
--- a/capplets/mime-type/mime-type-capplet.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-/* Copyright (C) 1998 Redhat Software Inc.
- * Authors: Jonathan Blandford <jrb@redhat.com>
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "capplet-widget.h"
-#include "gnome.h"
-#include <string.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <regex.h>
-#include <ctype.h>
-#include "mime-data.h"
-#include "mime-info.h"
-#include "edit-window.h"
-/* Prototypes */
-static void try_callback ();
-static void revert_callback ();
-static void ok_callback ();
-static void cancel_callback ();
-static void help_callback ();
-GtkWidget *capplet = NULL;
-GtkWidget *delete_button = NULL;
-
-static GtkWidget *
-left_aligned_button (gchar *label)
-{
- GtkWidget *button = gtk_button_new_with_label (label);
- gtk_misc_set_alignment (GTK_MISC (GTK_BIN (button)->child),
- 0.0, 0.5);
- gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child),
- GNOME_PAD_SMALL, 0);
-
- return button;
-}
-
-static void
-try_callback ()
-{
- write_user_keys ();
- write_user_mime ();
-}
-static void
-revert_callback ()
-{
- write_initial_keys ();
- write_initial_mime ();
- discard_key_info ();
- discard_mime_info ();
- initialize_main_win_vals ();
-}
-static void
-ok_callback ()
-{
- write_user_keys ();
- write_user_mime ();
-}
-static void
-cancel_callback ()
-{
- write_initial_keys ();
- write_initial_mime ();
-}
-
-static void
-help_callback ()
-{
- /* Sigh... empty as always */
-}
-
-static void
-init_mime_capplet ()
-{
- GtkWidget *vbox;
- GtkWidget *hbox;
- GtkWidget *button;
-
- capplet = capplet_widget_new ();
- delete_button = left_aligned_button (_("Delete"));
- gtk_signal_connect (GTK_OBJECT (delete_button), "clicked",
- delete_clicked, NULL);
-
- hbox = gtk_hbox_new (FALSE, GNOME_PAD);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), GNOME_PAD_SMALL);
- gtk_container_add (GTK_CONTAINER (capplet), hbox);
- gtk_box_pack_start (GTK_BOX (hbox), get_mime_clist (), TRUE, TRUE, 0);
- vbox = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
- button = left_aligned_button (_("Add..."));
- gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked",
- add_clicked, NULL);
- button = left_aligned_button (_("Edit..."));
- gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked",
- edit_clicked, NULL);
- gtk_box_pack_start (GTK_BOX (vbox), delete_button, FALSE, FALSE, 0);
- gtk_widget_show_all (capplet);
- gtk_signal_connect(GTK_OBJECT(capplet), "try",
- GTK_SIGNAL_FUNC(try_callback), NULL);
- gtk_signal_connect(GTK_OBJECT(capplet), "revert",
- GTK_SIGNAL_FUNC(revert_callback), NULL);
- gtk_signal_connect(GTK_OBJECT(capplet), "ok",
- GTK_SIGNAL_FUNC(ok_callback), NULL);
- gtk_signal_connect(GTK_OBJECT(capplet), "cancel",
- GTK_SIGNAL_FUNC(cancel_callback), NULL);
- gtk_signal_connect(GTK_OBJECT(capplet), "page_hidden",
- GTK_SIGNAL_FUNC(hide_edit_window), NULL);
- gtk_signal_connect(GTK_OBJECT(capplet), "page_shown",
- GTK_SIGNAL_FUNC(show_edit_window), NULL);
-#if 0
- gtk_signal_connect(GTK_OBJECT(capplet), "help",
- GTK_SIGNAL_FUNC(help_callback), NULL);
-#endif
-}
-
-int
-main (int argc, char **argv)
-{
- int init_results;
-
- bindtextdomain (PACKAGE, GNOMELOCALEDIR);
- bind_textdomain_codeset (PACKAGE, "UTF-8");
- textdomain (PACKAGE);
-
- init_results = gnome_capplet_init("mime-type", VERSION,
- argc, argv, NULL, 0, NULL);
-
- if (init_results < 0) {
- exit (0);
- }
-
- if (init_results == 0) {
- init_mime_type ();
- init_mime_capplet ();
- capplet_gtk_main ();
- }
- return 0;
-}
diff --git a/capplets/mime-type/mime-type-capplet.png b/capplets/mime-type/mime-type-capplet.png
deleted file mode 100644
index b253d29fe..000000000
--- a/capplets/mime-type/mime-type-capplet.png
+++ /dev/null
Binary files differ
diff --git a/capplets/mime-type/mime-type-properties.glade b/capplets/mime-type/mime-type-properties.glade
deleted file mode 100644
index e69de29bb..000000000
--- a/capplets/mime-type/mime-type-properties.glade
+++ /dev/null
diff --git a/capplets/mime-type/mime-type.desktop.in.in b/capplets/mime-type/mime-type.desktop.in.in
deleted file mode 100644
index 3ca034881..000000000
--- a/capplets/mime-type/mime-type.desktop.in.in
+++ /dev/null
@@ -1,7 +0,0 @@
-[Desktop Entry]
-_Name=Mime Types
-_Comment=Configure how files are associated and started
-Icon=mime-type-capplet.png
-Exec=mime-type-capplet
-Terminal=0
-Type=Application
diff --git a/capplets/mime-type/new-mime-window.c b/capplets/mime-type/new-mime-window.c
deleted file mode 100644
index bc21109b7..000000000
--- a/capplets/mime-type/new-mime-window.c
+++ /dev/null
@@ -1,120 +0,0 @@
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "new-mime-window.h"
-#include "capplet-widget.h"
-static GtkWidget *add_dialog = NULL;
-extern GtkWidget *capplet;
-
-/*Public functions */
-void
-launch_new_mime_window (void)
-{
- GtkWidget *mime_entry;
- GtkWidget *label;
- GtkWidget *frame;
- GtkWidget *ext_entry;
- GtkWidget *regex1_entry;
- GtkWidget *regex2_entry;
- GtkWidget *hbox;
- GtkWidget *vbox;
- GtkWidget *table;
-
- add_dialog = gnome_dialog_new (_("Add Mime Type"), GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL);
- 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);
- hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (add_dialog)->vbox), hbox, FALSE, FALSE, 0);
- label = gtk_label_new (_("Mime Type: "));
- 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);
- mime_entry = gtk_entry_new ();
- gtk_box_pack_start (GTK_BOX (hbox), mime_entry, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (add_dialog)->vbox), hbox, FALSE, FALSE, 0);
-
- frame = gtk_frame_new (_("Extensions"));
- gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (add_dialog)->vbox), frame, FALSE, FALSE, 0);
- vbox = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), GNOME_PAD_SMALL);
- label = gtk_label_new (_("Type in the extensions for this mime-type.\nFor example: .html, .htm"));
- 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);
- gtk_container_add (GTK_CONTAINER (frame), vbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
- hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Extension:")), FALSE, FALSE, 0);
- ext_entry = gtk_entry_new ();
- gtk_box_pack_start (GTK_BOX (hbox), ext_entry, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
- frame = gtk_frame_new (_("Regular Expressions"));
- gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (add_dialog)->vbox), frame, FALSE, FALSE, 0);
- vbox = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), GNOME_PAD_SMALL);
- label = gtk_label_new (_("You can set up two regular expressions here to identify the Mime Type\nby. These fields are optional."));
- 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);
- gtk_container_add (GTK_CONTAINER (frame), vbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
- table = gtk_table_new (2, 2, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table), GNOME_PAD_SMALL);
-/* gtk_container_set_border_width (GTK_CONTAINER (table), GNOME_PAD_SMALL);*/
- label = gtk_label_new (_("First Regular Expression: "));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_table_attach (GTK_TABLE (table),
- label,
- 0, 1, 0, 1,
- GTK_FILL, GTK_FILL, 0, 0);
- regex1_entry = gtk_entry_new ();
- gtk_table_attach_defaults (GTK_TABLE (table),
- regex1_entry,
- 1, 2, 0, 1);
- label = gtk_label_new (_("Second Regular Expression: "));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_table_attach (GTK_TABLE (table),
- label,
- 0, 1, 1, 2,
- GTK_FILL, GTK_FILL, 0, 0);
- regex2_entry = gtk_entry_new ();
- gtk_table_attach_defaults (GTK_TABLE (table),
- regex2_entry,
- 1, 2, 1, 2);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
-
-
- gtk_widget_show_all (GNOME_DIALOG (add_dialog)->vbox);
- switch (gnome_dialog_run (GNOME_DIALOG (add_dialog))) {
- case 0:
- capplet_widget_state_changed (CAPPLET_WIDGET (capplet),
- TRUE);
- add_new_mime_type (gtk_entry_get_text (GTK_ENTRY (mime_entry)),
- gtk_entry_get_text (GTK_ENTRY (ext_entry)),
- gtk_entry_get_text (GTK_ENTRY (regex1_entry)),
- gtk_entry_get_text (GTK_ENTRY (regex2_entry)));
- case 1:
- gtk_widget_destroy (add_dialog);
- default:;
- }
- add_dialog = NULL;
-}
-void
-hide_new_mime_window (void)
-{
- if (add_dialog != NULL)
- gtk_widget_hide (add_dialog);
-}
-void
-show_new_mime_window (void)
-{
- if (add_dialog != NULL)
- gtk_widget_show (add_dialog);
-}
diff --git a/capplets/mime-type/new-mime-window.h b/capplets/mime-type/new-mime-window.h
deleted file mode 100644
index 3071ab3fd..000000000
--- a/capplets/mime-type/new-mime-window.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
-/* Copyright (C) 1998 Redhat Software Inc.
- * Authors: Jonathan Blandford <jrb@redhat.com>
- */
-#include "mime-data.h"
-#ifndef _NEW_MIME_WINDOW_H_
-#define _NEW_MIME_WINDOW_H_
-
-void launch_new_mime_window (void);
-void hide_new_mime_window (void);
-void show_new_mime_window (void);
-
-#endif
-