gtk4.git
7 years agowidget: Remove useless macro
Benjamin Otte [Tue, 20 Mar 2018 03:40:09 +0000 (04:40 +0100)]
widget: Remove useless macro

7 years agoAdd appdata for gtk4-demo
Matthias Clasen [Tue, 20 Mar 2018 23:40:30 +0000 (19:40 -0400)]
Add appdata for gtk4-demo

This will let us build a better flatpak for gtk4-demo.

7 years agoMerge branch 'tests-gdk' into 'master'
Emmanuele Bassi [Tue, 20 Mar 2018 17:20:28 +0000 (17:20 +0000)]
Merge branch 'tests-gdk' into 'master'

gitlab-ci: enable gtk+:gdk tests

See merge request GNOME/gtk!74

7 years agotests: Update renamed symbol
Emmanuele Bassi [Tue, 20 Mar 2018 17:00:19 +0000 (17:00 +0000)]
tests: Update renamed symbol

7 years agoMerge branch 'detect-synaptics-touchpads-v2' into 'master'
Carlos Garnacho [Tue, 20 Mar 2018 17:03:15 +0000 (17:03 +0000)]
Merge branch 'detect-synaptics-touchpads-v2' into 'master'

x11/xi2: Report touchpads as TOUCHPAD, not MOUSE

See merge request GNOME/gtk!65

7 years agoUpdate POTFILES.in
Piotr Drąg [Tue, 20 Mar 2018 16:32:35 +0000 (17:32 +0100)]
Update POTFILES.in

7 years agogitlab-ci: enable gtk+:gdk tests
Christoph Reiter [Tue, 20 Mar 2018 16:31:38 +0000 (17:31 +0100)]
gitlab-ci: enable gtk+:gdk tests

xvfb doesn't like C.utf8 and returns XLocaleNotSupported.

While (afaik) C.utf8 and C.UTF.8 should be the same thing, and the former
is returned by locale -a on Fedora, switch to C.UTF-8 to make xvfb happy.

This makes gtk+:gdk tests pass.

7 years agoMerge branch 'rename-window-to-surface' into 'master'
Alexander Larsson [Tue, 20 Mar 2018 16:16:57 +0000 (16:16 +0000)]
Merge branch 'rename-window-to-surface' into 'master'

Rename window to surface

See merge request GNOME/gtk!72

7 years agoMerge branch 'accessible-role' into 'master'
Matthias Clasen [Tue, 20 Mar 2018 15:46:20 +0000 (15:46 +0000)]
Merge branch 'accessible-role' into 'master'

gtkbuilder: add accessibility role declaration

Closes #109

See merge request GNOME/gtk!69

7 years agoMerge branch 'style-context-null-widget-guard-master' into 'master'
Benjamin Otte [Tue, 20 Mar 2018 15:36:19 +0000 (15:36 +0000)]
Merge branch 'style-context-null-widget-guard-master' into 'master'

gtkstylecontext: guard against gtk_css_widget_node_get_widget() returning NULL in more places

See merge request GNOME/gtk!71

7 years agoMerge branch 'a11y-fixes' into 'master'
Matthias Clasen [Tue, 20 Mar 2018 15:33:35 +0000 (15:33 +0000)]
Merge branch 'a11y-fixes' into 'master'

Fix some accessibility issues in demos

Closes #110

See merge request GNOME/gtk!68

7 years agoConvert all references to GdkEvent->surface
Alexander Larsson [Tue, 20 Mar 2018 15:25:50 +0000 (16:25 +0100)]
Convert all references to GdkEvent->surface

7 years agogtkstylecontext: guard against gtk_css_widget_node_get_widget() returning NULL in...
Christoph Reiter [Mon, 19 Mar 2018 17:21:25 +0000 (18:21 +0100)]
gtkstylecontext: guard against gtk_css_widget_node_get_widget() returning NULL in more places

When the widget gets finalized it clears the widgetnode and gtk_css_widget_node_get_widget
returns NULL. Guard against gtk_css_widget_node_get_widget() returning NULL like in other
places.

See https://gitlab.gnome.org/GNOME/pygobject/issues/28#note_82862

7 years agoGtkWidget: Continuer rename of widget->surface
Alexander Larsson [Tue, 20 Mar 2018 14:40:31 +0000 (15:40 +0100)]
GtkWidget: Continuer rename of widget->surface

