Timm Bäder
6e7f135f62
image: Remove css box drawing
2017-07-19 21:27:11 -04:00
Timm Bäder
90537a5e04
frame: Remove css box drawing
2017-07-19 21:27:11 -04:00
Timm Bäder
706b0722d4
switch: Remove css box drawing
2017-07-19 21:27:11 -04:00
Timm Bäder
72c611f7b1
flowbox: Remove css box drawing
2017-07-19 21:27:11 -04:00
Timm Bäder
d21e931b64
listbox: Remove css box drawing
2017-07-19 21:27:11 -04:00
Timm Bäder
a9b1c04c3f
headerbar: Remove css box drawing
2017-07-19 21:27:10 -04:00
Timm Bäder
442d084a2a
widget: Draw focus outline
2017-07-19 21:27:10 -04:00
Timm Bäder
2b5458ccfa
progressbar: Remove css box drawing
2017-07-19 21:27:10 -04:00
Timm Bäder
06950bcf8a
label: Remove css box drawing
2017-07-19 21:27:10 -04:00
Timm Bäder
5a575c3594
gtkgrid: Remove css box drawing
2017-07-19 21:27:10 -04:00
Timm Bäder
f73616ba47
gizmo: Remove css box drawing
2017-07-19 21:27:10 -04:00
Timm Bäder
7b7e85d618
box: Remove css box drawing
2017-07-19 21:27:10 -04:00
Timm Bäder
4b75b20c34
Widget: Disable css box drawing for GtkWindow
...
Until we know how we solve that.
2017-07-19 21:27:10 -04:00
Timm Bäder
ca94c680cc
button: Remove css box drawing
2017-07-19 21:27:10 -04:00
Timm Bäder
7656bd9bc3
widget: Draw background and border for every widget
2017-07-19 21:27:10 -04:00
Matthias Clasen
29e8a07ddd
Avoid compiler warnings
...
Initialize these variables, so gcc doesn't complain.
2017-07-19 20:45:52 -04:00
Carlos Garnacho
9de7c9f595
gtkwindow: Free pointer foci on dispose
...
That means the whole hierarchy is getting destroyed, leaving those
behind incurs not only in a leak, but also on weak refs (and unintended
repick) to happen in the wrong moment.
2017-07-19 18:16:18 +02:00
Carlos Garnacho
4772fc2d42
gtkwindow: Do not leak GtkPointerFocus
...
gtk_window_add_pointer_focus() increments the refcount, which means
the caller should be dropping its own.
2017-07-19 18:16:18 +02:00
John Ralls
fb70bfb69b
Fix MacOS compiler warnings.
2017-07-18 18:44:21 -07:00
John Ralls
ead480bc39
Copy gtk_clipboard_get_default implementation to gtkclipboard-quartz.c
...
Fixes bug 784323.
2017-07-18 18:44:21 -07:00
Philip Chimento
187e652adb
quartz: Implement gtk_clipboard_get_selection
...
This function is trivial and can be copied from the X11 implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=772281
2017-07-18 18:44:21 -07:00
Emmanuele Bassi
1b60361b4a
meson: Add missing source file
...
The newly added gtkfilechoosererrorstack.c source needs to be included
in the Meson build as well as the Autotools one.
2017-07-18 22:50:57 +01:00
Timm Bäder
3505e0d6e7
filechooserwidget: Add GtkFileChooserErrorStack
...
Showing all the different errors and warnings when renaming and creating
files/folders without potentially resizing popovers on every keystroke
requires us to know the size of the error messages beforehand, so pack
all of the possible error messages and warnings in labels and those into
a stack. This way we can also neatly crossfade transition between them.
https://bugzilla.gnome.org/show_bug.cgi?id=775636
2017-07-18 15:11:26 -04:00
Timm Bäder
20d47e2a6c
filechooserwidget: Let the rename entry hexpand
...
This makes a difference with other locals where error messages are
longer than the standard width of entry+spacing+button.
https://bugzilla.gnome.org/show_bug.cgi?id=775636
2017-07-18 15:11:26 -04:00
Iñaki García Etxebarria
3830083213
Add nullable return annotation to gtk_text_mark_get_name
...
https://bugzilla.gnome.org/show_bug.cgi?id=781936
2017-07-18 15:10:31 -04:00
Iñaki García Etxebarria
59a22b3d7e
Add nullable return annotation to gtk_notebook_get_tab_label
...
https://bugzilla.gnome.org/show_bug.cgi?id=781935
2017-07-18 15:07:49 -04:00
Daniel Aleksandersen
eb3bc251d5
Update the URLs of known licenses to HTTPS
...
Use HTTPS by default for security/privacy. Avoids slow redirects.
https://bugzilla.gnome.org/show_bug.cgi?id=766517
2017-07-18 14:35:22 -04:00
Arun Raghavan
4b1853b32f
gtkapplication: Mark gtk_application_get_active_window() as nullable
...
https://bugzilla.gnome.org/show_bug.cgi?id=784888
2017-07-18 14:03:59 -04:00
Matthias Clasen
d4b1cc3f56
Add gtkfilechoosernativequart.c to meson build
...
We have two build systems now, for good measure.
2017-07-18 13:35:21 -04:00
Tom Schoonjans
0e7d6bb71e
GtkFileChooserNativeWin32: add support for get_filter and set_filter
...
https://bugzilla.gnome.org/show_bug.cgi?id=784723
2017-07-18 13:30:45 -04:00
Tom Schoonjans
f10bfcc638
GtkFileChooserNativeQuartz: add support for get_filter and set_filter
...
https://bugzilla.gnome.org/show_bug.cgi?id=784723
2017-07-18 13:30:44 -04:00
Tom Schoonjans
946166e080
GtkFileChooserNative: documentation updated
...
https://bugzilla.gnome.org/show_bug.cgi?id=784723
2017-07-18 13:30:44 -04:00
Tom Schoonjans
a4775f8e92
GtkFileChooserNativeQuartz: add support for filters
...
Includes:
* Simple glob patterns (*.ext, *.*,...)
* MIME types
* pixbuf formats
https://bugzilla.gnome.org/show_bug.cgi?id=784723
2017-07-18 13:30:44 -04:00
Tom Schoonjans
55d139bc46
GtkFileChooserNativeQuartz: add partial support for extra widget
...
When the extra widget is a GtkLabel, then its text will be displayed as
a message in the NSSavePanel or NSOpenPanel
https://bugzilla.gnome.org/show_bug.cgi?id=784723
2017-07-18 13:30:44 -04:00
Tom Schoonjans
44e90c4dd3
GtkFileChooserNativeQuartz: add support for GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
...
Which is via NSOpenPanel, not NSSavePanel...
https://bugzilla.gnome.org/show_bug.cgi?id=784723
2017-07-18 13:30:44 -04:00
Tom Schoonjans
ff2c5e3820
GtkFilechooserNative: add macOS support
...
Based on the Win32 implementation, as well as the macOS file chooser
from
https://github.com/GNOME/gedit/blob/master/gedit/gedit-file-chooser-dialog-osx.[ch]
Not fully tested yet, but working properly so far.
TODO: filter support, extra widget (label), documentation...
https://bugzilla.gnome.org/show_bug.cgi?id=784723
2017-07-18 13:30:44 -04:00
Emmanuele Bassi
a9a25e2e84
Drop gtk-doc trigraphs on GtkTextView enumeration
...
The glib-mkenums tool does not recognise these gtk-doc annotations.
2017-07-16 12:33:24 +01:00
Bastien Nocera
eb338feff9
image: Warn when attempting to load pixdata GResources
...
GdkPixdata is deprecated. Warn when the application tries to load
pixdata embedded resources. The application developer will have to
remove the "to-pixdata" keyword from the GResource definition file.
https://bugzilla.gnome.org/show_bug.cgi?id=781583
2017-07-12 14:54:02 +02:00
Emmanuele Bassi
ce861bc430
Use newer glib-genmarshal to simplify build rules
...
The glib-genmarshal tool from GLib 2.54 added various command line
arguments that allow us to remove a bunch of as hoc manipulations of
the generated marshaller source files. The marshal generator tool can
now include an header in the source, and undef the G_ENABLE_DEBUG
pre-processor symbol for us. It can also generate the prototypes of the
marshallers in the C source, and avoid a 'missing-prototypes' compiler
warning.
2017-07-11 11:47:38 +01:00
Matthias Clasen
d9e38198c7
Avoid a race in the print portal
...
Same as the previous commit; use the new predictable request
object path to connect to the Response signal early.
2017-07-07 12:03:55 -04:00
Matthias Clasen
388078ba88
Avoid a race in the file chooser portal
...
Use the new predictable request object path and connect
to the Response signal before issuing the portal call.
This avoids a race that is pretty unlikely to hit in
the filechooser case.
2017-07-07 12:03:55 -04:00
Daniel Boles
29ff3c072c
label: Remove extra quote in code example
2017-07-07 08:15:05 +01:00
Will Thompson
176bc32950
headerbar: fix "widow" typo in docs
2017-06-15 15:53:18 +01:00
Debarshi Ray
2b48acbdf8
GtkActionHelper: Remove unnecessary NULL check
...
This NULL check has existed since commit 652f16dd98
, when
GtkActionHelper was first introduced, but so has the assertion at the
top to ensure the validity of 'widget'.
https://bugzilla.gnome.org/show_bug.cgi?id=783587
2017-06-13 21:59:36 +02:00
Debarshi Ray
33b3985440
GtkActionHelper: Allow a NULL action-name to unset the previous GAction
...
https://bugzilla.gnome.org/show_bug.cgi?id=783587
2017-06-13 21:59:36 +02:00
Matthias Clasen
1e47b9ea67
file chooser: Don't pass NULL as title to the portal
...
This causes critical warnings.
2017-06-13 13:11:59 -04:00
Chun-wei Fan
d15712fc9b
gtk/Makefile.am: Fix 'make dist'
...
We don't have gtkcenterboxprivate.h anymore, as it became a public
header...
2017-06-12 18:14:57 +08:00
Matthias Clasen
77f34d01ad
label: Provide a baseline in all cases
...
The label measuring code was only determining baselines
when the label was set to wrap, which does not seem right.
Non-wrapping labels have a meaningful baseline as well,
report it back.
2017-06-11 10:35:06 -04:00
Matthias Clasen
114f23cec7
center box: Take baseline-position fully into account
...
We need to take baseline-position into account during measure
as well.
2017-06-10 14:45:10 -04:00
Matthias Clasen
f135b2527f
center box: complete the baseline support
...
When there is no externally allocated baseline, we should
do the same thing that GtkBox does, and determine one from
the children that want baseline alignment.
This commit adds a GtkCenterBox::baseline-position property
with setters and getters.
2017-06-10 09:14:16 -04:00
Matthias Clasen
8316ec85f5
center box: Fix size allocation
...
This missing pair of parens was causing expanding children
to overlap.
2017-06-10 07:53:06 -04:00
Matthias Clasen
389535c572
center box: Drop a useless line
...
This is just a leftover that has no effect whatsoever.
2017-06-10 07:53:06 -04:00
Robert Ancell
7b8ea9af55
icon-theme: Show filename attempted when icon fails to load
2017-06-09 09:24:02 +12:00
Robert Ancell
82a4e830a3
iconhelper: Show error if fail to load placeholder icon
2017-06-09 09:24:02 +12:00
Matthias Clasen
86ac88e0be
Add some translator comments
...
These were requested in
https://bugzilla.gnome.org/show_bug.cgi?id=783552
2017-06-08 15:10:32 -04:00
Felipe Borges
322ba75e45
printunixdialog: Update collate icon as entry changes
...
By relying on GtkSpinButton default activation behavior, the
collate icon doesn't get updated when a new number is typed
in the copies spin button.
https://bugzilla.gnome.org/show_bug.cgi?id=759308
2017-06-07 14:28:26 +02:00
Kjell Ahlstedt
1b697fd7c2
widget: Fix gtk_widget_insert_after/before() docs
...
Add beginning double asterisks and function names. Correct the parameter
names (next/previous_child -> next/previous_sibling). Make the documentation
of the two functions more similar.
https://bugzilla.gnome.org/show_bug.cgi?id=783445
2017-06-06 14:57:52 +02:00
Matthias Clasen
bffbfde10a
Install gtkcenterbox.h
2017-06-05 21:09:30 -04:00
Nelson Benítez León
0973ac416a
gtktextdisplay: remove unused code
...
In render_para() function, which is called for every text line that
needs to be drawn.
https://bugzilla.gnome.org/show_bug.cgi?id=783397
2017-06-05 17:47:55 +05:00
Matthias Clasen
5e69fe17ae
center box: Add more documentation
2017-06-04 21:48:41 -04:00
Matthias Clasen
c35604cfcb
center box: add baseline support
...
This is copied more or less directly from GtkBoxGadget.
2017-06-04 21:40:20 -04:00
Matthias Clasen
f8737a6d8a
center box : implement GtkOrientable
...
This is generally expected of containers where it makes sense.
2017-06-04 21:40:20 -04:00
Matthias Clasen
141e053e87
center box: support height-for-width
...
Implement request modes fully.
2017-06-04 21:21:00 -04:00
Matthias Clasen
42921750ff
center box: Support expand property
...
We expand the center child first, but only as far
as we can keep it centered.
2017-06-04 21:21:00 -04:00
Matthias Clasen
60cd5b9b4c
center box: implement GtkBuildable
...
Make it possible to fill the slots by using the
type attribute on child nodes. This is necessary
since GtkCenterBox does not derive from GtkContainer.
2017-06-04 21:21:00 -04:00
Matthias Clasen
b4cb05ace9
center box: implement natural size and rtl flipping
...
We prefer to give the center widget its natural size,
and we center it as long as possible.
2017-06-04 21:20:57 -04:00
Matthias Clasen
f8059f3040
center box: handle missing start or end widgets
...
Any slot may be unfilled, not just the center one.
2017-06-04 21:20:33 -04:00
Matthias Clasen
e936a35d66
Make GtkCenterBox public
...
It provides functionality that GtkBox used to have,
and is generally useful.
2017-06-04 21:20:27 -04:00
Christoph Reiter
a1dc9e4660
gtkfilechoosernativewin32: Fix support for non-ASCII paths
...
The code used SIGDN_URL to get an URL for the selected item, but Windows URLs
are a mix of unicode and percent encoded characters in the locale encoding
and not something GFile can understand. The result is a garbage file
path.
Instead use SIGDN_FILESYSPATH to get a real file path if available.
Also checks the return value of g_utf16_to_utf8 because file paths on
Windows can contain lone surrogates which would make the conversion fail.
https://bugzilla.gnome.org/show_bug.cgi?id=783347
2017-06-02 13:22:36 +02:00
Emmanuele Bassi
ee408d5f75
meson: Rebuild the SCSS-based themes if sassc is available
...
If we have sassc installed then we want to rebuild the themes that use
SCSS whenever one of their dependencies change.
2017-06-01 14:56:32 +01:00
Daniel Boles
6f71c543e8
Adwaita: Add missing rule for fullscreen headerbar
...
Another selector forces round corners for headerbars in a stack, and it
has higher priority than the selector covering the non-stack case from
commit 796f9b5bfb
. Totem’s MainToolbar
happens to be in a stack, and we should maintain symmetry here anyway.
So, as window classes .maximized and .tiled are excluded from this other
selector, the newly handled .fullscreen case must be excluded here also.
https://bugzilla.gnome.org/show_bug.cgi?id=770513
2017-05-31 19:02:58 +01:00
Daniel Boles
513b56ce0f
HighContrast: Regenerate CSS files with sassc
2017-05-31 18:47:57 +01:00
Daniel Boles
dcdd31e6f3
HighContrast: Update parse-sass.sh; remove Gemfile
...
Make parse-sass.sh use sassc instead of the old Ruby method.
2017-05-31 18:46:57 +01:00
Daniel Boles
796f9b5bfb
themes: Square corners on fullscreen win headerbar
...
Totem uses a fullscreen window with a headerbar at the top, and without
this change, that headerbar has rounded corners, which look different
from a maximised window and let video content show through beneath.
https://bugzilla.gnome.org/show_bug.cgi?id=770513
2017-05-31 08:16:51 +01:00
Daniel Boles
fc96fce462
HighContrast: Restore files to regenerate CSS
...
I think parse-sass.sh needs updated to match what Adwaita does now, but
for now, this is sufficient to let us regenerate HighContrast again.
2017-05-31 08:16:35 +01:00
Rico Tzschichholz
a4e80efee7
gdk/gtk: Fix Since tags for 3.92 symbols
...
In addition to 406db15066
2017-05-30 15:10:25 +02:00
Daniel Boles
406db15066
gdk/gtk: Fix more AVAILABLE_IN annotations to 3_92
2017-05-28 14:20:19 +01:00
Carlos Garnacho
b894c35008
gtk: Make GtkPointerFocus refcounted
...
In order to make it really sure the GtkPointerFocus is valid while being
removed from a GtkWindow.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
690eb8ede6
gtkwidget: Lookup the event target when cancelling GdkEventSequences
...
We were getting the toplevel most often here, so the gestures weren't
properly cleaned up.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
0d7fe2ec09
gtk: Check implicit grab status before sending crossing events
...
As we now refrain from sending the crossing events if there's an
implicit grab, those events must be sent on button release when
the implicit grab is broken.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
f5fde52d61
gtk: Refactor crossing event synthesization into a separate function
...
This is now called outside update_pointer_focus_state() with the events
that actually matter (i.e. pointer ones, so no sequence == NULL checks)
2017-05-25 16:25:59 +02:00
Carlos Garnacho
e892e20841
gtk: Rework pointer cursor selection
...
Check the grab widget (both explicit and implicit) and check for a cursor
from the target widget up to this grab widget. If the target widget is
outside the grab widget, only the grab wigdet's cursor will be checked.
This also means that we have to ensure the cursor is updated on button
releases, as an implicit grab being deactivated must trigger a cursor
lookup from the target widget.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
ace686dba9
gtktreeview: Fix invalidation coordinates
...
We must account for the widget allocation now that there is no view_window.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
9f2e7edc3b
gtkiconview: Fix invalidation coordinates
...
We must account for the widget allocation now that there is no view_window.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
f8bc56dd55
gtkgesture: Consume button release/touch end events if gesture was claimed
...
In these situations we must perform the "is it claimed" check before removing
the (touch)point, as doing so when the gesture is empty will be too late if
the gesture actually claimed input.
2017-05-25 16:25:59 +02:00
Timm Bäder
8371b6b857
main: Automatically (un)set PRELIGHT state on widgets
2017-05-25 16:25:59 +02:00
Timm Bäder
f6e0850ff7
Gesture: Remove window property completely
...
These are just leftovers, it's already gone from public API and the
_{set,get}_property implementations.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
b62b33c1d9
gtk: Fix event delivery on GTK_PHASE_TARGET controllers
...
Look up the event target, not the "event widget" which is based on the
event window, and thus points to the toplevel.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
ee894903c7
gtkpopover: Use event coordinates right away to detect clicks outside.
...
There's no need anymore to translate coordinates, the event already contains
popover-relative ones.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
47e505781e
gtkwindow: Implement ::pick to extend picking to popovers.
...
This makes interaction possible with popovers again.
2017-05-25 16:25:59 +02:00
Timm Bäder
eef33d34d4
widget: Make sure we're not calling _get_parent on NULL
...
We already issue the first _get_parent call before even entering that
loop, so make sure `parent` is not NULL. This happens when event_widget
is already a toplevel, and this change fixes row-dragging in treeviews.
2017-05-25 16:25:59 +02:00
Timm Bäder
34fdc51392
Constify GdkEvent parameters in gtk_get_event_widget and _event_target
2017-05-25 16:25:59 +02:00
Timm Bäder
19174d8d94
flowbox: Fix motion notify handler
...
Same story as in GtkListBox.
2017-05-25 16:25:59 +02:00
Timm Bäder
2ad2ecad44
flowbox: Fix child item selection
2017-05-25 16:25:59 +02:00
Timm Bäder
dd836fff35
flowbox: Fix child item allocation
2017-05-25 16:25:59 +02:00
Timm Bäder
030b96cb49
scrolledwindow: Avoid critical when removing source
...
Make sure indicator->conceil_timer is actually set before trying to
remove it.
2017-05-25 16:25:59 +02:00
Timm Bäder
e54d8a6114
scrolledwindow: Calculate indicator coords relative to scrolledwindow
...
The event coordinates we get are relative to the scrolledwindow
coordinates.
2017-05-25 16:25:59 +02:00
Timm Bäder
782477188a
scrolledwindow: Stop checking event->detail in leave-notify
...
This is obsolete and resulted in sometimes stuck .hovering style classes
on scrollbars.
2017-05-25 16:25:59 +02:00
Timm Bäder
5ae9ca79e4
linkbutton: Fix hand cursor when hovering
...
Use the new gtk_widget_set_cursor instead of setting it on the
GdkWindow.
2017-05-25 16:25:59 +02:00
Timm Bäder
3e44a3920a
listbox: Fix row hovering
...
Drop the in_widget flag since motion events the listbox receives are
always inside the listbox. Also drop the manual coordinate translation
code using GdkWindows.
2017-05-25 16:25:59 +02:00
Timm Bäder
a0016758a8
widget: Copy event in gtk_widget_event and _captured_event
...
To ensure that we never translate the coordinates to widget coordinates
twice.
2017-05-25 16:25:59 +02:00
Timm Bäder
c83b8d17ff
meson: Add gtkpointerfocus.c to sources
2017-05-25 16:25:59 +02:00
Timm Bäder
f5e8d7a4e2
window: Hide titlebox when undecorated
...
We don't draw or size-allocate the titlebar when the window is
fullscreen or undecorated, so reflect this by setting it to
!child_visible. This can happen when changing the value of the decorated
property while the window is shown.
2017-05-25 16:25:59 +02:00
Timm Bäder
81cdc8713c
combobox: Only react to UP/DOWN scroll events
...
The old else block scrolled down for everything except GDK_SCROLL_UP
scroll events, e.g. for smooth scroll events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
40ab7e1c95
gtkmenu*: Simplify event handling
...
Instead of delegating on the parent shell of a menu item/shell on a variety
of situations, Simplify event handling so:
1) Menu item selection is handled entirely on GtkMenuItem through crossing
events.
2) The deepmost menu shell handles clicks inside and outside of it.
This avoids the rather hard to follow gtk_widget_event() calls going on all
throughout the handling of crossing and button events, and makes menus work
again.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
33c5f3c193
gtkmain: Add API to get the target of a GdkEvent
...
This can be used on grabbing situations to determine the target of
the event. This mainly matters for GtkMenu.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
da56fae5df
gtkmain: Ensure there is a current event handling crossing events
...
The "current event" will be the real one that is triggering the crossing
notifications, not the synthesized events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
03a63204c1
gtkmain: Ignore GDK_CROSSING_GRAB/UNGRAB crossing events for picking purposes
...
Especially with owner_events=TRUE, this doesn't mean anything for picking, as
events will be reported as usual inside the application.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
5483b9db2d
gtkmain: Avoid doubly propagation of enter/leave events from windowing
...
Crossing events are already generated when picking the new pointer position,
so we don't have to propagate the windowing crossing event as-is.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
f9924b7e3e
gtknotebook: Drop drag_window
...
It is not necessary anymore to implement tab DnD, since we just render
it on top.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
2c7102b557
gtkiconview: Remove view GdkWindow
...
It's not necessary anymore for clipping nor receiving events. So just
remove it. The event handling code was expecting events in bin_window
coordinates, and have been updated to relying on widget-relative coords.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
2f6c4ef68d
gtkviewport: Remove view window
...
It is not really necessary for clipping nor receiving events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
547370651b
gtkrevealer: Remove view window
...
It's not necessary anymore for either clipping or event delivery
2017-05-25 16:25:59 +02:00
Carlos Garnacho
94094611bc
gtkpaned: Remove per-child windows
...
Those are no longer necessary for clipping nor receiving events, so just
remove them.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
ae43ca7e49
gtklayout: Remove widget window
...
It can be entirely replaced by a clip allocation on the widget.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
fe40abc636
gtkoverlay: Remove per-child windows
...
They are no longer necessary to do child positioning nor input
handling.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
e2c38ddc22
gtkwidget: Add private set_pass_through() call
...
We could eventually support pointer-event in CSS here, in the mean
time add this call to replace the GdkWindow API.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
6c47938b00
gtktreeview: Remove header window
...
It is no longer necessary to overlay the column headers above the
treeview.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
cfd5a76ece
gtktreeview: Remove widget window
...
It can be entirely replaced by setting a proper clip rectangle.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
ea4ee876ec
gtkstack: Remove view window
...
This widget already sets a clip area, so the view window can be safely
removed.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
e342f90a99
gtktoolpalette: Remove child window
...
This is not necessary for rendering anymore, as the clip is set by the
parent scrolledwindow. It's not necessary either for receiving input
events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
57d7c34d03
gtkflowbox: Remove child window
...
This widget correctly sets up a clip, so it is not necessary neither
for rendering nor for receiving input events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
a595f92b7b
gtkwidget: Visually update cursors inside widget when changing cursor
2017-05-25 16:25:59 +02:00
Carlos Garnacho
fa04bf6238
gtkmain: Use window-internal API to update pointer cursors
2017-05-25 16:25:59 +02:00
Carlos Garnacho
599344d428
gtkwindow: Add private API to update pointer cursors
2017-05-25 16:25:59 +02:00
Carlos Garnacho
87c7ca910c
gtkscrolledwindows: Remove child windows
...
Both for the view (compensated by widget clip) and the scrollbar
indicators (just not needed anymore).
2017-05-25 16:25:59 +02:00
Carlos Garnacho
8731ca6ca5
gtkexpander: Remove event window
...
Detect presses/releases inside the label area instead.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
1858f310aa
gtkwindow: Implement window resizing sans-GdkWindow
...
We can just replace window comparisons with coordinate matching, the
cursor corresponding to edges is now set in a capture-phase motion
handler, as cursors aren't set on GdkWindows anymore.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
d9d0c56eb7
gtktoolitem: Remove gtk_tool_item_set_use_drag_window()
...
This API call is not necessary anymore, since it's no longer necessary
to receive events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
072a13d0b7
gtkswitch: Remove event window
...
It's not necessary anymore to receive input events. The pan gesture has
been set on the capture phase as the child widgets may capture during
bubbling.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
ef1e900a53
gtkmenuitem: Remove input window
...
It's not necessary anymore to receive events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
ee13d44622
gtkglarea: Remove input window
...
It's not necessary to receive events anymore.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
bee6148399
gtkseparatortoolitem: Remove event window
...
It's not necessary. It wasn't either before, as this widget handles no
events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
de3e20107a
gtkcolorswatch: Remove input window
...
It's not necessary to receive events anymore.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
8402174d6b
gtkcolorplane: Remove event window
...
It is not necessary anymore to receive events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
c14e6a5119
gtkrange: Remove event window
...
This is not necessary anymore to receive input events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
28b1c9cc3d
gtkpathbar: Remove event window
...
This is not necessary anymore to receive scroll events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
b7e6bb2241
gtktoolbar: Remove input window
...
This is not necessary to receive events anymore.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
d6023e9d45
label: Remove selection window
...
It's no longer needed to receive events while the label is selectable.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
3dd8a4191a
gtknotebook: Remove event window on top of tabs
...
No longer needed.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
95bf1379c0
gtkwindow: Ignore implicit grabs going away if there is no focus
...
There should be no circumstances where an implicit grab is requested but
no focus exists, there's however circumstances (like windowing grabs taking
input to a different window) where we might get implicit grabs being undone
when then new window didn't create a focus for the pointer itself.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
b7fee9f9d2
gtkwindow: Revoke implicit grabs when activating an explicit one
...
Only if they fall outside the grab widget, in that case the widget holding
the implicit grab won't be receiving events anymore, so we can just undo
it.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
eaa17b2548
gtkbutton: Make windowless
...
It is no longer necessary to receive events, so it's relatively straightforward
now to drop.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
a72404dd5a
gtk: Mass delete all GtkWidget event mask API
...
We now rely on toplevels receiving and forwarding all the events
the windowing should be able to handle. Event masks are no longer a
way to determine whether an event is deliverable ot a widget.
Events will always be delivered in the three captured/target/bubbled
phases, widgets can now just attach GtkEventControllers and let those
handle the events.
2017-05-25 16:25:58 +02:00
Carlos Garnacho
ef4f0e5336
gtkwidget: Make gtk_widget_event() Accept pointing events in root coordinates
...
This function will, at the last minute, ensure the event contains the right
widget-relative coordinates for the widget the event is being emitted to.
2017-05-25 16:25:58 +02:00
Carlos Garnacho
02932bc406
gtkgesture: Drop GdkWindow checks
...
Those are now needless and wrong, as we get guarantees that handled
events will contain widget-relative coordinates. A side effect is
that these events are very possibly not explicitly sent to the
GdkWindow that implementations expect, any extra checks performed
through gtk_gesture_set_window() will be wrong, so the function has
been dropped entirely.
2017-05-25 16:25:58 +02:00
Carlos Garnacho
2c9678c38f
gtkexpander: Drop usage of gtk_gesture_set_window()
...
It's now meaningless since the gesture will receive the event despite
the input only window.
2017-05-25 16:25:58 +02:00
Carlos Garnacho
f5e02f3a2a
gtkcolorplane: Drop usage of gtk_gesture_set_window()
...
It's now meaningless since the widget will receive the event despite
the input window.
2017-05-25 16:25:58 +02:00
Carlos Garnacho
99e200aa98
gtknotebook: Fix coordinate translation to happen on widget-relative coordinates
...
This makes notebooks happy again after changing event coordinates to always come in
the widget coordinate system.
2017-05-25 16:25:58 +02:00
Carlos Garnacho
b01a9a6440
gtktextview: Drop GdkWindow checks on events
...
These are now wrong and prevent the code from running correctly.
2017-05-25 16:25:58 +02:00