Commit Graph

32751 Commits

Author SHA1 Message Date
Benjamin Otte
1e0c0c0ba7 rendernodeparser: Parse cairo script
Use cairo-script-interpreter to parse the scripts that generate cairo
nodes.

This requires libcairoscriptinterpreter.so to work properly, but if
it isn't found we disable this (unimportant for normal functioning)
code and just emits a parser warning.
The testsuite requires it however or it will fail.

A new test is included that tests all of this.
2019-05-30 15:32:36 +02:00
Matthias Clasen
2f37207487 Remove leftover debug spew 2019-05-30 08:19:08 -04:00
Matthias Clasen
d71bf4d35c Add gtknative.h to public headers 2019-05-30 08:18:29 -04:00
Matthias Clasen
93a34eb62d Merge branch 'lr/builder-tool-templates' into 'master'
builder-tool: Rewrite GtkBuilder templates too

See merge request GNOME/gtk!888
2019-05-30 11:56:05 +00:00
Lubomir Rintel
1e7225aa1c builder-tool: Set the parent of newly created GtkAssistantPage
...and its property. Otherwise simplify_element() blows up when looking
up the hierarchy to determine a property type.

  $ gtk4-builder-tool simplify --3to4 /dev/stdin <<EOF
  > <?xml version="1.0" encoding="UTF-8"?>
  > <!-- Generated with glade 3.20.2 -->
  > <interface domain="nm-applet">
  >   <object class="GtkAssistant">
  >     <child>
  >       <object class="GtkBox" id="confirm_page">
  >       </object>
  >       <packing>
  >         <property name="page_type">confirm</property>
  >         <property name="complete">True</property>
  >       </packing>
  >     </child>
  >   </object>
  > </interface>
  > EOF
  /dev/stdin: Packing property GtkAssistant::page_type not found
  /dev/stdin: Packing property GtkAssistant::complete not found
  Segmentation fault (core dumped)
2019-05-30 11:39:09 +02:00
Lubomir Rintel
2d55fce23d builder-tool: Rewrite GtkBuilder templates too 2019-05-30 10:34:24 +02:00
Matthias Clasen
e0cc72e94f Fix shortcuts window sizing
We were deferring the reflow until map, but this
leads to the section initially having an enormous
height and the window picks up that size before
we have a chance to reflow, This could be seen
in the "Builder" demo in gtk4-demo.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/11
2019-05-29 17:06:27 -04:00
Christian Hergert
82afe850e8 marshallers: add missing g_cclosure_marshal_VOID__VOID fixes 2019-05-29 13:48:33 -07:00
Christian Hergert
f507a79056 marshallers: ensure g_cclosure_marshal_VOID__VOIDv is used
If we set c_marshaller manually, then g_signal_newv() will not setup a
va_marshaller for us. However, if we provide c_marshaller as NULL, it will
setup both the c_marshaller (to g_cclosure_marshal_VOID__VOID) and
va_marshaller (to g_cclosure_marshal_VOID__VOIDv) for us.
2019-05-29 13:22:31 -07:00
Matthias Clasen
90f330e27a Merge branch 'gesture-click' into 'master'
Rename GtkGestureMultiPress to GtkGestureClick

See merge request GNOME/gtk!878
2019-05-29 18:39:09 +00:00
Matthias Clasen
2be733497b Merge branch 'global-coords' into 'master'
Drop global coordinates

See merge request GNOME/gtk!879
2019-05-29 18:29:57 +00:00
Matthias Clasen
b867cbe0d8 Cosmetics
Remove an unused variable.
2019-05-29 18:04:08 +00:00
Matthias Clasen
956e94a8d4 Remove a misleading comment
We don't have windowed widgets anymore, and
gdk_surface_move_resize is about to go away.
2019-05-29 18:04:08 +00:00
Matthias Clasen
2081bf346e window: Remove move unused fields
position_constraints_changed is never used.
2019-05-29 18:04:08 +00:00
Matthias Clasen
74db7cbe00 window: Never call gdk_surface_move
With gtk_window_set_position gone, we should never
come up with a new position to set in this code.

Leave a warning in place and remove the gdk_surface_move
calls.
2019-05-29 18:04:08 +00:00
Matthias Clasen
d6d5d60703 Drop an empty function
gtk_window_constrain_position is not doing anything
anymore, so no need to call it.
2019-05-29 18:04:08 +00:00
Matthias Clasen
ece7fff339 window: Drop more unused fields
need_default_position is never used.
2019-05-29 18:04:08 +00:00
Matthias Clasen
147adc0bc5 window: Drop some unused fields
initial_x/y and initial_pos_set are never used.
2019-05-29 18:04:08 +00:00
Matthias Clasen
b636e32d85 widget: Stop using gdk_device_get_position
Root coordinates are going away. Stop
setting them in crossing events, so we
can drop this api.
2019-05-29 18:04:08 +00:00
Matthias Clasen
a8899cc6a3 window: Drop gtk_window_set_position
This is heavily using global coordinates, and
can't be guaranteed to work across wms / platforms.
2019-05-29 18:04:08 +00:00
Matthias Clasen
f0ef5332be a11y: Stop using gdk_surface_get_frame_extnts
This api is going away.
2019-05-29 18:04:08 +00:00
Matthias Clasen
83827d3199 a11y: Stop using gdk_surface_get_origin
Global coordinates are going away.
Stop supporting ATK_XY_SCREEN.
2019-05-29 18:04:08 +00:00
Matthias Clasen
fcc8a365b9 main: Use gdk_surface_translate_coordinates
This gets rid of another use of global coordinates.
2019-05-29 18:04:08 +00:00
Matthias Clasen
7f65e5f96b Rename GtkGestureMultiPress to GtkGestureClick
The name just made it hard for people to find the
right gesture to use.
2019-05-29 17:10:46 +00:00
Colomban Wendling
745a7cf29e HighContrast: Improve contrast of notebook tabs 2019-05-29 17:46:41 +02:00
Benjamin Otte
56db17e5e8 Revert "window: Chain up in show/hide"
This reverts commit 863f4d13ff.
2019-05-29 16:52:13 +02:00
Benjamin Otte
863f4d13ff window: Chain up in show/hide 2019-05-29 16:34:56 +02:00
Benjamin Otte
cabe39862b widget: Add marshallers to signals
Yay for better sysprof logs!
2019-05-29 16:34:56 +02:00
Benjamin Otte
2380f9673b widget: Do proper clean up in real_hide()
Do the same things set_visible_flag() does.
2019-05-29 16:34:56 +02:00
Benjamin Otte
170c25a9d2 widget: Move functions around
Copy them further up so that we can use them there in the next commit.
2019-05-29 16:34:56 +02:00
Benjamin Otte
e85f1e176a widget: Insist on proper vfunc calling
Insist that ->show() is only called for invisible and ->hide only for
visible widgets.
2019-05-29 16:34:56 +02:00
Benjamin Otte
a079fd2def widget: Fix transform refcounting in allocate()
Make the transform (transfer full).

