Emmanuele Bassi
6e7748b266
Add API to access child transformations to GtkFixed
...
This is mostly convenience API around GtkFixedLayoutChild, but it should
push people towards using transformations with GtkFixed instead of just
using fixed positioning.
2019-04-02 15:48:46 +01:00
Emmanuele Bassi
447dfc029f
Remove GtkLayout
...
The need of a specialised fixed layout container that can be placed into
a GtkScrolledWindow ceased to exist once GtkScrolledWindow gained the
ability to automatically interpose a GtkViewport when adding a child
that does not implement GtkScrollable.
All the other justifications that led to the existence of GtkLayout as a
separate widget from GtkFixed have been largely made irrelevant in the
20 years since its inception.
2019-04-02 15:29:20 +01:00
Emmanuele Bassi
aed70a82c7
Add overflow:hidden to GtkFixed
...
This allows GtkFixed to clip children that are outside its allocation.
2019-04-02 15:14:53 +01:00
Matthias Clasen
e2fcca4e60
Rename debug settings to org.gtk.Settings.Debug4
...
This gives us the freedom to make changes without
interfering with GTK3.
2019-04-02 00:27:32 +00:00
Emmanuele Bassi
aacab81a3e
Fix location on renamed files
...
Commit 4152e14e32
renamed a bunch of
files, but did not fix the meson.build file that referenced them.
2019-04-01 13:52:27 +01:00
Matthias Clasen
4152e14e32
Namespace some auxiliary files
...
We install a few helper files for the ui file
format. Namespace these, to avoid conflict with
the same files in GTK3.
2019-04-01 08:30:39 -04:00
Matthias Clasen
57b3cd56d7
Drop gtkbuilder.rnc
...
This is just a leftover file in git.
2019-04-01 08:29:24 -04:00
Matthias Clasen
5b5a68c5db
Fix filechooser search
...
This makes the search entry show up again
when I type. There is still some misbehavior
where the entry loses focus again, and Escape
does not work to exit search.
2019-03-31 23:06:42 -04:00
Matthias Clasen
d2e0553384
Fix menuitem hover
...
We need to pay attention to details
of enter and leave events.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1795
2019-03-31 21:53:55 -04:00
Matthias Clasen
c2c4133eb0
Fix up the border/background-color removal
...
I overlooked one level of indirection here. Oops.
2019-03-31 20:43:19 -04:00
Matthias Clasen
058986714c
tooltips: Don't use a cursor_size of 0
...
This leads to flickering tooltips.
2019-03-31 16:17:08 -04:00
Matthias Clasen
0230cc55bc
Drop deprecated style context api
2019-03-31 15:35:20 -04:00
Matthias Clasen
6f5675ef3c
Stop using deprecated style context api
...
Use the non-deprecated one it wraps, instead.
Yes, this is cheating...
2019-03-31 15:35:20 -04:00
Matthias Clasen
396513183b
Merge branch 'fix-event-forwarding' into 'master'
...
Trigger bindings when forwarding key events
Closes #1793
See merge request GNOME/gtk!690
2019-03-31 18:27:24 +00:00
Benjamin Otte
720fd2cd40
textview: Fix comparison thinko
...
Apparently, we have no test that checks for actually drawing text, so
the thinko that caused all text to disappear in
4b07d28153
went unnoticed.
2019-03-31 20:22:05 +02:00
Matthias Clasen
da7cd6ae25
Trigger bindings when forwarding key events
...
This broke backspace handling in entries when an entry
completion is present.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1793
2019-03-31 14:04:35 -04:00
Matthias Clasen
8bae5348f9
text: Handle 'inverted' selections
...
We must handle selection_bound > cursor in
various places. This was lost in the big
entry refactoring.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1792
2019-03-31 12:36:09 -04:00
Mohammed Sadiq
56a88f107c
mediastream: fix documentation
2019-03-31 08:37:45 +05:30
Daniel Boles
96bf90abe4
Widget: Don't refer to the old get_preferred_*()
...
measure() replaced get_preferred_height() and get_preferred_width().
2019-03-30 19:47:50 +00:00
Matthias Clasen
f273eca7e3
revealer: Add a missing break
...
This was showing up as the slide-down transition
being broken.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1790
2019-03-29 10:57:51 -04:00
Benjamin Otte
9d0a42dc14
stack: Add a cube spin transition
...
Add a transition to GtkStack that pretends pages
are the sides or a cube, and switch them by
rotating the cube.
Use this transition in widget-factory.
2019-03-29 10:03:18 -04:00
Benjamin Otte
7918eaf677
picture: Don't cause warnings on load failures
...
When a file set via gtk_picture_set_file() can't be loaded, just
silently don't load it.
Reftest picture-load-invalid-file added for that case.
2019-03-29 09:56:52 +01:00
Benjamin Otte
b21882bcea
cssimagelinear: Make gradient offsets stay in [0, 1]
...
Fixes linear-gradient reftest
2019-03-29 09:56:52 +01:00
Benjamin Otte
d10a73f509
textview: Paint border windows in the right spot
...
Fixes textview-border-windows reftest
2019-03-29 09:56:52 +01:00
Benjamin Otte
38fbb6856c
headerbar: Duct-tape over the measure mess
...
Fixes various reftests.
The headerbar needs soeone to redo sizing.
2019-03-29 09:56:52 +01:00
Benjamin Otte
4b07d28153
textlayout: Allow querying empty areas
...
This only happens when the textview has no content, but it does happen
now that such a textview gets allocated 0x0 and not 1x1.
2019-03-29 09:56:52 +01:00
Benjamin Otte
5dd5ff5236
widgetpaintable: Don't emit signals on dispose
2019-03-29 09:56:52 +01:00
Matthias Clasen
6f470affef
Merge branch 'adwaita-radii-fixes-master' into 'master'
...
Adwaita radii fixes master
See merge request GNOME/gtk!628
2019-03-29 00:51:23 +00:00
Matthias Clasen
c30fc92b3e
builder-tool: Don't strip the xml declaration
...
This is useful for interoperability with other tools.
2019-03-28 19:28:05 -04:00
Matthias Clasen
7222bda146
file chooser entry: Fix a crash
...
The ::focus-out signal signature has changed. Adapt.
2019-03-28 18:55:36 -04:00
Matthias Clasen
eaae9650d9
popover menu: Fix a parameter name mismatch
2019-03-28 18:36:15 -04:00
Matthias Clasen
f20f02c416
overlay: Remove no-longer-existing api from header
2019-03-28 18:36:15 -04:00
Matthias Clasen
700183e5b6
Convert ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-28 16:37:21 -04:00
Matthias Clasen
8d993160c2
builder-tool: Small refactoring
...
Introduce a PropKind enum, since the collection of
booleans is getting out of hands.
2019-03-28 16:36:59 -04:00
Matthias Clasen
fc3cae34ec
builder-tool: Convert overlay child properties
2019-03-28 16:36:59 -04:00
Matthias Clasen
866640c0c2
overlay: Use a layout manager
...
This lets us get rid of the child properties,
by converting them to layout properties.
2019-03-28 16:36:59 -04:00
Emmanuele Bassi
208cae2f05
Do not leak unapplied layout properties
...
If the layout manager does not have a GtkLayoutChild, or if we cannot
apply layout properties, we should free them instead of leaking them.
2019-03-28 17:22:02 +00:00
Emmanuele Bassi
ecba428d52
Add missing handler for <layout> elements in UI files
...
The layout properties sub-parser needs to handle the parent tag.
2019-03-28 17:21:56 +00:00
Emmanuele Bassi
3f0f7c73e0
Connect LayoutManager to LayoutChild
...
If we want to inspect the type of layout properties exposed by a
GtkLayoutManager, we need a way to connect the layout manager type to
the GtkLayoutChild type it creates. In order to do so, we can set the
GtkLayoutChild type on a field of the GtkLayoutManagerClass structure.
Storing the GtkLayoutChild type on the class structure of the layout
manager also allows us to implement a default create_layout_child()
virtual function.
2019-03-28 16:58:00 +00:00
Emmanuele Bassi
65c394dbaa
Document how to define layout manager properties
2019-03-28 11:47:46 +00:00
Matthias Clasen
4d9f4ed14b
Merge branch 'gbsneto/install-header' into 'master'
...
build: Install gtkboxlayout.h
See merge request GNOME/gtk!676
2019-03-28 02:48:03 +00:00
Georges Basile Stavracas Neto
56d420c06e
boxlayout: Notify orientation changes
...
This was missing from the initial implementation, and
breaks the tests.
2019-03-27 23:34:03 -03:00
Matthias Clasen
dec2cf49dd
Merge branch 'child-properties' into 'master'
...
Remove some more child properties
See merge request GNOME/gtk!675
2019-03-28 02:04:42 +00:00
Georges Basile Stavracas Neto
3d524cc67d
build: Install gtkboxlayout.h
...
This is included by gtk.h, and thus required to build.
2019-03-27 22:55:07 -03:00
Matthias Clasen
396deb44fa
Convert ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-27 21:48:12 -04:00
Matthias Clasen
3631878cee
builder-tool: Rewrite paned child properties
2019-03-27 21:48:12 -04:00
Matthias Clasen
26de69eaae
paned: Replace the child properties
...
Replace the resize and shrink child properties
by resize-child1/2 and shrink-child1/2 properties.
2019-03-27 21:48:12 -04:00
Matthias Clasen
f89c93ea8e
Merge branch 'window-api-cleanup' into 'master'
...
GtkWindow api cleanup
See merge request GNOME/gtk!674
2019-03-28 00:14:51 +00:00
Matthias Clasen
7e88fcf24e
builder-tool: Rewrite toolbar child properties
2019-03-27 20:03:34 -04:00
Matthias Clasen
a443145a4d
toolbar: Remove the homogeneous and expand child properties
...
Replace these with GtkToolItem properties homogeneous
and expand-item.
2019-03-27 20:02:48 -04:00
Matthias Clasen
8c807303da
builder-tool: Rewrite GtkPopoverMenu::submenu
2019-03-27 18:38:29 -04:00
Matthias Clasen
5c2697633c
popover menu: Drop the submenu child property
...
We are using the GtkWidget::name property instead.
2019-03-27 18:37:57 -04:00
Matthias Clasen
4a1019bed0
popover menu: Add an api for adding submenus
...
This is a step towards removing the submenu
child property.
2019-03-27 17:53:48 -04:00
Matthias Clasen
2f358469af
Remove GtkWindow::role
...
...and the setter/getter for it.
This is a very old X session management thing, and you
will be hard-pressed to find a session manager that can
make use of it, and even harder-pressed to find apps
using it to their advantage.
2019-03-27 17:29:17 -04:00
Matthias Clasen
be944e0a31
file chooser: Stop setting a role
...
It does nothing.
2019-03-27 17:29:17 -04:00
Matthias Clasen
e5722367b3
Merge branch 'fixed-layout' into 'master'
...
Add GtkFixedLayout
See merge request GNOME/gtk!668
2019-03-27 18:51:04 +00:00
Matthias Clasen
7ac250dea7
Convert all ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-27 13:36:24 -04:00
Matthias Clasen
c507160bf2
builder-tool: Rewrite pack-type
...
Replace GtkActionBar::pack-type and GtHeaderBar::pack-type
with child types when going from 3 to 4.
2019-03-27 13:36:24 -04:00
Matthias Clasen
84480b3da8
action bar: Drop pack-type
...
Drop the pack-type child property. Allow ui
files to direct children by adding a child
type for it.
2019-03-27 13:36:24 -04:00
Matthias Clasen
6c30b474f5
header bar: Drop pack-type
...
Drop the pack-type child property. Allow ui files
to direct children by adding a child type.
2019-03-27 13:36:24 -04:00
Matthias Clasen
2fd2c61d37
dialog: Stop using GtkHeaderBar::pack-type
...
We want to get rid of child properties.
2019-03-27 13:36:24 -04:00
Matthias Clasen
7843382784
text: Allow growing entries
...
Add a propagate-text-width property, which, when set,
makes the entry request a natural width that is just
enough to fit the content, within the limits given
by width-chars and max-width-chars.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1721
2019-03-27 01:42:00 -04:00
Matthias Clasen
544fe83864
search entry: Fix sizing
...
Use the same sizing approach we use for GtkEntry:
ignore icons when measuring. This ensures that
search entries don't change size as icons come
and go.
2019-03-27 01:42:00 -04:00
Matthias Clasen
8a9290d0ba
password entry: Fix sizing
...
Use the same sizing approach we use for GtkEntry:
ignore icons when measuring. This ensures that
password entries don't change size as icons come
and go.
2019-03-27 01:42:00 -04:00
Matthias Clasen
8d4343a550
Merge branch 'get_caret_offset_negative_one' into 'master'
...
Return -1 for AtkText::get_caret_offset on failure
See merge request GNOME/gtk!666
2019-03-26 23:14:48 +00:00
Matthias Clasen
c0aaa43122
Rename gdk_device_get_surface_at_position_double
...
We can drop the double suffix now.
2019-03-26 18:12:55 -04:00
Matthias Clasen
562cc8b9ab
gtk: Stop using gtk_device_get_surface_at_position
...
We should always use the double variant of the api.
2019-03-26 18:12:55 -04:00
Matthias Clasen
03eb455c93
Rename gdk_device_get_position_double
...
We can drop the double suffix now.
2019-03-26 18:12:55 -04:00
Matthias Clasen
7e4707642a
gtk: Stop using gdk_device_get_position
...
We should always use the double variant of this api.
2019-03-26 18:12:55 -04:00
Matthias Clasen
21580309d3
Rename gdk_surface_get_device_position_double
...
Drop the _double suffix, now that the int version is gone.
2019-03-26 18:12:54 -04:00
Matthias Clasen
2d10a7b9c4
gtk: Stop using gdk_surface_get_device_position
...
Use the double version directly.
2019-03-26 18:08:32 -04:00
Matthias Clasen
eb4e7b9172
Remove GtkWindow::gravity
...
This was used to interpret the position passed
to gtk_window_move. Since that is gone, gravity
is no longer useful.
2019-03-26 17:55:29 -04:00
Matthias Clasen
0481f123ea
Drop gtk_window_move and gtk_window_get_position
...
These functions operate with global coordinates,
which are not available on Wayland.
2019-03-26 17:55:29 -04:00
Matthias Clasen
6f072c80db
treeview: Stop using gtk_window_move
...
It is going away. The search popup needs to be
redone using popovers.
2019-03-26 17:55:29 -04:00
Matthias Clasen
2ed533c3e1
file chooser: Stop using gtk_window_get_position
...
It is going away.
2019-03-26 17:55:29 -04:00
Matthias Clasen
f7d3815fa8
a11y: Don't support changing widget size and position
...
This does not make sense.
2019-03-26 17:55:29 -04:00
Matthias Clasen
d45996c728
Avoid root coordinates in begin_drag/move apis
...
Change the all the begin_drag and begin_move apis in
GdkSurface and GtkWindow to expect surface coordinates.
Update the x11 implementation to translate to root
coordinates where it matters. Wayland is ignoring the
coordinates anyway.
2019-03-26 15:57:11 -04:00
Emmanuele Bassi
060e30de3f
Turn GtkFixedLayoutChild:position into a transformation
...
This way we can transform children instead of just allocating them at an
offset.
2019-03-26 19:17:26 +00:00
Emmanuele Bassi
dd5c981b63
Use GtkFixedLayout in GtkFixed
...
Drop the child properties and the sizing code.
2019-03-26 18:15:13 +00:00
Emmanuele Bassi
9a4c19349e
Add GtkFixedLayout
...
A layout manager for fixed positioning.
2019-03-26 17:43:53 +00:00
Emmanuele Bassi
3389ddf6fc
Do not connect to a non-existing signal
...
The GtkWidget::parent-set signal was removed in ff6cd8f7
.
Instead of removing GtkLayoutChild instances associated to a widget
using notifications when the widget's parent changes, we can have
gtk_widget_unparent() call a method on GtkLayoutManager to remove any
eventual GtkLayoutChild instances associated to the widget.
2019-03-26 17:37:49 +00:00
Emmanuele Bassi
341660e056
Drop warning from GtkLayoutManager::get_request_mode()
...
We can return a sensible default value, so we don't really need to warn
about a missing implementation.
2019-03-26 17:37:49 +00:00
Martin Robinson
c8d250deb1
Return -1 for AtkText::get_caret_offset on failure
...
ATK now expects this virtual method to return -1 on failure. This allows
ATs to distinguish between a caret at position 0 and a failure.
2019-03-26 15:38:20 +01:00
Emmanuele Bassi
65965bed16
Changes after review
...
- Rename GtkLegacyLayout to GtkCustomLayout
- Use for() to iterate over children in GtkBinLayout
- Whitespace fixes for code imported from GtkBox
- Store the GtkLayoutChild instances inside LayoutManager
- Simplify the GtkLayoutManager API by dropping unnecessary arguments
- Fix the ownership model of GtkLayoutManager
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
630442f31c
Parse layout properties
...
If a widget has a LayoutManager instance, then we want to parse layout
properties in UI description files; the grammar is similar to packing
properties in GtkContainer:
<child>
<object ...>
<property name="...">...</property>
<layout>
<property name="pname">value</property>
</layout>
</object>
</child>
The properties are applied after a child has been added to its parent,
to the parent's layout manager property should be set.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
d6dfa41f10
Add GtkBinLayout
...
Like GtkBin, but lets you lay out multiple children instead of just one.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
8cf06befc0
Port GtkSwitch to GtkLegacyLayout
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
128a34fe37
Add GtkLegacyLayout
...
GtkLegacyLayout is a layout manager for the transitional period between
the introduction of layout managers and the removal of GtkWidget virtual
functions for the size negotiation.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
1fed357752
Port GtkBox to GtkBoxLayout
...
We can delegate all the layout management to a GtkBoxLayout, now that we
have one.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
ef9863ab63
Add GtkBoxLayout
...
The same layout policy of GtkBox, without all the GtkContainer calories.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
5cbf6f5fbd
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-03-26 00:11:27 +00:00
Emmanuele Bassi
15fda18791
Rename the internal GtkLayoutChild type
...
The type is completely private to GtkLayout, so there's really no need
to namespace it.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
f7856e887e
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-03-26 00:11:27 +00:00
Emmanuele Bassi
1b8595b5f2
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-03-26 00:11:27 +00:00
Emmanuele Bassi
24754c3259
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-03-26 00:11:27 +00:00
Timm Bäder
ab7507150b
Doc comment fixup
2019-03-25 15:57:31 +01:00
Timm Bäder
e657d9d553
popover: Always measure contents gizmo
...
Otherwise we're getting warnings about allocating a widget we haven't
measured first, which is fair. The contents gizmo itself will later take
care about whether or not the real popover child is NULL.
2019-03-25 15:57:31 +01:00
Timm Bäder
36e00ae95e
popover: Don't try to compute_bounds of a NULL child
2019-03-25 15:57:30 +01:00
Matthias Clasen
160f1e581a
Remove a dead file
...
We are not using this anymore.
2019-03-24 20:48:35 -04:00
Matthias Clasen
661e195ffc
color editor: Don't warn if editing is cancelled
...
Thats a valid way to end color picking.
2019-03-24 20:47:26 -04:00
Benjamin Otte
551ced9ae4
Fix compile warning
2019-03-23 03:08:20 +01:00
Benjamin Otte
799cb39e08
Remove win32 themeing support
...
It was unused through all of GTK 3, so it is not worth supporting.
The best Windows themes do not make use of it at all.
2019-03-22 22:30:01 +01:00
Matthias Clasen
1ada7bbc02
Fix hover state handling
...
We were not paying enough attention to detail when updating
hover and focus state while generating crossing events. The
invariant that we need to preserve here is that when a widget
has focus or hover, its parent does too.
2019-03-22 16:35:20 -04:00
Matthias Clasen
81658105f7
Stop walking parent surfaces for crossing event generation
...
We basically don't have child surfaces anymore (the last
use in popovers is on the way out). This really needs
to be done in terms of widgets, not surfaces. For now,
just stop walking parent surfaces.
2019-03-22 16:35:20 -04:00
Benjamin Otte
d9ef734458
cssparser: Simplify
...
Remove the uint parser (and use the int parser in the one user of it).
And avoid unnecessarily going through a macro.
2019-03-22 19:55:34 +01:00
Benjamin Otte
73760e5835
cssparser: Remove unused functions
2019-03-22 19:55:34 +01:00
Matthias Clasen
5638882dca
Remove debug spew
2019-03-22 14:44:51 -04:00
Matthias Clasen
56df49971a
entry: Disconnect text signals in dispose
...
This was showing up as crashes when closing
the file chooser.
2019-03-21 19:15:55 -04:00
Matthias Clasen
0bf136a902
Merge branch 'adwaita-remove-selectionmode-assets-master' into 'master'
...
Adwaita: Drop checkbox-selectionmode assets
See merge request GNOME/gtk!634
2019-03-20 14:10:18 +00:00
Matthias Clasen
2479d60012
Merge branch 'adwaita-selectionmode-checkboxes-master' into 'master'
...
Adwaita: Fix selection-mode checkboxes
Closes #28
See merge request GNOME/gtk!629
2019-03-20 14:10:05 +00:00
Matthias Clasen
6990f73940
Merge branch 'adwaita-headerbar-switch-margins-master' into 'master'
...
Adwaita: Adjust switch margins on headerbars
Closes #1759
See merge request GNOME/gtk!651
2019-03-20 14:06:19 +00:00
Matthias Clasen
254c27acbe
Merge branch 'wip/jimmac/focus-ring-radii' into 'master'
...
Adwaita: draw bigger radius for focus rings
Closes #1756
See merge request GNOME/gtk!649
2019-03-20 12:32:15 +00:00
Matthias Clasen
558405e1bc
window: Update state flags
...
When the window gets active / inactive, we
don't propagate events, but just send focus-in / -out
to the current focus_widget. Improve this by updating
its state flags as well.
2019-03-19 21:33:38 -04:00
Matthias Clasen
f47c376fb1
main: Fix crossing event generation for parented roots
...
We were walking the parent chain here, which now
always needs to consider whether it should stop
at roots. Like this one should.
The symptom was that a label with a popup attached to
it would end up with an unintentional focus ring that
would not go away.
2019-03-19 21:33:38 -04:00
Alex Monday
5679b9a687
Adwaita: Adjust switch margins on headerbars
...
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1759
2019-03-19 19:59:05 +05:00
Jakub Steiner
24235f61ab
Adwaita: draw bigger radius for focus rings
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1756
2019-03-19 14:07:10 +01:00
Benjamin Otte
a44ac75e65
gtk: Don't include gtkstylecontext.h from gtkcsstypesprivate.h
...
And make sure it's included everywhere it's needed.
2019-03-19 08:53:25 +01:00
Benjamin Otte
85c8e29d78
stylecontext: Move atk.h include where it belongs
2019-03-19 08:49:15 +01:00
Benjamin Otte
8fb797866d
paned: hide the handle widget when <2 children are visible
2019-03-19 08:48:50 +01:00
Benjamin Otte
96a677e5ca
paned: Refactor
...
Don't call a useless function, call gtk_widget_set_child_visible()
directly.
2019-03-19 08:48:41 +01:00
Benjamin Otte
07054ca20d
singleselection: Add forgotten notify emission
...
Also, add docs for the model property while I'm looking at the file.
2019-03-19 08:48:22 +01:00
Benjamin Otte
8f6a48832d
revealer: Always use identity transform for revealed child
...
Refactor the child allocation machinery, so that the complex allocation
paths are only run when the animation is running.
And in particular, ensure that when no animation is running, the
identity transform is allocated.
2019-03-19 08:48:06 +01:00
Matthias Clasen
0d91481587
One forgotten leave signal handler
2019-03-18 15:35:07 -04:00
Matthias Clasen
8650980797
Adapt to motion controller api change
...
The signature of the enter/leave signals changed.
Adapt all users.
2019-03-18 09:24:42 -04:00
Matthias Clasen
2b0d1bca43
motion controller: Install the properties
...
Oops
2019-03-18 08:44:35 -04:00
Matthias Clasen
f7e328e5f7
Merge branch 'paned-no-grab' into 'master'
...
paned: Don't use a grab
See merge request GNOME/gtk!644
2019-03-18 11:50:42 +00:00
Matthias Clasen
b40743121b
Merge branch 'crossing-details' into 'master'
...
motion controller: add details to signals
See merge request GNOME/gtk!621
2019-03-18 01:49:45 +00:00
Matthias Clasen
93c1353c69
Merge branch 'wip/carlosg/include-constructors-header' into 'master'
...
gdk: Include copy of glib/gconstructor.h
See merge request GNOME/gtk!642
2019-03-18 01:10:06 +00:00
Matthias Clasen
1196380f28
paned: Don't use a grab
...
It does not seem necessary for proper functioning
of the drag handle.
2019-03-17 18:55:00 -04:00
Matthias Clasen
26f99bf20c
editable: Fix a thinko
...
When dealing with subclasses of GtkEntry, we were not
getting the property offset that is stored on the GtkEntry
type.
This was showing up as criticals when trying to set
::width-chars on a GtkFileChooserEntry.
2019-03-17 18:46:18 -04:00
Carlos Garnacho
65d9b7ee86
gdk: Include copy of glib/gconstructor.h
...
This is named gdkconstructor.h to avoid any possible conflicts. This fixes
the current usages of G_HAS_CONSTRUCTORS, as that header is not installed
by glib.
2019-03-17 21:29:59 +01:00
Matthias Clasen
430ea05aea
widget: Fix a mission annotation
2019-03-17 01:11:22 -04:00
Matthias Clasen
17f4211e4f
motion controller: Add getters for crossing event targets
...
This information can be needed in signal handlers,
so make it available.
2019-03-16 23:52:58 -04:00
Matthias Clasen
ecd6446d08
motion controller: Add focus properties
...
Add boolean properties, is-pointer-focus and
contains-pointer-focus, that track whether the pointer
is in the widget itself or in one of its descendants.
2019-03-16 23:32:31 -04:00
Matthias Clasen
1540797237
motion controller: add details to signals
...
The ::enter and ::leave signals get emitted up and down the
connecting path between the old an the new pointer location.
The signals are less useful if you can't find out where along
the path you are. That is what crossing mode and detail are
about, so add those to the signals.
2019-03-16 23:03:41 -04:00
Matthias Clasen
1ce5327058
xim: Stop using GtkWidget::event
...
It does not exist anymore. I'm removing this code now
because our CI tests are using xim and fail due to this.
Eventually, this code should be ported to use a popover.
2019-03-16 22:16:10 -04:00
Matthias Clasen
6ddb61119a
Use root in gdk_synthesize_crossing_events
2019-03-16 21:30:48 -04:00
Matthias Clasen
492a38c229
Make gtk_widget_get_focus_child public
...
It doesn't really make sense to have only
the setter, but not the getter public.
2019-03-16 21:24:45 -04:00
Matthias Clasen
93905a8513
key controller: Enforce limitations of key forwarding
...
We now set current_event for focus-change as well,
so make sure to check the event type.
2019-03-16 21:24:45 -04:00
Matthias Clasen
4f06b669c5
key controller: Improve the docs
...
Mention the limitations of the key forwarding api.
2019-03-16 21:24:45 -04:00
Matthias Clasen
f3ed3e99c3
key controller: Add getters for focus event targets
...
This information can be needed in signal handlers,
so make it available.
2019-03-16 21:24:45 -04:00
Matthias Clasen
4f5a8207bc
key controller: Add focus properties
...
Add boolean properties, is-focus and contains-focus, that
track whether the focus is in the widget itself or in
one of its descendants.
2019-03-16 21:24:45 -04:00
Matthias Clasen
2f1194c0c1
key controller: Fix a copy/paste error
...
Prefix the finalize function properly.
2019-03-16 21:24:45 -04:00
Matthias Clasen
921eccb459
Pass mode and detail to focus-in/out signals
...
This information is useful when maintaining a
'last focus' field.
Update all users.
2019-03-16 21:24:45 -04:00
Matthias Clasen
888b92674f
Move maintaining the focus chain
...
Put this code in the same place where we generate
the crossing events.
2019-03-16 21:24:45 -04:00
Matthias Clasen
7d354b5084
Some fixes to crossing event generation
...
In the inferior and ancestor cases, we were missing
the initial/final event.
2019-03-16 21:24:45 -04:00
Matthias Clasen
4238a04c7b
window: Use gtk_synthesize_crossing_events
...
Emit focus change events in the same way as crossing events.
Also change the code to only emit focus change events for
the master keyboard - we only maintain a single focus location,
so sending multiple focus change events for different devices
seems confusing.
2019-03-16 21:24:45 -04:00
Matthias Clasen
adb547a147
Export gtk_synthesize_crossing_events internally
...
We want to use this for focus changes, now that
it can emit focus change events.
2019-03-16 21:24:45 -04:00
Matthias Clasen
cdcd2bb073
Share crossing and focus change event code
...
Make a single function that can emit both
enter/leave and focus change events.
2019-03-16 21:24:45 -04:00
Matthias Clasen
c73972f7df
gdk: Rename gdk_event_set_user_data
...
Lets call it what it is, the target.
All of this is private api anyway.
Update all callers.
2019-03-16 21:24:45 -04:00