Matthias Clasen
9cfce67d0f
textview: Remove a dead store
...
Pointed out by clang.
2021-09-17 22:06:21 -04:00
Matthias Clasen
295d406207
listitemmanager: Add a few assertions
...
This might help poor static analyzers.
2021-09-17 22:06:21 -04:00
Matthias Clasen
c4e558da46
imcontextsimple: Rewrite a function slightly
...
This hopefully avoids upsetting static analyis.
2021-09-17 20:02:12 -04:00
Matthias Clasen
be1a60d5d0
label: Remove a dead assignment
...
It may have quieted gcc at some point, but
it upsets clang nowadays. Remove it.
2021-09-17 19:54:16 -04:00
Benjamin Otte
cf3830704b
icontheme: Fix variable mixup leading to crashes
...
Note: Don't have 2 variables named "icon" and "gicon", you will screw
them up.
reftests included.
Fixes #4269
2021-09-17 17:41:13 +00:00
Matthias Clasen
76d31ff04b
Merge branch 'menu_button_a11y_improvements' into 'master'
...
Set correct accessible relations for GtkMenuButton
Closes #4254
See merge request GNOME/gtk!3950
2021-09-17 16:51:52 +00:00
Emmanuele Bassi
15ffd49efb
Apply 4 suggestion(s) to 1 file(s)
2021-09-17 16:26:00 +00:00
Matthias Clasen
37a54eb9fc
Merge branch 'matthiasc/for-master' into 'master'
...
gsk: Add a test for transform_bounds
See merge request GNOME/gtk!3966
2021-09-17 16:22:04 +00:00
Matthias Clasen
52a8492887
rendernodepaintable: Provide accurate aspect ratio
...
Since we report width and height as integers, the
default implementation of this introduces rounding
errors. This shows up in the node-editor, as having
uneven scale factors like sx=1.0 and sy=1.0035.
Text nodes don't handle uneven scales like that well
and overdraw.
2021-09-17 10:28:49 -04:00
Lukáš Tyrychtr
ba5d010e39
Delete unneccessary comment and make other more descriptive
2021-09-17 15:11:26 +02:00
Matthias Clasen
0cce92ab19
Merge branch 'fix-typo' into 'master'
...
gtkcolorbutton: Fix documentation
See merge request GNOME/gtk!3965
2021-09-17 10:52:59 +00:00
James Westman
f95c21b67c
gtkcolorbutton: Fix documentation
2021-09-16 23:53:42 -05:00
Benjamin Otte
37a7c6780a
icontheme: Implement gtk_icon_theme_lookup_by_gicon() for textures
...
More feature parity.
Before this, it would have worked just as well - just going via a PNG
bytes step inbetween.
2021-09-17 04:31:46 +02:00
Benjamin Otte
e58f70d7bb
pixbufutils: Don't hardcode formats
...
Just let the loaders figure out the file format themselves.
2021-09-17 02:34:15 +02:00
Benjamin Otte
4fcf54757f
icontheme: Insist that people provide proper values
...
Seriously...
2021-09-17 02:29:59 +02:00
Benjamin Otte
b5da07f0e1
icontheme: Use textures more
...
We were going via GLoadablieIcon/GInputStream for everything previously
and we have no API for that with GdkTexture.
With this commit, gdk-pixbuf isn't used anymore when starting
widget-factory for anything but SVG.
2021-09-17 02:12:07 +02:00
Benjamin Otte
a85f4ec6c2
icontheme: Load textures directly when possible
...
This doesn't fix the codepaths for SVG (both for recoloring and
resizing) and doesn't handle streams yet.
2021-09-17 02:02:51 +02:00
Matthias Clasen
fecb31b706
builder: Stop using pixbufutils
...
We can just use gdk_pixbuf_new_from_resource here.
2021-09-17 02:02:51 +02:00
Matthias Clasen
729ad8e64a
cssimageurl: Just create a texture directly
...
We don't need to use the pixbufutils api here.
2021-09-17 02:02:51 +02:00
Matthias Clasen
dcd873a6d8
builder: create textures without pixbufs
...
Load textures using the GdkTexture apis, without
going through a pixbuf first.
2021-09-17 02:02:51 +02:00
Benjamin Otte
679c93e843
texture: Add private can_load() function
...
... and use it to load textures in gtk_picture_set_from_file().
2021-09-17 00:25:22 +02:00
Jakub Steiner
ed679703b8
theme: make toggled tbuttons in toolbars visible
...
- do what Alex does in libadwaita
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4264
2021-09-16 12:47:26 +02:00
Benjamin Otte
7fd8899092
pixbufutils: Simplify function
2021-09-15 22:00:41 -04:00
Matthias Clasen
8b85e7f35a
Annotate gtk_get_default_language as const
2021-09-14 16:38:08 -04:00
Matthias Clasen
d7909dccdc
Annotate gtk_editable_get_chars as malloc
2021-09-14 16:38:08 -04:00
Matthias Clasen
7773ae4538
csstypes: Add annotations and inlines
...
Inline _gtk_css_change_for_sibling and
_gtk_css_change_for_child, and mark a few
other functions as const or malloc.
2021-09-14 16:38:08 -04:00
Matthias Clasen
bec44acdeb
Annotate some builder apis as malloc
2021-09-14 16:38:08 -04:00
Matthias Clasen
5bfac597f6
Annotate gtk_accelerator_get_default_mod_mask as const
2021-09-14 16:38:08 -04:00
Matthias Clasen
44a031c3c1
Annotate gtk_css_tokenizer_get_location as const
2021-09-14 16:38:08 -04:00
Matthias Clasen
be885c888f
cssparser: Mark some functions as pure and malloc
2021-09-14 16:38:08 -04:00
Lukáš Tyrychtr
0120ff3518
Merge branch 'master' into menu_button_a11y_improvements
2021-09-14 15:34:14 +02:00
Matthias Clasen
2e63b53b1e
Merge branch 'fix_accessible_described_by' into 'master'
...
Fix generation of accessible description in presence of described by relations
See merge request GNOME/gtk!3948
2021-09-14 13:29:28 +00:00
Lukáš Tyrychtr
955d50a080
Fix generation of accessible description in presence of described by relations
...
The loop going through the relation list should have stopped on the NULL sentinel value, however it never accesed the next list element.
2021-09-14 14:33:30 +02:00
Lukáš Tyrychtr
b664b2d1fd
Set correct accessible relations for GtkMenuButton
...
Up until now, as the focus was moved to the inner button, it was not possible for
assistive technologies to determine the correct labels and descriptions
because developers could set them only for the parent widget.
Now, the proper relations are added so the labels should be picked up properly.
Fixes #4254
2021-09-14 14:26:18 +02:00
Alexander Mikhaylenko
8f9a5175f0
media-controls: Make play button flat
...
Match the volume button.
2021-09-14 12:23:03 +05:00
Alexander Mikhaylenko
099c923679
searchbar: Vertically center the close button
2021-09-14 12:22:45 +05:00
Julian Sparber
cdc1fa166d
stack: Dispose children before emitting items-changed
...
This makes sure that the `GListModel` returned by
`gtk_stack_get_pages()` actually has the items removed before
`items-changed` is emitted.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4255
2021-09-13 17:19:05 +02:00
James Westman
0782c8a051
gdk_rgba_parse: Support HSL colors
2021-09-10 16:56:42 -05:00
Matthias Clasen
72dc9a21f7
GtkApplication: Call setlocale early
...
If we don't call setlocale early enough,
--help output may come out misformatted.
Fixes : #4234
2021-09-06 01:38:47 -04:00
Matthias Clasen
d75246a543
inspector: Cosmetics
...
Make some settings entries smaller, and make the
scales match in size. Also, inline adjustments
in the ui file, since we can do that now.
2021-09-05 12:59:11 -04:00
Matthias Clasen
f703744564
Merge branch 'ebassi/accel-parse-doc' into 'master'
...
Improve the gtk_accelerator_parse() docs
See merge request GNOME/gtk!3921
2021-09-04 23:39:10 +00:00
Matthias Clasen
754212d0f9
textview: Invalidate Pango contexts
...
We need to invalidate the Pango contexts when
font settings change. Use the new helper
gtk_widget_update_pango_context to make it less
likely that we forget to update some things.
2021-09-04 15:42:05 -04:00
Matthias Clasen
a9b81577c6
widget: Provide a helper for updating pango contexts
2021-09-04 15:42:05 -04:00
Matthias Clasen
eaa2dada54
Rename an internal function
...
It occupies a name I want to reuse for something else.
2021-09-04 15:42:05 -04:00
Matthias Clasen
06423d807f
Revert "gtk: Pass font options along"
...
This reverts commit 062a15310a
.
2021-09-04 15:42:05 -04:00
Emmanuele Bassi
c3ca48b249
Improve the gtk_accelerator_parse() docs
...
We need to escape the modifiers in angular brackets, or Markdown will
consider them as HTML tags.
We also should document the modifiers we're parsing.
2021-09-04 18:56:08 +01:00
Matthias Clasen
26e632e549
widget: Redraw when font options change
...
Its the right thing to do, even if it is a rare event.
2021-09-03 13:56:29 -04:00
Matthias Clasen
062a15310a
gtk: Pass font options along
...
Pass the widget's font options along when we
are creating text nodes.
2021-09-03 12:52:05 -04:00
Alexander Mikhaylenko
8b48cf11f9
menubutton: Support custom children
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4205
2021-09-03 17:52:46 +05:00
Matthias Clasen
d4b7a78c54
Add a README in gtk/compose
2021-09-02 20:10:19 -04:00
Matthias Clasen
b26a370ce4
Add a gtk-hint-font-metrics setting
...
This lets people switch back to font rendering that is closer
to what GTK 3 does. It is not perfect - subpixel antialiasing
is not going to work. But it give us an Escape hatch while
we shake out the bugs in our linear layout.
Related: #3787
2021-09-01 15:52:07 -04:00
Matthias Clasen
ad3dad1965
Initial support for new Pango attributes
...
This is still missing the GtkTextTag hookup,
but it fixes the build.
2021-09-01 10:32:45 -04:00
Matthias Clasen
fa57b006c9
editable: Clarify the docs
...
Make it clear that your class must have all the editable properties
already before you call the (confusingly named) function
gtk_editable_install_properties.
2021-08-31 08:41:45 -04:00
Matthias Clasen
3667c6b053
Merge branch 'wip/smcv/compose-files' into 'master'
...
Fix Compose handling on big-endian host architectures
Closes #4217
See merge request GNOME/gtk!3902
2021-08-30 12:52:54 +00:00
Simon McVittie
1071818df8
compose: Update sequences from libX11 1.7.2
...
This adds support for sequences like <Compose>,G,u -> capital G with
breve. Previously, only a capital U was accepted for E, G, I and O
(but a lower-case u was accepted for A and U for some reason).
Signed-off-by: Simon McVittie <smcv@debian.org>
2021-08-30 13:09:27 +01:00
Simon McVittie
11c2d9ea30
compose: Document how to get compose-parse input from libX11 source
...
Signed-off-by: Simon McVittie <smcv@debian.org>
2021-08-30 13:09:05 +01:00
Simon McVittie
52cdf3056d
compose: Generate endian-dependent compact Compose data
...
The GtkComposeTable cache is always in big-endian format and is
byteswapped on load for the more common little-endian CPUs, but
init_builtin_table() in GtkIMContextSimple can't byteswap the built-in
data without copying it, which is undesirable. Pregenerate both big-
and little-endian compose data, and compile the correct flavour into
each build of GTK. This fixes failure of the composetable test when
building for a big-endian architecture such as s390x and (traditional,
big-endian) powerpc.
Resolves: https://gitlab.gnome.org/GNOME/gtk/-/issues/4217
Signed-off-by: Simon McVittie <smcv@debian.org>
2021-08-30 11:29:46 +01:00
Benjamin Otte
cbc050b9ed
recorder: Make the render nodes in the list draggable
...
You can (soon) drag any of the nodes directly into the node-editor.
2021-08-30 06:02:16 +02:00
Benjamin Otte
18affbd390
dragicon: Add a default drag icon for GskRenderNode
...
Somebody should make this default drag icon machinery pluggable.
2021-08-30 06:02:16 +02:00
Benjamin Otte
552b71d4e2
stylecontext: Remove unneeded headers
2021-08-30 06:02:15 +02:00
Benjamin Otte
480112f9aa
fontbutton: Destroy dialog in unrealize()
...
This way, we can be sure it's always using the right display.
We can also be sure that it doesn't leak.
2021-08-30 06:02:15 +02:00
Benjamin Otte
9a2f4d8026
fontbutton: Make sure the window is on the same display
...
We don't want the font buttons created by the inspector to run on the
default display.
2021-08-30 06:02:15 +02:00
Benjamin Otte
3b15f32335
Merge branch 'wip/otte/symbolic-paintable' into 'master'
...
Add GtkSymbolicPaintable
See merge request GNOME/gtk!3895
2021-08-30 03:54:35 +00:00
Benjamin Otte
7404a6fc4f
Merge branch 'wip/otte/G_TYPE_POINTER' into 'master'
...
Get rid of G_TYPE_POINTER
See merge request GNOME/gtk!3900
2021-08-30 03:50:30 +00:00
Benjamin Otte
91d1ec41c2
symbolicpaintable: Refactor default colors path
2021-08-30 05:29:04 +02:00
Benjamin Otte
9237c8be67
icontheme: Refactor gtk_icon_theme_lookup_symbolic_colors()
...
With the new enum, the code looks much cleaner.
2021-08-30 04:52:47 +02:00
Benjamin Otte
6c87d362c5
enums: Add a GtkSymbolicColor enum
...
That way we don't nedmagic numbres to index the colors array.
Use it in the symbolic paintable demo.
2021-08-30 04:36:16 +02:00
Benjamin Otte
e2d321a16a
searchengine: Rename private headers
...
The code uses G_TYPE_POINTER and I got all sorts of scared.
2021-08-29 06:52:28 +02:00
Benjamin Otte
7366f5099a
filesystemmodel: Don't use G_TYPE_POINTER
...
It's a GError, use G_TYPE_ERROR.
2021-08-29 06:52:28 +02:00
Benjamin Otte
4fbef5f466
placessidebar: Don't use G_TYPE_POINTER
...
We have a type for lists of GFiles. We invented it for DND.
Keep the annotation info, so bindings don't have to know this.
2021-08-29 06:52:28 +02:00
Benjamin Otte
2e48ff3362
pathbar: Use correct GType in signal
2021-08-29 06:52:28 +02:00
Benjamin Otte
2808f9c75b
gtk: Port icontheme to GtkSymbolicPaintable
2021-08-29 04:29:53 +02:00
Benjamin Otte
49d109c29e
gtk: Add the GtkSymbolicPaintable interface
2021-08-29 04:29:53 +02:00
Matthias Clasen
369ccfc34f
Merge branch 'matthiasc/for-master' into 'master'
...
Draw negatively sloped carets correctly
See merge request GNOME/gtk!3892
2021-08-28 17:18:21 +00:00
Florian Müllner
3fa26861cd
window: Prefer menu bars when handling F10
...
Focusing the first widget in the titlebar is a good fallback,
but a "real" menubar or :primary menu button should take
precedence.
2021-08-28 00:19:23 +02:00
Matthias Clasen
ef2b0ccd6c
Draw negatively sloped carets correctly
...
The code for handling negatively sloped caret
positions was not tested, and naturally did
not work. Fix it.
2021-08-27 17:20:35 -04:00
Matthias Clasen
3a50ff57d8
Clean up the code
...
Avoid compiler warnings, and make the code
a bit more compact.
2021-08-26 20:45:17 -04:00
Matthias Clasen
8ac2e8d495
textview: Apply font features from css
...
We were forgetting to propagate these values from
CSS to the default attributes. Share the code for
getting these values out of a GtkCssStyle.
2021-08-26 20:21:23 -04:00
Matthias Clasen
e56cf85fd1
textview: Apply text transform from css
...
We were forgetting to propagate these values from
CSS to the default attributes.
2021-08-26 18:53:30 -04:00
Matthias Clasen
1c6aef1862
textview: Apply line decoration from css
...
We were forgetting to propagate these values from
CSS to the default attributes.
2021-08-26 18:46:57 -04:00
Matthias Clasen
4653cbe56e
Merge branch 'css-letter-spacing' into 'master'
...
textview: Don't forget to collect css letterspacing
Closes #4207
See merge request GNOME/gtk!3889
2021-08-26 19:37:55 +00:00
Matthias Clasen
93148d302f
textview: Don't forget to collect css letterspacing
...
There are more properties missing, this is just
the start.
Fixes : #4207
2021-08-26 15:01:23 -04:00
Christoph Reiter
a0c147d246
build: fix implicit-fallthrough errors with clang
...
The clang build fails due to -Werror=implicit-fallthrough being
on by default and some fallthrough cases not being marked as such.
Use G_GNUC_FALLTHROUGH or duplicate the code in those cases.
2021-08-26 07:08:38 +02:00
Matthias Clasen
989ecf69ad
Merge branch 'new-pango-attributes' into 'master'
...
Support new pango attributes
See merge request GNOME/gtk!3878
2021-08-25 20:11:45 +00:00
Matthias Clasen
b9cad7cc54
textview: Implement new pango attributes
...
Implement the word and sentence attributes.
2021-08-25 14:57:13 -04:00
Matthias Clasen
357b97b5a6
Support new pango attributes
...
Support new Pango attributes for segmentation
in GtkBuilder.
2021-08-25 14:57:13 -04:00
Jan Lukas Gernert
318160d836
GtkTreeExpander: claim expander-icon gestures
...
Claim the pressed, released and canceled gestures
meant for the expander-icon of the TreeExpander.
This avoids selecting the row when expanding or collapsing it.
Closes #4199
2021-08-25 17:50:12 +02:00
Matthias Clasen
5e90d63373
Merge branch 'sloped-caret' into 'master'
...
Implement sloped caret drawing
See merge request GNOME/gtk!3880
2021-08-25 13:43:24 +00:00
Matthias Clasen
e281bbbb55
Merge branch 'treeexpander-indent-property' into 'master'
...
GtkTreeExpander: indent-without-expander property
Closes #4175
See merge request GNOME/gtk!3858
2021-08-25 11:48:59 +00:00
Matthias Clasen
2f1db4b77c
Use pango_layout_get_caret_pos
...
This new api returns rectangles for sloped carets,
in contrast to pango_layout_get_cursor_pos, which
always returns a rectangle with a width of zero.
2021-08-25 06:53:53 -04:00
Matthias Clasen
f90e9b26f8
Implement sloped caret drawing
...
Prepare for Pango to return slope information for carets.
While we are at it, improve the shape of our carets a bit.
2021-08-25 06:53:53 -04:00
Matthias Clasen
b9c51e65c1
Merge branch 'wip/carlosg/gesture-state-in-entries' into 'master'
...
Claim clicks further at GtkEntry/GtkSearchEntry
See merge request GNOME/gtk!3873
2021-08-24 17:20:20 +00:00
Matthias Clasen
51f953a1aa
Revert "imwayland: Tweak preedit text"
...
This reverts commit d84a028455
.
IBus uses the same character now.
Fixes : #4123
2021-08-24 12:53:48 -04:00
Emmanuele Bassi
5e311d4d85
Release an extra reference on GtkExpander:child
...
The child of a GtkExpander is owned directly by the expander whenever
the "expanded" flag is unset.
We are adding an additional reference to the child of an expander when
expander is not expanded.
Additionally, if a GtkExpander is disposed while not expanded, we need
to explicitly release the reference on the child widget that we own.
This reference leak was masked in GTK3 by GtkContainer removing each
child from the parent container by recursively calling
gtk_widget_destroy().
2021-08-24 11:28:59 +01:00
Carlos Garnacho
e652054d50
gtkpasswordentry: Add a "catchall" click gesture handler
...
This gesture is set on the whole widget surface, since there's
multiple input targets inside an entry (icons, the GtkText itself)
it makes sense to consider the full entry an area handling clicks.
Ensure these events don't propagate further up, and result in other
actions.
2021-08-24 01:13:29 +02:00
Carlos Garnacho
58c31b8627
gtkpasswordentry: Consume click events after pressing on icon
...
This may result in user actions, so the gesture should consume the
events.
2021-08-24 01:12:31 +02:00
Qiu Wenbo
92d2867170
docs: Fix documentation for gtk_icon_view_create_drag_icon
...
Fixes : #4190
2021-08-24 00:24:08 +08:00
Kalev Lember
552a4b2c82
build: Fix detection for pre-compiled css files
...
The default theme changed from Adwaita to Default and this tripped up
the logic to detect if the tarball builds contain pre-built css files or
not. Fix this by looking at pre-compiled css files in themes/Default/
instead of themes/Adwaita/.
2021-08-23 16:15:48 +02:00
Carlos Garnacho
7a4afb08bd
gtksearchentry: Add a "catchall" click gesture handler
...
This gesture is set on the whole widget surface, since there's
multiple input targets inside an entry (icons, the GtkText itself)
it makes sense to consider the full entry an area handling clicks.
Ensure these events don't propagate further up, and result in other
actions.
2021-08-23 15:38:33 +02:00
Carlos Garnacho
c5cd1ac630
gtkentry: Add a "catchall" click gesture handler
...
This gesture is set on the whole widget surface, since there's
multiple input targets inside an entry (icons, the GtkText itself)
it makes sense to consider the full entry an area handling clicks.
Ensure these events don't propagate further up, and result in other
actions.
2021-08-23 15:38:33 +02:00
Carlos Garnacho
90edb76415
gtksearchentry: Consume click events after pressing on icon
...
This results in user actions, so the gesture should consume the
events.
2021-08-23 15:38:33 +02:00
Carlos Garnacho
8f397502df
gtktext: Set claimed state on button1 click gesture
...
All possible ramifications after button1 press (move cursor,
begin drag, begin dnd, select word/line, ...) result in user
actions. The right thing after that is consuming the events,
set the gesture state for that.
2021-08-23 15:28:27 +02:00
Jan Lukas Gernert
1cb17d8613
GtkTreeExpander: indent-for-icon property
...
A property to determine if the TreeExpander should indent the child
by the width of an expander-icon when it is not expandable.
Closes #4175
2021-08-23 07:54:45 +02:00
Matthias Clasen
417b3f9c6b
Implement text transforms for GtkTextView
...
Add a property to GtkTextTag and do all the
legwork to translate it to the Pango attribute.
2021-08-22 15:57:50 -04:00
Matthias Clasen
2d84a1c63e
css: Implement text-transform
...
Implement the text-transform property from
https://www.w3.org/TR/css-text-3/#text-transform-property
using a new Pango attribute.
2021-08-22 15:57:50 -04:00
Matthias Clasen
ba95ef63da
Drop PANGO_VERSION_CHECK checks
...
We require Pango 1.49 now.
2021-08-22 15:26:23 -04:00
Matthias Clasen
2cc06f60c5
textview: Set line height from markup
...
Note that we ignore the absolute-line-height
attribute for now.
2021-08-22 15:15:50 -04:00
Matthias Clasen
4759afcc3e
textview: Set line height from css
...
Set the line height in the default attributes from
the CSS style. This makes line height work in
GtkTextView.
2021-08-22 15:15:50 -04:00
Matthias Clasen
66b297e408
textview: Add line height plumbing
...
This adds a line-height property to GtkTexttag and a
line_height field to GtkTextAttributes, and translates
it to a pango attribute.
2021-08-22 15:15:50 -04:00
Matthias Clasen
ae767dc5bf
css: Translate line-height to a Pango
...
Pango 1.50 introduces a line-height attribute. Use it.
This is enough to make line-height work for labels
and entries.
2021-08-22 15:15:50 -04:00
Matthias Clasen
d923402934
css: Add line-height property
...
This adds the plumbing to parse the line-height
property from CSS. Widgets are not picking it
up yet.
2021-08-22 15:15:50 -04:00
Matthias Clasen
7be3c2974a
windowhandle: Quiet a compiler warning
...
gesture was left uninitialized in the default case.
2021-08-22 14:19:14 -04:00
Matthias Clasen
fd885e42b0
Merge branch 'drop-gl' into 'master'
...
gsk: Drop the gl renderer
See merge request GNOME/gtk!3863
2021-08-22 17:04:25 +00:00
Matthias Clasen
1bf5aab18c
testutils: Don't include gsk/gl/gskglrenderer.h
2021-08-22 12:29:13 -04:00
Matthias Clasen
5feba67a3d
Handle new pango attribute type
...
Update all the places where we switch over
PangoAttrType to handle PANGO_ATTR_TEXT_TRANSFORM,
and do nothing for now - text-transform support
will land in 4.6.
2021-08-22 11:04:28 -04:00
Matthias Clasen
92817b0603
Merge branch 'cut-shortcut-activation-short' into 'master'
...
shortcutcontroller: Only do round-robin for mnemonics
Closes #4130
See merge request GNOME/gtk!3824
2021-08-20 13:50:51 +00:00
Matthias Clasen
f8a1726ffa
shortcutcontroller: Only do round-robin for mnemonics
...
Don't do round-robin activation unless we are looking
for mnemonics, where this is an expected feature.
Fixes : #4130
2021-08-20 09:26:37 -04:00
Emmanuele Bassi
12c5518e2b
Merge branch 'master' into 'master'
...
a11y: Send correct object reference for the root accessible
See merge request GNOME/gtk!3800
2021-08-20 13:18:37 +00:00
Matthias Clasen
da1232caaf
textview: Don't eat block cursors
...
We need to render even an empty paragraph when
it has a block cursor at the end. This fixes block
cursors not showing up in empty lines.
2021-08-20 01:57:31 -04:00
Matthias Clasen
f5b6488eb2
window: Make resizeability changes work
...
We were forgetting to update the toplevel
properties here.
2021-08-19 16:03:58 -04:00
Matthias Clasen
8aa25046dc
textview: Improve word selection
...
Avoid selecting a whole extra paragraph when a select-by-words
selection is extended beyond the end of the previous paragraph.
Fixes : #4177
2021-08-19 00:33:03 -04:00
Matthias Clasen
071a6bcc06
Cosmetics
2021-08-18 22:33:23 -04:00
Matthias Clasen
1599b659cf
infobar: Update buildable docs
...
Document the current state of GtkBuilder support in
GtkInfoBar, not what we had in GTK3.
Fixes : #4164
2021-08-18 17:42:54 -04:00
Matthias Clasen
81e5d4c327
Merge branch 'master' into 'master'
...
gtkbuilderparser: Fix duplicate object id detection
See merge request GNOME/gtk!3848
2021-08-18 12:00:41 +00:00
Ye Moran
f8111125ef
gtkbuilderparser: Fix duplicate object id detection
2021-08-18 12:00:40 +00:00
Matthias Clasen
f6659fea8d
imcontext: Improve docs
...
Add some more docs around GtkIMContext.
2021-08-17 22:33:26 -04:00
Alexander Mikhaylenko
342f02711b
widget: Fix gtk_widget_class_query_action() annotations
...
Add transfer none on all out values as they aren't being copied.
2021-08-11 14:33:38 +05:00
Matthias Clasen
528ebfabf0
Handle the new line height pango attribute
...
Update all the places where we switch over PangoAttributeType
to handle (and ignore, for now) the new line height attribute.
2021-08-10 08:22:52 -04:00
Matthias Clasen
04f3c8054b
Merge branch 'callback-annotation-again' into 'master'
...
widget: Change callback scope
See merge request GNOME/gtk!3796
2021-08-10 01:16:56 +00:00
Matthias Clasen
4e1ea58503
Cosmetics: Tweak css parser error messages
...
These show up in tooltips, so they should a) be capitalized
and b) not end with a period.
2021-08-07 18:18:10 -04:00
Matthias Clasen
f328ab9d83
Merge branch 'wip/chergert/revert-top-margin' into 'master'
...
Revert "textview: fix yoffset position when top_margin is set"
See merge request GNOME/gtk!3828
2021-08-06 13:13:21 +00:00
Matthias Clasen
bdbe0acd1f
Merge branch 'matthiasc/for-master' into 'master'
...
settings: Default gtk-split-cursor to FALSE
See merge request GNOME/gtk!3827
2021-08-05 19:17:54 +00:00
Christian Hergert
fc701baef8
Revert "textview: fix yoffset position when top_margin is set"
...
This reverts commit 908b1e5e12
.
This commit broke top-margin altogether.
2021-08-05 11:52:45 -07:00
Matthias Clasen
a457a81fd9
Merge branch 'matthiasc/for-master' into 'master'
...
text: Move setup code out of a loop
See merge request GNOME/gtk!3826
2021-08-05 18:45:39 +00:00
Matthias Clasen
4cc7977d36
settings: Default gtk-split-cursor to FALSE
...
According to Owen, this was the intention when the setting
was added in 2001. It only took us 20 years to fix the
default value.
2021-08-05 14:05:28 -04:00
Matthias Clasen
916886312a
Merge branch 'wip/exalm/shadow-extents' into 'master'
...
Shrink shadow extents
See merge request GNOME/gtk!3825
2021-08-05 16:39:52 +00:00
Matthias Clasen
8ff94ea1f2
text: Move setup code out of a loop
...
Just a cleanup, no functional change.
2021-08-05 12:31:18 -04:00
vanadiae
a3ce574193
popover: Cycle around focus with (Shift+)Tab
...
Same thing as the previous popovermenu commit, except for the base popover
because the popovermenu needs special behaviour with e.g. sides arrow so
we need to have the "cycle around" for regular popovers here too.
2021-08-04 12:11:44 +02:00
vanadiae
ef92adc87d
popovermenu: Cycle around focus also with (Shift+)Tab
...
Currently when moving the focus with (Shift+)Tab, it also traverses the window's
widgets, although it would be expected that the focus stays within the popover,
as it's (almost) like it's a separate window. This would be consistent with
the behaviour of the Up/down arrows, which do cycle around the focus once it
reaches the end.
So this commit makes the popovermenu cycle around focus in any direction, apart
from left/right because they are used to open and close submenus and it wouldn't
make sense anyway to cycle horizontally as there's usually only one widget per
line.
2021-08-04 12:11:44 +02:00
Alexander Mikhaylenko
46a9538b6a
Shrink shadow extents
...
Long time ago, Cairo shadows in both GTK3 and 4 were drawn at a size about
twice their radius. Eventually this was fixed but the shadow extents are
still calculated for the previous size and appear unreasonably large: for
example, 141px for a 50px radius shadow. This can get very noticeable in
places such as invisible window frame which gets included into screenshots.
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3419 just divides the
radius by 2 when drawing a shadow with Cairo, do the same when calculating
extents.
See https://gitlab.gnome.org/GNOME/gtk/-/issues/3841
2021-08-04 14:47:17 +05:00
Matthias Clasen
04ea51e843
treepopover: Start adding keynav
...
Arrange for the items to be focusable, and add keyboard
activation. Still missing: cycling focus inside the
popover.
2021-08-02 23:49:05 -04:00
Matthias Clasen
f7dc0dda4e
Merge branch 'big-keysyms' into 'master'
...
imcontext: Treat keysyms as 32bit values
Closes #4149
See merge request GNOME/gtk!3819
2021-08-03 01:05:16 +00:00
Matthias Clasen
d119c55b72
textview: Fix the get_surrounding implementation
...
This was, sadly, returning garbage.
2021-08-02 20:44:40 -04:00
Matthias Clasen
253e25a73c
Add a private getter for the textview key controller
...
This will be used in tests.
2021-08-02 20:44:40 -04:00
Matthias Clasen
c63774967f
Remove an unimplemented function
...
_gtk_entry_get_im_context does not exist.
2021-08-02 20:44:40 -04:00
Matthias Clasen
bbc36448fb
imcontext: Treat keysyms as 32bit values
...
Our compose table format is still limited to 16bit
values for keysyms, but what we see in key events
can be 32bit values, and we treat them as such now.
Fixes : #4149
2021-08-02 19:16:18 -04:00
Matthias Clasen
5df323fb64
Merge branch 'fix-custom-widget-menu-focus' into 'master'
...
menusectionbox: Passthrough the focus function of custom widgets' gizmo
Closes gnome-text-editor#93
See merge request GNOME/gtk!3817
2021-08-02 22:21:08 +00:00
Matthias Clasen
0f2c5f13be
Merge branch 'wip/otte/for-master' into 'master'
...
video: Use cross-fade transition to avoid resizes
See merge request GNOME/gtk!3815
2021-08-02 22:19:39 +00:00
James Westman
fb0229890b
gtkgesturerotate: Fix assertion
...
Fixes #4144 . An assertion would be printed when GtkGestureRotate was
used with a touchscreen.
2021-08-02 16:38:35 -05:00
vanadiae
9099888398
menusectionbox: Passthrough the focus function of custom widgets' gizmo
...
It broke keyboard focusing any widget added through the custom widget
menu feature. So for example if you put e.g. a custom check box widget
in a menu, you won't be able to focus it.
This is because the gizmo is mostly used to custom drawing with e.g.
CSS for small visual elements like scale markers. That's probably why
gizmo's default focus overrides block the focus from going through
the children. So this commit fixes it by overriding those and passing
the focus through the children.
2021-08-02 21:20:32 +02:00
Benjamin Otte
882855f865
video: Use cross-fade transition to avoid resizes
...
Slide animations cause changes in the size requests due to the
behavior of GtkRevealer. We can avoid those by using cross-fades, which
don't have that problem.
Besides, cross-fades look better anyway.
2021-08-02 20:11:32 +02:00
Matthias Clasen
f59d2ae89d
Merge branch 'input-tweaks' into 'master'
...
imcontext: Tweak Compose sequence preedit
Closes #10 , #4127 , and #4124
See merge request GNOME/gtk!3799
2021-08-02 18:07:46 +00:00
Matthias Clasen
1e22572716
Avoid pango deprecations
...
This function has been deprecated on the main
branch of pango. Since we don't want to bump our
pango dependency to 1.49 yet, ignore the deprecation.
2021-08-01 23:20:01 -04:00
Matthias Clasen
c51f2fc0ec
label: Ignore __ for mnemonics
...
We were not ignoring double underscores for mnemonics
in one place, as we should.
Fixes : #4129
2021-08-01 22:14:12 -04:00
Matthias Clasen
2a528df977
Merge branch 'titlebar-gesture' into 'master'
...
Delegate titlebar action to the compositor if possible
See merge request GNOME/gtk!3797
2021-08-02 01:14:08 +00:00
Matthias Clasen
47072e0441
Merge branch 'fix-iconhelper' into 'master'
...
iconhelper: Fix the paintable implementation
Closes #4140
See merge request GNOME/gtk!3809
2021-07-31 20:35:08 +00:00
Emmanuele Bassi
95f2634ea9
Merge branch 'iter-is-valid-docs' into 'master'
...
docs: Fix iter_is_valid() description
See merge request GNOME/gtk!3810
2021-07-31 13:07:07 +00:00
Emmanuele Bassi
95c032f531
docs: Fix iter_is_valid() description
...
Drop the "WARNING" and the block quote, and follow the existing
documentation style guidelines.
2021-07-31 13:41:13 +01:00
Matthias Clasen
744955753f
iconhelper: Fix the paintable implementation
...
get_current_image was recursing due to an obvious typo.
Fixes : #4140
2021-07-31 08:27:17 -04:00
Florian Müllner
1728aa581c
checkbutton: Activate when moving focus
...
Currently we update the :active property on both the previous and
new focus button. That "visually activate" the button and will
emit ::toggled, but if the button is associated with an action,
the action state won't change.
Fix that by activating the new focus instead of explicitly fiddling
with the :active property.
2021-07-30 20:34:24 +02:00
Florian Müllner
c50475de34
checkbutton: Delegate ::activate to the helper if appropriate
...
If the button is associated with an action, the action is currently
only activated when the button is clicked, not when it is activated.
2021-07-30 20:34:24 +02:00
Mike Gorse
5d7ecb7a6e
a11y: Remove unneeded check
2021-07-30 08:58:27 -05:00
Matthias Clasen
c4dbb8f01e
imcontext: Code cleanup
2021-07-29 20:37:58 -04:00
Matthias Clasen
e67b2cb54b
composetable: Allow multiple dead keys
...
Remove the limitation on the number of dead keys
that we match, and allow the result be be multiple
characters.
Regenerate the builtin sequences, since this changes
what dead key sequences we can reproduce algorithmically.
Update tests to match.
Fixes : #10
2021-07-29 20:37:30 -04:00
Christian Hergert
908b1e5e12
textview: fix yoffset position when top_margin is set
...
This doesn't need to be included in the calculation or it will cause the
yoffset to continually shift while the window is resized.
Fixes #4134
2021-07-29 16:45:04 -07:00
Matthias Clasen
539391ce6c
composetable: Change an API
...
Make gtk_check_algorithmically take a GString
for the result. This is in preparation for allowing
multi-character results here, in the future.
Update all callers.
2021-07-29 17:29:25 -04:00
Mike Gorse
7fc90aed26
a11y: Send correct object reference for the root accessible
2021-07-29 15:55:58 -05:00
Florian Müllner
23e79d2eb2
gtk/windowhandle: Delegate titlebar action to the compositor if possible
...
Delegating the action to the compositor not only improves consistency
with server-side decorations, but also allows for actions that aren't
available client-side (like lower-in-middle-click).
https://gitlab.gnome.org/GNOME/mutter/-/issues/602
2021-07-29 21:39:32 +02:00
Matthias Clasen
b6c0155836
imcontext: Handle Escape in Compose sequence
...
Treat Escape the same in hex sequences and in
Compose sequence: reset the state.
2021-07-29 08:39:17 -04:00
Matthias Clasen
76d67b586c
imcontext: Tweak Compose sequence handling
...
When we don't have any matches for a Compose sequence
anymore, beep, and keep the preedit as it was for the
last match.
Fixes : #4127
2021-07-29 08:24:14 -04:00
Matthias Clasen
914edb1472
composetable: Add a prefix api
...
Add a function that computes the longest prefix
of a buffer for which a compose table has matches.
2021-07-29 08:23:40 -04:00
Matthias Clasen
dbf5033f94
composetable: Reduce the scope of a variable
...
'prefix' is not a good name for a file-scope variable,
move it into the sole function using it.
2021-07-29 08:22:52 -04:00
Matthias Clasen
cc6ecc8b62
Merge branch 'source-static-name' into 'master'
...
Avoid copying static debug strings
See merge request GNOME/gtk!3789
2021-07-29 11:59:02 +00:00
Matthias Clasen
b7e6922605
imcontext: Tweak Compose sequence preedit
...
When sequences contain multiple Compose keys,
don't hide the first one. This is a very fringe
case, but it matches the behavior of IBus.
Fixes : #4124
2021-07-29 07:36:48 -04:00
Matthias Clasen
19b534f7de
Avoid copying static debug strings
...
The g_source_set_name calls were showing up as a
major source of strdups in our profiles. Avoid that
by using new GLib api when available.
2021-07-28 22:42:46 -04:00
Florian Müllner
bc386c9a60
widget: Change callback scope
...
Look who changed his mind since commit 8e2ffb3b46
:-)
The "call" scope means that the callback is only used during the
function call itself (here: gtk_widget_class_install_action()).
That's clearly wrong here, as the callback is invoked every time
the action is activated.
Arguably the "notified" scope is a better match here, where the
lack of a GDestroyNotify parameter suggests that the callback may
be used forever (which is the case here).
Related: #3498
2021-07-28 21:48:01 +02:00
Chun-wei Fan
108c423d70
compose-parse.c: Include stdlib.h
...
That is needed for exit(), and it may not have been included by the
other headers.
2021-07-28 15:18:36 +08:00
Matthias Clasen
910f23ea19
Merge branch 'wip/otte/widgetfactory-dnd' into 'master'
...
Improve DND
See merge request GNOME/gtk!3785
2021-07-27 04:12:58 +00:00
Benjamin Otte
192bfa10cb
droptarget: Make formats construct-only writable
...
This way, it can be set in GtkBuilder.
Also make sure to only ever look at the GTypes set in the formats, as
GtkDropTarget cannot deal with mime types.
2021-07-27 04:28:04 +02:00
Benjamin Otte
0781429dc5
builder: Add support for GdkContentFormats
2021-07-27 04:28:04 +02:00
Matthias Clasen
5c4aba4b9c
Merge branch 'wip/compose-parser' into 'master'
...
Clean up the GtkComposeTable api
See merge request GNOME/gtk!3746
2021-07-26 11:51:14 +00:00
Matthias Clasen
d76460343a
sizerequest: Simplify some code
...
Avoid some repeated MAX().
2021-07-24 18:49:41 -04:00
Matthias Clasen
0d8dd0c664
sizerequest: Keep branches in sync
...
There are some unintentional differences between
the path that uses a layout manager, and the path
that uses widget vfuncs. Sync them up.
2021-07-24 18:49:41 -04:00
Matthias Clasen
ee6491f717
widget: Avoid some unnecessary back-and-forth casting
...
Avoid some unnecessary casting and a redundant early exit.
2021-07-24 18:49:27 -04:00
Matthias Clasen
7044951dab
widget: Avoid GObject data for action muxer
...
Most widget have an action muxer now, so just
store it in GtkWidgetPrivate.
2021-07-24 18:48:10 -04:00
Matthias Clasen
98986a25f9
layoutmanager: Avoid some overhead
...
Use inline getters for some things.
2021-07-24 18:48:10 -04:00
Matthias Clasen
ae3e586714
gridlayout: Avoid some unnecessary overhead
...
Use inline functions for some things.
2021-07-24 18:48:10 -04:00
Matthias Clasen
6f04ec9dae
Merge branch 'wip/exalm/gtktext-selection-fix' into 'master'
...
text: Use the widget y coordinate for gestures
See merge request GNOME/gtk!3780
2021-07-23 20:29:07 +00:00
Alexander Mikhaylenko
00cc99818d
text: Use the widget y coordinate for gestures
...
Currently we use layout coordinates and widget height when determining
where a click or drag has happened. If the widget has top padding (which it
does inside a GtkEntry, for example), the area where it's possible to select
text is shifted down, so the part of GtkText above the layout is not counted
as the draggable area and instead the equal area below the widget is counted.
Since GtkText is always single-line, there's no need to do any of that and
we can use widget coordinates. Then the draggable area matches the widget
and the problems goes away.
2021-07-23 23:37:36 +05:00
Matthias Clasen
4c41ef8de3
stack: GtkStackPage:name is not construct-only
...
We have a setter for this property, so we clearly
weren't serious when we marked it as construct-only.
Fixes : #4109
2021-07-22 16:55:15 -04:00
Matthias Clasen
a10b1b7341
Add more sysprof marks
...
Add a few more marks during gtk_init to figure out where
our startup time goes, and avoid the sysprof initialization
from distorting the first mark.
2021-07-22 12:51:32 -04:00
Benjamin Otte
72e2a46c05
inspector: Add support for displaying GL errors
...
Also, no need to show a GL version if GL isn't available.
2021-07-22 16:27:32 +02:00
Matthias Clasen
bdee75cd0f
Sync included icons from adwaita-icon-theme
...
Make sure we stay in sync with the Adwaita.
2021-07-20 17:26:59 -04:00
Benjamin Otte
af0c95c11a
build: Remove sassc option
...
Instead, ensure that sassc is made madatory on git builds (because
it is, we don't ship CSS files anymore) and not even looked for in
release builds (because do ship CSS files there).
2021-07-20 14:00:25 -04:00
Matthias Clasen
3883a98771
Merge branch 'fix-dialog-docs' into 'master'
...
gtk/builder: Port example to GTK 4
See merge request GNOME/gtk!3772
2021-07-20 12:54:55 +00:00
Maximiliano Sandoval R
aa6a9de6ba
gtk/builder: Port example to GTK 4
2021-07-20 13:22:08 +02:00
Maximiliano Sandoval R
ead31db096
password_entry: Header Capitalization on tooltip
...
See https://teams.pages.gitlab.gnome.org/Design/hig-www/feedback/tooltips.html
2021-07-20 13:00:05 +02:00
Benjamin Otte
a76f515569
cssimagecrossfade: Don't abort() when failing to parse image
...
The code wasn't checking if parsing an image failed and just returning
success.
Testcase from bug is attached.
Fixes #4101
2021-07-16 17:50:09 +02:00
Matthias Clasen
6ff85d287a
Merge branch 'wip/chergert/fix-texthistory-insert' into 'master'
...
texthistory: fix calculation of n_chars
See merge request GNOME/gtk!3756
2021-07-16 11:04:21 +00:00
Christian Hergert
5d02a8f5db
texthistory: fix calculation of n_chars
...
This should be the number of characters, not the end position. This fixes
an issue where we wouldn't coalesce insert actions together.
2021-07-15 21:26:30 -07:00