This completes the rename manually.

7 years agoGtkWidget: Start renaming widget->window
Alexander Larsson [Tue, 20 Mar 2018 14:21:12 +0000 (15:21 +0100)]
GtkWidget: Start renaming widget->window

This is an automated change doing these command:

git sed -f g gtk_widget_set_has_window gtk_widget_set_has_surface
git sed -f g gtk_widget_get_has_window gtk_widget_get_has_surface
git sed -f g gtk_widget_set_parent_window gtk_widget_set_parent_surface
git sed -f g gtk_widget_get_parent_window gtk_widget_get_parent_surface
git sed -f g gtk_widget_set_window gtk_widget_set_surface
git sed -f g gtk_widget_get_window gtk_widget_get_surface
git sed -f g gtk_widget_register_window gtk_widget_register_surface
git sed -f g gtk_widget_unregister_window gtk_widget_unregister_surface

git checkout NEWS*

7 years agoGdkSurface: Rename lots of stuff from window->surface
Alexander Larsson [Tue, 20 Mar 2018 14:14:10 +0000 (15:14 +0100)]
GdkSurface: Rename lots of stuff from window->surface

Mostly these are internal things, but the major public change is
that event.window is now event.surface.

7 years agoGdkSurface: Rename various functions and variables
Alexander Larsson [Tue, 20 Mar 2018 11:05:26 +0000 (12:05 +0100)]
GdkSurface: Rename various functions and variables

This is an automatic rename of various things related
to the window->surface rename.

Public symbols changed by this is:
 GDK_MODE_WINDOW
 gdk_device_get_window_at_position
 gdk_device_get_window_at_position_double
 gdk_device_get_last_event_window
 gdk_display_get_monitor_at_window
 gdk_drag_context_get_source_window
 gdk_drag_context_get_dest_window
 gdk_drag_context_get_drag_window
 gdk_draw_context_get_window
 gdk_drawing_context_get_window
 gdk_gl_context_get_window
 gdk_synthesize_window_state
 gdk_surface_get_window_type
 gdk_x11_display_set_window_scale
 gsk_renderer_new_for_window
 gsk_renderer_get_window
 gtk_text_view_buffer_to_window_coords
 gtk_tree_view_convert_widget_to_bin_window_coords
 gtk_tree_view_convert_tree_to_bin_window_coords

The commands that generated this are:

git sed -f g "GDK window" "GDK surface"
git sed -f g window_impl surface_impl
(cd gdk; git sed -f g impl_window impl_surface)
git sed -f g WINDOW_IMPL SURFACE_IMPL
git sed -f g GDK_MODE_WINDOW GDK_MODE_SURFACE
git sed -f g gdk_draw_context_get_window gdk_draw_context_get_surface
git sed -f g gdk_drawing_context_get_window gdk_drawing_context_get_surface
git sed -f g gdk_gl_context_get_window gdk_gl_context_get_surface
git sed -f g gsk_renderer_get_window gsk_renderer_get_surface
git sed -f g gsk_renderer_new_for_window gsk_renderer_new_for_surface

(cd gdk; git sed -f g window_type surface_type)
git sed -f g gdk_surface_get_window_type gdk_surface_get_surface_type

git sed -f g window_at_position surface_at_position
git sed -f g event_window event_surface
git sed -f g window_coord surface_coord
git sed -f g window_state surface_state
git sed -f g window_cursor surface_cursor
git sed -f g window_scale surface_scale
git sed -f g window_events surface_events
git sed -f g monitor_at_window monitor_at_surface
git sed -f g window_under_pointer surface_under_pointer
(cd gdk; git sed -f g for_window for_surface)
git sed -f g window_anchor surface_anchor
git sed -f g WINDOW_IS_TOPLEVEL SURFACE_IS_TOPLEVEL
git sed -f g native_window native_surface
git sed -f g source_window source_surface
git sed -f g dest_window dest_surface
git sed -f g drag_window drag_surface
git sed -f g input_window input_surface

git checkout NEWS* po-properties po docs/reference/gtk/migrating-3to4.xml

7 years agoGdkWindow -> GdkSurface: File renames
Alexander Larsson [Tue, 20 Mar 2018 10:46:11 +0000 (11:46 +0100)]
GdkWindow -> GdkSurface: File renames

