summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* forgotten filesconstraint-editorMatthias Clasen2019-06-303-0/+532
|
* Add a constraint editor demoMatthias Clasen2019-06-3017-0/+1897
| | | | | This is an initial cut at providing a tool for interactive exploration of constraints.
* constraint layout: notice when guides changeMatthias Clasen2019-06-301-0/+4
| | | | We need to queue a resize here.
* Fix a crash in action muxer destructionMatthias Clasen2019-06-301-9/+0
| | | | | | | | | | I've seen a crash when the action muxer gets disposed during widget destroy, and tries to disconnect from widget signals too late. There is no real need to disconnect, since the only time an action muxer is going away is when its widget is destroyed, so just don't do it.
* Add gtk_constraint_layout_remove_all_constraintsMatthias Clasen2019-06-292-0/+28
| | | | | Otherwise, there is no way of getting rid of vfl constraints.
* Mark the layout as changedMatthias Clasen2019-06-291-0/+2
| | | | | We should mark the layout as changed when constraints are added or removed.
* Add a C convenience function for VFL constraintsEmmanuele Bassi2019-06-293-20/+101
| | | | | The dictionary-based function is convenient for language bindings, but C developers will feel more at home with a variadic arguments list.
* Add Constraints/VFL demoEmmanuele Bassi2019-06-293-0/+172
| | | | | Shows how to describe constraints using VFL instead of constructing objects manually.
* Allow adding constraints described through VFLEmmanuele Bassi2019-06-292-1/+227
|
* Add VFL parser for constraintsEmmanuele Bassi2019-06-293-0/+1316
| | | | | Constraints can be expressed with a compact syntax, called VFL (visual format language).
* Remove GtkConstraintVariable.set_prefix()Emmanuele Bassi2019-06-293-31/+14
| | | | The prefix and name are set at construction time.
* Add an interactive constraints demoMatthias Clasen2019-06-284-1/+248
|
* Make the constraints demo more interestingMatthias Clasen2019-06-281-0/+6
| | | | | Add a max size to the buttons, to force the space to open up.
* Add GtkConstraintGuideMatthias Clasen2019-06-284-66/+577
| | | | This is meant to be a flexible space.
* Use generic pointers for constraint targetsEmmanuele Bassi2019-06-282-12/+12
| | | | | Since GtkWidget implements GtkConstraintTarget, we can omit the explicit cast, and validate the type at run time.
* Redefine constraints with GtkConstraintTargetMatthias Clasen2019-06-284-53/+77
| | | | | This is in preparation for allowing non-widgets to act as constraint targets.
* widget: Implement GtkConstraintTargetMatthias Clasen2019-06-281-0/+10
|
* Add GtkConstraintTargetMatthias Clasen2019-06-282-0/+29
| | | | | | This is an marker interface that we will use to accept other things that widgets in constraints.
* Notify a layout change when adding and removing constraintsEmmanuele Bassi2019-06-281-0/+4
| | | | Changing the set of constraints should cause a relayout.
* Fix the opposite size measurement in GtkConstraintLayoutEmmanuele Bassi2019-06-281-62/+52
| | | | | | | | | We cannot use the given "for size" when querying our children, because the constraint layout has no idea about the opposite size of its children until the layout is complete. Additionally, we should only suggest an opposite size for the layout if we have one, instead of suggesting a weak zero size.
* Remove size constraints from ConstraintLayoutChildEmmanuele Bassi2019-06-271-52/+48
| | | | | | The size constraints are transient to measurement and allocation, so they don't really need to be stored inside the GtkLayoutChild subclass created by a GtkConstraintLayout.
* constraints: Make internal consistency requiredMatthias Clasen2019-06-271-2/+2
| | | | | | | | | | The relations between left, right, width and top, bottom, height are required for internal consistency. It doesn't make sense to ever drop these. Changing the strength of these relations makes my systems behave much more stable.
* Add gtk_constraint_layout_remove_constraintMatthias Clasen2019-06-272-0/+23
| | | | Otherwise, you can't do many interesting things.
* Do not release reference on the subject of an expressionEmmanuele Bassi2019-06-271-3/+0
| | | | We don't own the reference in the first place.
* constraints solver: Avoid critialsMatthias Clasen2019-06-271-0/+1
| | | | | | | | When the solver is finalized with existing constraints, we end up with criticals when the constraints ref finalize code calls back into the hash table. Avoid that by emptying the hash table beforehand.
* constraint solver: Fix thawingMatthias Clasen2019-06-271-1/+5
| | | | There was an obviously wrong precondition here.
* Do not leak LayoutChild instancesEmmanuele Bassi2019-06-271-0/+15
| | | | | Since the LayoutManager owns the LayoutChild it creates, it's also responsible for mopping them up.
* Add GtkConstraintLayout demoEmmanuele Bassi2019-06-273-0/+259
|
* Add GtkConstraintLayoutEmmanuele Bassi2019-06-2710-31/+1988
| | | | | A layout manager using GtkConstraintSolver to measure and allocate children.
* Propagate rooting and unrooting widgets to layout managersEmmanuele Bassi2019-06-274-0/+61
| | | | | Layout managers may need to get access to data attached to the root of a scene graph.
* window: Create a GtkConstraintSolverEmmanuele Bassi2019-06-271-0/+16
| | | | Implement the GtkRoot getter for GtkConstraintSolver.
* Assign a GtkConstraintSolver to each GtkRootEmmanuele Bassi2019-06-272-0/+25
| | | | | Constraints need to work across different parents, so it's better to have a single constraint solver per top level.
* Move the Root interface to a private headerEmmanuele Bassi2019-06-272-14/+14
| | | | | | We don't expect out of tree implementations of GtkRoot, and having the interface structure private to the GTK code allows us to add virtual functions involving private types.
* Add constraint solverEmmanuele Bassi2019-06-279-0/+4905
| | | | | | | | | | | | | | | | | | | GtkConstraintSolver is an implementation of the Cassowary constraint solving algorithm: http://constraints.cs.washington.edu/cassowary/ The Cassowary method allows to incrementally solve a tableau of linear equations, in the form of: x = y × coefficient + constant with different weights, or strengths, applied to each one. These equations can be used to describe constraints applied to a layout of UI elements, which allows layout managers using the Cassowary method to quickly, and efficiently, lay out widgets in complex relations between themselves and their parent container.
* Adwaita: allow flat list row buttons to be flatJakub Steiner2019-06-273-5/+16
| | | | | | - Be more specific about the list row image buttons Addresses corner case of https://gitlab.gnome.org/GNOME/gtk/issues/1748
* Adwaita: lighten dark switch slidersJakub Steiner2019-06-272-5/+17
| | | | | | - addresses legibility concerns Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1819
* Adwaita: Apply border-radius to .csd popoversAlex Monday2019-06-273-6/+10
| | | | | | Fix popover_radius variable doesn't apply to .csd popover. Closes https://gitlab.gnome.org/GNOME/gtk/issues/1984
* Adwaita: Fix padding/rounding on submenusAlex Monday2019-06-273-10/+4
| | | | | | | | - Apply menubar submenu style for .csd submenus; - Remove child subemenu style (looks like it is inherited from a parent). Closes https://gitlab.gnome.org/GNOME/gtk/issues/1976
* Adwaita: darken osd background for A:darkJakub Steiner2019-06-272-33/+33
| | | | | | - OSD background color was too close to $bg_color to make out outline Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1964
* Merge branch 'master' into 'master'Matthias Clasen2019-06-241-1/+1
|\ | | | | | | | | Fix a typo See merge request GNOME/gtk!960
| * Fix a typoHodong Kim2019-06-241-1/+1
|/
* ShortcutsSection: Fix tiny grammar-o "in for"→"in"Daniel Boles2019-06-241-1/+1
|
* Updated Danish translation of gtk-propertiesAsk Hjorth Larsen2019-06-241-5072/+5146
|
* Updated Danish translation of gtkAsk Hjorth Larsen2019-06-241-2549/+2708
|
* Merge branch 'no-varargs-activate' into 'master'Matthias Clasen2019-06-243-25/+47
|\ | | | | | | | | Add a non-varargs variant of activate_action See merge request GNOME/gtk!959
| * Add a non-varargs variant of activate_actionMatthias Clasen2019-06-243-25/+47
|/ | | | | | | | | I recently turned gtk_widget_activate_action() into a varargs function. That is more convenient from C, but we need a non-varargs variant for bindings. So add the old API back, under the name gtk_widget_activate_action_variant(), with a rename-to annotation.
* Merge branch 'issue-1961-master' into 'master'Emmanuele Bassi2019-06-249-1/+80
|\ | | | | | | | | Provide GdkMonitor:connector See merge request GNOME/gtk!954
| * Set the monitor's connector under X11Emmanuele Bassi2019-06-241-0/+1
| | | | | | | | | | | | | | Like we do on Wayland. In this case, we copy it from the same source as the output name, because it's going to match.
| * Relay the xdg_output.name to GdkMonitorEmmanuele Bassi2019-06-244-1/+35
| | | | | | | | | | | | | | The xdg_output v2 interface has a `name` property that reflects the output name coming from the compositor. This is the closest thing we can get to a connector name.
| * Add getter for a monitor connectorEmmanuele Bassi2019-06-244-0/+44
|/ | | | | | | | | The migration from GdkScreen's monitor API to GdkMonitor left out a way to get the connector's name of a monitor. While there's no real guarantee coming from the underlying graphics system that the connector's name is stable, some system components may use it to uniquely identify a monitor until the next plug in/out event.