[nautilus] Don't show volume info for things without a volume
- From: William Jon McCann <mccann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] Don't show volume info for things without a volume
- Date: Tue, 25 Sep 2012 16:23:40 +0000 (UTC)
commit e478a3eafa22933830bdbddfaa25574c6a78553e
Author: William Jon McCann <jmccann redhat com>
Date: Wed Sep 19 03:43:30 2012 -0400
Don't show volume info for things without a volume
https://bugzilla.gnome.org/show_bug.cgi?id=684354
src/nautilus-properties-window.c | 52 ++++++++++++++++++++++++++++++++-----
1 files changed, 45 insertions(+), 7 deletions(-)
---
diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
index 9b31a33..73e7852 100644
--- a/src/nautilus-properties-window.c
+++ b/src/nautilus-properties-window.c
@@ -52,6 +52,7 @@
#include <libnautilus-private/nautilus-entry.h>
#include <libnautilus-private/nautilus-file-attributes.h>
#include <libnautilus-private/nautilus-file-operations.h>
+#include <libnautilus-private/nautilus-file-utilities.h>
#include <libnautilus-private/nautilus-desktop-icon-file.h>
#include <libnautilus-private/nautilus-global-preferences.h>
#include <libnautilus-private/nautilus-link.h>
@@ -2442,6 +2443,19 @@ is_computer_directory (NautilusFile *file)
}
static gboolean
+is_root_directory (NautilusFile *file)
+{
+ GFile *location;
+ gboolean result;
+
+ location = nautilus_file_get_location (file);
+ result = nautilus_is_root_directory (location);
+ g_object_unref (location);
+
+ return result;
+}
+
+static gboolean
is_network_directory (NautilusFile *file)
{
char *file_uri;
@@ -2506,10 +2520,11 @@ should_show_file_type (NautilusPropertiesWindow *window)
}
static gboolean
-should_show_location_info (NautilusPropertiesWindow *window)
+should_show_location_info (NautilusPropertiesWindow *window)
{
- if (!is_multi_file_window (window)
+ if (!is_multi_file_window (window)
&& (is_merged_trash_directory (get_target_file (window)) ||
+ is_root_directory (get_target_file (window)) ||
is_computer_directory (get_target_file (window)) ||
is_network_directory (get_target_file (window)) ||
is_burn_directory (get_target_file (window)))) {
@@ -2558,7 +2573,6 @@ location_show_original (NautilusPropertiesWindow *window)
static gboolean
should_show_free_space (NautilusPropertiesWindow *window)
{
-
if (!is_multi_file_window (window)
&& (is_merged_trash_directory (get_target_file (window)) ||
is_computer_directory (get_target_file (window)) ||
@@ -2576,6 +2590,28 @@ should_show_free_space (NautilusPropertiesWindow *window)
}
static gboolean
+should_show_volume_info (NautilusPropertiesWindow *window)
+{
+ NautilusFile *file;
+
+ if (is_multi_file_window (window)) {
+ return FALSE;
+ }
+
+ file = get_original_file (window);
+
+ if (file == NULL) {
+ return FALSE;
+ }
+
+ if (nautilus_file_can_unmount (file)) {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static gboolean
should_show_volume_usage (NautilusPropertiesWindow *window)
{
NautilusFile *file;
@@ -3248,13 +3284,15 @@ create_basic_page (NautilusPropertiesWindow *window)
append_blank_row (grid);
if (should_show_location_info (window)) {
- append_title_and_ellipsizing_value (window, grid, _("Location:"),
+ append_title_and_ellipsizing_value (window, grid, _("Location:"),
"where",
INCONSISTENT_STATE_STRING,
location_show_original (window));
-
- append_title_and_ellipsizing_value (window, grid,
- _("Volume:"),
+ }
+
+ if (should_show_volume_info (window)) {
+ append_title_and_ellipsizing_value (window, grid,
+ _("Volume:"),
"volume",
INCONSISTENT_STATE_STRING,
FALSE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]