2002-06-26 Jody Goldberg <jody@gnome.org>
* mime-type-info.c (mime_type_info_load_all) : do not trust
gnome_vfs_mime_get_default_application. It silently removes
applications that do not exist on the current system. That makes it
look like they are not being assigned.
* mime-edit-dialog.c (validate_data) : relax the restriction here. By
supplying a reasonable default to the new info it was appearing in
our internal data structures. That was a useful test before we were
instant apply, but is no longer helpful.
2002-06-15 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=85397http://bugzilla.gnome.org/show_bug.cgi?id=84545
* mime-types-model.c (mime_types_model_get_value) :
gtk_tree_view_search_equal_func does not like NULL.
(IS_CATEGORY) : check for NULL.
* file-types-capplet.c (create_dialog) : search the description not
the mime type.
2002-06-08 Jody Goldberg <jody@gnome.org>
* mime-types-model.c (IS_CATEGORY) : test for null in case we are
stupid.
2002-06-07 Jody Goldberg <jody@gnome.org>
* file-types-capplet.c (dialog_done_cb) : no need to save things
again. The only caller had already done that.
* mime-type-info.c (mime_type_info_save) : Don't mess with the
application here, it should already be setup. However, be really
really anal about verifying it because I do not trust the
surrounding code or know it well enough to trust it. Make sure that
the assigned app is on the short list of associated apps.
* mime-category-edit-dialog.c (store_data) : Use
mime_edit_dialog_get_app.
* mime-edit-dialog.c (store_data) : Use it here too.
(mime_edit_dialog_get_app) : new. split some duplicated code out of
the type and category dialogs and move it here. Then make it
readable and less stupid about creating copies of existing
applications. While we're at it have it handle the creation of new
applications, merging commands with existing applications and other
useful stuff.
2002-06-07 Jody Goldberg <jody@gnome.org>
* mime-category-edit-dialog.c (store_data) : clarify and remove the
custom flag.
* mime-type-info.c (mime_category_info_using_custom_app) : delete.
(mime_type_info_using_custom_app) : delete.
* mime-edit-dialog.c (validate_data) : correct the warning about
invalid type, we would _not_ create one for the user :-(
Allow a user to optionally overwrite an existing mime type.
This is useful when editing.
* mime-edit-dialog.c (store_data) : clarify and remove the custom flag.
2002-06-10 Jody Goldberg <jody@gnome.org>
* accessibility-keyboard.c : tweak the layout as requested and adjust
the max slowkey delay to 500 to avoid losing the keyboard due to some
sort of an X problem.
2002-06-13 Jody Goldberg <jody@gnome.org>
* gnome-keyboard-properties.c (accessibility_button_clicked) : produce
a better warning for failure to launch the keyboard accessibility
capplet.
2002-06-05 Jody Goldberg <jody@gnome.org>
* mime-edit-dialog.c (mime_add_dialog_new) :
* mime-edit-dialog.c (mime_edit_editable_enters) : new.
(fill_dialog) : mime type is always sensitive.
(mime_edit_dialog_init) : use mime_edit_editable_enters and set the
default response.
(mime_add_dialog_new) : forceably define the model before is-add and
set the parent.
* model-entry.c (model_entry_insert_child) : be paranoid. Sort the
mime entries too.
* file-types-capplet.c (main) : !KLUDGE! if we are editing
application/octet-stream assume that people really want to create a
new mime type.
2002-06-04 Jody Goldberg <jody@gnome.org>
* mime-type-info.c (mime_type_info_save) : Add a freeze/thaw around
the assignments.
2002-05-29 Jody Goldberg <jody@gnome.org>
* mime-type-info.c (get_category_description) : put things in Misc if
they have no defined category.
(get_category_name) : ditto.
2002-05-10 jacob berkman <jacob@ximian.com>
* mime-type-info.c (mime_category_info_get_full_description):
(mime_category_info_get_full_name): work around a gcc 2.96 bug
(fixes#77121)
2002-04-18 Jody Goldberg <jody@gnome.org>
* file-types-capplet-dialogs.c (initialize_edit_applications_dialog) :
Add some accelerators to buttons.
(nautilus_mime_type_capplet_show_change_extension_window) : ditto.
(run_edit_or_new_application_dialog) : and to checkboxes
(create_application_list_item) : simplify. No need for a label and a
checkbox in an hbox.
* file-types-properties.glade : Add some accelerators to buttons and
checkboxes.
2002-04-12 Jody Goldberg <jody@gnome.org>
* mime-type-info.c (mime_type_info_save) : revert part of Lauris's
changes that were stripping off the first character of the category.
2002-02-17 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (get_icon_pixbuf): Try to find the icon from
the MIME type.
(mime_type_info_get_icon_path): Fetch the icon name from the MIME
type if necessary
(get_icon_pixbuf): Call get_real_icon_path
(get_real_icon_path): Implement. Factor from
mime_type_info_get_icon_path
(mime_type_info_get_icon_path): Call get_real_icon_path
2002-02-17 Bradford Hovinen <hovinen@ximian.com>
* mime-types-model.c (mime_types_model_get_value): Set the object
value to NULL if the icon is NULL
* mime-type-info.c (get_icon_pixbuf): Give up if it can't find
nautilus/i-regular-24.png
(mime_type_info_get_icon): Only ref the pixbuf if non-NULL
2002-02-17 Bradford Hovinen <hovinen@ximian.com>
* mime-category-edit-dialog.c (fill_dialog): Fill the name entry
with the description, not the name field
* mime-types-model.c (mime_types_model_get_value): Use description
field when returning the description column for a category
* mime-type-info.c (mime_type_info_set_category_name): Accept
pointer to category description and pass that to get_category
(mime_category_info_new): Initialize description; accept pointer
to description
(get_category): Accept a pointer to the description and initialize
the category with that as well if necessary
(get_category_description): Implement. Copy from
get_category_name, but use the translated description name
* mime-type-info.h (struct _MimeCategoryInfo): Add description
field; holds the translated name
* mime-type-info.c (mime_category_info_get_full_description):
Implement. Copy from mime_category_info_get_full_name, but use
description field rather than name field
(mime_type_info_get_category_name): Use _get_full_description
rather than _get_full_name
2002-01-28 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (mime_type_info_using_custom_app)
(mime_category_info_using_custom_app): Implement
* mime-edit-dialog.c (store_data): Update: don't use custom_line,
needs_terminal
* mime-type-info.[ch]: Eliminate custom_line and needs_terminal;
will use default_action for that now
2002-01-28 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (mime_category_info_save): Don't set tmp1 with
the full category name, free tmp too
(mime_category_info_load_all): strdup app->command
(get_gconf_base_name): Don't put /default-action-id after the key
name
* category-names.h: Update category names
2002-01-28 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (update_subcategories): Fix logic
(mime_type_info_load_all): Don't load default_action if
custom_line is set
* mime-category-edit-dialog.c (store_data): Call
mime_category_info_update
(store_data): Don't notify the model -- nothing there could have
changed
* mime-type-info.c (mime_category_info_update): Implement
(update_subcategories): Update; split from set_subcategory_ids
* mime-category-edit-dialog.c (populate_application_list): Notify
destruction with gnome_vfs_mime_application_free
(store_data): Store default action
(store_data): Store custom line, needs terminal
(populate_application_list): Set needs_terminal_toggle
* mime-type-info.c (mime_type_info_get_use_category):
Implement. Factor from mime_type_info_load_all
(find_possible_supported_apps, reduce_supported_app_list): Use
mime_type_info_get_use_category
(get_gconf_base_name): Replace parentheses with '-'
(mime_category_info_load_all): Only load default action, custom
line if not already loaded
* mime-edit-dialog.c (populate_component_list): Use get_all_components
(populate_application_list): Use get_all_applications
2002-01-27 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (get_gconf_base_name): Implement
* mime-category-edit-dialog.c (fill_dialog): Disable
use_category_toggle if this is a toplevel category
(populate_application_list, default_action_changed_cb)
(use_category_toggled_cb, update_sensitivity): Set widget
sensitivity based on various values
* mime-type-info.c (mime_type_info_load_all)
(mime_category_info_load_all): Check use_[parent_]cat_loaded
(mime_category_info_load_all): Override use_parent_category with
FALSE if this is a toplevel category
2002-01-27 Bradford Hovinen <hovinen@ximian.com>
* mime-edit-dialog.c (choose_cat_cb): Use
mime_category_info_get_full_name
* mime-type-info.c (mime_type_info_load_all, mime_type_info_save):
Rename override_category as use_category; give it the opposite
meaning
(reduce_supported_app_list, find_possible_supported_apps): Update
according to the above
(set_subcategory_ids): Implement
(mime_category_info_save): Implement
(mime_category_info_load_all): Implement
(mime_category_info_get_full_name): Implement; copy from
mime_type_info_get_category_name
(mime_type_info_get_category_name): Call
mime_category_info_get_full_name
2002-01-27 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (mime_type_info_load_all, mime_type_info_save):
Rename override_category as use_category; give it the opposite
meaning
(reduce_supported_app_list, find_possible_supported_apps): Update
according to the above
2002-01-27 Bradford Hovinen <hovinen@ximian.com>
* service-edit-dialog.c (validate_data): Call get_service_info to
handle case where the service was created and not yet committed
* mime-type-info.c (get_mime_type_info, get_mime_type_info_int):
Implement
* mime-edit-dialog.c (validate_data): Check if the MIME type is
already known and we are adding a new type
* service-edit-dialog.c (service_edit_dialog_init): Change dialog
title
* file-types-capplet.c (edit_count_cb): Rename from count_cb
(selection_changed_cb): Initialize count
(selection_changed_cb): Iterate on remove_count_cb and use that to
set the sensitivity of the remove button
(create_dialog): Desensitize the remove button
2002-01-27 Bradford Hovinen <hovinen@ximian.com>
* service-info.c (load_all_services): Accept model
(get_services_category_entry): Accept model
(service_info_new): Accept model
(get_services_category_entry): Set the parent pointer
* model-entry.c (get_model_entries): Accept model
* mime-type-info.c (mime_type_info_new, load_all_mime_types):
Accept model
* mime-edit-dialog.c (store_data): Don't perform notification
* model-entry.c (model_entry_insert_child)
(model_entry_remove_child): Perform notification here
* mime-type-info.c (mime_type_info_set_category_name): Accept
model for notification purposes
(get_category): Ditto; notify the model that the new category has
been created
* mime-types-model.c (mime_types_model_iter_parent): Make the
iterator invalid if the parent is the root node
* mime-edit-dialog.c (collect_filename_extensions): Return NULL if
there are no nodes in the tree at all
2002-01-25 Bradford Hovinen <hovinen@ximian.com>
* mime-edit-dialog.c (store_data): Construct an iterator if the
one given is NULL
(store_data): Don't notify row deletion if the object was not in
the model to begin with
(store_data): Don't fetch the old path if this is an add dialog
(populate_component_list): Desensitize the component select box if
there are no components
(populate_application_list): Ditto
* mime-type-info.c (mime_type_info_new): Initialize the parent
field even if the mime type field is NULL
(mime_type_info_get_category_name): Don't crash if the parent
field is NULL
* mime-edit-dialog.c (store_data): Generate random MIME type if
not already set
(validate_data): Implement. Make sure all the data entered are valid
(response_cb): Call validate_data
* file-types-capplet.c (remove_cb): Check the entry type and
notify the tree of the deletion; update according to earlier
changes
* mime-edit-dialog.c: Add property is-add
(setup_add_dialog): Implement
(add_ext_cb): Clear the entry after adding
(choose_cat_cb): Pack the tree in a scrolled window
(choose_cat_cb): Set the minimum size on the dialog to 300x300
2002-01-25 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (mime_type_info_free): Free icon_path
* mime-edit-dialog.c (fill_dialog): Set icon entry with the full
path of the icon
* mime-type-info.c (mime_type_info_get_icon_path):
Implement. Factor from get_pixbuf
* mime-edit-dialog.c (store_data): Reset the icon pixbufs so that
they get reloaded
* mime-type-info.c (get_icon_pixbuf): Use
gnome_vfs_icon_path_from_filename and install the nautilus/ hack
from the old capplet *sigh*
2002-01-24 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.[ch], mime-types-model.[ch], service-info.[ch]:
Code cleanup; create our own model rather than using GtkTreeStore
* All: Update to reflect the above
2002-01-14 Bradford Hovinen <hovinen@ximian.com>
* mime-category-edit-dialog.c (populate_application_list):
Implement. Mostly a copy from the corresponding function in
mime-edit-dialog.c
* mime-types-model.c (get_insertion_point): Make this public
(find_supported_apps_for_category, reduce_supported_app_list)
(intersect_lists, find_possible_supported_apps): Implement
* mime-edit-dialog.c (fill_dialog): Fill category_entry
(choose_cat_cb): Implement
(mime_edit_dialog_init): Connect choose_button to choose_cat_cb
* mime-type-info.c (mime_type_info_load): Load category name
(mime_type_info_save): Call reinsert_iter to affect category name
change
* mime-types-model.c (mime_types_model_new): Add parameter
is_category_select; TRUE iff this model should be only for
selecting a category and not list the actual file types or
Internet services
(get_category_name): Implement
* mime-edit-dialog.c (mime_edit_dialog_init): Add category_label
to first size group
2002-01-13 Bradford Hovinen <hovinen@ximian.com>
* file-types-capplet.c (edit_cb, row_activated_cb): Don't try to
create a category edit dialog if this is the Internet Services
category
(count_cb): Only count other than internet services category
* mime-types-model.c (model_entry_is_category): Implement
(model_entry_is_protocol): Use categories[INTERNET_SERVICES_IDX]
rather than string
(model_entry_is_internet_services_category): Implement
* Makefile.am (gnome_file_types_properties_SOURCES): Add
mime-category-edit-dialog.[ch]
* file-types-capplet.c (edit_cb): Construct a category edit dialog
if the tree iterator has children
(row_activated_cb): Ditto
2002-01-11 Bradford Hovinen <hovinen@ximian.com>
* mime-edit-dialog.c (default_action_changed_cb): Set sensitivity
of needs_terminal_toggle
(store_data): Set needs_terminal
(fill_dialog): Set needs_terminal_toggle
2002-01-11 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (mime_type_info_free): Remove from dirty list
(mime_type_info_save): Use libuuid to generate a unique ID for the
custom app
(mime_type_info_load): Check for custom line based on name
2002-01-11 Bradford Hovinen <hovinen@ximian.com>
* mime-edit-dialog.c (populate_application_list): Don't check
default action id if default action is NULL
* mime-type-info.c (mime_type_info_free): Remove data from
mime_type_table
* service-info.c (service_info_free): Free the info structure
* mime-type-info.c (mime_type_info_load): Ditto below
* service-info.c (service_info_load): Use service_info_table as a
cache
(service_info_free): Remove data from service_info_table
2002-01-11 Bradford Hovinen <hovinen@ximian.com>
* mime-type-info.c (mime_type_info_load): Read custom_line from
default_action
(mime_type_info_save): Set custom line through GnomeVFS app
registry
2002-01-11 Bradford Hovinen <hovinen@ximian.com>
* mime-edit-dialog.c (add_ext_cb): Terminate column list with -1
* service-edit-dialog.c (store_data): Call service_info_update
* mime-edit-dialog.c (store_data): Call mime_type_info_update
* mime-type-info.c (mime_type_info_update): Implement. Updates the
model with data from the structure
* service-info.c (service_info_update): Implement. Updates the
model with data from the structure
* mime-type-info.c (form_extensions_string): Implement. Factor
from mime_type_info_save
* service-info.c (service_info_load): Accept model and iter rather
than protocol name; read protocol name from model
* mime-type-info.c (mime_type_info_load): Accept model and iter
rather than mime type; read the mime type from the model
* mime-types-model.c (get_icon_pixbuf): Make this public