Commit Graph

56183 Commits

Author SHA1 Message Date
Emmanuele Bassi
00a6fdf62a Add GtkLayoutChild
Layout managers needs a way to store properties that control the layout
policy of a widget; typically, we used to store these in GtkContainer's
child properties, but since GtkLayoutManager is decoupled from the
actual container widget, we need a separate storage. Additionally, child
properties have their own downsides, like requiring a separate, global
GParamSpecPool storage, and additional lookup API.

GtkLayoutChild is a simple GObject class, which means you can introspect
and document it as you would any other type.
2019-01-25 12:31:46 +00:00
Emmanuele Bassi
289f73ff22 Rename the internal GtkLayoutChild type
The type is completely private to GtkLayout, so there's really no need
to namespace it.
2019-01-25 12:31:46 +00:00
Emmanuele Bassi
9788f05a84 Add GtkWidget:layout-manager
We can use a constructor property for existing container widgets with
a layout policy, and move the layout policy implementation out of the
widget itself and into a LayoutManager subclass.
2019-01-25 12:31:46 +00:00
Emmanuele Bassi
64ab7aee8d Hook GtkLayoutManager into GtkWidget
We delegate the size request mode, the measuring, and the allocation of
a widget through a GtkLayoutManager instance, if one has been attached
to the widget; otherwise, we fall back to the widget's own implementation.
2019-01-25 12:31:46 +00:00
Emmanuele Bassi
5ca7ff34ae Add GtkLayoutManager
A base abstract class for layout manager delegate objects.

Layout managers are associated to a single widget, like event
controllers, and are responsible for measuring and allocating the
children of the widget they are bound to.
2019-01-25 12:31:46 +00:00
Matthias Clasen
714d04cb86 Merge branch 'switch-icons' into 'master'
Use switch icons

See merge request GNOME/gtk!529
2019-01-25 02:30:08 +00:00
Matthias Clasen
f03fe74369 Update css tests results
These now show images as children of the switch,
as expected.
2019-01-24 21:10:12 -05:00
Matthias Clasen
57542e0cf6 icon browser: Add on and off icons
These are going to be used internally.
2019-01-24 20:43:12 -05:00
Matthias Clasen
70db084d43 Fix gtk4-icon-browser
It was broken by a recent GtkDialog change that renamed
the internal vbox child to content_area.
2019-01-24 20:43:12 -05:00
Matthias Clasen
c5f90fc20d switch: Use icons
This works better than glyphs, avoiding the
uncertainties of font availability and fallback..
2019-01-24 20:43:12 -05:00
Matthias Clasen
1528e7eabf Add switch icons
These will be used in GtkSwitch in the future.
2019-01-24 20:43:12 -05:00
Matthias Clasen
2de7f760e5 gl texture: fix a typo 2019-01-23 22:33:44 -05:00
Matthias Clasen
d339a43634 header bar: Drop the position child property
There is no particular need to have this, and we want
to get rid of child properties.
2019-01-23 20:05:28 -05:00
Matthias Clasen
003eefe8bf action bar: Drop the position child property
There is no particular need to have this, and we want
to get rid of child properties.
2019-01-23 19:30:47 -05:00
Matthias Clasen
f3f5a896de box: Avoid position in the reorder api
Change the reorder api to insert after a sibling,
so that moving to first place becomes reorder (... NULL).

And add a insert_after api that can replace the common
container_add / reorder_after (... NULL) combination.

Update all callers.
2019-01-23 19:30:47 -05:00
Matthias Clasen
883d5d8584 box: Remove the position child property
The position child property is problematic, since it
requires us to emit notification for all children when
inserting a child early in the list of children.

Remove the property from all ui files.
2019-01-23 19:30:47 -05:00
Timm Bäder
c7b1df1ebd migration guide: Add a paragraph about GtkBox's pack-type 2019-01-23 19:30:46 -05:00
Timm Bäder
e9e40ddb42 box: Remove gtk_box_pack_start 2019-01-23 19:30:46 -05:00
Timm Bäder
a543ed84f6 box: Remove gtk_box_pack_end 2019-01-23 19:30:46 -05:00
Timm Bäder
3d34b91453 box: Simplify documentation
Remove all references to any sort of "packing".
2019-01-23 19:30:46 -05:00
Timm Bäder
1ccba26de9 box: Remove children list
GtkWidget saves a widget list for us, so we don't need to keep track of
them ourselves. This is okay now that we don't have a pack-type child
property anymore.
2019-01-23 19:30:46 -05:00
Timm Bäder
c47abb5f68 testsuite: Remove box packing css node tests
Testing the correct css order for mixed pack-start/pack-end cases
doesn't make sense if boxes don't have a notion of pack-type anymore.
2019-01-23 19:30:46 -05:00
Timm Bäder
28c51175d8 box: Remove pack-type child property 2019-01-23 19:30:46 -05:00
Timm Bäder
99738e7059 assistant: Fix button order in ui file 2019-01-23 19:30:46 -05:00
Timm Bäder
494e9d750a dialog: Expose the content area as a separate GtkBox child
This way, the "vbox" internal child does not contain anything by
default. It previously did contain "internal" widgetry like the action
area.
2019-01-23 19:30:46 -05:00
Timm Bäder
3a13515777 Stop using GtkBox's pack-type child prop in UI files 2019-01-23 19:30:46 -05:00
Timm Bäder
ab6a67dbeb combobox: Stop using GtkBox's pack-type property
Reorder the child widgets accordingly instead.
2019-01-23 19:30:46 -05:00
Timm Bäder
d7756dc62b scalebutton: Stop relying on GtkBox's pack-type child prop 2019-01-23 19:30:46 -05:00
Timm Bäder
bd71e744d2 Stop using gtk_box_pack_end
It might soon go away!
2019-01-23 19:30:46 -05:00
Timm Bäder
09361e7665 tests: Remove flicker test
gtk+ hasn't been flickering in ages so this test isn't very useful.
2019-01-23 19:30:46 -05:00
Timm Bäder
4349e33d4e shortcutssection: Use a center box as footer 2019-01-23 19:30:46 -05:00
Matthias Clasen
afaac98442 Update a11y tests
Working towards a passing testsuite.
2019-01-23 19:27:35 -05:00
Matthias Clasen
c1f79a935c switch: Avoid problems with glyph availability
If none of the glyphs we want are available, fall
back to using empty strings here, rather than causing
critical warnings.
2019-01-23 15:47:02 -05:00
Jakub Steiner
6ebbd8d375 Merge branch 'expander-row-padding' into 'master'
adwaita: Fix the padding of row.expander

