Commit graph

140 commits

Author SHA1 Message Date
William Jon McCann
42974a3c8d shell: Rename shell window to CcWindow
This avoids the confusion of the name gnome-control-center.c and
is consistent with all the other classes/files in the project.

https://bugzilla.gnome.org/show_bug.cgi?id=692174
2013-02-18 16:40:44 +01:00
William Jon McCann
408ae4a87c shell: Make the main app window a subclass of GtkApplicationWindow
This allows for better encapsulation of window logic. In order to
do this CcShell was made an interface instead of an abstract base
class.

https://bugzilla.gnome.org/show_bug.cgi?id=692174
2013-02-18 16:40:44 +01:00
William Jon McCann
64467d7f0a shell: Make the application a GtkApplication subclass
This promotes better encapsulation and allows us to move
application logic out of main() and rename the confusingly
named control-center.c to main.c

https://bugzilla.gnome.org/show_bug.cgi?id=692174
2013-02-18 16:40:44 +01:00
Rui Matos
5357cdea8a shell: Fix search result activation on Return key press
'search_view' isn't a GtkIconView anymore and the row-activated
handler relies on having the selection set to the proper row to
activate it.

https://bugzilla.gnome.org/show_bug.cgi?id=692821
2013-01-30 11:18:20 +01:00
Rui Matos
75944f3ac5 shell: Remove unused variable
https://bugzilla.gnome.org/show_bug.cgi?id=692821
2013-01-30 11:17:21 +01:00
Rui Matos
ac359b1d62 shell: Export our main window XID in an environment variable
This allows external tools to know that they are being called from
gnome-control-center and look like attached modal dialogs as per
design.

https://bugzilla.gnome.org/show_bug.cgi?id=691854
2013-01-21 15:37:46 +01:00
Rui Matos
6a3fec2521 shell: Fix a crash 2013-01-15 14:33:15 +01:00
Giovanni Campagna
eb3dfe9b77 shell: Use CcShellMode to do the panels filtering
https://bugzilla.gnome.org/show_bug.cgi?id=690577
2013-01-15 11:37:24 +01:00
Bastien Nocera
b577e6a679 shell: Add support for navigating use left/right arrows
https://bugzilla.gnome.org/show_bug.cgi?id=409230
2013-01-14 17:40:11 +01:00
Bastien Nocera
81385c6350 shell: Add support for the "Back" keyboard key and Alt+Up
https://bugzilla.gnome.org/show_bug.cgi?id=691601
2013-01-14 15:32:35 +01:00
Bastien Nocera
ac4cefcd8b shell: Make search result descriptions dimmer
Using the dim-label class and libgd's styled text renderer

https://bugzilla.gnome.org/show_bug.cgi?id=676576
2013-01-11 16:21:26 +01:00
Bastien Nocera
082cd72df8 shell: Rename keynav-failed handler 2013-01-11 16:03:48 +01:00
Bastien Nocera
502569cc89 shell: Add --search command-line option
To set a particular search option in the search entry.
2013-01-08 09:49:49 +01:00
Cosimo Cecchi
d2cb481c54 shell: use a GResource for GtkBuilder UI definition
https://bugzilla.gnome.org/show_bug.cgi?id=691132
2013-01-07 16:23:45 -05:00
Bastien Nocera
48e6fd2967 shell: Fix keyboard navigation in the search results 2013-01-07 16:34:21 +01:00
Bastien Nocera
974b0ca5b6 shell: Remove prelight from search results
We don't follow the state in the main icon view, so we shouldn't
either in the search results.
2013-01-07 16:09:04 +01:00
Bastien Nocera
d48ba2d566 shell: Don't search in desktop description
We use keywords instead.

https://bugzilla.gnome.org/show_bug.cgi?id=674061
2013-01-07 16:08:21 +01:00
Matthias Clasen
3d27d8caaf shell: Fittsify panels
Make it possible for panels to go all the way to the edge of the
shell. This is particularly important for panels that scroll, such
as the new power panel. All other panels are changed to compensate
for the loss of external padding.

