Commit Graph

397 Commits

Author SHA1 Message Date
Colin Walters
e57b7ec335 Replace main AppDisplay with AppWell
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.
2009-06-25 20:32:08 -04:00
Colin Walters
b5988a57fa ShellAppSystem: Add API for looking up and manipulating favorites
The ShellAppSystem now proxies the GConf favorites key.
2009-06-25 20:32:08 -04:00
Colin Walters
d5a80d3063 ShellAppMonitor now works harder to assocate windows with desktop files
Instead of just keeping a heuristic wmclass match, call into the app
system to more strongly associate windows with desktop file IDs.
2009-06-25 20:32:08 -04:00
Marina Zhurakhinskaya
02a8cd5ce2 Use a single ItemResults class instead of AppResults and DocResults
AppResults and DocResults classes were identical with an exception of
the display class they used and the text label for the results. Merged
them into a single ItemResults class that takes these two additional
arguments.
2009-06-25 19:14:29 -04:00
Marina Zhurakhinskaya
aa77762d27 Move the activate and select functionality inside the callbacks
Move the activate and select functionality inside the callbacks for
'button-release-event' signals of the display item and the information
button correspondingly. This way it is more obvious that this is an
event handling code that needs to return a boolean value for whether
the signal has been fully handled by the actor.
2009-06-25 18:01:45 -04:00
Marina Zhurakhinskaya
de3f5dec68 Use TextureCache to load the information icon
Use TextureCache to load the information icon, so that we don't create a
new ClutterTexture for information icons corresponding to each display
item.
2009-06-25 17:24:46 -04:00
Marina Zhurakhinskaya
84865f416d Make sure we show the information button when a new item appears under the pointer
Update the code for checking a display item under the pointer to expect
the item itself rather than its child to be returned by stage_get_actor_at_pos().

This code is now used to display an information button when an item is
drawn under the pointer, so update the comment accordingly.
2009-06-25 15:31:09 -04:00
Marina Zhurakhinskaya
ca3e3df199 Show and hide dash panes instead of adding and removing each time
Add results and details panes up-front, and show and hide them instead
of adding and removing them each time
2009-06-25 14:54:28 -04:00
Marina Zhurakhinskaya
643febebf8 Add a comment about the use of the transparent background and set its opacity to 0
Add a comment about the use of the transparent background to catch clicks
in the workspaces area when the dash panes are being displayed and dismiss
the dash panes.

Set opacity for the background to 0 instead of using a transparent background
color so that Clutter optimizes the drawing of the background actor.
2009-06-25 14:33:24 -04:00
Marina Zhurakhinskaya
6d002c893d Fix up horizontal gradient code and its use
Fix up the comments about the horizontal gradient code and use 8x1 texture
instead of 8x8.

Make sure the values we assign to the three-stop horizontal gradient
require the use of the three stop gradient, with the middle value not being
right between the side values.
2009-06-25 14:32:00 -04:00
Marina Zhurakhinskaya
5eaed34047 Display search results automatically
Display a pane with search results for both applications and documents
automatically when a search string is entered.

Allow viewing search results for the individual section when More link
for applications or documents is clicked.

Move text labels for the applications and documents sections into the
respective classes.
2009-06-24 18:24:48 -04:00
Marina Zhurakhinskaya
8f5b55350f Add back search functionality
Enable typing in the search box and display results in the results pane.
This means that the user has to open the details pane for applications
or documents to view the results for now.

Connect Enter to launch the seleted item.

Connect Escape to clear search, remove results and details panes,
or exit overlay.
2009-06-22 19:06:50 -04:00
Marina Zhurakhinskaya
c600ebb687 Merge branch 'master' into my-overlay-design 2009-06-22 16:14:55 -04:00
Siegfried-Angel Gevatter Pujals
9abc062a64 Hide details panel by default
Don't show the details panel when the overlay is activated,
only when explicitly requested by clicking the info icon.
2009-06-22 16:10:39 -04:00
Siegfried-Angel Gevatter Pujals
f215935d2d Speed up initialization of DocInfo objects
We achieve this with two changes:

 - Move the Shell.get_thumbnail call in DocInfo from _init
   to getIcon, so that it isn't executed until it's actually
   needed.
   (If caching the output of said call permanently is desired
   we could still do it on the first getIcon invocation, but
   I don't believe this is necessary given that looking up an
   already generated icon is pretty fast and this also gives
   us an updated icon in case the file changes.)

 - More importantly, we ommit the get_thumbnail call in case
   the URI doesn't start with file://. Looking up, for example,
   an http:// URI is very slow, and doesn't give us an icon anyway.