1. This makes sure we actually reference the transform. Previously we
   did not.
2. Most callers create a new transform to pass to us. Now they don't
   have to uref it anymore.
2019-05-29 16:34:56 +02:00
Benjamin Otte
89fb752a8f css: Use %f, not %.17f
The testusite failures explain why:
We don't want to print "1.00000000000000000", but "1".
2019-05-29 14:30:13 +02:00
Benjamin Otte
d71c196c5c css: Don't print numbers with exponent
CSS does not do exponents, so printing numbers close to 0 as 1.234e-15
does not work.

Also up the accuracy to 17 digits because that's what everyone else
uses.
2019-05-29 07:14:31 +02:00
Matthias Clasen
ead96b65fd notebook: Drop position from ::create-window
Global coordinates are going away.
2019-05-28 23:23:06 -04:00
Matthias Clasen
0cc94ed72e Some entry completion fixes
This gets popover-based entry completion closer
to working as expected. And it drops a use of
gdk_surface_get_origin.
2019-05-28 23:23:06 -04:00
Matthias Clasen
dd5839dfe8 tree models: Use standard padding 2019-05-28 23:23:06 -04:00
Matthias Clasen
9abc7262b0 treeview column: Make final 2019-05-28 23:22:57 -04:00
Matthias Clasen
79940b32b5 treeview: Make final
Make GtkTreeSelection final as well.
2019-05-28 21:42:38 -04:00
Matthias Clasen
aec5e3d71e flow box: Make final
We keep GtkFlowBoxChild subclassable, though.
2019-05-28 20:01:43 -04:00
Matthias Clasen
217115d35f listbox Make final
We keep GtkListBoxRow subclassable, though.
2019-05-28 20:01:43 -04:00
Matthias Clasen
ee29b9ba95 notebook: Make final 2019-05-28 20:01:43 -04:00
Matthias Clasen
c34abb6775 label: Make final 2019-05-28 19:45:45 -04:00
Matthias Clasen
b523f2b46a menubar: Make final 2019-05-28 19:43:43 -04:00
Matthias Clasen
6836bfc208 toolbar: make final 2019-05-28 23:38:16 +00:00
Matthias Clasen
8695e8c1b8 menu: Make final 2019-05-28 23:38:16 +00:00
Matthias Clasen
6ffc9f9e6e Forgotten file 2019-05-28 23:30:02 +00:00
Matthias Clasen
0a6813d0aa menu tool button: Make final 2019-05-28 18:58:58 -04:00
Matthias Clasen
ef3e20cffe radio tool button: Make final 2019-05-28 18:58:46 -04:00
Matthias Clasen
5db4530a22 toggle tool button: Use standard padding 2019-05-28 18:58:31 -04:00
Matthias Clasen
4b5fee943e tool button: Use standard padding 2019-05-28 18:58:05 -04:00
Matthias Clasen
f0fd4843d5 iconview: Make final 2019-05-28 22:50:08 +00:00
Matthias Clasen
700e9e03c5 stack: Make final 2019-05-28 22:35:36 +00:00
Matthias Clasen
055a991e08 file chooser error stack: Don't derive from stack
We can just have a GtkStack, instead.
2019-05-28 22:35:36 +00:00
Matthias Clasen
bc739e607b scrolled window: Make final 2019-05-28 22:35:36 +00:00
Matthias Clasen
211128fb7c inspector: Stop deriving from scrolled window 2019-05-28 22:35:36 +00:00
Matthias Clasen
461e8e0218 places sidebar: Don't derive from scrolled window
We can just have a scrolled window, instead.
2019-05-28 22:35:36 +00:00
Matthias Clasen
a4b1ff7736 Forgotten file 2019-05-28 22:35:36 +00:00
Matthias Clasen
908632138c inspector: Show surface and renderer 2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
90058ed951 Don't assume that gdk_surface[_move]_resize() is asynchronous
On Windows that call resizes the native window immediately,
and the corresponding GDK event is emitted and processed
before the control is returned to gtk_window_move_resize().
Therefore, update freeze and configure_request_count increment
must happen before the call, not after it.
2019-05-28 20:25:17 +00:00
Руслан Ижбулатов
82c80c06e8 Add missing include 2019-05-28 20:25:17 +00:00
Matthias Clasen
5ccb081fdb Avoid compiler warnings
Avoid priv being flagged as unused on win32.
2019-05-28 20:25:17 +00:00
Matthias Clasen
d08805d7f0 popover: Don't constantly redraw the beak
We don't want to constantly draw the arrow
if we don't have to. Save the render node
to achieve this.
2019-05-28 20:25:17 +00:00
Matthias Clasen
f154fd4c09 popover: Stop needles allocations
We were queuing an allocation whenever
the popover is flipped over, unnecessarily,
since we don't change the size of the surface.

