[gnome-shell] viewSelector: clean up active search state code
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] viewSelector: clean up active search state code
- Date: Thu, 24 Jan 2013 17:04:29 +0000 (UTC)
commit 4bd071bf3c2b0273e557db7614ab061a4d1627c1
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Fri Aug 24 11:24:49 2012 -0500
viewSelector: clean up active search state code
'active' isn't terribly clear about just what is active; also, make it
private, remove an useless extra object state we were saving, and
refactor some messy code.
Based on a patch by Tanner Doshier.
https://bugzilla.gnome.org/show_bug.cgi?id=692454
js/ui/viewSelector.js | 53 +++++++++++++++++++++++-------------------------
1 files changed, 25 insertions(+), 28 deletions(-)
---
diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js
index 1ece4a0..c45057c 100644
--- a/js/ui/viewSelector.js
+++ b/js/ui/viewSelector.js
@@ -47,8 +47,7 @@ const ViewSelector = new Lang.Class({
this._activePage = null;
- this.active = false;
- this._searchPending = false;
+ this._searchActive = false;
this._searchTimeoutId = 0;
this._searchSystem = new Search.SearchSystem();
@@ -224,7 +223,7 @@ const ViewSelector = new Lang.Class({
},
_onShowAppsButtonToggled: function() {
- if (this.active)
+ if (this._searchActive)
this.reset();
else
this._showPage(this._showAppsButton.checked ? this._appsPage
@@ -245,7 +244,7 @@ const ViewSelector = new Lang.Class({
let symbol = event.get_key_symbol();
if (symbol == Clutter.Escape) {
- if (this.active)
+ if (this._searchActive)
this.reset();
else if (this._showAppsButton.checked)
this._resetShowAppsButton();
@@ -253,9 +252,9 @@ const ViewSelector = new Lang.Class({
Main.overview.hide();
return true;
} else if (Clutter.keysym_to_unicode(symbol) ||
- (symbol == Clutter.BackSpace && this.active)) {
+ (symbol == Clutter.BackSpace && this._searchActive)) {
this.startSearch(event);
- } else if (!this.active) {
+ } else if (!this._searchActive) {
if (symbol == Clutter.Tab || symbol == Clutter.Down) {
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
return true;
@@ -329,39 +328,37 @@ const ViewSelector = new Lang.Class({
},
_onTextChanged: function (se, prop) {
- let searchPreviouslyActive = this.active;
- this.active = this._entry.get_text() != '';
- this._searchPending = this.active && !searchPreviouslyActive;
- if (this._searchPending) {
+ let searchPreviouslyActive = this._searchActive;
+ this._searchActive = this._entry.get_text() != '';
+
+ let startSearch = this._searchActive && !searchPreviouslyActive;
+ if (startSearch)
this._searchResults.startingSearch();
- }
- if (this.active) {
+
+ if (this._searchActive) {
this._entry.set_secondary_icon(this._activeIcon);
- if (this._iconClickedId == 0) {
+ if (this._iconClickedId == 0)
this._iconClickedId = this._entry.connect('secondary-icon-clicked',
- Lang.bind(this, function() {
- this.reset();
- }));
- }
+ Lang.bind(this, this.reset));
+
+ if (this._searchTimeoutId == 0)
+ this._searchTimeoutId = Mainloop.timeout_add(150,
+ Lang.bind(this, this._doSearch));
} else {
- if (this._iconClickedId > 0)
+ if (this._iconClickedId > 0) {
this._entry.disconnect(this._iconClickedId);
- this._iconClickedId = 0;
+ this._iconClickedId = 0;
+ }
- this._entry.set_secondary_icon(this._inactiveIcon);
- this._searchCancelled();
- }
- if (!this.active) {
if (this._searchTimeoutId > 0) {
Mainloop.source_remove(this._searchTimeoutId);
this._searchTimeoutId = 0;
}
- return;
+
+ this._entry.set_secondary_icon(this._inactiveIcon);
+ this._searchCancelled();
}
- if (this._searchTimeoutId > 0)
- return;
- this._searchTimeoutId = Mainloop.timeout_add(150, Lang.bind(this, this._doSearch));
},
_onKeyPress: function(entry, event) {
@@ -380,7 +377,7 @@ const ViewSelector = new Lang.Class({
}
this._searchResults.activateDefault();
return true;
- } else if (this.active) {
+ } else if (this._searchActive) {
let arrowNext, nextDirection;
if (entry.get_text_direction() == Clutter.TextDirection.RTL) {
arrowNext = Clutter.Left;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]