Benjamin Otte
3ad4b8bf9a
Update gtkcssanimatedstyle.c
2019-08-18 16:06:46 +00:00
Benjamin Otte
a1cacc590d
css: Avoid unneeded transition work
...
Add an early exit in the transition creation code when no transitions are given. In that case, both transition-duration and transition-delay are equal to their default value of 0, which means no transitions should run at all.
2019-08-18 15:57:09 +00:00
Kukuh Syafaat
f3fa4fcb75
Update Indonesian translation
2019-08-16 09:16:05 +00:00
Asier Sarasua Garmendia
bd35ff61e3
Update Basque translation
2019-08-16 08:01:11 +00:00
Asier Sarasua Garmendia
aa6f3a627f
Update Basque translation
2019-08-16 07:55:49 +00:00
Timm Bäder
ee27587428
scale: Add a destroy notify to set_format_value_func
...
Closes #2098
2019-08-15 17:21:47 +02:00
Timm Bäder
d2f76d689f
scaler: Avoid some signal connections
...
We're mainly using this for icons that will never change contents or
size, and we're using a GtkScaler per such icon when on a hidpi setup,
so just avoid the two signal connections per icon.
2019-08-15 17:13:29 +02:00
Timm Bäder
20cd6cc155
spinbutton: Use gtk_button_new_from_icon_name
2019-08-15 16:23:01 +02:00
Timm Bäder
960e766206
widget: Don't duplicate events to translate coordinates
2019-08-15 16:23:01 +02:00
Timm Bäder
1c9fbe3773
widget: Remove captured event handler code
2019-08-15 16:23:01 +02:00
Timm Bäder
6669ddad09
scrolledwindow: Stop using _gtk_widget_set_captured_event_handler
...
We can use an event controller with phase = CAPTURE these days.
2019-08-15 16:23:01 +02:00
Daniel Șerbănescu
6e872715ef
Update Romanian translation
...
(cherry picked from commit 1e8d46352e )
2019-08-14 09:07:44 +00:00
Daniel Șerbănescu
dc582b478f
Update Romanian translation
...
(cherry picked from commit 10603f9598 )
2019-08-14 06:30:36 +00:00
Matthias Clasen
55839dc508
Merge branch '948-patch-renaming-a-file-can-make-it-to-loose-selection_GTK4' into 'master'
...
filechooser: keep file selected after being renamed
Closes #948
See merge request GNOME/gtk!1053
2019-08-13 21:18:41 +00:00
Matthias Clasen
6dd23b2bf0
text view: Fix a typo
...
Pointed out in https://gitlab.gnome.org/GNOME/gtk/issues/2094
2019-08-13 15:16:03 -04:00
Jordi Mas
afd64f3740
Update Catalan translation
2019-08-13 08:40:18 +02:00
Daniel Șerbănescu
a7b6663b33
Update Romanian translation
...
(cherry picked from commit f9acfa1bd8 )
2019-08-13 04:37:32 +00:00
Nelson Benítez León
487e095d24
filechooser: keep file selected after being renamed
...
Because otherwise when the file list is sorted "by name"
and the new name causes the file to be re-sorted to another
row, the selection stays in the old row which is now
occupied by a different file.
Fixed by keeping track of the renamed file and revealing
it in the "row-changed" signal handler, which gets emitted
after a file is renamed.
Fixes issue #948
2019-08-12 17:32:56 -04:00
Daniel Șerbănescu
b487e8f694
Update Romanian translation
2019-08-12 08:35:22 +00:00
Piotr Drąg
171e3454ad
Update Polish translation
2019-08-11 14:37:14 +02:00
Timm Bäder
164ebee129
Adwaita: Style spinbutton up/down children explicitly
...
Once again to increase the specificty above that of the
"list row button.etc." selector. Makes hovering spinbutton buttons in
lists look normal again.
2019-08-11 10:41:58 +02:00
Timm Bäder
76f2c4f0aa
Adwaita: Update .devel headerbar styling
...
Just pull in the changes from gtk-3-24
2019-08-11 10:30:01 +02:00
Timm Bäder
9999ac1255
range: Avoid a divison by 0
...
Based on a patch by Blake Latchford
Fixes #618
2019-08-11 10:06:52 +02:00
Daniel Boles
3242174f81
AccelLabel: Add get_accel_closure() accessor
...
Fixes #875
2019-08-11 09:55:43 +02:00
Timm Bäder
6f1cade817
color chooser: Port checkered pattern drawing from cairo
2019-08-11 09:34:50 +02:00
Timm Bäder
c6961f1b61
range: Use public delay-factory API
2019-08-11 09:34:50 +02:00
Timm Bäder
8c88453816
cellrenderer: Add accessors for {get,set}_is_expande{r,d}
2019-08-11 09:34:50 +02:00
Timm Bäder
0415574acf
testsuite: Add another repeat node test case
2019-08-11 09:05:31 +02:00
Timm Bäder
c812e1dc94
Adwaita: Fix hovering modelbutton arrows
...
This CSS snippet was supposed to only recolor the popover arrow but
ended up also recoloring the > arrow on modelbuttons that show a
submenu. Make the selector more specific.
2019-08-11 09:05:31 +02:00
Timm Bäder
251bf45cf2
iconcache: ref textures
...
We can't just assume that the pointer we'se using as a cache key will
stay unique forever. The texture might be freed, and a later allocated
texture might have the same addres now, causing the cache to return
incorrect results.
2019-08-11 09:05:31 +02:00
Timm Bäder
13c0a9e27b
iconcache: Replace broken debugging code
2019-08-11 09:05:31 +02:00
Timm Bäder
4c70bf6c9c
testsuite: Add a repeat node test case
2019-08-11 09:05:31 +02:00
Timm Bäder
2914c360a9
gl renderer: Implement a subset of repeat nodes
2019-08-11 09:05:31 +02:00
Timm Bäder
8d1a2247e0
treeview: Redo tree line drawing using textures
...
Gets rid of the remaining cairo nodes used for line drawing.
2019-08-11 09:05:28 +02:00
Timm Bäder
4fba7f8c59
treeview: Redo grid line drawing using textures
...
The cairo pattern in use was simple enough, so just use a 2×1 or 1×2
texture to draw horizontal and vertical grid lines. This avoids a bunch
of cairo nodes (that can't be cached by the renderers).
2019-08-11 09:05:25 +02:00
Timm Bäder
a93745238f
snapshot: Annotate child_bounds parameter of push_repeat as nullable
2019-08-10 19:51:45 +02:00
Timm Bäder
b812ff2597
treeview: Shorten destroy() implementation
2019-08-10 19:51:45 +02:00
Timm Bäder
8a51796150
treeview: Remove two _dashes members
...
Tree lines and grid lines always look the same these days.
2019-08-10 19:51:45 +02:00
Timm Bäder
dd7d171186
treeview: Remove GTK_TREE_VIEW_FOREGROUND_LINE
2019-08-10 19:51:45 +02:00
Timm Bäder
0ac20f978e
spinbutton: Remove an unnecessary queue_draw() call
2019-08-10 19:51:45 +02:00
Timm Bäder
0a96c3f062
scale: Properly update when inverted
...
Just queue_resize()ing the range itself doesn't work as it will just
re-allocate all the child widgets (i.e. just the trough) to its old
position and size.
2019-08-10 19:51:45 +02:00
Timm Bäder
42e6630c3e
scale: Make a function shorter
2019-08-10 19:51:45 +02:00
Timm Bäder
1125d08f0d
range: Remove outdated comment
2019-08-10 19:51:45 +02:00
Timm Bäder
0544633755
Merge branch 'wip/sadiq/buildable-2080' into 'master'
...
builderparser: Allow bind-source without bind-property
Closes #2080
See merge request GNOME/gtk!1047
2019-08-10 13:39:47 +00:00
Mohammed Sadiq
a642883e33
Add builder tests for bind-source without bind-property
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2080
2019-08-10 19:03:37 +05:30
Mohammed Sadiq
c1bb699151
builderparser: Allow bind-source without bind-property
...
This allow users to bind same property of two objects with only
specifing “name” and “bind-source” in UI file.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2080
2019-08-10 19:01:36 +05:30
Daniel Șerbănescu
120cfcc120
Update Romanian translation
2019-08-10 07:25:36 +00:00
Mohammed Sadiq
55af84d359
widget: Fix a typo in documentation
2019-08-10 12:11:13 +05:30
Christian Hergert
4ae362d138
textview: clear cached entries before releasing containers
...
We want to ensure all of the display cache entries are released in the
normal fashion before releasing the structures so that we can maintain
the invariant that cache_iter will always exist while in the cache.
2019-08-09 12:52:16 -07:00
Timm Bäder
fd201e4df7
treeviewcolumn: Remove cell_area parameter from _cell_get_size
...
Fixes #297
2019-08-09 17:04:58 +02:00
Timm Bäder
21123a1264
iconhelper: Don't snapshot 0 sized icons
...
This is happening for me when snapshotting small thumbnails in the file
chooser. The GtkScaler will scale the 1px height/width by 2, resulting
in nothing being drawn at all.
2019-08-09 15:55:38 +02:00
Timm Bäder
87aeec2b63
scale: Fix value widget measurement
...
Since we set the size request of the label, the later measure()
call would return at least the size we set, making the size only ever
grow.
2019-08-09 14:30:01 +02:00
Timm Bäder
ea5fc348fa
scale: Replace format-value signal
...
There is no reason for this to be a signal, since multiple handlers
don't make sense anyway. It was also broken because the scale needs to
know when a signal handler is added so it can update the value
representation.
Replace the signal with a set_format_value_func function which allows us
to do that.
Fixes #113
2019-08-09 14:30:01 +02:00
Timm Bäder
ebc0d3760f
range: remove range_size_request vfunc
...
It's unneeded in GtkScale and named after the gtk2 size_request function
2019-08-09 14:30:01 +02:00
Timm Bäder
b4a6d69f5d
scale: Allocate left marks next to trough
2019-08-09 14:30:01 +02:00
Timm Bäder
1c8b746b42
testscale: Properly call gtk_main_quit
2019-08-09 14:30:01 +02:00
Timm Bäder
05cdce2e8d
scale: Fix an uninitialized value
2019-08-09 14:30:01 +02:00
Timm Bäder
509b781079
widget: Avoid a few type checks
2019-08-09 14:30:01 +02:00
Aurimas Černius
c38deef753
Updated Lithuanian translation
2019-08-09 14:21:11 +03:00
Timm Bäder
4b7a6a885d
Merge branch 'adwaita-scales-marks-fintune-fix-master' into 'master'
...
Adwaita: Fix fine-tune mode for scales with marks
Closes #1799
See merge request GNOME/gtk!696
2019-08-08 16:41:04 +00:00
Benjamin Otte
68869a0e0f
Merge branch 'wip/gtk-icon-theme-no-svg-loader' into 'master'
...
gtk/icon-theme: Handle lack of SVG loader gracefully
Closes #2084
See merge request GNOME/gtk!1049
2019-08-08 07:27:10 +00:00
Jonas Ådahl
048957cd49
gtk/icon-theme: Handle lack of SVG loader gracefully
...
When loading a SVG icon from a gresource file only containing SVG icons,
but without having a SVG loader available in gdk-pixbuf, we would crash
when trying to eventually load the resource. Fix this by gracefully
handling this by simply failing to load the icon, while the first time
it happens, log a warning.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2084
2019-08-08 09:05:30 +02:00
Timm Bäder
434d32bf95
Adwaita: Fix round titlebar button outline radius
...
Fixes #2073
2019-08-07 18:49:50 +02:00
frederik.feichtmeier
1178a0011a
Exclude appmenu titlebuttons
2019-08-07 18:46:50 +02:00
frederik.feichtmeier
0af2e65c80
Make titlebuttons round
...
- use even sides for the titlebuttons so the result is a circle and not an ellipse
- add maximum border radius
- set min width/height to 0
- adjust margin and padding to match the previous look
2019-08-07 18:46:47 +02:00
Timm Bäder
e8f3b47bf3
gesturelongpress: Add getter/setter for delay-factor
2019-08-07 14:11:00 +02:00
Timm Bäder
8b16e44d26
passwordentry: Fix a documentation comment parameter name
2019-08-07 13:12:57 +02:00
Timm Bäder
002abc6d48
placessidebar: Remove popover using gtk_widget_unparent()
...
the gtk_widget_destroy() does not work anymore.
2019-08-06 17:39:01 +02:00
Timm Bäder
aca31c3ab6
adwaita: Increase spinbutton button styling specificity
...
So it trumps the 'toned down' button styling.
Fixes #2012
2019-08-06 17:38:54 +02:00
Matthias Clasen
a3609c3f6d
Merge branch 'implement-choices-file-chooser-native-win32-for-gtk-4' into 'master'
...
Implement choices for GtkFileChooserNativeWin32 [Gtk4]
Closes #1982
See merge request GNOME/gtk!1043
2019-08-05 12:20:06 +00:00
Jordi Mas
ddc74a08be
Update Catalan translation
2019-08-05 06:18:53 +02:00
Jor Teron
76614ea5f2
Add Karbi translation
2019-08-04 18:24:49 +00:00
Jor Teron
2eabe21aae
Add Karbi translation
2019-08-04 18:22:12 +00:00
Christian Kirbach
72f574a9c0
Update German translation
2019-08-04 16:16:01 +00:00
Luca Bacci
02935afe94
GtkFileChooserNativeWin32: Uninitialize COM at end of thread
...
GtkFileChooserNativeWin32 is created and shown on a secondary thread.
This thread initializes COM support with CoInitializeEx but does not
finalize it, so we have a leak. Fix that by calling CoUninitialize()
before thread terminates.
See Merge Request !1043
2019-08-04 18:03:37 +02:00
Luca Bacci
234d0443b2
GtkFileChoooserNative: change prepend to append for insertions in choices list
...
Although slightly less efficient, keeping the order in the choices
list makes it easier for GtkFileChooserNative implementations to
add widgets in the order specified by the application.
See Merge Request !1043
2019-08-04 18:03:21 +02:00
Luca Bacci
822deabdfe
Implement choices for GtkFileChooserNativeWin32
...
See Merge Request !1043
2019-08-04 18:03:05 +02:00
Timm Bäder
b2e94f81cf
window: Remove some leftover event code
2019-08-03 14:44:25 +02:00
Timm Bäder
109df77d87
popover: Use GTK_POS_BOTTOM as default position
...
This has always made a lot more sense.
2019-08-03 14:44:25 +02:00
Timm Bäder
76e3284ca1
colorchooserwidget: Inherit from GtkWidget
...
No reason for this to be a GtkBox.
2019-08-03 14:44:24 +02:00
Timm Bäder
576504390d
supp: Add some more exceptions
2019-08-03 14:44:24 +02:00
Matthias Clasen
660f46fcb1
Merge branch 'glsl-switch' into 'master'
...
glsl: don't use switch statements
See merge request GNOME/gtk!1036
2019-08-02 16:59:27 +00:00
Matthias Clasen
2bd93c1e9e
Merge branch 'wip/sort-icons-by-size' into 'master'
...
window: sort icons before adding to _NET_WM_ICON
See merge request GNOME/gtk!1038
2019-08-01 23:31:44 +00:00
Ray Strode
1612e38cda
window: sort icons before adding to _NET_WM_ICON
...
When processing the list of icons for a window to add them to
_NET_WM_ICON gdk_x11_surface_set_icon_list only adds as many
icon sizes as will fit within X protocol limits.
It achieves this by keeping a running total of the number of
bytes taken up by icons already processed and bails as soon
as it goes over the limit.
The problem is, one 512x512 icon is already over the limit,
and so no icons will get added at all if the first icon in
list is 512x512.
Indeed, the code seems to assume the list is sorted from smallest
icon to biggest icon.
This commit changes the caller to sort the list.
2019-08-01 16:48:58 -04:00
Jordi Mas
176ab784dc
Update Catalan translation
2019-08-01 20:19:06 +02:00
Matthias Clasen
b576aef2b1
Revert "gl: Simplify glyph cache rendering"
...
This reverts commit 7a3eaad193 .
The reason we want to keep using pango here
is that we get hex boxes and similar drawing
features that way.
2019-08-01 00:18:19 -04:00
Elias Aebi
a357995484
glsl: don't use switch statements
2019-07-31 18:48:54 +02:00
Matthias Clasen
5d10100fc0
Merge branch 'glyph-cache-fixes' into 'master'
...
gl: Glyph cache fixes
See merge request GNOME/gtk!1034
2019-07-31 12:26:16 +00:00
Matthias Clasen
6118dfba74
Add missing includes
2019-07-31 08:04:03 -04:00
Matthias Clasen
d276d2629a
gl: Glyph cache fixes
...
Pass the full location to the glyph cache lookup,
and use the same rounding as cairo does. This makes
the output much closer to the cairo renderer.
2019-07-31 00:03:13 -04:00
Matthias Clasen
e3ee1df456
Add an image comparison utility
...
This comes in handy sometimes, and we
already have the image diff code.
2019-07-30 14:02:43 -04:00
Daniel Mustieles
2691e4e949
Updated Spanish translation
2019-07-30 09:39:55 +02:00
Timm Bäder
20d7b7f59b
widget factory: add a tooltip to a button in a popover
2019-07-30 07:05:45 +02:00
Matthias Clasen
1fcd08d76a
Merge branch 'issue2057' into 'master'
...
Bump wayland-protocols requirements
See merge request GNOME/gtk!1030
2019-07-29 12:17:52 +00:00
Olivier Fourdan
060a9f072c
Bump wayland-protocols requirements
...
The `name` and `description` events were added to `xdg-output` protocol
in version 2 which is part of wayland-protocols 1.14.
In xdg-output-v1 version 3, the `xdg-output.done` event was deprecated
and the `xdg-output.description` event was made mutable, but that
doesn't change the actual events so we do not actually need to require
that version of xdg-output from wayland-protocols 1.18.
Update the wayland-protocols requirement to the bare minimum version,
which is 1.14.
https://gitlab.gnome.org/GNOME/gtk/issues/2057
2019-07-29 12:03:07 +02:00
Matthias Clasen
4a631787bd
Merge branch 'subpixel-positioning' into 'master'
...
Subpixel positioning
See merge request GNOME/gtk!1024
2019-07-28 21:02:31 +00:00
Matthias Clasen
032473fef8
reftest: Exclude flaky tests
...
These depend on details of text rendering,
and started failing with newer pango.
2019-07-28 16:42:52 -04:00
Matthias Clasen
5dd8801ee5
gl: implement subpixel positioning
...
Pass the glyph position into the glyph caching functions,
not just the glyph index. This allows us to cache different
images for different subpixel positions.
2019-07-28 16:42:52 -04:00
Matthias Clasen
5c9643b6eb
vulkan: implement subpixel positioning
...
Pass the glyph position into the glyph caching functions,
not just the glyph index. This allows us to cache different
images for different subpixel positions.
2019-07-28 16:42:52 -04:00
Matthias Clasen
4de670b0b4
Turn off metrics hinting
...
This will be necessary to see the effects of subpixel positioning.
2019-07-28 16:42:52 -04:00
Matthias Clasen
ade40a7a0c
Merge branch 'wip/chergert/textview-caching' into 'master'
...
textlayout: introduce caching for GtkTextLineDisplay
See merge request GNOME/gtk!1025
2019-07-28 20:32:56 +00:00
Christian Hergert
9926e6ebde
textlayout: introduce caching for GtkTextLineDisplay
...
This adds a GtkTextLineDisplayCache which can be used to cache a number
of GtkTextLineDisplay (and thus, PangoLayout) while displaying a view.
It uses a GSequence to track the position of the GtkTextLineDisplay
relative to each other, a MRU to cull the least recently used display,
and and a direct hashtable to lookup display by GtkTextLine.
We only cache lines that are to be displayed (!size_only). We may want to
either create a second collection of "size_only" lines to speed that up,
or determine that it is unnecessary (which is likely the case).
2019-07-28 10:34:15 -07:00
Christian Hergert
b930c5a8a2
textiter: add _gtk_text_iter_same_line()
...
This is a faster form to compare two text iter to see if they are on the
same line.
2019-07-28 10:34:15 -07:00
Matthias Clasen
7eb5dfd294
inspector: Show the pango backend
2019-07-28 11:39:16 -04:00
Matthias Clasen
8752564fea
Remove new attributes from tests
...
Until we can depend on pango 1.44, these will
fail in ci. Partially reverts f1c7803f80
2019-07-28 11:00:29 -04:00
Matthias Clasen
988fac404a
Add pango version checks
...
Seems the ci does not have pango 1.44 yet.
2019-07-28 10:50:14 -04:00
Matthias Clasen
7a3eaad193
gl: Simplify glyph cache rendering
...
We are currently using a weird mix of pango and cairo,
but there is no need for us to go through a pango
renderer here; we can just use cairo directly.
2019-07-28 09:54:17 -04:00
Matthias Clasen
3fccb16ca6
gsk: Move text-related test out of ci
...
These are too sensitive to rendering differences
between renderers to run reliably in ci, but we
still want to keep them around. In particular,
the big glyph tests are useful to exercise the
GL glyph cache.
2019-07-28 09:35:37 -04:00
Timm Bäder
2c38b71ca5
glyph cache: Upload large glyphs in lookup () directly
...
Instead of relying on a texture id of 0, which can happen for other
reasons, e.g. when the glyph is being scaled too small.
Fixes part of #2046
2019-07-28 12:00:15 +02:00
Timm Bäder
1c93bef0d5
glyph cache: check glyphs for scaled size
...
We can't rely on just the ink_rect, since that might be without the
scaled applied, which is what ends up on the texture.
Fixes #2046
2019-07-28 10:58:10 +02:00
Timm Bäder
eea76e8cce
textview: Remove some unnecessary gtk_widget_show() calls
...
Widgets are visible by default.
2019-07-28 08:44:45 +02:00
Jordi Mas
3b604331ec
Update Catalan translation
2019-07-28 01:05:25 +02:00
Matthias Clasen
92546cf9f7
Merge branch 'overview-recursive-dependancy' into 'master'
...
overview.xml: The GTK library does not depend on the GTK library
See merge request GNOME/gtk!1026
2019-07-27 21:46:52 +00:00
Piotr Drąg
3c9f9d598b
Update Polish translation
2019-07-27 15:20:40 +02:00
Piotr Drąg
ed46053dc9
Update POTFILES.skip
2019-07-27 15:03:47 +02:00
Дилян Палаузов
a3db7437b3
overview.xml: The GTK library does not depend on the GTK library
...
The documentation stated:
GTK is a library.… GTK depends on the following libraries:
GTK The GTK library itself contains widgets, that is, GUI
components such as GtkButton or GtkTextView.
There is no point in stating, that the GTK library
depends on the GTK library.
2019-07-27 11:59:45 +00:00
Timm Bäder
b2d639b6d9
window: Unroot with old display
...
Things might rely on the old display being set while unrooting.
Fixes #2052
2019-07-27 07:57:06 +02:00
Matthias Clasen
f1c7803f80
label: Parse new pango attributes
...
Support allow-breaks and show attributes.
These will be in pango 1.44
2019-07-27 00:02:08 -04:00
Matthias Clasen
c179fce6c7
Merge branch 'xdg-output-v3-gtk4' into 'master'
...
wayland: Add xdg-output v3 support
See merge request GNOME/gtk!1022
2019-07-26 17:13:39 +00:00
Olivier Fourdan
795899f9d5
wayland: Add xdg-output v3 support
...
xdg-output v3 marks xdg-output.done as deprecated and compositors are
not required to send that event anymore.
So if the xdg-output version is 3 or higher, simply set the initial
value `xdg_output_done` to TRUE so we don't wait/expect that event
from the compositor.
https://gitlab.gnome.org/GNOME/gtk/issues/2053
2019-07-26 17:32:17 +02:00
Matthias Clasen
88ab3a6942
Merge branch 'wip/no-move-surface' into 'master'
...
Remove surface moving APIs
See merge request GNOME/gtk!1016
2019-07-26 14:31:49 +00:00
Timm Bäder
58e8dd1c0d
gl renderer: Fix dx/dy handling on hidpi
...
Fixes misplaced error squiggles in the node editor.
2019-07-26 16:27:39 +02:00
Timm Bäder
b8bbf7b63b
gl renderer: Rework transform handling
...
Fix all the ref counting mishaps. Makes hidpi work again and without
memory leaks.
2019-07-26 15:35:06 +02:00
Kukuh Syafaat
05e28fb498
Update Indonesian translation
2019-07-26 11:31:46 +00:00
Kjartan Maraas
c6d9963d1a
Update Norwegian Bokmål translation
2019-07-26 09:01:15 +00:00
Daniel Mustieles
2d3a902beb
Updated Spanish translation
2019-07-26 09:18:25 +02:00
Matthias Clasen
8b1f3936b6
font rendering demo: Make boxes optional
2019-07-26 00:31:07 -04:00
Matthias Clasen
108ea50179
font rendering demo: Show unrounded extents
...
This makes more sense.
2019-07-25 23:35:09 -04:00
Matthias Clasen
df1892c052
font rendering: Show ink rect too
2019-07-25 22:06:34 -04:00
Matthias Clasen
0820a79bf5
Improve the font rendering demo
...
Show the pixel grid, extents, and baseline.
2019-07-25 19:07:12 -04:00
Matthias Clasen
4427bde8a7
Merge branch 'fontrendering-demo' into 'master'
...
Add a font rendering demo
See merge request GNOME/gtk!1019
2019-07-25 21:06:54 +00:00
Matthias Clasen
dec4db5943
Add a font rendering demo
...
This renders a magnified version of the text,
to make the effect of various font rendering options
more visible.
It also shows the phases of subpixel rendering,
if you have a recent pango and cairo.
2019-07-25 16:43:22 -04:00
Matthias Clasen
fd7f6ca7ad
tests: improve error handling
2019-07-25 13:51:34 -04:00
Matthias Clasen
dea309144b
gtk-demo: Fix a crash
2019-07-25 13:51:34 -04:00
Emmanuele Bassi
f1e4efebb7
Merge branch 'gtk-4-add-TCRYPT-options-to-ask-password-dialog' into 'master'
...
gtkmountoperation: Add TCRYPT options to the ask-password dialog
See merge request GNOME/gtk!263
2019-07-25 10:16:11 +00:00
Jonas Ådahl
0885eb0a7b
gdk: Remove gdk_surface_move_resize() API
...
Windows/surface's aren't supposed to be explicitly moved by any external
part, so don't provide API for doing so. Usage throughout Gdk is
replaced by the corresponding backend variants.
2019-07-25 10:35:43 +02:00
Jonas Ådahl
fc68d1b1e6
gdk: Make backends implement move_to_rect()
...
The generic layer still does the heavy lifting, leaving the backends
more or less just act as thin wrappers, dealing a bit with global
coordinate transformations. The end goal is to remove explicit surface
moving from the generic gdk layer.
2019-07-25 10:24:50 +02:00
Jonas Ådahl
b329090e69
gdk: Remove gdk_surface_move()
...
Generic gdk code now uses the internal helper; backends use their own
private implementations when necessary.
2019-07-25 10:24:50 +02:00
Jonas Ådahl
6314ebd435
gdk/surface: Add toplevel_resize vfunc
...
To separate how toplevels and popups are configured, a first step is to
introduce a resize-only vfunc for backends to implement. It's meant to
only configure toplevel windows, i.e. popups. Currently it's used for
both types, but introducing the resize-only API is a first step.
2019-07-25 10:24:50 +02:00
Matthias Clasen
e89e182565
Merge branch 'avoid-redundant-attributes' into 'master'
...
text layout: Avoid redundant text attributes
See merge request GNOME/gtk!1015
2019-07-24 23:47:41 +00:00
Matthias Clasen
552fe0406c
text layout: Avoid redundant text attributes
...
Don't insert text attributes if the font, or scale
or fallback did not actually change. This helps
Pango avoid excessive item breaks, which in turn
helps shaping to work across things like color
changes.
Related: https://gitlab.gnome.org/GNOME/pango/issues/28
2019-07-24 19:05:32 -04:00
Jonas Ådahl
b062dea1aa
wayland: Cleanup surface configuration
...
Configuration should happen in response to the xdg_surface.configure
event, not in the events that preceeds it. Do this by making all
configured state pending until the committing "configure" event. Also
split up toplevel vs popup configuration in a more clear way.
2019-07-24 22:42:37 +02:00
Jonas Ådahl
9b561581d5
wayland: Rename gdk_wayland_surface_configure to *_resize
...
It only issues a resize; configuring should imply more state is
configured, e.g. maximized, etc.
2019-07-24 22:42:37 +02:00
Jonas Ådahl
7f6c31c041
tests: Remove obsolete props from popover2.ui
2019-07-24 22:42:37 +02:00
Matthias Clasen
717c55c9aa
Merge branch 'gtkapp-opening-str' into 'master'
...
Use commas to differentiate between text and filename
See merge request GNOME/gtk!1013
2019-07-24 13:51:22 +00:00
Jordi Mas
7d1c6272be
Use commas to differentiate between text and filename
2019-07-24 13:51:22 +00:00
Matthias Clasen
2f387c2a23
Merge branch 'missing-gobject-annotation' into 'master'
...
Add nullable annotation to combo_box_text_get_active_text
See merge request GNOME/gtk!1012
2019-07-24 13:50:04 +00:00
Timm Bäder
0d95c5dfe2
passwordentry: Normalize boolean value
2019-07-24 08:10:37 +02:00
Timm Bäder
f2a2908c59
passwordentry: Remove empty vfunc implementation
2019-07-24 08:10:26 +02:00
Timm Bäder
f4cb60dcca
textlayout: Avoid querying CSS state if we don't have to
...
This is actually pretty slow, and we almost never render a selection.
2019-07-24 07:54:30 +02:00
Timm Bäder
b3d0629709
popover: Remove some unnecessary checks
...
gtk_popover_move_resize() already checks whether the popover has a
surface.
2019-07-24 07:54:30 +02:00
Matthias Clasen
30f55c4d07
Remove a redundant vfunc
...
PangoRenderer has a perfectly adequate default
implementation of draw_glyphs, no need to duplicate that.
2019-07-23 23:28:24 -04:00
Ryan Westlund
f00d964f4f
Add nullable annotation to combo_box_text_get_active_text
2019-07-23 22:59:35 -04:00
Matthias Clasen
d2920c501d
Merge branch 'blink-later' into 'master'
...
Blink later
See merge request GNOME/gtk!1011
2019-07-24 02:05:32 +00:00
Matthias Clasen
af528b08dc
Merge branch 'error-nodes' into 'master'
...
Render error underlines as render nodes
See merge request GNOME/gtk!1009
2019-07-24 01:39:37 +00:00
Matthias Clasen
a628907891
textview: Defer cursor blinking on input
...
We were not calling the right cursor functions
in the commit handler.
2019-07-23 21:18:03 -04:00
Matthias Clasen
19ad4d67ef
textview: Delay initial cursor blinking
...
These changes follow the same changes for
gtktext.c in the previous commit.
2019-07-23 21:17:05 -04:00
Matthias Clasen
a4e427b44a
text: Delay initial cursor blinking
...
We used to have a solid cursor for 2/3 of the cycle,
now we start fading after 1/4th. To make up for it,
add half a cycle of delay.
2019-07-23 21:08:47 -04:00
Matthias Clasen
5b94e3c2f2
Merge branch 'wip/chergert/refcount-line-display' into 'master'
...
make GtkTextLineDisplay ref counted
See merge request GNOME/gtk!1010
2019-07-23 22:44:59 +00:00
Matthias Clasen
3278e9ab6c
Render error underlines as render nodes
...
Use a sequence of transformed squares,
instead of a cairo node. The drawing is not
identical to the previous code, but reasonably
close.
2019-07-23 18:31:39 -04:00
Christian Hergert
02d8e95b73
textlayout: remove use of gtk_text_layout_free_line_display
...
Now that these are reference counted, we no longer need to use
the variant requiring access to the GtkTextLayout.
2019-07-23 14:59:40 -07:00
Christian Hergert
e0b9b51e9f
textlayout: make GtkTextLineDisplay reference counted
...
This makes GtkTextLineDisplay use GRcBox instead of g_slice_*
directly. By using reference counting for this structure, we
can ensure that we hold an extra ref for one_display_cache as
well as caching additional GtkTextLineDisplay for the visible
range in the future.
2019-07-23 14:52:14 -07:00
Matthias Clasen
fb06b7fa94
text: Remove an outdated comment
2019-07-23 15:14:38 -04:00
Matthias Clasen
7b451678f5
fix the build
2019-07-23 14:26:32 -04:00
Piotr Drąg
3be9e819d6
Update POTFILES.in
2019-07-23 19:47:43 +02:00
Matthias Clasen
758c54eab8
text: Fix incomplete invalidation
...
When a style change affects the text, we need to
clear the cached content, in order to pick up the
new text style.
2019-07-23 10:41:52 -04:00
Matthias Clasen
c39cc15573
text view: Fix incomplete invalidation
...
Update the cached text style when a css change affects
content or background. This fixes text views drawing
black-on-dark when switching to the dark theme.
2019-07-23 10:41:43 -04:00
Jordi Mas
8999bb0b78
Update Catalan translation
2019-07-22 11:06:27 +02:00
Matthias Clasen
7a81b7c7be
Merge branch 'wip/chergert/fix-textlayout-bounds' into 'master'
...
textlayout: fix bounds for clipping
See merge request GNOME/gtk!1006
2019-07-22 01:53:17 +00:00
Christian Hergert
e475d4bdc5
textlayout: fix bounds for clipping
...
This should match gtk_snapshot_append_layout(), which means that we expect the
bounds to be rooted at 0, 0.
2019-07-21 18:21:04 -07:00
Matthias Clasen
980a6a20b1
Merge branch 'wip/textview' into 'master'
...
textview: port GtkTextView to GskPangoRenderer
See merge request GNOME/gtk!1005
2019-07-21 23:10:41 +00:00
Matthias Clasen
064ad42432
text view: Smooth cursor blinking
...
Fade the text cursor in and out, instead
of abruptly turning it on and off.
2019-07-21 16:03:49 -07:00
Christian Hergert
4ff9163c47
textview: port GtkTextView to GskPangoRenderer
...
This removes the use of GtkTextDisplay (a PangoRenderer) to use
the GskPangoRender which generates render nodes. Part of this means
improving the GskPangoRenderer to support the necessary features for
displaying a GtkTextView.
Primarily, this is a merging of GtkTextDisplay features into
GskPangoRender. Additionally, GtkTextDisplay was removed to allow for
gtk_text_layout_snapshot() to be implemented elsewhere.
2019-07-21 16:03:45 -07:00
Matthias Clasen
45ebe47d94
textview: Stop exporting private apis
...
These headers are no longer 'semi-public, but private
and uninstalled, so exporting these functions does
not do any good.
2019-07-21 13:26:40 -07:00
Matthias Clasen
2803bd93ce
gsk: Fix a crash in gsk_render_node_diff
...
The only thing worse than freeing the same
cairo region twice is freeing it three times.
2019-07-21 13:18:58 -07:00
Matthias Clasen
51161fb0d6
text: Smooth cursor blinking
...
Fade the text cursor in and out, instead
of abruptly turning it on and off.
2019-07-21 11:35:13 -07:00
Matthias Clasen
63fd97749c
Adwaita: Fix entry block cursors
2019-07-21 11:35:04 -07:00
Asier Sarasua Garmendia
f2d736d2cc
Update Basque translation
2019-07-21 18:02:07 +00:00
Serdar Sağlam
9b9a656e54
Update Turkish translation
2019-07-21 14:15:15 +00:00
Timm Bäder
8f734b01b2
window: Plug a GList leak
...
We need to free the GList manually when using g_list_remove_link().
2019-07-21 12:45:10 +02:00
Timm Bäder
69250371b0
gtk.supp: Add glXQueryServerString exceptions
2019-07-21 12:45:10 +02:00
Timm Bäder
731613d70b
gl renderer: Remove leftover modelview matrix
...
We use a GskTransform there nowadays.
2019-07-21 12:45:10 +02:00
Timm Bäder
5f21c45f75
Revert "gl renderer: ops_set_modelview is (transfer full)"
...
This reverts commit e904c49e8a .
This breaks HiDPI setups, i.e. setups where the call to
ops_set_modelview does not end up with a NULL transform.
2019-07-21 12:45:10 +02:00
Timm Bäder
8beea4d958
window: Merge some functions into their only callers
...
So it's clear we only add or remove the pointerfocus-es in
_update_pointer_focus.
2019-07-21 11:06:24 +02:00
Timm Bäder
1583200e24
cellrenderertext: Remove some unnecessary NULL checks
2019-07-21 10:26:00 +02:00
Timm Bäder
03fa8ed259
cellrenderertext: Don't unnecessarily ref a layout
...
We never pass a NULL layout to get_size().
2019-07-21 10:22:05 +02:00
Timm Bäder
0bd939624e
textlayout: Remove some outdated comments
...
These two members have been commented out for 19 years.
2019-07-21 10:02:54 +02:00
Timm Bäder
b658a1a8e3
entry: Measure icons again
...
This was previously removed because it changes the minimum and natural
size of the entry when the icons are shown/hidden at runtime. Just not
measuring them does not work however, so reintroduce this.
2019-07-21 09:58:08 +02:00
Timm Bäder
7eae9d115c
placesview: Make "Other Locations" search case-insensitive
...
It's just weird to search for "c" and not find the list item labelled
"Computer".
2019-07-21 09:51:54 +02:00
Timm Bäder
2ca56d4c4c
linedisplay: Save paragraph bg color inline
...
No need to allocate this separately.
2019-07-21 09:47:09 +02:00
Timm Bäder
f6d7967e96
gtk.supp: Add a pixman_image_composite32 exception
2019-07-21 09:13:24 +02:00
Timm Bäder
9bddc0ff85
gtk.supp: add a FcDefaultSubstitute exception
2019-07-21 09:07:27 +02:00
Timm Bäder
6e47ebe030
rendernodeparser: Fix a memory leak when parsing glyphs
2019-07-21 09:06:50 +02:00
Timm Bäder
9728dabf12
rendernodeparser: Fix a memory leak when parsing textures
2019-07-21 09:06:29 +02:00
Timm Bäder
e904c49e8a
gl renderer: ops_set_modelview is (transfer full)
...
regarding the passed modelview matrix
2019-07-21 09:06:10 +02:00
Timm Bäder
27ddd39d69
gl renderer: Pull out code from a loop
...
Does not not actually depend on anything done inside the loop.
2019-07-21 08:39:25 +02:00
Goran Vidović
86e907b088
Update Croatian translation
2019-07-19 21:29:56 +00:00
Goran Vidović
8b46538af9
Update Croatian translation
2019-07-19 21:20:13 +00:00
Timm Bäder
5910a28aa5
gl renderer: Replace a redundant function call
...
We're already getting the radius from the node above.
2019-07-19 18:14:50 +02:00
Timm Bäder
3935027880
filechooserwidget: Fold function into only caller
2019-07-19 18:14:50 +02:00
Timm Bäder
8665828d7f
filechooserwidget: Don't emit default-size-changed() in unroot()
...
It doesn't make much sense to assume the default size has changed just
because the widget has been unrooted.
2019-07-19 18:14:50 +02:00
Timm Bäder
a8b559e99f
filechooser: Remove SETTINGS_KEY_WINDOW_POSITION
...
Now unused.
2019-07-19 18:14:50 +02:00
Timm Bäder
5674a3db46
filechooserwidget: Don't look at saved window position
...
We don't save it anymore so no need to look at it here.
2019-07-19 18:14:49 +02:00
Timm Bäder
dd3acc9014
filechooserdialog: Stop using gtk_window_get_position()
2019-07-19 18:14:49 +02:00
Timm Bäder
a9364bc053
Revert "file chooser: Stop using gtk_window_get_position"
...
This reverts commit 2ed533c3e1 .
This also made the filechooser dialog not save the window size anymore,
which does not depend on the gtk_window_get_position() removal.
2019-07-19 18:14:49 +02:00
Timm Bäder
59313e1459
gtkfilechooserwidget: Temporarily disable revealer transitions...
...
... when going between recent and browse. It just looks weird to have
this transition while the treeview model is just cleared/repopulated
without any transition.
2019-07-19 18:14:49 +02:00
Timm Bäder
3e54d374de
placessidebar: Remove sidebar border again
2019-07-19 18:14:49 +02:00
Christoph Reiter
9856218073
Merge branch 'tests-no-box-packing' into 'master'
...
testsuite: Remove dangling references to box-packing tests
See merge request GNOME/gtk!997
2019-07-18 19:32:19 +00:00
segfault
97cdf87350
gtkmountoperation: Add TCRYPT options to the ask-password dialog
2019-07-18 20:06:20 +02:00
Emmanuele Bassi
d8f91e7df9
Merge branch 'pc-libs-private' into 'master'
...
gtk4.pc: Move third-party libraries from Libs to Libs.private
See merge request GNOME/gtk!998
2019-07-18 10:31:19 +00:00
Emmanuele Bassi
91d4e2b3e3
Merge branch 'gtk-4-support-tcrypt-with-proxy-handler' into 'master'
...
gtkmountoperation: Support TCRYPT options when using proxy handler
See merge request GNOME/gtk!245
2019-07-18 10:11:12 +00:00
segfault
e5cccbf5a0
gtkmountoperation: Support TCRYPT options when using proxy handler
...
GMountOperation now supports options to unlock TCRYPT volumes. This
patch sets these options if they are returned by AskPassword() of a
GtkMountOperationHandlerProxy.
2019-07-18 11:41:45 +02:00
Simon McVittie
5cfe9ab603
testsuite: Remove dangling references to box-packing tests
...
These were removed in commit c47abb5f , before 3.96.0.
Signed-off-by: Simon McVittie <smcv@debian.org >
2019-07-18 09:26:07 +01:00
Simon McVittie
01a6bbdc73
gtk4.pc: Move third-party libraries from Libs to Libs.private
...
This avoids "overlinking". These libraries are an implementation detail
of particular backends, so they only need to appear on library consumers'
linker command-lines if the dependency cannot be picked up from the
shared library automatically (when linking statically, or when building
on a deficient OS that doesn't support transitive dependencies between
shared libraries, in which case pkg-config should be built with
--enable-indirect-deps).
Signed-off-by: Simon McVittie <smcv@debian.org >
2019-07-18 09:24:41 +01:00
Timm Bäder
24a4063645
scrollbar: Use a box layout
...
Makes a lot more sense than the intermediate box just for its layout.
2019-07-15 07:52:42 +02:00
Timm Bäder
4f11bbc59b
text: Don't leak emoji chooser
2019-07-15 06:56:19 +02:00
Timm Bäder
9ceb41f9a4
menu: Fix an uninitialized value
...
If the menu does not have any children, we'd otherwise end up calling
g_object_ref() on an uninitialized value.
2019-07-15 06:43:25 +02:00
Timm Bäder
831309eed2
progressbar: Use box layout
...
Instead of the custom layouting we did before.
2019-07-15 06:38:51 +02:00
Timm Bäder
4bb4a98493
text: Move some locals into the closest scope
2019-07-15 05:38:25 +02:00
Timm Bäder
70b0f712ad
text: Remove some useless casts
2019-07-15 05:19:02 +02:00
Timm Bäder
c6e9372ba3
text: Move some locals into the closest scope
2019-07-15 05:17:46 +02:00
Jordi Mas
13b055ab2d
Update Catalan translation
2019-07-14 11:25:12 +02:00
Timm Bäder
38f4a7708e
Remove some dead assignments
2019-07-14 10:08:04 +02:00
Timm Bäder
6abcd8d013
Adwaita: Add fontbutton spacing back
2019-07-14 10:08:04 +02:00
Timm Bäder
37906a2200
adwaita: Remove a dead rule
...
GtkFileChooserButtons are called "filechooserbutton" these days, not
button.file
2019-07-14 10:08:04 +02:00
Timm Bäder
b9b5072668
gl renderer: Fix opacity nodes with overlapping child nodes
2019-07-14 10:08:04 +02:00
Aurimas Černius
459edfa77b
Updated Lithuanian translation
2019-07-13 18:28:21 +03:00
Timm Bäder
92a79d3f96
popover: Fix a broken cast
...
The widget passed here is priv->relative_to, not the popover.
2019-07-13 17:06:22 +02:00
Timm Bäder
984dff54ab
rendernodeparser: fix typo
2019-07-13 11:12:47 +02:00
Timm Bäder
1866aa93e3
fishbowl: Plug a small leak
2019-07-13 10:10:17 +02:00
Timm Bäder
2884691740
picture: Unref previous paintable
...
We were leaking all of them.
2019-07-13 09:38:28 +02:00
Timm Bäder
b8549a142e
suppression file: Add glReadPixels mesa exception
2019-07-13 09:38:14 +02:00
Timm Bäder
0f3ca349e7
node editor: Manually unrealize all created renderers
...
This has not been a problem before since we were leaking them.
2019-07-13 09:37:47 +02:00
Timm Bäder
a13d6bbbdf
Merge branch 'fix-issue-2014-gtk4' into 'master'
...
Fix a string leak in gtkemojicompletion.c [gtk4]
Closes #2014
See merge request GNOME/gtk!993
2019-07-12 09:59:38 +00:00
Luca Bacci
d15dc6f90b
Fix a string leak
...
Fixes #2014
2019-07-12 08:43:44 +00:00
Timm Bäder
58e6c277b0
fpsoverlay: Fix fps overlay position
2019-07-10 18:34:16 +02:00
Matthias Clasen
1d29d44ddb
Merge branch 'wip/baedert/accelmap' into 'master'
...
AccelMap: Sort accels before iterating over them in foreach()
See merge request GNOME/gtk!980
2019-07-09 19:39:58 +00:00
Matthias Clasen
bda3c6c084
Merge branch 'wip/baedert/for-master' into 'master'
...
Improve the valgrind experience
See merge request GNOME/gtk!984
2019-07-09 19:39:13 +00:00
Kukuh Syafaat
159913be2f
Update Indonesian translation
2019-07-09 07:56:21 +00:00
Asier Sarasua Garmendia
b05d1676d3
Update Basque translation
2019-07-08 20:19:10 +00:00
Asier Sarasua Garmendia
0b21ed0c7a
Update Basque translation
2019-07-08 20:14:08 +00:00
Asier Sarasua Garmendia
564a92830b
Update Basque translation
2019-07-08 19:18:08 +00:00
Chun-wei Fan
a20fd5e14e
demos/constraint-editor: Fix linking on MSVC builds
...
We must apply the /entry:mainCRTStartup linker flag in order to link GTK
apps in pure GUI form. This follows what is done in demos/gtk-demo,
etc.
2019-07-08 18:37:27 +08:00
Timm Bäder
138986f064
Merge branch 'ui-enum-values' into 'master'
...
Change the few examples that use a full GTK_ enum value in .ui files.
See merge request GNOME/gtk!987
2019-07-08 07:14:48 +00:00
Timm Bäder
f286c99338
Merge branch 'gltexsubimage2d' into 'master'
...
use glTexSubImage2D instead of glTextureSubImage2D
Closes #2005
See merge request GNOME/gtk!986
2019-07-08 07:14:13 +00:00
Timm Bäder
ea48d1de5e
Merge branch 'glsl-float-literals' into 'master'
...
glsl: use float literals
See merge request GNOME/gtk!985
2019-07-08 07:10:41 +00:00
Robert Ancell
dbd2a81501
Change the few examples that use a full GTK_ enum value in .ui files.
...
Lowercase versions work just as well and are much more readable.
2019-07-08 15:52:28 +12:00
Piotr Drąg
be6ec8f50b
Update Polish translation
2019-07-07 13:22:10 +02:00
Timm Bäder
264d4bada6
widget: Remove queue_resize_no_redraw
...
We always invalidate the widget in size_allocate() anyway.
2019-07-07 07:43:08 +02:00
Timm Bäder
633172fd66
widget: Make queue_compute_expand() private
...
Nobody needs to call this anymore.
2019-07-07 07:36:29 +02:00
Timm Bäder
042f7d117f
compare-render: Don't unref an invalid GFile
...
We already unref it when the g_file_make_directory_with_parents fails.
2019-07-07 07:24:00 +02:00
Timm Bäder
b062594ae6
gl renderer: Properly clean up program state transforms
2019-07-07 07:24:00 +02:00
Timm Bäder
95f30fee87
iconhelper: Try to avoid some save/restore calls
...
GtkImage already does something similar so we often end up with 0/0
here. Avoid the save()/restore() calls in GtkSnapshot in that case.
2019-07-07 07:24:00 +02:00
Timm Bäder
dbc49e7742
transform: Fix identity transform fast paths
...
Returning an extra ref will cause leaks later.
2019-07-07 07:24:00 +02:00
Timm Bäder
449c96ffb3
widget: Unref previous transform
2019-07-07 07:24:00 +02:00
Timm Bäder
1459ca2c26
widget factory: Plug a memory leak
2019-07-07 07:24:00 +02:00
Timm Bäder
4123c85021
actionmuxer: Plug a memory leak
2019-07-07 07:24:00 +02:00
Timm Bäder
d1c37c41d9
Add a gtk valgrind suppression file
...
Not ideal but otherwise I get 30k line output from valgrind when just
running the widget factory. It's mostly mesa but still.
2019-07-07 07:23:57 +02:00
Elias Aebi
ea6d3f589f
use glTexSubImage2D instead of glTextureSubImage2D
2019-07-06 16:23:21 +02:00
Elias Aebi
1e6120e776
glsl: use float literals
2019-07-06 14:42:08 +02:00
Timm Bäder
a77f8e886b
cssprovider: Fix a memory leak in load_internal
...
We create a new GBytes but never unref it.
2019-07-06 09:50:07 +02:00
Benjamin Otte
96b782c026
x11: Make sure stream stays alive long enough
...
When unreffing the stream from a different thread, the close function
will schedule its cleanup asynchornously in the main thread.
We need to make sure the stream object stays alive for as long as
that hasn't happened, so ref() it.
Fixes #2003
2019-07-05 21:17:00 +02:00
Timm Bäder
6455a54f6c
Merge branch 'header-custom-title-valign' into 'master'
...
headerbar: Don't change the custom title's valign
See merge request GNOME/gtk!981
2019-07-04 12:45:13 +00:00
Adrien Plazas
3bae6fa1c7
headerbar: Don't change the custom title's valign
...
This allows custom titles to use the vertical alignment of their choice
without having to set it manually after it has been added to the header
bar, hence allowing them to define their preferred alignment from a UI
template.
This is useful for widgets like the view switcher which requires filling
the header bar's whole height.
2019-07-04 13:03:37 +02:00
Timm Bäder
68f19a8e6a
accelmap: Sort accels before interating over them in foreach()
2019-07-04 08:35:42 +02:00
Timm Bäder
12ebbd1b24
accelmap: Avoid a confusing goto
2019-07-04 08:35:34 +02:00
Emmanuele Bassi
9b7bda6137
ci: Comment job, not just the stage
...
GitLab doesn't like it when we keep a job but disable the stage.
2019-07-03 17:57:27 +01:00
Emmanuele Bassi
1b4ed58331
ci: Disable deploy jobs
...
The version of gtk-doc in our CI image is not new enough to cope with
the fact that GTK lost container properties.
2019-07-03 17:54:32 +01:00
Benjamin Otte
b2868d7218
Merge branch 'wip/frame-clock-consumers' into 'master'
...
Frame clock consumers
See merge request GNOME/gtk!971
2019-07-03 16:21:32 +00:00
Emmanuele Bassi
bdc8f9dccf
Merge branch 'layout-manager-ref' into 'master'
...
widget: Don't lose a layout manager ref
See merge request GNOME/gtk!977
2019-07-03 13:25:44 +00:00
Matthias Clasen
9768f35931
widget: Don't lose a layout manager ref
...
gtk_widget_set_layout_manager is transfer-full,
so we must give it a new reference from set_property
to implement object property semantics properly.
2019-07-03 09:18:41 -04:00
Daniel Mustieles
19a4ee031d
Updated Spanish translation
2019-07-03 11:45:12 +02:00
Jonas Ådahl
a7ee1b4e85
gdksurface: Make all surfaces listen to the frame clock signals
...
Instead of the toplevel driving popups, have the popups listen to the
frame clock themselves. Otherwise, if the toplevel for some reason isn't
drawn by the compositor and stops drawing new frames, popups wouldn't
get painted either.
2019-07-03 11:42:28 +02:00
Jonas Ådahl
5db079b052
gdk/frameclock: Make surfaces inhibit freeze
...
To make a frame clock tick as long as any of the associated surfaces
expect to receive ticks, make the surfaces inhibit freezing the clock,
instead of directly tell the frame clock to freeze itself.
This makes it so that as long as any surface using a certain frame clock
is not frozen (e.g. just received a frame event from the display
server), the frame clock will not be frozen.
With this, the frame clock is initiated as frozen, and won't be thawed
until any surface inhibits freeze. It will be frozen again, when every
surface has that previously inhibited freeze uninhibited freeze.
2019-07-03 11:42:28 +02:00
Jonas Ådahl
a2ff6af4b3
tests: Add back testpopupat
...
It's still useful for testing menus. Fixed the .ui file by removing a
property that no longer exists.
This effectively reverts commit
84d2150077 .
2019-07-03 11:42:28 +02:00
Jonas Ådahl
f66e764855
menu: Remove unused variable
2019-07-03 11:42:28 +02:00
Mohammed Sadiq
a8c23d06ac
constraint: Fix property name typo in doc
2019-07-03 09:31:39 +05:30
Piotr Drąg
36b4cd4bfc
Update POTFILES.in and POTFILES.skip
2019-07-02 19:02:36 +02:00
Matej Urbančič
46c59e3c3d
Updated Slovenian translation
2019-07-02 18:51:55 +02:00
Matthias Clasen
b5aee936a9
Merge branch 'constraint-list-model' into 'master'
...
Constraint list models
See merge request GNOME/gtk!975
2019-07-02 14:18:42 +00:00
Matthias Clasen
aa8687316f
constraint editor: Implement loading
...
Allow to reread the ui builder files we write out.
Just barely.
2019-07-02 10:03:48 -04:00
Matthias Clasen
5a3cf5a194
constraints editor: Stop naming constraints
...
We don't have a field for the name in ui files,
so stop naming constraints.
2019-07-02 10:03:48 -04:00
Matthias Clasen
c5e1b00994
constraint editor: Implement saving
...
Save to a ui file.
2019-07-02 10:03:48 -04:00
Matthias Clasen
377f0c1a0a
constraint editor: Use name properties
2019-07-02 10:03:48 -04:00
Matthias Clasen
a442e6e8de
constraint editor: Use the list models
...
Instead of handrolling our own list models,
use the ones provided by GtkConstraintLayout.
2019-07-02 10:03:48 -04:00
Matthias Clasen
274c47e5ba
constraint layout: Provide list models
...
Provide list models for the constraints and guides,
so we can show them in the inspector, and use them
in e.g. the constraints editor.
2019-07-02 10:03:48 -04:00
Matthias Clasen
b2f15a622d
Merge branch 'wip/ebassi/constraint-layout' into 'master'
...
Add constraint-based layout manager
Closes #1090
See merge request GNOME/gtk!973
2019-07-02 14:01:01 +00:00
Emmanuele Bassi
04aaf02881
docs: Add more private headers to the list
...
The various GtkConstraint private API should not be scanned for
documentation.
2019-07-02 09:48:17 +01:00
Emmanuele Bassi
d5f8e1bf29
docs: Fix typo in function name
2019-07-02 09:44:48 +01:00
Daniel Boles
33bd7051f2
widget-factory: Use correct StyleProvider priority
...
We are an application, not a user.
cherry-pick of !974
2019-07-02 09:09:47 +01:00
Matthias Clasen
61345b3216
Merge branch 'option-names' into 'master'
...
meson: Rename documentation option to gtk_doc
See merge request GNOME/gtk!972
2019-07-02 01:28:43 +00:00
Benjamin Otte
129691f3a6
flattenlistmodeL: Compute items-changed position properly
...
The code previously forgot to include the left child of the model's
node. Which of course only happened if that child wasn't NULL, which is
a common case.
Found and test provided by Matthias Clasen.
2019-07-02 02:53:00 +02:00
Matthias Clasen
4eaf860e86
meson: Rename documentation option to gtk_doc
...
This name is what most of the stack is using.
Lets follow along, even though it is (imo)
uglier.
2019-07-01 20:16:37 -04:00
Christoph Reiter
72814c54a8
meson: cups: use cups-config for looking up cups
...
We were looking for the cups headers and the cups lib in the default locations
which for example breaks with OpenBSD where the cups headers are under /usr/local/include/
Instead just use the "cups" dependency type from meson which internally uses cups-config.
See #1967
Ported to master from !963
2019-07-01 21:52:06 +02:00
Christoph Reiter
4d4e02c9d0
build/cups: remove checks for httpGetAuthString and http_t.authstring
...
httpGetAuthString() was added with cups 1.3 and we depend on a newer version
now. The direct field access was a fallback in case httpGetAuthString()
was missing, so this can also be dropped.
Ported to master from !938
2019-07-01 21:34:44 +02:00
Emmanuele Bassi
8ab609e4e7
Add custom parser for guides defined in GtkBuilder UI files
...
Like we describe constraints, we can also define guides.
2019-07-01 19:22:48 +01:00
Emmanuele Bassi
6bc156c237
Implement GtkBuildable for GtkConstraintLayout
...
Using GtkBuildable we can provide a custom parser for reading
constraints defined in a GtkBuilder UI file.
2019-07-01 18:03:20 +01:00
Emmanuele Bassi
b435dc4366
Use the right GValue getter for GtkConstraintGuide:strength
...
The property is defined as an enum.
This fixes the defaultvalue and notify tests.
2019-07-01 18:02:19 +01:00
Emmanuele Bassi
4dd1de4129
Use explicit values for constraint strength
...
Instead of playing games with mapping negative symbolic values to
positive ones, let's use the appropriate constants everywhere. This
allows us to use:
GTK_CONSTRAINT_STRENGTH_WEAK * 2
Or
GTK_CONSTRAINT_STRENGTH_STRONG + 1
In code using the public API.
We also store the strength values as integers, so we can compare them
properly, and only turn them into doubles when they are inserted into
the solver, just like every other variable.
2019-07-01 12:39:24 +01:00
Matthias Clasen
48e6cd4255
constraint editor: Allow dragging children
...
We add a weak constraint for the position
and update it as the widget is dragged.
2019-07-01 04:24:26 +00:00
Matthias Clasen
658397fad0
Documentation fixes
...
Make sure all types show up in the docs,
and misc other improvements.
2019-07-01 03:17:58 +00:00
Matthias Clasen
670fc5bb94
constraint editor: Enable max size for guide
...
Also, use the apis we have now, and make the
spin buttons display 'unset' values as such.
2019-07-01 02:23:39 +00:00
Matthias Clasen
b224df8109
constraint layout: go back to keeping constraints
...
We want to minimize changes to the solver, so
keep the size constraints around and only update
them when the size changes.
2019-07-01 01:54:57 +00:00
Matthias Clasen
c88e7c180d
constraint layout: Use stronger force for min size
...
We want our edit constraint to be strong enough to
overpower nat. size constraint, therefore use STRONG * 2.
2019-07-01 01:49:20 +00:00
Emmanuele Bassi
2aabd64f1a
Fix warnings from the introspection scanner
...
The name of the arguments of the functions must match the name of the
arguments in the documentation stanza.
2019-07-01 01:13:00 +01:00
Emmanuele Bassi
7990b24287
Add gtkconstraintguide.h to the public headers
...
It needs to be introspected and installed.
2019-07-01 01:12:25 +01:00
Emmanuele Bassi
c76c1a46e4
Remove specialised API from GtkConstraint
...
Thet widget-based API for constraint target and source properties is
unused, and not really necessary.
2019-07-01 01:05:04 +01:00
Emmanuele Bassi
68fed63eac
Add missing documentation for GtkConstraint
2019-07-01 01:02:56 +01:00
Emmanuele Bassi
46403bac12
docs: Add GtkConstraint and friends to the API reference
2019-07-01 00:49:20 +01:00
Emmanuele Bassi
74c626f835
Document GtkConstraintGuide
2019-07-01 00:48:59 +01:00
Emmanuele Bassi
d45a662679
Move the VFL error domain to a public header
...
Since the public API will use it to fill out GErrors, it needs to be
publicly available.
2019-07-01 00:48:48 +01:00
Matthias Clasen
f6019f1a16
Merge branch 'gbsneto/fix-popover-dark-theme' into 'master'
...
Fix GtkPopoverMenu in dark theme
See merge request GNOME/gtk!970
2019-06-30 23:17:40 +00:00
Matthias Clasen
514de0b91a
Add a constraint editor demo
...
This is an initial cut at providing a tool
for interactive exploration of constraints.
2019-07-01 00:10:11 +01:00
Emmanuele Bassi
9a463056d0
constraint layout: Notice when guides change
...
We need to queue a resize here.
2019-07-01 00:10:11 +01:00
Matthias Clasen
035baa092c
Mark the layout as changed
...
We should mark the layout as changed when
constraints are added or removed.
2019-07-01 00:10:11 +01:00
Matthias Clasen
499738c903
constraint guide: Avoid redundant constraints
...
There is no point in creating a stay for nat
size when min == max. And no point in a constraint
for <= G_MAXINT either.
2019-07-01 00:10:11 +01:00
Matthias Clasen
f2d7433bf6
constraint guide: Fix initial property values
...
This was overlooked when the max-width/max-height/
strength properties were added.
2019-07-01 00:10:11 +01:00
Matthias Clasen
405121bccc
constraint solver: Use GTK_NOTE
...
Allow using GTK_DEBUG=constraints to get debug
output from the constraints solver.
2019-07-01 00:10:11 +01:00
Matthias Clasen
cb96b34315
solver: Add private statistics api
...
No point in keeping these counters without
a way to show them.
2019-07-01 00:10:11 +01:00
Matthias Clasen
9edf6fb6cb
constraint layout: Dont reset constraints in allocate
...
If trust our allocation algorithm, this can never
trigger (and in fact, it never does).
2019-07-01 00:10:11 +01:00
Matthias Clasen
e3c4fb67ca
constraints: Add some internal apis
...
Checking if a set is empty or a singleton can
be done more efficiently than determining its size.
2019-07-01 00:10:11 +01:00
Matthias Clasen
a9dfca04e4
constraint guide: Make strength tweakable
...
The strength for the natural width can be used
as a tie-breaker to make instable systems behave
in a more predictable way. This can be seen
in the simple constraints demo in gtk-demo.
2019-07-01 00:10:11 +01:00
Matthias Clasen
71b52f485e
constraints demo: Update comments
2019-07-01 00:10:11 +01:00
Matthias Clasen
f62fc4e2f2
constraint layout: freeze/thaw on mass ops
...
In measure and allocate we are potentially
changing quite a few constraints. Don't
optimize at every step.
2019-07-01 00:10:11 +01:00
Matthias Clasen
511e2b435e
constraints: Use better data structures
...
Use a GSequence for GtkVariableSet, to avoid
quadratic behavior.
2019-07-01 00:10:11 +01:00
Matthias Clasen
3f36340921
constraint layout: Measure min/nat size separately
...
Only constraint the opposite direction if we
actually have a for_size, and measure natural
size after removing the edit constraints. With
these changes, the test that compares constraint
layout to grid layout passes.
2019-07-01 00:10:11 +01:00
Matthias Clasen
b1f0f4478e
constraint layout: Use stays for natural size
...
It makes more sense to treat the natural size
of both children and guides as stays, since
we want to meet these values as closely as we
can, under the circumstances.
2019-07-01 00:10:11 +01:00
Matthias Clasen
90f8dcc5e1
constraint layout: Add debug output for guides
...
Print out the allocation we end up giving to
guides. This helps in making sense of the
allocations of the child widgets that these
guides relate to.
2019-07-01 00:10:11 +01:00
Matthias Clasen
5a019bfccd
constraints demo: Give space a name
...
Lets call it 'space'.
2019-07-01 00:10:11 +01:00
Matthias Clasen
b39a5fe5dc
constraint guide: Add a name property
...
We need to be able to print meaningful debug messages
regarding these objects, and eventually present them
in the inspector too.
2019-07-01 00:10:11 +01:00
Matthias Clasen
c7ef8411bd
constraint guide: Shorten names
...
Now that this is its own source file,
no need for these prefixes anymore.
2019-07-01 00:10:11 +01:00
Matthias Clasen
dab8a8b5c5
constraint layout: Measure more correctly
...
Set up all constraints for minimum + natural
width + height when measuring, regardless
of the orientation we're measuring. Anything
else will lead to incorrect answers when
there are constraints that cut across
dimensions.
2019-07-01 00:10:11 +01:00
Matthias Clasen
8b9c5e3a04
solver: Fix a copy/paste error
2019-07-01 00:10:11 +01:00
Matthias Clasen
3d3a672deb
constraint solver: Fix repeat suggestions
...
We were not storing the previous value, causing
the first two suggestions to work, but not later
ones.
Fixes the test added in the previous commit.
2019-07-01 00:10:11 +01:00
Matthias Clasen
2f97134a08
Amend a constraint solver test
...
Make the 'repeat edit' test make more than to
suggestions in a single edit phase. It turns out
that this does not work, whereas just doing
two in a row does.
2019-07-01 00:10:11 +01:00
Matthias Clasen
47237d32eb
demo: Use constraint guide api
...
Use proper api to create and set up
the guide, and also try max-width.
2019-07-01 00:10:11 +01:00
Matthias Clasen
139a59cae3
Flesh out GtkConstraintGuide
...
This commit moves GtkConstraintGuide into its own
source files to avoid gtkconstraintlayout.c turning
too messy, adds max size properties and implements
getters and setters.
2019-07-01 00:10:11 +01:00
Matthias Clasen
60fb9092fe
Drop an indirection
...
This struct is not really useful for just
a single hash table, and it gets in the way
of moving the guide code to its own file.
2019-07-01 00:10:11 +01:00
Matthias Clasen
61b4febbaf
Detach guides on unroot
...
We don't want to leave constraints behind.
2019-07-01 00:10:11 +01:00
Matthias Clasen
4f4ba8c4f6
Simplify the guide implementation
...
Store the values and constraints in
arrays, to facilitate treating them
uniformly.
2019-07-01 00:10:11 +01:00
Emmanuele Bassi
651adbfb39
Return the list of constraints added via VFL description
...
Otherwise it's impossible to remove them.
2019-07-01 00:10:11 +01:00
Emmanuele Bassi
3204347bb0
Add method to remove all constraints from a layout
2019-07-01 00:10:11 +01:00
Georges Basile Stavracas Neto
b929846cc1
Adwaita: Also apply $color_menu to popover arrows
...
So that popovers and arrows are always in agreement of
the background color.
2019-06-30 19:51:51 -03:00
Georges Basile Stavracas Neto
fe65da05be
Adwaita: Use $menu_color background in popover.menu
...
GtkPopoverMenus should mimic menus. Commit d936967b7a introduced
some CSS related to menu popovers, however, it hardcodes 'white'
as the background color. That is problematic for the dark theme.
Use '$menu_color' instead of 'white', since $menu_color both
guarantees menu popovers and menus match, and already handles
different colors for dark and light theme variants.
2019-06-30 19:47:32 -03:00
Emmanuele Bassi
06c825df90
Add a C convenience function for VFL constraints
...
The dictionary-based function is convenient for language bindings, but C
developers will feel more at home with a variadic arguments list.
2019-06-30 23:42:45 +01:00
Emmanuele Bassi
46430ea85b
Add Constraints/VFL demo
...
Shows how to describe constraints using VFL instead of constructing
objects manually.
2019-06-30 23:42:45 +01:00
Emmanuele Bassi
859c95b435
Allow adding constraints described through VFL
2019-06-30 23:42:45 +01:00
Emmanuele Bassi
5ea8167802
Add VFL parser for constraints
...
Constraints can be expressed with a compact syntax, called VFL (visual
format language).
2019-06-30 23:42:45 +01:00
Emmanuele Bassi
92d3d55164
Remove GtkConstraintVariable.set_prefix()
...
The prefix and name are set at construction time.
2019-06-30 23:42:45 +01:00
Matthias Clasen
ba2125d8e1
Add an interactive constraints demo
2019-06-30 23:42:44 +01:00
Matthias Clasen
7c96326c18
Make the constraints demo more interesting
...
Add a max size to the buttons, to force the
space to open up.
2019-06-30 23:42:44 +01:00
Matthias Clasen
38d353dc1a
Add GtkConstraintGuide
...
This is meant to be a flexible space.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
7ae04ba36b
Use generic pointers for constraint targets
...
Since GtkWidget implements GtkConstraintTarget, we can omit the explicit
cast, and validate the type at run time.
2019-06-30 23:42:44 +01:00
Matthias Clasen
39c284c490
Redefine constraints with GtkConstraintTarget
...
This is in preparation for allowing non-widgets
to act as constraint targets.
2019-06-30 23:42:44 +01:00
Matthias Clasen
895e8e25a8
widget: Implement GtkConstraintTarget
2019-06-30 23:42:44 +01:00
Matthias Clasen
04562a76e3
Add GtkConstraintTarget
...
This is an marker interface that we will
use to accept other things that widgets
in constraints.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
b6781e06c1
Notify a layout change when adding and removing constraints
...
Changing the set of constraints should cause a relayout.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
54104b6676
Fix the opposite size measurement in GtkConstraintLayout
...
We cannot use the given "for size" when querying our children, because
the constraint layout has no idea about the opposite size of its
children until the layout is complete.
Additionally, we should only suggest an opposite size for the layout if
we have one, instead of suggesting a weak zero size.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
21450d5f23
Remove size constraints from ConstraintLayoutChild
...
The size constraints are transient to measurement and allocation, so
they don't really need to be stored inside the GtkLayoutChild subclass
created by a GtkConstraintLayout.
2019-06-30 23:42:44 +01:00
Matthias Clasen
a39bbb2041
constraints: Make internal consistency required
...
The relations between left, right, width
and top, bottom, height are required for
internal consistency. It doesn't make sense
to ever drop these.
Changing the strength of these relations makes
my systems behave much more stable.
2019-06-30 23:42:44 +01:00
Matthias Clasen
176d9c6baf
Add gtk_constraint_layout_remove_constraint
...
Otherwise, you can't do many interesting things.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
64afa765c8
Do not release reference on the subject of an expression
...
We don't own the reference in the first place.
2019-06-30 23:42:44 +01:00
Matthias Clasen
a246d8c926
constraints solver: Avoid critials
...
When the solver is finalized with existing
constraints, we end up with criticals when
the constraints ref finalize code calls
back into the hash table. Avoid that by
emptying the hash table beforehand.
2019-06-30 23:42:44 +01:00
Matthias Clasen
0531e663ee
constraint solver: Fix thawing
...
There was an obviously wrong precondition here.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
bd2349c0a0
Do not leak LayoutChild instances
...
Since the LayoutManager owns the LayoutChild it creates, it's also
responsible for mopping them up.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
636fbc0f1a
Add GtkConstraintLayout demo
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
cdf80f1d65
Add GtkConstraintLayout
...
A layout manager using GtkConstraintSolver to measure and allocate
children.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
e7b2c530c5
Propagate rooting and unrooting widgets to layout managers
...
Layout managers may need to get access to data attached to the root of a
scene graph.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
e07098da03
window: Create a GtkConstraintSolver
...
Implement the GtkRoot getter for GtkConstraintSolver.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
98a21bf498
Assign a GtkConstraintSolver to each GtkRoot
...
Constraints need to work across different parents, so it's better to
have a single constraint solver per top level.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
c694dd6049
Move the Root interface to a private header
...
We don't expect out of tree implementations of GtkRoot, and having the
interface structure private to the GTK code allows us to add virtual
functions involving private types.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
6b308cd71e
Add constraint solver
...
GtkConstraintSolver is an implementation of the Cassowary constraint
solving algorithm:
http://constraints.cs.washington.edu/cassowary/
The Cassowary method allows to incrementally solve a tableau of linear
equations, in the form of:
x = y × coefficient + constant
with different weights, or strengths, applied to each one.
These equations can be used to describe constraints applied to a layout
of UI elements, which allows layout managers using the Cassowary method
to quickly, and efficiently, lay out widgets in complex relations
between themselves and their parent container.
2019-06-30 23:42:44 +01:00
Matthias Clasen
3b6ee32f83
Fix a crash in action muxer destruction
...
I've seen a crash when the action muxer gets
disposed during widget destroy, and tries to
disconnect from widget signals too late.
There is no real need to disconnect, since the
only time an action muxer is going away is when
its widget is destroyed, so just don't do it.
2019-06-30 18:37:32 +00:00
Timm Bäder
3bc3e140dd
transform: Add transform_bounds fast path for 2D_AFFINE transforms
...
E.g. anything involving a scale. This is important when e.g. scrolling
in the node list in the recorder, which scales every recorded node down
to fit in the list.
2019-06-29 09:49:38 +02:00
Timm Bäder
a6a9853676
Adwaita: Fix popover style
...
We add the .background class to the popover node now.
2019-06-29 09:06:32 +02:00
Timm Bäder
6b42e5b433
gl renderer: Fix push/pop modelview behavior
2019-06-29 08:57:27 +02:00
Timm Bäder
99c01607f1
gl renderer: Remove some dead code
2019-06-29 08:53:36 +02:00
Timm Bäder
071748592d
gl renderer: Don't upload GL textures into the icon cache
2019-06-29 07:15:43 +02:00
Timm Bäder
8dd74eac2e
transform: Add skew parsing
2019-06-29 07:15:43 +02:00
Matthias Clasen
f6a2678486
Add another grid layout test
...
This one will be used for comparison
with constraint layouts.
2019-06-28 19:21:21 +00:00
Matthias Clasen
e28ec2a3eb
Some more grid layout tests
...
Add testcases for spanning children and homogeneity.
2019-06-28 18:07:23 +00:00
Matthias Clasen
c4fd786866
Add a test for the grid layout manager
...
Test some obvious conditions. This is mainly
to test the waters for more intesting tests
with other layout managers later.
2019-06-28 13:30:16 +00:00
Matthias Clasen
8fa7de5563
grid layout: Fix initial property values
...
Too bad that we don't cover layout children
in the default value test - it would have
caught this.
2019-06-28 12:42:06 +00:00
Jakub Steiner
9e6b4e82c9
Adwaita: allow flat list row buttons to be flat
...
- Be more specific about the list row image buttons
Addresses corner case of https://gitlab.gnome.org/GNOME/gtk/issues/1748
2019-06-27 12:15:51 +02:00
Jakub Steiner
4be2e804ae
Adwaita: lighten dark switch sliders
...
- addresses legibility concerns
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1819
2019-06-27 10:58:18 +02:00
Alex Monday
1056e9976a
Adwaita: Apply border-radius to .csd popovers
...
Fix popover_radius variable doesn't apply to .csd popover.
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1984
2019-06-27 10:40:22 +02:00
Alex Monday
851bb61455
Adwaita: Fix padding/rounding on submenus
...
- Apply menubar submenu style for .csd submenus;
- Remove child subemenu style (looks like it is inherited
from a parent).
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1976
2019-06-27 10:31:11 +02:00
Jakub Steiner
3aadc29af4
Adwaita: darken osd background for A:dark
...
- OSD background color was too close to $bg_color to make out outline
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1964
2019-06-27 10:30:01 +02:00
Matthias Clasen
3d55b74197
Merge branch 'master' into 'master'
...
Fix a typo
See merge request GNOME/gtk!960
2019-06-24 19:52:12 +00:00
Hodong Kim
19b1fcfee3
Fix a typo
2019-06-24 18:42:40 +00:00
Daniel Boles
98cfbd3712
ShortcutsSection: Fix tiny grammar-o "in for"→"in"
2019-06-24 18:02:15 +01:00
Ask Hjorth Larsen
112f49b23c
Updated Danish translation of gtk-properties
2019-06-24 18:55:47 +02:00
Ask Hjorth Larsen
4d36fdc176
Updated Danish translation of gtk
2019-06-24 18:55:25 +02:00
Matthias Clasen
31d79b07b7
Merge branch 'no-varargs-activate' into 'master'
...
Add a non-varargs variant of activate_action
See merge request GNOME/gtk!959
2019-06-24 16:10:03 +00:00
Matthias Clasen
2405e2711e
Add a non-varargs variant of activate_action
...
I recently turned gtk_widget_activate_action()
into a varargs function. That is more convenient
from C, but we need a non-varargs variant for
bindings. So add the old API back, under the
name gtk_widget_activate_action_variant(),
with a rename-to annotation.
2019-06-24 15:51:39 +00:00
Emmanuele Bassi
1527407c3d
Merge branch 'issue-1961-master' into 'master'
...
Provide GdkMonitor:connector
See merge request GNOME/gtk!954
2019-06-24 15:13:15 +00:00
Emmanuele Bassi
f524a9315b
Set the monitor's connector under X11
...
Like we do on Wayland.
In this case, we copy it from the same source as the output name,
because it's going to match.
2019-06-24 15:38:36 +01:00
Emmanuele Bassi
a5f22897f9
Relay the xdg_output.name to GdkMonitor
...
The xdg_output v2 interface has a `name` property that reflects the
output name coming from the compositor.
This is the closest thing we can get to a connector name.
2019-06-24 15:38:36 +01:00
Emmanuele Bassi
03840fb687
Add getter for a monitor connector
...
The migration from GdkScreen's monitor API to GdkMonitor left out a way
to get the connector's name of a monitor.
While there's no real guarantee coming from the underlying graphics
system that the connector's name is stable, some system components may
use it to uniquely identify a monitor until the next plug in/out event.
2019-06-24 15:38:36 +01:00
Emmanuele Bassi
6e65c16b60
Merge branch 'stack-realign' into 'master'
...
build: Do not use add_global_flags()
See merge request GNOME/gtk!958
2019-06-24 14:22:18 +00:00
Emmanuele Bassi
23e4d05383
build: Do not use add_global_flags()
...
It's almost always not what you want.
2019-06-24 15:00:21 +01:00
Daniel Mustieles
489e9e0934
Updated Spanish translation
2019-06-24 09:59:52 +02:00
Matthias Clasen
3acc014499
Make gtk_widget_activate_action better
...
As a convenience API, this should be easy to use,
so don't expect callers to manually create a
variant, do it for them.
Update all callers.
2019-06-23 22:51:55 +00:00
Matthias Clasen
3ebe30bf32
widget: create parent muxers lazily
...
We need to create a muxer eagerly for every
widget that has class actions, since those
are otherwise missed in the action lookup
on the muxer side. But otherwise, there is
no reason to create parent muxers aggressively,
as long as we update the parent muxers on
root/unroot.
This reduces the number of muxers we create
in widget-factory from 210 to around 50.
2019-06-23 17:59:41 +00:00
Matthias Clasen
996f011ed8
window: Fix the default value of mnemonics-visible
...
They aren't visible, so why should the property
be TRUE?
2019-06-23 10:59:17 -04:00
Timm Bäder
0611370a5f
Merge branch '362-gtk-fileopen-dialog-need-filetype-mime-sort-option-2_GTK4' into 'master'
...
GtkFileChooser: add a sortable "Type" column
Closes #362
See merge request GNOME/gtk!874
2019-06-23 07:58:26 +00:00
Matthias Clasen
1be850d806
Add includes back to gtk4.types.in
...
Without these, gtkdoc-scangobj doesn't work. Who knew!
2019-06-22 21:42:30 -04:00
Matthias Clasen
b903d8ee33
Add another action test
...
Test that disabled actions aren't activated.
2019-06-23 01:39:34 +00:00
Matthias Clasen
8fd968e5bf
action muxer: Don't activate disabled actions
...
We really shouldn't.
2019-06-23 01:39:26 +00:00
Matthias Clasen
366e8da927
Add another test for action inheritance
...
This one checks for precedence between
class actions and inserted groups.
2019-06-22 23:30:22 +00:00
Matthias Clasen
203d612afd
widget: Clarify docs for action inheritance
...
Spell out how action inheritance works wrt to prefixes.
2019-06-22 19:17:30 -04:00
Matthias Clasen
135580108a
Add a test for action introspection
...
This checks that gtk_widget_query_action works.
2019-06-22 23:11:49 +00:00
Matthias Clasen
4515604511
Add another test for action inheritance
...
Check that overlapping prefixes are handled
correctly.
2019-06-22 23:00:42 +00:00
Matthias Clasen
ad4a81e9df
action muxer: Change inheritance
...
Previously, we would not look any further for
an action once we found a match for the prefix,
defining inheritance by groups. Change this to
inheritance for individual actions, since we
are moving towards individual actions as the
main ingredient in GTKs action support.
2019-06-22 22:51:23 +00:00
Matthias Clasen
95e5472ade
action muxer: Remove unused api
2019-06-22 22:38:14 +00:00
Matthias Clasen
06ff4a8b6f
textview: Stop using action muxer needlessly
...
This lets us drop some private api.
2019-06-22 22:34:26 +00:00
Matthias Clasen
1f0904d3df
widget: Teach query_action about property actions
...
This might be useful for documentation purposes.
2019-06-22 17:04:01 -04:00
Matthias Clasen
35a88c1440
widget: Rename a function
...
set_enabled is shorter and more to the point
than enabled_changed, now that we no longer have
a callback to query the state.
Adapt all callers.
2019-06-22 17:03:51 -04:00
Matthias Clasen
d1f4068b94
Replace stateful actions by property actions
...
The only cases of stateful actions we've seen
so far have been boolean properties, and we
don't really want to add much state handling
API, so lets just go with property actions
for now.
Adapt the only user in GtkText.
2019-06-22 17:03:38 -04:00
Matthias Clasen
7e73da5f73
widget: Add parameter type back to install_action
...
Adapt all callers.
2019-06-22 16:48:16 -04:00
Nelson Benítez León
c789a39660
GtkFileChooser: add a sortable "Type" column
...
along with a new 'type-format' setting that allows
to choose the output format for the "Type" column.
The options implemented for this setting are:
'mime' : Output from g_content_type_get_mime_type().
'description' : Output from g_content_type_get_description().
'category' : It uses the corresponding generic icon
of the mime type to group by categories (aka basic types).
This produces a more compact output than previous options,
and allows for type families to be grouped together, so eg.
after sorting by "Type" column, jpeg and png images will
be placed together, or the various types of archiver files
will also be grouped together.
This format was copied from and currently used by Nautilus
list view, so we also improve consistency with Nautilus.
Bugzilla entry for Nautilus implementation is:
https://bugzilla.gnome.org/show_bug.cgi?id=683722
The list of type families or categories can be checked on:
https://developer.gnome.org/icon-naming-spec/#mimetypes
This 'category' format is set as default.
Issue #362
2019-06-22 13:22:59 -04:00
Matthias Clasen
3c6045e300
css: Fix some doc typos
2019-06-22 09:49:50 -04:00
Matthias Clasen
9389768a17
Add GTK_CSS_PARSER_WARNING_UNIMPLEMENTED
...
gtk-doc was complaining about it missing,
and it is used in some ifdefed code.
2019-06-22 09:48:34 -04:00
Matthias Clasen
412006ad23
Add owner types for widget actions
...
This lets us filter out actions from parent classes
when introspecting.
2019-06-22 09:38:30 -04:00
Matthias Clasen
ea456b80da
Make actions minimally introspectable
...
This will let us autogenerate some docs for
actions, in the future.
2019-06-21 22:47:40 -04:00
Matthias Clasen
152eabbaba
widget actions: Add an explicit state type
...
Make the state type part of the API for installing
stateful widget actions. That lets us introspect it.
Update all callers.
2019-06-21 22:47:40 -04:00
Matthias Clasen
9be0b3d76f
application: Stop extracting accels from menus
...
This functionality has been superseded by
gtk_application_set_accels_for_action in GTK3,
and we don't want to carry it forward in GTK4.
2019-06-21 22:47:40 -04:00
Goran Vidović
27644dc573
Update Croatian translation
2019-06-21 23:38:11 +00:00
Goran Vidović
41595cf336
Update Croatian translation
2019-06-21 22:40:38 +00:00
Goran Vidović
8f3fb4109f
Update Croatian translation
2019-06-21 22:06:32 +00:00
Goran Vidović
417a70b096
Update Croatian translation
2019-06-21 11:17:40 +00:00
Goran Vidović
6f82fd8b2e
Update Croatian translation
2019-06-21 10:49:10 +00:00
Daniel Mustieles
53d43dff46
Updated Spanish translation
2019-06-21 10:04:41 +02:00
Matthias Clasen
3ef8af3be9
Add a test for GtkText actions
...
Check that the class actions are there and work.
2019-06-21 03:58:21 +00:00
Matthias Clasen
fe6507f875
Add a test for gtk_widget_insert_action_group
...
This tests that action group inheritance
behaves as expected.
2019-06-21 03:58:13 +00:00
Matthias Clasen
9b0d87c5a7
window: Cosmetics
2019-06-21 02:55:27 +00:00
Matthias Clasen
a515fca63f
inspector: Fix actions visibility
...
We need to always hide the page when setting
an object, otherwise the initial visibility
sticks.
2019-06-20 22:49:22 -04:00
Matthias Clasen
b6baa15e0a
inspector: Use event controller names
...
Use these in the same place we use widget names.
2019-06-20 22:48:42 -04:00
Matthias Clasen
955ae40cd6
event controller: Add a name property
...
This helps identifying controllers in the inspector.
2019-06-20 22:48:33 -04:00
Matthias Clasen
dee9e40ad3
Build fix
2019-06-20 22:47:35 -04:00
Matthias Clasen
a933a9bc79
Fix initial mnemonic visibility
...
We were showing mnemonics initially, which is not desired.
2019-06-21 02:38:05 +00:00
Matthias Clasen
6a4a082660
main: Move visible mnemonics handling
...
No need to special-case this anymore; we can use
a regular event controller in GtkWindow for this.
2019-06-21 02:37:51 +00:00
Matthias Clasen
a7cdcdf92c
main: Move visible focus handling
...
No need to special-case this anymore; we can use
a regular event controller in GtkWindow for this.
2019-06-21 02:37:12 +00:00
Daniel Boles
a7a0a34da1
Overlay: Document overlay children aren't measured
...
Some users expect that the Overlay will automatically request enough
size for its overlay children as well as its main child. It doesn't,
because it's just a GtkBin. Add a short paragraph pointing that out.
Close https://gitlab.gnome.org/GNOME/gtk/issues/1939
2019-06-20 21:41:59 +01:00
Efstathios Iosifidis
299bd5fa93
Update Greek translation
2019-06-20 20:26:15 +00:00
Efstathios Iosifidis
c25e948375
Update Greek translation
2019-06-20 20:10:21 +00:00
Daniel Boles
a03e531772
FileChooserButton: Document the CSS nodes & class
...
The only glancing mention of this we had was that GtkButton mentioned it
in passing when discussing how `button` could get contextual classes,
and even that's not relevant in master anymore... so drop it from there.
2019-06-20 20:51:37 +01:00
Daniel Mustieles
1420408858
Updated Spanish translation
2019-06-19 10:10:08 +02:00
Daniel Mustieles
4414e7ec7b
Updated Spanish translation
2019-06-19 10:09:03 +02:00
Daniel Boles
217f9ea3b8
ListBox: Document buildable child type placeholder
...
andyholmes on IRC asked about this and it wasn't documented, so fix that
2019-06-18 21:45:08 +01:00
Daniel Boles
ab7b9d882e
Window: Hyperlink to GtkBuildable from its section
2019-06-18 21:45:08 +01:00
Benjamin Otte
4a19bab5b3
gsk: Fix annotations for ref()/unref()
2019-06-18 15:58:49 -04:00
Benjamin Otte
27d6276212
bindings: Make gtk_binding_entry_add_signall() private
...
This function needs a replacement and that will appear after
refactorings.
2019-06-18 15:54:27 -04:00
Benjamin Otte
d8d5cc9788
bindings: Hide structs
2019-06-18 15:54:07 -04:00
Benjamin Otte
2687a2eb8d
bindings: Remove unused member variables
2019-06-18 15:53:48 -04:00
Benjamin Otte
c0bbfd950d
x11: Actually call the finished func when finishing
...
Copy/paste madness was calling the status func...
2019-06-18 15:53:18 -04:00
Benjamin Otte
d541aed165
testgtk: Remove unused code
...
This code has been doing nothing since 2010 when the optionmenu was
removed in 274395063a .
2019-06-18 15:53:01 -04:00
Benjamin Otte
c2ac141031
contentformats: Fix doc typo
2019-06-18 15:50:53 -04:00
Matthias Clasen
cdee8270e2
Merge branch 'widget-class-actions-2' into 'master'
...
Widget class action
See merge request GNOME/gtk!948
2019-06-18 19:10:45 +00:00
Matthias Clasen
6581d66652
Docs: expand actions chapter
...
Mention widget class actions and non-global actions
in various places.
2019-06-18 14:50:24 -04:00
Matthias Clasen
7dbeee5d50
color chooser widget: Use the new action machinery
...
Port GtkColorChooserWidget to use widget class actions.
Note that this also changes the names of
the GtkColorChooserWidget actions away from a generic
"context" prefix.
2019-06-18 14:48:02 -04:00
Matthias Clasen
01e89f9142
link button: Use the new action machinery
...
Port GtkLinkButton to use widget class actions.
Note that this also changes the names of
the GtkLinkButton actions away from a generic
"context" prefix.
2019-06-18 14:47:33 -04:00
Matthias Clasen
dafb7054a1
window: Use the new action machinery
...
Change the default.activate action to use the
new action machinery.
2019-06-18 14:47:33 -04:00
Matthias Clasen
04bace1982
textview: Use the new action machinery
...
Port GtkTextView to use widget class actions.
Note that this also changes the names of
the GtkTextView actions away from a generic
"context" prefix.
2019-06-18 14:47:33 -04:00
Matthias Clasen
90701cb655
label: Use the new action machinery
...
Port GtkLabel to use widget class actions.
Note that this also changes the names of
the GtkLabel actions away from a generic
"context" prefix.
2019-06-18 14:47:33 -04:00
Matthias Clasen
ccccaa2681
password entry: Adapt to action name change
...
Also fix updating the icon when changing visibility
via the context menu.
2019-06-18 14:47:33 -04:00
Matthias Clasen
421e9c3502
text: Use the new action machinery
...
Port GtkText to use widget class actions.
Note that this also changes the names of
the GtkText actions away from a generic
"context" prefix.
2019-06-18 14:47:33 -04:00
Matthias Clasen
ef031e1a9d
Allow registering actions per-class
...
Add a facility to register and install actions
at class init time. The intended use for these
actions is for
a) context and other model-based menus
b) key bindings
Most of these actions are going to be stateless,
so add separate apis for the simple and stateful
cases.
We avoid creating an action group for these by
teaching the action muxer about these actions.
The action muxer also maintains the enabled
state for these actions.
2019-06-18 14:47:33 -04:00
Matthias Clasen
9b62da10e6
Give the action muxer a widget
...
This will be used in the future to obtain
widget class actions.
2019-06-18 06:12:50 -04:00
Jakub Steiner
aa6f5dae5a
Adwaita: tone down infobars
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1957
2019-06-18 10:25:54 +02:00
Matthias Clasen
0b1efebb39
Merge branch 'egl-config-8888' into 'master'
...
wayland: Explicitly require RGBA8888
See merge request GNOME/gtk!944
2019-06-17 17:03:21 +00:00
Matthias Clasen
bbea1cc841
wayland: Explicitly require RGBA8888
...
Its the format we expect to have. If we want to
support 10-bit visuals at some point, that should
be an explicit decision.
2019-06-17 12:41:01 -04:00
Matthias Clasen
97ba872ef3
Merge branch 'matthiasc-for-master' into 'master'
...
Matthiasc for master
See merge request GNOME/gtk!943
2019-06-17 03:26:35 +00:00
Matthias Clasen
a5c327bb02
popover: Drop unused api
...
The inspector is no longer using this
list model, so drop the api.
2019-06-16 23:03:34 -04:00
Matthias Clasen
bda5a8214b
inspector: Don't duplicate popovers
...
Popovers are now regular children in the widget
tree, no need to duplicate them as toplevels
in the object tree.
2019-06-16 23:03:27 -04:00
Matthias Clasen
3ad8797068
inspector: Add a refresh button for actions
...
Action state updates may not always be precise.
2019-06-16 23:03:19 -04:00
Matthias Clasen
2457ed03c2
inspector: Fix centering of subtitles
2019-06-16 23:03:12 -04:00
Piotr Drąg
4623642925
Update Polish translation
2019-06-16 13:34:36 +02:00
Matthias Clasen
75713a9e47
Merge branch 'matthiasc-for-master' into 'master'
...
Matthiasc for master
See merge request GNOME/gtk!942
2019-06-16 01:59:58 +00:00
Matthias Clasen
cc667926d6
Drop gtk_widget_get_action_group
...
Ths api exposes too much of the internal
action muxer setup; we want to add actions
to the muxer without an action group.
2019-06-15 21:41:11 -04:00
Matthias Clasen
bc56860fa1
places sidebar: Stop using gtk_widget_get_action_group
...
We create this action group ourselves,
we can keep track of it.
2019-06-15 21:41:03 -04:00
Matthias Clasen
820929958d
file chooser: Stop using gtk_widget_get_action_group
...
We create this action group ourselves,
we can keep track of it.
2019-06-15 21:40:55 -04:00
Matthias Clasen
72d306c132
entry: Remove hacky code
...
We can leave it up to apps to not set less-than-useful
combinations, such as show-emoji-icon, but a no-emoji
input hint.
2019-06-15 21:40:50 -04:00
Matthias Clasen
9bb2d1eb5c
widget: Remove gtk_widget_list_action_prefixes
...
This function was added just for the inspector,
and is not used there anymore. Drop it.
2019-06-15 21:40:38 -04:00
Matthias Clasen
d2e0d3222f
widget: Cosmetics
2019-06-15 21:40:33 -04:00
Matthias Clasen
44970b5182
inspector: Fix actionable handling
2019-06-15 21:40:28 -04:00
Matthias Clasen
00c828e752
inspector: Redo the action page
...
Instead of iterating action groups manually,
just show what the action muxer provides. This
gives an accurate view of what actions are
available in a widgets context, and saves us
the trouble of juggling prefixes manually.
2019-06-15 21:40:22 -04:00
Matthias Clasen
3b565d7f6e
action muxer: cosmetics
2019-06-15 21:40:17 -04:00
Matthias Clasen
db7f0189dd
action muxer: Add some convenience api
...
Instead of duplicating this code in multiple places,
add an api to look up an action group for a prefixed
name, and return the unprefixed name at the same time.
2019-06-15 21:40:12 -04:00
Matthias Clasen
d2a794b411
menu tracker item: Improve logging
...
Pass the action name along, so we can put
it in log messages.
2019-06-15 21:40:06 -04:00
Matthias Clasen
8cfdd6c591
Remove an accidental addition
2019-06-15 00:51:46 -04:00
Daniel Boles
732630e0e2
testsuite/a11y/about: Fix exp. output per 31066a69
...
cherry-pick of commit e56a9e6ce5
Close #1949
2019-06-14 18:05:06 +01:00
Matthias Clasen
4c94f7b217
Merge branch 'wip/chergert/profiler-event-marks-4' into 'master'
...
profiler: add profiler marks for surface event delivery
See merge request GNOME/gtk!934
2019-06-13 22:28:37 +00:00
Christian Hergert
4d06ef5a39
profiler: add profiler marks for surface event delivery
...
This gives us marks to track the duration of processing certain types of
GdkEvent. It also provides some basic struct information in cases where
having that information would likely be useful for debugging.
2019-06-13 14:42:51 -07:00
Matthias Clasen
7815d0e933
Merge branch 'gtkprintunixdialog-ui' into 'master'
...
Slightly ease page range entry in PrintUnixDialog
Closes #591
See merge request GNOME/gtk!922
2019-06-13 21:11:56 +00:00
Guillaume Maudoux
76b2f97602
PrintUnixDialog: Slightly ease page range entry
...
Page ranges entry can now be focused directly, and will automatically
select the page ranges button when doing so.
This avoids the sometimes counter-intuitive previous behavior where the
entry was automatically focused when toggling the radio button, but the
user may still find themselves clicking uselessly in the text entry
because they scheduled it in their mental model.
2019-06-13 21:11:56 +00:00
Balázs Meskó
2dfda67e4a
Update Hungarian translation
2019-06-13 20:13:42 +00:00
Matthias Clasen
1d92fb1013
print operation: Reinstate the priv pointer
...
The attempt to drop it in 6a669265ac
was incomplete, and non-working.
2019-06-13 15:58:07 -04:00
Matthias Clasen
f1fe54f337
headerbar: Fix fallback appmenu
...
We were using menubuttons here in a way that
does not work anymore. Make it work again.
2019-06-13 19:39:45 +00:00
Piotr Drąg
0740445d19
Update POTFILES.in
2019-06-13 18:54:42 +02:00
Matthias Clasen
d5f7d853de
Merge branch 'message-dialog-title' into 'master'
...
Message dialog title
See merge request GNOME/gtk!894
2019-06-13 16:45:07 +00:00
Matthias Clasen
1e3ec7c1f9
message dialog: Stop hardcoding title styles
...
Instead, use a new title style class to let
themes influence title formatting. Note that
the theme style will be overridden if the
application uses markup for presentation,
such as <b> or <i>.
2019-06-13 16:29:29 +00:00
Matthias Clasen
121011b05b
Merge branch 'wip/matthiasc/context-menu' into 'master'
...
context menu api
See merge request GNOME/gtk!539
2019-06-13 12:17:54 +00:00
Matthias Clasen
6f12c39a04
color chooser: Use a popover menu
...
Make the color chooser use a popover menu
and actions.
2019-06-13 11:59:51 +00:00
Matthias Clasen
6452aeef3c
link button: Use new context menu api
2019-06-13 11:59:51 +00:00
Matthias Clasen
10ce2076f9
treeview: Stop disabling the context menu
2019-06-13 11:59:51 +00:00
Matthias Clasen
0509f8cff3
places sidebar: remove populate-popup
2019-06-13 11:59:51 +00:00
Matthias Clasen
3dd7b41077
cell renderer: remove populate-popup
2019-06-13 11:59:51 +00:00
Matthias Clasen
fcf92eb6e7
widget-factory: Redo the context menu example
...
Redo the context menu on the page1 text view in
terms of actions.
2019-06-13 11:59:51 +00:00
Matthias Clasen
441a9dfa80
gtk-demo: Rewrite the search entry demo
...
Port this from ::populate-popup to the new context
menu api. At the same time, fix some parts of the demo
that were broken since it was changed to use GtkStearchEntry.
2019-06-13 11:59:50 +00:00
Matthias Clasen
f12057b9dc
textview: Support toggle actions
...
When creating a touch selection bubble, create toggle
buttons for toggle actions.
2019-06-13 11:59:50 +00:00
Matthias Clasen
037e205da0
textview: Redo context menus
...
Drop the ::populate-popup signal and implement
the new context menu api.
2019-06-13 11:59:50 +00:00
Matthias Clasen
964b2574cf
label: Redo context menus
...
Drop the ::populate-popup signal and implement
the new context menu api. Things are a bit more
complicated here, since we have different menus
on links and selectable text.
2019-06-13 11:59:50 +00:00
Matthias Clasen
1b21d6ecba
password entry: Adapt to new context menu api
2019-06-13 11:59:50 +00:00
Matthias Clasen
6030465cdf
text: Add a context action for visibility
...
This will be used by GtkPasswordEntry for amending
the context menu.
2019-06-13 11:59:50 +00:00
Matthias Clasen
a28d5d1888
text, entry: Implement context menu api
...
Drop the ::populate-popup signal and implement
the new context menu api.
2019-06-13 11:59:50 +00:00
Matthias Clasen
cbc0a8447d
popover menu: Unify hover and focus
...
Menus traditionally don't have separate
hover and focus locations. Make the same
change here that we already did for
popover menubars: Track the active item
and set its selected state. Both keynav
and mouse change the active item.
2019-06-12 21:50:46 -04:00
Matthias Clasen
a7e121384c
popover menubar: Use a pseudo state
...
Use :selected instead of .active to
mark the active item.
2019-06-12 21:50:37 -04:00
Matthias Clasen
6c7cb8d862
popover: Improve the move-focus fix
...
Avoid breaking menubar keynav (we still
need the focus change to be propagated
down from the root).
2019-06-12 21:50:29 -04:00
Matthias Clasen
5b0002a9dc
popover menu bar: Don't leave active item behind
...
When the mouse leaves the bar, turn the lights off.
2019-06-12 21:50:22 -04:00
Matthias Clasen
ed9b874d2e
wayland: Fix the popover race workaround
...
The Wayland backend has a hack to work around
a race with popover mapping: If the surface size
changes before the initial configure, we hide and
show the surface. Unfortunately, the code was doing
this in a way that is externally observable (by
listening for surface state changes), and popovers
were observing it and hiding themselves in response.
Avoid this by not going through the GDK frontend
code for this.
2019-06-12 21:50:16 -04:00
Matthias Clasen
c16f10abea
popover menu: Add our own activate key bindings
...
This solves issues with parent widgets, like combobox
or entry, installing their own bindings for these
keys, overriding the activation behavior that
is implemented in gtkwindow.
2019-06-12 21:50:08 -04:00
Matthias Clasen
d0a38c677c
popover: Bring back the activate-default signal
...
As long as key bindings only work via action
signals, we need a signal here in order to
override the Enter/Space bindings for popover
menus.
2019-06-12 21:49:59 -04:00
Matthias Clasen
a56f99355a
popover menu: Add our own focus key bindings
...
This solves issues with parent widgets, like textview
or scrolled window or combobox installing their own
bindings for these keys, overriding the focus behavior
that is implemented in gtkwindow.
2019-06-12 21:49:52 -04:00
Matthias Clasen
5df592d33e
color editor: Don't leak adjustments
2019-06-12 21:38:39 -04:00
Matthias Clasen
aa69ca4ef4
color editor: Fix numerical oddities
...
This is probably ue to a pass through gtk-builder-tool.
2019-06-12 21:38:28 -04:00
Matthias Clasen
28c40a4c3d
Merge branch 'wip/dboles/scrolledwindow-annotations' into 'master'
...
ScrolledWindow: Replace deprecated annotations; add (nullable) to set_[hvadjustment]()
See merge request GNOME/gtk!868
2019-06-12 16:18:36 +00:00
Emmanuele Bassi
0269d670b5
Merge branch 'layout-avoid-native' into 'master'
...
layout managers: Handle native children
See merge request GNOME/gtk!926
2019-06-12 11:18:05 +00:00
Jakub Steiner
af7b3df659
Adwaita: update treeview progressbars
...
- The style resembles Clearlooks and is way outdated.
https://gitlab.gnome.org/GNOME/gtk/issues/1938
2019-06-12 12:40:41 +02:00
Matthias Clasen
f5ce5a0abd
Merge branch 'wip/chergert/profiler-gtk4-dbus-api' into 'master'
...
gtkapplication: track changes to profiler D-Bus API
See merge request GNOME/gtk!919
2019-06-12 01:04:53 +00:00
Matthias Clasen
21a5c7f0eb
layout managers: Handle native children
...
Add a convenience api to skip children
that should not be included in the layout,
and call gtk_native_check_resize on all
native children outside of the vfunc.
2019-06-11 14:52:30 -04:00
Matthias Clasen
f03c7c379a
text: Fix selection bubble handling
...
Same fix as the previous commit.
2019-06-11 17:46:01 +00:00
Matthias Clasen
67c82e8bd9
text view: Fix selection bubble handling
...
We can't call gtk_widget_destroy on something
that wasn't added as a child to a container -
it ends up calling gtk_container_remove, which
asserts if it doesn't find the child.
2019-06-11 17:45:55 +00:00
Matthias Clasen
37090a7ab4
popover menu: Set autohide
...
This is the expected behavior for menus.
2019-06-11 17:38:22 +00:00
Matthias Clasen
714eadfdb5
Merge branch 'focusable-containers' into 'master'
...
Focusable containers
See merge request GNOME/gtk!929
2019-06-11 17:36:40 +00:00
Matthias Clasen
f63cec30a4
Add a focus-chain test for focusable containers
2019-06-11 17:15:02 +00:00
Matthias Clasen
ddee5cfc43
widget: Improve focus handling
...
Make gtk_widget_real_focus do the right
thing for focusable widgets with children.
A case where this is (now) relevant is
an entry with a context popover.
2019-06-11 17:14:49 +00:00
Matthias Clasen
1d93e38456
testsuite: Be robust against broken focus
...
When we start cycling on a subset, abort
after a while.
2019-06-11 17:14:42 +00:00
Matthias Clasen
cfebff5dcf
testsuite: more focus-chain output
...
Differentiate between wrapping around and
stopping at the end of the focus chain.
Update the existing tests, and add two
new ones where the difference matters.
2019-06-11 14:56:38 +00:00
Matthias Clasen
d2cde1fb2d
Merge branch 'focus-chain-test' into 'master'
...
Focus chain test
See merge request GNOME/gtk!927
2019-06-11 14:28:04 +00:00
Matthias Clasen
436d7cc0d1
Add a focus chain test
...
Add a test that enumerates the focus chain by
emitting move-focus repeatedly, and compares
the result to expected output.
The test expects a ui file and a reference
file as input. The reference file can be created
using the --generate option.
2019-06-11 10:14:23 -04:00
Matthias Clasen
31066a697b
window: Fix focus wraparound
...
If tab focus falls off the end, and we have an empty headerbar,
we end up with window->focus == NULL. Don't let that happen
2019-06-11 10:14:14 -04:00
Daniel Mustieles
4c65868643
Updated Spanish translation
2019-06-11 12:56:08 +02:00
Yuras Shumovich
0e075a876f
Update Belarusian translation
2019-06-10 17:19:08 +00:00
Matthias Clasen
f1b9e7c23b
Rename a bunch of private headers
...
We want to follow the convention that all
private headers have names ending in private.h
2019-06-10 03:10:13 +00:00
Matthias Clasen
9182f0fe9d
Adwaita: Make selection in menus visible
2019-06-10 02:27:56 +00:00
Benjamin Otte
ec5854bb9b
Merge branch 'for-master' into 'master'
...
testsuite: Make creating the output dir not racy
Closes #1942
See merge request GNOME/gtk!924
2019-06-09 21:35:15 +00:00
Benjamin Otte
062244ab71
testsuite: Make creating the output dir not racy
...
Fixes #1942
2019-06-09 23:17:10 +02:00
Georges Basile Stavracas Neto
df8340e0cf
Merge branch 'gbsneto/install-gtkpopovermenubar-h' into 'master'
...
Install gtkpopovermenubar.h
See merge request GNOME/gtk!923
2019-06-09 18:50:43 +00:00
Georges Basile Stavracas Neto
c82dcc8e3a
build: Install gtkpopovermenubar.h
...
It is not listed in 'gtk_public_headers', so it is not
installed, and breaks anyone including gtk.h
2019-06-09 15:40:55 -03:00
Matthias Clasen
2248980c6b
Merge branch 'new-style-menu' into 'master'
...
New style menu
See merge request GNOME/gtk!916
2019-06-09 18:13:55 +00:00
Matthias Clasen
3c1163e7f4
popovermenubar: Add docs
2019-06-09 17:42:11 +00:00
Matthias Clasen
8e5985d05e
Typo fix
2019-06-09 17:42:10 +00:00
Matthias Clasen
17ec958f30
Rename GtkPopoverBar to GtkPopoverMenuBar
...
Clarity over beauty.
2019-06-09 17:42:07 +00:00
Matthias Clasen
65f71cdbae
popover bar: Add setters
...
Add setters/getters for the menu-model property.
2019-06-09 17:40:51 +00:00
Matthias Clasen
d936967b7a
Adwaita: Adapt to popover bar changes
...
Add some initial styling for popover bars
and popover menus. This needs revision.
2019-06-09 17:40:08 +00:00
Matthias Clasen
d78b6451b3
popoverbar: Use a box layout
...
Its the cool way to do layout these days.
2019-06-09 17:40:00 +00:00
Matthias Clasen
bc4f744562
main: Warn if GDK sends us bad focus events
...
The new rule for focus events from the windowing
system is: We only want them for toplevels. If you
put focus on popups, we don't want to know about
it, and you still need to deliver key events to
the toplevel.
2019-06-09 17:38:54 +00:00
Matthias Clasen
6342287288
popover menu: Disappear on focus out
...
We try to keep focus inside by wrapping arrow keynav.
But focus can still escape. If it does, we want to
disappear, like any good menu should.
2019-06-09 17:38:54 +00:00
Matthias Clasen
143ea34ca1
popover bar: Don't grab focus away from open menus
...
It makes them unhappy and disappear.
2019-06-09 17:38:54 +00:00
Matthias Clasen
8452b9a13d
Expand focus tests
2019-06-09 17:38:54 +00:00
Matthias Clasen
abc9fef615
popover menu: Implement focus
...
We want to cycle around for up/down arrows.
2019-06-09 17:38:54 +00:00
Matthias Clasen
18fd512c80
popover bar: Implement focus
...
This is the proper way to do focus.
We want to cycle around for left/right arrows.
2019-06-09 17:38:54 +00:00
Matthias Clasen
f82898f393
model button: Make left/right switch submenus
...
This is expected menu keynav behavior: If the
focused item has a submenu, open it on right
arrow press. And if we are in a submenu title,
make left arrow press close it.
2019-06-09 17:38:54 +00:00
Matthias Clasen
ae8373f116
menu button: Use proper focus api
...
Widgets are supposed to call gtk_widget_child_focus.
Calling internal focus_move function directly makes
us skip the childs ::focus() implementation, which
is where the magic happens.
2019-06-09 17:38:54 +00:00
Matthias Clasen
f01e5d2267
popover bar: Add arrow keynav
...
Make left/right cycle the active item
among the bars children. Separate the styling
for the active item from :hover, since it is
a separate state, and only mixed up in menus
for historical reasons.
2019-06-09 17:38:54 +00:00
Matthias Clasen
f1eb0724bd
widget-factory: Move the popover bar to the ui file
2019-06-09 17:38:54 +00:00
Matthias Clasen
0d800acd40
popover bar: Add a model property
...
This makes it less annoying to use in ui files.
2019-06-09 17:38:54 +00:00
Matthias Clasen
3d56a89506
widget-factory: Don't use Return as accel
...
This is a bad idea, as it interacts badly with
general use of Return for activation.
2019-06-09 17:38:54 +00:00
Matthias Clasen
4ecaa754e2
popover bar: Break out items
...
These will grow enough functionality that its
worth having an object for it.
2019-06-09 17:38:54 +00:00
Matthias Clasen
6f689ec5b1
label: Fix mnemonic visibility handling
...
With non-widgets having children, we can no
longer assume that using gtk_container_forall
lets us walk the entire tree.
2019-06-09 17:38:54 +00:00
Matthias Clasen
d48a8fddab
widget factory: Add mnemonics in popovers
...
These don't work!
2019-06-09 17:38:54 +00:00
Matthias Clasen
407ab93b59
gdk: Always deliver key events to toplevels
...
This is just a hack to see that this works.
Eventually, the backends should do the right
thing.
2019-06-09 17:38:54 +00:00
Matthias Clasen
583c6a9072
popover bar: towards menubar-like behavior
...
Make the open popover follow the pointer.
2019-06-09 17:38:54 +00:00
Matthias Clasen
c1791d030a
widget: Ignore natives for picking
...
The natives transforms are not set up properly
to make this work, so ignore them here, for now.
This my need to be revisited later.
2019-06-09 17:38:54 +00:00
Matthias Clasen
d736778c2f
popover: Respect alignment for positioning
...
We lost the code that takes the halign of
the popover into account when positioning it.
Bring it back, since we want to use it for
popover menus.
2019-06-09 17:38:54 +00:00
Matthias Clasen
4d191aa0b5
widget factory: Redo the menubar with a model
...
No UI change intended, except for the fact that
actions don't do inconsistent states for checks
and radios.
2019-06-09 17:38:54 +00:00
Matthias Clasen
f91cc6c473
Introduce a popover bar
...
This is meant to grow into a menubar replacement
with popovers. For now, it is just a box of menubuttons,
and not very much like a menubar at all.
2019-06-09 17:38:54 +00:00
Matthias Clasen
609f1659bd
Rationalize popover menu apis
...
Make gtk_popover_new_from_model() return a GtkPopoverMenu,
rename it to gtk_popover_menu_new_from_model() and add
a relative_to argument to gtk_popover_menu_new().
Update all callers.
2019-06-09 17:38:54 +00:00
Matthias Clasen
724f315ae6
Stop exporting gtk_popover_bind_model
...
We can't improve popover menus as long as we
have to be able to work with any old popover
we're given. Remove this, so we can make
gtk_popover_new_from_model return a subclass.
2019-06-09 17:38:54 +00:00
Matthias Clasen
59ed4da717
box layout: Handle native children
...
These need to be skipped in measuring,
and we need to call gtk_native_check_resize
on them during allocation.
This was showing up as the new-style
context menu in widget-factory forcing
its relative-to box to grow when its
shown.
2019-06-09 17:38:53 +00:00
Matthias Clasen
640c7939ea
modelbutton: Sizing fixes
...
We only want to reserve indicator size if
there are any checks or radios in the popover.
Unfortunately, GtkIcon has a hardcoded min-size
of 16, defeating this use. Work around by
wrapping each indicator in a box, and showing/
hiding the actual indicator.
2019-06-09 17:38:53 +00:00
Matthias Clasen
0755491b77
widget factory: Add a context menu example
...
This is also taken from
https://gitlab.gnome.org/Teams/Design/os-mockups/blob/master/menus/menu-design-patterns.png
2019-06-09 17:38:53 +00:00
Matthias Clasen
698e39bcac
popover menu: Fix style classes
...
We want the same style classes that are produced
when creating a popover from a menu model.
2019-06-09 17:38:53 +00:00
Matthias Clasen
06470c2378
widget factory: Improve manual popover menu example
...
Set up the size group, so things line up.
2019-06-09 17:38:53 +00:00
Matthias Clasen
84243d0f55
widget-factory: Redo the new-style menu
...
Do this from a menu model first, since that
is easier to get right.
2019-06-09 17:38:53 +00:00
Matthias Clasen
e080f35d25
menu section box: Add style classes for display hints
...
This makes it easier to realize some of the new
styles for popover menus.
2019-06-09 17:38:53 +00:00
Matthias Clasen
3313322864
menu section box: Introduce more section variants
...
Allow display-hint to be circular-buttons or
inline-buttons, to produce variations of horizontal
button layouts.
2019-06-09 17:38:53 +00:00
Matthias Clasen
dd572ed10a
model button: Look up accels if needed
...
When we are not given an explicit accel (as is
the case when the popover is constructed from
a model), then look it up from the GtkApplication
at map time.
2019-06-09 17:38:53 +00:00
Matthias Clasen
fc3d3fb3af
model button: Show shortcuts
...
Most of the machinery for this is already
in place. We just need to add an accel property
to GtkMenuButton and pass it through.
2019-06-09 17:38:53 +00:00
Matthias Clasen
eda31dff5d
model button: Redo layout
...
Move checks to the left, and introduce a size group
to align things. The size group is provided by the
parent, using the new ::indicator-size-group property.
2019-06-09 17:38:53 +00:00
Matthias Clasen
b4aac42605
widget-factory: Add another popover menu example
...
This one is taken from
https://gitlab.gnome.org/GNOME/gtk/issues/1824
2019-06-09 17:38:53 +00:00
Matthias Clasen
30f6bea25f
model button: Drop centered, inverted properties
...
These properties were only useful for titles,
and we have a role for that now.
2019-06-09 17:38:53 +00:00
Matthias Clasen
fc6010be37
model button: Add a role for titles
...
This gets us out of using direct presentational
markup like 'inverted' and 'centered' and will
make it easier to play with different layout.
Use the new role when creating popover
menus from models.
2019-06-09 17:38:53 +00:00
Matthias Clasen
0d59ece4a4
model button: Small fixes
...
Make iconic model buttons work better.
2019-06-09 17:38:53 +00:00
Piotr Drąg
4494884f9a
Update POTFILES.skip
2019-06-09 17:29:12 +02:00
Christian Hergert
4a954a9a1c
gtkapplication: track changes to profiler D-Bus API
...
Recently, to make things more forward-portable, Sysprof and Mutter altered
the API for org.gnome.Sysprof3.Profiler. This tracks those changes.
2019-06-06 17:24:33 -07:00
Christian Hergert
868e13e471
config.h: fix stray #
2019-06-06 16:08:36 -07:00
Matthias Clasen
a10ce07437
Merge branch 'wip/chergert/set-va-marshallers' into 'master'
...
va_marshaller: add various va_marshallers
See merge request GNOME/gtk!917
2019-06-06 22:39:44 +00:00
Christian Hergert
828c36636c
va_marshaller: add various va_marshallers
...
We don't need to cover every case with a va_marshaller, but there are a
number of them that are useful because they will often only be connected
to by a single signal handler.
Generally speaking, if I opened into a file to add a va_marshaller, I just
set all of them.
2019-06-06 15:30:42 -07:00
Matthias Clasen
c168116e64
Merge branch 'wip/matthiasc/shared-glyph-cache' into 'master'
...
Share the glyph cache
See merge request GNOME/gtk!912
2019-06-05 12:10:24 +00:00
Matthias Clasen
0dcb71722a
Cosmetics
...
Rename some arguments, since atlases->atlases is awful.
2019-06-05 12:03:39 +00:00
Matthias Clasen
d90143d09c
texture atlas: Add a missing initialization
...
Pointed out by Timm.
2019-06-05 12:00:53 +00:00
Matthias Clasen
e7cb88b710
Merge branch 'theme-load' into 'master'
...
Add a theme loading benchmark
See merge request GNOME/gtk!913
2019-06-05 10:56:25 +00:00
Matthias Clasen
69016825aa
render node: Optimize type checks
...
The GSK_IS_RENDER_NODE macro is a bit silly,
and not worth having in g_return_if_fail checks
in trivial getters.
2019-06-05 04:25:43 +00:00
Matthias Clasen
e08bab012c
surface: Use surface->display directly
...
No need to go through a public getter
for internal uses.
2019-06-05 04:25:14 +00:00
Matthias Clasen
1a93ab053c
Add a theme loading benchmark
2019-06-05 04:20:31 +00:00
Matthias Clasen
e961943508
Fix a refcounting mishap
...
We were missing a ref, causing caches to go missing
when a window is opened twice.
2019-06-05 02:49:07 +00:00
Matthias Clasen
0aa9e16294
Bring brink skip_allocate
...
This was removed by accident in 580aa8204f ,
together with some no longer needed popover
special-casing.
2019-06-05 00:31:53 +00:00
Matthias Clasen
054b5216a1
Remove debug spew
2019-06-04 23:11:18 +00:00
Timm Bäder
ecb353f4af
Consider all offscreen drawings for the icon cache
2019-06-04 23:00:02 +00:00
Matthias Clasen
259bbdcb09
Share glyph and icon caches
...
Use the same texture atlases to back both
the glyph and icon caches, and unify their
sizes and management. Store big glyphs
in separate textures, so all atlases have
the same size. Tweak some of the eviction
parameters.
We share the caches across all GL contexts
on a display, unless the GSK_NO_SHARED_CACHES
env var is set.
2019-06-04 23:00:02 +00:00
Matthias Clasen
1f70bc4bf3
gdk: Create a global shared GL context
...
Create a global GL context that connects all
GL contexts on a display and lets us share textures
between them.
2019-06-04 23:00:02 +00:00
Matthias Clasen
7293fd517e
glyph cache: Stop storing driver and render
...
This is the first step towards sharing glyph
caches across renderers.
2019-06-04 23:00:02 +00:00
Matthias Clasen
c9cea36b37
gl: Use pad-extend for icon cache
...
Repeat the border pixels to avoid artifacts from
linear scaling.
2019-06-04 23:00:02 +00:00
Matthias Clasen
4020399439
gl: Use linear scaling for atlases
2019-06-04 23:00:01 +00:00
Matthias Clasen
efc31161f0
gl: Allow setting min/mag filter on textures
...
This will be used in the future.
Adapt all callers to pass GL_NEAREST for now.
2019-06-04 23:00:01 +00:00
Matthias Clasen
102cc1c8d3
gl: Add 1 pixel of padding in the icon cache
2019-06-04 23:00:01 +00:00
Matthias Clasen
2529385fe4
glyph cache: Reinstate 1 pixel padding
...
This is necessary to prevent bleeding.
2019-06-04 23:00:01 +00:00
Matthias Clasen
f37274dbb0
gl: Don't leak texture atlases
...
We need to free the texture atlases, and the
textures backing them.
2019-06-04 23:00:01 +00:00
Matthias Clasen
a3757936c1
gl: Free icon data
2019-06-04 23:00:01 +00:00
Matthias Clasen
adb5df020c
glyph cache: Clarify message
...
We have different kinds of caches now.
2019-06-04 23:00:01 +00:00
Timm Bäder
cf4ff56ca5
gl renderer: Add & use icon cache
...
Upload small icons all to the same texture atlas.
2019-06-04 23:00:01 +00:00
Timm Bäder
e2ffad7b07
glimage: Only support uploading one region
2019-06-04 23:00:01 +00:00
Timm Bäder
b74bb90c7d
gl renderer: Move texture atlas into its own file
...
We want to reuse the code later.
2019-06-04 23:00:01 +00:00
Timm Bäder
66b081dc9c
glglyphcache: Use stb_rect_pack for better glyph packing
2019-06-04 22:42:00 +00:00
Benjamin Otte
bb5871fd81
docs: Remove mention of queue_draw_area()
...
and queue_draw_region(). They're gone since 73650c6da2 .
2019-06-04 14:59:32 +00:00
Timm Bäder
4b3986ae1f
rendernodeimpl: Inline container_node_get_bounds into _new
...
It's the only caller of the function and we can avoid a second loop over
all child nodes this way.
2019-06-04 16:48:08 +02:00
Timm Bäder
ac333d712d
snapshot: Make append_node_internal transfer-full
...
There is only one case where we do *not* directly unref the node again
after calling this.
2019-06-04 16:48:08 +02:00
Benjamin Otte
5c0737e44c
Merge branch 'for-master' into 'master'
...
For master
See merge request GNOME/gtk!911
2019-06-04 04:24:28 +00:00
Benjamin Otte
098f182d8f
widget-factory: Show proper separators
2019-06-04 06:11:44 +02:00
Benjamin Otte
836635d1ae
builder: Allow values of type GType
...
In particular this allows setting the item-type property of GListStore.
2019-06-04 06:11:44 +02:00
Benjamin Otte
6a0e0031b1
builder: Make GListStore buildable
...
Treats GListStore like any other object and allows <child> to add items
to it.
2019-06-04 06:11:44 +02:00
Benjamin Otte
24effe45cc
testsuite: Add tests for printing/parsing transforms
2019-06-03 19:12:03 +02:00
Matthias Clasen
206970c1e8
Merge branch 'transform-tests' into 'master'
...
Transform tests
See merge request GNOME/gtk!910
2019-06-03 16:41:17 +00:00
Matthias Clasen
2f7047147d
gsk: Add some more transform tests
...
Tests around identity. Seems trivial, but
still managed to find a bug.
2019-06-03 16:20:38 +00:00
Matthias Clasen
4ed57449ba
gsk: Fix printing of identity transforms
...
These need to print as "none", otherwise
the parser does not accept them.
2019-06-03 16:20:38 +00:00
Matthias Clasen
d93fb5a3fa
Cosmetics
...
Fix up a variable name mismatch in GskTransform docs.
2019-06-03 16:15:16 +00:00
Matthias Clasen
0ab4a232b7
Move transform tests to the gsk suite
...
That is where they belong.
2019-06-03 16:10:09 +00:00
Benjamin Otte
4efa457a63
Merge branch 'for-master' into 'master'
...
rendernodeparser: Handle Cairo being stupid
See merge request GNOME/gtk!909
2019-06-03 15:45:20 +00:00
Timm Bäder
a1161456ff
GskTransform: NULL is a valid transform
2019-06-03 17:36:31 +02:00
Benjamin Otte
d81cf5a443
rendernodeparser: Handle Cairo being stupid
...
Cairo writes to finished streams, so we have to make sure to keep the
stream around to allow it to do that.
2019-06-03 17:22:11 +02:00
Timm Bäder
a0cb68283d
gl renderer: Dont' memcmp() a GskTransform
2019-06-03 17:07:26 +02:00
Timm Bäder
88344ccf4e
widget: Unref priv->{allocated_,}transform
2019-06-03 17:03:02 +02:00
Timm Bäder
d228f4bb76
gl renderer: Don't ref transform twice
...
That's gonna leak it otherwise.
2019-06-03 17:03:02 +02:00
Timm Bäder
3a49c0eb2f
glyphcache: Don't leak hashtables
2019-06-03 17:03:02 +02:00
Timm Bäder
05ca772631
GskTransform: Ignore identity transforms
...
We often end up with e.g. a scale of 1 or a translation by 0/0. Ignore
those transforms since they don't do anything.
2019-06-03 17:03:02 +02:00
Timm Bäder
efe9bba343
gl renderer: Ref transform before using it
...
Fixes #1929
2019-06-03 17:03:02 +02:00
Timm Bäder
fb1f929c38
gl renderer: Dont' unnecessarily to_matrix transforms
2019-06-03 17:03:02 +02:00
Matthias Clasen
6560a35c9c
Merge branch 'menu-sizing' into 'master'
...
menu: Update scrollbar policy
Closes #1930
See merge request GNOME/gtk!908
2019-06-03 14:57:46 +00:00
Matthias Clasen
c7ccaa5ef2
menu: Update scrollbar policy
...
We want to avoid sizing problems for small menus
due to the vertical scrollbar imposing a min-height on
its slider.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1930
2019-06-03 14:49:13 +00:00
Benjamin Otte
3ae15aad16
Merge branch 'cherry-pick-ae2ef147' into 'master'
...
gtk: fix weed_out_neg_zero() in spinbutton and scale
See merge request GNOME/gtk!906
2019-06-03 11:29:54 +00:00
Daniel Mustieles
42e0c9892c
Updated Spanish translation
2019-06-03 12:26:36 +02:00
Matthias Clasen
286fd742a6
Merge branch 'glyph-memdup' into 'master'
...
gl: Avoid a memdup in glyph upload
See merge request GNOME/gtk!907
2019-06-03 03:07:31 +00:00
Matthias Clasen
3c6c07e94d
gl: Avoid a memdup in glyph upload
...
We don't need to dup the memory here if we
set up the image surface properly. This won't
matter for most glyphs, but some of them can
be big.
2019-06-03 02:47:52 +00:00
Matthias Clasen
a2c3c65729
Merge branch 'big-glyphs' into 'master'
...
Big glyphs
See merge request GNOME/gtk!904
2019-06-03 02:28:24 +00:00
Matthias Clasen
92994bac6c
Save gsk output from ci
2019-06-03 02:09:46 +00:00
Matthias Clasen
3788e1dea7
testsuite: Pass --output for gsk tests
...
We want to keep the output from ci runs.
So we now write the .out.png and .diff.png
files to build/testsuite/gsk/compare/$RENDERER.
2019-06-03 02:09:04 +00:00
Matthias Clasen
e0bf301d34
gsk tests: Add an --output option
...
This will be used to save artifacts in ci.
2019-06-03 02:09:04 +00:00
Matthias Clasen
e0803f039f
gl: Fix glyph cache aging
...
The logic here seems faulty. We want to keep
a timestamp that tells us when the glyph was
last used, so always update the timestamp.
And whenever we use a glyph, it turns 'young'
again, so remove it from the old pixels
accounting.
The (MAX_AGE, MAX_AGE+CHECK_INTERVAL) interval
is only relevant to prevent us from turning
a cached glyph old more than once, and that
is already taken care of.
2019-06-03 02:09:04 +00:00
Matthias Clasen
3059d76b4c
Add code to dump out the glyph caches
2019-06-03 02:09:04 +00:00
Matthias Clasen
0a09b8dca7
gl: Improve cache dropping code
...
There was a TODO here to avoid iterating the
glyphs multiple times, so avoid that. And
actually log the number of glyphs that was dropped.
2019-06-03 02:09:04 +00:00
Matthias Clasen
ad2a1c92ce
gl: Improve glyph cache logging
...
Use g_message to be consistent, and make the
message fit a line.
2019-06-03 02:09:04 +00:00
Matthias Clasen
fd4182f5c5
gl: Log creation of glyph caches
...
Now that they can be of different sizes, this
is somewhat interesting.
2019-06-03 02:09:04 +00:00
Matthias Clasen
c7387a8e7f
gsk: Test huge glyphs
...
These don't fit in the glyph cache.
2019-06-03 02:08:36 +00:00
Matthias Clasen
a64dfb1dfc
gl: Make the glyph cache survive big glyphs
...
Create an extra atlas of just the right size for
each huge glyph. Not pretty, but works.
2019-06-03 02:08:36 +00:00
Matthias Clasen
1c1d4f32c8
gsk: Test big glyphs
...
These are big, but still fit in the glyph cache.
Therefore, the test succeeds.
2019-06-03 02:08:36 +00:00
Michael Natterer
caf50bcb93
gtk: fix weed_out_neg_zero() in spinbutton and scale
...
It was not copying the terminating \0 in the string, breaking output
in spinbutton (didn't try scale). Fixes #3452 .
(cherry picked from commit ae2ef1472c )
2019-06-03 00:34:44 +00:00
Benjamin Otte
7e9cb07a92
Merge branch 'for-master' into 'master'
...
For master
See merge request GNOME/gtk!903
2019-06-03 00:22:40 +00:00
Matthias Clasen
3a42aab680
Merge branch 'wip/chergert/marshalling-gtk4' into 'master'
...
gtk: fix all uses of g_cclosure_marshal_generic
See merge request GNOME/gtk!905
2019-06-02 23:34:02 +00:00
Christian Hergert
41e373f10c
gtk: fix all uses of g_cclosure_marshal_generic
...
This adds specific marshallers for all of the locations where a generic
marshaller is being used. It also provides va_marshallers to reduce the
chances that we get stack traces from perf going through ffi_call_unix64.
This is forward ported from gtk-3-24.
# Conflicts:
# gtk/gtkeventcontrollerkey.c
# gtk/gtkeventcontrollermotion.c
# gtk/gtkgesture.c
# gtk/gtkgesturemultipress.c
2019-06-02 14:24:51 -07:00
Benjamin Otte
f9562757ff
gtk-demo: Fix sliding puzzle demo
...
1. Menubuttons aren't buttons
2. For paintables without aspect ratios, use 1.0
2019-06-02 21:18:56 +02:00
Benjamin Otte
5a0c8805fc
transform: Coalesce similar transforms
...
If somebody does a transform like
scale(5) scale(10) translate(1,1) translate(5,0)
store it instead as
scale(50) translate(6,1)
This way, less memory is consumed and transforms are easier to read.
In particular, this simplifies the typical transforms we do in GTK,
which are just one translation after another.
2019-06-02 21:18:56 +02:00
Matthias Clasen
1a4e360c2c
Don't generate mipmaps needlessly
...
GL_LINEAR doesn't use mipmaps, so don't generate them.
2019-06-02 18:29:11 +00:00
Benjamin Otte
69629ebb1a
transform: Treat 0 perspective transforms as identity
...
This happens if you apply a perspective transform and its inverse, which
is the negative version of the perspective.
2019-06-02 15:12:37 +02:00
Piotr Drąg
68a987922a
Update Polish translation
2019-06-02 14:47:42 +02:00
Timm Bäder
a51b694314
gl renderer: Remove homegrown transform_bounds code
...
GskTransform can do this for us now.
2019-06-02 11:43:06 +02:00
Timm Bäder
b6cc774312
transform: Add G_GNUC_WARN_UNUSED_RESULT annotations
...
These functions return the new transform so their return value should
really never be ignored.
2019-06-02 10:33:30 +02:00
Timm Bäder
db548ee2a0
gl renderer: Fix scale computation
...
We don't need to just look at the scale of the new modelview matrix, but
at the one we get when multiplying the new one with the current one.
Test case attached.
2019-06-02 10:25:39 +02:00
Timm Bäder
f999572e8f
gl renderer: Use GskTransform in render ops builder
...
for the modelview matrix. We need this later.
2019-06-02 10:12:09 +02:00
Timm Bäder
f1996783ec
gl renderer: Fix rounded rect intersection code
...
Test case attached.
Fixes #1920
2019-06-02 08:31:44 +02:00
Matthias Clasen
aa267c1c84
Add gtkmenubarprivate.h
...
Move private api into a private header.
2019-06-01 21:56:49 +00:00
Matthias Clasen
3dea73bd4a
Cosmetics
...
Remove comments that are old enough to still
talk about option menus and item factories.
2019-06-01 21:56:49 +00:00
Matthias Clasen
29252eac6a
Merge branch 'restack-gtk4' into 'master'
...
GDK W32: Ensure correct stacking of popup windows (GTK4)
See merge request GNOME/gtk!902
2019-06-01 19:47:32 +00:00
Руслан Ижбулатов
2ace3113d6
GDK W32: Ensure correct stacking of popup windows
...
1) In the SetWindowPos() function (and the WINDOWPOS struct) the
"hWndInsertAfter" argument/field means the window that will be
directly above after the change, not the window that will be
directly below. MSDN says "precedes" for SetWindowPos(), but
WINDOWPOS documentation is more precise: this is the window
behind which the affected window will be placed. Apparently,
Z-axis goes back-to-front.
Therefore, logging should be reworded correctly.
2) When we switch away from the application and then switch back
to a transient window, we need to bring up its transient-owner
(and its transient-owner's owner and so forth) as well,
otherwise our transient (modal) window might be transient for
something that might not be visible.
3) When we bring up a window, we should bring all of its children
(popup windows) on top of it.
Because Windows doesn't provide a function to bring one window
on top of the other, we have to work around this by calling
SetWindowPos() twice, swapping the windows between the calls.
2019-06-01 19:23:30 +00:00
Balázs Úr
0ee9a4ff90
Update Hungarian translation
2019-06-01 11:26:53 +00:00
Matthias Clasen
03964b5edb
Remove an unused enum
...
No use of GtkArrowPlacement anywhere.
2019-06-01 04:11:22 +00:00
Matthias Clasen
0c7e567c32
Merge branch 'global-coords' into 'master'
...
Drop global coordinates
See merge request GNOME/gtk!899
2019-06-01 03:53:13 +00:00
Matthias Clasen
e31190cf7c
Update css node results
2019-06-01 03:47:19 +00:00
Matthias Clasen
fcdea03796
Fix menu item accessible
...
The menu shell is not a direct parent anymore.
2019-06-01 03:39:12 +00:00
Matthias Clasen
0a33d74c1b
tests: Fix issues with menu shells
...
The menu shell is no longer the direct
parent of menu items.
2019-06-01 03:32:10 +00:00
Matthias Clasen
feef0ef93a
menu: Fix destruction
...
Now that menubar and menu are containers
with internal structure, we need to be
careful about doing the right thing in
forall and dispose.
2019-06-01 03:32:10 +00:00
Matthias Clasen
ccd7110107
Merge branch 'convert-dialog' into 'master'
...
Convert dialog
See merge request GNOME/gtk!898
2019-06-01 00:03:15 +00:00
Matthias Clasen
6c201e7927
menu: Fix keynav between submenus
...
Left/Right arrow now work again to enter
or leave a submenu.
2019-05-31 23:36:35 +00:00
Matthias Clasen
ace30d42ea
menu: Bring back the scroll keybindings
...
Home, End, Page Up/Down, work again.
2019-05-31 23:36:35 +00:00
Matthias Clasen
e599336ad4
menu: Keep selected item in view
...
This gets us most of the way to working scrolling.
2019-05-31 23:36:35 +00:00
Matthias Clasen
8ba3c75682
More menu work
2019-05-31 23:36:35 +00:00
Matthias Clasen
3f6272f56e
More menu restructuring
...
Make GtkMenuBar use a box as well,
and let GtkMenuShell get the items
from GtkMenuBar and GtkMenu via
a vfunc. Use that to fix the keynav
implementation in GtkMenuShell.
2019-05-31 23:36:35 +00:00
Matthias Clasen
13e010deb6
menu: Use a scrolled window
...
This brings back some support for scrolling.
We still need to reinstate some of the
scroll-to-selected and keynav functionality.
2019-05-31 23:36:35 +00:00
Matthias Clasen
ae1ba79f63
menu: Use a box
...
This makes some of the GtkMenuShell api
no longer work, since we don't let the
menu shell code maintain the list of
children anymore.
2019-05-31 23:36:35 +00:00
Matthias Clasen
57175dd5b1
Drop gdk_event_get_root_coords
2019-05-31 23:36:35 +00:00
Matthias Clasen
17cd6d7f44
widget: Stop setting root coords in events
...
Nothing should use them anymore.
2019-05-31 23:36:35 +00:00
Matthias Clasen
c7f06dd35e
win32: Stop using gdk_event_get_root_coords
...
It seems we want local coords here anyway.
2019-05-31 23:36:35 +00:00
Matthias Clasen
f645c4e923
menu: Remove global coordinates
...
This commit removes support for scrolling and
for the keep-up triangle from GtkMenu, and gets
rid of all use of global coordinates.
2019-05-31 23:36:34 +00:00
Benjamin Otte
4e464b4960
menu: Only set position in one place
2019-05-31 23:36:34 +00:00
Benjamin Otte
d971c4e69d
menu: Simplify function
...
No need to do complicated math when we can just look at the allocation.
2019-05-31 23:36:34 +00:00
Benjamin Otte
e702a33432
menuitem: Introduce gtk_menu_item_get_menu_shell()
...
Returns the parent menu shell or NULL.
Replace all calls to gtk_widget_get_parent() with this function.
2019-05-31 23:36:34 +00:00
Matthias Clasen
e64e9cd520
simplify: Add a testcase for templates
2019-05-31 19:42:18 +00:00
Matthias Clasen
21491d27bb
simplify: Add a testcase for dialogs
2019-05-31 19:39:17 +00:00
Piotr Drąg
4db41b01a5
Update POTFILES.in
2019-05-31 20:43:51 +02:00
Lubomir Rintel
8799e5798b
builder-tool: Rewrite GtkDialog
...
Changes
<object class="GtkDialog">
<child internal-child="vbox">
<...>
<child internal-child="action_area">...</child>
...
</...>
<packing />
</child>
<object>
to
<object class="GtkDialog">
<child internal-child="content_area">
<...>
...
</...>
</child>
<child internal-child="action_area">...</child>
<object>
2019-05-31 17:03:12 +00:00
Matthias Clasen
173ffbb547
Merge branch 'overlay-scrolling-setting' into 'master'
...
Overlay scrolling setting
See merge request GNOME/gtk!873
2019-05-31 15:32:49 +00:00
Matthias Clasen
97e15b8718
scrolled window: respect overlay-scrolling setting
...
If the gtk-overlay-scrolling setting is FALSE,
don't use overlay scrollbars.
2019-05-31 15:04:23 +00:00
Matthias Clasen
2ae6f1a741
Add a gtk-overlay-scrolling setting
...
This is in preparation for letting user opt out of
overlay scrolling in the control-center.
2019-05-31 14:07:15 +00:00
Matthias Clasen
8145872e27
Merge branch 'wip/chergert/remove-cclosure' into 'master'
...
gtk: rely on default marshallers
See merge request GNOME/gtk!893
2019-05-31 10:57:27 +00:00
Benjamin Otte
4df049e81c
Merge branch 'for-master' into 'master'
...
For master
See merge request GNOME/gtk!892
2019-05-31 04:07:11 +00:00
Christian Hergert
bd26cce812
gtk: rely on default marshallers
...
Similar to previous removals of g_cclosure_marshal_VOID__VOID we can remove
other marshallers for which are a simple G_TYPE_NONE with single parameter.
In those cases, GLib will setup both a c_marshaller and va_marshaller for
us. Before this commit, we would not get a va_marshaller because the
c_marshaller is set.
Related to GNOME/Initiatives#10
2019-05-30 20:56:50 -07:00
Benjamin Otte
6b2518a190
widget: fix CSS transforms with margins
...
The CSS transform should operate on the border-box, not the margin box.
So we need to shrink the bounds by the margin before we apply the CSS
transform.
2019-05-31 05:36:50 +02:00
Benjamin Otte
6b1cfd0bca
gtk-demo: Fix sliding puzzle demo
...
1. Menubuttons aren't buttons
2. For paintables without aspect ratios, use 1.0
2019-05-31 05:36:44 +02:00
Niels De Graef
8925c17297
Merge branch 'wip/nielsdg/fix-gir-warnings' into 'master'
...
Fix some GObject introspection annotations
See merge request GNOME/gtk!891
2019-05-30 18:49:48 +00:00
Niels De Graef
df9aed6c61
Fix some GObject introspection annotations
...
Fixes several warnings by the GIR compiler.
2019-05-30 20:34:43 +02:00
Matthias Clasen
2eb0333017
Add a testcase
...
This tests the fix in 1e7225aa1c .
2019-05-30 14:12:07 -04:00
Benjamin Otte
22e0785802
build: Make script interpreter optional
...
Running the tests needs it though, so it's only optional without tests.
2019-05-30 18:34:51 +02:00
Benjamin Otte
7a3ffec762
docs: Fix build
2019-05-30 18:26:32 +02:00
Benjamin Otte
b9dc13ad99
Merge branch 'cairo-script-interpreter' into 'master'
...
rendernodeparser: Parse cairo script
See merge request GNOME/gtk!876
2019-05-30 15:48:02 +00:00
Benjamin Otte
53f23f8ae9
rendernodeparser: Handle empty Cairo nodes
...
Cairo nodes can contain a NULL surface if they have never been drawn to.
Make this the default Cairo node.
2019-05-30 15:32:36 +02:00
Benjamin Otte
1e0c0c0ba7
rendernodeparser: Parse cairo script
...
Use cairo-script-interpreter to parse the scripts that generate cairo
nodes.
This requires libcairoscriptinterpreter.so to work properly, but if
it isn't found we disable this (unimportant for normal functioning)
code and just emits a parser warning.
The testsuite requires it however or it will fail.
A new test is included that tests all of this.
2019-05-30 15:32:36 +02:00
Matthias Clasen
2f37207487
Remove leftover debug spew
2019-05-30 08:19:08 -04:00
Matthias Clasen
d71bf4d35c
Add gtknative.h to public headers
2019-05-30 08:18:29 -04:00
Matthias Clasen
93a34eb62d
Merge branch 'lr/builder-tool-templates' into 'master'
...
builder-tool: Rewrite GtkBuilder templates too
See merge request GNOME/gtk!888
2019-05-30 11:56:05 +00:00
Matthias Clasen
dad5da8028
Merge branch 'lr/builder-tool-assistant-crash' into 'master'
...
builder-tool: Set the parent of newly created GtkAssistantPage
See merge request GNOME/gtk!890
2019-05-30 11:48:59 +00:00
Lubomir Rintel
1e7225aa1c
builder-tool: Set the parent of newly created GtkAssistantPage
...
...and its property. Otherwise simplify_element() blows up when looking
up the hierarchy to determine a property type.
$ gtk4-builder-tool simplify --3to4 /dev/stdin <<EOF
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- Generated with glade 3.20.2 -->
> <interface domain="nm-applet">
> <object class="GtkAssistant">
> <child>
> <object class="GtkBox" id="confirm_page">
> </object>
> <packing>
> <property name="page_type">confirm</property>
> <property name="complete">True</property>
> </packing>
> </child>
> </object>
> </interface>
> EOF
/dev/stdin: Packing property GtkAssistant::page_type not found
/dev/stdin: Packing property GtkAssistant::complete not found
Segmentation fault (core dumped)
2019-05-30 11:39:09 +02:00
Lubomir Rintel
2d55fce23d
builder-tool: Rewrite GtkBuilder templates too
2019-05-30 10:34:24 +02:00
Timm Bäder
78ee4c0677
gl renderer: Properly flip scaled fallback nodes
...
Fixes cairo nodes in hidpi setups
2019-05-30 09:12:45 +02:00
Matthias Clasen
d691393f5f
Merge branch 'wip/baedert/nodeeditor-fuckery' into 'master'
...
node editor: Add a quick way to save a testcase
See merge request GNOME/gtk!880
2019-05-30 03:28:41 +00:00
Matthias Clasen
3f6b64fc1d
Merge branch 'wip/chergert/sysprof-3' into 'master'
...
profiler: port GdkProfiler to sysprof-3
See merge request GNOME/gtk!886
2019-05-30 03:26:59 +00:00
Christian Hergert
3a0beeadc5
profiler: port GdkProfiler to sysprof-3
...
This uses the new sysprof-3 ABI to implement the capture writer. It also
uses the statically linked libsysprof-capture-3.a that is provided with
Sysprof for the capture writing to ensure that we do not leak any symbols
nor depend on any additional libraries.
The GTK_TRACE_FD can be used to pass a FD for tracing into Gtk. Sysprof
uses this when the Gtk instrument is selected for recording.
2019-05-29 19:02:30 -07:00
Matthias Clasen
853e832702
Merge branch 'shortcuts-sizing' into 'master'
...
Fix shortcuts window sizing
Closes #11
See merge request GNOME/gtk!885
2019-05-29 21:18:46 +00:00
Matthias Clasen
e0cc72e94f
Fix shortcuts window sizing
...
We were deferring the reflow until map, but this
leads to the section initially having an enormous
height and the window picks up that size before
we have a chance to reflow, This could be seen
in the "Builder" demo in gtk4-demo.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/11
2019-05-29 17:06:27 -04:00
Christian Hergert
82afe850e8
marshallers: add missing g_cclosure_marshal_VOID__VOID fixes
2019-05-29 13:48:33 -07:00
Matthias Clasen
164e362ec2
Merge branch 'wip/chergert/marshal-gtk4' into 'master'
...
marshallers: ensure g_cclosure_marshal_VOID__VOIDv is used
See merge request GNOME/gtk!883
2019-05-29 20:38:51 +00:00
Christian Hergert
f507a79056
marshallers: ensure g_cclosure_marshal_VOID__VOIDv is used
...
If we set c_marshaller manually, then g_signal_newv() will not setup a
va_marshaller for us. However, if we provide c_marshaller as NULL, it will
setup both the c_marshaller (to g_cclosure_marshal_VOID__VOID) and
va_marshaller (to g_cclosure_marshal_VOID__VOIDv) for us.
2019-05-29 13:22:31 -07:00
Matthias Clasen
90f330e27a
Merge branch 'gesture-click' into 'master'
...
Rename GtkGestureMultiPress to GtkGestureClick
See merge request GNOME/gtk!878
2019-05-29 18:39:09 +00:00
Timm Bäder
3874f37395
node editor: Add a quick way to save a testcase
2019-05-29 20:30:21 +02:00
Matthias Clasen
2be733497b
Merge branch 'global-coords' into 'master'
...
Drop global coordinates
See merge request GNOME/gtk!879
2019-05-29 18:29:57 +00:00
Matthias Clasen
200373f435
Mention event controller API in the migration guide
2019-05-29 14:17:07 -04:00
Matthias Clasen
d47434bdb6
Mention global coordinates in the migration guide
2019-05-29 18:11:57 +00:00
Matthias Clasen
792d578f4b
Cosmetics
...
Remove a doc comment for no-longer-public api.
2019-05-29 18:04:15 +00:00
Matthias Clasen
9ecd906b7f
Cosmetics
...
Drop a leftover declaration.
2019-05-29 18:04:13 +00:00
Matthias Clasen
51396533a1
Fix the win32 build
...
gdk_display_get_monitor_at_point was used
in this backend.
2019-05-29 18:04:13 +00:00
Matthias Clasen
b867cbe0d8
Cosmetics
...
Remove an unused variable.
2019-05-29 18:04:08 +00:00
Matthias Clasen
8ed27d6e3b
Drop gdk_surface_move
...
And its cousin, gdk_surface_move_resize.
These APIs are expecting global coordinates,
which are going away. GTK is not using them
anymore.
2019-05-29 18:04:08 +00:00
Matthias Clasen
956e94a8d4
Remove a misleading comment
...
We don't have windowed widgets anymore, and
gdk_surface_move_resize is about to go away.
2019-05-29 18:04:08 +00:00
Matthias Clasen
2081bf346e
window: Remove move unused fields
...
position_constraints_changed is never used.
2019-05-29 18:04:08 +00:00
Matthias Clasen
74db7cbe00
window: Never call gdk_surface_move
...
With gtk_window_set_position gone, we should never
come up with a new position to set in this code.
Leave a warning in place and remove the gdk_surface_move
calls.
2019-05-29 18:04:08 +00:00
Matthias Clasen
d6d5d60703
Drop an empty function
...
gtk_window_constrain_position is not doing anything
anymore, so no need to call it.
2019-05-29 18:04:08 +00:00
Matthias Clasen
ece7fff339
window: Drop more unused fields
...
need_default_position is never used.
2019-05-29 18:04:08 +00:00
Matthias Clasen
147adc0bc5
window: Drop some unused fields
...
initial_x/y and initial_pos_set are never used.
2019-05-29 18:04:08 +00:00
Matthias Clasen
12da0a6db1
Drop gdk_device_get_position
...
Root coordinates are going away, so this
api does not make sense anymore. Use
gdk_surface_get_device_position instead.
We still keep this as internal api for
root-coordinate using backends.
2019-05-29 18:04:08 +00:00
Matthias Clasen
b636e32d85
widget: Stop using gdk_device_get_position
...
Root coordinates are going away. Stop
setting them in crossing events, so we
can drop this api.
2019-05-29 18:04:08 +00:00
Matthias Clasen
d515c43dce
Make gdk_surface_get_origin internal
...
We still use this function inside gdk in
a number of places, so keep it around.
2019-05-29 18:04:08 +00:00
Matthias Clasen
879f22fd27
Drop gdk_display_get_monitor_at_point
...
This api expects global coordinates, and
is unused.
2019-05-29 18:04:08 +00:00
Matthias Clasen
a8899cc6a3
window: Drop gtk_window_set_position
...
This is heavily using global coordinates, and
can't be guaranteed to work across wms / platforms.
2019-05-29 18:04:08 +00:00
Matthias Clasen
d2bc5b490a
tests: Stop using gtk_window_set_position
...
This api is going away.
2019-05-29 18:04:08 +00:00
Matthias Clasen
4f9c1bf14e
gtk-demo: Stop using gtk_window_set_position
...
This api is going away.
2019-05-29 18:04:08 +00:00
Matthias Clasen
987e7878a2
Drop gdk_surface_get_frame_extents
...
No longer used.
2019-05-29 18:04:08 +00:00
Matthias Clasen
f0ef5332be
a11y: Stop using gdk_surface_get_frame_extnts
...
This api is going away.
2019-05-29 18:04:08 +00:00
Matthias Clasen
0103c13632
x11: Set surface position correctly
...
The X backend was storing global coordinates
in surface->x/y, and keeping the parent-relative
positions in its own fields. Switch this around
to store the relative position in x/y, as is
expected by the frontend.
2019-05-29 18:04:08 +00:00
Matthias Clasen
fd048005f5
Clarify gdk_surface_get_position
...
This function returns the position relative to
the surface parent, so will always return 0 for
non-popups. The out arguments don't need to
allow-none either - nobody passes NULL for these.
2019-05-29 18:04:08 +00:00
Matthias Clasen
83827d3199
a11y: Stop using gdk_surface_get_origin
...
Global coordinates are going away.
Stop supporting ATK_XY_SCREEN.
2019-05-29 18:04:08 +00:00
Matthias Clasen
fcc8a365b9
main: Use gdk_surface_translate_coordinates
...
This gets rid of another use of global coordinates.
2019-05-29 18:04:08 +00:00
Matthias Clasen
902a49af9d
surface: Add coordinate translation
...
We maintain offsets for popups, so we can translate
coordinates between surfaces that are attached directly
or indirectly to the same toplevel. Add an api for that.
2019-05-29 18:04:08 +00:00
Matthias Clasen
fdcbd75e02
Merge branch 'high-contrast-tabs' into 'master'
...
HighContrast: Improve contrast of notebook tabs
See merge request GNOME/gtk!877
2019-05-29 17:49:06 +00:00
Matthias Clasen
7f65e5f96b
Rename GtkGestureMultiPress to GtkGestureClick
...
The name just made it hard for people to find the
right gesture to use.
2019-05-29 17:10:46 +00:00
Colomban Wendling
745a7cf29e
HighContrast: Improve contrast of notebook tabs
2019-05-29 17:46:41 +02:00
Matthias Clasen
5675d585f4
testgtk: Fix a crash
...
Somebody forgot to update the signal handler
here when changing the size-allocate signal.
2019-05-29 11:07:01 -04:00
Benjamin Otte
56db17e5e8
Revert "window: Chain up in show/hide"
...
This reverts commit 863f4d13ff .
2019-05-29 16:52:13 +02:00
Benjamin Otte
863f4d13ff
window: Chain up in show/hide
2019-05-29 16:34:56 +02:00
Benjamin Otte
cabe39862b
widget: Add marshallers to signals
...
Yay for better sysprof logs!
2019-05-29 16:34:56 +02:00
Benjamin Otte
2380f9673b
widget: Do proper clean up in real_hide()
...
Do the same things set_visible_flag() does.
2019-05-29 16:34:56 +02:00
Benjamin Otte
170c25a9d2
widget: Move functions around
...
Copy them further up so that we can use them there in the next commit.
2019-05-29 16:34:56 +02:00
Benjamin Otte
e85f1e176a
widget: Insist on proper vfunc calling
...
Insist that ->show() is only called for invisible and ->hide only for
visible widgets.
2019-05-29 16:34:56 +02:00
Benjamin Otte
a079fd2def
widget: Fix transform refcounting in allocate()
...
Make the transform (transfer full).
1. This makes sure we actually reference the transform. Previously we
did not.
2. Most callers create a new transform to pass to us. Now they don't
have to uref it anymore.
2019-05-29 16:34:56 +02:00
Benjamin Otte
89fb752a8f
css: Use %f, not %.17f
...
The testusite failures explain why:
We don't want to print "1.00000000000000000", but "1".
2019-05-29 14:30:13 +02:00
Benjamin Otte
9ee2b23176
rendernodeparser: Handle repeating linear gradients
...
Just handle them like regular gradients, only name them differently.
2019-05-29 07:14:31 +02:00
Benjamin Otte
d71c196c5c
css: Don't print numbers with exponent
...
CSS does not do exponents, so printing numbers close to 0 as 1.234e-15
does not work.
Also up the accuracy to 17 digits because that's what everyone else
uses.
2019-05-29 07:14:31 +02:00
Benjamin Otte
6e15538328
broadway: Handle Cairo nodes with NULL surfaces
2019-05-29 07:14:31 +02:00
Matthias Clasen
ead96b65fd
notebook: Drop position from ::create-window
...
Global coordinates are going away.
2019-05-28 23:23:06 -04:00
Matthias Clasen
0cc94ed72e
Some entry completion fixes
...
This gets popover-based entry completion closer
to working as expected. And it drops a use of
gdk_surface_get_origin.
2019-05-28 23:23:06 -04:00
Matthias Clasen
dd5839dfe8
tree models: Use standard padding
2019-05-28 23:23:06 -04:00
Matthias Clasen
9abc7262b0
treeview column: Make final
2019-05-28 23:22:57 -04:00
Matthias Clasen
79940b32b5
treeview: Make final
...
Make GtkTreeSelection final as well.
2019-05-28 21:42:38 -04:00
Matthias Clasen
aec5e3d71e
flow box: Make final
...
We keep GtkFlowBoxChild subclassable, though.
2019-05-28 20:01:43 -04:00
Matthias Clasen
217115d35f
listbox Make final
...
We keep GtkListBoxRow subclassable, though.
2019-05-28 20:01:43 -04:00
Matthias Clasen
ee29b9ba95
notebook: Make final
2019-05-28 20:01:43 -04:00
Matthias Clasen
c34abb6775
label: Make final
2019-05-28 19:45:45 -04:00
Matthias Clasen
b523f2b46a
menubar: Make final
2019-05-28 19:43:43 -04:00
Matthias Clasen
6836bfc208
toolbar: make final
2019-05-28 23:38:16 +00:00
Matthias Clasen
8695e8c1b8
menu: Make final
2019-05-28 23:38:16 +00:00
Matthias Clasen
6ffc9f9e6e
Forgotten file
2019-05-28 23:30:02 +00:00
Matthias Clasen
0a6813d0aa
menu tool button: Make final
2019-05-28 18:58:58 -04:00
Matthias Clasen
ef3e20cffe
radio tool button: Make final
2019-05-28 18:58:46 -04:00
Matthias Clasen
5db4530a22
toggle tool button: Use standard padding
2019-05-28 18:58:31 -04:00
Matthias Clasen
4b5fee943e
tool button: Use standard padding
2019-05-28 18:58:05 -04:00
Matthias Clasen
f0fd4843d5
iconview: Make final
2019-05-28 22:50:08 +00:00
Matthias Clasen
700e9e03c5
stack: Make final
2019-05-28 22:35:36 +00:00
Matthias Clasen
055a991e08
file chooser error stack: Don't derive from stack
...
We can just have a GtkStack, instead.
2019-05-28 22:35:36 +00:00
Matthias Clasen
bc739e607b
scrolled window: Make final
2019-05-28 22:35:36 +00:00
Matthias Clasen
211128fb7c
inspector: Stop deriving from scrolled window
2019-05-28 22:35:36 +00:00
Matthias Clasen
461e8e0218
places sidebar: Don't derive from scrolled window
...
We can just have a scrolled window, instead.
2019-05-28 22:35:36 +00:00
Matthias Clasen
a4b1ff7736
Forgotten file
2019-05-28 22:35:36 +00:00
Matthias Clasen
173a4b00bc
Merge branch 'wip/matthiasc/popup5' into 'master'
...
Reimplement popups
See merge request GNOME/gtk!847
2019-05-28 20:46:07 +00:00
Matthias Clasen
908632138c
inspector: Show surface and renderer
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
84739dde99
GDK W32: Fix indentation and placate GCC
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
d14e987c6c
GDK W32: Correctly log popups
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
b12d521bce
GDK W32: Only use owner windows for popups
...
GTK4 doesn't have WS_CHILD windows anymore, so hWndParent argument
to CreateWindowEx() is always interpreted as the owner window,
not the parent window.
A window with an owner:
* is above the owner in Z-order
* is destroyed when the owner is destroyed
* is hidden when the owner is minimized
This is enforced by the OS.
GTK can only allow this for popup windows.
Desktop window must never[0] be an owner.
[0]: https://devblogs.microsoft.com/oldnewthing/20040224-00/?p=40493
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
493b30c2a8
GDK W32: No more child windows
...
We don't have child windows (the window-inside-a-window kind of windows)
anymore. Remove all the code related to that.
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
90058ed951
Don't assume that gdk_surface[_move]_resize() is asynchronous
...
On Windows that call resizes the native window immediately,
and the corresponding GDK event is emitted and processed
before the control is returned to gtk_window_move_resize().
Therefore, update freeze and configure_request_count increment
must happen before the call, not after it.
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
82c80c06e8
Add missing include
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
5ff7c3431b
GDK W32: Don't handle WM_ACTIVATE for popup windows
...
Popups can't be active or inactive, so emitting GDK events
in response to WM_ACTIVATE makes no sense for these kinds
of GDK surfaces.
The jury is still out on whether we should block (return 0)
or ignore (don't return anything) this message.
Blocking WM_NCACTIVATE (which we currently ignore) is definitely
not an option - it completely breaks input somehow.
2019-05-28 20:25:17 +00:00
Matthias Clasen
5ccb081fdb
Avoid compiler warnings
...
Avoid priv being flagged as unused on win32.
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
6ab565b84a
GDK W32: Adjust to new popup surfaces
...
1) Handle GDK_SURFACE_POPUP in RegisterGdkClass()
(for now pretend it's the same as GDK_SURFACE_TOPLEVEL)
2) Remove useless code from GDK_SURFACE_TOPLEVEL case in _gdk_win32_display_create_surface()
(now there's just GDK_SURFACE_TOPLEVEL there, no need for a type check)
3) Have a separate case for GDK_SURFACE_POPUP and ensure that
it doesn't get WS_CHILDWINDOW (and neither should GDK_SURFACE_TEMP).
2019-05-28 20:25:17 +00:00
Matthias Clasen
11fdde0b8f
surface: Cosmetics
...
Move things where they belong.
2019-05-28 20:25:17 +00:00
Matthias Clasen
d08805d7f0
popover: Don't constantly redraw the beak
...
We don't want to constantly draw the arrow
if we don't have to. Save the render node
to achieve this.
2019-05-28 20:25:17 +00:00
Matthias Clasen
2fa1a0a651
wayland: Disconnect the frame clock
...
The frame clock can survive the surface now,
so we need to disconnect.
2019-05-28 20:25:17 +00:00
Matthias Clasen
07b0da615b
win32: Disconnect the frame clock
...
The frame clock can now survive the surface,
so we need to disconnect when the surface goes away.
2019-05-28 20:25:17 +00:00
Matthias Clasen
2aa0ceaeca
x11: Disconnect from the frame clock
...
The frame clock can now survive its surface,
so we need to disconnect signal handlers.
2019-05-28 20:25:17 +00:00
Matthias Clasen
28addd3775
broadway: Disconnect from the frame clock
...
The frame clock can no survive its surface,
so we need to disconnect signal handlers.
2019-05-28 20:25:17 +00:00
Matthias Clasen
a3f127b0d0
surface: Give backends a chance to disconnect
...
Call the destroy vfunc before clearing
frame clock and gl context, so backends
have a chance to clean up.
2019-05-28 20:25:17 +00:00
Matthias Clasen
37f8df2722
fishbowl: Don't pop up popovers too early
...
Wayland does not like this.
2019-05-28 20:25:17 +00:00
Matthias Clasen
f154fd4c09
popover: Stop needles allocations
...
We were queuing an allocation whenever
the popover is flipped over, unnecessarily,
since we don't change the size of the surface.
This was showing up as popovers being invisible
when flipped over, under X.
2019-05-28 20:25:17 +00:00
Matthias Clasen
c7f9f8f63d
surface: Fix the fallback move-to-rect implementation
...
On X11, the final and flipped rects were reporting
global coordinates. This was showing up as misplaced
popover beaks.
2019-05-28 20:25:17 +00:00
Matthias Clasen
78c94f9357
win32: Set surface type early enough
...
We need to set the surface type before
the frame clock.
2019-05-28 20:25:17 +00:00
Matthias Clasen
895962d781
surface: Make only toplevels control events
...
There is no need for popups to connect to the frame
clock to pause and unpause events on the display -
the toplevel already does it.
And don't connect to paint either - handle paint
on popups recursively.
2019-05-28 20:25:17 +00:00
Matthias Clasen
3d283cc8f4
gdk: Maintain popup tree in the frontend
...
We will need this information here, and we can
share the child lists between various backends.
2019-05-28 20:25:17 +00:00
Matthias Clasen
44be64278b
surface: Make surface-type a property
...
Make surface-type a construct-only property,
so we can set it before the frame clock.
2019-05-28 20:25:16 +00:00
Matthias Clasen
c638a0aa59
Adwaita: Remove Emoji completion special case
...
We can use GtkPopover::has-arrow now.
2019-05-28 20:25:16 +00:00
Matthias Clasen
db21cbdfb3
inspector: Avoid a critical warning
2019-05-28 20:25:16 +00:00
Matthias Clasen
ec413357c6
popover: Make it possible to not have an arrow
...
This will make popovers move flexible for other
uses, such as the Emoji completion popup.
2019-05-28 20:25:16 +00:00
Matthias Clasen
a841ff0316
popover: Set input shapes on wayland too
...
No reason not to do it. Wayland has input shapes.
2019-05-28 20:25:16 +00:00
Matthias Clasen
2c43f87ef7
win32: Set the surface type
...
This is copying some code from the corresponding
create_surface implementations of the other backends.
2019-05-28 20:25:16 +00:00
Руслан Ижбулатов
83f952d771
IME IM: Be able to handle NULL widget correctly
2019-05-28 20:25:16 +00:00
Руслан Ижбулатов
138104de27
GDK W32: Fix the code to compile
...
Somewhat change the order of initialization (to be closer
to what Wayland backend does).
Also remove the wrapper field that is no longer needed -
it used to hold a pointer to the main GdkWindow instance,
which wrapped GdkWin32ImplWindow. Since impls are gone,
nothing is wrapping anything anymore.
Fix a substitution error, where wrong pointer was added
to the hash table. Added a comment to ensure that future readers
(including myself) won't be confused by the fact that we're
inserting a pointer instead of the handle itself.
2019-05-28 20:25:16 +00:00
Руслан Ижбулатов
d5e26cdb76
GDK W32: be able to handle NULL cursor
2019-05-28 20:25:16 +00:00
Matthias Clasen
c2b9a12f6f
surface: Don't dispose the frame clock prematurely
...
Since we are now sharing frame clocks with multiple
surfaces, we can no longer dispose them unconditionally
when a surface goes away. Only do it if we are a
toplevel (without parent).
This was showing up as criticals on exit when opening
and closing any popover in widget factory.
2019-05-28 20:25:16 +00:00
Matthias Clasen
8f291be8c6
tooltip: fix critical warnings
...
We might trigger a requery while unrooted.
Deal with it.
2019-05-28 20:25:16 +00:00
Matthias Clasen
26b4329061
Mention gtk_widget_get_toplevel in the migration guide.
2019-05-28 20:25:16 +00:00
Matthias Clasen
693b2aa4d1
Drop gtk_widget_get_toplevel
...
Not used anymore.
2019-05-28 20:25:16 +00:00
Matthias Clasen
7447abb52b
Stop using gtk_widget_get_toplevel
...
All uses of it can be replaced by gtk_widget_get_root.
2019-05-28 20:25:16 +00:00
Matthias Clasen
f728295e8c
Cosmetics
2019-05-28 20:25:16 +00:00
Matthias Clasen
7b9789d029
Mention gtk_widget_is_toplevel in the migration guide
2019-05-28 20:25:16 +00:00
Matthias Clasen
6674f2764e
Drop gtk_widget_is_toplevel
...
No longer used.
2019-05-28 20:25:16 +00:00
Matthias Clasen
948347afa9
Stop using gtk_widget_is_toplevel
2019-05-28 20:25:16 +00:00
Matthias Clasen
8af89b3380
Mention gtk_widget_get_surface in the migration guide
2019-05-28 20:25:16 +00:00
Matthias Clasen
8fc6f07327
Drop gtk_widget_get_surface
...
It is no longer used.
2019-05-28 20:25:16 +00:00
Matthias Clasen
302d2a04ae
Stop using gtk_widget_get_surface
...
Replace all uses of gtk_widget_get_surface by
gtk_native_get_surface.
2019-05-28 20:25:16 +00:00
Matthias Clasen
9765aabebd
Mention modal->autohide rename in migration guide
2019-05-28 20:25:16 +00:00
Matthias Clasen
c3d7c947ad
Add a test for the property renaming
2019-05-28 20:25:16 +00:00
Matthias Clasen
a65696fc9f
builder tool: Handle modal->autohide rename
...
Add a facility for renamed properties,
and use it for GtkPopover::modal.
2019-05-28 20:25:15 +00:00
Matthias Clasen
25aef96d5d
popover: Rename modal to autohide
...
This is the term we use for the surface,
and it matches the behavior a bit better
than modal.
Update all callers.
2019-05-28 20:25:15 +00:00
Matthias Clasen
09ec88d0ce
win32: Build fixes
2019-05-28 20:25:15 +00:00
Matthias Clasen
6e885abf66
testsuite: Fix some a11y output
...
This was affected by a recent fix to GtkAboutDialog.
2019-05-28 20:25:15 +00:00
Matthias Clasen
ebee21b248
testsuite: Fix popover-related failures
2019-05-28 20:25:15 +00:00
Matthias Clasen
0b3a971056
window: Make unrealize work again
...
GtkWidgets unrealize accesses the frame clock
of the surface, so we need to keep the surface
in place until after we've chained up.
2019-05-28 20:25:15 +00:00
Matthias Clasen
b99962e7a2
Drop gtk_widget_set_surface
...
Not used anymore. Only GtkNative's have surfaces.
2019-05-28 20:25:15 +00:00
Matthias Clasen
43bed7986a
Drop GtkWidget::surface
...
Unneeded.
2019-05-28 20:25:15 +00:00
Matthias Clasen
0047492bf9
Work toward dropping widget->surface
...
Drop special-casing of GtkNative in
most widget vfuncs. GtkNative implementations
need to override these anyway.
2019-05-28 20:25:15 +00:00
Matthias Clasen
18788c2a86
Remove gtk_widget_get/set_has_surface
...
These serve no purpose anymore - widgets don't
have surfaces, unless they're a GtkNative.
2019-05-28 20:25:15 +00:00
Matthias Clasen
db855e092d
Add a GdkSurface::parent property
2019-05-28 20:25:15 +00:00
Matthias Clasen
fd0a290d77
popover: Bring back the beak
...
Bring back the code that draws an arrow.
2019-05-28 20:25:15 +00:00
Matthias Clasen
fa9cbf6c7d
x11: Fix handling of frame clock freezes
...
Now that popups share the frame clock of their
parent, we have to be much more careful about
freezing the clock, since that may stop updates
for another surface.
This commit makes two changes that make the
X11 handling of the frame clock more similar
to the Wayland backend:
- Use gdk_surface_freeze_updates instead of
gdk_surface_freeze_toplevel_updates to avoid
affecting the frame clock
- Bail out early in before_paint/after_paint
if the surface is frozen, to avoid affecting
the frame clock
Together, these two make the X11 popup surface
type work without freezing updates for the toplevel.
2019-05-28 20:25:15 +00:00
Matthias Clasen
ef353f24c6
gdk: Inherit the frame clock for popups
...
With separate clocks, the phases are not coordinated,
which messes with GTKs size allocation machinery treating
the entire widget tree as a whole, and causes us to
run into assertion where popups get drawn before they
are allocated.
2019-05-28 20:25:15 +00:00
Matthias Clasen
07c8fd9997
Add a testcase for size allocation
...
This triggers a critical warning in gtk_widget_snapshot.
2019-05-28 20:25:15 +00:00
Matthias Clasen
61247a8921
widget: Remove a popover special case
...
We never run this since GtkPopover has its
own size_allocate, anyway.
2019-05-28 20:25:15 +00:00
Matthias Clasen
a33d4f0f49
text view: Allocate popovers
2019-05-28 20:25:15 +00:00
Matthias Clasen
6c3ffa1380
places sidebar: Allocate popovers
2019-05-28 20:25:15 +00:00
Matthias Clasen
07426da074
color swatch: Allocate popovers
2019-05-28 20:25:15 +00:00
Matthias Clasen
4cab6ae61a
entry: Allocate popovers
2019-05-28 20:25:15 +00:00
Matthias Clasen
507b2d332e
scale button: Allocate popovers
...
Call gtk_native_check_resize() from size_allocate,
as is required now. This gets volume buttons closer
to working again (dragging the slider still doesn't
work).
2019-05-28 20:25:15 +00:00
Matthias Clasen
e6f71d841e
text: Allocate popovers
...
We need to do the same thing the menu button
does, and call gtk_native_check_resize for
all our popovers
2019-05-28 20:25:15 +00:00
Matthias Clasen
1f2d3c0900
window: Don't inherit cursors across surfaces
...
I can't think of a case where this is the desired
behavior. So, instead of setting an explicit cursor
on all popups, just stop walking the parents at
surface boundaries.
2019-05-28 20:25:15 +00:00
Matthias Clasen
f3559fe0f0
widget: Optimize resize propagation
...
When a GtkNative widget is marked as resize_needed,
we need a current position for its parent and we need
the parent to be allocated (so we can position our
surface), but we don't need the parent to be marked
as resize_needed, since the parent size is entirely
independent of the popup size.
2019-05-28 20:25:15 +00:00
Matthias Clasen
27596c328a
widget: Improve warning messages
...
When we print warnings about a widget, using
gtk_widget_get_name() is slightly better than
G_OBJECT_TYPE_NAME(), since it will give us
the widgets unique name when available.
2019-05-28 20:25:15 +00:00
Matthias Clasen
18e396ef6c
Add gdk_surface_get_parent back
...
The api is the same, the parent is different.
This now returns the parent of popup surfaces.
2019-05-28 20:25:15 +00:00
Alexander Larsson
ebb89bca0d
surface: Remove gdk_surface_set/merge_child_input_shapes()
...
These are useless now that we don't have child surfaces
2019-05-28 20:25:15 +00:00
Alexander Larsson
1c7eb5ca33
surface: Remove old debug code
2019-05-28 20:25:15 +00:00
Matthias Clasen
49268c23fd
popover: Use GdkSurface::autohide
...
The new api is made for this case.
2019-05-28 20:25:14 +00:00
Matthias Clasen
b15ba64ec9
surface: Add an autohide property
...
This api is meant to mimic xdg-popover.grab - we
show the surface, and dismiss it when we get events
on other surfaces. For foreign surfaces, the compositor
handles that for us; for our own, we check outselves
before delivering events to GTK.
2019-05-28 20:25:14 +00:00
Matthias Clasen
2dd15346a7
broadway: Track popups
...
This is more or less a 1:1 copy of the X11 code.
2019-05-28 20:25:14 +00:00
Matthias Clasen
6f1c32b3eb
x11: Implement popup surfaces
...
Make them use o-r windows, and move
with their parent.
We do a sort-of ok job on stacking order
here - whenever the parent window gets a
ConfigureNotify, we just restack all popups
directly on top of their parent. This is good
enough to keep popups on top of their parent
while we drag it around, and it gets the popup
to disappear when raising another window on
top of the parent.
2019-05-28 20:25:14 +00:00
Matthias Clasen
99783c7fb7
wayland: Use popup parents
...
Make the Wayland move-to-rect implementation
use popup parents.
2019-05-28 20:25:14 +00:00
Matthias Clasen
1661615fef
surface: Stop setting transient-for for popups
...
This was just a hack to reuse the existing
infrastructure. Now that we store parents separately,
stop doing it.
2019-05-28 20:25:14 +00:00
Matthias Clasen
1fa2a8217f
surface: Make move-to-rect work for popups
...
Now that we store popup parents separately,
the client-side move-to-rect implementation
must use them.
2019-05-28 20:25:14 +00:00
Matthias Clasen
9af6d7f733
surface: Store popup parent
...
Store popup parents separately from transient-for
parents, since these are separate concepts with
different behaviors. And we need the parent in
the frontend, so we can use it in the fallback
move-to-rect implementation.
2019-05-28 20:25:14 +00:00
Matthias Clasen
33c6dff881
gdk: Introduce a popup surface type
...
This surface type is meant to have semantics
similar to xdg-popup, with a mandatory parent,
and relative placement using gdk_surface_move_to_rect.
2019-05-28 20:25:14 +00:00
Matthias Clasen
07b3a093bf
x11: Remove useless checks
...
All surfaces are toplevels now, no need
to check for this all over the place.
2019-05-28 20:25:14 +00:00
Matthias Clasen
712a5d4f25
Get rid of GdkSurfaceImpl
...
We don't need the complicated wrapper system anymore,
since client-side windows are gone. This commit moves
all the vfuncs to GtkSurfaceClass, and changes the
backends to just derive their surface implementation
from GdkSurface.
2019-05-28 20:25:14 +00:00
Matthias Clasen
93b8f2563d
gdk: Add a private header
...
This is in preparation for getting rid of GdkSurfaceImpl.
2019-05-28 20:25:14 +00:00
Matthias Clasen
d2951d3aac
Rename surface constructors
...
We want to use a gdk_surface_new_popup for popups,
and align the constructor names with the surface
types, so rename
gdk_surface_new_popup -> gdk_surface_new_temp
gdk_surface_new_popup_full -> gdk_surface_new_popup
The temp surface type will disappear eventually.
2019-05-28 20:25:14 +00:00
Matthias Clasen
0571fc265b
surface: Cosmetics
2019-05-28 20:25:14 +00:00
Matthias Clasen
8536557007
gdk: Drop pass-through surfaces
...
With client-side windows gone, this property
is no longer used at all, and has been replaced
by a similar concept on the widget level.
Drop it.
2019-05-28 20:25:14 +00:00
Matthias Clasen
47fb092393
gdk: Drop GdkWindowAttr
...
All the information in it is already contained
in the surface object we pass along, and none
of the backend implementations were using the
attributes at all.
2019-05-28 20:25:14 +00:00
Matthias Clasen
2855729cb4
gdk: Drop input-only surfaces
...
We are not creating such surfaces anymore, and
they were only ever meaningfully implemented
on X11. Drop the concept, and the api for determining
if a surface is input-only.
2019-05-28 20:25:14 +00:00
Matthias Clasen
1a23ebf105
gdk: Remove an unused field
...
Spring cleaning. We are not using this field
at all, since we have the input_only boolean.
2019-05-28 20:25:14 +00:00
Matthias Clasen
82c8a05855
Drop gdk_surface_new_temp
...
This is no longer used, and the only difference
to gdk_surface_new_popup is input-only, which is
an X11-only concept.
2019-05-28 20:25:14 +00:00
Matthias Clasen
346bd3f6b5
menu: Stop using gdk_surface_new_temp
...
We can just as well use gdk_surface_new_popup.
2019-05-28 20:25:14 +00:00
Matthias Clasen
7c1509feaa
x11: Stop using gdk_surface_new_temp
...
We can just as well use gdk_surface_new_popup.
2019-05-28 20:25:14 +00:00
Matthias Clasen
448312594c
broadway: Stop using gdk_surface_new_temp
...
This is in preparation for adding a proper
popup surface type.
2019-05-28 20:25:14 +00:00
Matthias Clasen
6029875ed3
wayland: Remove a useless switch
...
We are setting the title unconditionally, now
2019-05-28 20:25:14 +00:00
Matthias Clasen
8bb7fcd30c
docs: Remove references to gdk_device_grab
...
It is no longer public api, refer to gdk_seat_grab instead.
2019-05-28 20:25:14 +00:00
Matthias Clasen
f692974e5a
gdk: Remove remnants of client-side windows
...
Now that all surfaces are native, we don't need
to separately keep track of grab surfaces and
their native ancestor anymore.
2019-05-28 20:25:14 +00:00
Matthias Clasen
bab5836e89
Drop gtk_widget_register_surface
...
This is no longer used.
2019-05-28 20:25:14 +00:00
Matthias Clasen
fa25b06a28
popover: Stop using gtk_widget_register_surface
...
The GtkRoot implementations are expected to handle
the necessary surface setup themselves, going forward.
2019-05-28 20:25:14 +00:00
Matthias Clasen
81a673c908
window: Stop using gtk_widget_register_surface
...
The GtkRoot implementations are expected to handle
the necessary surface setup themselves, going forward.
2019-05-28 20:25:14 +00:00
Matthias Clasen
55c286661b
menu: Stop using gtk_widget_register_surface
...
It does not seem to be necessary at all.
2019-05-28 20:25:14 +00:00
Matthias Clasen
73a6aaebfd
surface: Make gdk_surface_get_device_position void
...
None of the callers were using the return value,
and without child surfaces, it is not very useful.
2019-05-28 20:25:14 +00:00
Matthias Clasen
48b522c487
x11: Drop a gratitious use of gdk_event_get_root_coords
...
We are in the backend, so we can do the translation ourselves.
2019-05-28 20:25:14 +00:00
Matthias Clasen
bb399b5d8f
Remove gdk_surface_get_geometry as public api
...
We still need to keep the vfunc around, since the
fallback implementation of gdk_display_get_monitor_at_surface
uses it. So, a GDK backend must either have root coordinates
or always return a monitor from monitor_at_surface.
2019-05-28 20:25:14 +00:00
Matthias Clasen
cb23d40d36
Drop gdk_surface_get_root_origin
...
It was not used.
2019-05-28 20:25:14 +00:00
Matthias Clasen
8ee1620a2c
Remove gdk_surface_get_root_coords as public api
...
We still need to keep the vfunc around, since the
fallback implementation for move_to_rect uses it.
So, a GDK backend must either have root coordinates
or implement move_to_rect.
2019-05-28 20:25:14 +00:00
Matthias Clasen
2ccd0dc8c6
Remove gdk_surface_coords_to/from_parent
...
This api was unused, and surfaces have no parents anymore.
2019-05-28 20:25:14 +00:00
Matthias Clasen
a3e0329a12
surface: Small simplification
...
No more special-casing of state setting.
2019-05-28 20:25:14 +00:00
Matthias Clasen
9b54f124e5
surface: Simplify destroy implementation
...
Without child surfaces, there is no need to recurse.
2019-05-28 20:25:14 +00:00
Matthias Clasen
3248bdc726
surface: Remove abs_x/abs_y
...
We no longer have child windows, so the offset is
always 0.
2019-05-28 20:25:14 +00:00
Matthias Clasen
0f5a6a3927
surface: Small cleanup
...
Every surface has an impl now, no need to check.
2019-05-28 20:25:14 +00:00
Matthias Clasen
77e99f70fe
surface: Simplify some code
...
Fold gdk_surface_process_updates_recurse into its
only caller. There is no recursion here anymore.
2019-05-28 20:25:14 +00:00
Matthias Clasen
0699b17848
Remove surface->children
...
This field is not used at all anymore.
2019-05-28 20:25:13 +00:00
Matthias Clasen
2eebac8819
gdk: Stop using surface->children
...
It is always NULL.
2019-05-28 20:25:13 +00:00
Matthias Clasen
7aae92656d
wayland: Stop using surface->children
...
It is always NULL.
2019-05-28 20:25:13 +00:00
Matthias Clasen
e68c5541e2
Remove surface->parent
...
This field is no longer used.
2019-05-28 20:25:13 +00:00
Matthias Clasen
0760958f71
gdk: Stop using surface->parent
...
It is always NULL.
2019-05-28 20:25:13 +00:00
Matthias Clasen
edab50139a
broadway: Stop using surface->parent
2019-05-28 20:25:13 +00:00
Matthias Clasen
6183d58f80
x11: Stop using surface->parent
...
It is always NULL.
2019-05-28 20:25:13 +00:00
Matthias Clasen
bb1dd3f3ae
wayland: Stop using surface->parent
...
It is always NULL.
2019-05-28 20:25:13 +00:00
Matthias Clasen
60ec1ee334
surface: Remove code dealing with child surfaces
...
We no longer have child surfaces, so this code
is never run.
2019-05-28 20:25:13 +00:00
Matthias Clasen
90e86b351d
surface: minor cleanup
...
Make gdk_surface_new fully private, and reduce the use
of GdkSurfaceAttr.
2019-05-28 20:25:13 +00:00
Matthias Clasen
989792cbc0
Drop child surfaces
...
Drop gdk_surface_child_new and the child surface type,
since we no longer use them. Deprecate surface apis
that only make sense with child surfaces.
2019-05-28 20:25:13 +00:00
Matthias Clasen
52c3507ae1
widget: Stop using child surface apis
...
All our surfaces are toplevels now, and thus all native.
2019-05-28 20:25:13 +00:00
Matthias Clasen
43d4c908c9
a11y: Stop supporting ATK_XY_SCREEN
...
We were already not supporting ATK_XY_PARENT, and we can't
support global positions, so just always do ATK_XY_WINDOW.
2019-05-28 20:25:13 +00:00
Matthias Clasen
d6a85188b6
xim: Stop using child surface apis
...
We no longer have child surfaces.
Drop code that only makes sense in
their presence.
2019-05-28 20:25:13 +00:00
Matthias Clasen
f7e1146eda
wayland: Stop using child surface apis
...
We no longer have child surfaces.
Drop code that only makes sense in their
presence.
2019-05-28 20:25:13 +00:00
Matthias Clasen
68e5456db9
x11: Stop using child surface api
...
We no longer have child surfaces.
Drop code that only makes sense in
that case.
2019-05-28 20:25:13 +00:00
Matthias Clasen
c3c33ac168
entry completion: Use a popover
...
This lets us remove a use of GTK_WINDOW_POPUP,
which should eventually be going away.
We need to disable treeview search, since it
creates a toplevel that will disrupt our grabbing
popup, causing it to be dismissed.
We don't need to grab ourselves, since the popover
code does it for us. We don't need to reposition our
window, since the popover takes care of that too.
2019-05-28 20:25:13 +00:00
Matthias Clasen
0d25233e39
main: Use gtk_widget_get_native
2019-05-28 20:25:13 +00:00
Matthias Clasen
66ccc825de
main: Remove special-case hiding popopvers
...
This is now happening in GDK, so we don't have
to do this here anymore.
2019-05-28 20:25:13 +00:00
Matthias Clasen
580aa8204f
widget: Remove some unneeded popover special-casing
2019-05-28 20:25:13 +00:00
Matthias Clasen
82d506acd8
Adwaita: Give popover menus a background
...
This makes the hover highlight on menu items visible.
2019-05-28 20:25:13 +00:00
Matthias Clasen
1cbc26d9ee
menubutton: Allocate the popover
...
This is temporary, until we've figured out
the proper way of hooking this up
2019-05-28 20:25:13 +00:00
Matthias Clasen
4bf4f04d1f
Adapt to new popover lifecycle
...
We need to unparent popovers in dispose.
2019-05-28 20:25:13 +00:00
Matthias Clasen
6ab8ab87c8
Reimplement GtkPopover
2019-05-28 20:25:13 +00:00
Matthias Clasen
9e6d8becbb
surface: Start sketching a new surface type
...
Start by adding a constructor. We have to call it
gdk_surface_new_popup_full for now, since gdk_surface_new_popup
is taken. This may be reshuffled later.
2019-05-28 20:25:13 +00:00
Matthias Clasen
2764652b3c
menushell: Keep outside clicks working
...
We need to unset event propagation limits here
to keep receiving outside clicks that cause us
to close the menu.
2019-05-28 20:25:13 +00:00
Matthias Clasen
2606ca0bd1
Introduce event controller propagation limits
...
Limit event handlers by default to only handle
events targeting the same surface as their widget.
2019-05-28 20:25:13 +00:00
Matthias Clasen
54662f4ca0
widget: Don't snapshot foreign children
...
When snapshotting, we walk down the widget tree.
We need to skip children that have a different
surface, since those will do their own snapshot.
2019-05-28 20:25:13 +00:00
Matthias Clasen
8713397948
root: Make gtk_root_get_display public
...
This is following the precedent of making
GtkNative getters public.
2019-05-28 20:25:02 +00:00
Matthias Clasen
f2447e06af
GtkRoot: Drop overlap with GtkNative
...
Drop the parts from the GtkRoot interface
that have been taken over by GtkNative.
2019-05-28 20:24:39 +00:00
Matthias Clasen
5de06f47cf
widget: Use GtkNative
2019-05-28 20:24:39 +00:00
Matthias Clasen
9059eee2f0
Review and replace uses of get_toplevel
...
Now that roots can have parent widgets, we need to
carefully examine all calls of gtk_widget_get_toplevel,
and replace them with gtk_widget_get_root if we want
the nearest root, and not the ultimate end of the parent
chain.
2019-05-28 20:24:39 +00:00
Matthias Clasen
c1d5e82d95
Use GtkNative APIs instead of GtkRoot
2019-05-28 20:24:39 +00:00
Matthias Clasen
7dcb163ee6
Add gtk_widget_get_native
...
This is a common enough operation to deserve api.
2019-05-28 20:24:39 +00:00
Matthias Clasen
d4257d20f8
root: Require GtkNative
2019-05-28 20:24:39 +00:00
Matthias Clasen
5bf2b633bb
window: Implement GtkNative
...
Adapt GtkWindow to implement both GtkRoot and GtkNative.
2019-05-28 20:24:39 +00:00
Matthias Clasen
d51c85cf4e
native: Add to docs
2019-05-28 20:24:37 +00:00
Matthias Clasen
12a16a298b
Introduce GtkNative
...
Split off the parts of GtkRoot that are specific
to widgets having a surface into the GtkNative
interface.
2019-05-28 19:54:32 +00:00
Matthias Clasen
618f1f08ec
main: guard window-specific code paths
...
This was overlooked when I first tried to
make things for GtkRoot.
2019-05-28 19:54:32 +00:00
Matthias Clasen
afcf3e66f6
widget: guard popover-specific code paths
...
This is essentially a special case just for GtkPopover,
which is the last widget with a child surface.
2019-05-28 19:54:32 +00:00
Matthias Clasen
ff1150d87c
Export gtk_widget_render privately
...
We need it in gtkwindow.c and gtkpopover.c.
2019-05-28 19:54:32 +00:00
Benjamin Otte
096d28e60c
surface: Add marshallers for new events
...
This way, sysprof can profile through the signal emission, and for
signals this low in the stack, this is very useful.
2019-05-28 19:19:24 +02:00
Matthias Clasen
81548911de
file chooser widget: Drop the priv pointer
2019-05-28 03:02:33 +00:00
Matthias Clasen
236983d2aa
file chooser dialog: Drop the priv pointer
2019-05-28 02:48:26 +00:00
Matthias Clasen
2ae531ee9f
file chooser dialog: Make final
2019-05-28 02:42:14 +00:00
Matthias Clasen
e795c0c67e
file chooser widget: Make final
2019-05-28 02:41:15 +00:00
Matthias Clasen
6a7bf78b15
file chooser button: Make final
2019-05-28 02:40:08 +00:00
Matthias Clasen
933a9fba70
font chooser dialog: Drop the priv pointer
2019-05-27 22:37:41 -04:00
Matthias Clasen
27f854042d
font chooser widget: Drop the priv pointer
2019-05-27 22:27:47 -04:00
Matthias Clasen
19de2ce937
font chooser dialog: Make final
2019-05-28 00:57:47 +00:00
Matthias Clasen
1b34e15893
font chooser widget: Make final
2019-05-28 00:56:41 +00:00
Matthias Clasen
e11c1fcb91
font button: Make final
2019-05-28 00:55:28 +00:00
Matthias Clasen
dbdb137428
app chooser dialog: Drop the priv pointer
2019-05-27 20:51:46 -04:00
Matthias Clasen
e0a9952a56
app chooser widget: Drop the priv pointer
2019-05-27 20:44:01 -04:00
Matthias Clasen
b080a980d9
app chooser dialog: Make final
2019-05-27 20:30:59 -04:00
Matthias Clasen
5c16de71f5
app chooser widget: Make final
2019-05-27 20:30:48 -04:00
Matthias Clasen
5b4dfb3079
app chooser button: Make final
2019-05-27 20:30:35 -04:00
Matthias Clasen
4b4e370c9d
color chooser dialog: Drop the priv pointer
2019-05-27 20:23:50 -04:00
Matthias Clasen
d5fe6fa517
color chooser widget: Drop the priv pointer
2019-05-27 20:23:50 -04:00
Matthias Clasen
fe2865259f
color chooser dialog: Make final
2019-05-27 20:23:50 -04:00
Matthias Clasen
44640aeeea
color chooser widget: Make final
2019-05-27 20:23:50 -04:00
Matthias Clasen
36e76db0d0
color button: Make final
2019-05-27 20:23:50 -04:00
Matthias Clasen
2ef8bd0b95
entry completion: Make final
2019-05-27 20:23:50 -04:00
Matthias Clasen
90aebd4f84
text tag table: Make final
...
And also move private function to a private header.
2019-05-27 20:23:50 -04:00
Matthias Clasen
106dd75b3b
Remove an unused function
...
_gdk_make_event was not used anywhere.
2019-05-27 20:23:50 -04:00
Matthias Clasen
f111e3f467
text mark: Use standard padding
2019-05-27 20:23:50 -04:00
Matthias Clasen
1e2874fc59
text tag: Use standard padding
2019-05-27 20:23:50 -04:00
Matthias Clasen
b49d1e8c6b
overlay: Make final
2019-05-27 20:23:50 -04:00
Timm Bäder
e22073dc97
sizerequest: Fix request mode for layout managers
...
We can't just call GtkWidgetClass::get_request_mode() anymore. If the
widget has a layout manager, we need to ask that one.
2019-05-27 18:12:26 +02:00
Timm Bäder
4134b67827
layoutmanager: Never pass NULL pointers to ->measure
...
We don't do that in GtkWidgetClass::measure() implementations either, so
make the semantics match.
2019-05-27 18:12:26 +02:00
Timm Bäder
23ddac2e72
filechooserentry: Correctly annotate a return value as (nullable)
2019-05-27 18:12:26 +02:00
Timm Bäder
3a26efb5ca
filechooserentry: Rename function to make sense
...
This is GtkFileChooserEntry API, not GtkFileChooser API.
2019-05-27 18:12:25 +02:00
Matthias Clasen
cfe648eb11
Don't load print backends more than once
...
The modules don't depend on the default display
at all, and loading them more than once makes
the displayclose test fail here, locally.
2019-05-27 12:59:36 +00:00
Matthias Clasen
1f21badd72
Merge branch 'meson-man-without-docs' into 'master'
...
meson: allow building man pages without the documentation
See merge request GNOME/gtk!875
2019-05-27 09:30:45 +00:00
Matthias Clasen
be305d6dab
check menu item: Drop the priv pointer
2019-05-27 00:41:58 -04:00
Matthias Clasen
5e4512d4c7
check menu item: Use standard padding
2019-05-27 04:33:30 +00:00
Matthias Clasen
273fa042a8
radio menu item: Drop the priv pointer
2019-05-27 00:32:39 -04:00
Matthias Clasen
d26eb4fce7
radio menu item: Make final
2019-05-27 04:26:34 +00:00
Matthias Clasen
5d3c85c7e9
radio button: Make final
2019-05-27 00:10:48 -04:00
Matthias Clasen
a29fe385df
check button: Use standard padding
2019-05-27 04:09:41 +00:00
Matthias Clasen
6d9bac47b3
toggle button: Use standard padding
2019-05-27 04:08:07 +00:00
Matthias Clasen
bf2ff5f582
grid: Use standard padding
2019-05-26 23:30:21 -04:00
Matthias Clasen
4e7f251b18
search bar: Make final
2019-05-26 23:27:15 -04:00
Matthias Clasen
749c9720ce
paned: Make final
2019-05-27 03:25:34 +00:00
Matthias Clasen
b68554b14a
spin button: Make final
2019-05-26 23:22:47 -04:00
Matthias Clasen
bba97eae36
search entry: Make final
2019-05-26 23:21:07 -04:00
Matthias Clasen
a2d2c8afc4
range: Use standard padding
2019-05-26 23:18:38 -04:00
Matthias Clasen
546cbd55eb
scale: Use standard padding
2019-05-26 23:17:28 -04:00
Matthias Clasen
4730b5c281
menu item: Use standard padding
2019-05-26 23:14:36 -04:00
Matthias Clasen
e57da00824
menu shell: Use standard padding
2019-05-26 23:13:55 -04:00
Matthias Clasen
a62a7ab282
menu button: Make final
2019-05-26 23:10:57 -04:00
Matthias Clasen
54f469bba4
revealer: Make final
2019-05-27 03:08:37 +00:00
Matthias Clasen
ff115472e3
entry: Use standard padding
2019-05-27 03:03:47 +00:00
Matthias Clasen
30925a532d
separator tool item: Make final
2019-05-26 23:01:34 -04:00
Matthias Clasen
85cd9ab7c6
separator menu item: Make final
2019-05-26 23:00:15 -04:00
Matthias Clasen
efed83d3c6
status bar: Make final
2019-05-27 02:51:44 +00:00
Matthias Clasen
53010fd0b3
expander: Make final
2019-05-26 22:50:03 -04:00
Matthias Clasen
58bad1d409
cell area context: Drop the priv pointer
2019-05-26 22:44:08 -04:00
Matthias Clasen
7167113da9
cell area context: Use standard padding
2019-05-26 22:40:02 -04:00
Matthias Clasen
19b3f692d1
separator: Make final
2019-05-26 22:37:56 -04:00
Matthias Clasen
835f392196
scrollbar: Make final
2019-05-26 22:37:42 -04:00
Matthias Clasen
4a3ae35832
header bar: Make final
2019-05-26 22:32:21 -04:00
Matthias Clasen
8cffa11a8b
info bar: Make final
2019-05-26 22:30:33 -04:00
Matthias Clasen
aea82cb331
level bar: Make final
2019-05-26 22:24:14 -04:00
Matthias Clasen
f47a84f233
image: Make final
2019-05-26 22:22:40 -04:00
Matthias Clasen
86f81a11d8
gl area: Use standard padding
2019-05-26 22:19:21 -04:00
Matthias Clasen
23f55f1c24
combo box: Use standard padding
2019-05-26 22:19:21 -04:00
Matthias Clasen
72ef09f55d
combo box text: Make final
2019-05-26 22:16:58 -04:00
Matthias Clasen
537cf2acec
cell view: Drop the priv pointer
2019-05-26 22:14:20 -04:00
Matthias Clasen
265daf9082
cell view: Make final
2019-05-26 22:14:20 -04:00
Matthias Clasen
280bbfe522
Drop cellarea subclassing tests
2019-05-26 22:14:20 -04:00
Matthias Clasen
886de6c164
action bar: Make final
2019-05-26 21:57:42 -04:00
Matthias Clasen
597c816368
cell area box: Drop the priv pointer
2019-05-26 21:56:00 -04:00
Matthias Clasen
50f753c60a
builder: Use standard padding
2019-05-26 21:43:34 -04:00
Matthias Clasen
d5b41a55a6
cell area: Drop the priv pointer
2019-05-26 21:42:22 -04:00
Matthias Clasen
51036ff043
cell area: Use standard padding
2019-05-27 01:34:06 +00:00
Matthias Clasen
dcfa2fa4bd
aspect frame: Make final
2019-05-27 01:32:24 +00:00
Matthias Clasen
b2da9c919b
assistant: Drop the priv pointer
2019-05-26 21:20:53 -04:00
Matthias Clasen
028417185f
assistant: Make final
2019-05-26 21:08:01 -04:00
Matthias Clasen
651a2b2e40
accel label: Make final
2019-05-26 21:01:33 -04:00
Matthias Clasen
9ce9f0427e
about dialog: Make final
2019-05-26 20:49:19 -04:00
Matthias Clasen
ee299e80fa
cell renderer pixbuf: Drop the priv pointer
2019-05-26 20:46:38 -04:00
Matthias Clasen
12042332ef
cell renderer pixbuf: Make final
2019-05-26 20:44:07 -04:00
Matthias Clasen
8dba12e1c5
cell renderer progress: Drop the priv pointer
2019-05-26 20:42:08 -04:00
Matthias Clasen
367f350f1f
cell renderer progress: Make final
2019-05-26 20:40:15 -04:00
Matthias Clasen
dc918a00fc
cell renderer spin: Drop the priv pointer
2019-05-26 20:37:42 -04:00
Matthias Clasen
c21d74e48d
cell renderer spin: Make final
2019-05-26 20:35:26 -04:00
Matthias Clasen
d20c7e3077
cell renderer spinner: Drop priv pointer
2019-05-26 20:33:38 -04:00
Matthias Clasen
0a41fc5452
cell renderer spinner: Make final
2019-05-26 20:30:04 -04:00
Matthias Clasen
70af933804
cell renderer text: Drop the priv pointer
2019-05-26 20:28:38 -04:00
Matthias Clasen
a5c2ad18d5
cell renderer text: Use standard padding
2019-05-26 20:21:50 -04:00
Matthias Clasen
509cd3ae61
cell renderer toggle: Drop the priv pointer
2019-05-26 20:20:11 -04:00
Matthias Clasen
c1cc94b08b
cell renderer toggle: Make final
2019-05-26 20:17:15 -04:00
Matthias Clasen
ebc2bb9a2f
cell renderer combo: Drop the priv pointer
2019-05-26 20:12:40 -04:00
Matthias Clasen
b55f1b4c8f
cell renderer combo: Make final
2019-05-26 20:07:53 -04:00
Matthias Clasen
11e121d344
cell renderer accel: Drop the priv pointer
2019-05-26 19:51:49 -04:00
Matthias Clasen
0b65c4476d
cell renderer accel: Make final
2019-05-26 19:47:04 -04:00
Matthias Clasen
b835367413
cell renderer: Use standard padding
2019-05-26 23:35:24 +00:00
Matthias Clasen
695b450e80
calendar: Drop the priv pointer
2019-05-26 19:20:26 -04:00
Matthias Clasen
76f2a8f2dc
calendar: Make final
2019-05-26 18:56:56 -04:00
Matthias Clasen
796ee8816c
spinner: Make final
2019-05-26 18:50:49 -04:00
Matthias Clasen
864da2fcd5
progress bar: Make final
2019-05-26 18:49:21 -04:00
Matthias Clasen
6a669265ac
print operation: Drop the priv pointer
2019-05-26 18:38:44 -04:00
Matthias Clasen
cc1c1df405
print operation: Use standard class padding
2019-05-26 18:38:41 -04:00
Matthias Clasen
15f4c40a91
Rename gtkprintbackend.h to gtkprintbackendprivate.h
...
Follow the naming convention for private headers.
2019-05-26 22:23:52 +00:00
Matthias Clasen
33bb80f387
print job: Make final
...
No need to subclass this.
2019-05-26 17:51:24 -04:00
Matthias Clasen
651b29b797
printer: Drop the priv pointer
2019-05-26 17:51:02 -04:00
Matthias Clasen
9422973c2a
printer: Make private
...
We want to subclass this in print backends,
but we don't want to allow out-of-tree subclassing.
2019-05-26 20:35:55 +00:00
Matthias Clasen
cb2369bf70
Rename gtkprinter-private.h
...
Name this header gtkprinterprivate.h, following
our convention for private headers.
2019-05-26 16:29:57 -04:00
Matthias Clasen
6a5963a395
stack switcher: Make final
...
This should not be subclassed.
2019-05-26 16:23:17 -04:00
Matthias Clasen
5ec165e088
stack sidebar: Make final
...
This should not be subclassed.
2019-05-26 16:19:44 -04:00
Matthias Clasen
c0eea6c5de
print dialog: Drop the priv pointer
2019-05-26 20:08:01 +00:00
Matthias Clasen
bb46cc6470
print dialog: Make final
...
Nobody should subclass this.
2019-05-26 19:55:41 +00:00
Matthias Clasen
210a439365
page setup dialog: Drop the priv pointer
2019-05-26 19:43:41 +00:00
Matthias Clasen
8438510034
page setup dialog: Make final
...
No subclassing needed.
2019-05-26 19:38:39 +00:00
Matthias Clasen
fb334b1b15
switch: Make final
...
This should not be subclassed.
2019-05-26 15:34:31 -04:00
Matthias Clasen
96eefd49fa
icon theme: Make final
...
Nobody should subclass GtkIconTheme or GtkIconInfo.
2019-05-26 15:33:10 -04:00
Matthias Clasen
c2fd6b9fa4
textview: Use standard padding
...
Given that GtkSourceView exists, we will have
to keep GtkTextView subclassable until a replacement
appears.
2019-05-26 15:25:46 -04:00
Matthias Clasen
e9bc767691
viewport: Cleanup
2019-05-26 15:18:42 -04:00
Matthias Clasen
8de9f41b5d
viewport: Make final
...
No need to derive from it.
2019-05-26 15:16:00 -04:00
Matthias Clasen
848f658b32
Trivial
2019-05-26 00:08:39 -04:00
Matthias Clasen
71cc68b14b
surface: fix up docs
...
The docs for gdk_surface_invalidate_region were
talking about a no-longer-existing argument.
2019-05-26 00:07:47 -04:00
Matthias Clasen
4df64bce83
color plane: Don't allocate 0-size textures
...
This triggers critials, and does us no good.
2019-05-26 00:01:15 -04:00
Matthias Clasen
8d1f05f5ac
Cosmetics
2019-05-26 04:00:07 +00:00
Benjamin Otte
928c85ccc3
rendernodeparser: Parse Cairo nodes
...
We also print the script, but we don't parse it yet.
2019-05-26 00:50:13 +02:00
Benjamin Otte
fda643952d
rendernode: Remove unused function
2019-05-25 23:50:46 +02:00
Benjamin Otte
0cd8dd4294
inspector: Make updates overlay not crash
...
... when a window gets hidden and later reshown.
The code now properly cleans up a window when it gets unmapped instead
of trying to retain previous updates information.
2019-05-25 22:32:35 +02:00
Matthias Clasen
c50052e223
Revert "wayland: Keep some resources until destroy"
...
This reverts commit f2d598b9a1 .
2019-05-25 18:08:43 +00:00
Christoph Reiter
758830e7c3
meson: allow building man pages without the documentation
...
The 'documentation' option also guarded the man page build. Instead
if skipping the whole docs subdir skip the specific gtkdoc calls, so that the
man page build still works.
This brings it in line with the gtk3 meson build.
2019-05-25 18:33:01 +02:00
Matthias Clasen
e95e39cbd3
widget-factory: Add some animation in a popover
2019-05-24 07:44:21 -04:00
Matthias Clasen
beedec1904
broadway: add frame times to the profiler
2019-05-24 07:19:14 -04:00
Matthias Clasen
63f6aca1cf
fishbowl: Add a menubutton demo
...
This reveals some issues with the position tracking.
2019-05-24 00:31:07 +00:00
Matthias Clasen
6c3e874701
menu button: Add popup/popdown functions
...
These are needed, after all.
2019-05-24 00:30:39 +00:00
Matthias Clasen
018795127e
fishbowl: Fix the lock button
2019-05-24 00:13:03 +00:00
Timm Bäder
fb86fd900e
gl renderer: Make creating render targets easier
2019-05-23 18:42:00 +02:00
Timm Bäder
f32756e705
gl renderer: Remove some unused api form the GLDriver
2019-05-23 18:42:00 +02:00
Matthias Clasen
e2fc00222e
fishbowl: Don't show ridiculous precision
...
Two decimals are more than enough for the frame rate.
2019-05-23 12:38:57 +00:00
Matthias Clasen
cb63878b4f
Merge branch 'issue1901-gtk4' into 'master'
...
wayland: Use scale from core wl_output protocol
Closes #1901
See merge request GNOME/gtk!870
2019-05-22 11:42:54 +00:00
Olivier Fourdan
713fceb1bd
wayland: Use scale from core wl_output protocol
...
The “xdg-output” protocol provides clients with the outputs size and
position in compositor coordinates, and does not provide the output
scale which is already provided by the core “wl_output” protocol.
So when receiving the wl_output scale event, we should update the scale
regardless of “xdg-output” support, otherwise the scale will remain to
its default value of 1 and the surface will be scaled up by the
compositor to match the actual output scale, which causes blurry fonts
and widgets.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/1901
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com >
2019-05-22 12:22:36 +02:00
Matthias Clasen
d0137ef627
gtk-demo: Reinstate flat menu buttons
2019-05-21 19:05:41 -04:00
Matthias Clasen
4594d82b14
widget-factory: Reinstate flat menu buttons
2019-05-21 19:05:41 -04:00
Matthias Clasen
5ec7a31cf1
menu button: Add a relief property
...
This is used in various places.
2019-05-21 19:05:41 -04:00
Daniel Boles
7575d5216f
ScrolledWindow: Annotate h|vadjustment as nullable
...
The code interprets NULL to mean 'create a new Adjustment and use that,
deposing the old one', but we neither documented nor annotated that
ability, so users could be unsure how to "unlink" a specific Adjustment.
While users could pass their own Adjustment in if this wasn't nullable,
we already support NULL in the code, and it doesn't hurt to document
that this is available as a convenience while retaining the behaviour.
2019-05-21 21:21:14 +01:00
Daniel Boles
45a98d6a93
ScrolledWindow: Replace deprecated (allow-none)
...
We prefer (nullable) for in arguments and (optional) for out arguments
that can be passed as NULL to avoid assigning anything to them.
2019-05-21 21:21:14 +01:00
Daniel Boles
037454d904
testscrolledwindow: GtkMenuButton != GtkContainer
...
It's not anymore, so don't cast it to one... Use the new :label instead.
2019-05-21 21:21:01 +01:00
Krzesimir Nowak
49d994ddc2
testsuite: Fix leak
2019-05-21 19:23:00 +02:00
Emmanuele Bassi
9bbd489f06
Merge branch 'mkenums-once' into 'master'
...
Use g_once for all the mkenums template files
Closes #1617
See merge request GNOME/gtk!865
2019-05-21 16:42:05 +00:00
Federico Mena Quintero
2a9b3c6a0c
Use g_once for all the mkenums template files
...
Without this, initialization of enum/flags values from multithreaded
programs may not work correctly.
Fixes #1617 .
2019-05-21 10:32:08 -05:00
Benjamin Otte
9f739ab135
Merge branch 'win32-enable-werror' into 'master'
...
Win32 enable werror
See merge request GNOME/gtk!861
2019-05-21 14:39:53 +00:00
Emmanuele Bassi
799e9214dd
Merge branch 'issue-302-master' into 'master'
...
docs: Fix the override for GdkAtom
Closes #302
See merge request GNOME/gtk!864
2019-05-21 13:46:23 +00:00
Emmanuele Bassi
e3fa2bafcc
docs: Fix the override for GdkAtom
...
GdkAtom is a typedef to a pointer to an opaque structure. We need to
tell GTK-Doc how to override it, so that the documentation is accurate.
Fixes : #302
2019-05-21 14:31:41 +01:00
Timm Bäder
fcfc2ca518
gl renderer: Render recording surface untransformed
...
Cairo can't handle the y flip apparently.
Fixes #1906
2019-05-21 08:38:11 +02:00
Timm Bäder
3f1afd6040
gl glyphcache: Don't choke on huge glyphs
...
We blindly assume everywhere that a single glyph will definitely fit on
one atlas, but that's not always the case.
For now, don't crash or produce GL errors.
2019-05-21 08:17:13 +02:00
Timm Bäder
a474beb7b8
widget: Don't always call get_display() when allocating
...
The GTK_DISPLAY_DEBUG_CHECK macro will cleverly only call the function
if any of the display debug flags are set, so in the common case it
won't even be executed.
2019-05-21 08:17:13 +02:00
Benjamin Otte
e197752afe
win32: Fix meson names for defines
...
Those have been wrong forever, but nobody cares because they get to the
values we want anyway.
2019-05-21 07:46:42 +02:00
Benjamin Otte
fc9f4add92
win32: Enable --werror in CI
2019-05-21 07:33:57 +02:00
Benjamin Otte
143bba075f
win32: Remove outdated workaround
...
The function that was missing in 2016 does exist now.
Fixes gcc complaining about a wrong declaration.
2019-05-21 07:33:57 +02:00
Benjamin Otte
5273634f47
tests: Use g_free(), not free()
...
Windows doesn't like that.
2019-05-21 07:23:30 +02:00
Benjamin Otte
ca2bffc060
imcontextime: Add missing semicolon
...
I wonder how thoroughly this was tested... ;)
2019-05-21 07:23:30 +02:00
Benjamin Otte
b36b9323fc
win32: Add missing enum value to switch statement
2019-05-21 07:23:30 +02:00
Benjamin Otte
3ace1f5939
imcontextime: Remove unused variables
2019-05-21 07:23:30 +02:00
Benjamin Otte
4f0cc3086f
win32: Rename a shadowing variable
2019-05-21 07:23:30 +02:00
Benjamin Otte
9521af0f6a
window: Remove unneeded variable
...
The variable would show up as a gcc warning in builds without X11
support.
2019-05-21 07:23:30 +02:00
Benjamin Otte
0877b29e8e
win32: Actually pass y variable for y parameter
2019-05-21 07:23:30 +02:00
Benjamin Otte
1793546d7a
win32: Remove unused variables
2019-05-21 07:23:30 +02:00
Benjamin Otte
321a21015e
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!860
2019-05-21 05:22:41 +00:00
Benjamin Otte
63a8144e1a
testsuite: Remove serialize-deserialize test
...
The serialize-deserialize test is completely handled via the new
nodeparser tests.
So move those tests over and delete the old test binary.
2019-05-21 06:43:59 +02:00
Benjamin Otte
0a32305f01
testsuite: Add render tests for all the empty nodes
...
Test that rendering empty nodes succees. For a lot of nodes the
resulting rendering isn't clearly defined, in those cases we overdraw
those regions (sometimes the whole image) with black.
2019-05-21 06:43:59 +02:00
Benjamin Otte
eb386134e3
testuite: Improve compare-render binary
...
- Remove remains of g_test_*() functions
We're not a glib test, we're a simple binary.
- Handle nonexistence of reference image properly
Don't assert, but create the output image and the error out.
2019-05-21 06:43:59 +02:00
Benjamin Otte
29cb9230bf
rendernode: Blur alpha channel for cairo blur node
...
The blur node still doesn't properly blur with a transform, but at least
it now doesn't turn semi-transparent stuff black.
2019-05-21 06:43:59 +02:00
Benjamin Otte
b37c2216fc
testsuite: Add empty node tests
...
For every node type, add a test that creates it empty and ensure that
it prints the reference output.
2019-05-21 06:43:59 +02:00
Benjamin Otte
b90a66cab5
rendernodeparser: Allow parsing strings
...
Instead of only allowing for glyph indexes, allow ASCII characters as
replacements. So this glyph sequence
glyphs: 65 8, 66 8, 67 8
Can be replaced by
glyphs: "ABC"
provided that the glyph for "A", "B" and "C" are 65, 66 and 67
respectively and their advance is exactly 8.
x offset and y offset must always be 0 and every glyph must start a
cluster.
2019-05-21 06:43:59 +02:00
Benjamin Otte
1a65a6ce76
rendernodeparser: Update to new rules
...
Update to the docs outlined in #1887 .
In particular, the changes do:
1. Require no property, have a working default for everything
2. Be clear about what gets printed and how.
Tests ahve been adapted to still pass.
2019-05-21 06:43:59 +02:00
Benjamin Otte
678aa8088f
rgba: Add GDK_RGBA() macro
...
So far it's private, but it's a pretty cute way to use hex colors, so we
might conside making it public.
2019-05-21 06:43:59 +02:00
Benjamin Otte
a1d08b4b52
rendernode: Take a graphene_point_t for the offset
...
... instead of 2 floats.
2019-05-21 06:43:59 +02:00
Benjamin Otte
0fd0be4f9a
testsuite: Redo node-parser
...
Base the rewrite on testsuite/css/parser/test-css-parser - we now
require the node file to match a reference node and track the errors it
triggers.
We also no longer use gtester.
2019-05-21 06:43:59 +02:00
Benjamin Otte
20d1bc2ccc
rendernodeparser: Skip root node when it's a container
...
When printing, behave the same way as when parsing:
Magically skip a container node if there is one - just like the
parser magically creates a container node to hold all the nodes
it parses.
2019-05-21 06:43:59 +02:00
Benjamin Otte
ed0ecf0ff0
rendernodeparser: Allow single values instead of 4
...
This allows writing:
colors: red;
instead of
colors: red red red red;
to draw a red border.
2019-05-21 06:43:59 +02:00
Benjamin Otte
c8fc40e793
rendernodeparser: Print properties alphabetically
...
Because now we have a rule.
Also update some tests to the new order.
2019-05-21 06:43:59 +02:00
Benjamin Otte
6c473d5ff7
glrenderer: Handle NULL debug messages
2019-05-21 06:43:59 +02:00
Matthias Clasen
fc2dc82b70
gtk-demo: Fix menubutton usage in listbox demo
...
Menu buttons are no longer buttons, so they
can't have children, and don't have a relief
property.
2019-05-21 00:04:24 +00:00
Matthias Clasen
5327799046
inspector: Don't apply button api to menu buttons
2019-05-20 23:33:45 +00:00
Timm Bäder
aa922f0779
gl renderer: Pass correct matrix category when rendering offscreen
...
We can't just pretend we have an identity matrix when we are actually
scaling. This fixes the node editor sometimes not drawing things when
rendering to a texture. We were mistakenly discaring render nodes
because the bounds transformation was wrong.
2019-05-20 12:10:12 +02:00
Timm Bäder
7e502d0752
gl renderer: Delete render_texture framebuffer
2019-05-20 11:08:50 +02:00
Timm Bäder
6a69dc6e5d
gl renderer: A GdkGLTexture's context might be NULL
...
gdk_gl_texture_download ought to still work, but we can't make a NULL
context current obviously.
2019-05-20 09:33:55 +02:00
Timm Bäder
5aa531674e
gl renderer: Really fix gl debugging code
...
Properly label an object and make sure we have the right gl context even
after a gdk_gl_context_end_frame call.
2019-05-20 08:47:41 +02:00
Matthias Clasen
322507f24c
builder-tool: Remove debug spew
2019-05-20 00:04:57 +00:00
Matthias Clasen
0a217cdd39
x11: Remove to unused settings
...
We no longer have settings for gtk-button-images
or gtk-menu-images.
2019-05-19 17:12:37 -04:00
Matthias Clasen
a798e2ff5e
lock button: Don't allow subclassing
2019-05-19 17:12:24 -04:00
Matthias Clasen
c8a901c1dc
link button: Don't allow subclassing
2019-05-19 21:05:40 +00:00
Matthias Clasen
825b48911b
Fix a compiler warning
2019-05-19 16:46:07 -04:00
Matthias Clasen
56e93332d8
popover menu: Make not subclassable
2019-05-19 16:46:07 -04:00
Matthias Clasen
cbab83b843
popover: Cosmetics
...
Use the same amount of padding as everywhere else.
2019-05-19 20:34:49 +00:00
Matthias Clasen
2dec0b8d7f
volume button: Don't allow subclassing
...
If you want to subclass, there's GtkScaleButton.
2019-05-19 20:34:13 +00:00
Matthias Clasen
8c1bce72d5
settings: Drop the priv pointer
2019-05-19 20:04:47 +00:00
Matthias Clasen
ced07b92a2
application window: Drop the priv pointer
2019-05-19 19:52:34 +00:00
Matthias Clasen
d9626820e9
sizegroup: Drop the priv pointer
2019-05-19 19:22:53 +00:00
Matthias Clasen
f6dc6bed07
settings: Make not subclassable
...
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 15:13:19 -04:00
Matthias Clasen
8808e194cf
Forgotten file
2019-05-19 15:09:36 -04:00
Matthias Clasen
be40ecbfe6
shortcuts window: Make not subclassable
...
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 19:03:49 +00:00
Matthias Clasen
c31eadc3a1
css provider: Make not subclassable
...
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 18:41:33 +00:00
Matthias Clasen
963152a85a
size group: Make not subclassable
...
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 17:49:07 +00:00
Matthias Clasen
f656d38e59
password entry: Make not subclassable
...
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 13:29:37 -04:00
Matthias Clasen
3250e703b6
Padding review
...
Ensure that the class structs of all subclassable
types have sufficient padding (standardizing on 8
slots, here).
GtkBox
GtkButton
GtkDrawingArea
GtkFixed
GtkFrame
2019-05-19 17:18:48 +00:00
Matthias Clasen
54530334f4
Revert "wayland: Make popups work more than once"
...
This reverts commit e74c655016 .
2019-05-19 16:50:49 +00:00
Matthias Clasen
2c9a1f8b6c
message dialog: Make not subclassable
...
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 16:49:45 +00:00
Matthias Clasen
bd6c4a0dec
Padding review
...
Ensure that the class structs of all subclassable
types have sufficient padding (standardizing on 8
slots, here).
GtkApplication
GtkWidget
GtkContainer
GtkWindow
GtkDialog
GtkApplicationWindow
GtkToolItem
GtkBin
2019-05-19 16:24:44 +00:00
Matthias Clasen
eed37cd59a
Cosmetic changes
...
Use new-style padding for GdkContentProviderClass.
2019-05-19 16:20:15 +00:00
Matthias Clasen
68f2cd1f09
Trivial: Remove a few +'s
2019-05-19 15:29:04 +00:00
Matthias Clasen
d4f6bfbdad
Merge branch 'frame-pixel-counter' into 'master'
...
profiling: Add a counter for pixels drawn per frame
See merge request GNOME/gtk!855
2019-05-19 15:20:52 +00:00
Matthias Clasen
e74c655016
wayland: Make popups work more than once
...
The change to keep some server resources around
until destroy was causing us to not recreate
the right things when a surface is hidden and
then shown again. Make sure to recreate everything.
2019-05-19 04:43:16 +00:00
Matthias Clasen
3030e887a4
widget-factory: menu buttons can't have children
...
GtkMenuButton is no longer a container, so we
can't pack children in it.
2019-05-19 04:15:49 +00:00
Benjamin Otte
c878168b8d
Merge branch 'wayland-surface-unmap' into 'master'
...
wayland: Keep some resources until destroy
Closes #1485
See merge request GNOME/gtk!857
2019-05-18 19:24:47 +00:00
Matthias Clasen
f2d598b9a1
wayland: Keep some resources until destroy
...
The Wayland backend was dropping _all_ serverside
resources on hide, which is too early e.g. for
GtkGLArea which wants to use egl resources to
unload textures on unrealize.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1485
2019-05-18 19:15:47 +00:00
Matthias Clasen
74eea6511f
Merge branch 'button-clicked' into 'master'
...
Drop gtk_button_clicked
See merge request GNOME/gtk!856
2019-05-18 19:13:49 +00:00
Matthias Clasen
bcfff5e469
Drop gtk_button_clicked
...
This is not an api we want to propagate anymore.
If you need to, you can still emit the "clicked"
action signal on a button using g_signal_emit_by_name.
2019-05-18 14:33:41 -04:00
Matthias Clasen
5368f98dd5
demos: Stop using gtk_button_clicked
2019-05-18 14:33:41 -04:00
Matthias Clasen
cf47bb9355
gtk: Stop using gtk_button_clicked
...
This function is going away.
2019-05-18 14:27:09 -04:00
Matthias Clasen
6c9d50a013
profiling: Add a counter for pixels drawn per frame
...
This number clearly shows the recently discovered
"full redraws" problem.
2019-05-18 18:04:35 +00:00
Benjamin Otte
6e2df85ec8
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
Closes #1900
See merge request GNOME/gtk!854
2019-05-18 15:19:29 +00:00
Benjamin Otte
04da31f5f5
build: Convert CSS parser tests to single meson tests
2019-05-18 17:06:08 +02:00
Benjamin Otte
b76eb96c58
glcontext: Store the updated area in the right place
...
We need to store the region *before* adding our own damage area, because
we want to only store the changes of this frame, not the whole history.
So do it in the same place Vulkan does it.
Fixes #1900
2019-05-18 17:06:08 +02:00
Benjamin Otte
2bad613cb0
text: Ensure indexes are ordered properly
2019-05-18 17:06:08 +02:00
Benjamin Otte
fe592cd414
widget: Make gtk_widget_render() static
2019-05-18 17:06:08 +02:00
Matthias Clasen
9d16715eb3
Merge branch 'menubutton-no-button' into 'master'
...
Menubutton: don't derive from GtkButton
See merge request GNOME/gtk!853
2019-05-18 13:13:48 +00:00
Matthias Clasen
83d9e7a1c3
Adapt tests
...
We no longer have a clicked signal on GtkMenuButton.
2019-05-18 13:06:33 +00:00
Matthias Clasen
0eb7784785
Update all users for menubutton changes
2019-05-18 13:06:32 +00:00
Matthias Clasen
9111541807
a11y: Adapt to menu button changes
2019-05-18 13:06:32 +00:00
Matthias Clasen
6a7d70cc9f
menubutton: Don't derive from GtkToggleButton
...
Make GtkMenuButton a widget that has a
toggle button, instead of deriving from it.
We give it icon-name and label properties,
to let people do what they expect to do
with menu buttons.
2019-05-18 13:06:32 +00:00
Timm Bäder
63267a2f70
gl renderer: Render fallback nodes upside down
...
We stuff both gl-drawn and cairo-drawn textures into the same cache, so
we can't really assume that we need to draw any of them flipped or not.
Fix this by drawing fallback stuff upside down and then using
upside-down vertex data for everything.
Fixes #1897
2019-05-18 13:47:59 +02:00
Timm Bäder
a9fb528a60
gl renderer: Remove an outdated comment
2019-05-18 13:47:59 +02:00
Timm Bäder
a2518493a2
gl renderer: Fix color matrix shader
...
We *just* computed a un-premultiplied color, maybe we should also use
it.
2019-05-18 13:47:59 +02:00
Timm Bäder
2979aea3ae
testsuite: Add a color matrix test case
...
Color matrix nodes with an identity matrix and no offset should still
produce the expected image.
2019-05-18 13:47:59 +02:00
Timm Bäder
ccb9877534
gl renderer: Skip invisible shadows
2019-05-18 13:47:59 +02:00
Timm Bäder
dc7bf31b6e
gl renderer: Remove useless ops_offset calls
...
We add the shadow offset manually.
2019-05-18 13:47:59 +02:00
Timm Bäder
06c0a3d02c
issue templates: reproducers should be written in C
...
I don't want to install a new set of bindings every time someone
attaches a reproducer to a bug. I also don't want to rewrite sait
reproducer in C every time just to eliminate the possibility of broken
bindings.
2019-05-18 13:47:59 +02:00
Timm Bäder
1e613485d3
sidebarrow: Don't focus on click
...
This is sometimes important, e.g. when saving in the filechooser. We
don't want to move the focus out of the filename entry in that case.
2019-05-18 13:47:59 +02:00
Timm Bäder
8e9ac826a1
widget-factory: Add icon-dropshadow class to large icon
...
Looks stupid without the shadow.
2019-05-18 13:47:59 +02:00
Timm Bäder
3a863ccd00
filechooserwidget: Remove unused gobject data
2019-05-18 13:47:59 +02:00
Timm Bäder
7cec5323d1
Merge branch 'fix-non-csd-menu-corners-gtk4' into 'master'
...
Adwaita: Don't round the non-csd menu corners (GTK4)
See merge request GNOME/gtk!835
2019-05-17 13:46:06 +00:00
Matthias Clasen
533a3f1b4b
Merge branch 'openbsd-pid_get_parenvt-v2' into 'master'
...
pid_get_parent: fix potential leak of kp
See merge request GNOME/gtk!844
2019-05-17 11:55:16 +00:00
Antoine Jacoutot
7d8be1c1ff
pid_get_parent: fix potential leak of kp
2019-05-17 11:55:16 +00:00
Matthias Clasen
7e59ec4afc
Add clock freezes to the profile
2019-05-16 20:50:31 +00:00
Matthias Clasen
74ff970804
Merge branch 'frame-profiling' into 'master'
...
always record a frame end time when profiling
See merge request GNOME/gtk!850
2019-05-16 20:31:46 +00:00
Matthias Clasen
15fec034df
always record a frame end time when profiling
...
We need to keep this time, or we may end up with
negative frame intervals.
2019-05-16 19:45:30 +00:00
Matthias Clasen
be8e25c4d8
Merge branch 'frame-profiling' into 'master'
...
Redo frame profiling
See merge request GNOME/gtk!849
2019-05-16 19:30:23 +00:00
Matthias Clasen
33ffd54d5f
Redo frame profiling
...
We were adding incomplete frame timings to the
profile, which lead to occasional nonsense
numbers. Instead, only add timings to the profile
once we marked them as complete. This also
gives us an opportunity to add the presentation
time as a marker.
2019-05-16 19:08:34 +00:00
Daniel Mustieles
96a806e096
Updated Spanish translation
2019-05-16 12:42:05 +02:00
Benjamin Otte
061b36e6e4
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!843
2019-05-15 23:12:49 +00:00
Benjamin Otte
3e5f5d3959
flattenlistmodel: Do proper check
...
If we want the model items to be listmodels, we don't need to do a ==
comparison. We need to do g_type_is_a(). Implementations of listmodels
are obviously fine.
2019-05-15 23:39:37 +02:00
Matthias Clasen
45b552d146
profiler: Prefer CLOCK_MONOTONIC
...
This is what g_get_monotonic_time gives us,
after all, and we need to have the same clock
in all our profiler data.
2019-05-15 13:52:12 -04:00
Timm Bäder
7793818f2a
query: Remove private pointer
2019-05-15 17:53:18 +02:00
Timm Bäder
d53d7eb9e7
filechooserwidget: Remove some unused struct members
2019-05-15 17:08:58 +02:00
Timm Bäder
d9b6435f9a
accellabel: use a box layout
...
Instead of a GtkBox child widget.
2019-05-15 17:08:21 +02:00
Matthias Clasen
6a27fe15e3
Merge branch 'wip/carlosg/no-x11-core-events' into 'master'
...
Drop support for X11 core events
See merge request GNOME/gtk!846
2019-05-15 03:28:15 +00:00
Carlos Garnacho
58cfafdf04
gdk/x11: Remove XI1 remnant
...
This header is not referenced anywhere.
2019-05-15 01:10:08 +02:00
Carlos Garnacho
c2d92794e2
gdk/x11: Drop GdkDeviceManagerCore
...
Keep only the XInput2 device manager, which handles "modern" stuff
like scroll and touch.
2019-05-15 01:05:29 +02:00
Carlos Garnacho
33642e2255
gdk/x11: Make XInput2 a mandatory runtime dependency for x11
...
Besides requiring it at build time, require that the server the client
is running against exposes the XInput2 protocol. We no longer fallback
on a device manager for core events.
2019-05-15 01:05:20 +02:00
Carlos Garnacho
c4446d36de
gdk/x11: Drop GDK_CORE_DEVICE_EVENTS environment variable
...
Support for core events will be discontinued, so this doesn't make sense
anymore.
2019-05-15 01:05:20 +02:00
Carlos Garnacho
c4cf72ecb8
gdk/x11: Remove gdk_disable_multidevice()
...
Core events will be discontinued, so this call is meaningless now.
2019-05-15 01:05:20 +02:00
Carlos Garnacho
f3250172a4
gdk/x11: Make XInput2 a mandatory build time dependency for x11
...
XInput2 is more than a decade old already, and the input improvements
there (and in every other backend really) make it untenable to have
support for X11 core input events dragging things behind.
2019-05-15 01:05:20 +02:00
Matthias Clasen
599806ca82
Try again to fix profiler setup
...
We were trying to store the profiler_id
in a struct that does not exist at the time.
Store it somewhere else.
2019-05-14 20:09:44 +00:00
Matthias Clasen
c009611401
Fix registration of profiler DBus api
2019-05-14 12:06:55 +00:00
Matthias Clasen
ebc6bd834b
profiling: Only use frame timings when we have them
...
Christian Hergert reported a crash here,
when testing the profiling code.
2019-05-14 12:06:55 +00:00
Timm Bäder
66dcbcdfe7
cellrendererpixbuf: Avoid creating expander textures...
...
... every frame. Create them once when setting the pixbuf instead.
2019-05-14 09:05:51 +02:00
Timm Bäder
2164c3dba7
cellrendererpixbuf: Remove an unused local variable
2019-05-14 08:51:03 +02:00
Matthias Clasen
8cd1a4a095
Merge branch 'openbsd-pid_get_parent' into 'master'
...
pid_get_parent: fix for OpenBSD
See merge request GNOME/gtk!841
2019-05-13 19:09:26 +00:00
Antoine Jacoutot
0334ea1c88
pid_get_parent: fix for OpenBSD
...
This fixes a long standing bug in pid_get_parent on OpenBSD (which was mine
so... my fault). kp wasn't properly allocated and the function could return
random failures.
2019-05-13 20:47:46 +02:00
Matthias Clasen
9281e058f3
Merge branch 'modifier-events' into 'master'
...
key controller: Don't eat modifier events
Closes #1884
See merge request GNOME/gtk!839
2019-05-13 17:31:19 +00:00
Matthias Clasen
91d6893f02
key controller: Don't eat modifier events
...
The key controller was consuming key events
for modifier keys, for no entirely convincing
reason, which leads to problems when somebody
actually listens for those, such as the simple
input method does for C-S-u processing.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1884
2019-05-13 17:01:51 +00:00
Piotr Drąg
6de0874336
Update POTFILES.in
2019-05-13 18:59:18 +02:00
Matthias Clasen
0e9085ac7e
Merge branch 'default-decoration-dialogs' into 'master'
...
dialog: Use default decoration for non-custom headerbars
See merge request GNOME/gtk!836
2019-05-13 02:39:37 +00:00
Benjamin Otte
bb2e362533
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!838
2019-05-12 23:23:50 +00:00
Benjamin Otte
57061ea7df
rendernodeparser: Move EOF test into parse_declarations()
...
This way, we don't have to duplicate code.
Plus, we can ensure to clear the erroneously parsed value that should
not be used.
2019-05-13 00:59:15 +02:00
Benjamin Otte
ed4af4e777
rendernodeparser: Introduce clear_func
...
We want to be able to clear the already parsed contents, because we need
to do that when somebody parses the same property twice.
2019-05-13 00:49:18 +02:00
Florian Müllner
66c8a996f9
dialog: Use default decoration for non-custom headerbars
...
There are two ways GTK can add a headerbar to a dialog:
- the dialog is constructed with the :use-header-bar property
- all windows should use client-side decorations
In the first case, the headerbar is added by GtkDialog with no
dedicated style class, and in the latter by GtkWindow with the
"default-decoration" style.
As a result, dialogs with plain titlebars can end up with clearly
distinct and inconsistent styles.
To address this, allow headerbars to track whether they should use
the "default-decoration" style and enable it for dialogs.
https://gitlab.gnome.org/GNOME/gtk/merge_requests/836
2019-05-12 20:09:03 +00:00
Matthias Clasen
1318d3748a
about dialog: Fix page visibility
...
The handling of page visibility broke when the dialog
was ported to GtkStackPage in 52b83ac553 .
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1877
2019-05-12 18:20:52 +00:00
Matthias Clasen
04754d753b
Reinstate the activate-focus keybinding
...
Commit 3b62d9c027 was a bit overzealous in
removing not just the public API for activating the focus
widget, but also the plumbing needed to make the keybinding
work.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1879
2019-05-12 18:07:33 +00:00
Benjamin Otte
f8c1f7173a
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!832
2019-05-12 16:27:47 +00:00
Benjamin Otte
a04ea72ca1
rendernodeparser: Default color to black
...
Nobody wants to render transparent text.
2019-05-12 17:28:19 +02:00
Benjamin Otte
0886ade182
cssparser: Make gsk_renderer_consume_url() return a string
...
We don't want to return a GFile because GFile can't handle can't deal
with data: urls.
That makes the code a bit more complicated that doesn't deal with those
URLs, but it makes the other code actually work.
GtkCssImageUrl also now decodes data urls immediately instead of only at
the first load. So don't use data urls if you care about performance.
2019-05-12 17:28:19 +02:00
Benjamin Otte
0103704171
rendernodeparser: Use parser blocks
...
Instead of trying to do error handling manually, use the semicolon
blocks feature provided by GtkCssParser.
2019-05-12 17:28:19 +02:00
Benjamin Otte
b76d5bda37
cssparser: Don't allow commit_token() on block EOF
...
When we're at the end of a block and gtk_css_parser_get_token() returns
NULL, gtk_css_parser_commit_token() still consumed the next token.
It does not anymore.
This does not affect the CSS parser, but it exposes issues with the
render parser, which previously just consumed too many closing } tokens
in the past.
2019-05-12 17:28:19 +02:00
Benjamin Otte
6f6b07aaae
testsuite: Stop using g_test_bug()
...
The calls used old bugzilla URLs and nobody cared about that.
So apparently they are very unused.
There's also a potential conflict between gitlab and bugzilla URLs and
what base bug to use there.
The old usages have been converted to comments.
2019-05-12 17:28:18 +02:00
Benjamin Otte
4bccd17941
node-editor: Report all errors in tooltip
...
Don't just report the first one.
2019-05-12 17:27:01 +02:00
Benjamin Otte
0049b39375
node-editor: Don't remove all text tags when saving
2019-05-12 17:27:01 +02:00
Benjamin Otte
63578d832a
testsuite: Don't die on the first error
...
Continue running the test, just mark it as a failure.
2019-05-12 17:27:01 +02:00
Benjamin Otte
3a373b9b33
rendernodeparser: Parse images differently
...
Instead of encoding the raw data, encode the full image to a PNG.
And instead of stuffing that encoding into a string, use a full
data: url.
And then remove the width and height properties, because they're now
implicitly included in the data.
And then change the parser to match.
And because the parser now parses regular urls on top of data: urls, we
can now load any random file.
2019-05-12 17:27:01 +02:00
Benjamin Otte
8be95ca348
css: Add data URL parsing to images
2019-05-12 17:27:01 +02:00
Benjamin Otte
5da58ba47d
css: Add gtk_css_data_url_parse()
...
This surprisingly decodes data URLs.
2019-05-12 17:27:01 +02:00
Benjamin Otte
4505f4f17b
rendernode: Set EXTEND_PAD when drawing textures
2019-05-12 15:41:53 +02:00
nana-4
7b7fe14b23
Adwaita: Don't round the non-csd menu corners
...
Otherwise, the menu will have ugly black corners.
See https://gitlab.gnome.org/GNOME/gtk/issues/1661
2019-05-12 17:40:47 +09:00
Christoph Reiter
e0e9d8c6b5
Merge branch 'ci-master-fedora-30' into 'master'
...
CI: update docker image to Fedora 30
See merge request GNOME/gtk!802
2019-05-10 14:19:16 +00:00
Christoph Reiter
24fcfa91b1
CI: update docker image to fedora 30
...
So we don't have to build glib as a subproject.
2019-05-10 15:48:33 +02:00
Matthias Clasen
4f0ea69e9b
settings: Update docs
...
We no longer create settings on demand.
2019-05-09 14:53:32 +00:00
Matthias Clasen
f2e197a389
css provider: Stop mentioning key themes
...
We no longer do this.
2019-05-09 14:53:32 +00:00
Benjamin Otte
777beb0d0a
glrenderer: Ensure current context for debug stuff
2019-05-08 19:47:40 +02:00
Benjamin Otte
1fa4b9f58c
rendernode: Parse repeat nodes
2019-05-08 19:47:40 +02:00
Benjamin Otte
9117ee83eb
node-editor: Never scale nodes up
...
Scaling down is fine so one can see the nodes, but scaling up just
makes the nodes wrong for no reason at all.
2019-05-08 19:47:40 +02:00
Matthias Clasen
b3ff4154ec
Drop the public profiler api
...
I meant to do this before merging the profiler
support. Somehow the commit got lost.
2019-05-08 17:00:26 +00:00
Matthias Clasen
879a0c118d
Profiler: drop the public api
2019-05-08 16:57:34 +00:00
Matthias Clasen
cb51699098
profiler: Update the D-Bus interface name
...
Sysprof is bumping its name to Sysprof3, so
lets change to that before this gets used.
2019-05-08 16:49:47 +00:00
Matthias Clasen
d91f04eefd
Correct theme loading docs
...
The docs were failing to mention the VARIANT.
2019-05-08 14:47:08 +00:00
Matthias Clasen
a86160265a
css provider: Remove outdated version check
...
When looking for versioned theme files, we were
looking for directories names gtk-4.x for x
bigger than 14, which mades sense for GTK 3,
but we are starting out at 0 again, so remove
this check.
2019-05-08 14:33:23 +00:00
Matthias Clasen
8aaa8958c4
Merge branch 'inspector-css' into 'master'
...
Inspector css
See merge request GNOME/gtk!830
2019-05-08 04:01:45 +00:00
Matthias Clasen
97b450dfd7
Improve the action editor more
2019-05-08 03:34:14 +00:00
Matthias Clasen
46c1e154f1
inspector: Fix showing the frame clock
...
We want to go to the object, not just select it
in the list (which does not even contain frame clocks).
2019-05-08 02:44:24 +00:00
Matthias Clasen
fcb1408e1e
Merge branch 'inspector-css' into 'master'
...
inspector: Port actions to a list view
See merge request GNOME/gtk!829
2019-05-08 02:27:31 +00:00
Matthias Clasen
4cc27285b1
inspector: Port actions to a list view
2019-05-08 02:20:50 +00:00
Chun-wei Fan
705bf48eed
gdk/gdkprofiler.c: Don't include unistd.h unconditionally
...
unistd.h is not universally available, so only include it when it can be
found during the configure stage.
2019-05-07 17:58:14 -07:00
Benjamin Otte
b651a355ab
build: Fix
...
I did somethig wrong there. Whoops
2019-05-08 01:15:17 +02:00
Benjamin Otte
dd299c50bf
csstokenizer: Add more testcases
2019-05-08 00:58:52 +02:00
Benjamin Otte
bc7972dfa7
csstokenizer: Handle backslash at end of document
...
Testcases included.
2019-05-08 00:58:52 +02:00
Matthias Clasen
24d6ce7e51
Merge branch 'inspector-css' into 'master'
...
inspector: Style the property list
See merge request GNOME/gtk!828
2019-05-07 22:21:02 +00:00
Matthias Clasen
e1c1c46e34
inspector: Style the property list
...
Make the property list look more like a list.
2019-05-07 22:04:41 +00:00
Matthias Clasen
60a18229ee
Merge branch 'gdk-win32-unimplement-vfuncs' into 'master'
...
GdkSurface - Don't call unimplemented NULL set_startup_id() vfunc on Win32
See merge request GNOME/gtk!825
2019-05-07 18:57:44 +00:00
Matthias Clasen
725e7c7470
emoji chooser: Name the idle
...
We recently added an idle that does quite a bit of work.
It should have a name.
2019-05-07 18:41:22 +00:00
Sebastian Dröge
2bd6661cd3
GdkSurface - Don't call unimplemented NULL set_startup_id() vfunc on Win32
...
GdkSurface::set_startup_id() is NULL on Win32 and would cause a segfault
if called.
While the documentation of the main caller of set_startup_id(),
gtk_window_set_startup_id(), mentions that it's not implemented on
Windows it can still be automatically called via Glade and simply doing
nothing on Win32 is going to be less disruptive than a segfault.
2019-05-07 21:38:46 +03:00
Matthias Clasen
31cd43a245
Merge branch 'tracing' into 'master'
...
Tracing
See merge request GNOME/gtk!563
2019-05-07 18:37:11 +00:00
Matthias Clasen
ef446de92d
Add docs
...
Document the various ways to start profiling.
2019-05-07 09:37:59 -07:00
Matthias Clasen
18127be3bd
GtkApplication: Add a profiler dbus api
...
Implement the org.gnome.Sysprof2.Profiler D-Bus
api to let sysprof start and stop tracing at runtime,
and get the data directly, via a passed fd.
2019-05-07 09:37:59 -07:00
Matthias Clasen
64454a7e47
gsk: Add tracing to the vulkan renderer
...
Emit the equivalent of the cpu-time counter, as well
as pixel numbers i the inspector.
2019-05-07 09:37:59 -07:00
Matthias Clasen
b09a0958a0
gsk: Add tracing to the gl renderer
...
Emit the equivalent of the cpu-time counter in the inspector.
2019-05-07 09:37:59 -07:00
Matthias Clasen
c541fa9555
gsk: Add some more profiler apis
...
Add a way to extract the start time of timers.
This will let us reuse the profiler timers for tracing.
2019-05-07 09:37:59 -07:00
Matthias Clasen
1660bac6bd
frame clock: Add tracing
...
Emit tracing data for frames. For now, we emit the
entire frame, and the layout and paint phases. Also
emit frames-per-second.
2019-05-07 09:37:59 -07:00
Matthias Clasen
9e40642335
Add a way to start the profiler
...
If SYSPROF_TRACE_FD is set in the environment,
interpret it as an fd to write profiling data
to.
If GTK_TRACE is set, write profiling data
to a file with name gtk.$PID.syscap.
2019-05-07 09:37:59 -07:00
Matthias Clasen
032bb45ce3
gdk: Add a profiler
...
This is writing data in the capture format of sysprof,
using the SpCaptureWriter. For now, this is using a
vendored copy of libsysprof. Eventually, we want to
use the static library that sysprof provides.
2019-05-07 09:37:59 -07:00
Marek Kašík
5a578669c2
Merge branch 'cups-deprecation-warnings' into 'master'
...
Fix deprecation warnings when building the CUPS print backend
See merge request GNOME/gtk!739
2019-05-07 16:32:36 +00:00
Emmanuele Bassi
3377133d19
Require CUPS >= 2.0
...
Drop support for versions of CUPS < 2.0, to simplify the backend code
and drop a lot of conditional blocks.
2019-05-07 18:30:47 +02:00
Emmanuele Bassi
ed31ea3773
cups: Use non-deprecated API
...
The http* family of functions was deprecated after CUPS 1.7. We can
conditionally use it when built against a newer version of CUPS. The
additional parameters are taken directly from the fallback values
inside CUPS itself.
2019-05-07 18:30:47 +02:00
Emmanuele Bassi
feddf5a694
Detect CUPS ≥ 1.7
...
We support CUPS ≥ 1.2, but we use API that was introduced and deprecated
at a later point.
2019-05-07 18:30:47 +02:00
Timm Bäder
e847c030bd
gl renderer: Fix blur nodes with radius 0
2019-05-07 17:21:16 +02:00
Timm Bäder
b3c4320bc2
node editor: Do some simple syntax highlighting
2019-05-07 17:21:16 +02:00
Timm Bäder
730b52b084
testsuite: Add blur node testcase
...
Renderers need to handle blur radius 0 as well. Currently broken in GL
and (I guess, unless it's my driver) Vulkan.
2019-05-07 17:21:16 +02:00
Matthias Clasen
4ff578db10
Fix the compiler warning, again
2019-05-07 14:57:53 +00:00
Matthias Clasen
248c07c65e
Fix a compiler warning
2019-05-07 04:01:21 +00:00
Matthias Clasen
b01cf6be65
3.96
2019-05-07 03:27:04 +00:00
Matthias Clasen
a0c6d88858
Mark a failing reftest as xfail
...
I don't know why we expect different window types
to render identically in the first place.
2019-05-07 03:27:04 +00:00
Matthias Clasen
68560a941a
Update a11y tests
2019-05-07 02:21:30 +00:00
Matthias Clasen
77b7817266
a11y: Stop using child-notify
...
This was showing up in the accessibility tests failing.
2019-05-07 02:21:30 +00:00
Matthias Clasen
c6a42e92bb
widget: Revert the event translation change
...
This is a temporary revert to make menus work
in the 3.96 release, until we land the popup
surface work and port menus to it.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1755
2019-05-06 22:20:51 +00:00
Benjamin Otte
73ff7baa1b
Merge branch 'wip/headers' into 'master'
...
Wip/headers
See merge request GNOME/gtk!824
2019-05-06 18:24:49 +00:00
Benjamin Otte
e29cf84ac4
broadway: Install headers
...
How are we going to check a display for its broadway-ness otherwise?
2019-05-06 20:15:49 +02:00
Benjamin Otte
7ae675b469
build: Install the backend headers in the backend directories
...
That's where they are in the sources and we include them from other
headers. So make sure the directories match.
2019-05-06 20:14:53 +02:00
Piotr Drąg
b87b281df1
Update POTFILES.skip
2019-05-06 18:55:40 +02:00
Timm Bäder
4869013a8d
gl renderer: Fix coloring shader
...
We *just* pre-multiplied u_color but then didn't use its rgb values.
This fixes backdrop scale marks in Adwaita to not be white.
2019-05-06 17:58:55 +02:00
Timm Bäder
3e2107846d
gl renderer: Fix blend shader
2019-05-06 17:34:48 +02:00
Timm Bäder
c8865459fc
testsuite: Add blend-difference test case
...
Comparing blend nodes with mode: difference
2019-05-06 17:34:48 +02:00
Timm Bäder
8559593a18
testsuite: Add a blend node test case
...
This is currently broken in the GL renderer.
2019-05-06 17:34:48 +02:00
Timm Bäder
759a97403c
Some node editor improvements
2019-05-06 17:34:48 +02:00
Matthias Clasen
a8aa7afa13
Merge branch 'header-bar-leak4' into 'master'
...
GtkHeaderBar: Don't leak decoration layout
See merge request GNOME/gtk!822
2019-05-06 14:17:17 +00:00
Emmanuele Bassi
ecc8f9cf72
Merge branch 'issue-1863' into 'master'
...
Allow setting the GtkLayoutManager type per-class
Closes #1863
See merge request GNOME/gtk!821
2019-05-06 12:01:47 +00:00
Emmanuele Bassi
fe473dbef8
Make get_layout_manager_type() public
...
The inspector, and other tools introspecting the widget structure like
gtk-builder-tool and Glade, may very well want to access the default
layout manager used by a class, especially if there are layout
properties involved, without having a whitelist of widget/layout manager
associations.
2019-05-06 12:15:21 +01:00
Emmanuele Bassi
59c6862a03
Use gtk_widget_class_set_layout_manager_type()
...
Instead of manually creating the layout manager inside the instance
initialization function, we can let GtkWidget do that for us.
2019-05-06 12:06:27 +01:00
Guido Günther
e98973e2c0
GtkHeaderBar: Don't leak decoration layout
...
Currently we leak priv->decoration_layout if the layout is set
multiple times.
2019-05-06 12:59:20 +02:00
Emmanuele Bassi
c6b2184aa0
Allow specifying the layout manager for a widget type
...
Some widgets have a well-defined layout manager created alongside their
own instance; if they do, we can handle the layout manager creation at
the GtkWidget instantiation.
2019-05-06 11:57:32 +01:00
Benjamin Otte
562e492056
csstokenizer: Consume the \ when encountering an error
...
Otherwise we infinitely end up with the error again.
Testcases added.
2019-05-06 05:56:06 +02:00
Matthias Clasen
15b8ee4564
Merge branch 'simplify-tests' into 'master'
...
Simplify tests
See merge request GNOME/gtk!820
2019-05-05 20:19:13 +00:00
Matthias Clasen
d61e77dab4
Add some tests
...
These test various aspects of ui file conversion.
2019-05-05 17:13:38 +00:00
Matthias Clasen
d8e92d4859
builder-tool: Handle layout properties more properly
...
Change things so we first rewrite the whole tree,
and then simplify the rewritten tree. And look
for paramspecs for layout properties.
2019-05-05 17:13:38 +00:00
Matthias Clasen
4eb00a3e41
builder-tool: Stop warnings for stack rewrites
...
When rewriting a GtkStack from 3 to 4, we were emitting
warnings for missing child properties. Stop doing that.
2019-05-05 17:13:38 +00:00
Matthias Clasen
82eee65334
testsuite: Add tests for ui file rewriting
...
Add a test script that runs
gtk4-builder-tool simplify --3to4.
No actual tests yet.
2019-05-05 17:13:13 +00:00
Matthias Clasen
4f6cc46278
Fix the simplify test
...
The script was returning the wrong number of tests.
2019-05-05 15:21:58 +00:00
Matthias Clasen
84d3848c01
Merge branch 'focus-fixes' into 'master'
...
Focus fixes
See merge request GNOME/gtk!819
2019-05-05 14:20:04 +00:00
Piotr Drąg
b4093e59ee
Update POTFILES.skip
2019-05-05 16:11:04 +02:00
Matthias Clasen
c4013eeb26
Merge branch 'builder-tool-fixes' into 'master'
...
Builder tool fixes
See merge request GNOME/gtk!817
2019-05-05 06:57:21 +00:00
Matthias Clasen
96cce3ae23
Merge branch 'emoji-chooser-fixes' into 'master'
...
Emoji chooser fixes
See merge request GNOME/gtk!816
2019-05-05 06:41:31 +00:00
Matthias Clasen
09b6dbb7ef
builder-tool: Handle default values changing
...
The default value of GtkWidget::visible changed
from FALSE to TRUE from GTK 3 to 4. Make --3to4
deal with this by ensuring the visible property
is explicitly set, before simplifying.
2019-05-04 23:41:30 -07:00
Benjamin Otte
cfea8de6b5
Merge branch 'wip/otte/nodeeditor2' into 'master'
...
Use a text based format for render node files
See merge request GNOME/gtk!815
2019-05-05 05:40:54 +00:00
Timm Bäder
d5d48af7f7
gl renderer: Reset opacity when offscreen-rendering crossfade nodes
...
A pattern emerges...
2019-05-05 07:18:39 +02:00
Benjamin Otte
43a5ff8e01
testsuite: Add serialize test for debug node
2019-05-05 07:18:39 +02:00
Benjamin Otte
00b947124f
node-editor: Add renderings with alternative renderers
...
That's pretty rough around the edges, but it mostly works.
Apart from sizing, screw listbox sizing.
2019-05-05 07:18:39 +02:00
Benjamin Otte
3f24ad741a
gsk: Export gsk_vulkan_renderer_new()
2019-05-05 07:18:39 +02:00
Benjamin Otte
cc5f2f8995
gsk: Export gsk_broadway_renderer_new()
...
... when broadway is enabled.
2019-05-05 07:18:39 +02:00
Benjamin Otte
6594ccf716
gsk: Export gsk_gl_renderer_new()
2019-05-05 07:18:39 +02:00
Benjamin Otte
559ae8b326
gsk: Export Cairo renderer
2019-05-05 07:18:39 +02:00
Benjamin Otte
da5b99f807
testsuite: Add rounded-rect parsing test
2019-05-05 07:18:39 +02:00
Benjamin Otte
008b7bc94f
Add gtk4-node-editor
...
It's meant to be a little editor for render nodes so we can do testing
with it.
2019-05-05 07:18:39 +02:00
Benjamin Otte
b4f5baf4fa
rendernode: Parse and print blend nodes properly
2019-05-05 07:18:39 +02:00
Timm Bäder
8c04129b94
testsuite: Add nodeparser test case
...
A serialized frame from the widget factory!
2019-05-05 07:18:39 +02:00
Timm Bäder
5010461066
ci: Don't disable the gsk suite
2019-05-05 07:18:39 +02:00
Timm Bäder
dde69802cd
Add error func to node deserialization
2019-05-05 07:18:39 +02:00
Benjamin Otte
5530331b35
testsuite: Black out parts of reftest
2019-05-05 07:18:39 +02:00
Timm Bäder
a55ebf2350
testsuite: Remove old cairo/vulkan tests
...
They are still in the old binary format and haven't worked for a while.
2019-05-05 07:18:39 +02:00
Timm Bäder
fb63364f30
rendernode: Remove old GVariant (de)serialization code
...
We're doing the CSS thing now.
2019-05-05 07:18:39 +02:00
Timm Bäder
58666c6210
testsuite: Add another gl renderer test
2019-05-05 07:18:39 +02:00
Benjamin Otte
3a9fa035ee
testsuite: Remove gl_tests infrastructure
...
They're now completely migrated to the new compare infrastructure, that
also tests Vulkan and Cairo.
2019-05-05 07:18:39 +02:00
Timm Bäder
1000d971f9
testsuite: Add cross-fade-in-opacity test
...
Making sure that an opacity node doesn't end up reviving a node that's
hidden because the cross-fade has progress 0 or 1.
2019-05-05 07:18:39 +02:00
Timm Bäder
349e6af2c8
testsuite: Remove broken GL comparison tests
...
These only work on special hardware, which not even I have anymore.
We'll need to redo them in a way that works on different systems.
2019-05-05 07:18:39 +02:00
Timm Bäder
44b3b8937a
testsuite: Print serialized nodes when parsing fails
2019-05-05 07:18:39 +02:00
Timm Bäder
9598e16753
testsuite: add shadow node parser test
2019-05-05 07:18:39 +02:00
Timm Bäder
61a963d78d
testsuite: add another nodeparser crash test
2019-05-05 07:18:39 +02:00
Timm Bäder
e31856fe1b
testsuite: Add serialize-deserialize tests
...
Check that we can successfully deserialize a node, then serialize it
again and deserialize that result once more.
2019-05-05 07:18:39 +02:00
Benjamin Otte
1d6134f87d
testsuite: Add a broken test
...
This also adds some build magic so all tests that contain "-3d" in them
won't be added to the Cairo renderer.
Of course, this new test is such a test.
2019-05-05 07:18:39 +02:00
Benjamin Otte
08e9725797
Move working tests to new directory
...
These are tests that are working on both GL and Cairo now.
Some tests got black boxes over the areas that aren't easy to compare.
2019-05-05 07:18:39 +02:00
Timm Bäder
4d98e96124
testsuite: Port gl tests to text-based format
2019-05-05 07:18:39 +02:00
Benjamin Otte
50e10cd771
testsuite: Delete some node tests
...
These are the tests that aren't going to be made to work, so let's just
delete them.
2019-05-05 07:18:39 +02:00
Benjamin Otte
b6838cb9f4
testsuite: Add tests for the new node parsing code
...
This adds a test tool gsk/node-parser that takes node files and parses
them.
A few of these node files have been added, for crashes I encountered while
developing the new parsing code.
2019-05-05 07:18:39 +02:00
Timm Bäder
01a7c7a8b2
Parse render nodes from text files
...
Instead of the previous approach using GVariant, this new approach uses
human-readable text files as the serialization format for render nodes.
The format is a custom one, but it is inspired by QML and conforms to
the CSS syntax. Because of that, we can use the CSS machinery from GTK
to parse it, and in particular share code to parse properties that GTK's
CSS machinery also supports, such as colors.
This commit breaks all existing usages of node files - such as the
testsuite and various test tools - they will be fixed in further
commits.
2019-05-05 07:18:39 +02:00
Benjamin Otte
3c6aa84e44
cssparser: Add gtk_css_parser_has_number()
2019-05-05 07:18:39 +02:00
Asier Sarasua Garmendia
bf2ae5aa81
Update Basque translation
2019-05-04 19:34:25 +00:00
Matthias Clasen
44b0a893fc
entry: Drop our own Emoji chooser
...
We were using one Emoji chooser when triggered
via the context menu, and another one when
triggered via the icon.
Change things to always use the same Emoji
chooser instance.
2019-05-04 18:54:37 +00:00
Matthias Clasen
32fd55a66d
window: Stop duplicating focus change events
...
We had code in gtkwindow.c that generated duplicate,
and defective, focus-change events, in the following
way:
- gtkmain.c generates a chain of focus-change events
for moving focus from one window to another
- gtkwindow.c catches a focus-in event in the middle
of this chain and sets itself as 'active'
- and then it proceeds to generate focus-change
events towards its own focus widget without a
related target
This is not necessary since we gtkmain.c already
generates a complete sequence of focus-change events.
So stop doing it.
2019-05-04 18:22:33 +00:00
Matthias Clasen
9af01bea5e
window: Make _gtk_window_set_is_active static
...
It is not used outside gtkwindow.c.
2019-05-04 18:22:28 +00:00
Matthias Clasen
40fe3d94ac
builder-tool: Handle GtkWidget::visible properly
...
This property has a 'smart' default that depends
on the class of the object we're creating. Take
that into account when deciding whether to omit
properties that are set to their default value.
2019-05-04 18:18:42 +00:00
Matthias Clasen
6fe203d0e2
emoji chooser: Make Escape work again
...
Escape is expected to close the Emoji chooser.
2019-05-04 18:18:20 +00:00
Matthias Clasen
7b6f652630
emoji chooser: Fix handling of no recent Emoji
...
If the recent section is empty, we want to hide
it, make its button insensitive, and select the
next section, initially. This was not working
properly, since nothing was ever setting the
section box to invisible.
2019-05-04 18:18:09 +00:00
Asier Sarasua Garmendia
1a4c988a22
Update Basque translation
2019-05-04 09:54:08 +00:00
Mohammed Sadiq
d936a9ae89
docs: fix typo in function name
2019-05-04 15:09:35 +05:30
Matthias Clasen
67e6d1087e
emoji chooser: populate incrementally
...
It takes half a second on my system to initially
populate the Emoji chooser. That is too long. Do
the work in 8 millisecond chunks to give GTK a
chance to get some frames done.
2019-05-04 02:12:02 +00:00
Matthias Clasen
29bafd1e15
docs: Add an actions overview
...
Add an introduction chapter explaining actions
in detail. Most of this content is taken from
the GAction HowDoI page.
2019-05-04 01:26:45 +00:00
Matthias Clasen
65697e3324
docs: Some additions to the overview
...
Mention graphene and gsk.
2019-05-04 01:26:45 +00:00
Matthias Clasen
bceca277ea
docs: Some updates to the input overview
...
Remove references to no longer existing apis,
and reword some things. Say surface instead of
window. Start filling out the keyboard section.
2019-05-04 01:26:45 +00:00
Jordi Mas
16c8fb52df
Update Catalan translation
2019-05-03 20:54:07 +02:00
Timm Bäder
d702bfe7b7
filechooserbutton: Clean up finalize & destroy
2019-05-03 20:06:25 +02:00
Timm Bäder
596c9a3c0b
filechooserbutton: Clear model in destroy()
...
Since we're destroying priv->chooser right after. We can't wait until
finalize() since clearing the model will try to work with priv->chooser.
2019-05-03 20:06:23 +02:00
Timm Bäder
c675d1c9e1
filechooserbutton: Use a bin layout
2019-05-03 20:06:10 +02:00
Daniel Mustieles
bd490ed511
Updated Spanish translation
2019-05-03 14:36:45 +02:00
Piotr Drąg
bcf180642d
Update Polish translation
2019-05-03 13:42:45 +02:00
Piotr Drąg
5882e22f89
Update POTFILES.skip
2019-05-03 13:19:12 +02:00
Matthias Clasen
6f25168db3
Make the newly added test a bit more robust
...
Follow the style of the other tests and provide
style for both the test and ref.
2019-05-03 02:15:07 +00:00
Matthias Clasen
2a4b5862ae
Merge branch 'font-families' into 'master'
...
Font families
Closes #1854
See merge request GNOME/gtk!813
2019-05-03 01:50:45 +00:00
Matthias Clasen
7037ff8f3d
Add a reftest for multiple font families
...
This tests that listing multiple font
families in the css font-family property
works as expected.
2019-05-03 01:44:29 +00:00
Matthias Clasen
1c9a486d60
css: Use multiple font-family values
...
Pango API to support this, so we can implement
this very easily.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1854
2019-05-03 01:44:02 +00:00
Matthias Clasen
eb9284e9ca
migration guide: Updates
...
Add recent changes here.
2019-05-02 23:44:57 +00:00
Matthias Clasen
77e3b72b15
NEWS: Updates
2019-05-02 22:20:31 +00:00
Matthias Clasen
05cb7e7412
Merge branch 'event-controller-sensitive' into 'master'
...
Event controller sensitive
Closes #1861
See merge request GNOME/gtk!812
2019-05-02 21:03:41 +00:00
Matthias Clasen
299422994a
fixup! event controller: Don't deliver events to insensitive widgets
2019-05-02 20:20:20 +00:00
Matthias Clasen
b1d90cc171
spin button: Listen for ::cancel on gestures
...
Otherwise, we keep spinning when we should stop.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1861
2019-05-02 15:54:17 -04:00
Matthias Clasen
af2207bc0b
widget: Reset controllers when going numb
...
Reset event controllers when their
widget is going insensitive. This is
the expected behavior.
2019-05-02 15:53:30 -04:00
Matthias Clasen
522bbc182d
gesture: Chain up in filter_event
...
This is the right thing to do.
We want to exclude more events.
2019-05-02 15:53:30 -04:00
Matthias Clasen
65233726f8
event controller: Don't deliver events to insensitive widgets
...
This is another way to avoid delivering events
to insensitive widgets.
2019-05-02 15:50:44 -04:00
Benjamin Otte
19227d9789
rendernode: Compute border node colors properly
...
Change the way we compute border color cutoffs to the same method that
browsers use. This method does not consider the corner sizes at all and
only looks at border-width.
2019-05-02 19:35:45 +02:00
Benjamin Otte
8915d60900
roundedrect: Mke sure shrinking borders works
...
Previously, when borders were too big - ie when a 100x100 rect had only
one 100x100 border, like the black part of ◔ - and then shrinking this
rect by 25px on either side, we'd end up with a 50x50 rect with a 75x75
border, and that's obviously not correct.
2019-05-02 19:35:45 +02:00
Matthias Clasen
ed52c029a0
gtk: Small documentation fixes
2019-05-01 23:24:14 -04:00
Matthias Clasen
7b1201cd4d
box layout: Documentation additions
2019-05-01 23:24:14 -04:00
Matthias Clasen
3f940715e4
gsk: Documentation tweaks
...
Add some missing symbols.
2019-05-01 23:24:14 -04:00
Matthias Clasen
f6225901e8
gdk: Documentation improvements
...
Document some new x11 symbols.
2019-05-02 02:39:36 +00:00
Matthias Clasen
eff4b6377d
Merge branch 'inspector-menus' into 'master'
...
inspector: Fix showing of menus
See merge request GNOME/gtk!810
2019-05-02 02:12:28 +00:00
Matthias Clasen
a18647af0e
Merge branch 'inspector-actions' into 'master'
...
inspector: Show the default.activate action
See merge request GNOME/gtk!809
2019-05-02 02:09:03 +00:00
Matthias Clasen
c7df0c907a
inspector: Fix showing of menus
...
We were hitting an assertion in some leftover
code that assumed property editors are popovers.
2019-05-02 02:05:46 +00:00
Matthias Clasen
b74407a343
Merge branch 'filechooser-save-again' into 'master'
...
Make file chooser saving work again
See merge request GNOME/gtk!808
2019-05-02 01:55:28 +00:00
Matthias Clasen
cd5c39834d
inspector: Show the default.activate action
...
We were hardcoding that GtkApplicationWindow only
has a single action group with prefix 'win', but
that is no longer the case. Simply use the code
for the general widget case that can handle multiple
action groups.
2019-05-02 01:53:57 +00:00
Matthias Clasen
574a25b09c
Merge branch 'kill-display-changed' into 'master'
...
Kill display changed
See merge request GNOME/gtk!807
2019-05-02 01:49:31 +00:00
Matthias Clasen
6e0b13b81f
Make file chooser saving work again
...
I was a little overzealous when going
for the new default handling here. We
can't switch to gtk_widget_activate_default
before we actually handle the default.activate
action.
2019-05-02 01:41:23 +00:00
Matthias Clasen
bea8025fb5
Drop the GtkWidget::display-changed signal
...
Display changes now happen exclusively through
the ::root and ::unroot vfuncs. Third parties
can observe display changes by listening
for notify::root.
2019-05-02 01:33:41 +00:00
Matthias Clasen
965d0e04d1
gtk: Use root/unroot instead of display-changed
...
The display-changed signal is going away
2019-05-02 01:33:41 +00:00
Matthias Clasen
d7c54920ee
menu: Listen only for notify::root
...
We no longer emit the display-changed signal,
so stop listening.
2019-05-01 23:05:09 +00:00
Matthias Clasen
33a8108f19
window: Implement display change via root/unroot
...
Export gtk_widget_root/unroot privately,
make them work on roots, and use them in
gtk_window_set_display. This gets us to a
single way to listen for display changes,
the root property.
2019-05-01 23:05:09 +00:00
Matthias Clasen
78d254370c
Merge branch 'inspector-menu-fix' into 'master'
...
Inspector menu fix
See merge request GNOME/gtk!804
2019-05-01 23:01:50 +00:00
Matthias Clasen
377ec33069
menus: Fix menus on non-default displays
...
Currently, we sometimes emit display-changed
when the display changed, and sometimes we don't
since the display is changed via gtk_widget_root.
Listen for notify::root as well and update our
display. This is a temporary fix - all display
changes should go through gtk_widget_root,
eventually.
2019-05-01 22:50:29 +00:00
Benjamin Otte
2952ba07e1
Merge branch 'kill-menu-display' into 'master'
...
Kill menu display
See merge request GNOME/gtk!806
2019-05-01 22:09:13 +00:00
Matthias Clasen
62b7ea7611
Remove gtk_menu_set_display
...
Menus should always be attached to a toplevel,
in which case they get their display that way.
2019-05-01 21:54:57 +00:00
Matthias Clasen
c9eca55c5e
tests: Stop using gtk_menu_set_display
...
It is not needed here.
2019-05-01 21:54:57 +00:00
Matthias Clasen
435bc269e9
Merge branch 'expander-demo-fix' into 'master'
...
gtk-demo: Make the expander demo behave again
See merge request GNOME/gtk!805
2019-05-01 21:19:27 +00:00
Matthias Clasen
0d2a7f876b
gtk-demo: Make the expander demo behave again
...
Changes to the dialog hierarchy have affected
this demo, that admittedly pokes at message
dialog internals. Do that some more, to fix
things up.
2019-05-01 21:12:36 +00:00
Matthias Clasen
737400ddbc
wayland: sanity check events at the source
...
Sanity check events before we throw them into
the event queue, as this makes it much easier
to track down the culprit.
2019-05-01 20:51:43 +00:00
Matthias Clasen
134e159bc9
gdk: add a sanity check for events
...
Before delivering events to GTK, make sure
they're sane. For now, this means making sure
the surface and device are from the same
display.
2019-05-01 20:50:24 +00:00
Matthias Clasen
6f0b47681b
seat: Add a sanity check
...
apis that takes multiple display-relative objects
should make sure that they are all from the same
display, or hard-to-track-down badness will happen
later on.
Add such a check for the surface and device arguments
of gdk_seat_grab. This helped in tracking down
critical warnings from combo boxes in the inspector.
2019-05-01 20:46:02 +00:00
Matthias Clasen
d53981fdbb
Merge branch 'add-color-button-fix' into 'master'
...
Adwaita: Fix 'add color' button corners
Closes #1856
See merge request GNOME/gtk!801
2019-05-01 17:26:34 +00:00
Matthias Clasen
e09beee62a
Adwaita: Fix 'add color' button corners
...
The specification for border-radius goes
top-left top-right bottom-right bottom-left.
The css for the add button in the color
chooser got this wrong, and was showing
a broken top-right corner.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1856
2019-05-01 17:18:39 +00:00
Rico Tzschichholz
724ec3ca92
Add a few placeholder documentation block to have g-i annotations
2019-05-01 15:03:16 +02:00
Matthias Clasen
3ce6a710a3
Merge branch 'entry-fix' into 'master'
...
Fix Emoji insertion
See merge request GNOME/gtk!800
2019-05-01 05:21:09 +00:00
Matthias Clasen
e41596d6a1
text: Make Emoji insertion work properly
...
We are now getting focus-out and focus-in events
when the Emoji chooser is shown and hidden, and
this is causing the text to select-on-entry before
inserting the Emoji, which then deletes the selection.
Avoid this by saving and restoring the selection
when presenting the Emoji chooser.
2019-05-01 05:13:52 +00:00
Matthias Clasen
0fa4d54316
inspector: Track readonly property values
...
That a property can't be set does not mean
its value can't change. This was showing up
as the cursor-position and selection-bound
properties in GtkText not showing their
current value in the inspector.
2019-05-01 04:57:54 +00:00
Matthias Clasen
e7cbb7a76c
inspector: Don't listen for notify twice
...
The property list now uses property editors
for the value, which listen for updates by
themselves, so no need for the list to do it.
2019-05-01 04:44:07 +00:00
Matthias Clasen
b2a23a9a90
entry: only notify properties we have
...
GtkText now has the propagate-text-width property,
which is not present on GtkEntry, so we can't just
blindly forward all properties.
2019-05-01 04:41:28 +00:00
Matthias Clasen
6878c2bae0
Merge branch 'minus-one' into 'master'
...
fix signedness issues in api
Closes #1555
See merge request GNOME/gtk!799
2019-05-01 03:38:42 +00:00
Matthias Clasen
5b8f1aa2ee
Merge branch 'xdg-output' into 'master'
...
[gtk4] wayland: Add support for xdg-output
Closes #1828
See merge request GNOME/gtk!751
2019-05-01 03:34:56 +00:00
Matthias Clasen
6b4a82224c
Merge branch 'window-activate-revert-master' into 'master'
...
Revert "gdk: deactivate/activate surface on keyboard grabs"
See merge request GNOME/gtk!795
2019-05-01 03:32:12 +00:00
Matthias Clasen
1f30b7742b
textutil: Fix signedness issues in api
...
A length argument that can be -1 should be signed.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1555
2019-05-01 03:25:29 +00:00
Matthias Clasen
54e7a94d70
builder: Fix signedness issues in apis
...
Whenever we take a length argument that can
be -1 for 'nul-terminated', it should be
gssize, not gsize.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1555
2019-05-01 03:21:29 +00:00
Matthias Clasen
f1919c706f
Merge branch 'grab-cursor-fix' into 'master'
...
window: Prevent resize cursors from sticking
Closes #23
See merge request GNOME/gtk!797
2019-05-01 00:42:09 +00:00
Matthias Clasen
26b17473aa
window: Prevent resize cursors from sticking
...
When a modal dialog is smaller than its parent,
we were keeping the resize cursor from the dialogs
edge all over the parent window, which looks
really irritating, since the resize cursors are
closely associated with the window edge. Fix
this by falling back to the default cursor
outside the grab widgets surface.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/23
2019-04-30 20:19:35 -04:00
Samuel Thibault
99eee5cea9
Revert "gdk: deactivate/activate surface on keyboard grabs"
...
This reverts commits 35417a5a74 and
01455399e8 .
This reintroduces #85 , but see discussion in
https://gitlab.gnome.org/GNOME/gtk/merge_requests/433 for the unforeseen
invasive consequences of these commits.
2019-04-30 16:48:16 +02:00
Timm Bäder
074a0014c1
filechooserwidget: Only query clock-format setting once
...
We don't support that setting life-updating anyway. So, instead of
getting the value *every time we format a time*, get it once for the
filechooserwidget and reuse that value.
2019-04-30 06:43:42 +02:00
Timm Bäder
091cac00b2
Adwaita: Fix active spinbutton button image color
...
The spinbutton>button>image is currently blue when the image is clicked
and dark-ish when the button is clicked(but not the image). This was not
the case before since we didn't even propagate :active down to the image
child. Fix this by only applying the blue color to direct image children
of entries.
2019-04-30 05:54:00 +02:00
Timm Bäder
175e3d751d
filechooserwidget: Remove unnecessary deprecation guards
2019-04-30 05:36:20 +02:00
Timm Bäder
83e9361005
filechooserwidget: Stop using gtk_widget_get_allocat*
2019-04-30 05:36:20 +02:00
Timm Bäder
17bb1248b5
filechooserwidget: Shorten cancel_all_operations() impl
2019-04-30 05:36:20 +02:00
Timm Bäder
8211e79be9
filechooserwidget: Shorten dispose impl a bit
2019-04-30 05:36:20 +02:00
Timm Bäder
d5282862e5
filechooserwidget: Remove some unnecessary show() calls
...
Widgets are visible by default now.
2019-04-30 05:36:20 +02:00
Timm Bäder
26b6d18563
filechooserwidget: Use a bin layout
...
Instead of implementing size_allocate and measure manually.
2019-04-30 05:36:20 +02:00
Timm Bäder
31fb5cc2d4
filechooserwidget: Shorten finalize implementation a bit
2019-04-30 05:36:20 +02:00
Timm Bäder
90301c6813
filechooserwidget: Inline fuction into only caller
2019-04-30 05:36:20 +02:00
Timm Bäder
ccdf50aafd
filechooserwidget: Fix rename popover widget alignment
2019-04-30 05:36:20 +02:00
Timm Bäder
af5c80248d
placesview: Bring spacing in the actionbar back
...
In particular between the Connect button and the adjacent button/entry
combination.
2019-04-30 05:36:20 +02:00
Timm Bäder
1d81a58cf1
filechooserwidget: Pick reasonable default sidebar width
...
The old default of 148px doesn't work everywhere. Instead, pick a
default value of -1 and measure() the sidebar widget in the
filechooserwidget in that case. Other values >= 0 are still handled as
before.
2019-04-30 05:36:20 +02:00
Timm Bäder
09cec2e6a1
filechooserwidget: Delay view switch to search hits
...
Leave it to the ::hits-added handler to switch to the list of search
hits. This way we don't get a weird transition when the current search
didn't have any hits and the next one doesn't either.
Searches with hits still feel good.
2019-04-30 05:36:20 +02:00
Chun-wei Fan
efed2641f4
Merge branch 'fix-win32-gl-resize' into 'master'
...
Fix win32 gl resize
See merge request GNOME/gtk!694
2019-04-30 03:35:16 +00:00
Matthias Clasen
97a5ca74d2
Merge branch 'modelbutton-focus' into 'master'
...
Adwaita: Give model buttons visible focus
See merge request GNOME/gtk!794
2019-04-29 19:32:31 +00:00
Matthias Clasen
5b5b215dea
Merge branch 'frameclock-property' into 'master'
...
surface: Add a frame-clock property
See merge request GNOME/gtk!791
2019-04-29 19:23:09 +00:00
Matthias Clasen
7a06859f38
Adwaita: Give model buttons visible focus
...
Hard to use keynav, otherwise. Also, hard
to debug focus issues if you can't see where
the focus is.
2019-04-29 15:21:40 -04:00
Matthias Clasen
24fa104b61
surface: Add a frame-clock property
...
Now that GdkSurface has properties, it makes
sense to turn the frame clock into one too.
This will make it easier to reshuffle some
of the surface constructors later.
2019-04-29 15:11:58 -04:00
Matthias Clasen
89861faa04
Merge branch 'tooltip-cleanup' into 'master'
...
tooltip: Remove an unused gdk_surface_get_root_coords call
See merge request GNOME/gtk!793
2019-04-29 19:04:49 +00:00
Benjamin Otte
5fd94e2027
Merge branch 'window-cursor' into 'master'
...
window: Set cursor on the right surface
See merge request GNOME/gtk!792
2019-04-29 19:02:21 +00:00
Benjamin Otte
1f4d02740e
Merge branch 'accessible-present' into 'master'
...
icon view accessible: Stop presenting windows
See merge request GNOME/gtk!790
2019-04-29 19:02:15 +00:00
Matthias Clasen
0023b9036b
tooltip: Remove an unused gdk_surface_get_root_coords call
...
The tx and ty variables are not used, so don't
bother setting them.
2019-04-29 14:56:00 -04:00
Matthias Clasen
89d1f8c3ca
window: Set cursor on the right surface
...
Set the cursor on the surface of the target
widget, not the surface of some of its parents.
This does not make a difference currently.
But it will in the future, when we have
parented widgets with surfaces.
2019-04-29 14:51:55 -04:00
Matthias Clasen
7d9364655d
icon view accessible: Stop presenting windows
...
Thats really not its business.
2019-04-29 14:46:40 -04:00
Matthias Clasen
86d2fcef16
Merge branch 'wayland-grab-fix' into 'master'
...
wayland: Only check incorrect top-most for grabbing popups
See merge request GNOME/gtk!789
2019-04-29 18:42:46 +00:00
Jonas Ådahl
5f8543fe81
wayland: Only check top-most for grabbing popups
...
Non-grabbing popups are not limited to a single
nesting stack, as per the spec, so we should not
prevent that on the client-side.
2019-04-29 16:00:53 +00:00
Matthias Clasen
aae7816557
wayland: Reshuffle some internals
...
Make find_grab_input_seat return a GdkWaylandSeat
instead of a struct wl_seat, so we can use it and
avoid calling gdk_display_get_default_seat when
we need to get a serial later.
2019-04-29 16:00:09 +00:00
Jakub Steiner
6fbf13965c
Adwaita: tone down lowres icon aid
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1818
2019-04-29 15:08:49 +02:00
Alexander Larsson
484e330e4a
Merge branch 'wip/baedert/fix-gl-debug' into 'master'
...
Fix GL debugging
See merge request GNOME/gtk!778
2019-04-29 11:42:04 +00:00
Kristjan SCHMIDT
f27ecde1e2
Update Esperanto translation
2019-04-29 06:16:28 +00:00
Benjamin Otte
c06d1a69ae
Merge branch 'transform-fixes' into 'master'
...
Small fixes to GskTransform
See merge request GNOME/gtk!660
2019-04-29 00:42:28 +00:00
Emmanuele Bassi
cf9deb7cf5
Use getters for translation and scaling components
...
Instead of accessing the matrix cells directly.
2019-04-29 02:26:31 +02:00
Emmanuele Bassi
40beb69487
Never compare floats for equality
...
Floating point values cannot ever be compared for equality. GLib has a
G_APPROX_VALUE macro that lets us compare two value within a provided
precision, so we should use that instead.
2019-04-29 02:26:31 +02:00
Emmanuele Bassi
f1cadee196
Use matrix equality in GskTransform
...
Graphene has new API to check for equality, so we should use it instead
of doing a byte-by-byte comparison.
2019-04-29 02:26:31 +02:00
Emmanuele Bassi
f6594ff073
Update the version of Graphene
...
We're going to use newly added API soon.
2019-04-29 02:26:31 +02:00
Emmanuele Bassi
478fdaa632
Use atomic boxing instead of manual refcounting
...
Artisanal, homegrown, locally sourced, vegan reference counting has been
replaced by the appropriate API in GLib, which does small things like
saturation and type checking.
2019-04-29 02:25:18 +02:00
Matthias Clasen
6c472ed2b8
Merge branch 'default-handling' into 'master'
...
Default handling
See merge request GNOME/gtk!786
2019-04-28 23:51:17 +00:00
Matthias Clasen
30942c4e3d
Fix builder parser tests
...
The line numbers changed here because we
removed some properties.
2019-04-28 23:44:07 +00:00
Matthias Clasen
bf7d1e7b5a
tests: Fix a default-related test
...
The test was setting has-default, but testing
receives-default.
2019-04-28 23:40:57 +00:00
Matthias Clasen
92e21c3f1c
Drop the can-default property
...
It was added at a time when default buttons
had a very large external border that would disrupt
aligment. Not a problem nowadays.
2019-04-28 23:28:39 +00:00
Matthias Clasen
8880d27460
inspector: Stop showing default widget in misc
...
This is just a regular window property now,
no need for special casing.
2019-04-28 23:23:11 +00:00
Matthias Clasen
59d50be737
widget: Drop gtk_widget_grab_default
...
The default widget is mostly a dialog concept,
and does not really need this generic api.
If you need to mark a widget as default,
use gtk_window_set_default() directly.
2019-04-28 23:23:11 +00:00
Matthias Clasen
6d73443131
widget: Remove special handling for has-default
...
We used to handle has-default specially in ui
files. It was awkward, so stop doing that. If you
need to influence the default widget in a window,
you can just set the default-widget property.
2019-04-28 23:23:11 +00:00
Matthias Clasen
fe3796ed5b
widget-factory: Stop setting has-default in ui files
...
We can just set the default-widget property. The
special handling for has-default in ui files is
going away.
2019-04-28 23:21:51 +00:00
Matthias Clasen
89f7b974f2
Stop using gtk_widget_grab_default
...
Replace gtk_widget_grab_default by gtk_window_set_default_widget.
2019-04-28 23:21:51 +00:00
Matthias Clasen
0ae958d45b
Drop gtk_window_activate_default
...
This api has been replaced by an action that
can be activated with gtk_widget_activate_action.
2019-04-28 23:21:50 +00:00
Matthias Clasen
3d1fdf77dc
file chooser: Stop using gtk_window_activate_default
...
Instead, use the new way of activating default.
I think most of the default handling in
GtkFileChooserDialog should be dropped, but
for now this keeps things working.
2019-04-28 23:20:13 +00:00
Matthias Clasen
0ae71cacb4
mount operation: Handle default activation via action
...
Switch to the new way of activating default.
2019-04-28 23:20:13 +00:00
Matthias Clasen
218d635ca2
entry: Activate default via action
...
Switch to the new way of activating default.
2019-04-28 23:20:13 +00:00
Matthias Clasen
7553d0c471
label: Activate default via action
...
Switch to the new way of activating default.
2019-04-28 23:20:13 +00:00
Matthias Clasen
f4880f5df5
Add gtk_widget_activate_default
...
This is a convenience wrapper for
activating the "default.activate" action.
2019-04-28 23:20:13 +00:00
Matthias Clasen
3ccdad76de
popover: Add a default.activate action
...
This is a first example of a widget intercepting
the default.activate for its own handling.
2019-04-28 23:20:13 +00:00
Matthias Clasen
e464c08545
window: Add a default.activate action
...
Activating this action will replace other
activate_default apis. It is more flexible,
since intermediate widgets can intercept the
action and do their own handling.
2019-04-28 23:20:13 +00:00
Matthias Clasen
56e95ddfc8
popover: Add a default-widget property
...
This is part of redoing default widget handling.
2019-04-28 23:20:13 +00:00
Matthias Clasen
65052a5d6c
Rename gtk_window_set_default
...
Call it gtk_window_set_default_widget, to match
the getter, and the property name. Update all
callers.
2019-04-28 23:20:13 +00:00
Matthias Clasen
1364eb2f62
window: Add a default-widget property
...
This is a part of redoing default widget handling.
2019-04-28 23:20:13 +00:00
Matthias Clasen
aa8ada3fed
widget: Add a convenience api to activate actions
...
Since actions are used increasingly, we should
have a convenient way to trigger an action in
the context of a widget.
2019-04-28 23:19:05 +00:00
Matthias Clasen
3643a9fe86
Merge branch 'focus-cleanup' into 'master'
...
Focus cleanup
See merge request GNOME/gtk!788
2019-04-28 23:17:46 +00:00
Matthias Clasen
25f4bb2e17
Avoid critical warnings
...
These critical warnings break the tests, otherwise.
2019-04-28 22:55:43 +00:00
Matthias Clasen
3b62d9c027
Drop gtk_window_activate_focus
...
This api wasn't used anywhere in GTK. And since
we've dropped the variant for the default widget,
this one should go too. If it is needed, it should
become and action too.
2019-04-28 22:21:09 +00:00
Matthias Clasen
c92938b378
widget: Remove special handling of has-focus
...
We used to handle has-focus in ui files specially.
It was awkward, so stop doing that. If you need
to influence the initial focus of a window, you
can just set the focus-widget property.
2019-04-28 22:21:03 +00:00
Matthias Clasen
c98313016e
window: Fix up the buildable implementation
...
We were assuming that the parent class has a custom
set_property, which may not be the case. Be more
careful.
2019-04-28 22:20:55 +00:00
Matthias Clasen
e43839114d
Merge branch 'inspector-prop-sort' into 'master'
...
inspector: Make property list sortable again
See merge request GNOME/gtk!787
2019-04-28 22:03:31 +00:00
Matthias Clasen
b6c1786165
inspector: Make property list sortable again
...
We lost this when moving from a treeview to
a listbox. Bring it back, with homegrown list
headers.
2019-04-28 21:56:10 +00:00
Matthias Clasen
3a40555202
Merge branch 'file-chooser-location-escape' into 'master'
...
file chooser: Stay focused
Closes #1851
See merge request GNOME/gtk!785
2019-04-28 16:16:31 +00:00
Matthias Clasen
ff604e1906
file chooser: Stay focused
...
When hitting Escape in the location entry,
we were not moving the focus anywhere,
causing focus to be NULL, and key bindings
to stop working. The visible effect was
that Ctrl-L / Escape / Ctrl-L would not
get back to the location entry, as expected.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1851
2019-04-28 16:08:21 +00:00
Matthias Clasen
34974a8a66
Merge branch 'wip/baedert/filechooser2' into 'master'
...
Assorted filechooser improvements
See merge request GNOME/gtk!783
2019-04-28 15:33:07 +00:00
Matthias Clasen
7c15daf99e
Merge branch 'file-chooser-escape' into 'master'
...
file chooser: Prevent accidental search
Closes #1850
See merge request GNOME/gtk!784
2019-04-28 15:27:51 +00:00
Matthias Clasen
b9467a4dc7
file chooser: Prevent accidental search
...
When hitting Escape, the file chooser will go
into search mode, because the search entry
consumes the key to emit the ::search-stopped
signal. Recognize this situation and avoid
switching to search mode in this case.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1850
2019-04-28 15:20:07 +00:00
Timm Bäder
5a1c37a8c8
filechooserwidget: Use a center box for the search entry
...
This way we can avoid a slight position offset when we show or hide the
spinner during a search.
2019-04-28 11:30:13 +02:00
Timm Bäder
b75bc8aa64
filechooserwidget: Allow keynav from the treeview to the search entry
2019-04-28 11:27:42 +02:00
Timm Bäder
ed4c08d9b3
window: Check whether the new focus widget is the old one
...
We generally do that for all properties.
2019-04-28 11:27:21 +02:00
Timm Bäder
929cdd9259
treeview: Don't always grab_focus() when moving the cursor
...
This doesn't really make sense, we can assume that the treeview already
has the focus when it receives key events.
2019-04-28 11:26:40 +02:00
Timm Bäder
78049f452a
filechooserwidget: Remove unneeded function prototype
2019-04-28 11:08:09 +02:00
Timm Bäder
cf2ef4863b
filechooserwidget: Don't focus treeview when searching
...
It's just weird that the search entry does not have focus while we type.
2019-04-28 11:07:14 +02:00
Timm Bäder
2bd348558e
filechooserwidget: Remove some GdkEvent usage
2019-04-28 11:05:37 +02:00
Timm Bäder
0f6d83bb5f
filechooserbutton: Remove some dead code
2019-04-28 11:02:59 +02:00
Timm Bäder
7e20232607
colorbutton: Remove unneeded snapshot implementation
2019-04-28 10:55:10 +02:00
Timm Bäder
dcc55e3a73
Adwaita: Bring filechooserbutton spacing back
...
Add some space between the icons and the text, like there was in gtk3.
2019-04-28 10:40:54 +02:00
Timm Bäder
59fd48cee0
entry: Fix primary icon allocation in RTL entries
...
The primary icon is on the right in RTL, so don't offset the text child
to the right for it.
Fixes the text and icon overlapping in the second entry
in tests/testentryicons
2019-04-28 08:36:36 +02:00
Timm Bäder
c848b9014b
gl renderer: Add simple blend node implementation
2019-04-28 07:58:31 +02:00
Timm Bäder
1e16cb088a
treeview: Always update expand when allocating columns
...
It doesn't make sense to keep track of all the last_* values anymore now
that widgets only get allocated when their size changes anyway.
Remove all the associated (and thus now unused) flags as well.
2019-04-28 06:54:10 +02:00
Timm Bäder
f4cf43359d
treeview: Remove a useless check
2019-04-28 06:50:57 +02:00
Timm Bäder
6c8a5f5e2f
treeview: Remove unused member
2019-04-28 06:45:33 +02:00
Matthias Clasen
da64d687d1
Merge branch 'popover-demos' into 'master'
...
Popover demos
See merge request GNOME/gtk!782
2019-04-27 18:09:57 +00:00
Matthias Clasen
aab803b7ae
widget-factory: Make a resizing popover
...
Add an expander to a popover to test how
changing sizes works with popovers.
2019-04-27 18:00:22 +00:00
Matthias Clasen
936aba884a
Merge branch 'file-chooser-search' into 'master'
...
file chooser: Fix Ctrl-L
Closes #1829
See merge request GNOME/gtk!781
2019-04-27 17:52:02 +00:00
Matthias Clasen
e1200230c4
widget-factory: Add some nested popovers
...
These are mainly for stress-testing our
popover implementations.
2019-04-27 17:50:22 +00:00
Matthias Clasen
d3ad816d63
widget-factory: Add non-modal popovers
...
This makes is easy to test moving the toplevel
or repositioning the parent while the popover
is shown.
2019-04-27 17:50:14 +00:00
Matthias Clasen
eea1388cf4
file chooser: Fix Ctrl-L
...
We were forwarding key events to the search entry
and unconditionally considered search started
afterwards. That is not correct, since things
like a Ctrl key press should not trigger search.
Fix this by only switching to search mode when
the event was actually consumed.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1829
2019-04-27 17:43:59 +00:00
Matthias Clasen
f3747d1776
Merge branch 'font-chooser-search' into 'master'
...
fontchooser: Fix type-to-search
Closes #1842
See merge request GNOME/gtk!780
2019-04-27 16:08:53 +00:00
Matthias Clasen
6277f2fccc
fontchooser: Fix type-to-search
...
The key capture was interfering with other
entries in the dialog, so be smarter about
when we want to capture keys and when we
don't.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1842
2019-04-27 15:59:45 +00:00
Timm Bäder
931b0b3752
gl renderer: Move texture labeling below initialization
...
Apparently genTextures and friends only "reserves names", initializing
them will actually create them. Using glObjectLabel on textures before
initializing them will throw a GL_INVALID_VALUE error.
2019-04-27 10:44:37 +02:00
Timm Bäder
6f3e608331
gdkglcontext: Limit gl debug label length
...
There's a maximum length we have to adhere to, otherwise GL throws a
GL_INVALID_VALUE error.
2019-04-27 10:44:23 +02:00
Timm Bäder
cc4b3798e5
searchentry: Always measure and allocate icon
...
Just measuring it (so the warning goes away) but then not using the
values will later underallocate the text widget.
Instead, always reserve space for the icon (which will inevitable be
visible as soon as the searchentry is actually being used).
Fixes #1831
2019-04-27 08:40:33 +02:00
Timm Bäder
8634a51aa5
Adwaita: separate '.view text' from textview>text
...
The first rule breaks GtkText inside GtkSearchEntry inside something
that has .view applied, as found in the file chooser when searching.
2019-04-27 08:40:33 +02:00
Benjamin Otte
7420f9c34a
testsuite: Rewrite text diff to use GSubprocess
...
... instead of g_spawn(). Avoids having to create a temp file, too.
2019-04-27 06:20:30 +02:00
Timm Bäder
1a7c280ebb
gl renderer: bind the texture framebuffer before rendering
...
When rendering to a texture, collecting the render ops might bind a
different framebuffer, so bind the one we want again before doing the
actual rendering.
2019-04-26 18:05:32 +02:00
Timm Bäder
4bb6e70d01
tooltip: Initialize tooltip coords to given event coords
...
Otherwise the coordinates passed to the query-tooltip signal are always
0.
2019-04-26 18:05:32 +02:00
Matthias Clasen
2bd9b42479
Merge branch 'wip/surface-transform-data' into 'master'
...
Surface transform listener fixes
See merge request GNOME/gtk!776
2019-04-25 16:42:42 +00:00
Chun-wei Fan
b8127670df
Merge branch 'fix-gdkwin32-move-drag' into 'master'
...
gdksurface-win32.c: Acquire root coordinates on drag/move
See merge request GNOME/gtk!693
2019-04-25 15:44:59 +00:00
Jonas Ådahl
3a1ef7aa2c
widget: Move surface relative transform fields into its own struct
...
The purpose being to reduce the size of GtkWidgetPrivate. What is left
is a pointer to the allocated struct.
2019-04-25 16:02:19 +02:00
Daniel Mustieles
8dd26b6b8a
Updated Spanish translation
2019-04-25 15:58:58 +02:00
Matthias Clasen
0526775ff4
Merge branch 'wip/alexl/gl-debug' into 'master'
...
Add GL debugging integration
See merge request GNOME/gtk!771
2019-04-25 13:16:09 +00:00
Jonas Ådahl
1ad406e15d
widget: Remove leftover parent-changed handler removal
...
It was never added, as the listener was replaced by explicit code in
gtk_widget_(un)root(), but the removal code was left in place in error.
2019-04-25 14:29:19 +02:00
Alexander Larsson
249f6a85b3
gdkglcontext: Only emit opengl debug calls if GDK_DEBUG=gl-debug
...
This avoids a potential performance cost in the non-debug case.
2019-04-25 11:36:23 +02:00
Alexander Larsson
32edf29c0a
GskGLRenderer: Add debug groups
...
This adds debug groups in various places, including the debug
nodes if those are in use. This makes the traces in tools like
renderdoc much easier to read.
2019-04-25 11:36:21 +02:00
Alexander Larsson
4f7171885f
GskGLRenderer: Label various gl objects
...
This means the names are more useful in tools like renderdoc.
2019-04-25 11:35:00 +02:00
Alexander Larsson
b1eedbeb58
GdkGLContext: Add internal functions for KHR_DEBUG calls
...
This includes pushing and poping debug group messages and labeling
objects.
2019-04-25 11:35:00 +02:00
Matthias Clasen
a98f857a82
Merge branch 'parent-surface' into 'master'
...
Drop the parent surface getter and setter
See merge request GNOME/gtk!774
2019-04-25 01:18:54 +00:00
Matthias Clasen
b9770fa752
widget: Drop gtk_widget_set_parent_surface
...
And the getter, too. Widgets no longer have
extra surfaces that could serve as parent surfaces.
2019-04-24 20:57:09 -04:00
Matthias Clasen
52d4bcf1be
popover: Stop using gtk_widget_get_parent_surface
...
We can just use the surface of the parent.
2019-04-24 20:57:09 -04:00
Matthias Clasen
fe3b5ba545
tests: Stop using gtk_widget_get_parent_surface
...
We can just use the surface of the parent.
2019-04-24 20:57:09 -04:00
Matthias Clasen
33f034d0d7
a11y: Stop using gtk_widget_get_parent_surface
...
We can just use the surface of the parent.
2019-04-24 20:54:05 -04:00
Matthias Clasen
2516f1142d
Merge branch 'wip/widget-position-changed-callbacks' into 'master'
...
widget: Add surface relative position changed callback
See merge request GNOME/gtk!760
2019-04-24 19:26:27 +00:00
Matthias Clasen
ec37e1e462
Merge branch 'fix-and-improve-linked-button-style' into 'master'
...
themes: Fix and improve linked button style
Closes #1294
See merge request GNOME/gtk!730
2019-04-24 19:23:12 +00:00
Matthias Clasen
79180f62d7
Merge branch 'wip/jimmac/type-experiments' into 'master'
...
Adwaita: generic type styles
See merge request GNOME/gtk!772
2019-04-24 19:08:40 +00:00
Jakub Steiner
5cd4ec510d
Adwaita: generic type styles
...
- try to define a basic typographic structure
See https://gitlab.gnome.org/GNOME/gtk/issues/1808
2019-04-24 19:23:05 +02:00
Matthias Clasen
ea95aea246
Merge branch 'csserror-g-decls' into 'master'
...
csserror: Add G_BEGIN_DECLS and G_END_DECLS
See merge request GNOME/gtk!773
2019-04-24 16:56:40 +00:00
Timm Bäder
e13d242320
gl renderer: Keep op builder around
...
GL keeps the unoform state per-program, but not per-frame. So, we can't
pretend that this works for us. Keep the RenderOpBuilder around for the
entire lifetime of the renderer instead.
2019-04-24 17:55:14 +02:00
Kjell Ahlstedt
c21063e71e
csserror: Add G_BEGIN_DECLS and G_END_DECLS
...
Necessary when the header file is included in C++ code.
Merge request !773
2019-04-24 16:32:54 +02:00
Jonas Ådahl
477ad2505b
widget: Add surface relative transform changed callback
...
Added two new private GtkWidget API:
* gtk_widget_add_surface_transform_changed_callback()
* gtk_widget_remove_surface_transform_changed_callback()
The intention is to let the user know when a widget transform relative
to the surface changes. It works by calculating the surface relative
transform during allocation, and notifying the callbacks if it changed
since last time. Each widget adds itself as a listener to its parent
widget, thus will be triggered if a parents surface relative transform
changes.
2019-04-24 14:26:24 +02:00
Timm Bäder
91bbe6ef95
gl renderer: Sync gpu and cpu default alpha value
...
Otherwise we might end up not passing the new value to the GPU.
2019-04-24 13:29:45 +02:00
Timm Bäder
34fcfb154a
gl renderer: Properly apply opacity in cross-fade shader
2019-04-24 13:29:45 +02:00
Daniel Mustieles
28815bc7e4
Updated Spanish translation
2019-04-24 09:52:46 +02:00
Matthias Clasen
8eaa8aaaf8
Merge branch 'simplify-fixes' into 'master'
...
Simplify fixes
See merge request GNOME/gtk!770
2019-04-23 21:39:29 +00:00
Matthias Clasen
491829a2b5
builder-tool: Check canonical names
...
Always canonicalize names before comparing.
We were missing properties like left_attach,
since we were comparing them to left-attach.
2019-04-23 17:30:00 -04:00
Matthias Clasen
28be1c5d3a
builder-tool: Fix property check
...
Embarrassingly, there was a missing else
causing us to check all packing properties
as object properties, never finding them.
2019-04-23 21:25:59 +00:00
Timm Bäder
65ff19d149
eventcontrollermotion: Document missing signal parameters
2019-04-23 17:24:51 +02:00
Timm Bäder
3da6e83609
cssprovider: Fix a parameter name mismatch
2019-04-23 17:24:07 +02:00
Benjamin Otte
2a7e4ae7f6
testsuite: Don't pretend we're a GTest
...
This is a meson test, not a GTest thing. So:
- Use g_print(), not g_test_message
That makes meson test --verbose print the actual log messsages.
- Don't g_assert() all the time
Instead, run tests through to the end and just return a non-0 exit
status.
2019-04-23 17:09:14 +02:00
Timm Bäder
cc878ec00f
gl renderer: begin/end_frame around do_render
...
This fixes rendering to a texture on intel hardware. The glClear calls
would throw a GL_FRAMEBUFFER_INCOMPLETE error here, because the
gsk_gl_driver_begin_frame() call in do_render() reset the framebuffer
object in use.
2019-04-23 17:09:14 +02:00
Timm Bäder
1f5649e1ce
GdkWaylandDevice: Don't recreate the default cursor every frame
...
Save the information whether the cursor in use is the default one, and
don't create a new cursor object in that case.
We previously created a new cursor object every frame just to compare it
to the current cursor in use and then throw it away.
2019-04-23 17:09:14 +02:00
Daniel Mustieles
ca19b940ce
Updated Spanish translation
2019-04-23 10:30:35 +02:00
Daniel Mustieles
3f70d20bb3
Updated Spanish translation
2019-04-23 10:29:32 +02:00
Matthias Clasen
304e06541e
Merge branch 'forgotten-file' into 'master'
...
window: Remove dropped api from headers
See merge request GNOME/gtk!769
2019-04-23 01:37:39 +00:00
Matthias Clasen
c91371951a
window: Remove dropped api from headers
...
This was forgotten in fed2db1493 .
2019-04-23 01:23:01 +00:00
Benjamin Otte
6e59c5c843
gdk: Remove gdk_surface_invalidate_rect() from public API
...
It's still available for backends, but public API (read: GTK) is
meant to only call gdk_surface_queue_expose() and track its
invalid region itself.
2019-04-21 20:08:05 +02:00
Matthias Clasen
f5a8b79cfb
Merge branch 'unused-typehint' into 'master'
...
gdk: Remove an unused field
See merge request GNOME/gtk!767
2019-04-21 15:41:25 +00:00
Matthias Clasen
c723893f09
gdk: Remove an unused field
...
Its not used, so get rid of it.
2019-04-21 11:19:42 -04:00
Matthias Clasen
a247529bc8
Merge branch 'drop-skip-pager' into 'master'
...
window: Drop some x11-specific apis
See merge request GNOME/gtk!766
2019-04-20 02:46:26 +00:00
Matthias Clasen
51b2759eb1
surface: Drop group api
...
This was only ever implemented on X11, and
GTK is not using it at all. Relegate it to
x11-specific api.
2019-04-20 02:28:46 +00:00
Matthias Clasen
fed2db1493
window: Drop some x11-specific apis
...
The skip-taskbar, skip-pager and urgency hints were
only ever implemented for X11, and are not very useful
with modern desktops. Relegate the functionality to
x11 backend api, and drop the GtkWindow api.
2019-04-20 02:28:46 +00:00
Matthias Clasen
77ff83cdd1
Fix a compiler warning
2019-04-19 13:58:52 -04:00
Matthias Clasen
37fee8c52f
wayland: Improve debug output for events
...
We were missing surfaces in a few places.
2019-04-19 13:58:45 -04:00
Benjamin Otte
08c84bc830
Merge branch 'cairo-borders-fixage' into 'master'
...
Cairo borders fixage
See merge request GNOME/gtk!765
2019-04-19 01:48:59 +00:00
Benjamin Otte
9b6f822f15
rendernode: Fix border rendering
...
This fixed the reftest introduced in the previous commit.
I'm using a mesh gradient here instead of drawing 4 individual sides to
avoid artifacts when those sides overlap in rounded corners.
2019-04-19 03:39:57 +02:00
Benjamin Otte
70fb29e81a
reftests: Add a reftest for rendering failure
...
c18d2872f2 introduced a misrendering in
the Cairo fallback rendering code while fixing another one.
This test exposes that problem.
Related: !756
2019-04-19 03:39:57 +02:00
Matthias Clasen
0e26e95b00
window: Fix an oversight
...
We must still reset cursors.
2019-04-18 20:15:39 +00:00
Matthias Clasen
ba1c5cf43f
Merge branch 'cursor-things' into 'master'
...
Cursor things
See merge request GNOME/gtk!764
2019-04-18 19:38:56 +00:00
Matthias Clasen
f3821031e0
window: Stop juggling cursors
...
We have convenience api for this.
2019-04-18 15:07:01 -04:00
Matthias Clasen
e37f4d0ea6
text: Stop juggling cursors
...
We have a convenience api for this.
2019-04-18 15:06:35 -04:00
Matthias Clasen
b26087845d
label: Stop juggling cursors
...
We have a convenience api for this.
2019-04-18 15:06:09 -04:00
Matthias Clasen
891b343197
Merge branch 'style-prop-change' into 'master'
...
Style prop change
See merge request GNOME/gtk!763
2019-04-18 18:20:06 +00:00
Matthias Clasen
8727b0708e
css: Kerning affects text size
...
Thats the point. And we were missing the proper
flags to make GTK do the right thing when
changing font-kerning in the inspector.
2019-04-18 18:08:10 +00:00
Matthias Clasen
1932a50d36
css: Some updates to internal docs
...
Minor corrections to the AFFECTS flags docs.
2019-04-18 18:04:58 +00:00
Matthias Clasen
5a5da91785
Merge branch 'letterspacing-resize' into 'master'
...
css: Letterspacing affects text size
See merge request GNOME/gtk!762
2019-04-18 17:46:35 +00:00
Carlos Garnacho
de2e0f451f
Merge branch 'wip/carlosg/tablet-cursors-hidpi-master' into 'master'
...
gdk/wayland: Listen to wl_surface events on tablet cursors
Closes #1675
See merge request GNOME/gtk!761
2019-04-18 17:35:45 +00:00
Matthias Clasen
8400d8e75d
css: Letterspacing affects text size
...
It does. And we were missing the proper
flags to make GTK do the right thing when
changing letter-spacing in the inspector.
2019-04-18 17:34:44 +00:00
Carlos Garnacho
50eb11a2a0
gdk/wayland: Listen to wl_surface events on tablet cursors
...
And update the surface accordingly (eg. scale on hidpi). The mechanism
that did that for wl_pointer has been made generic so it can be shared
with tablets too.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1675
2019-04-18 19:27:29 +02:00
Matthias Clasen
e8f898508a
Merge branch 'handle-tool-scale-fix' into 'master'
...
gdkdevice-wayland: Update pointer scale on tablet tool proximity events
See merge request GNOME/gtk!582
2019-04-18 16:55:28 +00:00
Jonas Ådahl
638a3c142c
Merge branch 'wayland-cursor-hotspot' into 'master'
...
wayland: Avoid using uninitialized memory
Closes #1328
See merge request GNOME/gtk!757
2019-04-18 14:35:06 +00:00
Matthias Clasen
ecdad20827
wayland: Avoid using uninitialized memory
...
_gdk_wayland_cursor_get_buffer was not initializing
its out variables in the 'not found' case. This
was showing up in protocol traces as garbage hotspots
being sent to the compositor.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1328
2019-04-18 14:27:00 +00:00
Benjamin Otte
5cd8e0f7f1
testsuite: Add theme-validate test
...
The test just loads all of GTK's themes and makes sure they cause no
errors or warnings from the CSS parser.
2019-04-18 02:28:42 +02:00
Benjamin Otte
83696639a7
themes: Regenerate CSS
...
Seems to have been forgotten a few times.
2019-04-18 02:28:15 +02:00
Benjamin Otte
1aa1610611
cssprovider: Export correct API
...
gtk_css_provider_get_named() is the old GTK3 style API to load themes.
Instead, export the function we currently use,
gtk_css_provider_load_named().
As a side effect we allow people to load a theme as often as they want
without conflicting with GTK's theme.
2019-04-18 02:26:04 +02:00
Matthias Clasen
0c87b62251
Survive absence of librsvg without criticals
...
We can't guarantee that we can load svgs, so
we shouldn't spew criticals when some of our
own resources fail to load due to that reason.
2019-04-18 00:14:00 +00:00
Matthias Clasen
69f12ed6a5
Avoid a crash without librsvg
...
gtk_css_image_recolor_load_texture may leave
recolor->text as NULL without setting error.
No need to crash for that.
2019-04-18 00:13:53 +00:00
Matthias Clasen
a8db330341
HighContrast: Fix a typo
...
The new css parser complains about an unknown pseudo-class
here.
2019-04-18 00:13:48 +00:00
Matthias Clasen
2681f7c7af
textview: Refine touch popup
...
The touch popup was meant to have linked buttons.
2019-04-17 23:40:32 +00:00
Matthias Clasen
836b5a217a
text: Refine the touch popup
...
The touch popup was meant to have linked buttons.
2019-04-17 23:40:26 +00:00
Matthias Clasen
802c426d89
Add a png version of process-working-symbolic
...
Otherwise, we get a spinning missing-image without
librsvg.
2019-04-17 22:27:19 +00:00
Matthias Clasen
7c3eadf169
Merge branch 'wip/otte/werror' into 'master'
...
CI: Build with --werror
See merge request GNOME/gtk!755
2019-04-17 17:37:01 +00:00
Benjamin Otte
6c6fd13034
CI: Build with --werror
...
This turns on --werror in the Fedora CI builds.
2019-04-17 18:57:37 +02:00
Benjamin Otte
4ce217b1a5
Merge branch 'wip/otte/warnings' into 'master'
...
Add more gcc error flags
See merge request GNOME/gtk!537
2019-04-17 16:51:06 +00:00
Matthias Clasen
2656f5b4eb
Remove two more plusses
2019-04-16 21:27:17 -04:00
Matthias Clasen
bc8ecef605
Merge branch 'icon-browser-tweaks' into 'master'
...
Icon browser tweaks
See merge request GNOME/gtk!754
2019-04-17 01:19:13 +00:00
Matthias Clasen
33eb72a69b
dialog: Fix a doc typo
2019-04-16 21:13:40 -04:00
Matthias Clasen
21be06310c
builder-tool: Tweak --help output
2019-04-16 21:13:16 -04:00
Matthias Clasen
6e27e79c8b
Merge branch 'gtk-demo-inspector' into 'master'
...
gtk-demo: Add a gear menu
See merge request GNOME/gtk!753
2019-04-17 01:07:26 +00:00
Matthias Clasen
e2d821fa59
icon-browser: Left-align the sidebar
...
The centered labels just look disorderly.
2019-04-16 21:00:47 -04:00
Matthias Clasen
8d001e3573
icon-browser: Recover from GtkDialog api change
...
When we moved content_area to a sibling of action area,
it changed orientation from vertical to horizontal.
Adapt to this change.
2019-04-16 20:59:57 -04:00
Matthias Clasen
f6afa3d03f
gtk-demo: Add a gear menu
...
Modernize the about dialog, and make it available
from a gear menu, together with a way to bring up
the inspector.
2019-04-16 20:34:59 -04:00
Matthias Clasen
3286221870
Merge branch 'widget-factory-inspector' into 'master'
...
Widget factory inspector
See merge request GNOME/gtk!752
2019-04-16 23:47:14 +00:00
Matthias Clasen
f4e32f29e1
widget-factory: Update copyright line
...
Update the years to 2019, and use some better typography.
2019-04-16 18:09:46 -04:00
Matthias Clasen
226e0eadf0
widget-factory: Add an Inspector menu item
...
Just because we can.
2019-04-16 18:06:12 -04:00
Olivier Fourdan
1f58e0ed6b
wayland: Add support for xdg-output
...
Previously, the GDK backend for Wayland would deduce the logical size
of the monitors from the wl_output size and scale.
With the addition of fractional scaling which advertises a larger scale
value and then scale down the client surface, the computed logical size
of the monitors in GDK would be wrong and confuse applications which
insist on using the monitor size and position (like Firefox).
The xdg-output protocol aims at describing outputs in a way which is more
in line with the concept of an output on desktop oriented systems by
presenting the outputs using their logical size and position appropriately
transformed.
Add support for the optional xdg-output protocol so that the size and
position of the monitors as reported by GDK is correct even when using
fractional scaling.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/1828
2019-04-16 16:14:43 +02:00
Timm Bäder
1ee5c2cac4
grid: Fix annotation typo
2019-04-16 07:20:13 -04:00
Emmanuele Bassi
97fb1c7757
Add licensing and copyright notice to report generators
...
So that other projects can use them.
2019-04-16 11:43:23 +01:00
Benjamin Otte
dff9a5a195
build: Add new gcc error flags
...
These flags check for code that we don't want to write, so turn them
into error flags.
Variable length arrays should be replaced by malloc() - or explicit
alloca() calls if you know what you're doing.
Implicit fallthrough should be replaced by explicit fallthrough with the
usage of G_GNU_FALLTHROUGH.
This work inspired by Kees Cook's LCA2019 talk:
https://www.youtube.com/watch?v=FY9SbqTO5GQ
http://outflux.net/slides/2019/lca/danger.pdf
2019-04-15 14:40:25 +02:00
Benjamin Otte
b9fb2f0933
Add missing G_GNUC_FALLTHROUGH statements
2019-04-15 14:40:25 +02:00
Benjamin Otte
0791924bf7
Convert fallthrough comments to G_GNUC_FALLTHROUGH
...
This way it's very obvious that fallthrough is indeed what we want.
Also bump the glib requirement to 2.59 which introduced
G_GNUC_FALLTHROUGH.
2019-04-15 14:40:25 +02:00
Benjamin Otte
90870194ff
filechoosernativewin32: Add missing break statement
2019-04-15 14:38:23 +02:00
Benjamin Otte
c593f86ac6
notebook: Add missing return statement
...
Previously, the code would just fall thrrough and repeat an operation it
had tried before, but that seems quite unnecessary.
2019-04-15 14:38:23 +02:00
Benjamin Otte
ad3ded7ba0
textview: Add missing break statement
2019-04-15 14:38:23 +02:00
Benjamin Otte
3f9b8f25d8
vulkan: Add missing break statement
2019-04-15 14:38:23 +02:00
Benjamin Otte
8ad38e5ae5
menu: Remove unused function parameter
...
The parameter was only ever set to TRUE.
And to make matters even more fun, the function didn't ever look
at the parameter.
2019-04-15 14:38:23 +02:00
Benjamin Otte
0cd2946676
menu: Move enum into only source file using it
2019-04-15 14:38:23 +02:00
Benjamin Otte
5473d13470
menu: remove bottom attach
...
bottom attach is top attach + 1, so use that everywhere
2019-04-15 14:38:23 +02:00
Benjamin Otte
31ccb7ca70
menu: get rid of 2 variables
...
They are always 0 and 1 respectively, so treat the code like that.
2019-04-15 14:38:23 +02:00
Benjamin Otte
dba1926a42
menu: Yeah cool, you're the last child
...
Nobody cares.
2019-04-15 14:38:23 +02:00
Benjamin Otte
b1b12a239f
menu: Remove attach properties
...
They're never changed from being -1. So just replace them with -1
everywhere.
2019-04-15 14:38:23 +02:00
Benjamin Otte
44ce36bef5
menubar: Remove pack direction
2019-04-15 14:38:23 +02:00
Benjamin Otte
84d2150077
tests: Remove popupat test
...
The test hasn't worked for a while and nobody cared to fix it.
Neither do I.
2019-04-15 14:38:23 +02:00
Emmanuele Bassi
3f61360fa1
ci: Restructure the HTML report
...
We should show all the possible result sections:
- passed
- skipped
- expected failures
- failures
- timed out
Even if we consider the first three to be successes.
2019-04-14 21:07:15 +01:00
Emmanuele Bassi
7fb9f21ee0
ci: Tweak the HTML report style
...
The header needs to take into account the job id field.
2019-04-14 20:37:21 +01:00
Emmanuele Bassi
d733078766
ci: Style the test report
...
My web design skills are terrible, but it's better than nothing; I'm
sure this will lead to somebody filing a merge request to make the
test report look a lot better.
While we're at it, let's include the reftest images inside the report
itself, so we don't have to hunt them down.
2019-04-14 20:29:14 +01:00
Emmanuele Bassi
cb6e48e22b
Merge branch 'harfbuzz-deprecations' into 'master'
...
Handle deprecated HarfBuzz API
See merge request GNOME/gtk!748
2019-04-13 13:45:32 +00:00
Emmanuele Bassi
f39ae35e4b
demo: Ignore deprecated HarfBuzz API
...
We should avoid warnings just because we're building against bleeding
edge HarfBuzz.
2019-04-13 14:30:09 +01:00
Emmanuele Bassi
daea92ea00
Ignore deprecated HarfBuzz API
...
HarfBuzz 2.0 deprecated some API used by the GtkFontChooser, but since
we're still supporting older versions of HarfBuzz, we should disable the
deprecation warnings to avoid too much noise during builds.
2019-04-13 14:30:09 +01:00
Emmanuele Bassi
b98c7214ef
ci: Generate valid HTML for the report
...
Fix a typo in the closing <ul>, and add a missing closing <div>.
2019-04-13 14:28:53 +01:00
Emmanuele Bassi
3412d18dc2
ci: Use the v5 CI image
...
Otherwise the dependencies for the HTML report won't be available.
2019-04-13 14:18:14 +01:00
Emmanuele Bassi
3bc8ab91a2
ci: Add an HTML report generator
...
The JUnit cover report is useful, but only up to a point; for instance,
it's not used unless it's part of a merge request. This means you don't
get a report if you're pushing to a branch that does not have an MR open.
With a simple Python script and some minimal templating, we can generate
an HTML report from the "I Can't Believe it's not JSON™" log that Meson
produces, and keep it as a CI artifact.
2019-04-13 14:11:30 +01:00
Benjamin Otte
f9d5869774
passwordentry: Add missing break statement
2019-04-13 11:01:02 +02:00
Timm Bäder
20ccb53c42
text: Remove useless gtk_widget_get_allocation call
2019-04-13 06:26:27 +02:00
Timm Bäder
f9a589c7fd
listbox: Fix compiler warning
2019-04-13 06:26:17 +02:00
Timm Bäder
ddd044f283
entry: Remove some unused constants
2019-04-13 06:18:43 +02:00
Timm Bäder
3569348f9c
gl renderer: Declare color matrix child separately
...
Otherwise I'm doing this all the time when debugging.
2019-04-13 06:00:02 +02:00
Benjamin Otte
9e8e3eb0ca
Merge branch 'listbox-separators' into 'master'
...
Listbox separators
See merge request GNOME/gtk!747
2019-04-13 00:38:14 +00:00
Matthias Clasen
87121998a2
Merge branch 'test-locale-change' into 'master'
...
testutils: Run in UTF8 locale
See merge request GNOME/gtk!734
2019-04-13 00:28:08 +00:00
Matthias Clasen
68d6c51dbc
inspector: Use the new show-separators property
...
Add separators to the list boxes on the Settings page.
2019-04-12 20:25:54 -04:00
Matthias Clasen
4551aef081
Adwaita: Implement list separators
...
Just put a top border on every row.
2019-04-12 20:25:16 -04:00
Matthias Clasen
0249bd4f8a
listbox: Add a ::show-separators property
...
This is getting translated into a .separators style
class on the list box css node.
2019-04-12 20:24:40 -04:00
Benjamin Otte
b11c69b4a8
Merge branch 'fix-reftests' into 'master'
...
Fix reftests
See merge request GNOME/gtk!746
2019-04-13 00:02:19 +00:00
Benjamin Otte
84351ba9e5
reftests: Be more graceful about errors
...
The nice thing about that is that we can then log messages about the
errors to the log.
And then we can read the logs of the CI machinery and actually know
what's going on.
2019-04-13 01:48:28 +02:00
Matthias Clasen
9a1da43890
inspector: Fix editing in the property list
...
The type-to-search was interfering with using
entries in the list. Avoid that by watching
where the focus is.
2019-04-12 19:48:23 -04:00
Benjamin Otte
c78ba42051
testutils: Run in UTF8 locale
...
before, code was using the "C" locale, but that one uses ASCII. Instead,
run in the "C.utf8" locale.
Nobody expects code to not support UTF8 and no end user runs their
machine in an ASCII setup, so it makes no sense to default to that.
2019-04-13 01:40:10 +02:00
Benjamin Otte
e0730bc118
testsuite: Fix label-shadows test
...
Use a GtkFixed to position and rotate the labels. This is necessary
because the GtkLabel::angle property was removed.
2019-04-13 01:31:49 +02:00
Matthias Clasen
7d9a8a6ec0
Merge branch 'gtkcomposetable-checked-mul' into 'master'
...
gtkcomposetable: use g_size_checked_mul() for overflow checking
See merge request GNOME/gtk!745
2019-04-12 22:19:31 +00:00
Benjamin Otte
07e0411b98
reftests: Fix textview-margins test
...
The text is wider now that we changed the font properties, so account
for that.
2019-04-13 00:11:24 +02:00
Christoph Reiter
b66e4cd64c
gtkcomposetable: use g_size_checked_mul() for overflow checking
...
The check was added in !741 , this replaces it with g_size_checked_mul()
2019-04-12 22:41:58 +02:00
Benjamin Otte
254feda16b
Revert "reftests: Fix textview-margins test"
...
This reverts commit c6471ee874 .
Doesn't work on CI.
2019-04-12 22:38:11 +02:00
Benjamin Otte
c6471ee874
reftests: Fix textview-margins test
...
The text is wider now that we changed the font properties, so account
for that.
2019-04-12 22:15:00 +02:00
Emmanuele Bassi
261b8c7ee6
Merge branch 'cache-reftest-images' into 'master'
...
ci: Cache the reftest artifacts
See merge request GNOME/gtk!744
2019-04-12 20:09:50 +00:00
Emmanuele Bassi
f58f0732c2
ci: Cache the reftest artifacts
...
Keeping the reftest output images as artifacts of a job allows us to
browse them and download them straight from GitLab.
2019-04-12 20:58:29 +01:00
Emmanuele Bassi
c5a4a26f06
Merge branch 'ci-update' into 'master'
...
ci: Install Monospace fonts
See merge request GNOME/gtk!742
2019-04-12 19:30:31 +00:00
Emmanuele Bassi
faff08193a
Merge branch 'fix-meson-on-macos-2' into 'master'
...
reftests: Use shared_library, not shared_module
See merge request GNOME/gtk!743
2019-04-12 19:30:19 +00:00
Emmanuele Bassi
3046358d38
ci: Update list of xfail tests
...
The label tests do not fail any more, because the CI image has Monospace
fonts; the textview-margins test started to fail on the CI image,
though.
2019-04-12 20:21:29 +01:00
Matthias Clasen
e81f033ece
Merge branch 'validate-alloc-size' into 'master'
...
Check the size of the g_new arguments
See merge request GNOME/gtk!741
2019-04-12 19:11:30 +00:00
Emmanuele Bassi
5c608fe070
ci: Install Monospace fonts
...
The reftests require them.
2019-04-12 20:09:10 +01:00
Matthias Clasen
a2db956492
inspector: Show readonly property values
2019-04-12 15:08:01 -04:00
Matthias Clasen
8d51038cb1
inspector: Cosmetics
2019-04-12 15:08:01 -04:00
Matthias Clasen
86c86e0860
inspector: Revamp attribute and action info
...
This also needs to be turned into single-line data.
2019-04-12 15:08:01 -04:00
Matthias Clasen
324f5472a2
Fix a crash
...
We had a signal handler with a wrong signature, causing
a crash when looking at the GtkSettings properties in
the inspector.
2019-04-12 15:08:01 -04:00
James Westman
c20360dd98
reftests: Use shared_library, not shared_module
...
This allows Meson to run on macOS, where shared modules cannot be linked
against.
2019-04-12 14:04:01 -05:00
Emmanuele Bassi
1b6252ebf0
Merge branch 'default-request-mode' into 'master'
...
Add default GtkLayoutManagerClass.get_request_mode()
See merge request GNOME/gtk!738
2019-04-12 17:59:04 +00:00
Emmanuele Bassi
b4c8ba4de7
Check the size of the g_new arguments
...
We're passing integers without validating their size, and newer GCC are
very cross about it, with warnings like:
warning: argument 1 range [18446744071562067968, 18446744073709551615]
exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
We should check we're not overflowing the allocation size, by limiting
the range of values we can use.
First of all, we need to use `gsize` instead of a random `int`, since we're
allocating data.
Additionally, we need to check that the multiplication that computes the
size of the allocation doesn't overflow the maximum value of a `gsize`.
2019-04-12 18:58:34 +01:00
Benjamin Otte
ad34f731e9
CI: Turn on reftests
2019-04-12 19:34:29 +02:00
Benjamin Otte
198207f1ff
reftests: Mark the currently unfixed failures as XFAIL
...
They should be fixeed before 4.0 but the fixes are more involved. And we
want to start running the existing tests on CI, because they break
regularly and we want to catch that.
2019-04-12 19:34:29 +02:00
Benjamin Otte
6120f11ed3
reftests: Fix GtkFixed layout properties
...
GtkFixed was still using "x" and "y", when it should have been using
"position".
2019-04-12 19:34:29 +02:00
Benjamin Otte
0a440a804f
reftests: Fix CSS for various tests
...
* :nth-child(first) => :first-child
* :nth-child(last) => :last-child
* Add semicolons at end of declarations
* Remove spaces between color functions (shade, alpha, ...) and args
2019-04-12 19:34:29 +02:00
Benjamin Otte
117fc68195
tests: Remove testboxcss
...
That test was cool in 2011, but hasn't been updated or used since then
because its features are now part of widget-factory and the inspector.
So let's remove it.
2019-04-12 19:34:29 +02:00
Benjamin Otte
f310609a66
builder: Parse GskTransform properties
...
In particular, this allows parsing the GtkFixed position properties.
2019-04-12 19:34:29 +02:00
Benjamin Otte
8001c7d972
transform: Add gsk_transform_parse()
...
It uses the new CSS parser.
2019-04-12 19:34:29 +02:00
Benjamin Otte
023b695422
testsuite: Fix stylecontext test
...
Update the test to the stricter interpretation of the CSS specification
and the removal of custom additions.
2019-04-12 19:34:29 +02:00
Benjamin Otte
ec6ce0707a
testsuite: Update references for style test
...
We have more accurate section printouts now and they are used here.
2019-04-12 19:34:29 +02:00
Benjamin Otte
f37573f8dc
testsuite: Check errors not just for line, but for full range
...
Instead of just checking that the line of the error message is correct,
assert that start and end position are on the correct character offset.
Also fix all the tests to conform to this.
2019-04-12 19:34:29 +02:00
Benjamin Otte
49f8b571b9
testsuite: Update integer test
...
Make the test use an actual integer property that accepts negative
numbers (opacity) instead of one that wants units (margin-top) or
can't deal with negative numbers (everything else).
2019-04-12 19:34:29 +02:00
Benjamin Otte
e1cd996617
selector: Inlcude : sign when reporting errors
2019-04-12 19:34:28 +02:00
Benjamin Otte
24cc721bc6
cssprovider: Mark whole @import statement on import error
2019-04-12 19:34:28 +02:00
Benjamin Otte
d41580adfc
calc: Have better error location range
2019-04-12 19:34:28 +02:00
Benjamin Otte
3ab65b7da2
csspositionvalue: Redo the parser
...
The old one incorrectly rejected "center left" and "center right".
2019-04-12 19:34:28 +02:00
Benjamin Otte
79238b0d8f
cssparser: Add error functions that take locations
...
... and use them to report better error locations for the warning when
blocks aren't terminated properly.
2019-04-12 19:34:28 +02:00
Benjamin Otte
2e0a56665a
css: Move gtkcsssection.[ch] into gtk/css
2019-04-12 19:34:28 +02:00
Benjamin Otte
76826cfa2f
cssparser: Pass in error locations explicitly
...
And for the quick function, use the start/end location of the current
token.
2019-04-12 19:34:28 +02:00
Benjamin Otte
37671d2bd0
cssprovider: Redo error emission
...
Emit all errors via the parser, don't try to have a custom error
handling machinery.
The only exception is the initial file load error - we need to do that
one directly, because there is no parser.
2019-04-12 19:34:28 +02:00
Benjamin Otte
04d24b7cd2
csssection: Make printing functions public
2019-04-12 19:34:28 +02:00
Benjamin Otte
085d34cbb0
cssprovider: Advance parser to start of declaration
...
This way, the block will reference the right location.
2019-04-12 19:34:28 +02:00
Benjamin Otte
46143492a2
cssprovider: Change section handling
...
Instead of building a full tree of sections that then nobody cares
about, just create sections as necessary for when we use it in the
inspector.
2019-04-12 19:34:28 +02:00
Benjamin Otte
a475d72d47
cssparser: Improve location APIs
...
1. Export multiple locations
2. Return the location instead of passing one in
2019-04-12 19:34:28 +02:00
Benjamin Otte
a8f712b09a
cssection: Return locations, not numbers
...
Now that we have GtkCssLocation, actually use it.
2019-04-12 19:34:28 +02:00
Benjamin Otte
2fb202187c
css: Remove GtkCssSectionType
...
It's unused.
2019-04-12 19:34:28 +02:00
Benjamin Otte
207c0b32b4
csssection: Redo constructors
...
Remove the unused one and rename the old one to new_from_parser().
2019-04-12 19:34:28 +02:00
Benjamin Otte
35f60dc918
csssection: Store a GtkCssLocation
2019-04-12 19:34:28 +02:00
Benjamin Otte
1cd9396154
css: Review error messages
...
... and move them from _gtk_css_parser_error() to the proper new error
message.
2019-04-12 19:34:28 +02:00
Benjamin Otte
de73ac980f
css: Use gtk_css_parser_consume_any() for transition shorthand
2019-04-12 19:34:28 +02:00
Benjamin Otte
acaec5f186
testsuite: Update parser tests to new errors
...
Some errors are now properly detected as unknown values when previously
they were just treated as syntax errors.
2019-04-12 19:34:28 +02:00
Benjamin Otte
c8589a9a2f
testsuite: Handle warnings in CSS tests
2019-04-12 19:34:28 +02:00
Benjamin Otte
a31e5f7a8c
cssshadow: Use gtk_css_parser_consume_any()
...
This way, the arguments can now really be speicified in any order.
A new testcase testing all the ordering possibilities has been added.
2019-04-12 19:34:28 +02:00
Benjamin Otte
e0a01ba174
css: Redo for new parser
...
This commit is still way too big, but I couldn't make it smaller.
It transitions the old CSS parser to the new parser. CSS parsing is now
tokenized, everything else is probably still buggy.
2019-04-12 19:34:28 +02:00
Benjamin Otte
98e076b51e
rgba: Add gdk_rgba_parser_parse()
...
This function is a (private) function to parse a GdkRGBA accoridng to
the CSS specs. We should probably use it for gdk_rgba_parse(), but that
would change the syntax we accept there...
This also introduces a dependency of libgdk on libgtkcss.
So far, no users for this function exist.
2019-04-12 19:34:28 +02:00
Benjamin Otte
f3db19d694
Resurrect the CSS parser from the tokenizer branch
...
So far that parser is unused.
2019-04-12 19:34:28 +02:00
Benjamin Otte
607502ef43
cssparser: Add gtk_css_parser_consume_url()
...
Another slight renaming and semantics change.
2019-04-12 19:34:28 +02:00
Benjamin Otte
acddc317da
cssparser: Add gtk_css_parser_resolve_url()
...
Another slight change of semantics and naming for the new parser.
2019-04-12 19:34:28 +02:00
Benjamin Otte
7f99c1e588
cssparser: Split integer gettig into has/consume functions
...
We can't try to get an integer because ultimately integer getters
support the same shenanigans that numbers and percentages do with calc()
and whatnot.
2019-04-12 19:34:28 +02:00
Benjamin Otte
5f3e5a0406
cssparser: Add gtk_css_parser_try_delim()
...
For parsing single code point delimiters. Also port calc() to use this.
2019-04-12 19:34:28 +02:00
Benjamin Otte
23080d47b5
cssparser: Get rid of _gtk_css_parser_try_double()
...
Use gtk_css_parser_consume_number() everywhere instead.
2019-04-12 19:34:28 +02:00
Benjamin Otte
f0d2f99239
cssparser: Add gtk_css_parser_consume_string()
...
Well, just rename _gtk_css_parser_read_string() for the new semantics,
but this sounds cooler.
2019-04-12 19:34:28 +02:00
Benjamin Otte
e7b9ecc99a
cssparser: Add gtk_css_parser_try_at_keyword()
2019-04-12 19:34:28 +02:00
Benjamin Otte
dce8c11b07
cssparser: Drop _gtk_css_parser_has_prefix()
...
Replace it with has_ident/has_function. The old function is a typical
string matching API, not a tokenizing one.
2019-04-12 19:34:28 +02:00
Benjamin Otte
7ccec19501
parser: Get rid of _gtk_css_parser_is_eof()
...
Use gtk_css_parser_has_token() instead.
2019-04-12 19:34:28 +02:00
Benjamin Otte
93b643c44d
css: Make font-weight an integer
...
This conforms to what Pango does and to the CSS4 spec. And it makes the
parsing code easier. So let's go for it.
2019-04-12 19:34:28 +02:00
Benjamin Otte
21616f6e2e
cssimagescaled: Use gtk_css_parser_consume_function()
...
As part of that, adapt the syntax from
-gtk-scaled( [<image>, <int>?]# )
to
-gtk-scaled( [<image> <int>?]# )
because the commas should be used to separate distinct elements.
Note that almost nobody specifies the scale anyway.
2019-04-12 19:34:28 +02:00
Benjamin Otte
8157004068
easevalue: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
8d69bda27a
cssimagelinear: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
dbdb81f411
cssparser: Add gtk_css_parser_consume_ident()
...
And use it to fix the palette parser.
2019-04-12 19:34:28 +02:00
Benjamin Otte
28fbcf6abe
shorthand: Use gtk_css_parser_try_ident()
2019-04-12 19:34:28 +02:00
Benjamin Otte
1fd339c46f
cssimageradial: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
b830bdca37
cssimagefallback: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
45bc4ed321
cssimagerecolor: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
3988847a05
reftests: Add a cross-fade syntax-checking reftest
...
Making sure all this newfangled code does what it says.
2019-04-12 19:34:28 +02:00
Benjamin Otte
9c862d7736
cross-fade: Make progress optional
...
Now we accept progress being unset and then dynamically compute it
on-demand.
2019-04-12 19:34:28 +02:00
Benjamin Otte
d99ae4b6c2
cross-fade: Use gtk_css_parser_consume_any()
...
.. and gtk_css_parser_consume_function().
gtk_css_parser_consume_any() is a new function that implements the CSS
spec's any combinator ||.
2019-04-12 19:34:28 +02:00
Benjamin Otte
96f9cbcabf
cssimage: Make cross-fade() an array
...
The new spec at https://drafts.csswg.org/css-images-4/#cross-fade-function
allows infinite images to cross-fade and we want to, too.
2019-04-12 19:34:28 +02:00
Benjamin Otte
3597f7e8b1
cssimageicontheme: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
38227dc972
cssfiltervalue: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
aa50e92c65
csstransformvalue: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
753ad64cbc
cssparser: Introduce gtk_css_parser_consume_function()
...
This is a vfunc-based function parser.
2019-04-12 19:34:28 +02:00
Benjamin Otte
3fb44ae651
cssparser: Add gtk_css_parser_try_token()
2019-04-12 19:34:28 +02:00
Benjamin Otte
76fb80f46c
cssparser: Introduce gtk_css_parser_try_ident()
...
... and gtk_css_parser_has_function().
2019-04-12 19:34:28 +02:00
Benjamin Otte
684b6459f1
cssparser: Get rid of _gtk_css_parser_begins_with()
...
Replace it with calls to gtk_css_parser_has_token().
2019-04-12 19:34:28 +02:00
Benjamin Otte
904a9d0c98
parser: Add gtk_css_parser_has_token()
...
This is ithe first step towards converting the parsing code to use
tokens. For now, the topken type is just a magic enum value that only
works as-needed.
2019-04-12 19:34:28 +02:00
Benjamin Otte
32e256e5ab
css: Split GtkCssLocation into its own file
...
And make the struct public, so we can use it in signal handlers.
2019-04-12 19:34:28 +02:00
Benjamin Otte
d4d46e8125
csstokenizer: Add gtk_css_token_is_preserved()
2019-04-12 19:34:28 +02:00
Benjamin Otte
661720ef8b
tokenizer: Pass error arg to read_token()
...
Instead of an error vfunc, have the tokenizer vfunc take a GError
argument. Note that even when an error is returned, there is still a
token to be read.
2019-04-12 19:34:28 +02:00
Benjamin Otte
013591d68d
css: Add GtkCssTokenizer
...
This is copied from an old branch of mine.
2019-04-12 19:34:28 +02:00
Benjamin Otte
a938c14d11
build: Add gtk-css static library
...
This library is meant to be the new CSS library that gets used from GDK,
GSK and GTK for string printing and parsing.
As a first step, move GtkCssProviderError into it.
While doing so, split it into GtkCssParserError (for critical problems)
and GtkCssParserWarning (for non-critical problems).
2019-04-12 19:34:28 +02:00
Emmanuele Bassi
d6cc10ea74
Merge branch 'vulkan-warning' into 'master'
...
vulkan: Add missing enumeration value
See merge request GNOME/gtk!740
2019-04-12 17:26:52 +00:00
Emmanuele Bassi
f25832455f
vulkan: Add missing enumeration value
...
Vulkan 1.1.97 added VK_ERROR_INVALID_DEVICE_ADDRESS_EXT, and we now must
handle it.
2019-04-12 18:03:22 +01:00
Matthias Clasen
42ea95c54e
inspector: Modernize action references
...
Now that we do inline editing, we need to
show this in a single line.
2019-04-12 13:01:19 -04:00
Matthias Clasen
46e7b44ffa
inspector: Drop binding info
...
Thia was relying on non-public implementation details
and was broken since 2015.
2019-04-12 12:35:06 -04:00
Emmanuele Bassi
a27737b04e
Add default GtkLayoutManagerClass.get_request_mode()
...
Just like GtkContainer provides a default implementation of
GtkWidgetClass.get_request_mode(), we can do the same inside
GtkLayoutManager.
A default implementation preserves the behavior of existing widgets that
moved, or will move, to a GtkLayoutManager.
2019-04-12 17:10:30 +01:00
Matthias Clasen
bd2d07e671
Merge branch 'inspector-props' into 'master'
...
inspector: Improve property list editing
See merge request GNOME/gtk!736
2019-04-12 15:20:26 +00:00
Matthias Clasen
fde21b57cd
inspector: Improve property list editing
...
Replace the treeview with popups on the property
page with a listbox with inline editing.
2019-04-12 11:12:55 -04:00
Benjamin Otte
637bd13f3f
boxlayout: Remove unused variable
2019-04-12 16:32:00 +02:00
Emmanuele Bassi
eadd90c22e
ci: Use UTF-8 encoding for the test cover report
...
Since we're embedding text coming from the tests into the report, we
should specify an encoding for both the source JSON file and the target
XML file when opening them.
2019-04-12 13:56:17 +01:00
Emmanuele Bassi
279cb5717c
Merge branch 'issue-1821' into 'master'
...
Fix get_request_mode for GtkBoxLayout
Closes #1821
See merge request GNOME/gtk!737
2019-04-12 12:54:08 +00:00
Emmanuele Bassi
b91fbfd5a0
Fix get_request_mode for GtkBoxLayout
...
The default GtkWidgetClass.get_request_mode() is implemented by
GtkContainer; now that GtkBox uses a GtkBoxLayout, we need to implement
it inside the layout manager to preserve the same behavior as the old
GtkBox.
Fixes #1821
2019-04-12 13:14:44 +01:00
Chun-wei Fan
88086ea91a
meson: Only use HarfBuzz fallback when needed
...
The current Meson releases have broken CMake support, meaning that it is
likely that HarfBuzz could not be located for Visual Studio builds
unless one handcrafts pkg-config files for it, which is both tedious and
error-prone.
Instead, use the existing mechanism for looking for the HarfBuzz headers
and libraries on Visual Studio first when it could not be found via
dependency(), and then use the fallback if it still could not be found.
2019-04-12 18:16:12 +08:00
Matthias Clasen
0842d084dd
inspector: Cometic fixes for controllers
...
Add a frame, and make the rows not activatable.
2019-04-11 22:28:15 -04:00
Matthias Clasen
838b25177f
inspector: Make rows activatable
...
Rows containing just a switch should be activatable,
and toggle the switch.
2019-04-11 22:06:16 -04:00
Matthias Clasen
b39d0cec3c
inspector: Fix css autosave
...
We were creating the directory with improper permissions.
2019-04-11 19:39:44 -04:00
Matthias Clasen
f0c72bdc3b
Adwaita: Add spacing to message dialogs
...
The text was running into the action area.
2019-04-11 19:39:44 -04:00
Benjamin Otte
427d216081
inspector: Enable by default
...
We don't want to stop people from being able to debug GTK applications
by default.
The keybinding also runs last in event delivery, so it doesn't override
existing keybindings anywhere and is therefor safe to enable.
The setting of course should remain, so people who want to lock down
installations, like for kiosks, can turn this off.
2019-04-12 00:39:24 +02:00
Aurimas Černius
dc8b5f75a4
Updated Lithuanian translation
2019-04-11 22:50:00 +03:00
Matthias Clasen
b6f2969872
Merge branch 'frame-clock' into 'master'
...
gdkframeclockidle: Don't permanently skew frame time
Closes #1612
See merge request GNOME/gtk!731
2019-04-11 17:23:03 +00:00
Jakub Steiner
6eed78e3de
Adwaita: OSD set semi-opaque again
...
- forgot the bling bling
2019-04-11 15:35:24 +02:00
Jakub Steiner
c4aa060118
Adwaita: less purple OSD style
...
- one of the bits that escaped the purple cast is the osd background color
2019-04-11 15:26:55 +02:00
Chris Williams
0bf4c2420d
gdkframeclockidle: Don't permanently skew frame time
...
Since commit 3b2f9395 , the frame time may be set into the future, so
only ensure monotonicity, and don't store the offset. This prevents the
frame time from becoming out of sync with g_get_monotonic_time().
Fixes #1612
2019-04-09 16:26:25 -04:00
Daniel Mustieles
aac2556762
Update Spanish translation
2019-04-09 08:11:59 +00:00
Chris Williams
f813bc1823
gdkframeclockidle: Remove unused struct member
...
compute_frame_time() has been using g_get_monotonic_time() instead of
GTimer since commit 7dfa4121 .
2019-04-08 20:37:00 -04:00
nana-4
ca233ad9ae
themes: Fix and improve linked button style
...
Instead of re-styling the border and radius of the linked buttons
depending on the position (middle, first, last, or only child), just
remove the border and radius in a specific direction when the button is
`:not(:first-child)` and/or `:not(:last-child)`.
This properly handles the style of linked buttons in all positions
-- middle, first, last, and only child.
Fixes #1294
2019-04-09 02:27:41 +09:00
Matthias Clasen
e6631a7b66
Merge branch 'wip/cellrendererpixbuf-fallbacks' into 'master'
...
cellrendererpixbuf: Use fallback icons with icon-name
Closes #1809
See merge request GNOME/gtk!728
2019-04-08 15:09:40 +00:00
Iain Lane
fbe0e32813
cellrendererpixbuf: Use fallback icons with icon-name
...
This gives us a better chance of finding an icon to show.
Closes : #1809
2019-04-08 15:05:51 +01:00
Matthias Clasen
2594593de2
Merge branch 'pick-insensitive2' into 'master'
...
Make picking insensitive widgets work again
Closes #1816 and #51
See merge request GNOME/gtk!727
2019-04-08 12:59:06 +00:00
Matthias Clasen
ef982b7d46
Rename things
...
Rename the can-pick property to can-target,
and redo the pick flags with more descriptive names.
2019-04-08 08:42:25 -04:00
Ask Hjorth Larsen
0432b850c5
Updated Danish translation of gtk
2019-04-08 00:04:13 +02:00
Matthias Clasen
1b362d1f01
Keep a drawable check in gtk_widget_contains
...
If the widget is not drawable, it probably doesn't have
an allocation, so asking the question does not make much
sense.
2019-04-07 20:34:12 +00:00
Matthias Clasen
7ce968f297
Document GtkPickFlags
2019-04-07 17:27:58 +00:00
Matthias Clasen
0e15b4a367
inspector: Allow picking insensitive widgets again
...
Use the new argument to gtk_widget_pick to allow picking
insensitive widgets.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/51
2019-04-07 17:23:17 +00:00
Matthias Clasen
de0942b0b8
tooltip: Allow tooltips on insensitive widgets again
...
Use the new argument to gtk_widget_pick to allow picking
insensitive widgets.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1816
2019-04-07 17:23:06 +00:00
Matthias Clasen
b804235aea
Add a flags argument to gtk_widget_pick
...
This will be used to let the inspector and other users
pick insensitive widgets again. For now, update all
callers to pass no flags, preserving the current
behavior.
2019-04-07 17:19:09 +00:00
Matthias Clasen
6bc32a3d5d
widget: Drop the pick vfunc
...
The way to influence picking is to implement contains,
we no longer use the pick vfunc.
2019-04-07 17:00:51 +00:00
Matthias Clasen
5e24454764
window: Stop implementing pick
...
Treat popovers as a special-case for now.
2019-04-07 16:11:20 +00:00
Matthias Clasen
d9cf0ff684
paned: Drop the pick vfunc
...
Implement contains on the handle, instead of pick on the paned.
2019-04-07 16:03:27 +00:00
Matthias Clasen
5b78a3048f
gizmo: Add a contains_func
...
Let GtkGizmo override the contains() implementation.
Update all callers to pass NULL for the contains_func.
2019-04-07 15:47:24 +00:00
Matthias Clasen
676ac380cd
widget: Make contains just be about position
...
Leave out reactiveness considerations here,
pick will handle those.
2019-04-07 15:18:37 +00:00
Matthias Clasen
dce2c58799
widget: Make contains respect rounded borders
...
We have the api for this now.
2019-04-07 15:18:37 +00:00
Matthias Clasen
f3d1666394
Merge branch 'treeview-expander-fix' into 'master'
...
treeview: Make expanders work again
Closes #1814
See merge request GNOME/gtk!725
2019-04-07 15:16:23 +00:00
Matthias Clasen
8af0782261
treeview: Make expanders work again
...
These were broken by the crossing event unification.
We are now generating some more crossing events, and
the treeview was not looking closely enough at the
ones it gets.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1814
2019-04-07 12:16:20 +00:00
Matthias Clasen
df18223487
NEWS: More details about transforms
2019-04-06 23:42:01 +00:00
Matthias Clasen
b678d12c2d
Merge branch 'inspector-work' into 'master'
...
Inspector work
See merge request GNOME/gtk!724
2019-04-06 23:14:01 +00:00
Matthias Clasen
a0e6353667
inspector: Disable autoloaded custom css initially
...
This is a safeguard against possible crashing css
being autoloaded.
2019-04-06 23:08:10 +00:00
Matthias Clasen
bea7ccb41f
widget: Propagate display changes to the style context
...
When a root is set on a widget, the style context may
already exist. We need to make sure that the style context
has the right display set.
This was showing up as "css spillover" in the inspector.
Closes: #https://gitlab.gnome.org/GNOME/gtk/issues/1817
2019-04-06 23:03:25 +00:00
Matthias Clasen
9895f2bd3a
Merge branch 'inspector-fixes' into 'master'
...
Inspector fixes
See merge request GNOME/gtk!723
2019-04-06 22:09:23 +00:00
Matthias Clasen
721a12826d
inspector: Warn if using the default display
2019-04-06 18:19:40 +00:00
Matthias Clasen
4b40cc27a9
inspector: Autosave css
...
Save and restore the contents of the css editor in a file.
2019-04-06 18:00:09 +00:00
Matthias Clasen
c92e53622f
inspector: Rearrange settings a bit
...
Keep only the software gl setting for GL, and put it together
with the simulate touchscreen setting in a 'misc' box. This
keeps all the 'show' options nicely grouped.
2019-04-06 17:39:00 +00:00
Matthias Clasen
c31185b419
inspector: Clean up on finalize
...
Just a matter of cleanliness.
2019-04-06 16:53:35 +00:00
Matthias Clasen
5ff59c12b0
inspector: Fix a copy-paste error
...
We were stuffing the layout overlay into the updates_overlay
field, leaving the layout_overlay field unused.
2019-04-06 16:53:35 +00:00
Matthias Clasen
d3c0899000
gdk: Fix an indentation mishap
...
Commit f1d61d5515 inadvertedly
destroyed indentation in most of gdksurface.c. Fix this.
2019-04-06 16:48:52 +00:00
Piotr Drąg
32334b2e83
Update Polish translation
2019-04-06 16:45:45 +02:00
Matthias Clasen
ea527812a0
HighContrast: fix focus
...
We don't want to render focus rectangles on everything. With
the way focus is propagated nowadays, the theme has to selectively
render focus on certain widgets.
At the same time, we always want to render focus for this
theme, so use the focus pseudoclass, not focus(visible).
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1815
2019-04-06 13:19:29 +00:00
Matthias Clasen
01851e04fc
combo box: Remove leftovers in the header
...
These functions no longer exist and should not be in
the headers anymore.
2019-04-06 12:09:37 +00:00
Matthias Clasen
299c53201d
Updates for 3.96
2019-04-05 22:05:49 -04:00
Matthias Clasen
bfb5e6e72f
widget: Remove some leftover child-property code
2019-04-05 20:52:29 -04:00
Matthias Clasen
1fab3d9e20
builder-tool: Handle layout properties gracefully
...
If there are already layout properties in the ui
file, we shouldn't crash, even if --3to4 is given.
2019-04-05 20:52:29 -04:00
Matthias Clasen
f950172731
Remove a few stray <packing/> elements
...
These were leftovers from an earlier conversion
that did not properly strip empty elements.
2019-04-05 20:52:29 -04:00
Matthias Clasen
9c9b4e6832
Merge branch 'menushell-bandaid' into 'master'
...
Make menu activation work again
Closes #1796
See merge request GNOME/gtk!721
2019-04-06 00:40:54 +00:00
Matthias Clasen
2deb0e7e1d
Make menu activation work again
...
After we stopped untranslatable delivering events, menus stopped
working 'the second time'. After some painful debugging, it appears
that this is caused by the menushell code deliberately grabbing
on the menubar *after* grabbing on the menu, causing events to
be deleivered to the wrong toplevel. This did not use to matter,
but now we drop these events.
Absent a more thorough rewrite of menus, just don't grab on
the menubar. This makes menu activation work again and does not
appear to have ill effects, on either Wayland or X.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1796
2019-04-06 00:20:21 +00:00
Emmanuele Bassi
6f6ea51290
Merge branch 'wip/ebassi/ci-junit-report' into 'master'
...
ci: Add JUnit report for the test suite
See merge request GNOME/gtk!718
2019-04-05 20:01:06 +00:00
Matthias Clasen
11428fb869
Merge branch 'gtk-4-file-containers-in-sidebar' into 'master'
...
gtkplacessidebar: Add loop devices
See merge request GNOME/gtk!289
2019-04-05 19:58:56 +00:00
segfault3
d465523f65
gtkplacessidebar: Add loop devices
2019-04-05 19:58:56 +00:00
Matthias Clasen
14d97cf547
Merge branch 'inspector-layout' into 'master'
...
Show layout children in the inspector
See merge request GNOME/gtk!720
2019-04-05 19:57:32 +00:00
Matthias Clasen
cb3d61bb0e
inspector: Avoid a critical
...
If a layout manager does not have layout children,
quietly hide the layout page.
2019-04-05 19:44:16 +00:00
Emmanuele Bassi
f756c3b8a0
ci: Add manual jobs for Flatpak bundles
...
Bundles can be useful on branches and MRs as an opt-in.
2019-04-05 20:29:16 +01:00
Emmanuele Bassi
220c516691
ci: Call the report script on failure as well
...
GitLab's CI will bail out at the first failure, which means the
JSON-to-JUnit conversion script won't run unless it's part of the same
script that we run for building an testing.
2019-04-05 20:29:16 +01:00
Emmanuele Bassi
ba07279c95
ci: Add JUnit report for the test suite
...
We can convert the JSON output for `meson test` into a JUnix XML report,
which can be consumed by GitLab.
2019-04-05 20:29:16 +01:00
Matthias Clasen
ef9dc43474
Show layout children in the inspector
2019-04-05 19:15:55 +00:00
Matthias Clasen
c6aa90f176
Merge branch 'child-props-followup' into 'master'
...
Child props followup
See merge request GNOME/gtk!719
2019-04-05 19:01:21 +00:00
Matthias Clasen
74352e0bee
buildable: Remove a mention of <packing>
...
This is no longer a supported element in ui files.
2019-04-05 14:41:46 -04:00
Matthias Clasen
5c8a870510
print dialog: Rewrite example
...
The ui file example was still using GTK3 syntax
for GtkNotebooks.
2019-04-05 14:41:46 -04:00
Matthias Clasen
7a29462ca6
Fix the inspector
...
One of the inspector ui files was still using
child properties.
2019-04-05 14:41:46 -04:00
Piotr Drąg
c3c36d45e5
Update POTFILES.in
2019-04-05 19:56:06 +02:00
Matthias Clasen
d89df8a980
Merge branch 'child-properties-be-gone' into 'master'
...
Child properties be gone
See merge request GNOME/gtk!715
2019-04-05 12:27:24 +00:00
Matthias Clasen
7699b43ffe
testsuite: Remove packing property tests
...
These test files were for checking that
GtkBuilder parses <packing> properly.
We no longer support <packing>, so these
can go.
2019-04-05 12:01:43 +00:00
Matthias Clasen
ea7a43beb4
container: Reduce boilerplate
...
We no longer need to hand-roll the type registration,
since we no longer install our own param spec pool.
2019-04-05 12:01:43 +00:00
Matthias Clasen
70bf6d4b97
Drop child property related apis
...
We no longer have any child properties in
our containers, so drop the infrastructure for it.
2019-04-05 12:01:43 +00:00
Matthias Clasen
7cd9ea497b
builder-tool: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
0a4a7b310d
testgtk: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
a26f400576
paned: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
a97845c380
notebook: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
7f6213291d
gtk-demo: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
f184393f07
Remove testactionbar
...
This test relies on child properties.
2019-04-05 12:01:43 +00:00
Matthias Clasen
1f37600c4c
Remove testtitlebar
...
This test relies on child properties.
2019-04-05 12:01:43 +00:00
Matthias Clasen
08d8f2bb80
print dialog: Stop using gtk_container_child_get
...
The grid does not have child properties anymore.
2019-04-05 12:01:43 +00:00
Matthias Clasen
b14f0b8987
grid: Annotate out args as optional
...
They are optional, so annotate them as such.
2019-04-05 12:01:43 +00:00
Matthias Clasen
edbc99104f
searchbar: Fix a compiler warning
2019-04-05 05:10:33 +00:00
Matthias Clasen
285293ac17
file chooser: Fix some compiler warnings
2019-04-05 05:10:26 +00:00
Matthias Clasen
6f7d9f9613
A round of + removal
...
change GTK+ to GTK throughout gtkmain.c.
2019-04-05 05:07:32 +00:00
Matthias Clasen
fe822a0a24
builder-tool: Don't empty out <mark> elements
...
We were inadvertedly losing the content of <mark>
elements. Fix this, by marking (!) them as pcdata
elements.
2019-04-05 03:05:08 +00:00
Matthias Clasen
69d4081ff8
Merge branch 'wip/ebassi/grid-layout' into 'master'
...
Implement GtkGridLayout
See merge request GNOME/gtk!714
2019-04-05 02:42:55 +00:00
Emmanuele Bassi
c9d8ff21d2
testsuite/css: Change the active RadioButton
...
The `buttons` test for CSS nodes sets the second RadioButton as the
active one, whereas the first RadioButton is not set as active.
Nevertheless, the reference output says that the first radio button
should match the `:checked` selector, whereas the second radio button
should not.
The fact that the test currently passes is a mystery.
2019-04-05 01:42:37 +01:00
Emmanuele Bassi
824743a395
testsuite/css: Update UI files
...
Run the UI files through `gtk-builder-tool simplify --3to4` to update
the layout properties.
2019-04-05 01:01:40 +01:00
Emmanuele Bassi
5d778175ee
testsuite/reftests: Update UI files
...
Run the UI files through `gtk-builder-tool simplify --3to4` to update
the layout properties.
2019-04-05 00:33:12 +01:00
Emmanuele Bassi
358ad227d5
testsuite/a11y: Update GtkGrid definitions in UI files
2019-04-05 00:24:49 +01:00
Emmanuele Bassi
9700543e02
tests: Update GtkGrid definitions in UI files
2019-04-05 00:20:45 +01:00
Emmanuele Bassi
ecc4c4f368
examples: Update GtkGrid definitions in UI files
2019-04-05 00:15:51 +01:00
Emmanuele Bassi
31b65e6721
demos: Update GtkGrid definitions in UI files
2019-04-05 00:12:26 +01:00
Emmanuele Bassi
cfcca335b1
Update GtkGrid definitions in GtkBuilder files
...
Convert packing properties to layout ones.
2019-04-05 00:08:18 +01:00
Emmanuele Bassi
3ea39210cd
builder-tool: Convert GtkGrid child properties
2019-04-05 00:04:14 +01:00
Emmanuele Bassi
b79220ca19
tests: Update the GtkGrid suite
...
We don't use child properties any more.
2019-04-04 22:43:07 +01:00
Emmanuele Bassi
faafd23225
Add convenience function for querying a child of GtkGrid
...
Getting the layout manager instance out of GtkGrid, and then querying
all layout properties can be tedious, especially for code that was
usually calling gtk_container_child_get().
To replace that, we can add a simple query function that returns the two
attach points and the spans.
2019-04-04 22:41:19 +01:00
Emmanuele Bassi
62acb80671
Port GtkGrid to use GtkGridLayout
2019-04-04 22:41:03 +01:00
Marek Kašík
cf6f9ad4cf
Merge branch 'master' into 'master'
...
Print dialog, CUPS: Check unknown option values whether they are actually custom settings
See merge request GNOME/gtk!434
2019-04-04 16:39:18 +00:00
Till Kamppeter
c6ea37144c
print: Check unknown option values whether they are actually custom settings
...
Additional code improvements and fixes:
- Use g_regex_match_simple() instead of sscanf()
- Added spaces between function names and left parantheses
- Set always correct custom page size
- Added page_setup field to CupsOptionsData data structure
- Replaced tab indentions by spaces
- Moved #define out of add_cups_options() function, removed line breaks from regular expressions
2019-04-04 16:39:18 +00:00
Emmanuele Bassi
89c1a66403
docs: Add missing layout managers to the API reference
2019-04-04 16:43:06 +01:00
Emmanuele Bassi
c4c897f921
Document GtkGridLayout
...
Add missing stanzas for properties and accessor functions.
2019-04-04 16:31:56 +01:00
Piotr Drąg
0d4ad02353
Update POTFILES.in and POTFILES.skip
2019-04-04 13:25:03 +02:00
Matthias Clasen
d21546d79b
Merge branch 'custom-surface' into 'master'
...
Drop gdk_wayland_surface_set_use_custom_surface
Closes #1806
See merge request GNOME/gtk!713
2019-04-03 23:38:55 +00:00
Matthias Clasen
624c30ecd2
Drop gdk_wayland_surface_set_use_custom_surface
...
This is unused in GTK, and it does not seem useful
enough to keep around.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1806
2019-04-03 23:23:24 +00:00
Matthias Clasen
25abd88fc4
Merge branch 'zbrown/type-info' into 'master'
...
inspector: Type info for misc pane
See merge request GNOME/gtk!712
2019-04-03 23:14:38 +00:00
Zander Brown
e493b9b702
inspector: Type info for misc pane
...
Replaces the class hierarchy page with a button/popover on the misc page
2019-04-03 23:50:24 +01:00
Emmanuele Bassi
6e0f1800c8
Add GtkGridLayout
...
Layout manager for grid-like widgets.
2019-04-03 19:03:58 +01:00
Piotr Drąg
528f1f085e
Update POTFILES.in
2019-04-03 19:03:36 +02:00
Matthias Clasen
09cd6e3b5f
Fix teststack
...
This testcase wasn't updated to new GtkStack apis.
2019-04-03 15:10:10 +00:00
Matthias Clasen
2cc30f75a0
Merge branch 'wip/carlosg/drop-search-handle-event' into 'master'
...
Search improvements
See merge request GNOME/gtk!710
2019-04-03 13:28:58 +00:00
Matthias Clasen
222805d580
Merge branch 'wip/carlosg/paned-cursor' into 'master'
...
paned: Set cursor on gizmo widget
See merge request GNOME/gtk!711
2019-04-03 13:12:01 +00:00
Matthias Clasen
56b42a2ee9
Merge branch 'patch-1' into 'master'
...
Update zh_CN.po
See merge request GNOME/gtk!709
2019-04-03 12:16:01 +00:00
Carlos Garnacho
c9839b2069
paned: Set cursor on gizmo widget
...
We may avoid setting it on the paned widget depending on the pointer
position altogether, since the handle is now a widget. Also is more
likely to be correct as the implicitly grabbed widget will probably
be that one.
Fixes the paned losing the resize cursor after button press.
2019-04-03 13:26:40 +02:00
Carlos Garnacho
b842bf7bf5
gtk: Drop gtk_search_[entry|bar]_handle_event()
...
This is now unused, and unrecommended.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
edccf89020
icon-browser: Drop usage of gtk_search_bar_handle_event()
...
Make it capture key events from the toplevel.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
1825aa377b
shortcutswindow: Drop usage of gtk_search_bar_handle_event()
...
Make it capture key events from the toplevel.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
e59c6abd91
filechooserwidget: Drop usage of gtk_search_entry_handle_event()
...
Just use gtk_event_controller_key_forward() to let know the search
entry of the Esc key being pressed.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
dc88a1ebc4
inspector: Fix prop-list search
...
Instead of handle_event(), use set_key_capture_widget().
Also, use the fact that we now propagate key events throughout the
stage, and connect to the GtkInspectorPropList instead of the toplevel.
We only want the search bar to be active while that widget is mapped
and able to receive events.
And also, handle the "search bar" visibility on ::search-started.
2019-04-03 13:23:34 +02:00
aerowolf
165a21f4bc
Update zh_CN.po
2019-04-03 11:22:55 +00:00
Carlos Garnacho
9cb9843367
searchentry: Add ::search-started signal
...
Users of search entries usually handled visibility (when initially hidden)
by checking the return value of gtk_search_entry_handle_event(). This does
not pan out with gtk_search_entry_set_key_capture_widget() since the return
value is not directly seen by the caller.
Add a ::search-started signal to cater for it, which gets emitted when the
search entry went from empty to non-empty.
2019-04-03 13:08:53 +02:00
Carlos Garnacho
95754aa71f
treeview: Fix variable typo
...
We actually want search_entry there, not search_window which is the
O-R window in the non-custom case.
2019-04-03 13:07:06 +02:00
Emmanuele Bassi
f559de112b
docs: Fix typo in the migration guide
2019-04-03 11:27:18 +01:00
Matthias Clasen
9d1f348129
Merge branch 'inspector-tweaks' into 'master'
...
Inspector tweaks
See merge request GNOME/gtk!707
2019-04-02 23:51:22 +00:00
Matthias Clasen
cf3aa570c2
inspector: Rename a few pages
...
"Global" and "Visual" are not very good names for
the content of these pages. Rename them to
"Information and "Settings".
2019-04-02 23:36:45 +00:00
Matthias Clasen
7c2ce72b5f
inspector: Manage visibility of stack pages
...
The hand-rolled stack combo we were using before
was looking at the visibility of the page itself
to show or hide items. Other stack switchers
expect us to use the GtkStackPage::visible
property for this.
2019-04-02 23:36:45 +00:00
Matthias Clasen
5371055495
inspector: Redo the object page switcher
...
The combobox for page switching was not very good.
Instead, do a sidebar that can be hidden.
2019-04-02 23:29:22 +00:00
Matthias Clasen
4d6acd5d76
inspector: Drop the child property page
...
Child properties are on the way out.
2019-04-02 23:08:17 +00:00
Matthias Clasen
285e67c044
inspector: Drop the class hierarchy page
...
This was just not useful enough to keep around.
2019-04-02 21:50:09 +00:00
Matthias Clasen
d7987e73c9
inspector: Drop the css selector page
...
This was just not useful enough to keep around.
2019-04-02 21:47:02 +00:00
Matthias Clasen
e13a8102b4
inspector: Drop the signals page
...
This was just not useful enough to keep around.
2019-04-02 21:39:47 +00:00
Matthias Clasen
e720006110
gtk-demo: Don't expand tabs
...
It is a little irritating to see super-wide
tabs in demos which have just one extra file,
such as "Fixed layout".
2019-04-02 21:32:14 +00:00
Matthias Clasen
12c4766dd0
inspector: Properly clean up
...
I got a crash in inspector code when I hit
cancel in the confirmation dialog for it.
2019-04-02 21:21:46 +00:00
Emmanuele Bassi
df19224b20
Update gtk-doc types file for GTK 4
...
We're missing newly added types, and listing removed ones.
2019-04-02 21:43:34 +01:00
Matthias Clasen
167208c811
Merge branch 'wip/ebassi/fixed-demo' into 'master'
...
Add GtkFixed demo
See merge request GNOME/gtk!706
2019-04-02 20:07:16 +00:00
Benjamin Otte
0187e91843
Merge branch 'file-conflict2' into 'master'
...
Rename all settings schemas to avoid conflict
See merge request GNOME/gtk!705
2019-04-02 20:05:12 +00:00
Emmanuele Bassi
c70c677b5a
Add GtkFixed demo
...
This demo has everything:
- a GtkFixed inside another GtkFixed
- a cube made out of GtkFrame widgets
- an example of 3D transformations
And what's there, in the window once I launch it? The GTK logo made of
widgets.
2019-04-02 20:52:49 +01:00
Matthias Clasen
5c31c721af
Rename all settings schemas to avoid conflict
...
Rename all our settings schemas to the org.gtk.gtk4
prefix to avoid conflicting with the gtk3 schemas.
2019-04-02 19:27:34 +00:00
Matthias Clasen
7a08177a3d
Merge branch 'async-api' into 'master'
...
Small async api fixes
See merge request GNOME/gtk!701
2019-04-02 15:45:30 +00:00
Matthias Clasen
ad4142df19
Merge branch 'adwaita-selected-row-switch-fix-master' into 'master'
...
Adwaita: Fix switch slider border on selected row
Closes #1802
See merge request GNOME/gtk!704
2019-04-02 15:33:24 +00:00
Matthias Clasen
ff4d61c087
Merge branch 'wip/ebassi/fixed-layout-v2' into 'master'
...
Drop GtkLayout and improve GtkFixed
See merge request GNOME/gtk!702
2019-04-02 15:27:25 +00:00
Alex Monday
fabef39f7f
Adwaita: Fix switch slider border on selected row
...
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1802
2019-04-02 20:18:26 +05:00
Matthias Clasen
64fd5158bf
gdk: Change some async dnd api
...
The pattern we generally follow is to put the
async result right after the source object, in
finish functions. Do this for gdk_drop_read_finish.
2019-04-02 15:11:06 +00:00
Matthias Clasen
8e4e4401c5
gdk: Change some async clipboard api
...
The pattern we generally follow is to put the
async result right after the source object, in
finish functions. Do this for gdk_clipboard_read_finish.
2019-04-02 15:10:53 +00:00
Emmanuele Bassi
167f49caf7
docs: Mention GtkLayout's removal in the migration guide
2019-04-02 16:00:05 +01:00
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
5b6031f7e4
Merge branch 'appnames' into 'master'
...
Rename apps for uniqueness
See merge request GNOME/gtk!699
2019-04-02 00:54:11 +00:00
Matthias Clasen
e54e72b290
Add a flatpak manifest for org.gtk.IconBrowser4
...
And build it in ci.
2019-04-02 00:33:05 +00:00
Matthias Clasen
e5ea6cfcb5
flatpaks: Drop dconf permissions
...
We are building against the 3.32 sdk, which has
a new-enough glib to default to the keyfile
settings backend.
Also, use fallback-x11, so we prefer Wayland.
2019-04-02 00:30:16 +00:00
Matthias Clasen
998c1f83a6
icon-browser: Rename to org.gtk.IconBrowser4
2019-04-02 00:27:33 +00:00
Matthias Clasen
41bb875221
widget-factory: Rename to org.gtk.WidgetFactory4
2019-04-02 00:27:33 +00:00
Matthias Clasen
365400c13e
gtk-demo: Rename to org.gtk.Demo4
2019-04-02 00:27:32 +00: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
Matthias Clasen
0189b0c903
post-install: Use gtk4-update-icon-cache
...
I was building GTK in a minimal container without
GTK3 installed, and this caused install to fail.
We should use the tool that we just installed.
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
Alex Monday
afbadc5e1b
Adwaita: Fix fine-tune mode for scales with marks
...
Remove old fine-tune marks style, add margins for fine-tune marks to
compensate trough growth, prevent horizontal fine-tune trough growth in
horizontal direction, prevent vertical fine-tune trough growth in
vertical direction.
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1799
2019-04-01 14:48:45 +05:00
Chun-wei Fan
7a45768efe
gdkglcontext-win32.c: Fix Resizing and moving
...
We preiously did not apply the resizes and moves as they were previously
only done in the Cairo drawing context on Win32. Fix this by applying
this too in the GL drawing context.
2019-04-01 14:51:29 +08:00
Chun-wei Fan
3a56da60dd
gdk/win32/gdkcairocontext-win32.c: Make functions shared in backend
...
Make gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() not static functions, as we
want to use them in gdkglcontext-win32.c, to fix resizing and moving.
2019-04-01 14:51:13 +08:00
Chun-wei Fan
896104939b
gdksurface-win32.c: Acquire root coordinates on drag/move
...
As in commit d45996c , the x and y coordinates passed into begin_drag and
begin_move are no longer root coordinates but are now surface
coordinates.
Use the x and y surface coordinates to acquire the root x and y
coordinates so that resizing and moving can work as expected.
2019-04-01 14:22:38 +08:00
Matthias Clasen
19f4fce931
Merge branch 'reftests.fixes.msvc' into 'master'
...
test/reftests: Fix build on Visual Studio
See merge request GNOME/gtk!692
2019-04-01 05:42:05 +00:00
Matthias Clasen
19d9d69343
icon-browser: Fix name alignment
...
The icon names were left-aligned, not centered
under the icon.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/18
2019-04-01 00:27:58 -04:00
Chun-wei Fan
68af572ba4
test/reftests: Fix build on Visual Studio
...
As we are building the gtkreftestprivate and reftest test libraries as
DLLs, we need to export the symbols in there so that things will link.
Decorate the symbols with G_MODULE_EXPORT for this purpose.
2019-04-01 12:14:45 +08:00
Matthias Clasen
0eb837e4ca
docs: Remove mention of passwords from broadwayd(1)
...
This functionality does not exist.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1697
2019-04-01 00:11:31 -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
91bbce3fef
Merge branch 'deprecations' into 'master'
...
Drop deprecated style context apis
See merge request GNOME/gtk!691
2019-03-31 19:56:05 +00: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
Timm Bäder
fb4ffa468c
build: Don't use 'continue'
...
It does not exist in meson 0.48 apparently.
2019-03-31 06:37:10 +02:00
Timm Bäder
0245ac2106
gl renderer: Apply transform only for final texture drawing
...
We don't want the new transform while drawing things on a texture.
Instead, only apply the new transform matrix when adding the final
texture drawing ops.
This fixes the stack cube rotation transition to at least look somewhat
better.
2019-03-31 06:16:16 +02:00
Timm Bäder
b2089b89cc
gl renderer: Add debug code to dump framebuffer
...
This way we can specify it on specific add_offscreen_ops callsites.
2019-03-31 06:14:41 +02: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
Piotr Drąg
081210688c
Update Polish translation
2019-03-30 14:54:20 +01:00
Piotr Drąg
fcde8aa94f
Update POTFILES.in
2019-03-30 14:39:18 +01:00
Matthias Clasen
bcac81eed9
Merge branch 'wip/ebassi/align-test' into 'master'
...
Remove aligned allocation checks
See merge request GNOME/gtk!596
2019-03-29 22:50:10 +00:00
Matthias Clasen
0c7e7184e7
Merge branch 'remove-deprecations' into 'master'
...
Remove gdk_device_grab/ungrab from public api
See merge request GNOME/gtk!682
2019-03-29 16:23:53 +00:00
Matthias Clasen
1e372f57f9
Don't mark GDK_SURFACE_STATE_TILED as deprecated
...
I've come to the conclusion that we should keep
this state, since not all backends support per-edge
information. Updated the docs to explain how the
tiled state relates to the per-edge states.
2019-03-29 11:55:58 -04:00
Matthias Clasen
1ea1decfd6
Add a missing include
2019-03-29 11:55:42 -04:00
Matthias Clasen
04dfbf7513
Remove gdk_device_grab/ungrab from public api
...
They are still used internally in gdk, but we no
longer offer them as public api.
2019-03-29 11:31:13 -04: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
Matthias Clasen
53a28f7672
testrevealer: Cover the new transitions
...
Add tests for all the swing transitions.
2019-03-29 10:54:45 -04:00
Emmanuele Bassi
5261bc6585
Merge branch 'build-warning' into 'master'
...
build: Do not use `install` argument for configure_file()
See merge request GNOME/gtk!681
2019-03-29 14:47:28 +00:00
Emmanuele Bassi
ba3a502079
build: Do not use install argument for configure_file()
...
The `install` argument for configure_file() was introduced in Meson
0.50, and was ignored in earlier versions.
Since we're still using Meson 0.48 as a baseline, and since it doesn't
cost us nothing to use a conditional in the only place where we used the
`install` argument, let's drop it. This avoids a warning in newer
releases of Meson.
2019-03-29 14:30:57 +00:00
Alexander Larsson
7c369f309a
Merge branch 'wip/alexl/broadway7' into 'master'
...
Even more broadway updates
See merge request GNOME/gtk!680
2019-03-29 14:28:29 +00:00
Matthias Clasen
50906baee1
Merge branch 'cube-spin' into 'master'
...
stack: Add a cube spin transition
See merge request GNOME/gtk!679
2019-03-29 14:23:45 +00: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
Alexander Larsson
5bc8f8826f
broadway: Optionally support data: uris instead of blobs
...
This is nice when you want to make a "screenshot" by using save-as.
Its not going to perform as well though, so you have to enable it
by adding ?datauri to the url
2019-03-29 14:30:13 +01:00
Alexander Larsson
4e7eccbb49
broadway: Report some level of frame timings
...
This is not ideal because we report the time of a full roundtrip, rather
than the presentation time, but its better than nothing, and i'm not sure
how the browser time should be reconciled.
2019-03-29 14:30:13 +01:00
Alexander Larsson
27e47d5df6
broadway: Change events and ops enums to straight ints
2019-03-29 14:30:13 +01:00
Alexander Larsson
7002688398
broadway: More multi-display fixes
...
When doing idle flushing, do so per display rather than a global
and some find_display hack.
2019-03-29 14:30:13 +01:00
Alexander Larsson
54167ec3fa
broadway: Add warning for unexpected roundtrip delays
2019-03-29 14:30:13 +01:00
Alexander Larsson
a966fe1ed5
broadway: Keep track of surface owner and only send input to that client
2019-03-29 14:30:13 +01:00
Alexander Larsson
ab801fe782
broadway: Fix handling of input with multiple in-process GdkDisplays
...
We need each instance to only forward input to the right display.
This make the inspector work better.
2019-03-29 14:30:13 +01:00
Alexander Larsson
43778bef4d
broadway: Add minor comment
2019-03-29 14:30:13 +01:00
Alexander Larsson
f1ba94843e
broadway: Move gsk files to a subdirectory
2019-03-29 14:30:13 +01:00
Alexander Larsson
f932d35c95
broadway: Optimize color matrix + texture nodes to pre-colorized texture
2019-03-29 14:30:13 +01:00
Alexander Larsson
b58a366dc6
broadway: Support patching nodes for textures and transforms
2019-03-29 14:30:13 +01:00
Alexander Larsson
f30ba56323
broadway: Reintroduce smarter diffing
...
We now send very minimal diff operations.
2019-03-29 14:30:13 +01:00
Alexander Larsson
4dfe2e6e2f
broadway: Initial restructuring of node tree diffing
...
This goes back to a very naive diff, but that reuses nodes from
previous frames using the node id. This will be a bettter base
to start from.
2019-03-29 14:30:13 +01:00
Alexander Larsson
90c5a5ff6b
broadway: Update broadway_node_type_names
2019-03-29 14:30:13 +01:00
Alexander Larsson
6040a7370c
Broadway: Send configure notify on move/resize too
2019-03-29 14:30:13 +01:00
Alexander Larsson
c8d7b4a79a
broadway: Fix coordinates when drag move/resizeing
...
The x/y passed in are in the surface, not root coords.
2019-03-29 14:30:13 +01:00
Anders Jonsson
ec9be21771
Update Swedish translation
...
(cherry picked from commit 2b768edd43 )
2019-03-29 10:51:19 +00:00
Benjamin Otte
1944ffe351
Revert "Bump meson req to 0.50"
...
This reverts commit f0845d98a2 .
The commit breaks CI. CI has more power than meson telling things.
2019-03-29 10:19:41 +01:00
Benjamin Otte
a8dccef507
build: The private reftest library needs to be shared
...
Otherwise the module and gtk-reftest will each have their own copy and
that'll mean all symbols - and inhibiting the shutdown - will exist
twice. Not good.
2019-03-29 09:56:52 +01:00
Benjamin Otte
90f460c236
reftests: Remove notebook-childproperties test
...
Notebooks have no child properties anymore.
2019-03-29 09:56:52 +01:00
Benjamin Otte
e5e516468a
reftests: Fix textview-tags test
...
The test was timeouting on X11.
I'm still not sure it does what it should do, but at least that
problem's gone.
2019-03-29 09:56:52 +01:00
Benjamin Otte
b88c9439aa
reftests: Fix label-sizing test
...
Set border, padding and margin to 0, not just padding.
2019-03-29 09:56:52 +01:00
Benjamin Otte
95f9c8a5eb
reftests: Remove box-packing test
...
Boxes have no packing flags anymore.
2019-03-29 09:56:52 +01:00
Benjamin Otte
fbc8bb979d
reftests: Fix grid-empty-with-spacing test
...
Widgets are visible by default now, so make sure the ones that should be
invisible are marked as such.
2019-03-29 09:56:52 +01:00
Benjamin Otte
e861b0d6c1
reftests: Fix grid-spacing2 test
...
The expand flag needs to be set on widgets when previously it was a
packing property.
2019-03-29 09:56:52 +01: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
bf2a93ca0e
reftests: Fix image-load-from-file test
...
- Images are always correctly sized
- Use a GtkPicture for the large file
2019-03-29 09:56:52 +01:00
Benjamin Otte
606aea2302
reftests: Fix iconview-empty test
...
Images have a static size now, use a GtkPicture instead.
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
fee8f6b9be
reftests: Fix shorthand-entry-border test
...
We weren't setting CSS back to defaults, so the border highlight
transition would be at different stages when the 2 snapshots happened.
2019-03-29 09:56:52 +01:00
Benjamin Otte
3a8a9fc2bd
reftests: Remove style-properties-nth-child test
...
Style properties don't exist anymore.
2019-03-29 09:56:52 +01:00
Benjamin Otte
866bc13557
reftests: Fix statusbar-remove-all test
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
3c44f83909
Fix textview-margins reftest
...
Draw something, otherwise the test will timeout
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
9ca5495380
reftests: Fix inherit-and-initial test
...
Run gtk-builder-tool --3to4 over it. As the test cares about the
"initial" and "inherit" CSS keywords, the actual widgets aren't that
important. It's just important to have many of them.
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
c04190e761
rendernode: Round pixel colors in color matrix drawing
...
Fixes symbolic-icon-translucent-color.ui reftest
2019-03-29 09:56:52 +01:00
Benjamin Otte
822791d8a9
reftests: Remove info-bar-message-types test
...
- The test doesn't properly test infobars. An infobar is not a box.
- Infobar message types aren't styled anymore.
2019-03-29 09:56:52 +01:00
Benjamin Otte
f070872b36
reftests: Fix notebook-tab-position test
...
The tab-fill child property is gone, don't use it.
2019-03-29 09:56:52 +01:00
Benjamin Otte
f3e47ee92e
reftests: Fix icon-style-basics test
...
Add a type-func to the GThemedIcon and GEmeblemedIcon usages so
GtkBuilder finds them.
2019-03-29 09:56:52 +01:00
Benjamin Otte
e612b55bd4
reftests: Fix css-match-name test
...
- Replace GtkImage::pixbuf with GtkImage::paintable
- Use a GtkPicture so the sizing is correct
2019-03-29 09:56:52 +01:00
Benjamin Otte
6d38f1dcb5
reftests: Fix css-match-type test
...
- Replace GtkImage::pixbuf with GtkImage::paintable
- Use a GtkPicture so the sizing is correct
2019-03-29 09:56:52 +01:00
Benjamin Otte
d4df5211f3
reftests: Fix border-image-excess-size.ui test
...
The old reftests drew an opaque image, the new image is transparent.
This test drew the reference image as black and the test as transparent
black, and those are now different.
2019-03-29 09:56:52 +01:00
Benjamin Otte
2e67c2eb8f
reftests: Delete removed tests from testdata
2019-03-29 09:56:52 +01:00
Benjamin Otte
47d4b06eca
reftests: Fix css-currentcolor-alpha.ui test
...
The test did not draw anything, which fails now.
2019-03-29 09:56:52 +01:00
Benjamin Otte
5ddce32e1a
reftests: Fix css-match-class test
...
- Replace GtkImage::pixbuf with GtkImage::paintable
- Use a GtkPicture so the sizing is correct
2019-03-29 09:56:52 +01:00
Benjamin Otte
8846f28369
reftests: Fix background-size-zero test
...
We were drawing nothing, causing a timeout.
2019-03-29 09:56:52 +01:00
Benjamin Otte
62d0bd7153
reftests: Fix nth-child test
...
Box children no longer have a "position" child property.
2019-03-29 09:56:52 +01:00
Benjamin Otte
d5175526f9
reftests: Fix treeview-fixed-height test
...
Convert -gtk-gradient() to linear-gradient in the CSS.
2019-03-29 09:56:52 +01:00
Benjamin Otte
7935f9d3b8
reftests: Actually build a module
...
Reftests are expecting a module called libreftest.so, so don't build a
static libgtkreftest.a but what they expect.
2019-03-29 09:56:52 +01:00
Benjamin Otte
7cc5e51a92
reftests: Fix actionbar test
...
Boxes have no pack-type anymore.
2019-03-29 09:56:52 +01:00
Benjamin Otte
8542ac2c42
reftests: Fix window-height-for-width test
...
The dialog's vbox internal child is now called content_area
2019-03-29 09:56:52 +01:00
Benjamin Otte
b3eddbb45d
reftests: Fix grid-spacing1 test
2019-03-29 09:56:52 +01:00
Benjamin Otte
e3dbf8d524
reftests: Fix unresolvable.ui test
...
- Make sure we draw something
- Don't use -gtk-gradient() but linear-gradient instead
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
Benjamin Otte
d3be32f8ea
reftest: Be more careful about snapshotting
...
Instead of waiting for the first invalidate-contents signal, wait until
we get a render node. This will break spectacularly for reftests not
drawing anything at all, but we just hope that won't happen.
2019-03-29 09:56:52 +01:00
Benjamin Otte
0c81ea2f28
reftests: Make meson run every test separately
...
This way, we don't get an abort once the first test gets a warning.
We also can use meson test to run individual tests.
Unfortunately, only ~60% of tests pass.
2019-03-29 09:56:52 +01:00
Benjamin Otte
c564a349e5
testsuite: Make reftests work again
...
Well, the testrunner works again, the tests don't all succeed.
So exclude them from CI.
2019-03-29 09:56:52 +01:00
Benjamin Otte
42d580dc07
reftests: Remove image-recording-surface test
...
It's no longer possible to set surfaces on a GtkImage, so we don't need
to test that setting a recording surface works.
2019-03-29 09:56:52 +01:00
Chun-wei Fan
4784c5a980
gdk/win32/gdkdrag-win32.c: Include math.h
...
We need that for round().
2019-03-29 16:50:53 +08:00
Chun-wei Fan
6b08227110
meson.build: Pull in fallback for PangoFT2 only when needed
...
On some systems PangoFT2 is optional, so we only use the fallback when
it is being required.
2019-03-29 16:50:35 +08: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
94533495aa
gtk: Some documentation cleanups
2019-03-28 18:36:15 -04:00
Matthias Clasen
c9e08efcbf
gsk: Fix up docs a bit
...
Some apis that were either removed or have never
existed were listed for the docs.
2019-03-28 18:36:15 -04:00
Matthias Clasen
e0f9c98e44
gsk: Add GskRoundedRect to the docs
2019-03-28 18:36:15 -04:00
Christoph Reiter
80c26ab904
CI: install meson 0.50
2019-03-28 22:47:18 +01:00
Matthias Clasen
f0845d98a2
Bump meson req to 0.50
...
meson told me to.
2019-03-28 17:35:50 -04:00
Matthias Clasen
121bbcec4b
Merge branch 'overlay-layout' into 'master'
...
overlay: Use a layout manager
See merge request GNOME/gtk!677
2019-03-28 21:07:38 +00: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
Piotr Drąg
0f7ca7e550
Update POTFILES.in
2019-03-28 18:58:56 +01:00
Matthias Clasen
18d1ea19e0
Merge branch 'layout-child-type' into 'master'
...
Connect LayoutManager to LayoutChild
See merge request GNOME/gtk!678
2019-03-28 17:41:33 +00: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
3d6a456c85
Add release info to our demo apps
...
The appstream-util check performed by Flatpak on recent GNOME SDKs has
become more stringent, and now it requires a <release> tag in the
AppData XML file. If we don't have it, the Flatpak bundles of gtk-demo
and gtk-widget-factory will fail on our CI infrastructure.
2019-03-28 12:16:53 +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
6b050a277e
Convert ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-27 20:03:59 -04: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
bbb6772934
win32: Drop set_role
...
One overlooked (non-)implementation of set_role.
2019-03-27 18:48:59 -04:00
Matthias Clasen
3600d129bf
win32: Add a missing include
...
We are using round() now, so include math.h.
2019-03-27 18:47:56 -04:00
Matthias Clasen
14ad26a599
Convert ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-27 18:40:40 -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
0d43d11387
gdk: Drop gdk_surface_set_role
...
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
8ef4e231ec
gdk: Stop implementing set_role
...
All but the X implementation of these were
empty anyway. And the X one is just setting
a property.
2019-03-27 17:29:17 -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
Alexander Larsson
2440e89a72
Merge branch 'wip/alexl/broadway6' into 'master'
...
broadway: Use css transforms
See merge request GNOME/gtk!673
2019-03-27 18:45:17 +00:00
Alexander Larsson
9212727f53
broadway: Use css transforms
...
This allows generic transforms nodes to work.
2019-03-27 19:27:16 +01:00
Matthias Clasen
733271e09a
migration guide: Improve warp-pointer entry
...
Mention platform APIs.
2019-03-27 14:21:26 -04:00
Matthias Clasen
868d3cd609
Merge branch 'pack-type' into 'master'
...
Drop some more child properties
See merge request GNOME/gtk!672
2019-03-27 18:12:01 +00:00
Matthias Clasen
4a15b16198
Mention pack-type in the migration guide
2019-03-27 13:52:47 -04: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
Alexander Larsson
411dc7e138
broadway: Fix leftover dom modification not using display_commands
2019-03-27 14:21:28 +01:00
Matthias Clasen
141f758c5c
Migration guide: Updates
2019-03-27 02:18:36 -04:00
Matthias Clasen
5fb96392e3
Merge branch 'entry-sizing' into 'master'
...
Entry sizing
Closes #1721
See merge request GNOME/gtk!670
2019-03-27 05:55:06 +00: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
8984320964
Merge branch 'gdk-api-cleanups' into 'master'
...
Gdk api cleanups
See merge request GNOME/gtk!669
2019-03-26 22:37:27 +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
5935f26a1d
Drop gdk_device_get_surface_at_position
...
It is no longer used.
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
9021e7d3cd
gdk: Stop using gdk_device_get_surface_at_position
...
We should always use the double variant.
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
6288043ec2
Drop gdk_device_get_position
...
It is no longer used.
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
8dece0e940
gdk: 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
f1d61d5515
Drop gdk_surface_get_device_position
...
Not used anymore.
2019-03-26 18:08:39 -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
54a969e0ad
gdk: Stop using gdk_surface_get_device_position
...
Use the double variant instead.
2019-03-26 17:55:29 -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
de741e57f3
tests: Stop using gtk_window_set_gravity
...
This api is going away.
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
27c286773c
tests: Stop using gtk_window_move
...
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
Matthias Clasen
6b6f26ed45
Add a window move/resize test
2019-03-26 15:57:04 -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
fc33bf2d1f
Skip all LayoutChild when testing
...
GtkLayoutChild instances are created on demand once we have a widget, a
GtkLayoutManager, and a child widget. This makes testing their creation
fairly tricky.
Let's skip them, for the time being.
2019-03-26 18:46:55 +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
Piotr Drąg
b42bf99b13
Update POTFILES.in
2019-03-26 18:36:51 +01:00
Alexander Larsson
18d814d2ce
Merge branch 'wip/alexl/broadway5' into 'master'
...
Update broadway for gtk4
See merge request GNOME/gtk!667
2019-03-26 16:25:10 +00:00
Alexander Larsson
6fce18e1a1
broadway: Remove some spew
2019-03-26 17:09:41 +01:00
Alexander Larsson
cf4226586a
broadway: Load all textures before applying display ops, fixing flickers
2019-03-26 17:07:47 +01:00
Alexander Larsson
0481aa10e7
broadway: Use const use for constants in the js code
2019-03-26 17:07:47 +01:00
Alexander Larsson
edbaa0964f
broadway: Clean up stuff using const defines
2019-03-26 17:07:47 +01:00
Alexander Larsson
fbefec52a5
Broadway: Add id for nodes and reuse old ones
...
When sending render nodes from the client to the daemon we add an id,
and whenever we're about to re-send the entire tree node we instead
send the old id. We track all the nodes for the previous frame
of the surface this way.
Having the id on the daemon side will allow us do to much better deltas.
2019-03-26 17:07:47 +01:00
Alexander Larsson
d59d8b5dd4
Disable accidental debug spew
2019-03-26 17:07:47 +01:00
Alexander Larsson
87a13fe3d2
broadway: Prepare for splitting display ops out of command handling
2019-03-26 17:07:47 +01:00
Alexander Larsson
2f85443e37
broadway: Refcount textures
...
We want to delay some rendering, and to make that safe we need to correctly
refcount the use of blob uris for the textures so that we don't unref
it while something is scheduled to use it.
2019-03-26 17:07:47 +01:00
Alexander Larsson
311aa01e01
broadway: Simplify fallback node cache
...
Since nodes are now cached we just store the fallback as a
texture in a hashtable indexed by the node. If its unused for
5 frames we drop it.
2019-03-26 17:07:47 +01:00
Alexander Larsson
3bbbe9f71b
broadway: Don't crash of drag-resizing when already active
...
This is what the X11 code does.
2019-03-26 17:07:47 +01:00
Alexander Larsson
890b759091
broadway: Send actual float32, not some hack
2019-03-26 17:07:47 +01:00
Alexander Larsson
d997903d29
broadway: Use DataView instead of hand-rolled int parsers
...
This is nicer in general, but also will let us do floats more sanely.
2019-03-26 17:07:47 +01:00
Alexander Larsson
b097f0a7d8
Broadway: Add node for debug nodes
...
This can be helpful when debugging broadway.
2019-03-26 17:07:47 +01:00
Alexander Larsson
1b5b1bfd0e
broadway: Don't fall back for translation transform nodes
...
These are trivial anyway
2019-03-26 17:07:47 +01:00
Christoph Reiter
c94867f8a1
CI: set a timeout multiplier for the tests
...
CI can be slower than your normal dev machine so give it a bit more time
2019-03-26 16:37:22 +01: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
Matthias Clasen
dbac377ad2
Merge branch 'wip/layout-manager' into 'master'
...
Add Layout Managers
See merge request GNOME/gtk!534
2019-03-26 12:38:18 +00:00
Christoph Reiter
0638dca29a
win32: remove another call to gdk_device_warp()
...
Inline the implementation (untested). To fix the build.
2019-03-26 08:20:07 +01:00
Christoph Reiter
ae68dc7a7d
win32: remove unused gdk_display_warp_device
...
to fix the build
2019-03-26 07:59:01 +01:00
Matthias Clasen
20b4a8b38c
Yet another win32 build fix
...
So much empty warping.
2019-03-25 23:29:34 -04: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
0285919f4a
docs: Add chapter on layout managers
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
Matthias Clasen
4dfe2a8aa8
Fix the windows build
...
There was another warp implementation that needed to be removed.
This commit also addresses a number of compiler warnings
in passing.
2019-03-25 20:06:08 -04: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
f2dff5115f
win32: Drop the warp implementation
...
We no longer support pointer warping.
2019-03-25 10:16:14 -04:00
Piotr Drąg
a246f8c22a
Update Polish translation
2019-03-25 14:37:44 +01:00
Piotr Drąg
6efa1fc006
Update POTFILES.in
2019-03-25 14:19:54 +01:00
Matthias Clasen
3d37f08f38
Remove gdk_device_warp
...
This was only ever implemented on X11, and is
not something we want to encourage apps to do, ever.
2019-03-24 20:49:08 -04: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
LRN
0615668dd9
Merge branch 'ime-load-fix' into 'master'
...
Ime load fix (GTK4)
See merge request GNOME/gtk!662
2019-03-22 21:10:35 +00: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
Руслан Ижбулатов
8da56cef79
GDK W32: Fix property setting to correctly use static strings
...
The strings that are set are static, so g_value_set_static_string() should
be used to set them instead of g_value_set_string().
2019-03-22 16:59:03 +00:00
Руслан Ижбулатов
64ab82c403
GDK W32: Test for IME correctly
...
ImmIsIME() doesn't work (always returns TRUE) since Vista.
Use ITfActiveLanguageProfileNotifySink to detect TSF changes,
which are equal to IME changes for us.
Also make sure that IMMultiContext re-loads the IM when keyboard layout
changes, otherwise there's a subtle bug that could happen:
* Run GTK application with non-IME layout (US, for example)
* Focus on an editable widget (GtkEntry, for example)
* IM Context is initialized to use the simple IM
* Switch to an IME layout (such as Korean)
* Start typing
* Since IME module is not loaded yet, keypresses are handled
by a default MS IME handler
* Once IME commits a character, GDK will get a WM_KEYDOWN,
which will trigger a GdkKeyEvent, which will be handled by
an event filter in IM Context, which will finally re-evaluate
its status and load IME, and only after that GTK will get
to handle IME by itself - but by that point input would
already be broken.
To avoid this we can emit a dummy event (with Void keyval),
which will cause IM Context to load the appropriate module
immediately.
2019-03-22 16:58:59 +00: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
Benjamin Otte
658588dfe7
renderer: Make gsk_renderer_is_realized() public
...
... and add a property for it.
2019-03-19 08:47:54 +01:00
Benjamin Otte
480d8aec06
renderer: Remove display property
...
Renderers don't need a display until they get realized. And once they
get realized, they can look up the display from the surface.
2019-03-19 08:47:54 +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
Piotr Drąg
688f0997f4
Update POTFILES.in
2019-03-17 17:17:02 +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
898728fb2d
a11y tests: Clean up the placeholder-text test
...
This was relying on setting has-focus for initial focus.
2019-03-16 22:46:34 -04:00
Matthias Clasen
fc2b412c0c
Merge branch 'wip/matthiasc/focus3' into 'master'
...
Move focus to GtkRoot
See merge request GNOME/gtk!640
2019-03-17 02:42:46 +00: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
ad3773b2e1
a11y tests: Update expected results
...
The changes here are all related to initial focus.
2019-03-16 21:49:24 -04:00
Matthias Clasen
8619b109cc
Update the focus test
...
Check that we get the expected sequences of focus
change events for the nonlinear, inferior and ancestor
cases.
It would be nice to do the same checks for crossing
events, but we have no gtk_window_set_hover().
2019-03-16 21:31:56 -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
181a4bce25
Add key controller API to the docs
...
A bunch of API was missing here.
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
06f790d663
gdk: Add a related_target field to some events
...
Crossing and focus change events are emitted between
two widgets, and want to associate both with the
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
Matthias Clasen
8d5f1ae662
gdk: Add crossing mode and detail to focus events
...
We want focus events more similar to crossing events.
2019-03-16 21:24:45 -04:00
Matthias Clasen
a3abf0693d
Clarify grab_focus docs
2019-03-16 21:24:45 -04:00
Matthias Clasen
7ca24f12d7
window: Remove initial-focus builder support
...
With focus-widget now a property, this is no longer needed.
2019-03-16 21:24:45 -04:00
Matthias Clasen
f68855341e
window: Remove ::set-focus
...
The focus-widget is now a property, so we don't need
this signal anymore.
2019-03-16 21:24:45 -04:00
Matthias Clasen
31d9ecb5c3
popover: Stop using ::set-focus
...
This will change completely when GtkPopover becomes a
root. For now, stop using ::set-focus and just use the
focus-widget property.
2019-03-16 21:24:44 -04:00
Matthias Clasen
f13e6179e8
filechooser: Stop using ::set-focus
...
We can achieve the same with the focus-widget property.
2019-03-16 21:24:44 -04:00
Matthias Clasen
d279c666a9
inspector: Stop using ::set-focus
...
The focus-widget is just a regular property now that shows
up on the property page. No need to special-case it on
the misc page anymore.
2019-03-16 21:24:44 -04:00
Matthias Clasen
7819a5aab9
Drop gtk_widget_send_focus_change
...
Replace this with gtk_widget_set_has_focus + gtk_widget_event.
2019-03-16 21:24:44 -04:00
Matthias Clasen
15300f839e
widget: Add a private setter for has-focus
2019-03-16 21:24:44 -04:00
Matthias Clasen
94b0e99be5
Exclude non-drawable widgets from focus
...
This was showing up as confusion between palette
and editor in the color chooser.
2019-03-16 21:24:44 -04:00
Matthias Clasen
8c1d852a84
widget: Drop the ::focus signal
...
The focus vfunc is an implementation detail
of GTK focus handling, and having external
signal handlers interfere with it is not
a good idea.
2019-03-16 21:24:44 -04:00
Matthias Clasen
2738926dcb
Simplify the move_focus api
...
No need to pass the array in from the outside.
2019-03-16 21:24:44 -04:00
Matthias Clasen
029ec38e63
Move a check to gtk_window_set_focus
...
gtk_widget_grab_focus is just a wrapper for
gtk_window_set_focus. We should do all the enforcement
there.
2019-03-16 21:24:44 -04:00
Matthias Clasen
2bf1561b48
Port widgets to the root focus API
2019-03-16 21:24:44 -04:00
Matthias Clasen
bd44831987
window: Implement the root focus api
...
This just uses the existing get/set_focus functions.
We keep them public for now.
2019-03-16 21:24:44 -04:00
Matthias Clasen
ab5d3e756b
root: Add focus
...
Add a getter and a setter for the focus widget.
The default implementations do nothing.
2019-03-16 21:24:44 -04:00
Matthias Clasen
92f1bdcf45
Redo focus handling
...
GtkWindow has a focus_widget that points to the current input focus.
GtkWidget has a focus_child that points to the child that contains
the input focus. Following the focus_child chain from the toplevel
always leads to the focus_widget. We never unset focus_child, we only
set it. We bubble focus change events.
2019-03-16 21:24:44 -04:00
Matthias Clasen
64b9114d98
password entry: Fix property notification
...
Both placeholder-text and activates-default were not
up to our usual standards for property notification,
and the tests complained.
2019-03-16 21:23:28 -04:00
Matthias Clasen
a1cc809c60
search entry: Fix property notification
...
Both placeholder-text and activates-default were not
up to our usual standards for property notification,
and the tests complained.
2019-03-16 21:23:28 -04:00
Matthias Clasen
7c19ab66ee
single selection: Skip tests properly
...
Do runtime checks for the GLib version,
instead of compiling out tests.
This avoids compiler warnings.
2019-03-16 21:23:28 -04:00
Matthias Clasen
7ca528b896
widget: Check rootness for invisibility
...
Make the function that determines initial visibility
look at whether the class implements GtkRoot. That is
the eventual goal for this check. For now, allow
popovers in here as well.
2019-03-16 21:23:28 -04:00
Jordi Mas
2870f4dbfe
Update Catalan translation
2019-03-16 22:06:43 +01:00
Matthias Clasen
f14d998c95
password entry: Don't show both icons
...
It can be a bit confusing to have an indicator
and an action next to each other, and with the
peek icon, the need for the Caps Lock warning is
reduced, since you can just reveal the text to
see that it is capitalized.
Therefore, only show the Caps Lock warning if
the peek icon is disabled.
2019-03-15 14:35:25 -04:00
Matthias Clasen
34e859a5bc
Add a tagged entry demo
...
This can serve as an example for how composite entries
can now be done outside of GTK, easily.
2019-03-15 13:21:26 -04:00
Alex Monday
d07cd892e7
Adwaita: Drop checkbox-selectionmode assets
2019-03-13 14:12:45 +05:00
Alex Monday
4bba279085
Adwaita: Fix selection-mode checkboxes
...
Use object-select-symbolic as a check icon, adjust styles.
Closes https://gitlab.gnome.org/GNOME/gtk/issues/28
2019-03-12 22:05:08 +05:00
Alex Monday
36539a22d7
Adwaita: Adjust entry border-radius
...
Replace entry border-radius value with $button_radius variable.
2019-03-12 20:42:48 +05:00
Alex Monday
ad96220448
Adwaita: Replace spinbutton border-radii with variables
...
Replace hardcoded border-radius values with $button_radius
variable on spinbuttons.
2019-03-12 20:34:38 +05:00
Alex Monday
73139d524b
Adwaita: Replace all %linked radii with variables
...
Some of hardcoded border-radius values on linked elements were left
unchanged during Adwaita refresh.
2019-03-12 20:32:14 +05:00
Emmanuele Bassi
fad21d8dda
Remove aligned allocation checks
...
The tests were added when we thought we had to align memory allocations
for structures including a Graphene type in their members. Graphene
added alignment annotations for its types, and we never really used the
symbols we set after testing for allocations being aligned out of the
box with malloc(), and for aligned allocators.
2019-03-04 13:51:49 +00:00
Marco Trevisan (Treviño)
8385543e1c
gdkdevice-wayland: Update pointer scale on tablet tool proximity events
...
When the user approaches a tablet tool to the screen we get a proximity-in event
and in this moment we need to check the surface output scale to find the scaling
to be applied to the cursor.
And the same should be done when the tool is detached or the monitors
configuration changes.
https://gitlab.gnome.org/GNOME/gtk/issues/1675
2019-02-15 03:03:50 +01:00