Commit Graph

56700 Commits

Author SHA1 Message Date
Carlos Garnacho
19bf937401 eventcontrollerkey: Use run_controllers() API to forward key events
All 3 phases are run ATM, but just on the specific widget.
2019-02-20 13:16:07 +01:00
Carlos Garnacho
9ca392b38d gtkwidget: Expose gtk_widget_run_controllers() in private header
Allows for more fine grained access than gtk_widget(_captured)_event
which are meant to work across a hierarchy.
2019-02-20 13:16:07 +01:00
Carlos Garnacho
c739071d31 gtksearchentry: Forward captured events to the child GtkText
Catch up with the GtkEditable shuffling.
2019-02-20 13:15:16 +01:00
Carlos Garnacho
120ee17e09 gtksearchbar: Do not handle captured events for unmapped bars
If the bar is currently unmapped, it should not attempt to capture
and handle events.

Related: https://gitlab.gnome.org/GNOME/gtk/issues/1205
2019-02-20 13:15:16 +01:00
Benjamin Otte
02e856f62e widget: Mark compute functions as G_GNUC_WARN_UNUSED_RESULT
Lots of code does not error-check these functions, and when we add CSS
transforms, they will start failing. And we want people to check that.
2019-02-20 05:26:39 +01:00
Benjamin Otte
01f7f255b5 gtk: Check return value of compute_bounds()
Half of these calls will completely break if anybody ever uses CSS
transforms with them, but hey...
2019-02-20 05:26:31 +01:00
Benjamin Otte
514c3679dc widget: Always set out value
Don't leave memory in an unitinialized case when returning FALSE from
gtk_widget_compute_transform().

We both know that people are going to call that function without
checking the return value.
2019-02-20 04:07:34 +01:00
Benjamin Otte
8fbfa955de widget: Fail if matrix not invertible 2019-02-20 04:05:37 +01:00
Benjamin Otte
cfc7dc016e widget: Add optimizations to gtk_widget_compute_transform()
Try to catch 2 common cases with as little work as necessary.
2019-02-20 04:04:29 +01:00
Benjamin Otte
8222631d63 widget: Clean up gtk_widget_compute_transform()
The code was all over the place and being clear here is very useful.
2019-02-20 03:48:41 +01:00
Matthias Clasen
93b47c12d7 Fix gtk_widget_compute_transform
We were collecting all the transforms from widget
up to ancestor, and then trying to collect the
ones from target to ancestor, but failing.
2019-02-19 19:31:16 -05:00
Benjamin Otte
9a8082bab2 widget: Remove gtk_widget_get_allocated_size()
Use gtk_widget_get_allocated_width/height in the only user (GtkStack),
even though that isn't 100% correct.
2019-02-19 19:29:58 +01:00
Timm Bäder
8ce6cf569f Add test for widget transforms 2019-02-19 19:22:10 +01:00
Benjamin Otte
e223f16aa9 widget: Add gtk_widget_compute_point()
It's the replacement for gtk_widget_translate_coordinates()
2019-02-19 19:22:10 +01:00
Benjamin Otte
dead174d70 Remove nonexisting function from header 2019-02-19 19:22:10 +01:00
Timm Bäder
e922ec1839 widget: Compute child point directly when picking 2019-02-19 19:22:10 +01:00
Timm Bäder
63a23ed0da widget: Remove unused function 2019-02-19 19:22:09 +01:00
Timm Bäder
2ecb4003be widget: Avoid some type checks in pick() and contains()
We've already verified that the given pointer is a proper GtkWidget, so
no need to do it all over again.
2019-02-19 19:22:09 +01:00
Timm Bäder
a953fd762e widget: Add typecheck-less _is_sensitive
It adds up to a whopping 3% in gtk_widget_pick
2019-02-19 19:22:09 +01:00
Timm Bäder
dbf0654e5b widget: Add gtk_widget_compute_transform 2019-02-19 19:22:09 +01:00
Timm Bäder
4529f52c02 widget: Use CSS boxes in gtk_widget_real_contains() 2019-02-19 19:22:09 +01:00
Matthias Clasen
63a8bd06a6 stack sidebar: Fix sorting
Fix sorting, by not sorting.
2019-02-19 11:23:28 -05:00
Matthias Clasen
7c6e3e31c7 Merge branch 'portal-session-state-master' into 'master'
Portal session state

