Commit Graph

60233 Commits

Author SHA1 Message Date
Matthias Clasen
67fd975d77 Adwaita: Drop global pseudostate selectors
These cause massive style recomputation whenever the
window state changes.
2020-01-15 15:22:54 -05:00
Matthias Clasen
686dacf5be Adwaita: drop backdrop 2020-01-15 15:22:54 -05:00
Matthias Clasen
fba444b945 Revert "main: debug spew"
This reverts commit deeda017d7ba487bc1b5b89665fc31887a90df4e.
2020-01-15 15:22:54 -05:00
Matthias Clasen
5f277ed013 main: debug spew 2020-01-15 15:22:54 -05:00
Matthias Clasen
b413662ae2 cssnode: debug spew 2020-01-15 14:04:21 -05:00
Matthias Clasen
02cd36afb7 testsuite: Don't print default styles
This somewhat defeats the point that we want
to verify the regulars styles, not some weird
initial conditions.
2020-01-15 14:03:51 -05:00
Matthias Clasen
04fa4b15fe css: Mark the default style in debug dumps
This helps identifying unexpected situations,
since the default style should never be seen
in the wild.
2020-01-15 14:03:51 -05:00
Matthias Clasen
a8e9cc27d9 css: Don't got to the selector tree for change
The tree is optimized for mimizing the decisions, and
that prevents us from taking advantage of the more exact
superset matching that we can do now. So, instead do what
we used to do for verifiation: use the tree for finding the
superset matches, then just walk the rulesets to collect the
changes.
2020-01-15 14:03:51 -05:00
Matthias Clasen
305fbd2a5d css: Avoid computing change too often
Most of the time when styles need to be recreated,
the name and classes of the css node haven't changed.
In this case, the change value will not either, since
we are computing change under the assumption that
name and classes are unchanged, so there is no need
to recompute the change.
2020-01-15 12:45:23 -05:00
Matthias Clasen
a7323ed190 Make the superset matcher more exact
When the superset matcher is built from a node matcher,
we can make the parent matcher be a superset matchers for
the corresponding node, with the same relevant parts.
This is more precise than the ANY matcher that we were
returning previously.
2020-01-15 12:44:18 -05:00
Matthias Clasen
b928bdf428 Allow printing css matchers
This can help in debugging css matching.
2020-01-15 11:24:10 -05:00
Matthias Clasen
75b88b4385 cssmatcher: Add a type enum
For now, this just replaces the is_any boolean
by a type field in the class, and does away with
the unused Superset struct.supserset matcher fixup
2020-01-15 11:24:10 -05:00
Matthias Clasen
e2bbf83f01 Add selector statistics to the debug output 2020-01-15 11:24:10 -05:00
Matthias Clasen
791a81f092 cssstyle: Try harder to skip initial values
Compare values against the computed value of their
properties initial value. This works for fine for
all expect the border-width properties, whose special
handling defeats this.
2020-01-15 11:24:10 -05:00
Matthias Clasen
7c02f7ff2f testsuite: Update expected output for css style tests
These now include the change values.
2020-01-15 11:24:10 -05:00
Matthias Clasen
5c57f7b4fc testsuite: Include change in css style tests
This will help debugging css change tracking.
2020-01-15 11:24:10 -05:00
Matthias Clasen
7321719e97 Add a way to dump css node change values
Add a GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE flag that
tells gtk_style_context_to_string to include the
change values of nodes in the output. This will
help debugging css change tracking.
2020-01-15 11:24:10 -05:00
Matthias Clasen
c57aba0ac5 inspector: Show change in the css node tree
This is useful for debugging why we update to damn much
css on enter/leave.
2020-01-15 11:24:10 -05:00
Matthias Clasen
7888033e28 Revert "wip: reimplement css matching from scratch"
This reverts commit 7047a2e9c6f32da068bbfef78c6a4bda2d7d39f2.
2020-01-15 11:24:09 -05:00
Matthias Clasen
602d29a51a wip: reimplement css matching from scratch
First step: Strip out all optimizations.
2020-01-15 11:23:56 -05:00
Matthias Clasen
7e3842c3ea Add some css style tests
These are meant to test selectors.
2020-01-15 11:14:51 -05:00
Matthias Clasen
8394b93acf css: Add gtk_css_style_get_static_style
This lets us avoid poking directly at the GtkCssAnimatedStyle
struct in gtkcssnode.c.
2020-01-15 11:14:51 -05:00
Matthias Clasen
d803149fd2 Revert "css: Faster matching for simple selectors"
This reverts commit 05f7d68e29.
2020-01-15 11:14:51 -05:00
Matthias Clasen
436af79fa7 css: Faster matching for simple selectors
Inline simple selectors for node matchers.
A bit ugly, but works.
2020-01-15 11:14:51 -05:00
Matthias Clasen
a9e599d720 css: Implement the superset matcher smarter
Instead of wrapping the individual vfuncs, and having
a branch in the inner loop, rewrite the matcher class.
2020-01-15 11:14:51 -05:00
Matthias Clasen
7a5ab6eea0 css: Compute selector tree changes ahead of time
These only depend on the selector tree, so we can
compute them while constructing the tree.
2020-01-15 11:14:51 -05:00
Matthias Clasen
e8eb1df29f Speed up gtk_widget_pick
Add early exits, and avoid as much work as
possible.
2020-01-15 11:01:20 -05:00
Matthias Clasen
82dc7b903c Fix the filetransfer portal initialization
Reusing the cancellable only works if you don't throw
it away after first use.
2020-01-15 10:58:54 -05:00
Matthias Clasen
b020a3fcf9 Try harder to make ci not timeout
Make getting the file transfer portal proxy more
async, and avoid leaking a bus connection. This
causes GTestDBus to hang at the end of the test
run.
2020-01-14 18:32:05 -05:00
Matthias Clasen
cb88de5938 css: Drop unsused bitmasks
GtkCssProvider was maintaining bitmasks for the
set properties in each ruleset. The masks are never
used, so drop them.
2020-01-14 18:32:05 -05:00
Matthias Clasen
94b1e72aa3 css: Remove an unused function
_gtk_css_style_property_get_mask_affecting was superseded
by GtkCssStyleChange back in 2015.
2020-01-14 18:32:05 -05:00
Matthias Clasen
20b92638ec testsuite: Improve --generate support
We don't want annoying spew from GTest when
using --generate, since it interferes with just
piping the output to a text file.
2020-01-14 18:32:05 -05:00
Matthias Clasen
dccb83c9ec quiet a compiler warning in release builds 2020-01-14 18:32:05 -05:00
Alex Samorukov
d668d2fa25 Use bundle id instead of package name for the macOS preview as filename is now changed 2020-01-14 22:15:05 +00:00
Matthias Clasen
34f1ae8fad fontchooser: Fix up the previous commit 2020-01-14 15:42:01 -05:00
Matthias Clasen
042537cf0d fontchooser: Fix objects-finalize test
The treeview is evil and keeps reference cycles in the
form of various tree row references. That gets cleaned up
if you explicitly gtk_widget_destroy the treeview. But since
07f2024bfc, the scrolled window no longer destroys
its child, exposing this issue as a reference leak in
the objects-finalize test.

