Benjamin Otte
43a5ff8e01
testsuite: Add serialize test for debug node
2019-05-05 07:18:39 +02:00
Benjamin Otte
00b947124f
node-editor: Add renderings with alternative renderers
...
That's pretty rough around the edges, but it mostly works.
Apart from sizing, screw listbox sizing.
2019-05-05 07:18:39 +02:00
Benjamin Otte
3f24ad741a
gsk: Export gsk_vulkan_renderer_new()
2019-05-05 07:18:39 +02:00
Benjamin Otte
cc5f2f8995
gsk: Export gsk_broadway_renderer_new()
...
... when broadway is enabled.
2019-05-05 07:18:39 +02:00
Benjamin Otte
6594ccf716
gsk: Export gsk_gl_renderer_new()
2019-05-05 07:18:39 +02:00
Benjamin Otte
559ae8b326
gsk: Export Cairo renderer
2019-05-05 07:18:39 +02:00
Benjamin Otte
da5b99f807
testsuite: Add rounded-rect parsing test
2019-05-05 07:18:39 +02:00
Benjamin Otte
008b7bc94f
Add gtk4-node-editor
...
It's meant to be a little editor for render nodes so we can do testing
with it.
2019-05-05 07:18:39 +02:00
Benjamin Otte
b4f5baf4fa
rendernode: Parse and print blend nodes properly
2019-05-05 07:18:39 +02:00
Timm Bäder
8c04129b94
testsuite: Add nodeparser test case
...
A serialized frame from the widget factory!
2019-05-05 07:18:39 +02:00
Timm Bäder
5010461066
ci: Don't disable the gsk suite
2019-05-05 07:18:39 +02:00
Timm Bäder
dde69802cd
Add error func to node deserialization
2019-05-05 07:18:39 +02:00
Benjamin Otte
5530331b35
testsuite: Black out parts of reftest
2019-05-05 07:18:39 +02:00
Timm Bäder
a55ebf2350
testsuite: Remove old cairo/vulkan tests
...
They are still in the old binary format and haven't worked for a while.
2019-05-05 07:18:39 +02:00
Timm Bäder
fb63364f30
rendernode: Remove old GVariant (de)serialization code
...
We're doing the CSS thing now.
2019-05-05 07:18:39 +02:00
Timm Bäder
58666c6210
testsuite: Add another gl renderer test
2019-05-05 07:18:39 +02:00
Benjamin Otte
3a9fa035ee
testsuite: Remove gl_tests infrastructure
...
They're now completely migrated to the new compare infrastructure, that
also tests Vulkan and Cairo.
2019-05-05 07:18:39 +02:00
Timm Bäder
1000d971f9
testsuite: Add cross-fade-in-opacity test
...
Making sure that an opacity node doesn't end up reviving a node that's
hidden because the cross-fade has progress 0 or 1.
2019-05-05 07:18:39 +02:00
Timm Bäder
349e6af2c8
testsuite: Remove broken GL comparison tests
...
These only work on special hardware, which not even I have anymore.
We'll need to redo them in a way that works on different systems.
2019-05-05 07:18:39 +02:00
Timm Bäder
44b3b8937a
testsuite: Print serialized nodes when parsing fails
2019-05-05 07:18:39 +02:00
Timm Bäder
9598e16753
testsuite: add shadow node parser test
2019-05-05 07:18:39 +02:00
Timm Bäder
61a963d78d
testsuite: add another nodeparser crash test
2019-05-05 07:18:39 +02:00
Timm Bäder
e31856fe1b
testsuite: Add serialize-deserialize tests
...
Check that we can successfully deserialize a node, then serialize it
again and deserialize that result once more.
2019-05-05 07:18:39 +02:00
Benjamin Otte
1d6134f87d
testsuite: Add a broken test
...
This also adds some build magic so all tests that contain "-3d" in them
won't be added to the Cairo renderer.
Of course, this new test is such a test.
2019-05-05 07:18:39 +02:00
Benjamin Otte
08e9725797
Move working tests to new directory
...
These are tests that are working on both GL and Cairo now.
Some tests got black boxes over the areas that aren't easy to compare.
2019-05-05 07:18:39 +02:00
Timm Bäder
4d98e96124
testsuite: Port gl tests to text-based format
2019-05-05 07:18:39 +02:00
Benjamin Otte
50e10cd771
testsuite: Delete some node tests
...
These are the tests that aren't going to be made to work, so let's just
delete them.
2019-05-05 07:18:39 +02:00
Benjamin Otte
b6838cb9f4
testsuite: Add tests for the new node parsing code
...
This adds a test tool gsk/node-parser that takes node files and parses
them.
A few of these node files have been added, for crashes I encountered while
developing the new parsing code.
2019-05-05 07:18:39 +02:00
Timm Bäder
01a7c7a8b2
Parse render nodes from text files
...
Instead of the previous approach using GVariant, this new approach uses
human-readable text files as the serialization format for render nodes.
The format is a custom one, but it is inspired by QML and conforms to
the CSS syntax. Because of that, we can use the CSS machinery from GTK
to parse it, and in particular share code to parse properties that GTK's
CSS machinery also supports, such as colors.
This commit breaks all existing usages of node files - such as the
testsuite and various test tools - they will be fixed in further
commits.
2019-05-05 07:18:39 +02:00
Benjamin Otte
3c6aa84e44
cssparser: Add gtk_css_parser_has_number()
2019-05-05 07:18:39 +02:00
Asier Sarasua Garmendia
bf2ae5aa81
Update Basque translation
2019-05-04 19:34:25 +00:00
Matthias Clasen
44b0a893fc
entry: Drop our own Emoji chooser
...
We were using one Emoji chooser when triggered
via the context menu, and another one when
triggered via the icon.
Change things to always use the same Emoji
chooser instance.
2019-05-04 18:54:37 +00:00
Matthias Clasen
32fd55a66d
window: Stop duplicating focus change events
...
We had code in gtkwindow.c that generated duplicate,
and defective, focus-change events, in the following
way:
- gtkmain.c generates a chain of focus-change events
for moving focus from one window to another
- gtkwindow.c catches a focus-in event in the middle
of this chain and sets itself as 'active'
- and then it proceeds to generate focus-change
events towards its own focus widget without a
related target
This is not necessary since we gtkmain.c already
generates a complete sequence of focus-change events.
So stop doing it.
2019-05-04 18:22:33 +00:00
Matthias Clasen
9af01bea5e
window: Make _gtk_window_set_is_active static
...
It is not used outside gtkwindow.c.
2019-05-04 18:22:28 +00:00
Matthias Clasen
40fe3d94ac
builder-tool: Handle GtkWidget::visible properly
...
This property has a 'smart' default that depends
on the class of the object we're creating. Take
that into account when deciding whether to omit
properties that are set to their default value.
2019-05-04 18:18:42 +00:00
Matthias Clasen
6fe203d0e2
emoji chooser: Make Escape work again
...
Escape is expected to close the Emoji chooser.
2019-05-04 18:18:20 +00:00
Matthias Clasen
7b6f652630
emoji chooser: Fix handling of no recent Emoji
...
If the recent section is empty, we want to hide
it, make its button insensitive, and select the
next section, initially. This was not working
properly, since nothing was ever setting the
section box to invisible.
2019-05-04 18:18:09 +00:00
Asier Sarasua Garmendia
1a4c988a22
Update Basque translation
2019-05-04 09:54:08 +00:00
Mohammed Sadiq
d936a9ae89
docs: fix typo in function name
2019-05-04 15:09:35 +05:30
Matthias Clasen
67e6d1087e
emoji chooser: populate incrementally
...
It takes half a second on my system to initially
populate the Emoji chooser. That is too long. Do
the work in 8 millisecond chunks to give GTK a
chance to get some frames done.
2019-05-04 02:12:02 +00:00
Matthias Clasen
29bafd1e15
docs: Add an actions overview
...
Add an introduction chapter explaining actions
in detail. Most of this content is taken from
the GAction HowDoI page.
2019-05-04 01:26:45 +00:00
Matthias Clasen
65697e3324
docs: Some additions to the overview
...
Mention graphene and gsk.
2019-05-04 01:26:45 +00:00
Matthias Clasen
bceca277ea
docs: Some updates to the input overview
...
Remove references to no longer existing apis,
and reword some things. Say surface instead of
window. Start filling out the keyboard section.
2019-05-04 01:26:45 +00:00
Jordi Mas
16c8fb52df
Update Catalan translation
2019-05-03 20:54:07 +02:00
Timm Bäder
d702bfe7b7
filechooserbutton: Clean up finalize & destroy
2019-05-03 20:06:25 +02:00
Timm Bäder
596c9a3c0b
filechooserbutton: Clear model in destroy()
...
Since we're destroying priv->chooser right after. We can't wait until
finalize() since clearing the model will try to work with priv->chooser.
2019-05-03 20:06:23 +02:00
Timm Bäder
c675d1c9e1
filechooserbutton: Use a bin layout
2019-05-03 20:06:10 +02:00
Daniel Mustieles
bd490ed511
Updated Spanish translation
2019-05-03 14:36:45 +02:00
Piotr Drąg
bcf180642d
Update Polish translation
2019-05-03 13:42:45 +02:00
Piotr Drąg
5882e22f89
Update POTFILES.skip
2019-05-03 13:19:12 +02:00