This prevents the other widgets from jumping around, which occurs when just using set_visible() and also provides a nice fade-in and fade-out effect. :)
Signed-off-by: Martin Kolman mkolman@redhat.com --- pyanaconda/ui/gui/spokes/storage.glade | 125 ++++++++++++++++++++------------- pyanaconda/ui/gui/spokes/storage.py | 10 +-- 2 files changed, 80 insertions(+), 55 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/storage.glade b/pyanaconda/ui/gui/spokes/storage.glade index 011ccdc..6074750 100644 --- a/pyanaconda/ui/gui/spokes/storage.glade +++ b/pyanaconda/ui/gui/spokes/storage.glade @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.1 --> +<!-- Generated with glade 3.18.3 --> <interface> - <requires lib="gtk+" version="3.6"/> + <requires lib="gtk+" version="3.10"/> <requires lib="AnacondaWidgets" version="1.0"/> <object class="GtkDialog" id="need_space_dialog"> <property name="can_focus">False</property> @@ -595,15 +595,24 @@ </packing> </child> <child> - <object class="GtkLabel" id="local_untouched_label"> + <object class="GtkRevealer" id="local_untouched_label_revealer"> + <property name="visible">True</property> <property name="can_focus">False</property> - <property name="no_show_all">True</property> - <property name="margin_right">18</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Disks left unselected here will not be touched.</property> - <attributes> - <attribute name="font-desc" value="Cantarell Italic 10"/> - </attributes> + <property name="transition_type">crossfade</property> + <property name="reveal_child">True</property> + <child> + <object class="GtkLabel" id="local_untouched_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="margin_right">18</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Disks left unselected here will not be touched.</property> + <attributes> + <attribute name="font-desc" value="Cantarell Italic 10"/> + </attributes> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -726,15 +735,24 @@ </packing> </child> <child> - <object class="GtkLabel" id="special_untouched_label"> + <object class="GtkRevealer" id="special_untouched_label_revealer"> + <property name="visible">True</property> <property name="can_focus">False</property> - <property name="no_show_all">True</property> - <property name="margin_right">18</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Disks left unselected here will not be touched.</property> - <attributes> - <attribute name="font-desc" value="Cantarell Italic 10"/> - </attributes> + <property name="transition_type">crossfade</property> + <property name="reveal_child">True</property> + <child> + <object class="GtkLabel" id="special_untouched_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="margin_right">18</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Disks left unselected here will not be touched.</property> + <attributes> + <attribute name="font-desc" value="Cantarell Italic 10"/> + </attributes> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -930,38 +948,6 @@ <property name="visible">True</property> <property name="can_focus">False</property> <child> - <object class="GtkButton" id="summary_button"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="no_show_all">True</property> - <property name="halign">start</property> - <property name="margin_left">18</property> - <property name="hexpand">True</property> - <property name="relief">none</property> - <property name="use_underline">True</property> - <property name="focus_on_click">False</property> - <property name="xalign">0</property> - <signal name="clicked" handler="on_summary_clicked" swapped="no"/> - <child> - <object class="GtkLabel" id="label5"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="GUI|Storage">_Full disk summary and bootloader...</property> - <property name="use_underline">True</property> - <attributes> - <attribute name="underline" value="True"/> - <attribute name="foreground" value="#00000000ffff"/> - </attributes> - </object> - </child> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> <object class="GtkLabel" id="summary_label"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -978,6 +964,45 @@ <property name="top_attach">0</property> </packing> </child> + <child> + <object class="GtkRevealer" id="summary_button_revealer"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="transition_type">crossfade</property> + <property name="reveal_child">True</property> + <child> + <object class="GtkButton" id="summary_button"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="no_show_all">True</property> + <property name="halign">start</property> + <property name="hexpand">True</property> + <property name="relief">none</property> + <property name="use_underline">True</property> + <property name="focus_on_click">False</property> + <property name="xalign">0</property> + <signal name="clicked" handler="on_summary_clicked" swapped="no"/> + <child> + <object class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="GUI|Storage">_Full disk summary and bootloader...</property> + <property name="use_underline">True</property> + <attributes> + <attribute name="underline" value="True"/> + <attribute name="foreground" value="#00000000ffff"/> + </attributes> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> </object> <packing> <property name="expand">False</property> diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py index bc391c6..79bb12a 100644 --- a/pyanaconda/ui/gui/spokes/storage.py +++ b/pyanaconda/ui/gui/spokes/storage.py @@ -592,11 +592,11 @@ class StorageSpoke(NormalSpoke, StorageChecker): summary_label.set_text(summary) summary_label.set_sensitive(anySelected)
- summary_button = self.builder.get_object("summary_button") - summary_button.set_visible(anySelected) - - self.builder.get_object("local_untouched_label").set_visible(anySelected) - self.builder.get_object("special_untouched_label").set_visible(anySelected) + # only show the "we won't touch your other disks" labels and summary button when + # some disks are selected + self.builder.get_object("summary_button_revealer").set_reveal_child(anySelected) + self.builder.get_object("local_untouched_label_revealer").set_reveal_child(anySelected) + self.builder.get_object("special_untouched_label_revealer").set_reveal_child(anySelected) self.builder.get_object("other_options_label").set_sensitive(anySelected) self.builder.get_object("other_options_grid").set_sensitive(anySelected)