http://bugzilla.gnome.org/show_bug.cgi?id=586539
2009-06-22 09:41:06 -04:00
Marina Zhurakhinskaya
81d0474926 Fix the height allocated to the results sections
The results sections no longer include a label on top of them, so the
height of that label needs to be subtracted when specifying the height
for the sections. This ensures that display controls are positioned
correctly on the bottom of the section.
2009-06-18 20:01:49 -04:00
Marina Zhurakhinskaya
c41902c188 Select an item when information button is clicked, launch on single click
Clicking the information button for an item selects it (i.e. highlights it)
and shows details about the item.
Clicking the rest of the item area launches it.
Item does not become draggable if the dragging is started over the information
icon (i.e. if the user presses the information icon, but releases elsewhere).

Make sure we emit "activated" signal and close the overlay when an item from
one of the results displays is launched.
2009-06-18 19:53:21 -04:00
Marina Zhurakhinskaya
97b9ccbff7 Add an icon for the information link
Use an (i) icon supplied by Jeremy for the information link and display
it on hover. Make sure it is positioned nicely and the text doesn't
overlap with it.
2009-06-18 17:50:56 -04:00
Colin Walters
282daf768f Merge branch 'master' into overlay-design02 2009-06-18 17:26:03 -04:00
Marina Zhurakhinskaya
1b057300b0 Remove pop-up previews
Pop-up previews are not part of the new design and interfere with the information link.

Make sure details display for applications has the appropriate width set.
2009-06-18 17:12:58 -04:00
Colin Walters
b8af0c1b8b Fix refcounting issue in ShellTextureCache
Also clean up compilation warnings.
2009-06-18 16:45:17 -04:00
Colin Walters
75da772d05 Merge branch 'master' into overlay-design02
Conflicts:
	js/ui/appDisplay.js
2009-06-18 13:12:21 -04:00
Colin Walters
e7771b4eb0 Make ShellAppMonitor and ShellAppSystem singletons, remove unused code in appDisplay
We shouldn't create multiple instances of either.  Also remove a bit
of unused code in appDisplay.
2009-06-18 12:27:19 -04:00
Marina Zhurakhinskaya
dd1c95b3ce Make sure we have information about all applications returned by the AppMonitor
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.
2009-06-17 18:42:05 -04:00
Marina Zhurakhinskaya
df9cf98826 Make sure at most one item is selected in the overlay
Make sure at most one item is selected in the overlay and we always show
a details pane for the selected item.

Improve the positioning of the search box.

Remove a duplicate variable DASH_PAD and use DASH_SECTION_PADDING everywhere instead.
2009-06-17 18:12:02 -04:00
Colin Walters
d3cb8e5b21 Split out separate AppResults, DocResults classes. Readd search as stub.
Avoid bloating the Dash class by separating out a bit more functionality.
2009-06-17 17:38:08 -04:00
Marina Zhurakhinskaya
71998a6b43 Merge branch 'master' into my-overlay-design 2009-06-17 13:54:39 -04:00
Siegfried-Angel Gevatter Pujals
71cad8cd3f Fix a regression: search in the overlay not working anymore
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.
2009-06-17 12:53:47 -04:00
Colin Walters
2fd2293e4a Merge branch 'master' into overlay-design02 2009-06-17 10:12:31 -04:00
Dan Winship
a3d35af444 Split appDisplay and docDisplay into "model" and "view" parts
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.
2009-06-16 18:50:42 -04:00
Colin Walters
4314c6e57f Close memory leaks in ShellAppMonitor, ShellAppSystem, ShellTextureCache
Unref'ing the GdkPixbuf is particularly critical.  Some smaller fixes
also included.
2009-06-16 17:31:47 -04:00
Marina Zhurakhinskaya
3528eef655 Change selected item color and make sure only one item is selected at a time
A blue selected item color fits better with the new color scheme than a green one.

Only one item should be selected across all the displays we are showing.
2009-06-16 16:30:42 -04:00
Marina Zhurakhinskaya
f209d6792d Display a pane with item details
Display a pane with item details, such as a full image previews, when an item is single clicked.

Add a placeholder information link that shows up when an item is moused over.
2009-06-16 14:50:38 -04:00
Jon Nettleton
6675b568d9 Update gnome-shell for renamed Mutter
Adjust references to the mutter binary and plugin locations to account
for the rework of Mutter to install as 'mutter' instead of 'metacity'