This was showing up as popovers being invisible
when flipped over, under X.
2019-05-28 20:25:17 +00:00
Matthias Clasen
c638a0aa59 Adwaita: Remove Emoji completion special case
We can use GtkPopover::has-arrow now.
2019-05-28 20:25:16 +00:00
Matthias Clasen
db21cbdfb3 inspector: Avoid a critical warning 2019-05-28 20:25:16 +00:00
Matthias Clasen
ec413357c6 popover: Make it possible to not have an arrow
This will make popovers move flexible for other
uses, such as the Emoji completion popup.
2019-05-28 20:25:16 +00:00
Matthias Clasen
a841ff0316 popover: Set input shapes on wayland too
No reason not to do it. Wayland has input shapes.
2019-05-28 20:25:16 +00:00
Руслан Ижбулатов
83f952d771 IME IM: Be able to handle NULL widget correctly 2019-05-28 20:25:16 +00:00
Matthias Clasen
8f291be8c6 tooltip: fix critical warnings
We might trigger a requery while unrooted.
Deal with it.
2019-05-28 20:25:16 +00:00
Matthias Clasen
693b2aa4d1 Drop gtk_widget_get_toplevel
Not used anymore.
2019-05-28 20:25:16 +00:00
Matthias Clasen
7447abb52b Stop using gtk_widget_get_toplevel
All uses of it can be replaced by gtk_widget_get_root.
2019-05-28 20:25:16 +00:00
Matthias Clasen
6674f2764e Drop gtk_widget_is_toplevel
No longer used.
2019-05-28 20:25:16 +00:00
Matthias Clasen
948347afa9 Stop using gtk_widget_is_toplevel 2019-05-28 20:25:16 +00:00
Matthias Clasen
8fc6f07327 Drop gtk_widget_get_surface
It is no longer used.
2019-05-28 20:25:16 +00:00
Matthias Clasen
302d2a04ae Stop using gtk_widget_get_surface
Replace all uses of gtk_widget_get_surface by
gtk_native_get_surface.
2019-05-28 20:25:16 +00:00
Matthias Clasen
a65696fc9f builder tool: Handle modal->autohide rename
Add a facility for renamed properties,
and use it for GtkPopover::modal.
2019-05-28 20:25:15 +00:00
Matthias Clasen
25aef96d5d popover: Rename modal to autohide
This is the term we use for the surface,
and it matches the behavior a bit better
than modal.

Update all callers.
2019-05-28 20:25:15 +00:00
Matthias Clasen
09ec88d0ce win32: Build fixes 2019-05-28 20:25:15 +00:00
Matthias Clasen
0b3a971056 window: Make unrealize work again
GtkWidgets unrealize accesses the frame clock
of the surface, so we need to keep the surface
in place until after we've chained up.
2019-05-28 20:25:15 +00:00
Matthias Clasen
b99962e7a2 Drop gtk_widget_set_surface
Not used anymore. Only GtkNative's have surfaces.
2019-05-28 20:25:15 +00:00
Matthias Clasen
43bed7986a Drop GtkWidget::surface
Unneeded.
2019-05-28 20:25:15 +00:00
Matthias Clasen
0047492bf9 Work toward dropping widget->surface
Drop special-casing of GtkNative in
most widget vfuncs. GtkNative implementations
need to override these anyway.
2019-05-28 20:25:15 +00:00
Matthias Clasen
18788c2a86 Remove gtk_widget_get/set_has_surface
These serve no purpose anymore - widgets don't
have surfaces, unless they're a GtkNative.
2019-05-28 20:25:15 +00:00
Matthias Clasen
fd0a290d77 popover: Bring back the beak
Bring back the code that draws an arrow.
2019-05-28 20:25:15 +00:00
Matthias Clasen
61247a8921 widget: Remove a popover special case
We never run this since GtkPopover has its
own size_allocate, anyway.
2019-05-28 20:25:15 +00:00
Matthias Clasen
a33d4f0f49 text view: Allocate popovers 2019-05-28 20:25:15 +00:00
Matthias Clasen
6c3ffa1380 places sidebar: Allocate popovers 2019-05-28 20:25:15 +00:00
Matthias Clasen
07426da074 color swatch: Allocate popovers 2019-05-28 20:25:15 +00:00
Matthias Clasen
4cab6ae61a entry: Allocate popovers 2019-05-28 20:25:15 +00:00
Matthias Clasen
507b2d332e scale button: Allocate popovers
Call gtk_native_check_resize() from size_allocate,
as is required now. This gets volume buttons closer
to working again (dragging the slider still doesn't
work).
2019-05-28 20:25:15 +00:00
Matthias Clasen
e6f71d841e text: Allocate popovers
We need to do the same thing the menu button
does, and call gtk_native_check_resize for
all our popovers
2019-05-28 20:25:15 +00:00
Matthias Clasen
1f2d3c0900 window: Don't inherit cursors across surfaces
I can't think of a case where this is the desired
behavior. So, instead of setting an explicit cursor
on all popups, just stop walking the parents at
surface boundaries.
2019-05-28 20:25:15 +00:00
Matthias Clasen
f3559fe0f0 widget: Optimize resize propagation
When a GtkNative widget is marked as resize_needed,
we need a current position for its parent and we need
the parent to be allocated (so we can position our
surface), but we don't need the parent to be marked
as resize_needed, since the parent size is entirely
independent of the popup size.
2019-05-28 20:25:15 +00:00
Matthias Clasen
27596c328a widget: Improve warning messages
When we print warnings about a widget, using
gtk_widget_get_name() is slightly better than
G_OBJECT_TYPE_NAME(), since it will give us
the widgets unique name when available.
2019-05-28 20:25:15 +00:00
Matthias Clasen
49268c23fd popover: Use GdkSurface::autohide
The new api is made for this case.
2019-05-28 20:25:14 +00:00
Matthias Clasen
d2951d3aac Rename surface constructors
We want to use a gdk_surface_new_popup for popups,
and align the constructor names with the surface
types, so rename

