switcherPopup: Implement functions to add and remove accessible states
Set the accessible states of the switcherList items by calling a function instead of manipulating class-internal variables from outside the class, which is considered bad practice. The check whether the item at `_selectedIndex` exists can also be removed since we always select a new index after an item was removed (i.e. an app was closed) and destroy the alt-tab switcher right away if no more items exist (see `SwitcherPopup._itemRemovedHandler`). https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/167
This commit is contained in:
parent
c00f1d040b
commit
bfb0bc7a29
@ -365,8 +365,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
this._thumbnails = null;
|
this._thumbnails = null;
|
||||||
if (this._switcherList._items[this._selectedIndex])
|
this._switcherList.removeAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED);
|
||||||
this._switcherList._items[this._selectedIndex].remove_accessible_state(Atk.StateType.EXPANDED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_createThumbnails() {
|
_createThumbnails() {
|
||||||
@ -395,7 +394,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
this._switcherList._items[this._selectedIndex].add_accessible_state(Atk.StateType.EXPANDED);
|
this._switcherList.addAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -444,6 +444,14 @@ var SwitcherList = GObject.registerClass({
|
|||||||
this.emit('item-removed', index);
|
this.emit('item-removed', index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addAccessibleState(index, state) {
|
||||||
|
this._items[index].add_accessible_state(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
removeAccessibleState(index, state) {
|
||||||
|
this._items[index].remove_accessible_state(state);
|
||||||
|
}
|
||||||
|
|
||||||
_onItemClicked(index) {
|
_onItemClicked(index) {
|
||||||
this._itemActivated(index);
|
this._itemActivated(index);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user