summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* GtkCenterBox: Implement baseline supportcenter-boxMatthias Clasen2017-06-041-87/+96
|
* GtkCenterBox: implement GtkOrientableMatthias Clasen2017-06-041-44/+144
| | | | This is generally expected of containers.
* Keep GtkCenterBox struct privateMatthias Clasen2017-06-042-14/+15
| | | | No need to derive from this.
* centerbox: do height-for-width properlyMatthias Clasen2017-06-041-93/+212
|
* Make expand work for the center box childrenMatthias Clasen2017-06-031-24/+63
| | | | | We expand the center child first, but only to as far as we can keep it centered.
* Improve the center box testMatthias Clasen2017-06-031-3/+15
|
* Make GtkCenterBox buildableMatthias Clasen2017-06-031-1/+27
|
* center box: implement natural size and rtl flippingMatthias Clasen2017-06-031-88/+142
| | | | | We prefer to give the center widget its natural size, and we center it as long as possible.
* center box: handle missing start or end widgetsMatthias Clasen2017-06-031-45/+69
|
* Add a trivial center box testMatthias Clasen2017-06-033-0/+30
|
* export the center box apiMatthias Clasen2017-06-031-0/+8
| | | | Without this, its not a public api after all...
* Make GtkCenterBox publicMatthias Clasen2017-06-026-10/+150
| | | | This is functionality we used to have, and it is generally useful.
* wayland: selectively cancel key repeat on key releaseDan Torop2017-06-021-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under Wayland, when multiple keys are pressed and the user releases a key, key repeat should continue unless the key released is the one currently repeating. In the case of: - key1 press - key1 repeat - key2 press -> key1 repeat stopped - key2 repeat - key2 release The behavior should be to cancel keyboard repeat, though key1 is still held down. This is consistent with prior X11/XWayland behavior. The following also must work: - key1 press - key2 press - key2 release - key2 press - key1 release - key2 should continue to repeat The fix for bug #778019 should continue to work: - key1 press - key1 repeat - key2 press -> key1 repeat stopped - key1 release - key2 should repeat The choice to change the counter nkeys to the flag repeat_active helps to solve the second test case. https://bugzilla.gnome.org/show_bug.cgi?id=781285
* wayland: fix xdg_surface test in move/resize dragOlivier Fourdan2017-06-021-2/+2
| | | | | | | | begin_resize_drag() and begin_move_drag() check for xdg_surface being not null, but those apply on xdg_toplevel so they should check for xdg_toplevel being non-null instead. https://bugzilla.gnome.org/show_bug.cgi?id=781945
* wayland: check parent surface for subsurfaceOlivier Fourdan2017-06-021-1/+1
| | | | | | | | | | | | | | | | When an event is received while a tooltip is showing, the GtkTooltip's event handling code can end up calling gdk_window_set_transient_for() from gtk_tooltip_set_last_window(). The Wayland GDK backend will try to automatically create a subsurface in gdk_wayland_window_set_transient_for() but if the parent surface is gone meanwhile, this will will cause a crash when trying to create a subsurface from a parent with a null surface. Checking for the parent is not sufficient, we ought to check for the parent surface as well to avoid the crash. https://bugzilla.gnome.org/show_bug.cgi?id=782283
* wayland: Do not map toplevel utility as popupOlivier Fourdan2017-06-021-5/+0
| | | | | | | | | | | | | | | Applications can specify the type hint as utility even on toplevel windows. When that toplevel is also marked as a transient for another window, GDK Wayland backend would translate that as an xdg_popup which is not appropriate. While utility temp windows should remain mapped as subsurfaces (such as the ones used by treeviews), regular windows should not translate as neither a subsurface nor an xdg_popup. https://bugzilla.gnome.org/show_bug.cgi?id=781945
* gtkfilechoosernativewin32: Fix support for non-ASCII pathsChristoph Reiter2017-06-021-9/+32
| | | | | | | | | | | | | | 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
* meson: Rebuild the SCSS-based themes if sassc is availableEmmanuele Bassi2017-06-013-1/+75
| | | | | If we have sassc installed then we want to rebuild the themes that use SCSS whenever one of their dependencies change.
* Adwaita: Add missing rule for fullscreen headerbarDaniel Boles2017-05-313-10/+10
| | | | | | | | | | | | 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 796f9b5bfb0f356b06515d25203e3bcd00c80687. 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
* HighContrast: Regenerate CSS files with sasscDaniel Boles2017-05-312-7051/+3094
|
* HighContrast: Update parse-sass.sh; remove GemfileDaniel Boles2017-05-312-4/+12
| | | | Make parse-sass.sh use sassc instead of the old Ruby method.
* themes: Square corners on fullscreen win headerbarDaniel Boles2017-05-316-7/+19
| | | | | | | | 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
* HighContrast: Restore files to regenerate CSSDaniel Boles2017-05-312-0/+5
| | | | | 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.
* gdk/gtk: Fix Since tags for 3.92 symbolsRico Tzschichholz2017-05-302-3/+3
| | | | In addition to 406db15066f121c2b9910691f92e5841b30e0311
* wayland: Don't warn if the display is lost, skip exit handlersDebarshi Ray2017-05-301-5/+5
| | | | | | | | | | There is no need to have every application log a warning when the Wayland display server goes away, and we are using _exit instead of exit elsewhere. This is also what the X11 backend does (see gdk_x_io_error). https://bugzilla.gnome.org/show_bug.cgi?id=745289
* gdk/gtk: Fix more AVAILABLE_IN annotations to 3_92Daniel Boles2017-05-284-5/+5
|
* gdkevents.h: Fix version annotations on new funcsDaniel Boles2017-05-271-2/+2
|
* gtk: Make GtkPointerFocus refcountedwip/carlosg/event-deliveryCarlos Garnacho2017-05-253-9/+36
| | | | | In order to make it really sure the GtkPointerFocus is valid while being removed from a GtkWindow.
* gtkwidget: Lookup the event target when cancelling GdkEventSequencesCarlos Garnacho2017-05-251-1/+1
| | | | | We were getting the toplevel most often here, so the gestures weren't properly cleaned up.
* gtk: Check implicit grab status before sending crossing eventsCarlos Garnacho2017-05-253-3/+27
| | | | | | 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.
* gtk: Refactor crossing event synthesization into a separate functionCarlos Garnacho2017-05-251-18/+32
| | | | | This is now called outside update_pointer_focus_state() with the events that actually matter (i.e. pointer ones, so no sequence == NULL checks)
* gtk: Rework pointer cursor selectionCarlos Garnacho2017-05-252-8/+48
| | | | | | | | | | 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.
* gtktreeview: Fix invalidation coordinatesCarlos Garnacho2017-05-251-5/+10
| | | | We must account for the widget allocation now that there is no view_window.
* gtkiconview: Fix invalidation coordinatesCarlos Garnacho2017-05-251-7/+20
| | | | We must account for the widget allocation now that there is no view_window.
* gtkgesture: Consume button release/touch end events if gesture was claimedCarlos Garnacho2017-05-251-0/+7
| | | | | | 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.
* main: Automatically (un)set PRELIGHT state on widgetsTimm Bäder2017-05-251-0/+5
|
* Gesture: Remove window property completelyTimm Bäder2017-05-251-16/+0
| | | | | These are just leftovers, it's already gone from public API and the _{set,get}_property implementations.
* gtk: Fix event delivery on GTK_PHASE_TARGET controllersCarlos Garnacho2017-05-251-1/+1
| | | | | Look up the event target, not the "event widget" which is based on the event window, and thus points to the toplevel.
* gdk: Remove synthetic crossing event emission due to geometry changesCarlos Garnacho2017-05-252-145/+1
| | | | | | | | | | This just applied to child windows, but now GDK should just take care of toplevels, which shall get crossing events from the windowing when the right conditions apply. Removing this code fixes confused crossing state in widgets and messed up window_under_pointer tracking (Which now is meant to be toplevels) when any of the remaining child GdkWindows trigger these crossing events.
* gdk: Ensure to implicitly deactivate grabs when an impl window is hiddenCarlos Garnacho2017-05-251-1/+3
| | | | | For some reason this wasn't done on windows with an impl, but it totally should. Probably hidden by grabs in menus and somesuch being done on a child window.
* gtkpopover: Use event coordinates right away to detect clicks outside.Carlos Garnacho2017-05-251-18/+8
| | | | | There's no need anymore to translate coordinates, the event already contains popover-relative ones.
* gtkwindow: Implement ::pick to extend picking to popovers.Carlos Garnacho2017-05-251-0/+44
| | | | This makes interaction possible with popovers again.
* widget: Make sure we're not calling _get_parent on NULLTimm Bäder2017-05-251-1/+1
| | | | | | 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.
* Constify GdkEvent parameters in gtk_get_event_widget and _event_targetTimm Bäder2017-05-254-6/+6
|
* flowbox: Fix motion notify handlerTimm Bäder2017-05-251-22/+1
| | | | Same story as in GtkListBox.
* flowbox: Fix child item selectionTimm Bäder2017-05-251-1/+8
|
* flowbox: Fix child item allocationTimm Bäder2017-05-251-4/+4
|
* scrolledwindow: Avoid critical when removing sourceTimm Bäder2017-05-251-1/+2
| | | | | Make sure indicator->conceil_timer is actually set before trying to remove it.
* testlist: Fix custom cssTimm Bäder2017-05-251-3/+3
|
* scrolledwindow: Calculate indicator coords relative to scrolledwindowTimm Bäder2017-05-251-0/+7
| | | | | The event coordinates we get are relative to the scrolledwindow coordinates.