gdk_surface_new_popup -> gdk_surface_new_temp
gdk_surface_new_popup_full -> gdk_surface_new_popup

The temp surface type will disappear eventually.
2019-05-28 20:25:14 +00:00
Matthias Clasen
346bd3f6b5 menu: Stop using gdk_surface_new_temp
We can just as well use gdk_surface_new_popup.
2019-05-28 20:25:14 +00:00
Matthias Clasen
bab5836e89 Drop gtk_widget_register_surface
This is no longer used.
2019-05-28 20:25:14 +00:00
Matthias Clasen
fa25b06a28 popover: Stop using gtk_widget_register_surface
The GtkRoot implementations are expected to handle
the necessary surface setup themselves, going forward.
2019-05-28 20:25:14 +00:00
Matthias Clasen
81a673c908 window: Stop using gtk_widget_register_surface
The GtkRoot implementations are expected to handle
the necessary surface setup themselves, going forward.
2019-05-28 20:25:14 +00:00
Matthias Clasen
55c286661b menu: Stop using gtk_widget_register_surface
It does not seem to be necessary at all.
2019-05-28 20:25:14 +00:00
Matthias Clasen
989792cbc0 Drop child surfaces
Drop gdk_surface_child_new and the child surface type,
since we no longer use them. Deprecate surface apis
that only make sense with child surfaces.
2019-05-28 20:25:13 +00:00
Matthias Clasen
52c3507ae1 widget: Stop using child surface apis
All our surfaces are toplevels now, and thus all native.
2019-05-28 20:25:13 +00:00
Matthias Clasen
43d4c908c9 a11y: Stop supporting ATK_XY_SCREEN
We were already not supporting ATK_XY_PARENT, and we can't
support global positions, so just always do ATK_XY_WINDOW.
2019-05-28 20:25:13 +00:00
Matthias Clasen
d6a85188b6 xim: Stop using child surface apis
We no longer have child surfaces.
Drop code that only makes sense in
their presence.
2019-05-28 20:25:13 +00:00
Matthias Clasen
c3c33ac168 entry completion: Use a popover
This lets us remove a use of GTK_WINDOW_POPUP,
which should eventually be going away.

We need to disable treeview search, since it
creates a toplevel that will disrupt our grabbing
popup, causing it to be dismissed.

