2000-12-08 Gene Z. Ragan <gzr@eazel.com>
reviewed by: Pavel Cisler <pavel@eazel.com>
Fixed bug 4660, Descrption lost when adding mime types
Bug was caused by a failure to write out a mime type
with caps in the string. I now convert all caps to lower
case and inform the user what has happened.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(find_message_label_callback), (find_message_label),
(show_message_box), (display_upper_case_dialog):
New routines to display a nice dialog taken from Nautilus.
(nautilus_mime_type_capplet_show_new_mime_window):
Convert mime string to lower case if caps are present.
2000-11-20 Mathieu Lacage <mathieu@eazel.com>
reviewed by: <mjs@eazel.com>
Fix bug 4812. Also, make the capplet work by fixing
random bugs here and there. It was the first time I could test
it for true so, of course, got a bunch of small-border-effect bugs.
* libgnomevfs/gnome-vfs-mime-info.c:
(hack_getc): the most evil function I ever wrote.
It recursively gets rid of the comment lines before
the parsers ever get them. (iunstead of fixing thew parsers....)
(load_mime_type_info_from): make it use nerw hack_gets function
instead of getc_unlocked.
(load_mime_list_info_from): idem.
(gnome_vfs_mime_get_extensions_list): avoid returning the extensions
of the system settings if the user has set the user extensions.
(get_key_name): make it remove duplicates for true.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(nautilus_mime_type_capplet_show_new_mime_window): fix bug 4812
by replacing "char *text[3]" by "char *text[4]".
(nautilus_mime_type_capplet_show_change_extension_window):
spaces.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(update_extensions_list): fix border-effect bugs. (ie: when you
have no extension for a mime type for example...)
(add_mime_clicked): idem.
2000-11-19 Mathieu Lacage <mathieu@eazel.com>
Fix bug 4811
* libgnomevfs/gnome-vfs-mime-info.c:
(gnome_vfs_mime_set_extensions_list): add new function.
Ultimately, I wished we could get rid of the direct access
to the internal hastables but this is at least a first step.
* libgnomevfs/gnome-vfs-mime-info.h: add prototype.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(add_extension_clicked): implement
(remove_extension_clicked): implement
(extension_list_selected): grey/ungrey delete button when selecting/unselecting
(extension_list_deselected): idem
(get_extensions_from_gtk_list): helper function.
(nautilus_mime_type_capplet_show_change_extension_window): implement.
(nautilus_mime_type_capplet_show_new_extension_window): fix a number of segfaults.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.h: change prototypes.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(get_selected_row_number),helper function.
(get_selected_mime_type), helper function (refactoring :)
(really_change_icon): fix segfault.
(update_extensions_list): update extensions when you change them.
(change_file_extensions_clicked): create dialog.
(init_mime_capplet): spaces.
(nautilus_mime_type_capplet_update_info): make it use get_selected_mime_type.
2000-11-02 Gene Z. Ragan <gzr@eazel.com>
Some more capplet cleanup.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(check_button_status), (initialize_edit_applications_dialog),
(initialize_edit_components_dialog):
Have the Add, Edit and Delete buttons in the Edit Applications
dialog be enabled/disabled properly based on the contents
of the application list.
Remove Cancel button from the Edit Component and Edit Application
dialog, as we currently do not have a way to roll back the changed
made.
Fixed bug 4319, Edit and Delete actions in Application
List do not function
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(populate_default_applications_list),
(initialize_edit_applications_dialog),
(nautilus_mime_type_capplet_show_new_mime_window),
(add_or_update_application), (add_item_to_application_list),
(show_new_application_window), (show_edit_application_window),
(delete_selected_application):
Bunches of code to handle adding, editing and deletion of
application/mime type mapping.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(nautilus_mime_type_capplet_get_selected_item_mime_type):
2000-10-16 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 3042, Adding new mime type doesn't work.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(nautilus_mime_type_capplet_show_new_mime_window):
* mime-type-capplet/nautilus-mime-type-capplet.c:
(add_mime_clicked):
Write proper description key.
* libgnomevfs/gnome-vfs-mime-handlers.c:
(gnome_vfs_mime_add_extension):
Work in progress on adding user defined extensions
2000-09-16 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 3042, Adding new mime type doesn't work
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(nautilus_mime_type_capplet_show_new_mime_window):
Return the new mime type if one was created
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.h:
* mime-type-capplet/nautilus-mime-type-capplet.c:
(nautilus_mime_type_capplet_update_info), (add_mime_clicked):
Add info to main list.
Tue Aug 08 23:18:49 2000 George Lebl <jirka@5z.com>
* libgnomevfs/Makefile.am,
libgnomevfs/gnome-vfs-application-registry.[ch]:
A new application registry. The parsing is based upon
mime-info. The interface completely hides any structures
and is based entierly on querying string keys. Handles
user settings as a delta against the system settings. Also
adds mime_types list support to the registry instead of this
being read from the keys file.
* libgnomevfs/gnome-vfs-mime-handlers.[ch]
(gnome_vfs_mime_get_default_application)
(gnome_vfs_mime_get_short_list_applications)
(gnome_vfs_mime_get_all_applications)
(gnome_vfs_mime_extend_all_applications)
(gnome_vfs_mime_remove_from_all_applications)
(gnome_vfs_mime_application_new_from_id)
(application_known_to_be_nonexistent):
Use the application registry API internally. Remove the
gnome_vfs_mime_define_application call as it doesn't
make any sesnse any more and is replaced by an application
registry call. The all_applications calls now use the
registry api for all their work.
* libgnomevfs/gnome-vfs-mime-info.c (load_mime_type_info_from):
Fix a bug where comments would only be ignored on the first
line which would add nonsense mime types if comments were
elsewhere in the file.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c
(add_new_application)
test/test-mime-handlers-set.c (main):
Use the application registry for adding new applications
* data/mime/Makefile.am, data/mime/gnome-vfs.keys,
data/mime/gnome-vfs.applications,
data/mime/application-registry-hack.keys:
Remove the registry hack stuff, remove all_applications
stuff from gnome-vfs.keys and add the applications from
the registry hack to gnome-vfs.applications including
the mime types they read.
2000-07-04 Gene Z. Ragan <gzr@eazel.com>
More capplet work in progress. Modifying applet and code
to support UI work done by Arlo.
* libgnomevfs/gnome-vfs-mime-handlers.c:
(gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension):
API changes to support new layout.
* libgnomevfs/gnome-vfs-mime-info.c:
* libgnomevfs/gnome-vfs-mime-info.h:
(gnome_vfs_mime_get_extensions_list),
(gnome_vfs_mime_get_extensions_string):
API changes to support new layout.
* mime-type-capplet/Makefile.am:
Added dependency to GdkPixbuf.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(show_edit_components_dialog), (add_new_application),
(show_new_application_window), (show_edit_application_window):
API changes to support new layout.
* mime-type-capplet/nautilus-mime-type-capplet.c:
* mime-type-capplet/nautilus-mime-type-capplet.h:
(populate_extension_list), (extension_list_deselected),
(application_button_toggled), (viewer_button_toggled),
(icon_changed), (init_mime_capplet),
(nautilus_mime_type_capplet_update_info),
(populate_application_menu), (populate_viewer_menu),
(edit_default_clicked),
(nautilus_mime_type_capplet_update_application_info),
(nautilus_mime_type_capplet_update_viewer_info),
(insert_mime_vals_into_clist), (create_mime_list_and_scroller),
(nautilus_mime_type_capplet_get_selected_item_mime_type),
(make_path), (pixmap_file):
API changes to support new layout.
2000-06-22 Gene Z. Ragan <gzr@eazel.com>
Fixed bug #581. Ui for specifying whether applicaition
can open multiple files at once.
* libgnomevfs/gnome-vfs-mime-handlers.c:
* libgnomevfs/gnome-vfs-mime-handlers.h:
(gnome_vfs_mime_define_application):
Added const char * argument for mime type. Removed placeholder
mime type.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(populate_default_applications_list),
(populate_default_components_box),
(initialize_edit_applications_dialog), (add_new_application),
(show_new_application_window), (show_edit_application_window):
Modified edit applicaiton list dialog to use a GtkList with
embedded check buttons and labels. This allows single list items
to be selected so that individual items can be edited or deleted.
* test/test-mime-handlers-set.c: (main):
Fixed call to gnome_vfs_mime_define_application to use
new argument.
000-06-22 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(show_new_application_window), (show_edit_application_window):
Clean up work on layout of capplet dialogs.
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.
2000-06-21 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(initialize_edit_applications_dialog),
(nautilus_mime_type_capplet_show_new_extension_window),
(add_new_application), (show_new_application_window):
More work on adding applications and extension.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(nautilus_mime_type_capplet_add_extension),
(remove_extension_clicked), (none_button_toggled),
(application_button_toggled), (component_button_toggled),
(init_mime_capplet),
(nautilus_mime_type_capplet_get_selected_item_mime_type):
Changed use of GtkFixed to use layout. Layout is now messy
again, but I should be able to get it looking right.
2000-06-20 Gene Z. Ragan <gzr@eazel.com>
Fixed bug #1055
* libgnomevfs/gnome-vfs-mime-handlers.c:
* libgnomevfs/gnome-vfs-mime-handlers.h:
(gnome_vfs_mime_add_extension):
Renamed function to be more in accordance with other function
in file.
(gnome_vfs_mime_remove_extension):
New function to remove mapped extension from mime type.
* libgnomevfs/gnome-vfs-mime-info.c: (load_mime_list_info_from),
(gnome_vfs_mime_get_extensions), (mime_list_sort), (get_key_name),
(gnome_vfs_mime_commit_registered_types),
(write_mime_data_foreach), (write_registered_mime_data):
A couple of things done here. One was work on the tokenizer
so that it handled a variety of cases when reading in
key data form .mime files. Another was work on saving and
deleting mapped extensions from the .mime file.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(nautilus_mime_type_capplet_show_new_extension_window):
Work on saving and deleting mapped extensions from the .mime file.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(populate_extension_list),
(nautilus_mime_type_capplet_add_extension),
(remove_extension_clicked):
Work on saving and deleting mapped extensions from the .mime file.
2000-06-19 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/mime-data.c:
* mime-type-capplet/mime-data.h:
Removed obsolete files.
* mime-type-capplet/Makefile.am:
Removed above files from Makefile.
* libgnomevfs/gnome-vfs-mime-handlers.c:
* libgnomevfs/gnome-vfs-mime-handlers.h:
(gnome_vfs_mime_add_extension_to_mime_type):
New function. Add extension mapping to named mime type
and save to .mime file.
* libgnomevfs/gnome-vfs-mime-info.c:
* libgnomevfs/gnome-vfs-mime-info.h:
(load_mime_list_info_from),
(load_mime_type_info), (gnome_vfs_mime_get_extensions),
(gnome_vfs_mime_extension_list_free):
New function to deep free the list returned
by gnome_vfs_mime_get_extensions()
(gnome_vfs_mime_registered_mime_type_list_free),
New function to deep free the list returned
by gnome_vfs_mime_get_extensions()
(gnome_vfs_mime_commit_registered_types):
Public function to commit internal hash table
of mime data to disk.
(gnome_vfs_mime_set_registered_type_key):
This functions sets the key data for the registered mime
type's hash table.
(write_mime_data_foreach), (write_mime_data):
New functions to write out mime data from hash table.
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
(nautilus_mime_type_capplet_show_new_mime_window),
(nautilus_mime_type_capplet_show_new_extension_window):
Clean up work on dialogs.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(ok_callback),
(populate_extension_list),
(nautilus_mime_type_capplet_add_extension),
(remove_extension_clicked), (init_mime_capplet),
(delete_mime_clicked), (create_mime_list_and_scroller),
(get_selected_item_mime_type):
Clean up work on main capplet view.
2000-06-14 Gene Z. Ragan <gzr@eazel.com>
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.c:
* mime-type-capplet/nautilus-mime-type-capplet-dialogs.h:
New files. Trying to clean up current capplet source and
organize it in a sensible way.
(edit_application_dialog_destroy), (edit_component_dialog_destroy),
(populate_default_applications_list),
(populate_preferred_applications_list), (component_is_in_list),
(component_button_toggled_callback),
(populate_default_components_box),
(populate_preferred_components_list),
(initialize_edit_applications_dialog),
(initialize_edit_components_dialog),
(show_edit_applications_dialog), (show_edit_components_dialog),
Brand new functions.
* mime-type-capplet/Makefile.am:
Added new source file listed above.
* mime-type-capplet/nautilus-mime-type-capplet.c:
(init_mime_capplet), (populate_application_menu),
(populate_component_menu), (edit_applications_clicked),
(edit_components_clicked):
Work on setting up info view.