loginDialog: Add an :expanded pseudo class to the user list

We want to style user list items differently depending on whether
the list is expanded or shrunk; instead of manually updating the
items' style, we can just expose the :expanded style on the list
itself and use that in the CSS.

https://bugzilla.gnome.org/show_bug.cgi?id=658185
This commit is contained in:
Florian Müllner 2012-08-01 17:14:00 +02:00
parent e55f2dd3b9
commit a3f4bca14e
2 changed files with 7 additions and 4 deletions

View File

@ -2070,7 +2070,7 @@ StButton.popup-menu-item:insensitive {
}
.login-dialog-user-list-item:hover .login-dialog-user-list-item-name,
.login-dialog-user-list-item:focus .login-dialog-user-list-item-name {
.login-dialog-user-list:expanded .login-dialog-user-list-item:focus .login-dialog-user-list-item-name {
color: white;
text-shadow: black 0px 2px 2px;
}
@ -2079,7 +2079,7 @@ StButton.popup-menu-item:insensitive {
background-color: rgba(255,255,255,0.1);
}
.login-dialog-user-list-item:focus {
.login-dialog-user-list:expanded .login-dialog-user-list-item:focus {
background-color: rgba(255,255,255,0.33);
}

View File

@ -173,7 +173,7 @@ const UserListItem = new Lang.Class({
},
syncStyleClasses: function() {
if (this.actor.can_focus && global.stage.get_key_focus() == this.actor)
if (global.stage.get_key_focus() == this.actor)
this.actor.add_style_pseudo_class('focus');
else
this.actor.remove_style_pseudo_class('focus');
@ -223,7 +223,8 @@ const UserList = new Lang.Class({
Gtk.PolicyType.AUTOMATIC);
this._box = new St.BoxLayout({ vertical: true,
style_class: 'login-dialog-user-list' });
style_class: 'login-dialog-user-list',
pseudo_class: 'expanded' });
this.actor.add_actor(this._box);
this._items = {};
@ -313,6 +314,7 @@ const UserList = new Lang.Class({
});
}
this._box.remove_style_pseudo_class('expanded');
let batch = new Batch.ConsecutiveBatch(this,
[function() {
return GdmUtil.fadeOutActor(this.actor.vscroll);
@ -368,6 +370,7 @@ const UserList = new Lang.Class({
});
}
this._box.add_style_pseudo_class('expanded');
let batch = new Batch.ConsecutiveBatch(this,
[function() {
this.takeOverWhitespace();