2000-08-01 Gene Z. Ragan <gzr@eazel.com>
Fixed bug 1790, want a command to cause-removable media check.
Well, here it is. I am sure Josh will have fun finding bugs.
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_destroy),
(fm_desktop_icon_view_create_background_context_menu_items):
Added menu item to desktop icon view that lists possible
mounted volumes and there current mount status.
* src/file-manager/fm-desktop-mounting.c:
(floppy_sort),
(fm_desktop_get_removable_volume_list),
(fm_desktop_mount_unmount_removable),
(mount_device_cdrom_set_state), (mount_device_floppy_set_state),
(mount_device_activate_floppy), (eject_cdrom),
(mount_device_deactivate), (mount_device_floppy_add),
(mount_device_ext2_add), (cdrom_ioctl_frenzy),
(mount_device_iso9660_add), (add_mount_device),
(mntent_is_removable_fs), (fm_desktop_find_mount_devices):
Added support for our new exciting mount menu item.
immediately when preference changes)
* src/nautilus-switchable-search-bar.c:
(nautilus_switchable_search_bar_initialize): register to
be notified of changes to the search-bar preference.
(search_bar_preference_changed_callback): React to changes
to the search-bar preference by calling _set_mode
(nautilus_switchable_search_bar_initialize_class):
install destroy handler.
(nautilus_switchable_search_bar_destroy): Unregister
search-bar preference callback.
(nautilus_switchable_search_bar_set_mode): Added a FIXME
comment about a reported bug.
preference)
Finished task 1553 (Need always/local-only/never preference for
creating image thumbnails)
* libnautilus-extensions/nautilus-radio-button-group.h:
* libnautilus-extensions/nautilus-radio-button-group.c:
Added "horizontal" field in Details struct.
(nautilus_radio_button_group_initialize): Initialize
"horizontal" to FALSE (the default; what you get when
calling plain "nautilus_radio_button_group_new").
(nautilus_radio_button_group_new_horizontal): New function,
used when radio buttons should be laid out in one row; sets
details->horizontal to TRUE.
(nautilus_radio_button_group_insert): Lay out the items
differently depending on value of details->horizontal.
(nautilus_radio_button_group_set_entry_pixbuf),
(nautilus_radio_button_group_set_entry_description_text):
Added g_return_if_fails if details->horizontal is true
(because the horizontal layout doesn't have a place to
put an icon or longer description; we could change that
later if we needed to)
* libnautilus-extensions/nautilus-preferences-item.h:
Added new NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM type for
preferences dialog, to be used when the choices are small
enough to fit in one row.
* libnautilus-extensions/nautilus-preferences-item.c:
(preferences_item_create_short_enum): New function, just like
preferences_item_create_enum but uses horizontal radio button
group.
(preferences_item_construct): Call create_short_enum when
type is NAUTILUS_PREFERENCE_ITEM_SHORT_ENUM
* libnautilus-extensions/nautilus-global-preferences.h:
Took the "REMOTE" out of the name of
NAUTILUS_PREFERENCES_SHOW_TEXT_IN_REMOTE_ICONS; added
NAUTILUS_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS; added
NautilusSpeedTradeoffValue enum.
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_create_dialog): Added thumbnails preference
to Speed Tradeoffs pane.
(global_preferences_register_speed_tradeoff_with_defaults):
New convenience function for registering always/local-only/never
preferences.
(global_preferences_register_for_ui): Register the embedded text
and thumbnail-creation speed-tradeoff preferences.
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_should_get_top_left_text): Respect all three
states of the embedded-text preference.
* libnautilus-extensions/nautilus-icon-factory.c:
(should_display_image_file_as_itself): New function, respects the
three states of the create-thumbnails preference.
(nautilus_icon_factory_get_icon_for_file): Check preference
before creating thumbnails (including image-as-itself case).
* src/file-manager/fm-directory-view.h:
New handlers for subclasses to fill in for when embedded-text
and thumbnail preferences change.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_initialize): Start monitoring embedded-text
and thumbnail preferences.
(fm_directory_view_destroy): Stop monitoring preferences.
(embedded_text_policy_changed_callback),
(image_display_policy_changed_callback): React when preferences
change by executing subclass's handler, if any. I also put a
hideous hack in here for kick-starting the embedded-text-reading
code that otherwise wasn't working in some cases (will fix with
Darin).
* src/file-manager/fm-icon-view.c:
(fm_icon_view_initialize_class): Install handlers for embedded-text
and thumbnail preference changes.
(fm_icon_view_embedded_text_policy_changed),
(fm_icon_view_image_display_policy_changed): New functions; these
are said handlers.
* src/file-manager/fm-list-view.c:
(fm_list_view_initialize_class): Install handlers for embedded-text
and thumbnail preference changes.
(fm_list_view_embedded_text_policy_changed),
(fm_list_view_image_display_policy_changed): New functions; these
are said handlers.
2000-08-01 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-desktop-mounting.c:
(fm_desktop_mount_unmount_removable):
Fixed a crasher that involved a conflict with the automounter
and the user manually mounting and unmounting.
2000-08-01 Gene Z. Ragan <gzr@eazel.com>
More work on the desktop volume mount menu item.
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_create_background_context_menu_items):
Work on showing state of current removable mounts
in context menu item.
* src/file-manager/fm-desktop-mounting.c:
* src/file-manager/fm-desktop-mounting.h:
(fm_desktop_mount_unmount_removable), (mount_device_check_change),
(mount_devices_update_is_mounted):
Fine tune mounting and unmounting removable volumes.
rewrote stretch_frame_image to stretch the frame properly, by repeating the
area between the corners, instead of stretching the whole pixmap, which made it
blurry and uneven. also, correct thumbnail frame dimensions and slightly
improved fix from my previous check-in.
2000-07-31 Darin Adler <darin@eazel.com>
* libnautilus-extensions/nautilus-icon-canvas-item.c:
(draw_or_measure_label_text): Use RGB value for the label color.
Also fix bug where we would not restore the old foreground color
value in one case.
* libnautilus-extensions/nautilus-icon-private.h:
* libnautilus-extensions/nautilus-icon-container.h:
* libnautilus-extensions/nautilus-icon-container.c:
(nautilus_icon_container_initialize),
(nautilus_icon_container_get_label_color), (update_label_color):
Use an RGB color instead of allocating one. It's simpler.
* libnautilus-extensions/nautilus-stock-dialogs.c:
(timed_wait_free): Fixed backward assert that caused a core dump
any time you attempted to change an owner or group.
2000-07-31 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-directory.c:
(construct_alternate_metafile_uri):
Back out debugging hacks that must have gotten checked in
by accident and would have caused leaks.
2000-07-31 Rebecca Schulman <rebecka@eazel.com>
Rewrote the search list view subclass to be
more functional, and fixed most of the inheritance
issues. The search results are displayed in the
wrong columns still, but the data in them is readable
and correct.
* src/file-manager/fm-list-view-private.h:
* src/file-manager/fm-list-view.c: (fm_list_view_initialize_class),
(fm_list_view_initialize), (fm_list_view_compare_rows),
(fm_list_view_create_list), (add_to_list), (get_list),
(fm_list_view_sort_items),
(fm_list_view_get_attribute_from_column),
(fm_list_view_get_sort_criterion_from_column),
(fm_list_view_column_is_right_justified):
* src/file-manager/fm-list-view.h:
* src/file-manager/fm-search-list-view.c:
(fm_search_list_view_initialize_class),
(fm_search_list_view_initialize),
(fm_search_list_view_get_sort_criterion_from_column),
(fm_search_list_view_get_attribute_from_column),
(fm_search_list_view_compare_rows),
(fm_search_list_view_column_is_right_justified):
2000-07-31 Gene Z. Ragan <gzr@eazel.com>
More work in progress on handling the mounting of removable media
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_create_background_context_menu_items):
Removed old rescan item and added a submenu of possible
removable media.
* src/file-manager/fm-desktop-mounting.c:
(fm_desktop_rescan_floppy), (fm_desktop_get_removable_list),
(fm_desktop_mount_unmount_removable),
(fm_desktop_volume_is_mounted), (mount_device_mount),
(mount_device_activate_cdrom), (mount_device_activate_floppy),
(mount_device_check_change), (mount_devices_update_is_mounted),
(check_permissions), (mount_device_floppy_add),
(mount_device_ext2_add), (cdrom_ioctl_frenzy), (add_mount_device),
(mntent_is_removable_fs), (fm_desktop_find_mount_devices),
(remove_mount_link), (fm_desktop_place_home_directory):
Cleaned up functions and added support for the new mount
point context menu item.
fixed bug 1034 and 1406, icon text got drawn when it shouldn't. fixed
by making scale_icon_and_rectangle use separate sizes for the
icon and text rectangle.
2000-07-31 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-desktop-mounting.c:
(mount_device_deactivate), (add_mount_device),
(fm_desktop_free_device_info):
Fixed a crasher in unmounting that was a result of changing the
way adding and removing icons to the desktop were done.
component that crashes). Remaining component-failure issues
have been split off as separate bugs.
* src/nautilus-sidebar.c: (nautilus_sidebar_remove_panel),
* src/nautilus-view-frame.c: (check_object):
Just added FIXME comments with bug numbers.
* src/nautilus-window-manage-views.c:
(report_sidebar_panel_failure_to_user):
Turned this from a placeholder to a real function that puts up
a sensible error message.
(nautilus_window_update_state): Moved the report_to_user call
to a place where it is hit in all the error cases, not just some.
* src/nautilus-window.c:
(window_update_sidebar_panels_from_preferences):
Call nautilus_window_disconnect_view on sidebar panel before
removing it the normal way so that it doesn't trigger the
report-error-to-user code.
* data/top/Makefile.am: Install the new ".link" files.
* data/top/Computer: Renamed from Computer.link and added the new stuff
needed for the MIME magic.
* data/top/Computer.link: [deleted]
* data/top/Services: Renamed from Services.link and added the new stuff
needed for the MIME magic.
* data/top/Services.link: [deleted]
* components/tree/nautilus-tree-view.c: (queue_pending_files):
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_string_attribute):
Get rid of all use of nautilus_link_get_display_name since
links all have plain names now.
* libnautilus-extensions/nautilus-directory-async.c:
(set_up_request_by_file_attributes): Fix bug that was causing the
program to get the activation URI for every single icon. Lots of
extra I/O! Also changed it to get the file info first since the
activation URI is now based on MIME type.
(lacks_activation_uri): Don't try to get the activation URI until
after the file info is there.
(activation_uri_done),
(activation_uri_read_done),
(activation_uri_nautilus_link_read_callback),
(activation_uri_gmc_link_read_callback),
(start_getting_activation_uris):
Changed the code to read the activation URI to use MIME type,
so now it doesn't have to open every file just to find out if it's
a GMC link.
* libnautilus-extensions/nautilus-file-utilities.c:
(nautilus_get_desktop_directory): Get rid of a tiny bit of dead code.
* libnautilus-extensions/nautilus-file.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_contains_text): No need to special-case the link
file any more because its MIME type will now make it clear it's
not a text file. Also removed nautilus_file_activate_custom since
it's not needed any more and moved the logic into
fm-directory-view.c.
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_for_file): Added FIXMEs.
* libnautilus-extensions/nautilus-link-set.c:
(nautilus_link_set_install): Changed comments to not call link files
".link" files.
* libnautilus-extensions/nautilus-global-preferences.h:
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_register_for_ui): Removed the
NAUTILUS_PREFERENCES_SHOW_REAL_FILE_NAME preference since we no
longer have to lie about file names to make ".link" files
palatable.
* libnautilus-extensions/nautilus-link.h:
* libnautilus-extensions/nautilus-link.c: (nautilus_link_create):
Added code that notifies the NautilusFile framework that a new file
has been created, so callers don't have to worry about that.
(nautilus_link_is_link_file): Simplified the code -- turned it into
a one-liner.
(nautilus_link_set_icon): The old code had half NautilusFile calls
and half sync. I/O. Got rid of the NautilusFile stuff. Also put the
code in to notify the NautilusFile framework about the change to
the file.
(nautilus_link_get_root_property): Added FIXME.
(nautilus_link_get_additional_text): Added FIXME.
(nautilus_link_get_link_uri): Added FIXME.
Removed nautilus_link_get_display_name since it's not needed.
* src/nautilus-desktop-window.c: (nautilus_desktop_window_new):
Fixed GnomeVFSURI leak and turned a GnomeVFSURI into a text URI
with gnome_vfs_uri_to_string, rather than gnome_vfs_uri_get_path
which will not do anything useful.
* src/file-manager/fm-desktop-icon-view.c:
(mount_device_mount), (place_home_directory): Use
nautilus_get_uri_from_local_path instead of just sticking a
"file://" prefix on. Simplified by putting code to notify about
the link file into the link file create function. Some other
code cleanups and fixes of path/URI confusion.
* src/file-manager/fm-directory-view.c:
(fm_directory_view_initialize): Use NAUTILUS_N_ELEMENTS.
(fm_directory_view_display_selection_info), (queue_pending_files):
Get rid of use of nautilus_link_get_display_name.
(activate_callback): Added code to handle "command:" URIs, which
used to be in nautilus_file_activate_custom.
(fm_directory_view_activate_file): Get rid of call to the
nautilus_file_activate_custom function.
(set_trash_empty): Rewrote to simplify and fix some path/URI
confusion.
* src/file-manager/fm-icon-view.c: (get_icon_text_callback):
Get rid of use of nautilus_link_get_display_name.
* src/nautilus-property-browser.c:
(nautilus_property_browser_drag_data_get), (remove_background),
(remove_emblem), (emblem_image_file_changed),
(add_background_to_browser), (emblem_dialog_clicked),
(make_properties_from_directory): Use
nautilus_get_uri_from_local_path instead of just sticking a
"file://" prefix on.
(get_xml_path): Use nautilus_make_path instead of just sticking
a "/" between the two pieces.
2000-07-30 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-icon-container.c:
(button_press_event), (nautilus_icon_container_initialize_class):
* libnautilus-extensions/nautilus-icon-container.h:
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_handle_middle_click),
(fm_desktop_icon_view_initialize):
Add support for the window manager middle mouse click menu on the desktop.
Capture the middle mouse click, create a new XEvent and send it to the
root window.
fixed breakage in the novice home directory by adding the mime-magic
string "NAUTILUS_LINK" to the built-in links so they are recognized
as such. Also, some cleanup in nautilus-link.
fixed bug 1408, where thumbnail frames had the wrong shadow. Fixed
by maintaining two versions of the thumbnail, for the aa and non-aa
cases. Also, create the frame from an image instead of drawing
commands.
2000-07-30 Mathieu Lacage <mathieu@eazel.com>
Make nautilus build with the latest oaf changes.
_I_ did not broke the build for once :)
* libnautilus-extensions/nautilus-mime-actions.c:
(server_matches_content_requirements):
* libnautilus-extensions/nautilus-view-identifier.c:
(nautilus_view_identifier_new_from_oaf_server_info):
2000-07-28 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-desktop-icon-view.c:
(rescan_floppy_callback), (mount_device_activate_floppy),
(mount_device_floppy_add), (get_ext2_volume_name),
(get_floppy_volume_name):
More work on floppy mounting.
added heuristics to append http:// to typed in locations that look
like urls and would otherwise fail, so the user isn't required
to type in the protocol for web browsing
* icons/arlo/backgrounds/
* icons/arlo/backgrounds/Makefile.am
* icons/arlo/backgrounds/window_pattern.png
* icons/arlo/backgrounds/window_pattern.png
Added a folder in my theme directory that will contain
default patterns for the "Teal" theme along with two patterns
to get it started.
removed hack in sidebar tabs that compensated for uneven piece
sizes now that Arlo has fixed them; also, made the right arrow
work properly for location bar auto-completion.
* icons/arlo/side_bar_images/fill-active.png
* icons/arlo/side_bar_images/fill-prelight.png
* icons/arlo/side_bar_images/fill.png
* icons/arlo/side_bar_images/middle-normal-normal.png
* icons/arlo/side_bar_images/middle-normal-prelight.png
* icons/arlo/side_bar_images/middle-prelight-normal.png
I changed the height of these images to match the design.
* libnautilus-extensions/nautilus-global-preferences.c:
(global_preferences_register_for_ui): Just added three
spaces to turn three neologisms into six words. Hint:
three of the six words are "bar".
* libnautilus-extensions/nautilus-global-preferences.h:
#define NAUTILUS_PREFERENCES_SHOW_BUILT_IN_BOOKMARKS
* src/nautilus-bookmarks-window.c:
(create_bookmarks_window): Put "Include built-in bookmarks in menu"
checkbox into Edit Bookmarks window; wire it up.
(synch_built_in_bookmarks_preference_and_checkbox): New function
that checks the state of the preference against the state of
the checkbox and updates one to match the other if necessary.
(update_built_in_bookmarks_preference_to_match_checkbox),
(update_built_in_bookmarks_checkbox_to_match_preference): New
functions, covers for synch_... that lean one way or the other.
* src/nautilus-window-private.h: Renamed field in Details from
"refresh_bookmarks_menu_idle_id" to "refresh_dynamic_bookmarks_idle_id"
for clarity since it no longer refreshes all bookmarks.
* src/nautilus-window-menus.c:
(append_bookmark_to_menu), (remove_bookmarks_after),
(nautilus_window_remove_bookmarks_menu_callback),
(refresh_dynamic_bookmarks),
(refresh_dynamic_bookmarks_idle_callback),
(schedule_refresh_dynamic_bookmarks), (refresh_go_menu):
Renamed functions and variables to clarify which ones affect
all bookmarks and which ones affect only the dynamic bookmarks.
(append_dynamic_bookmarks): New function, extracted from
refresh_dynamic_bookmarks so it can be also called elsewhere.
(refresh_all_bookmarks): New function, clears away all bookmarks
before replacing the static (optionally, based on preference)
and dynamic (always) ones.
(nautilus_window_initialize_bookmarks_menu): refresh all bookmarks
and wire up to notice preference changes.
2000-07-28 Gene Z. Ragan <gzr@eazel.com>
First pass at adding floppy mounting to desktop.
There are still access issues to be resolved.
* src/file-manager/fm-desktop-icon-view.c:
(rescan_floppy_callback):
New callback to handle menu command
(fm_desktop_icon_view_create_background_context_menu_items):
Add menu item to rescan floppy device
(mount_device_activate_floppy):
Actually call mount on the floppy device
There's now a "static_bookmarks.xml" file that gets installed into
the Nautilus data directory. Its contents are parsed into menu items
that appear above the user's dynamic items. The static items can
include hierarchy and separators. I put in silly content; someone
else will have to figure out what content we want to ship.
* data/static_bookmarks.xml: New file, tree of bookmarks to display.
* data/Makefile.am: Install the bookmarks file into data directory.
* src/nautilus-bookmark-parsing.h,
* src/nautilus-bookmark-parsing.c: New files, contain xml-bookmark-
parsing code that's used by both the static and dynamic bookmarks.
* src/Makefile.am: tell build about new files.
* src/nautilus-bookmark-list.c:
(make_bookmark_from_node): Moved and renamed this into new file.
(nautilus_bookmark_list_load_file): Call renamed function.
* src/nautilus-window-menus.c:
Renamed BookmarkHolder "in_bookmarks_menu" field to "prompt_for_removal"
to clarify its use.
(bookmark_holder_new), (show_bogus_bookmark_window): Accounted for
name changes.
(append_separator): Just moved this function.
(get_static_bookmarks_file_path): New function, returns path for
static bookmarks file if found.
(create_menu_item_from_node): New function, creates a menu item
from an xml node, recursing into folders.
(append_static_bookmarks): New function, reads xml document and
starts the menu-item-creation recursion.
(nautilus_window_initialize_bookmarks_menu): Now calls
append_static_bookmarks before handling the dynamic ones.
* src/nautilus-window-private.h: New last_static_bookmark_path field
in Details struct.
* src/nautilus-window.c: (nautilus_window_destroy): free
last_static_bookmark_path field.
fixed 3 bugs.
* libnautilus-extensions/nautilus-search-uri.c:
(nautilus_search_uri_to_simple_search_criteria):
Return g_strdup ("") instead of NULL.
* src/nautilus-navigation-bar.c:
(nautilus_navigation_bar_initialize_class):
Fixed bad marshalling that was causing a crash.
* src/nautilus-switchable-navigation-bar.c:
(nautilus_switchable_navigation_bar_initialize_class),
(nautilus_switchable_navigation_bar_get_location):
Added a get_location here. I missed this subclass and that caused
an assert every time you search!
* src/nautilus-switchable-search-bar.c:
(nautilus_switchable_search_bar_initialize):
Remove an unneeded callback function here (somehow I missed this
case last time).
* src/nautilus-switchable-search-bar.h:
Fixed a wrong type and cleaned up formatting a bit.