gnome-shell r90 - trunk/js/ui
- From: walters svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-shell r90 - trunk/js/ui
- Date: Fri, 28 Nov 2008 22:05:10 +0000 (UTC)
Author: walters
Date: Fri Nov 28 22:05:09 2008
New Revision: 90
URL: http://svn.gnome.org/viewvc/gnome-shell?rev=90&view=rev
Log:
Hook up activate on search entry to launch if only one app displayed
Modified:
trunk/js/ui/appdisplay.js
trunk/js/ui/overlay.js
Modified: trunk/js/ui/appdisplay.js
==============================================================================
--- trunk/js/ui/appdisplay.js (original)
+++ trunk/js/ui/appdisplay.js Fri Nov 28 22:05:09 2008
@@ -63,7 +63,7 @@
width: width,
height: APPDISPLAY_HEIGHT});
this._group.connect('button-press-event', function(group, e) {
- me.emit('launch');
+ me.emit('activate');
return true;
});
this._bg = new Clutter.Rectangle({ color: APPDISPLAY_BACKGROUND_COLOR,
@@ -102,6 +102,12 @@
y: this._name.height + 4})
this._group.add_actor(this._comment);
this.actor = this._group;
+},
+launch: function() {
+ this._appinfo.launch([], null);
+},
+appinfo: function () {
+ return this._appinfo;
}
}
Signals.addSignalMethods(AppDisplayItem.prototype);
@@ -155,6 +161,7 @@
let group = item.actor;
group.destroy();
delete this._displayed[appid];
+
},
_removeAll: function() {
@@ -180,11 +187,11 @@
let appinfo = this._appset[appid];
let name = appinfo.get_name();
- let index = 0; for (i in this._displayed) { index += 1; }
+ let index = 0; for (i in this._displayed) { index += 1; };
let appdisplay = new AppDisplayItem(appinfo, this._width);
- appdisplay.connect('launch', function() {
- appinfo.launch([], null);
+ appdisplay.connect('activate', function() {
+ appdisplay.launch();
me.emit('activated');
});
let group = appdisplay.actor;
@@ -256,6 +263,27 @@
this._redisplay();
},
+searchActivate: function() {
+ let displayedActors = this._grid.get_children();
+ if (displayedActors.length != 1)
+ return;
+ let selectedActor = displayedActors[0];
+ let selectedMenuItem = null;
+ for (appid in this._displayed) {
+ let item = this._displayed[appid];
+ if (item.actor == selectedActor) {
+ selectedMenuItem = item;
+ break;
+ }
+ }
+ log("selected " + selectedMenuItem);
+ if (!selectedMenuItem)
+ return;
+
+ selectedMenuItem.launch();
+ this.emit('activated');
+},
+
show: function() {
this._redisplay();
this._grid.show();
Modified: trunk/js/ui/overlay.js
==============================================================================
--- trunk/js/ui/overlay.js (original)
+++ trunk/js/ui/overlay.js Fri Nov 28 22:05:09 2008
@@ -82,15 +82,25 @@
this._group.add_actor(this._searchEntry);
global.stage.set_key_focus(this._searchEntry);
this._searchQueued = false;
- this._searchEntry.connect('notify::text', function (se, prop) {
+ this._searchActive = false;
+ this._searchEntry.connect('notify::text', function (se, prop) {
if (me._searchQueued)
return;
Mainloop.timeout_add(250, function() {
+ let text = me._searchEntry.text;
me._searchQueued = false;
- me._appdisplay.setSearch(me._searchEntry.text);
+ me._searchActive = text != '';
+ me._appdisplay.setSearch(text);
return false;
});
});
+ this._searchEntry.connect('activate', function (se) {
+ log("activate " + me._searchActive);
+ if (!me._searchActive)
+ return false;
+ me._appdisplay.searchActivate();
+ return true;
+ });
let appsText = new Clutter.Label({ color: SIDESHOW_TEXT_COLOR,
font_name: "Sans Bold 14px",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]