Rename all *window.[ch] source files.

This is an automatic operation, done by the following commands:

for i in $(git ls-files gdk | grep window); do
    git mv $i $(echo $i | sed s/window/surface/);
    git sed -f g $(basename $i) $(basename $i | sed s/window/surface/) ;
done

git checkout NEWS* po-properties po

7 years agoGdkWindow -> GdkSurface initial type rename
Alexander Larsson [Tue, 20 Mar 2018 10:40:08 +0000 (11:40 +0100)]
GdkWindow -> GdkSurface initial type rename

This renames the GdkWindow class and related classes (impl, backend
subclasses) to surface. Additionally it renames related types:
GdkWindowAttr, GdkWindowPaint, GdkWindowWindowClass, GdkWindowType,
GdkWindowTypeHint, GdkWindowHints, GdkWindowState, GdkWindowEdge

This is an automatic conversion using the below commands:

git sed -f g GdkWindowWindowClass GdkSurfaceSurfaceClass

git sed -f g GdkWindow GdkSurface
git sed -f g "gdk_window\([ _\(\),;]\|$\)" "gdk_surface\1" # Avoid hitting gdk_windowing
git sed -f g "GDK_WINDOW\([ _\(]\|$\)" "GDK_SURFACE\1" # Avoid hitting GDK_WINDOWING
git sed "GDK_\([A-Z]*\)IS_WINDOW\([_ (]\|$\)" "GDK_\1IS_SURFACE\2"
git sed GDK_TYPE_WINDOW GDK_TYPE_SURFACE
git sed -f g GdkPointerWindowInfo GdkPointerSurfaceInfo

git sed -f g "BROADWAY_WINDOW" "BROADWAY_SURFACE"
git sed -f g "broadway_window" "broadway_surface"
git sed -f g "BroadwayWindow" "BroadwaySurface"
git sed -f g "WAYLAND_WINDOW" "WAYLAND_SURFACE"
git sed -f g "wayland_window" "wayland_surface"
git sed -f g "WaylandWindow" "WaylandSurface"
git sed -f g "X11_WINDOW" "X11_SURFACE"
git sed -f g "x11_window" "x11_surface"
git sed -f g "X11Window" "X11Surface"
git sed -f g "WIN32_WINDOW" "WIN32_SURFACE"
git sed -f g "win32_window" "win32_surface"
git sed -f g "Win32Window" "Win32Surface"
git sed -f g "QUARTZ_WINDOW" "QUARTZ_SURFACE"
git sed -f g "quartz_window" "quartz_surface"
git sed -f g "QuartzWindow" "QuartzSurface"

git checkout NEWS* po-properties

7 years agotests: Add testtexture
Timm Bäder [Tue, 20 Mar 2018 08:19:10 +0000 (09:19 +0100)]
tests: Add testtexture

a test that simply loads a given file as a texture and renders it.

7 years agogl renderer: Support large textures
Timm Bäder [Tue, 20 Mar 2018 08:17:26 +0000 (09:17 +0100)]
gl renderer: Support large textures

By tiling them.

7 years agosnapshot: Limit cairo nodes to clip region
Timm Bäder [Mon, 19 Mar 2018 17:52:12 +0000 (18:52 +0100)]
snapshot: Limit cairo nodes to clip region

In certain cases, we might create large cairo nodes, resulting in
surfaces so large, cairo can't handle them. Fix this by limiting the
cairo node to the current clip region.

7 years agogl renderer: add basic code to support texture tiling
Timm Bäder [Mon, 19 Mar 2018 10:34:01 +0000 (11:34 +0100)]
gl renderer: add basic code to support texture tiling

7 years agorendernode: Don't use gdk_texture_download_surface
Timm Bäder [Mon, 19 Mar 2018 08:20:33 +0000 (09:20 +0100)]
rendernode: Don't use gdk_texture_download_surface

It can't handle the texture sizes we'd like to support

7 years agorendernode: Don't use gdk_texture_download_surface
Timm Bäder [Mon, 19 Mar 2018 08:20:33 +0000 (09:20 +0100)]
rendernode: Don't use gdk_texture_download_surface

It can't handle the texture sizes we'd like to support

7 years agorendernode: Check cairo surface status after creation
Timm Bäder [Mon, 19 Mar 2018 07:57:40 +0000 (08:57 +0100)]
rendernode: Check cairo surface status after creation

