Matthias Clasen
fe4f4d3719
gsk: Tweak GskGLShader long desc
...
Reformulate one paragraph, as suggested by Benjamin.
2020-09-28 14:01:59 -04:00
Matthias Clasen
e8d1537606
gsk: Use guint for array indices
...
Avoids some trivialities and static analyis complaints.
2020-09-28 13:57:54 -04:00
Matthias Clasen
2f33ec418b
gsk: Cosmetic docs tweak
2020-09-28 13:55:24 -04:00
Matthias Clasen
6fc9294036
gsk: Small doc tweaks
...
Add an annotation, and tweak the docs for
gsk_gl_shader_node_new slightly.
2020-09-28 13:53:51 -04:00
Matthias Clasen
3297510040
gsk: Improve gsk_gl_shader_node_new preconditions
...
Check all that we can.
2020-09-28 13:50:15 -04:00
Matthias Clasen
a2849d3f7a
gsk: Tweak shader node deserialization
...
Use a GskShaderArgsBuilder and make the parser
more precise about commas vs semicolons.
2020-09-28 13:38:12 -04:00
Matthias Clasen
f8dc75089e
gsk: Reuse css printing function
...
Don't copy _gtk_css_print_string, just use it.
2020-09-28 13:10:57 -04:00
Matthias Clasen
003cf4f6ce
css: Move the last parser api to the new header
...
This lets us use it from the render node parser
in gsk.
2020-09-28 13:09:54 -04:00
Matthias Clasen
30f2e7e153
rendernodeparser: Tweak the shader node serialization
...
We call it args now in the api. Follow suit for the
serialization.
2020-09-28 12:57:31 -04:00
Matthias Clasen
1ed2b1b8e3
gsk: Beef up GskShaderArgsBuilder docs
...
Mention that args are zero-initialized.
2020-09-28 12:51:31 -04:00
Matthias Clasen
4906779f72
gtk-demo: Simplify transitions demo
...
We are not using the frame clock anymore, so don't
pass it around.
2020-09-28 12:45:31 -04:00
Matthias Clasen
cda8bb4384
gtk-demo: Tweak the transition demo text
...
Fix some types, and say a bit more here.
2020-09-28 12:41:51 -04:00
Matthias Clasen
a801be3c97
gsk: Fix the shader example
...
I mixed up my variable names.
2020-09-28 12:18:37 -04:00
Alexander Larsson
59c8c75ede
GskShaderArgBuilder: Use standard builder-like API
...
Primarily this is ref/unref vs copy, and ne wfree_to_args() method. But
also some minor renames.
2020-09-28 16:40:14 +02:00
Alexander Larsson
796b205958
gsk_gl_shader_format_args: Pass arguments by value
...
Primitive values are now passed by values (although vectors still
by pointer). Also since we can now no longer handle missing definitions
that is an error.
2020-09-28 16:40:14 +02:00
Alexander Larsson
947a933819
gtk-demo: Only use one GskGLShader in fishbowl
...
We don't want to use a new shader per paintable, because then we will
need to recompile each one. Also remove some leftover unused vars from
the cogs glsl.
2020-09-28 16:40:14 +02:00
Alexander Larsson
48cb5ca3db
snapshot: Drop n_children from push_gl_shader and use custom pop
...
We now always assume you pass the right amount of children for the
shader, and each such child is followed by
gtk_snapshot_gl_shader_pop_texture() and then a final
gtk_snapshot_pop().
This means we handle the 0 child case ok, and that we can validate
that the number of pops of various types are correct.
2020-09-28 16:40:14 +02:00
Matthias Clasen
f19001d4c3
Add some more docs
...
Add an example to the GskGLShader docs.
2020-09-25 20:38:22 -04:00
Matthias Clasen
6ecf612677
Add another shader test
...
This one tests the convenience api for creating
uniform data.
2020-09-25 20:37:48 -04:00
Matthias Clasen
e0b3746655
gtk-demo: Add a shader paintable to the fishbowl
...
This gets around 500 instances at 60fps on my system.
2020-09-25 17:22:22 -04:00
Matthias Clasen
1bc81fac2a
gtk-demo: Add a shader paintable demo
...
Add a shader paintable to the OpenGL transitions
demo. This is reusing one of the shadertoy examples,
tweaked slightly to work as a standalone fragment
shader.
2020-09-25 17:22:22 -04:00
Matthias Clasen
bdcc29ebef
gtk-demo: Add a shader paintable
...
This is a GdkPaintable implementation wrapped
around a GskGLShader. It can optionally be hooked
up to a frame clock to update a time uniform.
The code is set up for this to live as public api
in GSK, if we find it useful enough.
2020-09-25 17:21:40 -04:00
Alexander Larsson
810e9c238e
snapshot: Drop the varargs versions of push_gl_shader()
...
We can now just use gsk_gl_shader_format_args() directly, relying
on the transfer-full of the shader args argument.
2020-09-25 16:51:46 +02:00
Alexander Larsson
e4dfa5597a
gtk_snapshot_push_gl_shader: Make @args transfer-full
...
This makes the common case of this just being created a lot easier.
2020-09-25 16:46:39 +02:00
Alexander Larsson
32aa470f68
Rename uniform_data to shader args, or just args
...
This makes a lot of types and function names shorter.
Also, we add a "..." version of gsk_gl_shader_format_args_va().
2020-09-25 16:38:10 +02:00
Alexander Larsson
a234ab1e55
Finish remaining renames from GLSHADER to GL_SHADER (etc)
...
This fixes all remaining cases in public headers.
2020-09-25 14:31:44 +02:00
Alexander Larsson
e93a51b1cc
GskGLShader: Drop fallback node and add try_compile function to replace it
...
This removes the fallback node from GskGLShaderNode and adds
a new function gsk_gl_shader_try_compile_for() which tries to compile a
shader against a renderer. Then you can use the return value of this
both as a way to implement the fallback, and as a way to get at
the error report in a saner way.
2020-09-25 14:31:33 +02:00
Matthias Clasen
66cd15d858
Add some shader tests
...
These are just basic api usage tests, no rendering.
They found the issues fixed in the preceding commits.
2020-09-23 18:05:57 -04:00
Matthias Clasen
a0bc9d65da
gsk: Make uniform regex more forgiving
...
Accept - in initializers, otherwise we don't accept
things like uniform int n = -2;
2020-09-23 18:03:52 -04:00
Matthias Clasen
a580c711e5
gsk: Make uniform regex more forgiving
...
Accept comments after a uniform declaration - the
very first shader example I tried had these, so we
better support it.
2020-09-23 17:48:35 -04:00
Matthias Clasen
e91d5b82ce
gsk: Fix getters and setters for vector types
...
The types we store for the uniforms are VEC2/3/4,
even though we just store a bunch of floats.
This was found while adding some simple tests.
2020-09-23 17:42:10 -04:00
Matthias Clasen
0516c59ff5
gsk: Add more shader debug spew
...
Print out the full assembled shader sources when
GSK_DEBUG=shaders is given. This is very verbose,
but may be useful to see what we actually pass
to the compiler.
2020-09-23 16:17:56 -04:00
Matthias Clasen
a3ea3f94dc
gsk: Add some shader debug spew
...
When we're done extracting uniform info from the glsl,
print out what we've found for GSK_DEBUG=shaders. If
something goes wrong, this will be useful.
2020-09-23 15:40:57 -04:00
Matthias Clasen
5e9fe2f6e8
docs: Add new snapshot apis
2020-09-23 14:59:25 -04:00
Matthias Clasen
6613c523c2
Rename gl shader snapshot apis
...
Rename gtk_snapshot_push_glshader and friends to
gtk_snapshot_push_gl_shader, following the similar
renaming in GSK.
Update all callers.
2020-09-23 14:53:42 -04:00
Matthias Clasen
efa0fa0bf4
gsk: Small doc fixups
...
Tweak the gl shader docs here and there.
2020-09-23 14:46:35 -04:00
Matthias Clasen
1b6f7917ed
Add GskGLShader apis to the docs
2020-09-23 14:41:22 -04:00
Alexander Larsson
8cc18d2c82
shadertoy demo: Fix GLSL on GLES
...
I was getting "assignment to varying fragColor" errors
2020-09-23 17:38:03 +02:00
Alexander Larsson
d97267b897
gtk-demo: Add GskGLShaderNode demo
...
Add adds a demo showing off GskGLShaderNode in various ways.
It has a transistion widget, using some examples from
gl-transitions.com, with child widgets being both images, a GL area
and real widgets (that let you edit the transition shaders
themselves.
It also has a fancy fire effect on hove on the buttons.
2020-09-23 17:28:23 +02:00
Alexander Larsson
21e0ad0561
Support GLShaderNode in backends
...
For vulkan/broadway this just means to ignore it, but for the gl
backend we support (with up to 4 texture inputs, which is similar to
what shadertoy does, so should be widely supported).
2020-09-23 17:01:17 +02:00
Alexander Larsson
94cccc5e71
GtkSnapshot: Add gtk_snapshot_push_glshader()
2020-09-23 17:01:13 +02:00
Alexander Larsson
111dfdf3f5
Add GskGLShaderNode
...
This is a rendernode that is supposed to run a GLSL fragment
shader with a set of inputs and produce outputs.
The inputs are:
* A GskGLShader object with the source and uniforms definitions
computed from the source.
* A the data for the uniforms, formated according to the GskGLShader
* a list of render nodes that are rendered to textures
Additionally there is a fallback node which is used in case
OpenGL is not supported or there is some kind of failure
with the shader code.
2020-09-23 17:01:08 +02:00
Alexander Larsson
0693deb02f
gl: Add some namespacing to the preamble symbols
...
This adds a gsk prefix to the stuff in the preamble, as we want to
avoid it conflicting with things in the main shader. Especially once
we start allow some customization of shaders.
2020-09-22 12:50:10 +02:00
Alexander Larsson
ffd39c257a
gl backend: Add line numbers to source in glsl compilation errors
...
Almost always the source is created by combining various sources, which
means the line numbers in the error messages are hard to use. Adding
the line numbers to the source in the error message helps with this.
2020-09-22 12:50:10 +02:00
Alexander Larsson
ec0ad5738c
gl: Properly report error if shader linking fails
...
In gsk_gl_shader_builder_create_program(), if linking fails we
need to return -1 to indicate error, rather than the old deleted
program id.
2020-09-22 09:40:16 +02:00
Alexander Larsson
c958fd8e86
glrenderer: Move ProgramState into Program
...
There is no real reason to have this on the side indexed via the
index, as it is stored next to each other anyway. Plus, storing them
together lets use use `Program` structures not in the array.
2020-09-22 09:40:16 +02:00
Matthias Clasen
5e4180b5f0
Merge branch 'improve-columnview-styling' into 'master'
...
Adwaita: Improve columnview styling
See merge request GNOME/gtk!2608
2020-09-22 03:01:38 +00:00
nana-4
2d6a9990b7
Adwaita: Don't restrict columnview editablelabel style to .data-table
...
This should be available without .data-table.
2020-09-22 10:40:15 +09:00
nana-4
42be26f1b1
Adwaita: Improve columnview styling
...
- Move padding from parent row to child cell.
- Align horizontal sizing of cell with header button.
- Properly support GtkColumnView:show-column-separators.
- Change cell height with and without .data-table.
2020-09-22 10:37:04 +09:00
nana-4
f98055b075
Adwaita: Fix separator color for lists
2020-09-22 10:35:15 +09:00
Matthias Clasen
3252d4cab2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2607
2020-09-21 18:11:41 +00:00
Matthias Clasen
2c527ec87e
inspector: Make switches go back to normal size
2020-09-21 11:53:48 -04:00
Matthias Clasen
d5e315c470
gtk-demo: Improve the pickers demo
...
"Two of every kind..." Add some customized pickers
here. This found a number of issues that have been
fixed in the preceding commits.
2020-09-21 11:53:48 -04:00
Matthias Clasen
256f845d89
colorbutton: Fix handling of transient parents
...
When we create the dialog before the button has
been rooted, we need to update its transient
parent when that happens.
2020-09-21 11:53:48 -04:00
Timm Bäder
b3c21bc89a
Merge branch 'fix-hover-tracking' into 'master'
...
main: Update pointer focus state for button releases
Closes #3172
See merge request GNOME/gtk!2601
2020-09-21 12:20:00 +00:00
Marek Černocký
6bc46a9a69
Updated Czech translation
2020-09-21 08:30:59 +02:00
Matthias Clasen
1d34f955a2
filechooser: Fix gtk_file_chooser_set_choice
...
This broke when it was ported to GtkDropDown.
2020-09-20 12:04:49 -04:00
Matthias Clasen
ee75bae8f8
fontchooser: Make sure the tweak button is updated
...
This was showing up as tweak buttons being visible
when they should not. The code probably relied on
widgets being hidden by default (as they were in
GTK3).
2020-09-20 10:59:37 -04:00
Matthias Clasen
3c62cd90d4
fontchooser: Handle families without faces
...
This might seem useless, but I've met fonts
where pango_font_family_get_face (family, NULL)
return NULL. Handle it without criticals.
2020-09-20 10:59:37 -04:00
Matthias Clasen
81793b62d8
docs: Improve gtk_widget_set_font_map docs
2020-09-20 10:59:37 -04:00
Matthias Clasen
9ee7bdf4cb
Merge branch 'fix-wayland-popups' into 'master'
...
wayland: Fix grabbing popup
See merge request GNOME/gtk!2604
2020-09-20 14:19:50 +00:00
Matthias Clasen
bb402a1f1d
wayland: Fix grabbing popup
...
A typo snuck into commit 3023a61e1d that
caused us to fail all grabbing popups with
"grab failed: not viewable". Fix that.
2020-09-20 10:02:53 -04:00
Emin Tufan Çetin
02614713da
Update Turkish translation
2020-09-20 06:38:03 +00:00
Matthias Clasen
18a5ca257a
Merge branch 'kill-widget-new' into 'master'
...
Drop gtk_widget_new
See merge request GNOME/gtk!2603
2020-09-19 21:25:32 +00:00
Matthias Clasen
874b9ef8b0
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2602
2020-09-19 21:22:30 +00:00
Matthias Clasen
d89f7fd046
Drop gtk_widget_new
...
An abstract type should not have a constructor.
If you want to be generic, just use g_object_new.
2020-09-19 16:58:42 -04:00
Matthias Clasen
aeeffe27c2
NEWS: Updates
2020-09-19 16:49:46 -04:00
Matthias Clasen
cdc5e83ef2
Merge branch 'matthiasc/for-master' into 'master'
...
textbuffer: Redo insert markup a little bit
See merge request GNOME/gtk!2600
2020-09-19 20:48:49 +00:00
Matthias Clasen
661da6baec
main: Update pointer focus state for button releases
...
Failure to do so makes the old pointer focus target
'sticky', because we end up ignoring the result of
picking the pointer focus until a motion event comes
in.
Fixes : #3172
2020-09-19 16:48:15 -04:00
Matthias Clasen
e927866ed4
shortcutswindow: Drop the Private struct
2020-09-19 16:22:04 -04:00
Matthias Clasen
4b9e7ac355
revealer: Drop the Private struct
2020-09-19 14:41:41 -04:00
Matthias Clasen
bebe0b5c1b
magnifier: Drop the Private struct
2020-09-19 14:36:44 -04:00
Matthias Clasen
2ad9864cdc
Cosmetic
2020-09-19 14:31:02 -04:00
Matthias Clasen
ec46900f06
colorscale: Drop the Private struct
2020-09-19 14:29:35 -04:00
Matthias Clasen
93cfa3855c
Merge branch 'wayland-backend-api-cleanup' into 'master'
...
wayland: Change backend api to use GdkToplevel
See merge request GNOME/gtk!2598
2020-09-19 18:19:18 +00:00
Matthias Clasen
6b708e9b60
textbuffer: Redo insert markup a little bit
...
Redo the tag insertion function to avoid quadratic
behavior, and at the same time, fix handling of
alpha for color attributes.
Update the copy of this function in gtk4-demo
as well.
2020-09-19 14:17:28 -04:00
Matthias Clasen
6e81573776
Merge branch 'password-entry-activate' into 'master'
...
Add GtkPasswordEntry::activate
Closes #3174
See merge request GNOME/gtk!2599
2020-09-19 18:12:35 +00:00
Matthias Clasen
dd0da0f3cc
passwordentry: Add an ::activate signal
...
GtkSearchEntry has one, no reason why GtkPasswordEntry
should not as well.
Fixes : #3174
2020-09-19 13:25:03 -04:00
Matthias Clasen
48594a2d7a
passwordentry: Drop the Private struct
2020-09-19 13:23:40 -04:00
Matthias Clasen
31042bd761
docs: Add missing Wayland backend api
...
Since Wayland is now our flagship backend,
we should put some effort into the docs.
2020-09-19 13:13:31 -04:00
Matthias Clasen
3023a61e1d
wayland: Change backend api to use GdkToplevel
...
Most of the surface api we have in the Wayland backend
only makes sense for toplevels, so reshuffle things to
take a GdkToplevel instead of a GdkSurface.
Update all callers and the docs.
2020-09-19 13:07:11 -04:00
Matthias Clasen
c1e33056fb
NEWS: Updates
2020-09-19 12:09:24 -04:00
Matthias Clasen
57253b0039
Merge branch 'wip/baedert/radial-gradient' into 'master'
...
Radial gradients
Closes #2262 , #3170 , and #3173
See merge request GNOME/gtk!2597
2020-09-19 15:49:14 +00:00
Matthias Clasen
84d82dcda9
Merge branch 'wip/fontchooser-language-filtering' into 'master'
...
fontchooser: add language filtering
See merge request GNOME/gtk!2551
2020-09-19 15:06:56 +00:00
Matthias Clasen
4e35d56263
fontchooser: Remove signal handlers in dispose
...
Avoid ordering issues in dispose by disconnecting
the rows_changed_cb handler first thing.
2020-09-19 10:44:50 -04:00
Matthias Clasen
a9bf129286
fontchooser: Don't show "No fonts" prematurely
...
Don't switch to the empty page while we are still busy
filtering. Fonts might yet appear.
2020-09-19 10:25:45 -04:00
Matthias Clasen
76b7f0ca1c
fontchooser: Use filter language for sample text
...
When you are asking to only see fonts that support
a given language, you probably want to see the
sample text for that language too.
2020-09-19 10:13:36 -04:00
Matthias Clasen
09604eb3eb
fontchooser: Add user filtering
...
Add a popover that has filtering options. As a start,
allow filtering by monospace and by language coverage.
2020-09-19 10:13:36 -04:00
Matthias Clasen
0485a6c008
Improve language names
...
Shorten a few of the names we pick up by removing
parentheses that make them excessively long.
2020-09-19 09:47:15 -04:00
Matthias Clasen
169c208b7a
Merge branch 'matthiasc/for-master' into 'master'
...
win32: Fix compiler warnings
See merge request GNOME/gtk!2596
2020-09-19 13:26:34 +00:00
Matthias Clasen
7b2c4fdb6a
Merge branch 'font-chooser-sample-text' into 'master'
...
fontchooser: Determine sample text intelligently
See merge request GNOME/gtk!2546
2020-09-19 13:19:28 +00:00
Matthias Clasen
e0b1c3e8b0
win32: Fix compiler warnings
...
The compiler informs me that GetLastError() return a DWORD,
so use %lx to print it.
2020-09-19 08:29:29 -04:00
Matthias Clasen
6b9622f0da
Try one more time to fix win32 ci
2020-09-19 08:13:35 -04:00
Zander Brown
cfd1520a9f
Update British English translation
2020-09-19 11:42:18 +00:00
Timm Bäder
79dc25e0b1
cssimageradial: Avoid creating color stops with an offset > 1
2020-09-19 08:55:18 +02:00
Timm Bäder
1d371db8d8
scrolledwindow: Ignore captured motion events if no child is set
...
Fixes #3173
2020-09-19 08:44:58 +02:00
Matthias Clasen
69d5dc7c9a
fontchooser: Determine sample text intelligently
...
Look at the languages supported by a font, and pick
a suitable sample text from the pango list of sample
texts. We can only implement this on platforms using
fontconfig, since it relies on pangofc apis.
This bumps the pango dependency to 1.47.1.
2020-09-18 23:04:39 -04:00
Timm Bäder
f938377464
rendernodes: Clarify color_stops arguments
2020-09-18 19:01:10 +02:00
Timm Bäder
6e14b26622
gsk: Add docs for radial gradient nodes
2020-09-18 18:41:01 +02:00
Timm Bäder
5d5fbc69a4
rendernodes: Enfore end > start for radial gradient nodes
2020-09-18 18:29:08 +02:00
Timm Bäder
a770ab34c4
gl renderer: Consolidate color pre-multiplication
...
Add a common function that tells us what it does and replace all the
manual stuff with it.
Fixes #3170
2020-09-18 15:45:08 +02:00
Timm Bäder
b8e4240751
gl renderer: Add radial gradient shader
2020-09-18 15:39:07 +02:00
Timm Bäder
2c5a4a799a
rendernode: Pull local variable into closest scope
2020-09-18 15:39:07 +02:00
Timm Bäder
07b6431afe
Inspector: Show radial gradient node info
2020-09-18 15:39:07 +02:00
Timm Bäder
0c2d00835b
gl renderer: Set an error if we don't have one already
...
We can't fail and not set the error, since caller don't expect that.
2020-09-18 15:39:07 +02:00
Timm Bäder
dbfc172f6a
radial gradients: Allow 0 start/end values
2020-09-18 15:39:07 +02:00
Timm Bäder
6a089816fc
gsk: Parse radial gradient nodes
2020-09-18 15:39:07 +02:00
Matthias Clasen
2886e19772
css: switch to h/vradius
2020-09-18 15:39:07 +02:00
Matthias Clasen
c08df82d54
snapshot: switch to h/vradius
2020-09-18 15:39:07 +02:00
Matthias Clasen
ebfb3e771d
rendernode: switch to h/vradius
2020-09-18 15:39:04 +02:00
Matthias Clasen
2881d347d3
css: Use snapshot api for radial gradients
2020-09-18 15:39:04 +02:00
Matthias Clasen
66d16049c3
snapshot: Add api for radial gradients
...
These are the equivalents of the linear gradient apis.
2020-09-18 15:39:04 +02:00
Matthias Clasen
0c6226c20b
gsk: Add a radial gradient node
...
Only a fallback implementation for now.
Fixes #2262
2020-09-18 15:38:55 +02:00
Matthias Clasen
9267f705ef
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Cosmetic changes
See merge request GNOME/gtk!2590
2020-09-18 02:00:46 +00:00
Matthias Clasen
a8adbfbc9f
gtk-demo: Cosmetic changes
...
Polish the text view demos a little bit.
2020-09-17 21:38:10 -04:00
Matthias Clasen
f00f6e9641
Merge branch 'language-names-GError-fixes' into 'master'
...
Language names g error fixes
See merge request GNOME/gtk!2589
2020-09-17 23:34:03 +00:00
Peter Bloomfield
50f373fbc2
language-names: Do not g_free() a GError
...
It's NULL anyway, so freeing GError with g_free() when it's allocated with
GSlice never actually happens, but it just looks bad.
2020-09-17 23:34:03 +00:00
Matthias Clasen
f2f0a9ee0e
Merge branch 'wip/wayland-respond-to-configure' into 'master'
...
Make sure to respond to configure events in time
Closes #2910
See merge request GNOME/gtk!2588
2020-09-17 18:49:31 +00:00
Jonas Ådahl
4200936f21
wayland/surface: Make sure to commit ack_configure
...
We must wl_surface.commit after xdg_surface.ack_configure to make it
have an effect. We failed to do so when a configure event didn't result
in new updates, so make sure we fall back on an simple
wl_surface.commit if there was no new actual frame painted.
Closes : #2910
2020-09-17 18:20:08 +02:00
Goran Vidović
90991a341d
Update Croatian translation
...
(cherry picked from commit 1c07a20ca4 )
2020-09-17 15:39:02 +00:00
Jonas Ådahl
1abcd6f304
wayland: Commit surface from cairo context
...
In order to make the cairo renderer/context behave more similar to how
the OpenGL and Vulkan renderer/context behaves, request a frame callback
and commit in the end frame vfunc.
This means the end frame vfunc in cairo does
* attach buffer
* request frame callback
* sync surface state
* commit
Where as e.g. the OpenGL version of the same flow does
* attach buffer
* request frame callback
* sync surface state
* eglSwapBuffers()
where eglSwapBuffers() indirectly calls wl_surface_commit().
2020-09-17 17:35:35 +02:00
Jonas Ådahl
f87de393b5
wayland/surface: Remove 'committed' signal
...
It wasn't used by anything anymore, lets remove it.
2020-09-17 16:01:08 +02:00
Matthias Clasen
35c3a60c08
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2587
2020-09-17 03:41:32 +00:00
Matthias Clasen
cf1ed3a72a
gtk-demo: Fix toggle- vs checkbutton confusion
2020-09-16 23:07:21 -04:00
Matthias Clasen
18e46bd6f8
gtk-demo: Beef up the hypertext demo
...
Its almost a dictionary.
2020-09-16 23:01:49 -04:00
Matthias Clasen
7082624fd7
textview: Properly delete anchored children
...
When we remove anchors with widgets from the text
buffer, we used to call gtk_widget_destroy(), which
indirectly called gtk_container_remove() which cleared
the child properly. When gtk_widget_destroy() was
removed, we replaced the calls with gtk_widget_unparent(),
but that is not enough. Explicitly call
gtk_text_view_remove() instead - we know the parent
is a text view.
2020-09-16 23:01:49 -04:00
Matthias Clasen
25d30011a0
textview: Make clickable tags work again
...
We were claiming the clicks too eagerly, preventing
clickable links, e.g. in GtkAboutDialog, from working.
2020-09-16 22:30:58 -04:00
Matthias Clasen
cd60ed4391
Plug a memory leak in an error case
...
gtk_show_uri() not freeing the error after showing
it to the user.
Pointed out by Peter Bloomfield in #3166
2020-09-16 19:13:18 -04:00
Matthias Clasen
a1e21c1acb
Merge branch 'wip/sadiq/headerbar-demo' into 'master'
...
gtk-demo: Add a switch to headerbar demo
See merge request GNOME/gtk!2571
2020-09-16 23:12:26 +00:00
Milo Casagrande
ba6c14ad34
Update Italian translation
2020-09-16 07:43:11 +00:00
Matthias Clasen
c6aff910ed
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add another demo
See merge request GNOME/gtk!2584
2020-09-16 02:56:08 +00:00
Matthias Clasen
d71337513f
gtk-demo: Add another demo
...
Show how to add a context menu to a custom widget,
and how to make a GtkPicture lookalike.
2020-09-15 22:40:13 -04:00
Matthias Clasen
2741431d6e
Merge branch 'stack-add-child' into 'master'
...
stack: Add gtk_stack_add_child
Closes #3165
See merge request GNOME/gtk!2583
2020-09-16 02:22:36 +00:00
Matthias Clasen
cc9fe4b354
stack: Add gtk_stack_add_child
...
The name of children is not essential, so add
a way to add children without providing one.
Fixes : #3165
2020-09-15 18:39:09 -04:00
Matthias Clasen
e4d29ba9fd
Merge branch 'master.win32' into 'master'
...
Some more fixes for Windows
Closes #3157
See merge request GNOME/gtk!2580
2020-09-15 11:12:27 +00:00
Matthias Clasen
6f56d8df28
Merge branch 'wip/jimmac/dnd-green' into 'master'
...
Adwaita: update tango color for DND
Closes #3158
See merge request GNOME/gtk!2581
2020-09-15 11:04:59 +00:00
Matthias Clasen
9eb4eef48b
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2582
2020-09-15 11:04:54 +00:00
Matthias Clasen
e69b623a27
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2579
2020-09-15 10:54:31 +00:00
Jakub Steiner
d1a68ac7ba
Adwaita: update tango color for DND
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3158
2020-09-15 12:18:55 +02:00
Chun-wei Fan
52ba70d549
gdksurface-win32.c: Fix display of CSD windows
...
Since the changes to GDK to use surface subtypes, CSD windows were
broken because we did not set the window styles properly. Fix this by
first acquiring whether decorations are used by the GtkWindow, and based
on that result we set the decorations that we want to use accordingly
and so apply them.
Thanks to Matt Jakeman for investigating into the issue and providing
pointers to a proposed fix.
Fixes issue #3157 , besides the part where window sizes are not correct
since that is likely caused a separate issue.
2020-09-15 15:56:36 +08:00
Chun-wei Fan
02aec7f5f4
gdkevents-win32.c: Clean up WM_ACTIVATE handling a bit
...
We can group some things together, to make things a little bit more clear
2020-09-15 15:53:34 +08:00
Chun-wei Fan
c766e31e8f
demos: Fix minesweeper demos on Windows
...
Make sure the callback functions in the .ui files are exported, so that
those functions can be recognized at runtime so that things run
properly.
2020-09-15 15:53:20 +08:00
Timm Bäder
a545fa15e4
inspector: Remove unsued function
2020-09-15 05:28:31 +02:00
Timm Bäder
e669433cde
listbox: Activate single-click rows if n_press >= 1
...
Quickly clicking rows should always activate the row if
single-click-activation is enabled. Before, only the first click
(n_press == 1) would activate the row.
2020-09-15 05:21:54 +02:00
Timm Bäder
a6f86d9c26
popover: Only destroy arrow render node if position changed
2020-09-15 05:21:54 +02:00
Timm Bäder
d0f182757a
sizegroup demo: Fix a checkbutton/togglebutton mixup
2020-09-15 05:21:54 +02:00
Timm Bäder
c8f4c8c4f0
filechooserwidget: Plug a memory leak
...
g_list_store_append refs the file
2020-09-15 05:21:54 +02:00
Timm Bäder
87f589f738
emojichooser: Fix typo in css class
2020-09-15 05:21:54 +02:00
Timm Bäder
27f3600419
listbox: Add preconditions to remove()
2020-09-15 05:21:53 +02:00
Timm Bäder
40ee7186bf
build: Unify two if statements
...
They both check glib_minor_req.is_odd()
2020-09-15 05:21:53 +02:00
Timm Bäder
a0422bfe25
inspector: Fix huge listbox rows
...
This is handled by .rich-list
2020-09-15 05:21:53 +02:00
Matthias Clasen
67c1600ac2
Document some API as widget-implementation only
...
Using gtk_widget_insert_before on a complex container
is a *bad* idea; it will mess up the containers bookkeeping
of its children and can easily lead to failure and crashes.
2020-09-14 20:28:44 -04:00
Matthias Clasen
50400879e0
gtk-demo: Add more detail to the dnd demo text
2020-09-14 17:49:16 -04:00
Matthias Clasen
b20e67dc83
gtk-demo: Add some keywords
...
Make the builder demo show up in searches for toolbar and
menubar.
2020-09-14 17:33:12 -04:00
Matthias Clasen
a3dcfafba6
gtk-demo: Improve the builder demo
...
Make the keyboard shortcuts work.
2020-09-14 17:06:34 -04:00
Matthias Clasen
82ce1a9d6b
gtk-demo: Improve the builder demo
...
Make the toolbar look right.
2020-09-14 16:51:05 -04:00
Matthias Clasen
cc6faeab50
gtk-demo: More space
...
Increase the inter-paragraph spacing in the info
text, to make paragraphs more clearly separated.
2020-09-14 16:21:13 -04:00
Matthias Clasen
aa32613beb
gtk-demo: Cosmetic change
2020-09-14 16:20:52 -04:00
Matthias Clasen
6a3e12cfae
gtk-demo: Add some details
2020-09-14 16:11:11 -04:00
Rūdolfs Mazurs
fc6d621146
Update Latvian translation
2020-09-14 19:45:03 +00:00
Matthias Clasen
37a24711a4
Merge branch 'issue-2923' into 'master'
...
Annotate the expression array as "nullable"
Closes #2923
See merge request GNOME/gtk!2578
2020-09-14 17:01:54 +00:00
Emmanuele Bassi
595cc929e6
Annotate the expression array as "nullable"
...
While it's a bit dubious whether array+length annotations should be
marked as "nullable", we do this elsewhere in the API, so might as well
be consistent.
In practice, the array argument is only ever allowed to be NULL iff the
length argument is 0; annotations are static, so if somebody decides to
pass a NULL argument with a non-zero value, they will get a run time
critical error, instead of a compile time one, which is somewhat counter
to the point of annotating the API in the first place.
Fixes : #2923
2020-09-14 17:00:23 +01:00
Matthias Clasen
27e6826860
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory: Fix the toggle buttons on page 3
See merge request GNOME/gtk!2577
2020-09-14 15:44:51 +00:00
Matthias Clasen
7a2400c8a1
widget-factory: Fix the toggle buttons on page 3
...
They should not both be active initially.
2020-09-14 11:19:39 -04:00
Piotr Drąg
3c4259393c
Update POTFILES.skip
2020-09-14 16:55:31 +02:00
Matthias Clasen
a201bfd9a5
Merge branch 'wip/jimmac/navlist-expander-whitespace' into 'master'
...
Adwaita: navigation list expander whitespace
See merge request GNOME/gtk!2575
2020-09-14 12:59:05 +00:00
Matthias Clasen
921f3a6e16
Merge branch 'wip/jimmac/gridview-whitespace' into 'master'
...
Wip/jimmac/gridview whitespace
Closes #3164
See merge request GNOME/gtk!2574
2020-09-14 12:49:52 +00:00
Jakub Steiner
e7c75f04dd
Adwaita: navigation list expander whitespace
...
- Address https://gitlab.gnome.org/GNOME/gtk/-/issues/3138#note_910476
2020-09-14 14:31:23 +02:00
Jakub Steiner
7dd819dffc
icon-browser: use content-view
...
- make content prominent by using content-view style for the main grid.
2020-09-14 14:18:52 +02:00
Jakub Steiner
8eab10dabf
Adwaita: whitespace for the grid
...
- separate labels
- 12px margins around cells
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3164
2020-09-14 14:18:52 +02:00
Mohammed Sadiq
bd900fe8c9
gtk-demo: Add a switch to headerbar demo
...
We don't have any demos with a switch in headerbar.
2020-09-14 17:11:13 +05:30
Matthias Clasen
6a676d527c
Merge branch 'wip/jimmac/natigation-sidebar-whitespace' into 'master'
...
Wip/jimmac/natigation sidebar whitespace
Closes #3138
See merge request GNOME/gtk!2572
2020-09-14 11:13:52 +00:00
Jakub Steiner
f125e6234b
Merge branch 'wip/jimmac/cut-finger' into 'master'
...
assets: adjust gesture graphic
Closes #3074
See merge request GNOME/gtk!2573
2020-09-14 10:34:52 +00:00
Jakub Steiner
bcb2861447
assets: adjust gesture graphic
...
- quick, somebody on the internet is offended!
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3074
2020-09-14 12:14:40 +02:00
Jakub Steiner
962f76ddc9
Adwaita: navigation-sidebar spacing
...
- split from placessidebar as it's more generic
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3138
2020-09-14 11:51:54 +02:00
Matthias Clasen
d45aabb4ec
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2570
2020-09-14 04:45:07 +00:00
Matthias Clasen
9f03462ffb
gtk-demo: Improve the scrolling demo
...
Add an fps label to the scrolling demo.
2020-09-13 23:43:45 -04:00
Matthias Clasen
3b11896581
gtk-demo: Impove the fishbowl demo
...
Use tnum for the fps label to avoid jiggling.
2020-09-13 23:43:45 -04:00
Matthias Clasen
c66a8cb941
gtk-demo: Use gdk_frame_clock_get_fps
...
Remove another copy of this code in the theme
switching benchmark.
2020-09-13 23:43:45 -04:00
Matthias Clasen
c462f35a5e
inspector: Use gdk_frame_clock_get_fps
2020-09-13 23:35:01 -04:00
Matthias Clasen
b166999683
Add gdk_frame_clock_get_fps
...
We already have more than one copy of this code
in GTK, so just export this function.
2020-09-13 23:35:01 -04:00
Matthias Clasen
4b589b6afb
main: Reshuffle debug code
...
Mode all the debug flags related code together,
to make gtkmain.c a bit less messy.
2020-09-13 22:48:29 -04:00
Matthias Clasen
fedeb51f31
Drop support for GTK_TEST_TOUCHSCREEN
...
This environment variable is undocumented, and you can
just use GTK_DEBUG=touchscreen insead.
2020-09-13 22:44:32 -04:00
Matthias Clasen
d2faa38eed
Move version-related functions to gtkversion.c
...
This is just an internal cleanup, to make gtkmain.c
a bit less messy.
2020-09-13 22:23:06 -04:00
Matthias Clasen
ff9ca2b68d
Clean up debug flags code a bit
...
Use the GtkDebugFlags enum, since we have it.
2020-09-13 22:10:25 -04:00
Matthias Clasen
aa5207b349
iconview: Small doc additions
2020-09-13 21:51:42 -04:00
Matthias Clasen
2b5b6e0885
Drop gtk_render_slider from headers
...
The function does not exist.
2020-09-13 21:51:42 -04:00
Matthias Clasen
93d9a2ceda
colorchooser: Bring back gtk_color_chooser_widget_new
...
This was removed by accident in commit f392fbfb6d6f1116728b.
2020-09-13 21:51:42 -04:00
Matthias Clasen
5ab77e72e2
docs: Misc updates
...
Pick up a number of symbols that have been missed,
and drop GtkAccelLabel.
2020-09-13 21:51:42 -04:00
Matthias Clasen
5a7faa6512
docs: Add new check button apis
2020-09-13 21:51:42 -04:00
Matthias Clasen
b7d42502ce
docs: Some touchups to the migration guide
2020-09-13 21:51:42 -04:00
Matthias Clasen
2d766dff96
NEWS: Updates
2020-09-13 21:51:42 -04:00
Matthias Clasen
e3bab0b766
Merge branch 'gtk-demo-demo' into 'master'
...
Gtk demo demo
See merge request GNOME/gtk!2569
2020-09-13 23:37:22 +00:00
Matthias Clasen
d3c5c7f4ef
Merge branch 'update-default-palette' into 'master'
...
colorchooserwidget: Update default palette
See merge request GNOME/gtk!2568
2020-09-13 23:28:57 +00:00
nana-4
f6e4486338
colorchooserwidget: Update default palette
...
This makes it completely in line with the new GNOME HIG color palette.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3146
2020-09-14 07:05:04 +09:00
Matthias Clasen
9d6990fdb9
gtk-demo: Don't offer to run titles
...
When a group is selected (such as 'Benchmark'),
make the run button insensitive - there is nothing
to run.
2020-09-13 17:55:10 -04:00
Matthias Clasen
3f1fa66479
Demo thyself
...
Make gtk-demo show itself as a useful example.
2020-09-13 17:54:58 -04:00
Matthias Clasen
8094f757eb
Merge branch 'demo-keywords' into 'master'
...
gtk-demo: add keywords to filtering
See merge request GNOME/gtk!2567
2020-09-13 21:13:21 +00:00
Matthias Clasen
d732c869c2
gtk-demo: Add keywords to demos
...
Add the names of the main widgets as keywords to
our demos, but also things like "game". This helps
finding relevant demos in our growing list. You
can now for example type "label", and find the
"error states" and "links" demos showing GtkLabel
features.
2020-09-13 15:00:14 -04:00
Matthias Clasen
691261c71a
gtk-demo: Support keywords for search
...
Filter the sidebar on keywords that can be provided
by the demos. We extract keywords from the doc comment
at the top of each demo source by looking for words that
look like class names. We also allow to specify keywords
explicitly.
2020-09-13 15:00:14 -04:00
Matthias Clasen
fe6f70efe1
gtk-demo: Ignore some lines in info
...
Ignore lines starting with # in the info comment at
the top of source files. This will be used to add
keywords for search in following commits.
2020-09-13 14:42:03 -04:00
Matthias Clasen
cddbc8f1cc
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2566
2020-09-13 18:39:12 +00:00
Matthias Clasen
a90801e696
gtk-demo: Add another demo
...
This one is a more or less direct copy of the
settings dialog from widget-factory, demonstrating
error states and builder scopes.
2020-09-13 12:36:30 -04:00
Rūdolfs Mazurs
f445cc0d70
Update Latvian translation
2020-09-13 12:30:52 +00:00
Claude Paroz
6cf7b95bec
Updated French translation
2020-09-13 10:46:33 +02:00
Matthias Clasen
7518fd0d70
gtk-demo: Make F11 toggle fullscreen
...
In the video player demo, we have a button to make
the window fullscreen, but no easy way back. Add
the usual F11 keybinding, to make things at least
somewhat recoverable.
2020-09-13 02:31:41 -04:00
Matthias Clasen
30c3a533f4
video: Make autoplay work
...
We were setting things up in the wrong order, so
autoplay had no effect when you using gtk_video_set_file().
2020-09-13 01:56:56 -04:00
Matthias Clasen
52304fe7da
gtk-demo: Add some example videos
...
Add buttons to show the gtk-logo animation and
the Big Buck Bunny trailer.
2020-09-13 01:51:55 -04:00
Matthias Clasen
22257b124a
placessidebar: Remove a pointless restriction
...
The sidebar was refusing to show shortcuts for
things that don't have a local path, for no
good reason.
2020-09-13 01:14:00 -04:00
Matthias Clasen
4629182246
filechooser: Fix setting unlisted filters
...
This is documented to work, but it was broken
when we ported things to list models.
2020-09-13 01:12:51 -04:00
Matthias Clasen
c8a9e7fa82
Fix a compiler warning
2020-09-13 01:12:39 -04:00
Matthias Clasen
8f593827cf
widget-factory: Fix error states demo
...
Fix a corner case of input validation in the settings
dialog.
2020-09-13 00:17:19 -04:00
Matthias Clasen
8984fe3c35
Cosmetics
2020-09-13 00:17:19 -04:00
Matthias Clasen
fc720b57e2
gtk-demo: Don't refer to removed demos
...
The animated background demos was referring to the
pixbuf demo that was removed a while ago. Reword
the text accordingly.
2020-09-13 00:17:19 -04:00
Emin Tufan Çetin
4cb367a6e2
Update Turkish translation
2020-09-12 17:11:40 +00:00
Matthias Clasen
b534752d5c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3110 and #2994
See merge request GNOME/gtk!2565
2020-09-12 16:25:17 +00:00
Matthias Clasen
929a56e53c
Clean up lots of GTK+ -> GTK
...
Replace most remaining uses of GTK+ in the docs and
user-visible strings by GTK. Also remove some leftover
"Was added in 3.x" sentences from the docs.
2020-09-12 12:01:04 -04:00
Matthias Clasen
6ed1c181ee
AUTHORS: some updates
2020-09-12 11:52:14 -04:00
Matthias Clasen
0011a1032d
text: Claim the sequence when we start selecting
...
Without this, drag-select will only work sporadically
in entries in headerbars.
Fixes : #2994
2020-09-12 11:18:36 -04:00
Matthias Clasen
38b71ba292
Cosmetics
...
Add a missing comma.
2020-09-12 11:11:28 -04:00
Matthias Clasen
b5f3ac9718
Add a testcase for controls in headerbars
...
This is meant to help with figuring out entry
selection drag issues.
2020-09-12 10:58:07 -04:00
Matthias Clasen
756c52ef08
filechooser: Prevent a crash
...
With csd, we are handling external widgets when
there is an entry in the headerbar. Use a weak ref
to prevent that pointer from going stale. This fixes
a crash when cancelling a save dialog.
Fixes : #3110
2020-09-12 10:40:13 -04:00
Emmanuele Bassi
9afdb41b6b
Merge branch 'ebassi/for-master' into 'master'
...
Properly annotate GtkLayoutManagerClass.create_layout_child()
Closes #3156
See merge request GNOME/gtk!2564
2020-09-12 14:24:13 +00:00
Emmanuele Bassi
25bcec5cbb
Properly annotate GtkLayoutManagerClass.create_layout_child()
...
We're missing the ownership transfer rule for the created GtkLayoutChild
instance; this makes the virtual function not introspectable.
Fixes : #3156
2020-09-12 14:33:24 +01:00
Emin Tufan Çetin
eba5232e35
Update Turkish translation
2020-09-12 06:14:30 +00:00
Matthias Clasen
7ee3439522
Merge branch 'emblem-demo' into 'master'
...
Emblem demo
See merge request GNOME/gtk!2563
2020-09-12 01:33:51 +00:00
Matthias Clasen
71ea619274
gtk-demo: Add an emblem demo
...
Add a simple demo for adding emblems to icons
using GdkPaintable.
2020-09-11 21:09:41 -04:00
Matthias Clasen
f679ba566e
gtk-demo: Tweak the animated paintable
...
Make it possible to have no background in
the animated paintable. This will be used
in a future demo.
Update all users.
2020-09-11 21:08:36 -04:00
Matthias Clasen
2679e29375
gtk-demo: Fix a few crash
...
The paintable demos were forgetting to clear
their window variable.
2020-09-11 21:07:10 -04:00
Matthias Clasen
e55bdf87b5
Merge branch 'text-layout-speedup' into 'master'
...
textlayout: Avoid some iter comparisons
See merge request GNOME/gtk!2561
2020-09-11 21:20:38 +00:00
Matthias Clasen
c09575d9cb
textlayout: Avoid some iter comparisons
...
We were doing more iter comparisons than necessary in the
inner loop of gtk_text_layout_snapshot(), in the presence
of a selection. Rewrite the code to compare line numbers
instead, which is faster than full iter comparisons.
2020-09-11 16:41:42 -04:00
Matthias Clasen
c3b925d696
Merge branch 'wip/otte/for-master' into 'master'
...
contentserializer: Don't send the terminating \0 byte for strings
Closes #3150
See merge request GNOME/gtk!2560
2020-09-11 15:50:23 +00:00
Benjamin Otte
640856edec
contentserializer: Don't send the terminating \0 byte for strings
...
Fixes #3150
2020-09-11 17:25:02 +02:00
Matthias Clasen
1e7fccf46f
Merge branch 'wip/jimmac/new-colors' into 'master'
...
Wip/jimmac/new colors
Closes #3146
See merge request GNOME/gtk!2558
2020-09-11 13:56:48 +00:00
Matthias Clasen
ff392fbfb6
colorchooser: Don't parse color names needlessly
...
We have a fancy macro to initialize GdkRGBAs without
any runtime work, lets use them.
2020-09-11 09:31:17 -04:00
Matthias Clasen
498cbae95c
colorchooser: Drop color names
...
These were not used anymore, after a11y stopped using them.
2020-09-11 09:12:34 -04:00
Matthias Clasen
fa9608fd02
color chooser: Don't show too many custom colors
...
The code was hardcoding a fixed number of custom
colors, but we really want to match the number
of columns in the palette(s). Make it so.
2020-09-11 08:42:03 -04:00
Jakub Steiner
8700e136da
colorChooser: updte color palette
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3146
2020-09-11 10:47:24 +02:00
Ask Hjorth Larsen
2e54810937
Updated Danish translation of gtk-properties
2020-09-11 02:31:50 +02:00
Ask Hjorth Larsen
93a09a4a6a
Updated Danish translation of gtk
2020-09-11 02:31:41 +02:00
Matthias Clasen
299b1bd848
Merge branch 'matthiasc/for-master' into 'master'
...
x11: Print all tested glx extensions
See merge request GNOME/gtk!2556
2020-09-10 21:56:46 +00:00
Matthias Clasen
1e9a9876d5
x11: Print all tested glx extensions
...
When initializing a glx context, print all the extensions
we look for.
2020-09-10 17:30:28 -04:00
Matthias Clasen
1de7440c8c
Merge branch 'gdk-cleanups' into 'master'
...
Gdk cleanups
Closes #2790
See merge request GNOME/gtk!2553
2020-09-10 20:21:12 +00:00
Matej Urbančič
5c87432a0c
Update Slovenian translation
2020-09-10 20:12:10 +00:00
Matej Urbančič
80e53e704c
Update Slovenian translation
2020-09-10 20:09:27 +00:00
Matthias Clasen
24bf01dd42
Merge branch 'fix-vulkan-context-creation' into 'master'
...
Fix vulkan context creation
Closes #3147
See merge request GNOME/gtk!2555
2020-09-10 18:18:55 +00:00
Matthias Clasen
2113f98c5c
gdk: Don't create surfaces of size 0x0
...
Don't pass 0x0 as size when calling gdk_surface_new().
The Wayland backend takes us literally, and we end
up with a surface that (temporarily) has these
dimensions, confusing other APIs that we pass the
size to, such as Vulkan.
2020-09-10 13:56:44 -04:00
Matthias Clasen
b9d4654fca
vulkan: Fix swapchain creation
...
We end up with a surface that has size 0x0 at the
time we create the Vulkan context, and that is a
size that Vulkan doesn't like, so ensure we request
at least 1x1.
Fixes : #3147
2020-09-10 13:55:16 -04:00
Matthias Clasen
7151b1fc31
Merge branch 'ebassi/for-master' into 'master'
...
docs: Add note on command line arguments
See merge request GNOME/gtk!2554
2020-09-10 17:39:25 +00:00
Emmanuele Bassi
790733673f
docs: Add note on command line arguments
...
We don't parse them any more, and developers should stop using them when
migrating from GTK3 to GTK4.
2020-09-10 17:53:50 +01:00
Milo Casagrande
aff788e583
Update Italian translation
2020-09-10 08:03:38 +00:00
Matthias Clasen
d5d4af585d
gdk: Move GdkSurfaceEdge to the right header
...
This is only used in gdktoplevel.h, so move it there.
2020-09-10 00:44:05 -04:00
Matthias Clasen
93078e52c0
gdk: Rename GdkSurfaceState to GdkToplevelState
...
That is what it is.
Fixes : #2790
2020-09-10 00:39:03 -04:00
Matthias Clasen
cee275980a
gdk: Move GdkSurfaceState to the right header
...
This is really a toplevel state, so move it
to that header.
2020-09-10 00:25:51 -04:00
Matthias Clasen
b3aa5ad4f9
Move GdkFullscreenMode to the right header
...
This enum is just used for a GdkToplevel property now,
so move the declaration to the gdktoplevel.h header.
2020-09-10 00:22:26 -04:00
Matthias Clasen
9b0b19d335
NEWS: Updates
2020-09-09 23:49:58 -04:00
Matthias Clasen
d47d036663
search entry: Don't propagate handled events
...
When the text says it has handled the event,
trust it. We don't want to emit ::search-started
if the content hasn't changed, but we still
should not propagate e.g. an Insert key press
if it has already toggled overwrite mode in
the text.
Fixes : #2874
2020-09-09 22:26:27 -04:00
Matthias Clasen
5c67fe0bc2
Merge branch 'fix-gl-texture-cache' into 'master'
...
gsk: Fix the gl texture cache
See merge request GNOME/gtk!2552
2020-09-09 19:27:24 +00:00
Matthias Clasen
1057588a8f
gsk: Fix the gl texture cache
...
We need to include both the scale and the filtering
in the key for the texture cache, since those affect
the texture.
This fixes misrendering in the recorder in the inspector
whenever transforms are involved. An example where this
was showing up is testrevealer's swing transition.
2020-09-09 13:55:09 -04:00
Tim Sabsch
75f0b7acaa
Update German translation
2020-09-09 17:23:14 +00:00
Benjamin Otte
9a927176df
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
Closes #3137
See merge request GNOME/gtk!2550
2020-09-09 16:44:29 +00:00
Benjamin Otte
cb5b375f43
revealer: Remove arbitrary 100x scale limit
...
This is no longer necessary because the bug it was rying to solve is now
solved via the preference for min and nat size.
2020-09-09 17:38:37 +02:00
Benjamin Otte
dfccaa8831
revealer: Prefer min and nat size
...
Assume that the fully expanded revealer will likely get an allocation
that matches the child's minimum or natural allocation, so we
special-case these two values.
So when - due to the precision loss - multiple sizes would match the
current allocation, we don't pick one at random, we prefer the min and
nat size.
The preference of nat size over min sie was decided after an IRC vote,
we don't actually have an idea what's more likely to happen in the real
world.
Should we ever get better data, we might want to switch.
2020-09-09 17:38:37 +02:00
Benjamin Otte
cc58956dbb
revealer: Use floor(), not ceil()
...
We use ceil() in measure(), so using it again will increase the
child's size whenever there is even a tiny rounding error.
This should also not make the size too small, because:
min = ceil(child_min * scale)
min / scale >= child_min
floor (min / scale) >= floor (child_min) = child_min
The last equality is because child_min is an integer.
Fixes #3137
2020-09-09 17:38:37 +02:00
Benjamin Otte
0ad10ccf39
revealer: Refactor code
...
Assign the values in the same place.
2020-09-09 17:38:37 +02:00
Benjamin Otte
8cb03a8cc0
widget: Add a critical when allocation is too small.
2020-09-09 17:38:37 +02:00
Emmanuele Bassi
df7cbdfff4
Merge branch 'issue-3140' into 'master'
...
Make sure we don't call back into GtkEntryBuffer
Closes #3140
See merge request GNOME/gtk!2549
2020-09-09 10:54:07 +00:00
Emmanuele Bassi
f4b410daa7
Make sure we don't call back into GtkEntryBuffer
...
After commit 7e77afe94c moved the deletion
of text into the signal handler, in order to make undo work, we need to
override the GtkEntryBuffer::deleted-text class closure when subclassing
GtkEntryBuffer, as well as overriding GtkEntryBufferClass.delete_text,
otherwise the default class closure will be invoked, and will try to
delete an empty buffer.
Fixes : #3140
2020-09-09 11:29:16 +01:00
Emmanuele Bassi
b3d3d81c82
Merge branch 'gtksecurememory-win32' into 'master'
...
Port gtksecurememory.c to Windows
See merge request GNOME/gtk!2548
2020-09-09 10:12:44 +00:00
Chun-wei Fan
3095bccd2e
gtksecurememory.c: Port secure memory allocation to Windows
...
Use the Windows API CryptProtectMemory() to encrypt the data that we want to
secure, and use CryptUnprotectMemory() to de-crypt the secured data that we
want to access, since mmap() and mlock() are not available on Windows.
2020-09-09 13:50:15 +08:00
Chun-wei Fan
c72b2f6167
gtksecurememory.c: Don't include unistd.h unconditionally
...
It is not universally available on non-POSIX systems.
2020-09-09 13:48:33 +08:00
Matthias Clasen
3d10b28df4
Merge branch 'matthiasc/for-master' into 'master'
...
shadertoy demo: Cosmetic fixes
See merge request GNOME/gtk!2547
2020-09-09 00:40:54 +00:00
Matthias Clasen
d6807b966c
shadertoy demo: Cosmetic fixes
2020-09-08 20:08:23 -04:00
Matthias Clasen
887d0b7411
Merge branch 'ebassi/secure-buffer' into 'master'
...
Add secure entry buffer
Closes #3119 and #2403
See merge request GNOME/gtk!2545
2020-09-08 23:48:25 +00:00
Matthias Clasen
3921476504
Merge branch 'shadertoy-demo' into 'master'
...
gtk-demo: Add shadertoy demo
See merge request GNOME/gtk!2540
2020-09-08 23:47:54 +00:00
Emmanuele Bassi
ae97284409
docs: Add a note on GtkPasswordEntry's secure storage
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
7cda32d49e
Use GtkPasswordEntryBuffer in GtkPasswordEntry
...
Now that we have a secure buffer, we should start using it.
Fixed : #3119
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
fb99bde840
Add a secure GtkEntryBuffer
...
We have a widget for password and passphrase entries, but we have no way
to handle the data securely. This is usually performed by a separate
GtkEntryBuffer—for instance, the one in GCR. While we have API for
setting a new entry buffer on GtkText, we don't have API for
GtkPasswordEntry, though, so the options are:
- expose additional API for GtkPasswordEntry to allow setting a secure
text buffer on the internal GtkText widget
- provide a secure text buffer out of the box
Given that an insecure-by-default GtkPasswordEntry is basically
pointless, might as well have a secure buffer built in.
We don't really need to make the password entry buffer public out of the
box, but we can re-evaluate at a later date.
Fixes : #2403
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
9dc5c6a0f3
Move g_autoptr macro for GtkEntryBuffer
...
We need it into its own header, so we can derive from GtkEntryBuffer
with G_DECLARE_* macros without including gtk.h.
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
107e49002d
Check for mlock()
...
We use it in the secure memory allocator, if it's available.
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
31a7574544
Import egg-secure-memory allocator from gcr
...
We can re-use the code inside gcr, as we know that it's working, tested,
and license compatible.
2020-09-08 23:50:12 +01:00
Emmanuele Bassi
859df747ac
Merge branch 'sorter-constructor-fix-warning' into 'master'
...
Fix warning in listview_settings demo
See merge request GNOME/gtk!2544
2020-09-08 17:54:25 +00:00
Andreas Persson
81c835c418
Fix warning in listview_settings demo
...
Fix a warning introduced when sorter constructors were changed to return
exact types.
2020-09-08 18:48:54 +02:00
Ask Hjorth Larsen
33e633cc5c
Updated Danish translation of gtk-properties
2020-09-08 16:23:16 +02:00
Ask Hjorth Larsen
73b46eafe1
Updated Danish translation of gtk
2020-09-08 16:23:05 +02:00
Marek Černocký
710ef690ec
Updated Czech translation
2020-09-08 15:33:40 +02:00
Matthias Clasen
cb2b0688ca
Merge branch 'filter-constructors' into 'master'
...
Filter constructors
See merge request GNOME/gtk!2360
2020-09-08 12:58:27 +00:00
Danial Behzadi
45c61fdbe3
Update Persian translation
2020-09-08 12:50:36 +00:00
Alexandre Franke
ec49b68257
Update French translation
2020-09-08 09:15:19 +00:00
Alexander Larsson
0092a08dfc
gtk-demo: Add shadertoy demo
...
This adds a small demo of using OpenGL shaders, it renders a quad
over the entire widget with a custom fragment shader. The coordinates
and the uniform names are compatible with the ones on shadertoy.com
(although some features, like texture inputs are missing currently).
The default shader in the demo is
https://www.shadertoy.com/view/wsjBD3 which is CC0, so it is
redistributable by Gtk+ (most other shaders are CC-BY-NC-SA which
isn't obviously compatible). I also added a set of buttons loading
a few other CC0 shaders I found.
2020-09-08 09:56:25 +02:00
Matthias Clasen
bab7092a69
Merge branch 'gl-linear' into 'master'
...
Gl: use linear interpolation
See merge request GNOME/gtk!2523
2020-09-07 21:27:09 +00:00
Matthias Clasen
3b6941b04b
Add some tests for the axis-aligned check
2020-09-07 14:22:47 -04:00
Matthias Clasen
fe429ffc45
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2541
2020-09-07 17:03:27 +00:00
Matthias Clasen
d595c6ab12
gsk: Complain if we fail to realize a renderer
...
The only likely place where this is going to happen
is if a renderer was explicitly requested with the
GSK_RENDERER environment variable, and in that case,
it is misleading to silently use a different renderer.
2020-09-07 11:18:45 -04:00
Matthias Clasen
2738d5bc93
gsk: Mention gl as valid value for GSK_RENDERER
2020-09-07 11:18:45 -04:00
Matthias Clasen
5a8267dfae
text: Set the hotspot for the drag icon
...
This makes the drag icon align properly with the
dragged text at the beginning of the drag.
2020-09-07 11:18:45 -04:00
Marek Černocký
d03ce22446
Updated Czech translation
2020-09-07 14:34:07 +02:00
Gil Forcada
350051c56e
Update Catalan translation
2020-09-07 10:31:39 +00:00
Daniel Mustieles
979ec828d2
Updated Spanish translation
2020-09-07 08:59:50 +02:00
Fran Dieguez
99ddb3c927
Update Galician translation
2020-09-06 23:22:39 +00:00
Fran Dieguez
770910e608
Update Galician translation
2020-09-06 23:20:08 +00:00
Matthias Clasen
7180bfc288
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3123
See merge request GNOME/gtk!2539
2020-09-06 21:39:08 +00:00
Matthias Clasen
bc80ed4240
aboutdialog: Disable text undo
...
The text buffers here are not editable, so it
does not make sense to have text undo enabled
for them.
Fixes : #3123
2020-09-06 17:02:00 -04:00
Matthias Clasen
4d45c2669c
text history: Update state when enabled changes
...
This makes can-undo go FALSE when we disable the
text history, as it should.
2020-09-06 17:02:00 -04:00
Balázs Úr
dd8ca7259f
Update Hungarian translation
2020-09-06 20:31:44 +00:00
Matthias Clasen
06c866f45e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2538
2020-09-06 19:38:56 +00:00
Baurzhan Muftakhidinov
2bd7ed5ebd
Update Kazakh translation
2020-09-06 17:36:39 +00:00
Matthias Clasen
adc9d91e0e
text: Stop drag updates when a dnd starts
...
This prevents the selection from changing underneath
us, messing up move dnd operations.
2020-09-06 12:19:44 -04:00
Matthias Clasen
1150c23b0f
Merge branch 'listwidgets-doc-fix' into 'master'
...
docs: Update list widgets docs
See merge request GNOME/gtk!2537
2020-09-06 15:53:59 +00:00
Matthias Clasen
9b8c175f23
textview: Fix dnd
...
When we start a dnd of the selection in the drag-update handler,
set the gesture state to denied. Otherwise, we get more drag-update
signals, and things get really confused, leading to no dnd and
sadness.
2020-09-06 11:48:10 -04:00
Andreas Persson
e0134aaf15
docs: Update list widgets docs
...
Removed sentence that claimed the view will wrap the model in a
GtkSingleSelection, as it's no longer true. Fixed the code example in
GtkListView for the same reason. Fixed a small typo in GtkDropDown docs.
2020-09-06 17:19:24 +02:00
Matthias Clasen
bd7aa1782c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2535
2020-09-06 13:25:43 +00:00
Alexandre Franke
007c9c6218
Update French translation
2020-09-06 12:44:35 +00:00
Matthias Clasen
8c8baa9aa6
gtk-demo: Add some comments
...
Add some comments to the math in the transforms demo.
2020-09-06 08:43:58 -04:00
Asier Sarasua Garmendia
7ae0f56378
Update Basque translation
2020-09-06 09:01:32 +00:00
Kukuh Syafaat
3fcf7adb25
Update Indonesian translation
2020-09-06 05:16:58 +00:00
Matthias Clasen
8b38d1895c
gtk-demo: Simplify the constraints demos
...
Give them all a close button in the header.
2020-09-05 22:54:16 -04:00
Matthias Clasen
a4ba25f0f8
inspector: Fix teardown of the general tab
...
We were connecting signal handlers to the display
and seats here, and never cleaning them up, leading
to crashes after the inspector is closed. This is
fairly easy to reproduce under Wayland, where the
scroll device is only created the first time we
create a scroll event.
2020-09-05 22:35:30 -04:00
Matthias Clasen
24389a0ef5
Make sorter constructors return exact types
...
Make functions like gtk_custom_sorter_new() return
the actual type they construct.
Update all callers.
2020-09-05 21:50:15 -04:00
Matthias Clasen
dfabe74c59
Make filter constructors return exact types
...
Make functions like gtk_custom_filter_new() return
the actual type they construct.
Update all callers.
2020-09-05 21:43:42 -04:00
Goran Vidović
716c7b2f21
Update Croatian translation
2020-09-05 20:45:50 +00:00
Aurimas Černius
c74c38ad06
Updated Lithuanian translation
2020-09-05 19:57:34 +03:00
Matthias Clasen
727f25f6da
Merge branch 'revert-43ca43a22f' into 'master'
...
Revert "Adwaita: rich-list styling"
See merge request GNOME/gtk!2533
2020-09-05 16:00:33 +00:00
Matthias Clasen
01959e1662
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3122
See merge request GNOME/gtk!2534
2020-09-05 14:49:10 +00:00
nana-4
12afc10ec3
Revert "Adwaita: rich-list styling"
...
This reverts commit 2f0a4c7128 .
It seems the commit was accidentally added when
768e24afc1 was manually merged and pushed.
2020-09-05 23:13:24 +09:00
Matthias Clasen
2f70279f85
Merge branch 'typo_correction' into 'master'
...
Typo correction
Closes #3086 and #3090
See merge request GNOME/gtk!2532
2020-09-05 13:54:18 +00:00
Matthias Clasen
ffc77ca926
css: Use an array when parsing selectors
...
There's no need for us to have a hard size-limit here;
with GdkArray we don't have to give up on stack-preallocation
either.
2020-09-05 09:51:59 -04:00
Emin Tufan Çetin
021eeedef0
Update Turkish translation
2020-09-05 12:45:24 +00:00
Matthias Clasen
635492b016
text: Don't replace unselected text with Emoji
...
We must be careful to not select everything on focus-in
before we have the Emoji inserted. This was accidentally
broken in d5121af876 .
Fixes : #3122
2020-09-05 08:40:02 -04:00
Yuri Chornoivan
bd226cc31e
Update Ukrainian translation
2020-09-05 12:29:46 +00:00
Ahmed Eldemery
cbd3158d91
add a missing comma
2020-09-05 13:49:01 +02:00
Ahmed Eldemery
982cf0c4d3
Merge remote-tracking branch 'upstream/master' into master
2020-09-05 13:46:27 +02:00
Piotr Drąg
d37cb36eb1
Update Polish translation
2020-09-05 13:27:57 +02:00
Piotr Drąg
e374917c56
Update POTFILES.in
2020-09-05 11:53:39 +02:00
Matthias Clasen
1dd4e91fee
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2531
2020-09-04 17:57:23 +00:00
Matthias Clasen
c1bf9f3b41
layoutmanager demo: Make icons come out upright
...
Rearrange the vertices so that the icons show
up in the proper orientation.
2020-09-04 13:40:10 -04:00
Matthias Clasen
8a3621a125
Beef up transform testcase
...
Make this show 'paintings in paintings'.
2020-09-04 13:20:59 -04:00
Matthias Clasen
81f84fbe8f
modelbutton: Claim the gesture
...
This aligns the model button behavior with what
GtkButton does.
2020-09-04 13:20:33 -04:00
Matthias Clasen
60e37d3368
Update gsk tests
...
Add a clip-coordinates-2d test that is similar
to clip-coordinates-3d, but actually uses a 2D
transform.
2020-09-04 13:19:01 -04:00
Matthias Clasen
e0cc7b5d86
Check for pixel-alignedness for interpolation
...
When rendering to an offscreen because of transforms,
check if transforming the bounds of the node results
in a non-axis-aligned quad. If it doesn't, we want
GL_NEAREST interpolation to get sharp edges. Otherwise,
we use GL_LINEAR to get better results for things
that are actually transformed.
2020-09-04 13:16:53 -04:00
Matthias Clasen
9843515736
gl: Reshuffle some code
...
Just rearrange the cases in this switch, no effective change.
2020-09-04 13:16:11 -04:00
Matthias Clasen
41497aeb8b
Add gsk_matrix_transform_rect
...
This is a projecting version of the corresponding
graphene api. While we are at it, rewrite
gsk_matrix_transform_bounds() to use
gsk_matrix_transform_rect().
2020-09-04 13:15:21 -04:00
Matej Urbančič
bb2a0e69f4
Updated Slovenian translation
2020-09-04 17:30:55 +02:00
Matthias Clasen
f70e37a341
Merge branch 'release-script' into 'master'
...
Release script
See merge request GNOME/gtk!2530
2020-09-04 15:30:35 +00:00
Benjamin Otte
1a445d79c4
Merge branch 'demo_css_pixbufs_fix' into 'master'
...
gtk-demo: Fix CSS in pixbufs demo
See merge request GNOME/gtk!2529
2020-09-04 14:40:36 +00:00
Matthias Clasen
925a01162f
build: Add a release script
...
I've goofed up too many times producing the separate
doc tarballs. So lets collect the required steps in a script.
2020-09-04 10:26:16 -04:00
Björn Daase
3bcbb4a7cc
gtk-demo: Fix CSS in pixbufs demo
2020-09-04 16:14:09 +02:00
Matthias Clasen
a8eae7afaa
build: Move the gtk-doc dep to the toplevel
...
We want to include the gtk-doc subproject in release
tarballs, using --include-subprojects, but that only
works if we've actually built the subproject. And
enabling gtk-doc for dist builds is problematic -
it tends to break meson dist.
So declare the gtk-doc dependency independent of
-Dgtk_doc, and use --force-fallback-for for it.
2020-09-04 09:57:14 -04:00
Dušan Kazik
99a09e0d08
Update Slovak translation
2020-09-04 12:42:52 +00:00
Matthias Clasen
275302a9d5
Merge branch 'fix-gtk-application-menu-example' into 'master'
...
GtkApplicationWindow: Fix menubar example
See merge request GNOME/gtk!2528
2020-09-04 12:32:40 +00:00
Emmanuele Bassi
749d0744da
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
Closes #3118
See merge request GNOME/gtk!2527
2020-09-04 11:56:03 +00:00
Emmanuel Gil Peyrot
62f7395c77
GtkApplicationWindow: Fix menubar example
...
This example was using invalid attribute syntax.
2020-09-04 13:49:28 +02:00
Emmanuele Bassi
f7f0bc0369
Use consistent argument name
...
Declarations, definitions, and gtk-doc stanzas should use the same name
for arguments. Otherwise both g-ir-scanner and gtk-doc will complain
that they can't find the argument.
2020-09-04 12:05:01 +01:00
Emmanuele Bassi
1896d7f463
build: Make sysprof truly optional
...
We are falling back to the sysprof subproject even if sysprof support
has been explicitly disabled.
Fixes : #3118
2020-09-04 12:02:15 +01:00
Emmanuele Bassi
927c4abf23
Merge branch 'fix-vulkan-dependency-searching' into 'master'
...
meson: Fix Vulkan dependency checking
Closes #3108
See merge request GNOME/gtk!2526
2020-09-04 10:49:50 +00:00
Chun-wei Fan
b322ddba5c
gdksurface-win32.c: Fix missed include
...
We need to include gdkdevice-win32.h for gdksurface-win32.c
2020-09-04 17:24:57 +08:00
Nirbheek Chauhan
b25871438d
meson: Fix Vulkan dependency checking
...
The dependency block was completely wrong. It was:
1. Not searching for the lib manually when -Dvulkan=enabled (default).
The else block was only hit when -Dvulkan=auto.
2. Unconditionally searching for the vulkan library in the else block
when -Dvulkan=disabled
The manual searching is also not required because Meson has a custom
'vulkan' dependency class that already supports Windows, and is more
correct than the code here. Specifically, the current code does not
support picking up the Vulkan SDK from a custom path.
Fixes #3108
2020-09-04 11:50:50 +05:30
Jordi Mas
aff3cc6194
Update Catalan translation
2020-09-04 06:26:23 +02:00
Ahmed Eldemery
f2c4ad0087
Merge remote-tracking branch 'upstream/master' into master
2020-09-03 20:24:26 +02:00
Matthias Clasen
1a131a04d3
3.99.1
2020-09-03 14:20:06 -04:00
Matthias Clasen
887539e4ff
gridview: Make constructor arguments nullable
...
I forgot to adjust the precondition when copying things
around.
2020-09-03 14:20:06 -04:00
Matthias Clasen
98440142da
Merge branch 'layout-manager-transform-demo' into 'master'
...
Layout manager transform demo
See merge request GNOME/gtk!2519
2020-09-03 14:49:31 +00:00
Matthias Clasen
acc2516b3c
Add another layout manager demo
...
This demo uses transforms to place icons on a sphere.
2020-09-03 10:09:22 -04:00
Matthias Clasen
fd7a9069ce
Cosmetic improvement to the layout manager demo
...
Give this a better title, since we will have more
than one layout manager demo soon.
2020-09-03 10:09:22 -04:00
Matthias Clasen
1a8f109af8
Add a simple testcase for transforms
...
This can help in tracking various things down,
from picking to clipping.
2020-09-03 10:09:22 -04:00
Matthias Clasen
eee6d28c67
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3109 and #3112
See merge request GNOME/gtk!2522
2020-09-02 19:47:40 +00:00
Matthias Clasen
30ab8b3eca
Fix picking
...
My previous change here was too hasty - this code is not
actually transforming points - it is just a convoluted
way to transform the z axis from child coordinates to
the parent.
2020-09-02 15:20:58 -04:00
Matthias Clasen
d5121af876
text widgets: Don't lose focus after Emoji
...
Make sure to grab focus back when the Emoji chooser
disappears. This prevents focus going nowhere when
the Emoji chooser is canceled.
Fixes : #3112
2020-09-02 15:20:58 -04:00
Matthias Clasen
9512e461d5
textview: Fix placement of Emoji chooser
...
If the selection extends beyond the visible range,
place the Emoji chooser over the center of the window.
Fixes : #3109
2020-09-02 15:20:58 -04:00
Matthias Clasen
70c5dee968
NEWS: Updates
2020-09-02 15:20:58 -04:00
Emin Tufan Çetin
6c9fe63a23
Update Turkish translation
2020-09-02 18:26:15 +00:00
Mario Blättermann
a909f9d0f5
Update German translation
2020-09-02 17:14:28 +00:00
Carlos Garnacho
21b9dad9e6
Merge branch 'gesture-nullable-sequence' into 'master'
...
Annotate sequence argument of GtkGesture signals as nullable
See merge request GNOME/gtk!2520
2020-09-02 11:11:54 +00:00
Sebastian Dröge
ae5d1cd161
Annotate sequence argument of GtkGesture signals as nullable
2020-09-02 13:32:20 +03:00
Matthias Clasen
f53b59533d
README: Cosmetics
2020-09-01 19:21:32 -04:00
Matthias Clasen
062822ab06
Merge branch 'checkbutton-fixes' into 'master'
...
Checkbutton fixes
See merge request GNOME/gtk!2518
2020-09-01 22:15:33 +00:00
Goran Vidović
fc333ead79
Update Croatian translation
2020-09-01 21:14:00 +00:00
Matthias Clasen
746bdd3d47
checkbutton: Don't notify write-only properties
...
Nobody is listening...
2020-09-01 16:31:07 -04:00
Matthias Clasen
c5c67cbb8c
action helper: Drop G_GNUC_INTERNAL from headers
...
We haven't needed this for a long time now.
2020-09-01 16:29:21 -04:00
Matthias Clasen
639c839ba4
Add docs about grouping via action
...
Mention this in the docs for gtk_check_button_set_group
and gtk_toggle_button_set_group.
2020-09-01 16:29:21 -04:00
Matthias Clasen
5f8769e1a8
checkbutton: Support GtkActionable properly
...
Support grouping buttons via a radio action, as well
as via explicit gtk_check_button_set_group() calls.
2020-09-01 16:29:21 -04:00
Matthias Clasen
3569360949
actionhelper: Add a getter
...
Add a getter for the GtkActionHelper:role property.
2020-09-01 16:29:20 -04:00
Aurimas Černius
7070459c40
Updated Lithuanian translation
2020-09-01 22:45:16 +03:00
Matthias Clasen
1c0bf2604c
checkbutton: Don't leak the action helper
2020-09-01 15:24:34 -04:00
Fran Dieguez
c2786fefa8
Update Galician translation
2020-09-01 19:08:43 +00:00
Matthias Clasen
1bbab5664d
Merge branch 'license-clarification' into 'master'
...
License clarification
See merge request GNOME/gtk!2517
2020-09-01 18:58:52 +00:00
Matthias Clasen
a3030d3a62
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3107
See merge request GNOME/gtk!2516
2020-09-01 18:26:21 +00:00
Matthias Clasen
ec6d3ead03
Add a license clarification
2020-09-01 14:25:56 -04:00
Matthias Clasen
87855dd375
Move timsort sources to a subdirectory
...
This makes it easier to identify the files that
belong together, and are under the same license.
2020-09-01 14:25:56 -04:00
Matthias Clasen
0e6eba3968
inspector: Plug another memory leak
...
Fixes : #3107
2020-09-01 13:06:20 -04:00
Matthias Clasen
aaef9bec7f
treelistrowsorter: Plug a memory leak
2020-09-01 13:01:34 -04:00
Matthias Clasen
391c05ef70
inspector: Plug a small memory leak
2020-09-01 12:57:08 -04:00
Benjamin Otte
133a9a6784
Merge branch 'listview-constructors' into 'master'
...
list widgets: Simplify the constructors
See merge request GNOME/gtk!2515
2020-09-01 16:42:09 +00:00
Matthias Clasen
b628338db3
list widgets: Simplify the constructors
...
Now that both arguments to the _new_with_factory() constructors
are nullable, there's no good reason to keep a separate _new()
around. Just make gtk_list_view_new() and gtk_grid_view_new()
take both a model and a factory.
2020-09-01 12:24:06 -04:00
Matthias Clasen
7051fdee5d
Merge branch 'projective-transform' into 'master'
...
Replace uses of graphene_matrix_transform_
See merge request GNOME/gtk!2514
2020-09-01 13:44:38 +00:00
Matthias Clasen
e36b594867
Replace uses of graphene_matrix_transform_
...
Replace our uses of graphene_matrix_transform_point,
_point3d and _bounds by our own versions that handle
projective transforms correctly.
This fixes render node bounds being incorrect for widgets
involving projective transforms (e.g. testrevealer swing
transformations), and also fixes picking on such widgets.
2020-09-01 09:18:38 -04:00
Matthias Clasen
99a7a2188a
gsk: Add some private transform apis
...
Some of the graphene_matrix_transform apis don't work
correctly with projective matrices, so add our own
variants.
2020-09-01 09:18:38 -04:00
Asier Sarasua Garmendia
3ac9f78141
Update Basque translation
2020-09-01 12:21:34 +00:00
Benjamin Otte
a8d6ba9517
Merge branch 'view-selection-model-3' into 'master'
...
list widgets: Use selection models in the api
See merge request GNOME/gtk!2512
2020-09-01 11:08:51 +00:00
Daniel Mustieles
482794515b
Updated Spanish translation
2020-09-01 11:05:08 +02:00
Matthias Clasen
9377ce984d
Merge branch 'adwaita-more-border-spacing' into 'master'
...
Adwaita: Add border-spacing to some container widgets and style classes (properly)
See merge request GNOME/gtk!2479
2020-08-31 21:17:21 +00:00
Matthias Clasen
8d79a32c50
list widgets: Use selection models in the api
...
Change the apis in GtkListView, GtkColumnView and
GtkGridView to be explicitly about GtkSelectionModel,
to make it obvious that the widgets handle selection.
Update all users.
2020-08-31 17:15:05 -04:00
Matej Urbančič
b661bd9775
Updated Slovenian translation
2020-08-31 21:53:05 +02:00
Matej Urbančič
87dd79bc17
Updated Slovenian translation
2020-08-31 21:50:01 +02:00
Matthias Clasen
d2d8b748e9
NEWS: Updates
2020-08-31 13:37:52 -04:00
Matthias Clasen
ccb447da02
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #2777
See merge request GNOME/gtk!2503
2020-08-31 16:30:21 +00:00
Matthias Clasen
4580e71250
Merge branch 'fix_resource_leak_in_gdkdisplayclose_gtk4' into 'master'
...
Fix resource leak in gdk_display_close() under Wayland
See merge request GNOME/gtk!2511
2020-08-31 16:17:05 +00:00
Matthias Clasen
76b5ff6a00
pagesetupdialog: Just use labels in check buttons
...
Check buttons lost their ability to hold general
content. And while that is maybe sad, the tiny
images here are not really useful anyway, and
should just go away.
2020-08-31 12:05:53 -04:00
Julien Ropé
665955b81e
Fix resource leak in gdk_display_close() under Wayland
...
When using the gdk_display_close(), the handle to the Wayland compositor was not released. This could cause the consumption of all available handles, preventing other processes from accessing the display.
Fixing this by calling wl_display_disconnect() when releasing the GdkWaylandDisplay object.
Signed-off-by: Julien Ropé <jrope@redhat.com >
2020-08-31 17:46:18 +02:00
Matthias Clasen
501cf493bf
Fix a typo
2020-08-31 10:50:14 -04:00
sicklylife
684c36c13f
Update Japanese translation
2020-08-31 14:36:14 +00:00
sicklylife
d93eb0d88f
Update Japanese translation
2020-08-31 14:30:59 +00:00
Boyuan Yang
64b049f798
Update Chinese (China) translation
2020-08-31 13:44:27 +00:00
Matthias Clasen
03dd629257
Fix up the focus-chain tests
...
Several typos here, and some of the expected
output changes due to widget class changes.
2020-08-31 08:20:25 -04:00
Matthias Clasen
6ccc6a5650
doc shooter: Remove radio button remnants
2020-08-31 08:13:20 -04:00
Rafael Fontenelle
5adc1dc40f
Update Brazilian Portuguese translation
2020-08-31 11:12:54 +00:00
Jakub Steiner
768e24afc1
Merge branch 'nana-4/gtk-fix-circular-button-styling'
2020-08-31 11:27:29 +02:00
nana-4
4cf9228659
Adwaita: Ensure button.circular is a perfect circle
...
It seems the commit 9d60047616 had no
effect, even on image buttons.
2020-08-31 11:24:46 +02:00
Jakub Steiner
2f0a4c7128
Adwaita: rich-list styling
...
FIXME: why is the second list in Demo>List Box>Controls taller?
2020-08-31 11:21:57 +02:00
Yuri Chornoivan
e64b08ab90
Update Ukrainian translation
2020-08-31 06:13:57 +00:00
Kukuh Syafaat
9bc97fb52c
Update Indonesian translation
2020-08-31 06:04:08 +00:00
Kukuh Syafaat
077f21c9ff
Update Indonesian translation
2020-08-31 06:02:57 +00:00
Matthias Clasen
cff211ea1f
migration guide: Mention button hierarchy changes
2020-08-30 22:25:56 -04:00
Matthias Clasen
17c4838569
Drop GtkRadioButton
2020-08-30 22:25:36 -04:00
Matthias Clasen
bb6045f02d
builder-tool: Replace radio buttons by check buttons
...
For --3to4, replace GtkRadioButton by either GtkCheckButton
or GtkToggleButton, depending on the value of :draw-indicator.
Update the testsuite to cover this.
2020-08-30 22:17:31 -04:00
Matthias Clasen
b98352de3e
widget-factory: Stop using radio buttons
...
Use grouped toggle buttons for the view switcher
on page 2.
2020-08-30 22:17:31 -04:00
Matthias Clasen
1125a4379c
iconbrowser: Stop using radio buttons
...
Replace them with grouped toggle buttons.
2020-08-30 22:14:05 -04:00
Matthias Clasen
f085ac837c
fontrendering demo: Stop using radio buttons
...
Replace them with grouped toggled buttons.
2020-08-30 22:14:05 -04:00
Matthias Clasen
28d7f497ef
togglebutton: Add grouping
...
This is the replacement for groups of radiobuttons
with draw-indicator = FALSE.
2020-08-30 22:14:05 -04:00
Matthias Clasen
b69e8d8e7b
Remove GtkRadioButton uses in ui files in tests
2020-08-30 21:23:25 -04:00
Matthias Clasen
c7b6c2f441
Remove GtkRadioButton references in the docs
2020-08-30 21:23:25 -04:00
Matthias Clasen
2c5c938f0d
Clean up uses of gtk_toggle_button_get/set_active
...
Replace all uses on check buttons by the corresponding
check button api.
2020-08-30 21:23:25 -04:00
Matthias Clasen
cfade230ce
docs: Update the gallery image for check buttons
...
Show grouped and ungrouped check buttons.
2020-08-30 21:23:25 -04:00
Matthias Clasen
238d52497d
doc shooter: Drop radio buttons
...
Instead, show grouped checkbuttons.
2020-08-30 21:23:25 -04:00
Matthias Clasen
ba6070b7be
build: The doc shooter works without x11 now
...
No need to restrict the build to just x11.
We're not using pixmaps anymore.
2020-08-30 21:23:25 -04:00
Matthias Clasen
8f1bf594b9
Drop a long-dead test
...
We don't parse rc files anymore. Time for testrc.c to go.
2020-08-30 21:23:25 -04:00
Matthias Clasen
1b6f734019
tests: Stop using radio buttons
...
Use grouped check buttons.
2020-08-30 21:23:25 -04:00
Matthias Clasen
cd284da794
checkbutton: Reuse a helper function
2020-08-30 21:23:25 -04:00
Matthias Clasen
591b52584e
checkbutton: Fix clicking on the last group member
...
Clicking on the last group member was letting me
uncheck it, creating a radio group without active
item, which is not what we want.
2020-08-30 21:23:25 -04:00
Matthias Clasen
f30d32f609
pagesetupdialog: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
33b65d5e61
stackswitcher: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
00124b593e
inspector: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
2d6c43b598
checkbutton: Drop gtkradiobutton.h include
...
No longer used.
2020-08-30 21:23:25 -04:00
Matthias Clasen
d6e1276fe1
mountoperation: Stop using radio buttons
...
Use grouped check buttons instead.
2020-08-30 21:23:25 -04:00
Matthias Clasen
151b9c71db
printeroptionwidget: Stop using radio buttons
...
Use grouped check buttons instead.
2020-08-30 21:23:25 -04:00
Matthias Clasen
c9eb497989
gtk-demo: Fix up the fontrendering demo
2020-08-30 21:23:14 -04:00
Matthias Clasen
dc8b88393d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3104
See merge request GNOME/gtk!2507
2020-08-30 22:01:45 +00:00
Matthias Clasen
7a05381825
gtk-demo: Port to font explorer to grouped checkbuttons
...
Stop using radio buttons here.
2020-08-30 17:59:23 -04:00
Matthias Clasen
e21b6a5721
widget-factory: Fix up radio buttons
...
Keep calling them radiobutton, since that is what they are.
And make the insensitive second group of three match what
we have in gtk3-widget-factory, and be parallel to the
insensitive checkbuttons next to it.
2020-08-30 17:59:23 -04:00
Matthias Clasen
d3042dabf4
printdialog: Make collate image smaller
...
This matches the appearance on GTK 3, and prevents
the checkbuttons next to the image from being spaced
out.
2020-08-30 17:59:23 -04:00
Matthias Clasen
830b2b7f30
printdialog: Fix radio groups
...
We need to use grouped checkbuttons now.
2020-08-30 17:59:23 -04:00
Matthias Clasen
af155838bd
fontchooser: Fix radio groups for features
...
We need to use grouped checkbuttons now.
2020-08-30 17:59:23 -04:00
Matthias Clasen
2212daf979
Better fontconfig suppression
2020-08-30 13:14:55 -04:00
Matthias Clasen
5ef0ed1189
inspector: Add some translator comments
...
Some of the strings we have here are hard to translate,
so leave some hints, and some context.
Fixes : #3104
2020-08-30 13:12:10 -04:00
Matthias Clasen
071763c844
inspector: Add a dark background to the recorder
...
Add a button to toggle the background in the node
view between dark and light. This helps to discern
the borders of some nodes.
2020-08-30 08:59:13 -04:00
Matthias Clasen
c69ac09afb
Another attempt to make circular buttons square
...
circular button, square hole...
2020-08-30 08:34:30 -04:00
Matthias Clasen
4ba84d6426
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3098
See merge request GNOME/gtk!2506
2020-08-30 12:29:24 +00:00
Bruce Cowan
fac0e7abd8
Update British English translation
2020-08-30 11:46:48 +00:00
Asier Sarasua Garmendia
14daddfa9d
Update Basque translation
2020-08-30 10:26:53 +00:00
Asier Sarasua Garmendia
0c150e48f1
Update Basque translation
2020-08-30 10:23:55 +00:00
Matthias Clasen
c51f69c446
gtk-demo: Cosmetic change to the css shadows demo
...
Make the text view in the bottom take up the bulk
of the window, as it used to be.
2020-08-29 16:42:30 -04:00
Matthias Clasen
8e74687ab3
page setup dialog: Prevent cascading paper dialogs
...
We trigger the paper dialog when the "manage" item
in the dropdown is selected. But the selection also
changes due to internal changes, such as reloading
the custom paper list when the paper dialog is
closed. We need to be extra careful to avoid triggering
another paper dialog when that happens.
Fixes : #3098
2020-08-29 16:30:34 -04:00
Matthias Clasen
15c6760a96
print dialog: Prevent cascading paper dialogs
...
We trigger the paper dialog when the "manage" item
in the dropdown is selected. But the selection also
changes due to internal changes, such as reloading
the custom paper list when the paper dialog is
closed. We need to be extra careful to avoid triggering
another paper dialog when that happens.
2020-08-29 16:30:26 -04:00
Matthias Clasen
6ffb3d3fe5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2504
2020-08-29 17:37:18 +00:00
Matthias Clasen
0f42d37f8b
css: Fix parsing of scientific notation
...
The parser got its chars mixed up while parsing numbers
like 2.3e-04. While it is unlikely to meet such numbers
in human-generated css, we do have them e.g. when saving
render node trees with transforms.
Also add some css parser tests for number parsing.
2020-08-29 12:44:26 -04:00
Boyuan Yang
02d57f1fd7
Update Chinese (China) translation
2020-08-29 15:22:48 +00:00
Timm Bäder
1375fb4464
Change button hierarchy
...
A radiobutton without indicator is really just a togglebutton with a
group.
A radiobutton with indicator is really just a checkbutton with a group.
Make checkbutton its own widget not inheriting from GtkButton.
GtkRadioButton could be removed but it stays for now.
Radiobutton && !draw-indicator => Togglebutton
Checkbutton && !draw-indicator => Togglebutton
Radiobutton && draw-indicator => CheckButton + group
2020-08-29 16:46:28 +02:00
Timm Bäder
51b398b960
rendernodes: Whitespace
2020-08-29 16:46:28 +02:00
Timm Bäder
b0d89b1882
wayland: Fix a GSettingsSchema leak
2020-08-29 16:46:28 +02:00
Timm Bäder
c1c2205018
gl renderer: Adjust gaussian blur sigma
...
To look more like what browsers do.
2020-08-29 16:46:28 +02:00
Timm Bäder
7a8d71138f
testoutsetshadowdrawing: Make window background white
...
This makes it easier to compare the rendering with other sources.
2020-08-29 16:46:28 +02:00
Timm Bäder
2bff84ca6c
gl: Adjust blur radius_multiplier
...
2.0 Looks much closer to what my browser does.
Fixes #2777
2020-08-29 16:46:25 +02:00
Boyuan Yang
e8805eb9bf
Update Chinese (China) translation
2020-08-29 14:19:45 +00:00
Timm Bäder
21e2c7fa33
icon-browser: Add .navigation-sidebar to sidebar
2020-08-29 11:11:29 +02:00
Timm Bäder
53eed09e08
gdkcairoprivate: Fix header guard
2020-08-29 11:11:29 +02:00
Timm Bäder
0fd8a287fc
spinbutton: Whitespace
2020-08-29 11:11:29 +02:00
Timm Bäder
1d6ac9b47b
button: Use gtk_widget_class_add_shortcut directly
...
To show how that works
2020-08-29 11:11:29 +02:00
Timm Bäder
acbb59bfae
button: Whitespace
2020-08-29 11:11:29 +02:00
Timm Bäder
ea21e50cc1
testadjustsize: Fix overlay/box confusion
2020-08-29 11:11:29 +02:00
Timm Bäder
e970c69843
gsk: Fix border node diff implementation
...
This was showing up in the interactive constraint demo in gtk4-demo.
2020-08-29 11:11:29 +02:00
Piotr Drąg
ce737f69d7
Update POTFILES.skip
2020-08-29 10:55:11 +02:00
Changwoo Ryu
e4ad403a9a
Update Korean translation
2020-08-29 03:57:33 +00:00
Changwoo Ryu
722cab1b6b
Update Korean translation
2020-08-29 03:56:51 +00:00
Matthias Clasen
38c2555d46
Merge branch 'issue-3099' into 'master'
...
demo: Fix the resource path for css_pixbufs demo
Closes #3099
See merge request GNOME/gtk!2500
2020-08-29 03:54:32 +00:00
Emmanuele Bassi
ebef48f7df
demo: Fix the resource path for css_pixbufs demo
...
Fixes : #3099
2020-08-28 18:39:59 +01:00
Ahmed Eldemery
a67899870a
Merge remote-tracking branch 'upstream/master' into master
2020-08-28 18:45:15 +02:00
Asier Sarasua Garmendia
a0565ea8d9
Update Basque translation
2020-08-28 18:45:01 +02:00
Matthias Clasen
1d2634e73b
NEWS: Updates
2020-08-28 18:45:01 +02:00
Matthias Clasen
18a85998dc
idle sizer: Request a motion event after layout
...
When we are reallocating widgets, make sure that
we get a motion event in the next frame cycle,
so the hover state gets updated.
2020-08-28 18:45:01 +02:00
Matthias Clasen
c6fee8cee5
Add a function to request motion events
...
We want to ensure that the pointer position is reflected
when widget geometry changes, so add a function that tells
GDK "please create a motion event at the current position
on this surface, if one doesn't happen already".
2020-08-28 18:45:01 +02:00
Jordi Mas
dc17cf19b4
Update Catalan translation
2020-08-28 18:45:01 +02:00
Matthias Clasen
df88abb9c4
bookmarksmanager: Cancel async reads properly
...
This was causing the objects-finalize test to fail in ci.
2020-08-28 18:45:01 +02:00
Matthias Clasen
bba7f444dc
Don't export gdk_surface_constrain_size
...
It has one last use in gtkwindow.c, but that will
go away and doesn't need this function to be exported
anyway.
2020-08-28 18:45:01 +02:00
Kukuh Syafaat
6b9db59e62
Update Indonesian translation
2020-08-28 18:45:01 +02:00
Carlos Garnacho
0077f95ace
gdk/wayland: Use double-click/drag-threshold settings from g-d-s
...
Handle both these settings, and the older settings-daemon ones for
backwards compatibility. The keys are already checked for existence
in the schema, so it will just use the existing ones.
2020-08-28 18:45:01 +02:00
Carlos Garnacho
c770adb918
gdk/wayland: Look for font settings in gsettings-desktop-schemas
...
Prefer this location, but also look for the old location in
settings-daemon for backwards compatibility. This applies to both
direct settings lookups and via the settings portal.
2020-08-28 18:45:01 +02:00
Alexander Mikhaylenko
529b44625d
wayland: Fix dnd hotspot movement
...
_gdk_wayland_surface_offset_next_wl_buffer() moves the surface relatively
to its current position, pass it a delta instead of new position.
2020-08-28 18:45:01 +02:00
Matthias Clasen
c10636789d
gdk: Drop an unused vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
8124f5896d
gdk: Cosmetics
2020-08-28 18:45:01 +02:00
Matthias Clasen
28f831ebb0
broadway: Fix up surface_at_position
2020-08-28 18:45:01 +02:00
Matthias Clasen
3ec7a6c861
win32: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
8da4a02da0
wayland: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-28 18:45:01 +02:00
Matthias Clasen
e6d4555b34
wayland: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
f854c2850f
broadway: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-28 18:45:01 +02:00
Matthias Clasen
d6392c9035
broadway: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
02631d2b6e
x11: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-28 18:45:01 +02:00
Matthias Clasen
9cddc36fe2
x11: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-28 18:45:01 +02:00
Matthias Clasen
690d72e696
gdk: Drop the query_state vfunc
...
It is no longer used.
2020-08-28 18:45:01 +02:00
Matthias Clasen
9dbf81e7d9
x11: Stop setting the query_state vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
0546f09b1d
win32: Stop using the query_state vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
22099ebb05
macos: Stop setting the query_state vfunc
2020-08-28 18:45:01 +02:00
Matthias Clasen
07ef594be1
wayland: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-28 18:45:01 +02:00
Matthias Clasen
d785212706
broadway: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-28 18:45:01 +02:00
Matthias Clasen
9b0c2e62ba
Drop _gdk_device_query_state
...
It is now unused.
2020-08-28 18:45:01 +02:00
Matthias Clasen
983f072514
macos: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-28 18:45:01 +02:00
Matthias Clasen
275b95841b
win32: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-28 18:45:01 +02:00
Matthias Clasen
7d9bc01797
x11: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-28 18:45:01 +02:00
Matthias Clasen
028644d0ad
Make gdk_surface_get_device_position return a boolean
...
A year ago, we make this function not return the child
surface anymore. But the information whether the device
is actually over the surface is still useful, and we
should not loose it.
2020-08-28 18:45:01 +02:00
Matthias Clasen
76e83d3216
main: Avoid a crash with crossing event handling
...
We are reusing the GtkCrossingData struct for multiple
calls here, so we need to make sure that the targets
stay alive from beginning to end.
Fixes : #3090
2020-08-28 18:45:01 +02:00
Matthias Clasen
002376f837
widget: Avoid a crash in crossing event handling
...
We need to make sure that the crossing data stays
alive until we are done handling it, so take references
on all the widgets in it.
2020-08-28 18:45:01 +02:00
Alexander Larsson
39d71dbb0a
broadway: Prune fully clipped render nodes
...
If some node is fully outside the clip region we don't send it to the daemon.
This helps a lot in how much data we send for scrolling viewports.
However, sending partial trees makes node reuse a bit more tricky. We
can't save for reuse any node that could possibly clip different depending on
the clip region, as that could be different next frame. So, unless the
node is fully contained in the current clip (and we thus know it is not
parial) we don't allow reusing that next frame.
This fixes #3086
2020-08-28 18:45:01 +02:00
Alexander Larsson
b5e7499bbd
broadway: Track the clip region in the renderer
...
If we know what can't possibly be visible we may can later decide to
not expose a node.
2020-08-28 18:45:01 +02:00
Fran Dieguez
fed6ba9bd0
Update Galician translation
2020-08-28 18:45:01 +02:00
Alexander Larsson
5581f78f41
Broadway: Fix handling of debug nodes
...
The debug nodes have id BROADWAY_NODE_DEBUG, which happens to be "12".
So, don't hardcode the wrong number "14".
2020-08-28 18:45:01 +02:00
Alexander Larsson
a97ea17c92
broadway: Correct handling of opaque colors
...
If alpha is 255, we use rgb() instead of rgba(), not if alpha is 0.
This makes the title bar gradient go from fully transparent to blue
rather than black to blue..
2020-08-28 18:45:01 +02:00
Matthias Clasen
67f259cd1a
fontchooser: Populate the list incrementally
...
By adding 20 fonts / frame to the font list, we can
get the font chooser dialog to show up much faster.
This change gets the font chooser up in 265ms here.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
e5f4459e4b
a11y: Simplify the ATContext::state-change signal
...
We cannot pass all the data we pass to the virtual function, because the
types are private, but the class and the signal are public API.
The signal is just a notification, so we can decouple the virtual
function (which stays the same, for internal types that implement the
ATContext API contract) from the signal.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
890c7816f0
Annotate GValue-variants methods of GtkAccessible
...
The variadic arguments methods cannot be used by language bindings,
which means we can let them use their names when calling the
GValue-based methods.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
e25e73c56c
Properly document GtkAccessible:accessible-role
...
Use a gtk-doc stanza, instead of the GParamSpec strings.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
8a2b3f0692
a11y: Do not notify of empty state changes
...
If the ATContext state hasn't changed—for instance, if the accessible
attributes have been set to their default value, or have been set to the
same value—do not emit an accessible state change. State changes can be
arbitrarily expensive, so we want to ensure that they are meaningful.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
1ec4995d14
a11y: Notify callers when an attributes set changes
...
We can use that information inside the ATContext.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
dd624de8e8
a11y: GtkATContext.update_state() was renamed to update()
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
92737b27bf
a11y: Allow bulk attribute update with the GValue API
...
Like we do for the varargs API.
2020-08-28 18:45:01 +02:00
Emmanuele Bassi
fe50286e14
a11y: Different value types cannot be equal
...
Bail out early, instead of going deep into the GtkAccessibleValue type
equal() implementation, where we expect both accessible values to have
the same type.
2020-08-28 18:45:01 +02:00
Aurimas Černius
9d65ee58c9
Updated Lithuanian translation
2020-08-28 18:45:01 +02:00
nana-4
ad5a78b1e7
gtk-demo: Avoid double borders in the blendmodes demo
2020-08-28 18:45:01 +02:00
nana-4
cd3a7b416e
gtk-demo: Avoid double borders in the fontrendering demo
...
Replace the frame with a separator.
2020-08-28 18:45:01 +02:00
nana-4
fc63c6371f
gtk-demo: Avoid double borders in the dnd demo
...
Replace the frame with a separator.
2020-08-28 18:45:01 +02:00
nana-4
d13fa73d04
gtk-demo: Avoid double borders in the panes demo
...
Using frames for the children of the panes looks bad.
2020-08-28 18:45:01 +02:00
nana-4
c6976d6897
inspector: Avoid double borders in the resource tab
...
Replace the frames with a separator.
2020-08-28 18:45:01 +02:00
nana-4
6371fca799
inspector: Avoid double borders in the accessibility tab
...
Replace the frame with a separator.
2020-08-28 18:45:01 +02:00
Asier Sarasua Garmendia
f3ebb76746
Update Basque translation
2020-08-28 10:26:30 +00:00
Timm Bäder
620388a071
gtk4-demo: Add background to CSS Basics demo
...
So people can at least read the textview contents
2020-08-28 04:35:46 +02:00
Matthias Clasen
f6adba57bb
NEWS: Updates
2020-08-27 20:50:40 -04:00
Matthias Clasen
5533494839
Merge branch 'synthetic-motion' into 'master'
...
Synthetic motion
See merge request GNOME/gtk!2493
2020-08-27 20:24:34 +00:00
Matthias Clasen
5b5d2665d3
idle sizer: Request a motion event after layout
...
When we are reallocating widgets, make sure that
we get a motion event in the next frame cycle,
so the hover state gets updated.
2020-08-27 16:01:45 -04:00
Jordi Mas
1a39ac64ab
Update Catalan translation
2020-08-27 20:54:16 +02:00
Matthias Clasen
78134fc6d3
Add a function to request motion events
...
We want to ensure that the pointer position is reflected
when widget geometry changes, so add a function that tells
GDK "please create a motion event at the current position
on this surface, if one doesn't happen already".
2020-08-27 13:33:45 -04:00
Matthias Clasen
564ae4bdb1
Merge branch 'matthiasc/for-master' into 'master'
...
bookmarksmanager: Cancel async reads properly
See merge request GNOME/gtk!2495
2020-08-27 17:04:34 +00:00
Matthias Clasen
e4215ec4c7
bookmarksmanager: Cancel async reads properly
...
This was causing the objects-finalize test to fail in ci.
2020-08-27 12:36:36 -04:00
Matthias Clasen
74f8c59236
Merge branch 'matthiasc/for-master' into 'master'
...
Don't export gdk_surface_constrain_size
See merge request GNOME/gtk!2494
2020-08-27 12:12:52 +00:00
Matthias Clasen
dd0c43b7ba
Don't export gdk_surface_constrain_size
...
It has one last use in gtkwindow.c, but that will
go away and doesn't need this function to be exported
anyway.
2020-08-27 07:31:45 -04:00
Kukuh Syafaat
9de7390ea0
Update Indonesian translation
2020-08-27 03:03:54 +00:00
Matthias Clasen
81e113d8aa
Merge branch 'wip/carlosg/shuffle-font-mouse-settings' into 'master'
...
Look up font and mouse settings in gsettings-desktop-schemas
See merge request GNOME/gtk!2489
2020-08-27 00:08:45 +00:00
Matthias Clasen
b26f4d5429
Merge branch 'wip/exalm/hotspot-fix' into 'master'
...
wayland: Fix dnd hotspot movement
See merge request GNOME/gtk!2492
2020-08-26 23:44:15 +00:00
Alexander Mikhaylenko
0a59429dc8
wayland: Fix dnd hotspot movement
...
_gdk_wayland_surface_offset_next_wl_buffer() moves the surface relatively
to its current position, pass it a delta instead of new position.
2020-08-27 04:04:48 +05:00
Matthias Clasen
70ae073394
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2488
2020-08-26 22:34:08 +00:00
Carlos Garnacho
6421355065
gdk/wayland: Use double-click/drag-threshold settings from g-d-s
...
Handle both these settings, and the older settings-daemon ones for
backwards compatibility. The keys are already checked for existence
in the schema, so it will just use the existing ones.
2020-08-27 00:27:50 +02:00
Carlos Garnacho
536966e848
gdk/wayland: Look for font settings in gsettings-desktop-schemas
...
Prefer this location, but also look for the old location in
settings-daemon for backwards compatibility. This applies to both
direct settings lookups and via the settings portal.
2020-08-27 00:18:09 +02:00
Matthias Clasen
1c44910dfe
gdk: Drop an unused vfunc
2020-08-26 18:09:47 -04:00
Matthias Clasen
bf9bb71813
gdk: Cosmetics
2020-08-26 17:56:41 -04:00
Matthias Clasen
75915bc782
broadway: Fix up surface_at_position
2020-08-26 17:56:41 -04:00
Matthias Clasen
618891a41a
win32: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
0d82fcf76f
wayland: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-26 17:56:41 -04:00
Matthias Clasen
0091de63b4
wayland: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
338d6adb10
broadway: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-26 17:56:41 -04:00
Matthias Clasen
c4c155d698
broadway: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
b9016229c1
x11: Drop unused argument from query_state
...
Now that this is backend-only api, we can just
drop unused arguments.
2020-08-26 17:56:41 -04:00
Matthias Clasen
cf257e6676
x11: Fix return value of get_device_state
...
We need to look a the position, not the child surface.
2020-08-26 17:56:41 -04:00
Matthias Clasen
62ed769e74
gdk: Drop the query_state vfunc
...
It is no longer used.
2020-08-26 17:56:41 -04:00
Matthias Clasen
f3a0357ab0
x11: Stop setting the query_state vfunc
2020-08-26 17:56:41 -04:00
Matthias Clasen
1d8ac79296
win32: Stop using the query_state vfunc
2020-08-26 17:56:41 -04:00
Matthias Clasen
374c776749
macos: Stop setting the query_state vfunc
2020-08-26 17:56:41 -04:00
Matthias Clasen
8c9e1e7444
wayland: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-26 17:56:41 -04:00
Matthias Clasen
73d81d7178
broadway: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-26 17:56:41 -04:00
Matthias Clasen
84355ccbff
Drop _gdk_device_query_state
...
It is now unused.
2020-08-26 17:56:41 -04:00
Matthias Clasen
b2c92392fc
macos: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-26 17:56:41 -04:00
Matthias Clasen
9e06e830b7
win32: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-26 17:56:41 -04:00
Matthias Clasen
62a4a356c9
x11: Stop using _gdk_device_query_state
...
Directly use the backend implementation.
2020-08-26 15:31:07 -04:00
Matthias Clasen
1e4c6cde10
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3090
See merge request GNOME/gtk!2485
2020-08-26 18:02:18 +00:00
Matthias Clasen
372db8d239
Merge branch 'broadway-prune' into 'master'
...
broadway: Prune fully clipped render nodes
Closes #3086
See merge request GNOME/gtk!2487
2020-08-26 17:52:57 +00:00
Alexander Larsson
d57e6b754f
broadway: Prune fully clipped render nodes
...
If some node is fully outside the clip region we don't send it to the daemon.
This helps a lot in how much data we send for scrolling viewports.
However, sending partial trees makes node reuse a bit more tricky. We
can't save for reuse any node that could possibly clip different depending on
the clip region, as that could be different next frame. So, unless the
node is fully contained in the current clip (and we thus know it is not
parial) we don't allow reusing that next frame.
This fixes #3086
2020-08-26 18:08:00 +02:00
nana-4
59e0959186
Adwaita: Add border-spacing to some container widgets and style classes
...
This commit adds border-spacing to actionbar, searchbar, .toolbar and
.app-notification, so their child widgets won't appear to be connected
even without margin.
2020-08-27 00:47:08 +09:00
Fran Dieguez
3b1300632d
Update Galician translation
2020-08-26 15:42:23 +00:00
nana-4
738f5f4523
Adwaita: Fix border-spacing for headerbar
...
GtkHeaderBar uses GtkCenterBox internally nowadays, so the theme needs
to correspond to it.
2020-08-27 00:38:17 +09:00
Alexander Larsson
4b1ea7c4a1
broadway: Track the clip region in the renderer
...
If we know what can't possibly be visible we may can later decide to
not expose a node.
2020-08-26 16:55:56 +02:00
Matthias Clasen
74a452df6c
Make gdk_surface_get_device_position return a boolean
...
A year ago, we make this function not return the child
surface anymore. But the information whether the device
is actually over the surface is still useful, and we
should not loose it.
2020-08-26 09:11:28 -04:00
Timm Bäder
45046a53eb
Merge branch 'broadway-debug-nodes' into 'master'
...
Broadway: Fix handling of debug nodes
See merge request GNOME/gtk!2486
2020-08-26 12:38:09 +00:00
Alexander Larsson
918996b047
Broadway: Fix handling of debug nodes
...
The debug nodes have id BROADWAY_NODE_DEBUG, which happens to be "12".
So, don't hardcode the wrong number "14".
2020-08-26 14:01:00 +02:00
Matthias Clasen
b6eb85ee72
main: Avoid a crash with crossing event handling
...
We are reusing the GtkCrossingData struct for multiple
calls here, so we need to make sure that the targets
stay alive from beginning to end.
Fixes : #3090
2020-08-26 07:27:38 -04:00
Matthias Clasen
44741e1b77
widget: Avoid a crash in crossing event handling
...
We need to make sure that the crossing data stays
alive until we are done handling it, so take references
on all the widgets in it.
2020-08-26 07:26:49 -04:00
Emmanuele Bassi
eef1818cee
Merge branch 'broadway-alpha-colors' into 'master'
...
broadway: Correct handling of opaque colors
See merge request GNOME/gtk!2484
2020-08-26 11:20:03 +00:00
Alexander Larsson
fcaa6e98d0
broadway: Correct handling of opaque colors
...
If alpha is 255, we use rgb() instead of rgba(), not if alpha is 0.
This makes the title bar gradient go from fully transparent to blue
rather than black to blue..
2020-08-26 12:18:28 +02:00
Matthias Clasen
f48a1e4069
Merge branch 'matthiasc/for-master' into 'master'
...
fontchooser: Populate the list incrementally
See merge request GNOME/gtk!2483
2020-08-25 20:53:02 +00:00
Emmanuele Bassi
c21b9bec95
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2480
2020-08-25 20:34:18 +00:00
Aurimas Černius
659ec97456
Updated Lithuanian translation
2020-08-25 23:23:57 +03:00
Matthias Clasen
42cc15bb74
Merge branch 'demo-double-border-fixes' into 'master'
...
gtk-demo: Avoid double borders
See merge request GNOME/gtk!2478
2020-08-25 20:19:49 +00:00
Matthias Clasen
8e452b2b54
Merge branch 'inspector-double-border-fixes' into 'master'
...
inspector: Avoid double borders
See merge request GNOME/gtk!2477
2020-08-25 20:18:47 +00:00
Matthias Clasen
740559a54f
fontchooser: Populate the list incrementally
...
By adding 20 fonts / frame to the font list, we can
get the font chooser dialog to show up much faster.
This change gets the font chooser up in 265ms here.
2020-08-25 15:51:04 -04:00
Matthias Clasen
75cf990f74
Merge branch 'matthiasc/for-master' into 'master'
...
Revert unintentional calendar change
See merge request GNOME/gtk!2482
2020-08-25 18:29:27 +00:00
Matthias Clasen
612d2ea1f0
Revert unintentional calendar change
...
This was unintentionally included in c0efadc0f3 .
2020-08-25 14:12:35 -04:00
Emmanuele Bassi
d58136e23d
a11y: Simplify the ATContext::state-change signal
...
We cannot pass all the data we pass to the virtual function, because the
types are private, but the class and the signal are public API.
The signal is just a notification, so we can decouple the virtual
function (which stays the same, for internal types that implement the
ATContext API contract) from the signal.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
256c9c9873
Annotate GValue-variants methods of GtkAccessible
...
The variadic arguments methods cannot be used by language bindings,
which means we can let them use their names when calling the
GValue-based methods.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
fd568e63c2
Properly document GtkAccessible:accessible-role
...
Use a gtk-doc stanza, instead of the GParamSpec strings.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
797b3bd1b1
a11y: Do not notify of empty state changes
...
If the ATContext state hasn't changed—for instance, if the accessible
attributes have been set to their default value, or have been set to the
same value—do not emit an accessible state change. State changes can be
arbitrarily expensive, so we want to ensure that they are meaningful.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
32a1cd13c8
a11y: Notify callers when an attributes set changes
...
We can use that information inside the ATContext.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
1338dcddcb
a11y: GtkATContext.update_state() was renamed to update()
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
911a71c705
a11y: Allow bulk attribute update with the GValue API
...
Like we do for the varargs API.
2020-08-25 16:36:08 +01:00
Emmanuele Bassi
701a0dabd0
a11y: Different value types cannot be equal
...
Bail out early, instead of going deep into the GtkAccessibleValue type
equal() implementation, where we expect both accessible values to have
the same type.
2020-08-25 16:36:08 +01:00
Matthias Clasen
4dc1aea2ad
Merge branch 'adwaita-rounded-frames' into 'master'
...
Adwaita: Make frames rounded
See merge request GNOME/gtk!2476
2020-08-25 12:52:36 +00:00
nana-4
09fa3886ba
gtk-demo: Avoid double borders in the blendmodes demo
2020-08-25 21:24:10 +09:00
nana-4
bb7d5b2de6
gtk-demo: Avoid double borders in the fontrendering demo
...
Replace the frame with a separator.
2020-08-25 21:24:10 +09:00
nana-4
d906242c78
gtk-demo: Avoid double borders in the dnd demo
...
Replace the frame with a separator.
2020-08-25 21:24:10 +09:00
nana-4
d9e8223b03
gtk-demo: Avoid double borders in the panes demo
...
Using frames for the children of the panes looks bad.
2020-08-25 21:24:10 +09:00
nana-4
b79797ea97
inspector: Avoid double borders in the resource tab
...
Replace the frames with a separator.
2020-08-25 21:20:57 +09:00
nana-4
5bfc95321e
inspector: Avoid double borders in the accessibility tab
...
Replace the frame with a separator.
2020-08-25 21:20:57 +09:00
nana-4
c0efadc0f3
Adwaita: Make frames rounded
...
As per GNOME mockups.
Since GtkFrame now sets GTK_OVERFLOW_HIDDEN, we can round the frame
without corner overlapping.
This also adds some margin to the child label of GtkFrame to ensure it
will not be clipped by the rounded corners of the frame.
2020-08-25 21:12:35 +09:00
nana-4
ef837f0415
Adwaita: Remove a shadow-type leftover
...
After commit edae2a8dc5 , frames always
draw frames. So, remove the unused frame.flat styling.
2020-08-25 21:12:35 +09:00
Emmanuele Bassi
944607f240
Merge branch 'wip/smcv/no-yelp' into 'master'
...
docs: Don't build Yelp manual for bundled gtk-doc subproject
See merge request GNOME/gtk!2475
2020-08-25 11:18:35 +00:00
Simon McVittie
43781652b3
docs: Don't build Yelp manual for bundled gtk-doc subproject
...
This adds dependencies that would otherwise be unnecessary.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-25 11:55:35 +01:00
Matthias Clasen
9729a060f5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2979
See merge request GNOME/gtk!2474
2020-08-25 02:37:57 +00:00
Matthias Clasen
43ec96684a
text: Properly handle focus moving to a descendent
...
To discriminate between is-focus and contains-focus,
we need to use notify::is-focus. This makes sure
we don't get annoying warnings when the blink_cb
gets triggered on an unfocused entry.
Fixes : #2979
2020-08-24 18:31:35 -04:00
Matthias Clasen
66e0f8505e
emojichooser: Grab focus on map
...
This is the right thing to do, since we have a visible
entry and want text input to go there.
2020-08-24 18:31:08 -04:00
Matthias Clasen
22c914b7f5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2473
2020-08-24 21:57:11 +00:00
Matthias Clasen
fd7d61887c
colorchooser: Fix the add_palette api
...
When adding a custom palette, we need to arrange
for the custom section to stay at the bottom.
Maybe there should be a way to turn off custom
colors, too.
2020-08-24 17:20:17 -04:00
Matthias Clasen
bdaf346128
gtk-demo: Make the color picker demo less boring
...
Maybe the first ever use of the add_palette api.
Surprise, it doesn't work!
2020-08-24 17:19:36 -04:00
Bruce Cowan
6af7704858
Update British English translation
2020-08-24 18:39:24 +00:00
Matthias Clasen
7ff326e700
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3081
See merge request GNOME/gtk!2472
2020-08-24 16:43:39 +00:00
Matthias Clasen
c890d5991c
Add reftests for center layout
...
Add a test that checks behavior with invisible children,
and another one that ensures we go back to box-like
layout if min-size is forced.
2020-08-24 12:02:34 -04:00
Matthias Clasen
d27f9abbca
Merge branch 'unmapped-text' into 'master'
...
Unmapped text
See merge request GNOME/gtk!2466
2020-08-24 15:52:08 +00:00
Matthias Clasen
08f58122d1
Add a reftest for grid layouts
...
This tests that invisible children don't influence
the layout.
2020-08-24 11:38:00 -04:00
Matthias Clasen
17dcb10707
Add a reftest for box layouts
...
This tests that invisible children don't influence
the layout.
2020-08-24 11:34:30 -04:00
Matthias Clasen
2ac51ad827
centerlayout: Some spacing-related fixes
...
Try to arrange for border-spacing to actually be
respected in the final layout.
Fixes : #3081
2020-08-24 11:34:30 -04:00
Matthias Clasen
2e72b663b0
Merge branch 'wip/carlosg/start-spinbutton-start' into 'master'
...
gtkspinbutton: Group up/down button gestures with self
Closes #3085
See merge request GNOME/gtk!2471
2020-08-24 13:31:06 +00:00
Carlos Garnacho
e61f516a7c
gtkspinbutton: Group up/down button gestures with self
...
We are adding click gestures on the up/down buttons, but can't let
the GtkButton built-in ones prevent ours to run.
As the saying goes, if you can't beat them, join them. Group the
spinbutton and GtkButton gestures together, so it's irrelevant which
gets called first and ends up winning.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3085
2020-08-24 14:55:47 +02:00
Daniel Mustieles
f71c9a2146
Updated Spanish translation
2020-08-24 12:07:49 +02:00
Matthias Clasen
7428731e5b
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Some updates to GtkWidgetClass docs
See merge request GNOME/gtk!2470
2020-08-24 02:28:00 +00:00
Matthias Clasen
6043ed8c89
docs: Some updates to GtkWidgetClass docs
...
Mention layout managers for vfuncs that are skipped
if you have one.
2020-08-23 20:40:15 -04:00
Goran Vidović
f394375719
Update Croatian translation
2020-08-23 22:02:30 +00:00
Goran Vidović
ae2a914f07
Update Croatian translation
2020-08-23 22:01:05 +00:00
Rafael Fontenelle
cd9bee83ef
Update Brazilian Portuguese translation
2020-08-23 21:52:38 +00:00
Matthias Clasen
ca0f136deb
text: Don't compute invisible char needlessly
...
There is no real reason to do expensive text layout
operations unless we need the invisible char because
the text's visibilty is FALSE.
2020-08-23 17:41:13 -04:00
Matthias Clasen
c0191c7225
text: Defer most recomputation until we're mapped
...
It doesn't make sense to update scroll positions or
im cursor locations while we're unmapped, and doing
so causes us to do expensive text measuring.
2020-08-23 17:41:13 -04:00
Matthias Clasen
d5114cc18d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2464
2020-08-23 21:36:07 +00:00
Matthias Clasen
40d7092f4a
widget: Queue a draw when we need to
...
The code in gtk_widget_real_css_changed assumes that
queue_resize > queue_allocate > queue_draw, but the
second one is not really true. These days, we happily
keep reusing the same render node even when the child
allocation is changed.
So, if a css change has flags that tell us we should
redraw, we need to queue a draw, otherwise we might
end up reusing an outdated render node.
This fixes spinners staying visible when they stop
spinning, despite the theme setting their opacity
to 0.
2020-08-23 17:07:37 -04:00
Matthias Clasen
dc963dcbcb
Cosmetics
...
gtk_css_style_change_affects takes flags for a reason,
no need to call it multiple times.
2020-08-23 16:45:15 -04:00
Matthias Clasen
c4d350c260
build: Start using meson feature options
...
Use feature options for things that are optional features,
update the docs.
Visible changes here is that the 'print-backends' option
got renamed to 'print' to go better with 'media', and the
'tracker3' option got renamed to 'tracker'.
For options that have been changed into features, the
syntax now is -Dfeature=enabled or -Dfeature=disabled
or -Dfeature=auto.
2020-08-23 16:45:15 -04:00
Matthias Clasen
54e4bf8b75
Fix a leak in the font chooser widget
...
Contrary to what you may expect, pango_attr_font_desc_new()
is not transfer full, it makes a copy of the font description.
2020-08-23 16:45:15 -04:00
Matthias Clasen
0540337531
Merge branch 'fix_widget_factory_ui' into 'master'
...
fix position of radiobutton1
See merge request GNOME/gtk!2463
2020-08-23 16:26:35 +00:00
Ahmed Eldemery
86acb13057
fix position of radiobutton1
2020-08-23 17:39:17 +02:00
Boyuan Yang
11314cf0b4
Update Chinese (China) translation
2020-08-23 15:04:45 +00:00
Goran Vidović
37ce545d72
Update Croatian translation
2020-08-23 11:14:23 +00:00
Emin Tufan Çetin
85764ce505
Update Turkish translation
2020-08-22 21:26:01 +00:00
Boyuan Yang
ff5cdbaf03
Update Chinese (China) translation
2020-08-22 20:18:25 +00:00
Yuri Chornoivan
420c4e1f16
Update Ukrainian translation
2020-08-22 16:30:41 +00:00
Jakub Steiner
a498aca3ab
Adwaita: error labels insensitive & backdrop states
...
- address colored labels for the two states
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063#note_891618
2020-08-22 10:14:11 -04:00
Matthias Clasen
4eacfdba60
Merge branch 'remove-unnecessary-frames' into 'master'
...
Remove unnecessary frames from some widgets
See merge request GNOME/gtk!2462
2020-08-22 14:09:35 +00:00
Andika Triwidada
4fefea7471
Update Indonesian translation
2020-08-22 13:19:15 +00:00
Piotr Drąg
bc132dae54
Update Polish translation
2020-08-22 15:17:37 +02:00
Piotr Drąg
5822cdbc95
Update POTFILES.in and POTFILES.skip
2020-08-22 13:48:19 +02:00
nana-4
6a7a0f0b8a
viewport: Remove unused frame
...
We've always removed this with Adwaita.
2020-08-22 09:30:28 +09:00
nana-4
1948f8a07f
placessidebar: Remove unused frame
...
We've always removed this with Adwaita.
2020-08-22 09:23:52 +09:00
nana-4
8eb807d7f4
entrycompletion: Remove unnecessary frame
...
The popover already has a border as a frame. Don't create double
borders.
2020-08-22 09:18:31 +09:00
Matthias Clasen
125ed52ccb
Merge branch 'new-sysprof' into 'master'
...
Port profiling to sysprof-collector api
See merge request GNOME/gtk!2457
2020-08-21 23:58:09 +00:00
Matthias Clasen
e915a1aa7f
Rename the profiler option
...
We don't support any profilers other than sysprof,
so name the option accordingly. While we are at it,
change it to a meson feature option, so
-Dprofiler=true becomes -Dsysprof=enabled
2020-08-21 18:51:48 -04:00
Matthias Clasen
7a9501b1fb
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2461
2020-08-21 22:36:45 +00:00
Matthias Clasen
81e88c1d9e
Alterative sysprof build support
...
Don't link libgtk against libsysprof. We only
need that for the test-performance binary.
2020-08-21 18:28:29 -04:00
Matthias Clasen
f4511ff91c
ci: Use depth=1 for all subprojects
...
This helps reduce bandwidth requirements for ci.
2020-08-21 17:45:00 -04:00
Matthias Clasen
f00e2e2146
inhibit: Pass valid arguments when Inhibiting
...
When we pass "" as reason, gnome-session responds
with a "Reason not specified" error. So, send
"Reason not specified" instead. Its true.
2020-08-21 17:40:36 -04:00
Christian Hergert
5a5b30681e
testsuite: use SysprofProfiler for profiling
...
Instead of using sysprof-cli to profile subprocesses, this uses
libsysprof's SysprofProfiler directly so that we can avoid an indirect
subprocess as well as disabling the polkit nag.
To do this, we have to link against libsysprof instead of
libsysprof-capture. This is limited to the -Dbuild-tests=true and
-Dprofiler=true case.
2020-08-21 13:51:52 -07:00
Matthias Clasen
ab5e62ddab
Merge branch 'matthiasc/for-master' into 'master'
...
layoutmanager: Fix the child-widget property
Closes #3080
See merge request GNOME/gtk!2460
2020-08-21 20:45:53 +00:00
Matthias Clasen
936f3f1ad9
Explicitly set grid positions in the ui file
...
We were outsmarted by a combination of gtk-builder-tool
removing default values and GtkGrid guessing good values
for omitted properties.
Fixes : #3080
2020-08-21 16:22:59 -04:00
Matthias Clasen
865b29500c
layoutmanager: Fix the child-widget property
...
We were setting the child-widget property to the parent.
Oops.
2020-08-21 14:29:14 -04:00
Matthias Clasen
7039f31391
fixup a counting error
...
Remember: 1, 2, 3, _4_, 5...
2020-08-21 13:39:38 -04:00
Matthias Clasen
ed67d9c103
Merge branch 'codespell-changes' into 'master'
...
*: Fix spelling mistakes found by codespell
See merge request GNOME/gtk!2459
2020-08-21 17:32:12 +00:00
Matthias Clasen
5377026e61
wip: Port test-performance to use sysprof-cli
...
This isn't working for the tests yet, since it
needs a single-application mode that we don't
quite have in sysprof-cli.
2020-08-21 13:24:29 -04:00
Matthias Clasen
40f3da19ae
Update the docs around profiling
...
Mention sysprof-cli, and stop mentioning GTK_TRACE_FD.
2020-08-21 10:55:01 -04:00
Matthias Clasen
d4e069a629
Port tracing to the sysprof collector api
...
Use the new sysprof collector api to do tracing.
2020-08-21 10:55:01 -04:00
Matthias Clasen
a416650f6b
application: Drop support for profiler activation
...
Drop support for the org.gnome.Sysprof3.Profiler
D-Bus interface. It is not really used, and if
we don't expose it, we can simplify our profiler
infrastructure.
2020-08-21 10:55:01 -04:00
Matthias Clasen
e5d088208a
Merge branch 'fontconfig-speedup' into 'master'
...
Trigger fontconfig initialization early
See merge request GNOME/gtk!2454
2020-08-21 14:49:31 +00:00
Björn Daase
3ef7772552
docs: Reword GtkTreeView question 28
2020-08-21 15:35:29 +02:00
Björn Daase
24ce38bb36
docs: Reword gtk4-update-icon-cache description
2020-08-21 15:33:12 +02:00
Björn Daase
6315cd977c
*: Fix spelling mistakes found by codespell
2020-08-21 15:29:34 +02:00
Matthias Clasen
9770e064e8
Merge branch 'builder-tool-boxes' into 'master'
...
builder-tool: Rewrite GtkBox
See merge request GNOME/gtk!2447
2020-08-21 13:22:48 +00:00
Jason Francis
2437622b5f
builder-tool: Rewrite GtkBox
...
Rewrite expand/fill properties on GtkBox to
hexpand/halign/vexpand/valign on the child widget.
Rewrite GtkVBox and GtkHBox to GtkBox, setting the orientation
property.
Added a test for boxes.
2020-08-20 23:41:29 -04:00
Goran Vidović
bb8c818ba1
Update Croatian translation
2020-08-20 21:47:34 +00:00
Jakub Steiner
dd2e1e4867
Merge branch 'wip/jimmac/rich-list-styling' into 'master'
...
Adwaita: rich-list styling
See merge request GNOME/gtk!2456
2020-08-20 20:58:31 +00:00
Jakub Steiner
5f630481db
Adwaita: rich-list styling
...
FIXME: why is the second list in Demo>List Box>Controls taller?
https://gitlab.gnome.org/GNOME/gtk/-/issues/3073
2020-08-20 19:39:18 +02:00
Matej Urbančič
da6253eadc
Updated Slovenian translation
2020-08-20 18:14:54 +02:00
Matthias Clasen
c6b261afa0
Merge branch 'frame-overflow-hidden' into 'master'
...
frame: Set GTK_OVERFLOW_HIDDEN
See merge request GNOME/gtk!2455
2020-08-20 14:03:41 +00:00
nana-4
e07827e976
frame: Set GTK_OVERFLOW_HIDDEN
...
It doesn't really make sense for the frame to allow drawing children
outside of it.
2020-08-20 22:24:36 +09:00
Marek Kasik
5a8f90357d
printing: Use original names for remote CUPS printers
...
CUPS uses resource paths in the form of "printers/printer_name"
or "classes/class_name" so it is enough to remove the "printers/"
or "classes/" prefix and use the string behind it as a name.
There was recently introduced a wrong check for the prefix.
This commit fixes it in the way it was originally intended.
2020-08-20 13:54:02 +02:00
Matthias Clasen
a674832658
Trigger fontconfig initialization early
...
Add a pango call to create the fontmap already in gtk_init.
This will let us hide the cost of FcInit() (which on font-heavy
systems can be ~100ms) in a thread, on the pango side.
2020-08-19 22:12:00 -04:00
Matthias Clasen
2031bcd388
Merge branch 'replace-hardcoded-margins' into 'master'
...
tooltip & placessidebar: Replace hard-coded margins with theme
See merge request GNOME/gtk!2444
2020-08-20 00:30:37 +00:00
Goran Vidović
4e157b33dc
Update Croatian translation
2020-08-19 21:51:29 +00:00
Matthias Clasen
174c9a938e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2453
2020-08-19 20:46:18 +00:00
Timm Bäder
ec81ccd5f9
label: Try to avoid a pango_layout_get_extents call
...
Measuring text is quite expensive, so only do this if really necessary.
2020-08-19 16:14:59 -04:00
Matthias Clasen
8acd60fda9
widget-factory: Improve the error states example
...
Elaborate the error state handling, and make it show
delayed states in GtkSwitch too.
2020-08-19 13:22:44 -04:00
sicklylife
bcd0a9e5d8
Update Japanese translation
2020-08-18 10:03:51 +00:00
sicklylife
5b35c5fb19
Update Japanese translation
2020-08-18 09:46:29 +00:00
Baurzhan Muftakhidinov
1dcb68c8e3
Update Kazakh translation
2020-08-18 07:20:38 +00:00
Andika Triwidada
bca6113539
Update Indonesian translation
2020-08-18 04:50:25 +00:00
Fran Dieguez
e35c000b4a
Update Galician translation
2020-08-17 16:47:55 +00:00
Baurzhan Muftakhidinov
29d7d652c4
Update Kazakh translation
2020-08-17 10:26:54 +00:00
Jakub Steiner
581f224b61
Merge branch 'wip/jimmac/error-labels-insensitive' into 'master'
...
Adwaita: error labels insensitive & backdrop states
See merge request GNOME/gtk!2449
2020-08-17 08:21:58 +00:00
Jakub Steiner
aabb713594
Adwaita: error labels insensitive & backdrop states
...
- address colored labels for the two states
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063#note_891618
2020-08-17 10:00:29 +02:00
Piotr Drąg
a0af12e492
Update Polish translation
2020-08-16 11:56:23 +02:00
nana-4
19c2cc1296
placessidebar: Replace hard-coded margins with theme
...
So we can easily adjust the widget sizing in the theme.
2020-08-15 22:46:31 +09:00
nana-4
9b42edbef4
tooltip: Replace hard-coded margins with theme
...
So we can easily adjust the widget sizing in the theme.
2020-08-15 22:46:31 +09:00
Matthias Clasen
303e023c36
Merge branch 'gtkassistant_docstring' into 'master'
...
gtkassistant: Minor docstring wording changes
See merge request GNOME/gtk!2442
2020-08-15 12:49:29 +00:00
Timm Bäder
5e35ca5692
Merge branch 'slider-button-style-class-again' into 'master'
...
pathbar: Set .slider-button style class to slider buttons again
See merge request GNOME/gtk!2443
2020-08-15 10:49:02 +00:00
nana-4
667b3b117d
pathbar: Set .slider-button style class to slider buttons again
...
This was set in the .ui file that no longer exists, so we need to set it
again here.
2020-08-15 18:31:32 +09:00
Holger Knust
cb7c903594
gtkassistant: Minor docstring wording changes
...
Changed the wording to improve the clarity of the documentation. Fixed grammar issue ("spllited")
2020-08-15 05:20:03 -04:00
Matthias Clasen
e6e2d6b45a
Merge branch 'gdk-internal-cleanup' into 'master'
...
Gdk internal cleanup
See merge request GNOME/gtk!2438
2020-08-14 13:00:13 +00:00
Matthias Clasen
fa0a88ae22
Merge branch 'api-touchups' into 'master'
...
Api touchups
See merge request GNOME/gtk!2439
2020-08-14 12:47:50 +00:00
Jakub Steiner
17cdc13847
Merge branch 'wip/jimmac/error-entries-and-labels' into 'master'
...
Adwaita: error labels and entries
See merge request GNOME/gtk!2440
2020-08-14 12:42:56 +00:00
Florentina Mușat
d40d4d5fae
Update Romanian translation
2020-08-14 12:16:01 +00:00
Jakub Steiner
131e2f6e43
Adwaita: error labels and entries
...
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3063
2020-08-14 14:13:37 +02:00
Matthias Clasen
b3786b7b07
gdk: Slim down gdkinternals.h more
...
Move things to the private headers they belong in.
2020-08-14 07:45:53 -04:00
Matthias Clasen
6cf8f1cdf2
gdk: Move GdkSurfaceTypeHint to its sole user
...
The x11 backend is the only place where surface
type hints are used in any way. Move the enum
there.
2020-08-14 07:45:53 -04:00
Matthias Clasen
79c2c3e353
win32: Drop vestigial surface type hint field
...
This wasn't used in any way.
2020-08-14 07:45:53 -04:00
Matthias Clasen
ae7cefd97d
Drop style class defines
...
We document the supported style classes by name,
not by macro name, and these macros don't really
add any value. Drop them for GTK 4.
2020-08-14 07:03:27 -04:00
Matthias Clasen
35708162cc
Make GtkNativeInterface private
...
We are not sure yet if allowing out-of-tree
implementations of GtkNative are a good idea.
2020-08-14 07:03:27 -04:00
Piotr Drąg
e29e569d6f
Update POTFILES.skip
2020-08-14 12:16:51 +02:00
Matthias Clasen
3d7343144f
wayland: Drop unused surface type hint field
...
This wasn't used at all.
2020-08-13 22:24:06 -04:00
Matthias Clasen
3c44e9c563
gdk: Slim down gdkinternals.h
...
Move things to the private headers they belong in.
2020-08-13 22:24:06 -04:00
Matthias Clasen
8a13d18655
Drop gdk_device_get_position
...
Convert the last user to _gdk_device_query_state
and drop this unused internal api.
2020-08-13 22:24:06 -04:00
Matthias Clasen
9786185cc0
gdk: Clean up gdkdevice.h
...
This header looked just too disorderly.
Same for gdkdevicetool.h.
2020-08-13 22:24:06 -04:00
Matthias Clasen
22ac6d3148
gdk: Documentation touchups
...
Minor rewordings here and there, strip nonpublic
functions of doc comments, deemphasize logical/physical
devices.
2020-08-13 22:24:06 -04:00
Matthias Clasen
97e0f1108d
docs: Cosmetics
2020-08-13 22:24:06 -04:00
Matthias Clasen
0ae7f794a3
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Fix the builder demo
See merge request GNOME/gtk!2437
2020-08-13 23:44:58 +00:00
Matthias Clasen
15bd2a2a5c
Merge branch 'fix_expander_demo' into 'master'
...
fix resource not found in expander demo
See merge request GNOME/gtk!2436
2020-08-13 23:08:09 +00:00
Matthias Clasen
28c1e74220
docs: Minor tweaks to the tutorial
...
Fix a link, and mention meson in a few places.
2020-08-13 17:45:04 -04:00
Matthias Clasen
e694a4137c
examples: Fix multiple small problems
...
Add a paragraph about running the example apps
uninstalled in the README, and verify that the
standalone Makefiles actually work. Hint: some
didn't.
2020-08-13 17:30:47 -04:00
Matthias Clasen
005f9a995e
gtk-demo: Fix the builder demo
...
The about dialog here wasn't working.
At the same time, make the statusbar
useful for something by showing our
action messages there.
2020-08-13 17:19:59 -04:00
Matthias Clasen
e48a1d2df0
Merge branch 'list-styles' into 'master'
...
Implement and document list styles
See merge request GNOME/gtk!2421
2020-08-13 21:15:22 +00:00
Matthias Clasen
6191404656
Merge branch 'async-highlight' into 'master'
...
gtk-demo: Async highlight
See merge request GNOME/gtk!2435
2020-08-13 21:15:09 +00:00
Ahmed Eldemery
6037d08bd8
fix resource not found in expander demo
2020-08-13 22:46:38 +02:00
Matthias Clasen
bcc5e475fc
gtk-demo: Do markup parsing incrementally too
...
Pango has a markup parser api, might as well
use it to keep things responsive.
2020-08-13 16:33:16 -04:00
Matthias Clasen
a0cdb544ed
gtk-demo: Fix the Windows build
2020-08-13 16:33:16 -04:00
Matthias Clasen
80cddd4cc1
gtk-demo: Move the highlighting to a separate file
...
Move all the logic related to asynchronous highlighting
to fontify.c, to keep main.c from becoming too cluttered.
2020-08-13 16:33:16 -04:00
Jakub Steiner
f4561d3fd5
Adwaita: rich-list rows
...
- add whitespace to match the existing look
2020-08-13 16:30:22 -04:00
Jakub Steiner
c5963b960a
Adwaita: fix focus for .navigation-sidebar
2020-08-13 16:30:22 -04:00
Jakub Steiner
df4c57c001
flatpak: builder options
...
- avoid vulkan from crashing the inspector
2020-08-13 16:30:22 -04:00
Matthias Clasen
2b0e9542cb
gtk-demo: take off the makeup
...
Remove all the hardcoded spacing from the listbox
demo, so the rich-list styling can take effect.
2020-08-13 16:30:22 -04:00
Matthias Clasen
b49fd47276
Adwaita: Fix hover in navigation sidebars
...
The placessidebar gets this from somewhere else, but
it wasn't working in the gtk-demo sidebar, so add it
explicitly. placessidebar specific styles should be
dropped from Adwaita as much as possible, but not
doing that here.
2020-08-13 16:30:22 -04:00
Jakub Steiner
bdb1d87859
Adwaita: style rich-list and data-table
...
- style special list types
- add navigation-sidebar too
https://gitlab.gnome.org/GNOME/gtk/-/issues/2929
2020-08-13 16:30:22 -04:00
Matthias Clasen
d1b1b5bd9b
widget-factory: Use rich-list style
...
Use the .rich-list style for the listbox on page 2.
2020-08-13 16:30:22 -04:00
Matthias Clasen
283fc9d7e4
gtk-demo: Use style classes in the listbox demo
...
Add a .rich-list style class to the controls demo.
2020-08-13 16:30:22 -04:00
Matthias Clasen
d8753a9fa3
gtk-demo: Use style classes in the settings demo
...
Use .navigation-sidebar on the left, and .data-table
on the right.
2020-08-13 16:30:22 -04:00
Matthias Clasen
a9858c6662
gtk-demo: Use a style class on the sidebar
...
Use .navigation-sidebar for the main sidebar.
2020-08-13 16:30:21 -04:00
Matthias Clasen
0279e1c76b
inspector: Use the new list style classes
...
Set .rich-list and .data-table on lists, as appropriate.
2020-08-13 16:30:21 -04:00
Matthias Clasen
cce3ff6f04
placessidebar: Use the .navigation-sidebar style class
2020-08-13 16:30:21 -04:00
Matthias Clasen
221786dda3
lists: Mention list style classes in docs
...
Document that GtkListView, GtkColumnView and GtkListBox
support .rich-list, .navigation-sidebar and .data-table
style classes.
2020-08-13 16:30:21 -04:00
Matthias Clasen
aacb06dbee
gtk-demo: Insert markup incrementally
...
The slowest step of highlighting our buffers is
inserting the markup into the buffer. Do that
incrementally, to avoid blocking the UI for
extended periods.
2020-08-13 12:59:52 -04:00
Matthias Clasen
ea887959bd
textbuffer: Some more insert_with_attributes speedup
...
There is no need for use to collect tags in an array;
we can just insert them into the text buffer right away.
2020-08-13 12:36:39 -04:00
Matthias Clasen
4c78f628db
gtk-demo: Fontify asynchronously
...
Run highlight asynchronously. It isn't a problem for
most demos, but the cursor demo has an unusually large
ui file, which takes highlight a little bit of time
to produce.
2020-08-13 12:25:38 -04:00
Emmanuele Bassi
0228c89011
Merge branch 'openbsd-roaring' into 'master'
...
OpenBSD: don't include malloc.h
See merge request GNOME/gtk!2434
2020-08-13 16:23:20 +00:00
Antoine Jacoutot
b4508be3c9
OpenBSD: don't include malloc.h
...
This header doesn't exist anymore on recent OpenBSD releases.
2020-08-13 17:48:34 +02:00
Matthias Clasen
dded2ddb21
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2433
2020-08-13 12:08:54 +00:00
Matthias Clasen
e9afb63a01
widget-factory: Add more error states
...
Add a label with the .error style class in the
configuration dialog, also add another entry validation
here, to have it in one place.
2020-08-13 07:40:54 -04:00
Daniel Mustieles
3a0fdffe5e
Updated Spanish translation
2020-08-13 10:41:42 +02:00
Daniel Mustieles
ff51d7b838
Updated Spanish translation
2020-08-13 10:34:43 +02:00
Daniel Mustieles
ef22c4a4fa
Updated Spanish translation
2020-08-13 10:34:33 +02:00
Matthias Clasen
ebaf533a31
Merge branch 'matthiasc/for-master' into 'master'
...
Speed up gtk_text_buffer_insert_markup
See merge request GNOME/gtk!2432
2020-08-13 03:40:22 +00:00
Matthias Clasen
88dcd2597a
Speed up gtk_text_buffer_insert_markup
...
Instead of blindly creating new tags for every attribute,
reuse existing tags. For the syntax highlighting of the
ui file of the cursors demo, this gets us down from
20.000 tags to 6.
2020-08-12 22:51:59 -04:00
Matthias Clasen
0d0807fc44
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Group small images
See merge request GNOME/gtk!2431
2020-08-13 01:07:36 +00:00
Matthias Clasen
7226878916
gtk-demo: Group small images
...
Instead of showing 30 tabs, put all the cursor images
into one page. Do the same for the small images in
the css animated background demo.
2020-08-12 20:26:15 -04:00
Fran Dieguez
afa9d9aa8c
Update Galician translation
2020-08-12 22:40:19 +00:00
Matthias Clasen
28a3911b15
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory: Add an entry with error state
See merge request GNOME/gtk!2430
2020-08-12 21:14:54 +00:00
Matthias Clasen
94696490dc
widget-factory: Add an entry with error state
...
Enter the wrong thing into the age entry for seeing
error states.
2020-08-12 13:26:46 -04:00
Matthias Clasen
dbc6a94daf
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2429
2020-08-12 10:51:17 +00:00
Matthias Clasen
0a9acd10d2
gtk-demo: Celebrate losses too
...
Everybody is a winner!
2020-08-11 23:26:06 -04:00
Matthias Clasen
3340a5ee04
gtk-demo: Visual improvement to solitaire
...
Make the fields visible.
2020-08-11 23:10:48 -04:00
Matthias Clasen
5e2aeee9b0
gtk-demo: Add a layout manager demo
...
This is more or less a copy of the layout manager
example from clutter.
2020-08-11 23:10:48 -04:00
Matthias Clasen
9b0a5b1fde
Add sizes to toplevelsize warnings
...
Might as well be informative while we're annoying.
2020-08-11 16:27:03 -04:00
Matthias Clasen
540cffee89
gtk-demo: Drop the pixbufs demo
...
It is from a different era, and doesn't show
the apis we want to promote. The visuals live
on, in the Css/Animated Backgrounds demo.
2020-08-11 16:26:04 -04:00
Matthias Clasen
e0b95c6234
Merge branch 'wip/smcv/roaring-license' into 'master'
...
Add attribution and licensing information for "roaring bitmaps" code
See merge request GNOME/gtk!2408
2020-08-11 16:02:25 +00:00
Yuri Chornoivan
40c32bbef6
Update Ukrainian translation
2020-08-11 15:58:16 +00:00
Timm Bäder
d0b192325a
Merge branch 'afranke-master-patch-25531' into 'master'
...
Fix a string
See merge request GNOME/gtk!2428
2020-08-11 14:26:23 +00:00
Alexandre Franke
e16d108b68
Fix a string
2020-08-11 14:05:58 +00:00
Emin Tufan Çetin
f8b8c90c3d
Update Turkish translation
2020-08-10 22:29:47 +00:00
Matthias Clasen
823219d429
Merge branch 'button-claim-clicks' into 'master'
...
button: Claim click events
Closes #3054
See merge request GNOME/gtk!2425
2020-08-10 22:24:50 +00:00
Matthias Clasen
102acd2581
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3058
See merge request GNOME/gtk!2427
2020-08-10 21:45:09 +00:00
Matthias Clasen
82253d1a0a
gtk-demo: Give the video player a default size
2020-08-10 16:36:36 -04:00
Matthias Clasen
19b93fc9f7
gtk-demo: Add a file filter for the video player
...
We are only interested in video files here.
2020-08-10 16:36:36 -04:00
Matthias Clasen
e9d03d06fe
window: Fix an oversight
...
Commit 658719a205 moved the call to
gtk_window_compute_default_size() outside the
if (priv->needs_default_size)
but unfortunately, that function cleared that field,
so we never entered the branch.
Keep the setting of priv->needs_default_size in the
branch, where it belongs.
2020-08-10 16:36:36 -04:00
Matthias Clasen
63fb2126db
gtk-demo: Make the image demo more robust
...
Make sure we don't crash if the demo is closed
early.
Fixes : #3058
2020-08-10 16:35:56 -04:00
Matthias Clasen
90080d5bec
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2426
2020-08-10 17:46:37 +00:00
Matthias Clasen
be5b03224c
gtk-demo: Give the video player a default size
2020-08-10 12:53:41 -04:00
Matthias Clasen
091289a85d
gtk-demo: Add a file filter for the video player
...
We are only interested in video files here.
2020-08-10 12:53:41 -04:00
Matthias Clasen
17710709f9
window: Fix an oversight
...
Commit 658719a205 moved the call to
gtk_window_compute_default_size() outside the
if (priv->needs_default_size)
but unfortunately, that function cleared that field,
so we never entered the branch.
Keep the setting of priv->needs_default_size in the
branch, where it belongs.
2020-08-10 12:53:41 -04:00
Matthias Clasen
6fafc8b811
button: Claim click events
...
This fixes issues with double activation on clicks.
Fixes : #3054
2020-08-09 22:58:22 -04:00
Matthias Clasen
bc20fe3cca
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add a little extra in peg solitaire
Closes #3051
See merge request GNOME/gtk!2424
2020-08-10 01:10:41 +00:00
Matthias Clasen
8cbca4f693
print-editor: Icon credits
...
Give the artist credits.
2020-08-09 20:30:00 -04:00
Matthias Clasen
6e9de7f271
node-editor: Don't install the icon
...
We don't want to install an icon if we're not
installing the app. Also give the artist credit.
Fixes : #3051
2020-08-09 20:28:56 -04:00
Matthias Clasen
aa1b9531c1
gtk-demo: Add a little extra in peg solitaire
...
A win needs to be celebrated!
2020-08-09 18:59:29 -04:00
Matthias Clasen
66fa530574
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3027
See merge request GNOME/gtk!2423
2020-08-09 22:46:50 +00:00
Matthias Clasen
e5247b7cbb
gtk-demo: Finish peg solitaire demo
...
The restart button was simply not implemented.
While we are at it, make the pegs a bit bigger,
so clicking them is easier.
2020-08-09 18:27:18 -04:00
Matthias Clasen
da0955feeb
gtk-demo: Cosmetic fixes to the textmask demo
...
Make this come up with the right size.
2020-08-09 18:05:27 -04:00
Matthias Clasen
2335953c5d
gtk-demo: Cosmetic fixes for the fontrendering demo
...
Make this look a bit less thrown together.
2020-08-09 18:02:04 -04:00
Matthias Clasen
42902085e5
gtk-demo: Dark theme support for dnd demo
...
Add minimal dark theme support to the dnd demo,
by picking suitable default colors for our items.
2020-08-09 17:36:41 -04:00
Matthias Clasen
230107cd84
gtk-demo: Cosmetic improvements to the expander demo
...
Set the textview up like our other readonly textviews.
Also sneak in a little easter egg.
2020-08-09 17:12:04 -04:00
Matthias Clasen
b69dc3d054
gtk-demo: Add warnings to the themes demo
...
Add a warning that the flickering here may be
hazardous to photosensitive viewers.
2020-08-09 16:36:00 -04:00
Matthias Clasen
a85fc0008c
wayland: Don't send invalid anchor rectangles
...
When we send an anchor rectangle with a width or
height of 0, mutter reponds with "Invalid anchor
rectangle size". So, don't do that.
This was seen as sudden disappearance of gtk4-demo
when you click the fishbowl benchmark all the way
through to the menubuttons.
Fixes : #3027
2020-08-09 16:02:25 -04:00
Matthias Clasen
2bf9ae005f
Adwaita: Small improvement for dropdown
...
Put some space between the arrow and the text.
This was noticable in the new listbox2 demo.
2020-08-09 15:43:46 -04:00
Matthias Clasen
4650f7ec14
gtk-demo: Cosmetic improvement to listbox2 demo
...
Make the checkbutton and the check align vertically.
2020-08-09 15:43:01 -04:00
Asier Sarasua Garmendia
5dd0262a56
Update Basque translation
2020-08-09 19:39:35 +00:00
Christian Kirbach
b13e1a5a7b
Update German translation
2020-08-09 19:05:18 +00:00
Matthias Clasen
ce1cd67fa4
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2422
2020-08-09 17:11:18 +00:00
Matthias Clasen
eb5329d389
gtk-demo: Group the listbox demos
2020-08-09 12:36:06 -04:00
Matthias Clasen
5b41612f28
gtk-demo: Add another listbox demo
...
This is a more typical listbox use.
2020-08-09 12:36:06 -04:00
Matthias Clasen
473ed75ed5
Adwaita: be careful with list separators
...
We only want the list .separators class to affect its
immediate children - otherwise, we end up with separators
in dropdowns that are places into button strips. As a side
benefit, restricting this to immediate children makes for
faster matching.
2020-08-09 12:01:08 -04:00
Matthias Clasen
3760d44f18
gtk-demo: Fix an indentation mishap
2020-08-09 11:14:28 -04:00
Matthias Clasen
79f0687929
gtk-demo: Drop the modelbutton demo
...
Not a public api, so shouldn't be featured in a demo.
2020-08-09 10:59:22 -04:00
Matthias Clasen
c80a612af7
gtk-demo: Improve filtering
...
Show sidebar rows if any parent matches. This lets one
search for "lists" and get just the subtree with all the
listview demos.
2020-08-09 10:54:45 -04:00
Emin Tufan Çetin
358b698efa
Update Turkish translation
2020-08-09 08:19:33 +00:00
Matthias Clasen
0f7b2159b6
Merge branch 'demo-polish' into 'master'
...
Demo polish
See merge request GNOME/gtk!2420
2020-08-09 04:28:31 +00:00
Matthias Clasen
7f565806a8
gtk-demo: Make source formatting uniform
...
Give the text view in the source tab the same
formatting as tabs we add for extra sources.
2020-08-09 00:03:43 -04:00
Matthias Clasen
1d49f933e9
gtk-demo: Adapt hightlighting style for dark themes
...
Switch to a highlight style that is readable with
dark background, if prefer-dark is set or we are
in HighContrastInverse.
2020-08-08 23:50:45 -04:00
Matthias Clasen
1d1d9de09e
gtk-demo: Cosmetics
2020-08-08 23:41:50 -04:00
Matthias Clasen
d1aacc01d4
gtk-demo: Make content views monospace
...
That works better for code.
2020-08-08 23:41:05 -04:00
Matthias Clasen
2a3d3ec079
gtk-demo: Follow font settings again
...
highlight puts font and size information into
its pango markup; strip that out to make our
text follow font settings again.
2020-08-08 23:38:07 -04:00
Matthias Clasen
c60fba0267
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3048
See merge request GNOME/gtk!2419
2020-08-08 23:08:44 +00:00
Matthias Clasen
75ad180c78
textutil: Do a little better on retro X servers
...
When running on a non-composited, non-rgba X server
(such as Xnest), force the drag icons for text selections
to have a background, so we don't end up with black
text on black background.
Fixes : #3048
2020-08-08 18:33:56 -04:00
Matthias Clasen
765fe201ce
inspector: Avoid a crash
...
I've seen the inspector crash when running on an
X server without an xsettings manager around. Better
be safe.
2020-08-08 18:33:56 -04:00
Matthias Clasen
3469c639f6
bookmarksmanager: Load bookmarks initially
...
This was broken in 1e6171a4a7 .
2020-08-08 18:33:56 -04:00
Matthias Clasen
d642bfc8ce
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3037 and #3030
See merge request GNOME/gtk!2417
2020-08-08 19:13:44 +00:00
Matthias Clasen
c6a7b39ee1
Remove deprecation guards around gtk_window_present
...
It is not deprecated anymore.
2020-08-08 14:49:50 -04:00
Matthias Clasen
112883186c
gtk-demo: Fix iconscroll complex text
...
We changed the way fontify works.
Adapt the iconscroll use.
2020-08-08 14:38:18 -04:00
Matthias Clasen
57a213a4ea
gtk-demo: Fix iconscroll colors
...
We changed the way the color grid works.
Adapt the iconscroll use of it.
Fixes : #3030
2020-08-08 14:36:48 -04:00
Matthias Clasen
dbbc9b5c58
placessidebar: Fix dnd cancellation
...
When the drag is canceled by being dropped outside,
we get a ::cancel emission, that we want to handle
just like ::dnd-finished.
Fixes : #3037
2020-08-08 14:26:31 -04:00
Matthias Clasen
e18de295c6
placessidebar: Fix the bookmark drag icon
...
Just use the widget; a paintable only works if the
widget it is based on actually gets drawn, the
clone we create here wasn't.
2020-08-08 14:24:45 -04:00
Matthias Clasen
4eaf08e964
placessidebar: Fix bookmarks dnd
...
We were not handling drops of bookmarks correctly,
leading to criticals during DND.
Fixes : #3037
2020-08-08 14:11:29 -04:00
Matthias Clasen
2d5b44703c
placessidebar: We're not a listbox anymore
...
The placessidebar used to derive from GtkListBox,
but it doesn't anymore. There was one case leftover,
leading to criticals during bookmark DND.
2020-08-08 14:11:29 -04:00
Matthias Clasen
19c6ef38fe
bookmarksmanager: Load bookmarks initially
...
This was broken in 1e6171a4a7 .
2020-08-08 14:11:29 -04:00
Matthias Clasen
4f5e3b7b0d
gtk-demo: Improve an error message
...
Be more helpful when we can't do syntax highlighting.
2020-08-08 13:56:17 -04:00
Simon McVittie
95cd8c1eb9
Move roaring bitmaps code to gtk/roaring/ and add a README
...
As suggested by Matthias Clasen on gtk!2408. This keeps the
Apache-licensed stuff together.
As per the discussion on gtk!2408 and gtk!2409, replacing this with
upstream CRoaring is specifically not supported by the GTK maintainers.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 18:30:41 +01:00
Simon McVittie
dfb16019f8
Include a copy of the Apache license
...
4(a) requires giving recipients of the work a copy of the license, and
in any case it's best for source code distributions to be self-contained
(including the full text of all applicable licenses).
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 18:27:37 +01:00
Simon McVittie
bef86d48af
roaring.[ch]: Add attribution and licensing information
...
OS distributions that take copyright and licensing seriously will tend
to become concerned about source files that appear to come from a
third party and do not come with copyright/licensing information,
and stating that these files are modified is required by clause 4(b)
of the Apache license.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 18:27:37 +01:00
Matthias Clasen
d1d269ea6b
Merge branch 'patch-1' into 'master'
...
Correct typos in gtktextbtree.c
See merge request GNOME/gtk!2413
2020-08-08 17:05:25 +00:00
Matthias Clasen
3d807f4b00
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #3047 , #3034 , #3038 , and #3036
See merge request GNOME/gtk!2416
2020-08-08 16:27:27 +00:00
Matthias Clasen
9654fff6e0
Merge branch 'scroll-to-cursor' into 'master'
...
Scroll to cursor after canceling a selection
Closes #2960
See merge request GNOME/gtk!2321
2020-08-08 16:18:19 +00:00
Matthias Clasen
8a67899e0f
bookmarksmanager: Ignore delete events
...
Surpisingly, when a monitored file gets atomically replaced
with g_file_set_contents(), the file monitor reports a
DELETED event for the temp file, which is not the file
I'm monitoring.
Just ignore DELETED events.
Fixes : #3036
2020-08-08 11:48:32 -04:00
Matthias Clasen
bb30a23004
x11: Fix getting the primary monitor
...
Actually return the primary monitor.
Fixes : #3038
2020-08-08 11:48:32 -04:00
Matthias Clasen
3faa7feb7c
label: Disable unavailable actions
...
Fixes : #3034
2020-08-08 11:48:32 -04:00
Matthias Clasen
d099276b89
printeditor: Create the dialog every time
...
Trying to work around gtk_show_about_dialog() is
not worth it, just recreate the dialog from scratch.
2020-08-08 11:48:32 -04:00
Matthias Clasen
56afa05b97
widgetfactory: Create the dialog every time
...
Trying to work around gtk_show_about_dialog() is
not worth it, just recreate the dialog from scratch.
Fixes : #3047
2020-08-08 11:48:32 -04:00
Matthias Clasen
c6fdfeae7e
about dialog: remove unnecessary guards
...
We decided to undeprecate gtk_window_present,
so no deprecation guards needed.
2020-08-08 11:48:32 -04:00
Matthias Clasen
8725fd308b
Merge branch 'surface-size' into 'master'
...
Surface size
See merge request GNOME/gtk!2415
2020-08-08 14:44:52 +00:00
Emmanuele Bassi
c40e23bde6
Merge branch 'wip/smcv/cloudprint-redundant-decls' into 'master'
...
cloudprint: Fix redundant declarations
See merge request GNOME/gtk!2414
2020-08-08 13:59:37 +00:00
Simon McVittie
afcb9c0e63
cloudprint: Fix redundant declarations
...
G_DEFINE_DYNAMIC_TYPE declares these functions as static, and
-Werror=redundant-decls won't let us redeclare them. This is the
equivalent of 72c72d0b , but for a different backend.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-08-08 14:24:31 +01:00
Matthias Clasen
fd1033f974
surface: Add width and height properties
2020-08-08 09:24:30 -04:00
Matthias Clasen
16505a4d1e
gdk: Move the ::popup-layout-changed signal
...
Move this signal from GdkSurface to GtkPopup,
where it belongs.
2020-08-08 09:24:30 -04:00
Piotr Drąg
a1ec68422f
Update POTFILES.in and POTFILES.skip
2020-08-08 13:07:18 +02:00
Felix Yan
f8060b859d
Correct typos in gtktextbtree.c
2020-08-08 09:29:08 +00:00
Matthias Clasen
0c0ced1374
Merge branch 'activatable-colorswatch-style' into 'master'
...
Adwaita: Limit color swatch's hover effect to .activatable
See merge request GNOME/gtk!2411
2020-08-08 03:09:30 +00:00
Matthias Clasen
bfd8c5383f
Merge branch 'wip/chergert/popover-offset' into 'master'
...
popover: allow setting popup layout offset
See merge request GNOME/gtk!2412
2020-08-08 02:41:04 +00:00
Christian Hergert
4d88e3af17
popover: allow setting popup layout offset
...
Currently there is no way to alter the offset of the popup when positioning
with GdkPopupLayout. This makes using the popup difficult for scenarios
like completion windows where you may need to offset the window by a given
amount for aligning text.
gtk_popover_set_offset() allows setting these values and are analagous to
the function of the same name for GdkPopupLayout.
2020-08-07 17:10:52 -07:00
nana-4
b694771728
colorbutton: Remove .activatable style class from the color swatch
...
The button itself is activatable, but its color swatch is not.
2020-08-08 08:37:33 +09:00
nana-4
51d6ec5131
Adwaita: Limit color swatch's hover effect to .activatable
...
Non-activatable color swatches shouldn't have the interactive effect.
2020-08-08 08:33:38 +09:00
Efstathios Iosifidis
7625ccd6fa
Update Greek translation
2020-08-07 20:41:27 +00:00
Matthias Clasen
95e2a2b4b3
Merge branch 'leak-fixes' into 'master'
...
Leak fixes
See merge request GNOME/gtk!2406
2020-08-07 20:29:02 +00:00
Matthias Clasen
4e774eddb9
Merge branch 'wip/chergert/fix-textview-yrange-invalidation' into 'master'
...
linedisplaycache: improve invalidation with y_range
See merge request GNOME/gtk!2407
2020-08-07 20:17:22 +00:00
Christian Hergert
35325ea11a
linedisplaycache: improve invalidation with y_range
...
When we invalidate a y_range using the common pattern of y==0 and
old_height==new_height, we are generally invalidating the entire buffer.
This short-circuits that case to just invalidate the buffer in a faster
and more complete form. The problem here appears to be that we can't
always calculate the ranges properly to invalidate because validation
has not run far enough.
2020-08-07 12:44:26 -07:00
Matthias Clasen
5673310364
textbuffer: Fix a leak
...
gtk_text_buffer_insert_markup was leaking all the tags
that it inserts.
2020-08-07 15:26:11 -04:00
Matthias Clasen
2d72ba21ce
gtk-demo: Don't leak the markup
2020-08-07 15:19:33 -04:00
Matthias Clasen
e0786a4a00
gtk-demo: Fix a memory leak
...
The colors demo was leaking a reference to its model.
This was showing up as crash when you manage to close
both the demo window and the main window while the
sorting is ongoing.
2020-08-07 15:15:18 -04:00
Matthias Clasen
0b21883518
toplevel: Revise docs wording a bit
...
The documentation of ::compute-size didn't quite
keep up with the changes in the MR. Fix it up.
2020-08-07 14:56:42 -04:00
Matthias Clasen
1ccab92813
Merge branch 'matthias/fix-min-size' into 'master'
...
Matthias/fix min size
See merge request GNOME/gtk!2404
2020-08-07 18:46:24 +00:00
Matthias Clasen
f6d9e15c16
window: Don't set min_size > size
...
This fixes the failing reftest.
2020-08-07 13:55:02 -04:00
Jakub Steiner
cd0b9a2359
Merge branch 'wip/jimmac/vte-bg-color' into 'master'
...
Wip/jimmac/vte bg color
Closes vte#226
See merge request GNOME/gtk!2403
2020-08-07 17:16:14 +00:00
Jakub Steiner
96500816bc
Adwaita: add public color for text views
...
- define @text_view_bg to complement @theme_text_color for high
contrast legible text views.
Fixes https://gitlab.gnome.org/GNOME/vte/-/issues/226
2020-08-07 18:58:32 +02:00
Jakub Steiner
9d60047616
Adwaita: force circular imagebuttons to be square
...
Addresses https://gitlab.gnome.org/GNOME/gnome-clocks/-/merge_requests/123#note_884741
2020-08-07 18:57:45 +02:00
Matthias Clasen
a95012caa3
Check sanity of toplevel sizes
...
Emit a warning when sizes returned in GdkToplevelSize
don't look sane. This is the case in the failing
reftest.
2020-08-07 12:45:19 -04:00
Matthias Clasen
51d55e4fbc
Merge branch 'demo-highlighting' into 'master'
...
gtk-demo: Modernize source highlighting
See merge request GNOME/gtk!2401
2020-08-07 16:21:55 +00:00
Matthias Clasen
05255bfc90
gtk-demo: Modernize source highlighting
...
Drop the homegrown highlighting code, and just use highlight
to produce Pango markup.
When using an external highlighter, we can also highlight css,
xml, headers, at least.
2020-08-07 11:54:10 -04:00
Matthias Clasen
41ef2c5f34
Merge branch 'wip/dont-leak-toplevel-present-callback' into 'master'
...
wayland/toplevel: Don't leak wl_callback used during present()
See merge request GNOME/gtk!2399
2020-08-07 12:58:05 +00:00
Matthias Clasen
4dfd413e0b
Merge branch 'wip/oholy/gtkmountoperation-newline' into 'master'
...
gtkmountoperation: Drop the new line character when splitting a message
See merge request GNOME/gtk!2397
2020-08-07 12:51:46 +00:00
Jonas Ådahl
6724d4250f
wayland/toplevel: Don't leak wl_callback used during present()
2020-08-07 14:01:16 +02:00
Matthias Clasen
8cd2f615ad
Merge branch 'wip/fix-wayland-toplevel-present-callback' into 'master'
...
Fix Wayland toplevel present callback issues
Closes #3026
See merge request GNOME/gtk!2395
2020-08-07 11:56:30 +00:00
Ondrej Holy
517a34bdc8
gtkmountoperation: Drop the new line character when splitting a message
...
When asking for a password, the message string is split on primary
and secondary if it contains a newline character. However, the newline
character is currently part of both strings, which creates weird
spacing between the GtkLabels. I suppose this is bug, which was not
visible as in most cases (if not all) the message string hasn't
contained the new line characters so far. But we are going to change
that now, see GNOME/gvfs!82 . Let's drop the new line character similarly
as it is done when asking for a question, or showing processes in order
to fix the weird spacing.
2020-08-07 10:37:19 +02:00
Jonas Ådahl
658719a205
gtk/window: Fix min size calculation
...
It should always use "preferred" size, not any remembered or otherwise
computed one, otherwise we won't be able to shrink to the preferred size.
2020-08-07 10:18:32 +02:00
Jonas Ådahl
c27f811462
wayland/surface: Destroy toplevel present callback if ignored
...
We might break the loop early, e.g. if we're unmapped before the round
trip finishes, and to avoid the callback to write to invalid stack
memory, destroy the callback so it won't be invoked.
Fixes : #3026
2020-08-07 09:06:21 +02:00
Jonas Ådahl
3590923c8b
wayland/surface: Fix toplevel present roundtrip condition
...
We should round trip until we both have received callback and have
ensured we received the initial configuration.
2020-08-07 09:06:21 +02:00
Matthias Clasen
1b7004ffc7
Merge branch 'about-polish' into 'master'
...
About polish
See merge request GNOME/gtk!2394
2020-08-07 02:35:09 +00:00
Matthias Clasen
85c713127e
aboutdialog: Make margins more uniform
...
Use similar margins in the Credits and System tabs.
2020-08-06 22:18:14 -04:00
Matthias Clasen
87a8fda163
demos: Brush up about dialogs
...
Show OS info, and generally polish this here and there.
2020-08-06 22:17:36 -04:00
Matthias Clasen
79e6269058
Merge branch 'gtk-demo-leaks' into 'master'
...
Gtk demo leaks
See merge request GNOME/gtk!2393
2020-08-07 01:36:34 +00:00
Matthias Clasen
6cf04c505f
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2392
2020-08-07 01:16:11 +00:00
Matthias Clasen
14900efe38
gtk-demo: Plug a big memory leak
...
The colors demo was leaking all its colors. Oops.
2020-08-06 21:14:11 -04:00
Matthias Clasen
04c3c659f5
gtk-demo: Plug a small memory leak
...
The settings demo was leaking a GtkBuilderScope.
2020-08-06 21:13:39 -04:00
Benjamin Otte
8557aaf327
demo: fix memleak
2020-08-07 02:53:21 +02:00
Benjamin Otte
052962a760
treeview: Use gtk_snapshot_append_border()
...
No need to construct the node manually.
2020-08-07 02:52:22 +02:00
Benjamin Otte
278fbcbbb4
demo: Don't crash when closing words demo
...
Make sure the stringlist we're loading into doesn't go away.
It'd be better to have a cancellable, but I'm lazy.
2020-08-07 02:52:22 +02:00
Matthias Clasen
26542778f7
Merge branch 'dnd-leaks' into 'master'
...
Dnd leaks
See merge request GNOME/gtk!2391
2020-08-07 00:34:38 +00:00
Matthias Clasen
a712ffa2ab
widgetpaintable: Clear an idle in dispose
...
We were not removing the pending_update idle
in dispose, which is at least suspicious, if
not deadly. Move the idle cleanup code into
unset_widget(), which we are already calling
in dispose().
2020-08-06 20:02:33 -04:00
Matthias Clasen
12450cfcef
wayland: Don't leak content formats
...
We were not unreffing the formats here.
2020-08-06 20:02:33 -04:00
Matthias Clasen
71373ff6fb
drop: Don't leak the surface and formats
2020-08-06 20:02:33 -04:00
Matthias Clasen
1fa9261fe3
contentdeserializer: Add some missing annotations
2020-08-06 20:02:33 -04:00
Matthias Clasen
c212dd4ec0
Merge branch 'scroll-compression-leak' into 'master'
...
Fix a leak in scroll event compression
See merge request GNOME/gtk!2390
2020-08-06 23:56:56 +00:00
Matthias Clasen
2ae1f40da2
Merge branch 'cairo-node-leak' into 'master'
...
gsk: Don't leak cairo nodes
See merge request GNOME/gtk!2389
2020-08-06 23:33:20 +00:00
Matthias Clasen
0c82aa314c
Fix a leak in scroll event compression
...
We were leaking the last event in a sequence
of scroll events.
2020-08-06 19:31:38 -04:00
Matthias Clasen
9e5ddeaa8a
gsk: Don't leak cairo nodes
...
Not chaining up in finalize is a leak, after all.
2020-08-06 18:35:41 -04:00
Matthias Clasen
4e3251872c
Merge branch 'focus-workaround' into 'master'
...
gridview: Work around unexpected focus changes
See merge request GNOME/gtk!2387
2020-08-06 19:31:24 +00:00
Matthias Clasen
c13d70479b
gridview: Work around unexpected focus changes
...
As things currently stand, we get events for focus changes
before the widget is allocated, and try to scroll in response.
Therefore, leaving n_columns at 0 until size-allocate leads
to plenty of division-by-zero. Just set it to 1 initially
to avoid that. This is a workaround for #3025 .
2020-08-06 14:35:19 -04:00
Matthias Clasen
ecd50891ff
Merge branch 'toplevel-size-declaration' into 'master'
...
gdk/toplevel: fix declarations of GdkToplevelSize
See merge request GNOME/gtk!2386
2020-08-06 14:43:28 +00:00
Andreas Persson
71cec2ef5d
gdk/toplevel: fix declarations of GdkToplevelSize
...
GDK_AVAILABLE_IN_ALL was missing from gdk_toplevel_size_get_bounds and
gdk_toplevel_size_set_max_size was declared though it doesn't exist.
2020-08-06 16:14:10 +02:00
Emmanuele Bassi
83e9b5b408
Merge branch 'rsvg-check' into 'master'
...
Specify version for optional librsvg dependency
See merge request GNOME/gtk!2385
2020-08-06 12:35:19 +00:00
Andreas Persson
f4a6a99b7c
Specify version for optional librsvg dependency
...
The testsvg test uses a method in librsvg that was introduced in
2.46.0. The test is now skipped if the librsvg version is too old.
(It was previously already skipped if librsvg wasn't found.)
2020-08-06 14:02:02 +02:00
Matthias Clasen
dd0c364938
Merge branch 'matthiasc/for-master' into 'master'
...
testsvg: Some additions
See merge request GNOME/gtk!2383
2020-08-06 04:15:01 +00:00
Matthias Clasen
2eec82c32a
testsvg: Some additions
...
Load a file from the commandline, and implement
intrinsic width/height.
2020-08-05 23:53:29 -04:00
Matthias Clasen
9212d95b0f
Merge branch 'svg-viewer' into 'master'
...
Add an svg test
See merge request GNOME/gtk!2382
2020-08-06 03:44:18 +00:00
Matthias Clasen
29ba8f0819
Add an svg test
...
tests/testsvg is a minimal paintable implementation wrapped
around RsvgHandle.
2020-08-05 23:22:03 -04:00
Matthias Clasen
8f7edb8a7d
Merge branch 'fix-puzzle-keynav' into 'master'
...
Fix puzzle keynav
Closes #3023
See merge request GNOME/gtk!2381
2020-08-06 02:00:05 +00:00
Matthias Clasen
dcf37412c1
gtk-demo: Fix keynav in the puzzle demo
...
Fixes : #3023
2020-08-05 20:52:22 -04:00
Matthias Clasen
d6c35ab02f
NEWS: Updates
2020-08-05 20:38:22 -04:00
Matthias Clasen
66df338087
Merge branch 'wip/carlosg/stop-spinbutton-stop' into 'master'
...
Let spinbuttons stop
Closes #3016
See merge request GNOME/gtk!2380
2020-08-05 22:42:41 +00:00
Christoph Reiter
d1718355cd
Merge branch 'msys2-ccache-setup-first' into 'master'
...
CI: move ccache setup before building anything
See merge request GNOME/gtk!2379
2020-08-05 22:05:25 +00:00
Carlos Garnacho
bb3675b3c7
gtkspinbutton: Claim button gestures when starting to spin
...
The gesture should be acknowledged by the spin button, in order to
guarantee it will also receive the button release.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3016
2020-08-06 00:01:34 +02:00
Carlos Garnacho
36711b6691
gtkbutton: Don't claim gesture till emission
...
That means waiting till button release.
2020-08-06 00:01:18 +02:00
Carlos Garnacho
dc8adcda0e
gtkgesture: ::cancel if a claimed sequence goes denied
...
The regular paths just emit ::end, which isn't the whole thing.
This gives an opportunity to gestures that are stolen the sequence
to clean themselves up.
2020-08-06 00:01:18 +02:00
Matthias Clasen
883a43ddd7
Merge branch 'wip/chergert/fix-anchored-cleanup' into 'master'
...
textview: properly remove anchored widgets
Closes #3021
See merge request GNOME/gtk!2378
2020-08-05 21:49:42 +00:00
Christian Hergert
5ff2b8535f
textview: properly remove anchored widgets
...
Fixes #3021
2020-08-05 14:08:07 -07:00
Matthias Clasen
750f9917e3
Merge branch 'gdk-doc-cleanup' into 'master'
...
docs: Clean up dangling links in gdk docs
See merge request GNOME/gtk!2377
2020-08-05 20:21:18 +00:00
Christoph Reiter
e77d82eaac
CI: move ccache setup before building anything
...
otherwise glib/pango end up in the wrong cache dir
2020-08-05 21:58:46 +02:00
Matthias Clasen
4babdcd662
Merge branch 'fontrendering-demo-fix' into 'master'
...
gtk-demo: Make fontrendering demo work more than once
Closes #3019
See merge request GNOME/gtk!2375
2020-08-05 19:54:34 +00:00
Matthias Clasen
f5b0cab5cf
Merge branch 'ci-git-build-test' into 'master'
...
CI: msys2: build glib/pango master manually before gtk
Closes #3002
See merge request GNOME/gtk!2376
2020-08-05 19:53:28 +00:00
Matthias Clasen
1d7b273669
docs: Clean up dangling links in gdk docs
...
Clean up references to no-longer-existing APIs.
2020-08-05 15:45:43 -04:00
Christoph Reiter
774d431525
CI: msys2: build glib/pango master manually before gtk
...
The win toolchain has problems linking meson subprojects to libgtk.
To work around that build glib/pango from git and install them first
as long as the installed version is too old at least.
Fixes #3002
2020-08-05 21:35:38 +02:00
Matthias Clasen
845afdbcd8
Merge branch 'fix-aspect-frame' into 'master'
...
aspectframe: Fix use in ui files
Closes #3020
See merge request GNOME/gtk!2374
2020-08-05 18:46:11 +00:00
Matthias Clasen
b58bad557b
gtk-demo: Make fontrendering demo work more than once
...
We weren't cleaning up properly, causing the window
to not close the second time it is opened.
Fixes : #3019
2020-08-05 14:36:54 -04:00
Matthias Clasen
6dfd92b191
aspectframe: Fix use in ui files
...
GtkAspectFrame code assumes that its child will be in
self->child, but that is only the case if we arrange
for <child> in ui files to end up calling
gtk_aspect_frame_set_child(). Therefore, implement
GtkBuildable.
Fixes : #3020
2020-08-05 14:05:47 -04:00
Matthias Clasen
d7c4f93c76
Merge branch 'wip/compute-size' into 'master'
...
Compute size via signal
See merge request GNOME/gtk!2325
2020-08-05 16:19:19 +00:00
Matthias Clasen
0b0f7dc9c0
Merge branch 'inspector-settings-crash' into 'master'
...
inspector: Stop showing settings bindings
Closes #3015
See merge request GNOME/gtk!2373
2020-08-05 16:13:52 +00:00
Matthias Clasen
df19049dde
inspector: Stop showing settings bindings
...
We were playing fast-and-loose with private GIO data
when showing settings bindings in the property editor,
and this was causing crashes.
We can show this information again if GIO ever gets
api to introspect it.
Fixes : #3015
2020-08-05 11:11:58 -04:00
Matthias Clasen
edc2adbb5b
Merge branch 'fix-solid-csd' into 'master'
...
Adwaita: Reduce the solid csd borders
Closes #2997
See merge request GNOME/gtk!2372
2020-08-05 14:13:21 +00:00
Jonas Ådahl
2ff74eb667
gdk/toplevel: Negotiate surface size via a compute-size signal
...
GTK will not up front know how to correctly calculate a size, since it
will not be able to reliably predict the constraints that may exist
where it will be mapped.
Thus, to handle this, calculate the size of the toplevel by having GDK
emitting a signal called 'compute-size' that will contain information
needed for computing a toplevel window size.
This signal may be emitted at any time, e.g. during
gdk_toplevel_present(), or spontaneously if constraints change.
This also drops the max size from the toplevel layout, while moving the
min size from the toplevel layout struct to the struct passed via the
signal,
This needs changes to a test case where we make sure we process
GDK_CONFIGURE etc, which means we also needs to show the window and
process all pending events in the test-focus-chain test case.
2020-08-05 15:49:00 +02:00
Matthias Clasen
cfd3651003
Merge branch 'matthiasc/for-master' into 'master'
...
testborderdrawing: Don't crash on exit
See merge request GNOME/gtk!2370
2020-08-05 12:48:41 +00:00
Matthias Clasen
7c252e3830
Merge branch 'gradient-hard-stop-test' into 'master'
...
Add a reftest for gradients with hard stops
See merge request GNOME/gtk!2371
2020-08-05 12:48:30 +00:00
Matthias Clasen
d44d9ad40d
Adwaita: Reduce the solid csd borders
...
Reduce the borders we draw ourselves for solid csd
to 1 pixel. It still doesn't look great, but at least
it doesn't look outright broken.
Fixes : #2997
2020-08-05 08:47:00 -04:00
Matthias Clasen
9c8bceb691
testborderdrawing: Don't crash on exit
2020-08-05 08:19:07 -04:00
Matthias Clasen
21a1413bf3
Add a reftest for gradients with hard stops
...
This is testing the issue described in #1293 .
No fix though, this is still broken in Vulkan.
It works correctly in GL and with cairo.
2020-08-05 08:10:35 -04:00
Matthias Clasen
8870ec5e7b
Merge branch 'hex-color-parse' into 'master'
...
Hex color parse
Closes #2931
See merge request GNOME/gtk!2356
2020-08-05 11:46:55 +00:00
Matthias Clasen
c46f262d6e
Merge branch 'master.win32' into 'master'
...
Another round of fixes for GDK/Win32
See merge request GNOME/gtk!2369
2020-08-05 11:31:52 +00:00
Chun-wei Fan
edc1c28236
GdkGLContext: Drop gdk_gl_context_has_[framebuffer_blit|frame_terminator]()
...
gdk_gl_context_has_framebuffer_blit() and gdk_gl_context_has_frame_terminator()
were only used by by GDK/Win32, and they do not provide performance advantages
in GTK master, so clean up the code a bit by dropping them.
2020-08-05 18:56:57 +08:00
Chun-wei Fan
f454c6f9d0
testsuite/gsk: Only run Broadway tests if enabled
...
We may not have enabled building the broadway renderer for our build, so don't
run the broadway renderer tests unless it is enabled.
2020-08-05 16:23:14 +08:00
Chun-wei Fan
cf5a6a003a
testsuite: Setup tests env by platform
...
Check whether we really have x11 and wayland enabled before we try to setup the
tests to use these respective GDK backends, and only attempt to setup tests
running with the Broadway backend if it has been enabled.
Also, add a setup for running tests with the GDK-Win32 backend on Windows, for
builds that target Windows.
2020-08-05 16:23:14 +08:00
Chun-wei Fan
d2291abe2a
gdksurface-win32.c: Fix resizing
...
Use gdk_surface_get_geometry() to get the correct x and y coordinates of the
window that we are resizing, so that the window does not reposition itself
automatically at the top-left corner at resizing as we to used hard-code the x
and y coordinates to 0.
2020-08-05 16:23:14 +08:00
Chun-wei Fan
5ce0098adc
gdkvulkancontext-win32.c: Implement ->begin_frame()
...
By doing so, we ensure that resizes of windows will work on Vulkan renderer, by
first calling gdk_win32_surface_handle_queued_move_resize() before we proceed
as usual
2020-08-05 16:23:14 +08:00
Chun-wei Fan
46a8a3fe31
gdk[cairo|gl]context-win32.c: Use gdk_win32_surface_handle_queued_move_resize()
...
Use the shared function that was added in the previous commit, to simplify
things.
Also make gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() back into static functions, since
they are now used only by the code in gdksurface-win32.c
2020-08-05 16:23:14 +08:00
Chun-wei Fan
c6ada2a329
gdksurface-win32.c: Add function to handle queued moves/resizes
...
Since we need to deal with queued moves and resizes in the Cairo, GL and Vulkan
draw contexts, and the logic involved in all three of these are largely
similar, add a function gdk_win32_surface_handle_queued_move_resize() that will
handle this, which will be shared between these three types of draw contexts.
2020-08-05 16:23:12 +08:00
Fran Dieguez
a7d665f28b
Update Galician translation
2020-08-05 07:56:11 +00:00
Chun-wei Fan
69bb4f8beb
GDK-Win32: Move some functions around
...
Move gdk_win32_surface_get_queued_window_rect() and
gdk_win32_surface_apply_queued_move_resize() to gdksurface-win32.c, since these
functions are not only used for Cairo draw contexts, but is also used for GL
draw contexts, and will be used for Vulkan draw contexts.
2020-08-05 15:38:08 +08:00
Chun-wei Fan
06f28af80f
gdksurface-win32.c: Fix Aerosnap computation
...
Don't get the default display when we compute the Aerosnap region, but instead
get it from the underlying GdkSurface that we are using for the computation.
Also, don't unref the monitors that we obtain from the display in the wrong
place, which was why we had crashes whenever we triggered AeroSnap code (and we
are actually not supposed to do that as they are owned by the GdkDisplay that
is owned by the GdkSurface we are using), and this will eliminate lots of
criticals that are spewed as a result.
2020-08-05 15:38:08 +08:00
Matthias Clasen
e60d6f70bf
Merge branch 'drop-accel-label' into 'master'
...
Drop accel label
See merge request GNOME/gtk!2368
2020-08-05 03:44:43 +00:00
Matthias Clasen
9126132e42
Merge branch 'docs-cleanup' into 'master'
...
Docs cleanup
See merge request GNOME/gtk!2367
2020-08-05 03:17:06 +00:00
Matthias Clasen
8562c623d3
Drop GtkAccelLabel
...
We no longer use this widget anywhere.
2020-08-04 23:05:18 -04:00
Matthias Clasen
2b8aeed4d8
Drop GtkCallback
...
It is no longer used in any of our public APIs.
2020-08-04 22:24:33 -04:00
Matthias Clasen
ce89f1eda1
selectionfiltermodel: Drop a leftover symbol
...
We decided not to do new_for_type() for list model
wrappers, so this function does not exist.
2020-08-04 22:11:34 -04:00
Matthias Clasen
f561000124
docs: Clean up many dangling links
...
In many cases, these were references to no longer
existing api, so some rewording was necessary.
2020-08-04 22:11:34 -04:00
Matthias Clasen
93c9600145
docs: Drop GtkPlacesSidebar from visual index
...
No longer a public widget.
2020-08-04 19:31:22 -04:00
Fran Dieguez
31726cdc95
Update Galician translation
2020-08-04 22:12:01 +00:00
Matthias Clasen
39eeb2a723
Merge branch 'try-to-fix-xvfb-in-ci' into 'master'
...
ci: Pass -noreset to Xvfb
See merge request GNOME/gtk!2366
2020-08-04 16:56:12 +00:00
Matthias Clasen
a06339fb48
ci: Pass -norest to Xvfb
...
This may help with the sporadic "No display" failures
we are seeing when running tests under X11 in ci.
2020-08-04 11:59:32 -04:00
Matthias Clasen
0e1afbbdad
Merge branch 'popoverflow' into 'master'
...
popover: Set overflow: hidden
Closes #3012
See merge request GNOME/gtk!2365
2020-08-04 15:47:50 +00:00
Matthias Clasen
a42738729b
Merge branch 'a11y-crash' into 'master'
...
A11y crash
Closes #3014
See merge request GNOME/gtk!2364
2020-08-04 15:47:36 +00:00
Matthias Clasen
d6e352e862
popover: Set overflow: hidden
...
This keeps overlay scrollbars from wrecking our
nice rounded corners.
Fixes : #3012
2020-08-04 11:10:49 -04:00
Matthias Clasen
f7eb5f8897
a11y: Don't do unnecessary work
...
Only serialize all the attributes if we are actually
going to print them.
2020-08-04 11:02:00 -04:00
Matthias Clasen
7398323b82
scrolledwindow: Fix a11y support code
...
This error was introduced by me in 971ee2d28a
and causes a crash in the scrolling benchmark in gtk-demo.
Fixes : #3014
2020-08-04 11:00:32 -04:00
Jonas Ådahl
4ee82e8175
gdk/toplevel: Fix typo in documentation
2020-08-04 16:53:10 +02:00
Jonas Ådahl
cebe469898
gtk/window: Don't remember size from GdkSurface
...
If we're maximized, and try to remember the non-maximized size, we'd
still get the maximized size.
2020-08-04 15:04:24 +02:00
Florentina Mușat
bbb15f65a7
Update Romanian translation
2020-08-04 11:23:33 +00:00
Matthias Clasen
b3a874c4d1
Merge branch 'modern-doc-shooter' into 'master'
...
Modern doc shooter
See merge request GNOME/gtk!2363
2020-08-04 11:22:07 +00:00
Matthias Clasen
f49d267187
docs: Add a gallery image for GtkDropDown
2020-08-04 00:33:37 -04:00
Matthias Clasen
2c306f75c4
docs: Add a gallery image for GtkEditableLabel
2020-08-04 00:26:51 -04:00
Matthias Clasen
d7cd28c641
docs: Add gallery image for GtkPasswordEntry
2020-08-04 00:19:08 -04:00
Matthias Clasen
92cb629640
docs: Avoid focus in gallery images
...
Seeing focus rectangles and selections in these
images is a distraction, and we used to avoid it.
Bring that back.
2020-08-04 00:18:30 -04:00
Matthias Clasen
1492e8cf0e
docs: Improve the gallery image for scales
2020-08-04 00:18:30 -04:00
Matthias Clasen
0ae46040a4
docs: Add gallery images for some more widgets
...
This adds GtkPicture, GtkVideo, GtkMediaControls.
2020-08-04 00:18:30 -04:00
Matthias Clasen
1d1e1a0068
docs: Regenerate widget gallery images
2020-08-04 00:18:30 -04:00
Matthias Clasen
1e3df88ee0
docs: Redo the doc shooter code
...
Steal snapshotting code from the reftests to
make this work again.
Other changes here: catch up with container removal.
2020-08-04 00:18:30 -04:00
Matthias Clasen
e818e98187
Merge branch 'pagesetup-leftover' into 'master'
...
Pagesetup leftover
See merge request GNOME/gtk!2362
2020-08-04 03:47:13 +00:00
Matthias Clasen
b4050482ec
Merge branch 'doc-links' into 'master'
...
Doc links
See merge request GNOME/gtk!2361
2020-08-04 00:35:40 +00:00
Matthias Clasen
942a90cd64
pagesetupdialog: Fix leftover tree model code
...
This was overlooked when the rest of the dialog
was ported to use list models.
2020-08-03 20:25:00 -04:00
Matthias Clasen
20c1fb0a0a
docs: Tweak documentation for list widgets
...
Fix numerous cases of : vs :: for signal references,
add some more details here and there.
2020-08-03 18:43:25 -04:00
Matthias Clasen
7972dc8776
docs: Unify docs around incremental operations
...
Sync up the wording around incremental filtering
and sorting to be more similar.
2020-08-03 18:43:25 -04:00
Matthias Clasen
7cb0dd9039
docs: Fix signal references
...
It is :: for signals, : for properties, | for actions.
2020-08-03 18:43:25 -04:00
Matthias Clasen
a5058c605f
docs: Fix typos
2020-08-03 18:43:21 -04:00
Matthias Clasen
70b0bdd5e3
docs: Tell pandoc we need Docbook4
...
gtk-doc assumes Docbook4, with <ulink> and so on.
Without this, all the links in markdown are converted
to <link xlink:href=...> and then lost in the docbook->html
conversion.
2020-08-03 16:53:44 -04:00
Matthias Clasen
2d72cd00e3
docs: Fix a typo
2020-08-03 16:53:32 -04:00
Yuri Chornoivan
95a533e8e1
Update Ukrainian translation
2020-08-03 17:02:11 +00:00
Matthias Clasen
0eb36cb823
Merge branch 'patch-1' into 'master'
...
show: remove obsolete comment
See merge request GNOME/gtk!2359
2020-08-03 16:22:19 +00:00
Alex
c8d51a7b98
show: remove obsolete comment
...
g_app_info_launch_default_for_uri supports x-scheme-handler directly since at least 2.27.1, released almost 10 years ago.
Link: https://bugzilla.gnome.org/show_bug.cgi?id=631410
Link: 9b262f1c5f
2020-08-03 15:36:36 +00:00
Matthias Clasen
c77600f1e9
Merge branch 'treeview-editing' into 'master'
...
treeview: Don't react to clicks on cell editables
Closes #3008
See merge request GNOME/gtk!2358
2020-08-03 12:28:20 +00:00
Matthias Clasen
64b8d8b3e4
ci: Update subprojects
...
Otherwise, we end up stuck on old checkouts, and
bumping requirements lets to build failures.
2020-08-03 08:11:03 -04:00
Matthias Clasen
83682d919f
treeview: Don't react to clicks on cell editables
...
We need to let these pass through, otherwise we
interfere with the entries that are used for editing.
Fixes : #3008
2020-08-03 07:51:09 -04:00
Matthias Clasen
6ed1cd63b6
Merge branch 'filechoosernative-docs' into 'master'
...
docs: Introspect GtkFileChooserNative info
Closes #2799
See merge request GNOME/gtk!2357
2020-08-03 11:09:03 +00:00
Matthias Clasen
cb320849de
docs: Introspect GtkFileChooserNative info
...
We were missing gtk_file_chooser_native_get_type
in gtk4.types.in, causing introspected info to not
be included.
Fixes : #2799
2020-08-03 00:13:10 -04:00
Matthias Clasen
9659d3f78a
Merge branch 'applaunch-warning' into 'master'
...
x11: Ignore stray DestroyNotify events
Closes #3006
See merge request GNOME/gtk!2355
2020-08-03 03:30:59 +00:00
Matthias Clasen
1f3327d326
rgba: Use pango_color_parse_with_alpha
...
Use this newly exported pango function, so we
can support hex colors with alpha like #rrggbbaa.
Fixes : #2931
2020-08-02 23:30:33 -04:00
Matthias Clasen
15325fe546
Bump the pango dependency
...
Require pango 1.45.5, so we can use pango_color_parse_with_alpha.
2020-08-02 23:30:33 -04:00
Matthias Clasen
4152e90e7e
x11: Ignore stray DestroyNotify events
...
There's no use in making a delete event with a
NULL surface. Just ignore such events.
Fixes : #3006
2020-08-02 22:45:28 -04:00
Matthias Clasen
c211fdcf42
Merge branch 'fishbowl-crash' into 'master'
...
Fishbowl crash
Closes #2996 and #3003
See merge request GNOME/gtk!2352
2020-08-03 02:19:01 +00:00
Matthias Clasen
af63893377
Merge branch 'search-demo-fixes' into 'master'
...
Search demo fixes
Closes #3004
See merge request GNOME/gtk!2354
2020-08-03 02:18:41 +00:00
Matthias Clasen
3304df7042
Merge branch 'tagged-entry-demo' into 'master'
...
gtk-demo: Simplify the tagged entry demo
Closes #3005
See merge request GNOME/gtk!2353
2020-08-03 02:18:28 +00:00
Matthias Clasen
df85ef1754
gtk-demo: Fix cleanup of search entry demo
...
We can't use the ::destroy signal anymore; use
a weak ref instead, and make ensure the entry
stays around long enough for us to finish the
cleanup.
Fixes : #3004
2020-08-02 21:53:59 -04:00
Matthias Clasen
a7e25f2c73
gtk-demo: Make search progress visible again
...
Set a progress fraction, so that the pulsing progress
in the search entry demo is actually visible.
2020-08-02 21:47:21 -04:00
Matthias Clasen
1c583edfb7
Merge branch 'font-explorer-crash' into 'master'
...
gtk-demo: Avoid invalid OpenType feature tags
Closes #2962
See merge request GNOME/gtk!2351
2020-08-03 01:40:51 +00:00
Matthias Clasen
89c10e092a
Merge branch 'emoji-insert-fix' into 'master'
...
textview: Make insert-emoji replace the selection
Closes #2996
See merge request GNOME/gtk!2350
2020-08-03 01:40:43 +00:00
Matthias Clasen
4bdd94fd3f
gtk-demo: Simplify the tagged entry demo
...
No need for an intermediate box widget here;
we can just use a box layout. As a side-effect,
this fixes the theme to apply to the selection.
Fixes : #3005
2020-08-02 21:39:23 -04:00
Matthias Clasen
5a55f6ff7b
gdk: Fix gdk_surface_get_layout_monitor
...
We are determining the monitor by maximizing the
intersection; that only works if our rectangle
is not empty.
Fixes : #3003
2020-08-02 21:29:18 -04:00
Matthias Clasen
af07cfea5f
gtk-demo: Avoid invalid OpenType feature tags
...
ss00 doesn't exist, and we use xxxx as placeholder
for 'default' choices in alternatives. Add a warning
in case we run across invalid OpenType feature tags
in fonts.
Fixes : #2962
2020-08-02 21:13:37 -04:00
Matthias Clasen
348a38a876
textview: Make insert-emoji replace the selection
...
This is the expected behavior, and matches what
GtkText does.
Fixes : #2996
2020-08-02 20:48:14 -04:00
Matthias Clasen
0d98bab82b
Merge branch 'filechooser-completions' into 'master'
...
filechooser: Prevent over-eager completions
Closes #2995
See merge request GNOME/gtk!2347
2020-08-03 00:23:28 +00:00
Matthias Clasen
992c5fade7
Merge branch 'wip/chergert/gtk4-textview-fix-selections' into 'master'
...
textlinedisplaycache: short-circuit y_range invalidation
Closes #2975
See merge request GNOME/gtk!2348
2020-08-03 00:23:13 +00:00
Matthias Clasen
75d09d5ab3
Merge branch 'fix-win32-ci' into 'master'
...
ci: Don't use --werror for the win32 build
See merge request GNOME/gtk!2349
2020-08-03 00:19:43 +00:00
Matthias Clasen
1c49371edf
ci: Don't use --werror for the win32 build
...
This leads to warnings from the glib win32 build
failing our ci. Only use werror for gtk itself.
2020-08-02 19:59:25 -04:00
Christian Hergert
94d17a6809
textlinedisplaycache: short-circuit y_range invalidation
...
If we have a y==-1 then we are generally invalidating the whole textview.
For this case, we can just discard the entire GtkTextLineDisplay cache.
Fixes #2975
2020-08-02 16:35:50 -07:00
Matthias Clasen
9605e49fbf
filechooser: Prevent over-eager completions
...
We don't want the completions to pop up after we call
gtk_file_chooser_set_current_name(). This used to be
handled by gtk_entry_set_text() blocking the completion
signal handler. We don't have that anymore, so block
popup completion around the call to gtk_editable_set_text()
instead.
Fixes : #2995
2020-08-02 19:18:11 -04:00
Matthias Clasen
43816ba8d9
Merge branch 'grid-api' into 'master'
...
grid layout: Rename some properties
Closes #2967
See merge request GNOME/gtk!2345
2020-08-02 23:17:40 +00:00
Matthias Clasen
71be1751c6
builder-tool: Rewrite top/left-attach
...
Rewrite the GtkGrid:top/left-attach child properties
to the GtkGridLayoutChild:row/column layout properties.
Update expected test output to match.
2020-08-02 17:58:03 -04:00
Matthias Clasen
ed13e6a41e
grid layout: Rename some properties
...
Rename GtkGridLayoutChild:left-attach/top-attach to
GtkGridLayoutChild:column/row. Update all users.
Fixes : #2967
2020-08-02 17:58:03 -04:00
Matthias Clasen
7fe7d5ab4f
Merge branch 'fix-textiter-tests' into 'master'
...
textbuffer: Fix a test failure
See merge request GNOME/gtk!2346
2020-08-02 21:55:43 +00:00
Matthias Clasen
4340f75304
textbuffer: Fix a test failure
...
The previous change to gtktextbuffer.c was breaking
the textiter testcase.
2020-08-02 17:23:26 -04:00
Matthias Clasen
0add626822
textbuffer: Be careful with tags when copying
...
We can only insert tags in the buffer if they come
from the same GtkTextTagTable as the buffer uses.
If that is not the case, paste the text without tags.
Fixes : #2991
2020-08-02 13:54:06 -04:00
Matthias Clasen
793ea05f4a
Merge branch 'text-drag-select' into 'master'
...
textview: Only claim the event when appropriate
Closes #2999
See merge request GNOME/gtk!2344
2020-08-02 17:45:30 +00:00
Matthias Clasen
638ea2d6fc
Merge branch 'fallback-menu-critical' into 'master'
...
popovermenu: Avoid a critical
Closes #2998
See merge request GNOME/gtk!2343
2020-08-02 17:42:22 +00:00
Matthias Clasen
c959f9c701
textview: Only claim the event when appropriate
...
Don't claim the event unconditionally for the click gesture,
since we may want to start a drag selection.
Fixes : #2999
2020-08-02 13:32:37 -04:00
Matthias Clasen
f8a303b0e5
popovermenu: Avoid a critical
...
While we guarantee that the widget that a controller
is attached to stays around while it is handling an event,
the same is not true for the root that the widget belongs
to. In corner cases (such as clicking "Close" in the
fallback window menu), it may already be gone.
Avoid a critical in that case.
Fixes : #2998
2020-08-02 13:09:00 -04:00
Matthias Clasen
ddda963f81
Merge branch 'selectable-label-draw' into 'master'
...
label: Redraw when focus changes
See merge request GNOME/gtk!2342
2020-08-02 16:40:12 +00:00
Matthias Clasen
9bf50e5650
Merge branch 'linked-button-fixes' into 'master'
...
Adwaita: Add linked styling for particular button widgets
Closes #2939 and #1903
See merge request GNOME/gtk!2339
2020-08-02 16:39:59 +00:00
Matthias Clasen
acc57ea799
Merge branch 'controllers-list' into 'master'
...
Controllers list
See merge request GNOME/gtk!2341
2020-08-02 16:25:50 +00:00
Matthias Clasen
1c8471c38f
label: Redraw when focus changes
...
When focus changes in a selectable label, we need to
redraw to make the text caret (dis)appear.
2020-08-02 12:11:38 -04:00
Matthias Clasen
17208ca7fa
Go back to keeping a list of event controllers
...
This reverts 4b9e5304cc . It caused a number of regressions,
such as event controller ordering changes.
2020-08-02 12:01:06 -04:00
Matthias Clasen
1c16cb751f
Revert "Add gtk_widget_prepend_controller"
...
This reverts commit 692cc42e10 .
2020-08-02 12:01:06 -04:00
Matthias Clasen
127612d213
Revert "entry completion: Make keynav work again"
...
This reverts commit 53a30eaa12 .
2020-08-02 12:01:06 -04:00
Matthias Clasen
4ad401f3fa
Merge branch 'matthiasc/for-master' into 'master'
...
shortcutswindow: Clear search entry on unmap
Closes #2981
See merge request GNOME/gtk!2340
2020-08-02 15:05:17 +00:00
Matthias Clasen
888a65c1fb
shortcutswindow: Clear search entry on unmap
...
Otherwise, the search term will linger around until
somebody clicks the search button again.
Fixes : #2981
2020-08-02 09:33:52 -04:00
Piotr Drąg
3d65178f37
Update Polish translation
2020-08-02 14:36:18 +02:00
nana-4
891027f0c3
Adwaita: Add linked styling for particular button widgets
...
Those button widgets need some special linked styling like what
combobox has.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1903
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2939
2020-08-02 19:14:26 +09:00
nana-4
5f00675de4
appchooserbutton: Set a CSS name
...
Otherwise it has a CSS name "widget".
2020-08-02 18:26:40 +09:00
Matthias Clasen
be03613e30
Merge branch 'ci-installed-tests' into 'master'
...
Run installed tests in ci
Closes #2966
See merge request GNOME/gtk!2335
2020-08-02 03:47:22 +00:00
Matthias Clasen
d17e51df06
Merge branch 'inspector-device-details' into 'master'
...
inspector: Introspect enum values
See merge request GNOME/gtk!2338
2020-08-02 03:25:33 +00:00
Matthias Clasen
5ecf1431f0
cups: Don't emit a warning if we can't talk to avahi
...
The g_warning in this case makes the templates test
fail if it can't connect to the system bus (as is the
case for running installed tests in ci).
2020-08-01 23:24:36 -04:00
Matthias Clasen
28a9fa2486
installed-tests: Fix the icontheme test
...
We forgot to install some of the icons, causing
the test to fail.
2020-08-01 23:24:36 -04:00
Matthias Clasen
7cf61e6a4b
ci: Add a build that runs installed tests
...
This will hopefully prevent regressions in
installed-tests.
2020-08-01 23:24:36 -04:00
Matthias Clasen
0d608c492d
inspector: Introspect enum values
...
Stop hardcoding arrays with names for enum values.
This has bitten us repeatedly as these enums were
changed around; time to stop doing it.
2020-08-01 23:05:24 -04:00
Matthias Clasen
7bc553a5cc
Merge branch 'label-copy-link-fix' into 'master'
...
Label copy link fix
See merge request GNOME/gtk!2337
2020-08-02 02:45:53 +00:00
Matthias Clasen
934946acfc
Merge branch 'matthiasc/for-master' into 'master'
...
testsuite: Fix installed tests
Closes #2966
See merge request GNOME/gtk!2336
2020-08-02 02:45:30 +00:00
Matthias Clasen
3a9b824ce5
ci: Use newer fedora image
...
v22 adds gnome-desktop-testing-runner and enables sudo.
2020-08-01 22:12:47 -04:00
Matthias Clasen
501b2b43ef
ci: Enable sudo in the image
...
This is needed so we can install what we built.
2020-08-01 22:12:08 -04:00
Matthias Clasen
aea253bc60
ci: Add gnome-desktop-testing to images
2020-08-01 22:12:08 -04:00
Matthias Clasen
4fed32315c
testsuite: Fix installed tests
...
This broken recently, when we converted the tests
array to a dictionary.
Fixes : #2966
2020-08-01 22:12:08 -04:00
Matthias Clasen
d19e60a40d
testsuite: Fix installed tests
...
This broken recently, when we converted the tests
array to a dictionary.
Fixes : #2966
2020-08-01 22:06:21 -04:00
Matthias Clasen
e0c7d7daeb
menusectionbox: Avoid a critical warning
...
The popover may already be gone when the item
is activated. Don't trigger a critical in that
case.
Related: #2986
2020-08-01 22:03:41 -04:00
Matthias Clasen
64ed69c56f
label: Be more selective when selecting on focus-in
...
We don't want to select on focus-in when the focus
comes from a child. The case where this does harm
is when you activate copy or paste actions from the
context menu. We close the menu before triggering the
action, and if that causes the text in the label to
be selected, unexpected things happen, since the action
applies to the current selection.
This is the equivalent of cd9f5733b3 for GtkLabel.
2020-08-01 22:01:52 -04:00
Matthias Clasen
2a962e1c9a
Merge branch 'glib-build-fix' into 'master'
...
togglebutton: Don't crash on click
See merge request GNOME/gtk!2334
2020-08-02 01:30:31 +00:00
Matthias Clasen
74662776d4
togglebutton: Don't crash on click
...
The code used to do
if (parent_class->clicked)
parent_class->clicked (...)
That is pointless because the parent_class never changes,
so there' no need for that if and commit 415946eb0f
took it out. Unfortunately, p arent_class->clicked is NULL
though, so the whole call needs to go.
2020-08-01 20:09:05 -04:00
Matthias Clasen
0b2833f69c
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #2980 , #2974 , #2949 , and #2766
See merge request GNOME/gtk!2333
2020-08-01 23:58:04 +00:00
Timm Bäder
41b458fba7
Fix and improve various code samples
2020-08-01 20:01:04 +02:00
Timm Bäder
f716daa483
aboutdialog: Fix a code sample
...
gdk_texture_new_from_file takes a GFile these days.
2020-08-01 19:30:31 +02:00
Timm Bäder
415946eb0f
togglebutton: Modernice source file
...
Make this a little less ancient looking.
2020-08-01 19:24:54 +02:00
Timm Bäder
65b79d2585
Avoid refering to old GtkContainer API in the docs
2020-08-01 15:34:59 +02:00
Timm Bäder
e976825342
button: Use g_object_notify_by_pspec()
2020-08-01 15:34:07 +02:00
Timm Bäder
b489a1f6b5
stack: Allow NULL names
...
Does this work?
2020-08-01 15:27:13 +02:00
Timm Bäder
2f65459fcc
stack: Only compare page names if the new page has one
2020-08-01 15:26:53 +02:00
Timm Bäder
f5af18738b
listbox: Add _append
...
To have easy replacement API for gtk_container_add.
2020-08-01 15:26:28 +02:00
Timm Bäder
b37b85333d
adwaita: Reset popover background in backdrop
...
Otherwise it inherits the generic background color from .background
Fixes #2766
2020-08-01 10:34:04 +02:00
Timm Bäder
76f2396764
popover: Use gtk_widget_add_css_class
2020-08-01 10:31:38 +02:00
Timm Bäder
547842e7f0
window: Keep titlebar after main child
...
Fixes #2949
2020-08-01 09:30:48 +02:00
Timm Bäder
ebaea07286
inspector: Avoid some failing casts
...
We might be inspecting a non-widget here, so can't just cast that.
2020-08-01 08:59:46 +02:00
Timm Bäder
0822de1971
textview: Only show "insert emoji" menu item if editable
...
Fixes #2974
2020-08-01 08:59:46 +02:00
Timm Bäder
954a144336
mediastream demo: Add a weak pointer to the window
...
Do what other demos do as well.
Fixes 2983
2020-08-01 08:59:46 +02:00
Timm Bäder
bf24da0d80
inspector: Add a type check
...
We only connect to this signal if sl->obejct is a GtkAccessible, so only
disconnect from it on the same condition.
Fixes #2980
2020-08-01 08:59:41 +02:00
Jordi Mas
d743e757ec
Update Catalan translation
2020-08-01 07:33:03 +02:00
Rico Tzschichholz
746a40bbfe
Merge branch 'ricotz/for-master' into 'master'
...
Add annotations to improve GIR API
See merge request GNOME/gtk!2332
2020-07-31 19:31:40 +00:00
Rico Tzschichholz
d1cab4fbdd
gtk: Add annotations to improve GIR API
2020-07-31 20:56:36 +02:00
Rico Tzschichholz
7a58a6a097
gsk: Add annotations to improve GIR API
2020-07-31 20:56:36 +02:00
Rico Tzschichholz
371cdf3250
gdk/x11: Add annotations to improve GIR API
2020-07-31 20:56:36 +02:00
Matthias Clasen
1087ff48f0
Merge branch 'glib-build-fix' into 'master'
...
widget: Drop unnecessary includes
See merge request GNOME/gtk!2328
2020-07-31 18:52:50 +00:00
Matthias Clasen
15982ab6d2
meson: Try to limit the damage
...
Try to teach meson not to build our subprojects with
-Werror, since that is just insane, and exposes us
to random build failures in subprojects.
2020-07-31 14:20:11 -04:00
Matthias Clasen
0dc6ee2c44
Merge branch 'dont-always-inline' into 'master'
...
gsk: Don't the always_inline function attribute
See merge request GNOME/gtk!2331
2020-07-31 17:39:22 +00:00
Matthias Clasen
f136a6f51f
testgtk: More GTimeVal eradication
2020-07-31 13:37:29 -04:00
Matthias Clasen
6ab13a6303
gsk: Don't the always_inline function attribute
...
Visual C doesn't understand it, and the compiler
should know better, anyway.
2020-07-31 13:13:46 -04:00
Matthias Clasen
358f66482d
Merge branch 'master.win32' into 'master'
...
Some improvements for GDK/Win32
See merge request GNOME/gtk!2327
2020-07-31 17:10:47 +00:00
Matthias Clasen
0d3fa01be2
Merge branch 'wip/carlosg/cursor-fallout' into 'master'
...
gdk: Fix toplevel calculation on pointer grab switch
Closes #2970
See merge request GNOME/gtk!2330
2020-07-31 17:10:05 +00:00
Matthias Clasen
e0d1aac8a5
Bump the glib dependency
...
Some of the new apis we want to use to avoid
deprecations were only introduced in 2.65.
2020-07-31 13:07:31 -04:00
Matthias Clasen
fc31f3d629
placesview: Keep up with GLib deprecations
...
We were using deprecated GBookmarkFile api here too.
2020-07-31 12:54:57 -04:00
Carlos Garnacho
9564cba492
gdk: Fix toplevel calculation on pointer grab switch
...
This check used to read if (grab || device_type != GDK_DEVICE_TYPE_PHYSICAL),
the grab check was only reserved to physical devices, which the current
pointer device definitely doesn't act like. So the condition was "fixed" the
wrong way around, and the latter check is now moot, so the condition should
really go away. We always want to check the new toplevel under the pointer
here.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2970
2020-07-31 18:53:01 +02:00
Matthias Clasen
90eec6734f
Merge branch 'cups-build-fix' into 'master'
...
Fix the build with cups < 2.3
Closes #2968
See merge request GNOME/gtk!2329
2020-07-31 16:33:46 +00:00
Matthias Clasen
72e14bd6dd
recentmanager: Keep up with GLib deprecations
...
All the time_t based apis in GBookmarkFile have
been deprecated; use GDateTime instead. This
changes a few GtkRecentManager APIs.
2020-07-31 12:18:47 -04:00
Matthias Clasen
99bb8bb3f7
numericsorter: Ignore deprecations
...
We use g_value_get_char here; replacing it with
g_value_get_schar is not entirely trivial, so just
ignore deprecations for now.
2020-07-31 11:36:03 -04:00
Matthias Clasen
ff42c94174
gtkicontheme: Stop using GTimeVal
...
It has been deprecated and the deprecation warnings
break our -Werror build in ci.
2020-07-31 11:22:16 -04:00
Chun-wei Fan
20388f83f5
GDK-Win32: Use SetProcessDpiAwarenessContext() where available
...
This allows us to use DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 for the
DPI awareness mode, which will help us to better support use cases with
multiple monitors. This is actualy a more advaned version of the
current PROCESS_PER_MONITOR_DPI_AWARE via using SetProcessDpiAwareness().
Note that this is not enabled by default, but also enabled via using
GDK_WIN32_PER_MONITOR_HIDPI, as in the PROCESS_PER_MONITOR_DPI_AWARE
case.
Note also, that appliation compatibility settings and DPI-awareness
manifests takes precedence over this API call, as before.
2020-07-31 23:20:25 +08:00
Chun-wei Fan
c97979873a
demos: Fix running on Visual Studio builds
...
We need to mark the non-static callback functions for export.
2020-07-31 23:20:25 +08:00
Chun-wei Fan
d6955d4427
gskrenderer.c: Default to the GL renderer on Windows too
...
Since we have now made the Win32 GL contexts share the global context as
the other backends have, we are more ready to use the GL renderer by
default on Windows as well.
Note that currently we can only enable this when not running on
OpenGL/ES as the OpenGL/ES shaders are not ready at this point, and the
OpenGL/ES support that we have from libANGLE does not support full
desktop OpenGL operations.
2020-07-31 23:20:14 +08:00
Chun-wei Fan
85706dc39d
gdkglcontext-win32.c: Create a global shared GL context
...
Like the other backends, we ought to create our WGL/EGL GL contexts like
the following:
"Create a global GL context that connects all GL contexts on a display
and lets us share textures between them."
2020-07-31 23:19:28 +08:00
Chun-wei Fan
07166a55ee
gdksurface-win32.c: Deal with modal and decoration props
...
Handle these cases, especially the modal case, which we did not handle
previously after the conversion to surface subtypes.
2020-07-31 23:19:28 +08:00
Matthias Clasen
2dfa5ac804
x11: Stop using GTimeVal
...
It has been deprecated, and that is breaking our
ci builds with -Werror.
2020-07-31 10:58:53 -04:00
Matthias Clasen
8c66e2ff66
widget: Drop unnecessary includes
...
We don't need to include gobjectnotifyqueue.c anymore,
since style properties are gone. This should fix the
build with -Werror.
2020-07-31 10:34:37 -04:00
Matthias Clasen
d761e3cf2c
Fix the build with cups < 2.3
...
PPD_CUSTOM_UNKNOWN was introduced in cups 2.3.
Only handle it when we build against a new enough cups.
Fixes : #2968
2020-07-31 10:01:45 -04:00
Florentina Mușat
360ffb8e87
Update Romanian translation
2020-07-31 13:42:35 +00:00
Yuri Chornoivan
731b672875
Update Ukrainian translation
2020-07-31 12:52:54 +00:00
Daniel Mustieles
d5a31daa41
Updated Spanish translation
2020-07-31 13:48:24 +02:00
Matthias Clasen
554954d126
3.99.0
2020-07-30 22:16:31 -04:00
Matthias Clasen
73477b5abf
testsuite: Use Wayland by default
...
I'm tired of xwayland crashing and killing my shell.
2020-07-30 22:16:31 -04:00
Matthias Clasen
62803c19f5
Merge branch 'focus-active' into 'master'
...
Focus active
Closes #2390
See merge request GNOME/gtk!2324
2020-07-30 17:50:54 +00:00
Matthias Clasen
643d873f47
eventcontrollerkey: Update im focus when active window changes
...
Use the new GTK_CROSSING_ACTIVE crossing events to update
the im context focus when the window becomes active or
inactive. IBus requires this, since it has only a single,
global focus location.
Fixes : #2390
2020-07-30 13:23:45 -04:00
Matthias Clasen
b0d40403e1
window: Emit GTK_CROSSING_ACTIVE crossing events
...
Emit crossing events when the active window changes.
We don't want to emit GTK_CROSSING_FOCUS events, since
every window has its own focus location (focus does not
jump from window to window), so we use the new
GTK_CROSSING_ACTIVE type of crossing event for this.
2020-07-30 13:22:26 -04:00
Matthias Clasen
12170acf46
Define GTK_CROSSING_ACTIVE
...
Document the different crossing event kinds that we use,
and add GTK_CROSSING_ACTIVE. We are going to use it in
the future when the active window changes.
2020-07-30 13:21:28 -04:00
Matthias Clasen
38648855b0
Merge branch 'wip/carlosg/more-device-api-cleanup' into 'master'
...
More device API cleanup
See merge request GNOME/gtk!2323
2020-07-30 17:01:15 +00:00
Carlos Garnacho
96452a2e46
gdk: Rename gdk_seat_get_physical_devices() to gdk_seat_get_devices()
...
We don't want to tell what they are, and the distinction is now less
clear. Remove the adjective from the function name.
2020-07-30 18:44:40 +02:00
Carlos Garnacho
46eb054337
gdk: Drop gdk_device_get_device_type()
...
There is no longer a hierarchy of devices, or none that is seen
on the outside.
2020-07-30 18:44:40 +02:00
Carlos Garnacho
4a2050e220
gdk/x11: Make device type a X11 detail
...
The only legit uses of device types are here in gdk/x11, move the
concept of device type to X11, so we can drop it from public API.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
3c68db8e47
gdk: Make gdk_device_list_physical_devices() private
...
Physical devices should probably be accounted internally in gdk/x11,
make this out of private API so at least the implementation details
don't leak.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
9912c80d70
gdk: Drop gdk_device_get_associated_device()
...
Devices are no longer associated like this, the seat should be used
to resolve queries on other devices.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
2f792396d7
gtkimcontext: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
6730b26b43
gtktextview: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
6e83d1f54e
gtkwindowhandle: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:19:44 +02:00
Carlos Garnacho
fb9db7fede
gtkdragsource: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:19:44 +02:00
Carlos Garnacho
7991032aeb
gdk/x11: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:19:44 +02:00
Carlos Garnacho
0cbc857ea4
gdk/win32: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:17:42 +02:00
Carlos Garnacho
398c1d1ad7
gdk/macos: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:17:42 +02:00
Carlos Garnacho
94982dbab7
gdk: Avoid gdk_device_get_associated_device()
...
Query the seat for that.
2020-07-30 18:17:42 +02:00
Benjamin Otte
4dc2ab61c9
Merge branch 'wip/otte/geometry' into 'master'
...
Some GdkGeometry cleanups
See merge request GNOME/gtk!2322
2020-07-30 15:31:27 +00:00
Benjamin Otte
13d3afa56e
Remove unused GDK_HINT_POS
2020-07-30 17:06:15 +02:00
Benjamin Otte
3dd0e6d0b1
Remove gravity from GdkGeometry
...
It's always northwest
2020-07-30 17:06:15 +02:00
Benjamin Otte
11db6ad574
Remove aspect ratio from GdkGeometry
...
It's unused.
2020-07-30 17:06:15 +02:00
Benjamin Otte
ebcef256ab
gdk: Remove unused flags
2020-07-30 17:06:15 +02:00
Benjamin Otte
b12b06e917
gdk: Remove base_size and increment from GdkGeometry
...
It's unused.
2020-07-30 16:55:45 +02:00
neyfag
a27c3039d0
Scroll to cursor after canceling a selection
2020-07-30 15:52:57 +02:00
Matthias Clasen
0ee3370afc
Merge branch 'wip/master.win.egl' into 'master'
...
Add an EGL (OpenGL/ES 3) renderer for GTK+-4.x (using Google's ANGLE project) for Windows
Closes #105
See merge request GNOME/gtk!215
2020-07-30 12:18:02 +00:00
Rico Tzschichholz
c2b5997437
Merge branch 'ricotz/for-master' into 'master'
...
a11y: Fix typo in GtkATContext::state-changed docs
See merge request GNOME/gtk!2320
2020-07-30 07:35:48 +00:00
Rico Tzschichholz
f02a17805e
a11y: Fix typo in GtkATContext::state-changed docs
2020-07-30 09:06:49 +02:00
Chun-wei Fan
a481733b40
GDK/Win32: Force GLES if running on ARM64
...
If GLES support is enabled on Windows, force GLES mode if we are running
on a ARM64 version of Windows (i.e. Windows 10 for ARM).
This is required as ARM64 versions of Windows only provide a software
implementation of OpenGL 1.1/1.2, which is not enough for our purposes.
Thus, we could make instead use the GLES support provided via Google's
libANGLE (which emulates OpenGL/ES 3 with Direct3D 9/11), so that we
can run GtkGLArea programs under OpenGL/ES in ARM64 versions of Windows.
Note that eventually we could update the libepoxy build files for Windows
to not check nor enable WGL when building for ARM64 Windows, as the WGL
items do not work, although they do build.
2020-07-30 14:30:13 +08:00
Chun-wei Fan
cf0175ffce
OpenGL/ES: Fix 'R' and 'B' bits inverted on Windows
...
We need to use GL_BGRA instead of GL_RGBA when doing glReadPixels() on
EGL on Windows (ANGLE) so that the red and blue bits won't be displayed
inverted.
Also fix the logic where we determine whether to bit blit or redraw
everything.
2020-07-30 14:30:13 +08:00
Chun-wei Fan
e5600ab99b
demos: Fix glarea demo on OpenGL/ES
...
Some implementations of the ES 1.00 shader (such as Google's ANGLE) do
not like the 'f' suffix for floats, so just drop it, as it should be
harmless to drop.
2020-07-30 14:26:33 +08:00
Chun-wei Fan
257fd990d1
Add a EGL renderer (via ANGLE) for Windows
...
This is for adding a EGL-based renderer which is done via the ANGLE
project, which translate EGL calls to Direct3D 9/11. This is done as a
possible solution to issue #105 , especially for cases where the needed
full GL extensions to map OpenGL to Direct3D is unavailable or
unreliable, or when the OpenGL implementation from the graphics drivers
are problematic.
To enable this, do the following:
-Build ANGLE and ensure the ANGLE libEGL.dll and libGLESv2.dll are
available. A sufficiently-recent ANGLE is needed for things to
work correctly--note that the copy of ANGLE that is included in
qtbase-5.10.1 is sufficient. ANGLE is licensed under a BSD 3-clause
license.
-Build libepoxy on Windows with EGL support enabled.
-Currently, prior to running GTK+ programs, the GDK_DEBUG envvar needs
to be set with gl-gles as at least one of the flags.
Known issues:
-Only OpenGL ES 3 is supported, ANGLE's ES 2 does not support the needed
extensions, notably GL_OES_vertex_array_object, but its ES 3 support is
sufficient.
-There is no autodetection or fallback mechanism to enable using
EGL/Angle automatically yet. There are no plans to do this in this
commit.
2020-07-30 14:26:33 +08:00
Chun-wei Fan
12a23162b3
build: Check for EGL support in libepoxy on Windows
...
...EGL support needs to be explicitly enabled during the build of
libepoxy on Windows as it is not enabled by default on Windows.
With this, we can add an EGL renderer for Windows that make use of
Google's libANGLE, which is a library that translates OpenGL/ES calls
to Direct3D 9/11, which will provide better hardware compatibility
on Windows and would act as one of the foundations to resolve issue #105 .
2020-07-30 14:26:33 +08:00
Matthias Clasen
0b11e78064
Merge branch 'display-cleanup' into 'master'
...
Display cleanup
See merge request GNOME/gtk!2319
2020-07-30 03:55:23 +00:00
Matthias Clasen
e8026e29b6
Merge branch 'surface-cleanup' into 'master'
...
Surface cleanup
See merge request GNOME/gtk!2317
2020-07-30 03:43:30 +00:00
Matthias Clasen
ee1a868913
Merge branch 'a11y-work' into 'master'
...
A11y work
See merge request GNOME/gtk!2318
2020-07-30 03:28:02 +00:00
Matthias Clasen
488722e7c4
docs: Don't refer to nonexisting functions
...
gdk_surface_input_shape_combine_mask() no longer
exists.
2020-07-29 23:00:57 -04:00
Matthias Clasen
7df070d681
gdk: Move default group api to the X11 backend
...
This is the only place where it is implemented.
2020-07-29 22:58:37 -04:00
Matthias Clasen
abf8cbeaea
a11y: Set an accessible role for GtkLevelBar
...
Use the 'meter' role for GtkLevelBar, and set the
appropriate properties.
Update the docs and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
c0de580d46
a11y: Set an accessible role for GtkExpander
...
Use the button accessible role for GtkExpander
and set attributes as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
144114bf40
a11y: Set accessible role for GtkLinkButton
...
Set the accessible role for GtkLinkButton to button.
We don't use the 'link' role since ARIA says "if it
behaves like a button, use 'button'".
Update docs and add a test.
This changes should not be neccessary, since
GtkLinkButton derives from GtkButton, see #2965 .
2020-07-29 22:46:00 -04:00
Matthias Clasen
c68fe1053a
a11y: Set an accessible role for GtkTextView
...
Use the text-box accessible role for GtkTextView
and set properties as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
4d012a6d95
Rename gdk_surface_queue_expose
...
We don't have expose events anymore; instead, there
is a ::render signal. So rename queue_expose to
queue_render to match.
Update all callers.
2020-07-29 22:40:01 -04:00
Matthias Clasen
c1eedf6845
gdk: Stop exporting gdk_surface_freeze_updates
...
The only legitimate use for freezing the frame clock
is in GDK backends. Exporting this function for
applications makes no sense.
2020-07-29 22:30:44 -04:00
Matthias Clasen
9722bb4d9e
iconbrowser: Add screenshots to appdata
...
appstream validation is picky and insists we have
at least on screenshot.
2020-07-29 20:23:46 -04:00
Matthias Clasen
ad3514216d
Update our appdata files
...
Mention the new release in all our appdata files.
2020-07-29 17:58:45 -04:00
Matthias Clasen
59fce30200
icon-browser: Install desktop file and appdata
...
That is needed to make the flatpak build in our
ci happy.
2020-07-29 17:42:49 -04:00
Matthias Clasen
2e80658251
testsuite: Skip the skipping
...
meson 0.55 considers a test failed if we skip any cases.
Until that is fixed, just skip them quietly.
See https://github.com/mesonbuild/meson/issues/7515
2020-07-29 16:35:36 -04:00
Matthias Clasen
53e74c365b
testsuite: Stop setting NO_AT_BRIDGE
...
We are not paying attention to that environment
variable anymore.
2020-07-29 14:57:07 -04:00
Matthias Clasen
047709e911
NEWS: Updates
2020-07-29 12:40:15 -04:00
Matthias Clasen
7e355cbe1e
docs: Mention workarea in the migration guide
2020-07-29 12:39:57 -04:00
Matthias Clasen
3eab58816b
Merge branch 'wip/ditch-workarea' into 'master'
...
gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area
See merge request GNOME/gtk!2316
2020-07-29 16:24:32 +00:00
Jonas Ådahl
c7c71137b2
gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area
...
It's not a portable API, so remove it. The corresponding backend
specific functions are still available, if they were implemented, e.g.
gdk_macos_monitor_get_workarea() and gdk_x11_monitor_get_workarea().
2020-07-29 17:57:30 +02:00
Matthias Clasen
ec34675019
Merge branch 'better-doc-link-fix' into 'master'
...
docs: Fix links in markdown content differently
See merge request GNOME/gtk!2315
2020-07-29 12:16:55 +00:00
Matthias Clasen
85fb015b45
docs: Fix links in markdown content differently
...
pandoc insists on using the xlink namespace for hrefs,
and the namespace setup doesn't carry over xi:includes.
My first fix was to tell pandoc to generate standalone
docbook documents, which makes it insert the xlink
namespace. But it also makes it wrap all sections and
chapters in articles, and that messes up our toc structure.
So, patch things up differently by stripping the xlink:
from hrefs via regex.
Yay for XML!
2020-07-29 07:47:59 -04:00
Matthias Clasen
d40b1d31b5
Merge branch 'doc-fixes' into 'master'
...
Doc fixes
See merge request GNOME/gtk!2314
2020-07-29 11:24:48 +00:00
Matthias Clasen
5fd03f3297
Merge branch 'a11y-work' into 'master'
...
A11y work
See merge request GNOME/gtk!2312
2020-07-29 11:19:22 +00:00
Daniel Mustieles
a3a66be76e
Updated Spanish translation
2020-07-29 12:40:18 +02:00
Daniel Mustieles
3bb3bc2982
Updated Spanish translation
2020-07-29 12:40:17 +02:00
Florentina Mușat
a7ac16098a
Update Romanian translation
2020-07-29 10:33:19 +00:00
Matthias Clasen
3b35ae870c
docs: Add a missing symbol
2020-07-28 22:40:10 -04:00
Matthias Clasen
d0abe5a919
filter: Typo fix
2020-07-28 22:40:10 -04:00
Matthias Clasen
26200c0f7e
filechooser: Document the response.activate action
2020-07-28 22:40:10 -04:00
Matthias Clasen
07bf9045fb
a11y: Document GtkATContext::state-changed
2020-07-28 22:40:10 -04:00
Matthias Clasen
e4a3746755
docs: Update the symbols list
...
Make sure the sections file is in sync with what
we actually export.
2020-07-28 22:40:10 -04:00
Matthias Clasen
1772d23f8e
docs: Update private headers list
2020-07-28 22:40:10 -04:00
Matthias Clasen
e07b9605bc
a11y: Fix a few glitches in the role enum
...
When the enumeration was synced with the latest draft
of the ARIA spec, the math and note roles missed the boat.
2020-07-28 22:20:40 -04:00
Matthias Clasen
fc47e79cb6
Document gdk_device_tool_get_axes
2020-07-28 21:58:06 -04:00
Matthias Clasen
2a92ee22da
gdk: Small doc fixup
...
We no longer use <!-- --> for plurals, gtk-doc is smart
enough to detect them without that.
2020-07-28 21:53:56 -04:00
Matthias Clasen
23dcf36ec9
NEWS: Updates
2020-07-28 21:17:17 -04:00
Matthias Clasen
b5f256937f
Merge branch 'wip/carlosg/device-api-cleanup' into 'master'
...
Cleanups to device/event API
See merge request GNOME/gtk!2313
2020-07-28 23:49:35 +00:00
Carlos Garnacho
cab1dcb696
gdk: Conflate GDK devices
...
Make GdkEvents hold a single GdkDevice. This device is closer to
the logical device conceptually, although it must be sufficient for
device checks (i.e. GdkInputSource), which makes it similar to the
physical devices.
Make the logical devices have a more accurate GdkInputSource where
needed, and conflate the event devices altogether.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
25ea17a6fc
gdk: Drop source_device argument from _gdk_display_device_grab_update()
...
It's just passed around and used nowhere.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
4a2bbed157
gdk: Make events hold an axis array matching GdkAxisUse
...
Instead of doing device-specific translations of array positions,
use GdkAxisUse as an array index right away.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
7629f6d533
gdk: Make GdkDevice axis API internal
...
All outside interaction happens through gdk_event_get_axis(), no
device poking is necessary, nor axis to array index translations.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
230ce9bfde
gdk: Remove gdk_device_get_axes()
...
Besides the implicit x/y assumptions, devices don't have axes. Those
are actually provided by the GdkDeviceTool driving the device, and
different tools may have different axes.
It does not make sense to offer this API that can change beneath
someone's feet, we now have gdk_device_tool_get_axes() which is static
to the tool.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
2736633a60
inspector: Show tool axes, instead of device axes
...
We are moving away from the latter as they are inconsistent with
Wayland. Make the inspector introspect known tools and their info,
instead.
2020-07-29 01:27:51 +02:00
Matthias Clasen
1755e07af7
a11y: Set an accessible role for GtkPasswordEntry
...
Use the text-box accessible role for GtkPasswordEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:23:57 -04:00
Matthias Clasen
a610bb89a0
a11y: Set an accessible role for GtkSearchEntry
...
Use the searchbox accessible role for GtkSearchEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
2040b7ecdf
a11y: Set an accessible role for GtkLabel
...
Use the label accessible role for GtkLabel. ARIA has some
ominous wording about it going way, but while we have it,
GtkLabel is the obvious candidate for carrying it.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
cc35cc6c4e
a11y: Add tests for mnemonics
...
We set up labelled-by accessible relations when
a label is set as mnemonic widget. Verify that that
happens as expected.
2020-07-28 18:16:37 -04:00
Matthias Clasen
9a82aadca7
a11y: Set an accessible role for GtkEntry
...
Use the text-box accessible role for GtkEntry and
set the placeholder and read-only accessible properties.
Update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Matthias Clasen
23e185e674
a11y: Add a scrollbar relation test
...
Check that GtkScrolledWindow sets up the expected
relations between its scrollbars and child.
2020-07-28 18:16:37 -04:00
Matthias Clasen
971ee2d28a
a11y: Set up controls relations for scrollbars
...
GtkScrolledWindow knows what its scrollbars control,
so set up the accessible relations for this.
2020-07-28 18:16:37 -04:00
Matthias Clasen
efd4169fa2
a11y: Set accessible roles for GtkImage and GtkPicture
...
Use the img accessible role for these.
Also update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Carlos Garnacho
b52ad33031
gdk: Add gdk_seat_get_tools() API call
...
There's GdkSeat::tool-added and ::tool-removed, but there's no
API to query the known tools. Add this call.
2020-07-29 00:11:34 +02:00
Matthias Clasen
5926008647
Merge branch 'wip/chergert/bump-sysprof-abi' into 'master'
...
build: bump to sysprof 4 ABI
See merge request GNOME/gtk!2192
2020-07-28 20:33:33 +00:00
Christian Hergert
459af3acab
build: bump to sysprof 4 ABI
...
Sysprof has moved to a new ABI which removes GLib from the capture library
so that GLib itself can link against sysprof-capture.
This bumps the library ABI so we can keep things coordinated between all
the new tracing layers in the stack.
2020-07-28 11:22:33 -07:00
Matthias Clasen
cc50be971d
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!2311
2020-07-28 16:30:47 +00:00
Emmanuele Bassi
3294557717
a11y: Update the valuetext attribute of GtkProgressBar
...
Since progress bars can have a label, we should propagate that information
to ATs whenever it's set.
2020-07-28 16:59:08 +01:00
Emmanuele Bassi
470349c902
a11y: Add an explicit "reset to default" method
...
In some cases we explicitly want to unset an accessible attribute; for
instance, an accessible property is gated on a widget property, and if
the widget property gets unset, the accessible property should be reset.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
bf06cad5d9
a11y: Add proper error reporting to value collection
...
We're currently overloading NULL to mean both "this value is undefined,
and should be reset to its default" and "the value collection failed".
Let's do error reporting right, by using GError to mean "the collection
failed, for this specific reason"; then, we can use a NULL return value
to signal that the accessible attribute should be reset to its default
value.
This is only relevant for pointer-sized attribute values: strings,
references, and reference lists; numeric, boolean, tristate, and token
values either cannot be undefined, or have a specific "undefined" value.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
2e8de6bd88
a11y: Fix the error message for the attribute test macros
...
We're missing a closing parenthesis.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
7f04faf30d
a11y: Use undefined as default for string attributes
...
Instead of an empty string.
2020-07-28 16:49:13 +01:00
Emmanuele Bassi
4fa891b55d
Remove stray gtk-doc annotation
...
It confuses the g-i scanner, and gtk-doc.
2020-07-28 16:49:13 +01:00
Carlos Garnacho
254007a142
gdk: Add gdk_device_tool_get_axes()
...
Axes are actually a per-tool property, we just adapt devices to the
current tool.
2020-07-28 17:37:09 +02:00
Carlos Garnacho
1b846e29c7
docs: Correct migration note
...
A mentioned API call is now internal.
2020-07-28 17:36:18 +02:00
Carlos Garnacho
a2876b5cb4
gdkdevice: Remove gdk_device_get_state()
...
This is not needed nor recommended anymore, all reasons to maybe
need this were all kept within gdk.
2020-07-28 17:36:18 +02:00
Carlos Garnacho
5f8258109e
gtkwindow: Move away from gdk_device_get_state()
...
Use gdk_device_get_modifier_state() poking the keyboard and keymap,
instead of this function.
2020-07-28 17:36:18 +02:00
Carlos Garnacho
6a4277a9a9
gtkpopover: Move away from gdk_device_get_state()
...
Use gdk_device_get_modifier_state() poking the keyboard and keymap,
instead of this function.
2020-07-28 17:36:18 +02:00
Piotr Drąg
f4e001c91a
Update POTFILES.in and POTFILES.skip
2020-07-28 17:01:53 +02:00
Carlos Garnacho
3285f52dc8
gdk: Drop GDK_SOURCE_CURSOR
...
Looking at the xf86-input-wacom driver code, this is not even a thing
anymore. Drop this device type, in modern days there's
GDK_DEVICE_TOOL_TYPE_MOUSE for this.
2020-07-28 15:25:28 +02:00
Matthias Clasen
400a5b4e1f
Merge branch 'wip/a11y-inspector' into 'master'
...
inspector: Show a11y information
See merge request GNOME/gtk!2302
2020-07-28 13:08:28 +00:00
Matthias Clasen
42a4940671
inspector: Show a11y information
...
Show a tab for accessibility information.
This shows the role and the accessible attributes
(states, properties, relations).
For now, changing the values is not possible, and
we only show the explicitly set values. In the future,
we want to show the attributes that are relevant for
the role, regardless of whether they are set or not,
and allow changing some of the attributes (the ones
that are not fully managed by GTK itself).
2020-07-28 08:41:24 -04:00
Matthias Clasen
ecc329fa2a
a11y: Add change notification to GtkATContext
...
Emit a ::state-change signal when state changes;
this was already a vfunc, but we want to listen
to state changes from the inspector too.
2020-07-28 08:41:24 -04:00
Emmanuele Bassi
5fc5e52f52
Merge branch 'a11y-tests' into 'master'
...
Add more a11y tests
See merge request GNOME/gtk!2303
2020-07-28 11:47:14 +00:00
Matthias Clasen
1d8e62fb01
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2306
2020-07-28 11:44:05 +00:00
Matthias Clasen
09faa582e3
Merge branch 'ebassi/for-master' into 'master'
...
Split GtkProgressBar finalization
See merge request GNOME/gtk!2308
2020-07-28 11:37:45 +00:00
Emmanuele Bassi
a85ba95b20
Split GtkProgressBar finalization
...
We're stopping activity mode when finalizing, which will change
accessible state; this will create a GtkATContext, and since GtkWidget
drops its GtkATContext on dispose(), we're going to end up leaking it on
the floor:
```
2,007 (64 direct, 1,943 indirect) bytes in 1 blocks are definitely lost in loss record 36,242 of 36,944
at 0x483977F: malloc (vg_replace_malloc.c:307)
by 0x5222105: g_malloc (gmem.c:106)
by 0x523E222: g_slice_alloc (gslice.c:1025)
by 0x523E261: g_slice_alloc0 (gslice.c:1051)
by 0x534B398: g_type_create_instance (gtype.c:1849)
by 0x53302EE: g_object_new_internal (gobject.c:1937)
by 0x53312AF: g_object_new_valist (gobject.c:2262)
by 0x532FEE8: g_object_new (gobject.c:1780)
by 0x4B3F942: gtk_test_at_context_new (gtktestatcontext.c:107)
by 0x491CC50: gtk_at_context_create (gtkatcontext.c:380)
by 0x4BFEDA0: gtk_widget_accessible_get_at_context (gtkwidget.c:8127)
by 0x4906079: gtk_accessible_get_at_context (gtkaccessible.c:83)
by 0x490618F: gtk_accessible_update_state (gtkaccessible.c:137)
by 0x4ACBA6D: gtk_progress_bar_act_mode_leave (gtkprogressbar.c:690)
by 0x4ACB4F8: gtk_progress_bar_finalize (gtkprogressbar.c:564)
```
We're also unparenting widgets and changing styles, which is another
potential source of leaks and side effects.
2020-07-28 11:47:40 +01:00
Timm Bäder
2050120098
bitset: Fix typo
2020-07-28 08:10:43 +02:00
Timm Bäder
b213b01200
widget-factory: Remove useless separators
...
They don't serve a purpose and are not relevant for theming purposes.
2020-07-28 06:14:45 +02:00
Timm Bäder
ac1f242b6c
gl renderer: Throw inset shadows with all !send values away
2020-07-28 05:34:12 +02:00
Timm Bäder
ebbb729aea
gl renderer: Linear gradient state tracking
2020-07-28 05:34:12 +02:00
Timm Bäder
bbabec3f18
inspector: Avoid an uninitialized value
2020-07-28 05:34:12 +02:00
Timm Bäder
dded144313
gl renderer: Assert that we have program state
...
This is never a problem in reality, just for static analysis.
2020-07-28 05:34:12 +02:00
Timm Bäder
3f59566729
gl renderer: Repat node child bounds can't be NULL
2020-07-28 05:34:12 +02:00
Timm Bäder
e0420bae09
gl renderer: Remove dead code
...
We aren't using n_corners anyway
2020-07-28 05:34:12 +02:00
Timm Bäder
a3b452725b
render nodes: Simplify diffing of uniform border nodes
2020-07-28 05:34:12 +02:00
Timm Bäder
d5f0256f8b
listbox demo: Remove frames around labels
...
Having frames around those labels looks stupid
2020-07-28 05:34:12 +02:00
Timm Bäder
9cdf9847c2
gl: Add a gdk_gl_context_has_debug accessor
...
Check if the label_object_ etc. functions are gonna do anything at all.
The g_type_name_from_instance calls keep poppoing up in profiles.
2020-07-28 05:34:12 +02:00
Timm Bäder
fa85ec5cf5
GskTransform: Restructure _to_affine and _to_translation
...
Make the simple cases more explicit.
2020-07-28 05:34:12 +02:00
Timm Bäder
0ce32cd4b5
gl renderer: Save rectilinearity in clip stack
...
So we don't have to repeatedly call it in pop_clip()
2020-07-28 05:34:12 +02:00
Timm Bäder
756b84033a
GskTransform: Remove unused function from private header
...
We only use this in gsktransform.c
2020-07-28 05:34:12 +02:00
Timm Bäder
5a9b54df96
gl renderer: More color matrix state tracking
2020-07-28 05:34:12 +02:00
Timm Bäder
d7ba281c15
gl renderer: Add contains_rect helper
2020-07-28 05:34:12 +02:00
Timm Bäder
c6c87b97c2
gl renderer: Add own graphene_rect_intersects
2020-07-28 05:34:11 +02:00
Timm Bäder
2fa9dddea6
gsk: Remember border node uniformity
...
Lots of border nodes have all the same width and the same color.
Renderers might be able to simplifty that, so keep an extra bit per
border node.
2020-07-28 05:34:11 +02:00
Timm Bäder
72d4a83af8
gl renderer: Moar state tracking
...
Track what we really need to send for inset shadows, which are used
as a border replacement in many cases.
Fishbowl says I can draw around 200-300 more switches per frame like
this too.
2020-07-28 05:34:11 +02:00
Timm Bäder
f4d9e4032f
widget: Compare proper adjusted size to new size when allocating
...
We were comparing first but then still modifying the adjusted size later
on, leading to unnecessary resizes.
2020-07-28 05:34:11 +02:00
Timm Bäder
fcf502a686
gl renderer: Fix scrolledwindow undershoot rendering
2020-07-28 05:34:11 +02:00
Matthias Clasen
6e494b93ce
a11y: Add spinbutton tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
9458c1cc47
spinbutton: Update accessible state
...
Make sure to set value-max/min/now when the adjustment
changes.
2020-07-27 21:18:10 -04:00
Matthias Clasen
9190e95df9
a11y: Add scrollbar tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
e10aedccc6
widget: Update accessible state
...
The sensitive property corresponds to the accessible
property disabled, so update it when sensitivity
changes.
2020-07-27 21:18:10 -04:00
Matthias Clasen
a63d03810f
scrollbar: Update accessible state
...
We have the scrollbar role, and are therefore expected
to set value-min/max/now properties.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d2c5e3f2b3
a11y: Add switch tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
2ef4be21c8
switch: Initialize accessible state
...
The checked state defaults to undefined, so we need
to set it to the desired false state.
2020-07-27 21:18:10 -04:00
Matthias Clasen
2cbaa568b5
a11y: Add separator tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d8ac144923
separator: Initialize accessible state
...
The orientation property of separators should be
set ab initio.
2020-07-27 21:18:10 -04:00
Matthias Clasen
606daab475
a11y: Add progressbar tests
...
Test the changes in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
ec5829c401
progressbar: Fix up acessible state handling
...
We must initialize the properties in init, since they
are expected to be there ab initio, and we can't call
gtk_accessible_update_property from finalize - it causes
us to recreate an at context and badness follows.
2020-07-27 21:18:10 -04:00
Matthias Clasen
d3a8597a93
a11y: Add dialog and window tests
...
Tests the modal property changes in the previous commit.
2020-07-27 21:18:10 -04:00
Matthias Clasen
29cf11fb6e
a11y: Set an accessible role for GtkWindow
...
Use the window accessible role for GtkWindow, and
set the modal accessible property.
2020-07-27 21:18:10 -04:00
Matthias Clasen
6ca245306b
a11y: Add checkbutton tests
...
Tests the fix in the previous commit.
2020-07-27 21:18:09 -04:00
Matthias Clasen
4a9b4ad720
checkbutton: Initialize accessible state
...
The checked state of checkbuttons should be FALSE
initially, not UNDEFINED.
2020-07-27 21:18:09 -04:00
Matthias Clasen
36689d1884
Merge branch 'wip/chergert/fix-macos-time-conversion' into 'master'
...
macos: support ARM/PowerPC time conversion for DisplayLink times
See merge request GNOME/gtk!2301
2020-07-27 20:51:17 +00:00
Christian Hergert
0243736003
macos: support ARM/PowerPC time conversion for DisplayLink times
...
When converting DisplayLink frame presentation times, we need to take into
account the arch-specific types. This tracks changes in GNOME/GLib!1566 so
that precision is not lost.
2020-07-27 12:49:57 -07:00
Matthias Clasen
450899ef4c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2300
2020-07-27 18:50:45 +00:00
Yuri Chornoivan
c6c9ca6009
Update Ukrainian translation
2020-07-27 17:45:19 +00:00
Matthias Clasen
99ec400c2a
gtk-demo: Simplify colors demo
...
Make best use of our new constructors.
2020-07-27 13:30:00 -04:00
Matthias Clasen
da9b4d778b
NEWS: Tweak the wording
2020-07-27 13:30:00 -04:00
Matthias Clasen
252e29c373
Merge branch 'a11y-docs' into 'master'
...
a11y: Document roles of widgets
See merge request GNOME/gtk!2299
2020-07-27 15:45:51 +00:00
Matthias Clasen
6266bcafee
docs: Flesh out the role table in the a11y intro
...
Add cross-references for all the widgets currently
implementing non-default roles.
2020-07-27 11:10:58 -04:00
Matthias Clasen
d90f79de0e
a11y: Document roles of widgets
...
Add a section to the long description for each
widget that is using a non-default accessible role.
2020-07-27 10:48:08 -04:00
Piotr Drąg
790db8db53
Update POTFILES.in and POTFILES.skip
2020-07-27 16:45:40 +02:00
Matthias Clasen
38b1fbb261
Merge branch 'ebassi/a11y-fixes' into 'master'
...
Ebassi/a11y fixes
Closes #2955
See merge request GNOME/gtk!2298
2020-07-27 14:27:07 +00:00
Emmanuele Bassi
cd7bb0200a
a11y: Test unset relations
...
We use "NULL" in C to mean "undefined", when it comes to relations that
deal with references or reference lists.
2020-07-27 14:26:19 +01:00
Emmanuele Bassi
05d9e0c1c8
a11y: Allow unsetting the relations using NULL
...
Accessible values storing references and reference lists can be unset by
using NULL to mean "undefined"; since we cannot return the NULL value,
we need to intercept it when collecting a value, and replace it with an
undefined GtkAccessibleValue, which is also the value used as the
default for GtkAccessibleRelation values that store a reference or a
reference list.
Fixes : #2955
2020-07-27 14:26:19 +01:00
Emmanuele Bassi
b7be6ee00d
docs: Document a11y attributes
2020-07-27 14:26:19 +01:00
Matthias Clasen
604d4a1cb2
NEWS: Updates
2020-07-27 08:40:43 -04:00
Emmanuele Bassi
b68d54cdbc
Merge branch 'ebassi/ci-dags' into 'master'
...
ci: Use DAG attributes
See merge request GNOME/gtk!2297
2020-07-27 12:06:59 +00:00
Matthias Clasen
bc0182fa3e
Merge branch 'ebassi/new-a11y' into 'master'
...
Accessibility rework
See merge request GNOME/gtk!2239
2020-07-27 11:55:19 +00:00
Emmanuele Bassi
19bae10b45
ci: Use DAG attributes
...
Some jobs can run out of order, as they are entirely self-contained. If
we use the newly added DAG attributes, we can speed up the CI pipeline.
2020-07-27 12:44:36 +01:00
Emmanuele Bassi
4060febd7f
a11y: Make GtkATContext.create() public
...
Implementations of the GtkAccessible interface should have a way to
instantiate the appropriate GtkATContext.
2020-07-27 11:48:11 +01:00
Emmanuele Bassi
9a4458ba33
docs: Add missing GTK_ACCESSIBLE_VALUE_UNDEFINED
2020-07-27 11:46:07 +01:00
Matthias Clasen
40b65b2608
a11y: Add some more tests
...
Test that setting multiple states or properties
at the same time works as expected.
2020-07-27 01:21:05 -04:00
Matthias Clasen
6c4c93b8d0
Add some more a11y tests
...
Add some tests that exercise the accessible machinery
without any connection to widgets.
2020-07-27 01:13:16 -04:00
Matthias Clasen
4c5df54e39
a11y: Be a bit safer against crashes
...
We are collecting values from varargs and use them
as indices into static arrays. We should at least
do some bounds checking to prevent silly crashes.
2020-07-27 00:21:01 -04:00
Matthias Clasen
2ce6ac00cf
docs: Expand GtkAccessible documentation
...
Add some hints and examples.
2020-07-26 22:39:47 -04:00
Matthias Clasen
98f3112158
docs: Add documentation for accessible enumerations
...
This is largely taking text from the aria spec.
2020-07-26 22:39:47 -04:00
Matthias Clasen
9a27614b41
docs: Update GtkAccessibleRole docs
...
Sync up the docs with changed enum values, and document
all the roles that are used in GTK at the moment. All
others are left as "Unused".
2020-07-26 21:23:48 -04:00
Matthias Clasen
29abefbe61
docs: Fix up some issues in the a11y docs
...
Fix up syntax errors and links in the introductory
section about accessibility.
2020-07-26 21:23:48 -04:00
Matthias Clasen
81c8a2bb4b
docs: Update a11y docs
...
Add some missing functions.
2020-07-26 21:23:48 -04:00
Matthias Clasen
d187ff858c
Merge branch 'drop-down-constructor' into 'master'
...
GtkDropDown api revisions
See merge request GNOME/gtk!2286
2020-07-26 23:57:48 +00:00
Matthias Clasen
e57d6ec359
Merge branch 'list-constructors' into 'master'
...
List constructors
See merge request GNOME/gtk!2296
2020-07-26 23:56:21 +00:00
Matthias Clasen
eb5c76210e
gridview: Revise constructors
...
Make both gtk_grid_view_new and gtk_grid_view_new_with_factory
take a model as first argument, and make all arguments
allow-none and transfer full.
Update all callers.
2020-07-26 18:50:50 -04:00
Matthias Clasen
fc22b75a06
columnview: Revise the constructor
...
Make gtk_column_view_new take a model as first argument,
and make it allow-none and transfer full.
Update all callers.
2020-07-26 18:32:50 -04:00
Matthias Clasen
43000abeff
listview: Revise constructors
...
Make both gtk_list_view_new and gtk_list_view_new_with_factory
take a model as first argument, and make all arguments
allow-none and transfer full.
Update all callers.
2020-07-26 18:27:23 -04:00
Matthias Clasen
f7ab6f665d
dropdown: Revise constructors
...
A dropdown without a model is useless, so accept a model
and expression in the constructor. Allow them to be NULL,
but consume them if given. This makes chained constructors
convenient without breaking language bindings.
Drop gtk_drop_down_set_from_strings() and instead add
gtk_drop_down_new_from_strings().
Update all users.
2020-07-26 18:09:54 -04:00
Matthias Clasen
72bb7fc701
selectionfiltermodel: Make constructor allow-none
...
We don't pay attention to item-type anymore, so
drop the item-type property and the _for_item_type()
constructor, and allow passing NULL to the regular
constructor.
We don't make this constructor transfer-full, since
the selection filter model is not a wrapping model
like the others. It is more like fork than a wrap.
2020-07-26 18:04:40 -04:00
Matthias Clasen
cdc263f796
multiselection: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Also make the constructor return GtkMultiSelection *.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
ccb9dcc86b
singleselection: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
68d6671413
noselection: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
dd1c0c0b22
treelistmodel: Make constructor transfer full
...
Make gtk_tree_list_model_new() take the root model
as first argument, and make it transfer full, for
consistency with other wrapping list constructors.
Update all callers.
Still missing here: Make the model property writable,
and allow passing NULL in the constructor.
2020-07-26 18:04:40 -04:00
Matthias Clasen
a46cfd3ff4
sortlistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
706d464ae6
filterlistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
b6d9f3facb
slicelistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:04:40 -04:00
Matthias Clasen
06c6d62629
listlistmodel: Drop item_type
...
We are using G_TYPE_OBJECT throughout, so there
is no need for GtkListListModel to do anything else.
Update all callers.
2020-07-26 18:02:51 -04:00
Matthias Clasen
32b8fe40bb
maplistmodel: Make constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:02:51 -04:00
Matthias Clasen
1e8be87026
flattenlistmodel: Make the constructor transfer full
...
This is for consistency with other wrapping list constructors.
We want them all to be transfer full, allow-none.
Update all callers.
2020-07-26 18:02:44 -04:00
Emmanuele Bassi
cbc6244bc5
ci: Re-enable the accessibility test suite
...
Now that we have something that is both reliable and local.
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
ac0fcc55a6
a11y: Add a simple test case for GtkButton's accessible state
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
3d642460e7
a11y: Simplify the test API
...
We don't need as many functions to print out the property, relation, and
state of an accessible. Additionally, we should allow comparing the
accessible attributes with an expected value, and print out the real
accessible value if they do not match.
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
82664003c0
a11y: Allow setting the role post-construction
...
Some widgets have different roles after they are constructed, so we need
to allow changing the role defined by the class. We should still avoid
setting a role after the GtkATContext has been created.
2020-07-26 21:27:03 +01:00
Emmanuele Bassi
b9a1cb74a1
a11y: Add API to retrieve accessible values
...
We are going to use this for implementing ATContext subclasses, but also
in the testing API.
2020-07-26 20:49:08 +01:00
Emmanuele Bassi
dc1c1e8af9
a11y: Add more test API
2020-07-26 20:49:08 +01:00
Emmanuele Bassi
83eac3f33a
a11y: Restart the accessibility test suite
2020-07-26 20:49:08 +01:00
Emmanuele Bassi
296f0844df
Fix build with debugging notes disabled
2020-07-26 20:31:15 +01:00
Matthias Clasen
e17b5f337d
a11y: Update GtkCheckButton
...
This is a bit unfortunate, since the aria modelling
doesn't quite agree with ours, so we have to listen
for the togglebutton property change, and we inherit
the pressed state from the togglebutton accessible.
2020-07-26 20:31:15 +01:00
Matthias Clasen
c36ad5f474
a11y: Update GtkSpinButton
...
Set the appropriate accessible role, and update
the value properties.
2020-07-26 20:31:15 +01:00
Matthias Clasen
b7777add36
a11y: Update GtkProgressBar
...
Update state and properties as appropriate.
2020-07-26 20:31:15 +01:00
Matthias Clasen
609383f93c
testatcontext: Print role nicks
...
This makes for easier reading.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
a9e0cf77a0
a11y: Update labelled-by when setting mnemonic labels
...
The ARIA labelled-by attribute behaves the same way as the mnemonic
labels in GTK.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
86b58529fd
a11y: Change the collection type for reflist attributes
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
2fee3793b4
a11y: Allow storing list of references in GtkAccessibleValue
...
It's one of the fundamental accessible value types in ARIA.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
03b773f45a
a11y: Change default accessible role
...
Only GtkWidget should use GTK_ACCESSIBLE_ROLE_WIDGET as its default
accessible role; the default for GtkAccessible and GtkATContext should
be GTK_ACCESSIBLE_ROLE_NONE, meaning "an element whose implicit native
role semantics will not be mapped to the accessibility API", according
to the WAI-ARIA specification.
2020-07-26 20:31:15 +01:00
Matthias Clasen
8adcf95300
inspector: Support the a11y debug flag
...
Add support for the GTK_DEBUG_A11Y debug flag in
the logs tab.
2020-07-26 20:31:15 +01:00
Matthias Clasen
0b6df9efe7
testatcontext: Use the new debug flag
...
Only dump a11y state if GTK_DEBUG=accessibility is set.
2020-07-26 20:31:15 +01:00
Matthias Clasen
01f31665b8
Add GTK_DEBUG=accessibility
...
Add a debug flag for accessibility-related debug spew.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
0d87f8cd62
a11y: Add testing API
...
We want to test the accessibility API, as well as the implementation
inside each widget. For that, we should expose an API that lets us
verify that a GtkAccessible has a given role, as well as a given
property.
The API follows the pattern of other GTest API:
- a macro to assert that a condition is respected
- a function that prints out the error message in case of failure
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
52c1fb8dfe
a11y: Implement role and state change in GtkSwitch
...
Set the "switch" role, and update the "checked" state when the :active
property is toggled.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
732578eb53
a11y: Consolidate the attributes container
...
While we have split the various attributes for convenience, there's no
reason why we should have specialised data types for the attributes
container object.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
1124f2507d
a11y: Add relations API
...
Since we split relation attributes from the generic properties, we need
to add API for setting and retrieving their values.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
d37511f76b
a11y: Simplify GtkAccessibleValue
...
Reduce the amount of subclassing, by handling collection of fundamental
types directly from the generic code paths. We now handle boolean,
tristate, integer, number, string, and relation values in the generic
code path; if an attribute supports the "undefined" value, we return the
undefined value singleton.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
55d29d08a1
a11y: Resync with the ARIA spec
...
Drop roles and properties that were deprecated in WAI-ARIA 1.1, and add
new roles and properties defined in WAI-ARIA 1.2 and later.
We also split the relationship properties into their own enumeration, so
we can keep the GtkAccessibleProperty type more compact.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
ae446e8f4a
Remove GTK_ACCESSIBLE_STATE_NONE
...
It's pointless, we can use an explicit value of `-1` everywhere.
Additionally, it complicates all code that uses the state enumeration as
an array index, since now we need to guard against a negative offset.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
c56e9b2031
a11y: Add binding-friendly accessible property setter
...
Matching the one for the accessible state.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
93978544c0
a11y: Collect reference value
...
Some properties that take a reference to an accessible haven't been
updated to collect the correct type.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
1b612cd5db
a11y: Update the accessible label for GtkButton
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
3a1d69ca29
a11y: Update GtkSeparator
...
Add an accessible role, and update the orientation state.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
9af74629f6
a11y: Set the role for GtkScale
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
59d85d42cf
a11y: Update the accessible state for GtkRange
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
2c75ba5509
a11y: Update the "pressed" state on toggle buttons
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
58628f9a9e
a11y: Add roles to various widgets
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
da1ce01a6f
Add accessible properties to GtkAccessible
...
We propagate the accessible state and properties to each ATContext in
the same virtual function, since they are functionally similar.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
654956223d
Add GtkAccessiblePropertySet
...
Like GtkAccessibleStateSet, the PropertySet is a set for accessible
properties.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
382fa01301
Plumb all the GtkAccessibleProperty values into GtkAccessibleValue
...
Similarly to how we deal with GtkAccessibleState.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
572861be27
Allow setting the accessible role at construction
...
Some widgets have different accessible roles depending on some
parameter, so we cannot set the role at class init time. For those
widgets, we add an "accessible-role" property to GtkAccessible, and we
allow setting it (only) at construction time.
2020-07-26 20:31:15 +01:00
Emmanuele Bassi
5a173df3da
Start documenting the Accessibility API
...
Add the introductory text from #2833 , and the various types to the API
reference.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
3ea069a8d3
Update the accessible state on widget visibility changes
...
The GTK_ACCESSIBLE_STATE_HIDDEN has the opposite meaning of the
GtkWidget:visible property.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
25f6da5e89
Have GtkWidget implement GtkAccessible
...
Each widget type has an accessible role associated to its class, as
roles cannot change during the life time of a widget instance.
Each widget is also responsible for creating an ATContext, to proxy
state changes to the underlying accessibility infrastructure.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
566f75af82
Plug GtkATContext into GtkAccessible
...
An Accessible implementation must create an ATContext object. UI
elements are supposed to interact with the GtkAccessible API, but we
expose GtkATContext to allow patterns like delegation.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
a382dfd3bd
Add GtkATContext
...
The ATContext type is meant to be used as the base class for
implementations of the assistive technology API—the actual mechanism
needed to communicate to components like the screen reader, or any other
AT.
Every time the widget state changes, the ATContext is meant to broadcast
the state change; and every time the AT queries the state of a UI
element, the ATContext is meant to provide that information.
We also have a "test" ATContext implementation, which is meant to be
used to write tests to verify that changes are propagated without
requiring a whole desktop session.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
823ee58332
Add GtkAccessibleStateSet
...
Since states can be set or unset, we need a container type that has all
the possible states, and a bitmask that tells us which ones are set.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
55120a25db
Add GtkAccessibleValue
...
All accessible properties and states may have one of the following
types:
- true/false
- true/false/undefined
- true/false/mixed/undefined
- reference (to another UI element)
- reference list
- integer
- number (real numerical value)
- string
- token (one of a limited set of allowed values)
- token list
See: https://www.w3.org/WAI/PF/aria/states_and_properties#propcharacteristic_value
The GtkAccessibleValue is a simple reference counted type that can be
"subclassed" to implement each value type.
This initial commit adds GtkAccessibleValue and the basic subclasses for
plain boolean, tristate (true/false/undefined), and token types,
including statically allocated values that can be shared instead of
allocated.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
14faec3ce2
Introduce GtkAccessible
...
GtkAccessible is an interface for accessible UI elements.
Currently, it doesn't do much except exist as a type; in the future, it
will be the entry point for all accessible state in GTK.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
82fe6fbc62
a11y: Add the supported accessibility roles
...
The list of roles is taken from the WAI-ARIA 1.2 specification:
https://w3c.github.io/aria/
Some of these roles do not make entirely sense from a GTK application
perspective, but we can remove them before finalizing the API.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
c63087a563
Remove ATK
...
To build a better world sometimes means having to tear the old one down.
-- Alexander Pierce, "Captain America: The Winter Soldier"
ATK served us well for nearly 20 years, but the world has changed, and
GTK has changed with it. Now ATK is mostly a hindrance towards improving
the accessibility stack:
- it maps to a very specific implementation, AT-SPI, which is Linux and
Unix specific
- it requires implementing the same functionality in three different
layers of the stack: AT-SPI, ATK, and GTK
- only GTK uses it; every other Linux and Unix toolkit and application
talks to AT-SPI directly, including assistive technologies
Sadly, we cannot incrementally port GTK to a new accessibility stack;
since ATK insulates us entirely from the underlying implementation, we
cannot replace it piecemeal. Instead, we're going to remove everything
and then incrementally build on a clean slate:
- add an "accessible" interface, implemented by GTK objects directly,
which describe the accessible role and state changes for every UI
element
- add an "assistive technology context" to proxy a native accessibility
API, and assign it to every widget
- implement the AT context depending on the platform
For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
2020-07-26 20:31:14 +01:00
Benjamin Otte
ea0fc7619d
Merge branch 'wip/otte/boolfilter' into 'master'
...
Add GtkBoolFilter
See merge request GNOME/gtk!2288
2020-07-26 19:24:25 +00:00
Jordi Mas
f2ed1656b4
Update Catalan translation
2020-07-26 21:13:16 +02:00
Benjamin Otte
2f27d29247
Add GtkBoolFilter
...
Takes a boolean GtkExpression (like a boolean object property) to run a
filter with.
2020-07-26 20:43:08 +02:00
Matthias Clasen
ef6babf896
Merge branch 'matthiasc/for-master' into 'master'
...
overlaylayout: Document minimally
See merge request GNOME/gtk!2285
2020-07-26 12:00:49 +00:00
Matthias Clasen
7f9570b95b
overlaylayout: Document minimally
...
This layout manager is not reusable, but we
still need to make its layout properties show
up in the docs.
2020-07-25 19:02:33 -04:00
Matthias Clasen
d8d8a71a7a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2284
2020-07-25 17:30:11 +00:00
Matthias Clasen
2ff3e3d1e4
gtk: Improve struct packing in places
...
Plug some holes in our structs by rearranging
a few fields. This is was done looking at
pahole output.
2020-07-25 11:57:37 -04:00
Matthias Clasen
73f4f518b8
gdk: Improve struct packing in places
...
Plug some holes in our structs by rearranging
a few fields. This is was done looking at
pahole output.
2020-07-25 11:57:37 -04:00
Matthias Clasen
6e9dbba130
colorswatch: Remove unused radius fields
...
The radius fields are never used.
2020-07-25 11:57:37 -04:00
Matthias Clasen
706aa93ab5
hsla: Just store floats
...
We are using floats for rgb, and we don't need more precision
for hsl colors either. We use hsl for computing color expressions
like shade(), lighter() and darker(), which are not precisely
specified anyway.
This commit updates the one test where the output changes a
tiny bit due to this.
2020-07-25 11:56:05 -04:00
Matthias Clasen
54deed9a5a
headerbar: Drop the Private struct
2020-07-25 07:41:05 -04:00
Matthias Clasen
0e70ddcab3
colorplane: Drop the Private struct and padding
2020-07-24 22:56:24 -04:00
Matthias Clasen
f2bdb1fb87
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2283
2020-07-25 00:05:28 +00:00
Matthias Clasen
ec9fd76c87
Merge branch 'wip/otte/types' into 'master'
...
Get rid of unneeded glib types
See merge request GNOME/gtk!2282
2020-07-24 23:54:01 +00:00
Matthias Clasen
bacaa5eb9a
Add another sortlistmodel test
...
This tests the crash fix in f7b73b2e01 .
2020-07-24 19:28:54 -04:00
Matthias Clasen
9a297516ba
testsuite: Add an incremental sort test
...
Add a test that makes changes to a model while it
is incrementally sorted.
2020-07-24 19:23:18 -04:00
Matthias Clasen
e9bff53015
timsort: Avoid a crash
...
We need to clear the pointer after freeing the data,
since the sortlistmodel keeps its timsort structure
around and reuses it.
2020-07-24 19:23:18 -04:00
Benjamin Otte
3078b180fe
Replace "gdouble" with "double"
2020-07-25 00:47:36 +02:00
Benjamin Otte
556997f9df
Replace "gfloat" with "float"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d375dce9f5
Replace "gchar" with "char"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d7266b25ba
Replace "gint" with "int"
2020-07-25 00:47:36 +02:00
Matthias Clasen
2a43ce1705
testsuite: Use better names for sortlistmodel tests
...
Name the tests for what they do.
2020-07-24 15:37:49 -04:00
Matthias Clasen
3324a6e6b3
testsuite: Reenable tests for incremental sort
...
This was unintentionally disabled.
2020-07-24 15:22:14 -04:00
Matthias Clasen
46423e614d
Merge branch 'remove-align-widget' into 'master'
...
menubutton: Remove align-widget property
See merge request GNOME/gtk!2280
2020-07-24 18:17:30 +00:00
Matthias Clasen
f7b73b2e01
sortlistmodel: Fix a crash
2020-07-24 14:15:14 -04:00
Matthias Clasen
c85e424279
dropdown: Fix popup sizing
...
Setting a width request is not quite enough, since
gtk_widget_set_size_request() only queues a resize
when the widget is visible. Explicitly force one
here. Without this, the popup sometimes shows up
too small.
2020-07-24 14:15:04 -04:00
Florian Müllner
b146c48e23
menubutton: Remove align-widget property
...
The property has been unused since commit 8701e34f74 . That was four
years ago, so it's safe to say that nobody has been missing it terribly.
2020-07-24 13:55:06 +02:00
Timm Bäder
3176d69009
Merge branch 'fix-gdk-array-msvc' into 'master'
...
gdk/gdkarrayimpl.c: Fix build on Visual Studio
See merge request GNOME/gtk!2279
2020-07-24 09:28:21 +00:00
Chun-wei Fan
89f7d841ab
gdk/gdkarrayimpl.c: Fix build on Visual Studio
...
It seems like initializing something to an empty array using `{}` is a GCCism,
so just stuff a 0 within the braces to accomplish the same thing.
2020-07-24 16:25:24 +08:00
Matthias Clasen
7e2fceebca
Merge branch 'matthiasc/for-master' into 'master'
...
filechooser: Remove a leftover signal emission
Closes #2942
See merge request GNOME/gtk!2276
2020-07-24 02:58:51 +00:00
Matthias Clasen
1e00c887ec
docs: Work around escaping bugs
...
This is truly a russian doll of documentation formats:
a string containing <> inside an xml fragment in an |[ ]|
gtk-doc example in markdown in a doc comment.
Sadly, something gets escaping wrong, so the <> end up
literally in the docbook and mess up the last step of
our document formatting, even after turning them into
entities.
Work around this with an extra level of entities that
really shouldn't be necessary.
2020-07-23 18:24:18 -04:00
Matthias Clasen
561d3c68a0
docs: Pass --standalone to pandoc
...
This flag causes pandoc to emit a proper doctype
declaration and, crucially, namespace declarations
for the xlink namespace that it insists on using
for href attributes. Without this, putting external
links in md documents doesn't survive the journey
through xml.
2020-07-23 18:24:18 -04:00
Matthias Clasen
03601cb794
docs: Improve shortcut trigger docs
...
Point out the need to escape <> in xml.
2020-07-23 18:24:18 -04:00
Matthias Clasen
3108b8b4d3
docs: Explain the shortcutcontroller example a bit
...
Add a reference to the the syntax for shortcut actions
in builder files.
2020-07-23 18:24:18 -04:00
Matthias Clasen
d1afe32762
filechooser: Remove a leftover signal emission
...
Commit 0145809a94 replace the response-requested
signal with an action, but didn't actually remove the emission
of that no-longer-existing signal.
Fixes : #2942
2020-07-23 12:54:07 -04:00
Benjamin Otte
603dd72b09
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2277
2020-07-23 14:34:33 +00:00
Benjamin Otte
e81ba8924a
searchenginemodel: Remove unused code
2020-07-23 15:31:08 +02:00
Benjamin Otte
8832ab45d9
searchengine: Remove unused set_recursive() call
2020-07-23 15:31:08 +02:00
Florentina Mușat
87d6e17bc7
Update Romanian translation
2020-07-23 10:33:16 +00:00
Florentina Mușat
a5033cd79b
Update Romanian translation
2020-07-23 10:32:08 +00:00
Matthias Clasen
44cbf3d605
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2275
2020-07-23 00:19:15 +00:00
Matthias Clasen
fb6288791e
NEWS: Updates
2020-07-22 19:51:27 -04:00
Matthias Clasen
2160f52cbf
migration guide: Add some tables
...
Add a table mapping event signals to their event controller
replacements, and a table mapping former GtkContainer
subclasses to their gtk_container_add replacement.
2020-07-22 19:38:58 -04:00
Benjamin Otte
8825e621c9
Merge branch 'wip/otte/for-master' into 'master'
...
timsort: Actually 0-terminate the array in get_runs()
See merge request GNOME/gtk!2274
2020-07-22 18:08:24 +00:00
Benjamin Otte
e22abd73f2
timsort: Actually 0-terminate the array in get_runs()
...
This could cause SEGVs when changing the sort during an ongoing sort
operation.
2020-07-22 18:59:22 +02:00
Yuri Chornoivan
f77d4d7fc0
Update Ukrainian translation
2020-07-22 13:27:26 +00:00
Yuri Chornoivan
8243133ca7
Update Ukrainian translation
2020-07-22 13:22:09 +00:00
Matthias Clasen
63a4345d2c
Merge branch 'wip/otte/sortlistmodel2' into 'master'
...
Massively refactor and improve sortlistmodel
See merge request GNOME/gtk!2273
2020-07-22 13:15:45 +00:00
Piotr Drąg
56685a483d
Update POTFILES.in
2020-07-22 15:01:05 +02:00
Benjamin Otte
b23f793753
gtk-demo: Add a progress bar when the colors demo resorts
2020-07-22 14:30:49 +02:00
Benjamin Otte
2b19e2fc1f
sortlistmodel: Add progress estimation
2020-07-22 14:30:49 +02:00
Benjamin Otte
703f8b8136
timsort: Add progress estimation
2020-07-22 14:30:49 +02:00
Benjamin Otte
5b18968867
sortlistmodel: Make key generation part of the step function
...
SSave the missing keys as a bitset and iterate over that bitset in the
step function.
Solves the problem with a large UI block at the beginning of a sort
operation when all the keys were generated, in particular when key
generation was slow.
Benchmarks for maximum time taken by a single main loop callback:
initial sort with complex GFileInfo keys
old new
32,000 items 137ms 3ms
128,000 items 520ms 31ms
initial sort with string keys
old new
32,000 items 187ms 1ms
128,000 items 804ms 3ms
2020-07-22 14:30:49 +02:00
Benjamin Otte
e8c4e1205a
gtk-demo: Make colors demo do incremental sorting
2020-07-22 14:30:49 +02:00
Benjamin Otte
bf5c540357
sortlistmodel: Properly compute runs
...
When updating a (partially) sorted model, take the known runs for the
existing sort and apply them to the new sort. That way, we don't have to
check the whole model again.
Benchmarks:
appending half the items to a model of strings
old new
512,000 items 437ms 389ms
1,024,000 items 1006ms 914ms
appending 10% of the items to a model of strings
old new
512,000 items 206ms 132ms
1,024,000 items 438ms 301ms
appending 1 item to a model of strings
old new
64,000 items 1.8ms 0.00ms
512,000 items --- 0.01ms
2020-07-22 14:30:49 +02:00
Benjamin Otte
c03383d3e5
sortlistmodel: Make sort stable again
...
Previously, the sort was not stable when items were added/removed while
sorting or the sort algorithm was changed.
Now the sort looks at the item position (via the key's location in the
keys array) to make sure each comparison stays stable with respect to
this position.
2020-07-22 14:30:49 +02:00
Benjamin Otte
eaaa287078
multisorter: Implement GtkSortKeys
2020-07-22 14:30:49 +02:00
Benjamin Otte
554defaf1a
treelistrowsorter: Implement GtkSortKeys
2020-07-22 14:30:49 +02:00
Benjamin Otte
659fe52b7b
numericsorter: Implement GtkSortKeys
2020-07-22 14:30:49 +02:00
Benjamin Otte
0970077af9
stringsorter: Implement GtkSortKeys
2020-07-22 14:30:49 +02:00
Benjamin Otte
814c88fbc1
sortkeys: Add an equal sort keys
...
Compares every element as equal.
This is useful when sorters are in an invalid configuration.
2020-07-22 14:30:49 +02:00
Benjamin Otte
3b24c8a0a4
sortlistmodel: Use GtkSortKeys
...
This massively speeds up sorting with expensive sort functions that it's
the most worthwhile optimization of this whole branch.
It's slower for simple sort functions though.
It's also quite a lot slower when the model doesn't support sort keys
(like GtkCustomSorter), but all the other sorters do support keys.
Of course, this depends on the number of items in the model - the number
of comparisons scales O(N * log N) while the overhead for key handling
scales O(N).
So as the log N part grows, generating keys gets more and more
beneficial.
Benchmarks:
initial sort of a GFileInfo model with display-name keys
items keys
8,000 items 715ms 50ms
64,000 items --- 554ms
initial sort of a GFileInfo model with complex keys
items keys
64,000 items 340ms 295ms
128,000 items 641ms 605ms
removing half a GFileInfo model with display-name keys
(no comparisons, just key freeing overhead of a complex sorter)
items keys
512,000 items 14ms 21ms
2,048,000 items 40ms 62ms
removing half a GFileInfo model with complex keys
(no comparisons, just key freeing overhead of a complex sorter)
items keys
512,000 items 90ms 237ms
2,048,000 items 247ms 601ms
2020-07-22 14:30:49 +02:00
Benjamin Otte
e34c7e6796
sorter: Introduce GtkSortKeys
...
GtkSortKeys is an immutable struct that can be used to manage "sort
keys" for items.
Sort keys are memory that is created specifically for sorting. Because
sorting involves lots of comparisons, it's a good idea to prepare the
data relevant for sorting in advance and sort on that data.
In measurements with a PropertyExpression on a string sorter, it's about
??? faster
2020-07-22 14:30:49 +02:00
Benjamin Otte
8c608e9c1c
sortlistmodel: Split the SortItem into 2 arrays
...
Instead of one item keeping the item + its position and sorting that
list, keep the items in 1 array and put the positions into a 2nd array.
This is generally slower while sorting, but allows multiple improvements:
1. We can replace items with keys
This allows avoiding multiple slow lookups when using complex
comparisons
2. We can keep multiple position arrays
This allows doing a sorting in the background without actually
emitting items-changed() until the array is completely sorted.
3. The main list tracks the items in the original model
So only a single memmove() is necessary there, while the old version
had to upgrade the position in every item.
Benchmarks:
sorting a model of simple strings
old new
256,000 items 256ms 268ms
512,000 items 569ms 638ms
sorting a model of file trees, directories first, by size
old new
64,000 items 350ms 364ms
128,000 items 667ms 691ms
removing half the model
old new
512,000 items 24ms 15ms
1,024,000 items 49ms 25ms
2020-07-22 14:30:49 +02:00
Benjamin Otte
283c3b70dd
sortlistmodel: Add an incremental property
...
Also refactor a large part of the sortmodel to make this convenient.
A large amount of time has been spent on getting items-changed regions
minimized.
2020-07-22 14:30:49 +02:00
Benjamin Otte
93599c2c48
testsuite: Add exhaustive sortlistmodel test
...
This is basically a copy/paste from the filterlistmodel test, but
adapted for sorting.
2020-07-22 14:04:40 +02:00
Benjamin Otte
080e625090
sortlistmodel: Make the sort callback useful
...
1. Run step() for a while to avoid very short steps
This way, we batch items-changed() emissions.
2. Track the change region accurately
This way, we can avoid invalidating the whole list if our step just
touched a small part of a huge list.
As this is a merge sort, this is a common occurence when we're buys
merging chunks: The rest of the model outside those chunks isn't
changed.
Note that the tracking is accurate: It determines the minimum change
region in the model.
This will be important, because the testsuite is going to test this.
2020-07-22 14:04:40 +02:00
Benjamin Otte
26696a741e
timsort: Add change tracking to gtk_tim_sort_step()
2020-07-22 14:04:40 +02:00
Benjamin Otte
a209e54b8f
timsort: Add gtk_tim_sort_set_max_merge_size()
...
Makes the SOrtListModel responsive when incrementally sorting.
By making it configurable we can avoid losting performance in the
non-incremental case.
2020-07-22 14:04:40 +02:00
Benjamin Otte
8921dadaa1
timsort: Make sure merges don't take too long
...
Limit the size of the merged areas and thereby chunk larger merges into
smaller ones.
2020-07-22 14:04:40 +02:00
Benjamin Otte
47232acbd8
sortlistmodel: Make sorting incremental
...
This is just an experiment so far to see how long it takes to sort.
2020-07-22 14:04:40 +02:00
Benjamin Otte
cbad8ec2e4
timsort: Add gtk_tim_sort_set_runs()
...
... and use it in the SortListModel
Setting runs allows declaring already sorted regions so the sort does
not attempt to sort them again.
This massively speeds up partial inserts where we can reuse the sorted
model as a run and only resort the newly inserted parts.
Benchmarks:
appending half the model
qsort timsort
128,000 items 94ms 69ms
256,000 items 202ms 143ms
512,000 items 488ms 328ms
appending 1 item
qsort timsort
8,000 items 1.5ms 0.0ms
16,000 items 3.1ms 0.0ms
...
512,000 items --- 1.8ms
2020-07-22 14:04:40 +02:00
Benjamin Otte
800170b47d
sortlistmodel: Use timsort
...
Simply replace the old qsort() call with a timsort() call.
This is ultimately relevant because timsort is a LOT faster in merging
to already sorted lists (think items-chaged adding some items) or
reversing an existing list (think columnview sort order changes).
Benchmarks:
initially sorting the model
qsort timsort
128,000 items 124ms 111ms
256,000 items 264ms 250ms
2020-07-22 14:04:40 +02:00
Benjamin Otte
97c5cb3514
Add a timsort() implementation
2020-07-22 14:04:40 +02:00
Benjamin Otte
081afc0477
sortlistmodel: Track item positions
...
The model now tracks the original positions on top of just the items so that
it can remove items in an items-changed emission.
It now takes twice as much memory but removes items much faster.
Benchmarks:
Removing 50% of a model:
before after
250,000 items 135ms 10ms
500,000 items 300ms 25ms
Removing 1 item:
4,000 items 2.2ms 0ms
8,000 items 4.6ms 0ms
500,000 items --- 0.01ms
2020-07-22 14:04:40 +02:00
Benjamin Otte
e807fc3be0
sortlistmodel: Replace with an array-based model
...
This is the dumbest possible sortmodel using an array:
Just grab all the items, put them in the array, qsort() the array.
Some benchmarks (setting a new model):
125,000 items - old: 549ms
new: 115ms
250,000 items - new: 250ms
This performance can not be kept for simple additions and removals
though.
2020-07-22 14:04:40 +02:00
Boyuan Yang
a1bd3389ed
Update Chinese (China) translation
2020-07-22 02:58:46 +00:00
Boyuan Yang
03a3b5a0b1
Update Chinese (China) translation
2020-07-22 02:39:21 +00:00
Boyuan Yang
1ee2d9a5fa
Update Chinese (China) translation
2020-07-22 02:20:08 +00:00
Matthias Clasen
2e07fcd680
Merge branch 'wip/chergert/quartz4u' into 'master'
...
Merge GDK macOS branch
See merge request GNOME/gtk!2272
2020-07-21 22:22:41 +00:00
Matthias Clasen
d3365d5a60
Merge branch 'matthiasc/for-master' into 'master'
...
gdk: Update gdkkeysyms.h
See merge request GNOME/gtk!2271
2020-07-21 21:53:16 +00:00
Christian Hergert
9dbf99d91a
macos: prototype new GDK backend for macOS
...
This is fairly substantial rewrite of the GDK backend for quartz and
renamed to macOS to allow for a greenfield implementation.
Many things have come across from the quartz implementation fairly
intact such as the eventloop integration design and discovery of
event windows from the NSEvent.
However much has been changed to fit in with the new GDK design and
how removal of child GdkWindow have been completely eliminated.
Furthermore, the new GdkPopup allows for regular NSWindow to be used
to provide popovers unlike the previous implementation.
The object design more closely follows the ideal for a GDK backend.
Views have been broken out into subclasses so that we can support
multiple GSK renderer paths such as GL and Cairo (and Metal in the
future). However mixed mode GL and Cairo will not be supported. Currently
only the Cairo renderer has been implemented.
A new frame clock implementation using CVDisplayLink provides more
accurate information about when to draw drawing the next frame. Some
testing will need to be done here to understand the power implications
of this.
This implementation has also gained edge snapping for CSD windows. Some
work was also done to ensure that CSD windows have opaque regions
registered with the display server.
** This is still very much a work-in-progress **
Some outstanding work that needs to be done:
- Finish a GL context for macOS and alternate NSView for GL rendering
(possibly using speciailized CALayer for OpenGL).
- Input rework to ensure that we don't loose remapping of keys that was
dropped from GDK during GTK 4 development.
- Make sure input methods continue to work.
- Drag-n-Drop is still very much a work in progress
- High resolution input scrolling needs various work in GDK to land
first before we can plumb that to NSEvent.
- gtk/ has a number of things based on GDK_WINDOWING_QUARTZ that need
to be updated to use the macOS backend.
But this is good enough to start playing with and breaking things which
is what I'd like to see.
2020-07-21 14:45:12 -07:00
Christian Hergert
0154a7f528
gdk: disable file transfer portal on macOS
2020-07-21 14:45:12 -07:00
Christian Hergert
add47bebc6
build: add ATK fallback subproject wrapper
...
Very similar to the other fallbacks we use.
2020-07-21 14:45:12 -07:00
Christian Hergert
514b62223d
build: squash various warnings with Clang
...
Otherwise we have really chatty builds that make it difficult to catch
new issues when compiling.
2020-07-21 14:45:12 -07:00
Christian Hergert
7884ab6161
build: fix linking support on macOS with Clang
...
This was preventing any sort of building on macOS, even though the quartz
backend is currently non-functional. Fixing this is a pre-requisite to
getting a new macOS backend compiling.
2020-07-21 14:45:12 -07:00
Matthias Clasen
bc542c5304
gdk: Update gdkkeysyms.h
...
Run the gdkkeysyms-update.pl script to pick up several
new keysyms:
GDK_dead_lowline
GDK_dead_aboveverticalline
GDK_dead_belowverticalline
GDK_dead_longsolidusoverlay
GDK_Keyboard
GDK_WWAN
GDK_RFKill
GDK_AudioPreset
2020-07-21 16:55:28 -04:00
Matthias Clasen
d66ac4981e
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Make picking objects show them
Closes #1876
See merge request GNOME/gtk!2269
2020-07-20 22:06:42 +00:00
Matthias Clasen
9b647a47d1
inspector: Make picking objects show them
...
Changing the selection in the object tree is
not a useful action if we are already in the
object details. Most likely, a user who picks
an object wants to inspect its details, so
just always show them.
Fixes : #1876
2020-07-20 17:30:16 -04:00
Benjamin Otte
b67ffe9650
sortlistmodel: Test that the model is stable
...
Stability is measured relative to the child model, not relative to the
previous sorter.
2020-07-20 22:28:01 +02:00
Benjamin Otte
2c519b006d
testsuite: Fix a leak
2020-07-20 22:28:01 +02:00
Matthias Clasen
852429d163
Merge branch 'barthalion/asan-runner' into 'master'
...
ci: Switch ASAN tests to runners tagged so
See merge request GNOME/gtk!2267
2020-07-20 16:17:49 +00:00
Matthias Clasen
ee9c6bbf75
Merge branch 'action-muxer-speedup' into 'master'
...
Action muxer speedup
See merge request GNOME/gtk!1754
2020-07-20 16:17:17 +00:00
Bartłomiej Piotrowski
d9ece94377
ci: Switch ASAN tests to runners tagged so
2020-07-20 16:41:46 +02:00
Matthias Clasen
486fbce42b
actionmuxer: Update docs and clean up headers
...
Update the doc comment at the top to describe the
current functionality of GtkActionMuxer.
2020-07-20 08:24:54 -04:00
Matthias Clasen
ed92026632
actionmuxer: Use an array for accels
...
We have a lot of accels across all the muxers, but the vast
majority has just one or two, so an array is going to be
smaller and faster for this.
2020-07-20 08:24:54 -04:00
Matthias Clasen
05e614feb7
actionmuxer: Create observed_actions and groups on demand
...
The vast majority of action muxers don't have observers or
groups, so we can avoid the overhead of carrying all these
empty hash tables.
2020-07-20 08:24:54 -04:00
Matthias Clasen
14059afdf1
inspector: Make the actions tab work again
...
Bring back the actions tab; we don't receive
changes anymore, since GtkActionMuxer lost
the GActionGroup signals for this, and the
action observer machinery has no way to listen
for all changes.
2020-07-20 08:24:54 -04:00
Matthias Clasen
9b294eb94e
Add gtk_action_muxer_list_actions
...
This is needed to reinstate the actions support
in the inspector.
2020-07-20 08:24:53 -04:00
Matthias Clasen
96d42cf1cc
actionmuxer: Stop implementing GActionGroup
...
Instead of implementing the GActionGroup interface
and using its signals for propagating changes up
and down the muxer hierarchy, use the GtkActionObserver
mechanism. This cuts down on the signal emission
overhead.
2020-07-20 08:24:53 -04:00
Matthias Clasen
4786a16696
actionmuxer: Port internal users
...
Port all internal users of the action muxer
from the GActionGroup interface to the new
action muxer apis.
2020-07-20 08:24:52 -04:00
Matthias Clasen
14bb12125f
actionmuxer: Add some more api
...
We want to drop the GActionGroup interface from
GtkActionMuxer, so add the necessary api directly
to GtkActionMuxer itself.
2020-07-20 08:24:14 -04:00
Matthias Clasen
07e8dafcea
inspector: Remove action support temporarily
...
This is using the action muxer as a GActionGroup,
and we want to remove that interface from GtkActionMuxer.
The support will come back later.
2020-07-20 08:24:14 -04:00
Matthias Clasen
ab67a81f11
Speed up action muxer setup more
...
Don't emit signals for group insertion/removal
if nobody is listening.
2020-07-20 08:24:14 -04:00
Matthias Clasen
aa76f7e210
Speed up action muxer setup
...
We don't need to duplicate all these action names and
emit all these signals if nobody is listening.
2020-07-20 08:24:14 -04:00
Matthias Clasen
0c15463e41
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2266
2020-07-20 12:23:12 +00:00
Matthias Clasen
5df1356295
gsk: Remove an unused debug flag
...
GSK_DEBUG_DIFF was not used anywhere, so remove it.
2020-07-20 07:03:08 -04:00
Matthias Clasen
95fc81c565
inspector: Add a few more debug flags
...
Add check buttons for GTK_DEBUG=constraints and
GTK_DEBUG=layout in the logs page.
2020-07-20 07:03:08 -04:00
Matthias Clasen
378e594f75
Tweak the GTK_DEBUG=help output
...
I got the layout flag wrong when I added the
improved help output. It is about layout managers,
not about showing layout borders.
2020-07-20 07:03:08 -04:00
Matthias Clasen
86c7fceb09
Merge branch 'list-model-docs' into 'master'
...
List model docs
See merge request GNOME/gtk!2182
2020-07-19 23:50:09 +00:00
Matthias Clasen
b5e20a3e37
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2265
2020-07-19 19:14:04 +00:00
Matthias Clasen
75a30b1f98
windowhandle: Don't use an action muxer needlessly
...
The api that is meant to be used here is
gtk_widget_activate_action.
2020-07-19 13:50:23 -04:00
Matthias Clasen
c64a021af4
NEWS: Updates
2020-07-18 18:28:51 -04:00
Matthias Clasen
9b64635925
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2264
2020-07-18 17:31:31 +00:00
Matthias Clasen
7b76be5360
button: Add explicit key bindings for activation
...
We should not rely on GtkWindow to have global
"activate-default" key bindings that happen to
fall back to activating the focus widget. This is
unreliable, since the bubbling up from the button
to the toplevel may run across other widgets that
may want to use Enter for their own purpose, and
then the button loses out. By adding our own
key bindings, the button gets to handle it before
its ancestors.
This fixes check buttons in the inspector property
list not reacting to Enter despite having focus.
2020-07-18 12:53:10 -04:00
Matthias Clasen
2e2336ffce
text: Claim clicks when grabbing focus
...
If we don't, an ancestor (such a GtkListItemWidget)
may interpret the click as "I should grab focus!",
and still our focus away. This was causing hard-to-focus
entries in the property list in the inspector.
2020-07-18 12:47:47 -04:00
Matthias Clasen
76d80ef516
inspector: Add focus handling to the property editor
...
We want to focus the actual control here.
2020-07-18 11:55:19 -04:00
Matthias Clasen
287d80bd36
editablelabel: Stop editing on focus-out
...
This is the expected behavior for the main use case,
treeview-like 'edit one cell at a time'.
2020-07-18 10:45:27 -04:00
Matthias Clasen
77072b3eaa
fixup editing style class
2020-07-18 10:10:28 -04:00
Matthias Clasen
c7833bb090
editablelabel: Document css nodes
...
Just the usual.
2020-07-18 09:55:46 -04:00
Matthias Clasen
899024cef7
editablelabel: Add a style class while editing
...
Add the .editing style class to the editable label
while it is editing. The idea is that themes can
show a frame around the entry.
2020-07-18 09:54:55 -04:00
Rico Tzschichholz
4da3edd42e
Merge branch 'wip/ricotz/annotations' into 'master'
...
gtk: Improve g-i annotations for methods of GtkExpression subclasses
See merge request GNOME/gtk!2263
2020-07-18 11:06:47 +00:00
Rico Tzschichholz
6b59626817
gtk: Improve g-i annotations for methods of GtkExpression subclasses
2020-07-18 12:30:05 +02:00
Matthias Clasen
7c02ae00c2
inspector: Clean up GtkInspectorGeneral
...
Drop the Private struct.
2020-07-18 00:31:04 -04:00
Matthias Clasen
80e29a3627
inspector: Clean up GtkInspectorMiscInfo
...
Drop the Private struct.
2020-07-18 00:25:46 -04:00
Matthias Clasen
26163a4f30
inspector: Clean up GtkInspectorVisual
...
Drop the Private struct, and do all cleanup in dispose.
2020-07-18 00:17:42 -04:00
Matthias Clasen
dbd88fc210
inspector: Clean up GtkInspectorActions
...
Drop the Private struct, dispose properly,
and don't derive from GtkBox.
2020-07-17 23:59:49 -04:00
Matthias Clasen
2de31e4cac
inspector: Clean up GtkInspectorActionEditor
...
Drop the Private struct, dispose properly,
and don't derive from GtkBox.
2020-07-17 23:36:05 -04:00
Matthias Clasen
1bff328895
inspector: Clean up GtkInspectorLogs
...
Drop the Private struct, dispose properly,
and don't derive from GtkBox.
2020-07-17 23:24:14 -04:00
Matthias Clasen
facf78a5b6
inspector: Allow disposing the inspector
...
We were hiding the inspector when the window
is closed, but that has the side-effect of
keeping references to application windows,
so we would keep them artificially alive,
which can have side-effects.
So, make the inspector go away when closed.
2020-07-17 23:15:42 -04:00
Matthias Clasen
6b19fcd859
inspector: Properly dispose GtkInspectorWindow
2020-07-17 23:15:25 -04:00
Matthias Clasen
ca784e3e1a
inspector: Properly dispose GtkInspectorShortcuts
2020-07-17 23:13:29 -04:00
Matthias Clasen
314c8558d7
inspector: Properly dispose GtkInspectorListData
2020-07-17 23:13:07 -04:00
Matthias Clasen
af30a7fe06
inspector: Dispose tree data properly
...
Another place where we were leaking children.
2020-07-17 22:54:19 -04:00
Matthias Clasen
9ffd7d1970
inspector: Dispose the recorder properly
...
We were leaking children here.
2020-07-17 22:54:10 -04:00
Matthias Clasen
cb906c80eb
inspector: Drop the recorder Private struct
2020-07-17 22:37:24 -04:00
Matthias Clasen
96ce0eb600
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Don't use GtkColorSwatch
See merge request GNOME/gtk!2262
2020-07-18 01:17:43 +00:00
Matthias Clasen
0e476c1f28
gtk-demo: Don't use GtkColorSwatch
...
Making our own is 80 lines of code, so just do it.
2020-07-17 20:44:06 -04:00
Matthias Clasen
f2924988db
Merge branch 'ebassi/for-master' into 'master'
...
Fix typo in the GtkStrinFilter constructor declaration
See merge request GNOME/gtk!2261
2020-07-17 13:18:59 +00:00
Emmanuele Bassi
671435e07f
Fix typo in the GtkStrinFilter constructor declaration
2020-07-17 14:16:46 +01:00
Emmanuele Bassi
b17cfb9b65
Merge branch 'ebassi/for-master' into 'master'
...
Fix typo in the gtk-doc stanza for gtk_string_filter_new()
See merge request GNOME/gtk!2259
2020-07-17 13:09:55 +00:00
Emmanuele Bassi
0385f1aaf4
Fix typo in the gtk-doc stanza for gtk_string_filter_new()
2020-07-17 12:03:17 +01:00
Matthias Clasen
8611faf338
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #2776
See merge request GNOME/gtk!2258
2020-07-17 10:56:16 +00:00
Timm Bäder
7e19911d3f
testwidgettransforms: Fix GtkBox casts
2020-07-17 07:14:50 +02:00
Timm Bäder
c1f5153f6d
boxlayout: Remove unnecessary checks
...
The pointers passed to GtkLayoutManager::measure() are never NULL. The
ones passed to gtk_layout_manager_measure() can be, however.
2020-07-17 06:31:57 +02:00
Timm Bäder
2bd87ce771
boxlayout: Remove unused include
2020-07-17 06:27:50 +02:00
Timm Bäder
de0547ede7
migration guide: Remove a stray html tag
2020-07-17 06:27:23 +02:00
Timm Bäder
14589c2a59
widget: Save a gtk_css_node_get_style call
2020-07-17 05:49:12 +02:00
Timm Bäder
f678b3804d
widget: Remove useless if statement
...
filter_value is never NULL anyway.
2020-07-17 05:49:12 +02:00
Timm Bäder
720c298786
snapshot: Use collect_default directoy in push_debug()
...
Instead of going through collect_debug and then doing a collect_default
anyway if the message is NULL.
2020-07-17 05:49:12 +02:00
Timm Bäder
f721d2de15
debug: Remove resize highlighting
...
This has been broken ever since the debug highlighting moved to
inspector overlays.
2020-07-17 05:49:12 +02:00
Timm Bäder
11f07cb5ad
GdkRGBA: Fix typo in documentation
2020-07-17 05:49:11 +02:00
Timm Bäder
37d7ab88dc
gl renderer: Avoid 9-slicing things that can't be
...
The outline needs to be large enough so changing the size of the outline
does not affect the resulting blurred texture.
Fixes #2776
2020-07-17 05:49:11 +02:00
Timm Bäder
6cde64072d
gl renderer: Remove outdated comment
2020-07-17 05:49:11 +02:00
Timm Bäder
6a60b0f591
gl renderer: Try to intersect rounded clips more often
2020-07-17 05:49:11 +02:00
Timm Bäder
339d9f05e4
gl renderer: Remove unused flag
2020-07-17 05:49:11 +02:00
Timm Bäder
4e4207457f
adwaita: Remove header bar border radius
...
We get this from the window node these days.
2020-07-17 05:49:11 +02:00
Timm Bäder
46bb3e3046
icontheme: Indentation
2020-07-17 05:49:11 +02:00
Timm Bäder
34008e6aab
gl renderer: Ignore rounded clip that only increase the clip
...
This fixes the widget factory rendering too much.
In the widget-factory, we generally have a pretty small update area (two
spinners and a progressbar). We take the extents of that as a update
area and inital clip.
However, the first clip node we see is from the toplevel window, which
essentially increases the clip again to almost the entire window.
Fix that by ignoring such cases.
2020-07-17 05:49:11 +02:00
Timm Bäder
d6b3ac850d
testsuite: Fix test case indentation
2020-07-17 05:49:11 +02:00
Matthias Clasen
9742200ff6
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2257
2020-07-17 03:20:20 +00:00
Matthias Clasen
ec10857b84
docs: Move columns below columnview
2020-07-16 22:14:39 -04:00
Matthias Clasen
353d4d161c
Cosmetic docs change
2020-07-16 22:08:15 -04:00
Matthias Clasen
bcd650f169
docs: Revise the filter docs a bit
2020-07-16 21:48:08 -04:00
Matthias Clasen
72d66dfcdd
docs: Revise sorter docs a bit
2020-07-16 21:45:11 -04:00
Matthias Clasen
5e97df5058
bitset: try again
2020-07-16 21:44:31 -04:00
Matthias Clasen
059d131e2b
Merge branch 'wip/chergert/subclass-treeview' into 'master'
...
treeview: allow subclassing GtkTreeView
Closes #2936
See merge request GNOME/gtk!2256
2020-07-17 01:05:07 +00:00
Matthias Clasen
8f7c207c7c
docs: Add more GtkExpression
...
Make GtkExpression show up in the object
hierarchy, and add the param spec and GValue
support to the docs.
2020-07-16 21:02:33 -04:00
Matthias Clasen
b9e8935037
docs: Document GtkBitsetIter
2020-07-16 20:28:21 -04:00
Matthias Clasen
5f33f4ae8e
docs: Add an example
...
Add a small example for setting up columnview sorting.
2020-07-16 20:21:21 -04:00
Matthias Clasen
adf0e8b1e6
docs: Fix examples
...
The formatting for examples in the GtkExpression
long description was messed up.
2020-07-16 20:21:21 -04:00
Christian Hergert
7500f9b255
treeview: allow subclassing GtkTreeView
...
Porting code from GTK 3 without the ability to subclass GtkTreeView
directly can cause an extreme amount of pain on application developers.
It can also complicate performance when it comes to dealing with
encapsulation as the outer widget would also encapsulate the GtkScrollable
implementation from GtkTreeView, typically through GtkViewport.
Fixes #2936
2020-07-16 17:06:15 -07:00
Matthias Clasen
a8d433dd26
docs: Link to GtkTreeRowReference
...
The list overview cross-reference table links
to all objects, except for this one.
2020-07-16 19:53:47 -04:00
Matthias Clasen
ecaf6fced0
docs: Add GtkTreeExpander
...
We want to link to it from various places, so it needs
to be present in the docs.
2020-07-16 19:53:47 -04:00
Matthias Clasen
31a7cac4a6
Merge branch 'matthiasc/arrays' into 'master'
...
Matthiasc/arrays
See merge request GNOME/gtk!2253
2020-07-16 23:31:31 +00:00
Matthias Clasen
5eec736b07
multifilter: Use GdkArray for the filters
2020-07-16 18:44:25 -04:00
Matthias Clasen
cf4a8e2152
multisorter: Use GdkArray for the sorters
2020-07-16 18:44:25 -04:00
Matthias Clasen
31bb969cce
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Use better api
See merge request GNOME/gtk!2254
2020-07-16 21:03:21 +00:00
Matthias Clasen
f4a7c7f6bf
gtk-demo: Use better api
...
We have a getter for the model, lets use it.
2020-07-16 16:26:41 -04:00
Benjamin Otte
495069c868
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2251
2020-07-16 19:43:45 +00:00
Matthias Clasen
dfe470475b
Merge branch 'missing-exports' into 'master'
...
Add missing exports for GtkColumnView methods.
See merge request GNOME/gtk!2252
2020-07-16 18:52:22 +00:00
Benjamin Otte
de56e892aa
listitemmanager: Do a better job on double items
...
Previously, we would unparent the existing item that we were about
to reuse, and not the duplicate one.
Change that.
2020-07-16 20:43:16 +02:00
Benjamin Otte
e518c1f2f3
stringfilter: Make the constructor take an expression
...
An expression is critically important for a string filter and people
should be made aware of it when constructing the filter.
2020-07-16 20:43:16 +02:00
Benjamin Otte
c5ea59d7d1
gtk-demo: Don't make demos modal
...
That way, demo windows can be maximized and multiple demos can run at
once.
It's especially useful when using --run because the main window is
invisible then.
2020-07-16 20:43:16 +02:00
Benjamin Otte
22eccbdbb6
testsuite: Don't be too exhaustive
...
The test was taking over 60s on CI, that's a but much.
2020-07-16 20:43:16 +02:00
Benjamin Otte
58e85c85e4
testsuite: Add a case with escaped Latin-1 code
...
This came up in recent g_uri_escape() discussions.
2020-07-16 20:43:11 +02:00
Matthias Clasen
6b89148487
Merge branch 'wip/otte/vector' into 'master'
...
Arrays
See merge request GNOME/gtk!2197
2020-07-16 18:05:43 +00:00
Matthias Clasen
ddb9e428ec
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2250
2020-07-16 17:39:16 +00:00
Andreas Persson
b7fa353db2
Add missing exports for GtkColumnView methods.
...
GDK_AVAILABLE_IN_ALL was missing for one method in GtkColumnView and one
in GtkColumnViewColumn.
2020-07-16 18:58:41 +02:00
Matthias Clasen
87b5eadb7c
treesorter tests: Add a comment
...
This looks like a leak, but isn't one.
Add a comment to that effect.
2020-07-16 12:14:28 -04:00
Benjamin Otte
60a09e59e8
stringlist: Convert to array
...
Stringlists are usually built and then never modified, and accessing
items through an array is faster.
2020-07-16 18:09:58 +02:00
Benjamin Otte
6f8e9bf3a9
snapshot: Use GdkArray for the state stack
2020-07-16 18:09:58 +02:00
Benjamin Otte
90b7b84337
array: Add a bunch of new features
...
* GDK_ARRAY_BY_VALUE
#define this to get GArray-like behavior
* gdk_array_splice (v, 0, 0, NULL, 25)
Adding items but passing NULL as the items will zero() them.
* gdk_array_set_size()
A nicer way to call gdk_array_splice()
* constify getters
2020-07-16 18:09:58 +02:00
Benjamin Otte
088b5fc57f
icontheme: Use GdkArray
2020-07-16 18:09:58 +02:00
Benjamin Otte
a4cd974912
array: Add null-termination
2020-07-16 18:09:57 +02:00
Benjamin Otte
65359dcc59
snapshot: Port node list to GdkArray
2020-07-16 18:09:57 +02:00
Benjamin Otte
ac8b398c50
snapshot: Move structs into .c file
...
They aren't used anywhere else.
2020-07-16 18:09:57 +02:00
Benjamin Otte
aac2417893
Remove preallocated array code
...
Now with GdkArray, we can use that one instead.
2020-07-16 18:09:57 +02:00
Benjamin Otte
ad8892df10
main: Use a GdkArray
2020-07-16 18:09:57 +02:00
Benjamin Otte
edc7977c4e
cssselector: Use GdkArray
2020-07-16 18:09:57 +02:00
Benjamin Otte
8bf8ac5076
Add GdkArray
...
This is a scary idea where you #define a bunch of preprocessor values
and then #include "gdkarrayimpl.c" and end up with a dynamic array for
that data type.
See https://en.wikipedia.org/wiki/X_Macro for what's going on.
What are the advantages over using GArray or GPtrArray?
* It's typesafe
Because it works like C++ templates, we can use the actual type of
the object instead of having to use gpointer.
* It's one less indirection
instead of 2 indirections via self->array->data, this array is
embedded, so self->array is the actual data, and just one indirection
away. This is pretty irrelevant in general, but can be very noticable
in tight loops.
* It's all inline
Because the whole API is defined as static inline functions, the
compiler has full access to everything and can (and does) optimize
out unnecessary calls, thereby speeding up some operations quite
significantly, when full optimizations are enabled.
* It has more features
In particular preallocation allows for avoiding malloc() calls, which
can again speed up tight loops a lot.
But there's also splice(), which is very useful when used with
listmodels.
2020-07-16 18:09:57 +02:00
Benjamin Otte
c36cbd5140
sortlistmodel: Remove forgotten G_PARAM_CONSTRUCT_ONLY
2020-07-16 17:33:29 +02:00
Matthias Clasen
ee96bc7185
multiselection tests: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
f94f325636
filterlistmodel tests: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
6c1217dd93
filter tests: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
edb792503b
printunixdialog: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
3a43859286
Cosmetics
2020-07-16 08:54:36 -04:00
Matthias Clasen
c55dd104d4
placessidebar: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
497d137fb8
filechoosernativewin32: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
df01c5c7a4
columnlistitemfactory: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
2d1135fba6
applicationaccels: Plug a leak
...
g_list_model_get_item is transfer full.
2020-07-16 08:54:36 -04:00
Matthias Clasen
f54ed6f7dc
columviewsorter: Add an assertion
2020-07-16 08:54:36 -04:00
Matthias Clasen
b7efd896b6
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2249
2020-07-16 12:52:46 +00:00
Matthias Clasen
46eb51bc30
inspector: Avoid losing a reference
...
This was copying the example in the treelistrowsorter
docs that the previous commit fixed, so we apply
the same fix here.
2020-07-16 07:14:01 -04:00
Matthias Clasen
500dbaabc3
treelistrowsorter: Fix a faulty example
...
gtk_tree_list_row_sorter_new() consumes the
sorter, so we can't pass gtk_column_view_get_sorter(),
since that is transfer none.
2020-07-16 07:14:01 -04:00
Matthias Clasen
594ec3d822
inspector: Don't derive from GtkBox
...
We don't do that anymore. A bin layout
is sufficient here.
2020-07-16 07:14:01 -04:00
Matthias Clasen
f280508209
inspector: Drop a Private struct
...
These are really not needed in the inspector.
2020-07-16 07:14:01 -04:00
Matthias Clasen
480b88c776
inspector: Drop an unused field
2020-07-16 07:14:01 -04:00
Efstathios Iosifidis
a4e63905b1
Update Greek translation
2020-07-15 18:12:26 +00:00
Matthias Clasen
5666127dbc
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Use substring matching in the property list
See merge request GNOME/gtk!2247
2020-07-15 16:52:05 +00:00
Matthias Clasen
c1c110ba65
inspector: Use substring matching in the property list
...
This is convenient for things like "set both hexpand and
vexpand", since you can then search for "expand"
2020-07-15 11:29:06 -04:00
Florentina Mușat
eb2a839892
Update Romanian translation
2020-07-15 08:58:58 +00:00
Matthias Clasen
1c537a6d2e
Merge branch 'wip/jimmac/file-dialog-sidebar-color' into 'master'
...
Adwaita: sidebar color for file picker
See merge request GNOME/gtk!2242
2020-07-15 01:41:35 +00:00
Matthias Clasen
c12261a6ec
Merge branch 'wip/fix-picom-crasher' into 'master'
...
x11: Don't set up frame sync fence on unsupported compositors
Closes #2927
See merge request GNOME/gtk!2245
2020-07-15 01:40:49 +00:00
Matthias Clasen
5af7d6bff3
Merge branch 'idle-inhibit' into 'master'
...
Add support for idle inhibition on Wayland
Closes #2202
See merge request GNOME/gtk!2226
2020-07-15 01:38:55 +00:00
Matthias Clasen
de0f4b0f5b
Merge branch 'shortcuts-section-reflow-fix' into 'master'
...
Fix shortcuts section reflow
Closes #2928
See merge request GNOME/gtk!2246
2020-07-15 01:38:38 +00:00
Emmanuel Gil Peyrot
966ab1152d
gtk/wayland: Add support for idle inhibition in GtkApplication
...
This feature was previously only supported on DBus compositors, such as
Mutter, this adds support for other compositors such as all of those
based on wlroots.
This implementation prefers the idle-inhibit Wayland protocol to the
DBus version if it is available, since the inhibitor is per-surface
instead of global it allows a finer control over which displays get
dimmed for instance. For every case not supported by this protocol, a
fallback to the DBus version is used.
It can’t do anything if the GtkWindow isn’t passed, which might warrant
some documentation change to encourage users to not use NULL for this
argument.
This has been tested on Sway.
Fixes #2202 .
2020-07-14 21:47:22 +02:00
Emmanuel Gil Peyrot
74a4432688
gdk/wayland: Add an API to inhibit and uninhibit idle
...
This uses the idle-inhibit protocol from wayland-protocols, to attach an
inhibitor to the GdkSurface. The inhibit function can be called as many
times as the user wants, but the uninhibit function MUST be called as
many times to unset the idle inhibition.
This has been tested on Sway.
2020-07-14 21:47:22 +02:00
Matthias Clasen
115d0cdc07
Fix shortcuts section reflow
...
When this code was ported from gtk_container_get_children
to the dom api, we inadvertendly inverted the order of the
list in one place. With the dom api, we can just avoid
reversing lists altogether, so do that.
Fixes : #2928
2020-07-14 14:48:32 -04:00
Ray Strode
d0ec616fba
x11: Don't set up frame sync fence on unsupported compositors
...
Not all compositors support _NET_WM_FRAME_DRAWN. In cases
where the compositor doesn't support _NET_WM_FRAME_DRAWN we don't
need to do all the fancy damage tracking and fence watching.
Furthermore, if the compositor doesn't support _NET_WM_FRAME_DRAWN,
it's possible that one frame will start before the previous frame has
made it through the pipeline, leading to a blown assertion.
This commit side-steps the unnecessary code and associated assertion
when _NET_WM_FRAME_DRAWN isn't supported.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2927
2020-07-14 14:33:12 -04:00
Florentina Mușat
38cce2bb18
Update Romanian translation
2020-07-14 14:52:19 +00:00
Matthias Clasen
9cb7002b98
Merge branch 'wip/jimmac/large-title-letterspacing' into 'master'
...
Adwaita: revert letter-spacing for large-title
Closes #2932
See merge request GNOME/gtk!2243
2020-07-14 11:47:36 +00:00
Yuri Chornoivan
eb9c91c0a9
Update Ukrainian translation
2020-07-14 10:33:34 +00:00
Jakub Steiner
be07153efa
Adwaita: revert letter-spacing for large-title
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2932
2020-07-14 12:24:25 +02:00
Jakub Steiner
627ec82e60
Adwaita: sidebar color for file picker
...
- use menu like hovers and desaturated selected_bg_color
Partially addresses https://gitlab.gnome.org/GNOME/gtk/-/issues/1586
2020-07-14 11:37:29 +02:00
Matthias Clasen
ccc34ca06c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2241
2020-07-14 02:43:25 +00:00
Matthias Clasen
2b5dd0082d
inspector: Show some information about expressions
...
This is not too useful, but better than nothing.
2020-07-13 20:49:56 -04:00
Matthias Clasen
7b36b339aa
expression: Add some introspection
...
Add a few apis to peek inside expressions, mainly
for the benefit of GtkInspector and similar uses.
2020-07-13 20:19:07 -04:00
Matthias Clasen
b7eb663b82
gtk-demo: Make the words demo expand
...
We want to fill the window here.
2020-07-13 17:54:27 -04:00
Matthias Clasen
1b28353be5
inspector: Ellipsize in the object tree
...
We don't want a long label to blow up the width
of the inspector window.
2020-07-13 17:32:52 -04:00
Matthias Clasen
a07c030d02
inspector: Fix up input enum names
...
We've recently added and removed a few values in these
enumerations. Keep the names in sync, so we don't show
nonsense.
2020-07-13 17:13:43 -04:00
Matthias Clasen
339cccdf53
NEWS: Updates and fixes
2020-07-13 17:10:22 -04:00
Matthias Clasen
577126e99c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2240
2020-07-13 20:48:08 +00:00
Matthias Clasen
125ea5ee4a
treeexpander: Be focusable
...
We need to be focusable so that we can take focus
if the child doesn't.
2020-07-13 15:06:35 -04:00
Matthias Clasen
3c5afc06d1
searchbar: Set a focus vfunc
...
We don't want to take focus ourselves here.
2020-07-13 15:06:08 -04:00
Matthias Clasen
f87c15f4f9
Merge branch 'wip/jimmac/file-dialog-sidebar-color' into 'master'
...
Adwaita: sidebar color for file picker
Closes #1586
See merge request GNOME/gtk!2238
2020-07-13 16:31:07 +00:00
Jakub Steiner
fe5c0e2fe3
Adwaita: sidebar color for file picker
...
- avoid using the selected blue for the sidebar
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1586
2020-07-13 17:03:55 +02:00
Matthias Clasen
c8421cfd82
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2236
2020-07-13 14:38:03 +00:00
Matthias Clasen
fbf99b8d65
Merge branch 'wip/carlosg/windowhandle-gesture-state' into 'master'
...
gtkwindowhandle: Only claim gesture on action
See merge request GNOME/gtk!2237
2020-07-13 14:32:06 +00:00
Yuri Chornoivan
57312c9b79
Update Ukrainian translation
2020-07-13 14:18:40 +00:00
Carlos Garnacho
35d2539ef8
gtkwindowhandle: Only claim gesture on action
...
The press gesture does not need to set claimed state just for n-press
tracking, it will however reset all other click gestures on each press
if the event gets propagated all the way up.
Fixes tracking of multi-press in gestures in widgets that are children
of the window handle. E.g. the headerbar listview in the "File browser"
gtk4-demo demo.
2020-07-13 15:48:12 +02:00
Matthias Clasen
08a4f4552c
Give the inspector a devel header too
...
Lets clearly communicate that we're unstable.
2020-07-13 08:28:02 -04:00
Matthias Clasen
6502d3669f
print-editor: Set the devel style class
...
Lets clearly communicate that we're unstable.
2020-07-13 08:27:51 -04:00
Matthias Clasen
53831e67a7
Integrate the new icons
...
Install and use the node-editor and print-editor icons.
2020-07-13 07:30:46 -04:00
Jakub Steiner
e742fc1206
demos: icons for Print and Node Editors
...
- probably needs meson build hooks
2020-07-13 07:30:46 -04:00
Piotr Drąg
4ef5ee23e6
Update POTFILES.in
2020-07-13 13:17:37 +02:00
Matthias Clasen
4a8330fda0
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Work harder to filter the tree
See merge request GNOME/gtk!2234
2020-07-12 23:16:35 +00:00
Matthias Clasen
b4096cee64
gtk-demo: Work harder to filter the tree
...
Arrange for an item to be visible if it either
matches the filter or has children that do.
2020-07-12 18:26:56 -04:00
Matthias Clasen
032302c358
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2233
2020-07-12 21:23:07 +00:00
Matthias Clasen
a888e1cb65
demo: Clear filter when search is stopped
...
When the search entry disappears on Escape,
reset the search string to "", so we don't
end up with a filtered list and no obvious
way to remove the filtering.
2020-07-12 16:47:51 -04:00
Matthias Clasen
c80b33b2ad
gtk-demo: Make the search bar appear for typing
...
Having the search bar present from the start is
a bit jarring. Make it appear when called for.
2020-07-12 16:26:17 -04:00
Matthias Clasen
f32239df1f
searchbar: Add a key-capture-widget property
...
This is handy to set up this relationship in ui files,
and also makes it accessible in the inspector.
2020-07-12 16:25:48 -04:00
Matthias Clasen
22c1b541df
Merge branch 'wip/sadiq/demo-filter' into 'master'
...
demo: Add a search filter
See merge request GNOME/gtk!2232
2020-07-12 19:04:00 +00:00
Matthias Clasen
78a59c95fe
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2231
2020-07-12 16:59:10 +00:00
Mohammed Sadiq
7583d48266
demo: Add a search filter
2020-07-12 22:19:40 +05:30
Matthias Clasen
f1188aaeac
Fix gtk_file_chooser_error_stack_set_custom_error
...
This never worked, due to a typo.
2020-07-12 12:15:08 -04:00
Matthias Clasen
4dac5c222f
Drop GtkFileChooserEmbed
...
This private interface is no longer used.
2020-07-12 12:15:08 -04:00
Matthias Clasen
0145809a94
filechooserdialog: Stop using ::response-requested
...
Replace the ::response-requested signal by an action.
2020-07-12 12:15:08 -04:00
Matthias Clasen
2e6b8810c0
filechooserdialog: Stop using the embed interface
...
Just call private GtkFileChooserWidget api. There
is no real justification for diverting this through
an extra interface.
2020-07-12 10:59:49 -04:00
Matthias Clasen
d8abcdb5a1
Remove unused includes
...
Only GtkFileChooserWidget and GtkFileChooserDialog
use the GtkFileChooserEmbed interface.
2020-07-12 10:59:31 -04:00
Matthias Clasen
65ecfa20dd
filechooserwidget: Use dropdown api better
...
We now have GtkStringList, so we can implement
the choice api a little cleaner with it.
2020-07-12 10:58:33 -04:00
Matthias Clasen
aa5ab02166
filechooserwidget: Remove homegrown profiling
...
We have sysprof support now, so we no longer have
to use this homegrown profiler.
2020-07-12 10:58:33 -04:00
Matthias Clasen
7ddbbb50ff
Merge branch 'drop-file-system' into 'master'
...
Drop file system
See merge request GNOME/gtk!2229
2020-07-12 14:41:01 +00:00
Matthias Clasen
f2eb036119
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Make style apply in the file browser
See merge request GNOME/gtk!2230
2020-07-12 13:58:30 +00:00
Matthias Clasen
8a8b96bf4b
Drop GtkFileSystem
...
It is no longer used.
2020-07-12 09:49:31 -04:00
Matthias Clasen
bdcda2d8f0
filechooserwidget: Stop using GtkFileSystem
...
Just use gio directly.
2020-07-12 09:49:31 -04:00
Matthias Clasen
ef3f997d55
filechooser: Drop get_file_system from the interface
...
This is no longer used.
2020-07-12 09:49:31 -04:00
Matthias Clasen
b41d380230
filechooserbutton: Stop using GtkFileSystem
...
Just use gio directly.
2020-07-12 09:49:31 -04:00
Matthias Clasen
0210850e86
Reduce includes of gtkfilesystem.h
...
Move a few non-filesystem helpers to gtkfileutils.h,
and drop the include in all the places where it isn't needed.
2020-07-12 09:12:43 -04:00
Matthias Clasen
053223bf65
pathbar: Stop using GtkFileSystem
...
This is just a thin wrapper around some gio functionality
these days, and we want to get rid of it.
2020-07-12 09:12:43 -04:00
Matthias Clasen
746b84cc0f
gtk-demo: Make style apply in the file browser
...
Commit 5afe6f7825 claims to make this demo
'look good', but it failed to actually make its
css apply. Now it really looks good.
2020-07-12 08:11:42 -04:00
Matthias Clasen
f1ad883e00
pathbar: Drop the Private struct
2020-07-11 17:23:55 -04:00
Matthias Clasen
191e0e8d5e
Merge branch 'matthiasc/for-master' into 'master'
...
Fix the build with clang
See merge request GNOME/gtk!2225
2020-07-10 19:29:18 +00:00
Matthias Clasen
55217e2181
Fix the build with clang
...
clang doesn't allow G_GNUC_FALLBACK in dead code.
Seems silly, but what can we do.
2020-07-10 13:21:23 -04:00
Emmanuele Bassi
7c8cd23c5f
Merge branch 'ebassi/ci-timeout' into 'master'
...
Ebassi/ci timeout
See merge request GNOME/gtk!2223
2020-07-10 17:01:56 +00:00
Matthias Clasen
6aafb81702
Merge branch 'ci-tweaks' into 'master'
...
ci: Use lsan again
See merge request GNOME/gtk!2224
2020-07-10 16:13:48 +00:00
Emmanuele Bassi
0578422612
build: Restructure the tests to use dictionaries
...
Instead of an array of arrays, let's use an array of dictionaries; it's
easier to add optional keys without requiring to remember where to put
empty arrays.
2020-07-10 16:32:15 +01:00
Emmanuele Bassi
ad04da84c9
Add the filtermodel-exhaustive test to the slow suite
...
This increases the default timeout.
2020-07-10 16:16:15 +01:00
Emmanuele Bassi
333b013f7f
Increase the default timeout for slow tests
...
If a test is part of the 'slow' test suite, we should increment the
default timeout to compensate.
2020-07-10 16:13:37 +01:00
Matthias Clasen
b3dc517565
ci: Use lsan again
...
Turning it off didn't fix the crashes; and we allow
the asan build to fail anyway now. And the leak reports
are useful whenever it doesn't crash.
2020-07-10 11:11:42 -04:00
Emmanuele Bassi
70e4dabe89
ci: Increase the timeout multiplier
...
We do have some slow tests.
2020-07-10 16:08:59 +01:00
Emmanuele Bassi
d3443d6f2a
ci: Use the timeout multiplier from the environment
...
When running our test suite on our CI infrastructure.
2020-07-10 16:08:14 +01:00
Matthias Clasen
a508f68044
Merge branch 'asan-ci' into 'master'
...
Asan ci
See merge request GNOME/gtk!2214
2020-07-10 13:04:34 +00:00
Matthias Clasen
f191b64bbc
Disable lsan for now
...
The leak sanitizer causes on average 3-4 tests
to segfault during a testsuite run. Disable it
for now to see if we can get a successful
testsuite run with asan alone.
2020-07-10 07:32:48 -04:00
Matthias Clasen
e9efe77839
Merge branch 'wip/Jehan/gio-querymodules-pkg-config-master' into 'master'
...
build-aux: search various Glib/GIO utilities in .pc file.
See merge request GNOME/gtk!2129
2020-07-09 23:53:25 +00:00
Matthias Clasen
d98c0d32f2
ci: Add a build with asan
...
Run our testsuite under asan. We do this in a
separate build, since we need to turn off
introspection to make the build succeed.
As Michael Catanzaro pointed out, this requires a
privileged runner in order to use kernel apis.
2020-07-09 19:43:06 -04:00
Matthias Clasen
dfa2dcceb8
Merge branch 'matthiasc/for-master' into 'master'
...
x11: Plug a memory leak
See merge request GNOME/gtk!2222
2020-07-09 23:06:37 +00:00
Matthias Clasen
d441e7106b
x11: Plug a memory leak
...
Don't leak atoms when we're storing the clipboard.
2020-07-09 18:19:32 -04:00
Benjamin Otte
4cd92f979c
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2221
2020-07-09 21:34:02 +00:00
Benjamin Otte
d1a068e5b1
sorter: Remove a return_if_fail()
...
It's too expsensive.
2020-07-09 22:29:36 +02:00
Benjamin Otte
4d90846182
testsuite: Be more exhaustive
...
Create larger source models in tests, so that we hit the incremental
batch size more often and have a higher chance to expose bugs there.
2020-07-09 22:29:36 +02:00
Benjamin Otte
986f721938
filterlistmodel: Don't filter out every 513th element
...
Incremental filtering would skip every 513th element due to an
off-by-one error.
Test included
2020-07-09 22:29:36 +02:00
Matthias Clasen
7903246355
Ignore more leaks in asan
...
These showed up in ci. The atk-bridge will
be gone before too long anyway. Since we
may not have debug symbols in ci, just at
the so's.
2020-07-09 16:18:07 -04:00
Matthias Clasen
0252ae2be3
Merge branch 'wip/carlosg/range-autoscroll' into 'master'
...
gtkrange: group gestures the right way around
See merge request GNOME/gtk!2220
2020-07-09 20:05:07 +00:00
Matthias Clasen
fa90e42a38
ci: Set LSAN_OPTIONS for tests
...
When running the testsuite with the address sanitizer,
many of our dependencies cause it to report cause it
to report memory leaks, causing tests to fail.
Therefore, point the leak sanitizer at a list of
suppressions. The list is kept in the lsan.supp
file in git.
2020-07-09 15:07:50 -04:00
Matthias Clasen
2d36109565
ci: Use the fedora:v20 image
...
This image includes libasan and libubsan.
2020-07-09 15:07:50 -04:00
Matthias Clasen
de8258171a
ci: Mention image layering in the README
2020-07-09 15:07:50 -04:00
Matthias Clasen
2ed6224778
ci: Add libasan and libubsan to the image
...
Add libasan and libubsan to fedora-base:v20,
and build fedora:20 on top of it.
This is so we can build and run the tests with
the address and undefined behavior sanitizers.
2020-07-09 15:07:50 -04:00
Carlos Garnacho
e1a0171094
gtkrange: group gestures the right way around
...
The gtk_gesture_group() call is not a commutative operation, it
takes two gestures, maybe detaches the first one from its current
group, and adds it to the same group than the second gesture.
With the flipped argument order here, GtkRange was actually detaching
the same gesture in order to group it with a second one two times, so
the desired effect to group all 3 gestures was not achieved.
Fixes autoscroll as the drag gesture is now actually grouped with the
click one, so drag offsets can be accessed from the autoscroll
timeout.
2020-07-09 20:49:25 +02:00
Matthias Clasen
395521f3d3
x11: Plug a memory leak
...
Don't leak atoms when we're storing the clipboard.
2020-07-09 13:52:53 -04:00
Matthias Clasen
8c95a84ea4
Merge branch 'matthiasc/for-master' into 'master'
...
css: Plug a memory leak
Closes #2921
See merge request GNOME/gtk!2219
2020-07-09 17:19:57 +00:00
Matthias Clasen
75db19c789
css: Plug a memory leak
...
When a rule has no styles, we don't add it
to our ruleset. Since we are not adopting
the selectors in this case, we must free them.
Fixes : #2921
2020-07-09 12:14:18 -04:00
Matthias Clasen
f00d2b30bb
Merge branch 'wip/carlosg/scrollbar-fixes' into 'master'
...
Scrollbar fixes
Closes #2879
See merge request GNOME/gtk!2216
2020-07-09 15:56:13 +00:00
Carlos Garnacho
c0c5ce2f9b
gdk/x11: Ignore regular crossing events while in implicit grabs
...
If we create an implicit grab on a surface, leave the surface, and
release the button, we would get 2 XI_Leave events, one with mode
XINotifyNormal when the pointer leaves the surface, and another with
mode XINotifyUngrab when the button is released.
Meanwhile, the upper layers rely on crossing events being paired,
and particularly in no crossing event being sent until the implicit
grab is dismissed (either by releasing it, or via more pervasive
grabs).
Ignoring the set of XINotifyNormal events while an implicit grab
is active adapts the X11 backend to this behavior. If the grab were
released or taken away by another grab, a crossing event with one
of the other XINotify*Grab/XINotify*Ungrab will be generated.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2879
2020-07-09 17:02:07 +02:00
Matthias Clasen
ee9f9ae05e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2212
2020-07-09 14:49:42 +00:00
Matthias Clasen
387649ded4
Merge branch 'ebassi/subprojects-depth' into 'master'
...
Use depth=1 for cloning sub-projects
See merge request GNOME/gtk!2215
2020-07-09 14:39:01 +00:00
Matthias Clasen
be12131d74
Merge branch 'file-chooser-api-cleanup-2' into 'master'
...
File chooser api cleanup 2
See merge request GNOME/gtk!2213
2020-07-09 14:31:14 +00:00
Carlos Garnacho
896ebdc9d7
gtkscrolledwindow: Look up correctly target in captured motion events
...
Check correctly that the captured motion events are emitted towards the
content or one of the scrollbars, in order to have it set the expected
"over" state depending on whether the drag begins from the scrolledwindow
content or one of the scrollbars.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2879
2020-07-09 16:10:55 +02:00
Matthias Clasen
bc58bd0b83
NEWS: Updates
2020-07-09 09:29:09 -04:00
Matthias Clasen
8d4c87876b
Add a suppression file for asan
...
This can be used similar to valgrind suppressions:
LSAN_OPTIONS=suppressions=`pwd`/lsan.supp meson tests -Cbuild
2020-07-09 09:29:09 -04:00
Matthias Clasen
cebc99ddc7
tests: Plug some more memory leaks
...
These showed up under asan.
2020-07-09 09:29:09 -04:00
Matthias Clasen
1b62203f18
cups: Plug a memory leak
...
This showed up under asan.
2020-07-09 09:29:09 -04:00
Matthias Clasen
06dd8c2cfd
Merge branch 'wayland_surface_app_id_changing' into 'master'
...
add a way to change the application_id of a toplevel wayland GdkSurface
See merge request GNOME/gtk!2205
2020-07-09 13:28:07 +00:00
Emmanuele Bassi
5da21ca4dc
Use depth=1 for cloning sub-projects
...
We don't really need the full history and branches when building
sub-projects.
This should shave some bandwidth and time in our CI pipeline as well.
2020-07-09 14:07:14 +01:00
Matthias Clasen
3e16ef33b0
Merge branch 'fix-levelbar-layout' into 'master'
...
levelbar: Chainup to parent buildable when handling custom tags
See merge request GNOME/gtk!2200
2020-07-09 11:42:33 +00:00
Matthias Clasen
2746a2d929
filechooser: Drop the ::selection-changed signal
...
This signal does not work on native file choosers,
and it exposes internals of the widget that should
not be public. And it is just not very interesting.
2020-07-09 02:06:31 -04:00
Matthias Clasen
e31bacf7be
filechooser: Drop the ::current-folder-changed signal
...
This signal does not work on native file choosers,
and it exposes internals of the widget that should
not be public. And it is just not very interesting.
2020-07-09 01:48:33 -04:00
Matthias Clasen
911ae64931
filechoosernative: Update docs
...
Remove mention of things that are no longer
in the filechooser api.
2020-07-09 01:44:09 -04:00
Matthias Clasen
99a0b35705
filechooser: Drop the ::file-activated signal
...
This signal does not work on native file choosers,
and it exposes internals of the widget that should
not be public. And it is just not very interesting.
2020-07-09 01:40:08 -04:00
Matthias Clasen
89bf8af878
filechooser: Make get_files return a list model
...
Like the other list getters in this interface,
make gtk_file_chooser_get_files() return a
list model.
2020-07-09 01:29:20 -04:00
Matthias Clasen
f3744c991a
Cosmetics
2020-07-09 01:02:21 -04:00
Matthias Clasen
dcee15c0f1
filechooser: Drop gtk_file_chooser_[un]select_file
...
Most use cases for these apis can be handled with
gtk_file_chooser_set_file and/or
gtk_file_chooser_set_current_folder.
2020-07-09 00:50:03 -04:00
Matthias Clasen
2321e9de05
filechooser: Drop gtk_file_chooser_[un]_select_all
...
For now, we just remove them as public api, they are
still used internally.
2020-07-09 00:50:03 -04:00
Matthias Clasen
73dcda460f
tests: Stop using file chooser apis that are going away
...
gtk_file_chooser_[un]select_all are going away, stop
using them.
2020-07-09 00:50:03 -04:00
Matthias Clasen
0f8bc67a98
docs: Add gtk_file_chooser_get_shortcut_folders
2020-07-09 00:50:03 -04:00
Matthias Clasen
379d830123
Merge branch 'printing-portal-fix-master' into 'master'
...
Remember to call print_cb even if print operation is cancelled.
Closes #2917
See merge request GNOME/gtk!2211
2020-07-09 04:40:34 +00:00
Matthias Clasen
bc8bc68b80
Add a suppression file for asan
...
This can be used similar to valgrind suppressions:
LSAN_OPTIONS=suppressions=`pwd`/lsan.supp meson tests -Cbuild
2020-07-09 00:33:35 -04:00
Matthias Clasen
8c4df51a14
tests: Plug some more memory leaks
...
These showed up under asan.
2020-07-09 00:33:14 -04:00
Matthias Clasen
06d67d2384
cups: Plug a memory leak
...
This showed up under asan.
2020-07-09 00:32:17 -04:00
Casey Jao
cc8bb5fc54
Remember to call print_cb even if print operation is cancelled.
...
Closes #2917 .
2020-07-08 23:32:43 -04:00
Matthias Clasen
8fb1e33d0f
Merge branch 'matthiasc/for-master' into 'master'
...
directorylist: Fix file monitoring implementation
See merge request GNOME/gtk!2209
2020-07-09 02:08:53 +00:00
Matthias Clasen
0dc946da63
testsuite: Assorted leak fixes
...
All found by asan.
2020-07-08 17:44:49 -04:00
Matthias Clasen
26a23d3e56
shortcuttrigger: Fix some leaks in error paths
...
Found while running the testsuite under asan.
2020-07-08 17:44:42 -04:00
Matthias Clasen
766f4bc8fe
css: Fix some memory leaks in error paths
...
Found while running the testsuite under asan.
2020-07-08 17:44:36 -04:00
Matthias Clasen
3d008d5929
picture: Don't leak alternative-test
...
This leak showed up while running the testsuite
under asan.
2020-07-08 17:44:29 -04:00
Matthias Clasen
0546e26434
bookmarklist: Don't leak uris
...
This leak showed up in multiple places while
running the testsuite under asan.
2020-07-08 17:44:23 -04:00
Matthias Clasen
e6d8eedc00
testsuite: Fix a memory leak in the bitmask tests
...
This was showing up when running under asan.
2020-07-08 17:44:16 -04:00
Matthias Clasen
13b37b0ba4
gsk: Fix a transform leak
...
This was found by running our testsuite under asan.
2020-07-08 17:44:08 -04:00
Matthias Clasen
779c71b66d
testsuite: Fix some memory leaks reported by asan
2020-07-08 15:09:13 -04:00
Matthias Clasen
8e73d007f5
testsuite: Fix an asan error
...
asan complains that some of the memorytexture tests
read past limits. Avoid that.
2020-07-08 15:09:08 -04:00
Matthias Clasen
e376d638fb
directorylist: Fix file monitoring implementation
...
The while loops were never advancing the iterator.
Oops.
2020-07-08 15:08:53 -04:00
Yuri Chornoivan
52982a88aa
Update Ukrainian translation
2020-07-08 18:28:01 +00:00
Baurzhan Muftakhidinov
422c1d9c0d
Update Kazakh translation
2020-07-08 17:44:28 +00:00
Daniel Șerbănescu
ccc8ad8700
Update Romanian translation
2020-07-08 16:22:30 +00:00
Florentina Mușat
6b0eb970d8
Update Romanian translation
2020-07-08 16:17:12 +00:00
Florentina Mușat
775e35865c
Update Romanian translation
2020-07-08 08:33:20 +00:00
Matthias Clasen
49ce680d53
Merge branch 'directorylist-monitor' into 'master'
...
directorylist: Add monitoring
See merge request GNOME/gtk!2207
2020-07-08 02:25:46 +00:00
Matthias Clasen
463f3d3a52
directorylist: Add monitoring
...
Add a GtkDirectoryList:monitored property, and
keep a file monitor if it is set to TRUE. To ensure
that the list reflects reality, we reload the directory
when monitoring is turned on after the fact. This means
that turning monitoring is expensive, while turning it
off is cheap, so we default to monitoring being on.
2020-07-07 21:21:41 -04:00
Jordi Mas
f6347f18b0
Fixes to Catalan translations
2020-07-07 20:24:24 +02:00
Yuri Chornoivan
2e959fe300
Update Ukrainian translation
2020-07-07 18:03:32 +00:00
Yuri Chornoivan
56f771ba29
Update Ukrainian translation
2020-07-07 17:55:52 +00:00
Baurzhan Muftakhidinov
32e96215b4
Update Kazakh translation
2020-07-07 17:21:22 +00:00
Matthias Clasen
86f800e11d
Merge branch 'inspector-navigation' into 'master'
...
Inspector navigation
See merge request GNOME/gtk!2201
2020-07-07 17:04:51 +00:00
Matthias Clasen
4d371b2b16
inspector: Fix property list styling
...
We use dropdowns here now, so style them.
Also, avoid the swoosh when switching to the
property list, when everything shrinks.
2020-07-07 11:21:42 -04:00
Caolán McNamara
7e97c2513f
gtk#767 add a way to change the application_id of a toplevel wayland GdkSurface
...
so LibreOffice can reuse toplevels and get the right task icons
references;
https://gitlab.gnome.org/GNOME/gtk/-/issues/767
https://lists.freedesktop.org/archives/wayland-devel/2019-July/040704.html
e0d6ad1d5e
https://bugs.documentfoundation.org/show_bug.cgi?id=125934
https://bugzilla.redhat.com/show_bug.cgi?id=1334915
https://bugreports.qt.io/browse/QTBUG-77182
2020-07-07 15:56:12 +01:00
Emmanuele Bassi
2bf5a150e6
Merge branch 'issue-2915' into 'master'
...
Issue 2915
Closes #2915
See merge request GNOME/gtk!2204
2020-07-07 11:48:07 +00:00
Emmanuele Bassi
18c87faaa5
Annotate string array
...
Fixes : #2915
2020-07-07 12:06:28 +01:00
Emmanuele Bassi
fdeda388bf
Fix "not nullable" annotation
2020-07-07 12:03:44 +01:00
Stefano Facchini
ea2c27c640
levelbar: Chainup to parent buildable when handling custom tags
...
This is necessary to handle <layout> tags.
2020-07-07 09:34:00 +02:00
Matthias Clasen
dfc04a590d
inspector: Reshuffle the sidebar
...
Move the sidebar in the object page below the
object header, for a more logical hierarchy.
2020-07-07 02:05:18 -04:00
Matthias Clasen
fe5b364675
inspector: Drop unused properties
...
The individual pages no longer need the object tree
to show object details, this works with the window
now.
2020-07-07 01:25:21 -04:00
Matthias Clasen
9b73c55559
Merge branch 'patch-1' into 'master'
...
Fix typo: Filer -> Filter
See merge request GNOME/gtk!2203
2020-07-07 05:08:19 +00:00
Matthias Clasen
0b38a0663d
inspector: Add dom-like navigation controls
...
Maintain a stack of objects, and add ˂˅˄˃ buttons
that navigate this stack, as well as the widget
tree and list models.
2020-07-07 00:51:18 -04:00
Matthias Clasen
e5c0716293
inspector: Remove an unused field
2020-07-07 00:48:43 -04:00
Matthias Clasen
54a3293cad
stack: Fix handling of GtkStackPage:visible
...
The stack wasn't updating its visible-child when
the stack pages visible property changes. This
showed up in the inspector, when showing the details
for a list model item.
2020-07-07 00:48:43 -04:00
Yuri Chornoivan
818287a7ce
Update Ukrainian translation
2020-07-07 04:45:03 +00:00
Yuri Chornoivan
59119cd898
Fix typo: Filer -> Filter
2020-07-07 04:41:44 +00:00
Daniel Șerbănescu
817da34f7e
Update Romanian translation
2020-07-06 20:41:16 +00:00
Daniel Șerbănescu
8fa44fc3e6
Update Romanian translation
2020-07-06 20:38:44 +00:00
Jordi Mas
c7e94151b2
Update Catalan translation
2020-07-06 22:35:10 +02:00
Matthias Clasen
729ba44297
Merge branch 'wip/otte/filterlistmodel' into 'master'
...
Improve GtkFilterListModel
See merge request GNOME/gtk!2199
2020-07-06 15:42:44 +00:00
Matthias Clasen
2a2a6879c5
Merge branch 'file-chooser-api-cleanups' into 'master'
...
File chooser api cleanups
See merge request GNOME/gtk!2195
2020-07-06 15:41:56 +00:00
Matthias Clasen
e7b773b031
filechooser: Add a readonly :shortcut-folders property
...
This makes the shortcut folders list accessible in the
the inspector.
2020-07-06 11:03:48 -04:00
Matthias Clasen
57a225681c
filechooser: Add gtk_file_chooser_get_shortcuts
...
Replace gtk_file_chooser_list_shortcuts with a new
api that returns a list model.
Update all callers.
2020-07-06 11:03:48 -04:00
Matthias Clasen
ea07a92366
filechooser: Add a readonly :filters property
...
This makes the filters list accessible in the
the inspector.
2020-07-06 11:03:48 -04:00
Matthias Clasen
76290e8ddb
filechooser: Add gtk_file_chooser_get_filters
...
Replace gtk_file_chooser_list_filters with a new
api that returns a list model.
Update all callers.
2020-07-06 10:36:35 -04:00
Jordi Mas
26d83b1ab7
Update Catalan translation
2020-07-06 09:41:45 +02:00
Jordi Mas
2bba856206
Update Catalan translation
2020-07-06 08:54:41 +02:00
Benjamin Otte
bf3382a89e
testsuite: Add more filterlistmodel tests
...
These ones try to be exhaustive and randomly catch weird cases.
As such, the tests are more complicated and harder to grasp.
Sorry.
2020-07-06 03:42:43 +02:00
Benjamin Otte
3162e25671
bitset: Fix typo: gtk_bitset_slice() => gtk_bitset_splice()
2020-07-06 03:42:43 +02:00
Benjamin Otte
3d931b4fe2
bitset: Don't overflow when splicing
...
Testcase added.
2020-07-06 03:42:43 +02:00
Matthias Clasen
fc770a383a
gtk-demo: Use a progressbar in the words demo
...
This looks better and a bit more polished.
2020-07-06 03:42:43 +02:00
Matthias Clasen
62c385a9dd
gtk-demo: No selection in the words demo
...
This demo is about filtering, not about selection,
so use a GtkNoSelection.
2020-07-06 03:42:43 +02:00
Matthias Clasen
7c4ad1a5c4
gtk-demo: Cosmetic fixes for the words demo
...
Set a window size, and don't put newlines in titles, left align and
ellipsize the label.
2020-07-06 03:42:43 +02:00
Benjamin Otte
ac524bb13a
demo: Make words listview load async
...
And add an "Open" button (why are filechooser buttons such a catastrophe
that I can't make them smaller?).
2020-07-06 03:42:43 +02:00
Benjamin Otte
66fa9380b5
filterlistmodel: Look at type of change
...
This way we can avoid refiltering most of an already filtered list when
the change becomes more strict.
2020-07-06 03:42:43 +02:00
Benjamin Otte
b64eb6ca13
gtk-demo: Add incremental filtering to words demo
2020-07-06 03:42:43 +02:00
Benjamin Otte
9b2d8ac362
filterlistmodel: Add gtk_filter_list_model_get_pending()
...
This allows tracking if the model is busy filtering.
2020-07-06 03:42:43 +02:00
Benjamin Otte
2a90bc1a9b
filterlistmodel: Add incremental filtering
2020-07-06 03:42:43 +02:00
Benjamin Otte
d4b868d9bc
filterlistmodel: Rewrite with bitset data structure
...
Bitsets are more powerful, less memory intensive and faster than the old
GtkRbTree version.
2020-07-06 03:42:43 +02:00
Benjamin Otte
b54f6710a7
gtk-demo: Add a listview demo for filtering strings
2020-07-06 03:42:42 +02:00
Matthias Clasen
6bb7caf155
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2198
2020-07-06 00:42:14 +00:00
Matthias Clasen
202348f9d0
filefilter: Cosmetics
...
Various cleanups to make this code look less ancient.
2020-07-05 19:54:57 -04:00
Matthias Clasen
1a613de2f6
filefilter: Cosmetics
2020-07-05 19:54:20 -04:00
Matthias Clasen
665df37703
filefilter: Header file cosmetics
2020-07-05 19:36:45 -04:00
Matthias Clasen
acad5e4e3d
filefilter: Fix an embarrassing oversight
...
I forgot to remove some dead code, and left the
pixbuf_formats list in the rule union. Oops.
2020-07-05 19:32:36 -04:00
Matthias Clasen
6267c8469b
Merge branch 'file-filter2' into 'master'
...
Make GtkFileFilter a GtkFilter
See merge request GNOME/gtk!2190
2020-07-05 20:32:05 +00:00
Matthias Clasen
5a2f791bdd
filefilter: Cleanups and optimizations
...
Make mime-type rules hold multiple types. Store the
content types, so we don't have to do mime-type -> content-type
conversion in the match function. Store content types for the
pixbuf-formats rule as well, so we can avoid memory allocation
in the match function altogether.
2020-07-05 15:12:07 -04:00
Matthias Clasen
286a00a1db
docs: Cleanups for the file filter docs
...
Now that GtkFileFilter is a GtkFilter, move it to the
filter section of the docs. While we are at it, touch
up the docs in some places.
2020-07-05 15:10:18 -04:00
Matthias Clasen
11dd602b28
Drop gtk_file_filter_filter
...
It has been superseded by gtk_filter_match.
2020-07-05 15:10:18 -04:00
Matthias Clasen
35988d659d
Stop using gtk_file_filter_filter
...
Make all users of GtkFileFilter use it via the
GtkFilter api. This is in preparation for dropping
gtk_filter_filter_filter.
2020-07-05 15:10:18 -04:00
Matthias Clasen
be3449b3ce
filefilter: Convert to a GtkFilter
...
Make GtkFileFilter implement GtkFilter.
2020-07-05 15:10:18 -04:00
Matthias Clasen
2d8fddc1e9
filefilter: Drop GtkFileFilterFlags
...
Replace gtk_file_filter_get_needed by gtk_file_filter_get_attributes,
which directly returns the attributes that are needed.
Update all callers.
2020-07-05 15:10:13 -04:00
Matthias Clasen
644d522d19
filefilter: Drop custom filters
...
These don't work with native file choosers.
2020-07-05 14:34:33 -04:00
Matthias Clasen
a8b0125da1
filefilter: Drop GtkFileFilterInfo
...
We can just make the filter operate on GFileInfo.
This is in preparation for making GtkFileFilter a
GtkFilter.
Update all users.
2020-07-05 13:55:42 -04:00
Matthias Clasen
acccac516e
filefiler: No more floating
...
Make GtkFileFilter not be initially unowned anymore.
This is in preparation for deriving GtkFileFilter
from GtkFilter. Update all callers.
2020-07-05 12:36:47 -04:00
Matthias Clasen
d65214fa4e
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2193
2020-07-05 16:06:16 +00:00
Baurzhan Muftakhidinov
1d96fc8237
Update Kazakh translation
2020-07-05 12:51:00 +00:00
Florentina Mușat
882a87ca19
Update Romanian translation
2020-07-05 10:42:46 +00:00
Benjamin Otte
1dbb8df95f
stringlist: Export gtk_string_object_new()
...
There are various use cases where it makes sense to construct these -
from our internal testing to using them in flatten- or mapmodels.
2020-07-05 02:59:21 +02:00
Benjamin Otte
f6c2c2edbd
stringlist: Call splice() for adding items after construction
...
This has the benefit of actually allowing NULL to be passed.
2020-07-05 02:59:21 +02:00
Benjamin Otte
c4e4de36f6
stringlist: Remove n_additions argument from gtk_string_list_splice()
...
char ** arrays are null-terminated everywhere, so make sure they are in
splice(), too.
Also fix the argument to be a const char * const * like in the
constructor.
2020-07-05 02:59:21 +02:00
Benjamin Otte
67cbb2a7d3
stringlist: Clarify docs for gtk_string_list_get_string()
...
Make sure it's obvious that it behaves like g_list_model_get_item() and
returns NULL for pos >= n_items.
2020-07-05 02:59:21 +02:00
Benjamin Otte
a979daa8ea
stringlist: Make one constructor call the other
...
Simplifies code.
2020-07-05 02:59:21 +02:00
Benjamin Otte
fb14f50ec1
stringlist: Make property not construct-only
...
Massively speeds up creation of long stringlists.
2020-07-05 02:59:21 +02:00
Benjamin Otte
6099fbafc1
bitset: Add gtk_bitset_new_range()
...
It's a common use.
2020-07-05 02:59:21 +02:00
Benjamin Otte
6f2f828bce
tests: Make testlistview be a list again
...
The grid conversion was for testing and should never have been
committed.
2020-07-05 02:59:21 +02:00
Benjamin Otte
795d3122cc
selectionmodels: Add set_model() support
...
Now that we don't care about item types anymore, we can make the child
models settable.
We try to retain the selection, even when the model changes.
2020-07-05 02:59:21 +02:00
Benjamin Otte
5080730728
listmodels: Stop respecting item-type
...
Simplify all view model APIs and always return G_TYPE_OBJECT as the
item-type for every model.
It turns out nobody uses item-type anyway.
So instead of adding lots of APIs, forcing people to think about it and
trying to figure out how to handle filter or map models that modify item
types, just having an easy life is a better approach.
All the models need to be able to deal with any type of object going
through anyway.
2020-07-05 02:59:21 +02:00
Benjamin Otte
f75a3a0e95
stringlist: Take a const char const * argument
...
Sucks that we need to cast a char**, but otherwise we need to cast
{"foo", "bar", "baz" } arrays.
2020-07-05 02:34:42 +02:00
Benjamin Otte
b75db7d1c6
stringfilter: Don't crash if the expression returns ""
2020-07-05 00:34:21 +02:00
Benjamin Otte
b03069bdf6
a11y: Remove double initialization of variables
2020-07-05 00:34:21 +02:00
Yuri Chornoivan
1c71e56e75
Update Ukrainian translation
2020-07-04 17:02:55 +00:00
Matthias Clasen
9332d0dcc8
Merge branch 'typo' into 'master'
...
Fixes typos
See merge request GNOME/gtk!2188
2020-07-04 15:48:29 +00:00
Matthias Clasen
9ad37583e6
Merge branch 'matthiasc/for-master' into 'master'
...
filechooser: Make filtering work again
See merge request GNOME/gtk!2189
2020-07-04 15:46:19 +00:00
Matthias Clasen
69975627e9
filechooser: Make filtering work again
...
One too many lines were dropped when this filter combo
was converted to a dropdown. Bring it back, to make
filtering work again.
2020-07-04 10:28:10 -04:00
Piotr Drąg
b74a489aba
Update POTFILES.in and POTFILES.skip
2020-07-04 13:37:03 +02:00
Jordi Mas
599b807726
Fixes typos
2020-07-04 10:00:25 +02:00
Jordi Mas
6510ca8bdd
Update Catalan translation
2020-07-04 09:58:03 +02:00
Matthias Clasen
be20a04e04
Merge branch 'selection-filter-fixes' into 'master'
...
Selection filter fixes
See merge request GNOME/gtk!2186
2020-07-03 16:10:03 +00:00
Matthias Clasen
92e5536335
testsuite: Add selection filter model tests
...
Verify that the selection filter changes mirror
the selection changes of the underlying model,
as expected. These tests verify the fixes in
the previous commit.
2020-07-03 11:12:55 -04:00
Matthias Clasen
c2da2f7ecd
selectionfilter: Fix bugs in signal translation
...
When the position is 0, we can't check for unchanged
elements below with gtk_bitset_size_in_range. And
we don't need to, either.
And be careful when translating [start,length]
intervals to [first,last] ones. Off-by-one errors
lurk everywhere.
2020-07-03 11:12:55 -04:00
Matthias Clasen
130bd5937c
docs: Add guidance about list model performance
...
Add a section about the performance tradeoffs between
different list model implementations.
2020-07-03 09:29:19 -04:00
Boyuan Yang
54bfd380a8
Update Chinese (China) translation
2020-07-03 12:49:24 +00:00
Matthias Clasen
f01d695e6c
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Fix the monitor list width
Closes #2909
See merge request GNOME/gtk!2185
2020-07-03 05:51:29 +00:00
Matthias Clasen
619b2465c1
inspector: Fix the monitor list width
...
Fixes #2909
2020-07-03 01:07:13 -04:00
Matthias Clasen
cc18191a8e
Merge branch 'wip/exalm/show-title-buttons' into 'master'
...
headerbar: Show title buttons by default
See merge request GNOME/gtk!2175
2020-07-03 05:05:24 +00:00
Matthias Clasen
1f8e7c8aab
Merge branch 'selection-filter' into 'master'
...
Selection filter
See merge request GNOME/gtk!2184
2020-07-03 04:15:12 +00:00
Matthias Clasen
671daea262
gtk-demo: Track the selection
...
Use GtkSelectionFilterModel to track and display the
selection. Add some other selection information for
good measure.
2020-07-02 22:59:03 -04:00
Matthias Clasen
76533513c2
Add a selection filter model
...
This model presents the selection of a GtkSelectionModel
as its own list model.
2020-07-02 22:59:03 -04:00
Matthias Clasen
0d3988365b
filterlistmodel: Make model not construct-only
...
This property wasn't meant to be construct-only.
2020-07-02 22:59:03 -04:00
Benjamin Otte
0966636803
bitset: Add APIs needed for a filterlistmodel
2020-07-02 17:19:16 -04:00
Alexander Mikhaylenko
7c3b30036e
headerbar: Show title buttons by default
...
Most of the time show-title-buttons is set to TRUE. Go ahead and make that
the default.
2020-07-02 23:51:16 +05:00
Matthias Clasen
988901294d
Merge branch 'matthiasc/for-master' into 'master'
...
Add gtk_multi_selection_get_model
See merge request GNOME/gtk!2179
2020-07-01 01:36:47 +00:00
Matthias Clasen
43b9fc6981
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!2162
2020-07-01 01:35:56 +00:00
Benjamin Otte
25f670faae
Merge branch 'wip/chergert/gtk4-remove-textlayout-vtable' into 'master'
...
textlayout: remove virtual table indirection
See merge request GNOME/gtk!2178
2020-07-01 01:19:12 +00:00
Matthias Clasen
d0068a036f
Add gtk_multi_selection_get_model
...
This getter was missing.
2020-06-30 20:47:03 -04:00
Christian Hergert
fae014eb45
textlayout: remove virtual table indirection
...
GtkTextLayout is private now and therefore we can drop all of
the indirection through the class vtable. Instead, just call the
implementations directly and remove the unused vtable entries
for default signal handlers.
2020-06-30 17:38:31 -07:00
Matthias Clasen
f0ea0be15d
Merge branch 'matthiasc/for-master' into 'master'
...
Drop unnecessary uses of gtk_style_context_add_class
See merge request GNOME/gtk!2177
2020-06-30 22:52:18 +00:00
Matthias Clasen
9650236b23
Merge branch 'inspector-list-model' into 'master'
...
Inspector list model support
See merge request GNOME/gtk!2176
2020-06-30 22:17:29 +00:00
Matthias Clasen
c0e2d7c62f
Drop unnecessary uses of gtk_style_context_add_class
...
We can use gtk_widget_add_css_class instead, most places.
2020-06-30 17:42:30 -04:00
Matthias Clasen
cc072eb7cd
inspector: Avoid a use of gtk_style_context_add_class
...
We have gtk_widget_add_css_class for this now.
2020-06-30 17:10:05 -04:00
Matthias Clasen
613213f597
inspector: proper list model support
...
Add a data tab for list models that allows exploring
the objects in the model.
2020-06-30 17:09:55 -04:00
Matthias Clasen
e25c25fcb5
Merge branch 'wip/on-the-surface-good-fences-can-make-bad-neighbors' into 'master'
...
x11: Handle window getting unmap while frame still pending
Closes #2902
See merge request GNOME/gtk!2168
2020-06-30 19:21:45 +00:00
Matthias Clasen
52666d6fe5
inspector: Rename DataList -> TreeData
...
Rename the DataList object to TreeData, in preparation
for adding a ListData object for list models. While
we are touching it, modernize it a bit (drop the Private
struct, use a layout manager, etc).
2020-06-30 15:18:37 -04:00
Ray Strode
56b3669411
x11: Avoid thawing surface until frame is drawn
...
Since commit 972134abe4 a frame getting
drawn has three states (with the vendor nvidia driver at least):
1. drawn by gtk waiting on the GPU
2. drawn by GPU waiting on the compositor
3. drawn by compositor
Those three states are encoded in two flags: frame_pending and
frame_still_painting.
frame_pending means step 1 is done, but step 2 and 3 are still
in progress. frame_still_painting means step 2 is still in progress.
After step 1 is finished the surface is frozen until step 3 is finished.
When the compositor notifies gtk it's done with step 3, with a
_NET_WM_FRAME_DRAWN client message, the toolkit thaws the surface to
allow the next frame to proceed.
The compositor sometimes sends gtk a _NET_WM_FRAME_DRAWN client message
between steps 1 and 2. This message should be ignored because it's not
a reply to the current frame.
Unfortunately, gtk currently assumes if it gets a _NET_WM_FRAME_DRAWN
client message while waiting for step 2 that it's actually at step 3,
and proceeds to draw a new frame while the existing frame is still
pending, leading to a blown assertion.
This commit addresses the problem by ignoring _NET_WM_FRAME_DRAWN
client messages from the compositor unless actually expecting one.
Fixes : #2902
2020-06-30 14:36:15 -04:00
Ray Strode
e3b5b76cdd
x11: Handle window getting unmapped while frame still pending
...
Since commit 972134abe4 we now call
glClientWaitSync for the vendor nvidia driver, to know when a frame
is ready for the compositor to process.
If a surface is hidden while a frame is still being rendered by the GPU,
the surface will never produce the damage event the code relies on to
trigger the call to glClientWaitSync. This leaves the fence dangling,
and the next time the surface is shown, it will start a fresh frame
and blow an assertion since the fence from the last frame is still
hanging around.
This commit ensures a frame gets fully wrapped up before hiding a
surface.
2020-06-30 14:36:07 -04:00
Matthias Clasen
bbb28196e5
inspector: Remove list model support from the property editor
...
This makes the inspector lock up when used with any production
size list model, and blocks access to properties of the model
itself. Instead, we'll make the model available as an object
and add a data tab for list model contents, like we already
do for tree models.
2020-06-30 14:22:01 -04:00
Matthias Clasen
72d3a9042c
Merge branch 'issue-2904' into 'master'
...
Add nullable annotations for gtk_cclosure_expression_new()
Closes #2904
See merge request GNOME/gtk!2172
2020-06-30 12:03:06 +00:00
Emmanuele Bassi
f2853ffa8e
Add nullable annotations for gtk_cclosure_expression_new()
...
Fixes : #2904
2020-06-30 12:11:21 +01:00
Matthias Clasen
fca2ba963d
gtklistitemfactory: Cosmetic documentation fixes
2020-06-29 22:11:44 -04:00
Matthias Clasen
806779769e
builderlistitemfactory: Documentation fixes
2020-06-29 22:11:36 -04:00
Matthias Clasen
82aa0d1f7c
expression: Add to the docs
...
Add some more long-form explanation of what expressions
are about and where they are used.
2020-06-29 22:10:34 -04:00
Matthias Clasen
72f1d34eca
Drop GtkFunctionsListItemFactory
...
It has been superseded by GtkSignalsListItemFactory.
2020-06-29 22:10:34 -04:00
Matthias Clasen
c267a75eef
Stop using GtkFunctionsListItemFactory
...
This was an early attempt at a factory, and has been
superseded by GtkSignalsListItemFactory. Port all users
the the newer one.
2020-06-29 22:10:34 -04:00
Carlos Garnacho
7170fdebb9
Merge branch 'wip/Jehan/GtkIMContextWayland-master' into 'master'
...
gtk: focus out the GtkIMContextWayland upon finalization.
See merge request GNOME/gtk!2170
2020-06-29 22:24:32 +00:00
Jehan
7ccf32db57
gtk: focus out the GtkIMContextWayland upon finalization.
...
In particular, it will NULL-ified the current global context if this is
the finalized one, avoiding dangling invalid pointers.
Would have been a cherry-pick from branch gtk-3-24 of commit
b592ded80a , but files moved.
2020-06-29 22:17:08 +02:00
Daniel Mustieles
520c2116a3
Updated Spanish translation
2020-06-29 16:03:40 +02:00
Emmanuele Bassi
e818685921
Merge branch 'ci-style' into 'master'
...
ci: Create new origin for forks
See merge request GNOME/gtk!2164
2020-06-29 13:45:03 +00:00
Matthias Clasen
6ddd9793f3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #1887
See merge request GNOME/gtk!2167
2020-06-29 12:30:41 +00:00
Emmanuele Bassi
6bdca276a2
ci: Create new origin for forks
...
We don't need to create a new remote and fetch its master if we're
checking a merge request done on the upstream repository.
2020-06-29 13:14:40 +01:00
Matthias Clasen
d4ff275002
node-editor: Add a help window
...
Add a Help item to the gear menu that opens the
node-format.md file in a new window. This could
be improved if we could parse markdown and apply
tags, similar to how we can load pango markup.
2020-06-29 07:36:55 -04:00
Matthias Clasen
2b6f243578
node-editor: Cosmetics
...
Use a title style class for the labels.
2020-06-29 07:36:55 -04:00
Matthias Clasen
8770584bfb
node-editor: Add a gear menu
...
Add a gear menu with Inspector and About menu items.
2020-06-29 07:36:55 -04:00
Matthias Clasen
4f7f15700c
node-editor: Document the node format
...
Add a markdown file with the documentation of the
node format.
Fixes : #1887
2020-06-29 07:36:55 -04:00
Matthias Clasen
cab6808673
gtk-demo: Fix binary name in --version
...
We are gtk4-demo, not gtk3-demo.
2020-06-28 23:36:35 -04:00
Matthias Clasen
b77110c35a
bitset: Fix documentation syntax
2020-06-28 22:38:23 -04:00
Matthias Clasen
c4e8218f49
bitset: Add more tests
...
Add some tests for rectangles, and for iters.
2020-06-28 22:38:23 -04:00
Matthias Clasen
c8b57154cb
bitset: Correct preconditions in gtk_bitset_add_rectangle
...
We want to make sure that the rectangle fits in the grid.
2020-06-28 22:38:22 -04:00
Matthias Clasen
c4b2112f16
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2743
See merge request GNOME/gtk!2161
2020-06-28 23:47:09 +00:00
Matthias Clasen
3132353ec5
ci: Drop one of the focus tests
...
One of the widget-factory focus tests is flaky in ci,
perhaps due to font changes causing size computations
to go slightly differently.
Drop this for now.
2020-06-28 18:59:48 -04:00
Matthias Clasen
3dc6267146
testsuite: Bump the per-test timeout to 60s
...
The bitset test has repeatedly run into the 30s timeout
in the ci, so give it some more time.
2020-06-28 17:02:01 -04:00
Matthias Clasen
6a6146a9e0
bitset: Fix the right-shift implementation
...
This was not doing the right thing at all.
This commit also adds tests for left- and
right-shift.
2020-06-28 16:37:30 -04:00
Matthias Clasen
01fbf8444b
Stop setting GTK_IM_MODULE_FILE
...
GTK no longer reads this environment variable, so
setting it can have no benefit for uninstalled demos
anymore.
2020-06-28 13:42:02 -04:00
Matthias Clasen
1f8c79eca1
Add g_intern_static_string to valgrind suppressions
...
That function can also trigger a quark table reallocation.
2020-06-28 13:42:02 -04:00
Matthias Clasen
5229069101
widget: Avoid uninitialized access
...
Initialize all field in the GtkCrossingData struct
when synthesizing crossing events.
Fixes : #2743
2020-06-28 13:42:02 -04:00
Matthias Clasen
a6752bd3e0
gtk: Better help for GTK_DEBUG
...
Reuse the newly introduced gdk_parse_debug_var for
GTK_DEBUG.
2020-06-28 13:42:02 -04:00
Matthias Clasen
93a51f77c4
gsk: Better help for GSK_DEBUG
...
Reuse the newly introduced gdk_parse_debug_var for
GSK_DEBUG.
2020-06-28 13:42:02 -04:00
Matthias Clasen
9f2926dde3
gdk: Better help for GDK_DEBUG
...
Include docstrings and format the list of supported
values better.
Also, add the same warning we have for GTK_DEBUG when
the environment variable is ignored.
2020-06-28 13:42:02 -04:00
Matthias Clasen
d31bb8b503
testsuite: Don't pass GDK_DEBUG for release builds
...
The debug env vars are ignored in release builds,
and may spew warnings about that fact that break
tests.
2020-06-28 13:42:02 -04:00
Matthias Clasen
d46b04631e
wayland: Respect GDK_DEBUG=default-settings
...
You can get this in other ways for Wayland (by
setting GSETTINGS_BACKEND=memory), but it is better
to be consistent across backends.
2020-06-28 13:42:02 -04:00
Matthias Clasen
30eca5a523
Drop GTK_DEBUG_SHORTCUTS
...
It is unused.
2020-06-28 13:42:02 -04:00
Matthias Clasen
4fa71fd82a
shortcuts: Use GTK_DEBUG_KEYBINDINGS
...
There was just a single message under GTK_DEBUG_SHORTCUTS.
Consolidate with GTK_DEBUG_KEYBINDINGS.
2020-06-28 13:42:02 -04:00
Matthias Clasen
6819c7c792
docs: Update environment sections
...
Fix links in markdown, and add details about
Wayland environment variables.
2020-06-28 13:42:01 -04:00
Matthias Clasen
0c9a0dfed1
Merge branch 'print-editor' into 'master'
...
Install the print editor
See merge request GNOME/gtk!2165
2020-06-28 16:44:32 +00:00
Matthias Clasen
5d9bcfb64a
stringlist: Cosmetic documentation fix
2020-06-28 12:43:16 -04:00
Matthias Clasen
7047d68404
gtk: Add some missing symbols to the docs
2020-06-28 12:43:16 -04:00
Matthias Clasen
334f95479b
sorter: Some doc corrections
...
The docs were referring to some non-existing enum value.
Fix things up to match the current code.
2020-06-28 12:43:11 -04:00
Matthias Clasen
9dff4d6ff3
stack: Remove nonexisting api from headers
...
The homogeneous property was dropped a while ago.
2020-06-28 12:43:11 -04:00
Matthias Clasen
4d7d031ee0
gdk: Small documentation fixes
...
Make sure gdk_event_get_seat shows up.
2020-06-28 12:24:03 -04:00
Matthias Clasen
7c98af6358
stack: Cosmetic documentation fixes
...
Fix parameter mismatches.
2020-06-28 12:23:52 -04:00
Matthias Clasen
ddcba4d33f
bitset: Cosmetic documentation changes
2020-06-28 12:23:52 -04:00
Matthias Clasen
59fe4a3a09
printeditor: Add desktop file and appdata
...
All our installed demos have this.
2020-06-28 10:51:16 -04:00
Matthias Clasen
6774f36636
print-editor: Allow opening files
...
Since it calls itself an editor, it should really
support opening files on the commandline.
2020-06-28 10:51:16 -04:00
Matthias Clasen
608cbc28af
printeditor: Cosmetics
...
Bring this up to our standards for an installable demo,
by touching up the about dialog and menus.
2020-06-28 10:51:16 -04:00
Emmanuele Bassi
117c71faeb
Merge branch 'issue-2900' into 'master'
...
Nullable this_ argument in gtk_expression_bind()
Closes #2900
See merge request GNOME/gtk!2163
2020-06-28 13:28:52 +00:00
Emmanuele Bassi
24d6a190af
Add pre-condition check on nullable argument
...
Even if `gtk_expression_watch()` will do the same, we're calling public
API, so we should perform a check at the point of use, to ensure that
warnings are easily debuggable.
2020-06-28 13:42:03 +01:00
Emmanuele Bassi
6a4b5ead86
Annotate nullable argument
...
The `this_` argument is passed to `gtk_expression_watch()`, which
accepts it as nullable.
Fixes : #2900
2020-06-28 13:41:54 +01:00
Jehan
2fb755e0c9
build-aux: fallback to default glib-compile-schemas & gio-querymodules.
...
The pkg-config variables have been added in GLib 2.62.0. Let's fallback
to default names for these tools in such case (`pkg-config` still
returns a 0 return value, but with empty output for absent variables).
2020-06-28 12:48:27 +02:00
Jehan
cd096819d8
build-aux: search various Glib/GIO utilities in .pc file.
...
Some distributions are renaming Glib/GIO utilities for multi-arch
reasons so pkg-config variables have been added to find the correct name
of a tool. GTK+ should use these variables instead of searching in PATH.
See glib#1796.
2020-06-28 12:46:32 +02:00
Matthias Clasen
674ede8665
docs: Remove ancient version information
...
We treat 4.0 as a new era.
2020-06-27 21:46:22 -04:00
Matthias Clasen
8a269de89a
multiselection: Update docs
...
Remove information that is no longer true. GtkMultiSelection
is persistent across sorting changes since 3d8b6f6b79 .
2020-06-27 21:40:26 -04:00
Matthias Clasen
ace4eac25a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2160
2020-06-27 22:19:27 +00:00
Matthias Clasen
66bce08d10
docs: Migration guide additions
2020-06-27 17:38:10 -04:00
Matthias Clasen
65902367c6
builder: Documentation tweaks
...
Don't use no-longer-existing enums as examples,
and drop the +.
2020-06-27 17:28:15 -04:00
Matthias Clasen
8f0b92e42d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2159
2020-06-27 19:43:18 +00:00
Baurzhan Muftakhidinov
f3d5f6628d
Update Kazakh translation
2020-06-27 19:11:12 +00:00
Baurzhan Muftakhidinov
4d687366ed
Update Kazakh translation
2020-06-27 18:52:16 +00:00
Matthias Clasen
3aa5019e70
gtk-demo: Drop an unused object
...
The main ui file was still creating a tree store,
but we've switched everything over to use list models.
2020-06-27 09:47:29 -04:00
Matthias Clasen
4fb495d0fe
builder: Warn about dropped objects
...
Use GTK_DEBUG=builder-objects to make GtkBuilder warn
if a named object from a ui files doesn't get claimed
by gtk_builder_get_object(). This is useful for finding
dead wood in .ui files.
2020-06-27 09:47:00 -04:00
Timm Bäder
83543423e2
widget: Don't get the frame clock if we don't use it
2020-06-27 11:47:42 +02:00
Timm Bäder
d0bb72a2aa
label: Only care about clipboard in unrealize of we need to
2020-06-27 11:47:39 +02:00
Timm Bäder
8cc2a44268
recorder: Don't select new row when adding recording
...
This is what makes the recorder slow. We might want to scroll down in
the list though.
2020-06-27 11:30:02 +02:00
Timm Bäder
4800dd3f95
rendernode: Trivial whitespace change
2020-06-27 11:22:54 +02:00
Timm Bäder
2534310ce9
recorder: Remove frame time from recording rows
...
We should bring this back in a different way, e.g. in a way that doesn't
just use the time of the previous recording.
2020-06-27 11:15:51 +02:00
Timm Bäder
3a4fbc5e50
recorder: Remove Full/Partial render distinction
...
It doesn't exist anymore these days
2020-06-27 11:08:09 +02:00
Timm Bäder
89a67ac719
recorder: s/gint/int/g
2020-06-27 11:04:03 +02:00
Timm Bäder
21b84b1890
recorder: Remove some debug spew
...
Stop printing the number of nodes we have
2020-06-27 11:01:28 +02:00
Timm Bäder
20935f678b
scale: Rearrange child widgets
...
Always keep the order:
- [value]
- [marks.top]
- [marks.bottom]
- trough
Which makes sense given the rendering order. Slider should be drawn
after the marks.
Makes it possible to simply remove the custom snapshot implementations
in scale and range. And Adwaita does not depend on the node order
anyway.
2020-06-27 10:51:06 +02:00
Timm Bäder
c41b4130c6
textview: Remove unused define
2020-06-27 10:51:06 +02:00
Timm Bäder
f1b010af66
Add .view to view widgets
2020-06-27 10:51:06 +02:00
Timm Bäder
ec1133d6e1
renderbackground: Only query number of layers once
...
We did it once in snapshot_background and then again in snapshot_color.
2020-06-27 10:51:06 +02:00
Timm Bäder
8fcf1b78a4
renderbackground: Only query h/vrepeat if we need to
2020-06-27 10:51:06 +02:00
Timm Bäder
21f9148155
gl renderer: Fix cross-fade nodes with invisible end child
...
Only loading the vertex data doesn't draw anything.
2020-06-27 10:51:06 +02:00
Timm Bäder
d4f0593b37
gl renderer: Handle 0/1 progress in crossfade nodes
2020-06-27 10:51:06 +02:00
Matthias Clasen
c447fa8442
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2897 and #2898
See merge request GNOME/gtk!2158
2020-06-27 03:51:21 +00:00
Matthias Clasen
3a70ca9d03
listitem: Correct the docs
2020-06-26 23:10:21 -04:00
Matthias Clasen
5d11e9812d
gtk-demo: Improve formatting in the color demo
...
Properly align and format the numbers in the size
dropdown.
2020-06-26 22:57:56 -04:00
Matthias Clasen
0d10982379
text: Support reverse selection
...
Take ordering of cursor_position and selection_bound
into account when copying text to the clipboard, and
ensure that both orders work the same.
Fixes : #2898
2020-06-26 22:22:47 -04:00
Matthias Clasen
c20a966f06
text: Update action enabled state correctly
...
Take the editable property into account when updating
the emoji.insert action state, and update the action
when it changes.
Fixes : #2897
2020-06-26 22:13:12 -04:00
Matthias Clasen
64db05d3dd
shortcutcontroller: Add some debug spew
...
This helps in debugging event routing and keyboard
shortcut issues.
2020-06-26 22:12:42 -04:00
Matthias Clasen
913cd91df0
widget: Fix an oversight
...
g_message comes with a builtin newline, don't add one
to the message.
2020-06-26 22:12:14 -04:00
Matthias Clasen
2c5533589d
Merge branch 'matthiasc/for-master' into 'master'
...
Adwaita: Fix block cursors in spinbuttons
Closes #2871
See merge request GNOME/gtk!2156
2020-06-27 00:35:51 +00:00
Matthias Clasen
cfdc81af02
Adwaita: Fix block cursors in spinbuttons
...
Fix block cursors in vertical spinbuttons with Adwaita.
Fixes : #2871
2020-06-26 19:56:10 -04:00
Matthias Clasen
7fa8a69fdc
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2869
See merge request GNOME/gtk!2155
2020-06-26 21:14:27 +00:00
Matthias Clasen
fd2861d683
docs: Add css docs to entries
...
The various entries were missing the semi-standard
"CSS Nodes" section in their long descriptions. Add
them.
2020-06-26 16:13:02 -04:00
Matthias Clasen
cd9f5733b3
text: Be more selective when selecting on focus-in
...
We don't want to select on focus-in when the focus
comes from a child. The case where this does harm
is when you activate copy or paste actions from the
context menu. We close the menu before triggering the
action, and if that causes the text in the entry to
be selected, unexpected things happen, since the action
applies to the current selection.
Fixes : #2869
2020-06-26 15:49:39 -04:00
Matthias Clasen
8b4560cbfb
Revert "text: Avoid creating a PangoAttrList we don't need"
...
This reverts commit 67c2665028 .
The splicing we do here has the important side-effect
of shifting the preedit attributes to the right position.
Without it, we end up always underlining the first chars
in the entry, regardless where the preedit happens.
2020-06-26 15:27:17 -04:00
Matthias Clasen
2d914d52be
text: Handle key events in the target phase
...
This makes sure that we do actual key input right
in the middle between all the capture and bubble
event controllers, and are not dependent on the
ordering of those controllers.
The bug that triggered this change was that the
shortcut for activation (Enter) was getting triggered
before the key input, causing Ctrl-Shift-u hex
to stop working, since it never received the enter
to commit the sequence.
2020-06-26 14:08:35 -04:00
Matthias Clasen
a26865e741
widget: Add a debug message for consumed key events
...
Run the application with GTK_DEBUG=keybindings to
get some hints where key events get lost.
2020-06-26 14:08:14 -04:00
Matthias Clasen
3558beaa61
text: Give names to event controllers
...
It helps with debugging.
2020-06-26 14:08:11 -04:00
Matthias Clasen
9b9a9f14e2
Merge branch 'wip/carlosg/sequence-state-fixups' into 'master'
...
Fixups to gesture sequence states
Closes #2895
See merge request GNOME/gtk!2154
2020-06-26 17:08:09 +00:00
Carlos Garnacho
0ce4f66976
gtktext: Don't accept (twice!) all press actions
...
The gesture should claim the sequence after triggering uncancellable
actions, like pasting, showing a menu or selecting words/lines. A
single first button press initiating a drag does not trigger
anything yet, so it should avoid claiming the sequence.
2020-06-26 17:48:10 +02:00
Carlos Garnacho
b81bbde7c8
gtkswitch: Don't be eager in accepting the gesture
...
The gesture should be accepted whenever it triggers uncancellable
actions in the widget. This means it should be accepted if the
click does result in toggling the switch.
This leaves the pan gesture room to handle dragging the handle.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2895
2020-06-26 17:48:10 +02:00
Matthias Clasen
3f55bfe2cb
Merge branch 'matthiasc/for-master' into 'master'
...
main: Avoid a warning
Closes #2894
See merge request GNOME/gtk!2153
2020-06-26 14:31:20 +00:00
Matthias Clasen
4185ba242b
docs: Some tweaks to the list widget overview
2020-06-26 09:05:56 -04:00
Matthias Clasen
e04191a5ea
Merge branch 'wip/otte/bitset' into 'master'
...
Improve selection handling API for rubberbanding
See merge request GNOME/gtk!2086
2020-06-26 12:43:49 +00:00
Matthias Clasen
f07d304f19
main: Avoid a warning
...
transient-for relationships only exist between
windows, so check that both candidates are such.
Fixes : #2894
2020-06-26 08:19:32 -04:00
Emmanuele Bassi
1d1f618a13
Merge branch 'tintou/dropdown-annotations' into 'master'
...
dropdown: Annotate the get_selected_item method
See merge request GNOME/gtk!2152
2020-06-26 08:48:51 +00:00
Emmanuele Bassi
e20610cdc6
Merge branch 'wip/ricotz/annotations' into 'master'
...
gtk: Add some g-i annotations to GtkStringList
See merge request GNOME/gtk!2150
2020-06-26 08:46:35 +00:00
Corentin Noël
721396b6d6
dropdown: Annotate the get_selected_item method
...
We need to specify the type as we already know that it is at least a GObject and in case of no selection, NULL is returned.
2020-06-26 10:00:59 +02:00
Benjamin Otte
dc1dbe6158
listbase: Make rubberbanding a threshold drag
2020-06-26 07:13:32 +02:00
Benjamin Otte
30488e60e2
listbase: Only compute the modifiers when releasing the rubberband
...
... and do the right things:
nothing: selection = rubberband
ctrl: selection = selection OR rubberband
shift: selection = selection AND (NOT rubberband)
ctrl+shift: selection = selection XOR rubberband
(not sure this one makes sense, but toggling is fun)
2020-06-26 07:13:32 +02:00
Benjamin Otte
a5949960bc
listbase: Compute rubberband region on-demand
...
Instead of storing the active items as we go, compute the affected items
whenever the rubberband changes and in particular when the rubberband
ends.
That way, the rubberband is guaranteed to select a rectangle even
after scrolling very far.
This is achieved by having a get_items_in_rect() vfunc that selects all
the items in the rubberbanded rectangle and returns them as a bitset.
2020-06-26 07:13:32 +02:00
Benjamin Otte
ec4a489093
listview: Allocate rubberband at end of size_allocate()
...
Otherwise the rubberband uses the wrong scroll offsets.
2020-06-26 07:13:32 +02:00
Benjamin Otte
7c52e03815
listbase: Flip autoscroll deltas if adjustments are flipped
...
Fixes autoscroll on RTL languages.
2020-06-26 07:13:32 +02:00
Benjamin Otte
724c9361f3
listbase: Allocate gridview items properly on RTL
...
We need to flip the items.
2020-06-26 07:13:32 +02:00
Benjamin Otte
147388e69a
multiselection: Implement get_selection_in_range()
2020-06-26 07:13:32 +02:00
Benjamin Otte
64aa281c97
listbase: Allocate rubberband according to list coords
...
The rubberband is now handled on the list coordinate system.
When starting the rubberband, we track the item under the pointer and
follow it when it is moving.
This may lead to the rubberband start position changing position and
while this may be confusing, it alerts users to the fact that something
crazy is going on.
2020-06-26 07:13:32 +02:00
Benjamin Otte
c2b0330c56
listbase: Move a common function from the children into GtkListBase
...
We want to use it for the rubberband later.
2020-06-26 07:13:32 +02:00
Benjamin Otte
de4803bb21
listbase: Don't do extra work
...
Scrolling causes a queue_resize() which will update the rubberband in
size_allocate() and queue a draw.
2020-06-26 07:13:32 +02:00
Benjamin Otte
e574dcb091
Fix indentation
2020-06-26 07:13:32 +02:00
Benjamin Otte
488b0cbb69
gtk: Remove GtkPropertySelection
...
GtkMultiSelection is so much faster than this that it isn't needed.
2020-06-26 07:13:32 +02:00
Benjamin Otte
6ceab55148
gtk-demo: Port listview-colors demo to multiselection again
2020-06-26 07:13:32 +02:00
Benjamin Otte
3d8b6f6b79
multiselection: Track items across resorts
...
In particular, track which items remain in ::items-changed
signal emissions.
But the main use case is sorting, which causes items-changed(0, n, n)
to be emitted.
2020-06-26 07:13:32 +02:00
Benjamin Otte
58d3213eef
Remove GtkSet
...
It's been superceded by GtkBitset.
2020-06-26 07:13:32 +02:00
Benjamin Otte
006dfdc55a
selectionmodel: Remove select_callback() functions
...
gtk_selection_model_set_selection() takes care of those now.
2020-06-26 07:13:32 +02:00
Benjamin Otte
a38c423ddb
listbase: Port rubberband to gtk_selection_model_set_selection()
2020-06-26 07:13:32 +02:00
Benjamin Otte
fa0295629b
selectionmodel: Add gtk_selection_model_set_selection()
...
Also port the testsuite.
2020-06-26 07:13:32 +02:00
Benjamin Otte
8395698090
selectionmodel: Replace query_range() with get_selection()
2020-06-26 07:13:32 +02:00
Benjamin Otte
277a91dbf8
multiselection: Port to GtkBitset
2020-06-26 07:13:32 +02:00
Benjamin Otte
ff36cfb5be
testsuite: Add tests for GtkBitset
2020-06-26 07:13:32 +02:00
Benjamin Otte
db452f0c45
Add GtkBitset
2020-06-26 07:13:32 +02:00
Rico Tzschichholz
5b1195f874
gtk: Add some g-i annotations to GtkStringList
2020-06-26 06:36:23 +02:00
Benjamin Otte
d830724d4f
Add amalgamated roaring bitmaps source code
...
Taken from https://github.com/RoaringBitmap/CRoaring and fixed to
not spew warnings.
2020-06-26 06:19:56 +02:00
Matthias Clasen
0ef0edfa9a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2149
2020-06-25 22:28:07 +00:00
Matthias Clasen
0ec868bd69
inspector: Adapt to dropdown api change
...
The suppported syntax for dropdowns in ui files
has changed. Get with the program.
2020-06-25 16:42:30 -04:00
Matthias Clasen
30e79e8412
docs: Fix a typo
2020-06-25 14:29:24 -04:00
Matthias Clasen
c9b032acab
gtk-demo: Fix a typo in the listbox demo
2020-06-25 14:28:29 -04:00
Matthias Clasen
1f410faccb
searchentry: Update the docs slightly
...
Update the docs to get closer to describing reality.
2020-06-25 14:27:44 -04:00
Matthias Clasen
d0e56106fe
Drop unused includes
...
Don't include gtkfilechooserentry.h where it
isn't used.
2020-06-25 14:27:31 -04:00
Matthias Clasen
3d3d7dbc59
stringfilter: Fix a typo
2020-06-25 14:27:23 -04:00
Emin Tufan Çetin
c0cbf9db5f
Update Turkish translation
2020-06-25 01:05:12 +00:00
Matthias Clasen
db82eaec0a
Merge branch 'wip/carlosg/input-cleanups' into 'master'
...
Some input cleanups
Closes #2851
See merge request GNOME/gtk!2147
2020-06-24 21:32:30 +00:00
Matthias Clasen
f4e200708d
Merge branch 'scrolled-window-api' into 'master'
...
scrolledwindow: Don't take adjustments in new()
See merge request GNOME/gtk!2146
2020-06-24 19:58:03 +00:00
Matthias Clasen
ba1944ded2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2145
2020-06-24 19:50:37 +00:00
Carlos Garnacho
8eeef54b2e
gtktextview: Remove child textview items last
...
The function tries to go through every child, so it's convenient
to remove all internal ones first.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
8e549d73a0
gtkwidget: Drop _gtk_widget_[gs]et_shadowed()
...
This API is meaningless now, with grab-notify being handled internally.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
102d2a36f3
gtkwidget: Avoid use of shadowed flag
...
This is going away, look up whether there is a grab, and whether
the widget is within it, instead.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
f046e27bb4
gtkwidget: Drop gtk_widget_device_is_shadowed()
...
A widget no longer needs updating on GTK grabs on itself, drop
this miscellaneous and no longer used API.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
1c5cf17f1c
gtkwidget: Drop internal checks in grab-notify
...
There's no need to check if the widget is already shadowed, we
implicitly have that from the signal argument.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
ddb3a4be3e
gtkmain: Make grab-notify notifications more targeted
...
We only want to send grab-notify to widgets that might have been
interacting with devices via events. Instead of going through all
widgets in all toplevels, we have the window/pointer focus information,
so we can just traverse the widget stacks for every involved foci.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
994f32704b
gtkwidget: Drop ::grab-notify signal and vfunc
...
We don't expect widgets to react directly to these anymore.
Internally we still reset the controllers.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
1f798643c8
gtkprintoperation-win32: Don't track grab-notify
...
Further grabs could presumably only come from events handled within
the dialog itself. It seems overeager to do this.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
2f8d5e2dcd
gtkvideo: Track child focus to determine whether controls should autohide
...
Move away from grab_notify, and use the set_child_focus() vfunc to track
child widgets being set the keyboard focus. This is not 1:1, but seems
good enough at the moment.
2020-06-24 20:35:22 +02:00
Carlos Garnacho
df30741535
gtkbutton: Drop grab_notify handler
...
The click gesture already has a ::cancel handler, and does almost
everything it should. Move the last bits and remove the grab_notify
handler.
2020-06-24 20:35:22 +02:00
Carlos Garnacho
762748028a
gtkspinbutton: Drop grab_notify handler
...
The press gesture on the buttons already has a ::cancel handler,
this is redundant.
2020-06-24 20:35:22 +02:00
Carlos Garnacho
f7c5cf137c
gtknotebook: Move away from grab_notify
...
Connect to ::cancel on the relevant gesture instead.
2020-06-24 20:35:22 +02:00
Matthias Clasen
455d91b0fc
testgtk: Update list of cursor names
...
Use the standard names, since that is what we want
everybody else to use too.
2020-06-24 14:06:50 -04:00
Matthias Clasen
e834e51c0f
Install gtkstringlist.h
2020-06-24 13:02:50 -04:00
Matthias Clasen
bce518b214
entrycompletion: Various fixes
...
Fix various issues that prevented inline completion
and inline selection from working reliably. We were
passing byte counts to gtk_editable_select_region in
one place, but that function expects char counts.
We were listening for GtkEditable::insert-text on
the GtkText widget, but that does not emit those signals,
so listen for GtkEntryBuffer::inserted-text instead.
Finally, we were not clearing the stored completion_prefix
enough, leading to situations where the stored prefix
does not match the text in the entry anymore.
2020-06-24 13:02:50 -04:00
Matthias Clasen
3656994f82
gtk-demo: Enable inline completion
...
Enable inline completion in the entry completion
demo, to have some code exercising this feature.
It is broken.
2020-06-24 13:02:50 -04:00
Matthias Clasen
fd5f6ef57f
gtk-demo: Improve the entry completion demo
...
Add more strings.
2020-06-24 13:02:50 -04:00
Matthias Clasen
386b63b85d
scrolledwindow: Don't take adjustments in new()
...
In 99.9% of all cases, these are just NULL, NULL.
So just do away with these arguments, people can
use the setters for the rare cases where they want
the scrolled window to use a different adjustment.
2020-06-24 11:25:09 -04:00
Carlos Garnacho
803103640a
gtkwindowhandle: Drop has-grab checks
...
While it's worth thinking about bringing the "windows can be dragged
with open popovers" behavior back, this does not kick in anymore, nor
should be the way to handle this given all the autoclose surface
semantic changes.
2020-06-24 13:41:28 +02:00
Carlos Garnacho
469a4a73f9
gdk: Drop gdk_device_get_last_event_surface()
...
This kind of transient state sets the expectative that events update
devices, while it's more accurate to say that devices generate events.
It does not make to expose this function anymore.
2020-06-24 11:24:04 +02:00
Carlos Garnacho
f401b05e7b
gtkwidget: Avoid poking surfaces and events in gtk_widget_list_devices()
...
This got stuck in ancient times when widgets were windowed, so the devices
in a window to know the devices in that widget would pan out. We do only
want here the devices that are inside the widget, not spread over the
surface, so rewrite this helper function to poke the toplevel foci, and
look they are contained inside the widget.
2020-06-24 11:14:52 +02:00
Carlos Garnacho
42ed8a2748
gtkwidget: Drop _gtk_widget_get_device_surface()
...
A widget cannot have multiple surfaces anymore, nor needs to
fetch the last event surface as it ought to handle its own.
2020-06-24 10:47:15 +02:00
Carlos Garnacho
f872eb64b5
gtkmain: Drop unused struct field
...
Grabs are, ironically, not about devices anymore. This struct field
is never set.
2020-06-24 10:47:15 +02:00
Carlos Garnacho
29d054c421
gtkwidget: Remove dead code
...
This variable got unused over time.
2020-06-24 10:47:15 +02:00
Carlos Garnacho
7be6afe84d
gdk: Depend less on gdk_event_get_device()
...
For the most part, we are interested in seats here.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
cf1fbdf8b5
gdk: Add gdk_event_get_seat()
...
It currently fetches the seat from the event device, will be changed
in future commits.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
6d2860efb7
gdk: Drop gdk_seat_get_logical_pointers()
...
Events come from hardware devices and are handled by controllers,
there's no need to use logical pointers, nor to peek them. Drop this
unused API.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
5f29b8fcec
gdk: Drop GdkGrabOwnership
...
We no longer expose such low level tweaks, this is essentially
unused.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
59a8106373
gdk: Drop supports_multidevice API
...
Crossing events are now detached from widget state, all tricky consequences
from getting multiple crossing events are now somewhat moot. Resort to sending
all generated crossing events, and drop this barely (ever?) used API.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
c1d90273ca
gdk: Drop GDK_SOURCE_ERASER
...
All tools come from devices with GDK_SOURCE_PEN.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
31b95ce47f
gtkmain: Look up transient-for hierarchies to determine modality
...
Windows that are not modal, but are transient-for a modal window should
still be able to receive and handle events. Inspect the window hierarchy
in those cases, so these windows are handled just like widgets within
the modal dialog.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2851
Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/2850
2020-06-23 23:42:53 +02:00
Carlos Garnacho
4fe608e423
gtkwidget: Cancel all gestures in other groups
...
When a gesture (group) claims a sequence, all other gesture groups
in the same widget should get cancelled. Not just previously claimed
ones, that shouldn't happen actually.
2020-06-23 23:42:53 +02:00
Matthias Clasen
2cfeb1048c
Merge branch 'stringlist' into 'master'
...
add a public stringlist api
See merge request GNOME/gtk!2134
2020-06-23 20:43:49 +00:00
Matthias Clasen
e8210d5865
Add GtkStringList as public api
...
This is a list model holding strings, initialized
from a char **. String lists are buildable as well,
and that replaces the buildable support in GktDropDowns.
2020-06-23 16:11:46 -04:00
Matthias Clasen
fff981b220
Merge branch 'wip/jimmac/notebook-legibility' into 'master'
...
Adwaita: notebook legibility fixes
Closes #2652
See merge request GNOME/gtk!2142
2020-06-23 19:12:52 +00:00
Matthias Clasen
a3f4caa291
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2141
2020-06-23 19:10:54 +00:00
Jakub Steiner
ec54399d89
Adwaita: notebook legibility fixes
...
- make inactive tabs more legible
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2652
2020-06-23 19:54:54 +02:00
Matthias Clasen
83f22fcce2
Add a few missing includes
...
These sources are using GtkListStore apis,
but were replying on indirect includes to
get the header. Make this explicit, to prepare
for GtkEntryCompletion losing its tree view
dependencies.
2020-06-23 07:55:53 -04:00
Matthias Clasen
34a12f47f1
entry completion: Drop the Private struct
...
This is in preparation for porting GtkEntryCompletion
to use GtkListView.
2020-06-23 07:55:38 -04:00
Ray Strode
518462d882
Merge branch 'wip/fencing-without-context-is-discouraged' into 'master'
...
x11: Ensure bound context is compatible with sync fence
See merge request GNOME/gtk!2139
2020-06-23 09:53:35 +00:00
Ray Strode
1912513d7a
x11: Ensure bound context is compatible with sync fence
...
Commit a0f6ff101e made sure that a
context was bound before calling glClientWaitSync, but it doesn't
check that the context shares objects with the context that created
the fence.
This commit does a little more validation before deciding the current
context is good enough.
2020-06-22 19:09:43 -04:00
Matthias Clasen
1643e81c47
Merge branch 'wip/fencing-without-context-is-discouraged' into 'master'
...
x11: ensure some context is bound before calling glClientWaitSync
See merge request GNOME/gtk!2138
2020-06-22 23:01:11 +00:00
Matthias Clasen
7ff427b456
Merge branch 'drop-entry-completion-actions' into 'master'
...
entrycompletion: Drop action support
See merge request GNOME/gtk!2136
2020-06-22 22:59:17 +00:00
Matthias Clasen
91a96d27f1
Merge branch 'matthiasc/for-master' into 'master'
...
Add a basic clipboard test
See merge request GNOME/gtk!2137
2020-06-22 22:13:30 +00:00
Ray Strode
a0f6ff101e
x11: ensure some context is bound before calling glClientWaitSync
...
Since commit 972134abe4 we now call
glClientWaitSync for the vendor nvidia driver, to know when a frame
is ready for the compositor to process.
glClientWaitSync can be called regardless of which context is currently
bound, but if no context is bound at all, it returns 0 without
doing anything.
This commit checks for that edge case, and ensures a context gets
made current in the event no context is already current, before calling
glClientWaitSync.
2020-06-22 17:13:54 -04:00
Matthias Clasen
9bcf401ef7
Add a basic clipboard test
...
This is not reproducing the failure I'm after, unfortunately.
2020-06-22 16:55:01 -04:00
Matthias Clasen
67a7ad069f
entrycompletion: Drop action support
...
This api has not really been kept up with current
user experiences in popups, and we're better off
just dropping it and letting people do their own
popups if they need custom UI.
2020-06-22 14:43:36 -04:00
Matthias Clasen
367d24be7f
Merge branch 'keyval-to-uni-fix' into 'master'
...
gdk: Make gdk_keyval_to_unicode platform-independent
See merge request GNOME/gtk!2132
2020-06-22 18:13:25 +00:00
Matthias Clasen
1791c637d0
Merge branch 'fix-entry-completion' into 'master'
...
Fix entry completion
See merge request GNOME/gtk!2135
2020-06-22 17:56:43 +00:00
Matthias Clasen
c6fe8818ed
gdk: Clarify the docs of gdk_keyval_to_unicode
...
Explicitly state that the conversion does not
take locale into account, and point out GDK_KEY_KP_Decimal
as a candidate for special-casing.
2020-06-22 13:24:34 -04:00
Matthias Clasen
53a30eaa12
entry completion: Make keynav work again
...
Use gtk_widget_prepend_controller to supersede entry keynav
while the popup is open. This fixes selecting completions
with the keyboard - the Enter keypress was ending up
triggering GtkText::activate instead of inserting the
selected completion into the entry.
2020-06-22 12:48:42 -04:00
Matthias Clasen
692cc42e10
Add gtk_widget_prepend_controller
...
Add a variant of gtk_widget_add_controller that
inserts the controller at the beginning, instead
of the end. This will be used in entry completion
to make sure the entry completion key event handling
supersedes the entry one while the popup is open.
Keep this private for now, until we determine if
it needs to be public api.
2020-06-22 12:47:27 -04:00
Matthias Clasen
9faaa5e8be
Fix change notification for event controllers
...
We were adding event controllers at the end, but
announcing a change at the beginning, in
gtk_widget_add_controller. Fix that by emitting
::items-changed for the position where we actually
inserted the controller.
2020-06-22 12:46:12 -04:00
Matthias Clasen
418bbb2685
entrycompletion: Name the controllers
...
This helps with debugging.
2020-06-22 12:31:15 -04:00
Matthias Clasen
fb148027d9
Merge branch 'wip/dont-assert-without-evidence' into 'master'
...
x11: be more verbose when glClientWaitSync behaves unexpectedtly
See merge request GNOME/gtk!2133
2020-06-22 15:47:27 +00:00
Ray Strode
05736afaf8
x11: be more verbose when glClientWaitSync behaves unexpectedtly
...
When given a 0 timeout, glClientWaitSync is only supposed to return one
of three possible values:
- GL_ALREADY_SIGNALED - fence fired
- GL_WAIT_FAILED - there was an error
- GL_TIMEOUT_EXPIRED - fence hasn't fired yet
In addition, it can also return GL_CONDITION_SATISFIED if a non-zero
timeout is passed, and the fence fires while waiting on the timeout.
Since commit 972134abe4 we now call
glClientWaitSync (with a 0 timeout), but one user is reporting it's
returning some value that's not one of the above four.
This commit changes the g_assert to a g_error so we can see what
value is getting returned.
May help with https://gitlab.gnome.org/GNOME/gtk/-/issues/2858
2020-06-22 11:16:32 -04:00
Matthias Clasen
8a91d1d1ce
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add a warning to the colors demo
See merge request GNOME/gtk!2131
2020-06-22 13:11:13 +00:00
Matthias Clasen
2df139cf40
gdk: Make gdk_keyval_to_unicode platform-independent
...
The result of gdk_keyval_to_unicode should not depend
on the platform.
2020-06-22 08:31:10 -04:00
Timm Bäder
9f1208b595
Merge branch 'master.msvc' into 'master'
...
demos: Fix builds against Visual Studio headers
See merge request GNOME/gtk!2130
2020-06-22 12:02:26 +00:00
Matthias Clasen
9fd3212241
gtk-demo: Add a warning to the colors demo
...
Explain that the big sizes cause lockups.
2020-06-22 07:43:47 -04:00
Chun-wei Fan
293f2e6b1c
demos: Fix builds against Visual Studio headers
...
According to [1], '_timezone' is already used for a global variable in the
time.h system header that is supplied by Microsoft, so using that for our
variable name when we are including time.h either directly or indirectly
will cause trouble.
This renames such variables to '_tz' to avoid that
[1]: https://docs.microsoft.com/en-us/cpp/c-runtime-library/daylight-dstbias-timezone-and-tzname
2020-06-22 17:04:18 +08:00
Matthias Clasen
f83aa16f59
Merge branch 'port-icon-browser' into 'master'
...
Port icon browser
See merge request GNOME/gtk!2127
2020-06-22 00:09:00 +00:00
Matthias Clasen
c73dd9ecaf
Merge branch 'matthiasc/for-master' into 'master'
...
filter: Make GtkEveryFilter buildable
See merge request GNOME/gtk!2125
2020-06-21 17:57:31 +00:00
Matthias Clasen
607f08e79b
Port the icon browser to GtkGridView
2020-06-21 13:36:57 -04:00
Matthias Clasen
511e5f39fa
filter: Make GtkEveryFilter buildable
...
Due to an oversight, when multi filters were split into
any and every, any ended up with the listmodel and buildable
implementations, and every didn't get any.
Move the implementations up.
2020-06-21 13:10:18 -04:00
Matthias Clasen
7d409dd2e0
Merge branch 'wip/otte/listview-colors' into 'master'
...
Improve listview-colors demo
See merge request GNOME/gtk!2123
2020-06-21 12:49:49 +00:00
Matthias Clasen
9b8c0f3c7f
gtk-demo: Cosmetic improvement to the colors demo
...
Make the count label not jump around, as the model
is refilled.
2020-06-21 14:17:47 +02:00
Benjamin Otte
727a78a74f
gtk-demo: Add an "Unsorted" option (and default to it)
...
Tests the previous commit and ensures that selecting 16M colors actually
works quickly (it does).
2020-06-21 14:17:47 +02:00
Benjamin Otte
a928ea6c57
sortlistmodel: Look at order
...
For now, we just look at SORT_ORDER_NONE to bypass any sorting.
2020-06-21 14:17:47 +02:00
Benjamin Otte
d3f7dea624
gtk-demo: Reinstate incremental filling
...
Do it via the new size setting on the color list.
Also add an option to set the maximum size of the color list that it'll
be filled to so rudimentary performance testing is possible.
Hint: Do not select 16777216.
This reinstates commit c16848c2bb683f7ddf51571aa5951f8a4a1ea622.
2020-06-21 14:17:47 +02:00
Benjamin Otte
456b7628ee
gtk-demo: Allow color list to have any size
...
For now, limit it to 1<<12 so the sorters don't explode.
2020-06-21 14:17:47 +02:00
Benjamin Otte
f149beb474
gtk-demo: Add a permutation to compute colors from the position
...
This way, the colors are furthest apart at the start and fill up the
remaining spots towards the end.
2020-06-21 14:17:47 +02:00
Benjamin Otte
1b0451761a
gtk-demo: Add custom listmodel for all true colors.
2020-06-21 14:17:47 +02:00
Benjamin Otte
1d26341b03
gtk-demo: Make colors demo contain all 16,777,216 colors
...
This makes it slightly slow, so not sure it should stay like this.
2020-06-21 14:17:47 +02:00
Benjamin Otte
8348a113c6
gtk-demo: Compute HSV values directly
2020-06-21 14:17:47 +02:00
Benjamin Otte
bfdede7acc
Revert "gtk-demo: Make the colors demo populate incrementally"
...
This eases adding a bunch of follow-up features. After those features
have landed, this functionality will be readded.
This reverts commit a10340859d .
2020-06-21 14:17:47 +02:00
Benjamin Otte
70894b48af
gtk-demo: Embed the RGBA value
2020-06-21 14:17:47 +02:00
Aurimas Černius
b0c6b282fd
Updated Lithuanian translation
2020-06-21 14:47:05 +03:00
Piotr Drąg
393054dd3f
Update Polish translation
2020-06-21 11:37:46 +02:00
Matthias Clasen
97b10df723
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2122
2020-06-21 05:58:15 +00:00
Matthias Clasen
62b214ffdf
filechooserwidget: Use gtk_drop_down_get_selected_item
...
This showed up as a test failure when we get NULL as
selected item and then try to unref it. Luckily
get_selected_item is transfer none, so we don't have
to worry about it.
2020-06-21 01:20:05 -04:00
Benjamin Otte
3549f43902
demo: Use GtkDropDown::selected-item
2020-06-21 02:23:46 +02:00
Benjamin Otte
45167d5c0d
dropdown: emit notify for selected from the changed callback
...
Otherwise we don't emit it when the selection itself changes it - for
exaple because the model changed.
2020-06-21 02:23:46 +02:00
Matthias Clasen
0214b98c5e
Merge branch 'matthiasc/for-master' into 'master'
...
misc listview scrolling fixes
See merge request GNOME/gtk!2119
2020-06-20 21:21:29 +00:00
Matthias Clasen
19c38158fc
Merge branch 'incremental-colors' into 'master'
...
Incremental colors demo
See merge request GNOME/gtk!2121
2020-06-20 20:35:23 +00:00
Matthias Clasen
7ff35340ca
Merge branch 'drop-down-selected-item' into 'master'
...
dropdown: Add GtkDropDown:selected-item
Closes #2861
See merge request GNOME/gtk!2120
2020-06-20 18:51:18 +00:00
Matthias Clasen
a10340859d
gtk-demo: Make the colors demo populate incrementally
...
Add a refill button that incrementally refills the color
demo. This is useful to test how the grid view operates
when the model is frequently changed.
2020-06-20 14:47:57 -04:00
Matthias Clasen
8475d88af0
gtk-demo: Clean up initial selection handling
...
We call selection_cb now, so we don't need to manually
do part of what that call does ahead of time.
This should have been noticed in 10bcbae68c .
2020-06-20 14:47:39 -04:00
Matthias Clasen
79b1d24128
Merge branch 'gtk4-arb_fbo' into 'master'
...
Switch to GL_ARB_framebuffer_object
See merge request GNOME/gtk!2079
2020-06-20 17:12:52 +00:00
Matthias Clasen
ad98e72884
dropdown: Add GtkDropDown:selected-item
...
This is the same readonly property we have in
GtkSingleSelection.
Fixes : #2861
2020-06-20 13:11:48 -04:00
Matthias Clasen
3fab2b55cc
gtk-demo: Clean up memory handling in the weather demo
...
gtk_weather_info_new was consuming the info, but not
the timestamp, which confused me. Make it not consume
either, and be more explicit about where the unrefs
happen.
2020-06-20 12:18:17 -04:00
Matthias Clasen
2842030e59
gridview: Don't assert on a condition that can happen
...
We are currently not robust against model changes or
widget invalidations, so we can actually end up in
situations where we run out of items here. Handle
the failure a bit more gracefully, by returning NULL.
This is good enough to make scrolling work okish most
of the time. We still need a proper fix to handle
other situations.
2020-06-20 12:11:59 -04:00
Benjamin Otte
7c2d21892f
gridview: Compute right amount of items to skip
...
We only want to skip the remaining items in the current row, not since
the start of the widget.
2020-06-20 12:08:46 -04:00
Matthias Clasen
677bfe6857
gtk-demo: Clean up initial selection handling
...
We call selection_cb now, so we don't need to manually
do part of what that call does ahead of time.
This should have been noticed in 10bcbae68c .
2020-06-20 08:48:29 -04:00
Matthias Clasen
b7ddf0b2e5
Merge branch 'dnd-demo-animation' into 'master'
...
gtk-demo: Add animated icons to the dnd demo
See merge request GNOME/gtk!2117
2020-06-19 23:57:47 +00:00
Matthias Clasen
eb25fc1d5a
gtk-demo: Add animated icons to the dnd demo
...
This is to test animated drag icons.
2020-06-19 19:26:43 -04:00
Matthias Clasen
395d40485d
Merge branch 'listview-dnd' into 'master'
...
Listview dnd
See merge request GNOME/gtk!2116
2020-06-19 22:24:36 +00:00
Matthias Clasen
17af979b24
testlistdnd: Use editable labels
...
Use editable labels instead of entries, and write
changes back to the model.
2020-06-19 16:30:25 -04:00
Matthias Clasen
8511f25b97
editablelabel: Allow to drag text
...
If we allow editing, we should allow direct drags too.
2020-06-19 15:26:53 -04:00
Matthias Clasen
290611f9ce
editablelabel: Accept text drops
...
This seems natural. If we allow editing, we should
allow drops too.
2020-06-19 15:26:53 -04:00
Matthias Clasen
6280066207
testlistdnd: Add a tree
...
This lets us test auto-expand of tree expanders.
2020-06-19 15:26:47 -04:00
Matthias Clasen
f054c317ee
expander: Remove a pointless return
...
GtkDropControllerMotion::enter does not expect
a boolean return value, so don't provide one.
2020-06-19 15:26:47 -04:00
Matthias Clasen
9555e611e1
treeexpander: Auto-expand during DND
...
When hovering over a tree expander during DND,
expand the tree after a timeout. This matches
the behavior of GtkTreeView and GtkExpander.
2020-06-19 15:26:47 -04:00
Matthias Clasen
5629ac3c63
Add a list dnd example
...
Add a test for dnd with listview, gridview and columnview.
2020-06-19 15:26:10 -04:00
Matthias Clasen
110c316810
columnview: Increase the autoscroll threshold
...
With autoscroll during DND, we stop when you hit the edge
of the widget, so a larger threshold makes sense to avoid
hitting the edge by accident.
2020-06-19 15:26:10 -04:00
Matthias Clasen
470a1aabdd
columnview: Autoscroll during DND
...
Use a drop motion controller to autoscroll horizontally
while a drag operation is hovering over the list. The
vertical scrolling is handled by the listview.
2020-06-19 15:26:10 -04:00
Matthias Clasen
b299d62a73
columnview: separate autoscroll from headers
...
Break out an update_autoscroll() function that can
be used for other things than header DND. It will
be used for autoscroll during DND in the future.
2020-06-19 15:26:10 -04:00
Matthias Clasen
02b293b59c
listbase: Don't use adjustments for autoscrolling
...
Don't consult the adjustments when determining
scroll deltas. It isn't necessary.
2020-06-19 15:26:10 -04:00
Matthias Clasen
c659a231d6
listbase: Increase the autoscroll threshold
...
With autoscroll during DND, we stop when you hit the edge
of the widget, so a larger threshold makes sense to avoid
hitting the edge by accident.
2020-06-19 15:26:10 -04:00
Matthias Clasen
4e56581222
listbase: Autoscroll during DND
...
Use a drop motion controller to autoscroll while
a drag operation is hovering over the list.
2020-06-19 15:26:10 -04:00
Matthias Clasen
e8ba16d9c2
listbase: separate autoscroll from rubberband
...
Break out an update_autoscroll() function that can
be used for other things than rubberbanding. It will
be used for autoscroll during DND in the future.
2020-06-19 15:26:10 -04:00
Matthias Clasen
4a43c77f66
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2115
2020-06-19 16:17:27 +00:00
Matthias Clasen
55936087e0
columview: Fix cell creation
...
We were getting lost in the columnview internal
structure here. The rows are children of the listview,
not of the columnview itself.
2020-06-19 11:42:58 -04:00
Matthias Clasen
3141eaecd0
gtk-demo: Modernize the tag entry demo
...
Use a layout manager, and reduce boilerplate.
2020-06-19 11:42:47 -04:00
Matthias Clasen
69e14ba02f
Revert "notebook: Don't capture clicks"
...
This reverts commit 37eb0496b6 .
This change broke notebook scroll arrows.
2020-06-19 11:42:47 -04:00
Benjamin Otte
dffbcd8fdf
Merge branch 'wip/otte/for-master' into 'master'
...
listbase: Fix copy/paste error
See merge request GNOME/gtk!2114
2020-06-19 15:20:32 +00:00
Benjamin Otte
ff3b03c5e2
listbase: Fix copy/paste error
...
This could lead to "flickering" scroll behavior when scrolling
horizontally.
2020-06-19 15:51:52 +02:00
Florentina Mușat
32f4aa12cd
Update Romanian translation
2020-06-19 06:17:36 +00:00
Timm Bäder
fbb7948c13
stack: Avoid using an uninitialized value
...
This was showing up as criticals since for_size != >= -1.
2020-06-19 05:58:52 +02:00
Timm Bäder
d81a5a8338
stack: Add missing accessors for GtkStackPage properties
2020-06-19 05:26:25 +02:00
Timm Bäder
652323a4bf
stack: Fix some documentation mishaps
2020-06-19 05:26:25 +02:00
Timm Bäder
e45518fb5f
stack: Fix :needs-attention docs
...
This is a property on GtkStackPage these days.
2020-06-19 05:26:25 +02:00
Timm Bäder
424e46849a
widget: Don't leak css transform
2020-06-19 05:26:25 +02:00
Timm Bäder
68886ba847
treeview: Remove identical if branches
...
Fixes #2725
2020-06-19 05:26:25 +02:00
Timm Bäder
da85815399
transform: Fix docs to use "transform" instead of "matrix"
2020-06-19 05:26:25 +02:00
Timm Bäder
3bd648e72e
stack: stop keeping a cached child render node around
...
All widgets cache their render node already. Just allocate the
last_visible_child always at 0/0 and then move its rendernode around
during snapshot.
Fixes #2678
2020-06-19 05:26:25 +02:00
Timm Bäder
2ae8ace784
cssselector: Only copy max_selector once
2020-06-19 05:26:25 +02:00
Timm Bäder
1f89f21ca9
numbervalue: Remove some leftover debugging code
2020-06-19 05:26:25 +02:00
Timm Bäder
c6921cdc9d
builder: Use default size of 8 for the ObjectProperty arrays
2020-06-19 05:26:25 +02:00
Timm Bäder
7c9f2949ce
builder: Avoid allocating things we don't use
...
We pretty often have no parameters at all, so avoid allocating
ObjectProperties+GArray+GPtrArray in that case.
2020-06-19 05:26:25 +02:00
Timm Bäder
0b13e68bca
Avoid calling g_list_model_get_n_items() all the time
...
These are used in hot paths, e.g. widget construction.
2020-06-19 05:26:25 +02:00
Timm Bäder
5dde4c0a39
transform: Fix equal() docs
...
This has nothing to do with matrices.
2020-06-19 05:26:25 +02:00
Timm Bäder
b2875d7b19
window: Add automatic titlebar before content widget
...
Just like we do with explicitly set titlebars
2020-06-19 05:26:24 +02:00
Timm Bäder
0c1cfbbad1
transform: Compare 3d points directly
2020-06-19 05:26:24 +02:00
Timm Bäder
ddacf8cc43
window: Don't add class to css node directly
...
Use gtk_widget_add_css_class instead
2020-06-19 05:26:24 +02:00
Timm Bäder
395d13d5f1
window: Stop adding css nodes manually
...
No decoration node, no need to do this.
2020-06-19 05:26:24 +02:00
Timm Bäder
1e6e522a93
window: Remove dead code
...
There is no decoration node anymore.
2020-06-19 05:26:24 +02:00
Timm Bäder
f49a02e5b5
adwaita: Use proper transform for spinners
2020-06-19 05:26:24 +02:00
Timm Bäder
1e4dc90d62
widget: don't queue a redraw on css transform changes
2020-06-19 05:26:24 +02:00
Timm Bäder
2c3a41a81a
csstransformvalue: Make no-transform case explicit
2020-06-19 05:26:24 +02:00
Timm Bäder
203bb42cc1
widget: Re-shuffle preconditions in snapshot_child()
...
The GtkNative type check is more expensive than the mapped one, so avoid
the former for unmapped widgets
2020-06-19 05:26:24 +02:00
Timm Bäder
461497e8d4
widget: Avoid doing GtkSnapshot work just to append one node
...
We already know that a widget will have literally 1 node, not more.
Avoid doing the GtkSnapshot state stack dance and just append a new
transform node instead.
Seems to give me around 400 more icons in the fishbowl
2020-06-19 05:26:24 +02:00
Timm Bäder
a974c83423
gsktransform: Make next == NULL case explicit
...
This is handled with the is_identity() check as well but this way it's
much more obvious what's happening
2020-06-19 05:26:24 +02:00
Timm Bäder
5eb181281a
fishbowl: Remove visibility handling
...
First, almost all widgets are either visible and mapped, or visible and
unmapped because they are !child_visible. In both cases, we do care
about the size. If they are indeed invisible, gtk_widget_measure() will
take care of that by returning all 0.
And gtk_widget_unparent() already queues a resize on the parent if
necessary, so that is unneeded as well.
2020-06-19 05:26:24 +02:00
Timm Bäder
9eaeb04863
Fix print dialog node name
2020-06-19 05:25:52 +02:00
Matthias Clasen
5e6c316603
Merge branch 'better-naming' into 'master'
...
Stop using loaded terms
See merge request GNOME/gtk!2109
2020-06-19 00:09:03 +00:00
Matthias Clasen
77b4f6d68e
Merge branch 'quartz-openfile-fix' into 'master'
...
quartz: gtk-application - inhibit openFiles events from cmdline
See merge request GNOME/gtk!2112
2020-06-18 21:43:59 +00:00
Friedrich Beckmann
a614716d0f
quartz: gtk-application - inhibit openFiles events from cmdline
...
When an application is started via cmdline, then openFiles events
from MacOS are generated although gtkapplication already interprets
the cmdline arguments and opens suitable arguments as files. So they
would be opened twice. Depending on the exact situation the
openFiles event can also be issued before the startup signal
is given. Depending on the application this can result in a crash
due to unexpected behaviour. I took this idea from the
gedit-app-osx.m file. Also from Jesse van den Kieboom.
See:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2098#note_842975
https://gitlab.gnome.org/GNOME/gtk/-/commit/a3ad7fa80f764fb7bcbe
https://gitlab.gnome.org/GNOME/gedit/-/blob/master/gedit/gedit-app-osx.m#L592
2020-06-18 16:42:54 -04:00
Emmanuele Bassi
1c856a208f
Rename master and slave device
...
We already use the "logical/virtual" and "physical" names in the
documentation, there's no reason to use loaded terms just because X11
uses them.
2020-06-18 19:22:20 +01:00
Emmanuele Bassi
c7916c8e48
Use the appropriate name for Juneteenth
...
Juneteenth (a portmanteau of June and nineteenth)[2] (also known as
Freedom Day,[3] Jubilee Day,[4] and Liberation Day,[5]) is an unofficial
American holiday celebrated annually on the 19th of June in the United
States.
-- https://en.wikipedia.org/wiki/Juneteenth
2020-06-18 17:43:46 +01:00
Emmanuele Bassi
0c023bb5bb
Clarify document
...
We don't use the branch name to determine whether we should enable or
disable deprecation warnings coming from our dependencies.
2020-06-18 17:36:44 +01:00
Emmanuele Bassi
df73bf38c2
Rename internal object for the Quartz input method context
...
Like GtkIMMultiContext, the Quartz input method object uses a delegate
object internally. Let's not use loaded terms like "slave".
2020-06-18 17:33:30 +01:00
Emmanuele Bassi
7a1df3f914
Rename delegate input method context
...
The GtkIMMultiContext uses a delegate pattern to proxy an existing input
method context. Let's not use loaded terms like "slave" when we have
perfectly fungible terms like "delegate".
2020-06-18 17:32:05 +01:00
Emmanuele Bassi
3f78199cd5
Rename (unused) argument
2020-06-18 17:31:48 +01:00
Emmanuele Bassi
0a55d4c981
docs: Clean up the GtkBuilder description
...
Drop the reference to a long since removed RNC schema file and to
GtkUIManager; clean up the typography for code elements.
2020-06-18 17:21:09 +01:00
Emmanuele Bassi
7e03288724
Fix typo in a comment
2020-06-18 17:20:56 +01:00
Emmanuele Bassi
979bf5c6fb
cups: Use allow/ignore list
...
Don't use loaded terms like "whitelist" and "blacklist".
2020-06-18 16:58:43 +01:00
Emmanuele Bassi
a7f5b2e8fc
Update a comment
...
Drop the use of "blacklist" from the comment, since everything else
refers to "ignored" properties.
2020-06-18 16:57:27 +01:00
Yuri Chornoivan
94f246240d
Update Ukrainian translation
2020-06-18 15:29:05 +00:00
Matthias Clasen
bd5fcf2998
Merge branch 'typo_fix' into 'master'
...
Fix minor typos
See merge request GNOME/gtk!2108
2020-06-18 15:22:53 +00:00
Yuri Chornoivan
c0cf839729
Fix minor typos
2020-06-18 10:47:16 +03:00
Matthias Clasen
2a51d4fba8
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2107
2020-06-18 03:21:18 +00:00
Matthias Clasen
cd1078563d
gtk-demo: Fix the settings demo
...
This was not updated to the latest api of GtkEditableLabel.
2020-06-17 18:21:28 -04:00
Matthias Clasen
a9943922d5
gtk-demo: Cosmetic changes
...
Reword the titles and texts for several demos.
2020-06-17 18:12:01 -04:00
Matthias Clasen
b46bfcafd1
gtk-demo: Cosmetic changes to the tagged entry demo
2020-06-17 18:06:28 -04:00
Matthias Clasen
6141c139e6
gtk-demo: Fix the tagged entry demo
...
We were using gtk_box_append on a button. Fallout
from the container removal.
2020-06-17 17:53:40 -04:00
Matthias Clasen
0fb83d7619
gtk4-demo: Cosmetic fixes to the dialog demo
...
Make this look a bit less ancient.
2020-06-17 17:46:40 -04:00
Matthias Clasen
f64d0d8cbf
Merge branch 'matthiasc/cloudprovider-ci' into 'master'
...
Matthiasc/cloudprovider ci
See merge request GNOME/gtk!2106
2020-06-17 21:16:17 +00:00
Matthias Clasen
e5d6bb68ce
Fix another cloudprovider include
2020-06-17 16:19:55 -04:00
Matthias Clasen
74899599a6
gtk-demo: Add a missing source file
2020-06-17 16:06:37 -04:00
Emmanuele Bassi
12c38c1d57
Use the appropriate include for libcloudproviders
...
Libcloudproviders has a single header entry point, so we shouldn't
include a sub-header.
Additionally, the include path provided by the pkg-config file is:
-I${includedir}/cloudproviders
So the include directive should be:
#include <cloudproviders.h>
The fact that it worked until now was an accident caused by the blanket:
-I${includedir}
we get for free; it broke the build when using libcloudproviders as a
subproject.
2020-06-17 20:49:57 +01:00
Emmanuele Bassi
d243c6d7f9
ci: Enable libcloudproviders support
...
We ended up breaking the build when it's enabled, so we should test the
feature in our CI pipeline.
2020-06-17 14:06:20 -04:00
Emmanuele Bassi
c5481a125e
Add libcloudproviders as a fallback subproject
...
We require a new version of libcloudproviders so that we can enable it
in our CI pipeline.
2020-06-17 14:06:20 -04:00
Matthias Clasen
68d80babce
Merge branch 'fix-initial-demo-selection' into 'master'
...
gtk-demo: Select the initial demo properly
See merge request GNOME/gtk!2105
2020-06-17 17:37:12 +00:00
Emmanuele Bassi
981c71c497
Merge branch 'no-more-testdbus' into 'master'
...
Stop using GTestDBus
See merge request GNOME/gtk!2104
2020-06-17 16:54:06 +00:00
Matthias Clasen
10bcbae68c
gtk-demo: Select the initial demo properly
...
GtkSingleSelection does not give us a notification when
autoselect kicks in to select the first item. This was
barely noticeable, since the notebook ends up correctly
populated anyway, but the window title is not.
2020-06-17 12:25:28 -04:00
Matthias Clasen
1b265a7971
Stop using GTestDBus
...
It is causing tests to timeout when libraries we are using
leak bus connections, and it turns out our tests run fine
without a session bus.
2020-06-17 12:06:09 -04:00
Florentina Mușat
29c0dfb1d2
Update Romanian translation
2020-06-17 15:38:14 +00:00
Florentina Mușat
dbec5a8ce5
Update Romanian translation
2020-06-17 15:31:22 +00:00
Matthias Clasen
53eb85ba64
Merge branch 'ebassi/ci-cleanup-master' into 'master'
...
Small clean ups for the CI file
See merge request GNOME/gtk!2102
2020-06-17 15:06:44 +00:00
Emmanuele Bassi
73fdefd65c
ci: Move backend Meson flags into a variable
...
So we don't have to copy them around.
2020-06-17 13:29:14 +01:00
Emmanuele Bassi
86562a6c5a
ci: Move images into environment variables
...
Currently we have to hunt all the `image` keys when updating the image
in use for a job. We should centralise them all at the top of the file,
so they are easy to update in one simple change.
2020-06-17 13:28:07 +01:00
Daniel Mustieles
ceb63b83f2
Updated Spanish translation
2020-06-17 13:54:04 +02:00
Yuri Chornoivan
7373e73067
Update Ukrainian translation
2020-06-17 08:28:31 +00:00
Matthias Clasen
985ba832fb
Merge branch 'page-setup-combos' into 'master'
...
Page setup combos
See merge request GNOME/gtk!2100
2020-06-16 20:00:13 +00:00
Matthias Clasen
de729e936d
Merge branch 'wip/jimmac/dropdown-styling' into 'master'
...
Adwaita: dropdown styling
Closes #2846
See merge request GNOME/gtk!2101
2020-06-16 19:52:51 +00:00
Jakub Steiner
019f4b6b34
Adwaita: dropdown styling
...
- selected item color
- offset dropdown form the parent control
- special styling for the top search entry
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2846
2020-06-16 21:11:28 +02:00
Matthias Clasen
5bcb01e182
pagesetupdialog: Convert the printer combo
...
Turn the printer combo into a dropdown.
2020-06-16 14:44:30 -04:00
Matthias Clasen
25c2059abb
pagesetupdialog: Port the papersize combo
...
Turn the papersize combo into a dropdown.
2020-06-16 14:34:54 -04:00
Matthias Clasen
2a9c92f8e2
Drop unused includes
...
This is just cleanup to help tracking down
remaining GtkComboBox uses.
2020-06-16 14:34:54 -04:00
Friedrich Beckmann
d468ea3efa
quartz: added open capability to gtk_application
...
This patch implements the openFiles delegate which is required
to open files which are associated with an application via the
Finder or via open on the command line. The patch has been
proposed by jessevdk@gmail.com .
See: https://gitlab.gnome.org/GNOME/gtk/-/issues/463
I tested the patch with the GNU pspp application on MacOS with
the quartz backend.
2020-06-16 12:42:48 -04:00
Piotr Drąg
d2cfe9f69a
Update POTFILES.in
2020-06-16 18:16:43 +02:00
Emmanuele Bassi
8dbe9e975b
Merge branch 'wip/ricotz/cleanup' into 'master'
...
gdk: Drop gdk_device_get_axis_value leftovers
See merge request GNOME/gtk!2097
2020-06-16 15:05:25 +00:00
Benjamin Otte
dd6174c496
Merge branch 'cherry-pick-947c3e9f' into 'master'
...
Merge branch 'benzea/fix-css-update' into 'gtk-3-24'
See merge request GNOME/gtk!2096
2020-06-16 13:57:49 +00:00
Rico Tzschichholz
7c1cf7781b
gdk: Drop gdk_device_get_axis_value leftovers
2020-06-16 15:31:29 +02:00
Benjamin Otte
9b363a62fe
Merge branch 'benzea/fix-css-update' into 'gtk-3-24'
...
Fix CSS update loop
See merge request GNOME/gtk!2093
(cherry picked from commit 947c3e9f72 )
7a5caf1b cssnode: Don't queue_validate/deque_validate invisible nodes
2020-06-16 13:10:15 +00:00
Daniel Mustieles
2cc39fe282
Updated Spanish translation
2020-06-16 09:47:37 +02:00
Daniel Mustieles
6255bd6c08
Updated Spanish translation
2020-06-16 09:46:49 +02:00
Matthias Clasen
ab50d2090d
Merge branch 'printer-combo-conversion' into 'master'
...
Printer combo conversion
See merge request GNOME/gtk!2095
2020-06-16 05:02:44 +00:00
Matthias Clasen
c8843d0730
fontchooser: Drop unused includes
2020-06-15 23:10:40 -04:00
Matthias Clasen
687da2ca6b
text: Drop unused includes
2020-06-15 23:10:32 -04:00
Matthias Clasen
990a87fd79
printdialog: Convert some leftover code
...
There was still some code expecting to deal with tree
models. Convert it to work with list models.
2020-06-15 23:10:23 -04:00
Matthias Clasen
c4215a2bec
pagesetupdialog: Drop the Private struct
...
We don't need it here.
2020-06-15 23:10:12 -04:00
Matthias Clasen
342400d155
paperdialog: Convert the printer combo
...
Use a GtkDropDown for the printer combo.
2020-06-15 22:42:03 -04:00
Matthias Clasen
1ca308a5fd
Merge branch 'fix-notebook-tabs' into 'master'
...
Fix notebook tabs
Closes #2842 and #2841
See merge request GNOME/gtk!2092
2020-06-15 20:42:53 +00:00
Matthias Clasen
37eb0496b6
notebook: Don't capture clicks
...
Using the bubble works just fine here, and keeps buttons
in notebook tabs working without side-effects.
Fixes : #2841
2020-06-15 14:16:45 -04:00
Matthias Clasen
6a13bbbfef
Merge branch 'michaelweghorn/master_issue1820_gtkfilechoosernativeportal_get_filter' into 'master'
...
Make gtk_file_chooser_get_filter work for portal case (issue #1820 , master)
Closes #1820
See merge request GNOME/gtk!2070
2020-06-15 17:49:17 +00:00
Matthias Clasen
c175a7a470
searchentry: Fix keynav
...
Shift-Tabbing was getting stuck in GtkSearchEntry and
GtkPasswordEntry, since they grab the focus to a child
of theirs. Copy the same fix that we are already using
in GtkEntry.
Fixes : #2842
2020-06-15 13:48:03 -04:00
Matthias Clasen
937317e674
docs: Cosmetics
...
Remove a few instances of GTK+ in the docs.
2020-06-15 13:48:03 -04:00
Matthias Clasen
4248835ba1
Merge branch 'matthiasc/for-master' into 'master'
...
button: Center images
See merge request GNOME/gtk!2090
2020-06-15 17:01:25 +00:00
Matthias Clasen
180f7e4861
Merge branch 'editable-label' into 'master'
...
Editable label
See merge request GNOME/gtk!2081
2020-06-15 16:47:57 +00:00
Matthias Clasen
b526722000
button: Center images
...
If we leave the valign to be the default fill, then
the images pick up baseline alignment from the environment,
which can occasionally lead to misplaced -/+ icons in
spinbuttons, for example in the "Page Setup" tab of
the print dialog.
2020-06-15 12:24:48 -04:00
Matthias Clasen
b25bba4862
paperdialog: Port to use GtkListView
...
Use GtkListView and GtkEditableLabel here.
2020-06-15 12:08:54 -04:00
Matthias Clasen
02ce417279
gtk-demo: Use editable labels in the settings demo
...
This is more in line with the expected behavior for
editable lists.
2020-06-15 12:08:54 -04:00
Matthias Clasen
b0d2ae612f
Add a GtkEditableLabel widget
2020-06-15 12:08:54 -04:00
Matthias Clasen
23e3d48eb9
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Don't set style classes on app widgets
See merge request GNOME/gtk!2089
2020-06-15 16:01:22 +00:00
Matthias Clasen
14f26d2345
inspector: Don't set style classes on app widgets
...
Due to a mixup, the inspector was setting .dim-label on
widgets that get unmapped, instead of the labels representing
them in the object tree.
2020-06-15 11:22:32 -04:00
Matthias Clasen
7c357423a3
Merge branch 'matthiasc/for-master' into 'master'
...
dropdown: Style fixups
See merge request GNOME/gtk!2088
2020-06-15 15:05:14 +00:00
Matthias Clasen
cf2d6f6ec5
dropdown: Style fixups
...
Make the dropdown popover have a .menu style class,
and add padding to the rows in the popover. Also,
make the popover left-aligned with the button.
2020-06-15 10:25:31 -04:00
Alexander Larsson
1443ef85be
Merge branch 'final-frame-clock-work' into 'master'
...
Final frame clock work
See merge request GNOME/gtk!2087
2020-06-15 10:27:02 +00:00
Yariv Barkan
887aa2abdd
frame clock: fix scheduling
...
Fix scheduling of the frame clock when we don't receive "frame drawn"
messages from the compositor.
If we received "frame drawn" events recently, then the "smooth frame
time" would be in sync with the vsync time. When we don't receive frame
drawn events, the "smooth frame time" is simply incremented by constant
multiples of the refresh interval. In both cases we can use this smooth
time as the basis for scheduling the next clock cycle.
By only using the "smooth frame time" as a basis we also benefit from
more consistent scheduling cadence. If, for example, we got "frame
drawn" events, then didn't receive them for a few frames, we would still
be in sync when we start receiving these events again.
2020-06-15 08:54:18 +02:00
Yariv Barkan
9c5d6eaa71
frame clock: adjust reported frame time
...
When an animation is started while the application is idle, that often
happens as a result of some external event. This can be an input event,
an expired timer, data arriving over the network etc. The result is that
the first animation clock cycle could be scheduled at some random time,
as opposed to follow up cycles which are usually scheduled right after a
vsync.
Since the frame time we report to the application is correlated to the
time when the frame clock was scheduled to run, this can result in
uneven times reported in the first few animation frames. In order to fix
that, we measure the phase of the first clock cycle - i.e. the offset
between the first cycle and the preceding vsync. Once we start receiving
"frame drawn" signals, the cadence of the frame clock scheduling becomes
tied to the vsync. In order to maintain the regularity of the reported
frame times, we adjust subsequent reported frame times with the
aforementioned phase.
2020-06-15 08:54:17 +02:00
Yuri Chornoivan
c49318e973
Update Ukrainian translation
2020-06-15 06:33:54 +00:00
Matthias Clasen
131cc6497a
Merge branch 'mingw-x64-compiler-warnings' into 'master'
...
Fix various compiler warnings with the 64bit mingw build
See merge request GNOME/gtk!2020
2020-06-15 01:26:45 +00:00
Matthias Clasen
d9d591ff7a
Merge branch 'fix-spin-button-auto-sizing' into 'master'
...
spinbutton: Bring back auto-sizing
See merge request GNOME/gtk!2085
2020-06-14 22:06:16 +00:00
Christoph Reiter
f16b34f286
CI: Switch to 64bit mingw for the MSYS2 job
...
64 bit is more common now and also tests more things because
sizeof(glong) != sizeof(gpointer)
2020-06-14 20:02:46 +02:00
Christoph Reiter
85d822b2e8
Fix various compiler warnings with the 64bit mingw build
...
Use better matching format modifiers/specifiers, initialise some things
which in theory wont be written to because of getters using g_return_if_fail(),
a cast, and gsize as input for malloc because gsize!=glong on 64bit Windows.
2020-06-14 20:02:36 +02:00
Matthias Clasen
4e5689abeb
Merge branch 'tchaik/fix-lpr-build' into 'master'
...
Fix the lpr print backend build (redundant-decls)
See merge request GNOME/gtk!2084
2020-06-14 14:57:42 +00:00
Matthias Clasen
b046c8d4ad
spinbutton: Bring back auto-sizing
...
We lost this when GtkSpinButton was first ported
to the new editable regime, and then the GtkBoxLayout.
Bring it back, but without text measurement, by overriding
width-chars for the GtkText inside, and only do it if
GtkSpinButton::width-chars is unset (ie -1).
Also adjust the documentation slightly to point out
how auto-sizing can be turned off.
2020-06-14 10:55:30 -04:00
Martin Blanchard
72c72d0b37
Fix the lpr print backend build (redundant-decls)
...
Class and instance _init() functions are already declared by
G_DEFINE_DYNAMIC_TYPE ().
2020-06-14 16:14:24 +02:00
Asier Sarasua Garmendia
5e69181d8d
Update Basque translation
2020-06-13 20:19:00 +00:00
Asier Sarasua Garmendia
9c5a9fb100
Update Basque translation
2020-06-13 19:40:17 +00:00
Matthias Clasen
ceb2349823
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory: Make the print dialog more functional
See merge request GNOME/gtk!2083
2020-06-13 16:17:49 +00:00
Matthias Clasen
818b7c44be
widget-factory: Make the print dialog more functional
...
Allow opening the papersize dialog.
2020-06-13 08:59:21 -04:00
Yuri Chornoivan
044026d330
Update Ukrainian translation
2020-06-13 11:45:35 +00:00
Piotr Drąg
66882f3825
Update POTFILES.in and POTFILES.skip
2020-06-13 12:48:27 +02:00
Matthias Clasen
1d0235780c
Merge branch 'matthiasc/for-master' into 'master'
...
paperdialog: Drop the private struct
See merge request GNOME/gtk!2082
2020-06-12 21:53:48 +00:00
Matthias Clasen
770d6cb2bd
paperdialog: Drop the private struct
...
Not needed here.
2020-06-12 12:54:21 -04:00
Matthias Clasen
106e1080ae
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2080
2020-06-12 16:39:46 +00:00
Matthias Clasen
07ecb3cb78
Merge branch 'fix-custom-paper-dialog' into 'master'
...
Fix the custom paper dialog
See merge request GNOME/gtk!2078
2020-06-12 14:01:17 +00:00
Matthias Clasen
74ac435ae6
printdialog: Replace the papersize combo with a dropdown
...
This one is more complicated, since it involves
separators and a custom item.
2020-06-12 09:22:36 -04:00
Matthias Clasen
c80ba49a60
Adwaita: Allow separators on individual list items
...
Allow setting a .separator style class on list items
to put a separator before the item.
2020-06-12 09:22:36 -04:00
Emmanuel Gil Peyrot
404d79153e
Switch to GL_ARB_framebuffer_object
...
GTK 4.0 was currently using GL_EXT_framebuffer_object, which is
deprecated as the ARB version has been merged into OpenGL 3.0 as well as
OpenGL ES 2.0, and provides laxer requirements.
This is a port of !2076 for 4.x.
2020-06-12 15:08:44 +02:00
Matthias Clasen
ed9941ec2c
printdialog: Replace some combo boxes with drop downs
...
These are just the simple cases.
2020-06-12 08:49:01 -04:00
Matthias Clasen
c3b43f2ad2
printeroptionwidget: Port to GtkDropDown
...
Use GtkDropDown instead of GtkComboBox in the print dialog.
2020-06-12 08:49:01 -04:00
Matthias Clasen
86718439be
testdropdown: Add some more tests
...
Add a homegrown combobox entry replacement that
combines a dropdown with a plain entry.
2020-06-12 08:49:01 -04:00
Matthias Clasen
933e373b07
dropdown: Make the stack nonhomogeneous
...
Without this, the (None) in the empty page forces
the button to have a large minimum width, even when
we don't put a widget in it.
2020-06-12 08:49:01 -04:00
Matthias Clasen
e6dcd55480
Fix the custom paper dialog
...
This broke during the container removal.
2020-06-12 08:46:18 -04:00
Yuri Chornoivan
0d901ef174
Update Ukrainian translation
2020-06-12 06:40:07 +00:00
Matthias Clasen
716e0db690
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2077
2020-06-11 23:44:48 +00:00
Matthias Clasen
90b78132d4
dropdown: Make the popup as wide as the button
...
Having narrow popups on a wide button looks awkward.
Do the same as the combo box, and ensure the popup
is at least as wide as the button.
2020-06-11 18:29:58 -04:00
Matthias Clasen
c2285d923d
iconbrowser: Drop app menu leftovers
...
We don't use menus.ui anymore, so don't put it in a resource.
2020-06-11 18:16:36 -04:00
Matthias Clasen
4a79ac4473
Adwaita: bring dropdown arrows back
...
These got lost when the css name changed from combobox
to dropdown.
2020-06-11 18:09:12 -04:00
Matthias Clasen
2a3e5422ad
docs: Cosmetics
...
Remove a few instances of GTK+ from the docs, and
remove references to ancient versions.
2020-06-11 17:25:57 -04:00
Matthias Clasen
e0c39dbf7e
Merge branch 'recent-model' into 'master'
...
Add a list model for recent files
See merge request GNOME/gtk!2073
2020-06-11 20:58:52 +00:00
Matthias Clasen
8c670b3b5d
testcolumnview: Add recent file support
...
Use testcolumnview --recent to see recent files.
2020-06-11 16:14:47 -04:00
Matthias Clasen
5dddec4dd9
Add GtkBookmarkList
...
This is a listmodel similar to GtkDirectoryList,
for tracking recent files.
2020-06-11 16:14:47 -04:00
Matthias Clasen
93017bb8db
Merge branch 'property-selection-getters' into 'master'
...
propertyselection: Add getters
See merge request GNOME/gtk!2075
2020-06-11 13:08:47 +00:00
Matthias Clasen
059c45a85b
propertyselection: Add getters
...
These were missing.
2020-06-11 07:35:20 -04:00
Matthias Clasen
63692a491d
Merge branch 'michaelweghorn/master_issue1820_gtkfilechoosernative_get_filter' into 'master'
...
filechoosernative: Make get_filter work for (non-portal) native chooser (master, issue #1820 )
Closes #1820
See merge request GNOME/gtk!2069
2020-06-10 14:47:36 +00:00
Emmanuele Bassi
bbe79c1ef9
Merge branch 'wip/carlosg/zoom-no-touchpad-warnings' into 'master'
...
gtkgesturezoom: Do not check touchpad phase on generic events
Closes #2825
See merge request GNOME/gtk!2071
2020-06-10 14:35:10 +00:00
Matthias Clasen
4b241f8da2
Merge branch 'scroll-compression' into 'master'
...
gdk: Compress scroll events
Closes #2800
See merge request GNOME/gtk!2066
2020-06-10 14:35:01 +00:00
Matthias Clasen
bdd6ae3252
Merge branch 'device-cleanup' into 'master'
...
Device cleanup
See merge request GNOME/gtk!2068
2020-06-10 13:06:13 +00:00
sicklylife
24a3ff3aef
Update Japanese translation
2020-06-10 12:34:42 +00:00
Carlos Garnacho
ba988cd899
gtkgesturezoom: Do not check touchpad phase on generic events
...
This gesture handles both individual touch events and touchpad gesture
events, and was checking the touchpad phase in generic code paths. This
is dubious since event methods error out on the wrong GdkEventTypes.
Check the touchpad gesture phase within the branch handling touchpad
events, and make it clear which is the gesture phase of all that we are
ignoring.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2825
2020-06-10 14:30:58 +02:00
sicklylife
1bf1646d25
Update Japanese translation
2020-06-10 12:18:55 +00:00
Matthias Clasen
2c82151d65
gdk: Drop axis labels
...
This was only ever implemented on X11, and the labels
here were atom names, so unlikely to be useful for
anything interesting.
2020-06-10 07:36:30 -04:00
Alexander Larsson
d2235b71f3
Merge branch 'win32-use-g-stat' into 'master'
...
gtkiconcache: Use g_stat instead of fstat
See merge request GNOME/gtk!2019
2020-06-10 07:19:22 +00:00
Michael Weghorn
ecc6c255ef
Make gtk_file_chooser_get_filter work for portal case
...
This makes 'gtk_file_chooser_get_filter' work for the
portal native file chooser by handling the corresponding
'current_filter' argument in the response retrieved via
D-Bus.
In order to try to map the retrieved 'current_filter' to one
of the existing list of filters, use the retrieved filter's name,
similar to how xdg-desktop-portal-gtk does it when evaluating the
'current_filter' input parameter in 'options'.)
Note: This depends on the following merge/pull requests
which fix the filter handling in gtk for native file choosers
and introduce the 'current_filter' handling for FileChooser portal.
* https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1959
* https://github.com/flatpak/xdg-desktop-portal/pull/493
* https://github.com/flatpak/xdg-desktop-portal-gtk/pull/311
This fixes #1820 for desktop portal case.
Fixes : #1820
2020-06-09 22:59:54 +02:00
Michael Weghorn
57135acd2d
filechoosernative: Make get_filter work for (non-portal) native chooser
...
'gtk_file_chooser_get_filter' did not work for GtkFileChooserNative,
since the previous way did not properly handle the delegate dialog,
s.a. commit a136cbae8f
("filechoosernative: forward current_filter to delegate dialog",
2018-11-29) for details, wich basiscally fixed the same thing for
the 'gtk_file_chooser_set_filter' case.
This fixes #1820 for the fallback dialog. A solution for the portal
one (which also requires changes to xdg-desktop-portal and
xdg-desktop-portal-gtk as well) will be suggested in a subsequent step.
Bug: #1820
2020-06-09 22:59:34 +02:00
Matthias Clasen
54c098761f
gdk: Drop gdk_device_set_axis_use
...
If you need some axes changed, you can just flip
the values when you receive them.
2020-06-09 15:27:34 -04:00
Matthias Clasen
2f98400b80
gdk: Drop gdk_device_get/set_keys
...
This functionality was only ever half-implemented
on X11, and is not useful enough to keep around.
2020-06-09 15:27:33 -04:00
Matthias Clasen
ea7c9b93ea
x11: Stop setting device keys
...
This is very vestigial functionality, and basically
unused.
2020-06-09 15:05:55 -04:00
Matthias Clasen
4317c008f0
Address review comments
...
We were casting scroll events to motion events
rather carelessly. Don't do that.
2020-06-09 14:13:22 -04:00
Matthias Clasen
d605d9ae73
gdk: Add documentation
...
Add some useful information about event history.
2020-06-09 13:59:26 -04:00
Matthias Clasen
c9fad25131
gdk: Rename gdk_motion_event_get_history
...
Scroll events can have history too, so make a
getter that works for both. This drops the
gdk_scroll_event_get_history getter that was
added a few commits earlier, since we now
store scroll history in the same way as
motion history.
Update the docs, and all callers.
2020-06-09 13:43:12 -04:00
Matthias Clasen
693200f1eb
gdk: Shrink GdkTimeCoord
...
There is really no need to store 128 doubles as axes,
ever. We can do just fine with 10. At the same time,
add a GdkAxisFlags member, so we can interpret the
values without having to go chasing the right device
for this information.
2020-06-09 13:43:03 -04:00
Matthias Clasen
5f087a9dff
gdk: Add scroll delta x/y as device axes
...
They really are axes, and having them present
in these enums lets use store delta values in
GdkTimeCoord for keeping history.
2020-06-09 13:43:03 -04:00
Matthias Clasen
b9cde6f8ea
Keep scroll history
...
Similar to how we keep motion history for compressed
events, keep scroll history for compressed scroll
events.
2020-06-09 13:43:03 -04:00
Matthias Clasen
86eece78b1
gdk: Compress scroll events
...
Only return one accumulated scroll event per frame.
Compress them by adding up the deltas.
Still missing: a way to capture history, like
we do for motion events.
Fixes : #2800
2020-06-09 13:43:03 -04:00
Daniel Mustieles
8cb50ac6e9
Updated Spanish translation
2020-06-09 17:19:50 +02:00
Matthias Clasen
997fbbde8f
Merge branch 'drop-device-history' into 'master'
...
Drop device history
See merge request GNOME/gtk!2065
2020-06-08 23:56:30 +00:00
Matthias Clasen
805ddc3c3a
gdk: Drop gdk_device_get_history
...
This function is not implemented anywhere.
2020-06-08 18:24:20 -04:00
Matthias Clasen
da9b3a9256
win32: Drop pointless vfuncs
...
These are not useful.
2020-06-08 18:24:20 -04:00
Matthias Clasen
876560924f
wayland: Drop a pointless vfunc
...
A vfunc that just returns FALSE is not useful.
2020-06-08 18:24:20 -04:00
Matthias Clasen
ca1c89c5bd
broadway: Drop a pointless vfunc
...
A vfunc that just returns FALSE is not useful.
2020-06-08 18:24:20 -04:00
Jordi Mas
7875e28d9f
Update Catalan translation
2020-06-08 22:50:03 +02:00
Benjamin Otte
bd2f2a6f65
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2064
2020-06-08 18:43:31 +00:00
Benjamin Otte
541aaa2392
selectionmodel: Add unselect_rest argument to select_callback
...
This is not just about consistency with other functions.
It is about avoiding reentrancy problems.
GtkListBase first doing an unselect_all() will then force the
SelectionModel to consider a state where all items are unselected
(and potentially deciding to autoselect one) and then cause a
"selection-changed" emission that unselects all items and potentially
updates all the list item widgets in the GtkListBase to the unselected
state.
After this, GtkListBase selects new items, but to the SelectionModel and
the list item widgets this looks like an enitrely new operation and
there is no way to associate it with the previous state, so the
SelectionModel cannot undo any previous actions it took when
unselecting.
And all listitem widgets will now think they were just selected and
start running animations about selecting.
2020-06-08 19:06:56 +02:00
Benjamin Otte
d294b01cee
selectionmodel: Rename "exclusive" to "unselect_rest"
...
The name is better at explaining what this boolean is meant to do.
2020-06-08 18:26:48 +02:00
Benjamin Otte
5d9dc25115
listitemmanager: Update selections properly
...
Replace a previous fix with a more correct one: Update the
selected state from the model instead of reusing the old state, the
model might have updated the selected state.
2020-06-08 18:14:24 +02:00
Daniel Mustieles
c8988ec784
Updated Spanish translation
2020-06-08 17:21:58 +02:00
Daniel Mustieles
071dbc1115
Updated Spanish translation
2020-06-08 16:11:28 +02:00
Matthias Clasen
80c5e4a156
Merge branch 'matthiasc/for-master' into 'master'
...
dropdown: Use our own CSS name
See merge request GNOME/gtk!2061
2020-06-08 11:15:28 +00:00
Emmanuele Bassi
6eac3063fa
Merge branch 'tintou/places-sidebar-cloudproviders' into 'master'
...
placessidebar: Fix build with libcloudproviders
See merge request GNOME/gtk!2062
2020-06-08 09:35:23 +00:00
Corentin Noël
27925fcb0e
placessidebar: Fix build with libcloudproviders
...
Make it build with cloudproviders=true as the GtkPopover API for menus is now in GtkPopoverMenu.
Fix some leaks while looking at the code.
2020-06-08 10:40:46 +02:00
Matthias Clasen
5f4d21422a
Merge branch 'fix-cell-editing' into 'master'
...
Fix cell editing
Closes #2831
See merge request GNOME/gtk!2060
2020-06-07 14:54:37 +00:00
Matthias Clasen
b0bb413faa
dropdown: Use our own CSS name
...
Use the name dropdown for the css node, and document it.
2020-06-07 09:01:20 -04:00
Matthias Clasen
37633985bd
Drop gtknativeprivate.h
...
No need to ship empty headers.
2020-06-07 08:52:45 -04:00
Matthias Clasen
6ff8f1b2fd
Merge branch 'gtk-demo-tweaks' into 'master'
...
Gtk demo tweaks
See merge request GNOME/gtk!2059
2020-06-07 12:51:34 +00:00
Matthias Clasen
d13a3c7540
Fix cell editing
...
When translating coordinates from an event, we need to
take the surface transform into account. This makes
double-clicking on editable cells in treeviews work
again.
Fixes : #2831
2020-06-07 08:46:31 -04:00
Yuri Chornoivan
0a469d7bd6
Update Ukrainian translation
2020-06-07 08:51:44 +00:00
Piotr Drąg
115edc5fd1
Update POTFILES.in
2020-06-07 09:27:34 +02:00
Matthias Clasen
a28c75f215
gtk-demo: Expand the sidebar by default
...
Seems better to show what we have. Plus, clicking
those arrows is a little fiddly.
2020-06-06 22:12:12 -04:00
Matthias Clasen
b9d7dab329
gtk-demo: Improve display of image sources
...
Make the images expand to fill the space.
2020-06-06 22:12:12 -04:00
Matthias Clasen
bb7500e984
gtk-demo: Cosmetics
...
Tweak the formatting of the descriptions of
various demos.
2020-06-06 22:05:52 -04:00
Matthias Clasen
e94268944b
gtk-demo: Cosmetics
...
Make the titles of some demos match between sidebar
and window.
2020-06-06 21:42:42 -04:00
Emmanuele Bassi
3225b487e8
Merge branch 'ebassi/for-master' into 'master'
...
Annotate the GtkSelectionModel callbacks
See merge request GNOME/gtk!2057
2020-06-07 01:42:21 +00:00
Matthias Clasen
e35c0e043e
gtk-demo: Add overline to the markup demo
...
This is a new-ish Pango feature.
2020-06-06 21:38:31 -04:00
Matthias Clasen
b251893030
Drop pango version checks
...
We are requiring pango 1.45.0 now, so no need to
Keep these ifdefs in the code any longer.
2020-06-06 21:32:55 -04:00
Matthias Clasen
15257e3922
gtk-demo: Fix a leak
...
The themes demo was leaking its builder, and
therefore couldn't be closed.
2020-06-06 20:09:42 -04:00
Matthias Clasen
180a5a1ad7
gtk-demo: Cosmetic changes to the dropdown demo
...
Match the window title and the sidebar.
2020-06-06 20:08:50 -04:00
Matthias Clasen
11f971d870
gtk-demo: Cosmetic improvements to clocks demo
...
Reformat the code comments, and add a 10th clock.
2020-06-06 19:43:21 -04:00
Emmanuele Bassi
7c382c6b47
Annotate the GtkSelectionModel callbacks
...
We need a scope for the select and unselect callback arguments.
2020-06-07 00:39:33 +01:00
Jordi Mas
087f42d998
Update Catalan translation
2020-06-06 23:13:17 +02:00
Matthias Clasen
2abb5b6419
3.98.5
2020-06-06 16:03:38 -04:00
Matthias Clasen
f2259adcdc
Disable a failing test
...
For some reason, empty-linear-gradient is failing here,
with the broadway and opengl renderers, and I don't
know why. Disable it for now.
2020-06-06 15:32:26 -04:00
Matthias Clasen
a73457237d
Skip broken a11y tests
2020-06-06 14:18:44 -04:00
Matthias Clasen
9f335d3ee6
docs: Regroup the tree support parts
...
Give the chapter a title, and put some things in sections.
2020-06-06 13:54:58 -04:00
Matthias Clasen
856c8950ff
docs: Put selection models into a section
...
This makes the documentation structure a bit clearer.
2020-06-06 13:54:58 -04:00
Matthias Clasen
61ccf4e719
docs: Fix up the GtkNativeDialog section
...
Without GtkNativeDialog in the section list,
links are not generated from the object hierarchy.
2020-06-06 13:54:58 -04:00
Matthias Clasen
1567db1f02
Merge branch 'misc-multiselection' into 'master'
...
Misc multiselection
See merge request GNOME/gtk!2055
2020-06-06 17:54:42 +00:00
Matthias Clasen
8316d5e366
Merge branch 'list-arrows' into 'master'
...
listbase: Make up/down arrows work
See merge request GNOME/gtk!2056
2020-06-06 17:47:05 +00:00
Matthias Clasen
8fca040163
Merge branch 'property-selection' into 'master'
...
Property selection
Closes #2826
See merge request GNOME/gtk!2054
2020-06-06 17:35:05 +00:00
Matthias Clasen
c0fe1a7ffe
listbase: Make up/down arrows work
...
We were missing a binding for up/down without modifiers.
2020-06-06 12:33:12 -04:00
Matthias Clasen
e72c243aca
singleselection: Clarify docs
...
Mention persistence and sorting.
2020-06-06 11:53:33 -04:00
Matthias Clasen
14605d4b92
gtk-demo: Use a property selection in the colors demo
...
This makes the property persist across sort changes.
2020-06-06 11:41:51 -04:00
Matthias Clasen
d1509971d8
Add GtkPropertySelection
...
This is a selection model that stores the selection
state in a boolean property of the items, and thus
persists across reordering and similar changes.
Fixes : #2826
2020-06-06 11:41:51 -04:00
Matthias Clasen
951c9c5d73
Merge branch 'listitemmanager-selection' into 'master'
...
listitemmanager: Handle selection-changes properly
Closes #2827
See merge request GNOME/gtk!2053
2020-06-06 15:23:40 +00:00
Matthias Clasen
3e6e247e56
multiselection: Rewrite the select_callback implementation
...
Use a for loop to make this more obvious, and add some
assertions that the callback is behaving properly.
2020-06-06 11:22:48 -04:00
Matthias Clasen
27ce68b74a
Add tests for select_callback
2020-06-06 11:22:48 -04:00
Matthias Clasen
b0cf7a95b0
Add a forgotten export
...
gtk_selection_model_unselect_callback needs to be exported.
2020-06-06 11:22:48 -04:00
Matthias Clasen
fd7f19c934
selectionmodel: Document the callback apis
2020-06-06 10:36:57 -04:00
Matthias Clasen
8090e213de
Add a test for multiselection persistence
...
Add a test that verifies that newly added items
are always unselected.
2020-06-06 10:24:14 -04:00
Matthias Clasen
de6327a885
multiselection: Clarify docs
...
Make it clear that GtkMultiSelection is not persistent
across resorting.
2020-06-06 10:24:14 -04:00
Yuri Chornoivan
8699c0f340
Update Ukrainian translation
2020-06-06 13:46:40 +00:00
Yuri Chornoivan
bda5454549
Update Ukrainian translation
2020-06-06 13:44:29 +00:00
Matthias Clasen
c3a6e35070
Drop an unnecessary include
2020-06-06 09:39:36 -04:00
Matthias Clasen
71c29bfcff
listitemmanager: Handle selection-changes properly
...
The selection model will only emit one of items-changed
or selection-changed, so when we handle an items-changed,
we must assume that selection state may have changed for
any of the newly added items.
This fixes lingering selection state in the visible range
if you change the sorting of the colors demo.
Fixes : #2827
2020-06-06 08:36:11 -04:00
Piotr Drąg
647ed59d11
Update POTFILES.in and POTFILES.skip
2020-06-06 14:00:43 +02:00
Matthias Clasen
a0c489048a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2052
2020-06-06 05:30:30 +00:00
Benjamin Otte
0f9def660d
Merge branch 'wip/otte/for-master' into 'master'
...
multiselection: Remove unused code
See merge request GNOME/gtk!2051
2020-06-06 05:16:47 +00:00
Matthias Clasen
9fa65eadae
listitemwidget: Don't look at rubberbanding
...
Move the selection changes to button release, to
avoid conflict with the drag gesture for rubberbanding.
This avoids peeking at the parent, and is generally
nicer.
Among other things, you can now shift-click to select
a range in the colors demo in gtk4-demo.
2020-06-06 00:23:04 -04:00
Matthias Clasen
facfff0022
listbase: Fix an off-by-one error
...
We were accidentally cutting off the set one-too-early,
which showed up as single clicks not selecting an item
anymore.
2020-06-06 00:15:50 -04:00
Matthias Clasen
f8b4083f47
listbase: Fix a problem with rubberbands
...
When I changed things to only collect the set
in the stop() function, I overlooked that this
has the side-effect of only handling items which
are backed by a widget at the time stop() is called.
If we make a big rubberband and autoscroll down too
far, we loose the items that go out the visible range
at the top. Fix that by maintaining the set as we go.
2020-06-05 23:18:00 -04:00
Matthias Clasen
b047b7838d
multiselection: Don't emit nonsensical signals
...
I forgot to add a check here. We only want to emit
a ::selection-changed if we actually changed it.
2020-06-05 23:15:20 -04:00
Benjamin Otte
b1c00ecee6
multiselection: Remove unused code
...
This is leftover code from an earlier SelectionModel API.
2020-06-06 05:02:37 +02:00
Matthias Clasen
93abd8da59
NEWS: Updates
2020-06-05 22:50:30 -04:00
Matthias Clasen
3412f0554f
gtk: Documentation fixups
...
Document missing symbols, and other cleanups.
2020-06-05 22:50:30 -04:00
Matthias Clasen
61c83f9ffe
gdk: Documentation fixups
...
Document some missing symbols.
2020-06-05 20:59:51 -04:00
Matthias Clasen
3d7c1f8950
gsk: Documentation fixups
...
Document a few missing symbols.
2020-06-05 20:19:45 -04:00
Matthias Clasen
b0e81acc12
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2050
2020-06-05 23:55:12 +00:00
Matthias Clasen
a682d97663
Merge branch 'wip/ebassi/a11y-2' into 'master'
...
Accessibility cleanup
See merge request GNOME/gtk!2049
2020-06-05 23:04:21 +00:00
Matthias Clasen
0e5137ae61
NEWS: Updates
2020-06-05 18:40:53 -04:00
Matthias Clasen
005a3da18f
gtk-demo: Another way to trigger theme benchmark
...
The click on the headerbar seems broken atm, so add
an explicit button to trigger the cycling among the
themes.
2020-06-05 18:40:24 -04:00
Matthias Clasen
be6bcf882d
spinbuttonaccessible: Fix an oversight
...
We need to pass the accessible to the signal handler.
2020-06-05 17:21:26 -04:00
Matthias Clasen
fb344e8108
Trivial typo fix
2020-06-05 17:08:43 -04:00
Emmanuele Bassi
b99389bcb8
a11y: Drop GtkWidgetAccessibleClass.notify_gtk
...
It's finally unused.
Accessible types should either watch properties they are interested in
directly, or should have (private) API to allow widgets to update the
accessible state directly.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
0fefdc99b2
a11y: Simplify GtkEntryAccessible
...
Now that we don't have any additional subclasses of GtkEntryAccessible
in GTK, we can drop all the conditional fluff in the base class.
We still need to subscribe to the global notify signal, because of the
sheer amount of properties watched by GtkEntryAccessible.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
e63419fbf4
a11y: Implement GtkPasswordEntryAccessible properly
...
GtkPasswordEntryAccessible is not a GtkEntryAccessible any more, so it
will need a proper implementation of various interfaces and
functionality in order to work like any other entry.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
428bb09a35
a11y: Make GtkSearchEntryAccessible a full GtkWidgetAccessible
...
We should not inherit from GtkEntryAccessible, given that GtkSearchEntry
is *not* a GtkEntry.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
7c2c795681
a11y: Simplify GtkScrollbarAccessible
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
165f352c58
a11y: Simplify GtkScaleButtonAccessible
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
3d6e702f63
a11y: Simplify GtkSpinButtonAccessible
...
We're already listening to the adjustment property on the spin button,
there's no need to reset the adjustment on widget set/unset, since the
accessible instance is always tied to the same widget.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
597e9a96b4
a11y: Simplify GtkTextAccessible
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
6f4ed6c105
a11y: Simplify GtkTextViewAccessible
...
Drop the GtkWidgetAccessible.notify_gtk override.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
c3eafed472
a11y: Simplify GtkColorSwatchAccessible
...
Drop the GtkWidgetAccessible.notify_gtk override.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
7480fb703e
a11y: Simplify GtkNotebookAccessible
...
Let the GtkNotebook explicitly update the accessible object that the
current page has changed, instead of overriding
GtkWidgetAccessible.notify_gtk.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
24e8b484e0
a11y: Simplify GtkWindowAccessible
...
Have GtkWindow notify of title changes, instead of overriding
GtkWidgetAccessible.notify_gtk.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
d60f7f2e7a
a11y: Simplify GtkExpanderAccessible
...
Drop the GtkWidgetAccessible.notify_gtk and AtkObject.initialize
overrides, and have GtkExpander update the state of the accessible
object directly.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
0dcffe7c33
a11y: Simplify GtkLevelBarAccessible
...
Drop the GtkWidgetAccessible.notify_gtk and AtkObject.initialize
overrides, and have GtkLevelBar notify the accessible object of value
changes.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
9f09cfcfbd
a11y: Split GtkSearchEntryAccessible from GtkEntryAccessible
...
Use a separate accessible object for the GtkSearchEntry, just like we
did for GtkPasswordEntry.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
7373cd962c
a11y: Split password entry accessible from GtkEntryAccessible
...
Use a separate accessible object.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
ac3f0df083
a11y: Simplify GtkProgressBarAccessible
...
Drop the GtkWidgetAccessibleClass.notify_gtk and the
AtkObjectClass.initialize overrides: they don't do anything relevant.
Instead, have GtkProgressBar update the accessible state when the
fraction changes.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
f95d54a13d
a11y: Use G_DECLARE macro for GtkWidgetAccessible
...
Allows us to drop the Private structure typedef.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
fc512f0b9f
a11y: Update the accessible state when GtkIconView:model changes
...
Do not use a generic "notify" signal handler.
Additionally, clean up the GtkIconViewAccessible implementation to bring
it up with modern idiomatic GObject.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
f5ed59b7f2
a11y: Drop notify_gtk() from GtkRangeAccessible
...
Let the GtkRange notify the accessible instance when the adjustment
changes.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
9d51aa1443
a11y: Drop notify_gtk() from GtkButtonAccessible
...
Make GtkButton notify the accessible state directly when updating the
label.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
f0bdc865b9
a11y: Remove GtkToggleButtonAccessible notify_gtk implementation
...
The base GtkWidgetAccessible class does the right thing by default.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
eda1703f9d
a11y: Update accessible state for GtkTreeView directly
...
Do not use GtkWidgetAccessibleClass.notify_gtk().
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
51fc382582
Notify accessibility state changes from GtkWidget
...
Piggybacking on blanket GObject::notify is not very efficient.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
6e52ef96a4
Move orientable style classes into GtkWidget
...
It feels slightly wrong to have GtkOrientable operate on widgets, but at
least what happens when an orientable widget changes orientation should
be part of GtkWidget.
This will allow to add more state changes without accessing widget state
from the outside of gtkwidget.c.
2020-06-05 20:35:09 +01:00
Emmanuele Bassi
9606c1eee9
Notify mapped state to the accessible object directly
...
Do not use signal connections: if we have an accessible object, notify
it directly when getting mapped and unmapped.
2020-06-05 20:32:27 +01:00
Emmanuele Bassi
959c101400
Drop unused AtkRegistry path
...
We expect widgets to use their own derived GtkWidgetAccessible type,
these days, and given that we hard code the default accessible type of a
GtkWidget to GtkWidgetAccessible, and that we enforce the dependency of
the type passed to gtk_widget_class_set_accessible_type(), the registry
code path is clearly unused.
2020-06-05 20:32:27 +01:00
Emmanuele Bassi
6b096e5c5b
Make tooltip properties idiomatic
...
The tooltip handling in GtkWidget is "special":
- the string is stored inside the qdata instead of the private
instance data
- the accessors call g_object_set() and g_object_get(), and the
logic is all inside the property implementation, instead of
being the other way around
- the getters return a copy of the string
- the setters don't really notify all the involved properties
The GtkWidgetAccessible uses the (escaped) tooltip text as a source for
the accessible object description, which means it has to store the
tooltip inside the object qdata, and update its copy at construction and
property notification time.
We can simplify this whole circus by making the tooltip properties (text
and markup) more idiomatic:
- notify all side-effect properties
- return a constant string from the getter
- if tooltip-text is set:
- store the text as is
- escape the markup and store it separately for the markup getter
- if tooltip-markup is set:
- store the markup as is
- parse the markup and store it separately for the text getter
The part of the testtooltips interactive test that checks that the
getters are doing the right thing is now part of the gtk testsuite, so
we ensure we don't regress in behaviour.
2020-06-05 20:32:26 +01:00
Emmanuele Bassi
9ac1eacdc8
Use modern GObject macros for GtkAccessible
2020-06-05 20:32:26 +01:00
Matthias Clasen
8e7395a7e3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2048
2020-06-05 19:25:46 +00:00
Matthias Clasen
80fbc1b72d
multiselection: Fix the select_range implementation
...
When exclusive is TRUE, we would not always emit a
::selection-changed signal that covers all the items
that were unselected.
This commit includes a test.
2020-06-05 14:57:59 -04:00
Matthias Clasen
17ea03eee2
set: Fix gtk_set_get_max
...
This function had an off-by-one error. Thankfully,
our selection tests are thorough enough to catch it.
2020-06-05 14:57:32 -04:00
Matthias Clasen
985b5a052e
dropdown: Connect a forgotten signal handler
...
The code was exporting a search_stop function, but
the ui file didn't connect it to the ::stop-search
signal. Fix that.
2020-06-05 14:34:38 -04:00
Matthias Clasen
ed1872f0a8
Merge branch 'frame-clock-start-time' into 'master'
...
Tweaks to frame clock for better ties to vsync
See merge request GNOME/gtk!2043
2020-06-05 18:33:48 +00:00
Matthias Clasen
34841c3a5f
Merge branch 'master.msvc' into 'master'
...
Fix latest GTK master on Visual Studio
See merge request GNOME/gtk!2028
2020-06-05 18:31:08 +00:00
Matthias Clasen
185f0181ac
Merge branch 'columnview-reorder-cells' into 'master'
...
Columnview reorder cells
See merge request GNOME/gtk!2047
2020-06-05 18:29:26 +00:00
Matthias Clasen
60d6a0f2d5
Merge branch 'rubberband-again' into 'master'
...
Rubberband again
See merge request GNOME/gtk!2041
2020-06-05 17:59:15 +00:00
Matthias Clasen
99a1d10bf1
multiselection: Fix the select_range implementation
...
When exclusive is TRUE, we would not always emit a
::selection-changed signal that covers all the items
that were unselected.
This commit includes a test.
2020-06-05 13:50:30 -04:00
Matthias Clasen
2f1028ed79
set: Add a few useful functions
...
Allow to find out if a set is empty, and its
min and max.
2020-06-05 13:49:23 -04:00
Matthias Clasen
f631e0e1e0
columnview: Update column positions on reordering
...
Tell reordered columns to reorder their cells to
the new position. This is necessary to get things
like separators right. The visible symptom of this
problem was the lack of the right border when the
last column is reorder to another position, since
the title widget was still the last in its container,
so :last-child applied.
2020-06-05 13:28:44 -04:00
Matthias Clasen
6df489d5a9
columnviewcolumn: Add private api to set the position
...
This is needed to make columns reorder their cells when
their position in the column views list of columns
changes.
2020-06-05 13:28:44 -04:00
Matthias Clasen
15c6ad88c0
listitemwidget: Add api to reorder children
...
We need this to keep the rows in sync with the columns
when they are reordered.
2020-06-05 13:28:44 -04:00
Matthias Clasen
40f6a9d830
columnviewlayout: Handle for_size propertly
...
When we are given a for_size as width for the whole
column view, we need to distribute it over the columns
as gtk_column_view_allocate_columns would, in order
to find out which for_size to give to each cell.
This is a bit recursive, but works. Since we are
doing this recursion for every row, we should consider
adding a cache for those distributed widths.
2020-06-05 13:27:50 -04:00
Ray Strode
bd06c00f3a
Merge branch 'wip/damaged-but-no-frost-bite' into 'master'
...
x11: defer _NET_WM_FRAME_DRAWN update until frame usable by compositor
See merge request GNOME/gtk!1982
2020-06-05 15:58:37 +00:00
Matthias Clasen
f6d23f0c29
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Bring back the applauncher demo
See merge request GNOME/gtk!2040
2020-06-05 15:38:03 +00:00
Emmanuele Bassi
2a24459b92
Merge branch 'ebassi/for-master' into 'master'
...
Add missing annotation
See merge request GNOME/gtk!2046
2020-06-05 15:29:41 +00:00
Matthias Clasen
f6da324670
columnview: Split gtk_column_view_allocate_columns
...
Split off a helper function that just distributes
the widths, without actually allocating the columns.
This will be used in measuring in the future.
2020-06-05 11:27:40 -04:00
Matthias Clasen
11a18bd61a
columnview: Take column width into account for measuring
...
When measuring the height of a cell, we need to give
it it the width of its column, if we expect realistic
results.
2020-06-05 10:42:20 -04:00
Ray Strode
972134abe4
x11: Defer _NET_WM_FRAME_DRAWN update until frame usable by compositor
...
With the vendor provided Nvidia driver there is a small window of time
after drawing to a GL surface before the updates to that surface
can be used by the compositor.
Drawing is already coordinated with the compositor through the frame
synchronization protocol detailed here:
https://fishsoup.net/misc/wm-spec-synchronization.html
Unfortunately, at the moment, GdkX11Surface tells the compositor the
frame is ready immediately after drawing to the surface, not later,
when it's consumable by the compositor.
This commit defers announcing the frame as ready until it's consumable
by the compositor. It does this by listening for the X server to announce
damage events associated with the frame drawing. It tries to find the
right damage event by waiting until fence placed at buffer swap time
signals.
2020-06-05 10:01:13 -04:00
Ray Strode
f8770b78ea
x11: Factor out some of frame sync code into subroutines
...
This commit moves some of the end frame sync counter handling
code to subroutines.
It's a minor readability win, but the main motivation is to
make it easier in a subsequent commit to defer updating the
sync counter until a more appropriate time.
2020-06-05 10:01:13 -04:00
Ray Strode
10f2b11fda
x11: Add back support for the damage extension
...
commit 14bf58ec5d dropped support
for using the DAMAGE extension since there was no code that
needed it.
We're going to need it again, however, to address an NVidia
vendor driver issue.
This commit does the plumbing to add it back.
2020-06-05 10:01:13 -04:00
Timm Bäder
ea1cc4b991
filechooserwidget: Avoid an uninitialised value
...
For NULL filters, we were never calling g_list_store_find, so leaving
filter_index undefined.
2020-06-05 15:38:55 +02:00
Timm Bäder
8bee3e2fe0
demos: Avoid shadowing a global from time.h
...
Sad but true.
2020-06-05 15:38:55 +02:00
Timm Bäder
1f7adfd9ff
filterlistmodel: Fix fallthrough annotations in unreachable code
...
They are only unreachable in debug builds but still break the build on
clang.
2020-06-05 15:38:55 +02:00
Matthias Clasen
9e55cd68e4
columview: Make cells propagate request mode
...
I think this is necessary to make wrapping
labels work.
2020-06-05 09:37:21 -04:00
Matthias Clasen
2a6dc67fd7
gtk-demo: Improve wrapping in settings demo
...
The columnview overrides the width of its content,
so if a label is not willing to wrap its content
below a certain width, it will just get cut off.
Avoid that by not setting width-chars on the wrapping
content.
2020-06-05 09:35:56 -04:00
Emmanuele Bassi
1061ad289a
Add missing annotation
2020-06-05 14:33:17 +01:00
Matthias Clasen
0f81b58545
columviewlayout: Skip children when we should
...
Every layout manager should call gtk_widget_should_layout
on their children before measuring or allocating them.
So do it here too.
2020-06-05 08:44:23 -04:00
Matthias Clasen
2437c5a0ae
listview: Add an example to the docs
...
The example is an excerpt from the applauncher
demo in gtk4-demo.
2020-06-05 08:22:48 -04:00
Matthias Clasen
669a6ddeaa
gtk-demo: Bring back the applauncher demo
...
Just without the coverflow. It was a well-documented
demo, so it is useful to keep around.
2020-06-05 08:22:48 -04:00
Yariv Barkan
f5de46670b
frame clock: schedule in refresh intervals
...
When the application does not receive "frame drawn" signals we schedule
the clock to run more or less at intervals equal to the last known
refresh interval. In order to minimize clock skew we have to aim for
exact intervals.
2020-06-05 11:57:49 +02:00
Alexander Larsson
91af8a705b
frame clock: Better handle non-regular clock cycles
...
We try to step the frame clock in whole refresh_interval steps, but to
avoid drift and rounding issues we additionally try to converge it to
be synced to the physical vblank (actually the time we get the
frame-drawn message from the compositor, but these are tied together).
However, the convergence to vsync only really makes sense if the new
frame_time actually is tied to the vsync. It may very well be that
some other kind of event (say a network or mouse event) triggered
the redraw, and not a vsync presentation.
We used to assume that all frames that are close in time (< 4 frames
apart) were regular and thus tied to the vsync, but there is really no
guarantee of that. Even non regular times could be rapid.
This commit changes the code to only do the convergence-to-real-time
if the cause of the clock cycle was a thaw (i.e. last frame drawn and
animating). Paint cycles for any other kind of reason are always
scheduled an integer number of frames after the last cycle that was
caused by a thaw.
2020-06-05 11:30:47 +02:00
Alexander Larsson
82c314f1af
frame clock: Track if paint is caused by thaw or not
...
When we get to a paint cycle we now know if this was caused by a
thaw, which typically means last frame was drawn, or some other event.
In the first case the time of the cycle is tied to the vblank in some
sense, and in the others it is essentially random. We can use this
information to compute better frame times. (Will be done in later
commits.)
2020-06-05 11:16:57 +02:00
Benjamin Otte
672413f1f6
Merge branch 'cleanup-snapshot-inhibit' into 'master'
...
reftest: Clean up reftest_inhibit_snapshot()
See merge request GNOME/gtk!2034
2020-06-05 07:38:52 +00:00
Matthias Clasen
843bf23f84
Drop gtk_multi_selection-copy
...
It is not used anymore.
2020-06-05 00:51:35 -04:00
Matthias Clasen
eeb2d2cc38
listbase: Redo rubberbanding
...
Make it so that the selection is only updated in the end.
2020-06-05 00:51:35 -04:00
Chun-wei Fan
c370b8f309
demos/gtk-demo/listview*.c: Include stdlib.h
...
atoi() and qsort() both require this header for them to be defined
2020-06-05 11:16:45 +08:00
Chun-wei Fan
acd9c12667
modules: Fix build on Visual Studio
...
Visual Studio does not allow decorating functions with '__declspec (dllexport)'
if a prototype exists and is not decorated with '__declspec (dllexport)' as
well, so we cannot just decorate g_io_module_[load|unload|query] in the various
module sources with G_MODULE_EXPORT because the prototypes of these functions
have been marked with _GLIB_EXTERN, which equates to 'extern' unless overridden
Fix this by overriding _GLIB_EXTERN with the appropriate visibility flag, as we
have used to define _GDK_EXTERN. Unfortunately, we can't just use _GDK_EXTERN
G_MODULE_EXPORT as they may have not been defined yet for our use
Do this across the board for all modules, even if they are not buildable on
Visual Studio nor Windows, for consistency's sake.
2020-06-05 11:16:45 +08:00
Timm Bäder
5535b26395
Merge branch 'fix-quadratic-add' into 'master'
...
Avoid quadratic slowdown in gtk_widget_add()
See merge request GNOME/gtk!2027
2020-06-05 02:57:38 +00:00
Matthias Clasen
20611cf68c
Add gtk_selection_model_[un]select_callback
...
Add a methods to add or remove a whole set
(specified via a query-range style callback).
2020-06-04 22:28:54 -04:00
Matthias Clasen
06c34ce02f
set: Add a few useful functions
...
Allow to find out if a set is empty, and its
min and max.
2020-06-04 21:36:23 -04:00
Matthias Clasen
4fb50c7408
Merge branch 'matthiasc/for-master' into 'master'
...
more documentation for list widgets
See merge request GNOME/gtk!2039
2020-06-04 21:17:21 +00:00
Matthias Clasen
c37bea1676
Merge branch 'fribidi-include' into 'master'
...
wayland: Remove unused fribidi include
See merge request GNOME/gtk!2037
2020-06-04 20:03:13 +00:00
Matthias Clasen
ed985640e8
docs: Expand list widget docs
...
Begin to flesh out the long descriptions for GtkListView,
GtkGridView and GtkColumnView.
2020-06-04 15:33:53 -04:00
Sebastian Keller
2bd938952d
wayland: Remove unused fribidi include
...
The included fribidi header is not used in gdkkeys-wayland.c and already
included in gdk.c which causes linker issues due to the header defining
a global variable.
2020-06-04 20:44:55 +02:00
Matthias Clasen
623a56391c
gtk-demo: Cosmetics
...
Remove a few instances of double semicolon.
2020-06-04 13:30:13 -04:00
Matthias Clasen
1b7fb10361
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Allow editing in the settings demo
See merge request GNOME/gtk!2033
2020-06-04 16:32:21 +00:00
Matthias Clasen
f6b6688186
Merge branch 'list-widget-styles' into 'master'
...
List widget styles
Closes #2818
See merge request GNOME/gtk!2035
2020-06-04 16:27:37 +00:00
Matthias Clasen
99453e937c
Merge branch 'demo-drop-awards' into 'master'
...
gtk-demo: Drop the awards
See merge request GNOME/gtk!2036
2020-06-04 15:27:23 +00:00
Alexander Larsson
d3e0a1f68c
Avoid quadratic slowdown in gtk_widget_add()
...
If you add a widget to a parent, this will invalidate the css nodes
for parent/siblings. Afterwards, if the parent is mapped, we will
realize the new child. This calls gtk_widget_update_alpha() which
needs the css opacity, so it revalidates the css.
Thus, for each widget_add (while visible) will trigger a full
revalidation of each sibling. If you add N children to a parent that
leads to O(N^2) revalidations.
To demo this I changed gtk-demo to always double the count
(independent of the fps) and print the time it took. Here is the
results (after a bit):
Setting fishbowl count=256 took 3,4 msec
Setting fishbowl count=512 took 10,1 msec
Setting fishbowl count=1024 took 34,1 msec
Setting fishbowl count=2048 took 126,3 msec
Setting fishbowl count=4096 took 480,3 msec
Setting fishbowl count=8192 took 1892,7 msec
Setting fishbowl count=16384 took 7751,0 msec
Setting fishbowl count=32768 took 38097,7 msec
Setting fishbowl count=65536 took 191987,7 msec
To fix this we drop gtk_widget_update_alpha() and just
calculate it when needed (which is only in a single place).
It was really only necessary because we previously set
the alpha on the surface.
With this fix the above becomes:
Setting fishbowl count=256 took 1,0 msec
Setting fishbowl count=512 took 1,9 msec
Setting fishbowl count=1024 took 3,7 msec
Setting fishbowl count=2048 took 7,4 msec
Setting fishbowl count=4096 took 18,1 msec
Setting fishbowl count=8192 took 31,0 msec
Setting fishbowl count=16384 took 66,3 msec
Setting fishbowl count=32768 took 126,7 msec
Setting fishbowl count=65536 took 244,6 msec
Setting fishbowl count=131072 took 492,2 msec
Setting fishbowl count=262144 took 984,3 msec
2020-06-04 16:42:59 +02:00
Matthias Clasen
76ff1a2a49
gtk-demo: Drop the awards
...
This was a neat idea, but maintaining it at a sufficient
level is too much work.
2020-06-04 10:19:44 -04:00
Matthias Clasen
51c6ce1734
list widgets: Document css structure
...
We didn't fill in this expected part of the widget
documentation yet.
2020-06-04 10:05:17 -04:00
Benjamin Otte
1998b673f4
Merge branch 'ensure-style-no-recurse' into 'master'
...
Avoid recursion in gtk_css_node_ensure_style()
See merge request GNOME/gtk!2031
2020-06-04 14:04:55 +00:00
Matthias Clasen
627497f942
docs: Fix a parameter name mismatch
2020-06-04 09:52:17 -04:00
Matthias Clasen
f9287941b4
Change css names of list widget
...
The new names are
GtkListView - listview row
GtkGridView - gridview child
GtkColumView - columnview header
columnview listview row
Adwaita css has been updated to preserve
existing styles.
Fixes : #2818
2020-06-04 09:51:49 -04:00
Alexander Larsson
5059854a2e
reftest: Clean up reftest_inhibit_snapshot()
...
This was done in a weird way where we always call reftest_uninhibit_snapshot()
on paint, and then re-inhibited it if it wasn't inhibited. To make this
work it also started with an extra inhibit.
This is very contorted and based on how this historically worked. This
changes it to just do:
if (inhibit_count > 0)
return;
And keep inhibit_count at its initial zero value unless it is actually
inhibited.
2020-06-04 15:45:29 +02:00
Benjamin Otte
aa8a061a83
Merge branch 'fix-snapshot' into 'master'
...
snapshot: Fix assert if paint gets scheduled immediately
See merge request GNOME/gtk!2032
2020-06-04 13:43:44 +00:00
Matthias Clasen
3f2d44d517
gtk-demo: Allow editing in the settings demo
...
This gives us an example of a columnview with editable
content, which we didn't have so far.
2020-06-04 08:45:47 -04:00
Alexander Larsson
b4af23be23
snapshot: Fix assert in inhibition
...
In https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2027 i was getting
Bail out! ERROR:../testsuite/reftests/reftest-snapshot.c:212:reftest_uninhibit_snapshot: assertion failed: (inhibit_count > 0)
In (for example the box-shadow-changes-modify-clip reftest. I can reproduce this (on master) with:
```
$ xvfb-run -a -s "-screen 0 1024x768x24" meson test --suite gtk:reftest "reftest box-shadow-changes-modify-clip.ui"
...
1/1 gtk:reftest / reftest box-shadow-changes-modify-clip.ui ERROR 0.77s
``
Fix this by re-inhibiting if we didn't draw anything, or we will get an assert the next paint.
2020-06-04 14:22:27 +02:00
Matthias Clasen
8ddf1f1ea5
Merge branch 'kjellahl/flowboxremove' into 'master'
...
flowbox: Don't use a removed and destroyed child
See merge request GNOME/gtk!2029
2020-06-04 12:13:57 +00:00
Matthias Clasen
475d8c4c11
Merge branch 'fishbowl-children' into 'master'
...
gtk-demo: Avoid list for children in GtkFishBowl
See merge request GNOME/gtk!2030
2020-06-04 12:10:51 +00:00
Alexander Larsson
fc823eb610
Avoid recursion in gtk_css_node_ensure_style()
...
gtk_css_node_ensure_style() recurses over previous siblings to ensure
these have a style before its following sibling. As seen in
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2027 this can
cause us to stack overflow and crash if we have a lot of children.
And even if we don't have *that* many children its still somewhat
bad to have stack depths of the same magnitude as the number of
children, both for performance reasons and debuggability.
2020-06-04 12:10:31 +02:00
Alexander Larsson
8707bab450
gtk-demo: Avoid list for children in GtkFishBowl
...
This is a demo that measures performance, so keep the child
info in a hashtable instead of a list. This means adding or removing
a child is not O(n-children).
2020-06-04 12:06:42 +02:00
Kjell Ahlstedt
612955f2b7
flowbox: Don't use a removed child after it has been unparented
...
In gtk_flow_box_remove(), call g_sequence_remove() before the child is unparented.
See MR !2029
2020-06-04 11:23:46 +02:00
Timm Bäder
36314c3ff7
Merge branch 'santo/gtk4_spelling_fix' into 'master'
...
docs: Fix spelling of GDK_VERSION_MIN_REQUIRED.
See merge request GNOME/gtk!2026
2020-06-04 07:38:58 +00:00
Daniel Mustieles
33fb38d8de
Updated Spanish translation
2020-06-04 09:18:01 +02:00
Daniel Mustieles
38e2a910df
Updated Spanish translation
2020-06-04 09:17:16 +02:00
Santosh Mahto
ef32df77be
docs: Fix spelling of GDK_VERSION_MIN_REQUIRED.
2020-06-04 12:12:36 +05:30
Matthias Clasen
5154693ea4
Merge branch 'columnview-separators' into 'master'
...
Columnview separators
See merge request GNOME/gtk!2025
2020-06-03 23:34:48 +00:00
Matthias Clasen
4b68362981
columnview: Add a property for column separators
...
Rename the show-separators property to show-row-separators,
and add a matching show-column-separators property. It is
implemented by setting the .column-separators style class
on the column view.
2020-06-03 17:57:23 -04:00
Matthias Clasen
658e4c5357
listview: Use gtk_widget_add_css_class
...
No need to use the style context api for this anymore.
2020-06-03 17:51:22 -04:00
Matthias Clasen
ce0dd650d7
settings demo: Don't select rows
...
We want no selection here, so use GtkNoSelection.
2020-06-03 17:51:22 -04:00
Matthias Clasen
77b65ada4f
Merge branch 'columnview-printdialog' into 'master'
...
Port the printdialog to column view
See merge request GNOME/gtk!2010
2020-06-03 21:47:58 +00:00
Matthias Clasen
fa37225a42
Merge branch 'columnview-rubberbanding' into 'master'
...
columnview: Implement rubberbanding
See merge request GNOME/gtk!2008
2020-06-03 21:46:13 +00:00
Matthias Clasen
78a06859b9
Merge branch 'columnview-expand' into 'master'
...
columnview: Implement expanding columns
See merge request GNOME/gtk!2007
2020-06-03 21:39:33 +00:00
Matthias Clasen
3ec8f4e84e
Merge branch 'columnview-reordering' into 'master'
...
columnview: Implement interactive reordering
See merge request GNOME/gtk!2006
2020-06-03 21:38:59 +00:00
Matthias Clasen
f13a596d15
Merge branch 'columnview-resizing' into 'master'
...
columnview: Implement interactive resizing
See merge request GNOME/gtk!2004
2020-06-03 20:04:17 +00:00
Matthias Clasen
94f14778a3
Merge branch 'columnview-scrolling' into 'master'
...
columnview: Implement horizontal scrolling
See merge request GNOME/gtk!1998
2020-06-03 19:50:59 +00:00
Benjamin Otte
7312284e4f
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2024
2020-06-03 17:40:26 +00:00
Matthias Clasen
ebc07d1458
printdialog: Port to column view
2020-06-03 13:35:09 -04:00
Matthias Clasen
510f719975
gtk-demo: Make gridview demo use rubberbanding
2020-06-03 13:34:28 -04:00
Matthias Clasen
03c2202942
Add rubberband api
...
Add an ::enable-rubberband property to GtkListView,
GtkGridView and GtkColumnView.
2020-06-03 13:34:27 -04:00
Matthias Clasen
b3a97cb755
listbase: Simplify rubberbanding
...
The new approach is:
- plain: clear and start a new selection
- extend: add to the existing selection
- modify: subtract from the existing selection
2020-06-03 13:32:57 -04:00
Matthias Clasen
a9273e1c73
listbase: Split off rubberband data
2020-06-03 13:32:57 -04:00
Matthias Clasen
14d11ebcab
listbase: Use a widget for the rubberband
...
We no longer need to juggle manual css nodes. Just create
a widget for the rubberband, and update its allocation
as we rubberband.
2020-06-03 13:32:57 -04:00
Matthias Clasen
7dc458d925
Add autoscroll
...
This is an expected feature with rubberband selection:
as you get close to the edge while doing rubberband
selection, the list scrolls to extend your selection.
2020-06-03 13:32:57 -04:00
Matthias Clasen
a0f04bdcf3
listbase: Add rubberband selection
...
Implement the typical rubberband selection, including
autoscroll. This is only useful with multiselection,
and not very compatible with single-click-activate.
Therefore, it is not enabled by default, and needs
to be turned on explicitly.
2020-06-03 13:32:57 -04:00
Matthias Clasen
28f6e27276
Add GtkMultiSelection
...
This is implemented using a private GtkSet helper.
Includes tests.
2020-06-03 13:32:57 -04:00
Matthias Clasen
5ef427bd65
gtk-demo: Expand columns in the settings demo
...
Expand the columns that are likely to appear
at the end.
2020-06-03 13:32:15 -04:00
Matthias Clasen
03c1fa43f4
inspector: Expand the actions list
2020-06-03 13:32:15 -04:00
Matthias Clasen
3b9f0ab866
inspector: Expand the resource list
...
This is an experiment with adding a filler column.
2020-06-03 13:32:15 -04:00
Matthias Clasen
9617a00ae3
inspector: Expand the property list
...
It looks better this way.
2020-06-03 13:32:15 -04:00
Matthias Clasen
1408199957
inspector: Expand the object tree
...
This is how it used to look, and it looks better that way.
2020-06-03 13:32:15 -04:00
Matthias Clasen
067df8d4dd
columnview: Take expand into account
...
When allocating columns, distribute extra space
to columns that have expand set to TRUE.
2020-06-03 13:32:15 -04:00
Matthias Clasen
2ab1b13092
columnview: Add a GtkColumnViewColumn:expand property
...
This will be used to determine how to distribute
available extra space in a column view.
2020-06-03 13:32:15 -04:00
Matthias Clasen
964d0c219a
columnview: Add autoscroll
...
Autoscroll when the pointer gets close to the
edge during column resizing or reordering. This
is similar to what the treeview does, but it is
implemented using a tick callback, and has
variable speed.
2020-06-03 13:31:39 -04:00
Matthias Clasen
c58eb9c276
columnview: Allow to cancel reorder with Escape
...
The treeview does this too.
2020-06-03 13:31:39 -04:00
Matthias Clasen
5d4893b3f0
columnview: Interactive column reordering
...
Allow rearranging columns by dragging, in the same
way the treeview does.
We add the "dnd" style class to the header while
it is dragged, and we move the header of the dragged
column to the end of its parents children, so that
it gets drawn on top.
2020-06-03 13:31:39 -04:00
Matthias Clasen
11b4e0d4c0
columnview: Add a GtkColumnView:reorderable property
...
This property controls if users can reorder columns
by drag-and-drop. It defaults to TRUE.
2020-06-03 13:31:39 -04:00
Matthias Clasen
e637693131
columnviewlayout: Use header allocation for titles
...
Normally, this will be identical to the column
allocation, but we will temporarily change it
during column reordering.
2020-06-03 13:31:39 -04:00
Matthias Clasen
c9d5b77403
columnviewcolumn: Add reordering helpers
...
Add helper functions that let us temporarily give
a different allocation to headers. These will be
used to implement interactive column reordering
in GtkColumnView.
2020-06-03 13:31:39 -04:00
Matthias Clasen
574595993c
columnviewtitle: Trigger action on release
...
This is necessary to make drag-to-reorder work
without triggering resorting.
2020-06-03 13:31:31 -04:00
Matthias Clasen
50f4e53aef
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add a dropdown demo
See merge request GNOME/gtk!2023
2020-06-03 17:30:19 +00:00
Matthias Clasen
ac082e5504
gtk-demo: Make some columns resizable
...
Make the columns in the List > Settings demo
resizable, to demonstrate this functionality.
2020-06-03 12:49:40 -04:00
Matthias Clasen
f65f9591a1
columnview: Interactive column resizing
...
This copies just enough of the treeview code to
get columns moving.
2020-06-03 12:49:40 -04:00
Matthias Clasen
a1eadde25b
columnviewcolumn: Add a helper
...
We need to check whether clicks are in the headers
of columns, so let the column view get at the the
header widget.
2020-06-03 12:49:40 -04:00
Matthias Clasen
66e5027756
columnview: Add a GtkColumnViewColumn:resizable property
...
This will be used for interactive column resizing
in the future.
2020-06-03 12:49:38 -04:00
Matthias Clasen
aa2d339508
columnview: Add a helper
...
The column code needs to get access to the
listitem widgets that are children of the listview,
so add a getter.
2020-06-03 12:48:56 -04:00
Matthias Clasen
d43aacefc9
columnview: Add GtkColumnViewColumn:fixed-width
...
Add a fixed-width property similar to the same property
of GtkTreeViewColumn.
2020-06-03 12:48:39 -04:00
Matthias Clasen
f0a0e20b2f
columnview: Implement horizontal scrolling
...
The listview inside always thinks it gets its full size,
and updates its horizontal adjustment accordingly.
So keep our own adjustment, and update it when allocating.
2020-06-03 12:48:20 -04:00
Matthias Clasen
befdd8bb66
columnview: Revise scroll-minimum handling
...
Tweak the behavior slightly. We don't show
a scrollbar as long as we have at least
min-size available, but we still give the
entire size to the child, up to nat-size.
This matches how viewports handle scroll-minimum.
2020-06-03 12:48:20 -04:00
Benjamin Otte
27ed2cc009
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2022
2020-06-03 16:33:54 +00:00
Benjamin Otte
a60c866a12
listbase: Don't grab_focus() when moving focus
...
We want to call gtk_widget_child_focus() to have Tab focus the right
widget.
2020-06-03 18:12:49 +02:00
Benjamin Otte
a84f6228ca
listitemwidget: Fix focus handling for columnview
...
ListItemWidget needs to be aware of potentially having multiple
children, so make it aware.
2020-06-03 18:12:00 +02:00
Matthias Clasen
19da93b675
Merge branch 'columnview-menu' into 'master'
...
columnview: Add header menus
See merge request GNOME/gtk!2001
2020-06-03 15:51:26 +00:00
Benjamin Otte
aa38fc712f
listbase: Fix leak
...
We were leaking the temporary tracker here.
2020-06-03 17:49:04 +02:00
Matthias Clasen
0b1c91dc7c
gtk-demo: Add a dropdown demo
...
This shows a few examples of GtkDropDown.
Mostly taken from tests/testdropdown.c.
2020-06-03 11:34:06 -04:00
Matthias Clasen
ab2c8de4de
Merge branch 'matthiasc/for-master' into 'master'
...
selection model: Further documentation tweaks
See merge request GNOME/gtk!2021
2020-06-03 15:11:59 +00:00
Benjamin Otte
00f2b134e3
columnview: Make sure focus can move into cells
...
The cells themselves should never be focusable though.
2020-06-03 16:55:39 +02:00
Benjamin Otte
0b8cebd6ef
ffmediafile: Add fixes for recent cflags changes
...
Related: #2771
2020-06-03 16:23:49 +02:00
Matthias Clasen
53a9b7f6c0
selection model: Further documentation tweaks
...
Reword this to use plain language instead of throwing
arond reentrancy and ordering.
2020-06-03 07:51:29 -04:00
Matthias Clasen
667fd927ee
Merge branch 'selection-model-docs' into 'master'
...
selectionmodel: Clarify docs
Closes #2806
See merge request GNOME/gtk!2017
2020-06-03 05:27:46 +00:00
Matthias Clasen
a8956838d3
selectionmodel: Clarify docs
...
Clarify some things that were not clear to me before
discussing them.
Fixes : #2806
2020-06-02 15:09:16 -04:00
Christoph Reiter
e7c9e2060c
gtkiconcache: Use g_stat instead of fstat
...
stat/fstat aren't compatible with GStatBuf on Windows in all cases.
Since we don't really need the file descriptor anyway here replace it with
a g_stat call.
This fixes a compiler warning with 64bit mingw.
And lets us remove this scary ifdeffery.
2020-06-02 20:35:56 +02:00
Matthias Clasen
f6be407e33
Merge branch 'carlosgc/emoji-chooser-fixes' into 'master'
...
Fix emoji chooser warnings on destroy
See merge request GNOME/gtk!2016
2020-06-02 16:06:47 +00:00
Carlos Garcia Campos
2bf9b37e59
emojichooser: Unparent the variations popup on dispose and before adding a new one
...
This was causing warnings when destroying the emoji chooser because it
had children left.
2020-06-02 16:47:56 +02:00
Carlos Garcia Campos
d2e0ada794
textview: Unparent the emoji chooser on dispose
...
This was causing the warning "GtkEmojiChooser is not a child of
GtkTextView" when destroying a GtkTextView if the emoji chooser was
shown.
2020-06-02 16:47:56 +02:00
Matthias Clasen
c07ae5806e
Merge branch 'matthiasc/for-master' into 'master'
...
Cosmetic improvements to the filebrowser demo
See merge request GNOME/gtk!2015
2020-06-02 04:30:29 +00:00
Matthias Clasen
5afe6f7825
Cosmetic improvements to the filebrowser demo
...
Make it look good.
2020-06-01 23:13:20 -04:00
Matthias Clasen
d02c48f987
Add more columns to the settings demo
...
Flesh out this demo more, so we can have a
non-trivial column editor here at some point.
2020-06-01 22:10:53 -04:00
Matthias Clasen
c835214540
Add a header menu to settings demo
...
Allow toggling column visibility from here.
2020-06-01 22:10:53 -04:00
Matthias Clasen
cb2901ec40
columnviewtitle: Display a context menu
...
When the ::header-menu property is set on the
column, use the menu model to create and show
a context menu.
2020-06-01 22:10:53 -04:00
Matthias Clasen
f27bd061fb
columnviewcolumn: Add a menu property
...
Add a ::header-menu property that will be used
to create a context menu for the header of the
column.
2020-06-01 22:10:53 -04:00
Matthias Clasen
572386e4ce
Merge branch 'matthiasc/for-master' into 'master'
...
print backend: Fix list model handling in dispose
See merge request GNOME/gtk!2013
2020-06-02 00:07:45 +00:00
Matthias Clasen
67a972182e
Merge branch 'ebassi/expression-type' into 'master'
...
Ebassi/expression type
See merge request GNOME/gtk!2014
2020-06-01 22:48:26 +00:00
Matej Urbančič
5955e11a5a
Added Slovenian translation
2020-06-01 22:19:55 +02:00
Emmanuele Bassi
8daaafc864
Document how to define properties using GtkExpression
...
Use the GtkParamSpecExpression type to describe the property, and the
GValue API to set and get the expression instance.
2020-06-01 21:17:34 +01:00
Emmanuele Bassi
ebaa96c0fa
Turn GtkExpression into a GTypeInstance
...
Since it's a type with sub-classes, we need to use GTypeInstance (at the
very least), otherwise we won't be able to address each sub-class as
such.
This is similar to how GskRenderNode and GdkEvent are handled, with the
added difficulty that GtkExpression is meant to be used in properties,
in order to be deserialised by GtkBuilder. This requires adding a
GParamSpec sub-class that we can match on from within GtkBuilder,
alongside some convenience API for storing a GtkExpression inside a
GValue.
2020-06-01 21:07:53 +01:00
Emmanuele Bassi
fb3d08c651
Print out the file name we're testing
...
We're printing out the file we're testing once we succeed, but it's hard
to know which file caused a failure. Let's add a g_test_message()
directive so we can look in our logs.
2020-06-01 21:06:04 +01:00
Matthias Clasen
9d15e64f0b
gtk-demo: Plug a leak
...
We were leaking a reference to the settings demo.
This showed up as gtk4-demo --run listview_settings
not exiting when the window is closed.
2020-06-01 15:17:21 -04:00
Matthias Clasen
b62564fd98
columnviewcolumn: Fix visibility implementation
...
We were not properly syncing initial visibility
with widgets.
2020-06-01 14:47:12 -04:00
Matthias Clasen
0266bcab7a
Add a test for the previous fix
...
This checks that action muxer hierarchy is properly
updated when muxers appear in the middle.
2020-06-01 13:52:50 -04:00
Matthias Clasen
6652e14662
Update action muxer hierarchy propertly
...
When a new muxer appears, we must not only make it
inherit from the parent, we also have to update all
children to inherit from it.
2020-06-01 13:52:42 -04:00
Matthias Clasen
7a50f86f3f
print backend: Fix list model handling in dispose
...
The print backends do some complicated dispose handling
where the implementations call gtk_print_backend_destroy().
Our tests (in particular, the templates test) trigger
situations where we use print backends after dispose,
and they can't handle the printers listmodel being
NULL at that time. So just remove the printers in
dispose, keep the empty liststore until finalize.
2020-06-01 13:52:21 -04:00
Kukuh Syafaat
59218d02c8
Update Indonesian translation
2020-06-01 13:29:20 +00:00
Matthias Clasen
fe73730d21
Merge branch 'gtk-demo-run-no-main-window' into 'master'
...
gtk-demo: Don't show main window if --run is passed in
See merge request GNOME/gtk!1979
2020-06-01 12:26:15 +00:00
Matthias Clasen
b814970bdd
Merge branch 'fix-frameclock-going-backwards' into 'master'
...
Fix frameclock going backwards
See merge request GNOME/gtk!2011
2020-06-01 12:25:20 +00:00
Matthias Clasen
8dfbef5e6f
Merge branch 'matthiasc/for-master' into 'master'
...
columnview: Add column reordering
See merge request GNOME/gtk!2005
2020-06-01 11:28:28 +00:00
Emmanuele Bassi
0b9a3fc160
Merge branch 'ebassi/scroll-position' into 'master'
...
Remove position from GdkScrollEvent
See merge request GNOME/gtk!2012
2020-06-01 10:32:55 +00:00
Emmanuele Bassi
79105962a7
Remove position from GdkScrollEvent
...
Scroll events do not have a position, so they shouldn't implement the
GdkEventClass.get_position() virtual function; nor they should have an x
and y fields that never get updated.
2020-06-01 10:49:33 +01:00
Alexander Larsson
a36e2bc764
Fix frameclock going backwards
...
When we run the frameclock RUN_FLUSH_IDLE idle before the paint,
then gdk_frame_clock_flush_idle() sets
```
priv->phase = GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT
```
at the end if there is a paint comming.
But, before doing the paint cycle it may handle other X events, and
during that time the phase is set to BEFORE_PAINT. This means that the
current check on whether we're inside a paint is wrong:
```
if (priv->phase != GDK_FRAME_CLOCK_PHASE_NONE &&
priv->phase != GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS)
return priv->smoothed_frame_time_base;
```
This caused us to sometimes use this smoothed_frame_time_base even
though we previously reported a later value during PHASE_NONE, thus
being non-monotonic.
We can't just additionally check for the BEGIN_PAINT phase though,
becasue if we are in the paint loop actually doing that phase we
should use the time base. Instead we check for `!(BEFORE_PAINT &&
in_paint_idle)`.
2020-06-01 10:53:24 +02:00
Matthias Clasen
cc878160bd
gtk-demo: Fix a crash in the puzzle
...
Avoid a crash when clicking the refresh button
after solving the puzzle.
2020-06-01 00:11:50 -04:00
Matthias Clasen
382153e82d
gtk-demo: Fix keynav in the puzzle
...
We need to make shortcut controller have global
scope, otherwise the shortcuts lose against the
window keybindings.
2020-06-01 00:11:43 -04:00
Matthias Clasen
e195341e30
gtk-demo: Flesh out the settings demo
...
Add columns for type and default value.
2020-05-31 23:43:58 -04:00
Matthias Clasen
c6c8263704
columnview: Add column reordering
...
Add an API to allow reordering columns.
2020-05-31 21:56:30 -04:00
Matthias Clasen
ed02bea20d
Merge branch 'action-tests' into 'master'
...
Action tests
See merge request GNOME/gtk!2003
2020-05-31 23:32:44 +00:00
Matthias Clasen
f89a1b05fe
Merge branch 'matthiasc/for-master' into 'master'
...
Add a forgotten export
See merge request GNOME/gtk!2002
2020-05-31 22:54:38 +00:00
Matthias Clasen
af65b7e6d7
More action tests
...
Test actions under hierarchy changes.
2020-05-31 18:13:50 -04:00
Matthias Clasen
1995ad6d63
Add a forgotten export
...
gtk_column_view_sort_by was missing a GDK_AVAILABLE_IN_ALL
annotation, causing it to not be exported.
2020-05-31 16:47:53 -04:00
Matthias Clasen
83c0937a46
testsuite: Beef up action tests
...
Check return values from gtk_widget_activate.
2020-05-31 16:40:50 -04:00
Matthias Clasen
f5cc2c0d20
Merge branch 'column-visible' into 'master'
...
columnview: Add a GtkColumnViewColumn:visible property
See merge request GNOME/gtk!1997
2020-05-31 20:39:06 +00:00
Emmanuele Bassi
931d68bc92
Merge branch 'drop-coverflow' into 'master'
...
Drop GtkCoverFlow for now
See merge request GNOME/gtk!2000
2020-05-31 19:12:32 +00:00
Yuri Chornoivan
06946c35d3
Update Ukrainian translation
2020-05-31 19:05:20 +00:00
Matthias Clasen
cbe81fd443
Merge branch 'drop-fallback-c89' into 'master'
...
Drop fallback-c89.c
See merge request GNOME/gtk!1999
2020-05-31 18:14:14 +00:00
Matthias Clasen
173e919d2a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1995
2020-05-31 18:13:36 +00:00
Matthias Clasen
73fdb8f7b0
Drop GtkCoverFlow for now
...
There is no agreement that a coverflow widget is
appropriate for GTK 4.
It would be ok as a demo if it could live in gtk-demo,
but that requires us to make GtkListBase public first.
The demo is also somewhat rough and needs more work
to look plausible.
Drop GtkCoverFlow and the related demo for now.
2020-05-31 13:15:51 -04:00
Matthias Clasen
8e0ba37866
gtk-demo: Fixes for the sliding puzzle
...
We were calling check_solved only for key presses,
meaning you could never solve the puzzle with the
mouse.
2020-05-31 13:01:17 -04:00
Matthias Clasen
8780f50e7e
gtk-demo: Some fixes to awards
...
Fix things up enough to make the list show up.
Still not a working example, but closer.
2020-05-31 13:01:17 -04:00
Matthias Clasen
06dc357ea0
printer: Fix the default value of icon-name
...
Just set this to "printer", so we don't have
to fix it up in the print dialog.
2020-05-31 13:01:17 -04:00
Matthias Clasen
fb587cb529
printbackend: Add a list model getter
...
Now that we have a list model for printers,
we can start using it.
2020-05-31 13:01:17 -04:00
Matthias Clasen
a026677849
printbackend: Use a list store
2020-05-31 13:01:17 -04:00
Matthias Clasen
1c389b1f24
gtk-demo: Add more scrolling benchmarks
...
Add a listview and gridview to the scrolling
benchmarks.
2020-05-31 13:01:17 -04:00
Emmanuele Bassi
55b9aa0309
Merge branch 'ebassi/annotations' into 'master'
...
Ebassi/annotations
See merge request GNOME/gtk!1996
2020-05-31 15:18:36 +00:00
Christoph Reiter
2d5cf2b4c4
Drop fallback-c89.c
...
We require a C compiler supporting C99 now. The main purpose of
these fallbacks was for MSVC. From what I can see this is now all supported
by MSVC 2015+ anyway.
The only other change this includes is to replace isnanf() with the
(type infering) C99 isnan() macro, because MSVC doesn't provide isnanf().
2020-05-31 17:09:23 +02:00
Matthias Clasen
4877bb5b5c
columnviewcolumn: Add a visible property
...
This lets us hide columns, which is an expected
feature of columned lists.
2020-05-31 10:47:48 -04:00
Emmanuele Bassi
b9269d5644
Annotate the GtkFunctionListItemFactory constructor
...
But skip it, since it cannot really be used by language bindings, as it
binds the same user data to two separate functions.
2020-05-31 15:14:26 +01:00
Emmanuele Bassi
1a4723988e
Fix annotations for gtk_cclosure_expression_new()
...
Missing scope annotations for the various functions.
2020-05-31 15:10:27 +01:00
Matthias Clasen
93353888ca
Merge branch 'columnview-1' into 'master'
...
Convert the inspector to column views
See merge request GNOME/gtk!1994
2020-05-31 14:06:31 +00:00
Emmanuele Bassi
c3a90b76d0
Add missing separator
...
An annotation is separated from the description by a ':'.
2020-05-31 15:05:59 +01:00
Emmanuele Bassi
43e5ca9a1b
docs: Fix annotations
...
- Use the same name for the argument in the declaration, definition,
and documentation
- Use "optional" instead of the deprecated "allow-none"
2020-05-31 15:04:51 +01:00
Christoph Reiter
c5829bd0e2
fallback-c89: Try to make isnanf work
2020-05-31 15:50:09 +02:00
Matthias Clasen
2a9d2cc7e9
inspector: Touch up list styling
...
This is just the minimal amount of work to make
headers recognizable.
2020-05-31 09:24:19 -04:00
Matthias Clasen
0d9873d8bc
inspector: Use a column view for actions
...
A straight conversion from list box to column view.
2020-05-31 09:24:12 -04:00
Matthias Clasen
23bc38ed06
inspector: Make the resource list sortable
...
This is using a GtkTreeListRowSorter to keep expanded
state of the tree while changing the sorting.
2020-05-31 09:24:04 -04:00
Matthias Clasen
42d26b4b05
inspector: Use a column view for the resource list
...
A conversion from tree view to column view.
2020-05-31 09:23:51 -04:00
Matthias Clasen
04700789e1
inspector: Use a column view for properties
...
Just a straight conversion from list box to column view.
2020-05-31 09:23:45 -04:00
Matthias Clasen
e23baa59f0
inspector: Add columns to the object tree
...
Add columnview columns in the object tree.
We do the same for treeview columns.
2020-05-31 09:23:37 -04:00
Matthias Clasen
e8e28b61db
Merge branch 'fix-mnemonic-zero' into 'master'
...
label: Fix mnemonic zero
Closes #2805
See merge request GNOME/gtk!1993
2020-05-31 13:02:51 +00:00
Yuri Chornoivan
b766707f28
Update Ukrainian translation
2020-05-31 06:12:49 +00:00
Yuri Chornoivan
0787f262a0
Update Ukrainian translation
2020-05-31 06:09:05 +00:00
Matthias Clasen
d833f4a632
Merge branch 'dropdown-for-merge' into 'master'
...
Dropdown for merge
Closes #2214
See merge request GNOME/gtk!1992
2020-05-31 05:34:18 +00:00
Matthias Clasen
ce1e364ab8
Merge branch 'listview-for-merge' into 'master'
...
Listview for merge
Closes #2214
See merge request GNOME/gtk!1991
2020-05-31 05:32:37 +00:00
Matthias Clasen
adb5b299c9
label: Fix mnemonic zero
...
We were confusing '\0' and '0' when parsing the label
for mnemonics.
Fixes : #2805
2020-05-30 21:42:54 -04:00
Matthias Clasen
fc9462d49e
Add some tests for new GtkBuilder syntax
...
Some valid and invalid examples for <closure>,
<lookup> and <constant>.
2020-05-30 19:31:38 -04:00
Matthias Clasen
9c849d2084
docs: Update the list widget overview
...
Fill in the GtkComboBox and GtkCellView replacements
in the quick reference table.
2020-05-30 19:31:38 -04:00
Matthias Clasen
336b30c532
gtk-demo: Add a large grid demo
...
This is similar to the flowbox demo, but much bigger.
2020-05-30 19:31:38 -04:00
Matthias Clasen
b331e29e43
inspector: Use dropdowns in the visual page
...
Convert everything in the visual page to dropdowns.
2020-05-30 19:31:38 -04:00
Matthias Clasen
54cdafdd67
inspector: Use a dropdown for size groups
...
Use a GtkDropDown for the modes of size groups.
2020-05-30 19:31:38 -04:00
Matthias Clasen
30541201b6
inspector: Use a dropdown for controllers
...
Use a GtkDropDown for the phases of event controllers.
2020-05-30 19:31:38 -04:00
Matthias Clasen
6346fa960c
inspector: Use a dropdown for attribute mapping
...
Use a GtkDropDown for the attribute mapping editor.
2020-05-30 19:31:38 -04:00
Matthias Clasen
99c98d0736
inspector: Use dropdowns in property editor
...
Replace combo boxes by dropdowns in the property editor.
2020-05-30 19:31:38 -04:00
Matthias Clasen
496e673d77
filechooser: Use a dropdown for choices
2020-05-30 19:31:38 -04:00
Matthias Clasen
d3aad3b574
filechooser: Use a dropdown for the filter combo
...
Replace an internal use of GtkComboBox with GtkDropDown.
2020-05-30 19:31:38 -04:00
Matthias Clasen
371dab51bb
Add GtkDropDown
...
This is a simple drop down control using list models.
2020-05-30 19:31:38 -04:00
Benjamin Otte
3ea2258ce9
xxx: isnanf() is some wtf
2020-05-30 19:30:14 -04:00
Matthias Clasen
c7feae65f1
builderlistitemfactory: Precompile the xml
...
This is the one place where we can really take advantage
of precompiling, since we instantiate this template
over and over.
2020-05-30 19:30:14 -04:00
Matthias Clasen
b087948933
gtk-demo: Use single-click-activate for minesweeper
...
The explanation say we do, so do it.
2020-05-30 19:30:14 -04:00
Matthias Clasen
f611d55f16
Spread single-click-activate api
...
This makes sense to have in all the views,
not just GtkListView.
2020-05-30 19:30:14 -04:00
Matthias Clasen
12b1007046
docs: Add a listview overview section
...
Add a conceptual overview for all the listmodel-based
widgets.
Fixes : #2214
2020-05-30 19:30:14 -04:00
Matthias Clasen
4a4c15b2ac
gtk-demo: Add filtering to the settings demo
...
A demo of filtering with lists was missing so far.
2020-05-30 19:30:14 -04:00
Matthias Clasen
8804427677
gtk-demo: Demo columnview sorting
...
Enhance the settings demo to have a sortable column.
2020-05-30 19:30:14 -04:00
Matthias Clasen
d717971f41
gtk-demo: Cosmetic improvements to the listview demos
...
Set default sizes, window titles and add more
detail to the descriptions.
2020-05-30 19:30:14 -04:00
Matthias Clasen
f33df84eff
gtk-builder-tool: Minimally validate <binding>
...
Check that the toplevel property name is legit.
2020-05-30 19:30:14 -04:00
Benjamin Otte
7910271b6c
testsuite: Add tests for GtkTreeListSorter
2020-05-30 19:30:14 -04:00
Matthias Clasen
e3ce99988f
Add GtkTreeListRowSorter
...
This is a special-purpose sorter that can
apply the sorting of another sorter to the
levels of a GtkTreeListModel.
2020-05-30 19:30:14 -04:00
Benjamin Otte
fb78f1ef8e
testcolumnview: Add sorters
2020-05-30 19:28:30 -04:00
Matthias Clasen
1ba1eda8ab
column view title: Show sort indicators
2020-05-30 19:28:30 -04:00
Matthias Clasen
2945430ad7
columnview: Add a sort-by api
2020-05-30 19:28:28 -04:00
Matthias Clasen
66500a6882
columnview: Add sorting
...
This is a somewhat large commit that:
- Adds GtkColumnViewSorter
This is a special-purpose, private sorter implementation which sorts
according to multiple sorters, allowing each individual sorter to be
inverted. This will be used with clickable column view headers.
- Adds a read-only GtkColumnView::sorter property
The GtkColumnView creates a GtkColumnViewSorter at startup that it uses
for this property.
- Adds a writable GtkColumnViewColumn::sorter property
This allows defining per-column sorters. Whenever an application sets a
sorter for a column, the header becomes clickable and whenever
a header is clicked, that column's sorter is prepended to the list of
sorters, unless it is already the first sorter, in which case we invert
its order. No column can be in the list more than once.
2020-05-30 19:26:46 -04:00
Matthias Clasen
2c4c07c96d
listview: Add single-click-activate
...
Add a single-click-activate property to GtkListView.
2020-05-30 19:26:46 -04:00
Matthias Clasen
69c86ae385
listitemwidget: Add single-click-activate
...
Add a mode to GtkListItemWidget that activates on
single click and selects on hover. Make
GtkListItemManager set this on its items
when its own 'property' of the same name is set.
2020-05-30 19:26:46 -04:00
Matthias Clasen
21eac434c3
builder-tool: Pass through CDATA where it makes sense
...
This avoids a ton of escaping for
GtkBuilderListItemFactory::bytes.
2020-05-30 19:26:46 -04:00
Matthias Clasen
2f21003064
docs: Reorganize list widgets in their own chapter
2020-05-30 19:26:46 -04:00
Benjamin Otte
58b65d1bf6
fontchooserwidget: Port to listmodels
...
The port is kind of evil, in that it stores either a PangoFontFamily or a
PangoFontFace in the list, depending on if the fontchooser is configured
to select fonts or faces.
It also does not cache the font description anymore, so more calls to
pango_font_describe() may happen.
If both of these issues turn out problematic, the fontchooser would need
to resurrect GtkDelayedFontDescription again and put objects of that
type through the model.
These changes depend on Pango 1.46's introduction of listmodels and
various new getters, so the dependency has been upgraded.
2020-05-30 19:26:46 -04:00
Matthias Clasen
542829ee81
Add some tests for expression binding
...
In particular, test that expressios can deal with object == this.
2020-05-30 19:26:46 -04:00
Benjamin Otte
b43c8ae646
expression: Allow passing a this object to bind()
...
This gives a bit more control over the arguments passed to expressions.
2020-05-30 19:26:46 -04:00
Benjamin Otte
22e6fa3a64
gtk-demo: Add a Clocks demo
...
This demo is meant to showcase expressions.
It also needs the fixes in glib 2.64 to work properly.
2020-05-30 19:26:46 -04:00
Benjamin Otte
c337887e29
xxx: Add a hack to make paintables transform to/from objects
...
See also: https://gitlab.gnome.org/GNOME/glib/merge_requests/1251
2020-05-30 19:26:46 -04:00
Benjamin Otte
650688c635
inspector: Remove private struct for prop editor
2020-05-30 19:26:46 -04:00
Benjamin Otte
2787e916b2
inspector: Make Controller page a GtkWidget
2020-05-30 19:26:46 -04:00
Benjamin Otte
e72119e9bb
inspector: Remove private struct from controllers
2020-05-30 19:26:46 -04:00
Benjamin Otte
efcb3a9d67
columnview: Add header
...
This uses a custom GtkColumnViewTitle widget. So far that widget is
pretty boring, but that will change once we added
resizing, reordering, dnd, sorting, hiding/showing of columns or
whatever UIs we want.
2020-05-30 19:26:46 -04:00
Benjamin Otte
9f19699806
tests: Add testcolumnview
2020-05-30 19:26:46 -04:00
Benjamin Otte
326cb1148b
columnview: Add a custom LayoutManager
...
The ColumnView now allocates column widths first and then the individual
rows use the new layout manager which looks at the column allocations to
allocate their children.
2020-05-30 19:26:46 -04:00
Benjamin Otte
767e7cb06f
constraint-editor: Don't poke around in widget internals
2020-05-30 19:26:46 -04:00
Benjamin Otte
084725e280
columnview: Fix styling with Adwaita
...
- Use "treeview" as the node name
- Add .view style class
2020-05-30 19:26:46 -04:00
Benjamin Otte
6e3b6980de
inspector: Port object tree to GtkColumnView
2020-05-30 19:26:46 -04:00
Benjamin Otte
9927d9bda2
columnview: Add GtkColumnViewCell
...
It's a GtkListItemWidget subclass that tracks the column it belongs to
and allows the column to track it.
We also use this subclass to implement sizing support so columns share
the same size and get resized in sync.
2020-05-30 19:26:46 -04:00
Benjamin Otte
34c6ef5332
widget: Add a hook for resizes
...
It's private, no APIs, we don't talk about it. But we will start using
it very soon, so we can do size request caching in columns and avoid
sizegroups...
2020-05-30 19:26:46 -04:00
Benjamin Otte
8af3e407c2
columnview: Implement GtkScrollable
...
Just forward it to the listview for now.
2020-05-30 19:26:46 -04:00
Benjamin Otte
8736343544
columnview: Add listitems for the columns
...
They are not aligned in columns yet, but they do exist.
2020-05-30 19:26:46 -04:00
Benjamin Otte
9caca0b127
listitemwidget: Lazily create listitems
...
We only create them in root/unroot (they should be created in
appear/disappear, but that vfunc doesn't exist yet), that way we can
avoid expensive work while the widget isn't used for anything.
2020-05-30 19:26:46 -04:00
Benjamin Otte
9d86020d4c
listitem: Move position/item/selected tracking to widget
...
This way, we can ensure it's always there when we need it (before the
item gets created) and gone when we don't (if some GC language holds on
to the item after we've destroyed the widget).
2020-05-30 19:26:46 -04:00
Benjamin Otte
32eedec565
listitemwidget: Add a private struct
...
I had to rename the item property to list_item anyway, so I could just
do the next step with it.
2020-05-30 19:26:46 -04:00
Benjamin Otte
1af004361c
listitemfactory: Simplify
...
Instead of 6 vfuncs, we now have 3 and rely on the factory keeping track
of what it needs to do.
We're doing lots of dancing from one object to another here, but this
will hopefully get simpler with further commits.
2020-05-30 19:26:46 -04:00
Benjamin Otte
b33c56819b
listitemfactory: Reorganize vfuncs
...
Instead of bind/rebind/update/unbind, we now just have update, and the
factories get to interpret that in the way they want.
2020-05-30 19:26:46 -04:00
Benjamin Otte
30f09ea10b
listitem: Make this a GObject
...
This splits GtkListItem into 2 parts:
1. GtkListItem
This is purely a GObject with public API for developers who want to
populate lists. There is no chance to cause conflict with GtkWidget
properties that the list implementation assumed control over and
defines a clear boundary.
2. GtkListItemWidget
The widget part of the listitem. This is not only fully in control of
the list machinery, the machinery can also use different widget
implementations for different list widgets like I inted to for
GtkColumnView.
2020-05-30 19:26:46 -04:00
Benjamin Otte
db3e225f09
builder: Make gtk_builder_extend_with_template() work with objects
...
This will be relevant later when we introduce GtkListItem which is not a
GtkWidget.
2020-05-30 19:26:46 -04:00
Benjamin Otte
a44c06b264
gtk-demo: Add a Coverflow application launcher
...
This is roughly the simplest demo I could come up with.
But I documented it, so there's your tutorial.
Related: #2214
2020-05-30 19:26:46 -04:00
Benjamin Otte
f5f9f70dd0
Add GtkSignalListItemFactory
...
So the poor Rust users can actually use this.
I would totally not use this ever!
2020-05-30 19:26:46 -04:00
Benjamin Otte
03e5c6e32d
columnview: Allow adding/removing columns
...
... and make that work in UI files via <child>, too.
2020-05-30 19:26:46 -04:00
Benjamin Otte
ca9e0c0e68
gtk-demo: Add a minesweeper demo
...
The demo shows creating ones own listmodel and using it to fill a grid.
I am totally getting the hang of React btw:
500 lines of logic with no UI code and 100 lines of GtkBuilder XML and
I get a sweet UI.
2020-05-30 19:26:46 -04:00
Benjamin Otte
0e1632d002
Add GtkColumnView skeleton
...
It's just a copy/paste of the listview code with all the internals
gutted. The code doesn't do anything.
2020-05-30 19:26:46 -04:00
Benjamin Otte
f4eb026c86
wip: Add GtkCoverFlow
...
The widget mostly works out of the box, but some tweaking may be
necessary (in particular in the theme) and the gtk-demo changes might
require removing before this is production-ready.
2020-05-30 19:26:46 -04:00
Benjamin Otte
e46fa81927
listbase: Take over anchor handling
...
With that, pretty much all code but allocating the widgets is gone from
the gridview and listview.
2020-05-30 19:26:46 -04:00
Benjamin Otte
33c6b428f7
listbase: Add vfuncs to convert positions to/from coordinates
...
... and use that to implement PageUp/PageDown.
With that, all keyboard handling has been moved to GtkListBase.
2020-05-30 19:26:46 -04:00
Benjamin Otte
12331e3376
listbase: Move focus moving keybindings here
...
The focus tracker is not yet moved because that depends on scroll_to()
support and we don't have that yet.
Whoops.
So we use a hack.
2020-05-30 19:26:46 -04:00
Benjamin Otte
dd5e6d47db
Remove gtk_selection_model_user_select_item() again
...
This reverts commit 6a164ab306dad9096bde736c907494c71086d3c4.
The function was awkward and we now have only one caller again, so we
can fold it back into it.
2020-05-30 19:26:46 -04:00
Benjamin Otte
2541037ec2
listbase: Move orientable implementation here
2020-05-30 19:26:46 -04:00
Benjamin Otte
9d6aa7d88e
listbase: Move selection handling here
2020-05-30 19:26:46 -04:00
Benjamin Otte
0bd16308d6
listbase: Move item manager here
...
Nothing really changes, because both ListView and GridView still keep
self->item_manager around, but it's set up to point at the base's item
manager.
This way we can slowly move things to GtkListBase that need the item
manager (like trackers).
2020-05-30 19:26:46 -04:00
Benjamin Otte
0011ce949c
listbase: Move GtkScrollable implementation
...
Shared code between GtkGridView and GtkListView.
2020-05-30 19:26:46 -04:00
Benjamin Otte
cc987b31ae
Add GtkListBase
...
This is a base item for GTK's list widgets so they can share some (read:
hopefully a lot of) code.
2020-05-30 19:26:46 -04:00
Benjamin Otte
c092d0a616
gridview: Simplify allocation code
...
It doesn't fix the bug I'm after, but it looks a lot better.
2020-05-30 19:26:46 -04:00
Benjamin Otte
ea390a4a73
listview: Port various gridview improvements
...
- Handle anchor as align + top/bottom
This fixes behavior for cells that are higher than the view
- Add gtk_list_view_adjustment_is_flipped()
This should fix RTL handling of horizontal lists
- Fix scrolling
This should make scrolling more reliable, particularly on short lists
that are only a few pages long.
2020-05-30 19:26:46 -04:00
Benjamin Otte
6b98948f9a
demo: Add a file browser demo
2020-05-30 19:26:46 -04:00
Benjamin Otte
f57afe51af
gridview: Add move keybindings
2020-05-30 19:26:46 -04:00
Benjamin Otte
bc22d04737
gridview: Implement (un)select all
...
Adds listitem.select-all and listitem.unselect-all actions and installs
the same keybindings as the treeview for those actions.
2020-05-30 19:26:46 -04:00
Benjamin Otte
093677b0f8
gridview: Add a focus tracker
...
... and use that to properly update selections when moving around with
the arrow keys.
2020-05-30 19:26:46 -04:00
Benjamin Otte
c38e050cc7
gridview: Implement list.scroll-to action
2020-05-30 19:26:46 -04:00
Benjamin Otte
ba0122fd02
gridview: Add activation
2020-05-30 19:26:46 -04:00
Benjamin Otte
affd2737d5
gridview: Implement minimum row height
...
We only allocate a certain amount of widgets - and we don't want to run
out of them. So we make all widgets high enough for this to never
happen.
2020-05-30 19:26:46 -04:00
Benjamin Otte
cc68073af0
gridview: Implement the list.select-item action
2020-05-30 19:26:46 -04:00
Benjamin Otte
cb2948eda6
selectionmodel: Add gtk_selection_model_user_select_item()
...
I'm not sure this should be public API because it's incredibly awkward.
But it should definitely be shared between list widget implementations.
2020-05-30 19:26:46 -04:00
Benjamin Otte
1b105cdbef
gridview: Implement anchors and scrolling
2020-05-30 19:26:45 -04:00
Benjamin Otte
dd436e8fe6
listitemmanager: Handle NULL factory
...
Just don't call it and create empty listitems.
2020-05-30 19:26:45 -04:00
Timm Bäder
a8d2bb6b22
demo: Use a listview as sidebar
2020-05-30 19:26:45 -04:00
Benjamin Otte
fcdc5030bd
gtk-demo: Introduce awards
...
We need a way to get a useful listbox, so here we go!
2020-05-30 19:26:45 -04:00
Benjamin Otte
aad9adf8c3
builder: Autofill scope property of listitemfactory
...
I couldn't come up with a better way to automatically inherit the scope
in the builder list item factory that didn't involve a magic
incantation in the XML file. And I do not want developers to know magic
incantations to do a thing that should pretty much always be done.
2020-05-30 19:26:45 -04:00
Benjamin Otte
48a223abdf
builderlistitemfactory: Add scope argument
...
This way, the scope used when creating builder instances can be
influenced. This way, callbacks can be passed into the factory.
2020-05-30 19:26:45 -04:00
Benjamin Otte
12e720fb23
listitemfactory: Make the builder factory properly buildable
...
Turn the construct arguments into construct properties so that they can
be set from ui files.
2020-05-30 19:26:45 -04:00
Benjamin Otte
042e13a932
listview: Add move keybindings
...
My god, these are a lot.
And my god, these are complicated to get right.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2b9481ecdc
listview: Add gtk_list_view_get_position_at_y()
2020-05-30 19:26:45 -04:00
Benjamin Otte
933c0c678a
listitem: Add "listitem.select" action and keybindings for it
...
In fact, grab space with all modifiers to toggle selection of the
current item.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2539828eac
listview: Add a focus tracker
...
This ensures that the row with the input focus always stays available,
even when scrolled out of view.
2020-05-30 19:26:45 -04:00
Benjamin Otte
4b6f3e0f2c
listview: Implement (un)select all
...
Adds listitem.select-all and listitem.unselect-all actions and installs
the same keybindings as the treeview for those actions.
2020-05-30 19:26:45 -04:00
Benjamin Otte
b9eb818b57
listview: Track focus movements and update selection
...
When focus moves via tab/arrow, we need to select the new item.
2020-05-30 19:26:45 -04:00
Benjamin Otte
eda547fc4e
listview: Implement activation
...
- a GtkListview::activate signal
- a GtkListItem::activatable property
- activate list items on double clicks and <Enter> presses
2020-05-30 19:26:45 -04:00
Benjamin Otte
1dbd017766
treeexpander: Implement input support
...
This implements all the keybindings from GtkTreeView that can be
supported.
It does not implement expand-all, because supporting that means
causing the TreeListModel to emit lots of create_model vfuncs which in
turn would cause many items-changed signal which in turn would cause
many signal handlers to run which in turn would make "expand-all" very
reentrant, and I'm uneasy about supporting that.
For the mouse, just add a click gesture to the expander icon that toggles
expanded state.
2020-05-30 19:26:45 -04:00
Benjamin Otte
08d9a57c6e
listitem: Change focus handling
...
Focus in the listitem now works like this:
1. If any child can take focus, do not ever attempt
to take focus.
2. Otherwise, if this item is selectable or activatable,
allow focusing this widget.
This makes sure every item in a list is focusable for
activation and selection handling, but no useless widgets
get focused and moving focus is as fast as possible.
2020-05-30 19:26:45 -04:00
Benjamin Otte
d7b5966fa7
inspector: Make the recorder node list use a ListView
...
It's quite a bit faster now, but the code is also a bit more awkward.
Pain points:
- GtkTreeListModel cannot be created in UI files because it needs
a CreateModelFunc.
Using a signal for this doesn't work because autoexpand wants to
expand the model before the signal handler is connected.
- The list item factory usage is still awkward. It's bearable here
because the list items are very simple, but still.
2020-05-30 19:26:45 -04:00
Benjamin Otte
bb44120ae3
inspector: Use a GtkTreeExpander in the object tree
2020-05-30 19:26:45 -04:00
Benjamin Otte
8b1f034242
inspector: Use a treeexpander in the recorder
2020-05-30 19:26:45 -04:00
Benjamin Otte
bb7968ba77
demo: Add a GSettings tree demo
...
It is meant to look somewhat like dconf-editor when it is done.
So far, it's just a list.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7451e51619
Add GtkTreeExpander
...
This is a container widget that takes over all the duties of tree
expanding and collapsing.
It has to be a container so it can capture keybindings while focus is
inside the listitem.
So far, this widget does not allow interacting with it, but it shows the
expander arrow in its correct state.
Also, testlistview uses this widget now instead of implementing
expanding itself.
2020-05-30 19:26:45 -04:00
Benjamin Otte
ea93e18081
gridview: Actually do something
...
Implement measuring and allocating items - which makes the items appear
when drawing and allows interacting with the items.
However, the gridview still does not allow any user interaction
(including scrolling).
2020-05-30 19:26:45 -04:00
Benjamin Otte
443e44853a
listview: Pass the CSS name of listitems to the manager
...
... instead of hardcoding "row".
2020-05-30 19:26:45 -04:00
Benjamin Otte
b73e95655d
gridview: Implement GtkOrientable
...
Again, this is just the skeleton, because the Gridview does nothing yet.
2020-05-30 19:26:45 -04:00
Benjamin Otte
e8bb84e0e2
gridview: Add factory handling
...
Just copy the listview APIs.
Code still doesn't do anything with it.
2020-05-30 19:26:45 -04:00
Benjamin Otte
626c525706
listview: Expose GtkListItemFactory APIs
...
Due to the many different ways to set factories, it makes sense to
expose them as custom objects.
This makes the actual APIs for the list widgets simpler, because they
can just have a regular "factory" property.
As a convenience function, gtk_list_view_new_with_factory() was added
to make this whole approach easy to use from C.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2ef2148fb5
gtk-demo: Add a rough start at a Weather demo
...
This demos a horizontal listview.
2020-05-30 19:26:45 -04:00
Benjamin Otte
86ad1bec16
listview: Implement GtkOrientable
2020-05-30 19:26:45 -04:00
Benjamin Otte
360a728d77
tests: Add a rough form of multiselection
...
Just store a "filechooser::selected" attribute in the GFileInfo if
the file is meant to be selected.
2020-05-30 19:26:45 -04:00
Benjamin Otte
cfcf0a7a8a
listview: Implement extending selections
...
Shift-clicking to extend selections now also works, imitating the
behavior of normal clicking and Windows Explorer (but not treeview):
1. We track the last selected item (normally, not via extend-clicking).
2. When shift-selecting, we modify the range from the last selected item
to this item the same way we modify the regular item when not using
shift:
2a. If Ctrl is not pressed, we select the range and unselect everything
else.
2b. If Ctrl is pressed, we make the range have the same selection state
as the last selected item:
- If the last selected item is selected, select the range.
- If the last selected item is not selected, unselect the range.
2020-05-30 19:26:45 -04:00
Benjamin Otte
f57fca7a00
listview: Add list.scroll_to_item action
...
The action scrolls the given item into view.
Listitems activate this action when they gain focus.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7c38ac1954
testlistview: Load icons async
...
Speeds up loading by 4x, because out of view icons aren't loaded
anymore.
2020-05-30 19:26:45 -04:00
Benjamin Otte
dbe802f685
testlistview: Port to directory list
2020-05-30 19:26:45 -04:00
Benjamin Otte
cfb293d396
listitemfactory: Add a factory for ui files
...
Reuse <template> magic to initialize GtkListItems. This feels
amazingly hacky, but it also amazingly worked on the first try.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2227fb957f
listitemfactory: Split implementation out
...
.. into gtkfunctionslistitemfactory.c
Now we can add a different implmenetation.
2020-05-30 19:26:45 -04:00
Benjamin Otte
824326a029
listitemfactory: vfuncify
...
No functional changes other than a new indirection.
2020-05-30 19:26:45 -04:00
Benjamin Otte
10b967ae1f
listitemfactory: Sanitize APIs
...
Make sure the APIs follow a predictable path:
setup
bind
rebind/update (0-N times)
unbind
teardown
This is the first step towards providing multiple different factories.
2020-05-30 19:26:45 -04:00
Benjamin Otte
0174bf4345
listview: Add gtk_list_view_set_show_separators()
...
Do the same thing that GtkListBox does in commit
0249bd4f8a
2020-05-30 19:26:45 -04:00
Benjamin Otte
1acfae8df2
listitemmanager: Add trackers
...
... and replace the anchor tracking with a tracker.
Trackers track an item through the list across changes and ensure that
this item (and potentially siblings before/after it) are always backed
by a GtkListItem and that if the item gets removed a replacement gets
chosen.
This is now used for tracking the anchor but can also be used to add
trackers for the cursor later.
2020-05-30 19:26:45 -04:00
Benjamin Otte
ce489f21fb
listitemmanager: Simplify
...
Remove a bunch of API from the headers that isn't used anymore and then
refactor code to not call it anymore.
In particular, get rid of GtkListItemManagerChange and replace it with a
GHashTable.
2020-05-30 19:26:45 -04:00
Benjamin Otte
368f04e06b
gridview: Implement GtkScrollable
...
We can now scroll all the nothing we display.
We also clip it properly.
2020-05-30 19:26:45 -04:00
Benjamin Otte
dc91782165
listitemmanager: Move list of listitems here
...
All the listview infrastructure moved with it, so the next step is
moving that back...
2020-05-30 19:26:45 -04:00
Benjamin Otte
86a75abe51
gridview: Add API for setting number of columns
...
The API isn't used yet.
2020-05-30 19:26:45 -04:00
Benjamin Otte
70aaecc937
gtk: Add a GtkGridView skeleton
2020-05-30 19:26:45 -04:00
Benjamin Otte
057effc5d6
listitem: Add a press gesture to select the item
...
This is implemented by using actions, which are a neat trick to get to
allow the ListItem to call functions on the ListView without actually
needing to be aware of it.
2020-05-30 19:26:45 -04:00
Benjamin Otte
d8c116f20a
listview: Add initial support for displaying selections
2020-05-30 19:26:45 -04:00
Benjamin Otte
01386aef29
listview: Reset listitems' CSS animations when rebinding
...
This way, newly displayed rows don't play an unselect animation (text
fading in) when they are unselected, but the row was previously used for
a selected item.
2020-05-30 19:26:45 -04:00
Benjamin Otte
b3fb80c608
listview: Add selection properties to ListItem
...
This just brings the infrastructure into place, we're not using the
properties yet.
2020-05-30 19:26:45 -04:00
Benjamin Otte
5b69fd535d
listview: Try to keep the list items in order when scrolling
...
Instead of just destroying all items and then recreating them (or even
hide()ing and then show()ing them again (or even even repositioning
them in the widget tree)), just try to reust them in the order they are.
This works surprisingly well when scrolling and most/all widgets
just moved.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7831980c1d
listlistmodel: Add gtk_list_list_model_item_moved()
...
Use it to fix a case that just said g_warning ("oops").
Apparently I had forgotten the case where a container moved a child
in the widget tree.
2020-05-30 19:26:45 -04:00
Benjamin Otte
fbfc7dc690
listitemmanager: Switch from "insert_before" to "insert_after" argumnet
...
We reorder widgets start to end, so when reusing a list item, we
correctly know the previous sibling for that list item, but not the
next sibling yet. We just know the widget it should ultimately be in
front of.
So we can do a more correct guess of the list item's place in the widget
tree if we think about where to place an item like this.
Actually using this change will come in the next commit.
2020-05-30 19:26:45 -04:00
Benjamin Otte
d8eec549f0
testlistview: Create widgets only once
...
Previously, we were recreating all widgets every time the list item was
rebound, which caused a lot of extra work every time we scrolled.
Now we keep the widgets around and only set their properties again when
the item changes.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7389e704dc
testlistview: Show the row number
...
Always show the current row. This is mostly useful for debugging, not
for beauty.
2020-05-30 19:26:45 -04:00
Benjamin Otte
b64da6d268
listview: Only allocate necesary rows
...
This is the big one.
The listview only allocates 200 rows around the visible row now.
Everything else is kept in ListRow instances with row->widget == NULL.
For rows without a widget, we assign the median height of the child
widgets as the row's height and then do all calculations as if there
were widgets that had requested that height (like setting adjustment
values or reacting to adjustment value changes).
When the view is scrolled, we bind the 200 rows to the new visible area,
so that the part of the listview that can be seen is always allocated.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2ba2a216ca
listview: Change anchor handling again
...
The anchor is now a tuple of { listitem, align }.
Using the actual list item allows keeping the anchor across changes
in position (ie when lists get resorted) while still being able to fall
back to positions (list items store their position) when an item gets
removed.
The align value is in the range [0..1] and defines where in the visible
area to do the alignment.
0.0 means to align the top of the row with the top of the visible area,
1.0 aligns the bottom of the widget with the visible area and 0.5 keeps
the center of the widget at the center of the visible area.
It works conceptually the same as percentages in CSS background-position
(where the background area and the background image's size are matched
the same way) or CSS transform-origin.
2020-05-30 19:26:45 -04:00
Benjamin Otte
e5add36a17
listview: Change how binding is done
...
We now don't let the functions create widgets for the item from the
listmodel, instead we hand out a GtkListItem for them to add a widget
to.
GtkListItems are created in advance and can only be filled in by the
binding code by gtk_container_add()ing a widget.
However, they are GObjects, so they can provide properties that the
binding code can make use of - either via notify signals or GBinding.
2020-05-30 19:26:45 -04:00
Benjamin Otte
fe14181d4e
listitem: Add gtk_list_item_get_position()
...
Also refactor the whole list item management yet again.
Now, list item APIs doesn't have bind/unbind functions anymore, but only
property setters.
The item factory is the only one doing the binding.
As before, the item manager manages when items need to be bound.
2020-05-30 19:26:45 -04:00
Benjamin Otte
378a573cf4
tests: Make animating listview do random resorts
2020-05-30 19:26:45 -04:00
Benjamin Otte
ec8684e87d
listview: Change change management
...
Add a GtkListItemManagerChange object that tracks all removed list
rows during an item-changed signal so they can be added back later.
2020-05-30 19:26:45 -04:00
Benjamin Otte
54042029d3
listview: Make the listitemmanager stricter
...
Require that items created with the manager get destroyed via the
manager.
To that purpose, renamed create_list_item() to acquire_list_item() and
add a matching release_list_item() function.
This way, the manager can in the future keep track of all items and
cache information about them.
2020-05-30 19:26:45 -04:00
Benjamin Otte
e1fa627158
listview: Add GtkListItem
...
GtkListItem is a generic row widget that is supposed to replace
GtkListBoxRow and GtkFlowBoxChild.
2020-05-30 19:26:45 -04:00
Benjamin Otte
9d5bb875b1
listview: Add GtkListItemManager
...
It's all stubs for now, but here's the basic ideas about what
this object is supposed to do:
(1) It's supposed to be handling all the child GtkWidgets that are
used by the listview, so that the listview can concern
itself with how many items it needs and where to put them.
(2) It's meant to do the caching of widgets that are not (currently)
used.
(3) It's meant to track items that remain in the model across
items-changed emissions and just change position.
(2) It's code that can be shared between listview and potential
other widgets like a GridView.
It's also free to assume that the number of items it's supposed to
manage doesn't grow too much, so it's free to use O(N) algorithms.
2020-05-30 19:26:44 -04:00
Benjamin Otte
b3c150e929
listview: Implement an anchor
...
The anchor selection is very basic: just anchor the top row.
That's vastly better than any other widget already though.
2020-05-30 19:26:44 -04:00
Benjamin Otte
d03a55599b
tests: Add a test for a permanently changing listview
...
This is mostly for dealing with proper anchoring and can be used to
check that things don't scroll or that selection and focus handling
properly works.
For comparison purposes, a ListBox is provided next to it.
2020-05-30 19:26:44 -04:00
Benjamin Otte
ed8fe6c219
listview: Implement GtkScrollable
...
Scrolling in a very basic form is also supported
2020-05-30 19:26:44 -04:00
Benjamin Otte
c835ae2a02
listview: Make widget actually do something
...
The thing we're actually doing is create and maintain a widget for every
row. That's it.
Also add a testcase using this. The testcase quickly allocates too many
rows though and then becomes unresponsive though. You have been warned.
2020-05-30 19:26:44 -04:00
Benjamin Otte
e20c207a22
listview: Introduce GtkListItemFactory
...
Thisis the abstraction I intend to use for creating widgets and binding
them to the item out of the listview.
For now this is a very dumb wrapper around the functions that exist in
the API.
But it leaves the freedom to turn this into public API, make an
interface out of it and most of all write different implementations, in
particular one that uses GtkBuilder.
2020-05-30 19:26:44 -04:00
Benjamin Otte
e19c4a3372
gtk: Add a GtkListView skeleton
2020-05-30 19:26:44 -04:00
Benjamin Otte
934bfc8887
builder: Add <binding> tag
...
The tag contains an expression that it then gtk_expression_bind()s to
the object it is contained in.
2020-05-30 19:26:44 -04:00
Benjamin Otte
713a6676ff
builder: Allow text content in <lookup>
...
<lookup>foo</lookup>
is now short for
<lookup>
<constant>foo</constant>
</lookup>
ie it looks up the object with the given name so it can then do a
property lookup with it.
This is the most common operation, so it's a nice shortcut.
2020-05-30 19:26:44 -04:00
Benjamin Otte
448a88e4f5
builder: Allow <constant> without a type
...
A constant without a type is assumed to be an object. This is the most
common case and allows
<constant>foo</constant>
without requiring updates to the type whenever the foo object changes.
2020-05-30 19:26:44 -04:00
Benjamin Otte
ed22af50bc
builder: Make <lookup> type optional
...
If no type is set, use the type of the expression.
2020-05-30 19:26:44 -04:00
Benjamin Otte
d3dc9c41b4
gtk-demo: Make fishbowl info text use bindings
...
It's a good demo for how bindings can format multiple properties into an
informative string with 1 line of code (and 5 lines of XML).
2020-05-30 19:26:44 -04:00
Matthias Clasen
d1b2ded7e2
sorter: Add tests
...
Some basic tests for GtkSorter.
2020-05-30 19:26:44 -04:00
Benjamin Otte
ee3faf24b9
sortlistmodel: Make sort stable
...
The sort of the sortlistmodel is now stable with respect to the original
list model.
That means that if the sorter compares items as equal, the model
will make sure those items keep the order they were in in the original
model.
Or in other words: The model guarantees a total order based on the
item's position in the original model.
2020-05-30 19:26:44 -04:00
Benjamin Otte
16ab648093
sortlistmodel: Redo the way we store the items
...
We need to keep this data around for changes in future commits where we
make the sorting stable.
An important part of the new data handling is that the unsorted list
needs to always be dealt with before the sorted list - upon creation we
rely on the unsorted iter and upon destruction, the sorted sequence
frees the entry leaving the unsorted sequence pointer invalid.
This change does not do any behavioral changes.
2020-05-30 19:26:44 -04:00
Matthias Clasen
11a1f8f36a
Redo sort list model with GtkSorter
...
Reshuffle the api to take full advantage
of GtkSorter. Update all callers.
2020-05-30 19:26:44 -04:00
Matthias Clasen
1eda9884a0
Add GtkNumericSorter
...
This sorter compares numbers obtained from items
by evaluating an expression.
2020-05-30 19:26:44 -04:00
Matthias Clasen
ae4bb2d914
Add GtkMultiSorter
...
This is a sorter that tries multiple sorters in turn.
2020-05-30 19:26:44 -04:00
Matthias Clasen
6d68c536f3
Add GtkStringSorter
...
This is a GtkSorter implementation collating strings
2020-05-30 19:26:44 -04:00
Matthias Clasen
e74a9d09e6
Add GtkCustomSorter
...
This is a GtkSorter implementation which uses a GCompareDataFunc.
2020-05-30 17:48:44 -04:00
Matthias Clasen
b2b847f365
Add GtkSorter
...
This is a helper object for sorting, similar to GtkFilter.
2020-05-30 17:48:44 -04:00
Benjamin Otte
cb15ec0257
Add GtkOrdering
...
This is an enum that we're gonna use soon and it's worth introducing as a
separate commit.
The intention is to have meaningful names for return values in
comparison functions.
2020-05-30 17:48:44 -04:00
Matthias Clasen
115923b2d9
More expression tests
...
Test type mismatches, and the this pointer
during evaluation.
2020-05-30 17:48:44 -04:00
Benjamin Otte
ad60efb5d7
expression: Invalidate bindings before destroying them
...
Use a weak ref to invalidate bindings. Make sure that this happens
before creating any watches, so that notifies from the
watched expression about changes will not trigger set_property() calls
during dispose()/finalize().
Invalidating also ensures that the watches aren't removed, which can
trigger warnings if the watches are watching the object itself, and the
weak refs cannot be removed anymore.
2020-05-30 17:48:44 -04:00
Benjamin Otte
b7efe4eb4f
expression: Add gtk_expression_bind()
...
Add a simple way to bind expressions to object properties. This is
essentially the thing to replace g_object_bind_property().
2020-05-30 17:48:44 -04:00
Benjamin Otte
92c359ca09
testsuite: Add expression tests
2020-05-30 17:48:44 -04:00
Benjamin Otte
ec742f9373
expression: Add the ability to watch an expression
2020-05-30 17:48:44 -04:00
Benjamin Otte
fde75aa9f6
builder: Add support for parsing expressions
2020-05-30 17:47:47 -04:00
Benjamin Otte
2df3c39e50
filter: Add tests
...
Some basic tests for GtkFilter
2020-05-30 17:42:09 -04:00
Benjamin Otte
22659afd00
Add GtkMultiFilter, GtkAnyFilter, GtkEveryFilter
...
GtkMultiFilter is the abstract base class for managing multiple child
filter.
GtkAnyFilter and GtkEveryFilter are the actual implementations.
2020-05-30 17:42:09 -04:00
Benjamin Otte
410e7dcf5d
filter: Add GtkStringFilter
...
Users provide a search filter and an expression that evaluates the items
to a string and then the filter goes and matches those strings to the
search term.
2020-05-30 17:42:09 -04:00
Benjamin Otte
bd8655fdee
expression: Add GtkObjectExpression
...
Weak refs break cycles...
2020-05-30 17:42:09 -04:00
Benjamin Otte
e9f1ee5aab
Add GtkExpression
...
GtkExpressions allow looking up values from objects.
There are a few simple expressions, but the main one is the closure
expression that just calls a user-provided closure.
2020-05-30 17:42:08 -04:00
Benjamin Otte
4abdf695e3
filterlistmodel: Rewrite to use GtkFilter
2020-05-30 12:30:23 -04:00
Benjamin Otte
b1090ac8e2
tests: Remove testtreemodel test
...
testlistview does everything this test does.
2020-05-30 12:30:23 -04:00
Benjamin Otte
1ab081b584
Add GtkCustomFilter
2020-05-30 12:30:23 -04:00
Benjamin Otte
1df17f2fea
Add GtkFilter
2020-05-30 12:30:23 -04:00
Benjamin Otte
682e97826c
Add GtkDirectoryList
...
Adds a new listmodel called GtkDirectoryList that lists the children of
a GFile as GFileInfos.
This is supposed to be used by the filechooser.
2020-05-30 12:30:23 -04:00
Benjamin Otte
805fea20cb
eventcontrollermotion: Remove mode argument
...
It's not used and nobody has documented how it's meant to work anyway.
2020-05-30 12:30:23 -04:00
Matthias Clasen
415bfeb950
Merge branch 'fix-pango-deps' into 'master'
...
Fix inconsistencies in our pango deps
See merge request GNOME/gtk!1989
2020-05-30 16:29:12 +00:00
Matthias Clasen
2f20a40922
Merge branch 'matthiasc/for-master' into 'master'
...
Some listview preparations
See merge request GNOME/gtk!1988
2020-05-30 15:51:21 +00:00
Matthias Clasen
5235a4c48a
Fix inconsistencies in our pango deps
...
We were applying the pango version requirements inconsistently,
leading to different pango variables being taking from system
pango vs the subproject at times. Thankfully, meson detects
this and complains, so we can fix it.
2020-05-30 11:13:55 -04:00
Matthias Clasen
bb7f6ed544
Merge branch 'fix-gesture-leak' into 'master'
...
gesture: Don't leak target widgets
Closes #2801
See merge request GNOME/gtk!1986
2020-05-30 15:12:05 +00:00
Benjamin Otte
f1d6a0a4ed
widget: Add gtk_widget_get_size()
...
A little bit of convenience.
2020-05-30 10:48:02 -04:00
Benjamin Otte
3c1cca13b7
wayland: Remove function declaration for nonexisting function
2020-05-30 10:46:49 -04:00
Benjamin Otte
1ef805328f
builder: Allow <property bind /> for objects
...
Previously, object properties had to always be set to a value.
This now works without it.
2020-05-30 10:46:27 -04:00
Matthias Clasen
fd73f8d972
Merge branch 'pango-bump-v2' into 'master'
...
pango version bump v2
See merge request GNOME/gtk!1987
2020-05-30 14:45:47 +00:00
Matthias Clasen
3a8ebf4c9f
Merge branch 'wip/jimmac/backdrop-assasination' into 'master'
...
Adwaita: limit scope of :backdrop
Closes #2694
See merge request GNOME/gtk!1978
2020-05-30 14:41:52 +00:00
Matthias Clasen
b482b7d8af
Bump the pango dependency
...
We soon want to rely on the list model apis in
pango 1.45. This commit also fixes a mixup where
using pango as a submodule would break the build
when pangoft2 is required.
2020-05-30 15:47:56 +02:00
Matthias Clasen
0d69c42320
gesture: Don't leak target widgets
...
This was broken when we started tracking event targets
in dcbecdac31 .
Fixes : #2801
2020-05-30 09:47:24 -04:00
Christoph Reiter
011f5afe4e
CI: install a newer pango for MSYS2
...
Uses a build from git master from today
2020-05-30 15:47:02 +02:00
Matthias Clasen
8bab7b237c
Merge branch 'matthiasc/for-master' into 'master'
...
eventcontroller: Fix crossing event scopes
See merge request GNOME/gtk!1983
2020-05-30 13:41:42 +00:00
Matthias Clasen
821a458393
Revert "Bump the pango dependency"
...
This reverts commit 98df0be43d .
It broke the win32 build.
2020-05-30 08:55:21 -04:00
Matthias Clasen
66120cff4b
eventcontroller: Fix crossing event scopes
...
We want to deliver crossing events to controllers
with scope same-native as long as at least one of
the targets is on the same native. As a new approach,
treat out-of-scope targets like NULL, and deliver
crossing events as long as one of the targets is
not NULL.
2020-05-29 19:41:39 -04:00
Matthias Clasen
8ce1034e87
Add GTK_DEBUG=shortcuts
...
If the shortcuts debug flag is set, print out
shortcut activations.
2020-05-29 17:59:58 -04:00
Matthias Clasen
a39d708859
meson: Cosmetics
...
Treat the display backend list like other lists in the summary.
2020-05-29 15:40:34 -04:00
Matthias Clasen
98df0be43d
Bump the pango dependency
...
We soon want to rely on the list model apis in
pango 1.45. This commit also fixes a mixup where
using pango as a submodule would break the build
when pangoft2 is required.
2020-05-29 10:53:39 -04:00
Matthias Clasen
4125eb01ba
Merge branch 'matthiasc/for-master' into 'master'
...
Bring back gdk_display_put_event
See merge request GNOME/gtk!1980
2020-05-29 14:14:02 +00:00
Alexander Larsson
0bd039a524
gtk-demo: Don't show main window if --run is passed in
...
Also, in that case, exit when the demo window is closed.
2020-05-29 13:51:31 +02:00
Jakub Steiner
f4705bab1e
Adwaita: limit scope of :backdrop
...
- most controls don't have:backdrop state
- different :backdrop state reserved for windows, headebars and toolbars
and some buttons
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2694
2020-05-29 12:43:13 +02:00