[gnome-disk-utility] Insensitive auto-clear switch for unused loop device



commit b13532c180e952206dec22ec2fca922db2b544ef
Author: Kai Lüke <kailueke riseup net>
Date:   Wed Apr 26 15:03:43 2017 +0200

    Insensitive auto-clear switch for unused loop device
    
    Turning auto-clear on for an unused loop device leads
    to direct detachment which might be unexpected.
    
    The auto-clear switch is now insensitive if it would
    directly lead to detachment.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=780865

 src/disks/gduwindow.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/src/disks/gduwindow.c b/src/disks/gduwindow.c
index a0625a7..9b0fdcc 100644
--- a/src/disks/gduwindow.c
+++ b/src/disks/gduwindow.c
@@ -1589,7 +1589,8 @@ set_switch (GduWindow      *window,
             const gchar    *key_label_id,
             const gchar    *switch_box_id,
             const gchar    *switch_id,
-            gboolean        active)
+            gboolean        active,
+            gboolean        sensitive)
 {
   GtkWidget *key_label;
   GtkWidget *switch_box;
@@ -1600,6 +1601,7 @@ set_switch (GduWindow      *window,
   switch_ = GTK_WIDGET (gtk_builder_get_object (window->builder, switch_id));
 
   gtk_switch_set_active (GTK_SWITCH (switch_), active);
+  gtk_widget_set_sensitive (switch_, sensitive);
   gtk_widget_show (key_label);
   gtk_widget_show (switch_box);
   gtk_widget_show (switch_);
@@ -2327,7 +2329,8 @@ update_device_page_for_loop (GduWindow      *window,
                   "devtab-loop-autoclear-label",
                   "devtab-loop-autoclear-switch-box",
                   "devtab-loop-autoclear-switch",
-                  udisks_loop_get_autoclear (loop));
+                  udisks_loop_get_autoclear (loop),
+                  gdu_utils_is_in_use (window->client, object));
     }
 
   /* cleanup */
@@ -2769,7 +2772,8 @@ update_device_page_for_free_space (GduWindow          *window,
                   "devtab-loop-autoclear-label",
                   "devtab-loop-autoclear-switch-box",
                   "devtab-loop-autoclear-switch",
-                  udisks_loop_get_autoclear (loop));
+                  udisks_loop_get_autoclear (loop),
+                  gdu_utils_is_in_use (window->client, object));
     }
 
   set_size (window,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]