view-selector: Add keyboard shortcut for view switching
As the view selector is a tabbed interface, use the default keyboard shortcut of Ctrl-PageUp/PageDown of GtkNotebook for switching between views. https://bugzilla.gnome.org/show_bug.cgi?id=634948
This commit is contained in:
parent
688a315cbf
commit
ffd7eaede5
@ -460,6 +460,29 @@ ViewSelector.prototype = {
|
|||||||
this._switchTab(this._tabs[0]);
|
this._switchTab(this._tabs[0]);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_nextTab: function() {
|
||||||
|
if (this._tabs.length == 0 ||
|
||||||
|
this._tabs[this._tabs.length - 1] == this._activeTab)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (let i = 0; i < this._tabs.length; i++)
|
||||||
|
if (this._tabs[i] == this._activeTab) {
|
||||||
|
this._switchTab(this._tabs[i + 1]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_prevTab: function() {
|
||||||
|
if (this._tabs.length == 0 || this._tabs[0] == this._activeTab)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (let i = 0; i < this._tabs.length; i++)
|
||||||
|
if (this._tabs[i] == this._activeTab) {
|
||||||
|
this._switchTab(this._tabs[i - 1]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
_getPreferredTabBarWidth: function(box, forHeight, alloc) {
|
_getPreferredTabBarWidth: function(box, forHeight, alloc) {
|
||||||
let children = box.get_children();
|
let children = box.get_children();
|
||||||
for (let i = 0; i < children.length; i++) {
|
for (let i = 0; i < children.length; i++) {
|
||||||
@ -521,10 +544,21 @@ ViewSelector.prototype = {
|
|||||||
if (focus != stage)
|
if (focus != stage)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
let modifiers = Shell.get_event_state(event);
|
||||||
let symbol = event.get_key_symbol();
|
let symbol = event.get_key_symbol();
|
||||||
if (symbol == Clutter.Escape) {
|
if (symbol == Clutter.Escape) {
|
||||||
Main.overview.hide();
|
Main.overview.hide();
|
||||||
return true;
|
return true;
|
||||||
|
} else if (modifiers & Clutter.ModifierType.CONTROL_MASK) {
|
||||||
|
if (symbol == Clutter.Page_Up) {
|
||||||
|
if (!this._searchActive)
|
||||||
|
this._prevTab();
|
||||||
|
return true;
|
||||||
|
} else if (symbol == Clutter.Page_Down) {
|
||||||
|
if (!this._searchActive)
|
||||||
|
this._nextTab();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user