We don't need to grab ourselves, since the popover
code does it for us. We don't need to reposition our
window, since the popover takes care of that too.
2019-05-28 20:25:13 +00:00
Matthias Clasen
0d25233e39 main: Use gtk_widget_get_native 2019-05-28 20:25:13 +00:00
Matthias Clasen
66ccc825de main: Remove special-case hiding popopvers
This is now happening in GDK, so we don't have
to do this here anymore.
2019-05-28 20:25:13 +00:00
Matthias Clasen
580aa8204f widget: Remove some unneeded popover special-casing 2019-05-28 20:25:13 +00:00
Matthias Clasen
82d506acd8 Adwaita: Give popover menus a background
This makes the hover highlight on menu items visible.
2019-05-28 20:25:13 +00:00
Matthias Clasen
1cbc26d9ee menubutton: Allocate the popover
This is temporary, until we've figured out
the proper way of hooking this up
2019-05-28 20:25:13 +00:00
Matthias Clasen
4bf4f04d1f Adapt to new popover lifecycle
We need to unparent popovers in dispose.
2019-05-28 20:25:13 +00:00
Matthias Clasen
6ab8ab87c8 Reimplement GtkPopover 2019-05-28 20:25:13 +00:00
Matthias Clasen
2764652b3c menushell: Keep outside clicks working
We need to unset event propagation limits here
to keep receiving outside clicks that cause us
to close the menu.
2019-05-28 20:25:13 +00:00
Matthias Clasen
2606ca0bd1 Introduce event controller propagation limits
Limit event handlers by default to only handle
events targeting the same surface as their widget.
2019-05-28 20:25:13 +00:00
Matthias Clasen
54662f4ca0 widget: Don't snapshot foreign children
When snapshotting, we walk down the widget tree.
We need to skip children that have a different
surface, since those will do their own snapshot.
2019-05-28 20:25:13 +00:00
Matthias Clasen
8713397948 root: Make gtk_root_get_display public
This is following the precedent of making
GtkNative getters public.
2019-05-28 20:25:02 +00:00
Matthias Clasen
f2447e06af GtkRoot: Drop overlap with GtkNative
Drop the parts from the GtkRoot interface
that have been taken over by GtkNative.
2019-05-28 20:24:39 +00:00
Matthias Clasen
5de06f47cf widget: Use GtkNative 2019-05-28 20:24:39 +00:00
Matthias Clasen
9059eee2f0 Review and replace uses of get_toplevel
Now that roots can have parent widgets, we need to
carefully examine all calls of gtk_widget_get_toplevel,
and replace them with gtk_widget_get_root if we want
the nearest root, and not the ultimate end of the parent
chain.
2019-05-28 20:24:39 +00:00
Matthias Clasen
c1d5e82d95 Use GtkNative APIs instead of GtkRoot 2019-05-28 20:24:39 +00:00
Matthias Clasen
7dcb163ee6 Add gtk_widget_get_native
This is a common enough operation to deserve api.
2019-05-28 20:24:39 +00:00
Matthias Clasen
d4257d20f8 root: Require GtkNative 2019-05-28 20:24:39 +00:00
Matthias Clasen
5bf2b633bb window: Implement GtkNative
Adapt GtkWindow to implement both GtkRoot and GtkNative.
2019-05-28 20:24:39 +00:00
Matthias Clasen
d51c85cf4e native: Add to docs 2019-05-28 20:24:37 +00:00
Matthias Clasen
12a16a298b Introduce GtkNative
Split off the parts of GtkRoot that are specific
to widgets having a surface into the GtkNative
interface.
2019-05-28 19:54:32 +00:00
Matthias Clasen
618f1f08ec main: guard window-specific code paths
This was overlooked when I first tried to
make things for GtkRoot.
2019-05-28 19:54:32 +00:00
Matthias Clasen
afcf3e66f6 widget: guard popover-specific code paths
This is essentially a special case just for GtkPopover,
which is the last widget with a child surface.
2019-05-28 19:54:32 +00:00
Matthias Clasen
ff1150d87c Export gtk_widget_render privately
We need it in gtkwindow.c and gtkpopover.c.
2019-05-28 19:54:32 +00:00
Matthias Clasen
81548911de file chooser widget: Drop the priv pointer 2019-05-28 03:02:33 +00:00
Matthias Clasen
236983d2aa file chooser dialog: Drop the priv pointer 2019-05-28 02:48:26 +00:00
Matthias Clasen
2ae531ee9f file chooser dialog: Make final 2019-05-28 02:42:14 +00:00
Matthias Clasen
e795c0c67e file chooser widget: Make final 2019-05-28 02:41:15 +00:00
Matthias Clasen
6a7bf78b15 file chooser button: Make final 2019-05-28 02:40:08 +00:00
Matthias Clasen
933a9fba70 font chooser dialog: Drop the priv pointer 2019-05-27 22:37:41 -04:00
Matthias Clasen
27f854042d font chooser widget: Drop the priv pointer 2019-05-27 22:27:47 -04:00
Matthias Clasen
19de2ce937 font chooser dialog: Make final 2019-05-28 00:57:47 +00:00
Matthias Clasen
1b34e15893 font chooser widget: Make final 2019-05-28 00:56:41 +00:00
Matthias Clasen
e11c1fcb91 font button: Make final 2019-05-28 00:55:28 +00:00
Matthias Clasen
dbdb137428 app chooser dialog: Drop the priv pointer 2019-05-27 20:51:46 -04:00
Matthias Clasen
e0a9952a56 app chooser widget: Drop the priv pointer 2019-05-27 20:44:01 -04:00
Matthias Clasen
b080a980d9 app chooser dialog: Make final 2019-05-27 20:30:59 -04:00
Matthias Clasen
5c16de71f5 app chooser widget: Make final 2019-05-27 20:30:48 -04:00
Matthias Clasen
5b4dfb3079 app chooser button: Make final 2019-05-27 20:30:35 -04:00
Matthias Clasen
4b4e370c9d color chooser dialog: Drop the priv pointer 2019-05-27 20:23:50 -04:00
Matthias Clasen
d5fe6fa517 color chooser widget: Drop the priv pointer 2019-05-27 20:23:50 -04:00
Matthias Clasen
fe2865259f color chooser dialog: Make final 2019-05-27 20:23:50 -04:00
Matthias Clasen
44640aeeea color chooser widget: Make final 2019-05-27 20:23:50 -04:00
Matthias Clasen
36e76db0d0 color button: Make final 2019-05-27 20:23:50 -04:00
Matthias Clasen
2ef8bd0b95 entry completion: Make final 2019-05-27 20:23:50 -04:00
Matthias Clasen
90aebd4f84 text tag table: Make final
And also move private function to a private header.
2019-05-27 20:23:50 -04:00
Matthias Clasen
f111e3f467 text mark: Use standard padding 2019-05-27 20:23:50 -04:00
Matthias Clasen
1e2874fc59 text tag: Use standard padding 2019-05-27 20:23:50 -04:00
Matthias Clasen
b49d1e8c6b overlay: Make final 2019-05-27 20:23:50 -04:00
Timm Bäder
e22073dc97 sizerequest: Fix request mode for layout managers
We can't just call GtkWidgetClass::get_request_mode() anymore. If the
widget has a layout manager, we need to ask that one.
2019-05-27 18:12:26 +02:00
Timm Bäder
4134b67827 layoutmanager: Never pass NULL pointers to ->measure
We don't do that in GtkWidgetClass::measure() implementations either, so
make the semantics match.
2019-05-27 18:12:26 +02:00
Timm Bäder
23ddac2e72 filechooserentry: Correctly annotate a return value as (nullable) 2019-05-27 18:12:26 +02:00
Timm Bäder
3a26efb5ca filechooserentry: Rename function to make sense
This is GtkFileChooserEntry API, not GtkFileChooser API.
2019-05-27 18:12:25 +02:00
Matthias Clasen
cfe648eb11 Don't load print backends more than once
The modules don't depend on the default display
at all, and loading them more than once makes
the displayclose test fail here, locally.
2019-05-27 12:59:36 +00:00
Matthias Clasen
be305d6dab check menu item: Drop the priv pointer 2019-05-27 00:41:58 -04:00
Matthias Clasen
5e4512d4c7 check menu item: Use standard padding 2019-05-27 04:33:30 +00:00
Matthias Clasen
273fa042a8 radio menu item: Drop the priv pointer 2019-05-27 00:32:39 -04:00
Matthias Clasen
d26eb4fce7 radio menu item: Make final 2019-05-27 04:26:34 +00:00
Matthias Clasen
5d3c85c7e9 radio button: Make final 2019-05-27 00:10:48 -04:00
Matthias Clasen
a29fe385df check button: Use standard padding 2019-05-27 04:09:41 +00:00
Matthias Clasen
6d9bac47b3 toggle button: Use standard padding 2019-05-27 04:08:07 +00:00
Matthias Clasen
bf2ff5f582 grid: Use standard padding 2019-05-26 23:30:21 -04:00
Matthias Clasen
4e7f251b18 search bar: Make final 2019-05-26 23:27:15 -04:00
Matthias Clasen
749c9720ce paned: Make final 2019-05-27 03:25:34 +00:00
Matthias Clasen
b68554b14a spin button: Make final 2019-05-26 23:22:47 -04:00
Matthias Clasen
bba97eae36 search entry: Make final 2019-05-26 23:21:07 -04:00
Matthias Clasen
a2d2c8afc4 range: Use standard padding 2019-05-26 23:18:38 -04:00
Matthias Clasen
546cbd55eb scale: Use standard padding 2019-05-26 23:17:28 -04:00
Matthias Clasen
4730b5c281 menu item: Use standard padding 2019-05-26 23:14:36 -04:00
Matthias Clasen
e57da00824 menu shell: Use standard padding 2019-05-26 23:13:55 -04:00
Matthias Clasen
a62a7ab282 menu button: Make final 2019-05-26 23:10:57 -04:00
Matthias Clasen
54f469bba4 revealer: Make final 2019-05-27 03:08:37 +00:00
Matthias Clasen
ff115472e3 entry: Use standard padding 2019-05-27 03:03:47 +00:00
Matthias Clasen
30925a532d separator tool item: Make final 2019-05-26 23:01:34 -04:00
Matthias Clasen
85cd9ab7c6 separator menu item: Make final 2019-05-26 23:00:15 -04:00
Matthias Clasen
efed83d3c6 status bar: Make final 2019-05-27 02:51:44 +00:00
Matthias Clasen
53010fd0b3 expander: Make final 2019-05-26 22:50:03 -04:00
Matthias Clasen
58bad1d409 cell area context: Drop the priv pointer 2019-05-26 22:44:08 -04:00
Matthias Clasen
7167113da9 cell area context: Use standard padding 2019-05-26 22:40:02 -04:00
Matthias Clasen
19b3f692d1 separator: Make final 2019-05-26 22:37:56 -04:00
Matthias Clasen
835f392196 scrollbar: Make final 2019-05-26 22:37:42 -04:00
Matthias Clasen
4a3ae35832 header bar: Make final 2019-05-26 22:32:21 -04:00
Matthias Clasen
8cffa11a8b info bar: Make final 2019-05-26 22:30:33 -04:00
Matthias Clasen
aea82cb331 level bar: Make final 2019-05-26 22:24:14 -04:00
Matthias Clasen
f47a84f233 image: Make final 2019-05-26 22:22:40 -04:00
Matthias Clasen
86f81a11d8 gl area: Use standard padding 2019-05-26 22:19:21 -04:00
Matthias Clasen
23f55f1c24 combo box: Use standard padding 2019-05-26 22:19:21 -04:00
Matthias Clasen
72ef09f55d combo box text: Make final 2019-05-26 22:16:58 -04:00
Matthias Clasen
537cf2acec cell view: Drop the priv pointer 2019-05-26 22:14:20 -04:00
Matthias Clasen
265daf9082 cell view: Make final 2019-05-26 22:14:20 -04:00
Matthias Clasen
886de6c164 action bar: Make final 2019-05-26 21:57:42 -04:00
Matthias Clasen
597c816368 cell area box: Drop the priv pointer 2019-05-26 21:56:00 -04:00
Matthias Clasen
50f753c60a builder: Use standard padding 2019-05-26 21:43:34 -04:00
Matthias Clasen
d5b41a55a6 cell area: Drop the priv pointer 2019-05-26 21:42:22 -04:00
Matthias Clasen
51036ff043 cell area: Use standard padding 2019-05-27 01:34:06 +00:00
Matthias Clasen
dcfa2fa4bd aspect frame: Make final 2019-05-27 01:32:24 +00:00
Matthias Clasen
b2da9c919b assistant: Drop the priv pointer 2019-05-26 21:20:53 -04:00
Matthias Clasen
028417185f assistant: Make final 2019-05-26 21:08:01 -04:00
Matthias Clasen
651a2b2e40 accel label: Make final 2019-05-26 21:01:33 -04:00
Matthias Clasen
9ce9f0427e about dialog: Make final 2019-05-26 20:49:19 -04:00
Matthias Clasen
ee299e80fa cell renderer pixbuf: Drop the priv pointer 2019-05-26 20:46:38 -04:00
Matthias Clasen
12042332ef cell renderer pixbuf: Make final 2019-05-26 20:44:07 -04:00
Matthias Clasen
8dba12e1c5 cell renderer progress: Drop the priv pointer 2019-05-26 20:42:08 -04:00
Matthias Clasen
367f350f1f cell renderer progress: Make final 2019-05-26 20:40:15 -04:00
Matthias Clasen
dc918a00fc cell renderer spin: Drop the priv pointer 2019-05-26 20:37:42 -04:00
Matthias Clasen
c21d74e48d cell renderer spin: Make final 2019-05-26 20:35:26 -04:00
Matthias Clasen
d20c7e3077 cell renderer spinner: Drop priv pointer 2019-05-26 20:33:38 -04:00
Matthias Clasen
0a41fc5452 cell renderer spinner: Make final 2019-05-26 20:30:04 -04:00
Matthias Clasen
70af933804 cell renderer text: Drop the priv pointer 2019-05-26 20:28:38 -04:00
Matthias Clasen
a5c2ad18d5 cell renderer text: Use standard padding 2019-05-26 20:21:50 -04:00
Matthias Clasen
509cd3ae61 cell renderer toggle: Drop the priv pointer 2019-05-26 20:20:11 -04:00
Matthias Clasen
c1cc94b08b cell renderer toggle: Make final 2019-05-26 20:17:15 -04:00
Matthias Clasen
ebc2bb9a2f cell renderer combo: Drop the priv pointer 2019-05-26 20:12:40 -04:00
Matthias Clasen
b55f1b4c8f cell renderer combo: Make final 2019-05-26 20:07:53 -04:00
Matthias Clasen
11e121d344 cell renderer accel: Drop the priv pointer 2019-05-26 19:51:49 -04:00
Matthias Clasen
0b65c4476d cell renderer accel: Make final 2019-05-26 19:47:04 -04:00
Matthias Clasen
b835367413 cell renderer: Use standard padding 2019-05-26 23:35:24 +00:00
Matthias Clasen
695b450e80 calendar: Drop the priv pointer 2019-05-26 19:20:26 -04:00
Matthias Clasen
76f2a8f2dc calendar: Make final 2019-05-26 18:56:56 -04:00
Matthias Clasen
796ee8816c spinner: Make final 2019-05-26 18:50:49 -04:00
Matthias Clasen
864da2fcd5 progress bar: Make final 2019-05-26 18:49:21 -04:00
Matthias Clasen
6a669265ac print operation: Drop the priv pointer 2019-05-26 18:38:44 -04:00
Matthias Clasen
cc1c1df405 print operation: Use standard class padding 2019-05-26 18:38:41 -04:00
Matthias Clasen
15f4c40a91 Rename gtkprintbackend.h to gtkprintbackendprivate.h
Follow the naming convention for private headers.
2019-05-26 22:23:52 +00:00
Matthias Clasen
33bb80f387 print job: Make final
No need to subclass this.
2019-05-26 17:51:24 -04:00
Matthias Clasen
651b29b797 printer: Drop the priv pointer 2019-05-26 17:51:02 -04:00
Matthias Clasen
9422973c2a printer: Make private
We want to subclass this in print backends,
but we don't want to allow out-of-tree subclassing.
2019-05-26 20:35:55 +00:00
Matthias Clasen
cb2369bf70 Rename gtkprinter-private.h
Name this header gtkprinterprivate.h, following
our convention for private headers.
2019-05-26 16:29:57 -04:00
Matthias Clasen
6a5963a395 stack switcher: Make final
This should not be subclassed.
2019-05-26 16:23:17 -04:00
Matthias Clasen
5ec165e088 stack sidebar: Make final
This should not be subclassed.
2019-05-26 16:19:44 -04:00
Matthias Clasen
c0eea6c5de print dialog: Drop the priv pointer 2019-05-26 20:08:01 +00:00
Matthias Clasen
bb46cc6470 print dialog: Make final
Nobody should subclass this.
2019-05-26 19:55:41 +00:00
Matthias Clasen
210a439365 page setup dialog: Drop the priv pointer 2019-05-26 19:43:41 +00:00
Matthias Clasen
8438510034 page setup dialog: Make final
No subclassing needed.
2019-05-26 19:38:39 +00:00
Matthias Clasen
fb334b1b15 switch: Make final
This should not be subclassed.
2019-05-26 15:34:31 -04:00
Matthias Clasen
96eefd49fa icon theme: Make final
Nobody should subclass GtkIconTheme or GtkIconInfo.
2019-05-26 15:33:10 -04:00
Matthias Clasen
c2fd6b9fa4 textview: Use standard padding
Given that GtkSourceView exists, we will have
to keep GtkTextView subclassable until a replacement
appears.
2019-05-26 15:25:46 -04:00
Matthias Clasen
e9bc767691 viewport: Cleanup 2019-05-26 15:18:42 -04:00
Matthias Clasen
8de9f41b5d viewport: Make final
No need to derive from it.
2019-05-26 15:16:00 -04:00
Matthias Clasen
4df64bce83 color plane: Don't allocate 0-size textures
This triggers critials, and does us no good.
2019-05-26 00:01:15 -04:00
Matthias Clasen
8d1f05f5ac Cosmetics 2019-05-26 04:00:07 +00:00
Benjamin Otte
0cd8dd4294 inspector: Make updates overlay not crash
... when a window gets hidden and later reshown.