7 years agoinspector: Use the attach widget as menu parent object
Timm Bäder [Mon, 19 Mar 2018 07:18:45 +0000 (08:18 +0100)]
inspector: Use the attach widget as menu parent object

Fixes #101

7 years agoRevert "gl renderer: Limit texture node size to clip"
Timm Bäder [Mon, 19 Mar 2018 07:08:31 +0000 (08:08 +0100)]
Revert "gl renderer: Limit texture node size to clip"

This reverts commit 0234e8e2c94ff6b0c6f4dfcd0c940910a97eca11.

This broke partially clipped-away nodes when they are being transformed,
e.g. by a rotation

7 years agogldriver: Name driver instances 'self'
Timm Bäder [Sun, 18 Mar 2018 21:00:01 +0000 (22:00 +0100)]
gldriver: Name driver instances 'self'

7 years agoprogressbar: Remove priv pointer
Timm Bäder [Sun, 18 Mar 2018 19:51:05 +0000 (20:51 +0100)]
progressbar: Remove priv pointer

7 years agoprogressbar: Remove snapshot implementation
Timm Bäder [Sun, 18 Mar 2018 13:00:20 +0000 (14:00 +0100)]
progressbar: Remove snapshot implementation

7 years agolevelbar: Remove priv pointer
Timm Bäder [Sun, 18 Mar 2018 12:52:55 +0000 (13:52 +0100)]
levelbar: Remove priv pointer

7 years agoswitch: Avoid a gtk_widget_get_clip call
Timm Bäder [Sat, 17 Mar 2018 19:29:36 +0000 (20:29 +0100)]
switch: Avoid a gtk_widget_get_clip call

Since we get the correct clip anyway from the gtk_widget_size_allocate
call above.

7 years agogrid: Remove child list
Timm Bäder [Sat, 17 Mar 2018 14:45:35 +0000 (15:45 +0100)]
grid: Remove child list

Save the child info using g_object_set_qdata and just use the widget's
built-in child list for everthing else. This is especially simple for
GtkGrid since it has never supported reordering its child widgets.

7 years agopaned: Remove priv pointer
Timm Bäder [Sat, 17 Mar 2018 14:07:50 +0000 (15:07 +0100)]
paned: Remove priv pointer

7 years agocontainer: Don't use forall() in compute_expand
Timm Bäder [Sat, 17 Mar 2018 13:59:19 +0000 (14:59 +0100)]
container: Don't use forall() in compute_expand

Use the widget list instead, which saves some code.

7 years agocontainer: Don't use forall() in get_request_mode
Timm Bäder [Sat, 17 Mar 2018 13:54:23 +0000 (14:54 +0100)]
container: Don't use forall() in get_request_mode

We can just use the widget child list, which save some code.

7 years agotexture: Fix documentation block of gdk_texture_download
Rico Tzschichholz [Mon, 19 Mar 2018 19:31:15 +0000 (20:31 +0100)]
texture: Fix documentation block of gdk_texture_download

7 years agoFix some accessibility issues in demos
Samuel Thibault [Mon, 19 Mar 2018 15:29:25 +0000 (16:29 +0100)]
Fix some accessibility issues in demos

Fixes #110

7 years agogtkbuilder: add accessibility role declaration
Samuel Thibault [Mon, 19 Mar 2018 13:11:16 +0000 (14:11 +0100)]
gtkbuilder: add accessibility role declaration

This allows to override the role declared to the atk stack.  For
instance,

<accessibility>
  <role type="static"/>
</accessibility>

allows to tell the accessibility stack that a label is just a message in
a message box.

Fixes #109

7 years agogdkrgba: Add a missing apostrophe in a doc comment
Daniel Boles [Mon, 19 Mar 2018 15:13:04 +0000 (15:13 +0000)]
gdkrgba: Add a missing apostrophe in a doc comment

7 years agogtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11
Quentin Glidic [Thu, 6 Jul 2017 14:31:46 +0000 (16:31 +0200)]
gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11

Unlike what commit d01ea18dc3a9acc98fc133ddb53ddc838e4e18f9 says, X11 is
not a requirement for Wayland, so a Wayland-only build is possible. We
just use the same logic as other non-X11 platforms.