http://bugzilla.gnome.org/show_bug.cgi?id=581814
2009-06-16 14:39:29 -04:00
Marina Zhurakhinskaya
614e83476e Merge branch 'master' into my-overlay-design 2009-06-16 13:04:56 -04:00
Siegfried-Angel Gevatter Pujals
e478cc4c4e Fix shell_get_thumbnail* to not be specific for GtkRecentInfo items
Currently function shell_get_thumbnail_for_recent_info located in
src/shell-global.c is used to get thumbnails for recently used files.
However, it only works if you have a GtkRecentInfo object for the file,
even though the thumbnail generation code doesn't depend on it. This commit
renames the function to shell_get_thumbnail and makes it generic so that it
just takes two strings: a filename and a mimetype.
2009-06-15 20:10:34 -04:00
Colin Walters
8b1d7e3407 Fix transfer of application setting ids
It's cached, should be (transfer none).
2009-06-12 11:27:27 -04:00
Marina Zhurakhinskaya
4e2a301ef0 Add icons from Jeremy
These icons are for the "more", "close", and "info" images in the overlay.
2009-06-11 19:00:12 -04:00
Marina Zhurakhinskaya
6def8cf7dd Merge branch 'master' into my-overlay-design 2009-06-11 18:24:42 -04:00
Owen W. Taylor
66459eff96 BigRectangle: Use pre-multiplied colors
With recent Clutter changes to the default blend mode, premultiplied
colors should be used for cogl_material_set_color() in the normal
case.

http://bugzilla.gnome.org/show_bug.cgi?id=585473
2009-06-11 15:03:25 -04:00
Marina Zhurakhinskaya
1204898d1e Display all recent documents in the results pane
Display all recent documents in the results pane, in addition to the first
few displayed in the main dash. All documents can be viewed with the help
of a paging control.
2009-06-09 16:11:51 -04:00
Marina Zhurakhinskaya
98530afd87 Add a results pane in the overlay
Display the results pane above the workspaces. The results pane is somewhat
transparent and has a blue gradient background. The dash pane is slightly
transparent and also has a blue gradient background.

The results pane shows up when a More control is clicked. It disappears when
a Less control is clicked, an area outside of the dash area is clicked,
an item starts being dragged, or the overlay mode is exited.

Add shell_global_create_horizontal_gradient() to shell-global.[ch]
2009-06-08 19:06:23 -04:00
Marina Zhurakhinskaya
a9fedcce76 Merge branch 'master' into my-overlay-design 2009-06-08 18:02:31 -04:00
Owen W. Taylor
b131ecc42a Work around a Clutter crash when there is no root pixmap
When there is no root pixmap, the result will be a CoglMaterial
with a layer with no texture, and that causes a crash.

Work around this by supressing painting the root pixmap actor
when there is no root pixmap.

http://bugzilla.gnome.org/show_bug.cgi?id=585196
2009-06-08 17:10:11 -04:00
Owen W. Taylor
2c7d33bad2 Port gnome-shell to the Clutter-1.0 API
- clutter_actor_get_transformed_position()/size() return floats
- clutter_stage_get_actor_at_pos() takes a pick mode
- ClutterTimeline no longer has a concept of frames
- ClutterUnit is now replaced by float
- cogl_texture_new_from_data() signature changed

http://bugzilla.gnome.org/show_bug.cgi?id=585013
2009-06-08 13:49:53 -04:00
Owen W. Taylor
315da57c97 Add the root pixmap source actor to the stage
With clutter changes, we can now no longer clone an actor unless
it is part of a stage. So, we hide the root pixmap source, and
add it.

This means that the logic to free the source actor when the
last clone disappears no longer applies, since the stage will also
reference it; so we just leave the actor around permanently.

http://bugzilla.gnome.org/show_bug.cgi?id=585012
2009-06-08 13:49:52 -04:00
Owen W. Taylor
9a62af6c7c Port TidyGrid to Clutter-1.0 API
- ClutterUnit is now replaced with float
- allocate() now takes flags rather than absolute_origin_changed boolean

http://bugzilla.gnome.org/show_bug.cgi?id=585010
2009-06-08 13:49:47 -04:00
Owen W. Taylor
8a7acaab84 BigBox: Implement foreach_with_internals()
We need a foreach_with_internals() function that includes the
background_texture/background_rectangle actors, so that states
will properly be updated on map/unmap/etc.

http://bugzilla.gnome.org/show_bug.cgi?id=585007
2009-06-06 12:51:29 -04:00
Owen W. Taylor
9c859caf30 Port BigBox, BigRectangle, BigThemeImage to Clutter-1.0 API
- ClutterUnit is now replaced with float
- allocate() now takes flags rather than absolute_origin_changed boolean
- cogl_texture_new_from_data() signature changed

http://bugzilla.gnome.org/show_bug.cgi?id=585007
2009-06-06 12:50:58 -04:00
Milan Bouchet-Valat
ef3ac7a7f6 Fix crash in app monitor on 64 bits CPUs
Pointers and integers are not the same size, use GPOINTER_TO_INT() for conversion.

http://bugzilla.gnome.org/show_bug.cgi?id=584539
2009-06-05 15:50:51 +02:00