The code now properly cleans up a window when it gets unmapped instead
of trying to retain previous updates information.
2019-05-25 22:32:35 +02:00
Matthias Clasen
6c3e874701 menu button: Add popup/popdown functions
These are needed, after all.
2019-05-24 00:30:39 +00:00
Matthias Clasen
5ec7a31cf1 menu button: Add a relief property
This is used in various places.
2019-05-21 19:05:41 -04:00
Daniel Boles
7575d5216f ScrolledWindow: Annotate h|vadjustment as nullable
The code interprets NULL to mean 'create a new Adjustment and use that,
deposing the old one', but we neither documented nor annotated that
ability, so users could be unsure how to "unlink" a specific Adjustment.
While users could pass their own Adjustment in if this wasn't nullable,
we already support NULL in the code, and it doesn't hurt to document
that this is available as a convenience while retaining the behaviour.
2019-05-21 21:21:14 +01:00
Daniel Boles
45a98d6a93 ScrolledWindow: Replace deprecated (allow-none)
We prefer (nullable) for in arguments and (optional) for out arguments
that can be passed as NULL to avoid assigning anything to them.
2019-05-21 21:21:14 +01:00
Federico Mena Quintero
2a9b3c6a0c Use g_once for all the mkenums template files
Without this, initialization of enum/flags values from multithreaded
programs may not work correctly.