https://bugzilla.gnome.org/show_bug.cgi?id=691229
2013-01-07 10:51:29 +01:00
Giovanni Campagna
0139f68416 shell: replace GMenu loading code with an hardcoded list of panels
Now that we don't allow or load external panels, using libgnome-menu is just
overengineering. We can get the same results with less code by keeping a static
list of function pointers.
This reduces the number of places one needs to patch to add a new panel.
Also, this way we avoid registering all types at startup, and if we want
we can switch to load panel desktop files in a separate thread.

https://bugzilla.gnome.org/show_bug.cgi?id=690165
2012-12-18 16:46:27 +01:00
Giovanni Campagna
5e37aecdbb shell: fix refcounting in GMenu code (2/2)
gmenu_tree_entry_get_root_directory() returns a new reference.
2012-12-13 15:42:30 +01:00
Bastien Nocera
4dd36b4279 shell: Simplify desktop file loading
By using known patterns for the desktop file name.
2012-12-11 17:09:04 +01:00
Bastien Nocera
3686cf7eb8 shell: Make all control-center plugins static
This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.

By the same token, it will stop external panels from being
created, and loaded.

https://bugzilla.gnome.org/show_bug.cgi?id=690036
2012-12-11 17:07:39 +01:00
Bastien Nocera
1e2f8202ae shell: Fix alignment of home button in RTL languages
https://bugzilla.gnome.org/show_bug.cgi?id=689533
2012-12-06 10:08:14 +01:00
Bastien Nocera
4f8ac6639e shell: Don't remove old panel if new one is broken
If a valid panel fails to load (outdated library, file missing, etc.)
don't remove the old panel, but keep it around instead.
2012-11-02 17:26:45 +01:00
Giovanni Campagna
e178a200c1 Remove previous panel widget when switching to a new one
If we don't remove it, it intereferes with the layout of the new panel
and cause weird overallocation effects.

https://bugzilla.gnome.org/show_bug.cgi?id=687232
2012-11-02 17:26:45 +01:00
Bastien Nocera
b3287e1b97 shell: Fix entering the same panel twice
Manually this time.

https://bugzilla.gnome.org/show_bug.cgi?id=684812
2012-09-25 21:25:19 +02:00
Bastien Nocera
876d41b141 shell: Pass args to existing panels
When re-activating the same panel, we could destroy and recreate the
panel, or better reuse the panel, and set the new argv
(usually to switch pages).

Since we're changing the "argv" property of panels to not be construct-
only anymore, we reviewed the panels for potential memory leaks as well.

https://bugzilla.gnome.org/show_bug.cgi?id=684490
2012-09-20 22:58:32 +02:00
Bastien Nocera
ab435aa9e1 shell: Rename current_panel to current_panel_box
So that we can use current_panel for the current panel, not
for the container parent of the panel.

https://bugzilla.gnome.org/show_bug.cgi?id=684490
2012-09-20 22:58:32 +02:00
Bastien Nocera
e7d6514a11 shell: Only link to clutter-gtk with cheese support 2012-08-18 16:09:24 +01:00
Bastien Nocera
69b2a05b25 shell: Remove CcNotebook
https://bugzilla.gnome.org/show_bug.cgi?id=682127
2012-08-18 16:09:01 +01:00
Bastien Nocera
10c00125f4 shell: Drop panel transitions
They're not finished and don't match what the designers would want.

https://bugzilla.gnome.org/show_bug.cgi?id=682127
2012-08-18 16:03:19 +01:00
Bastien Nocera
72fd5636e5 shell: Add GtkNotebook helper functions
https://bugzilla.gnome.org/show_bug.cgi?id=682127
2012-08-18 16:02:39 +01:00
Bastien Nocera
ee32c358f1 shell: Don't handle shortcuts with excess modifiers
Ctrl+Alt+W shouldn't be handled the same way as Ctrl+W.

https://bugzilla.gnome.org/show_bug.cgi?id=675475
2012-07-16 18:05:04 +01:00
Bastien Nocera
3b4f577652 shell: Fix not being able to assign Ctrl+Q to a shortcut
Because the shell window was capturing it before the key editing
cell had a change to get to it.

