* 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).