https://bugzilla.gnome.org/show_bug.cgi?id=784615

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
7 years agox11/xi2: Report touchpads as TOUCHPAD, not MOUSE
Daniel van Vugt [Fri, 16 Mar 2018 07:40:40 +0000 (15:40 +0800)]
x11/xi2: Report touchpads as TOUCHPAD, not MOUSE

is_touchpad_device() for XI2 was hardcoded to look for libinput only.
Extend it slightly to correctly identify other Xorg touchpad drivers.

https://gitlab.gnome.org/GNOME/gtk/issues/97

7 years agomediafile: Improve error message
Benjamin Otte [Sun, 18 Mar 2018 23:26:29 +0000 (00:26 +0100)]
mediafile: Improve error message

We are using media plugins these days, so this is not a compile-time
issue.

7 years agovideo: Add gtk_video_get_file()
Benjamin Otte [Sun, 18 Mar 2018 23:25:17 +0000 (00:25 +0100)]
video: Add gtk_video_get_file()

That function was missing.

7 years agogtk: Fix some g-i annotations warnings
Rico Tzschichholz [Sun, 18 Mar 2018 20:47:10 +0000 (21:47 +0100)]
gtk: Fix some g-i annotations warnings

7 years agoUpdate POTFILES.in
Piotr Drąg [Sun, 18 Mar 2018 20:12:29 +0000 (21:12 +0100)]
Update POTFILES.in

7 years agomediastream: Add gtk_media_stream_realize/unrealize()
Benjamin Otte [Sun, 18 Mar 2018 02:20:02 +0000 (03:20 +0100)]
mediastream: Add gtk_media_stream_realize/unrealize()

This allows widget to attach their streams to GdkWindow(s)

The idea is to allow attaching a stream to windowing system(s) so the
stream can make use of its resources, in particular GL contexts.

I am however unsure what to attach to:
- GtkWindow
- GdkWindow
- GtkWidget
- GskRenderer
Each of these provide advantages and disadvantages.

So I'm very much open to better suggestions.

7 years agobuild: Make GStreamer backend the default
Benjamin Otte [Sun, 4 Mar 2018 14:03:26 +0000 (15:03 +0100)]
build: Make GStreamer backend the default

Instead of compiling without media backend by default, we now use the
GStreamer backend.

This means that CI now requires gstreamer support.

7 years agogtk-demo: Add a simple video player example
Benjamin Otte [Mon, 5 Mar 2018 01:15:29 +0000 (02:15 +0100)]
gtk-demo: Add a simple video player example

For now, it's impossible to unfullscreen. Somebody should figure out a
way to do this.

7 years agogtk: Add a GStreamer implementation of GtkMediaFile
Benjamin Otte [Fri, 2 Mar 2018 00:56:31 +0000 (01:56 +0100)]
gtk: Add a GStreamer implementation of GtkMediaFile

7 years agodemos: Round up the paintable demos with a media stream
Benjamin Otte [Tue, 27 Feb 2018 02:58:52 +0000 (03:58 +0100)]
demos: Round up the paintable demos with a media stream

7 years agodemos: Add an animated paintable demo
Benjamin Otte [Tue, 27 Feb 2018 02:09:33 +0000 (03:09 +0100)]
demos: Add an animated paintable demo

This builds on the paintable demo.

7 years agogtk-demo: Add paintable demo
Benjamin Otte [Tue, 27 Feb 2018 01:28:55 +0000 (02:28 +0100)]
gtk-demo: Add paintable demo

7 years agodemos: Add a video benchmark to widgetbowl demo
Benjamin Otte [Sat, 24 Feb 2018 22:57:52 +0000 (23:57 +0100)]
demos: Add a video benchmark to widgetbowl demo

7 years agogtk-demo: Add a video example (with controls) to the images demo
Benjamin Otte [Sat, 17 Feb 2018 23:33:17 +0000 (00:33 +0100)]
gtk-demo: Add a video example (with controls) to the images demo

7 years agogtk: Add GtkVideo
Benjamin Otte [Thu, 1 Mar 2018 03:52:27 +0000 (04:52 +0100)]
gtk: Add GtkVideo

GtkVideo is a simple video player widget. It probably needs some more
configurability, but it does its job.

7 years agogtk: Add GtkMediaControls
Benjamin Otte [Mon, 26 Feb 2018 00:32:01 +0000 (01:32 +0100)]
gtk: Add GtkMediaControls

