Commit graph

621 commits

Author SHA1 Message Date
Christopher Davis
89245bbeda cc-window: Remove custom development CSS
GTK now includes it's own development style class, .devel.
We can use that instead of creating our own.
2019-01-21 20:44:44 -05:00
Adrien Plazas
90dd7651cd window: Ensure a constant minimum panel width
Ensure all panels take at least 300pt of width to ensure a minimum of
usability, readability of the panels and consistency of when the shell
folds itself.
2019-01-21 21:53:21 +00:00
Adrien Plazas
0ca61a5bde window: Use a HdyLeaflet
This allows the window to be folded to show either the sidebar or the
panel when not enough space is available.
2019-01-21 21:53:21 +00:00
Adrien Plazas
dbfc3e4c7a panel: Add the sidebar-activated signal
This is necessary for the application panel to warn that an element of
its sidebar has been activated so the window can focus on it when the
window will use a leaflet.
2019-01-21 21:53:21 +00:00
Adrien Plazas
64ac458804 window: Use the sidebar style class on sidebar separators
This adds the sidebar style class to the sidebar separators to keep them
styled correctly.
2019-01-21 21:53:21 +00:00
Adrien Plazas
63dda56329 window: Use a HdyTitleBar
This will be needed for sliding animations to work well as we are going
to use HdyLeaflet in the titlebar.
2019-01-21 21:53:21 +00:00
Adrien Plazas
77aece9920 shell: Synchronize the separators
This will help the separators to behave properly with leaflets, as we
are going to introduce some in some following commits.
2019-01-21 21:53:21 +00:00
Adrien Plazas
4c813fa1d8 shell: Synchronize the right panel width
This will help the right panel to behave properly with leaflets, as we
are going to introduce some in some following commits.
2019-01-21 21:53:21 +00:00
Adrien Plazas
9d9c547649 shell: Use a HdyHeaderGroup
Handle the header bars' decoration layouts with a HdyHeaderGroup to
simplify the code.
2019-01-21 21:53:21 +00:00
Jeremy Bicha
de00af78a5 appdata: Update contact info 2019-01-17 21:44:45 +00:00
Jeremy Bicha
4e02c9c06d appdata: Update app name and description
Our public name is Settings not Control Center.

In the description, simplify and use "system" instead of "desktop".

"GNOME desktop" is still mentioned in the summary but that seems
ok to me.
2019-01-17 21:44:45 +00:00
Bilal Elmoussaoui
eab8474be6 Appdata: remove provides binary
It's already fetched from the desktop file, no need to duplicate that here.
2019-01-09 20:58:51 +00:00
Bilal Elmoussaoui
2c8706b0d3 appdata: revert modified id
Should be updated later with the new unified app-id
2019-01-09 14:32:54 +00:00
Bilal Elmoussaoui
c7a372c48c Add a provides tag. 2019-01-09 14:30:17 +00:00
Bilal Elmoussaoui
0a6009f6a0 appdata: Improve the appdata file 2019-01-09 13:53:38 +00:00
Benjamin Berg
6fc89e8e8d shell: Fix warning by marking initialize_dependencies static 2019-01-07 15:28:38 +01:00
Georges Basile Stavracas Neto
1245fd787b
Introduce Applications panel
This is an initial implementation of most of the
intended functionality for this panel. Flatpak
integration itself is implemented by spawning
"flatpak info -m $appid", which gives us the
metadata in key file format, and allows flatpak
to be a runtime dependency.

Even after removing the .desktop suffix, there can
still be a difference between the app ID generated
in this way and the flatpak ID, since flatpaks are
allowed to export files whose prefix is the flatpak
ID. Fix this by pulling the X-Flatpak key out of
the desktop file. This would cause trouble for
org.libreoffice.LibreOffice-math.
2019-01-07 10:59:30 -02:00
Adrien Plazas
0ece578658 main: Init libhandy
This will allow to use libhandy's translations and to init its types.
2018-11-26 15:36:34 +01:00
Adrien Plazas
28de6f4c8a Factorize dependecies initialization
Add initialize_dependencies() to factorize the dependecies
initialization functions for better readability as another dependency
to initialize will be added in a following commit.
2018-11-26 15:36:31 +01:00
Adrien Plazas
8201c369a2 Fix the style of main()'s prototype 2018-11-26 15:36:11 +01:00
Georges Basile Stavracas Neto
24a5bad48d
panel-list: Fix back button after search
This is a fallout from commit b02bc2a935. It was missing
the check for search.
2018-11-19 00:07:12 -02:00
Georges Basile Stavracas Neto
aeb060c8ad
panel-list: Instrument more functions
These were useful tracing messages to figure out some bugs
with the sidebar widget implementation.
2018-11-16 19:25:13 -02:00
Georges Basile Stavracas Neto
8d2265c6b9
window: Properly update headebar buttons and title
With the new sidebar view in place, a new problem arose: we
need the current panel to be configured to update the title,
but cc_panel_list_add_sidebar_widget() changes the view while
activating the panel. That makes Settings crash.

Fix that by explicitly updating the headerbar widget, instead
of using notify::view of the panel list.
2018-11-16 19:25:13 -02:00
Georges Basile Stavracas Neto
8c144b6261
window: Instrument some functions 2018-11-16 19:24:49 -02:00
Georges Basile Stavracas Neto
2c18053ddd
window: Set the panel name as title for the widget
Instead of the wrong name of the previous panel list view.
2018-11-16 19:24:49 -02:00
Georges Basile Stavracas Neto
6295831fff
window: Add panel's sidebar widget to sidebar
When opening a panel, add its sidebar widget to the sidebar.
2018-11-16 19:24:49 -02:00
Georges Basile Stavracas Neto
de15083e7a
panel-list: Rename internal function
It was referring to listbox, where in the future
it is going to refer to any kind of widget.
2018-11-16 15:19:09 -02:00
Georges Basile Stavracas Neto
b02bc2a935
panel-list: Replace set_view() by go_previous()
Instead of directly selecting the view that the panel
list will have, let it decide which is the previous
view instead.

