2002-01-27 Bradford Hovinen * mime-type-info.c (set_subcategory_ids): Don't set subcategory ids unless use_parent_category is set (mime_category_info_save, mime_category_info_load_all): Get/set use_parent_category (reduce_supported_app_list, find_possible_supported_apps): Check use_parent_category field * 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 * mime-edit-dialog.c (fill_dialog): Set use_category_defaults_toggle (store_data): Set override_category (mime_edit_dialog_init): Connect to use_category_defaults_toggled_cb (use_category_defaults_toggle_cb): Implement (default_action_changed_cb, populate_application_list) (populate_component_list): Call update_sensitivity; set sensitivity-controlling flags (update_sensitivity): Implement * mime-type-info.c (find_possible_supported_apps) (reduce_supported_app_list): Don't consider a MIME type if its override_category flag is set (mime_type_info_save): Set the override-category flag (mime_type_info_load_all): Load the override-category flag * service-edit-dialog.c (validate_data): Call get_service_info to handle case where the service was created and not yet committed (fill_dialog): Desensitize the look at content toggle if GnomeVFS doesn't support that protocol * 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 * model-entry.c (model_entry_insert_child): Set the parent field (model_entry_remove_child): Reset the parent field (model_entry_remove_child): Set up the path before removing the entry from the list * 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-26 Bradford Hovinen * service-edit-dialog.c (response_cb): Free the structure if the user clicks cancel and this is an add dialog * mime-edit-dialog.c (response_cb): Free the structure if the user clicks cancel and this is an add dialog * service-info.c (load_all_services): Call model_entry_insert_child here (service_info_new): Don't call model_entry_insert_child (get_services_category_entry): Make this public * service-edit-dialog.c (store_data): Call model_entry_insert_child here * file-types-capplet.c (apply_cb): Call model_entry_commit_delete_list * model-entry.c (model_entry_remove): Implement (model_entry_append_to_delete_list) (model_entry_commit_delete_list): Implement * mime-type-info.c (intersect_lists, reduce_supported_app_list) (mime_category_info_find_apps): Implement (find_possible_supported_apps): Implement * mime-category-edit-dialog.c (mime_category_edit_dialog_init): Use mime_category_edit_widget for the dialog source * model-entry.c (model_entry_remove_from_dirty_list): Accept a ModelEntry structure * mime-category-edit-dialog.c (store_data): Call model_entry_append_to_dirty_list * service-edit-dialog.c (store_data): Call model_entry_append_to_dirty_list * service-info.c (service_info_new): Remove changeset (get_string, get_bool): Remove changeset support (set_string, set_bool): Ditto * file-types-capplet.c: Remove the changeset since it duplicates functionality already present elsewhere * model-entry.c: Move dirty list from mime-type-info.c to here; extend to support arbitrary model entries * mime-type-info.c (mime_type_info_new_category): Rename to mime_category_info_new; return MimeCategoryInfo (mime_category_info_new): Set parent to root node if it is NULL (get_category): Return a MimeCategoryInfo (mime_type_info_category_find_supported_apps): Rename to mime_type_info_find_apps * mime-type-info.h (struct _MimeCategoryInfo): Create new structure * mime-category-edit-dialog.c: Change iter property back to info (fill_dialog): Desensitize description, mime type entries * service-edit-dialog.c: Change iter property back to info (validate_data): Don't check duplicate directory unless this is an add dialog * mime-edit-dialog.c: Change iter property back to info 2002-01-25 Bradford Hovinen * service-edit-dialog.c (store_data): Fetch the protocol name if this is an add dialog (validate_data): Implement (response_cb): Call validate_data * service-info.c (service_info_new): Don't strdup the protocol if it is NULL * service-edit-dialog.c (store_data): Use gtk_tree_model_row_inserted if this is an add dialog; also construct an iter in that case (service_edit_dialog_dispose): Free the iter (service_edit_dialog_finalize): Don't free the iter here * file-types-capplet.c (add_service_cb): Implement (create_dialog): Connect addd_service_button to add_service_cb * service-edit-dialog.c: Add property is-add (service_add_dialog_new): Implement (setup_add_dialog): Implement * mime-category-edit-dialog.c (fill_dialog): Desensitize component select (populate_application_list): Desensitize application select if there are no applications (fill_dialog): Flip logic on category defaults toggle sensitivity * service-edit-dialog.c (populate_app_list): Desensitize program select if there are no programs (fill_dialog): Use service_info_get_description for description entry * 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 * 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 * file-types-capplet.c (launch_edit_dialog): Implement. Factor from edit_cb, row_activated_cb * mime-type-info.c (mime_type_info_save): Disable setting edit, print lines 2002-01-14 Bradford Hovinen * mime-type-info.c (mime_type_info_update): Reparent the iterator if necessary (mime_type_info_update): Don't call reinsert_model_entry * mime-types-model.c (insert_mime_type): Implement. Factor from mime_types_model_new * 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 * 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 * file-types-capplet.c (selection_changed_cb): Implement (count_cb): Implement (create_dialog): Connect changed signal on treeview selection to selection_changed_cb (create_dialog): Desensitize edit button (remove_cb): Call selection_changed_cb (add_cb): Rename to add_mime_cb (create_dialog): Update add_button -> add_mime_button * 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 * 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 (mime_type_info_load): Fetch needs_terminal (mime_type_info_save): Store info->needs_terminal in app * 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 * mime-edit-dialog.c (populate_application_list): Use custom_line for program_entry * 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 * file-types-capplet.c (row_activated_cb): Implement. Callback for row_activated signal * mime-edit-dialog.c (add_ext_cb): Don't create a separate dialog; just read from new_ext_entry * service-info.c (get_apps_for_service_type): Implement * service-edit-dialog.c (program_changed_cb): Implement (service_edit_dialog_init): Connect program_select changed signal (populate_app_list): Fill app menu with results from get_apps_for_service_type * service-info.c (fill_service_apps): Implement * service-edit-dialog.c (store_data): Retrieve app info from option menu * file-types-capplet.c (apply_cb): Commit the changeset (main): Construct a changeset (edit_cb): Pass the changeset to service_info_new * service-info.c (set_string): Don't set the value if it is NULL (service_info_load): Store changeset in info structure (service_info_save): Don't require a changeset; use the one stored in the structure * service-edit-dialog.c (store_data): Call service_info_save * 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 * service-edit-dialog.c (fill_dialog): Set the protocol entry insensitive if the protocol is already set; don't put unknown in the protocol entry * mime-types-model.c: Include gnome-vfs-mime-info.h * service-info.c (get_string): Call get_description_for_protocol if we are fetching the description and it is not in the changeset * mime-types-model.c (get_description_for_protocol): Make this public * service-edit-dialog.c (store_data): Implement (program_sensitive_cb): Implement (response_cb): Call store_data if response_id is OK (service_edit_dialog_init): Connect toggled signal on run_program_toggle to program_sensitive_cb * mime-type-info.h: Add #include gnome-vfs-mime-info.h * service-edit-dialog.c (populate_app_list): Implement * mime-edit-dialog.c (populate_component_list): Make sure custom menu item is shown 2002-01-04 Bradford Hovinen * Makefile.am: Clean up 2001-12-09 Havoc Pennington * file-types-capplet.c: remove no-longer-existing header gnome-vfs-mime-info.h so it compiles * file-types-capplet-dialogs.c: ditto 2001-12-08 Richard Hestilow * file-types-capplet.c: Port away from libcapplet. * file-types-capplet-dialogs.c: Don't include capplet-widget.h. Tue Dec 4 00:46:45 2001 Owen Taylor * file-types-icon-entry.h: Use G_BEGIN_DECLS/G_END_DECLS. 2001-07-27 Bradford Hovinen * RELEASE : 1.5.2 2001-07-24 Chema Celorio * file-types-capplet.c (create_mime_list_and_scroller): add a usize the GUI sucks, we need to revisit the gui SOON ! 2001-07-22 Zbigniew Chyla * file-types.desktop.in.in: s/Name/_Name/ s/Comment/_Comment/ 2001-07-20 Chema Celorio * RELEASE : 1.5.0