This is a basic first implementation of controls for a GtkMediaStream,
modeled after Totem's UI.

7 years agogtk: Add ffmpeg implementation of GtkMediaFile
Benjamin Otte [Tue, 27 Feb 2018 22:19:17 +0000 (23:19 +0100)]
gtk: Add ffmpeg implementation of GtkMediaFile

This adds a module using ffmpeg to implement the GtkMediaFile interface.

7 years agomediafile: Turn into an extension point
Matthias Clasen [Thu, 1 Mar 2018 20:46:16 +0000 (21:46 +0100)]
mediafile: Turn into an extension point

This way, we can support external libraries providing implementations of
GtkMediaFile.

We also add a media backend called 'nomedia' that can be enabled to not
compile any support for GtkMediaFile. This is useful when people want to
statically compile GTK into an application that does not use media.
For now, this option is the default.

We also support a new environment variable GTK_MEDIA that allows
selecting the implementation to use.
GTK_MEDIA=help can be used to get info about the available
implementations.

7 years agogtk: Add GtkMediaFile
Benjamin Otte [Tue, 27 Feb 2018 16:01:50 +0000 (17:01 +0100)]
gtk: Add GtkMediaFile

GtkMediaFile is an implementation of GtkMediaStream to play back files.

Except it isn't an implementation yet, but only an interface.

7 years agogtk: Add GtkMediaStream
Benjamin Otte [Tue, 27 Feb 2018 22:22:26 +0000 (23:22 +0100)]
gtk: Add GtkMediaStream

GtkMediaStream is the new base class for playback of audio and video
streams.

It implements GdkPaintable for rendering.

7 years agotexture: Fix compilation by avoiding to include not-yet available headers
Rico Tzschichholz [Sun, 18 Mar 2018 19:52:46 +0000 (20:52 +0100)]
texture: Fix compilation by avoiding to include not-yet available headers

7 years agosnapshot: Turn into GObject
Benjamin Otte [Sun, 18 Mar 2018 18:21:33 +0000 (19:21 +0100)]
snapshot: Turn into GObject

This makes GdkSnapshot the base class for GtkSnapshot and hopefully
stops confusing bindings.

C code should see no difference to before.

7 years agotestsuite: Update C++ keywords test to GTK 3.0.0
Benjamin Otte [Sun, 18 Mar 2018 18:20:46 +0000 (19:20 +0100)]
testsuite: Update C++ keywords test to GTK 3.0.0

7 years agobuild: Fix printbackends
Benjamin Otte [Sun, 18 Mar 2018 18:08:28 +0000 (19:08 +0100)]
build: Fix printbackends

There's no "auto" option anymore, so remove checks for that option.

7 years agogltexture: Rename variable
Benjamin Otte [Sun, 18 Mar 2018 15:55:15 +0000 (16:55 +0100)]
gltexture: Rename variable

Makes docs build happy.

7 years agotexture: Expose subclasses as subclasses
Benjamin Otte [Sun, 18 Mar 2018 04:14:52 +0000 (05:14 +0100)]
texture: Expose subclasses as subclasses

This is necessary so that bidnings work properly and don't make
gdk_gl_texture_release() a function on GdkTexture.
It also allows code to identify what type of texture they are dealing
with.

Finally, we can now decide to add getters later without screwing
anything up, if we want to allow people to access GL textures directly.

7 years agogdk: Add GDK_MEMORY_DEFAULT
Benjamin Otte [Sun, 18 Mar 2018 03:48:06 +0000 (04:48 +0100)]
gdk: Add GDK_MEMORY_DEFAULT

This is the default memory format.

I added it because it is way better than including a private header and
using GDK_MEMORY_CAIRO_FORMAT_ARGB32.

7 years agogdk: Remove gdk_texture_new_from_data()
Benjamin Otte [Sun, 18 Mar 2018 03:38:49 +0000 (04:38 +0100)]
gdk: Remove gdk_texture_new_from_data()

Use gdk_memory_texture_new() instead.

7 years agoSpinButton: Desensitise +/- buttons as appropriate
Daniel Boles [Sat, 17 Mar 2018 15:39:36 +0000 (15:39 +0000)]
SpinButton: Desensitise +/- buttons as appropriate

