[gnome-disk-utility] Insensitive auto-clear switch for unused loop device
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-disk-utility] Insensitive auto-clear switch for unused loop device
- Date: Thu, 27 Apr 2017 10:50:57 +0000 (UTC)
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]