The font chooser widget is affected here because it calls
gtk_tree_view_scroll_to_path from init(), which creates one
of those reference cycles. Work around this in the font
chooser by unsetting the tree view model in dispose, which
clears up this cycle.
2020-01-14 15:25:27 -05:00
Matthias Clasen
d03f38470e Fix encoding symbolic pixbufs
This was broken in 1a931da046.
2020-01-14 14:14:45 -05:00
Sucipto
a7d72cf69b Update Indonesian translation 2020-01-14 15:11:27 +00:00
Matthias Clasen
256139baab testsuite: Skip GtkDragIcon
GtkDragIcon needs a special surface, so skip it
in the notify tests.
2020-01-14 09:20:18 -05:00
Daniel Mustieles
a935aae6f1 Updated Spanish translation 2020-01-14 12:39:44 +01:00
Kukuh Syafaat
9955d686ee Update Indonesian translation 2020-01-14 06:27:18 +00:00
Matthias Clasen
a9da41c66a Merge branch 'adwaita-cross-fade-fix-gtk4' into 'master'
Adwaita: Fix syntax error in cross-fade() (GTK4)

Closes #2371

See merge request GNOME/gtk!1308
2020-01-14 06:08:24 +00:00
Matthias Clasen
4d8691b762 Merge branch 'wip/chergert/fix-dragicon-installation' into 'master'
build: fix gtkdragicon header installation

See merge request GNOME/gtk!1306
2020-01-14 06:06:35 +00:00
Matthias Clasen
806e159b8b Handle lack of file transfer portal
Don't block for 25 seconds trying to get a bus
connection. Give up after 1 second.
2020-01-14 01:03:48 -05:00
Matthias Clasen
794ee0b8c0 gtk-demo: Use a default action in the infobars demo
This makes the question infobar activatable by clicking
anywhere in it.
2020-01-14 00:05:23 -05:00
Matthias Clasen
2b7de841a9 Adwaita: Add hover for clickable infobars 2020-01-14 00:05:23 -05:00
Matthias Clasen
45309811c5 infobar: Activate default action on clicks
When we have a default action set on the infobar, activate it
for clicks anywhere in the infobar.  Also add an .action style
class in this case, so we can add a hover highlight to the infobar
just for this case.
2020-01-14 00:05:23 -05:00
Matthias Clasen
2b695ac8d1 Merge branch 'wip/chergert/textview-propagate-undo-state' into 'master'
textview: propagate GtkTextBuffer can-undo/redo action state

See merge request GNOME/gtk!1311
2020-01-14 01:59:22 +00:00
Christian Hergert
cb03969c5f textview: propagate GtkTextBuffer can-undo/redo action state
This ensures the action state for undo and redo are propagated from the
buffer. Doing so means menu items now properly show sensitivity.
2020-01-13 17:26:18 -08:00
Matthias Clasen
57e71a6a69 Merge branch 'wip/chergert/textview-undo-menu-item' into 'master'
textview: add undo/redo menu actions

See merge request GNOME/gtk!1310
2020-01-13 23:51:40 +00:00