Fixes #1617.
2019-05-21 10:32:08 -05:00
Benjamin Otte
9f739ab135 Merge branch 'win32-enable-werror' into 'master'
Win32 enable werror

See merge request GNOME/gtk!861
2019-05-21 14:39:53 +00:00
Timm Bäder
a474beb7b8 widget: Don't always call get_display() when allocating
The GTK_DISPLAY_DEBUG_CHECK macro will cleverly only call the function
if any of the display debug flags are set, so in the common case it
won't even be executed.
2019-05-21 08:17:13 +02:00
Benjamin Otte
ca2bffc060 imcontextime: Add missing semicolon
I wonder how thoroughly this was tested... ;)
2019-05-21 07:23:30 +02:00
Benjamin Otte
b36b9323fc win32: Add missing enum value to switch statement 2019-05-21 07:23:30 +02:00
Benjamin Otte
3ace1f5939 imcontextime: Remove unused variables 2019-05-21 07:23:30 +02:00
Benjamin Otte
4f0cc3086f win32: Rename a shadowing variable 2019-05-21 07:23:30 +02:00
Benjamin Otte
9521af0f6a window: Remove unneeded variable
The variable would show up as a gcc warning in builds without X11
support.
2019-05-21 07:23:30 +02:00
Benjamin Otte
a1d08b4b52 rendernode: Take a graphene_point_t for the offset
... instead of 2 floats.
2019-05-21 06:43:59 +02:00
Matthias Clasen
5327799046 inspector: Don't apply button api to menu buttons 2019-05-20 23:33:45 +00:00
Matthias Clasen
322507f24c builder-tool: Remove debug spew 2019-05-20 00:04:57 +00:00
Matthias Clasen
a798e2ff5e lock button: Don't allow subclassing 2019-05-19 17:12:24 -04:00
Matthias Clasen
c8a901c1dc link button: Don't allow subclassing 2019-05-19 21:05:40 +00:00
Matthias Clasen
825b48911b Fix a compiler warning 2019-05-19 16:46:07 -04:00
Matthias Clasen
56e93332d8 popover menu: Make not subclassable 2019-05-19 16:46:07 -04:00
Matthias Clasen
cbab83b843 popover: Cosmetics
Use the same amount of padding as everywhere else.
2019-05-19 20:34:49 +00:00
Matthias Clasen
2dec0b8d7f volume button: Don't allow subclassing
If you want to subclass, there's GtkScaleButton.
2019-05-19 20:34:13 +00:00
Matthias Clasen
8c1bce72d5 settings: Drop the priv pointer 2019-05-19 20:04:47 +00:00
Matthias Clasen
ced07b92a2 application window: Drop the priv pointer 2019-05-19 19:52:34 +00:00
Matthias Clasen
d9626820e9 sizegroup: Drop the priv pointer 2019-05-19 19:22:53 +00:00
Matthias Clasen
f6dc6bed07 settings: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 15:13:19 -04:00
Matthias Clasen
8808e194cf Forgotten file 2019-05-19 15:09:36 -04:00
Matthias Clasen
be40ecbfe6 shortcuts window: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 19:03:49 +00:00
Matthias Clasen
c31eadc3a1 css provider: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 18:41:33 +00:00
Matthias Clasen
963152a85a size group: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 17:49:07 +00:00
Matthias Clasen
f656d38e59 password entry: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 13:29:37 -04:00
Matthias Clasen
3250e703b6 Padding review
Ensure that the class structs of all subclassable
types have sufficient padding (standardizing on 8
slots, here).

