diff options
author | John Sullivan <sullivan@src.gnome.org> | 2001-01-16 00:07:47 +0000 |
---|---|---|
committer | John Sullivan <sullivan@src.gnome.org> | 2001-01-16 00:07:47 +0000 |
commit | 91093082def77dbc269fa8cd6e25f56a7cc83c42 (patch) | |
tree | 214896dcb53fa11a56ee2d40fdf4b3296d243c6e /src/file-manager/fm-error-reporting.c | |
parent | 2b21066674d3e27206aab880a5a06f7632a38b6f (diff) | |
download | nautilus-91093082def77dbc269fa8cd6e25f56a7cc83c42.tar.gz |
reviewed by: Darin Adler <darin@eazel.com>
Some work on bug 2146 (Properties window for desktop Trash icon
should show Trash properties)
* src/file-manager/fm-properties-window.c:
(is_merged_trash_directory): New helper function, checks whether
window is displaying special trash location.
(should_show_custom_icon_buttons): New helper function, returns
FALSE for special trash location since custom icons don't work
with the trash (see bug 5642)
(should_show_mime_type): New helper function, extracted for
code clarity (returns FALSE for directories).
(create_basic_page): Now takes only one parameter, gets file
and notebook from details struct; uses should_show_mime_type
and should_show_custom_icon_buttons.
(create_emblems_page), (create_permissions_page): Now take only
one parameter, get file and notebook from details struct.
(should_show_emblems): New helper function, returns FALSE for
special trash location since emblems don't work with the
trash (see bug 5643)
(should_show_permissions): New helper function, returns FALSE for
special trash location since it's not really a file system object
for which permissions make sense.
(create_properties_window): Respect should_show_emblems and
should_show_permissions.
Eli ran into a case where the "can't set permissions" error message
was the vague default case when the disk was locked. I added that
case to the set of specifically handled cases.
* src/file-manager/fm-error-reporting.c:
(fm_report_error_renaming_file), (fm_report_error_setting_group),
(fm_report_error_setting_owner),
(fm_report_error_setting_permissions): Handle
GNOME_VFS_ERROR_READ_ONLY_FILE_SYSTEM cases.
Diffstat (limited to 'src/file-manager/fm-error-reporting.c')
-rw-r--r-- | src/file-manager/fm-error-reporting.c | 52 |
1 files changed, 40 insertions, 12 deletions
diff --git a/src/file-manager/fm-error-reporting.c b/src/file-manager/fm-error-reporting.c index d545cadef..9c45159c2 100644 --- a/src/file-manager/fm-error-reporting.c +++ b/src/file-manager/fm-error-reporting.c @@ -76,6 +76,10 @@ fm_report_error_renaming_file (NautilusFile *file, new_name); } break; + case GNOME_VFS_ERROR_READ_ONLY_FILE_SYSTEM: + message = g_strdup_printf (_("Couldn't change the name of \"%s\" because it is on a read-only disk"), + original_name); + break; default: /* We should invent decent error messages for every case we actually experience. */ g_warning ("Hit unhandled case %d in fm_report_error_renaming_file, tell sullivan@eazel.com", error); @@ -97,14 +101,20 @@ fm_report_error_setting_group (NautilusFile *file, char *file_name; char *message; - switch (error) { - case GNOME_VFS_OK: + if (error == GNOME_VFS_OK) { return; + } + + file_name = nautilus_file_get_name (file); + + switch (error) { case GNOME_VFS_ERROR_NOT_PERMITTED: - file_name = nautilus_file_get_name (file); message = g_strdup_printf (_("You do not have the permissions necessary to change the group of \"%s\"."), file_name); - g_free (file_name); + break; + case GNOME_VFS_ERROR_READ_ONLY_FILE_SYSTEM: + message = g_strdup_printf (_("Couldn't change the group of \"%s\" because it is on a read-only disk"), + file_name); break; default: /* We should invent decent error messages for every case we actually experience. */ @@ -115,6 +125,8 @@ fm_report_error_setting_group (NautilusFile *file, } nautilus_error_dialog (message, _("Error Setting Group"), NULL); + + g_free (file_name); g_free (message); } @@ -125,18 +137,26 @@ fm_report_error_setting_owner (NautilusFile *file, char *file_name; char *message; - switch (error) { - case GNOME_VFS_OK: + if (error == GNOME_VFS_OK) { return; + } + + file_name = nautilus_file_get_name (file); + + switch (error) { + case GNOME_VFS_ERROR_READ_ONLY_FILE_SYSTEM: + message = g_strdup_printf (_("Couldn't change the owner of \"%s\" because it is on a read-only disk"), + file_name); + break; default: /* We should invent decent error messages for every case we actually experience. */ g_warning ("Hit unhandled case %d in fm_report_error_setting_owner, tell sullivan@eazel.com", error); - file_name = nautilus_file_get_name (file); message = g_strdup_printf (_("Sorry, couldn't change the owner of \"%s\"."), file_name); - g_free (file_name); } nautilus_error_dialog (message, _("Error Setting Owner"), NULL); + + g_free (file_name); g_free (message); } @@ -147,18 +167,26 @@ fm_report_error_setting_permissions (NautilusFile *file, char *file_name; char *message; - switch (error) { - case GNOME_VFS_OK: + if (error == GNOME_VFS_OK) { return; + } + + file_name = nautilus_file_get_name (file); + + switch (error) { + case GNOME_VFS_ERROR_READ_ONLY_FILE_SYSTEM: + message = g_strdup_printf (_("Couldn't change the permissions of \"%s\" because it is on a read-only disk"), + file_name); + break; default: /* We should invent decent error messages for every case we actually experience. */ g_warning ("Hit unhandled case %d in fm_report_error_setting_permissions, tell sullivan@eazel.com", error); - file_name = nautilus_file_get_name (file); message = g_strdup_printf (_("Sorry, couldn't change the permissions of \"%s\"."), file_name); - g_free (file_name); } nautilus_error_dialog (message, _("Error Setting Permissions"), NULL); + + g_free (file_name); g_free (message); } |