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: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; color: white;
text-shadow: black 0px 2px 2px; text-shadow: black 0px 2px 2px;
} }
@ -2079,7 +2079,7 @@ StButton.popup-menu-item:insensitive {
background-color: rgba(255,255,255,0.1); 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); background-color: rgba(255,255,255,0.33);
} }

View File

@ -173,7 +173,7 @@ const UserListItem = new Lang.Class({
}, },
syncStyleClasses: function() { 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'); this.actor.add_style_pseudo_class('focus');
else else
this.actor.remove_style_pseudo_class('focus'); this.actor.remove_style_pseudo_class('focus');
@ -223,7 +223,8 @@ const UserList = new Lang.Class({
Gtk.PolicyType.AUTOMATIC); Gtk.PolicyType.AUTOMATIC);
this._box = new St.BoxLayout({ vertical: true, 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.actor.add_actor(this._box);
this._items = {}; this._items = {};
@ -313,6 +314,7 @@ const UserList = new Lang.Class({
}); });
} }
this._box.remove_style_pseudo_class('expanded');
let batch = new Batch.ConsecutiveBatch(this, let batch = new Batch.ConsecutiveBatch(this,
[function() { [function() {
return GdmUtil.fadeOutActor(this.actor.vscroll); 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, let batch = new Batch.ConsecutiveBatch(this,
[function() { [function() {
this.takeOverWhitespace(); this.takeOverWhitespace();