This does not change anything functionality wise, but
in the future where we have sidebar widget (and thus
the main window does not control which view the sidebar
is display) this will be important.
2018-11-16 15:19:09 -02:00
Georges Basile Stavracas Neto
6541c128df
trivial: Update code style 2018-11-16 15:19:08 -02:00
Georges Basile Stavracas Neto
75167f45fd
panel: Add get_sidebar_widget() vfunc
This vfunc is the entry point for panels that have
a sidebar widget. It must never return NULL.

At this point, nothing uses it and this vfunc does
not impact execution of the program.
2018-11-16 15:19:08 -02:00
Georges Basile Stavracas Neto
3e9425aee3
panel: Remove size negotiation machinery overrides
These overrides were added eight years ago, as a port from
GTK3's size_request() deprecation, in commit f5f5aac5c0.

These overrides are not necessary these days, since they
just reproduce the default behavior now.

Remove these overrides then.
2018-11-16 15:18:59 -02:00
Georges Basile Stavracas Neto
62743ab47e
window: Factor out function to find panel iter
It will be used by the next commits to look for the panel
name. That is because the panel name is what will be used
as the first headerbar title of panels with a sidebar widget.
2018-11-16 15:18:59 -02:00
Georges Basile Stavracas Neto
7e2865131b
panel: Remove unused macro 2018-11-16 15:18:59 -02:00
Georges Basile Stavracas Neto
93209fafab
panel: Remove useless get_type() function
It is already declared by G_DECLARE_DERIVABLE_TYPE().
2018-11-16 15:18:59 -02:00
Georges Basile Stavracas Neto
c4c901f95d
panel-list: Dynamically show Details/Devices row
This is just a nicety for the test mode; when there are no
panels added under those categories, do not show the rows.
2018-11-11 23:46:07 -02:00
Georges Basile Stavracas Neto
14583e9630
build: Reorganize shell libraries and dependencies
This commit does a few different bit interwined things to the
build steps:

 * Make libtestshell and gnome-control-center share more of the
   variables and resouces;
 * Use 'dependencies' instead of 'link_with' for libshell;
 * Add some visual marks as comments;
2018-11-11 23:44:38 -02:00
Georges Basile Stavracas Neto
9a2c5dc41b
panel-loader: Document public functions
Add documentation comments to the public functions, which
has the additional benefit of adding visual marks for
public functions and making it easier to navigate through
this file.
2018-11-11 23:42:00 -02:00
Georges Basile Stavracas Neto
19bd9b8a89
build: Add more files to libshelltest
These will be used by the test panels.
2018-11-11 23:42:00 -02:00
Georges Basile Stavracas Neto
62d3fb95ff
panel-loader: Allow overriding panel vtable
In order to introduce test panels, which are a nice to have
feature before actually moving to working on the custom
widget on sidebar feature, add a way to override the panels
vtable and load whatever panels we might want.
2018-11-11 23:42:00 -02:00
Georges Basile Stavracas Neto
867a35dc89
panel-loader: Simplify listing panels
Instead of enumerating them, putting that in a GList, then
iterating the GList printing the panel names, simply print
them while enumerating.
2018-11-11 23:42:00 -02:00
Georges Basile Stavracas Neto
31a5d55896
panel-loader: Reorder functions
Put the externally visible functions at the bottom, and
the static functions at the top.
2018-11-11 23:42:00 -02:00
Georges Basile Stavracas Neto
d1fe090bf4
panel-loader: Rename all_panels to default_panels 2018-11-11 23:41:59 -02:00
Georges Basile Stavracas Neto
6a50a21f40
panel-loader: Define vtable struct in the header
We will allow test panels to be added, so the vtable must
be overridable. The first step into making it overridable
is exposing the actual vtable struct.
2018-11-11 23:41:59 -02:00
Georges Basile Stavracas Neto
9d88b84788
panel-loader: Assert get_type() function
Be more strict about the get_type() availability - we cannot
run without it.
2018-11-11 23:41:59 -02:00
Georges Basile Stavracas Neto
a6c983d499
panel-loader: Use #pragma once
Saves use a few lines of code.
2018-11-11 23:41:59 -02:00
Georges Basile Stavracas Neto
81fa6f18b0
build: Alphabetically sort source files
Trivial cleanup.
2018-11-11 23:41:57 -02:00
Robert Ancell
4e6b341edc build: Update bug URL to gitlab.gnome.org 2018-11-12 09:56:16 +13:00
Carlos Garnacho
d51336c2c2 wacom: Port calibrator UI to GTK+
Same dog, different collar. The UI has been ported 1:1 to GTK+, using
GtkBuilder, CSS and event controllers fairly reduced the amount of code
needed for this.

It also allows us to stop initializing clutter-gtk across the several
executables.
2018-11-07 23:02:10 +00:00
Robert Ancell
c0f41daff0 shell: Remove the lock button from the shell
Only the date time panel used it, all other panels add their own shell using
cc_shell_embed_widget_in_header which was added after the date time panel was
written. Update the date time panel to use this method.
2018-10-18 00:25:40 +00:00
Robert Ancell
58d5c9411d shell: Remove AppMenu
https://wiki.gnome.org/Initiatives/GnomeGoals/AppMenuRetirement
2018-10-17 22:14:27 +00:00