Matthias Clasen
0531e663ee
constraint solver: Fix thawing
...
There was an obviously wrong precondition here.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
bd2349c0a0
Do not leak LayoutChild instances
...
Since the LayoutManager owns the LayoutChild it creates, it's also
responsible for mopping them up.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
636fbc0f1a
Add GtkConstraintLayout demo
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
cdf80f1d65
Add GtkConstraintLayout
...
A layout manager using GtkConstraintSolver to measure and allocate
children.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
e7b2c530c5
Propagate rooting and unrooting widgets to layout managers
...
Layout managers may need to get access to data attached to the root of a
scene graph.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
e07098da03
window: Create a GtkConstraintSolver
...
Implement the GtkRoot getter for GtkConstraintSolver.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
98a21bf498
Assign a GtkConstraintSolver to each GtkRoot
...
Constraints need to work across different parents, so it's better to
have a single constraint solver per top level.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
c694dd6049
Move the Root interface to a private header
...
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.
2019-06-30 23:42:44 +01:00
Emmanuele Bassi
6b308cd71e
Add constraint solver
...
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.
2019-06-30 23:42:44 +01:00
Matthias Clasen
3b6ee32f83
Fix a crash in action muxer destruction
...
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.
2019-06-30 18:37:32 +00:00
Timm Bäder
3bc3e140dd
transform: Add transform_bounds fast path for 2D_AFFINE transforms
...
E.g. anything involving a scale. This is important when e.g. scrolling
in the node list in the recorder, which scales every recorded node down
to fit in the list.
2019-06-29 09:49:38 +02:00
Timm Bäder
a6a9853676
Adwaita: Fix popover style
...
We add the .background class to the popover node now.
2019-06-29 09:06:32 +02:00
Timm Bäder
6b42e5b433
gl renderer: Fix push/pop modelview behavior
2019-06-29 08:57:27 +02:00
Timm Bäder
99c01607f1
gl renderer: Remove some dead code
2019-06-29 08:53:36 +02:00
Timm Bäder
071748592d
gl renderer: Don't upload GL textures into the icon cache
2019-06-29 07:15:43 +02:00
Timm Bäder
8dd74eac2e
transform: Add skew parsing
2019-06-29 07:15:43 +02:00
Matthias Clasen
f6a2678486
Add another grid layout test
...
This one will be used for comparison
with constraint layouts.
2019-06-28 19:21:21 +00:00
Matthias Clasen
e28ec2a3eb
Some more grid layout tests
...
Add testcases for spanning children and homogeneity.
2019-06-28 18:07:23 +00:00
Matthias Clasen
c4fd786866
Add a test for the grid layout manager
...
Test some obvious conditions. This is mainly
to test the waters for more intesting tests
with other layout managers later.
2019-06-28 13:30:16 +00:00
Matthias Clasen
8fa7de5563
grid layout: Fix initial property values
...
Too bad that we don't cover layout children
in the default value test - it would have
caught this.
2019-06-28 12:42:06 +00:00
Jakub Steiner
9e6b4e82c9
Adwaita: allow flat list row buttons to be flat
...
- Be more specific about the list row image buttons
Addresses corner case of https://gitlab.gnome.org/GNOME/gtk/issues/1748
2019-06-27 12:15:51 +02:00
Jakub Steiner
4be2e804ae
Adwaita: lighten dark switch sliders
...
- addresses legibility concerns
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1819
2019-06-27 10:58:18 +02:00
Alex Monday
1056e9976a
Adwaita: Apply border-radius to .csd popovers
...
Fix popover_radius variable doesn't apply to .csd popover.
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1984
2019-06-27 10:40:22 +02:00
Alex Monday
851bb61455
Adwaita: Fix padding/rounding on submenus
...
- 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
2019-06-27 10:31:11 +02:00
Jakub Steiner
3aadc29af4
Adwaita: darken osd background for A:dark
...
- OSD background color was too close to $bg_color to make out outline
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1964
2019-06-27 10:30:01 +02:00
Matthias Clasen
3d55b74197
Merge branch 'master' into 'master'
...
Fix a typo
See merge request GNOME/gtk!960
2019-06-24 19:52:12 +00:00
Hodong Kim
19b1fcfee3
Fix a typo
2019-06-24 18:42:40 +00:00
Daniel Boles
98cfbd3712
ShortcutsSection: Fix tiny grammar-o "in for"→"in"
2019-06-24 18:02:15 +01:00
Ask Hjorth Larsen
112f49b23c
Updated Danish translation of gtk-properties
2019-06-24 18:55:47 +02:00
Ask Hjorth Larsen
4d36fdc176
Updated Danish translation of gtk
2019-06-24 18:55:25 +02:00
Matthias Clasen
31d79b07b7
Merge branch 'no-varargs-activate' into 'master'
...
Add a non-varargs variant of activate_action
See merge request GNOME/gtk!959
2019-06-24 16:10:03 +00:00
Matthias Clasen
2405e2711e
Add a non-varargs variant of activate_action
...
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.
2019-06-24 15:51:39 +00:00
Emmanuele Bassi
1527407c3d
Merge branch 'issue-1961-master' into 'master'
...
Provide GdkMonitor:connector
See merge request GNOME/gtk!954
2019-06-24 15:13:15 +00:00
Emmanuele Bassi
f524a9315b
Set the monitor's connector under X11
...
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.
2019-06-24 15:38:36 +01:00
Emmanuele Bassi
a5f22897f9
Relay the xdg_output.name to GdkMonitor
...
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.
2019-06-24 15:38:36 +01:00
Emmanuele Bassi
03840fb687
Add getter for a monitor connector
...
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.
2019-06-24 15:38:36 +01:00
Emmanuele Bassi
6e65c16b60
Merge branch 'stack-realign' into 'master'
...
build: Do not use add_global_flags()
See merge request GNOME/gtk!958
2019-06-24 14:22:18 +00:00
Emmanuele Bassi
23e4d05383
build: Do not use add_global_flags()
...
It's almost always not what you want.
2019-06-24 15:00:21 +01:00
Daniel Mustieles
489e9e0934
Updated Spanish translation
2019-06-24 09:59:52 +02:00
Matthias Clasen
3acc014499
Make gtk_widget_activate_action better
...
As a convenience API, this should be easy to use,
so don't expect callers to manually create a
variant, do it for them.
Update all callers.
2019-06-23 22:51:55 +00:00
Matthias Clasen
3ebe30bf32
widget: create parent muxers lazily
...
We need to create a muxer eagerly for every
widget that has class actions, since those
are otherwise missed in the action lookup
on the muxer side. But otherwise, there is
no reason to create parent muxers aggressively,
as long as we update the parent muxers on
root/unroot.
This reduces the number of muxers we create
in widget-factory from 210 to around 50.
2019-06-23 17:59:41 +00:00
Matthias Clasen
996f011ed8
window: Fix the default value of mnemonics-visible
...
They aren't visible, so why should the property
be TRUE?
2019-06-23 10:59:17 -04:00
Timm Bäder
0611370a5f
Merge branch '362-gtk-fileopen-dialog-need-filetype-mime-sort-option-2_GTK4' into 'master'
...
GtkFileChooser: add a sortable "Type" column
Closes #362
See merge request GNOME/gtk!874
2019-06-23 07:58:26 +00:00
Matthias Clasen
1be850d806
Add includes back to gtk4.types.in
...
Without these, gtkdoc-scangobj doesn't work. Who knew!
2019-06-22 21:42:30 -04:00
Matthias Clasen
b903d8ee33
Add another action test
...
Test that disabled actions aren't activated.
2019-06-23 01:39:34 +00:00
Matthias Clasen
8fd968e5bf
action muxer: Don't activate disabled actions
...
We really shouldn't.
2019-06-23 01:39:26 +00:00
Matthias Clasen
366e8da927
Add another test for action inheritance
...
This one checks for precedence between
class actions and inserted groups.
2019-06-22 23:30:22 +00:00
Matthias Clasen
203d612afd
widget: Clarify docs for action inheritance
...
Spell out how action inheritance works wrt to prefixes.
2019-06-22 19:17:30 -04:00
Matthias Clasen
135580108a
Add a test for action introspection
...
This checks that gtk_widget_query_action works.
2019-06-22 23:11:49 +00:00
Matthias Clasen
4515604511
Add another test for action inheritance
...
Check that overlapping prefixes are handled
correctly.
2019-06-22 23:00:42 +00:00