See merge request GNOME/gtk!521
2019-01-22 12:57:07 +00:00
Adrien Plazas
773efe41a9 adwaita: Fix the padding of row.expander
This will allow to implement the expanding rows pattern.
2019-01-22 12:44:33 +01:00
Benjamin Otte
359bc7695c build: Reintroduce warning flags from autotools
Some of the flags got lost in the meson transition or were demoted from
error flags to warning flags.
This commit reintroduces them.

It also includes fixes for the code that had warnings with those flags.
The big one being -Wshadow.
2019-01-22 04:33:12 +01:00
Benjamin Otte
7723749e00 meson.build: Order warning flags alphabetically
... and remove the duplicate we already had.
2019-01-22 04:33:11 +01:00
Benjamin Otte
c875465477 imcontextwayland: Get rid of global variable
Attach it to the GdkDisplay.
Also fixes -Wshadow complaining about "global" being shadowed.
2019-01-22 04:33:11 +01:00
Benjamin Otte
7978e04963 immodule: Clean up loading code
Remove the unneeded is_platform() check and just go by extension point
priority.

Also g_error() out if no im module exists, because "simple" is compiled
in and should always exist.
2019-01-22 04:33:11 +01:00
Benjamin Otte
bbd1532f84 imcontext: Fix priorities of modules
All built-in backend modules get a priority of 0 because they are the
default ones.
GtkIMContextSimple gets a priority of G_MININT because it's the fallback
one.

This mirrors the media modules code.
2019-01-22 04:33:11 +01:00
Timm Bäder
3d40f003b2 Merge branch 'no-more-bgo' into 'master'
docs: Point people at the right place for bugs

Closes #1559

See merge request GNOME/gtk!498
2019-01-21 07:05:26 +00:00
Chun-wei Fan
a0e8cd5bac testsuite/gtk/slicelistmodel.c: Avoid VLAs
Unfortunately VLA's are unlikely to be supported on any Visual Studio
versions, although it is C99, so replace it with g_newa() calls.
2019-01-21 13:49:20 +08:00
Pieter Schalk Schoeman
d86c99312c Update Afrikaans translation 2019-01-20 23:28:41 +00:00
Pieter Schalk Schoeman
f3fdb83160 Update Afrikaans translation 2019-01-20 23:26:52 +00:00
Matthias Clasen
9430b0b6ee testsuite: Add slice model tests
Do the same style of tests we do for all the
other list models. These tests found the issue
fixed in the previous commit.
2019-01-20 06:14:21 +01:00
Matthias Clasen
045b92abdd slice model: Don't report excessive changes
We were not skipping an unchanged initial segment
of the slice in some cases. Fix that.
2019-01-20 06:11:48 +01:00
Benjamin Otte
af56f06b7b rbtree: Fix a crash in insertion fixup
This got broken in commit a33ff4c6ab.

Testcase included.
2019-01-20 06:09:40 +01:00
Benjamin Otte
5e00cdbd74 rbtree: Add a trivial way to add rbtree tests to the testsuite.
The format of the printout will be suitable for addition as a new test to
  testsuite/gtk/rbtree-crash.c
by just grepping the printouts from the relevant rbtree.
2019-01-20 06:09:40 +01:00
Matthias Clasen
9baef5e101 Merge branch 'reference-include' into 'master'
Specify the C include for Unix printing API

See merge request GNOME/gtk!516
2019-01-19 01:13:42 +00:00
Michael Catanzaro
c7af14dea8 filechoosernativeportal: stuff the current filter into options
We need to tell the portal what filter is supposed to be selected by
default, or it will just pick the first one, which could be wrong and
annoying.

This will require updated xdg-desktop-portal and xdg-desktop-portal-gtk
to work properly.

Fixes #1492
2019-01-18 20:02:11 -05:00