s/g_signal_connect/g_signal_connect_after/

https://bugzilla.gnome.org/show_bug.cgi?id=671448
2012-07-16 17:05:48 +01:00
Bastien Nocera
4db7021513 shell: Fix search results not appearing
Introduced in commit d382c42e5c by
some overeager code removal.

https://bugzilla.gnome.org/show_bug.cgi?id=678514
2012-06-21 10:36:08 +01:00
Jasper St. Pierre
fd3afa8d4f shell: Handle non-existant panels more gracefully
If we're at the overview screen and try to launch a non-existant panel,
we shouldn't remove the scroll view.

https://bugzilla.gnome.org/show_bug.cgi?id=677980
2012-06-20 19:17:36 +01:00
Jasper St. Pierre
d382c42e5c shell: Remove reparenting hacks
Now that CcNotebook is buildable, we don't need to do these ugly hacks.
2012-06-12 13:58:17 -04:00
Bastien Nocera
42c65b5c5f shell: Use GtkSearchEntry
And require GTK+ 3.3.5 for it.
2012-06-11 19:07:01 +01:00
Bastien Nocera
94a46524b5 shell: Don't animate between overview and search pages 2012-06-11 14:29:39 +01:00
Bastien Nocera
f2a9d3a478 shell: Fix crash when using keynav in overview
get_item_views() was expecting all the children of the overview
to be of type "CcShellCategoryView".

It's not the case since 620e70113c
added GtkSeparators as children.

We now just skip them non-views in get_item_views().

https://bugzilla.gnome.org/show_bug.cgi?id=677314
2012-06-06 16:13:35 +01:00
William Jon McCann
e18742c90e Implement a new search results design
Search results aren't laid out evenly and they are packed together too tightly.
Also, panel descriptions are truncated. There is plenty of space available, we
might as well use it.

https://bugzilla.gnome.org/show_bug.cgi?id=654977
2012-05-22 11:43:13 -04:00
Bastien Nocera
85dbb1d8c5 shell: Update scrolled window height on smallness change
When the small mode changes, make sure to update the scrolled
window's natural height.

https://bugzilla.gnome.org/show_bug.cgi?id=673869#c47
2012-05-21 18:02:35 +01:00
Bastien Nocera
8efba88f4c shell: Use enum for small screen
Instead of 2 variables to track the unset status.
2012-05-21 16:03:00 +01:00
Bastien Nocera
a112361267 shell: Don't use workarea height
Instead of monitor height to check for the available height, as
the workarea height won't have been updated fast enough after
a monitors-changed signal.

https://bugzilla.gnome.org/show_bug.cgi?id=673869#c47
2012-05-21 15:45:19 +01:00
Florian Müllner
7e77b7b7da shell: Fix ctrl-w keybinding 2012-05-18 18:48:38 +02:00
Florian Müllner
ad4da16126 shell: Make the main window a GtkApplicationWindow
This is a prerequisite of using the new GMenu API. Also move the
check for small screen sizes introduced in commit 22ed5a9fd5, as
GtkApplicationWindows cannot be realized unless their application
property has been set.

https://bugzilla.gnome.org/show_bug.cgi?id=675471
2012-05-18 18:48:38 +02:00
Florian Müllner
78717031db shell: Make sure the "active-panel" property is updated
The (currently unused) cc_shell_get_active_panel() method is useless
unless "active-panel" is actually updated correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=675471
2012-05-18 18:48:37 +02:00
Florian Müllner
ce8e1208bc shell: Pass the object to show_overview_page(), not its private
We will need it to update the "active-panel" property properly.

https://bugzilla.gnome.org/show_bug.cgi?id=675471
2012-05-18 18:48:37 +02:00
Bastien Nocera
19f2772107 shell: Rename search renderer
And cc- prefix it, like the rest of our widgets.
2012-05-18 11:48:29 +01:00
Bastien Nocera
f8c0eceb80 shell: Use CcNotebook instead of GtkNotebook 2012-05-09 17:42:13 +01:00