See merge request GNOME/gtk!587
2019-02-19 12:35:14 +00:00
Matthias Clasen
d006ee65f5 application: Add a query-end signal
This lets us take just-in-time inhibitors, and makes
the session support a little more real.
2019-02-19 00:56:31 -05:00
Matthias Clasen
65e9d71da5 Application: Support sandboxed session state changes
React to the session-state in StateChanged signals from
the inhibit portal and call QueryEndResponse as appropriate.
2019-02-19 00:56:31 -05:00
Benjamin Otte
02bb364474 widget: Remove lefover debug code
According to someone involved with those lines, I suck at reviewing
their patches.
2019-02-19 06:50:34 +01:00
Matthias Clasen
9174616a17 Merge branch 'text' into 'master'
GtkEntry reshuffling

Closes #1483

See merge request GNOME/gtk!585
2019-02-19 05:45:44 +00:00
Matthias Clasen
0ef6c3afed search entry: Add a tooltip to th clear icon
Similar to what we do for the caps-lock warning in the
password entry.

Closes #1483
2019-02-19 00:32:35 -05:00
Matthias Clasen
a417956054 Mention GtkEditable and entries in the migration guide
Not a very exhaustive treatment, but at least it gives
some hints.
2019-02-19 00:25:59 -05:00
Matthias Clasen
b299ac8dfa Add editable delegate api to docs
And add a section that explains how to use these
functions when setting up a GtkEditable delegate.
2019-02-19 00:25:59 -05:00
Matthias Clasen
22ea832eb3 Fix testtreesort warnings 2019-02-19 00:25:59 -05:00
Matthias Clasen
ac445229d0 a11y text test: Use a GtkText instead 2019-02-19 00:25:59 -05:00
Matthias Clasen
3422edff6c a11y tests: Update expected output
GtkText makes an appearance in many places now.
2019-02-19 00:25:59 -05:00
Matthias Clasen
102c0ce696 focus test: Use a GtkText instead
Thats where the focus is nowadays.
2019-02-19 00:25:59 -05:00
Matthias Clasen
996a4246fb defaultvalue test: Exempt GtkText::buffer
It gets created on-demand, so isn't NULL.
2019-02-19 00:25:59 -05:00
Matthias Clasen
613f8ceacf testsuite: update css node tests
The entries have changed. Reflect that.
2019-02-19 00:25:59 -05:00
Matthias Clasen
0e11944166 widget-factory: Don't set can-focus on entries
The focus needs to be on the text inside, now.
2019-02-19 00:25:59 -05:00
Matthias Clasen
08bd6904b9 file chooser: Use editable api on the search entry 2019-02-19 00:25:59 -05:00
Matthias Clasen
37b841b59b font chooser: Use editable api on search entry 2019-02-19 00:25:59 -05:00
Matthias Clasen
7d9e63ae38 app chooser: Use editable api on search entry 2019-02-19 00:25:59 -05:00
Matthias Clasen
f1012b5623 Fix the search bar example
More GtkSearchBar entry -> editable fixups.
2019-02-19 00:25:59 -05:00
Matthias Clasen
a0454e4025 gtk-demo: Make the delayed search demo work
Make this demo work with the new search entry.
2019-02-19 00:25:59 -05:00
Matthias Clasen
b8c981fb2b inspector: Work with new search entry
Don't assume a search entry is an entry, and
use the editable api as far as possible.
2019-02-19 00:25:59 -05:00
Matthias Clasen
3a1a7c43f3 treeview: make search work
Make search work with both GtkEntry and GtkSearchEntry,
even if a GtkSearchEntry is not derived from GtkEntry
anymore.
2019-02-19 00:25:59 -05:00
Matthias Clasen
fa3d1940bf search bar: Work with the new GtkSearchEntry
Don't assume a search entry is an entry, and use
the editable api as far as possible.
2019-02-19 00:25:59 -05:00
Matthias Clasen
667ea2dd42 search entry: Use a GtkText 2019-02-19 00:25:59 -05:00
Matthias Clasen
210c5d88a2 Add a test for GtkPassworkEntry 2019-02-19 00:25:59 -05:00
Matthias Clasen
c6e6fb19e7 Add GtkPasswordEntry
This is a simple editable which hides the entered
text and shows a caps-lock warning.
2019-02-19 00:25:59 -05:00
Matthias Clasen
39d5f9e07b entry completion: Make this work again
Connect to GtkText signals where necessary.
2019-02-19 00:25:59 -05:00
Matthias Clasen
cbbc7dd70f treeview: use a GtkText as search entry 2019-02-19 00:25:59 -05:00