summaryrefslogtreecommitdiff
path: root/gtk
Commit message (Collapse)AuthorAgeFilesLines
* Changes after reviewEmmanuele Bassi2019-03-2614-264/+355
| | | | | | | | | - Rename GtkLegacyLayout to GtkCustomLayout - Use for() to iterate over children in GtkBinLayout - Whitespace fixes for code imported from GtkBox - Store the GtkLayoutChild instances inside LayoutManager - Simplify the GtkLayoutManager API by dropping unnecessary arguments - Fix the ownership model of GtkLayoutManager
* Parse layout propertiesEmmanuele Bassi2019-03-261-1/+251
| | | | | | | | | | | | | | | | | | If a widget has a LayoutManager instance, then we want to parse layout properties in UI description files; the grammar is similar to packing properties in GtkContainer: <child> <object ...> <property name="...">...</property> <layout> <property name="pname">value</property> </layout> </object> </child> The properties are applied after a child has been added to its parent, to the parent's layout manager property should be set.
* Add GtkBinLayoutEmmanuele Bassi2019-03-264-0/+139
| | | | Like GtkBin, but lets you lay out multiple children instead of just one.
* Port GtkSwitch to GtkLegacyLayoutEmmanuele Bassi2019-03-261-7/+11
|
* Add GtkLegacyLayoutEmmanuele Bassi2019-03-263-0/+163
| | | | | | GtkLegacyLayout is a layout manager for the transitional period between the introduction of layout managers and the removal of GtkWidget virtual functions for the size negotiation.
* Port GtkBox to GtkBoxLayoutEmmanuele Bassi2019-03-261-578/+45
| | | | | We can delegate all the layout management to a GtkBoxLayout, now that we have one.
* Add GtkBoxLayoutEmmanuele Bassi2019-03-264-0/+933
| | | | The same layout policy of GtkBox, without all the GtkContainer calories.
* Add GtkLayoutChildEmmanuele Bassi2019-03-266-15/+319
| | | | | | | | | | | | Layout managers needs a way to store properties that control the layout policy of a widget; typically, we used to store these in GtkContainer's child properties, but since GtkLayoutManager is decoupled from the actual container widget, we need a separate storage. Additionally, child properties have their own downsides, like requiring a separate, global GParamSpecPool storage, and additional lookup API. GtkLayoutChild is a simple GObject class, which means you can introspect and document it as you would any other type.
* Rename the internal GtkLayoutChild typeEmmanuele Bassi2019-03-261-11/+11
| | | | | The type is completely private to GtkLayout, so there's really no need to namespace it.
* Add GtkWidget:layout-managerEmmanuele Bassi2019-03-261-0/+22
| | | | | | We can use a constructor property for existing container widgets with a layout policy, and move the layout policy implementation out of the widget itself and into a LayoutManager subclass.
* Hook GtkLayoutManager into GtkWidgetEmmanuele Bassi2019-03-267-69/+258
| | | | | | We delegate the size request mode, the measuring, and the allocation of a widget through a GtkLayoutManager instance, if one has been attached to the widget; otherwise, we fall back to the widget's own implementation.
* Add GtkLayoutManagerEmmanuele Bassi2019-03-265-0/+329
| | | | | | | | A base abstract class for layout manager delegate objects. Layout managers are associated to a single widget, like event controllers, and are responsible for measuring and allocating the children of the widget they are bound to.
* Doc comment fixupTimm Bäder2019-03-251-1/+1
|
* popover: Always measure contents gizmoTimm Bäder2019-03-251-7/+3
| | | | | | Otherwise we're getting warnings about allocating a widget we haven't measured first, which is fair. The contents gizmo itself will later take care about whether or not the real popover child is NULL.
* popover: Don't try to compute_bounds of a NULL childTimm Bäder2019-03-251-1/+2
|
* Remove a dead fileMatthias Clasen2019-03-241-703/+0
| | | | We are not using this anymore.
* color editor: Don't warn if editing is cancelledMatthias Clasen2019-03-241-1/+0
| | | | Thats a valid way to end color picking.
* Fix compile warningBenjamin Otte2019-03-231-2/+1
|
* Remove win32 themeing supportBenjamin Otte2019-03-2216-4186/+3
| | | | | | It was unused through all of GTK 3, so it is not worth supporting. The best Windows themes do not make use of it at all.
* Fix hover state handlingMatthias Clasen2019-03-221-1/+37
| | | | | | | We were not paying enough attention to detail when updating hover and focus state while generating crossing events. The invariant that we need to preserve here is that when a widget has focus or hover, its parent does too.
* Stop walking parent surfaces for crossing event generationMatthias Clasen2019-03-221-136/+4
| | | | | | | We basically don't have child surfaces anymore (the last use in popovers is on the way out). This really needs to be done in terms of widgets, not surfaces. For now, just stop walking parent surfaces.
* cssparser: SimplifyBenjamin Otte2019-03-223-38/+15
| | | | | | Remove the uint parser (and use the int parser in the one user of it). And avoid unnecessarily going through a macro.
* cssparser: Remove unused functionsBenjamin Otte2019-03-222-122/+0
|
* Remove debug spewMatthias Clasen2019-03-221-1/+0
|
* entry: Disconnect text signals in disposeMatthias Clasen2019-03-211-1/+13
| | | | | This was showing up as crashes when closing the file chooser.
* Merge branch 'adwaita-remove-selectionmode-assets-master' into 'master'Matthias Clasen2019-03-2017-330/+1
|\ | | | | | | | | Adwaita: Drop checkbox-selectionmode assets See merge request GNOME/gtk!634
| * Adwaita: Drop checkbox-selectionmode assetsAlex Monday2019-03-1317-330/+1
| |
* | Merge branch 'adwaita-selectionmode-checkboxes-master' into 'master'Matthias Clasen2019-03-203-32/+37
|\ \ | | | | | | | | | | | | | | | | | | Adwaita: Fix selection-mode checkboxes Closes #28 See merge request GNOME/gtk!629
| * | Adwaita: Fix selection-mode checkboxesAlex Monday2019-03-123-32/+37
| | | | | | | | | | | | | | | | | | Use object-select-symbolic as a check icon, adjust styles. Closes https://gitlab.gnome.org/GNOME/gtk/issues/28
* | | Merge branch 'adwaita-headerbar-switch-margins-master' into 'master'Matthias Clasen2019-03-203-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Adwaita: Adjust switch margins on headerbars Closes #1759 See merge request GNOME/gtk!651
| * | | Adwaita: Adjust switch margins on headerbarsAlex Monday2019-03-193-4/+4
| | | | | | | | | | | | | | | | Closes https://gitlab.gnome.org/GNOME/gtk/issues/1759
* | | | Merge branch 'wip/jimmac/focus-ring-radii' into 'master'Matthias Clasen2019-03-203-3/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adwaita: draw bigger radius for focus rings Closes #1756 See merge request GNOME/gtk!649
| * | | | Adwaita: draw bigger radius for focus ringsJakub Steiner2019-03-193-3/+7
| | | | | | | | | | | | | | | | | | | | Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1756
* | | | | window: Update state flagsMatthias Clasen2019-03-191-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the window gets active / inactive, we don't propagate events, but just send focus-in / -out to the current focus_widget. Improve this by updating its state flags as well.
* | | | | main: Fix crossing event generation for parented rootsMatthias Clasen2019-03-191-2/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were walking the parent chain here, which now always needs to consider whether it should stop at roots. Like this one should. The symptom was that a label with a popup attached to it would end up with an unintentional focus ring that would not go away.
* | | | gtk: Don't include gtkstylecontext.h from gtkcsstypesprivate.hBenjamin Otte2019-03-1937-54/+90
| | | | | | | | | | | | | | | | And make sure it's included everywhere it's needed.
* | | | stylecontext: Move atk.h include where it belongsBenjamin Otte2019-03-192-1/+2
| | | |
* | | | paned: hide the handle widget when <2 children are visibleBenjamin Otte2019-03-191-0/+4
| | | |
* | | | paned: RefactorBenjamin Otte2019-03-191-27/+4
| | | | | | | | | | | | | | | | | | | | Don't call a useless function, call gtk_widget_set_child_visible() directly.
* | | | singleselection: Add forgotten notify emissionBenjamin Otte2019-03-191-1/+8
| | | | | | | | | | | | | | | | Also, add docs for the model property while I'm looking at the file.
* | | | revealer: Always use identity transform for revealed childBenjamin Otte2019-03-191-74/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the child allocation machinery, so that the complex allocation paths are only run when the animation is running. And in particular, ensure that when no animation is running, the identity transform is allocated.
* | | | One forgotten leave signal handlerMatthias Clasen2019-03-181-0/+2
| | | |
* | | | Adapt to motion controller api changeMatthias Clasen2019-03-185-8/+36
| | | | | | | | | | | | | | | | | | | | The signature of the enter/leave signals changed. Adapt all users.
* | | | motion controller: Install the propertiesMatthias Clasen2019-03-181-0/+2
| | | | | | | | | | | | | | | | Oops
* | | | Merge branch 'paned-no-grab' into 'master'Matthias Clasen2019-03-181-3/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | paned: Don't use a grab See merge request GNOME/gtk!644
| * | | | paned: Don't use a grabMatthias Clasen2019-03-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | It does not seem necessary for proper functioning of the drag handle.
* | | | | Merge branch 'crossing-details' into 'master'Matthias Clasen2019-03-182-5/+217
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | motion controller: add details to signals See merge request GNOME/gtk!621
| * | | | | motion controller: Add getters for crossing event targetsMatthias Clasen2019-03-162-1/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This information can be needed in signal handlers, so make it available.
| * | | | | motion controller: Add focus propertiesMatthias Clasen2019-03-161-0/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add boolean properties, is-pointer-focus and contains-pointer-focus, that track whether the pointer is in the widget itself or in one of its descendants.
| * | | | | motion controller: add details to signalsMatthias Clasen2019-03-161-4/+23
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ::enter and ::leave signals get emitted up and down the connecting path between the old an the new pointer location. The signals are less useful if you can't find out where along the path you are. That is what crossing mode and detail are about, so add those to the signals.