Matthias Clasen [Tue, 18 Oct 2022 11:02:08 +0000 (11:02 +0000)]
Merge branch 'fix-focus-changes' into 'main'
window: Fix focus updates
Closes #4903
See merge request GNOME/gtk!5127
Matthias Clasen [Tue, 18 Oct 2022 10:53:21 +0000 (10:53 +0000)]
Merge branch 'fix-windows-build-testmountoperation' into 'main'
tests/testmountoperation.c: Fix build on Windows
See merge request GNOME/gtk!5126
Matthias Clasen [Mon, 17 Oct 2022 19:10:51 +0000 (15:10 -0400)]
window: Don't focus invisible widgets
Only clear a queued move_focus if the widget
we are focusing is actually visible.
This was happening in some cases when popovers
are dismissed by clicking outside, and it was
causing us to miss proper focus updates that
were already queued.
Benjamin Otte [Tue, 18 Oct 2022 09:53:53 +0000 (09:53 +0000)]
Merge branch 'bilelmoussaoui/gi-deprecated' into 'main'
g-i: Fix deprecated version of GtkTreeView
See merge request GNOME/gtk!5131
Bilal Elmoussaoui [Tue, 18 Oct 2022 09:25:56 +0000 (11:25 +0200)]
g-i: Fix deprecated version of GtkTreeView
Luca Bacci [Mon, 17 Oct 2022 19:20:08 +0000 (19:20 +0000)]
Merge branch 'forward-port-mr-991-to-gtk4-2' into 'main'
Use native Windows API for converting keystrokes to characters
Closes #2944
See merge request GNOME/gtk!4986
Matthias Clasen [Mon, 17 Oct 2022 16:29:44 +0000 (12:29 -0400)]
window: Fix focus updates
This partially undoes changes from
3dbf5038fab8eb0.
That commit did two things:
1) Move the focus update to after-paint time
2) Change from grabbing focus to the visible parent
to calling move_focus (TAB)
The second part did have the unintended consequence
of moving focus laterally.
Fixes: #4903
Benjamin Otte [Mon, 17 Oct 2022 18:34:40 +0000 (18:34 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
singleselection: Be more careful about notifies
See merge request GNOME/gtk!5129
Benjamin Otte [Mon, 17 Oct 2022 18:07:51 +0000 (20:07 +0200)]
dropdown: Handle ::selected and ::selected-item separately
GtkSingleSelection will only emit either of those signals if they
change. But it is possible that only one of those properties changes,
and in those cases we want to only notify for that property changing in
the dropdown, too.
Benjamin Otte [Mon, 17 Oct 2022 17:54:40 +0000 (19:54 +0200)]
singleselection: Be more careful about notifies
We don't want to notify::selected or notify::selected-item if they
didn't change.
This will bring performance benefits on frequently changing lists.
In particular, if lists get filtered or reordered, but the selected item
stays in the list, not doing a notify::selected-item will avoid updates
in connected handlers like GtkDropdown (and its handlers), thereby
avoiding lots of unnecessary updates.
Philip Zander [Wed, 24 Aug 2022 11:21:10 +0000 (13:21 +0200)]
Use native Windows API for converting keystrokes to characters
Chun-wei Fan [Wed, 12 Oct 2022 09:08:43 +0000 (17:08 +0800)]
tests/testmountoperation.c: Fix build on Windows
Sadly, we can't just use an interger for a GPid on Windows, so just cast
it. Sounds silly for non-Windows, but that's life...
Matthias Clasen [Mon, 17 Oct 2022 03:45:28 +0000 (23:45 -0400)]
macos: Fix clipboard data size handling
We were using the allocated memory size, not
the amount of data that has been written.
Fixes: #5261
Matthias Clasen [Mon, 17 Oct 2022 03:26:21 +0000 (03:26 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Rename gtk_widget_get_style_color
See merge request GNOME/gtk!5125
Matthias Clasen [Mon, 17 Oct 2022 00:59:38 +0000 (20:59 -0400)]
Rename gtk_widget_get_style_color
This name wasn't everybody's favorite, so go with
the generic name gtk_widget_get_color() instead.
Piotr Drąg [Sun, 16 Oct 2022 12:34:34 +0000 (14:34 +0200)]
Update POTFILES.in
Benjamin Otte [Fri, 14 Oct 2022 22:39:49 +0000 (22:39 +0000)]
Merge branch 'antoniof-main-patch-03677' into 'main'
columnview: Don't be focusable
See merge request GNOME/gtk!5022
Matthias Clasen [Fri, 14 Oct 2022 10:49:15 +0000 (10:49 +0000)]
Merge branch 'gtk_widget_get_style_color-docs-fix' into 'main'
Fix documentation for `gtk_widget_get_style_color()`
See merge request GNOME/gtk!5119
Sebastian Dröge [Fri, 14 Oct 2022 08:07:55 +0000 (11:07 +0300)]
Fix documentation for `gtk_widget_get_style_color()`
It was pointing at `gtk_widget_get_css_style()` instead.
Matthias Clasen [Thu, 13 Oct 2022 20:38:41 +0000 (16:38 -0400)]
Fix blank popovers
This was a typo in
2b00b64e8cbda9d1, making
us render the background on the wrong snapshot.
Matthias Clasen [Thu, 13 Oct 2022 03:27:36 +0000 (23:27 -0400)]
NEWS: Updates
Matthias Clasen [Thu, 13 Oct 2022 03:09:47 +0000 (03:09 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
filechooser: Update the settings docs
See merge request GNOME/gtk!5118
Matthias Clasen [Thu, 13 Oct 2022 02:45:47 +0000 (22:45 -0400)]
filechooser: Update the settings docs
Document the window-position setting as unused.
Matthias Clasen [Thu, 13 Oct 2022 02:43:48 +0000 (02:43 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
docs: Add a cross-reference
See merge request GNOME/gtk!5117
Matthias Clasen [Thu, 13 Oct 2022 02:25:35 +0000 (22:25 -0400)]
docs: Add a cross-reference
Note that GtkTreeView is deprecated and link to the
list view introduction from 'Tree and List Widget Overview'.
Matthias Clasen [Thu, 13 Oct 2022 02:25:19 +0000 (02:25 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
filechooserentry: Add a set_text api
See merge request GNOME/gtk!5116
Matthias Clasen [Wed, 12 Oct 2022 04:06:21 +0000 (00:06 -0400)]
filechooser: Stop using entrycompletion api
The file chooser entry now has an api for this.
Matthias Clasen [Wed, 12 Oct 2022 04:05:44 +0000 (00:05 -0400)]
filechooserentry: Add a set_text api
This function prevents the completion popup
from coming up when setting the entry text.
Matthias Clasen [Wed, 12 Oct 2022 21:02:56 +0000 (21:02 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Start a migration guide for GTK 5
See merge request GNOME/gtk!5114
Matthias Clasen [Wed, 12 Oct 2022 20:38:18 +0000 (16:38 -0400)]
Start a migration guide for GTK 5
No need to panic, GTK 5 is still years away!
But it is good to write this material down while
it is fresh in mind.
Matthias Clasen [Wed, 12 Oct 2022 20:38:19 +0000 (20:38 +0000)]
Merge branch 'deprecate-render' into 'main'
wip: Deprecate gtk_render apis
See merge request GNOME/gtk!5100
Matthias Clasen [Wed, 12 Oct 2022 18:52:57 +0000 (14:52 -0400)]
inspector: Use gtk_widget_get_style_color
The graph renderer in the statistics page needs
the CSS foreground color to draw the graph. Use
the just introduced api for it.
Matthias Clasen [Wed, 12 Oct 2022 18:51:22 +0000 (14:51 -0400)]
Add gtk_widget_get_style_color
There is a widespread need to access the CSS foreground
color for custom drawing in snapshot functions, so make
it available after gtk_style_context_get_color was
deprecated with a new widget api.
Matthias Clasen [Wed, 12 Oct 2022 13:47:33 +0000 (09:47 -0400)]
cssnode: Avoid style context api
Duplicate the print flags in gtkcssnodeprivate.h,
so we don't rely on gtkstylecontext.h here.
Matthias Clasen [Mon, 10 Oct 2022 12:55:50 +0000 (08:55 -0400)]
tests: Ignore deprecations
Some of our tests use deprecated style context api.
Most of them should be ported to use global style
providers eventually. For now, ignore deprecations.
Matthias Clasen [Mon, 10 Oct 2022 12:55:10 +0000 (08:55 -0400)]
testsuite: Ignore deprecations
Some of our tests use deprecated style context
apis. Ignore the deprecations for now.
Matthias Clasen [Mon, 10 Oct 2022 12:40:27 +0000 (08:40 -0400)]
demos: Ignore deprecations
Most of these demos should be ported to use
global style providers eventually. For now,
just ignore the deprecations.
Matthias Clasen [Mon, 10 Oct 2022 03:30:06 +0000 (23:30 -0400)]
stylecontext: Deprecate most apis
The notable exception here are the global provider apis,
which are needed in some form and don't have a replacement
yet. Move them to gtkstyleprovider.[hc], so we can wholly
deprecated gtkstylecontext.[hc].
Matthias Clasen [Sun, 9 Oct 2022 12:05:28 +0000 (08:05 -0400)]
tests: Ignore deprecations for render api
Matthias Clasen [Sun, 9 Oct 2022 04:14:20 +0000 (00:14 -0400)]
aboutdialog: Stop using gtk_style_context_save
Matthias Clasen [Sun, 9 Oct 2022 03:44:01 +0000 (23:44 -0400)]
textview: Stop using gtk_style_context_save_to_node
Matthias Clasen [Sun, 9 Oct 2022 03:36:59 +0000 (23:36 -0400)]
text: Stop using gtk_style_context_save_to_node
Matthias Clasen [Sun, 9 Oct 2022 03:33:21 +0000 (23:33 -0400)]
label: Stop using gtk_style_context_save_to_node
Matthias Clasen [Sun, 9 Oct 2022 03:29:43 +0000 (23:29 -0400)]
scrolledwindow: Stop using gtk_style_context_save_to_node
Matthias Clasen [Sun, 9 Oct 2022 03:25:39 +0000 (23:25 -0400)]
printunixdialog: Stop using gtk_style_context_save_to_node
Matthias Clasen [Sun, 9 Oct 2022 03:13:01 +0000 (23:13 -0400)]
popover: Stop using gtk_style_context_save_to_node
Matthias Clasen [Sun, 9 Oct 2022 03:09:48 +0000 (23:09 -0400)]
flowbox: Stop using gtk_style_context_save_to_node
Matthias Clasen [Sun, 9 Oct 2022 02:54:48 +0000 (22:54 -0400)]
demos: Ignore deprecations for render apis
Eventually, this demo should probably be removed.
Matthias Clasen [Sat, 8 Oct 2022 20:57:23 +0000 (16:57 -0400)]
textview: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 20:54:13 +0000 (16:54 -0400)]
text: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 19:30:29 +0000 (15:30 -0400)]
label: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 20:36:20 +0000 (16:36 -0400)]
Use the new caret rendering api
Implement the deprecated gtk_snapshot_render api
for carets with the new one.
Matthias Clasen [Sat, 8 Oct 2022 20:32:13 +0000 (16:32 -0400)]
Add gtk_css_style_snapshot_caret
Matthias Clasen [Sat, 8 Oct 2022 18:28:41 +0000 (14:28 -0400)]
glarea: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, stop using it.
Matthias Clasen [Sat, 8 Oct 2022 18:10:34 +0000 (14:10 -0400)]
inscription: Stop using gtk_snapshot_render api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 19:17:27 +0000 (15:17 -0400)]
render: Use the new layout render api
Matthias Clasen [Sat, 8 Oct 2022 19:02:33 +0000 (15:02 -0400)]
Add gtk_css_style_snapshot_layout
This function renders a PangoLayout at a given
position, using text shadows and color from css.
Matthias Clasen [Sat, 8 Oct 2022 17:59:37 +0000 (13:59 -0400)]
scrolledwindow: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 17:48:19 +0000 (13:48 -0400)]
printunixdialog: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 17:45:25 +0000 (13:45 -0400)]
popover: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 17:40:41 +0000 (13:40 -0400)]
iconview: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 17:32:38 +0000 (13:32 -0400)]
flowbox: Port to the gtk_css_style_snapshot api
The gtk_snapshot_render api is deprecated, so avoid using it.
Matthias Clasen [Sat, 8 Oct 2022 13:22:26 +0000 (09:22 -0400)]
Deprecate gtk_snapshot_render apis
Move the implementations from gtksnapshot.c to
gtk/deprecated/gtkrender.c and deprecated these
functions. We want to get rid of them.
These functions are still used in some of our widgetry,
so use G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS around
them.
Matthias Clasen [Sat, 8 Oct 2022 03:35:07 +0000 (23:35 -0400)]
Deprecate gtk_render apis
These take a GtkStyleContext as argument, and we
want to get rid of GtkStyleContext eventually.
The proper drawing api these days is gtk_snapshot.
Matthias Clasen [Sat, 8 Oct 2022 12:56:15 +0000 (08:56 -0400)]
printunixdialog: Stop using gtk_render_ apis
These are getting deprecated.
Matthias Clasen [Sat, 8 Oct 2022 12:38:10 +0000 (08:38 -0400)]
popover: Stop using gtk_render_background
The gtk_render_ apis are getting deprecated.
Matthias Clasen [Sat, 8 Oct 2022 12:28:46 +0000 (08:28 -0400)]
flowbox: Stop using gtk_render_background
The gtk_render_ apis are getting deprecated.
Matthias Clasen [Wed, 12 Oct 2022 19:28:04 +0000 (19:28 +0000)]
Merge branch 'deprecate-all-the-cells' into 'main'
Deprecate treeviews and cell renderers
See merge request GNOME/gtk!5098
Luca Bacci [Wed, 12 Oct 2022 13:56:51 +0000 (13:56 +0000)]
Merge branch 'for-master' into 'main'
For master
See merge request GNOME/gtk!5095
Matthias Clasen [Wed, 12 Oct 2022 11:06:35 +0000 (11:06 +0000)]
Merge branch 'inspector_a11y' into 'main'
GtkInspector: make the inspector at least a little bit more accessible
See merge request GNOME/gtk!5109
Matthias Clasen [Sat, 8 Oct 2022 00:59:10 +0000 (20:59 -0400)]
tests: Ignore deprecations
Eventually, most of these tests should be dropped.
Matthias Clasen [Sat, 8 Oct 2022 01:15:03 +0000 (21:15 -0400)]
testsuite: Ignore deprecations
For now, just ignore deprecations. Eventually,
we will have to go through, drop demos that are
for wholly deprecated widgets, and update others.
Matthias Clasen [Sat, 8 Oct 2022 01:36:13 +0000 (21:36 -0400)]
tools: Ignore deprecations
For now, just ignore deprecations. Eventually,
we will have to go through and drop code that is
dealing with widgets that are going away.
Matthias Clasen [Sat, 8 Oct 2022 01:12:37 +0000 (21:12 -0400)]
demos and examples: Ignore deprecations
For now, just ignore deprecations. Eventually,
we will have to go through, drop demos that are
for wholly deprecated widgets, and update others.
Matthias Clasen [Fri, 7 Oct 2022 21:47:28 +0000 (17:47 -0400)]
Deprecate treeviews and cell renderers
This includes
GtkCellArea
GtkCellAreaBox
GtkCellAreaContext
GtkCellEditable
GtkCellRenderer
GtkCellRendererAccel
GtkCellRendererCombo
GtkCellRendererPixbuf
GtkCellRendererProgress
GtkCellRendererSpin
GtkCellRendererSpinner
GtkCellRendererText
GtkCellRendererToggle
GtkCellView
GtkComboBox
GtkComboBoxText
GtkIconView
GtkListStore
GtkTreeModel
GtkTreeModelFilter
GtkTreeModelSort
GtkTreeStore
GtkTreeView
GtkTreeViewColumn
GtkTreeSelection
Matthias Clasen [Sat, 8 Oct 2022 00:48:02 +0000 (20:48 -0400)]
inspector: Drop an unused file
Matthias Clasen [Sat, 8 Oct 2022 12:28:46 +0000 (08:28 -0400)]
flowbox: Stop using gtk_render_background
The gtk_render_ apis are getting deprecated.
Matthias Clasen [Tue, 11 Oct 2022 20:59:08 +0000 (20:59 +0000)]
Merge branch 'filename-sorter' into 'main'
stringsorter: Add a collate-mode property
See merge request GNOME/gtk!5111
Matthias Clasen [Tue, 11 Oct 2022 19:32:05 +0000 (15:32 -0400)]
stringsorter: Fix up a doc typo
gi-docgen links can be tricky to get right.
Matthias Clasen [Tue, 11 Oct 2022 18:03:57 +0000 (14:03 -0400)]
stringsorter: Add more detail to the docs
Mention when a collation value of NONE might
be useful.
Matthias Clasen [Tue, 11 Oct 2022 17:53:26 +0000 (17:53 +0000)]
Apply 2 suggestion(s) to 2 file(s)
Matthias Clasen [Tue, 11 Oct 2022 17:43:36 +0000 (13:43 -0400)]
ci: Allow macos builds to fail
The runner seems busted, so allow builds to fail
for now.
Matthias Clasen [Tue, 11 Oct 2022 16:57:09 +0000 (12:57 -0400)]
stringsorter: Add a collation property
The new property lets us choose between
Unicode collation, filename collation, and
plain strcmp.
This will be used in the filechooser.
Lukáš Tyrychtr [Tue, 11 Oct 2022 11:34:21 +0000 (13:34 +0200)]
GtkInspector: make the inspector at least a little bit more accessible
Namely, it adds accessible name to the property value editors and to a few labels in the a11y panel.
Matthias Clasen [Mon, 10 Oct 2022 21:13:28 +0000 (21:13 +0000)]
Merge branch 'wip/corey/file-clipboard' into 'main'
gdkcontentserializer: Use newlines for file separators
Closes #5240
See merge request GNOME/gtk!5107
Corey Berla [Mon, 10 Oct 2022 16:35:00 +0000 (09:35 -0700)]
gdkcontentserializer: Use newlines for file separators
Use newlines rather than spaces to separate file paths (or uri's)
when serializing text/plain files. There isn't a matching
deserializer, so we can do this in isolation. Newlines
seem to make more sense when pasting into a text editor etc.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5240
Matthias Clasen [Mon, 10 Oct 2022 03:29:41 +0000 (03:29 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Matthiasc/for main
See merge request GNOME/gtk!5106
Matthias Clasen [Mon, 10 Oct 2022 03:08:55 +0000 (23:08 -0400)]
emojicompletion: Drop an unused include
Matthias Clasen [Mon, 10 Oct 2022 02:25:36 +0000 (22:25 -0400)]
emojichooser: Drop an unused include
Matthias Clasen [Mon, 10 Oct 2022 02:23:09 +0000 (22:23 -0400)]
searchentry: Drop an unused include
Matthias Clasen [Sun, 9 Oct 2022 14:26:58 +0000 (14:26 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gtk-demo: Modernize accordion demo
See merge request GNOME/gtk!5105
Benjamin Otte [Sat, 8 Feb 2020 02:59:55 +0000 (03:59 +0100)]
testgtk: Use global css provider
Benjamin Otte [Sat, 8 Feb 2020 02:32:21 +0000 (03:32 +0100)]
tests: Use per-screen CSS providers
Benjamin Otte [Sun, 9 Oct 2022 14:09:59 +0000 (10:09 -0400)]
gtk-demo: Modernize accordion demo
Matthias Clasen [Sun, 9 Oct 2022 13:53:54 +0000 (13:53 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
inspector: Fix some criticals
See merge request GNOME/gtk!5104
Benjamin Otte [Sun, 9 Oct 2022 13:08:55 +0000 (09:08 -0400)]
fontbutton: Use attributes for custom font
Don't try to use CSS.
Matthias Clasen [Sun, 9 Oct 2022 13:08:24 +0000 (09:08 -0400)]
inspector: Fix some criticals
This is fallout from the recent porting to GtkColumnView.
Matthias Clasen [Sun, 9 Oct 2022 13:10:24 +0000 (13:10 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
widget: Changing the scale does no longer require a redraw
See merge request GNOME/gtk!5103
Benjamin Otte [Fri, 7 Feb 2020 22:22:05 +0000 (23:22 +0100)]
widget: Changing the scale does no longer require a redraw
It doesn't require one generally anyway, because only the root can
change scale and when that happens the root will queue a redraw.
But even if the root doesn't queue a redraw, render nodes (the only
thing discarded by queue_draw()) are scale-independant.
Matthias Clasen [Sun, 9 Oct 2022 12:49:42 +0000 (12:49 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
glarea: Drop an unused include
See merge request GNOME/gtk!5102