GtkBox
GtkButton
GtkDrawingArea
GtkFixed
GtkFrame
2019-05-19 17:18:48 +00:00
Matthias Clasen
2c9a1f8b6c message dialog: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
2019-05-19 16:49:45 +00:00
Matthias Clasen
bd6c4a0dec Padding review
Ensure that the class structs of all subclassable
types have sufficient padding (standardizing on 8
slots, here).

GtkApplication
GtkWidget
GtkContainer
GtkWindow
GtkDialog
GtkApplicationWindow
GtkToolItem
GtkBin
2019-05-19 16:24:44 +00:00
Matthias Clasen
68f2cd1f09 Trivial: Remove a few +'s 2019-05-19 15:29:04 +00:00
Matthias Clasen
bcfff5e469 Drop gtk_button_clicked
This is not an api we want to propagate anymore.
If you need to, you can still emit the "clicked"
action signal on a button using g_signal_emit_by_name.
2019-05-18 14:33:41 -04:00
Matthias Clasen
cf47bb9355 gtk: Stop using gtk_button_clicked
This function is going away.
2019-05-18 14:27:09 -04:00
Benjamin Otte
6e2df85ec8 Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master

Closes #1900

See merge request GNOME/gtk!854
2019-05-18 15:19:29 +00:00
Benjamin Otte
2bad613cb0 text: Ensure indexes are ordered properly 2019-05-18 17:06:08 +02:00
Benjamin Otte
fe592cd414 widget: Make gtk_widget_render() static 2019-05-18 17:06:08 +02:00
Matthias Clasen
9d16715eb3 Merge branch 'menubutton-no-button' into 'master'
Menubutton: don't derive from GtkButton

See merge request GNOME/gtk!853
2019-05-18 13:13:48 +00:00
Matthias Clasen
0eb7784785 Update all users for menubutton changes 2019-05-18 13:06:32 +00:00
Matthias Clasen
9111541807 a11y: Adapt to menu button changes 2019-05-18 13:06:32 +00:00
Matthias Clasen
6a7d70cc9f menubutton: Don't derive from GtkToggleButton
Make GtkMenuButton a widget that has a
toggle button, instead of deriving from it.

We give it icon-name and label properties,
to let people do what they expect to do
with menu buttons.
2019-05-18 13:06:32 +00:00
Timm Bäder
1e613485d3 sidebarrow: Don't focus on click
This is sometimes important, e.g. when saving in the filechooser. We
don't want to move the focus out of the filename entry in that case.
2019-05-18 13:47:59 +02:00
Timm Bäder
3a863ccd00 filechooserwidget: Remove unused gobject data 2019-05-18 13:47:59 +02:00
Timm Bäder
7cec5323d1 Merge branch 'fix-non-csd-menu-corners-gtk4' into 'master'
Adwaita: Don't round the non-csd menu corners (GTK4)

See merge request GNOME/gtk!835
2019-05-17 13:46:06 +00:00
Antoine Jacoutot
7d8be1c1ff pid_get_parent: fix potential leak of kp 2019-05-17 11:55:16 +00:00
Benjamin Otte
061b36e6e4 Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master

See merge request GNOME/gtk!843
2019-05-15 23:12:49 +00:00
Benjamin Otte
3e5f5d3959 flattenlistmodel: Do proper check
If we want the model items to be listmodels, we don't need to do a ==
comparison. We need to do g_type_is_a(). Implementations of listmodels
are obviously fine.
2019-05-15 23:39:37 +02:00
Timm Bäder
7793818f2a query: Remove private pointer 2019-05-15 17:53:18 +02:00
Timm Bäder
d53d7eb9e7 filechooserwidget: Remove some unused struct members 2019-05-15 17:08:58 +02:00
Timm Bäder
d9b6435f9a accellabel: use a box layout
Instead of a GtkBox child widget.
2019-05-15 17:08:21 +02:00