This is a start towards implementing the 02 overlay design. The
default applications has moved into GConf. We keep around an AppDisplay
instance for handling the right side behavior.
The list of all applications was based on the items that show up in
the menus, and might not have contained all applications returned
by the AppMonitor for the most used applications request. One example of
such an application was Evince. This resulted in a crash when an
application we did not prepare the info for was returned as one of the
matches by the AppMonitor, so we now include all applications returned
by the AppMonitor in the list, in addition to the ones from the menus.
Also mark apps as stale when we catch a "changed" signal from the AppMonitor
to ensure that the cache is refreshed.
With commit a3d35af444 variable
itemInfo in js/ui/appDisplay.js was changed to a new object
(AppInfo from js/misc/appInfo.js) but some of the code in
js/ui/appDisplay.js wasn't updated accordingly. This commit
fixes that and makes the search box in the overlay usable
again.
This lets us share the recent-app-tracking, recent-file-tracking, and
icon-drawing code between the overlay and the sidebar, without the
sidebar having to poke into AppDisplayItem and DocDisplayItem's guts.
The code here is significantly cleaner if we use the data Metacity
already has cached and validated, rather than talking to X directly.
Also some preparatory work for extending the monitor API by
clarifying the name of the (current) main entry point.
To avoid loading applications from two different systems, use
ShellAppSystem solely. This unifies the initial load and the
reload.
Extend ShellAppSystem to also load settings/preferences, and
ensure they appear in the search.
Add a ShellTextureCache class which loads (and can cache)
pixmap->texture conversions. This fixes a problem with the
async code in ClutterTexture that it was lower priority
than animations, and also ensures we're really only
loading these pixbufs once in the icon case.
Try to fix all places where we accidentally used foo_bar instead
of fooBar for function names, function parameters, and variables.
(Lucas Rocha pointed out one example.)
http://bugzilla.gnome.org/show_bug.cgi?id=581141
main.js: Add create_app_launch_context() with code from appDisplay;
additionally set the workspace on the launch context to the current
workspace so that the application launches on the right workspace
even if the user switches before the app starts.
appDisplay.js docDisplay.js: Use Main.create_app_launch_context()
http://bugzilla.gnome.org/show_bug.cgi?id=580658 (Reported by Igor Vatavuk)
ShellAppMonitor now depends on gmenu to load menus.
Use the menu data from ShellAppMonitor to show a menu list.
GenericDisplay implementations can now have a sidebar area. We
handle keystrokes such as left/right explicitly.
Some internal API changes to account for the fact that a display
can have another filter in addition to the search.
Showing previews after a delay allows the user to move the mouse around
the screen without triggering constant pop-ups.
Make sure we remove the pop-up when the user hits Escape and redisplay
the pop-up if we are updating the section results due to a change in space
allocated for it.
Rename protected variable _hasPreview to _showPreview in order to not have
the naming conflict with a new private variable _havePointer, which we
name in first person.
The pop-up previews have larger images than the item displays, which is
particularly nice when we are displaying thumbnails for documents. The
previews are also at least as wide as is required to fit the item title
on one line and the item description inside them is wrapped. Therefore
they act as tooltips showing the full title and description text.
The preview updates when the item under the mouse pointer changes. Changes
in overlay.js ensure that we keep the sideshow on top when the
workspaces are not being animated so that we can find the item over which the
pointer is located.
The preview is removed when the item it is shown for starts being dragged.
_hideInProgress variable was added to represent the state of the overlay
when the code for hiding it was already triggered. This fixes the error
which was happening when the code for hiding the overlay was triggered
multiple times (for example by the user clicking the Activities button
twice when exiting the overlay).
was browsing exiting results
This is most noticeable when viewing results in xephyr, and then opening
a document in your regular session. But it could also be noticeable if
downloading a new file completes while the user is in the overlay.
This patch also moves the call to _displayMatchedItems() to _redisplay
instead of making it in both _setDefaultList() and _doSearchFilter().
Add a display control that contains page numbers for the result
pages and is shown in the expanded results view. All of the page selection and
switching is handled by the GenericDisplay which exposes a displayControl
actor, which is then displayed by the Sideshow.
Previously we were stripping all whitespace. Instead, just strip leading+trailing
whitespace, split the remaining search into individual terms which we search
for independently.
Items are grouped by the number of terms they match, then sorted
alphabetically.
Divide the screen into a grid and use it to determine the layout of the overlay components in a more consistent manner.
Remove the 'Add workspace' control and slide the workspaces
display to the side without scaling it when switching to the 'More' mode.
mode. When this control is clicked, documents display section slides down,
workspaces display slides to the side, and a multi-column applications view is
presented to the user. "More' control is replaced with a 'Less' control. When
the 'Less' control is clicked a default overlay view is restored.
Clean up positioning of the components of the overlay sideshow
and the items within generic item displays.
svn path=/trunk/; revision=179
main.js: set desktop environment to "GNOME" so that GIO can determine correctly which applications should be shown in the menus.
appDisplay.js: filter out applications that should not be shown in the menus, check if get_executable() for GAppInfo is not null before using it
svn path=/trunk/; revision=163
well as corresponding classes for applications and documents that inherit from
them.
Use half the height of the sideshow in the overlay mode for the
AppDisplay, and the other half for the DocDisplay.
Enable moving the selection between the two displays by using up and down arrow keys.
Enable activating any item by clicking on it, in addition to activating the currently selected item by pressing Enter.
Apply search entry content to both sets of items.
svn path=/trunk/; revision=132