Matthias Clasen [Wed, 6 Jun 2018 01:02:57 +0000 (21:02 -0400)]
Add tweaks
Allow setting the puzzle size, and allow chosing between
the rose and the radioactive animation. Change the default
size to 3. 6 is just too hard.
Matthias Clasen [Tue, 5 Jun 2018 23:30:08 +0000 (19:30 -0400)]
puzzle: Add a reshuffle button
Matthias Clasen [Tue, 5 Jun 2018 18:04:30 +0000 (14:04 -0400)]
Keep aspect ratio of the image
Since we don't have a good way to control the window size tightly,
make the content keep aspect ratio.
Benjamin Otte [Mon, 4 Jun 2018 03:41:44 +0000 (05:41 +0200)]
demo: Add the sliding puzzle demo
Matthias Clasen [Thu, 7 Jun 2018 18:27:25 +0000 (18:27 +0000)]
Merge branch 'master' into 'master'
Fix reference to user styles in gtkstyleprovider.h
See merge request GNOME/gtk!184
Mohammed Sadiq [Thu, 7 Jun 2018 10:14:14 +0000 (15:44 +0530)]
font-button: Suggest non deprecated function in docs
gtk_font_button_get_font_name() has been deprecated in 3.22 and
its public API is removed from GTK4.
Matijs van Zuijlen [Thu, 7 Jun 2018 08:54:23 +0000 (08:54 +0000)]
Fix reference to user styles in gtkstyleprovider.h
Matthias Clasen [Tue, 5 Jun 2018 21:02:51 +0000 (21:02 +0000)]
Merge branch 'wip/move-to-rect-public' into 'master'
gdk: Make gdk_surface_move_to_rect public
See merge request GNOME/gtk!179
Daniel Boles [Mon, 21 May 2018 20:45:27 +0000 (21:45 +0100)]
SizeRequest: Round px values up for min CSS sizes
Otherwise, requesting a min size in em where the equivalent in px had a
fractional part would lead to the widget getting allocated 1 too few px.
You could see this in the CSS property vs. allocation in the Inspector.
Note that margin/border/padding are left alone: the rationale is that we
do as browsers do, and Benjamin said we already do that for those,
whereas his tests on min-(width|height) showed otherwise. My subsequent
analysis indicated it to be far less clear-cut than that, but he remains
unconvinced that we should ceil() all the things! So just do these ones.
https://gitlab.gnome.org/GNOME/gtk/issues/1088
Jonas Ådahl [Tue, 5 Jun 2018 15:46:34 +0000 (17:46 +0200)]
gdk: Make gdk_surface_move_to_rect public
This is the API used by GtkMenu to properly position menus on the screen
without requiring GTK to query the menu window's position or the work
area of where the window is positioned. It makes it possible to position
popup windows properly when using Wayland.
Make this API available to external users so custom popup windows can be
positioned properly as well.
Related: https://gitlab.gnome.org/GNOME/gtk/issues/997
Timm Bäder [Mon, 4 Jun 2018 19:57:18 +0000 (21:57 +0200)]
popover: Add missing close paren in docs
Timm Bäder [Mon, 4 Jun 2018 19:54:35 +0000 (21:54 +0200)]
colorbutton: Remove priv pointer
Timm Bäder [Mon, 4 Jun 2018 19:42:12 +0000 (21:42 +0200)]
aspectframe: Remove unused member
Timm Bäder [Mon, 4 Jun 2018 17:43:17 +0000 (19:43 +0200)]
bin: Remove public GtkBinPrivate typedef
Timm Bäder [Mon, 4 Jun 2018 17:13:12 +0000 (19:13 +0200)]
statusbar: Remove garbage from header file
Nobody will ever read those comments; documentation belongs into the
soruce file so gtk-doc actually picks it up.
Timm Bäder [Mon, 4 Jun 2018 17:12:55 +0000 (19:12 +0200)]
statusbar: Remove priv pointer
Timm Bäder [Sun, 3 Jun 2018 09:32:09 +0000 (11:32 +0200)]
widget: Add docs for {get,set}_focus_child
With get_ being still private.
Timm Bäder [Sun, 27 May 2018 16:05:00 +0000 (18:05 +0200)]
gl renderer: use w axis vector from graphene
Instead of initializing our own one every time.
Matthias Clasen [Sun, 3 Jun 2018 18:10:03 +0000 (18:10 +0000)]
Merge branch 'patch-1' into 'master'
GtkWindow: Handle non-square icons with height > width correctly
Closes #657
See merge request GNOME/gtk!170
Christian Stadelmann [Tue, 29 May 2018 17:40:06 +0000 (17:40 +0000)]
GtkWindow: Handle non-square icons with height > width correctly
Mohammed Sadiq [Thu, 31 May 2018 10:54:00 +0000 (16:24 +0530)]
widget: Fix example code in doc
Matthias Clasen [Wed, 30 May 2018 02:13:04 +0000 (02:13 +0000)]
Merge branch 'gesture-docs' into 'master'
Gesture stuff
See merge request GNOME/gtk!169
Matthias Clasen [Mon, 28 May 2018 16:09:47 +0000 (12:09 -0400)]
x11: Don't set NET_WM_PID when sandboxed
It is not useful, and some window managers misinterpret it and
add some "runs as root" indication to the window decoration.
See https://github.com/mate-desktop/marco/issues/301
Matthias Clasen [Mon, 28 May 2018 16:04:17 +0000 (12:04 -0400)]
gdk: Add a private api to find sandboxes
This will be used in more places in the future.
Benjamin Otte [Tue, 29 May 2018 19:54:47 +0000 (21:54 +0200)]
events: Mark static function as such
Benjamin Otte [Tue, 29 May 2018 19:53:44 +0000 (21:53 +0200)]
gdk: Get rid of gdk_event_free()
Events are objects, so use g_object_unref().
Ernestas Kulik [Tue, 29 May 2018 11:43:06 +0000 (14:43 +0300)]
gesturemultipress: Don’t fire ::released after ::cancel
Causing a grab in the handler for ::pressed by, e.g., popping up a
context menu will cause the gesture to be canceled and, subsequently,
::end and ::released to be fired, all while the button is still
physically pressed. That results in no event being available to the
::released handler and garbage coordinates, given that
gtk_gesture_get_point() returns FALSE.
Emitting ::released can be avoided by checking the return value
gtk_gesture_get_point().
Ernestas Kulik [Tue, 29 May 2018 11:48:41 +0000 (14:48 +0300)]
gesture: Fix code snippet
GTK_EVENT_SEQUENCE_ACCEPTED seems to never have been a valid enumeration
value. GTK_EVENT_SEQUENCE_CLAIMED is the closest in meaning.
Ernestas Kulik [Tue, 29 May 2018 10:59:06 +0000 (13:59 +0300)]
gesture: Fix get_last_event() docs
Querying the event sequence of a gesture will always yield NULL for
non-touch events, but passing NULL in to calls to
gtk_gesture_get_last_event() is a perfectly valid use case.
Victor Toso [Thu, 24 May 2018 13:42:47 +0000 (15:42 +0200)]
gdkseatdefault: Don't hide GdkSurface on grab failure
Application is not expecting that.
Bug found due gdk_seat_grab() failure on Lock Screen. When user
Unlock the screen, the application is visible but does not receive
enter-event any more on X11/GNOME.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=
1485968
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=
1571422
Signed-off-by: Victor Toso <victortoso@redhat.com>
Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Carlos Garnacho [Tue, 29 May 2018 11:50:41 +0000 (13:50 +0200)]
gtkpopover: Fix thinko in key press event type check
That code branch is meant to check for key events, seems obvious we want
GDK_KEY_PRESS, not GDK_BUTTON_PRESS (which also broke the branch right
below).
Makes us all able to dismiss popovers again.
Carlos Garnacho [Tue, 29 May 2018 12:03:27 +0000 (14:03 +0200)]
Revert "popover: Fix setting priv->button_pressed in ::event handler"
This reverts commit
d638ff3afa7f3ccfebf2d5de23616109742d622b.
Doesn't look like the right fix. Another one coming that fixes dismissing
through both pointer and keyboard.
Matthias Clasen [Sun, 27 May 2018 15:56:21 +0000 (11:56 -0400)]
Remove an unused struct
Positive side-effect: visual c no longer has an empty struct
to complain about.
Timm Bäder [Sun, 27 May 2018 15:44:31 +0000 (17:44 +0200)]
popover: Fix setting priv->button_pressed in ::event handler
There were two cases in that if/else cascade handling the
event_type == GDK_BUTTON_PRESS case, so priv->button_pressed never got
set.
Timm Bäder [Sun, 27 May 2018 15:44:12 +0000 (17:44 +0200)]
gdkscreen-x11: Remove redundant typedef
Causes warnings with clang.
Timm Bäder [Sun, 27 May 2018 15:37:22 +0000 (17:37 +0200)]
gl renderer: Remove an outdated comment
Matthias Clasen [Sun, 27 May 2018 15:50:17 +0000 (15:50 +0000)]
Merge branch 'master' into 'master'
icontheme: Keep dir_mtimes in order
Closes #1115
See merge request GNOME/gtk!161
Timm Bäder [Sun, 27 May 2018 12:40:07 +0000 (14:40 +0200)]
filechooserwidget: Don't chain up in ::event
GtkWidgetClass.event is NULL.
Timm Bäder [Sun, 27 May 2018 12:41:56 +0000 (14:41 +0200)]
gl renderer: Use offsets for more node types
Piotr Drąg [Sun, 27 May 2018 05:58:25 +0000 (07:58 +0200)]
Update Polish translation
Matthias Clasen [Fri, 25 May 2018 22:25:29 +0000 (18:25 -0400)]
a11y: Stop using ::event
We can just as well use notify::has-focus for the purpose of
focus tracking, and we can at the same time avoid emitting the
deprecated AtkObject::focus-event signal.
Christoph Reiter [Sat, 26 May 2018 12:23:58 +0000 (14:23 +0200)]
ci/msys2: force disable vulkan
A recent dependency change in MSYS2 made it pull in vulkan, which made
meson think it's available but it somehow links against the system vulkan dll
instead.
Disable vulkan for now.
Daniel Boles [Sat, 26 May 2018 00:06:00 +0000 (01:06 +0100)]
SpinButton: Fix an obviously wrong arg description
:climb-rate is not about what you get when you single-click on a button,
as this implied: it's what happens if you hold down a button or a key.
Fix the description of @climb_rate to new(), and while here, mention the
key in the blurb of :climb-rate itself.
Jan Alexander Steffens (heftig) [Wed, 23 May 2018 18:06:01 +0000 (20:06 +0200)]
icontheme: Keep dir_mtimes in order
Don't reverse the order each time we insert a theme. Reverse it only
once, after all themes have been loaded.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1115
Matthias Clasen [Wed, 23 May 2018 01:55:05 +0000 (01:55 +0000)]
Merge branch 'kill-key-events' into 'master'
Kill key events
See merge request GNOME/gtk!160
Carlos Garnacho [Tue, 22 May 2018 11:10:26 +0000 (11:10 +0000)]
Merge branch 'issue792' into 'master'
wayland: check native surface for crossing events
Closes #792
See merge request GNOME/gtk!148
Matthias Clasen [Mon, 21 May 2018 15:42:54 +0000 (11:42 -0400)]
Drop the ::key-press/release-event signals
These are the last event-type specific signals,
we are just relying on the generic ::event signal now.
Matthias Clasen [Sun, 20 May 2018 15:35:48 +0000 (11:35 -0400)]
treeview: Stop using ::key-press-event
Use a generic ::event handler instead.
Matthias Clasen [Mon, 21 May 2018 15:38:59 +0000 (11:38 -0400)]
spin button: Stop using ::key-release-event
Just use the generic ::event signal.
Matthias Clasen [Sun, 20 May 2018 16:00:22 +0000 (12:00 -0400)]
font chooser dialog: Stop using ::key-press-event
Use the generic ::event instead.
Matthias Clasen [Sun, 20 May 2018 15:48:09 +0000 (11:48 -0400)]
button: Stop using ::key-release-event
Use the generic ::event signal instead.
Matthias Clasen [Sun, 20 May 2018 15:25:28 +0000 (11:25 -0400)]
file chooser widget: Stop using ::key-press-event
Use a generic ::event handler instead.
Matthias Clasen [Sun, 20 May 2018 14:51:33 +0000 (10:51 -0400)]
file chooser entry: Stop using key-press-event
Just use the generic ::event signal for now.
Matthias Clasen [Sun, 20 May 2018 03:41:56 +0000 (23:41 -0400)]
entry: Stop using ::key-press-event
Use a generic ::event handler instead.
Daniel Boles [Mon, 21 May 2018 22:38:54 +0000 (23:38 +0100)]
StyleContext: Don't advise using invalidate()
It doesn't exist anymore! Also, set_display() is not needed/used in the
demo cited, and we were still referring to gtk3-demo, not gtk4-demo.
Daniel Boles [Mon, 21 May 2018 18:42:57 +0000 (19:42 +0100)]
Range: Up should only mean ++ if we are a GtkScale
The last round of patches to get the desired direction of value move in
response to scrolls/keypresses on scales had the inadvertent side effect
of giving the opposite direction on scrollbars. Seeing as gtkrange.c is
already a collection of hacks, add another so that fix only holds if the
instance is a GtkScale, since that is what those patches were aimed at.
Close https://gitlab.gnome.org/GNOME/gtk/issues/1065
Matthias Clasen [Sun, 20 May 2018 03:36:10 +0000 (23:36 -0400)]
emoji completion: Stop using key-press-event
The generic ::event signal will do.
Matthias Clasen [Sun, 20 May 2018 03:35:23 +0000 (23:35 -0400)]
Remove key-press-event from more docs
This signal will be going away, so stop mentioning it so much.
Matthias Clasen [Sun, 20 May 2018 03:28:44 +0000 (23:28 -0400)]
gtk-demo: Avoid key-press-event
Matthias Clasen [Sun, 20 May 2018 03:20:53 +0000 (23:20 -0400)]
popover: Drop key_press_event handler
We can do the same in the generic ::event handler.
Matthias Clasen [Thu, 17 May 2018 15:48:34 +0000 (16:48 +0100)]
emoji: Hide recent section when empty
This is part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.
Timm Bäder [Sat, 19 May 2018 21:03:32 +0000 (23:03 +0200)]
widget: Properly remove event controllers in finalize
We were mutating the list while iterating over it. This was not a
problem before since remove_controller just set the controller pointer
to NULL instead of actually removing it from the list of controllers.
Timm Bäder [Sat, 19 May 2018 10:38:01 +0000 (12:38 +0200)]
Add GtkEventControllerKey to the docs
Timm Bäder [Mon, 14 May 2018 17:03:17 +0000 (19:03 +0200)]
widget: Remove controller sequence-state-changed signal connection
We can avoid a signal connection per event controller (and the
EventControllerData struct) since every event controller knows the
widget it's attached to.
Timm Bäder [Wed, 16 May 2018 15:56:34 +0000 (17:56 +0200)]
Add basic searchbar set_key_capture_widget tests
Make sure we're correctly resetting the internal key capture widget
pointer when the widget goes away.
Timm Bäder [Wed, 16 May 2018 15:56:08 +0000 (17:56 +0200)]
searchbar: Add missing GDK_AVAILABLE_IN_ALL marker
Timm Bäder [Wed, 16 May 2018 12:31:24 +0000 (14:31 +0200)]
snapshot: Remove superfluous typedef
We're already doing this in gtktypes.h
Fixes #214
Timm Bäder [Mon, 14 May 2018 16:19:44 +0000 (18:19 +0200)]
widget: Directly notify gestures of grab
Since each widget has a list of event controllers now, we don't need to
connect to ::grab-notify of the widget for every controller.
Timm Bäder [Sat, 12 May 2018 05:50:24 +0000 (07:50 +0200)]
widget: Fix measure docs
Fix a typo and don't ever pass NULL to a ::measure() implementation.
Timm Bäder [Sat, 12 May 2018 04:57:59 +0000 (06:57 +0200)]
gl renderer: Add helper for printing a render node tree
Timm Bäder [Thu, 10 May 2018 18:00:17 +0000 (20:00 +0200)]
gestures demo: widget property is not writable
Use gtk_widget_add_controller instead.
Timm Bäder [Wed, 16 May 2018 12:08:19 +0000 (14:08 +0200)]
scrollbar: Remove get_wheel_delta
Unused and undocumented.
Timm Bäder [Thu, 10 May 2018 11:56:54 +0000 (13:56 +0200)]
cssvalue: Remove typechecks
This path is more than hot and those type checks ruin any kind of real
life profiling.
Fabio Tomat [Fri, 18 May 2018 16:19:35 +0000 (16:19 +0000)]
Update Friulian translation
Matthias Clasen [Thu, 17 May 2018 15:37:26 +0000 (16:37 +0100)]
emoji: Improve section scrolling
Leave some space above the section heading when scrolling.
This is a part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.
Matthias Clasen [Thu, 17 May 2018 09:59:45 +0000 (09:59 +0000)]
Merge branch 'wip/restart-cursor-animation' into 'master'
wayland: Fix restarting cursor animation
See merge request GNOME/gtk!149
Matthias Clasen [Thu, 17 May 2018 09:48:36 +0000 (09:48 +0000)]
Merge branch 'paste-scrolling' into 'master'
textview: Don't scroll for pastes in another view
See merge request GNOME/gtk!152
Emmanuele Bassi [Tue, 15 May 2018 08:51:37 +0000 (08:51 +0000)]
Merge branch 'pages-docs' into 'master'
Publish master docs with gitlab pages.
See merge request GNOME/gtk!135
Chun-wei Fan [Tue, 15 May 2018 05:28:08 +0000 (13:28 +0800)]
gtkemojicompletion.c: Don't use g_autoptr()
This code is also built with non-GCC/non-CLang compilers, so don't use a
GCCism here.
Chun-wei Fan [Tue, 15 May 2018 05:27:10 +0000 (13:27 +0800)]
gdkcairocontext*.h: Include cairo.h consistently
The other sources include cairo.h by just using #include <cairo.h>, so
do likewise here.
Matthias Clasen [Mon, 14 May 2018 12:03:34 +0000 (13:03 +0100)]
textview: Don't scroll for pastes in another view
GtkTextView scrolls to the insertion point when the text
buffer signals a paste is done. This is wrong when there
are multiple views on the same buffer, and the paste
happened in another view.
To fix this, flip the handling of the scroll_after_paste
boolean to only be TRUE if we know that we want to scroll.
Fabio Tomat [Mon, 14 May 2018 11:12:37 +0000 (11:12 +0000)]
Update Friulian translation
Fabio Tomat [Mon, 14 May 2018 05:21:23 +0000 (05:21 +0000)]
Update Friulian translation
Mohammed Sadiq [Sun, 13 May 2018 07:57:07 +0000 (13:27 +0530)]
appchooserdialog: Fix memory leak
Mohammed Sadiq [Sun, 13 May 2018 07:51:06 +0000 (13:21 +0530)]
appchooserdialog: Don't fire notify::heading twice
The gtk_app_chooser_dialog_set_heading() function do emit
notify::heading. Since the setter simply calls the function,
the setter itself shouldn't emit a notify signal by itself.
Mohammed Sadiq [Sun, 13 May 2018 05:29:34 +0000 (10:59 +0530)]
aboutdialog: Fix memory leak
Mohammed Sadiq [Sun, 13 May 2018 02:53:53 +0000 (08:23 +0530)]
video: Fix memory leak
Mohammed Sadiq [Sat, 12 May 2018 12:02:16 +0000 (17:32 +0530)]
examples: Remove unused variables
Mohammed Sadiq [Sat, 12 May 2018 04:01:32 +0000 (09:31 +0530)]
snapshot: Fix typo in documentation comment
Mohammed Sadiq [Fri, 11 May 2018 06:28:34 +0000 (11:58 +0530)]
label: Rearrange struct members
Rearranging so can save us 8 bytes per GtkLabel
on 32/64 bit aligned memory.
Not a big count, but we get it for free.
Mohammed Sadiq [Fri, 11 May 2018 04:49:09 +0000 (10:19 +0530)]
textview: Always show select-all button in touch popup
"Select all" action is possible regardless of the text selection state
or if the text is editable or not.
Mohammed Sadiq [Fri, 11 May 2018 04:10:48 +0000 (09:40 +0530)]
textview: Reset bubble source id once run
The bubble_timeout_id was reset only on some special case.
And so warnings were shown when the source is being tried
to be removed with the already removed id.
Fix this by unconditionally resetting the id on start of the function.
Mohammed Sadiq [Fri, 11 May 2018 03:17:56 +0000 (08:47 +0530)]
textview: Simplify creating bubble action buttons
Buttons can be created simply with gtk_button_new_from_icon_name().
Mohammed Sadiq [Fri, 11 May 2018 01:39:45 +0000 (07:09 +0530)]
widget: Avoid an unnecessary check
The preceding loop terminates when either the widget is NULL,
or if their type matches. There is no reason to check that again
Jonas Ådahl [Wed, 9 May 2018 20:13:10 +0000 (22:13 +0200)]
wayland: Fix restarting cursor animation
When an animated cursor was set and the previous cursor animation delay
happened to be the same, we wouldn't restart the animation timeout and
just return G_SOURCE_CONTINUE assuming the timer would continue. This
assumption is however only valid if the function was called from the
timeout, which is not the case.
Instead also arm the timer also if there is no previous timer active.
Olivier Fourdan [Thu, 19 Apr 2018 12:22:04 +0000 (14:22 +0200)]
wayland: check native surface for crossing events
gdk_wayland_*_grab()/ungrab() would emit crossing events which translate
as focus_in/focus_out events for keyboard.
However, the ungrab() functions compare the native toplevel as this is
what gets the Wayland pointer enter/leave events with the grab surface,
so if the grab is issued on a child gdk surface, those won't match and
we would emit more focus_out events than focus_in.
This means that a widget such as spice-gtk which issues a keyboard grab
whenever the pointer enters the surface and releases the grab when it
leaves the surface would get uneven numbers of focus_in/focus_out
events.
Also, gdk_wayland_seat_ungrab() would not emit crossing events for
keyboard devices, whereas gdk_wayland_device_ungrab() does, which adds
even more potential discrepancies between focus_in/focus_out events.
To solve this problem, introduce two new helper functions which check
the relevant native surfaces to emit crossing events when needed that
get called evenly from both gdk_wayland_seat_grab()/ungrab() and gdk
_wayland_device_grab()/ungrab() APIs.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=780422
Closes https://gitlab.gnome.org/GNOME/gtk/issues/792
Mohammed Sadiq [Wed, 9 May 2018 01:53:05 +0000 (07:23 +0530)]
examples: Use icon-name property to set button icons
Gtk4 added an icon-name property for GtkButton.
Mohammed Sadiq [Tue, 8 May 2018 15:54:29 +0000 (21:24 +0530)]
examples: Simplify counting buffer lines
We do have a gtk_text_buffer_get_line_count() function
to get the line count.
Mohammed Sadiq [Tue, 8 May 2018 14:23:27 +0000 (19:53 +0530)]
examples: Remove explicit gtk_widget_show()
In gtk4, widgets are visible by default.
Robert Ancell [Tue, 8 May 2018 23:28:53 +0000 (11:28 +1200)]
Fix comment typo introduced in
a32725bc9ab