user-account: Use a stack in user-icon to keep the same size

This fixes the undesired jumps (resizes) while switching between
"Your Account" and any other account.

https://bugzilla.gnome.org/show_bug.cgi?id=778458
This commit is contained in:
Felipe Borges 2017-02-12 14:51:50 +01:00
parent ffb2aaabe7
commit 92e99f677f
2 changed files with 5 additions and 16 deletions

View file

@ -291,9 +291,8 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkBox"> <object class="GtkStack" id="user-icon">
<property name="visible">True</property> <property name="visible">True</property>
<property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
<property name="halign">GTK_ALIGN_END</property> <property name="halign">GTK_ALIGN_END</property>
<child> <child>
<object class="UmUserImage" id="user-icon-image"> <object class="UmUserImage" id="user-icon-image">
@ -307,11 +306,6 @@
</object> </object>
</child> </child>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child> </child>
<child> <child>
<object class="GtkToggleButton" id="user-icon-button"> <object class="GtkToggleButton" id="user-icon-button">
@ -332,11 +326,6 @@
</object> </object>
</child> </child>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child> </child>
</object> </object>
<packing> <packing>

View file

@ -1269,8 +1269,8 @@ on_permission_changed (GPermission *permission,
} }
if (is_authorized || self_selected) { if (is_authorized || self_selected) {
gtk_widget_show (get_widget (d, "user-icon-button")); gtk_stack_set_visible_child (GTK_STACK (get_widget (d, "user-icon")),
gtk_widget_hide (get_widget (d, "user-icon-image")); get_widget (d, "user-icon-button"));
gtk_widget_set_sensitive (get_widget (d, "account-language-button"), TRUE); gtk_widget_set_sensitive (get_widget (d, "account-language-button"), TRUE);
remove_unlock_tooltip (get_widget (d, "account-language-button")); remove_unlock_tooltip (get_widget (d, "account-language-button"));
@ -1285,8 +1285,8 @@ on_permission_changed (GPermission *permission,
remove_unlock_tooltip (get_widget (d, "last-login-button")); remove_unlock_tooltip (get_widget (d, "last-login-button"));
} }
else { else {
gtk_widget_hide (get_widget (d, "user-icon-button")); gtk_stack_set_visible_child (GTK_STACK (get_widget (d, "user-icon")),
gtk_widget_show (get_widget (d, "user-icon-image")); get_widget (d, "user-icon-image"));
gtk_widget_set_sensitive (get_widget (d, "account-language-button"), FALSE); gtk_widget_set_sensitive (get_widget (d, "account-language-button"), FALSE);
add_unlock_tooltip (get_widget (d, "account-language-button")); add_unlock_tooltip (get_widget (d, "account-language-button"));