switcherPopup: Factor the initial selection into the base class
Only the application switcher needs to keep its own implementation since it has two modes of operation depending on the binding. https://bugzilla.gnome.org/show_bug.cgi?id=735976
This commit is contained in:
parent
547cdf86cc
commit
2b1077aaa1
@ -378,15 +378,6 @@ const WindowSwitcherPopup = new Lang.Class({
|
|||||||
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
||||||
},
|
},
|
||||||
|
|
||||||
_initialSelection: function(backward, binding) {
|
|
||||||
if (binding == 'switch-windows-backward' || backward)
|
|
||||||
this._select(this._items.length - 1);
|
|
||||||
else if (this._items.length == 1)
|
|
||||||
this._select(0);
|
|
||||||
else
|
|
||||||
this._select(1);
|
|
||||||
},
|
|
||||||
|
|
||||||
_keyPressHandler: function(keysym, action) {
|
_keyPressHandler: function(keysym, action) {
|
||||||
if (action == Meta.KeyBindingAction.SWITCH_WINDOWS) {
|
if (action == Meta.KeyBindingAction.SWITCH_WINDOWS) {
|
||||||
this._select(this._next());
|
this._select(this._next());
|
||||||
|
@ -146,17 +146,6 @@ const CtrlAltTabPopup = new Lang.Class({
|
|||||||
this._switcherList = new CtrlAltTabSwitcher(this._items);
|
this._switcherList = new CtrlAltTabSwitcher(this._items);
|
||||||
},
|
},
|
||||||
|
|
||||||
_initialSelection: function(backward, binding) {
|
|
||||||
if (binding == 'switch-panels') {
|
|
||||||
if (backward)
|
|
||||||
this._selectedIndex = this._items.length - 1;
|
|
||||||
} else if (binding == 'switch-panels-backward') {
|
|
||||||
if (!backward)
|
|
||||||
this._selectedIndex = this._items.length - 1;
|
|
||||||
}
|
|
||||||
this._select(this._selectedIndex);
|
|
||||||
},
|
|
||||||
|
|
||||||
_keyPressHandler: function(keysym, action) {
|
_keyPressHandler: function(keysym, action) {
|
||||||
if (action == Meta.KeyBindingAction.SWITCH_PANELS)
|
if (action == Meta.KeyBindingAction.SWITCH_PANELS)
|
||||||
this._select(this._next());
|
this._select(this._next());
|
||||||
|
@ -269,17 +269,6 @@ const InputSourcePopup = new Lang.Class({
|
|||||||
this._switcherList = new InputSourceSwitcher(this._items);
|
this._switcherList = new InputSourceSwitcher(this._items);
|
||||||
},
|
},
|
||||||
|
|
||||||
_initialSelection: function(backward, binding) {
|
|
||||||
if (binding == 'switch-input-source') {
|
|
||||||
if (backward)
|
|
||||||
this._selectedIndex = this._items.length - 1;
|
|
||||||
} else if (binding == 'switch-input-source-backward') {
|
|
||||||
if (!backward)
|
|
||||||
this._selectedIndex = this._items.length - 1;
|
|
||||||
}
|
|
||||||
this._select(this._selectedIndex);
|
|
||||||
},
|
|
||||||
|
|
||||||
_keyPressHandler: function(keysym, action) {
|
_keyPressHandler: function(keysym, action) {
|
||||||
if (action == this._action)
|
if (action == this._action)
|
||||||
this._select(this._next());
|
this._select(this._next());
|
||||||
|
@ -103,7 +103,12 @@ const SwitcherPopup = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_initialSelection: function(backward, binding) {
|
_initialSelection: function(backward, binding) {
|
||||||
throw new Error('Not implemented');
|
if (backward)
|
||||||
|
this._select(this._items.length - 1);
|
||||||
|
else if (this._items.length == 1)
|
||||||
|
this._select(0);
|
||||||
|
else
|
||||||
|
this._select(1);
|
||||||
},
|
},
|
||||||
|
|
||||||
show: function(backward, binding, mask) {
|
show: function(backward, binding, mask) {
|
||||||
@ -135,11 +140,6 @@ const SwitcherPopup = new Lang.Class({
|
|||||||
this.actor.show();
|
this.actor.show();
|
||||||
this.actor.get_allocation_box();
|
this.actor.get_allocation_box();
|
||||||
|
|
||||||
if (this._items.length > 1)
|
|
||||||
this._selectedIndex = 1;
|
|
||||||
else
|
|
||||||
this._selectedIndex = 0;
|
|
||||||
|
|
||||||
this._initialSelection(backward, binding);
|
this._initialSelection(backward, binding);
|
||||||
|
|
||||||
// There's a race condition; if the user released Alt before
|
// There's a race condition; if the user released Alt before
|
||||||
|
Loading…
x
Reference in New Issue
Block a user