The logic for this in 3 got lost in the move from gadgets to widgets. We
must update the sensitivities when :wrap, :value, or the bounds change.

Close: https://gitlab.gnome.org/GNOME/gtk/issues/88

7 years agosnapshot: Fix some indentation
Timm Bäder [Sat, 17 Mar 2018 13:13:42 +0000 (14:13 +0100)]
snapshot: Fix some indentation

7 years agocontainer: Fix scroll adjustment coordinates
Timm Bäder [Sat, 17 Mar 2018 10:36:00 +0000 (11:36 +0100)]
container: Fix scroll adjustment coordinates

7 years agotestgtk: Remove alpha widgets demo
Timm Bäder [Sat, 17 Mar 2018 10:21:47 +0000 (11:21 +0100)]
testgtk: Remove alpha widgets demo

This used to test that "windowed widgets" and "non-windowed widgets"
handle alpha correctly, but none of the mentioned widgets are windowed
at all anymore. For the rest, this is more easily and dynamically
testable by simply using the inspector.

7 years agotestgtk: GtkSpinButton is not a GtkEntry anymore
Timm Bäder [Sat, 17 Mar 2018 10:20:49 +0000 (11:20 +0100)]
testgtk: GtkSpinButton is not a GtkEntry anymore

7 years agolayout: Fix scrolling
Timm Bäder [Sat, 17 Mar 2018 10:13:23 +0000 (11:13 +0100)]
layout: Fix scrolling

We accidentally dropped the code that takes the adjustments into account
at some point.

7 years agolayout: remove map implementation
Timm Bäder [Sat, 17 Mar 2018 10:09:33 +0000 (11:09 +0100)]
layout: remove map implementation

gtk_widget_real_map already maps all the child widgets.

7 years agocontainer: Remove focus widget sorting code
Timm Bäder [Sat, 17 Mar 2018 09:59:49 +0000 (10:59 +0100)]
container: Remove focus widget sorting code

The more general version of this code lives in gtkwidgetfocus.s now.

7 years agowindow: Use widget facilities to sort focus menubars
Timm Bäder [Sat, 17 Mar 2018 09:58:06 +0000 (10:58 +0100)]
window: Use widget facilities to sort focus menubars

7 years agomenubar: Use GtkWidget focusing facilities
Timm Bäder [Sat, 17 Mar 2018 09:43:09 +0000 (10:43 +0100)]
menubar: Use GtkWidget focusing facilities

7 years agoradibutton: Use focusing facilities from GtkWidget
Timm Bäder [Sat, 17 Mar 2018 09:30:10 +0000 (10:30 +0100)]
radibutton: Use focusing facilities from GtkWidget

Instead of the ones from GtkContainer which will hopefully soon go away.

7 years agocontainer: Only do custom focus management if a focus chain is set
Timm Bäder [Sat, 17 Mar 2018 08:54:22 +0000 (09:54 +0100)]
container: Only do custom focus management if a focus chain is set

Otherwise, the process should be the same one we use in GtkWidget.

7 years agocontainer: Rename parent_class to gtk_container_parent_class
Timm Bäder [Sat, 17 Mar 2018 08:53:35 +0000 (09:53 +0100)]
container: Rename parent_class to gtk_container_parent_class

To match the name we have everywhere else.

7 years agowidget: Fix a few typos in cursor documentation
Timm Bäder [Sat, 17 Mar 2018 07:20:03 +0000 (08:20 +0100)]
widget: Fix a few typos in cursor documentation

7 years agopopover: Remove an unneeded local variable
Timm Bäder [Fri, 16 Mar 2018 20:33:56 +0000 (21:33 +0100)]
popover: Remove an unneeded local variable

7 years agomagnifier: Clip child node to magnifier size
Timm Bäder [Fri, 16 Mar 2018 20:30:31 +0000 (21:30 +0100)]
magnifier: Clip child node to magnifier size

It's still broken in several other ways, but now one less.

7 years agoFix a few get_allocated_width/height usages
Timm Bäder [Fri, 16 Mar 2018 16:58:14 +0000 (17:58 +0100)]
Fix a few get_allocated_width/height usages

7 years agowidgetbowl: Add a proper description
Timm Bäder [Fri, 16 Mar 2018 08:40:57 +0000 (09:40 +0100)]
widgetbowl: Add a proper description

