2000-07-27 Pavel Cisler <pavel@eazel.com>
* src/file-manager/fm-desktop-icon-view.c:
(new_terminal_menu_item_callback),
(fm_desktop_icon_view_create_background_context_menu_items):
Bug 1792 - "New Terminal" command in menus.
Added a menu item to the desktop context menu to start a new
terminal.
* libnautilus-extensions/nautilus-gnome-extensions.c:
* libnautilus-extensions/nautilus-gnome-extensions.h:
(max_open_files), (nautilus_gnome_terminal_shell_execute),
(nautilus_gnome_open_terminal):
For the above, added a call to launch a new Terminal, pieced together
from the origina GMC code, getting rid of some cruft we do not
need and using stock glib calls where possible.
* src/file-manager/fm-directory-view.c:
(new_folder_menu_item_callback), (fm_directory_view_add_menu_item),
(fm_directory_view_real_create_background_context_menu_items),
(fm_directory_view_real_create_selection_context_menu_items):
* src/file-manager/fm-directory-view.h:
Did a part of 1063 - "The right click desktop menu needs more commands
to match gmc" that is not covered by a separate bug - added a "New
Folder" menu item.
Fixes 1065 and 1067.
* src/file-manager/dfos-xfer-progress-dialog.c:
(create_titled_label), (dfos_xfer_progress_dialog_initialize):
Complete task 1504 - Copy progress dialog needs a visual redesign.
Made it so that the Copying:, From: and To: lines are packed more
snugly, as per the design. The spacing of the original GtkLabels
was too spacy.
Used a non-zero border to offset the items more from the dialog edges
to make it look more as designed.
2000-07-27 Mathieu Lacage <set EMAIL_ADDRESS environment variable>
Fixes a number of bugs from rebecka latest commit.
The UI for search is almost working. I will finish it
tomorow and will hook it onto medusa quickly.
* libnautilus-extensions/nautilus-search-bar-criterion.c:
(number_from_type),
(nautilus_search_bar_criterion_new_from_values),
(nautilus_search_bar_criterion_next_new),
(nautilus_search_bar_criterion_first_new):
* libnautilus-extensions/nautilus-search-bar-criterion.h:
* src/nautilus-complex-search-bar.c:
(nautilus_complex_search_bar_initialize),
(nautilus_complex_search_bar_get_location),
(more_options_callback), (fewer_options_callback):
* components/tree/nautilus-tree-model.c:
* components/tree/nautilus-tree-model.h:
* components/tree/nautilus-tree-node.c:
(nautilus_tree_node_get_parent), (nautilus_tree_node_get_children),
(nautilus_tree_node_get_file), (nautilus_tree_node_get_directory),
(nautilus_tree_node_set_user_data),
(nautilus_tree_node_get_user_data):
* components/tree/nautilus-tree-node.h:
Some work in progress on some model/view separation for the tree
view.
* libnautilus-extensions/nautilus-file-attributes.h,
libnautilus-extensions/nautilus-directory-async.c
(set_up_request_by_file_attributes): Added an "is directory"
attribute which you can use in a file attribute list for a monitor
or call_when_ready request, which insures we get that piece of
info about files.
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_real_name, nautilus_file_get_real_directory):
Add necessary decoding for the search case.
* src/file-manager/fm-search-list-view.c
(get_attribute_from_column): Get the directory attribute for the
directroy column.
fixed task 1729, icon labels need to adapt their color to the
background. Fixed by adding a label_color field to the icon
container, and maintaining it by attaching to the appearance_changed
signal of its background. The item uses that color for drawing.
2000-07-27 Gene Z. Ragan <gzr@eazel.com>
Fixed bug #1775, add home directory to desktop.
* icons/Makefile.am:
Added temp-home.png. This is a temp icon file.
* src/file-manager/fm-desktop-icon-view.c: (mount_device_mount),
(place_home_directory), (create_desktop_link):
Add users name and default icon to home directory link
on desktop. Change create_mount_link to more generic
create_desktop_link.
2000-07-27 Rebecca Schulman <rebecka@eazel.com>
* src/nautilus-complex-search-bar.c:
(nautilus_complex_search_bar_get_location):
disabled a not-ready for checkin function
fixed bug where the increment and decrement images of the zoom
control were not being erased at the extremes; also, added ability
to use custom numbers via a number strip image.
2000-07-26 Rebecca Schulman <rebecka@eazel.com>
Redid the complex search bar to look the way we actually
wanted it. There are still some bugs, but as far as i
can tell, it hasn't introduced horrid instability, and
this way, mathieu, among other can work on the
partial amount of stuff i have done.
* libnautilus-extensions/Makefile.am:
* src/Makefile.am:
* src/nautilus-search-bar-criterion.c:
* src/nautilus-search-bar-criterion.h:
* libnautilus-extensions/nautilus-search-uri.h:
* src/nautilus-search-bar.c:
* src/nautilus-simple-search-bar.c:
(nautilus_simple_search_bar_initialize_class),
(nautilus_simple_search_bar_set_search_controls):
* src/nautilus-switchable-search-bar.c:
Moved nautilus-search-bar-criterion.c from src/ to
libnautilus-extensions.
* libnautilus-extensions/nautilus-search-bar-criterion.c:
* libnautilus-extensions/nautilus-search-bar-criterion.h:
(nautilus_search_bar_criterion_destroy),
(nautilus_search_bar_criterion_new),
(nautilus_search_bar_criterion_new_from_values),
(nautilus_search_bar_criterion_next_new),
(nautilus_search_bar_criterion_first_new),
(nautilus_search_bar_criterion_list_get_last),
(get_next_default_search_criterion_type),
(nautilus_search_bar_criterion_show),
(nautilus_search_bar_criterion_hide):
redid this api, and made it saner. Doesn't seem
like a gtk class is even necessary, or even useful here.
We just want to keep track of the widgets.
* src/nautilus-complex-search-bar.c:
(nautilus_complex_search_bar_initialize_class),
(nautilus_complex_search_bar_initialize),
(nautilus_complex_search_bar_get_location),
(nautilus_complex_search_bar_set_search_controls),
(attach_criterion_to_search_bar),
(unattach_criterion_from_search_bar), (more_options_callback),
(fewer_options_callback):
redid this to use tables, instead of all the boxes, as per
Gene's suggestion. There are still a few bugs here
with criterion removal that need to be worked out,
and there also needs to be some level of translation to
uri, and re-setting up the search criteria to correspond to
a uri.
* libnautilus-extensions/nautilus-search-bar-criterion-private.h:
added to keep some sense of data privacy.
2000-07-26 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-desktop-icon-view.c: (mount_device_mount),
(make_home_link), (place_home_directory), (create_mount_link):
Additional work on placement of home directory on desktop
and conversion of mount links from gnome-vfs symbolic links
to nautilus links.
2000-07-26 Gene Z. Ragan <gzr@eazel.com>
* libnautilus-extensions/nautilus-link.c:
* libnautilus-extensions/nautilus-link.h:
(nautilus_link_is_link_file):
Renamed function nautilus_link_is_link_file_name to
nautilus_link_is_link_fileand modified it to determine if
it is a link file using mime magic. Function now takes
a NautilusFile * as the argument.
* libnautilus-extensions/nautilus-link-set.c: (link_set_path_name),
(create_new_link), (nautilus_link_set_is_installed),
(nautilus_link_set_remove):
Modified to use the new mime magic within the link file.
* libnautilus-extensions/nautilus-directory-async.c:
(activation_uri_gmc_link_read_callback):
Changed nautilus_link_is_link_file_name to nautilus_link_is_link_file.
* libnautilus-extensions/nautilus-directory.c:
(construct_alternate_metafile_uri):
Changed nautilus_link_is_link_file_name to nautilus_link_is_link_file.
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_contains_text), (nautilus_file_activate_custom):
Changed nautilus_link_is_link_file_name to nautilus_link_is_link_file.
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_for_file):
Removed old way of identifying mount volume links in anticipation
of using mime magic.
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_initialize), (mount_device_mount),
(mount_device_floppy_add), (add_mount_device), (make_desktop_link),
(get_ext2_volume_name), (place_home_directory):
Removed old way of indentifying mount link files in anticipation
of using mime magic.
Work in progress on placing a home directory on the desktop.
* libnautilus-extensions/nautilus-directory-async.c:
(activation_uri_found): Added a missing call to
nautilus_directory_async_state_changed to keep the state machine
alive.
* libnautilus-extensions/nautilus-directory-async.c:
(metafile_read_failed): First cut at only reading the metafile if the
directory is really a directory. This might be making things worse
for now, because I'm not sure if the file info is available at this
point. I'll check in something better soon.
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_is_search_directory): Fixed backwards test that
would return TRUE for many non-search directories. Then I put that
code inside #if 0 and added a version of the function that just
checks the scheme of the URI for now. Also added FIXMEs.
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_get_real_name): Simplfied the code a bit. Also added
a FIXME.
* Makefile.am:
* components/hardware/Makefile.am:
* components/help/Makefile.am:
* components/history/Makefile.am:
* components/html/Makefile.am:
* components/loser/content/Makefile.am:
* components/loser/sidebar/Makefile.am:
* components/music/Makefile.am:
* components/notes/Makefile.am:
* components/rpmview/Makefile.am:
* components/services/install/nautilus-view/Makefile.am:
* components/services/inventory/nautilus-view/Makefile.am:
* components/services/login/nautilus-view/Makefile.am:
* components/services/startup/nautilus-view/Makefile.am:
* components/services/summary/nautilus-view/Makefile.am:
* components/services/time/nautilus-view/Makefile.am:
* components/services/trilobite/sample/nautilus-view/Makefile.am:
* components/services/vault/nautilus-view/Makefile.am:
* components/tree/Makefile.am:
* components/websearch/Makefile.am:
* cut-n-paste-code/widgets/e-paned/Makefile.am:
* cut-n-paste-code/widgets/nautilus-druid/Makefile.am:
* helper-utilities/authenticate/Makefile.am:
* libnautilus-extensions/Makefile.am:
* librsvg/Makefile.am:
* src/Makefile.am:
* test/Makefile.am:
Make the cut-n-paste libraries be only static archives. Link all
the private libraries statically into libnautilus-extensions.
Remove all the references to private libraries in all the
components and other users of libnautilus-extensions so that
dependencies can be managed in just one place.
2000-07-26 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-cdrom-extensions.h:
New file that has constants defined in <linux/cdrom.h>
I added this to solve many problems that people are
running into with both Mathieu's fix and the old way
of including the kernel header.
* src/file-manager/fm-desktop-icon-view.c:
It makes me sad to do this, because Matheiu worked so hard
to fix this, but I created a new file with the CDROM constants
in them. This solves several problems people have. I wish
there was a beter solution, because now we have to make
sure we are in sync with the kernel header constants.
2000-07-26 Pavel Cisler <pavel@eazel.com>
* src/file-manager/dfos-xfer.c: (handle_xfer_vfs_error):
Show a more meaningful error dialog when copy/move fails
because the destination is not writable. This is a cheap
replacement for the original fix for bug 657, we aren't
going to do the full fix for this release.
2000-07-26 Mathieu Lacage <mathieu@eazel.com>
* src/file-manager/fm-desktop-icon-view.c:
evil ugly hack to get nautilus to compile with
kernels >= 2.2.16. EKH.
added arlo's zoom control and adjusted the zoom control class
to work properly with a wider range of images. also added
a zoom control from Bud to experiment with in the vector theme
* components/services/docs/install-user-settings:
Stuff that the user should be able to config.
* components/services/install/lib/eazel-install-corba-types.c:
Removed an unused include
* components/services/install/lib/eazel-install-types.h:
* components/services/install/lib/eazel-install-private.h:
* components/services/install/lib/eazel-install-public.h:
* components/services/install/lib/eazel-install-metadata.c:
(create_default_configuration_metafile),
(init_default_install_configuration), (installoptions_destroy):
* components/services/install/lib/eazel-install-object.c:
(eazel_install_set_arg), (eazel_install_class_initialize),
(eazel_install_initialize), (eazel_install_new_with_config):
Handle the transaction dir var.
* components/services/install/lib/eazel-install-rpm-glue.c:
(download_all_packages),
(eazel_install_do_rpm_transaction_make_argument_list),
(eazel_install_do_rpm_transaction_save_report),
(do_rpm_transaction), (eazel_install_add_to_rpm_set),
(eazel_install_check_existing_packages),
(eazel_install_fetch_rpm_dependencies), (eazel_uninstall_globber):
Removed a lot of of rpmtransaction code. Polished the xml
transaction output.
* components/services/install/lib/eazel-install-types.c:
(packagedata_new):
Default vals for status and modify status.
* components/services/install/server/main.c: (sig_segv_handler),
(main):
Upon crash, say something on stdout.
searching is broken right now.
* libnautilus-extensions/nautilus-directory.h,
libnautilus-extensions/nautilus-directory.c
(nautilus_directory_is_search_directory): New call to determine if
a directory is a virtual search directory.
* libnautilus-extensions/nautilus-file.h,
libnautilus-extensions/nautilus-file.c:
(nautilus_file_compare_by_real_name,
nautilus_file_compare_by_real_directory,
nautilus_file_compare_for_sort_internal): Added ability to sort by
directory; made name sorting work right for search results.
(nautilus_file_is_search_result, nautilus_file_get_real_name,
nautilus_file_get_real_directory): New functions to get useful
info about search results.
(nautilus_file_get_string_attribute): Add real_name and
real_directory attributes.
* src/file-manager/fm-search-list-view.c: Use real_name and
real_directory attributes for name and directory.
(sort_criterion_from_column): sort properly by directory.
* components/help/help-method.c: (help_uri_new): No parameters
is indicated by "(void)" instead of "()".
(help_uri_to_string): Changed to share more code (I think I might
have fixed a leak too).
(init_help_module): No parameters is indicated by "(void)"
instead of "()". Also fixed a bug where the wrong lock is unlocked.
(convert_file_to_uri): Use g_strcasecmp instead of strcmp since we
are checking MIME types.
(transform_file), (transform_absolute_file), (file_from_path),
(find_help_file), (transform_relative_file): Merged these so they
share a lot of common code.
* components/services/vault/command-line/vault-operations.c:
(vault_list): Fixed a g_strconcat that was missing a trailing NULL.
* libnautilus-extensions/nautilus-directory-private.h:
* libnautilus-extensions/nautilus-file-attributes.h:
* libnautilus-extensions/nautilus-directory-async.c:
(cancel_top_left_read), (top_left_read_done),
(top_left_read_callback), (top_left_read_more_callback),
(start_getting_top_lefts), Changed top_left code to use
nautilus_read_file calls.
(cancel_metafile_read),
Changed to reflect name changes in nautilus_read_file calls.
(cancel_get_activation_uri), (nautilus_directory_cancel),
(set_up_request_by_file_attributes),
(nautilus_async_destroying_file), (lacks_activation_uri),
(wants_activation_uri), (request_is_satisfied),
(activation_uri_found),
(activation_uri_nautilus_link_read_callback),
(activation_uri_gmc_link_read_callback),
(activation_uri_gmc_link_read_more_callback),
(start_getting_activation_uris),
(nautilus_directory_async_state_changed): Add code to fetch
activation URIs for either GMC or Nautilus-style link files.
(lacks_top_left): Changed to share common
nautilus_file_should_get_top_left_text function so we don't have
lots of different code reading the preferences about top-left
text.
(is_needy): Enhanced and renamed is_wanted so it takes into
account files that are and aren't interesting.
(start_getting_directory_counts), (deep_count_start):
(start_getting_file_info), Change to use is_needy.
* libnautilus-extensions/nautilus-directory.h:
* libnautilus-extensions/nautilus-directory.c:
Tweaked spacing.
* libnautilus-extensions/nautilus-file-private.h:
Added a self_owned flag so we do better with files that don't have
parent directories and the fields to support activation_uri.
* libnautilus-extensions/nautilus-file-utilities.h:
* libnautilus-extensions/nautilus-file-utilities.c:
(read_file_close_callback), (read_file_close),
(read_file_succeeded), (read_file_failed),
(read_file_read_callback), (read_file_read_chunk),
(read_file_open_callback), (nautilus_read_file_async),
(nautilus_read_entire_file_async), (nautilus_read_file_cancel):
Added a variation of the read file call that takes a function to
decide whether to keep reading or not.
* libnautilus-extensions/nautilus-file.h:
* libnautilus-extensions/nautilus-file.c:
(nautilus_file_new_from_name), (nautilus_file_get),
(nautilus_file_get_parent_uri_as_string),
(get_file_for_parent_directory), (nautilus_file_rename),
(nautilus_file_get_gnome_vfs_uri),
(nautilus_file_get_uri),
Add code that handles the "self_owned" flag to make files without
parents work better.
(destroy): Fixed some leaks I noticed.
(nautilus_file_get_top_left_text),
(nautilus_file_should_get_top_left_text): Added this so that all
code can share a single call when deciding whether to get text
based on local vs. non-local.
(nautilus_file_get_activation_uri): Changed to work with new
async. code to fetch this.
* libnautilus-extensions/nautilus-icon-factory.c:
(nautilus_icon_factory_get_icon_for_file): Call
nautilus_file_should_get_top_left_text.
* libnautilus-extensions/nautilus-link.h:
* libnautilus-extensions/nautilus-link.c:
(nautilus_link_is_link_file_name): Named so it's clear it looks
at the file name only.
(xml_get_root_property), (nautilus_link_get_root_property):
Added these to share a lot of common code.
(nautilus_link_get_additional_text): Use the new calls.
(make_local_path), (icon_read_done_callback),
(nautilus_link_get_image_uri), (nautilus_link_get_link_uri),
(nautilus_link_get_display_name): Other cleanup and rewrite.
(nautilus_link_get_link_uri_given_file_contents): Add API that
can work with the async. I/O version.
* libnautilus-extensions/nautilus-stock-dialogs.c:
(timed_wait_free), (nautilus_timed_wait_start):
Added some asserts.
* src/file-manager/fm-directory-view.c: (activate_callback),
(fm_directory_view_activate_file): Use call_when_ready and
the new async. stuff.
* src/file-manager/fm-error-reporting.c:
(fm_report_error_setting_group): Added a (low-quality) error
message for the case where you aren't alowed to change the
group of something.
* src/file-manager/fm-icon-view.c:
(icon_position_changed_callback): Added missing NULL in a call
to g_strconcat.
(get_icon_text_callback): Fix storage leak.
* src/file-manager/fm-properties-window.c:
(activate_owner_callback): Fixed a timed_wait_start/stop mismatch
that was causing an assert and other badness when you changed the
owner.
* src/file-manager/fm-search-list-view.c:
(get_attribute_from_column): Added a missing case to prevent a
crash, but had to put in a FIXME since the code isn't really working.
* src/nautilus-application.c: (nautilus_application_startup):
Fixed bug where you wouldn't see error messages on startup. Also
improved one of the error messages by adding some blank lines.
2000-07-25 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-desktop-icon-view.c:
Added an #if 0 to disable some functions that
are not called but may be user soon.
2000-07-25 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_destroy)
Clean up all of our symbolic links to mounted volumes.
(device_set_state_empty)
Set all devices to empty to start with. Force a poll
of all devices in fstab.
(find_mount_devices)
Call device_set_state_empty () on all device entries.
(remove_mount_symlinks)
Utility function to clear out device mouny symbolic link.
(free_device_info):
Clean up all data in DeviceEntry structure.
2000-07-25 Arlo Rose <arlo@eazel.com>
* icons/Makefile.am:
* icons/emblem-trash.png
Added the Trash emblem for items found in the trash by a search.
It will change in the future when/if I clean up or change the
real trash can icon.
* components/mozilla/nautilus-mozilla-content-view.c:
Fix the dumb bug that prevented local html content from showing
up. Also added a comment to clarify the protocol aborting hack.
finished task 1442, zoom control needs to be themable. Added code
to update the control when the theme changes, and an alternate
magnifying glass image to the eazel theme for testing.
reorganized the menus. Added a user level menu and removed the
settings menu, moving remaining items to the bottom of the edit
menu. Added symbols to reflect the user levels, and made the
menu use the symbol of the current level as it's title.
Tweaked the text box for the eazel theme document icon, too.
* libnautilus-extensions/nautilus-file.c:
(set_owner_and_group): Pass GNOME_VFS_FILE_INFO_DEFAULT
for get_file_info options.
(set_owner_and_group_callback): Added new_info parameter to
match GnomeVFS API change; use this parameter to update
permissions when owner/group changes, since in some cases
chown affects permissions.
(nautilus_file_set_permissions): Pass GNOME_VFS_FILE_INFO_DEFAULT
for get_file_info options.
(set_permissions_callback): Added new_info parameter to match
GnomeVFS API change; use this parameter to update ctime when
permissions change (fixes bug 1453 -- changing permissions
doesn't update permissions-changed date)
* src/file-manager/fm-directory-view.c:
(fm_directory_view_activate_file): Improved a comment to mention
an existing bug number.
2000-07-25 Pavel Cisler <pavel@eazel.com>
* libnautilus-extensions/nautilus-drag.c:
* libnautilus-extensions/nautilus-drag.h:
(nautilus_drag_default_drop_action_for_icons), (drag_motion_callback):
Work around a bug in gtk-dnd.c that was making it impossible to
force a move when dragging in between two volumes - the default
is copy in that case and holding down Control would force it to
be a copy too.
The fix I did is only correct for icon drags, changed the routine
name to reflect that better.
* libnautilus-extensions/nautilus-icon-dnd.c:
(nautilus_icon_container_get_drop_action):
Fix a typo bug that caused the non-default drop action to be
undefined for non-icon drags.
2000-07-25 Gene Z. Ragan <gzr@eazel.com>
* src/file-manager/fm-desktop-icon-view.c:
(fm_desktop_icon_view_destroy),
(fm_desktop_icon_view_initialize_class),
(mount_device_cdrom_set_state), (mount_device_mount),
(mount_device_activate_cdrom), (mount_device_deactivate),
(mount_device_check_change), (mount_device_iso9660_add),
(mount_device_add_aliases), (add_mount_device),
(remove_mount_link), (remove_mount_symlinks),
(get_iso9660_volume_name), (get_ext2_volume_name):
More work on desktop volume mounting. Added symbolic link
cleanup in destroy function. Symbolic mount links are also
verified when a new volume mount is detected.
does not run them). Now it does, which works great for GUI-type
executables but is pretty lame for command-line ones.
* src/file-manager/fm-directory-view.c:
(file_is_launchable): New utility function, returns true if
file is executable and not a directory.
(compute_menu_item_info): Disable "Open in New Window" if
there's only one item selected and it's executable, since in
this case "Open" and "Open in New Window" would have the same
behavior and thus the choice is confusing.
(fm_directory_view_activate_file): If file is launchable,
launch it directly instead of looking for another app/viewer to use.
The user can still use "Open With" to open it differently.