* src/ntl-uri-map.c (get_lang_list),
(nautilus_view_identifier_new_from_oaf_server_info): fix
bugzilla.eazel.com task #694; pass the language to the oaf calls
that get a name so those attributes can be i18n'd.
2000-05-08 Pavel <pavel@eazel.com>
* libnautilus-extensions/nautilus-icon-container.c:
* libnautilus-extensions/nautilus-icon-private.h:
(match_best_name), (select_matching_name), (destroy),
(button_press_event), (nautilus_icon_container_almost_drag),
(nautilus_icon_container_flush_typeselect_state),
(nautilus_icon_container_handle_typeahead), (key_press_event),
(nautilus_icon_container_initialize):
Support for icon selection by typing the item's name. Initialize
and flush the new typeselect state properly. Rework key_press_event
a little bit to make it easier to call the inherited key_press call
when we did not handle the keyboard event ourselves.
* libnautilus-extensions/nautilus-icon-container.c:
(select_previous_or_next_name), (compare_icons_by_name),
(build_sorted_icon_list):
Support for selecting next/previous icon alphabetically using
Tab and Shift-Tab.
* libnautilus-extensions/nautilus-icon-container.c:
(find_best_icon), (find_best_selected_icon), (leftmost_in_top_row),
(rightmost_in_bottom_row), (same_row_right_side_leftmost),
(same_row_left_side_rightmost), (same_column_above_lowest),
(same_column_below_highest), (keyboard_home), (keyboard_end),
(keyboard_arrow_key):
Add data parameter to find_best_icon and find_best_selected_icon
to allow using more complicated match predicates.
* libnautilus-extensions/nautilus-glib-extensions.c:
* libnautilus-extensions/nautilus-glib-extensions.h:
(nautilus_g_list_copy):
Add a list shallow copy utility call.
* libnautilus-extensions/nautilus-glib-extensions.c:
* libnautilus-extensions/nautilus-glib-extensions.h:
(nautilus_get_system_time), (nautilus_self_check_glib_extensions)
Add a utility call to get the system time in microseconds.
* libnautilus-extensions/nautilus-icon-canvas-item.c:
Fix a typo.
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_start_renaming_selected_item):
Fix white space.
* libnautilus/nautilus-clipboard.c
(nautilus_clipboard_info_destroy),
(nautilus_clipboard_info_set_view_frame): Do not ref and unref the
view_frame. Because the NautilusClipboardInfo will only be
destroyed when the view_frame is destroyed in the normal use case,
if it holds a ref on the view_frame it will prevent it from ever
being destroyed. This was causing the notes and history view
processes to stay around forever.
stop showing embedded text. Too bad you can't see it in
action until embedded text is turned back on.
* icons/eazel/i-regular.xml: Added an embedded-text rectangle
for one size smaller icon than had one before.
* libnautilus-extensions/nautilus-icon-factory.c:
Added #defines for minimum embedded text rectangle width
and height.
(embedded_text_rect_usable): New function, ensures that the
embedded text rectangle is sufficiently large.
(nautilus_icon_factory_embed_text),
(nautilus_icon_factory_embed_file_text): Use new function to
skip embedded text if rectangle is nonexistent or too small.
* src/file-manager/fm-icon-view.c:
(get_icon_images_callback): Removed the text-rectangle size
limit here since now there's a universal one inside
nautilus_icon_factory.
* libnautilus-extensions/nautilus-directory-async.c:
(start_getting_top_lefts): Disabled the embedded text until I can
fix the file descriptor linking problem. It's easy to re-enable,
but then you quickly run out of FDs.
did some work at Bud's request. Made a global preference for the
sidebar width, and made it use it. Also, changed the index title
font to helvetica, to avoid clash with other text
* libnautilus-extensions/.cvsignore: Ignore the new files that
are generated by Gene's new .idl.
* libnautilus-extensions/nautilus-debug.h:
* libnautilus-extensions/nautilus-debug.c:
(nautilus_get_available_file_descriptor_count):
Changed the interface on Pavel's excellent new debugging function.
* libnautilus-extensions/nautilus-directory.c:
(file_open_callback), (file_close_callback), (open_and_close_one),
(nautilus_self_check_directory): Added some checks for GNOME VFS
in here. This is a bad place for them but it's better than not
having them at all.
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_self_check_icon_factory): Updated self checks so they
work again. John didn't notice that he needed to fix these when
he added the 20-pixel size icon to the standard sizees.
2000-05-05 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-undo-manager-component.idl:
New IDL file describing CORBA interface to the undo manager.
* libnautilus-extensions/Makefile.am:
Modified to include nautilus-undo-manager-component.idl
* libnautilus-extensions/nautilus-undo-manager.c
* libnautilus-extensions/nautilus-undo-manager-private.h:
(impl_Nautilus_UndoManager__destroy),
(impl_Nautilus_UndoManager__create),
(impl_Nautilus_UndoManager__begin_transaction),
(impl_Nautilus_UndoManager__end_transaction):
CORBA/Bonobo functions to access undo manager features.
* libnautilus-extensions/nautilus-undo-manager.h:
* src/file-manager/fm-list-view.c
(fm_list_view_append_background_context_menu_items),
(fm_list_view_merge_menus), (fm_list_view_update_menus),
(rename_list_item_callback):
Began the task of
* src/ntl-main.c
(main):
Removed intialization of undo manager from main,
* src/ntl-app.c
(nautilus_app_init):
Moved initialization of undo manager. A reference to the undo manager
is saved for easy access from components.
* src/file-manager/fm-properties-window.c:
(install_title_value_pair), (create_page_with_table_in_vbox),
(create_basic_page), (create_emblems_page),
(create_permissions_page), (create_more_page),
(create_properties_window):
More early work on the Properties window. Nudging it into
shape one step at a time.
2000-05-05 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-debug.c,
libnautilus-extensions/nautilus-debug.h:
(nautilus_print_available_file_descriptor_count):
Added a debugging call to help locate file descriptor leaks.
objects around so much. It was getting out of hand.
* libnautilus-extensions/nautilus-directory-async.c:
(empty_close_callback): Give a warning if we ever have a close
that fails.
(directory_count_callback): For easier debugging, NULL out the
file after unref'ing.
(start_getting_directory_counts): Unref the file when we cancel
a directory count part-way through (leak #1).
(start_getting_top_lefts): Close the file when we cancel a top
left read part-way through (leak #2). Unref the file when we
cancel a top left read part way thorugh (leak #3).
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_icon_factory_embed_text): The old code assumed that white
was == 0xFFFFFF. But that's not always true. Fixed it now.
NautilusFile.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory-async.c:
(metafile_read_close), (nautilus_metafile_read_cancel),
(metafile_read_failed), (metafile_read_complete),
(metafile_read_callback), (metafile_read_some),
(metafile_read_open_callback), (metafile_read_start),
(nautilus_directory_request_read_metafile), (metafile_write_done),
(metafile_write_failed), (metafile_write_callback),
(metafile_write_create_callback), (nautilus_metafile_write_start),
(metafile_write), (lacks_top_left), (wants_top_left),
(has_problem), (select_needy_file), (count_lines),
(top_left_read_done), (top_left_read_failed),
(top_left_read_complete), (top_left_read_close),
(top_left_read_callback), (top_left_read_some),
(top_left_open_callback), (start_getting_top_lefts),
(state_changed):
Added code to read top lefts of files in the background.
Restructured things to accomodate this new code nicely with
a minimum of copy and paste (there still was plenty of copy
and paste so there's room for improvement).
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_destroy):
Name changes from above required revising some asserts.
* libnautilus-extensions/nautilus-file-private.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_top_left_text): Now it returns something
besides just NULL.
(nautilus_extract_top_left_text): Function that remembers only
the part of the top left text that we want to keep around.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER),
(nautilus_gtk_marshal_POINTER__POINTER_INT_INT_POINTER_POINTER):
Needed some new marshal functions.
* libnautilus-extensions/nautilus-icon-canvas-item.h:
* libnautilus-extensions/nautilus-icon-canvas-item.c:
(nautilus_icon_canvas_item_initialize_class),
(nautilus_icon_canvas_item_destroy),
(nautilus_icon_canvas_item_set_arg),
(nautilus_icon_canvas_item_get_arg),
(nautilus_icon_canvas_item_get_image),
(nautilus_icon_canvas_item_set_image),
(nautilus_icon_canvas_item_draw):
Removed the old embedded text support. It came with a whole lot
of baggage, also removed.
* libnautilus-extensions/nautilus-icon-container.h:
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_update_icon): Moved pixbuf computing code
into the FMIconView class. We might decide later to move it back
again, but for now the embedded text makes it easier to do it
this way.
(nautilus_icon_container_initialize_class): Merged
get_icon_editable_text and get_icon_additional_text back into
a single signal that gets both.
* libnautilus-extensions/nautilus-icon-dnd.c:
(nautilus_icon_dnd_begin_drag): Updated for change in icon factory
API.
* src/file-manager/fm-directory-view.c: (finish_loading_uri):
Ask for top-left text attribute for all directories.
* src/file-manager/fm-icon-view.c: (get_icon_images_callback):
Moved pixbuf computing code into the FMIconView class. We might
decide later to move it back again, but for now the embedded text
makes it easier to do it this way.
(get_icon_text_callback): Merged get_icon_editable_text and
get_icon_additional_text back into a single signal that gets both.
NautilusFile.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory-async.c:
(metafile_read_close), (nautilus_metafile_read_cancel),
(metafile_read_failed), (metafile_read_complete),
(metafile_read_callback), (metafile_read_some),
(metafile_read_open_callback), (metafile_read_start),
(nautilus_directory_request_read_metafile), (metafile_write_done),
(metafile_write_failed), (metafile_write_callback),
(metafile_write_create_callback), (nautilus_metafile_write_start),
(metafile_write), (lacks_top_left), (wants_top_left),
(has_problem), (select_needy_file), (count_lines),
(top_left_read_done), (top_left_read_failed),
(top_left_read_complete), (top_left_read_close),
(top_left_read_callback), (top_left_read_some),
(top_left_open_callback), (start_getting_top_lefts),
(state_changed):
Added code to read top lefts of files in the background.
Restructured things to accomodate this new code nicely with
a minimum of copy and paste (there still was plenty of copy
and paste so there's room for improvement).
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_destroy):
Name changes from above required revising some asserts.
* libnautilus-extensions/nautilus-file-private.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_top_left_text): Now it returns something
besides just NULL.
(nautilus_extract_top_left_text): Function that remembers only
the part of the top left text that we want to keep around.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c:
(nautilus_gtk_marshal_NONE__POINTER_POINTER_POINTER),
(nautilus_gtk_marshal_POINTER__POINTER_INT_INT_POINTER_POINTER):
Needed some new marshal functions.
* libnautilus-extensions/nautilus-icon-canvas-item.h:
* libnautilus-extensions/nautilus-icon-canvas-item.c:
(nautilus_icon_canvas_item_initialize_class),
(nautilus_icon_canvas_item_destroy),
(nautilus_icon_canvas_item_set_arg),
(nautilus_icon_canvas_item_get_arg),
(nautilus_icon_canvas_item_get_image),
(nautilus_icon_canvas_item_set_image),
(nautilus_icon_canvas_item_draw):
Removed the old embedded text support. It came with a whole lot
of baggage, also removed.
* libnautilus-extensions/nautilus-icon-container.h:
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_update_icon): Moved pixbuf computing code
into the FMIconView class. We might decide later to move it back
again, but for now the embedded text makes it easier to do it
this way.
(nautilus_icon_container_initialize_class): Merged
get_icon_editable_text and get_icon_additional_text back into
a single signal that gets both.
* libnautilus-extensions/nautilus-icon-dnd.c:
(nautilus_icon_dnd_begin_drag): Updated for change in icon factory
API.
* src/file-manager/fm-directory-view.c: (finish_loading_uri):
Ask for top-left text attribute for all directories.
* src/file-manager/fm-icon-view.c: (get_icon_images_callback):
Moved pixbuf computing code into the FMIconView class. We might
decide later to move it back again, but for now the embedded text
makes it easier to do it this way.
(get_icon_text_callback): Merged get_icon_editable_text and
get_icon_additional_text back into a single signal that gets both.
* src/ntl-index-panel.c (nautilus_index_panel_initialize):
Added a nice little GNOME_PAD worth of space above (and
below, but who could tell?) the index-title. Now that icon
isn't jammed up against the top of the sidebar.
more properties (location, type, size, date).
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_parent_uri_as_string): New function, returns
the URI of the enclosing directory.
(nautilus_file_get_string_attribute): Now supports attributes
"uri" and "parent_uri".
* src/file-manager/fm-directory-view.c: (compute_menu_item_info),
(fm_directory_view_real_merge_menus): Changed menu name from
"Set Properties..." to "Show Properties" since the read-only ones
now outnumber the changeable ones.
* src/file-manager/fm-properties-window.c:
(create_pixmap_widget_for_file), (value_field_update),
(install_title_value_pair), (create_basic_page),
(create_emblems_page), (create_properties_window): Broke up
huge create_properties_window into smaller functions, and
added location, type, size, and date to Basic page.
* src/ntl-uri-map.c: (file_list_to_mime_type_hash_table),
(free_key), (mime_type_hash_table_destroy),
(got_file_info_callback): Fixed bug I introduced earlier.
Now MIME types are just like other text -- potentially
dynamically computed and all.
* HACKING: Some more instructions and cleanup.
* RENAMING: Removed one gratuitous renaming we won't do.
* components/html/ntl-web-browser.c:
Removed stray "#include <config.h>" that I added by accident.
* components/hardware/main.c: (main):
* components/help/hyperbola-main.c: (main):
* components/html/ntl-web-browser.c: (main):
* components/music/main.c: (main):
* components/notes/ntl-notes.c: (main):
* components/rpmview/main.c: (main):
* components/websearch/ntl-web-search.c: (main):
* src/file-manager/gnome-desktop.c (main):
* src/ntl-main.c (main):
Added ifdefs so you don't get warnings when building with
localization turned off. Ugly, but needed I think.
* components/help/converters/gnome-db2html2/gdb3html.c:
(ulink_start_element), (start_element):
* components/help/converters/gnome-db2html2/sect-elements.c:
(sect_sect_start_element), (sect_sect_end_element),
(sect_title_start_element), (sect_xref_start_element),
(sect_graphic_start_element), (sect_get_infobox_logo):
* components/help/converters/gnome-db2html2/sect-preparse.c:
(sect_preparse_sect_start_element),
(sect_preparse_title_characters):
* components/help/converters/gnome-db2html2/toc-elements.c:
(toc_sect_start_element), (toc_title_start_element):
* components/help/converters/gnome-info2html2/html.c:
(write_node_link_html):
* components/help/hyperbola-filefmt.c: (tree_key_compare):
* components/help/hyperbola-nav-index.c: (start_element),
(end_element), (hyperbola_navigation_index_new):
* components/html/ntl-web-browser.c: (browser_submit):
Replaced all uses of strcasecmp with g_strcasecmp.
Why? Because Michael Meeks said so and that's good enough
for me (in this case :-).
* components/music/nautilus-music-view.c:
(nautilus_music_view_update_from_uri):
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_mime_type_as_string_attribute),
(nautilus_file_get_mime_type):
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_name_for_regular_file):
* src/file-manager/fm-icon-view.c (get_icon_property_callback):
* src/ntl-index-panel.c (nautilus_index_panel_update_buttons):
* src/ntl-uri-map.c (file_list_to_mime_type_hash_table):
Changed get_mime_type to be like all other text functions and
return a strdup'd string. John said it was a good idea.
* libnautilus-extensions/nautilus-file-private.h:
* libnautilus-extensions/nautilus-directory-async.c:
(metafile_read_callback), (metafile_read_some),
(set_up_request_by_file_attributes),
(nautilus_directory_monitor_add_internal),
(directory_list_get_next_position), (directory_load_callback),
(ready_callback_call),
(nautilus_directory_call_when_ready_internal),
(wants_directory_count), (has_problem),
(ready_callback_is_satisfied), (is_anyone_monitoring_file_list),
(is_anyone_waiting_for_metafile), (is_wanted), (select_needy_file),
(start_getting_directory_counts):
Reorganize to get ready for adding code to read the top left text.
* libnautilus-extensions/nautilus-file-attributes.h:
Added name for the "top left text" attribute.
* libnautilus-extensions/nautilus-file.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_top_left_text):
Added call to get the top left text.
* libnautilus-extensions/nautilus-icon-canvas-item.c:
(draw_embedded_text): Tiny format tweak.
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_update_icon): Tiny format tweak.
* libnautilus-extensions/nautilus-icon-factory.h:
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_icon_factory_get_pixbuf_for_file),
(nautilus_icon_factory_get_pixmap_and_mask_for_file),
(nautilus_icon_factory_embed_text),
(nautilus_icon_factory_embed_file_text):
Added support for embedded text. Not completely deployed yet.
2000-05-03 Pavel Cisler <pavel@eazel.com>
* src/file-manager/dfos-xfer.c (create_xfer_dialog),
(handle_xfer_ok), (handle_xfer_vfs_error), (fs_xfer),
(fs_move_to_trash), (fs_empty_trash):
Add a simple heuristic to only show the progress dialog
for file operations that are likely to take a non-trivial
ammount of time in which case the progress dialog flashed
on the screen for a split of a second.
* libnautilus-extensions/nautilus-icon-dnd.c
(nautilus_icon_dnd_modifier_based_action):
Switch the modifier key for copy to Control. This is a better
modifier because Alt had to be held down after the drag started
otherwise one would move the window instead of starting a drag.
made the property browser stay open if the shift key is held down.
Also, changed the format of the data for "property/keyword" to
just be the keyword instead of a file uri.
2000-05-03 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-entry.c
* libnautilus-extensions/nautilus-entry.h:
Refined undo support.
(nautilus_entry_enable_undo_key):
New function to set internal handling of ctl-z for undo.
* libnautilus-extensions/nautilus-icon-container.c
(hide_rename_widget):
Removed deletion of undo transaction. This is now handled
by the owner of the widget.
* libnautilus-extensions/nautilus-undo-manager.c
(nautilus_undo_manager_unregister_object):
New function to unregister a GtkObject form the undo manager.
Any transaction that contains the object is removed from the
undo and redo lists. This should be called for any object that
is no longer available for user interaction.
* libnautilus-extensions/nautilus-undo-transaction.c
(nautilus_undo_transaction_contains_object):
Function added to support nautilus_undo_manager_unregister_object()
call in the undo manager. Each NautilusUndoable in a transaction
is checked for the object to be removed.
* src/file-manager/fm-icon-view.c:
* src/file-manager/fm-properties-window.c
(create_properties_window):
Added call to unregister rename widget form undo manager.
* src/nautilus-bookmarks-window.c
Added undo support for entry widgets.
* src/nautilus-location-bar.c
Changed to support modified undo manager APIs.
2000-05-03 Kjartan Maraas <kmaraas@online.no>
* components/html/Makefile.am: Added -DGNOMELOCALEDIR
* components/html/ntl-web-browser.c: Added bindtextdomain()
and textdomain() to initialize the i18n support.
* components/music/Makefile.am: Same as above.
* components/music/main.c: Same as above.
* components/music/nautilus-music-view.c: Marked strings.
* components/notes/Makefile.am: Same as above.
* components/notes/ntl-notes.c: Same as above.
* components/rpmview/Makefile.am: Same as above.
* components/rpmview/main.c: Same here too.
* components/rpmview/nautilus-rpm-view.c: Marked strings.
* components/sample/nautilus-sample-content-view.c: Same here too.
* components/websearch/Makefile.am: Same as above.
* components/websearch/ntl-web-search.c: Again.
2000-05-02 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-entry.c
Connected widget to undo manager.
(nautilus_entry_initialize),
(nautilus_entry_destroy),
(nautilus_entry_key_press):
Added check for ctl-z. An undo is requested when the key combination
is triggered.
(nautilus_entry_changed):
Added undo registration when text is modified.
(save_undo_snapshot_callback),
(restore_from_undo_snapshot_callback):
Standard undo manager callbacks
(nautilus_entry_enable_undo):
Added new function. Pass in boolean value to enable or disable
undo functionality.
* libnautilus-extensions/nautilus-icon-factory.c
(nautilus_icon_factory_get_icon_name_for_regular_file):
Removed special case for "core" files, which are now
handled by the MIME type database used in gnome-vfs.
* HACKING: Added a mention of "killall oafd" and "killall gconfd".
* libnautilus-extensions/nautilus-list.c (nautilus_list_destroy):
Fixed a bug where we'd free the details structure and then write
to it afterwards. This was torturing John today. It happens when
you leave a page that's set to list view.
* src/file-manager/fm-icon-view.c
(fm_icon_view_icon_changed_callback): Fixed bug 663 that was
about the issue of similar but not identical floating point
numbers and also bug 661 that wasn't a bug at all!
* src/file-manager/fm-properties-window.c
(get_pixmap_and_mask_for_properties_window):
Removed the FIXME from this file, since the bug is fixed.
* libnautilus-extensions/nautilus-icon-factory.c:
(load_specific_image_svg): Open .svg file in binary mode.
(load_specific_image): Factor out some shared code.
* src/file-manager/fm-directory-view.h:
* src/file-manager/fm-directory-view.c:
Renamed *_cb to *_callback.
(remove_custom_icon), (files_have_any_custom_images),
(remove_custom_icons_callback), (finish_adding_menu_item),
(fm_directory_view_real_append_background_context_menu_items):
(append_selection_menu_item),
(fm_directory_view_real_append_selection_context_menu_items),
(fm_directory_view_real_merge_menus), (update_one_menu_item),
(fm_directory_view_real_update_menus),
(create_selection_context_menu):
Added the "Remove Custom Image" command.
(compute_menu_item_info): Made more similar to the one in
FMIconView.
* src/file-manager/fm-icon-view.c (compute_menu_item_info),
(append_one_context_menu_item), (insert_one_context_menu_item),
(fm_icon_view_append_selection_context_menu_items),
(append_bonobo_menu_item), (fm_icon_view_merge_menus),
(update_one_menu_item), (fm_icon_view_update_menus):
Made more similar to code in FMDirectoryView.
2000-05-02 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-icon-container.c
(motion_notify_event):
Get rid of FIXME 623 - the problem was already fixed, I just
forgot to remove the FIXME.
* src/file-manager/dfos-xfer.c (handle_xfer_ok):
Fix FIXME 676 - the particular switch case doesn't need any
handling, took it out.
* libnautilus-extensions/nautilus-list-column-title.c
(nautilus_list_column_title_paint),
(nautilus_list_column_title_leave),
(nautilus_list_column_title_button_press),
(nautilus_list_column_title_button_release):
Fix bug 423 - Double-clicking Header boundary in List View
fails assertion.
Fix a column press tracking bug Gene found - the coulumn would
stay pressed if you tracked out of the column and let go of the
mouse button - made it so that when tracking a column press the
cursor gets grabbed.
Fix FIXME 618 - used offscreen bitmap draws instead of invalidates
during the different mouse tracking state changes.
* file-manager/fm-directory-view.c:
Added comments to some #if 0 code that I left behind and will use
later.
Fixed bug 438: Bookmark menu items need to limit icon size
* libnautilus-extensions/nautilus-icon-factory.h:
Defined a new standard icon size, NAUTILUS_ICON_SIZE_FOR_MENUS.
None of the existing standard sizes look good in menus.
* libnautilus-extensions/nautilus-file.h,
* libnautilus-extensions/nautilus-file.c
(nautilus_file_is_mime_type): New function, compares against
a particular MIME type so the caller doesn't have to get the
MIME type and worry about whether to free it or not.
* libnautilus-extensions/nautilus-icon-factory.c:
(get_larger_icon_size),
(get_smaller_icon_size): Include NAUTILUS_ICON_SIZE_FOR_MENUS
when looking for the next size.
(str_has_svg_suffix): Removed this function.
(nautilus_icon_factory_get_icon_for_file): Use
nautilus_file_is_mime_type to check for SVG instead
of checking file suffix.
(path_represents_svg_image): New function.
(load_specific_image): Use path_represents_svg_image to
check for SVG instead of checking file suffix.
* libnautilus-extensions/nautilus-bookmark.c:
(create_pixmap_widget_for_bookmark): Use
NAUTILUS_ICON_SIZE_FOR_MENUS.
* src/nautilus-window-menus.c (append_bookmark_to_menu):
Use NAUTILUS_ICON_SIZE_FOR_MENUS.
* libnautilus-extensions/nautilus-icon-container.c (icon_new),
(nautilus_icon_container_update_icon):
Got rid of the old maximum size hack and use the new maximum size
parameter instead.
* src/nautilus-index-title.c (nautilus_index_title_update_icon):
Took out maximum size hack and use the maximum size parameter
instead.
* libnautilus-extensions/nautilus-icon-factory.c
(str_has_svg_suffix), (nautilus_icon_factory_get_icon_for_file),
(load_specific_image): Renamed suffix_is_scalable to
str_has_svg_suffix to make it clearer what it does.
* check-FIXME.pl: Added -print as suggested by Morten Welinder
<terra@diku.dk>.
* check-config-h.pl: Added -print and fixed broken message as
suggested by Morten Welinder <terra@diku.dk>.
* libnautilus-extensions/nautilus-icon-factory.h:
* libnautilus-extensions/nautilus-icon-factory.c
(suffix_is_scalable): Simpler implementation.
(get_themed_icon_file_path): Look for size-specific version of
even .svg files. Although not so useful, it's not ridiculous to do so.
(nautilus_icon_factory_get_icon_for_file): Fixed the twisted logic to
be less twisted. Also changed the ".svg" extension check to use the
common function suffix_is_scalable.
(load_specific_image): Untwist logic here too, and note in the FIXME
that both the .svg library and gdk-pixbuf are limiting us to file:
URIs, although the gdk-pixbuf case is fixable without redoing the
library by just using our utility functions.
(load_image_for_scaling): Update for new size request structure which
contains maximum sizes as well as nominal ones.
(scale_image_and_rectangle), (revise_scale_factors_if_too_big),
(scale_image_down_if_too_big): New helper functions for scaling.
(load_image_scale_if_necessary): Take the maximum size into account.
(get_image_from_cache): Use new size request structure and take the
maximum size into account.
(nautilus_icon_factory_get_pixbuf_for_icon): Changed to take maximum
size parameters and pass them in to the underlying function.
(icon_cache_key_hash): Include the maximum size in the hash.
(icon_cache_key_equal): Check the maximum size too.
(nautilus_icon_factory_get_pixbuf_for_file): Pass new max. size
parameters to the nautilus_icon_factory_get_pixbuf_for_icon
function.
* libnautilus-extensions/nautilus-icon-container.c
(nautilus_icon_container_update_icon): Pass new max. size
parameters to the nautilus_icon_factory_get_pixbuf_for_icon
function.
* src/file-manager/fm-list-view.c
(fm_list_view_get_emblem_pixbufs_for_file): Pass new max. size
parameters to the nautilus_icon_factory_get_pixbuf_for_icon
function.
* data/mime/.cvsignore,
* data/mime/Makefile.am:,
* data/mime/nautilus.keys: Removed files. Nautilus
doesn't need to install the human-readable MIME
descriptions any more because gnome-vfs does it.
* configure.in,
* data/Makefile.am: Removed build system fu that
was installing nautilus.keys.
2000-05-01 Kjartan Maraas <kmaraas@gnu.org>
* libnautilus/nautilus-clipboard.c: Cosmetic change.
* src/Makefile.am: Added -DGNOMELOCALEDIR to $INCLUDES.
* src/ntl-main.c: Added calls to bindtextdomain() and
textdomain() to make the translations work.
* components/help/hyperbola-main.c: Same here.
* components/help/Makefile.am: Here as well. This should be
done for any main() function in any module containing text
to be translated.
2000-04-29 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-file-changes-queue.c:
(nautilus_file_changes_consume_changes):
Temporary workaround for an apparent codegen bug Carbamide
was running into. (I'll need to track this down some more,
this change makes the crash go away.)
* src/file-manager/dfos-xfer-progress-dialog.c:
* src/file-manager/dfos-xfer-progress-dialog.h:
* src/file-manager/dfos-xfer.c:
(dfos_xfer_progress_dialog_get_type),
(dfos_xfer_progress_dialog_new),
(dfos_xfer_progress_dialog_new_file),
(create_xfer_dialog),
(fs_xfer), (handle_xfer_ok):
Fix up the progress dialog so that it displays meaningfull
information while emptying the trash and moving files to
trash.
2000-05-01 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-icon-text-item.c
* libnautilus-extensions/nautilus-icon-private.h
(iti_event),
(nautilus_icon_text_item_configure),
(nautilus_icon_text_item_start_editing),
(save_undo_snapshot_callback),
(restore_from_undo_snapshot_callback):
* libnautilus-extensions/nautilus-undo-manager.c
(nautilus_undo_manager_remove_transaction),
(nautilus_undo_manager_add_undo_transaction),
(nautilus_undo_manager_add_redo_transaction),
(prune_undo_manager_list):
Fixed bug in above functions where GList was not getting properly updated
after an insert or remove operation.
* src/nautilus-location-bar.c
(nautilus_location_bar_initialize_class):
Added signal connection to the "changed" signal of the GtkEntry item.
(editable_changed_callback):
Added undo operation functionality.
Original location text is cached in anticipation of an undo operation.
(nautilus_location_bar_initialize):
Added two new memeber variables, undo_text and undo_registered. undo_text is
a char * that keeps a cache of the location text before editing.
undo_registered is a boolean that is set when an undo can be registered.
(nautilus_location_bar_set_location):
undo_registered is set to FALSE and undo_text is updated.
(save_undo_snapshot_callback):
Callback called to create undo transaction
(restore_from_undo_snapshot_callback):
Callback called to restore the location bar text.
(destroy):
undo_text is freed if it has been allocated.
Converted all the (few) places where Nautilus code was
using the old gnome-libs MIME API to use the new gnome-vfs
MIME API.
* components/help/help-method.c (convert_file_to_uri):
Use gnome_vfs_mime_type_of_file. This function should
probably use NautilusFile rather than calling the MIME
stuff directly, but I just couldn't get distracted into
trying to improve it.
* libnautilus-extensions/nautilus-file.c
(nautilus_file_get_type_as_string):
Use gnome_vfs_mime_description.
* libnautilus-extensions/nautilus-icon-factory.c
(nautilus_icon_factory_get_icon_name_for_regular_file):
Use gnome_vfs_mime_get_value.
* data/mime/nautilus.keys: Added a translation for
"special/symlink" because it now starts showing up when
using ftp:// locations. Perhaps we need to fix something
in ftp also.
* HACKING: Added option for eog. (Sorry Maciej, I had done it
before I got your mail.)
* src/ntl-uri-map.c (make_oaf_query_with_known_mime_type),
(make_oaf_query_with_uri_scheme_only): Improved comments and
formatting a little big more. (Sorry again, Maciej. You can
merge it however you want!)
* libnautilus-extensions/nautilus-icon-canvas-item.c
(nautilus_icon_canvas_item_bounds): Got rid of "slop".
* libnautilus-extensions/nautilus-icon-grid.c
(get_icon_size_power_from_bounds), (get_icon_size_power):
Get more grid space per icon now that slop is gone.
(nautilus_icon_grid_add): Base grid space occupied on the size of
the icon, not the side of the grid.
(nautilus_icon_grid_get_position): Position icons horizontally
centered in the space, but vertically at the top.
Made the OAF queries more readable as I discussed with Maciej.
* src/ntl-uri-map.c (extract_prefix_add_suffix),
(mime_type_get_supertype), (uri_string_get_scheme):
Make special-purpose string routines use common function instead.
We must not optimize this kind of thing for speed, but rather for
ease of reading the code. This can be whittled down a little more
and put into nautilus-string.h
(make_oaf_query_with_known_mime_type),
(make_oaf_query_with_uri_scheme_only):
Reformatted and commented the OAF queries so they are easy to read.
* src/file-manager/fm-icon-view.c:
Fixed a typo that prevented my Bonobo bug fix from working.
We were still getting crashes when we switched views because
the radio group was in "Setings", not "Settings".
2000-04-29 Christopher Blizzard <blizzard@redhat.com>
* components/mozilla/Makefile.am (INCLUDES): Add $(BONOBO_CFLAGS)
so that we can pick up the path to the bonobo includes in case
they are built somewhere else than the standard location.
* configure.in:
* librsvg/Makefile.am:
Check in patch suggested by Roberto Zunino
<zunino@cli.di.unipi.it>. Check for gdk-pixbuf in configure and
use the flags set by that in the rsvg makefile.
2000-04-28 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-icon-text-item.c
* libnautilus-extensions/nautilus-icon-text-item.h
* libnautilus-extensions/nautilus-undo-manager-private.h
Fixed the following FIXME bugs: 684 686 687
Hooked up the undo mechanism to work properly with
the renaming widget.
* libnautilus-extensions/nautilus-undo-manager.c
* libnautilus-extensions/nautilus-undo-manager.h
Add configuration defaults to sets the UndoManager to
not use the redo functionality and sets the depth of
the undo list to one transaction.
(nautilus_undo_manager_enable_redo):
Function to toggle on or off the ability to redo undone transactions.
(nautilus_undo_manager_set_queue_depth):
Function to set the max depth of the undo/redo queues
(free_undo_manager_list_data):
New utility function to clean up data in undo/redo list
(prune_undo_manager_list):
New utility function that prunes a set number of items from
either the undo or redo list.
(nautilus_undo_manager_add_undo_transaction):
Manually insert an externally created undo transaction into
the undo queue.
(nautilus_undo_manager_add_redo_transaction):
Manually insert an externally created undo transaction into
the redo queue.
* libnautilus-extensions/nautilus-undo-transaction.c
* libnautilus-extensions/nautilus-undo-transaction.h
(nautilus_undo_transaction_destroy):
Added destructor function for a NautilusUndoTransaction object
* src/nautilus-window-menus.c
(update_undo_menu_item):
Fixed bug 755. Connected to signal sent by undo manager that informs
Undo menu item sensitivity to be set.
* libnautilus-extensions/nautilus-directory-background.c
(background_destroyed_callback),
(nautilus_connect_background_to_directory):
gtk_signal_connect_while_alive wasn't quite up to the task,
so I had to redo the fix from my last check-in.
two leaks in Nautilus.
* src/ntl-view.c (nautilus_view_destroy_client): To work around
the circular reference problem in Bonobo, change a call to
bonobo_object_unref to bonobo_object_destroy. This fixes the leak
of the entire viewer each time.
* src/file-manager/fm-directory-view.c (fm_directory_view_destroy):
The FMDirectoryView does not own its view_frame. This is confusing
and needs some reorganization, but it should not unref. It's actually
the view_frame that owns the directory view despite the fact that
it's created by the directory view and the directory view holds a
reference to it! This bug prevented Maciej from doing the workaround
the last time he tried it.
* libnautilus-extensions/nautilus-file-changes-queue.c
(nautilus_file_changes_queue_get),
(nautilus_file_changes_consume_changes):
A small cleanup. The global variable was getting in the way.
* libnautilus-extensions/nautilus-directory-async.c
(ready_callback_call),
(nautilus_directory_call_when_ready_internal),
(call_ready_callbacks):
Made the fix so that call_when_ready works properly when a NULL
directory is passed in.
* libnautilus-extensions/nautilus-file.h:
* libnautilus-extensions/nautilus-file.c
(nautilus_file_call_when_ready): Fix for call_when_ready with
a NULL file.
(nautilus_file_ref), (nautilus_file_list_ref),
(nautilus_file_list_copy): Filled out the operations on lists.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c
(nautilus_gtk_object_list_ref), (nautilus_gtk_object_list_copy):
Filled out the operations on lists.
* src/ntl-uri-map.c (got_metadata_callback): Factored out the
call to async get_file_info to simplify the logic.
(nautilus_navigation_info_new): Took out the check for NULL that
Maciej mentioned in his notes below now that call_when_ready can
handle things.
(nautilus_navigation_info_cancel),
(nautilus_navigation_info_free): Took out some excessive NULL
checks when calling routines that work with NULL.
* components/music/nautilus-music-view.oafinfo: Add "audio/x-mp3"
as directory content type that satisfies the requirement so the
music view activates automatically (the point of the below
excercise). Netscape thinks the mime type for mp3's should be
"audio/x-mpeg" but I am not going to argue.
* src/ntl-uri-map.c (nautilus_navigation_info_new): When
navinfo->directory is null, call got_metadata_callback directly
instead of calling `nautilus_directory_call_when_ready' to avoid
segfaulting on protocols that gnome-vfs does not understand like
`hardware:'. There is probably a way to fix this in
`nautilus_directory_call_when_ready' but I did not want to mess
with it.
(got_file_info_callback): Renamed from `my_notify_when_ready'.
* libnautilus/nautilus-bonobo-ui.h:
New file, contains #defines for Bonobo-style menu paths for all
the menus & menu items in Nautilus that we promise components
will exist.
* libnautilus/Makefile.am: Include this new header file in library.
* src/nautilus-window-menus.c: Extensive changes, too many to list
every function. Replaced all the GnomeUIInfo mechanism with
Bonobo-style menu creation, using the menu paths from
nautilus-bonobo-ui.h. While I was in here, I also renamed some
functions (especially xxx_cb -> xxx_callback), tweaked some text,
and used some more standard Gnome menu item pixmaps (not sure if I
like them or not yet).
* src/ntl-window-private.h,
* src/ntl-window.c:
(nautilus_window_back_cb), (nautilus_window_forward_cb),
(nautilus_window_up_cb), (nautilus_window_home_cb): Replaced
these GtkWidget-callback style functions (formerly used
by both menu items and toolbar buttons) with new NautilusWindow
oriented ones nautilus_window_go_back, nautilus_window_go_forward,
nautilus_window_go_up, and nautilus_window_go_home.
(nautilus_window_allow_back), (nautilus_window_allow_forward),
(nautilus_window_allow_up): replaced hardwired Bonobo menu paths
with the new #defines.
* src/nautilus-window-toolbars.c:
Renamed some functions xxx_cb -> xxx_callback.
(toolbar_back_callback), (toolbar_forward_callback),
(toolbar_up_callback), (toolbar_home_callback): New GtkWidget-callback
style functions used exclusively by the toolbar.
* src/file-manager/fm-directory-view.h:
Removed FM_DIRECTORY_VIEW_PATH_CLOSE and
FM_DIRECTORY_VIEW_PATH_SELECT_ALL, since callers should use
the paths defined by Nautilus for these.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_real_merge_menus): Replaced special insider knowledge
of menu positions with use of the new #defines. Also tweaked with the
keyboard underscore shortcuts for some items.
* libnautilus-extensions/nautilus-directory-async.c:
Rewrite of the state machine. This adds the new feature that Maciej
needs where you can call "call_when_ready" to get file attributes.
* libnautilus-extensions/nautilus-directory-private.h:
Added a file_list_monitored boolean to simplify the logic.
* libnautilus-extensions/nautilus-directory.c
(nautilus_directory_destroy): Took advantage of file_list_monitored
simplification.
(nautilus_directory_call_when_ready),
(nautilus_directory_cancel_callback): Tweaked the return_if_fail
calls to match changes in the async.c file.
(got_files_callback), (nautilus_self_check_directory):
Added self-check code to test the new feature.
* libnautilus-extensions/nautilus-string.h:
* libnautilus-extensions/nautilus-string.c (nautilus_str_compare):
Added a new function for use with things that take a GCompareFunc
to avoid a function type cast.
2000-04-27 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-undoable.c
* libnautilus-extensions/nautilus-undoable.h
* libnautilus-extensions/nautilus-undo-manager.c
* libnautilus-extensions/nautilus-undo-manager.h
* libnautilus-extensions/nautilus-undo-transaction.c
* libnautilus-extensions/nautilus-undo-transaction.h
* libnautilus-extensions/nautilus-undo-manager-private.h
Added architecture for undo mechanism.
NautilusUndoManager maintains undo and redo queues of NautilusUndoTransactions
as well as maintaining various state information pertinant to the user interface.
NautilusUndoTransaction contains a transaction name and a list of NautilusUndoables.
NautilusUndoable is a object that contains a pointer to an object and a GData object.
The GData object contains named data that can be added and retrieved during an undo/
redo operation. The NautilusUndoable also emits signals to the object that enables it
to perform the undo and redo operations. I will write up more complete documents when the
code has matured.
* libnautilus-extensions/nautilus-icon-container.c
* libnautilus-extensions/nautilus-icon-container.h
* src/file-manager/fm-icon-view.c
Removed obsolete undo functions and callbacks. These were invalidated
by the new undo mechanism.
* src/ntl-main.c
Added call to nautilus_undo_manager_initialize_global_manager() in main.
This call initializes a Nautilus global undo manager.
Also fixed some minor coding style issues.
* nautilus-window-menus.c
edit_menu_undo_callback():
Added callback to handle selection of Undo item form edit menu. Callback
checks with Undo Manager for a current undo transaction and asks manager to
perform an undo if there is one.
* MAINTAINERS: Changed to the new Nautilus list instead of the
old secret list.
* components/notes/ntl-notes.c (notes_load_metainfo):
* src/file-manager/fm-directory-view.c
(fm_directory_view_load_uri), (metadata_ready_callback):
* src/ntl-uri-map.c (got_metadata_callback),
(nautilus_navigation_info_new):
Change calls to use new API, but not to use any of the new features,
which are not yet implemented.
* libnautilus-extensions/nautilus-directory.h:
* libnautilus-extensions/nautilus-directory.c
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory-async.c
* libnautilus-extensions/nautilus-file.c
* libnautilus-extensions/nautilus-file.h:
Added the new API and moved functions around a bit to prepare
for the new feature needed by Maciej for getting a list of files.
* libnautilus-extensions/nautilus-file-attributes.h:
Added an attribute constant for MIME type.
* configure.in
* components/services/startup/nautilus-service-startup-view.c,
* libnautilus-extensions/nautilus-directory-async.c,
* libnautilus-extensions/nautilus-global-preferences.c,
* libnautilus-extensions/nautilus-icon-canvas-item.c,
* src/ntl-uri-map.c:
Wrote bug reports for all FIXMEs in these files. With
this checkin and Darin's next one, there should be no
more FIXMEs in Nautilus without a bug report.
2000-04-27 Joe Shaw <joe@helixcode.com>
* components/rpmview/nautilus-rpm-view.c
(nautilus_rpm_view_update_from_uri): Changed call of fdValid
to checking to ensure that file_descriptor != NULL. fdValid was
removed from RPM 3.0.4 and this bit of code provides the same
functionality. It'll build on 3.0.4-based systems now (like Red
Hat 6.2). Bad Red Hat for breaking reverse compatibility on a
minor upgrade.
* src/ntl-uri-map.c (mime_type_get_supertype,
uri_string_get_scheme): Helper functions for generating the
OAF queries.
(my_notify_when_ready): Replaced the hardcoded mess with calls to
a couple of OAF queries. This function still needs major
additional refactoring. I have also introduced some FIXMEs which
call attention to problems that were already there in the code in
most cases.
2000-04-26 Pavel Cisler <pavel@eazel.com>
* src/file-manager/dfos-xfer.c:
(fs_xfer):
Fixed a memory thrasher Darin ran into.
The code in question was just asking for trouble to begin with.
* libnautilus-extensions/nautilus-directory.c
(make_uri_canonical), (is_canonical_uri),
(nautilus_directory_get), (get_parent_directory_if_exists),
(nautilus_self_check_directory):
Added hack for handling "file:/" vs. "file:///" and put a little
framework in place to help us deal with caonical URIs later.
* src/file-manager/fm-directory-view.c (display_pending_files):
Fixed a FIXME bug #.
* libnautilus-extensions/nautilus-directory-async.c
(nautilus_directory_schedule_dequeue_pending_idle),
(new_files_callback), (nautilus_directory_get_info_for_new_files):
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory.c (call_files_added),
(call_files_added_free_list) (call_files_changed),
(call_fiels_changed_free_list), (call_get_file_info_free_list),
(nautilus_directory_notify_files_added),
(nautilus_directory_notify_files_removed),
(nautilus_directory_notify_files_moved):
Implemented async. lookup of information about newly arrived
files. Changed moved files to work without a new call to get
file information. Fixed some storage leaks.
* libnautilus-extensions/nautilus-directory-async.c
(empty_close_callback), (metafile_read_close),
(nautilus_metafile_read_cancel), (metafile_read_callback),
(metafile_read_some), (metafile_read_open_callback),
(metafile_write_callback): Fixed bug where we were not closing
files when cancelling. This requires a bug fix in GNOME VFS to be
effective.
* libnautilus-extensions/nautilus-directory-async.c
(dequeue_pending_idle_callback):
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory.c
(nautilus_directory_destroy):
Use new functions in GNOME VFS instead of our own.
* components/html/ntl-web-browser.c (main): Fixed a warning.
* docs/nautilus.faq: Tweak.
* libnautilus/nautilus-view-frame.c,
* libnautilus/nautilus-zoomable.c,
* libnautilus-extensions/nautilus-icon-text-item.c,
* libnautilus-extensions/nautilus-link.c,
* libnautilus-extensions/nautilus-mime-type.c:
Wrote bug reports for all FIXMEs in these files. Down to
45 in Nautilus with no bug report.
2000-04-26 Rebecca Schulman <rebecka@eazel.com>
Fixed bug #99: Implemented copy, paste, clear, and cut for text
Added new files nautilus-clipboard.c,h which contains clipboard
functionality. All components with text widgets should use this
code. It can just be copied from any existing sample code
(see ntl-notes.c in the notes component)
The frame cut, copy and paste stuff is now happy when there is a
widget in focus.
Added
* libnautilus/nautilus-clipboard.c
* libnautilus/nautilus-clipboard.h
Modified
* src/nautilus-window-menus.c (turned on clear, fixed up callbacks for cut, copy, and
paste buttons)
* components/notes/ntl-notes.c (Clipboard activated notes text box)
* components/websearch/ntl-web-search.c (Clipboard activated the search box)
* check-FIXME.pl: Added the three desktop-drawing files
that aren't included in the build to the list of files
in which to ignore FIXMEs.
* nautilus-widgets/nautilus-caption-table.c,
* nautilus-widgets/nautilus-preferences-group.c,
* nautilus-widgets/nautilus-preferences.c,
* src/file-manager/dfos-xfer-progress-dialog.c,
* src/file-manager/dfos-xfer.c:
Wrote bug reports for all FIXMEs in these files. Down to
54 in Nautilus with no bug report.
* src/nautilus-bookmarks-window.c,
* src/nautilus-location-bar.c,
* src/nautilus-window-menus.c,
* src/nautilus-zoom-control.c,
* src/ntl-main.c,
* src/ntl-uri-map.c:
Wrote bug reports for all FIXMEs in these files. Down to
71 in Nautilus with no bug report.
* src/nautilus-index-title.c,
* libnautilus-extensions/nautilus-gdk-extensions.h,
* libnautilus-extensions/nautilus-gdk-extensions.c:
(select_font): Moved this function to gdk_extensions
and renamed it nautilus_get_largest_fitting_font.
* src/nautilus-index-tabs.c,
* src/nautilus-index-title.c,
* src/file-manager/fm-list-view.c,
* src/file-manager/fm-properties-window.c:
Wrote bug reports for all (other) FIXMEs in these files. Down to
81 in Nautilus with no bug report.
* src/file-manager/fm-directory-list.c: Removed this
unused file rather than dealing with its FIXMEs (at
Darin's suggestion).
* src/file-manager/fm-directory-view.c,
* src/file-manager/fm-icon-view.c:
Wrote bug reports for all FIXMEs in these files. Down to 90
in Nautilus with no bug report.
* libnautilus-extensions/nautilus-directory-async.c
(nautilus_directory_file_monitor_add):
Fixed an assert that was breaking "make check".
* libnautilus-extensions/nautilus-directory.c
(nautilus_directory_notify_files_added),
(nautilus_directory_notify_files_moved):
Updated bug numbers on FIXMEs in here.
* libnautilus-extensions/nautilus-directory.c,
* libnautilus-extensions/nautilus-file-utilities.c,
* libnautilus-extensions/nautilus-file.c,
* libnautilus-extensions/nautilus-icon-factory.c:
Wrote bug reports for all FIXMEs in these files.
* nautilus-widgets/nautilus-caption-table.c,
nautilus-widgets/nautilus-caption-table.h,
test-nautilus-widgets.c: Add a caption table widget which i will
later use for a password prompt dialog.
2000-04-26 Pavel Cisler <pavel@eazel.com>
* librsvg/test-rsvg.c:
Make it build:
Add a workaround const cast for poptGetContext that thinks it's using
const properly.
2000-04-26 Pavel Cisler <pavel@eazel.com>
* src/file-manager/fm-directory-view.c
* src/file-manager/fm-directory-view.h:
(bonobo_menu_open_in_new_window_cb), (bonobo_menu_delete_cb),
(bonobo_menu_duplicate_cb), (fm_directory_view_get_model),
(fm_directory_view_delete_with_confirm), (append_uri_one),
(fm_directory_duplicate_selection), (compute_menu_item_info),
(fm_directory_view_real_append_selection_),
(fm_directory_view_real_merge_menus),
(fm_directory_view_real_update_menus), (free_file_by_uri_map),
(fm_directory_view_get_context_menu_index):
Added "Move to Trash" and "Empty Trash" menu items.
Disabled the existing Delete code (I'll scavenge it later to implement
Delete as a fallback.)
* src/file-manager/dfos-xfer.h:
* src/file-manager/dfos-xfer.c (file_operation_alert), (fs_xfer),
(get_parent_make_name_list), (fs_move_to_trash):
Add move to trash and empty trash calls.
* libnautilus-extensions/nautilus-file-changes-queue.c
(nautilus_file_changes_queue_get_change),
(nautilus_file_changes_consume_changes):
Fix a problem with nautilus_file_changes_consume_changes getting called
when there is no change allocated yet.
* libnautilus-extensions/nautilus-directory.c
(nautilus_directory_notify_files_added),
(nautilus_directory_notify_files_removed),
(nautilus_directory_notify_files_moved):
Got rid of old debugging code.
Removed usage of global preferences from everywhere. There is no
longer a global preferences object. All preference peek/poke
operations are done through a gconf client thing.
* HACKING: Updated URL for popt.
* components/rpmview/nautilus-rpm-view.c:
(nautilus_rpm_view_update_from_uri):
Changed to use FD_t for real instead of casting a pointer to a
raw file descriptor to it.
* libnautilus-extensions/nautilus-directory-async.c:
Told it to load 32 items at a time instead of 1.
I think it's time we try this. It seems to work.
* src/ntl-uri-map.c (my_notify_when_ready),
(got_metadata_callback): Change to use the new version of
async. get_file_info.
* data/mime/nautilus.keys
Removed [en_US] from file-type human-readable descriptions.
Added text explaining how to add a localized description.
This fixes problem where if your language variable isn't
set you get raw MIME types instead of human-readable descriptions.
and fixing some trivial ones. 14 down, 152 Nautilus
FIXMEs to go.
* src/ntl-index-panel.c:
Wrote bug reports for all FIXMEs in this file.
* src/ntl-window-msgs.c,
* src/ntl-window-private.h,
* src/ntl-window.c:
(view_menu_switch_views_callback),
(nautilus_window_load_content_view_menu): Moved functions from
ntl-window-msgs.c to ntl-window.c. Updated private header file
as necessary.
Wrote bug reports for all other FIXMEs in these files.
TRUE for /root, but shouldn't). Only remaining issue is
the no-nautilus-file-for-/ problem, which is already written
up separately.
Fixed bug 546 (Folders/files without read permissions should
not be viewable).
* libnautilus-extensions/nautilus-file.h,
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_denies_access_permission): New private
function that checks permissions, including checking
whether the current user is the owner or in the group
of the queried file. If permissions aren't valid, returns
FALSE.
(nautilus_file_can_read), (nautilus_file_can_write),
(nautilus_file_can_execute): New public functions that
use nautilus_file_denies_access_permission to determine
which access permissions the current user has. They return
TRUE if permissions aren't valid, so callers still have to
be prepared to handle failures.
(nautilus_file_can_rename): Now calls nautilus_file_can_write
on the parent directory. Formerly it was just checking the
permission flags directly, ignoring whether the current user
was the owner or not. This fixes part of bug 556.
* src/ntl-window-msgs.c:
(handle_unreadable_location): New private function, puts up
an alert if the user tries to switch to an unreadable location.
(nautilus_window_request_location_change): Try
handle_unreadable_location before starting up the state transition.
This fixes bug 546.
* src/file-manager/fm-error-reporting.c:
(fm_report_error_renaming_file): Add missing _()'s around messages.
* components/music/nautilus-music-view.c
(nautilus_music_view_update_from_uri): Spacing tweak.
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory.c:
* libnautilus-extensions/nautilus-directory-async.c:
* libnautilus-extensions/nautilus-file.c:
Moved half of nautilus-directory.c into a new file as a first step
in cleaning up the state machine a bit.
* libnautilus-extensions/nautilus-icon-grid.c:
Refactored the grid to use a variable-size grid that sizes itself
to the items in the grid.
* libnautilus-extensions/nautilus-file-utilities.c
(nautilus_user_top_directory): Formatting tweak.
* libnautilus-extensions/nautilus-gtk-extensions.c
(nautilus_pop_up_context_menu): Got rid of gpointer cast, since
George's "find bad casts" grep found it and it's not needed.
* nautilus-widgets/test-preferences.c: Got rid of gpointer cast,
since George's "find bad casts" grep found it and it's not needed.
The most important fix was to add OAF_CFLAGS and OAF_LIBS. Without that
the build was failing. But these files still have a hard-coded
/usr/include path for librpm.
2000-04-23 Martin Baulig <martin@home-of-linux.org>
* configure.in: Check for -lrpm and its dependency libs.
On success, define HAVE_RPM and AC_SUBST(RPM_LIBS).
Added BUILD_RPMVIEW_COMPONENT automake conditional.
* acconfig.h (HAVE_RPM): Added.
* components/Makefile.am: Conditionally compile rpmview.
* components/rpmview/Makefile.am: Use $(RPM_LIBS) rather than
-lrpm so we get the correct dependency libs such as -lgz2.
2000-04-21 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-icon-canvas-item.c
* libnautilus-extensions/nautilus-icon-canvas-item.h
(nautilus_icon_canvas_item_get_max_text_width):
Return value of MAX_TEXT_WIDTH constant. Used is positoning the rename
text widget.
* libnautilus-extensions/nautilus-icon-container.c
Added signal "icon_text_edit_occurred" called when the text rename widget
recieves some sort of edit, such as a keyboard entry.
(rename_text_dirty): Returns boolean indicating edit state of
text in rename widget. Used in undo operation.
(text_edited_callback): Signal callback called when NautilusIconTextItem
text is edited.
(nautilus_icon_container_start_renaming_selected_item): Fixed positioning
code to address bug #543
(nautilus_icon_container_undo_renaming_selected_item): Added simple undo
code. This needs to be replaced with a global undo system.
* libnautilus-extensions/nautilus-icon-text-item.c
(iti_paint_text): Fixed drawing of i-beam to address bug #506
(iti_event): Added keyboard handling for simple undo
(nautilus_icon_text_item_get_margins): Returns values of MARGIN_X and
MARGIN_X constants. Used when positioning text item in canvas.
* src/file-manager/fm-directory-view.c
Moved menu item title constants to header file. This is needed so
FMIconView can get menu position paths when placing items in the
bonobo and contect menus. Renamed the constants to be specific to
FMDirectoryView.
(fm_directory_view_get_context_menu_index): Added function to return
index of requested menu item.
* src/file-manager/fm-icon-view.c
(fm_icon_view_icon_text_edit_callback): Callback that connect to
NautilusIconContainer signal.
(undo_rename_icon_callback): Added simple undo functionality.
(insert_one_context_menu_item): Added function to insert context menu
add a specific index.
Fixed bug #499, Rename menu in bad place in context menu.
* src/ntl-window-state.h,
src/ntl-window-state.c: (nautilus_window_save_state)
(nautilus_window_load_state): Retired these two old and unused
functions. We dont use gnome_config to store metaview state no
more.
* components/history/ntl-history-view.c
(hyperbola_navigation_history_notify_location_change):
Fixed a typo that was causing the history view to fail.
* components/music/nautilus-music-view.c
(nautilus_music_view_initialize_class),
(nautilus_music_view_initialize), (setup_title_font),
(nautilus_music_view_realize):
Changed to use new nautilus_gtk_widget_set_font_by_name
and got rid of the old realize hack.
* components/rpmview/nautilus-rpm-view.c
(nautilus_rpm_view_initialize):
Added a FIXME about how it's bad to hard-wire a font.
* components/services/startup/nautilus-service-startup-view.c
(setup_title_font), (setup_form_title),
(nautilus_service_startup_view_initialize),
(nautilus_service_startup_view_realize),
(nautilus_service_startup_view_load_uri):
Changed to use new nautilus_gtk_widget_set_font_by_name
and got rid of the old realize hack.
* libnautilus-extensions/nautilus-gtk-extensions.h:
* libnautilus-extensions/nautilus-gtk-extensions.c
(nautilus_gtk_style_set_font): Made public.
(nautilus_gtk_widget_set_font): Added comments and checks on
the parameters.
* libnautilus-extensions/nautilus-icon-container.c (relayout),
(idle_handler), (nautilus_icon_container_move_icon),
(world_width_changed), (end_stretching), (button_release_event),
(handle_icon_button_press), (nautilus_icon_container_add_auto),
(nautilus_icon_container_remove),
(nautilus_icon_container_set_auto_layout):
Some tweaks for auto-layout mode. Made it work better with
stretching by not laying out the currently-stretched icon,
simplified the code a bit, and made it relayout when an icon
is removed.
* src/file-manager/fm-directory-view.c (compute_menu_item_info),
(fm_directory_view_real_merge_menus):
Got rid of the "..." from "Delete...". On Macintosh, at least,
the "..." is only used when the dialog is something that adds
parameters to the command, not when it's just a confirmation.
* src/nautilus-index-title.c (update_font),
(nautilus_index_title_update_label),
(nautilus_index_title_update_info):
Changed to use new nautilus_gtk_widget_set_font and
nautilus_gtk_widget_set_font_by_name.
* src/ntl-index-panel.c (nautilus_index_panel_remove_meta_view):
Made the index panel do *slightly* better when a meta view
fails to load.
* components/help/hyperbola-main.c (main):
Fixed a warning.
2000-04-20 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_notify_files_moved):
Darin helped me finish implementing the missing parts of the call, including
updating the reference to the new directory object, updating the
file info structure to match the file's new location.
Fixed a silly bug in an if statement.
* libnautilus-extensions/nautilus-file-changes-queue.c:
Fixed another silly bug where 'file moved' notifications were
misinterpreted as file-removed ones.
* libnautilus-extensions/nautilus-graphic-effects.c:
(nautilus_make_semi_transparent), (create_new_pixbuf_with_alpha):
Create a new pixbuf that has an alpha channel even if the original
pixbuf didn't!
2000-04-19 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_notify_files_added):
Work on making new files show up during copy. This is a simple version
using sync gnome_vfs_get_file_info calls, we'll need a version that
uses a new async get_file_info call that takes a list of URIs and
produces a list of file info structs.
* libnautilus-extensions/nautilus-directory.c:
* libnautilus-extensions/nautilus-file.c:
* libnautilus-extensions/nautilus-file.h:
(update_file_info_in_list_if_needed), (dequeue_pending_idle_callback),
(nautilus_file_update):
Made dequeue_pending_idle_callback deal with getting duplicate
file info structures or file info structures for files we already
know about. This also fixes 395.
* libnautilus-extensions/nautilus-file-changes-queue.c
Added some better comments and removed a fixme that didn't really need
fixing.
bugs for the FIXME items but we were distracted into fixing bugs
and tweaking code that we found while doing so.
* check-FIXME.pl: Won't search old ChangeLogs for FIXMEs either;
changed FIXME format from "FIXME bug xxx" to "FIXME bugzilla.eazel.com xxx"
* components/history/ntl-history-view.c:
(hyperbola_navigation_history_notify_location_change): Moved bookmark
naming hack here and added FIXME explaining it.
* libnautilus-extensions/nautilus-bookmark.h,
* libnautilus-extensions/nautilus-bookmark.c:
(nautilus_bookmark_new), (nautilus_bookmark_new_with_name):
Combined these two into one routine that takes both the uri and
title; removed hack for trying to come up with good name for
bookmark here.
(nautilus_bookmark_get_pixmap_and_mask): Changed to call
_get_pixbuf instead of duplicating code.
(nautilus_bookmark_get_pixbuf): Changed interface to return
pixbuf or NULL instead of boolean result & "out" parameter.
* src/nautilus-bookmark-list.c,
* src/nautilus-bookmarks-window.c,
* src/nautilus-window-menus.c,
* src/ntl-window-msgs.c:
Updated callers of nautilus_bookmark_new and _new_with_name.
* libnautilus-extensions/nautilus-icon-container.c:
(world_width_changed): New function, extracted from size_allocate.
(size_allocate): Call world-width-changed.
(nautilus_icon_container_set_zoom_level): Call world_width_changed.
This makes zooming relayout when in auto-layout mode.
* src/nautilus-window-menus.c:
(append_bookmark_to_menu): Added line where bookmark is set in
BookmarkHolder. This had been accidentally deleted, breaking all
bookmarks.
* src/ntl-view.c (nautilus_view_destroy_client): Destroy the
ViewFrame instead of unreffing. This is the only way to be sure
the Control is fully unref()d. Ideally Bonobo would let us unbind
the frame from the control to break the circular refs.
* src/ntl-uri-map.c (my_notify_when_ready): Fix fallback_iid for
moz protocol.
* components/mozilla/main.c (main): Remove ev variable to shut up gcc.
* src/ntl-app.c, components/notes/ntl-notes.c: Remove some
spurious debugging statements I accidentally left in.
OAF conversion. You must now build bonobo and gnome-vfs with --enable-oaf
* configure.in: Check for OAF
* libnautilus/nautilus-view-component.idl: Inherit from
Bonobo::Unknown instead of GNOME::Unknown.
* libnautilus-extensions/nautilus-global-preferences.c,
libnautilus-extensions/nautilus-global-preferences.h: Refer to
meta views by OAFIID, not GOAD ID.
* src/ntl-uri-map.c (my_notify_when_ready): Replaced hardcoded
list of GOAD IDs with a hardcoded list of OAFIIDs.
(add_components_from_metadata): Changed the expected format; it is
now label=component instead of component:label since OAFIIDs
contain colons.
* src/ntl-view.c (nautilus_view_destroy_client): unref the
Zoomable interface of the View, if any.
* src/file-manager/dfos-corba.c, src/file-manager/dfos.c: replace
GOAD calls with OAF ones; untested since this code is not really
used right now.
* src/ntl-main.c: Use OAF calls to intialize CORBA.
* src/ntl-app.c: Replace GOAD IDs with OAFIIDs. Use
Bonobo_Generic_Factory instead of GNOME_Generic_Factory to make
the linker happy. Register the factory server with OAF, not GOAD.
* src/nautilus.h: Include <liboaf/liboaf.h> instead of <libgnorba/gnorba.h>
* components/help/Makefile.am, components/history/Makefile.am,
components/html/Makefile.am, components/mozilla/Makefile.am,
components/music/Makefile.am, components/notes/Makefile.am,
components/rpmview/Makefile.am, components/sample/Makefile.am,
components/services/startup/Makefile.am,
components/websearch/Makefile.am, libnautilus/Makefile.am,
libnautilus-extensions/Makefile.am, src/Makefile.am,
src/file-manager/Makefile.am: Updated for OAF; install .oafinfo
files instead of .gnorba.
* components/help/hyperbola-main.c,
components/history/ntl-history-view.c,
components/html/ntl-web-browser.c, components/mozilla/main.c,
components/music/main.c, components/notes/ntl-notes.c,
components/rpmview/main.c, components/sample/main.c,
components/services/startup/main.c,
components/websearch/ntl-web-search.c: Convert to OAF; use OAFIIDs
and oaf intialization functions.
* src/nautilus.oafinfo, components/help/hyperbola.oafinfo,
components/history/ntl-history-view.oafinfo,
components/html/ntl-web-browser.oafinfo,
components/music/nautilus-music-view.oafinfo,
components/notes/ntl-notes.oafinfo,
components/rpmview/nautilus-rpm-view.oafinfo,
components/services/startup/nautilus-service-startup-view.oafinfo,
components/websearch/ntl-web-search.oafinfo,
components/sample/nautilus-sample-content-view.oafinfo,
components/mozilla/nautilus-mozilla-content-view.oafinfo: New OAF
activation records.
* src/nautilus.goad, components/help/hyperbola.goad,
components/history/ntl-history-view.goad,
components/html/ntl-web-browser.goad,
components/music/nautilus-music-view.goad,
components/notes/ntl-notes.goad,
components/rpmview/nautilus-rpm-view.goad,
components/services/startup/nautilus-service-startup-view.goad,
components/websearch/ntl-web-search.goad,
components/sample/nautilus-sample-content-view.goad,
components/mozilla/nautilus-mozilla-content-view.goad: Removed.
* configure.in,
acconfig.h: Add support for setting a reasonable default for
MOZILLA_FIVE_HOME - which mozilla needs to survie.
* components/mozilla/main.c: (mozilla_setup_environment) Add a
function to hack the mozilla environment into something that might
have a chance of working by default.
* src/ntl-uri-map.c: Add a temporary hack protocol moz:// to test
mozilla in isolation from gnome-vfs trying to do http stuff.
* configure.in: Add voodoo to support --with-mozilla.
* components/Makefile.am: Add conditional build of mozilla subdir.
* components/mozilla/Makefile.am: Un-hardcode cflags and libs.
Use the values set in configure instead.
* components/mozilla/.cvsignore: Ignore built binary
* components/mozilla/Makefile.am: Link with the right stuff. Link
only against libnautilus to be legit.
* components/mozilla/nautilus-mozilla-content-view.h,
components/mozilla/nautilus-mozilla-content-view.c: Dont use
code from libnautilus-extensions. Fix struct tag names.
* nautilus-widgets/nautilus-preferences.c,
nautilus-widgets/nautilus-preferences.h:
Simplify be removing all arguments from callbacks save for the
user data.
(nautilus_preferences_add_string_callback): Rename to
nautilus_preferences_add_callback since string preferences are the
default.
* libnautilus-extensions/nautilus-global-preferences.c:
(user_level_changed_callback): Simplify a bit. Update for new
simple preference callbacks.
libnautilus-extensions/nautilus-icon-container.c,
libnautilus-extensions/nautilus-icon-factory.c,
libnautilus-extensions/nautilus-list.c: Update for new simple
preference callbacks.
* src/file-manager/fm-directory-view.c,
src/file-manager/fm-icon-view.c: Update for new simple
preference callbacks.
src/file-manager/fm-icon-text-window.c: Update for new
simple preference callbacks and removed unecessary usage of
icon_view_text_attribute_changed_callback. Use
synch_menus_with_preference directly instead.
* nautilus-widgets/nautilus-preferences.c:
(nautilus_preferences_get): If the stored default value is null,
is the given on. Do this only for strings, since integral types
can legally have a value of zero.
* nautilus-widgets/nautilus-preferences-item.c:
(preferences_item_create_enum), (enum_radio_group_changed_cb):
Deal with the enumeration values. Before it was assuming it
started at ZERO.
* libnautilus-extensions/nautilus-global-preferences.c:
NAUTILUS_USER_LEVEL_*: Make this enum begin with a non zero
value. The zero value can be misintepreted by preferences as a
default leading to confusion.
(user_level_changed_callback): Add a default case just in case!
(nautilus_global_preferences_startup): Invoke
user_level_changed_callback once to make sure stuff is properly
setup.
2000-04-18 Pavel Cisler <pavel@eazel.com>
* src/file-manager/dfos-xfer.c:
(handle_xfer_overwrite):
Only offer "Replace All" in an overwrite conflict error dialog if
there is more than one conflicting item to deal with.
* libnautilus-extensions/nautilus-icon-container.c:
* libnautilus-extensions/nautilus-icon-container.h:
(compare_icons), (idle_handler), (nautilus_icon_container_move_icon),
(size_allocate), (nautilus_icon_container_initialize_class),
(nautilus_icon_container_set_auto_layout):
First cut at the auto-layout feature. It just does a lot of
re-laying things out.
* libnautilus-extensions/nautilus-icon-container.h:
* libnautilus-extensions/nautilus-list.h:
Added interfaces for telling whether to use single-click mode or
not. A first step in moving preferences code out of here and
into the file-manager classes.
* libnautilus-extensions/fm-icon-view.c:
(create_icon_container), (icon_container_compare_icons_callback):
Provide a sorting order for the auto-layout mode.
* librsvg/test-rsvg.c:
Rolled out the change to work with the old popt that Pavel
accidentally checked as Gene in when he was helping me.
2000-04-18 Gene Z. Ragan <gzr@eazel.com>
*libnautilus-extensions/nautilus-icon-canvas-item.c
*libnautilus-extensions/nautilus-icon-canvas-item.h
Renamed several public functions to use proper nomenclature.
An example would be changing nautilus_icon_canvas_get_editable_text_bounds
to nautilus_icon_canvas_item_get_editable_text_bounds. A few of
these misnaming were in my last submission.
*libnautilus-extensions/nautilus-icon-container.c
*libnautilus-extensions/nautilus-icon-container.h
Renamed nautilus_icon_container_show_rename_widget to
nautilus_icon_container_start_renaming_selected_item
*libnautilus-extensions/nautilus-icon-text-item.c
Fixed the following bugs:
487 Trying to rename an icon to empty string should revert to original
498 Renaming text field looks silly when empty
500 text-editng box too narrow when renaming files with short names
508 Icon text appears and disappears incorrectly when zooming
* libnautilus-extensions/nautilus-directory.c:
(uri_get_directory_part), (uri_get_basename),
(get_parent_directory), (get_parent_directory_if_exists),
(call_files_added), (call_files_changed),
(hash_table_list_prepend),
(nautilus_directory_notify_files_added),
(nautilus_directory_notify_files_removed),
(nautilus_directory_notify_files_moved):
Another cut at the notify code.
* libnautilus-extensions/nautilus-file-private.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_mark_gone): Made part of the deleted code
accessible for the notify code.
* libnautilus-extensions/nautilus-directory-private.h:
Renamed remove_file_monitor_link to add a nautilus
prefix since it's no longer a local function.
from the "not yet known" item count. Unreadable directories
shows "xxx" and "not yet known" shows "--". This fixes bug 513.
* libnautilus-extensions/nautilus-file.h,
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_compare_directories_by_size): Put unreadable
counts before unknown counts before known counts.
(nautilus_file_get_directory_item_count): New result parameter
that callers can use to distinguish unreadable case from
unknown case.
(nautilus_file_get_size_as_string): return different string
if unreadable.
* libnautilus-extensions/nautilus-directory.c:
(directory_count_callback): Call nautilus_file_changed
even when we discover that the count is unreadable.
* src/file-manager/fm-directory-view.c:
(display_selection_info): pass NULL for unreadable parameter
because this caller doesn't care why it's not known.
2000-04-18 Pavel Cisler <pavel@eazel.com>
* src/file-manager/dfos-xfer.c:
(handle_xfer_vfs_error):
The function of the Abort and Retry buttons in the file operation error
alert was inverted.
* libnautilus-extensions/nautilus-directory.c:
(stop_monitoring_files): Renamed to stop_monitoring_file_list.
(nautilus_directory_destroy): Only stop monitoring list if we
were monitoring list, but always complain about non-NULL
file_monitors.
(nautilus_directory_file_monitor_remove_internal): Only
stop monitoring list if we had been monitoring it. This fixes
CRITICAL when you launch and immediately quit.
* libnautilus-extensions/nautilus-directory.c:
(dequeue_pending_idle_callback),
(nautilus_directory_file_monitor_remove_internal),
(nautilus_directory_notify_files_added): Deployed
new is_file_list_monitored function in three places.
Two of these were bugs, one was code duplication.
This was a missing pieces of the async framework. Darin helped
me finish it up.
* libnautilus-extensions/nautilus-directory-private.h:
Put FileMonitor struct here so NautilusFile can use it.
(nautilus_directory_file_monitor_add_internal),
(nautilus_directory_file_monitor_remove_internal),
(remove_file_monitor_link): New functions, shared between
NautilusDirectory and NautilusFile.
* libnautilus-extensions/nautilus-file.c:
(destroy): Complain about then clean up any remaining FileMonitors.
(nautilus_file_monitor_add), (nautilus_file_monitor_remove): Fill
in the implementation for these formerly-empty routines.
* libnautilus-extensions/nautilus-directory.c:
Moved FileMonitor struct out.
(nautilus_directory_destroy): assert that there's no count_in_progress.
(compare_file_monitor_with_client): changed name to
(compare_file_monitor_by_client_and_file) and behavior to match.
(find_file_monitor): Now takes a file and uses it in search.
(cancel_unneeded_file_attribute_requests): New function, cleans up
no-longer-needed gnome vfs async calls.
(remove_file_monitor_link): New function, removes a file monitor
and cleans up storage.
(remove_file_monitor): Uses remove_file_monitor_link to fix
storage leak.
(is_file_list_monitored): New function, checks whether anyone is
monitoring all files in this directory.
(nautilus_directory_file_monitor_add_internal),
(nautilus_directory_file_monitor_remove): New functions,
generalized from old non-internal versions to handle the single-file
case too.
(nautilus_directory_file_monitor_add),
(nautilus_directory_file_monitor_remove): Now calls _internal function.
(process_pending_file_attribute_requests): Now handles single-file
case as well as all-files case.
* src/nautilus-index-title.c:
(nautilus_index_title_set_uri): Move the item-count-monitoring
code inside the file != NULL check so it doesn't fail at the
root (where, due to a bug, file is NULL).
Did some work for the new notify hooks that Pavel made.
I'll finish those hooks soon.
* src/file-manager/fm-icon-view.h:
* src/file-manager/fm-icon-text-window.h:
* src/file-manager/fm-icon-text-window.c:
(set_preference_string), (synch_menus_with_preference),
(icon_view_text_attribute_changed_callback),
(fm_get_text_attribute_names_preference_or_default):
* src/file-manager/fm-icon-view.c: (fm_icon_view_initialize),
(fm_icon_view_get_icon_text_attribute_names),
(text_attribute_names_changed_callback):
Moved attribute names default into FMIconTextWindow and made
the callers use a new call that gets either the preference or
the default if the preference is invalid. Also simplified the
code since we don't need to cache the preference in either the
FMIconTextWindow or the FMIconView.
* libnautilus-extensions/nautilus-directory.c:
(is_canonical_uri): Added a function for use in asserts.
(nautilus_directory_get): Assert that we successfully
made the URI canonical.
(parent_directory_if_exists), (file_if_exists): Helper
functions for implementing the notify calls.
(nautilus_directory_notify_files_added),
(nautilus_directory_notify_files_removed),
(nautilus_directory_notify_files_moved):
Fleshed out the bones of these routines a bit more.
They are still not done. Also changed their interfaces
so they are not responsible for freeing their parameters.
* libnautilus-extensions/nautilus-directory.h:
* libnautilus-extensions/nautilus-directory.c:
* libnautilus-extensions/nautilus-file.h:
(nautilus_directory_contains_file):
New call to be used instead of nautilus_file_is_gone
for callers that are monitoring a directory.
* libnautilus-extensions/nautilus-file-changes-queue.c:
(pairs_list_free), (nautilus_file_changes_consume_changes):
Make the caller free the list instead of the called function
Also reordered the changes so deletions come before additions.
* src/file-manager/fm-directory-view.c: (display_pending_files):
* src/file-manager/fm-list-view.c: (fm_list_view_file_changed):
* src/file-manager/fm-icon-view.c: (fm_icon_view_file_changed):
Changed to use nautilus_directory_contains_file instead of
nautilus_file_is_gone.
2000-04-17 Pavel Cisler <pavel@eazel.com>
This checkin requires new gnome-vfs.
Plumbing for making copied/moved/deleted files show up update
in their respective new locations.
* libnautilus-extensions/nautilus-file-changes-queue.h
* libnautilus-extensions/nautilus-file-changes-queue.c
* libnautilus-extensions/Makefile.am
Shared queue used by the copy engine to send update notification
requests to NautilusDirectory during file copy/move/delete operations.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_notify_files_added),
(nautilus_directory_notify_files_removed),
(nautilus_directory_notify_files_moved):
Stub calls that will be hooked up to the NautilusDirectory
notification calls to dispatch the notification updates.
* src/file-manager/dfos-xfer.c:
(sync_xfer_callback):
New callback that gets called in the async copy engine context
and produces change entries stuffing them into the file changes
queue.
* src/file-manager/dfos-xfer.c:
(handle_xfer_ok):
Added calls to the new nautilus_file_changes_consume_changes
from the progress update callback. This callback is called in
the user interface context and consumes the change entries
from the file changes queue, sending them in chunks to be
dispatched by to the individual Nautilus directory objects.
* src/file-manager/dfos-xfer.c:
(handle_xfer_ok):
Updated to use new progress enum values.
* src/file-manager/dfos-xfer.c:
(update_xfer_callback):
Renamed from sync_xfer_callback.
* src/file-manager/dfos-xfer.c:
(gnome_vfs_async_xfer):
Pass in new sync_xfer_callback parameters.
them is not yet implemented.
Did some cleanup on the new renaming code.
* nautilus-glib-extensions.c:
* nautilus-glib-extensions.h:
Added nautilus_g_list_exactly_one_item and
nautilus_g_list_more_than_one_item. These are more-efficient
versions of g_list_length (x) == 1 and g_list_length (x) > 1.
* nautilus-icon-canvas-item.c:
(draw_or_measure_label_text): Add a line break between the
editable text and the additional text.
(nautilus_icon_canvas_get_text_bounds),
(nautilus_icon_canvas_get_editable_text_bounds),
(nautilus_icon_canvas_get_editable_text),
(nautilus_icon_canvas_set_renaming):
Replaced g_assert with g_return_if_fail calls, and added the
complete set of g_return_if_fail.
(nautilus_icon_canvas_set_renaming): Don't update the item
unless the renaming state has actually changed.
* nautilus-icon-canvas-item.h: Fixed formatting.
* nautilus-icon-container.c:
* nautilus-icon-container.h:
Added nautilus_icon_container_set_auto_layout and
nautilus_icon_container_is_auto_layout. For now they are
placeholders that just modify a boolean.
* nautilus-icon-private.h:
Added the auto_layout boolean.
* nautilus-icon-text-item.c:
* nautilus-icon-text-item.h:
Just some formatting and other minor cleanup.
* nautilus-metadata.h:
Added NAUTILUS_METADATA_KEY_ICON_VIEW_AUTO_LAYOUT.
* nautilus-location-bar.c (drag_data_received_cb): Use the new
nautilus_g_list_more_than_one_item function.
* fm-directory-view.c (bonobo_menu_open_cb), (open_cb): Use the
new nautilus_g_list_exactly_one_item.
* fm-icon-text-window.c (attribute_names_string_is_good),
(set_preference_string), (synch_menus_with_preference),
(preference_changed_callback),
(changed_attributes_option_menu_cb): Got rid of the hard-coded
first item "name" which is no longer needed. Also changed to
handle bad data in the preferences.
* fm-icon-view.c (fm_icon_view_initialize_class): Updated since
there's no "name" item needed any more.
(fm_icon_view_compute_menu_item_info): Merged MENU_PATH_RENAME
with MENU_RENAME_TEXT and simplified the logic.
(fm_icon_view_append_selection_context_menu_items): Merged
MENU_PATH_RENAME with MENU_RENAME_TEXT.
(update_layout_menus), (auto_layout_callback),
(manual_layout_callback), (fm_icon_view_merge_menus): Added menu
items for auto layout and for manual layout.
(fm_icon_view_begin_loading): Load setting for auto layout from
metadata.
(fm_icon_view_get_icon_text_attribute_names): Changed to get rid
of the "name" first item from the list of text attributes.
(get_icon_editable_text_callback): Simplified since the editable text
is always the icon name. Also got rid of copied and pasted code that's
no longer needed for this case.
(get_icon_additional_text_callback): Got rid of special case for name,
since the name is no longer treated as an attribute.
2000-04-18 Gene Z. Ragan <gzr@eazel.com>
Added functionality to allow files to be renamed in icov view. This feature is
available by either context click on the icon or selecting a single file and choosing "Rename" form the File menu.
* libnautilus-extensions/nautilus-icon-text-item.c
* libnautilus-extensions/nautilus-icon-text-item.h: New files.
This is an editable icon text item used in the renaming feature.
It is based on GnomeIconTextItem but modified to fix bugs in the
original code and add extended functionality need by nautilus. If
thse changes were rolled into the current GnomeIconTextItem, it would
break gmc.
* libnautilus-extensions/Makefile.am
Modified file so that the two new files listed above would properly
be included in generated makefiles.
* libnautilus-extensions/nautilus-icon-canvas-item.c
Split text class variable into two variables, editable_text and
additonal_text. editable_text refers to attributes that the user can change
via rename in place. additional_text is any other text that the user cannot
edit via the rename in place feature. Added a boolean flag, is_renaming, to
check against during various operations that effect the renaming feature.
Removed ARG_TEXT argument ID and replaced with ARG_EDITABLE_TEXT and
ARG_ADDITIONAL_TEXT.
(nautilus_icon_canvas_item_initialize_class): Function now check for both
ARG_EDITABLE_TEXT and ARG_ADDITIONAL_TEXT. Removed check for ARG_TEXT.
(nautilus_icon_canvas_item_destroy): Both editable_text and
additonal_text are freed.
(nautilus_icon_canvas_item_set_arg): Removed ARG_TEXT and added
handling of ARG_EDITABLE_TEXT and ARG_ADDITIONAL_TEXT.
(nautilus_icon_canvas_item_get_arg): Removed ARG_TEXT and added
handling of ARG_EDITABLE_TEXT and ARG_ADDITIONAL_TEXT.
(draw_or_measure_label_text): Modified function to not draw the label
icon text if we are renaming in place.
(draw_or_measure_label_text): Function now combines editable and additional
text when performing the measuring operation.
(compute_editable_text_rectangle): Added function to compute bounds of
editable text. This is used to determine size and placement of editable
text item when in renaming mode.
(nautilus_icon_canvas_get_text_bounds): Public API to get bounds of
icon label text.
(nautilus_icon_canvas_get_editable_text_bounds): Public API to get bounds of
editable icon label text.
(hit_test_pixbuf): Added check against is_renaming flag.
(nautilus_icon_canvas_get_editable_text): Public API to get editable text string.
(nautilus_icon_canvas_item_set_renaming): Public API to toggle is_renaming flag.
* libnautilus-extensions/nautilus-icon-canvas-item.h
Added public API prototypes to functions described above.
* libnautilus-extensions/nautilus-icon-container.c
Added GET_ICON_EDITABLE_TEXT and GET_ICON_ADDITONAL_TEXT signals.
Removed GET_ICON_TEXT signal. Added ICON_TEXT_CHANGED signal.
(icon_toggle_selected): Renaming mode is now exited when a selection/deselection occurs.
(key_press_event): GDK_Return ends rename mode and attempts to accept modification. GDK_Escpae
ends rename mode and reverts modification to original.
(nautilus_icon_container_initialize_class): icon_text_changed, get_icon_editable_text and
get_icon_additional_text signals are registered.
(editing_started): New function. Called when an edit begins. Inits class member variables
for edit mode.
(editing_stopped): New function. Called when edit ends. Cleans up edit mode.
(nautilus_icon_container_initialize): rename_widget and original_text private variables
are set to NULL.
(icon_toggle_selected): Added call to end_renaming_mode.
(nautilus_icon_container_update_icon): Added emitting of GET_ICON_EDITABLE_TEXT and
GET_ICON_ADDITIONAL_TEXT signals. Updated gnome_canvas_item_set to use new arguments defined
in nautilus-icon-text-item.
(nautilus_icon_container_show_rename_widget): New function. Creates and displays renaming_widget.
Creates cached copy of original editable text for later compare, connects signals and enters
renaming mode.
(end_renaming_mode): New function. Cleans up and end renaiming mode.
(hide_rename_widget): Called by end_renaming_mode to hide and free renaming_widget.
* libnautilus-extensions/nautilus-icon-container.h
Added prototypes for public functions described above.
* libnautilus-extensions/nautilus-icon-private.h
Added boolean for renaming. Added a NautilusIconTextItem variable for the renaiming widget.
* src/file-manager/fm-icon-view.c
Added defines MENU_PATH_RENAME. Added a char * to hold original editable text for a later compare.
Removed get_icon_text_callback and added get_icon_editable_text_callback and
get_icon_additonal_text_callback. These return the editable and additonal text of the icon view.
(rename_icon_callback): Added callback that attempts to rename the NautilusFile the icon view
represents. Action in not taken if there has been no change to the editable text. If the operation
fails, the user is notified.
(fm_icon_view_append_selection_context_menu_items): Added Rename menu item.
(append_bonobo_menu_item): Added Rename menu item and callback.
(update_bonobo_menu_item): Added senesitivity check for the Rename item. It is
enabled only if a single item is selected.
(fm_icon_view_icon_text_changed_callback): Added function to attempt to change the filename
to the new text. Notify user if operation fails.
(get_icon_editable_text_callback): This callback returns the text items that areeditable by
the user using the "Rename" command. In the case of FMIconView, this
would be the attribute with the name "name".
(get_icon_additional_text_callback): This callback returns the text items that are not
editable by the user using the "Rename" command.
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_monitor_add), (nautilus_file_monitor_remove):
Added empty implementations for these two routines. Will
fill in with actual code later after talking to Darin.
* src/nautilus-index-title.c:
(nautilus_index_title_set_uri): Monitor file for changes
in directory item count.
(release_file): Remove monitoring of file.
* src/file-manager/fm-properties-window.c:
(name_field_done_editing), (name_field_focus_out),
(name_field_focus_in), (create_properties_window):
Made focusing away from the name field in the Properties
window deselect the text, and focusing in select it.
* README: Made the contents of this file slightly helpful.
* data/mime/nautilus.keys: Added an obscure MIME type that
someone reported running into.
* libnautilus-extensions/nautilus-entry.h,
* libnautilus-extensions/nautilus-entry.c: New files. Define a
subclass of GtkEntry (one-line text editing field) that fixes
bugs and adds convenience functions.
(nautilus_entry_key_press): Override key_press handler to treat
the keypad Enter key the same as the other Enter key (in GtkEntry
it inserts a "/r" into the text).
(nautilus_entry_select_all): Select all text, and move the text
cursor position to the end.
(nautilus_entry_select_all_at_idle): Same, but do it at the next
idle opportunity. Useful since nautilus_entry_select_all won't
work right if called in a key_press signal handler.
* libnautilus-extensions/Makefile.am: Build these two new files.
* src/file-manager/fm-properties-window.c:
(name_field_activate): New function, updates file name and
selects all text.
(create_properties_window): Make name_field be a NautilusEntry.
This fixes half of bug 433 (Enter keys don't work properly in
properties window). Also attach to "activate" signal and update
name change then. This fixes other half of bug 433. Also start
with name field selected & focused. This fixes bug 432 (properties
window should appear with name text selected).
(name_field_update_to_match_file): Only update the displayed text
if the new name coming in is different. This was needed to make
select-all-on-activate work.
(name_field_done_editing): Don't accept empty string as name;
silently revert back to original name.
* src/nautilus-bookmarks-window.c:
(create_bookmarks_window): Change name & uri text fields to
NautilusEntry; this causes keypad Enter key to behave like other
Enter key. Also connect to focus_in and activate signals.
(update_bookmark_from_text): New function, extracted from
on_text_field_focus_out_event.
(on_text_field_focus_out_event): Deselect all text after updating
bookmark.
(on_text_field_focus_in_event): New function, select all text.
(name_or_uri_field_activate): New function, update bookmark and
select all text.
* src/nautilus-location-bar.c:
(nautilus_location_bar_initialize): Use NautilusEntry instead of
GtkEntry. This makes keypad Enter act like other Enter in uri-entry
field.
* src/ntl-window-msgs.c:
(nautilus_window_end_location_change_callback): Make "Nautilus can't
handle this type of file" message mention (human-readable version of)
file type.
fixed problem involving image thumbnails in directories where we
don't have write permissions - in that case, it now makes them
in $HOME/.nautilus/thumbnails instead.
fixed bug where the index panel command buttons were overlapping
metaviews. Fixed by hiding the buttons in nautilus_index_panel_
update_buttons if a meta is selected.
* libnautilus-extensions/nautilus-string.c:
* libnautilus-extensions/nautilus-string.h:
After a chat with Rebecca, named nautilus_str_underscore_escape to
nautilus_str_double_underscores since the latter name more
accurately describes what it does.
(nautilus_str_double_underscores): Changed the function to allow
NULL and return NULL instead of doing g_return_val_if_fail.
(Also reformatted a bit and made a few gratuitous changes.)
* libnautilus-extensions/nautilus-bookmark.c:
* libnautilus-extensions/nautilus-bookmark.h:
(nautilus_bookmark_get_menu_display_name):
Moved the logic about escaping menu characters up one level so
the bookmark class doesn't have to know about it. This removes
the function from NautilusBookmark completely.
* src/nautilus-window-menus.c:
(append_bookmark_to_menu): Fixed a storage leak and moved the
double-underscore escaping in here.
Finished task 174 (Use deferred calculation to compute directory
counts).
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/nautilus-file-attributes.h:
Added a header file for names of file attributes.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-directory.c:
* libnautilus-extensions/nautilus-directory.h:
* libnautilus-extensions/nautilus-file-private.h:
* libnautilus-extensions/nautilus-file.c:
* libnautilus-extensions/nautilus-file.h:
Added background computation of the "directory item count"
attribute. This is serving as a test case for the API for
requesting additional information.
* src/file-manager/fm-directory-view.c:
(display_selection_info): Changed to use the new interface that
can sometimes return "I don't know" for the number of items in
a particular directory.
(stop_load), (done_loading), (display_pending_files),
(fm_directory_view_stop): Fixed a mistake in the old code where
we stopped monitoring once the files were discovered. We need to
keep monitoring.
(finish_loading_uri): Pass in an attribute that we want to monitor:
NAUTILUS_FILE_ATTRIBUTE_DIRECTORY_ITEM_COUNT.
2000-04-14 Christopher James Lahey <clahey@helixcode.com>
* src/ntl-window.c (nautilus_window_constructed): Change the
packing of the first pane so that it doesn't autoresize.
* libnautilus-extensions/nautilus-file-utilities.c
(nautilus_user_top_directory): Change this routine to use
gnome_datadir_file to get the share directory. Also, change to
using g_strdup_printf.
libnautilus now only contains the view interfaces needed by nautilus
components.
These are the interfaces defined in nautilus-view-component.idl.
libnautilus-extensions containes the remainder of the stuff.
Also used the cvs repository munging opportunity to do some of the
ntl-* renaming outlined in the RENAIMING file.
obseleted in the version of rpm that ships with 5.2 apparently.
I added a dumb hack to define RPMTAG_FILENAMES to
RPMTAG_OLDFILENAMES which is almost surely the wrong thing to do,
but i really need to have nautilus building while i do the
nautilus view changes. I gave myself a bug to properly address
this soon (472).