Instead of the copy/pasted one from the fishbowl demo.

7 years agoNotebook: Don’t show raw underline/markup in popup
Daniel Boles [Fri, 16 Mar 2018 22:11:58 +0000 (22:11 +0000)]
Notebook: Don’t show raw underline/markup in popup

If @menu_label == NULL, we create a default page->menu_label. This took
@tab_label.get_label() and passed that to page->menu_label.set_text().
This is wrong because we set the plain text of the menu_label from the
rich text of @tab_label. So, if @tab_label used mnemonics or markup, our
menu_label got the raw underline or markup tags shown in it as raw text.

As we call set_text() on the menu Label, the fix is to be symmetric: use
@tab_label’s get_text() as source, as that strips underlines and markup.

It’s not worth making the default Label ‘inherit’ :use-underline/markup;
that’s a slippery slope, and users wanting such things can just create a
fully fledged GtkLabel to pass as @menu_label to suppress the default.

https://bugzilla.gnome.org/show_bug.cgi?id=705509

7 years agoselection: Remove surface APIs
Benjamin Otte [Fri, 16 Mar 2018 04:30:35 +0000 (05:30 +0100)]
selection: Remove surface APIs

7 years agocellrendererpixbuf: Store the texture in the iconhelper paintable
Benjamin Otte [Fri, 16 Mar 2018 03:50:26 +0000 (04:50 +0100)]
cellrendererpixbuf: Store the texture in the iconhelper paintable

That's kinda weird but allows us to delete the texture case from
GtkIconHelper and GTK_IMAGE_TEXTURE from the GtkImageType enum.

And it doesn't cause any other problems because the cell renderer
can't deal with paintables - otherwise it would mirror GtkImage and have
a "paintable" property instead.

7 years agoimage: Remove gtk_image_set_texture()
Benjamin Otte [Fri, 16 Mar 2018 03:29:42 +0000 (04:29 +0100)]
image: Remove gtk_image_set_texture()

gtk_image_get_paintable() is a perfect replacement, so use that one.

7 years agoimage: Add gtk_image_set_can_shrink()
Benjamin Otte [Thu, 15 Mar 2018 17:48:44 +0000 (18:48 +0100)]
image: Add gtk_image_set_can_shrink()

Images with that value set will request a 0x0 minimum size and scale
down their contents.

7 years agoimage: Add gtk_image_set_keep_aspect_ratio()
Benjamin Otte [Thu, 15 Mar 2018 17:10:01 +0000 (18:10 +0100)]
image: Add gtk_image_set_keep_aspect_ratio()

If set, the image will draw its contents while keeping their aspect
ratio. That means empty areas show up on the top/bottom or left/right.

Also move the special-case snapshotting code for icons to
GtkIconHelper. That's where it belongs.

7 years agoiconhelper: Implement GdkPaintable
Benjamin Otte [Thu, 15 Mar 2018 08:40:52 +0000 (09:40 +0100)]
iconhelper: Implement GdkPaintable

This only implements the vfuncs, but does not actually emit signals
yet.

It's also not useed for anything other than snapshot() so far, this
will come in later commits.

7 years agoicontheme: Remove surface support
Benjamin Otte [Thu, 15 Mar 2018 02:47:19 +0000 (03:47 +0100)]
icontheme: Remove surface support

It's not used anymore.

7 years agoimage: Don't handle surfaces anymore
Benjamin Otte [Thu, 15 Mar 2018 02:01:58 +0000 (03:01 +0100)]
image: Don't handle surfaces anymore

Lots of special cases that are no longer needed because no code uses
surfaces.

Also remove the GdkCellRendererPixbuf:surface property.

7 years agotests: Port from surface to texture
Benjamin Otte [Thu, 15 Mar 2018 01:59:03 +0000 (02:59 +0100)]
tests: Port from surface to texture

7 years agodragsource: Replace gtk_drag_source_set_icon_surface()
Benjamin Otte [Thu, 15 Mar 2018 01:53:17 +0000 (02:53 +0100)]
dragsource: Replace gtk_drag_source_set_icon_surface()

... with gtk_drag_source_set_icon_paintable().

7 years agoinspector: Use Textures for images in the property view
Benjamin Otte [Thu, 15 Mar 2018 01:36:13 +0000 (02:36 +0100)]
inspector: Use Textures for images in the property view