Matthias Clasen
efe16cf4be
entry: Add <attributes> support
...
Make entries support the same <attributes> syntax
as labels.
Closes : #1335
2020-04-06 22:13:10 -04:00
Matthias Clasen
dc2f65dd2b
Move label attribute parser code
...
We want to reuse the parser for <attributes> in several
widgets, so move it to a shared place.
2020-04-06 21:46:12 -04:00
Matthias Clasen
baeae71d12
Merge branch 'cross-postinstall' into 'master'
...
meson: Don't execute post-install.py if cross compiling
See merge request GNOME/gtk!1636
2020-04-06 23:59:33 +00:00
Matthias Clasen
f8be3229b1
Merge branch 'fix-event-match' into 'master'
...
shortcuttrigger: Don't trigger on key releases
See merge request GNOME/gtk!1642
2020-04-06 23:44:32 +00:00
Matthias Clasen
b9cfcf07e0
Merge branch 'wip/chergert/fix-shortcut-param-order' into 'master'
...
widget: fix parameter ordering to match implementation
Closes #2586
See merge request GNOME/gtk!1641
2020-04-06 23:30:26 +00:00
Matthias Clasen
eb649d8204
shortcuttrigger: Don't trigger on key releases
...
This broke when the event type check in gdk_key_event_matches
was removed and replaced by a precondition that accepts both
key press and release events.
Add the check in gtk_keyval_trigger_trigger instead.
2020-04-06 19:16:41 -04:00
Christian Hergert
4a00f3bc9a
widget: fix parameter ordering to match implementation
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2586
2020-04-06 15:44:19 -07:00
Matthias Clasen
0b17658a82
Replace most uses of <Primary> with <Control>
...
The only place where we are still using <Primary> is
in tests, to ensure we keep parsing it. Otherwise,
<Control> is now the preferred syntax.
2020-04-06 17:05:52 -04:00
Matthias Clasen
2486f46c0b
Merge branch 'keymap-rework-2' into 'master'
...
Keymap rework 2
See merge request GNOME/gtk!1635
2020-04-06 20:56:06 +00:00
Matthias Clasen
c03b7e4d45
reftests: Comment out a test that fails only in ci
...
Fixing such only-in-ci failures is just too hard,
unfortunately.
2020-04-06 16:32:03 -04:00
Matthias Clasen
e7a8a4eb06
Update migration guide
...
Rewrite the sections about keymaps and menus, and add
hints about modifiers.
2020-04-06 16:32:03 -04:00
Matthias Clasen
70fbf8dbb6
accelgroup: Small documentation updates
...
Mention GtkShortcutTrigger, and remove references
to <Release>.
2020-04-06 16:32:03 -04:00
Matthias Clasen
93a1b3027d
Reshuffle keymap docs
...
Since GdkKeymap api is on longer public, move relevant
documentation to the long description.
2020-04-06 16:32:03 -04:00
Matthias Clasen
1de7719e34
Drop gtk_accelerator_set_default_mod_mask
...
Our new approach to modifiers works with a fixed set,
there is really no need to customize the modifier
masks if the backends are all supposed to deliver
the same modifiers.
2020-04-06 16:32:03 -04:00
Matthias Clasen
f7f103a322
gdk: Remove gdk_keymap_get_modifier_mask
...
This function is no longer public and no longer used.
2020-04-06 16:32:03 -04:00
Matthias Clasen
14be8f6b73
Remove uses of modifier intents in gdkevents.c
...
This removes the use of the context menu and shift group
intents in gdkevents.c. If it turns out to be important,
we need to introduce vfuncs for gdk_event_triggers_context_menu
and gdk_event_matches.
2020-04-06 16:32:03 -04:00
Matthias Clasen
99a344f791
display: Remove gdk_display_get_modifier_mask
...
This is not used anymore.
2020-04-06 16:32:03 -04:00
Matthias Clasen
3419d9c04f
gtk: Drop gtk_widget_get_modifier_mask
...
This is not used anymore.
2020-04-06 16:32:03 -04:00
Matthias Clasen
c297d45b8a
gtk: Stop using modifier intents
...
Reviewing the existing settings, the only backend with
some differences in the modifier intent settings is OS X,
and we would rather have that implemented by interpreting
the existing modifiers in the appropriate way.
X11 Wayland Win32 OS X
primary ctrl ctrl ctrl mod2
mnemonic alt alt alt alt
context menu - - - ctrl
extend sel shift shift shift shift
modify sel ctrl ctrl ctrl mod2
no text alt|ctrl alt|ctrl alt|ctrl mod2|ctrl
shift group varies - - alt
GTK now uses the following modifiers:
primary ctrl
mnemonic alt
extend sel shift
modify sel ctrl
no text alt|ctrl
The context menu and shift group intents were not used
in GTK at all.
Update tests to no longer expect <Primary> to roundtrip
through the accelerator parsing and formatting code.
2020-04-06 16:32:03 -04:00
Matthias Clasen
dce8d251c6
keymap: Remove virtual modifier mapping functions
...
These are not used anymore.
Drop the vfuncs and their implementations in the
broadway, x11, wayland and win32 backends as well.
2020-04-06 16:32:03 -04:00
Matthias Clasen
89ad7893ad
gdk: Make GdkKeymap a private api
...
We have replacement apis in GdkDevice and GdkDisplay.
2020-04-06 16:32:03 -04:00
Matthias Clasen
da6faf321c
Merge branch 'misc-meson-fixes' into 'master'
...
Reduce useless relinking on configure and fix check for buildtype arguments
See merge request GNOME/gtk!1614
2020-04-06 20:22:01 +00:00
Justin van Steijn
c8b791a763
Update Dutch translation
2020-04-06 19:40:22 +00:00
Matthias Clasen
0eb728aa51
imcontextsimple: Disable some win32-only code
...
This code needs to be redone differently, since keymaps are no
longer going to be exposed. There should really not be this much
ifdef-ed backend-specific code here anyway. Or any, really.
2020-04-06 15:33:49 -04:00
Matthias Clasen
3300686bef
gdk: Clean up GdkModifierType
...
Remove MOD2..MOD5. Backends are expected to just set
the named modifiers.
2020-04-06 15:13:54 -04:00
Matthias Clasen
0a96a483c6
gdk: Redo key events
...
Add all of the keyboard translation results in the key event,
so we can translate the keyboard state at the time the event
is created, and avoid doing state translation at match time.
We actually need to carry two sets of translation results,
since we ignore CapsLock when matching accelerators, in
gdk_event_matches().
At the same time, drop the scancode field - it is only ever
set on win32, and is basically unused in GTK.
Update all callers.
2020-04-06 15:13:54 -04:00
Matthias Clasen
5071367794
gtk: Remove handling of virtual modifiers
...
These are going away. We expect to just have
named modifiers in modifier masks now, so we
longer juggle 'real' and 'virtual' modifiers.
2020-04-06 15:13:54 -04:00
Matthias Clasen
5ce05a8fd0
events: Stop doing elaborate virtual modifier handling
...
These are going away in the GdkModifierType cleanup.
Just compare the modifiers we got.
2020-04-06 15:13:54 -04:00
Matthias Clasen
be2a0971c2
broadway: Stop using MOD2..MOD5
...
These are going away in the GdkModifierType cleanup.
2020-04-06 15:13:53 -04:00
Matthias Clasen
25e9a54902
win32: Stop using MODx modifiers
...
The win32 backend is using GDK_MOD2_MASK for AltGr,
so define GDK_MOD2_MASK locally to keep this working,
but remove any mention of GDK_MOD3_MASK,...,GDK_MOD5_MASK.
2020-04-06 15:13:00 -04:00
Yuri Chornoivan
df1c6b6b68
Update Ukrainian translation
2020-04-06 15:46:52 +00:00
Yuri Chornoivan
00c791fcf9
Update Ukrainian translation
2020-04-06 14:06:17 +00:00
Matthias Clasen
a5e73820da
Merge branch 'fno-common' into 'master'
...
Add a missing extern, to fix building with -fno-common
See merge request GNOME/gtk!1631
2020-04-06 12:47:55 +00:00
Matthias Clasen
7fa103717d
wayland: Stop setting MOD2..MOD5
...
These are going away in the GdkModifierType cleanup.
2020-04-06 01:40:49 -04:00
Matthias Clasen
f8646b9733
gdk: Remove reserved bit from GdkModifierType
...
This really has no purpose and obscures the header.
2020-04-06 01:40:49 -04:00
Matthias Clasen
d110fddbce
gtk: Stop using GDK_MODx_MASK
...
These are never used in practice, and we never want to
see them in the UI, so stop supporting them. This is
in preparation for cleaning up GdkModifierType.
2020-04-06 01:40:49 -04:00
Matthias Clasen
b02db72e17
Rename GDK_MOD1_MASK to GDK_ALT_MASK
...
We've hardcoded Mod1 = Alt for a long time, there is
no need to keep the confusing naming around anymore.
2020-04-06 01:40:49 -04:00
Matthias Clasen
e8f30c836d
tests: Stop using gtk_accelerator_set_default_mod_mask
...
This is not doing anything useful here.
2020-04-06 01:40:49 -04:00
Matthias Clasen
6eaadba008
testsuite: Stop using keymap apis
2020-04-06 01:40:49 -04:00
Matthias Clasen
4495bacfd1
gtk: Use display apis for keymap mapping
...
This removes the last uses of GdkKeymap from GTK.
2020-04-06 01:40:49 -04:00
Matthias Clasen
234a21905c
gtk: Stop using keymap apis
...
Stop using most keymap apis in GTK. Only a few calls
related to virtual modifiers are left.
2020-04-06 01:40:49 -04:00
Matthias Clasen
13213c710f
x11: Notify new device properties
2020-04-06 01:40:49 -04:00
Matthias Clasen
e165267924
wayland: Notify new device properties
2020-04-06 01:40:49 -04:00
Matthias Clasen
00b25d5594
Move keymap mapping functions to GdkDisplay
...
We want to stop exposing GdkKeymap, so this
functionality needs a new home.
2020-04-06 01:40:40 -04:00
Matthias Clasen
31fb5c287a
Move GdkKeymapKey to gdktypes.h
...
We are going to use this type in a different header.
2020-04-05 23:43:41 -04:00
Matthias Clasen
416ec580dc
gdk: Move modifier mask api to GdkDisplay
...
GdkKeymap is on the way out.
2020-04-05 23:43:41 -04:00
Matthias Clasen
ee14be8ac1
gdk: Add keymap properties to GdkDevice
...
GdkKeymap is on the way out.
2020-04-05 23:43:41 -04:00
Matthias Clasen
f27470aaf4
passwordentry: Show caps lock warning more
...
Show the caps lock warning regardless of whether we
have the peek icon or not.
2020-04-05 23:43:41 -04:00
Matthias Clasen
90eda2b17c
Drop some no longer used code
2020-04-05 23:43:41 -04:00
Matthias Clasen
68d43c8e5c
cell renderer accel: Use gdk_event_get_match
2020-04-05 23:43:41 -04:00
Matthias Clasen
c9aef3fc4d
Add gdk_event_get_match
...
This is a counterpart to gdk_event_matches() that can
be used to obtain a shortcut matching an event.
2020-04-05 23:37:13 -04:00
Matthias Clasen
e8330c5eec
Add gdk_event_matches
...
Move the elaborate key event matching code from
GtkShortcutTrigger to GdkEvent, which greatly reduces
the amount of keymap api use outside of GDK.
2020-04-05 23:37:13 -04:00
Martin Storsjö
531766fe64
meson: Don't execute post-install.py if cross compiling
2020-04-05 22:57:22 +03:00
Martin Storsjö
25a53276e0
Add a missing extern, to fix building with -fno-common
...
With C compilers defaulting to -fcommon, this isn't an issue, but
upcoming compilers (GCC 10 and Clang 11) will default to -fno-common,
ending up with duplicate definitions of these variables.
2020-04-05 00:43:16 +03:00
Matthias Clasen
1149502767
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1630
2020-04-04 21:09:12 +00:00
Matthias Clasen
33928a52c3
gtk-demo: Fix a crash
...
Using the assistant demo repeatedly was crashing.
2020-04-04 15:35:18 -04:00
Matthias Clasen
b636df7784
Merge branch 'matthiasc/for-master' into 'master'
...
shortcuts: documentation fixes
See merge request GNOME/gtk!1628
2020-04-04 15:33:41 -04:00
Matthias Clasen
005739371c
Merge branch 'matthiasc/for-master' into 'master'
...
shortcuts: documentation fixes
See merge request GNOME/gtk!1628
2020-04-04 16:31:43 +00:00
Matthias Clasen
ec854fc503
shortcuts: documentation fixes
...
Update symbol lists, and add examples for parsing triggers
and actions.
2020-04-04 12:22:43 -04:00
Piotr Drąg
e75e975a38
Update POTFILES.skip
2020-04-04 11:56:04 +02:00
Matthias Clasen
2bf81b51d9
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1626
2020-04-04 05:00:22 +00:00
Matthias Clasen
22211f29fb
colorbutton: Don't add a customize menu
...
The color swatch in the button does not need a
context menu. Turn it off.
2020-04-04 00:28:52 -04:00
Matthias Clasen
8991275fbd
colorbutton: Fix focus
...
The colorbutton contains a button which contains a colorswatch.
We want the focus to go straight to the button, nowhere else,
so mark the swatch as !can-focus.
Adapt tests to match.
2020-04-04 00:28:45 -04:00
Matthias Clasen
f2d6a7b36a
demos: Remove can-focus from ui files
2020-04-04 00:28:34 -04:00
Matthias Clasen
e43eb951d6
Merge branch 'scrollbar-a11y' into 'master'
...
Add GtkScrollbarAccessible
See merge request GNOME/gtk!1623
2020-04-04 04:03:40 +00:00
Matthias Clasen
5205fa0ff7
scrollbar: Be more defensive
...
Somehow the scrollbar accessible manages to call
gtk_scrollbar_get_adjustment when priv->range is NULL.
Survive taht.
2020-04-03 23:31:45 -04:00
Matthias Clasen
842af79e97
Merge branch 'shortcut-action-parse' into 'master'
...
Shortcut action parse
See merge request GNOME/gtk!1625
2020-04-04 03:12:10 +00:00
Matthias Clasen
6b292af6ac
testsuite: Add tests for parsing shortcut actions
2020-04-03 22:42:00 -04:00
Matthias Clasen
1424dd9786
Add an api to parse shortcut actions
...
This is so we can test this code. While doing it
I also fixed the missing else that was caused it
not to work.
2020-04-03 22:41:15 -04:00
Matthias Clasen
339d3e41b0
Add GtkScrollbarAccessible
...
When GtkScrollbar stopped being a GtkRange,
GtkRangeAccessible stopped working for scrollbars.
Update a11y tests to match.
2020-04-03 15:20:27 -04:00
Carlos Garnacho
9a2f7338df
Merge branch 'wip/carlosg/fix-surrounding-text-master' into 'master'
...
imwayland: Clamp the surrounding string end correctly
Closes #2565
See merge request GNOME/gtk!1621
2020-04-03 18:37:44 +00:00
Matthias Clasen
bdb127e54c
Merge branch 'focus-test' into 'master'
...
Focus test
See merge request GNOME/gtk!1622
2020-04-03 18:23:27 +00:00
Carlos Garnacho
e5d23aaaaf
imwayland: Clamp the surrounding string end correctly
...
In the paths where len > MAX_LEN and cursor/anchor are separated by
at least MAX_LEN from text edges, we were clamping the right end of
the surrounding string at MAX_LEN. Oops.
This end anchor may go as far as the string length, although just
up to len - MAX_LEN in real terms (due to the condition above that
caches cursor/anchor positions being near enough the text end).
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2565
(cherry-picked from commit d7fb15c822 )
2020-04-03 19:55:55 +02:00
Matthias Clasen
d662512c44
testsuite: Add a big focus chain testcase
2020-04-03 11:35:34 -04:00
Matthias Clasen
324af2f701
testsuite: Try harder to record a full focus chain
...
It is hard to avoid widgets with the same name in a
large ui file - try harder to record a full focus chain
before decide that we've wrapped, by including the widget
address in the comparison. Note that we don't include
the addresses in the generated output, since that would
make expected output vary from run to run.
2020-04-03 11:35:26 -04:00
Emmanuele Bassi
de481a7b5e
Merge branch 'gir-fixes' into 'master'
...
Annotation fixes
See merge request GNOME/gtk!1616
2020-04-03 15:21:59 +00:00
Matthias Clasen
c8018e267a
Merge branch 'move-gdkgrab-decl' into 'master'
...
gdk: Move GdkGrabStatus and GdkGrabOwnership decl.
See merge request GNOME/gtk!1615
2020-04-03 15:03:51 +00:00
Emmanuele Bassi
4e264a74be
Annotation fixes
...
Match the arguments name in the declaration and the definition, and make
sure we have the proper transfer annotations.
2020-04-03 15:30:56 +01:00
Olivier Fourdan
4f49d83e43
gdk: Move GdkGrabStatus and GdkGrabOwnership decl.
...
With the removal of `gdk_seat_grab` we do not need to keep the
definitions of `GdkGrabStatus` and `GdkGrabOwnership` public.
Move those definitions to become internal only.
2020-04-03 15:23:01 +02:00
Nirbheek Chauhan
eaef24c527
meson: Fix check for builtype arguments
...
`get_option('buildtype')` will return `'custom'` for most combinations
of `-Doptimization` and `-Ddebug`, but those two will always be set
correctly if only `-Dbuildtype` is set. So we should look at those
options directly.
For the two-way mapping between `buildtype` and `optimization`
+ `debug`, see this table:
https://mesonbuild.com/Builtin-options.html#build-type-options
2020-04-03 18:41:55 +05:30
Nirbheek Chauhan
777435c470
meson: Reduce useless relinking on reconfigure
...
When we reconfigure, `configure_file()` is called again, and
`*.gresource.xml` files are regenerated, which causes many (all?)
binaries to be relinked. Now we only write those out if the contents
actually changed (or if the output didn't already exist).
This is exactly what Meson already does with `configure_file()` when
`command:` is not used.
While we're at it, also do the same for `gen-c-array.py` and
`gentypefuncs.py` for completeness. Now even if the input to those
changes, re-building of those custom targets may not result in
relinking if the outputted C files have the same contents.
2020-04-03 18:41:55 +05:30
Timm Bäder
fb325afc79
shortcutcontroller: fix transfer full annotation
2020-04-03 08:03:32 +02:00
Timm Bäder
046190cb8a
window: Don't leak toplevel layout
2020-04-03 07:37:54 +02:00
Matthias Clasen
53592497a4
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1611
2020-04-03 01:07:14 +00:00
Matthias Clasen
cffa45d5ff
wayland: Add a comment about keyboard state handling
...
Clarify a point that took me a few hours to fully track
down, so lets preserve what I found for the next poor
sould coming this way.
2020-04-02 17:43:14 -04:00
Matthias Clasen
14166b09b5
a11y tests: Update for focus state changes
2020-04-02 17:35:15 -04:00
Matthias Clasen
8a0035333a
a11y: Set focus-related states properly
...
Entries and menubuttons are no longer focusable themselves,
they have focusable children. Since we don't have accessible
objects for those, transfer the focus-related state (focusable
and focused) from the children to the main accessible object.
2020-04-02 17:35:09 -04:00
Matthias Clasen
1f8e633fff
window: tie focus to surface state changes
...
We don't get a focus-out on the event controller, when
the surface is losing keyboard focus, since we are not
moving our focus to some other widget, so we are never
unsetting the mnemonics-visible property. Do that in
response to surface state changes instead.
2020-04-02 17:21:01 -04:00
Matthias Clasen
6e6b4a851f
Merge branch 'cherry-picked-wayland-keyboard-fix' into 'master'
...
gdk/wayland: Clear modifiers when we lose keyboard focus
Closes #2112
See merge request GNOME/gtk!1610
2020-04-02 20:43:29 +00:00
Jan Alexander Steffens (heftig)
7444b15d47
gdk/wayland: Clear modifiers when we lose keyboard focus
...
When we `Alt+Tab` away from a GTK application, it loses keyboard focus.
If we don't clear the modifiers, events from other devices that we
receive while unfocused will assume `Alt` is still pressed. This results
in e.g. Firefox navigating through the history instead of scrolling the
page when using the mouse wheel on it.
We don't get any information about modifiers while we are missing
keyboard focus, so assuming no modifiers are active is the best we can
do.
The shell sends us a modifier update immediately before we regain
keyboard focus, so the state shouldn't get out of sync.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2112
2020-04-02 16:18:18 -04:00
Matthias Clasen
dd625abfc1
Merge branch 'wip/smcv/libdir-independent-valgrind-suppressions' into 'master'
...
supp: Use a single suppressions file for lib, lib64 and multiarch
See merge request GNOME/gtk!1603
2020-04-02 14:46:45 +00:00
Matthias Clasen
b6f6df9662
Merge branch 'im-context-wayland-fixes' into 'master'
...
Im context wayland fixes
See merge request GNOME/gtk!1605
2020-04-02 13:29:32 +00:00
Matthias Clasen
aaa4e40a1f
imcontexsimple: Move Compose file loading to class_init
...
This ensures that it is done only once.
2020-04-02 09:04:23 -04:00
Matthias Clasen
8ec254e2bb
imcontextsimple: Simpify Compose file loading
...
We are not loading the Compose file for individual contexts,
it just gets added to a global list. So don't pass an im context
along. This will let us move the loading out of the initialization
of individual contexts, and only do it once.
2020-04-02 09:02:05 -04:00
Matthias Clasen
2a9911724f
imcontextsimple: Load ~/.Compose unconditionally
...
There is nothing display-specific in the ~/.Compose file,
so we can just try to load it without looking at the
display we are on.
2020-04-02 09:02:05 -04:00
Matthias Clasen
a9b4ac3d59
imcontextsimple: Add a profiler mark for IO
...
We are loading a file here, thankfully in a thread, but
we do it every time an entry is created. Add a profiler
mark, to make this visible.
2020-04-02 09:02:05 -04:00
Simon McVittie
9df7f0197d
supp: Use a single suppressions file for lib, lib64 and multiarch
...
In addition to the traditional library directory lib and the 64-bit
multilib directory lib64, this will cover Debian-style multiarch
(lib/x86_64-linux-gnu etc.), Arch Linux 32-bit (lib32), x32 and
various others.
Signed-off-by: Simon McVittie <smcv@debian.org >
2020-04-02 09:18:55 +01:00
Matthias Clasen
f169d23cdb
Merge branch 'fix-menu-flicker' into 'master'
...
Fix crossing event generation
Closes #2536
See merge request GNOME/gtk!1601
2020-04-02 05:19:13 +00:00
Matthias Clasen
fcd36e59b1
Fix crossing event generation
...
We were not properly setting the new_descendent field
in Crossing structs for GTK_CROSSING_OUT events. This
was causing extraneous ::leave signals to be emitted,
and make model buttons in popover menus flicker when
hovered.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2536
2020-04-02 00:39:46 -04:00
Matthias Clasen
8196478b19
Merge branch 'drop-popover-demo' into 'master'
...
gtk-demo: Remove the popover demo
Closes #2429
See merge request GNOME/gtk!1600
2020-04-01 20:40:17 +00:00
Matthias Clasen
e31bbb41d2
gtk-demo: Remove the popover demo
...
It doesn't work anymore, since popovers now need
support in the parent, and we don't really need
a demo just for popovers. They are used everywhere
already.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2429
2020-04-01 15:45:13 -04:00
Emmanuele Bassi
9c948909ac
Merge branch 'flow-box-typo' into 'master'
...
gtkflowbox: Fix a minor typo in the documentation
See merge request GNOME/gtk!1599
2020-04-01 13:45:19 +00:00
Philip Withnall
544b8d5a7f
gtkflowbox: Fix a minor typo in the documentation
...
Signed-off-by: Philip Withnall <withnall@endlessm.com >
2020-04-01 14:04:46 +01:00
Matthias Clasen
6ae5d9ac22
Merge branch 'matthiasc/for-master' into 'master'
...
keynav: Fix Shift-Tab
See merge request GNOME/gtk!1598
2020-04-01 05:04:02 +00:00
Matthias Clasen
63c6af8d13
Merge branch 'cursor-aspect-ratio' into 'master'
...
Add a cursor-aspect-ratio setting
See merge request GNOME/gtk!1597
2020-04-01 05:02:15 +00:00
Matthias Clasen
199a539ae7
Update the settings test
2020-04-01 00:24:56 -04:00
Matthias Clasen
dc3d778e01
keynav: Fix Shift-Tab
...
This was broken by the shortcuts branch merge.
2020-04-01 00:21:19 -04:00
Matthias Clasen
2154b8e745
Add a cursor-aspect-ratio setting
...
Add a setting that controls how thick the text caret is drawn.
The default value is 0.04.
2020-03-31 23:30:20 -04:00
Matthias Clasen
9f93464ea4
3.98.2
2020-03-31 21:09:30 -04:00
Matthias Clasen
5987bc5d71
Merge branch 'wip/carlosg/stuck-pointer-focus' into 'master'
...
gtkmain: Do not try to coalesce/ignore crossing events
See merge request GNOME/gtk!1594
2020-04-01 00:16:26 +00:00
Matthias Clasen
298218b1d2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1593
2020-03-31 23:19:09 +00:00
Carlos Garnacho
fa7f6ad910
gtkmain: Do not try to coalesce/ignore crossing events
...
Under grabbing circumstances we used to get several crossing events,
some corresponding to the grab itself and some corresponding to
pointer motion.
The backends now do a better job at keeping those simple, which
means we sit listening for events that don't actually arrive. This
triggers pointer focus issues when dragging windows or opening
grabbing popups.
Actually obey those events, they will be the only ones we get now.
2020-04-01 00:40:17 +02:00
Matthias Clasen
b92b7f45b5
testsuite: Add a test for transforms in builder files
2020-03-31 16:49:51 -04:00
Matthias Clasen
2bacc0d4ef
testsuite: Add a test for parsing layout properties
...
and drop the child properties test that doesn't
do anything anymore.
2020-03-31 16:49:51 -04:00
Matthias Clasen
e4fb4b635c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1591
2020-03-31 18:32:18 +00:00
Matthias Clasen
5432f73095
window: Fix residual resizing issues
...
After the GdkToplevel split, GtkWindow occasionally
forgets its minimum size. Fix this by keeping a GdkToplevelLayout
around and reusing it.
2020-03-31 13:07:44 -04:00
Chun-wei Fan
2f64651a3f
meson.build: Fix Visual Studio builds
...
We need to make the C++ language available before we can access the C++
compiler object...
2020-03-31 12:00:26 +08:00
Matthias Clasen
0852d66f6e
NEWS: Updates
2020-03-30 21:58:24 -04:00
Matthias Clasen
f3e826f4d6
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1589
2020-03-31 00:39:37 +00:00
Matthias Clasen
15eb3bbbf1
shortcutcontroller: Document buildable support
2020-03-30 20:09:29 -04:00
Matthias Clasen
96f822434f
testsuite: Add a builder test for shortcut controllers
2020-03-30 20:08:25 -04:00
Matthias Clasen
ace183f38f
shortcutcontroller: Fix builder support
...
The GtkBuilder support was not working anymore after
triggers and actions have been turned into objects.
Fix this.
2020-03-30 19:02:35 -04:00
Matthias Clasen
5bf030413b
Add new api to the docs
2020-03-30 14:12:14 -04:00
Matthias Clasen
2a3dab5b94
Merge branch 'wip/hadess/portal-fixes' into 'master'
...
Portal fixes
See merge request GNOME/gtk!1585
2020-03-30 17:45:40 +00:00
Matthias Clasen
96f0c26306
Merge branch 'issue982' into 'master'
...
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
Closes #982
See merge request GNOME/gtk!1542
2020-03-30 17:41:12 +00:00
Bastien Nocera
8cf41c1b66
filechoosernativeportal: Fall back if portal is too old
...
Add portal version checking as originally implemented for the GTK 3.x
branch.
See: 35fec1c6b2
2020-03-30 18:31:24 +02:00
Bastien Nocera
027ca22def
Add portal version checking helper
...
Add gtk_get_portal_interface_version() to check the version of a portal.
2020-03-30 18:31:23 +02:00
Bastien Nocera
bd55c5842e
colorpickerportal: Simplify version fetching code
...
Simplify version checking code by using a function to fetch the uint out
of the GVariant and don't throw a warning if it can't be fetched.
2020-03-30 18:31:23 +02:00
Olivier Fourdan
c3ff175e3f
win32: Add inhibit shortcut properties
...
Win32 backend doesn't have support for inhibit shortcuts, yet it needs
support the standard set of GdkToplevel properties.
Add support for the "inhibit-list" object property to GdkToplevel on
win32.
2020-03-30 18:25:36 +02:00
Olivier Fourdan
b22c7b8b77
broadway: Add inhibit shortcut properties
...
Broadway doesn't have support for inhibit shortcuts, yet it needs to
support the standard set of GdkToplevel properties.
Add support for the "inhibit-list" object property to GdkToplevel on
Broadway.
2020-03-30 18:25:36 +02:00
Olivier Fourdan
83027c68f1
x11: Implement inhibit_system_shortcuts API
...
On X11, there is no such equivalent to the inhibit shortcut protocol
found on Wayland.
To implement the inhibit_system_shortcuts API on X11, we emulate the
same behavior using grabs on the keyboard.
To avoid keeping active grabs on the keyboard that would affect other
X11 applications even when the surface isn't focused, the X11
implementation takes care of releasing the grabs as soon as the toplevel
loses focus.
2020-03-30 18:25:36 +02:00
Olivier Fourdan
44931a66df
x11: Use gdk_x11_* rather than gdk_wayland_*
...
Rename the local functions for the x11 backend as gdk_x11_* rather than
gdk_wayland_*
2020-03-30 18:25:36 +02:00
Olivier Fourdan
36d986f33c
wayland: Implement inhibit_system_shortcuts API
...
On Wayland, this is a direct mapping with the inhibit shortcut protocol
that GDK already supports.
Simply wire the new API to the existing entries.
2020-03-30 18:25:36 +02:00
Olivier Fourdan
5ac73be976
wayland: Use a GdkSeat as key for our internal hash table
...
With the current implementation, we use a `wl_seat` as the key for our
internal has table where we store the Wayland shortcuts inhibitors.
There is however no technical reason for this, and we could use a
GdkSeat instead, which will ease the implementation of the GdkToplevel
shortcut inhibition API.
2020-03-30 18:25:36 +02:00
Olivier Fourdan
a07a69e24e
gdk: add internal gdk_surface_get_seat_from_event()
...
This can come handy to get the seat from a surface/event.
2020-03-30 18:25:36 +02:00
Olivier Fourdan
3e1f59af61
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
...
With the removal of grabs from the public API, we need a replacement API
to let applications bypass system keyboard shortcuts.
A typical use case for this API is remote desktop or virtual machine
viewers which need to inhibit the default system keyboard shortcuts so
that the remote session or virtual host gets those instead of the local
environment.
Close: https://gitlab.gnome.org/GNOME/gtk/issues/982
2020-03-30 18:25:36 +02:00
Matthias Clasen
da47ccaf3c
Merge branch 'wip/jimmac/avoid-t-word' into 'master'
...
widget-factory: avoid the T word
See merge request GNOME/gtk!1586
2020-03-30 15:15:51 +00:00
Jakub Steiner
e9082fd9f3
widget-factory: avoid the T word
...
- style variant sound more appropriate
2020-03-30 14:28:47 +02:00
Matthias Clasen
61e88c7421
Merge branch 'matthiasc/for-master' into 'master'
...
widget: Remove a leftover vfunc
See merge request GNOME/gtk!1584
2020-03-30 11:37:57 +00:00
Matthias Clasen
de31bb59a1
window: Remove initial-focus leftovers
...
We removed the way to set initial_focus a year ago,
time to get rid of the leftovers.
2020-03-29 23:39:54 -04:00
Matthias Clasen
07bb29153b
widget: Remove a leftover vfunc
...
The popup-menu signal is gone, so we can remove the vfunc.
2020-03-29 23:18:56 -04:00
Yosef Or Boczko
b35e5eeaf6
Update Hebrew translation
2020-03-29 15:34:36 +00:00
Yosef Or Boczko
c0a450e41b
Update Hebrew translation
2020-03-29 15:33:40 +00:00
Timm Bäder
785b33f169
widget: Return an array from list_controllers
...
Minimize the GList usage throughout the code base.
2020-03-29 15:32:54 +02:00
Matthias Clasen
af749dc1dc
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1583
2020-03-29 13:18:35 +00:00
Matthias Clasen
47982ae272
coloreditor: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
0020b735d9
colorchooserdialog: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
e05c1b0244
colorchooserwidget: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
d0b4f9eb29
notebook: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
03375b723a
listbox: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
e2beb6ec50
levelbar: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
ef32cff771
spinbutton: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
366b007024
filechooserwidget: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
40337aa1b3
printunixdialog: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
0bb38b903e
printjob: Drop the Private struct
2020-03-29 09:04:19 -04:00
Matthias Clasen
8acd9ffc76
testsuite: Fix notify test no not fail on the 30th
...
We are setting the month property to 10 different values,
checking that the change succeeds. But the calendar defaults
to the current date, so on every 30th of the month, we
try to set a date of Febuary 30, which fails.
Lets fix this before the 31st, by setting the calendar
to a good date.
2020-03-29 09:04:19 -04:00
Piotr Drąg
23b29341ba
Update Polish translation
2020-03-29 14:08:56 +02:00
Matthias Clasen
6e52820fd2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1582
2020-03-28 21:17:29 +00:00
Matthias Clasen
173b1333ca
printing: Avoid a crash
...
When no printer has been selected (e.g. because we don't
find any printers), the 'print at' radio group should be
insensitive, except for the 'now' choice. Selecting another
option in this situation will lead to a crash.
2020-03-28 15:36:15 -04:00
Matthias Clasen
784d6f8d0c
printing: Fix initial page range radio group
...
Only set one radio button as active in the ui file.
Otherwise we end up with multiple options appearing
as selected initially.
2020-03-28 15:36:15 -04:00
Matthias Clasen
3437f85aaf
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1580
2020-03-28 19:35:36 +00:00
Matthias Clasen
7916b95bc5
gesture: Fix gtk_gesture_get_bounding_box
...
When we stopped translating event coordinates in-place,
this function inadvertently started returning surface-relative
bounding boxes instead of widget-relative ones, as expected.
Fix this by using the widget-relative coordinates that we
already store.
2020-03-28 15:03:33 -04:00
Matthias Clasen
7b135c96e4
cellarea: Fix cell editing
...
We need to translate the event coordinates to
widget-relative coordinates. This broke when
we stopped translating event coordinates in-place.
2020-03-28 14:56:26 -04:00
Matthias Clasen
e662438675
button: Fix an event handling gotcha
...
We no longer translate event coordinates in-place,
so gdk_event_get_position() returns surface-relative
coordinates, not widget-relative ones. Just use the
coordinates we are given.
2020-03-28 14:33:01 -04:00
Matthias Clasen
aa2ca80817
imcontextsimple: Don't use g_object_unref on events
...
Events are not objects anymore.
2020-03-28 14:29:08 -04:00
Matthias Clasen
9ccd514682
x11: Don't use g_object_unref on events
...
Events are not object anymore.
2020-03-28 14:28:36 -04:00
Matthias Clasen
2c7afc0556
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1579
2020-03-28 16:09:01 +00:00
Piotr Drąg
182cb81bdb
Update POTFILES.in and POTFILES.skip
2020-03-28 16:04:52 +01:00
Matthias Clasen
ceef86895f
appchooserdialog: Drop the Private struct
2020-03-28 10:59:12 -04:00
Matthias Clasen
001d076e61
image: Drop the Private struct
2020-03-28 10:49:54 -04:00
Matthias Clasen
408dd37944
infobar: Drop the Private struct
2020-03-28 10:48:15 -04:00
Matthias Clasen
9287e0e7fb
texthandle: Drop the Private struct
2020-03-28 10:36:09 -04:00
Matthias Clasen
28eb1fce04
searchentry: Drop the Private struct
2020-03-28 10:28:22 -04:00
Matthias Clasen
49427119ab
statusbar: Drop the Private struct
2020-03-28 10:28:01 -04:00
Matthias Clasen
05891b1238
settings: Drop the Private struct
...
Also drop class padding - pointless for final types.
2020-03-28 10:22:44 -04:00
Matthias Clasen
b14d99ad7a
accellabel: Drop unused class fields
...
We are not using these anymore.
2020-03-28 10:15:50 -04:00
Matthias Clasen
329638280c
accellabel: Drop the Private struct
2020-03-28 10:06:26 -04:00
Matthias Clasen
06365cdc38
actionbar: Drop the Private struct
2020-03-28 09:59:49 -04:00
Matthias Clasen
1f808c479a
aboutdialog: Drop the Private struct
2020-03-28 09:59:07 -04:00
Matthias Clasen
7e8d61b92c
menubutton: Drop the Private struct
2020-03-28 09:49:29 -04:00
Timm Bäder
d01e664c79
applicationaccels: Fix shortcut memory leaks
...
g_list_model_get_item() is transfer-full.
2020-03-28 08:34:35 +01:00
Matthias Clasen
858997d172
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2489
See merge request GNOME/gtk!1578
2020-03-28 04:40:52 +00:00
Matthias Clasen
f3d061e879
gtk-demo: Fix the stack demo
...
The GtkSpinner:active property was renamed to :spinning.
2020-03-28 00:08:12 -04:00
Matthias Clasen
e2c327e025
gtk-demo: Fix the sliding puzzle
...
Update for a change in gtk_shortcut_controller_add_shortcut
behavior.
2020-03-28 00:08:12 -04:00
Matthias Clasen
48910a6d8e
gtk-demo: Fix the shortcuts demo
...
We don't have margins anymore.
2020-03-28 00:08:12 -04:00
Matthias Clasen
fbed55dff9
gtk-demo: Fix the rotated text demo
...
Off-by-one on the heart!
2020-03-28 00:08:12 -04:00
Matthias Clasen
059917b83c
gtk-demo: Fix the overlay demo
...
We must use two separate boxes for the label and
the entry, otherwise we can't keep their can-target
properties apart.
2020-03-28 00:08:12 -04:00
Matthias Clasen
163aa82d45
gtk-demo: Use mnemonics in menu buttons
...
Use GtkMenuButton:use-underline in the modelbutton demo.
2020-03-28 00:08:12 -04:00
Matthias Clasen
ba25e08e7b
menubutton: Add a use-underline property
...
This is necessary since apps no longer have direct
access to the label.
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2489
2020-03-28 00:08:12 -04:00
Matthias Clasen
bc2c341d60
gtk-demo: Visual fixes to the model button demo
2020-03-28 00:08:12 -04:00
Matthias Clasen
7e0266004e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1577
2020-03-27 21:10:19 +00:00
Matthias Clasen
93d54ba10b
gtk-demo: Fix the search entry demo
...
Avoid critical warnings when setting up the context
menu actions.
2020-03-27 16:24:20 -04:00
Matthias Clasen
5d07a66d1d
widget-factory: Fix the radio button example
...
We only want one of the sensitive buttons to be active,
so don't tell them all to be active.
2020-03-27 16:06:03 -04:00
Matthias Clasen
8997dc6f31
Merge branch 'rename-theme-resources' into 'master'
...
Rename GResources for standard GTK themes
See merge request GNOME/gtk!1576
2020-03-27 16:37:31 +00:00
Matthias Clasen
9f72f4225d
Merge branch 'trigger-parser' into 'master'
...
Improve GtkShortcutTrigger parser
See merge request GNOME/gtk!1572
2020-03-27 15:45:08 +00:00
Emmanuele Bassi
f1003d6ae8
Rename GResources for standard GTK themes
...
After commit 2ab9be54fb we had to rename
the generated CSS files to be included into the GResource bundle; we
kept the URI stable to avoid too much churn, and allow backporting the
change to the 3.24 stable branch. This had the adverse effect of making
it harder to debug issues, as the on-disk file name does not match the
location in the GResource that will be used to print out warnings,
errors, and debugging messages.
2020-03-27 15:20:59 +00:00
Emmanuele Bassi
b1327167e2
Improve GtkShortcutTrigger parsing tests
...
Split off all possible cases into sub-tests, and add more thorough
checks on the invalid strings unit.
2020-03-27 14:56:05 +00:00
Emmanuele Bassi
6719d3044d
Add parsing for GtkAlternativeTrigger
...
Alternative triggers are separate by a pipe character.
2020-03-27 14:35:00 +00:00
Emmanuele Bassi
c75fdda8dd
tests: Add more cases for the trigger parser
2020-03-27 13:57:19 +00:00
Emmanuele Bassi
170e8bd605
Parse keyval name directly for mnemonic triggers
...
We don't need to parse the full accelerator format for mnemonic
triggers.
2020-03-27 13:57:19 +00:00
Emmanuele Bassi
96ccb25f97
Return a full reference when parsing triggers
...
We're not returning a full reference for GtkNeverTrigger, but we are
returning full references for mnemonic and keyval triggers; this means
we're either going to leak mnemonic and keyval triggers if we consider
this function a "transfer none" one, or we are going to trigger an
assertion failure when finalizing a never trigger, if we consider this
function a "transfer full" one.
Let's be consistent, and always return a full reference to the caller.
2020-03-27 13:57:19 +00:00
Timm Bäder
c3c06e60dc
calendar: Only highlight one day as today
...
Fixes #2490
2020-03-27 09:50:30 +01:00
Timm Bäder
ecb8dda309
shortcutscontroller: Make add_shortcut transfer-full
...
Like all the other shortcut api
2020-03-27 08:36:32 +01:00
Timm Bäder
f7975828bc
filechooserwidget: Plug a memory leak
2020-03-27 08:36:32 +01:00
Matthias Clasen
5fdb897f06
Merge branch 'widget-factory-theme' into 'master'
...
widget-factory: Add theme switch
See merge request GNOME/gtk!1573
2020-03-26 18:23:11 +00:00
Matthias Clasen
8ab2e31b58
widget-factory: Add theme switch
...
Add a submenu to test the builtin themes. This is mainly
for the benefit of the artists working on those themes.
2020-03-26 13:51:59 -04:00
Matthias Clasen
0d710b0353
Merge branch 'wip/jimmac/HC-redesign' into 'master'
...
HC: derive from Adwaita
Closes #1450
See merge request GNOME/gtk!1571
2020-03-26 17:24:42 +00:00
Jakub Steiner
06fe4f0205
Adwaita: make insensitive slightly less sensitive
...
- will expose itself even more in HC
2020-03-26 17:22:47 +01:00
Jakub Steiner
910dd7a20a
HC: derive from Adwaita
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1450
2020-03-26 17:21:47 +01:00
Jakub Steiner
8d8990ccd7
Revert "Adwaita: make insensitive slightly less sensitive"
...
This reverts commit bf3ccaa1bf .
2020-03-26 17:19:19 +01:00
Jakub Steiner
bf3ccaa1bf
Adwaita: make insensitive slightly less sensitive
...
- will expose itself even more in HC
2020-03-26 15:55:42 +01:00
Matthias Clasen
eaa20f5cdf
Merge branch 'wip/matthiasc/shortcut-4' into 'master'
...
Shortcuts
See merge request GNOME/gtk!1569
2020-03-26 03:40:22 +00:00
Matthias Clasen
d07e22dc03
Some documentation fixes
2020-03-25 23:14:45 -04:00
Matthias Clasen
1ec2d1d9f1
shortcutmanager: Add some more docs
2020-03-25 23:14:45 -04:00
Matthias Clasen
f59cd392ba
shortcuttrigger: Some documentation fixups
2020-03-25 23:14:45 -04:00
Matthias Clasen
6bacb0b0ae
shortcutaction: Some documentation fixups
2020-03-25 23:14:45 -04:00
Matthias Clasen
530b571d89
shortcutcontroller: Expand the docs
2020-03-25 23:14:45 -04:00
Matthias Clasen
ce22ef18f9
docs: Update the overview input chapter
...
Update the wording around events to reflect current
usage, and add information about shortcuts and the
shortcut controller.
2020-03-25 23:14:45 -04:00
Matthias Clasen
591f6bd7a9
popovermenu: Show mnemonics on keynav
...
This is the expected behavior for menus.
2020-03-25 23:14:45 -04:00
Matthias Clasen
642503afb4
popover: Implement auto mnemonics
...
Unfortunately, this involves copying a bunch of
code from gtkwindow.c. The only difference here
is that we add a private method to turn this off,
which will be used by GtkPopoverMenu to implement
its own auto mnemonics.
2020-03-25 23:14:45 -04:00
Matthias Clasen
fc0b0b14a8
label: Respect GtkPopover::mnemonics-visible
...
When inside a popover, look to the popover for
whether to show mnemonics or not.
2020-03-25 23:14:45 -04:00
Matthias Clasen
2de4fc3ec0
popover: Add a mnemonics-visible property
...
This will be handled separately for popovers, so we
need our own property for it.
2020-03-25 23:14:45 -04:00
Matthias Clasen
b2ac42e576
label: Disconnect visible mnemonics in popovers
...
The controller handling mnemonics is limited to same-native,
so showing mnemonics in other natives.
2020-03-25 23:14:45 -04:00
Matthias Clasen
b19d4b9006
modelbutton: Install accels when inside a popover
...
When a model button in a popover displays a shortcut,
it is probably from the global shortcut controllers,
and will not work inside the popover, since that is
a different native. Install a shortcut using the same
trigger that just activates the model button. This
shortcut will end up in the managed shortcut controller
of the popover.
2020-03-25 23:14:45 -04:00
Matthias Clasen
2c28a0713d
popovermenu: Make mnemonics work without Alt
...
This is expected menu behavior.
2020-03-25 23:14:45 -04:00
Matthias Clasen
b423f974db
shortcutcontroller: Inject accels into the action muxer
...
This is the way model button pic up accels for their actions.
2020-03-25 23:14:45 -04:00
Matthias Clasen
4a430820bd
popover: Implement GtkShortcutManager
...
This makes mnemonics work in popovers.
2020-03-25 23:14:45 -04:00
Matthias Clasen
5153cdc01d
modelbutton: Make activatable
...
This is expected of button-like widgets, and is necessary
to make keynav in popover menus work as expected.
2020-03-25 23:14:45 -04:00
Matthias Clasen
1db5382c6d
modelbutton: Remove accel poking
...
Stop manually poking GtkApplication for accels.
GtkApplication already feeds them into the action
muxer machinery, so that is where will get them.
2020-03-25 23:14:45 -04:00
Emmanuele Bassi
6e8c78714d
Turn GtkShortcutAction into a GObject
...
Just like we did for GtkShortcutTrigger.
This allows language bindings to properly deal with all the actions.
2020-03-25 23:14:45 -04:00
Emmanuele Bassi
457b6657bb
Turn GtkShortcutTrigger into an object
...
The lightweight inheritance mechanism used for GtkShortcutTrigger is not
going to be usable by bindings, because boxed types cannot have derived
types.
We could use GTypeInstance and derive everything from that, like
GParamSpec, but in the end shortcuts are not really a performance
critical paths, unlike CSS values or render nodes.
2020-03-25 23:14:45 -04:00
Emmanuele Bassi
1ddd8586dd
Add definition macro for internal types
...
GTK defines various types that are meant to be derivable only within GTK
itself, and "final" from the perspective of consumers of the GTK API.
The existing macros defined by GObject, such as G_DECLARE_FINAL_TYPE and
G_DECLARE_DERIVABLE_TYPE, lack this functionality.
While we wait for GObject to get this kind of macro, we should define
our own.
2020-03-25 23:14:45 -04:00
Matthias Clasen
5ea45bf57d
widget: Remove some leftover accel group plumbing
...
The ::can-activate-accel and ::accel-closures-changed signals
are not used anymore, remove them.
2020-03-25 23:14:45 -04:00
Matthias Clasen
4e978d6b7a
shortcutcontroller: Only activate shortcuts of visible widgets
...
Our shortcuts are like mnemonics in this respect - they only
activate when the widget is viewable.
2020-03-25 23:14:45 -04:00
Matthias Clasen
b4722b43a1
Drop GtkKeyHash
2020-03-25 23:14:45 -04:00
Matthias Clasen
fd95cc56b1
window: Remove GtkKeyHash remnants
...
It is not used anymore.
2020-03-25 23:14:45 -04:00
Matthias Clasen
d66121c61e
Drop the keyhash test
...
GtkKeyHash is going away.
2020-03-25 23:14:45 -04:00
Matthias Clasen
35332eb3b0
shortcutcontroller: Implement mnemonic cycling
...
Make GtkShortcutController collect matching shortcuts
in the same way GtkKeyHash did (accept fuzzy matches
if we don't have any exact matches), and cycle among
the matches if we have multiple.
2020-03-25 23:14:45 -04:00
Matthias Clasen
586e7749d5
shortcuttrigger: Do elaborate matching for key events
...
Copy the logic from GtkKeyHash for matching key events
to shortcuts.
Adapt shortcuts test to work with the better matching,
by creating more complete key events.
2020-03-25 23:14:45 -04:00
Matthias Clasen
904835d4b1
shortcuttrigger: Introduce partial matches
...
Allow GtkShortcutTrigger to return partial matches.
Currently, no triggers produce such results, and
GtkShortcutController treats partial matches like
exact ones.
2020-03-25 23:14:45 -04:00
Matthias Clasen
cb821d5df3
Add tests for shortcut actions
2020-03-25 23:14:45 -04:00
Matthias Clasen
ff056af249
Add a test for shortcut triggers
2020-03-25 23:14:45 -04:00
Matthias Clasen
9cce474106
widget: Drop the ::popup-menu signal
...
This is now done in widgets which have context
menus.
2020-03-25 23:14:45 -04:00
Matthias Clasen
9d84996fea
placesview: Stop using ::popup-menu
...
This signal is going away.
2020-03-25 23:14:45 -04:00
Matthias Clasen
c2d77a1f37
filechooser: Stop using ::popup-menu
...
This signal is going away.
2020-03-25 23:14:45 -04:00
Matthias Clasen
54a0037c45
mountoperation: Stop using ::popup-menu
...
We can just use a shortcut controller directly.
2020-03-25 23:14:45 -04:00
Matthias Clasen
80b988ef6c
gtk-demo: Stop emitting ::popup-menu
...
The signal was not used anyway, in the font explorer demo.
2020-03-25 23:14:45 -04:00
Matthias Clasen
844801580f
colorchooser: Stop using ::popup-menu
...
This signal is going away. Use an action instead.
2020-03-25 23:14:44 -04:00
Matthias Clasen
28b05eea67
range: Remove ::popup-menu emission
...
This signal is going away, and having context menus
on sliders is not really a thing anyway.
2020-03-25 23:14:44 -04:00
Matthias Clasen
ca1d4322a2
scrollbar: Remove :popup-menu forwarding
...
This signal is going away.
2020-03-25 23:14:44 -04:00
Matthias Clasen
c94ec4a204
emojichooser: Stop using ::popup-menu
...
This signal is going away. Use an action instead.
2020-03-25 23:14:44 -04:00
Matthias Clasen
778d884f70
Use an action for the context menu keybinding
...
The ::popup-menu signal is going away.
2020-03-25 23:14:44 -04:00
Matthias Clasen
e8be45fabc
Print mnemonic triggers clearly
2020-03-25 23:14:44 -04:00
Matthias Clasen
c90b0581dd
inspector: Show shortcuts
...
At a tab that lists the shortcuts contained in a
GtkShortcutController.
2020-03-25 23:14:44 -04:00
Benjamin Otte
43c0ea676d
filechooser: Trigger the location popup via bindings
...
Simplifies code quite a bit.
2020-03-25 23:14:44 -04:00
Benjamin Otte
bb4fbe3d8f
accels: Remove GtkAccelGroup
2020-03-25 23:14:44 -04:00
Benjamin Otte
7c4d8d49b6
testmenubutton: Don't create a GtkAccelGroup
...
It's unused.
2020-03-25 23:14:28 -04:00
Benjamin Otte
cac39526a9
testsuite: Remove GtkAccelGroup usage
2020-03-25 23:14:28 -04:00
Benjamin Otte
4c45410d43
widget: Remove gtk_widget_add_accelerator()
...
People should use shortcut controllers instead (global, capture).
A side effect of this is that GtkAccelLabel now lost its method to
magically look up accelerators to display. Somebody needs to add that
back later.
2020-03-25 23:14:28 -04:00
Benjamin Otte
8e9218df03
doc tools: Create AccelLabel image without using GtkAccelGroup
2020-03-25 23:14:28 -04:00
Emmanuele Bassi
541c478eeb
testgtk: Port keyval example to shortcut controllers
2020-03-25 23:14:28 -04:00
Benjamin Otte
78e3e42042
shortcutcontroller: Implement GtkBuildable
...
Use it to allow adding shortcuts to the controller via the usual <child>
method.
2020-03-25 23:14:28 -04:00
Benjamin Otte
33045c3e0b
shortcutaction: Integrate with GtkBuilder property parsing
...
<property name="action">action(win.quit)</property> style action
specifications now work for GtkShortcutAction properties.
2020-03-25 23:14:28 -04:00
Benjamin Otte
7974751e24
shortcuttrigger: Add gtk_shortcut_triger_new_parse_string()
...
And hook it up into the GtkBuilder infrastructure.
2020-03-25 23:14:28 -04:00
Benjamin Otte
daa7d9072d
application: Replace accelerator handling with shortcuts
...
API remains the same, but activation is now done via a
shortcutcontroller.
The code uses a controller with global scope so that the
shortcuts are managed with all the other global shortcuts.
2020-03-25 23:14:28 -04:00
Benjamin Otte
90a34312d4
accel: Add display arg to gtk_accelerator_parse_with_keycode()
...
It was using the default display unconditionally.
2020-03-25 23:14:28 -04:00
Benjamin Otte
580863b112
accelerators: Make gtk_accelerator_parse() return TRUE/FALSE
...
A parse function should return success or not. So do that.
2020-03-25 23:14:28 -04:00
Benjamin Otte
fb6a8f5fc1
shortcuttrigger: Add hash(), equal(), and compare() functions
...
Those are useful for putting triggers in hash tables or getting sorted
output.
2020-03-25 23:14:28 -04:00
Matthias Clasen
c2e2e2993b
shortcutmanager: Use list models
2020-03-25 23:14:28 -04:00
Matthias Clasen
5763514ab8
shortcutcontroller: Use a list model for shortcuts
2020-03-25 23:14:28 -04:00
Benjamin Otte
4c5d8547be
shortcutaction: Add gtk_shortcut_action_to_string()
...
For all but the callback action, we can print something useful.
2020-03-25 23:14:27 -04:00
Matthias Clasen
34987c0b5c
widget: Only create a controller if we have shortcuts
...
No point in creating objects that just hold empty lists.
2020-03-25 23:14:27 -04:00
Benjamin Otte
3cd4eb0310
widget: Keep keybindings as a GListStore
...
This way, we can use shortcut_controller_new_for_model() and avoid all
the special casing about run_class.
2020-03-25 23:14:27 -04:00
Benjamin Otte
a1e9ae5259
shortcutcontroller: Add gtk_shortcut_controller_new_for_model()
...
This is mainly for internal use, but I can't see a reason to not have it
public for people who want to maintain their own lists.
I'm sure gnome-builder will never ever find a way to misuse it.
2020-03-25 23:14:27 -04:00
Benjamin Otte
e738a4d129
shortcutcontroller: Implement GListModel
...
After all, this controller is a list of shortcuts.
2020-03-25 23:14:27 -04:00
Benjamin Otte
1ec950d14a
gtk-demo: Port the sliding puzzle demo to shortcuts
2020-03-25 23:14:27 -04:00
Benjamin Otte
92e20deca1
shortcut: Change the API for creating shortcuts
...
When creating shortcuts, there almost always are a trigger and an action
available for use. So make gtk_shortcut_new() take those as arguments.
Also add gtk_shortcut_new_with_arguments() so people can easily pass
those in, too.
2020-03-25 23:14:27 -04:00
Benjamin Otte
cd0332aad5
shortcut: Add GtkShortcutAction
...
Similar to GtkShortcutTrigger, GtkShortCutAction provides all the
different ways to activate a shortcut.
So far, these different ways are supported:
- do nothing
- Call a user-provided callback
- Call gtk_widget_activate()
- Call gtk_widget_mnemonic_activate()
- Emit an action signal
- Activate an action from the widget's action muxer
2020-03-25 23:14:27 -04:00
Benjamin Otte
cdd33bbee6
accelgroup: Remove unneeded APIs
...
After the removal of GtkAccelMap, these things are no longer necessary.
2020-03-25 23:14:27 -04:00
Emmanuele Bassi
bca1f6b64f
gtk: Remove GtkAccelMap
...
Now that accel paths are gone, the object managing them isn't needed
anymore either.
2020-03-25 23:14:27 -04:00
Benjamin Otte
9b99b89807
gtk: Remove accel paths
...
It's an outdated technology now that everybody is using GActionGroups.
If somebody wanted to support changeable shortcuts, they'd need to
reintroduce it in another way.
2020-03-25 23:14:27 -04:00
Benjamin Otte
62f96bfda6
Remove GtkMnemonicHash
...
It's not used anymore.
2020-03-25 23:14:27 -04:00
Emmanuele Bassi
2c62cde780
window: Remove all old mnemonic handling API
2020-03-25 23:14:27 -04:00
Emmanuele Bassi
aab10ea43b
Add GtkShortcutManager
...
This adds an interface for taking care of shortcut controllers with
managed scope.
Only GtkWindow currently implements this interface, so we need to ensure
that we check if any top-level widget we reach is a shortcuts manager
before we call into it.
2020-03-25 23:14:27 -04:00
Benjamin Otte
9428807c57
label: Implement mnemonics using shortcuts
2020-03-25 23:14:27 -04:00
Benjamin Otte
21e6e4c026
shortcut: Add gtk_shortcut_set_mnemonic_activate()
...
Makes the shortcut call gtk_widget_mnemonic_activate() upon activation.
2020-03-25 23:14:27 -04:00
Benjamin Otte
bde4cbe377
shortcuttrigger: Add support for mnemonics
...
Mnemonics need to be triggered with help from the controllers (who
determine the modifiers). Support for that has been added, too.
Mnemonics do not use this yet though.
2020-03-25 23:14:27 -04:00
Benjamin Otte
0b7e74318b
window: Put F10 accelerator into its own shortcut controller
...
So instead of relying on gtk_window_activate_key(), it's now using
proper infrastructure.
2020-03-25 23:14:27 -04:00
Benjamin Otte
e398f63bf6
window: Get rid of public APIs that shouldn't be
...
Event controllers should have replaced all of them.
And if they haven't, apps need to fix their code (I'm
looking at you Gimp).
2020-03-25 23:14:27 -04:00
Benjamin Otte
2244eeb727
gdk: Remove GDK_RELEASE_MASK
...
It was only ever supported by keybindings and those are gone now.
2020-03-25 23:14:27 -04:00
Benjamin Otte
c3af47f5d9
gtk-demo: Add a dumb demo for shortcut triggers
2020-03-25 23:14:27 -04:00
Benjamin Otte
730154df7d
shortcutcontroller: Add GtkShortcutScope
...
Allow setting the scope for a controller. The scope determines at what
point in event propagation the shortcuts will be activated.
Local scope is the usual activation, global scope means that the root
widget activates the shortcuts - ie they are activated at the very
start of event propagation (for global capture events) or the very end
(for global bubble events).
Managed scope so far is unimplemented.
This is supposed to be used to replace accelerators and mnemonics.
2020-03-25 23:14:27 -04:00
Benjamin Otte
2309e1dd38
shortcuttrigger: Add gtk_shortcut_trigger_to_label()
...
Provide a user-presentable string.
2020-03-25 23:14:27 -04:00
Benjamin Otte
90c7f4608a
accelgroup: Add gtk_accel_group_print_label()
2020-03-25 23:14:27 -04:00
Benjamin Otte
66102dacf1
accellabel: Move gtk_accelerator_get_label() code
...
The function lives in gtkaccelgroup.c, so there's no need to have that
call a private function in another source file. Instead, make that
other source file call gtk_accelerator_get_label() instead.
2020-03-25 23:14:27 -04:00
Benjamin Otte
d84b60e5f9
accellabel: Get rid of class variables
...
We can just look them up as-needed, no need to cache them.
2020-03-25 23:14:27 -04:00
Benjamin Otte
9a03c8b4d8
gtk: Remove bindings
...
The whole binding functionality is now handled by shortcuts.
2020-03-25 23:14:27 -04:00
Emmanuele Bassi
f02521c502
Remove bindings activation from GtkEventControllerKey
...
We're going to use shortcuts soon.
2020-03-25 22:36:03 -04:00
Matthias Clasen
c1247a7993
popover: Add keynav keybindings
...
The shortcut controllers are limited to same-native,
so we need to duplicate the Tab and arrow key bindings
for focus handling, as well as the Enter bindings for
activation.
2020-03-25 22:36:03 -04:00
Emmanuele Bassi
b2a747b4d4
popovermenu: Port to shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
c1ee2fd54a
accelgroup: Actually have a default mod mask
...
Don't just use a value without initializing it.
2020-03-25 22:36:03 -04:00
Benjamin Otte
4c7b00fd20
treeview: Redo event forwarding hack
...
Reorder the event controllers so that key forwarding to the search
entries really happens after shortcut triggering.
2020-03-25 22:36:03 -04:00
Benjamin Otte
3fba7f9dce
combobox: Redo key event forwarding hack
...
Instead of manualling invoking bindings, we now reorder event
controllers inside the treemenu, so that shortcuts run before the event
forwarding.
2020-03-25 22:36:03 -04:00
Emmanuele Bassi
7ca4a94768
widget: Add private accessor to event controllers
2020-03-25 22:36:03 -04:00
Benjamin Otte
1df0a5eab5
iconview: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
6a005c815e
infobar: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
cb09211ace
label: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
e430e0e2ff
listbox: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
6ad1078595
notebook: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
cd7e9dcc27
scale: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
8752f613d7
scalebutton: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
f54d3a3aca
scrolledwindow: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
db525ef213
searchentry: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
3f00e42ec9
shortcutssection: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
d5fa5b9594
shortcutswindow: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
2e5fc35e51
flowbox: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
6ff94f3637
paned: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
80888d7111
spinbutton: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
48b46c8d08
textview: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
df457cadfc
filechooserwidget: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
58e8f2332d
shortcutcontroller: Add gtk_shortcut_controller_add_shortcut()
...
... and gtk_shortcut_controller_remove_shortcut().
2020-03-25 22:36:03 -04:00
Benjamin Otte
376dc4d169
shortcutcontroller: Add private API for running class shortcuts
...
We don't want regular users to be able to run class shortcuts in their
controllers, so we have to special case that.
2020-03-25 22:36:03 -04:00
Benjamin Otte
dfd81f9c64
treeview: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
6d418134ee
widget: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
02646d74f4
dialog: Port binding to use shortcuts
2020-03-25 22:36:03 -04:00
Emmanuele Bassi
d62be573ad
text: Port to widget shortcuts
2020-03-25 22:36:03 -04:00
Emmanuele Bassi
17eef48835
Allow installing bindings bound to actions
...
This is just convenience code around GtkShortcut, just like bindings for
signal emission and callback invocation.
2020-03-25 22:36:03 -04:00
Emmanuele Bassi
7ffea02eb4
shortcut: Add action activation
2020-03-25 22:36:03 -04:00
Emmanuele Bassi
0b75edc0e1
bindings: Export action activation internally
...
We're going to use it, just like we use the signal emission code.
2020-03-25 22:36:03 -04:00
Benjamin Otte
d4bba7de88
shortcut: Add gtk_shortcut_set_callback()
...
... and gtk_widget_class_add_binding() to go with it.
This allows shortcuts to invoke manually added callbacks.
2020-03-25 22:36:03 -04:00
Benjamin Otte
a8902da4bc
assistant: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
8ff18b3d39
combobox: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
81fa63260e
trigger: Add an alternative trigger
...
And use it.
I just added it to GtkWidget just to show that I can.
The real reason I want it is for gamepad/joystick triggers
in games, so that it becomes possible to select 2 different
triggers (gamepad and keyboard) for the same shortcut.
2020-03-25 22:36:03 -04:00
Matthias Clasen
6d452f1eb8
shortcut: Add GtkShortcutTrigger
...
Triggers are meant to describe how to trigger a shortcut.
So far only a keyval + modifiers trigger exists.
2020-03-25 22:36:03 -04:00
Benjamin Otte
d51b8ff058
window: Port bindings to use shortcuts
2020-03-25 22:36:03 -04:00
Benjamin Otte
b11263ae91
bindings: Add more variant types
...
Also marshal types that the code in gtkbindings.c doesn't use. These
will be used by gtk_widget_class_add_binding_signal().
2020-03-25 22:36:03 -04:00
Benjamin Otte
0eb1228902
widget: Add gtk_widget_class_add_shortcut()
...
This allows adding shortcuts as a replacement for keybindings.
2020-03-25 22:36:03 -04:00
Benjamin Otte
d8603864a9
gtk: Add GtkShortcut
...
This is the base class for what is about to take over all sorts of
keyboard shortcuts. The initial version barely deals with keybindings.
2020-03-25 22:36:03 -04:00
Benjamin Otte
f9ee703af4
bindings: Split out function to invoke an action signal
...
We want to use that in shortcuts later.
2020-03-25 22:36:03 -04:00
Benjamin Otte
a232107122
shortcutcontroller: Introduce
...
This is a very barebones controller that currently does nothing but
activate the binding signals. Yay.
And because we have bindings on every widget (Yes, a GtkGrid has a
keybinding - 2 in fact), we need that controller everywhere.
2020-03-25 22:36:03 -04:00
Benjamin Otte
27834b04ae
bindings: Make gtk_binding_parse_signal() use GVariantBuilder
...
And because it's the last user of GtkBindingArg and
gtk_binding_entry_add_signall(), also remove those two.
2020-03-25 22:36:03 -04:00
Benjamin Otte
cbe207a8de
bindings: Parse into GVariantBuilder directly
...
Avoids the indirection via GtkBindingArg
2020-03-25 22:36:03 -04:00
Benjamin Otte
1cab5e03ca
bindings: Add gtk_binding_entry_add_signal_variant()
...
This function is the replacement for
gtk_binding_entry_add_signall().
The GVariant will be demarshalled and passed to the action signal upon
binding activation. The same rules apply as used to apply for
GtkBindingArg, in that long, double and string args are now replaced by
"x", "d" and "s" variant types.
2020-03-25 22:36:03 -04:00
Benjamin Otte
f8c523fa72
bindings: Replace GtkBindingArg arguments with GVariant
...
So far, this only replaces invocation, not yet parsing.
2020-03-25 22:36:03 -04:00
Matthias Clasen
e17db0abde
Merge branch 'matthiasc/for-master2' into 'master'
...
Matthiasc/for master2
See merge request GNOME/gtk!1568
2020-03-26 02:30:54 +00:00
Matthias Clasen
cc9c45a47a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1567
2020-03-26 01:54:30 +00:00
Emmanuele Bassi
a9c3a33620
passwordentry: Remove unused include
2020-03-25 21:53:12 -04:00
Emmanuele Bassi
f61d520ab1
entry: Remove unused include
2020-03-25 21:53:06 -04:00
Matthias Clasen
7672e6c833
text view: Fix touch selection
...
We forgot to allocated that popover.
2020-03-25 18:48:01 -04:00
Matthias Clasen
faf61cd112
event controller focus: drop include
...
This header is not needed here, and it is going away.
2020-03-25 18:47:54 -04:00
Matthias Clasen
1308ecb0ae
flattenlistmodel: Give access to child models
...
Add an api to retrieve the model containing a given
item in a flatten listmodel. This is useful when the
individual items in the list don't have backpointers.
2020-03-25 18:47:46 -04:00
Matthias Clasen
4f6096947e
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1565
2020-03-25 21:48:38 +00:00
Matthias Clasen
dc18572a59
Merge branch 'wip/chergert/muxer-robustness-fix' into 'master'
...
muxer: force muxer dispoal as part of widget dispose
See merge request GNOME/gtk!1564
2020-03-25 21:34:56 +00:00
Matthias Clasen
8493ebfe98
filechoosererrorstack: Fix object life-cycle
...
Unparent children in dispose, not in finalize.
2020-03-25 17:04:29 -04:00
Matthias Clasen
5870d9d72a
testsuite: Set NO_AT_BRIDGE for gtk tests
...
The a11y stack insists on spewing hard to control warnings
that make our tests fail. So, no accessibility for gtk tests :(
2020-03-25 17:03:58 -04:00
Christian Hergert
b5b836668a
muxer: force muxer dispoal as part of widget dispose
...
We need to cleanup state here immediately so that we do not potentially
access the g_class private data after it been finalized. This ensures that
the borrowed reference is dropped by the muxer.
2020-03-25 14:02:59 -07:00
Timm Bäder
c155ac98c8
Merge branch 'wip/sadiq/fix-leak' into 'master'
...
singleselection: Fix a memory leak
See merge request GNOME/gtk!1554
2020-03-25 09:13:50 +00:00
Timm Bäder
600952e295
magnifier: Don't try to use a null widget paintable
...
We destroy the paintable in dispose, which can be called multiple times.
2020-03-24 10:44:06 +01:00
Timm Bäder
3b2adf5d1f
inspector: Fix child widget life cycle
...
unparent them in dispose
2020-03-24 10:44:06 +01:00
Timm Bäder
56d99ab5cd
Merge branch 'patch-2' into 'master'
...
gtkfilechoosernative: Remove duplicate "the" in the documentation
See merge request GNOME/gtk!1557
2020-03-24 06:08:26 +00:00
LingMan
29c9776daa
gtkfilechoosernative: Remove duplicate "the" in the documentation
2020-03-24 04:58:13 +00:00
Marc-Antoine Perennou
eb8e0910c3
testsuite/gtk/flattenlistmodel.c: fix build
...
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com >
2020-03-22 10:53:59 +01:00
Mohammed Sadiq
cfc44e09a0
singleselection: Fix a memory leak
2020-03-22 14:05:56 +05:30
Matthias Clasen
92b50c5e2a
3.98.1
2020-03-21 21:44:23 -04:00
Matthias Clasen
dabd09bc42
a11y: Don't re turn uninitialized memory
...
For some reason, this was now showing up in the
a11y tests as random image sizes in the about
dialog test.
2020-03-21 21:44:23 -04:00
Matthias Clasen
d7e5f5b368
Merge branch 'filechooser-popover-fixes' into 'master'
...
Filechooser popover fixes
See merge request GNOME/gtk!1553
2020-03-22 00:40:15 +00:00
Matthias Clasen
95209290c4
file chooser: Fix the rename file popover
...
Make this popover work again by attaching it
to the file chooser itself.
2020-03-21 20:14:23 -04:00
Matthias Clasen
90197240d3
filechooser: Fix the file list popover
...
Make this popover work again.
2020-03-21 20:00:15 -04:00
Matthias Clasen
6555a2f661
filechooser: Fix the new folder popover
...
We were listening for change notification on a
no-longer-existing property.
2020-03-21 19:32:08 -04:00
Matthias Clasen
a197b202b8
places sidebar: Fix the popovers
...
We need to check-resize the popovers.
2020-03-21 18:28:57 -04:00
Matthias Clasen
84e58aa393
Merge branch 'portal-dir-chooser' into 'master'
...
filechoosernativeportal: Allowing selecting folder(s)
See merge request GNOME/gtk!1552
2020-03-21 20:29:11 +00:00
Bastien Nocera
e99d1605dc
filechoosernativeportal: Allowing selecting folder(s)
...
Use the "directory" portal option when asked to select folders.
2020-03-21 15:46:05 -04:00
Matthias Clasen
bf988f8d07
Merge branch 'portal-chooser-fail' into 'master'
...
portal file chooser: Handle errors
Closes #2527
See merge request GNOME/gtk!1551
2020-03-21 18:34:07 +00:00
Matthias Clasen
245851a6bb
portal file chooser: Handle errors
...
Fall back to showing a local file chooser
if we get DBus errors from the portal.
Closes : #2527
2020-03-21 13:16:43 -04:00
Matthias Clasen
bb3dc16680
Merge branch 'fix-inspector-picking' into 'master'
...
inspector: Make picking work again
Closes #2528
See merge request GNOME/gtk!1549
2020-03-21 16:21:51 +00:00
Matthias Clasen
fceac594ae
Merge branch 'fix-inspector-key' into 'master'
...
x11: Fix key event state translation
See merge request GNOME/gtk!1550
2020-03-21 14:47:29 +00:00
Matthias Clasen
abeabc39e8
x11: Fix key event state translation
...
In the event refactoring, a bit was lost.
This makes Ctrl-Shift-i work again to open
the inspector.
2020-03-21 10:26:11 -04:00
Matthias Clasen
fd58b116cf
inspector: Make picking work again
...
We used to either make the inspector see- and click-thru
or lower it, but sadly translucency broke after we
removed surface opacity, and lowering doesn't work
on Wayland. So just hide the inspector window while
we are picking.
Fixes : #2528
2020-03-21 09:42:58 -04:00
Matthias Clasen
a67893fe5a
Merge branch 'new-text-attributes' into 'master'
...
New text attributes
See merge request GNOME/gtk!1547
2020-03-21 05:56:22 +00:00
Matthias Clasen
9259efb5d7
Make overline support conditional
...
The ci image does not have Pango 1.45, so for the
time being, make the overline support conditional
on Pango being new enough.
2020-03-21 01:18:54 -04:00
Matthias Clasen
72f06abd13
Require pango 1.44.4
...
This lets use use the insert-hyphen attribute
unconditionally.
2020-03-21 00:39:17 -04:00
Matthias Clasen
923a245a80
gtk-demo: Add hyphenation control to the markup demo
2020-03-20 23:58:33 -04:00
Matthias Clasen
38f1dbaba3
gtk-demo: Allow word breaking in the markup demo
...
We want to show hyphenation control here.
2020-03-20 23:58:33 -04:00
Matthias Clasen
795ef5b4e3
textbuffer: Parse overline and hyphenation attributes
...
When inserting Pango markup into a text buffer, translate
Pango attributes for overlines and hyphenation control
into the corresponding text tag properties.
2020-03-20 23:58:23 -04:00
Matthias Clasen
fd9c911c3a
textlayout: Handle new text tag properties
...
Translate tag properties for overlines and
hyphenation control into Pango attributes.
2020-03-20 23:58:23 -04:00
Matthias Clasen
a8c6ae6085
texttag: Support overline and hyphenation control
...
Add support for recently added Pango attributes
for overlines and hyphenation control. The new
properties of GtkTextTag are
overline, overline-rgba, allow-breaks, show-spaces
and insert-hyphens.
2020-03-20 23:58:23 -04:00
Carlos Garnacho
28e7a0a565
Merge branch 'master_MR1290' into 'master'
...
Copy of !1290 for master
Closes #2365
See merge request GNOME/gtk!1546
2020-03-20 20:20:41 +00:00
Matthias Clasen
7088bd18e6
Merge branch 'wip/chergert/fix-class-private-data-usage' into 'master'
...
Fix GtkWidgetClassPrivate data usage
See merge request GNOME/gtk!1545
2020-03-20 18:49:58 +00:00
Christian Hergert
ccac404f28
widget: fix class private data usage to be _init() safe
...
Before this commit, adding GtkWidgetAction to class private data would
require copying the actions to each subclass as they were built or
modified. This was convenient in that it is a sort of "copy on write"
semantic.
However, due to the way that GTypeInstance works with base _init()
functions, the "g_class" pointer in GTypeInstance is updated as each
_init() function is called. That means you cannot access the subclasses
class private data, but only the parent class private data.
If instead we use a singly linked list of GtkWidgetAction, each subclass
has their own "head" yet all subclasses share the tail of the
GtkWidgetAction chain.
This creates one bit of complexity though. You need a stable way to know
which "bit" is the "enabled" bit of the action so we can track enabled
GAction state. That is easily solved by calculating the distance to the
end of the chain for a given action so that base classes sort ahead of
subclasses. Since the parent class always knows its parent's actions, the
position is stable.
A new dynamic bitarray helper also helps us avoid allocations in all the
current cases (up to 64 actions per widget) and dynamically switches to
malloc if that is to ever be exceeded.
2020-03-20 11:17:56 -07:00
Christian Hergert
6822dce8fb
widget: move class private data to gtkwidgetprivate.h
...
We want access to the private data from the action muxer so we can just
move the structures to the gtkwidgetprivate.h header. Alternatively we
could create accessors, but given that we'll probably need to use this
in other areas, seems reasonable to just put it there.
2020-03-20 11:17:56 -07:00
Matthias Clasen
5b2cdad19e
Merge branch 'test-protocol' into 'master'
...
Test protocol: TAP
See merge request GNOME/gtk!1543
2020-03-20 18:12:09 +00:00
Matthias Clasen
c7caa53917
testsuite: disable performance tests
...
For some reason, these tests are flaky in ci,
they always work locally for me. So, until
we use the data these tests produce for something,
lets just turn them off.
2020-03-20 13:47:58 -04:00
Matthias Clasen
fa4be719d8
Merge branch 'wip/carlosg/text-handle-natives' into 'master'
...
Make text handles use native surfaces
See merge request GNOME/gtk!1487
2020-03-20 17:29:17 +00:00
Alexandr Miloslavskiy
32f088e335
gkimmulticontext: Fix crash due to leaked signal handler
...
The problem is caused by gtk_im_multicontext_set_slave(), which forgets
to disconnect these signal handlers:
* gtk_im_multicontext_retrieve_surrounding_cb
* gtk_im_multicontext_delete_surrounding_cb
If slave GtkImContext emits signal after GtkIMMulticontext context is
destroyed, this leads to reading freed memory, sometimes causing a crash.
Fixes : #2365
2020-03-20 18:02:22 +01:00
Emmanuele Bassi
cb81e3ee47
Merge branch 'ci-dbus-launch' into 'master'
...
ci: Add dbus-launch to the Docker build
See merge request GNOME/gtk!1544
2020-03-20 16:13:07 +00:00
Matthias Clasen
9eda683060
testsuite: Fix an a11y test
...
The derive test wasn't producing TAP, so
running it as part of a tap testsuite wasn't
going well. Fix that.
2020-03-20 12:09:21 -04:00
Matthias Clasen
cbb0ca4902
testsuite: Tell meson we use TAP
...
This makes meson actually parse the individual test
results. Most of the time, it does not make a difference,
but one case where it does is when all the individual
tests of a binary are skipped, meson will mark the
test as skipped.
2020-03-20 11:55:26 -04:00
Matthias Clasen
9403f44aef
reftests: Fix an xfail to work
...
The background-image-multiple.ref.ui file uses
non-existing properties, which gives us a g_warning,
and the glib test framework insists on treating
warnings as fatal, so we end up doing exit(133),
which in turn makes the meson TAP parser ignore
its xfails.
Comment out the nonexisting properties, so we can
fail properly, and then in turn xfail properly.
2020-03-20 11:55:26 -04:00
Matthias Clasen
dc4b7131f1
testsuite: Don't exit unsuccessfully when using TAP
...
The meson TAP parser doesn't take this lightly and
forgets all about xfails when we exit(1), so don't.
2020-03-20 11:55:26 -04:00
Emmanuele Bassi
bf6087f2da
ci: Add dbus-launch to the Docker build
2020-03-20 15:36:39 +00:00
Carlos Garnacho
23f03ca1f2
gtktextview: Set magnifier popover on top
...
At the bottom, it sometimes has to fight for the same position than
text handles, besides might not be ergonomically convenient (eg.
finger/hand partly covering the popover). Move it at the top to fix
both.
2020-03-20 15:52:19 +01:00
Carlos Garnacho
54a4a18bcf
gtktext: Set magnifier popover on top
...
At the bottom, it sometimes has to fight for the same position than
text handles, besides might not be ergonomically convenient (eg.
finger/hand partly covering the popover). Move it at the top to fix
both.
2020-03-20 15:52:19 +01:00
Carlos Garnacho
9a0b70fc84
gtkpopover: Re-present surface if position/pointing-to change while visible
...
This ensures the popover will follow the new position parameters. This is
necessary for popovers like the text magnifier that can be repositioned
while visible.
2020-03-20 15:52:19 +01:00
Carlos Garnacho
6431bdcf91
gtkpopover: Ensure the pointed to rectangle has a minimum w/h
...
On wayland, protocol errors will be raised if the rectangle width/height
are 0. Avoid that situation so it's valid to all popovers.
2020-03-20 15:52:19 +01:00
Carlos Garnacho
0f73e83f44
gtkwindow: Remove internal popover API
...
This was only used by text handles, and not anymore.
2020-03-20 15:52:19 +01:00
Carlos Garnacho
0264a64f29
gtktexthandle: Refactor and use native surfaces
...
Instead of being a GObject managing two GtkWidgets, make GtkTextHandle
a GtkWidget subclass, representing a single handle.
From the perspective of users (GtkText and GtkTextView), this is not a
big leap since they have to be aware of a great deal of text handles'
state. It actually makes things more direct and simple.
With text handles being widgets, those can be actual children of the
widget, and may have their own GdkSurface that we move around at will.
This is the second major aspect of this refactor.
2020-03-20 15:52:19 +01:00
Matthias Clasen
c893f79023
reftests: Don't run tests with --verbose
...
Unexpected output tends to break TAP.
2020-03-20 10:43:25 -04:00
Matthias Clasen
68e1c8d3e9
gsk: Don't unconditionally spew to stdout
2020-03-20 10:43:25 -04:00
Matthias Clasen
cf7dc5b2bb
testsuite: Don't g_print from tests
...
This breaks the TAP output.
2020-03-20 10:03:04 -04:00
Matthias Clasen
068ec58287
testsuite: Fix the accessible test
...
This test was happily doing nothing.
2020-03-20 10:03:04 -04:00
Matthias Clasen
2747dd5c9f
Merge branch 'disable-window-test-2' into 'master'
...
Disable window test 2
See merge request GNOME/gtk!1541
2020-03-20 13:42:38 +00:00
Matthias Clasen
f6fc3073fb
temporarily disable window test
...
This test was broken by the GdkToplevel refactoring,
and needs a big gtkwindow.c configure request cleanup
before it will work again.
2020-03-19 18:08:06 -04:00
Matthias Clasen
31db615885
Revert "Merge branch 'disable-window-test' into 'master'"
...
This reverts commit 3ac4c76b18 , reversing
changes made to 6ec96d2e98 .
2020-03-19 18:03:16 -04:00
Matthias Clasen
3ac4c76b18
Merge branch 'disable-window-test' into 'master'
...
Disable window test
See merge request GNOME/gtk!1540
2020-03-19 19:35:42 +00:00
Matthias Clasen
89b537bd8a
Fix the action test
...
We have a test that enumerates the GtkText actions,
so when a new open appears, the test needs to be updated.
2020-03-19 14:29:37 -04:00
Matthias Clasen
7d5cfcf61d
Fix a compiler warning
2020-03-19 14:13:26 -04:00
Matthias Clasen
2e70b4c323
temporarily disable window test
...
This test was broken by the GdkToplevel refactoring,
and needs a big gtkwindow.c configure request cleanup
before it will work again.
2020-03-19 11:25:38 -04:00
Matthias Clasen
fcab0943bf
text view: Fix touch selection
...
We forgot to allocated that popover.
2020-03-19 09:46:53 -04:00
Matthias Clasen
c8fd6407a8
widget: Drop the ::popup-menu signal
...
This is now done in widgets which have context
menus.
2020-03-19 00:56:46 -04:00
Matthias Clasen
53f29ba427
placesview: Stop using ::popup-menu
...
This signal is going away.
2020-03-19 00:54:23 -04:00
Matthias Clasen
eb3f4b302f
filechooser: Stop using ::popup-menu
...
This signal is going away.
2020-03-19 00:24:53 -04:00
Matthias Clasen
59df45f3f7
mountoperation: Stop using ::popup-menu
...
We can just use a shortcut controller directly.
2020-03-18 23:00:51 -04:00
Matthias Clasen
98011e6273
gtk-demo: Stop emitting ::popup-menu
...
The signal was not used anyway, in the font explorer demo.
2020-03-18 23:00:51 -04:00
Matthias Clasen
f40965cc40
colorchooser: Stop using ::popup-menu
...
This signal is going away. Use an action instead.
2020-03-18 23:00:51 -04:00
Matthias Clasen
ab9b094f80
range: Remove ::popup-menu emission
...
This signal is going away, and having context menus
on sliders is not really a thing anyway.
2020-03-18 23:00:51 -04:00
Matthias Clasen
4bc60c6110
scrollbar: Remove :popup-menu forwarding
...
This signal is going away.
2020-03-18 23:00:51 -04:00
Matthias Clasen
48ace13635
emojichooser: Stop using ::popup-menu
...
This signal is going away. Use an action instead.
2020-03-18 23:00:51 -04:00
Matthias Clasen
908d996b4f
Use an action for the context menu keybinding
...
The ::popup-menu signal is going away.
2020-03-18 23:00:51 -04:00
Matthias Clasen
4e263b4042
Print mnemonic triggers clearly
2020-03-18 23:00:51 -04:00
Matthias Clasen
f5134a833c
inspector: Show shortcuts
...
At a tab that lists the shortcuts contained in a
GtkShortcutController.
2020-03-18 23:00:51 -04:00
Matthias Clasen
f7021e80a7
Only create a class shortcut controller if we have shortcuts
...
No point in creating objects that just hold empty lists.
2020-03-18 23:00:51 -04:00
Matthias Clasen
3e7d49a8d3
widget: Name the controllers
2020-03-18 23:00:51 -04:00
Matthias Clasen
5a6533d8fb
window: Name the the controllers
2020-03-18 23:00:51 -04:00
Matthias Clasen
5a6a9dc149
shortcutmanager: Name the controllers
...
This is helpful in the inspector.
2020-03-18 23:00:51 -04:00
Matthias Clasen
ad69899a9d
Move shortcut manager initialization code
...
It is just too ugly to use quarks across multiple
source files, so add a private helper function that
attaches the controllers.
2020-03-18 23:00:51 -04:00
Benjamin Otte
3cf56817e7
filechooser: Trigger the location popup via bindings
...
Simplifies code quite a bit.
2020-03-18 23:00:51 -04:00
Benjamin Otte
ff6df33b6a
accels: Remove GtkAccelGroup
2020-03-18 23:00:51 -04:00
Benjamin Otte
e944514664
testmenubutton: Don't create a GtkAccelGroup
...
It's unused.
2020-03-18 23:00:51 -04:00
Benjamin Otte
93bb3f7144
testsuite: Remove GtkAccelGroup usage
2020-03-18 23:00:51 -04:00
Benjamin Otte
17d9ba362c
widget: Remove gtk_widget_add_accelerator()
...
People should use shortcut controllers instead (global, capture).
A side effect of this is that GtkAccelLabel now lost its method to
magically look up accelerators to display. Somebody needs to add that
back later.
2020-03-18 23:00:51 -04:00
Benjamin Otte
b685d2c00a
doc tools: Create AccelLabel image without using GtkAccelGroup
2020-03-18 23:00:51 -04:00
Emmanuele Bassi
1a55f59f23
testgtk: Port keyval example to shortcut controllers
2020-03-18 23:00:51 -04:00
Benjamin Otte
29ced09dc4
shortcutcontroller: Implement GtkBuildable
...
Use it to allow adding shortcuts to the controller via the usual <child>
method.
2020-03-18 23:00:51 -04:00
Benjamin Otte
458fcba457
shortcutaction: INtegrate with GtkBuilder property parsing
...
<property name="action">action(win.quit)</property> style action
specifications now work for GtkShortcutAction properties.
2020-03-18 23:00:51 -04:00
Benjamin Otte
5218dd6a34
shortcuttrigger: Add gtk_shortcut_triger_new_parse_string()
...
And hook it up into the GtkBuilder infrastructure.
2020-03-18 23:00:51 -04:00
Benjamin Otte
df792a088d
application: Replace accelerator handling with shortcuts
...
API remains the same, but activation is now done via a
shortcutcontroller.
The code uses a controller with global scope so that the
shortcuts are managed with all the other global shortcuts.
2020-03-18 23:00:51 -04:00
Benjamin Otte
94ef20ea36
accel: Add display arg to gtk_accelerator_parse_with_keycode()
...
It was using the default display unconditionally.
2020-03-18 23:00:51 -04:00
Benjamin Otte
87df17e4ce
accelerators: Make gtk_accelerator_parse() return TRUE/FALSE
...
A parse function should return success or not. So do that.
2020-03-18 23:00:51 -04:00
Benjamin Otte
673a0463e0
shortcuttrigger: Add hash(), equal(), and compare() functions
...
Those are useful for putting triggers in hash tables or getting sorted
output.
2020-03-18 23:00:51 -04:00
Benjamin Otte
0c81698911
shortcuts: Mananage managed shortcuts with a custom model
...
Reduce the amount of special casing by using a list model
for global and managed shortcuts, too.
This way, the ListModel API will work for the ShortcutController in the
GtkShortcutManager and GtkRoot.
The only special case remaining is shortcut activation, which needs to
pass the right widget to the controller in the global/managed case.
2020-03-18 23:00:51 -04:00
Benjamin Otte
a10a295515
shortcutaction: Add gtk_shortcut_action_to_string()
...
For all but the callback action, we can print something useful.
2020-03-18 23:00:51 -04:00
Benjamin Otte
3b595f5720
widget: Keep keybindings as a GListStore
...
This way, we can use shortcut_controller_new_for_model() and avoid all
the special casing about run_class.
2020-03-18 23:00:51 -04:00
Benjamin Otte
d14807b93d
shortcutcontroller: Add gtk_shortcut_controller_new_for_model()
...
This is mainly for internal use, but I can't see a reason to not have it
public for people who want to maintain their own lists.
I'm sure gnome-builder will never ever find a way to misuse it.
2020-03-18 23:00:51 -04:00
Benjamin Otte
538a1a0461
shortcutcontroller: Implement GListModel
...
After all, this controller is a list of shortcuts.
2020-03-18 23:00:51 -04:00
Benjamin Otte
067bd7019c
gtk-demo: Port the sliding puzzle demo to shortcuts
2020-03-18 23:00:51 -04:00
Benjamin Otte
4a4bfa0766
shortcut: Change the API for creating shortcuts
...
When creating shortcuts, there almost always are a trigger and an action
available for use. So make gtk_shortcut_new() take those as arguments.
Also add gtk_shortcut_new_with_arguments() so people can easily pass
those in, too.
2020-03-18 23:00:51 -04:00
Benjamin Otte
e6d0560a82
shortcut: Add GtkShortcutAction
...
Similar to GtkShortcutTrigger, GtkShortCutAction provides all the
different ways to activate a shortcut.
So far, these different ways are supported:
- do nothing
- Call a user-provided callback
- Call gtk_widget_activate()
- Call gtk_widget_mnemonic_activate()
- Emit an action signal
- Activate an action from the widget's action muxer
- Activate a GAction
2020-03-18 23:00:51 -04:00
Benjamin Otte
4d0bab0c24
accelgroup: Remove unneeded APIs
...
After the removal of GtkAccelMap, these things are no longer necessary.
2020-03-18 23:00:51 -04:00
Emmanuele Bassi
b28da74e90
gtk: Remove GtkAccelMap
...
Now that accel paths are gone, the object managing them isn't needed
anymore either.
2020-03-18 23:00:51 -04:00
Benjamin Otte
ba3882de83
gtk: Remove accel paths
...
It's an outdated technology now that everybody is using GActionGroups.
If somebody wanted to support changeable shortcuts, they'd need to
reintroduce it in another way.
2020-03-18 23:00:51 -04:00
Benjamin Otte
20cfa2e280
Remove GtkMnemonicHash
...
It's not used anymore.
2020-03-18 23:00:51 -04:00
Emmanuele Bassi
a977094e18
window: Remove all old mnemonic handling API
2020-03-18 23:00:51 -04:00
Emmanuele Bassi
09400b6bfe
Add GtkShortcutManager
...
This adds an interface for taking care of shortcut controllers with
managed scope.
Only GtkWindow currently implements this interface, so we need to ensure
that we check if any top-level widget we reach is a shortcuts manager
before we call into it.
2020-03-18 23:00:50 -04:00
Benjamin Otte
bbe98d9f7c
label: Implement mnemonics using shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
ab681b0e05
shortcut: Add gtk_shortcut_set_mnemonic_activate()
...
Makes the shortcut call gtk_widget_mnemonic_activate() upon activation.
2020-03-18 23:00:50 -04:00
Benjamin Otte
ef40f22632
shortcuttrigger: Add support for mnemonics
...
Mnemonics need to be triggered with help from the controllers (who
determine the modifiers). Support for that has been added, too.
Mnemonics do not use this yet though.
2020-03-18 23:00:50 -04:00
Benjamin Otte
bea2dcef8f
window: Put F10 accelerator into its own shortcut controller
...
So instead of relying on gtk_window_activate_key(), it's now using
proper infrastructure.
2020-03-18 23:00:50 -04:00
Benjamin Otte
cc13b47542
window: Get rid of public APIs that shouldn't be
...
Event controllers should have replaced all of them.
And if they haven't, apps need to fix their code (I'm
looking at you Gimp).
2020-03-18 23:00:50 -04:00
Benjamin Otte
8c23ccd86e
gdk: Remove GDK_RELEASE_MASK
...
It was only ever supported by keybindings and those are gone now.
2020-03-18 23:00:50 -04:00
Benjamin Otte
662a8a2885
gtk-demo: Add a dumb demo for shortcut triggers
2020-03-18 23:00:50 -04:00
Benjamin Otte
d4127fe0d4
shortcutcontroller: Add GtkShortcutScope
...
Allow setting the scope for a controller. The scope determines at what
point in event propagation the shortcuts will be activated.
Local scope is the usual activation, global scope means that the root
widget activates the shortcuts - ie they are activated at the very
start of event propagation (for global capture events) or the very end
(for global bubble events).
Managed scope so far is unimplemented.
This is supposed to be used to replace accelerators and mnemonics.
2020-03-18 23:00:50 -04:00
Benjamin Otte
22801f0d4d
shortcuttrigger: Add gtk_shortcut_trigger_to_label()
...
Provide a user-presentable string.
2020-03-18 23:00:50 -04:00
Benjamin Otte
e050288d07
accelgroup: Add gtk_accel_group_print_label()
2020-03-18 23:00:50 -04:00
Benjamin Otte
93af53a2fc
accellabel: Move gtk_accelerator_get_label() code
...
The function lives in gtkaccelgroup.c, so there's no need to have that
call a private function in another source file. Instead, make that
other source file call gtk_accelerator_get_label() instead.
2020-03-18 23:00:50 -04:00
Benjamin Otte
e2a0ed4fcb
accellabel: Get rid of class variables
...
We can just look them up as-needed, no need to cache them.
2020-03-18 23:00:50 -04:00
Benjamin Otte
fb99f834e6
gtk: Remove bindings
...
The whole binding functionality is now handled by shortcuts.
2020-03-18 23:00:50 -04:00
Matthias Clasen
a062b96051
event controller focus: drop include
...
This header is not needed here, and it is going away.
2020-03-18 23:00:50 -04:00
Emmanuele Bassi
5033fc62f2
Remove bindings activation from GtkEventControllerKey
...
We're going to use shortcuts soon.
2020-03-18 23:00:50 -04:00
Emmanuele Bassi
bdde072c06
popover: Remove unused include
2020-03-18 23:00:50 -04:00
Matthias Clasen
f7a4d968e9
popover: Add keynav keybindings
...
The shortcut controllers are limited to same-native,
so we need to duplicate the Tab and arrow key bindings
for focus handling, as well as the Enter bindings for
activation.
2020-03-18 23:00:50 -04:00
Emmanuele Bassi
252030ba59
popovermenu: Port to shortcuts
2020-03-18 23:00:50 -04:00
Emmanuele Bassi
f24cf29326
passwordentry: Remove unused include
2020-03-18 23:00:50 -04:00
Emmanuele Bassi
9b1d593967
entry: Remove unused include
2020-03-18 23:00:50 -04:00
Benjamin Otte
4e3ac8f52b
accelgroup: Actually have a default mod mask
...
Don't just use a value without initializing it.
2020-03-18 23:00:50 -04:00
Benjamin Otte
7f10641fd9
treeview: Redo event forwarding hack
...
Reorder the event controllers so that key forwarding to the search
entries really happens after shortcut triggering.
2020-03-18 23:00:50 -04:00
Benjamin Otte
3ef6be0d25
combobox: Redo key event forwarding hack
...
Instead of manualling invoking bindings, we now reorder event
controllers inside the treemenu, so that shortcuts run before the event
forwarding.
2020-03-18 23:00:50 -04:00
Emmanuele Bassi
56595e7529
widget: Add private accessor to event controllers
2020-03-18 23:00:50 -04:00
Benjamin Otte
4b798e238f
iconview: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
718faf68ac
infobar: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
83dc9dabed
label: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
051f7e4118
listbox: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
cbeb096bb3
notebook: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
bf7c51cc11
scale: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
3803209330
scalebutton: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
fb7d1095d1
scrolledwindow: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
45ec453b76
searchentry: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
e4d628b410
shortcutssection: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
e11d799460
shortcutswindow: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
6e38af4429
flowbox: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
a70635f760
paned: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
2c91f15f6d
spinbutton: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
bad5ee7ed9
textview: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
277aaab041
filechooserwidget: Port bindings to use shortcuts
2020-03-18 23:00:50 -04:00
Benjamin Otte
5ade831cd1
shortcutcontroller: Add gtk_shortcut_controller_add_shortcut()
...
... and gtk_shortcut_controller_remove_shortcut().
2020-03-18 23:00:50 -04:00
Benjamin Otte
3b8a4340da
shortcutcontroller: Add private API for running class shortcuts
...
We don't want regular users to be able to run class shortcuts in their
controllers, so we have to special case that.
2020-03-18 23:00:49 -04:00
Benjamin Otte
ae11b29ee7
treeview: Port bindings to use shortcuts
2020-03-18 23:00:49 -04:00
Benjamin Otte
ac31979805
widget: Port bindings to use shortcuts
2020-03-18 23:00:49 -04:00
Benjamin Otte
0b4d0f4d31
dialog: Port binding to use shortcuts
2020-03-18 23:00:49 -04:00
Emmanuele Bassi
00bc9e6b85
text: Port to widget shortcuts
2020-03-18 23:00:49 -04:00
Emmanuele Bassi
d75fd59ddf
Allow installing bindings bound to actions
...
This is just convenience code around GtkShortcut, just like bindings for
signal emission and callback invocation.
2020-03-18 23:00:49 -04:00
Emmanuele Bassi
84a52e3bbd
shortcut: Add action activation
2020-03-18 23:00:49 -04:00
Emmanuele Bassi
9687d69b5a
bindings: Export action activation internally
...
We're going to use it, just like we use the signal emission code.
2020-03-18 23:00:49 -04:00
Benjamin Otte
b18f9da807
shortcut: Add gtk_shortcut_set_callback()
...
... and gtk_widget_class_add_binding() to go with it.
This allows shortcuts to invoke manually added callbacks.
2020-03-18 23:00:49 -04:00
Benjamin Otte
6c13bbb441
combobox: Port bindings to use shortcuts
2020-03-18 23:00:49 -04:00
Benjamin Otte
4f128a4a21
assistant: Port bindings to use shortcuts
2020-03-18 23:00:49 -04:00
Benjamin Otte
e62154c91f
trigger: Add an alternative trigger
...
And use it.
I just added it to GtkWidget just to show that I can.
The real reason I want it is for gamepad/joystick triggers
in games, so that it becomes possible to select 2 different
triggers (gamepad and keyboard) for the same shortcut.
2020-03-18 23:00:49 -04:00
Matthias Clasen
78f9940ddc
shortcut: Add GtkShortcutTrigger
...
Triggers are meant to describe how to trigger a shortcut.
So far only a keyval + modifiers trigger exists.
2020-03-18 23:00:49 -04:00
Benjamin Otte
0f6c5da28d
window: Port bindings to use shortcuts
2020-03-18 23:00:49 -04:00
Benjamin Otte
c7f10e570e
bindings: Add more variant types
...
Also marshal types that the code in gtkbindings.c doesn't use. These
will be used by gtk_widget_class_add_binding_signal().
2020-03-18 23:00:49 -04:00
Benjamin Otte
e19b49f5aa
widget: Add gtk_widget_class_add_shortcut()
...
This allows adding shortcuts as a replacement for keybindings.
2020-03-18 23:00:49 -04:00
Benjamin Otte
ff13ee4b66
gtk: Add GtkShortcut
...
This is the base class for what is about to take over all sorts of
keyboard shortcuts. The initial version barely deals with keybindings.
2020-03-18 23:00:49 -04:00
Benjamin Otte
fed7d3833f
bindings: Split out function to invoke an action signal
...
We want to use that in shortcuts later.
2020-03-18 23:00:49 -04:00
Benjamin Otte
5c6be5c0cd
shortcutcontroller: Introduce
...
This is a very barebones controller that currently does nothing but
activate the binding signals. Yay.
And because we have bindings on every widget (Yes, a GtkGrid has a
keybinding - 2 in fact), we need that controller everywhere.
2020-03-18 23:00:49 -04:00
Benjamin Otte
06660874ee
bindings: Make gtk_binding_parse_signal() use GVariantBuilder
...
And because it's the last user of GtkBindingArg and
gtk_binding_entry_add_signall(), also remove those two.
2020-03-18 23:00:49 -04:00
Benjamin Otte
4675d74e42
bindings: Parse into GVariantBuilder directly
...
Avoids the indirection via GtkBindingArg
2020-03-18 23:00:49 -04:00
Benjamin Otte
3b3a5c2d53
bindings: Add gtk_binding_entry_add_signal_variant()
...
This function is the replacement for
gtk_binding_entry_add_signall().
The GVariant will be demarshalled and passed to the action signal upon
binding activation. The same rules apply as used to apply for
GtkBindingArg, in that long, double and string args are now replaced by
"x", "d" and "s" variant types.
2020-03-18 23:00:49 -04:00
Benjamin Otte
385c5e0569
bindings: Replace GtkBindingArg arguments with GVariant
...
This only replaces invocation, not yet parsing.
2020-03-18 23:00:49 -04:00
Matthias Clasen
6ec96d2e98
Merge branch 'wip/chergert/speedup-char_is_invisible' into 'master'
...
textbtree: short-circuit visibility check when possible
See merge request GNOME/gtk!1534
2020-03-19 01:20:21 +00:00
Christian Hergert
6c8d47f585
textbtree: short-circuit visibility check when possible
...
If we have never seen a GtkTextTag in the GtkTextTagTable with the
invisible bit set, then we do not need to go through the process of
checking the accumulated tags.
Not using invisible tags is overwhelmingly the common case.
2020-03-18 11:32:46 -07:00
Matthias Clasen
1bc1b82256
Merge branch 'wip/jimmac/adwaitadark-lighten-switches' into 'master'
...
Adwaita: dark switches/check/radios
Closes #2461
See merge request GNOME/gtk!1532
2020-03-18 12:28:15 +00:00
Matthias Clasen
89c0df6cb7
Merge branch 'wip/chergert/textview-fix-gdk_event_unref' into 'master'
...
textview: use gdk_event_unref()
Closes #2520
See merge request GNOME/gtk!1531
2020-03-18 12:27:08 +00:00
Jakub Steiner
c91dd2cb45
Adwaita: dark switches/check/radios
...
- lighten up radios, switches and checkboxes
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2461
2020-03-18 13:01:17 +01:00
Matthias Clasen
3408ff1dd7
emojichooser: Fix keynav
...
Make arrow and tab keys work in the
variations popover again.
2020-03-17 21:49:29 -04:00
Matthias Clasen
7a46157edf
window: Set min size properly
...
When we are mapping the window, we need to compute
a proper min size, otherwise the 1, 1 sticks and
makes all windows shrinkable to nothing.
2020-03-17 20:46:57 -04:00
Matthias Clasen
01568dc915
Revert "Adwaita: dark switches/check/radios"
...
This reverts commit 435992600f .
This causes warnings from the CSS parser.
2020-03-17 20:32:23 -04:00
Matthias Clasen
6eb848f0e0
popover: Add keynav keybindings
...
The shortcut controllers are limited to same-native,
so we need to duplicate the Tab and arrow key bindings
for focus handling, as well as the Enter bindings for
activation.
2020-03-17 20:15:26 -04:00
Christian Hergert
e4578b15c3
textview: use gdk_event_unref()
...
Fixes #2520
2020-03-17 13:24:03 -07:00
Matthias Clasen
8fab4ceebb
Assorted migration guide updates
...
Mention GdkEvent, GdkPopup, GdkToplevel, GtkIconTheme
changes.
2020-03-17 16:23:03 -04:00
Jakub Steiner
826f237782
Merge branch 'wip/jimmac/adwaitadark-lighten-switches'
2020-03-17 11:05:26 +01:00
Jakub Steiner
435992600f
Adwaita: dark switches/check/radios
...
- lighten up radios, switches and checkboxes
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2461
2020-03-17 11:03:28 +01:00
Matthias Clasen
5d4b46b2d8
Merge branch 'emoji-chooser-fixes' into 'master'
...
Emoji chooser fixes
See merge request GNOME/gtk!1530
2020-03-17 05:12:12 +00:00
Matthias Clasen
292cea7310
Adwaita: Fix focus in emoji chooser
2020-03-17 00:28:57 -04:00
Matthias Clasen
4d7f0f330b
emojichooser: Make the variation picker work again
...
We can't attach popovers to unsuspecting widget anymore.
2020-03-17 00:07:37 -04:00
Emmanuele Bassi
5bf51adcce
Merge branch 'respect-text-len-gtk4' into 'master'
...
imcontextwayland: Honour len argument in gtk_im_context_wayland_set_surrounding
See merge request GNOME/gtk!1529
2020-03-16 17:08:53 +00:00
Robert Mader
5343ec3345
imcontextwayland: Honour len argument in gtk_im_context_wayland_set_surrounding
...
Clients may pass not `NULL`-terminated strings as the function takes a
`len` argument. Use that argument.
2020-03-16 16:53:33 +01:00
Matthias Clasen
c6cc02637e
Merge branch 'x11-props' into 'master'
...
Drop X11-specific properties
See merge request GNOME/gtk!1526
2020-03-15 00:47:03 +00:00
Matthias Clasen
1576cced0f
Drop GdkToplevel:accept-focus/:focus-on-map
...
These properties were only ever implemented in the
X11 backend. If you want to use them, just use the
X properties directly.
2020-03-14 19:28:00 -04:00
Matthias Clasen
c9ec1c6af1
Drop focus-related properties
...
We don't use these, and they are only implemented on X11.
2020-03-14 19:28:00 -04:00
Matthias Clasen
32b9dd64db
Drop GdkToplevel:keep-above/below
...
These properties were only ever implemented in the X11
backend. If you want to keep windows above or below
on X11, just use the X properties.
2020-03-14 15:46:55 -04:00
Matthias Clasen
6f156dad7f
window: Drop keep above/below
2020-03-14 15:16:56 -04:00
Matthias Clasen
103ef3c195
tests: Stop using keep above/below
2020-03-14 15:16:56 -04:00
Matthias Clasen
60ea97187a
Drop GdkToplevel:sticky
...
This was only ever implemented on X11. If you
want to use it there, just use the X properties
yourself.
2020-03-14 15:16:18 -04:00
Matthias Clasen
fb7ef8f62c
window: Drop sticky
...
This is an X11-only concept that we don't have
on Wayland.
2020-03-14 14:34:39 -04:00
Matthias Clasen
d4f49a8cb9
tests: Stop sticking windows
2020-03-14 14:34:39 -04:00
Matthias Clasen
951f821d6a
Merge branch 'window-attach' into 'master'
...
window: Drop gtk_window_set_attached_to
See merge request GNOME/gtk!1527
2020-03-14 13:19:35 +00:00
Matthias Clasen
dfda88038e
window: Drop gtk_window_set_attached_to
...
We are no longer attaching windows to widgets.
2020-03-14 02:00:10 -04:00
Matthias Clasen
50c2b80c74
gdk: Documentation fixes
2020-03-14 01:23:56 -04:00
Matthias Clasen
0d3df4fb1d
Document gdk_toplevel_set_modal
2020-03-14 01:23:09 -04:00
Matthias Clasen
4be675b0c9
Small documentation fixes
2020-03-14 01:22:31 -04:00
Matthias Clasen
0c25b4cfa8
Update gtk docs
...
Updates for recent api renames and removals.
2020-03-14 01:15:07 -04:00
Matthias Clasen
c2e5aed874
NEWS: Updates
2020-03-14 00:59:16 -04:00
Matthias Clasen
60a9e9d342
Merge branch 'x11-resize' into 'master'
...
x11: Update surface size for popups too
See merge request GNOME/gtk!1525
2020-03-14 03:35:31 +00:00
Matthias Clasen
8010bc4596
x11: Update surface size for popups too
...
Without this, the back buffers of the wrong size
keep being used, causing flickery misdraws, as
seen when expanding the expander in the popover
in widget-factory.
2020-03-13 21:33:23 -04:00
Matthias Clasen
33db28c288
Merge branch 'fix-tools-tests' into 'master'
...
Fix tools tests
See merge request GNOME/gtk!1524
2020-03-13 20:36:54 +00:00
Matthias Clasen
7db490ef2a
testsuite: Specify the test protocol
...
If we don't specify protocol: 'tap', meson things
all is good even though my test yells "not ok".
2020-03-13 15:53:19 -04:00
Matthias Clasen
8b1301cecd
Update the ui file conversion output
...
This changed because the popover property got renamed.
2020-03-13 15:53:19 -04:00
Matthias Clasen
bc6953a081
testsuite: Update the settings test output
2020-03-13 15:53:19 -04:00
Matthias Clasen
4b71ed3f5e
testsuite: Update tools tests
...
These tests need to test GTK4 ui file syntax.
2020-03-13 15:34:54 -04:00
Matthias Clasen
8fd51d761b
testsuite: Actually run tools tests
...
The script was looking in the wrong place for the tests.
2020-03-13 15:11:07 -04:00
Matthias Clasen
66a0a8d53e
Merge branch 'wip/baedert/test-cflags' into 'master'
...
Pass (almost) all our cflags to tests, testsuite, examples, demos, ...
See merge request GNOME/gtk!1516
2020-03-13 18:40:46 +00:00
Piotr Drąg
265d9c8703
Update POTFILES.in
2020-03-13 17:32:39 +01:00
Matthias Clasen
eaf9f7e225
Merge branch 'wayland-max-cursor-scale' into 'master'
...
wayland: Stop capping cursor scales
See merge request GNOME/gtk!1522
2020-03-13 15:49:02 +00:00
Matthias Clasen
331069f378
wayland: Stop capping cursor scales
...
We don't load entire themes anymore, so we can
easily accomodate larger cursor scales now.
2020-03-13 11:13:02 -04:00
Matthias Clasen
9aa270f928
Merge branch 'update-broadway' into 'master'
...
Update broadway
See merge request GNOME/gtk!1521
2020-03-13 15:09:47 +00:00
Matthias Clasen
97d189d726
Merge branch 'popover-accessible-private' into 'master'
...
a11y: Drop the private from GtkPopoverAccessible
See merge request GNOME/gtk!1520
2020-03-13 14:38:51 +00:00
Alexander Larsson
9e2829756f
broadway: Inherit frame clock from parent surface
2020-03-13 15:26:22 +01:00
Alexander Larsson
b74a26b275
broadway: Keep popups above their parent
...
We set the parent as a "transient parent" for popups, which means
they will not be stacked below the parent.
2020-03-13 15:06:02 +01:00
Alexander Larsson
03d6d272f7
broadway: Track surface position correctly
...
surface->x/y (and various x,y arguments) should be in the parent
coordinates, so treat it as such. We also keep track of the root coords
as these are needed for popup positioning.
Also, drop the isTemp property server side and the weird initial
placement at (100, 100) in the daemon. We now fully control window
placement from the client instead. If this is not we want we should do
a serious design for that but until then lets do the simplest thing.
2020-03-13 15:05:59 +01:00
Alexander Larsson
1a763c440f
broadway: Correctly track surface visibility in client
...
We forgot to unset visible when hiding surfaces
2020-03-13 15:00:32 +01:00
Alexander Larsson
43598fc5f2
broadway: Ensure images are decoded, not only loaded
...
In firefox, onload will trigger when the image is loaded, but at
that point it may not be decoded yet so showing it will sometimers
trigger flashes. We use the new decode() feature instead which ensures
both that the image is loaded *and* decoded, thus fixing the flashes.
2020-03-13 15:00:24 +01:00
Alexander Larsson
a4b718da4e
broadway: Fix image updates for firefox
...
For whatever reason we need to assign the function to a variable
to be able to call it.
2020-03-13 15:00:18 +01:00
Alexander Larsson
086a577fd1
broadway: Handle browser hidpi scale factor
2020-03-13 14:59:37 +01:00
Matthias Clasen
c5076675aa
a11y: Drop the private from GtkPopoverAccessible
...
It is not used, and empty structs upset msvc.
2020-03-13 09:51:04 -04:00
Matthias Clasen
9d98707f66
Merge branch 'present-toplevel-2' into 'master'
...
surface api splitup
See merge request GNOME/gtk!1511
2020-03-13 13:34:57 +00:00
Bastien Nocera
179b39eb86
Merge branch 'wip/hadess/fix-remote-filechooser-main' into 'master'
...
Fix crasher/warnings when browsing remote filesystems
Closes #2482
See merge request GNOME/gtk!1490
2020-03-13 12:36:10 +00:00
Matthias Clasen
19e2ab76ce
win32: Build fixes
...
These fixes were done blindly, to make the ci pass,
and will need review by somebody with access to an
actual win32 system to make sure the surface subtypes
are implemented properly.
2020-03-13 07:47:48 -04:00
Timm Bäder
2fe23409fb
Merge branch 'align-docs-fixes' into 'master'
...
gtk: Tweak GTK_ALIGN_BASELINE docs
See merge request GNOME/gtk!1518
2020-03-13 06:17:46 +00:00
Matthew Leeds
1963ff2951
gtk: Tweak GTK_ALIGN_BASELINE docs
2020-03-12 12:36:09 -07:00
Matthias Clasen
2b2d6bf747
win32: implement subtypes
2020-03-12 15:30:11 -04:00
Matthias Clasen
7fd60ab570
Fix up gdk docs
2020-03-12 15:30:11 -04:00
Matthias Clasen
25b90907ad
surface: document gdk_surface_translate_coordinates
2020-03-12 15:30:11 -04:00
Matthias Clasen
f005dfa5fb
toplevel: require GdkSurface
2020-03-12 15:30:11 -04:00
Matthias Clasen
31d2b686d6
popup: require GdkSurface
2020-03-12 15:30:11 -04:00
Matthias Clasen
3e06a9b1d2
Drop root coordinates from _gdk_device_query_state
...
Callers are not using them anyway. Update all callers.
2020-03-12 15:30:11 -04:00
Matthias Clasen
641c8f3252
Drop mwm hints from api
...
The GdkWMDecoration and GdkWMFunction enums
are no longer used in the api, so move them
to the x11 backend where they are used.
2020-03-12 15:30:11 -04:00
Matthias Clasen
f020d77a23
Move fullscreen-mode to GdkToplevel
2020-03-12 15:30:11 -04:00
Matthias Clasen
81be6ff46b
Move edge-constraints to GdkToplevel
2020-03-12 15:30:11 -04:00
Matthias Clasen
b7f51a362e
surface: Drop unused vfuncs
...
These are now entirely unused.
2020-03-12 15:30:11 -04:00
Matthias Clasen
b05408f854
quartz: Drop unused vfuncs
2020-03-12 15:30:11 -04:00
Matthias Clasen
fe19ad7919
win32: Drop some unused vfuncs
...
toplevel_resize is unused in the frontend.
2020-03-12 15:30:10 -04:00
Matthias Clasen
651b746747
wayland: Drop some unused vfuncs
...
show, withdraw, raise, lower, toplevel_resize,
present_popup,
are all unused in the frontend.
2020-03-12 15:30:10 -04:00
Matthias Clasen
3654c05cb3
x11: Drop some unused vfuncs
...
show, withdraw, raise, lower are all unused in the frontend.
2020-03-12 15:30:10 -04:00
Matthias Clasen
b6c8cf72cd
broadway: Drop some unused vuncs
...
show, withdraw, raise, lower, present_popup
are all unused by the frontend.
2020-03-12 15:30:10 -04:00
Matthias Clasen
8b57092958
surface: Drop gdk_surface_show
...
No longer used.
2020-03-12 15:30:10 -04:00
Matthias Clasen
4dc27ee4a6
win32: Stop using gdk_surface_show
2020-03-12 15:30:10 -04:00
Matthias Clasen
90ff8ca797
broadway: Stop using gdk_surface_show
2020-03-12 15:30:10 -04:00
Matthias Clasen
7e15a13f48
wayland: Drop dead code
2020-03-12 15:30:10 -04:00
Matthias Clasen
b2c5d77883
x11: Stop using gdk_surface_show
2020-03-12 15:30:10 -04:00
Matthias Clasen
90dfca290c
gdk: Drop surface-type
...
We have interfaces for surface subtypes now.
2020-03-12 15:30:10 -04:00
Matthias Clasen
a2dbc729f6
wayland: Stop using surface-type
2020-03-12 15:30:10 -04:00
Matthias Clasen
763321e274
x11: Stop using surface-type
2020-03-12 15:30:10 -04:00
Matthias Clasen
df223ae27b
broadway: Stop using surface type
2020-03-12 15:30:10 -04:00
Matthias Clasen
0616fe033d
x11: Stop using gdk_surface_get_surface_type
2020-03-12 15:30:10 -04:00
Matthias Clasen
5a516f2a22
wayland: Stop using surface types
2020-03-12 15:30:10 -04:00
Matthias Clasen
70e45aa229
surface: Stop using surface types
2020-03-12 15:30:10 -04:00
Matthias Clasen
c00ec402c1
surface: Don't implement subtypes in the frontend
...
These are now provided by the backend.
2020-03-12 15:30:10 -04:00
Matthias Clasen
84095febed
x11: Only use state of toplevels
...
Other surface subtypes don't have that property.
2020-03-12 15:30:10 -04:00
Matthias Clasen
4c06c3bb19
broadway: Implement GdkPopup, GdkToplevel and GdkDragSurface
...
Make subclasses of GdkX11Surface that implement these
interfaces.
2020-03-12 15:30:10 -04:00
Emmanuele Bassi
34ff8f3afb
Merge branch 'migration-can-target-docs' into 'master'
...
Docs: Refer to GtkWidget::can_target in migration guide
See merge request GNOME/gtk!1517
2020-03-12 19:25:58 +00:00
Matthias Clasen
bf08bf667c
x11: Implement GdkPopup, GdkToplevel and GdkDragSurface
...
Make subclasses of GdkX11Surface that implement these
interfaces.
2020-03-12 14:56:21 -04:00
Matthias Clasen
cd773e7cb3
wayland: Implement GdkPopup, GdkToplevel and GdkDragSurface
...
Make subclasses of GdkWaylandSurface that implement these
interfaces.
2020-03-12 14:56:21 -04:00
Matthias Clasen
b3cabe638f
Drop gdk_surface_set_opacity
2020-03-12 14:56:21 -04:00
Matthias Clasen
fafddde4bc
x11: Stop using gdk_surface_set_opacity
...
We can just use the backend api directly.
2020-03-12 14:56:21 -04:00
Matthias Clasen
412a593618
widget: Stop using gdk_surface_set_opacity
2020-03-12 14:56:21 -04:00
Matthias Clasen
d6be419050
Drop gdk_surface_show and gdk_surface_resize
...
We can now use GdkDragIcon api for the last cases
where this was used.
2020-03-12 14:56:21 -04:00
Matthias Clasen
ceefe34027
gtkdragicon: Use drag surface api
2020-03-12 14:56:21 -04:00
Matthias Clasen
b25be8a42f
Add a GdkDragSurface interface
...
This will provide functionality specific to drag icons.
2020-03-12 14:56:21 -04:00
Matthias Clasen
3a4e647b2d
surface: Drop redundant toplevel api
...
The toplevel functionality to keep is moving to
GdkToplevel, and unused functions can go.
2020-03-12 14:56:21 -04:00
Matthias Clasen
c67d426dc4
docs: Stop using gdk_surface_get_decorations
2020-03-12 14:56:20 -04:00
Matthias Clasen
a79b6fbf35
testgtk: Stop setting decorations and functions
2020-03-12 14:56:20 -04:00
Matthias Clasen
496bd5783c
tests: Stop using gdk_surface_fullscreen
2020-03-12 14:56:20 -04:00
Matthias Clasen
8ea80801b4
testgtk: Stop using gdk_surface_set_icon_name
...
Its not useful api, and will disappear.
2020-03-12 14:56:20 -04:00
Matthias Clasen
f7aec64e6f
wayland: Stop using gdk_surface_set_title
...
Directly call the backend function for this, and for
gdk_surface_set_transient_for.
2020-03-12 14:56:20 -04:00
Matthias Clasen
8e0ad72875
testgtk: Stop using gdk_surface_get_state
2020-03-12 14:56:20 -04:00
Matthias Clasen
703d69692f
demo: stop using gdk_surface_get_state
2020-03-12 14:56:20 -04:00
Matthias Clasen
f90c0ccaf0
a11y: Stop using gdk_surface_get_state
2020-03-12 14:56:20 -04:00
Matthias Clasen
f78f8655a6
x11: Stop using gdk_surface_get_state
...
All the surfaces we are dealing with here are toplevels.
2020-03-12 14:56:20 -04:00
Matthias Clasen
6edff8cd67
gtk: use toplevel state getter
2020-03-12 14:56:20 -04:00
Matthias Clasen
9266881691
window: Use GdkToplevel
2020-03-12 14:56:20 -04:00
Matthias Clasen
dfbde3da4f
Introduce GdkToplevel
...
This is a new interface for toplevel surfaces.
2020-03-12 14:56:20 -04:00
Matthias Clasen
c0c387020b
Introduce GdkToplevelLayout
...
This will be used in a new GdkTopleve interface in
the near future.
2020-03-12 14:44:03 -04:00
Jason Francis
3830e764d7
Docs: Refer to GtkWidget::can_target in migration guide
...
This makes the docs consistent with the renaming changes in commit
ef982b7d46 .
2020-03-12 14:10:38 -04:00
Timm Bäder
73d8f6a090
build: Add -Wno-typedef-redefinition to build
...
Clang otherwise complains about this
2020-03-12 08:32:34 +01:00
Timm Bäder
822d67295a
Replace a few more fallthrough comments
2020-03-12 08:32:03 +01:00
Matthias Clasen
e7ef4a57ca
testsuite: Stop using type-hints
2020-03-11 19:36:04 -04:00
Matthias Clasen
11c91065cf
window: Drop type hints
2020-03-11 19:36:04 -04:00
Matthias Clasen
eefedccaee
x11: Set type hints based on surface type
...
Set the ewmh type hints based on the surface type and
transient parent, instead of taking it from the type hint.
2020-03-11 19:36:04 -04:00
Matthias Clasen
2ae3b46ee9
Stop setting type hints for dialogs
2020-03-11 19:36:04 -04:00
Matthias Clasen
ef9d7612f6
shortcutswindow: Stop setting type hints
2020-03-11 19:36:04 -04:00
Matthias Clasen
66669e0573
headerbar: Stop looking at type hints
2020-03-11 19:36:04 -04:00
Matthias Clasen
aec3705717
testsuite: Stop using type-hint
2020-03-11 19:35:56 -04:00
Matthias Clasen
ec0fb44958
a11y: Stop using type hints
2020-03-11 19:35:56 -04:00
Matthias Clasen
6c44f7bf07
wayland: Stop tracking orphan dialogs
...
Wayland has no concept of transient-for-group. If we want to
support that, add proper proper protocol for it, don't hack it
in this like.
2020-03-11 19:35:56 -04:00
Matthias Clasen
b2ae6ce8ff
surface: Rename gdk_surface_input_shape_combine_region
...
There is no shape combining going on anymore, so
call this just gdk_surface_set_input_region, and
remove the offset arguments too. All callers pass
0 anyway.
Update all callers and implementations.
2020-03-11 19:35:56 -04:00
Matthias Clasen
72fdf54e07
x11: Stop using gdk_surface_maximize
...
Just use the backend function directly.
2020-03-11 19:35:56 -04:00
Matthias Clasen
78ed520a5b
x11: Stop using gdk_surface_set_geometry_hints
...
Just use the backend function directly.
2020-03-11 19:35:56 -04:00
Matthias Clasen
29606af03e
wayland: Stop using gdk_surface_set_geometry_hints
...
Just use the backend function directly.
2020-03-11 19:35:56 -04:00
Matthias Clasen
513eb11c7c
inspector: Stop raising and lowering windows
...
We should always be composited, so this should not
matter in practice.
2020-03-11 19:35:56 -04:00
Matthias Clasen
2a6c08571f
x11: Stop using gdk_surface_raise
...
Avoid a vfunc roundtrip and just use the backend
implementation directly.
2020-03-11 19:35:56 -04:00
Matthias Clasen
3276021a5b
broadway: Stop using gdk_surface_raise
...
We don't implement this anyway. Add a shortcut
to the backend function in case we ever do.
2020-03-11 19:35:56 -04:00
Matthias Clasen
b1fb049277
x11: Stop abusing type hints for dnd
...
Nothing in GDK depends on this being set, so just
don't do it.
2020-03-11 19:35:55 -04:00
Matthias Clasen
5acbfce264
wayland: Stop abusing type hints
...
Instead of misusing window type hints, introduce
a private flag for drag surfaces.
2020-03-11 19:35:55 -04:00
Matthias Clasen
dc4f7515bd
surface: Drop popup api
...
We have the GdkPopup interface now.
2020-03-11 19:35:55 -04:00
Matthias Clasen
4e8dfdff2e
tooltip: Use GdkPopup
2020-03-11 19:35:55 -04:00
Matthias Clasen
b670bf54f7
popover: Use GdkPopup
2020-03-11 19:35:55 -04:00
Matthias Clasen
530dd5a940
surface: Implement GdkPopup
...
This is not quite right, and only temporary, since
it makes GDK_IS_POPUP (surface) true for every surface.
Eventually, the implementation will be moved to the
backends.
2020-03-11 19:35:55 -04:00
Matthias Clasen
aee8a02fc8
Introduce GdkPopup
...
This is a new interface for popup surfaces.
2020-03-11 19:35:55 -04:00
Matthias Clasen
0791363943
popuplayout: Add docs
2020-03-11 19:35:55 -04:00
Matthias Clasen
fe35831112
Move GdkSurface autocleanup declaration
...
We need this available after including gdksurface.h.
2020-03-11 19:35:55 -04:00
Matthias Clasen
c2f25c0c2f
wayland: Stop calling frontend surface api
...
This is an unnecessary vfunc roundtrip, and the
frontend api is going away shortly.
2020-03-11 19:35:55 -04:00
Matthias Clasen
78d71eb439
Simplify surface move/drag api
...
Drop the with_device variants, and always pass a device.
2020-03-11 19:35:55 -04:00
Matthias Clasen
c488e86caa
testsuite: Update a11y test output
2020-03-11 19:35:55 -04:00
Matthias Clasen
ad322c154c
testsuite: Stop using GtkSpinner::active
...
This property was renamed to ::spinning.
2020-03-11 19:35:55 -04:00
Matthias Clasen
6f36d9865e
Drop gtk_window_begin_move/resize_drag
...
These are just simple wrappers around GdkSurface
api, and we don't need them.
2020-03-11 19:35:55 -04:00
Matthias Clasen
d70c9453ba
disable popover test
...
This is failing atm
2020-03-11 19:35:55 -04:00
Matthias Clasen
ff0909f366
Merge branch 'vfl-error' into 'master'
...
Fix message for VFL parser errors
See merge request GNOME/gtk!1514
2020-03-11 15:56:46 +00:00
Emmanuele Bassi
7de62118a0
Fix message for VFL parser errors
...
The loop is iterating over the wrong variable, and it's reimplementing
g_strfill() in a less efficient way.
2020-03-11 15:14:17 +00:00
Benjamin Otte
8742d42f32
Merge branch 'wip/ricotz/annotations' into 'master'
...
Really fix annotation for GtkDropTarget.get_gtypes()
See merge request GNOME/gtk!1510
2020-03-09 20:47:29 +00:00
Rico Tzschichholz
4af0531e8c
Fix annotation for GdkContentFormats.get_gtypes()
2020-03-09 17:36:08 +01:00
Rico Tzschichholz
4232cbe33f
Really fix annotation for GtkDropTarget.get_gtypes()
2020-03-09 17:03:58 +01:00
sicklylife
2da445f918
Update Japanese translation
2020-03-09 12:49:58 +00:00
sicklylife
5858b56acc
Update Japanese translation
2020-03-09 12:36:08 +00:00
Timm Bäder
7553649c47
testsuite/gtk: Add common_cflags to build
...
With a few exceptions.
2020-03-07 16:28:04 +01:00
Timm Bäder
7789d0e23f
builder: Make object names a const array
...
We don't take ownership.
2020-03-07 15:30:38 +01:00
Timm Bäder
dc36c21835
demos/gtk-demo: Add common_cflags to build
...
With a few exceptions.
2020-03-07 15:30:35 +01:00
Timm Bäder
049f841900
padcontroller: Copy action entries
...
The label and action_name entries of GtkPadActionEntry are supposed to
be const, so copy them into a private ActionEntryData struct that we
later free.
2020-03-07 14:52:45 +01:00
Matthias Clasen
948ab2767b
Merge branch 'master' into 'master'
...
builder-tool: rename show-close-button to show-title-buttons
See merge request GNOME/gtk!1497
2020-03-06 18:02:06 +00:00
Timm Bäder
3c28f6d891
demos/widget-factory: Add common_cflags to build
...
And fix the generated warnings
2020-03-06 18:56:40 +01:00
Timm Bäder
6f6ed1e4af
demos/node-editor: Add common_cflags to build
...
And fix the generated warnings
2020-03-06 18:54:37 +01:00
Timm Bäder
e444d7315c
demos/icon-browser: Add common_cflags to build
...
And fix the generated warnings
2020-03-06 18:53:05 +01:00
Timm Bäder
5d1e006a95
demos/constraint-editor: Add common_cflags to build
...
And fix all the warnings and errors generated.
2020-03-06 18:51:10 +01:00
Timm Bäder
6fcd5d5ab5
testsuite/reftests: Add common_cflags to build
2020-03-06 18:24:58 +01:00
Timm Bäder
e759358402
testsuite/a11y: Add common_cflags to build
2020-03-06 18:22:01 +01:00
Timm Bäder
01bd7910ce
testsuite/css: Add common_cflags to build
...
And fix all the errors coming from that.
2020-03-06 18:22:01 +01:00
Timm Bäder
79c60bb7fd
testsuite/gdk: Add common_cflags to build
2020-03-06 18:22:01 +01:00
Timm Bäder
b3c332ad9c
testsuite/performance: Add common_cflags to build
2020-03-06 18:22:01 +01:00
Timm Bäder
83982a28e7
testuite/gsk: Add common_cflags to build
...
And fix all the warnings and errors.
2020-03-06 18:22:01 +01:00
Timm Bäder
d1cd6aacba
tests: Add common_cflags to build
...
And fix all the errors and warnings resulting from that
See #2491
2020-03-06 18:21:58 +01:00
Timm Bäder
0e8850bf84
examples: Add common_cflags to build
...
And fix all the warnings and errors generated by doing so.
See #2491
2020-03-06 16:36:42 +01:00
Timm Bäder
d7fb33caf7
filechooserwidget: Avoid criticals when in recent mode
...
Don't try to use the browse_files_model just because we have a location
entry. The model might still be NULL at this point.
2020-03-06 16:29:32 +01:00
Alexander Larsson
970d9dc06e
Merge branch 'wip/tbaederr/fallthrough' into 'master'
...
Replace fallthrough comments with G_GNUC_FALLTHROUGH
See merge request GNOME/gtk!1505
2020-03-06 10:48:16 +00:00
Timm Bäder
a1c75795bc
Replace fallthrough comments with G_GNUC_FALLTHROUGH
2020-03-06 10:39:42 +01:00
Benjamin Otte
63126a1b3e
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!1504
2020-03-06 05:48:56 +00:00
Benjamin Otte
cda9007f0f
stack: Make static analyzer happy
2020-03-06 05:56:29 +01:00
Benjamin Otte
394955cceb
pathbar: Don't do the same thing twice.
...
Don't do the same thing twice.
2020-03-06 05:53:20 +01:00
Benjamin Otte
b1a257c0c3
reftest: Plug memleak
2020-03-06 05:52:44 +01:00
Benjamin Otte
a106b54355
treeview: Don't assign value twice.
2020-03-06 05:51:37 +01:00
Benjamin Otte
510e17d123
cellarea: Be very clear
...
The static analyzer needs to know we absolutely DO NOT want to use this
return value.
2020-03-06 05:50:35 +01:00
Benjamin Otte
317dcddddb
builder-tool: Don't allow property to be both resize and shrink
...
Otherwise builder-tool crashes when you do
<property name="shrink" name="resize">1</property>
Thanks to the static analyzer for figuring that one out.
2020-03-06 05:44:11 +01:00
Benjamin Otte
df282a13bb
applicationaccels: Use g_renew()
2020-03-06 05:44:11 +01:00
Benjamin Otte
e37729756d
liststore: Fix gtk_list_store_iter_is_valid()
...
The iter may be invalid, so we may not read from it.
testsuite/gtk/treemodel tests this and valgrind is shouting about it,
but it never crashed until I just ran it...
This bug is from 2004 and the test is from 2007. I guess invalid memory
accesses don't get caught by CI much.
2020-03-06 05:44:11 +01:00
Benjamin Otte
3b8d9dbd28
testtreeview: Fix 19 year old use-after-free
2020-03-06 05:43:56 +01:00
Benjamin Otte
03e7c7fab1
treepath: Use g_renew()
2020-03-06 05:43:56 +01:00
Benjamin Otte
b231a40106
testsuite: Avoid passing NULL to strcmp()
...
Use g_strcmp0() instead.
2020-03-06 05:43:56 +01:00
Benjamin Otte
be30f78e62
treeview: Don't initialize variable twice
2020-03-06 05:43:56 +01:00
Benjamin Otte
89e5b8cd3a
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!1502
2020-03-05 18:20:36 +00:00
Benjamin Otte
e356d59a92
build: Add -Wnull-dereference
...
Sprinkle various g_assert() around the code where gcc cannot figure out
on its own that a variable is not NULL and too much refactoring would be
needed to make it do that.
Also fix usage of g_assert_nonnull(x) to use g_assert(x) because the
first is not marked as G_GNUC_NORETURN because of course GTester
supports not aborting on aborts.
2020-03-05 08:14:37 +01:00
Benjamin Otte
4be4799316
icontheme: Remove unused parameter
...
It's only ever set to NULL (and then dereferenced, too)
2020-03-05 07:59:59 +01:00
Benjamin Otte
7dce9e426e
treerbtree: Use for loops
...
Makes the code more readable.
Also does the NULL check for the initial element, which was misisng
before.
2020-03-05 07:59:05 +01:00
Benjamin Otte
4e88d5a7cf
notebook: Don't crash on drags not coming from a notebook
2020-03-05 07:59:05 +01:00
Benjamin Otte
fdd4630952
icontheme: Don't crash on icon lookup failure
2020-03-05 07:59:05 +01:00
Benjamin Otte
a4ed6fde9d
device: Handle missing axis
2020-03-05 07:59:05 +01:00
Benjamin Otte
dc86c744bf
rbtree: Simplify macros
...
* NODE_FROM_POINTER() can not be NULL
* shuffle NODE_TO_POINTER() code for readability so that the NULL check
is on the outside and not the cast
2020-03-05 07:59:05 +01:00
Benjamin Otte
9fedcec82e
rbtree: Simplify code
...
This makes it easier to understand for gcc (and hopefully humans, too)
that by rotating we essentially just swap `node` and `p`.
2020-03-05 07:59:05 +01:00
Benjamin Otte
f6b11a5158
build: Add more useful warning flags
...
I found those on the interwebs and decided they are useful.
2020-03-05 07:56:28 +01:00
Benjamin Otte
38dcc8f63b
mountoperation-x11: Fix copy/paste thinko
2020-03-05 07:05:48 +01:00
Benjamin Otte
18b011a717
tests: Add a test for changing the hovered widget
...
The add/remove one crashes after a few enter/leave events.
2020-03-05 07:05:48 +01:00
Benjamin Otte
8fc360dac5
imcontextwayland: Fix copy/paste error
2020-03-05 04:03:02 +01:00
Benjamin Otte
4313c47113
textview: Fix copy/paste error
2020-03-05 04:03:02 +01:00
Timm Bäder
b376d9617e
Merge branch 'patch-1' into 'master'
...
gdk_monitor_get_model: Fix a typo in the function documentation
See merge request GNOME/gtk!1499
2020-03-04 11:01:30 +00:00
Antenore Gatta
efbae75f3d
gdk_monitor_get_model: Fix a typo in the function documentation
2020-03-04 11:05:46 +01:00
Piotr Drąg
3f7a7d4ca1
Update POTFILES.in
2020-03-03 17:10:36 +01:00
Emmanuele Bassi
2c04e9441a
Merge branch 'doc-fixes' into 'master'
...
Small documentation fixes
See merge request GNOME/gtk!1500
2020-03-03 15:30:43 +00:00
Emmanuele Bassi
a3b9dba13c
Fix annotation for GtkDropTarget.get_gtypes()
...
The argument name must match in the documentation, and the `allow-none`
annotation is deprecated, and should be replaced by `optional` in this
case.
2020-03-03 13:17:31 +00:00
Emmanuele Bassi
5e099e2606
Remove incorrect rename-to annotations
...
The `rename-to` annotation is used to "shadow" a symbol with another
one, which means both symbols need to exist. It can't be used to rename
a symbol to something else.
2020-03-03 13:13:26 +00:00
Emmanuele Bassi
041043eec1
Fix introspection warnings for GtkDragIcon
2020-03-03 13:12:52 +00:00
Emmanuele Bassi
ec9038a8f2
Add missing annotation for GtkIconTheme
2020-03-03 13:04:06 +00:00
sicklylife
c7414db684
Update Japanese translation
2020-03-03 12:09:06 +00:00
sicklylife
6d2c6b1257
Update Japanese translation
2020-03-03 12:06:32 +00:00
Matthias Clasen
9f829ebd4a
Merge branch 'gbsneto/gtkeventcontrollerfocus' into 'master'
...
build: Install gtkeventcontrollerfocus.h
See merge request GNOME/gtk!1498
2020-03-03 08:40:43 +00:00
Georges Basile Stavracas Neto
8e14b21e52
build: Install gtkeventcontrollerfocus.h
...
It's a public class, and is included by gtk.h. Ship it.
2020-03-03 00:38:13 -03:00
Matt Guerrette
46ba019522
builder-tool: rename show-close-button to show-title-buttons
...
For GtkHeaderBar show-close-button has been renamed to
show-title-buttons for GTK4. This commit adds this fixup to the builder
tool
2020-03-02 22:24:46 -05:00
Benjamin Otte
3ef1dca51c
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!1496
2020-03-02 21:32:20 +00:00
Benjamin Otte
2e55c9cf8c
droptarget: Fast-path local value load
...
This way, we can ensure that for local same-type drops the GValue
is set when ::enter is emitted.
This is the common case for dnd between widgets inside larger
applications, so it's worth it to speed it up.
2020-03-02 21:45:59 +01:00
Benjamin Otte
7427f4f311
drop: Don't use g_object_get()
2020-03-02 21:45:42 +01:00
Benjamin Otte
c0a63e6dd2
dnd: Fix some documentation gotchas
2020-03-02 21:26:08 +01:00
Benjamin Otte
47230f191f
Merge branch 'wip/otte/dnd' into 'master'
...
DND: Sync drop target
See merge request GNOME/gtk!1495
2020-03-02 18:09:05 +00:00
Benjamin Otte
0e72adf6dd
drop: Remove unused convenience APIs
...
With the new event controllers, these are unused.
2020-03-02 04:43:56 +01:00
Benjamin Otte
f5fda3ae58
themes: Set proper foreground color for DND icons
2020-03-02 04:43:56 +01:00
Benjamin Otte
f4a00e7909
calendar: Use a drag source
2020-03-02 04:43:56 +01:00
Benjamin Otte
e7db386018
dnd: Don't create custom color drag icons
...
... use the default one. It looks much better.
2020-03-02 04:43:56 +01:00
Benjamin Otte
2a697827e1
dragicon: Add gtk_drag_icon_create_widget_for_value()
...
... and use it to set a drag icon.
2020-03-02 04:43:56 +01:00
Benjamin Otte
b2c3e39c89
contentformats: Constify some functions
2020-03-02 04:43:56 +01:00
Benjamin Otte
03882e1f96
dragicon: Change how to acquire drag icons
...
Before, gtk_drag_icon_new_for_drag() allowed creating new drag icons.
This could cause multiple drag icons to exist for a single drag.
Now, gtk_drag_icon_get_for_drag() makes sure that only one drag icon is
created.
2020-03-02 04:43:56 +01:00
Benjamin Otte
9efc4e6777
dragicon: Add GtkDragIcon::child
2020-03-02 04:43:56 +01:00
Benjamin Otte
7cd728a0ea
gdk: Make gdk_drop_status() take preferred action
...
This allows textview/text dnd to properly display a MOVE icon when in
the widget the drag started from but a COPY icon otherwise.
2020-03-02 04:43:56 +01:00
Benjamin Otte
c3fb6ca747
colorswatch: Switch to dragged color during dnd
...
This is really simple to implement now, so do it.
2020-03-02 03:18:55 +01:00
Benjamin Otte
3f7b401de0
gtk-demo: Add a simple peg solitaire DND demo
2020-03-02 03:18:55 +01:00
Benjamin Otte
a411959c91
droptarget: Redo
...
This is a huge reorganization of GtkDropTarget. I did not know how to
split this up, so it's unfortunately all one commit.
Highlights:
- Split GtkDropTarget into GtkDropTarget and GtkDropTargetAsync
GtkDropTarget is the simple one that only works with GTypes and offers
a synchronous interface.
GtkDropTargetAsync retains the full old functionality and allows
handling mime types.
- Drop events are handled differently
Instead of picking a single drop target and sending all DND events to
it, every event is sent to every drop target. The first one to handle
the event gets to call gdk_drop_status(), further handlers do not
interact with the GdkDrop.
Of course, for the ultimate GDK_DROP_STARTING event, only the first
one to accept the drop gets to handle it.
This allows stacking DND event controllers that aren't necessarily
interested in handling the event or that might decide later to drop
it.
- Port all widgets to either of those
Both have a somewhat changed API due to the new event handling.
For the ones who should use the sync version, lots of cleanup was
involved to operate on a sync API.
2020-03-02 03:18:55 +01:00
Benjamin Otte
f4ac74795c
placessidebar: Don't use the GdkDrag
...
First, it should have been a GdkDrop, but even then, proper DND code
should not rely on internals.
It's only been used in an unused signal emission anyway.
2020-03-02 03:18:55 +01:00
Benjamin Otte
b64a0273c5
notebook: Make dnd page switching a drop controller
...
This untangles tab dnd from page switching.
2020-03-02 03:18:55 +01:00
Benjamin Otte
b799bc5ce1
textview: Move drop scrolling to drop motion controller
...
Don't confuse the drop target with it.
2020-03-02 03:18:55 +01:00
Benjamin Otte
fdb39b095b
treeview, iconview: Don't return the drop target
...
Not a good idea to hand internal event controllers out to public API.
2020-03-02 03:18:55 +01:00
Benjamin Otte
d9fa839097
testsuite: Use g_assert() in tests
2020-03-02 03:18:55 +01:00
Emmanuele Bassi
35f8f05a63
Merge branch 'piotrdrag/placessidebar-typos' into 'master'
...
placessidebar: Fix a couple of typos and thinkos in menu labels
See merge request GNOME/gtk!1494
2020-03-01 15:07:17 +00:00
Piotr Drąg
810d567cc9
placessidebar: Fix a couple of typos and thinkos in menu labels
2020-03-01 15:05:28 +01:00
Matthias Clasen
c9d3f87e43
Merge branch 'kill-grabs-2' into 'master'
...
Kill grabs
See merge request GNOME/gtk!1492
2020-02-29 01:19:48 +00:00
Matthias Clasen
3d11973df8
Drop gtk_grab_add/remove from public api
...
The only form in which we still allow grabs to take place
is with modal toplevels.
2020-02-28 16:36:17 -05:00
Matthias Clasen
57c8a643ff
Drop gtk_grab_get_current
...
Another grab-related api that we are not using.
2020-02-28 16:29:56 -05:00
Matthias Clasen
0ffb35c9e7
Drop device grabs
...
We were not using this api at all, so lets drop it.
2020-02-28 16:27:42 -05:00
Matthias Clasen
d60097f8fe
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Fix the "Software GL" switch
See merge request GNOME/gtk!1491
2020-02-28 20:35:11 +00:00
Matthias Clasen
8f87555176
inspector: Fix the "Software GL" switch
...
This was crashing.
2020-02-28 14:42:19 -05:00
Bastien Nocera
8cb45cdeae
filechooser: Fallback if content-type unavailable
...
Fallback to fast-content-type if the content-type attribute isn't
available, as is the case for most remote filesystems.
Closes : #2482
2020-02-28 17:33:08 +01:00
Bastien Nocera
823714cf66
filechooser: Fix crash when file has no content-type
...
This might happen for slow filesystems where a fast-content-type might
be provided instead. Don't try to manipulate that content_type if it's
NULL, otherwise we'll either throw warnings (at best) or crash (at
worse).
Conflicts:
gtk/gtkfilechooserwidget.c
2020-02-28 17:32:48 +01:00
Piotr Drąg
cf2bcef814
Update POTFILES.in and POTFILES.skip
2020-02-27 22:05:24 +01:00
Matthias Clasen
29d033a8b3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1488
2020-02-27 20:29:04 +00:00
Matthias Clasen
cf873f3426
Remove a stray g_object_unref
...
Events are no longer objects, so this does not do
any good. Use gdk_event_unref instead.
2020-02-27 14:31:19 -05:00
Matthias Clasen
527a8048b6
Avoid a crash in css font features values
2020-02-27 14:30:58 -05:00
Nathan Follens
0c1f93cd7c
Update Dutch translation
2020-02-27 11:05:23 +00:00
Timm Bäder
d86832ad5a
Merge branch 'patch-1' into 'master'
...
Fix a typo in gtkplacessidebar.c
See merge request GNOME/gtk!1486
2020-02-27 10:41:44 +00:00
Krzesimir Nowak
8df045537e
Fix a typo in gtkplacessidebar.c
...
Some mistyped vim command got into the code in commit 60d2813247 .
2020-02-27 10:02:56 +00:00
Matthias Clasen
73d40c2e6e
Merge branch 'matthiasc/for-master' into 'master'
...
Fix a leftover occurrence of ::expand
See merge request GNOME/gtk!1485
2020-02-27 01:12:23 +00:00
Matthias Clasen
90376d6d6e
Fix a leftover occurrence of ::expand
2020-02-26 19:31:25 -05:00
Danial Behzadi
6a359c54fb
Update Persian translation
2020-02-26 23:23:04 +00:00
Matthias Clasen
17b7aabfc1
Merge branch 'matthiasc/for-master' into 'master'
...
gesture: Actually track targets
See merge request GNOME/gtk!1484
2020-02-26 22:34:45 +00:00
Matthias Clasen
dcbecdac31
gesture: Actually track targets
...
Due to a mismerge, this wasn't actually working,
and was causing criticals from gtk_widget_has_grab
when dragging windows.
2020-02-26 17:06:15 -05:00
Matthias Clasen
fa75d7f480
builder-tool: Fix a thinko
...
We can't rely on the pspec for a removed property.
This code worked until I actually removed the properties.
Update the tests to reflect this.
2020-02-26 10:01:38 -05:00
Matthias Clasen
5430c80361
Merge branch 'expand-margin-cleanup' into 'master'
...
expand and margin cleanup
See merge request GNOME/gtk!1479
2020-02-26 14:27:47 +00:00
Matthias Clasen
37a2cae10e
Small fixups
...
Trying to get the ci style test to pass.
2020-02-26 08:13:45 -05:00
Emmanuele Bassi
815e18e069
Merge branch 'docs-fixes' into 'master'
...
Various documentation fixes
See merge request GNOME/gtk!1481
2020-02-26 11:19:09 +00:00
Emmanuele Bassi
c79acb418f
Merge branch 'remove-show-hidden' into 'master'
...
Remove last instances of GtkFileChooser:show-hidden
See merge request GNOME/gtk!1480
2020-02-26 10:41:50 +00:00
Emmanuele Bassi
303e20226c
Add missing ownership transfer annotations
2020-02-26 10:29:59 +00:00
Emmanuele Bassi
3c2312a2dd
Fix gtk-doc stanza for private symbol
2020-02-26 10:25:46 +00:00
Emmanuele Bassi
7eb7ee33ff
Add missing documentation to GdkDevice
2020-02-26 10:23:15 +00:00
Emmanuele Bassi
d4dcb43aa9
Add missing ownership transfer annotations
2020-02-26 10:23:01 +00:00
Emmanuele Bassi
a1bbd25e12
Fix introspection annotation syntax
2020-02-26 10:19:10 +00:00
Emmanuele Bassi
c8f4f903c6
Remove last instances of GtkFileChooser:show-hidden
...
The file chooser widget is still setting the show-hidden property, even
though it was removed.
2020-02-26 10:15:16 +00:00
Matthias Clasen
b5bacb3be6
Drop the margin property
...
Replace it with margin-start, -end, -top, -bottom throughout.
2020-02-25 20:59:04 -05:00
Matthias Clasen
a9c05193a7
Drop the expand property
...
The hexpand and vexpand properties are sufficient.
2020-02-25 18:29:15 -05:00
Matthias Clasen
2d4e1e248d
update testsuite
...
Update the expected results of the tools tests that are
affected by the new property handling for expand and margin.
2020-02-25 18:28:55 -05:00
Matthias Clasen
77ce55b9ac
builder-tool: replace some properties
...
Replace expand by hexpand and vexpand and
margin by margin-left, -right, -top, -bottom.
2020-02-25 17:50:57 -05:00
Emmanuele Bassi
06ff60aa35
Merge branch 'ci-docs' into 'master'
...
Restructure CI jobs
See merge request GNOME/gtk!1476
2020-02-25 19:47:57 +00:00
Emmanuele Bassi
341b2a3d39
ci: Add a static analysis job
...
Use the Clang static analysis tool.
For the time being, we're going to allow it to fail, but the plan is to
fix every issue it raises.
2020-02-25 19:06:39 +00:00
Emmanuele Bassi
7bc50b7466
ci: Update the docker wrapper script
...
Do a better job at detecting whether we have Docker installed.
2020-02-25 19:05:07 +00:00
Emmanuele Bassi
d9608a0357
ci: Move style-check to .pre phase
...
We want the style checks running at the start of the CI pipeline, no
need to have a specific phase for it.
2020-02-25 17:57:46 +00:00
Emmanuele Bassi
92d86c4a9f
ci: Update all fedora images to v14
2020-02-25 17:19:08 +00:00
Emmanuele Bassi
382340c158
ci: Add clang-analyzer to the fedora build image
2020-02-25 17:18:23 +00:00
Emmanuele Bassi
a87966b2bf
ci: Rename the "style-check" phase to "analysis"
...
We want to re-use it for other jobs.
2020-02-25 17:15:00 +00:00
Emmanuele Bassi
8a6d5a77bb
ci: Fix style check script
...
Propagate the exit status from clang-format-diff.py to avoid it being
overwritten by the `echo` at the end of the script.
2020-02-25 17:13:39 +00:00
Emmanuele Bassi
97b5775c1f
ci: Add a separate "docs" stage
...
Don't build the API reference on deploy; build it in a separate job,
instead, so we can run it on all pipelines, and deploy it only for
master.
2020-02-25 17:09:24 +00:00
Timm Bäder
64ff12dbd7
Merge branch 'wip/baedert/for-master' into 'master'
...
wip/baedert/for-master
See merge request GNOME/gtk!1466
2020-02-25 13:35:34 +00:00
Timm Bäder
02e295ec5d
statusbar: Remove _get_message_area() from public API
...
The message should be manipulated via push() and pop().
2020-02-25 14:18:24 +01:00
Timm Bäder
6ff057f36a
scrolledwindow: Remove an unnecessary cast
2020-02-25 14:18:24 +01:00
Timm Bäder
54bf739e8f
scrolledwindow: Remove useless local variables
2020-02-25 14:18:24 +01:00
Timm Bäder
d5327a61e6
widget: Remove gtk_widget_input_shape_combine_region()
...
Widget's don't have surfaces anymore these days.
2020-02-25 14:18:24 +01:00
Timm Bäder
0bca4a276a
inspect-button: Use new gtk_window_set_extra_input_region
2020-02-25 14:18:24 +01:00
Timm Bäder
6056ca9265
window: Carry an extra input region
...
This will be used in the inspector to make it possible to click through
the inspector window.
2020-02-25 14:18:24 +01:00
Timm Bäder
73c212d89b
popover: Stop using gtk_widget_input_shape_combine_region()
...
We control the surface anyway, we can as well set the input shape on it
directly.
2020-02-25 14:18:24 +01:00
Timm Bäder
6b970c6813
widget: Remove set_csd_input_shape
...
Replace the only caller (unsurprisingly from gtkwindow.c) with a direct
call to gdk_surface_input_shape_combine_region.
2020-02-25 14:18:24 +01:00
Timm Bäder
e552adf05a
widget: Remove surface member
...
Only GtkNatives are supposed to have a surface, so use the widget's
native.
2020-02-25 14:18:23 +01:00
Timm Bäder
a1fc94f1f7
range: Remove an outdated comment
...
What even is a CList.
2020-02-25 14:18:23 +01:00
Timm Bäder
b81cd8c929
range: Inline function into only caller
2020-02-25 14:18:23 +01:00
Timm Bäder
838fc4fdf4
range: Clean up compute_slider_position()
2020-02-25 14:18:23 +01:00
Timm Bäder
596be280c9
menusectionbox: Avoid a gtk_widget_destroy() call
2020-02-25 11:08:25 +01:00
Timm Bäder
b1d4d24c7b
pathbar: Inherit from GtkWidget
2020-02-25 11:08:25 +01:00
Timm Bäder
1baae1f288
colorchooser: Fix typo in checkerboard color
2020-02-25 11:08:25 +01:00
Timm Bäder
dae06d82ae
inspector: Remove double borders in recorder
2020-02-25 11:08:25 +01:00
Timm Bäder
549a3a81ae
headerbar: Replace gtk_widget_destroy() call
2020-02-25 11:08:25 +01:00
Timm Bäder
ff4a33b69b
headerbar: Remove size request on icon button
...
Doesn't make sense that we force this one button to be this big.
2020-02-25 11:08:25 +01:00
Timm Bäder
68b4c061cf
shortcutlabel: Remove unnecessary includes
2020-02-25 11:08:25 +01:00
Timm Bäder
dbd1180ce4
stackswitcher: Avoid calling gtk_widget_destroy()
2020-02-25 11:08:25 +01:00
Timm Bäder
df3b88483d
modelbutton: Fix wrong function name in doc comment
2020-02-25 11:08:25 +01:00
Timm Bäder
60d2813247
placessidebar: Convert popover menu to proper GtkPopoverMenu
2020-02-25 11:08:23 +01:00
Timm Bäder
995277f57d
placessidebar: Avoid calling gtk_widget_destroy()
2020-02-25 10:43:15 +01:00
Timm Bäder
e1ca83ddbd
pathbar: Avoid calling gtk_widget_destroy()
2020-02-25 10:43:15 +01:00
Timm Bäder
f4202c5075
headerbar: Avoid calling gtk_widget_destroy()
2020-02-25 10:43:15 +01:00
Timm Bäder
103b6a9205
popovermenubar: Avoid calling gtk_widget_destroy()
2020-02-25 10:43:15 +01:00
Timm Bäder
ceabe70a42
emojichooser: Avoid using gtk_widget_destroy()
2020-02-25 10:43:15 +01:00
Timm Bäder
73faa9c84a
popovermenu: Avoid a gtk_widget_destroy() call
2020-02-25 10:43:15 +01:00
Timm Bäder
1b278b0636
colorchooserwidget: Get rid of a gtk_widget_destroy() call
2020-02-25 10:43:15 +01:00
Matthias Clasen
648a67085f
testsuite: Remove outdated exclusions
...
There were mentions of GtkCList and GtkColorSelection
in these test. The memories!
2020-02-24 23:08:34 -05:00
Matthias Clasen
9d80db29de
Merge branch 'spinning-spinner' into 'master'
...
Rename GtkSpinner::active to ::spinning
See merge request GNOME/gtk!1475
2020-02-25 04:04:46 +00:00
Matthias Clasen
e73a40733f
Rename GtkSpinner::active to ::spinning
...
And add a setter and getter. The old name was
confusing with the widget state of the same
name. 'Active' is just too overloaded.
2020-02-24 22:37:02 -05:00
Matthias Clasen
00f6d1c24b
Merge branch 'kill-rtl-media-icons' into 'master'
...
Drop rtl variants of media-playback-start
See merge request GNOME/gtk!1474
2020-02-25 02:09:52 +00:00
Matthias Clasen
52c948e4e0
Merge branch 'kill-popover-relative-to' into 'master'
...
Drop GtkPopover::relative-to
See merge request GNOME/gtk!1471
2020-02-25 02:00:50 +00:00
Matthias Clasen
8628c573b5
Drop rtl variants of media-playback-start
...
According to #2469 , they are unwanted.
2020-02-24 20:49:10 -05:00
Matthias Clasen
a43d13aa74
popover: Drop ::relative-to
...
It is enough to just set the parent (and make the parent
call gtk_native_check_resize in size_allocate).
This commit removes the relative_to argument to the
constructors of GtkPopover and GtkPopoverMenu, and
updates all callers.
2020-02-24 20:46:41 -05:00
Matthias Clasen
259f465e01
Merge branch 'surface-get-mapped' into 'master'
...
Add gdk_surface_get_mapped
See merge request GNOME/gtk!1473
2020-02-25 00:26:42 +00:00
Matthias Clasen
6fb50ccd0d
Drop gdk_surface_is_visible
...
It has been replaced by gdk_surface_get_mapped.
2020-02-24 19:07:03 -05:00
Matthias Clasen
7a39f2d49d
Replace gdk_surface_is_visible by _get_mapped
...
The property is called ::mapped, and we want to get
to standard getter naming.
2020-02-24 19:07:03 -05:00
Matthias Clasen
96b7c5f575
Add gdk_surface_get_mapped
...
Returns the value of the ::mapped property. This is
a direct replacement for gtk_surface_is_visible.
2020-02-24 17:59:12 -05:00
Matthias Clasen
90fb0caf28
Merge branch 'getters-and-setters' into 'master'
...
gdk:Getters and setters
See merge request GNOME/gtk!1472
2020-02-24 20:31:22 +00:00
Matthias Clasen
3c95798cd3
Add missing GdkDrag getters
2020-02-24 14:38:42 -05:00
Matthias Clasen
ec76f65d09
surface: Add a getter for autohide
2020-02-24 14:38:42 -05:00
Matthias Clasen
6be9e44786
gdk: Drop GdkDevice::input-mode and rename ::input-source
...
Drop the input-mode, since it only makes sense for
floating devices, which we don't have anymore. And renamt
::input-source to ::source, to match the getter.
Update all users.
2020-02-24 14:38:42 -05:00
Matthias Clasen
9ce6e98487
device: Add missing getters
...
This adds getters for a few properties that were
missing them, and renames the input-mode and input-source
properties to match their existing getters.
2020-02-24 08:40:16 -05:00
Matthias Clasen
4ca0a93324
Add a getter for GdkAppLaunchContext::display
2020-02-24 08:32:34 -05:00
Matthias Clasen
3735c9d155
Fix the build with docs
...
This is fallout from filechooser api changes.
2020-02-24 08:22:51 -05:00
Matthias Clasen
7f46b25c04
Merge branch 'wip/ebassi/filechooser-new' into 'master'
...
Clean up the GtkFileChooser API
Closes #2455
See merge request GNOME/gtk!1454
2020-02-24 00:32:23 +00:00
Matthias Clasen
78d63a412c
Merge branch '138-gtk4-install-valgrind-suppressions' into 'master'
...
build: Install Valgrind suppressions files
Closes #138
See merge request GNOME/gtk!1467
2020-02-24 00:23:11 +00:00
Matthias Clasen
5af865f8cb
Merge branch 'matthiasc/for-master' into 'master'
...
broadway: Remove SURFACE_IS_TOPLEVEL
See merge request GNOME/gtk!1469
2020-02-24 00:03:09 +00:00
Matthias Clasen
247a68d602
broadway: Remove SURFACE_IS_TOPLEVEL
...
All surfaces are toplevels now.
2020-02-23 18:15:59 -05:00
Philip Chimento
e123853b8b
build: Install Valgrind suppressions files
...
This is so that other programs linking to GTK can use GTK's suppressions
files when performing their own Valgrind analysis.
Closes : #138
2020-02-23 15:00:37 -08:00
Piotr Drąg
9d2d4a69a5
Update POTFILES.in
2020-02-23 12:32:30 +01:00
Matthias Clasen
9036d49bea
Merge branch 'wip/otte/dnd' into 'master'
...
Get rid of GdkAtom
See merge request GNOME/gtk!1465
2020-02-23 01:50:52 +00:00
Benjamin Otte
cc7c1fe108
gdk: Remove GdkAtom
...
finally!!!!!
2020-02-23 01:59:26 +01:00
Benjamin Otte
f536cf0a43
win32: Get rid of GdkAtom
2020-02-23 01:59:26 +01:00
Benjamin Otte
60307da5b1
wayland: Replace final mention of GdkAtom
2020-02-23 01:59:26 +01:00
Benjamin Otte
6e935d469a
x11: Get rid of GdkAtom and APIs supporting it.
...
replace all uses with const char * (non-interned).
Also remove a lot fo juggling from atom to GdkAtom to string and back.
The X Atom hash table is now mapping to (again, non-interned) strings.
2020-02-23 01:59:26 +01:00
Benjamin Otte
4280ca2263
device: gdk_device_list_axes() => gdk_device_get_axis_names()
...
Turn a GList of GdkAtom into a char ** - and rename the function to not
cause problems.
2020-02-23 01:59:26 +01:00
Benjamin Otte
28dced597f
gdk: Remove gdk_text_property_to_utf8_list_for_display()
...
A lot of files became empty now, so they have been removed, which makes
this commit seem larger than it is.
2020-02-23 01:59:26 +01:00
Benjamin Otte
6c61c7bf0b
Don't use GdkAtom where const char * is used
...
Those are all forgotten transitions while updating code to new APIs.
2020-02-23 01:59:19 +01:00
Benjamin Otte
6442ec2f8d
gdk: Remove gdk_utf8_to_string_target()
...
Only keep the X11 version around in the backend.
2020-02-23 01:59:00 +01:00
Benjamin Otte
a62d78bf70
selection: Remove GtkSelectionData
2020-02-23 01:59:00 +01:00
Benjamin Otte
a4f7e2ca09
droptarget: Remove selectiondata read functions
...
They are unused now.
2020-02-23 01:59:00 +01:00
Benjamin Otte
a19066b17c
filechooserwidget: Stop using selection data
...
Use gdk_drop_read_async()
2020-02-23 01:59:00 +01:00
Benjamin Otte
992173c382
x11: Register DND atoms with all other atoms
...
It's 2020, there's no need to be restrained with registering atoms.
2020-02-23 01:59:00 +01:00
Benjamin Otte
b0f6996892
gdk: Remove gdk_surface_register_dnd()
...
All surfaces are expected to be DND surfaces from creation.
2020-02-23 01:59:00 +01:00
Matthias Clasen
8d5cece080
Merge branch 'x11-dnd-fixes' into 'master'
...
X11 dnd fixes
See merge request GNOME/gtk!1464
2020-02-23 00:21:54 +00:00
Matthias Clasen
ec383a2388
Add detail to gdk_drag_begin docs
...
Mention that GTK keeps a reference while the drag
operation is ongoing.
2020-02-22 19:10:16 -05:00
Matthias Clasen
7c1cfc5533
x11: Fix dnd coordinate handling
...
We were not properly converting the coordinates we
got to root coordinates. This was showing up as offsets
between the actual drop target and the area where drops
can happen, e.g. when dragging over a stack switcher
to switch pages.
2020-02-22 19:10:16 -05:00
Matthias Clasen
14122d1acb
x11: Export gdk_x11_surface_get_root_coords privately
...
This lets us avoid a roundtrip through the surface vfuncs.
2020-02-22 19:10:16 -05:00
Matthias Clasen
f93d0f8fb5
x11: Keep a ref on GdkDrag objects
...
It is expected that backends keep a ref on the GdkDrag
objects that they create as long as the drag is ongoing.
2020-02-22 19:02:13 -05:00
Matthias Clasen
833b564946
x11: Avoid crashes in dnd
...
We were forgetting to clean up the ::xevent signal
handler in some error cases. Move the signal connection
later, when we know the drag is going forward, and
use g_signal_connect_object to make sure the signal
handler is not forgotten.
2020-02-22 19:02:13 -05:00
Matthias Clasen
7edfcc37a3
Merge branch 'wip/wayland-fix-popup-grabs' into 'master'
...
Fix Wayland popup grabs
See merge request GNOME/gtk!1463
2020-02-22 20:51:32 +00:00
Jonas Ådahl
f0b0076a1c
wayland/popup: Emit un-withdrawn event earlier
...
Otherwise grabbing the seat will appear to have failed.
2020-02-22 20:09:38 +01:00
Jonas Ådahl
71323a8b48
wayland/popup: Remove unnecessary checks when mapping popup
...
We only call this when we're not already mapped so don't check that. We
also only call this when we should be mapped so don't check that either.
2020-02-22 20:08:37 +01:00
Matthias Clasen
b8db9e124b
Merge branch 'matthiasc/for-master' into 'master'
...
Fix a hard-to-spot typo
See merge request GNOME/gtk!1462
2020-02-22 19:01:18 +00:00
Matthias Clasen
ddd126740e
Fix a hard-to-spot typo
...
The symptom caused by this was scales in
popovers not reacting to dragging.
2020-02-22 13:49:12 -05:00
Emmanuele Bassi
9bf03cfeec
docs: Add migration notes for GtkFileChooser
2020-02-22 18:07:11 +00:00
Matthias Clasen
011f58fa64
Merge branch 'matthiasc/for-master' into 'master'
...
x11: Fix a crash in event handling
See merge request GNOME/gtk!1461
2020-02-22 16:41:29 +00:00
Matthias Clasen
1af94d0bce
x11: Fix a crash in event handling
...
This was overlooked in 79b4510c6d .
2020-02-22 16:41:29 +00:00
Emmanuele Bassi
ff6772fd98
Remove preview widget from GtkFileChooser
...
The preview widget harks from a platform before time, when we didn't
have GIO, or a thumbnail specification.
Very few applications use it correctly, if at all; it has an horrid hack
to deal with the ownership of the widget's instance when accessed
through the getter function; it messes up the layout of the widget and
its label is less than useful when it comes to file names longer than a
dozen characters; it's a poor substitute for a proper thumbnail view.
2020-02-22 16:39:01 +00:00
Matthias Clasen
be25905a8d
Fix gdk docs build
2020-02-22 10:44:21 -05:00
Emmanuele Bassi
e5ef26efa8
Remove GtkFileChooserEntry:local-only
...
We don't use it any more in GtkFileChooserWidget.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
ebd23737c0
Remove GtkPlacesSidebar:local-only
...
We don't use it any more in GtkFileChooserWidget.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
6e699e3f04
Remove GtkPlacesView:local-only
...
We don't use it any more from the file chooser widget.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
4a3742979d
Remove GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
...
We don't need a whole separate action, now that the file chooser widget
can create folders; we can create use SELECT_FOLDER and create one.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
b09e7df81b
Remove GtkFileChooser:local-only
...
Now that the whole API goes through GFile we don't have the weird split
between local-only and non-local-only modes.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
516eab5c43
Remove GtkFileChooser:show-hidden
...
This is a user setting and a user action, not something that ought to be
programmatically set via the file selection API.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
063ad28b1a
Remove overwrite confirmation machinery from GtkFileChooser
...
Overwrite confirmation should not be optional, and it should not loop
into application code to create their own dialog and user response.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
d505573ee6
Drop GtkFileChooser:extra-widget
...
We have "choices" as a more rational (and portable) API; additionally,
the ownership semantics of the extra widget property getter are a hack.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
5f070ff233
Remove filename/URI API from GtkFileChooser
...
GtkFileChooser's API predates GIO by a few years, so it started off with
filenames and URI as character arrays. After introducing GIO as a
dependency, the API included GFile-based entry points.
It's much more appropriate to use GFile everywhere, as we want to
encourage people to use GIO instead of passing random bytes to low level
POSIX API.
See: #2455
2020-02-22 15:22:06 +00:00
Benjamin Otte
b002572824
Merge branch 'wip/otte/dnd' into 'master'
...
stuff
See merge request GNOME/gtk!1460
2020-02-22 14:53:13 +00:00
Matthias Clasen
767849d6d2
Remove GdkSeatGrabPrepareFunc from headers
...
It is not used in public api anymore.
2020-02-22 08:11:34 -05:00
Matthias Clasen
76e115b910
Add a warning when a grab fails
...
This reveals that the grabs for popover menus
always fail now, causing the menus to not properly
hide.
2020-02-22 08:11:34 -05:00
Benjamin Otte
8a098b1343
tests: Guard variables with necessary macros
2020-02-22 07:44:52 +01:00
Benjamin Otte
9d915ff431
treeviewcolumn: Inline variable into return_if_fail()
2020-02-22 07:44:52 +01:00
Benjamin Otte
6f0a0ce7f1
testsuite: Don't use g_return_if_fail()
...
Use g_assert()
2020-02-22 07:44:52 +01:00
Benjamin Otte
18d7187e4b
testsuite: Don't use return_if_fail()
...
Use assert() instead
2020-02-22 07:35:23 +01:00
Benjamin Otte
d9e3eaaec8
treeview: Guard code by right compiler macros
2020-02-22 07:33:41 +01:00
Benjamin Otte
0c4c88b449
scrolledwindow: Inline variable into return_if_fail()
2020-02-22 07:33:41 +01:00
Benjamin Otte
2cb0007b89
iconview: Inline variables into return_if_fail()
2020-02-22 07:33:41 +01:00
Benjamin Otte
eb70173646
levelbar: Guard function by right compiler macros
2020-02-22 07:33:41 +01:00
Benjamin Otte
2e941acb29
filesystemmodel: Guard variable with correct compiler flags
2020-02-22 07:33:41 +01:00
Benjamin Otte
42d71f1016
combobox: Inline variables into return_if_fail()
2020-02-22 07:33:41 +01:00
Benjamin Otte
99fc31865a
comboboxtext: Inline functions into return_if_fail()
2020-02-22 07:33:40 +01:00
Benjamin Otte
f9b7825a47
device: Inline function into return_if_fail()
2020-02-22 07:33:40 +01:00
Benjamin Otte
e3aee62b18
drop: Guard variable with correct compiler flags
2020-02-22 07:33:40 +01:00
Benjamin Otte
ce3ed45e81
surface: Inline function
...
Fixes compile error with -DG_DISBALE_CHECKS
2020-02-22 07:33:40 +01:00
Benjamin Otte
a12e563cd2
main: Don't synthesize crossing events when nothing changed
...
This was especially bad because it was confusing the event controllers
so much, they'd emit leave + enter events every time the mouse moved.
2020-02-22 07:33:40 +01:00
Benjamin Otte
a5e2275a72
stackswitcher: Use GdkDropControllerMotion
...
... and use one controller per button instead of using it on the
switcher and then going through lots of pain attempting to find the
right button for the location under the mouse.
2020-02-22 07:33:40 +01:00
Benjamin Otte
d680e2e344
Port simple cases to GtkDropControllerMotion
2020-02-22 07:33:40 +01:00
Benjamin Otte
2a8fd25a4b
testsuite: Check proper notify emissions, too
...
This is in particular relevant for the ::is-focus property, because
updating that one doesn't cause enter/leave events.
But it also checks that notify and enter/leave happen in the right
order.
2020-02-22 07:33:40 +01:00
Benjamin Otte
34e5f36fdf
Add GtkDropControllerMotion
2020-02-22 07:33:40 +01:00
Benjamin Otte
9223d1ee04
eventcontrollermotion: Fix docs
2020-02-22 07:33:40 +01:00
Benjamin Otte
fc43ec0bbc
gtk: Bubble drag events like motion events
...
Emit crossing events - with a new GTK_CROSSING_DROP type - like we do
for motion events. There is no more special casing for them.
Note that the gesture has not been updated yet, so some obscure behavior
may occur.
2020-02-22 07:33:40 +01:00
Benjamin Otte
be4b34aa8f
events: Use GdkDrop as event sequence
...
This allows treating drop events like touch events, which GTK groups by
event sequence.
It's a bit ugly that we just case the GdkDrop pointer, but event
sequences are only meant to be unique pointer ids, so it's fine.
2020-02-22 07:33:40 +01:00
Benjamin Otte
6f73a750a7
widget: Simplify adjust_allocation()
...
And in particular, only do it if the widget doesn't use ALIGN_FILL.
This avoids lots of measuring in the common case and speeds up
size_allocate() by about 25%.
And because size_allocate() is the bottleneck in the fishbowl, this also
gets ~25% more fishies.
2020-02-22 07:33:40 +01:00
Benjamin Otte
4128ee88b0
widget: Pull margin computation out of adjust_allocation
...
It's way cheaper to just do it.
Also simplifies adjust_size_allocation a lot.
2020-02-22 07:33:23 +01:00
Benjamin Otte
418bdc87ef
sizerequest: Stop clamping for_size to natural size
...
Widgets should be given the actual size they will be allocated, so they
can do something with it.
If they want to clamp themselves to their natural size, nothing's
stopping them, they know their natural size after all.
2020-02-22 07:33:23 +01:00
Benjamin Otte
612ba7ec15
widget: Don't check for natives
...
It's the native's job to request a 1px x 1px size, not the job of
gtk_widget_size_allocate()
Also saves 10% of size_allocate() time because checking for an interface
is really expensive.
2020-02-22 05:50:07 +01:00
Benjamin Otte
f656cbdc5b
Ensure all natives request at least a 1px wide surface
...
FIXME: Is this necessary?
Could the surfaces just clamp to 1x1 themselves?
We recently declared that surfaces can decide on whatever size they want
so natives need to inspect the size they requested anyway.
2020-02-22 05:50:07 +01:00
Matthias Clasen
3eea9f3e79
Merge branch 'color-float-fix' into 'master'
...
color chooser: Fix fallout from floatification
See merge request GNOME/gtk!1459
2020-02-22 03:19:01 +00:00
Matthias Clasen
9fa7a47081
color chooser: Fix fallout from floatification
...
We are using (dddd) variants to store colors in variants,
which is dangerous now that GdkRGBA members are just floats.
Avoid passsing the GdkRGBA members directly to any varargs
functions.
2020-02-21 19:56:44 -05:00
Matthias Clasen
13ed531301
Merge branch 'wip/xdg-popup-layout-no-op' into 'master'
...
gdk/wayland: Avoid relayout with the same properties
See merge request GNOME/gtk!1457
2020-02-22 00:27:59 +00:00
Matthias Clasen
7a28118f3a
Merge branch 'wip/gdkpopuplayout-section' into 'master'
...
docs: Add GdkPopupLayout to gdk4-sections.txt
See merge request GNOME/gtk!1458
2020-02-22 00:26:42 +00:00
Jonas Ådahl
b4bce2ff8a
docs: Add GdkPopupLayout to gdk4-sections.txt
2020-02-21 23:25:30 +01:00
Jonas Ådahl
2f13ac2e4d
gdk/wayland: Avoid relayout with the same properties
...
When a popup is already showing, and gdk_surface_present_popup() is
called, if the layout didn't change, we're not really interested in
relayouting.
In the future, we'll be able to get notified if position of the popup
would change by some environmental changes, but until then, just don't
support it.
2020-02-21 21:55:16 +01:00
Jonas Ådahl
1d6100e7b0
gdk/popup-layout: Remove leftover struct field
...
The layouts never "seal", as they did in an earlier revision, so remove
the seal field.
2020-02-21 21:42:52 +01:00
Benjamin Otte
112bc964cb
Merge branch 'wip/otte/for-master' into 'master'
...
surface: Don't take a display argument in gdk_surface_new_popup()
See merge request GNOME/gtk!1456
2020-02-21 20:35:47 +00:00
Benjamin Otte
5577cfa40c
surface: Don't take a display argument in gdk_surface_new_popup()
...
The display can be taken from the surface, it must not be different.
2020-02-21 21:13:09 +01:00
Benjamin Otte
c73ac2ed70
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!1455
2020-02-21 18:24:56 +00:00
Benjamin Otte
7597f6b594
transform: Don't crash for gsk_transform_transform (id, id)
...
See attached tests
2020-02-21 18:30:13 +01:00
Benjamin Otte
b50093d044
transform: Make sure the identity transform is equal to NULL
2020-02-21 18:25:05 +01:00
Benjamin Otte
608e624ecf
x11: When clearing old Drop, emit LEAVE event
...
This can happen when the old DND operation died (like due to a crash or
a broken XWayland compositor.
2020-02-21 18:19:16 +01:00
Benjamin Otte
808961564c
gdk: Make DRAG_ENTER event take x/y coordinates
...
Make it mirror the behavior of ENTER/LEAVE events.
2020-02-21 18:19:16 +01:00
Benjamin Otte
41ef6e9fa5
transform: Add optimization for common case
...
Transforming identity by an other transform does not mean we need to
painstakingly apply the individual steps of other to construct a new
transform, it means we can just return other.
Or in math terms:
I * B = B
so just return B.
2020-02-21 18:19:16 +01:00
Piotr Drąg
4180ad57bc
Update POTFILES.in
2020-02-21 18:11:15 +01:00
Matthias Clasen
d7d7957b04
profiling: Avoid one extra printf
...
We already format the message, no need to use
printf again to combine that with the kind string.
2020-02-21 07:26:19 -05:00
Matthias Clasen
376f5eacbd
profiling: Avoid criticals
...
With events no longer GObjects, the type class is
longer around for peeking.
2020-02-21 07:23:40 -05:00
Matthias Clasen
77e1fd01c3
Merge branch 'readonly-events-1' into 'master'
...
Redo events
See merge request GNOME/gtk!1443
2020-02-21 06:18:25 +00:00
Matthias Clasen
43aa6d9c49
docs: Remove some no-longer existing api
2020-02-21 00:51:04 -05:00
Matthias Clasen
5ebe5be225
Stop exporting gtk_get_event_widget
...
This is non-essential convenience API, and we
don't really expose events to applications anymore.
2020-02-21 00:51:03 -05:00
Matthias Clasen
1c7191f45c
gtk-demo: Stop using gtk_get_event_widget
...
This is convenience api that will be going away.
2020-02-21 00:51:03 -05:00
Matthias Clasen
497a43a4ba
gdk: Drop event structs from the headers
...
All events are GdkEvents now.
2020-02-21 00:51:03 -05:00
Matthias Clasen
b2226ea1e3
gtk: Stop using GtkEventButton
...
Same as the previous commit. All events are
just GdkEvents now.
2020-02-21 00:51:03 -05:00
Matthias Clasen
8823882f97
gtk: Stop using GdkEventKey
...
We should just use GdkEvent, instead of taking
a GdkEventKey, and then cast it everywhere.
2020-02-21 00:51:03 -05:00
Matthias Clasen
9e415ad017
a11y: drop unused code
...
We are no longer using key snoopers.
2020-02-21 00:51:03 -05:00
Matthias Clasen
e062137b2c
motion controller: Match focus event propagation
...
Make the crossing event generation for pointer events
match what we do for focus now.
2020-02-21 00:51:03 -05:00
Matthias Clasen
77aed615e8
Keep more event controller api private
...
We don't want to expose the GtkCrossingData struct, and manually
feeding events to event controllers is not something we want to
encourage, going forward.
2020-02-21 00:51:03 -05:00
Matthias Clasen
4947b94a41
Stop exporting check_event_sanity
2020-02-21 00:51:03 -05:00
Matthias Clasen
0c96b2d8f7
Bring back im context focus-in/out
...
The key controller still needs to track focus,
in order to emit these signals when required.
2020-02-21 00:51:03 -05:00
Matthias Clasen
cadeca74e2
Go back to ::enter/::leave for pointer changes
...
These signals are behaving a little differently from
what ::focus-in/::focus-out used to do.
2020-02-21 00:51:03 -05:00
Matthias Clasen
5a2f829a40
Split off GtkEventControllerFocus
...
Split the focus tracking into a separate
GtkEventControllerFocus, and change the API one more time.
We are back to having ::focus-in and ::focus-out signals.
Update all users.
2020-02-21 00:51:03 -05:00
Matthias Clasen
89c3a7ab24
wip: Add more information to crossing events
...
Add fields for direct descendents to GtkCrossingData,
and populate them when emitting focus change events.
Also add accessors for these fields to GtkEventControllerKey,
and verify that they are set properly in the focus test.
Not done yet: Do the same for pointer crossing events.
2020-02-21 00:51:03 -05:00
Matthias Clasen
7bb6abb1d4
win32: Remove some leftover event struct access
...
And leftover old event api calls.
2020-02-21 00:51:03 -05:00
Matthias Clasen
de91e10a1b
wayland: Fix a release build warning
2020-02-21 00:51:03 -05:00
Matthias Clasen
4098653974
Update the focus test
...
This needs an update to handle the new focus-change signal.
2020-02-21 00:51:03 -05:00
Matthias Clasen
71b3f47909
Update event docs section
2020-02-21 00:51:03 -05:00
Matthias Clasen
1ef30c110f
Clean up GdkEventType docs
2020-02-21 00:51:03 -05:00
Matthias Clasen
6fd913b361
Some event struct packing improvements
...
Rearrange a few things, and move some booleans
into the Any struct, by using a bitfield there.
Some more cleanup could be done - the flags field
with its PENDING and FLUSHED members appears
entirely unused. Nobody is setting those flags.
2020-02-21 00:51:03 -05:00
Matthias Clasen
84edce3732
Streamline event structs
...
Use proper types (GdkModifierType, double), and drop
some unused fields (send_event, display).
2020-02-21 00:51:03 -05:00
Matthias Clasen
2cce508b33
x11: Remove some leftover event struct access
2020-02-21 00:51:03 -05:00
Matthias Clasen
56d44b4cec
x11: Stop using the send_event event field
...
The only use of this field is printing it out in a
debug message. We are going to drop it.
2020-02-21 00:51:03 -05:00
Matthias Clasen
563dd65530
Always deliver focus events to toplevels
...
Its was GTK expects. This change gets rid of the "Ignoring an
unexpected focus event from GDK on a non-toplevel surface."
warning.
2020-02-21 00:51:03 -05:00
Matthias Clasen
0fc2505ed6
Drop gtk_widget_event from API
...
We don't want events to be injected randomly from
the outside. Plus, there's no way to create such
events from the outside now.
2020-02-21 00:51:03 -05:00
Matthias Clasen
b1eaa502df
events: reorganize getters
...
Restructure the getters for event fields to
be more targeted at particular event types.
Update all callers, and replace all direct
event struct access with getters.
As a side-effect, this drops some unused getters.
2020-02-21 00:51:03 -05:00
Matthias Clasen
f1cf0eb3fc
Drop gdk_set/get_show_events
...
We don't need a separate api to turn on debugging
for events.
2020-02-21 00:51:02 -05:00
Matthias Clasen
31bf9da63a
Strip const from GdkEvent
...
Events are refcounted structs, and we generally don't
pass these as const.
2020-02-21 00:51:02 -05:00
Matthias Clasen
1026bfb1ac
events: Drop all setters
...
GdkEvent is now truly readonly.
2020-02-21 00:51:02 -05:00
Matthias Clasen
92288205d4
events: Drop target and related target
...
GTK no longer uses this, so we can drop it.
2020-02-21 00:51:02 -05:00
Matthias Clasen
e5223b1cee
main: Stop calling gdk_event_set_target
...
GTK is no longer relying on this.
2020-02-21 00:51:02 -05:00
Matthias Clasen
2416b4e2a0
Stop using gdk_event_get_target
...
We can now get the target widget from the gesture
that we are using to find the event in the first
place.
2020-02-21 00:51:02 -05:00
Matthias Clasen
2bac066a63
gesture: Keep the target widget for events
...
We already store the events; keep the target widget
in addition. This is a step towards getting rid of
gdk_event_get_target.
2020-02-21 00:51:02 -05:00
Matthias Clasen
cd601ffb9e
eventcontroller: Make the target widget available
...
Make it possible for event controllers to obtain
the target widget during handle_event.
2020-02-21 00:51:02 -05:00
Matthias Clasen
e54e48f6d1
Explicitly pass the target to handle_event
...
Pass the event propagation target explicitly down to
the event controllers. This is a step towards getting
rid of gdk_event_set_target.
2020-02-21 00:51:02 -05:00
Matthias Clasen
b38869b3aa
Stop looking at the related target for filtering
...
We are now sending crossing events (which are the only ones
where a related target makes sense) via handle_crossing.
2020-02-21 00:51:02 -05:00
Matthias Clasen
d063b6b6cc
Reinstate filtering for crossing events
...
The event propagation limit should apply to crossing events
as well.
2020-02-21 00:51:02 -05:00
Matthias Clasen
e3158a1bfb
Make crossing events handled the same way
2020-02-21 00:50:59 -05:00
Matthias Clasen
23c67f8c67
New focus change handling
...
Instead of relying on gdk's antiquated crossing events,
create a new GtkCrossingData struct that contains the
actual widgets, and a new event controller vfunc that
expects this struct. This also saves us from making sense
of X's crossing modes and details, and makes for a
generally simpler api.
The ::focus-in and ::focus-out signals of GtkEventControllerKey
have been replaced by a single ::focus-change signal that
takes GtkCrossingData as an argument. All callers have
been updated.
2020-02-21 00:47:53 -05:00
Matthias Clasen
9402e335d0
wip: scrolledwindow stop using targets
2020-02-21 00:47:53 -05:00
Matthias Clasen
64b9c6aaaa
main: Drop gtk_get_event_target
...
This is no longer used.
2020-02-21 00:47:53 -05:00
Matthias Clasen
61c32f3651
tooltip: stop using gtk_get_event_target
2020-02-21 00:47:53 -05:00
Matthias Clasen
1b2289ad9b
Stop using gtk_get_event_target
...
This is just a thin wrapper around gdk_event_get_target,
so use that directly.
2020-02-21 00:47:53 -05:00
Matthias Clasen
dd251d85c4
Pass translated coordinates outside the event
...
We want to make events readonly, so stop translating
their coordinates and instead pass the translated
coordinates separately, when propagating events.
2020-02-21 00:47:53 -05:00
Matthias Clasen
cd2b58574d
Drop GDK_NOTHING
...
Events of type GDK_NOTHING are good for nothing.
2020-02-21 00:47:53 -05:00
Matthias Clasen
3830e13b98
Make GdkEvent a boxed type
2020-02-21 00:47:53 -05:00
Matthias Clasen
c343031a0e
Stop using g_object_ref/unref on events
...
Use gdk_event_ref/unref instead of g_object_ref/unref.
Events will stop being object soon.
2020-02-21 00:47:53 -05:00
Matthias Clasen
835556c270
Drop gdk_event_new and gdk_event_copy
...
These functions are no longer used outside of gdkevents.c.
2020-02-21 00:47:52 -05:00
Matthias Clasen
59cc216985
display: Stop using gdk_event_copy
...
Events are effectively readonly in GDK now, so we can just
take a reference, no need for a copy.
2020-02-21 00:47:52 -05:00
Matthias Clasen
fe21223d48
win32: Use event constructors
2020-02-21 00:47:52 -05:00
Matthias Clasen
f11b1d258b
x11: Pass the right surface to the dnd filter
2020-02-21 00:47:52 -05:00
Matthias Clasen
e45711e727
x11: Remove an unnecessary check
...
We are not creating GDK_NOTHING events anymore. Yay
2020-02-21 00:47:52 -05:00
Matthias Clasen
79b4510c6d
x11: change event translator interface
...
Make the event translator return a new event, instead of
filling in a half-constructed one.
Update the two implementation in GdkX11Display and
GdkDeviceManagerXI2.
2020-02-21 00:47:51 -05:00
Matthias Clasen
15501afdbb
x11: Change the wm protocols filter api
...
Instead of passing a half-constructed event and expect
it to be filled in, pass the surface as in argument, and
add an out argument for a newly constructed GdkEvent.
2020-02-21 00:40:52 -05:00
Matthias Clasen
94fe0944cc
x11: Don't pass a GdkEvent to shape cache filters
...
The filter functions never look at that event, and
we want to get out of the business of passing half-
constructed events around.
2020-02-21 00:40:52 -05:00
Matthias Clasen
9c4f19e8ed
x11: Don't pass a GdkEvent to xsettings filters
...
The filter functions never look at that event, and
we want to get out of the business of passing half-
constructed events around.
2020-02-21 00:40:52 -05:00
Matthias Clasen
9a1497f582
events: Drop GDK_DESTROY
...
No backend is emitting GDK_DESTROY events anymore, so no
need to carry this around.
2020-02-21 00:40:52 -05:00
Matthias Clasen
7db8be93f4
gtk: Stop handling GDK_DESTROY differently from GDK_DELETE
...
We don't have child windows anymore, so there is no difference.
2020-02-21 00:40:52 -05:00
Matthias Clasen
047c18844c
x11: Don't generate GDK_DESTROY events
...
GTK does not differentiate between GDK_DESTROY and GDK_DELETE
anyway.
2020-02-21 00:40:52 -05:00
Matthias Clasen
30740f0e2c
x11: use event constructors
...
This is not quite complete and only handles the
simple cases.
2020-02-21 00:40:52 -05:00
Matthias Clasen
c9d9ccdb8c
broadway: Use event constructors
...
Convert all of Broadways event handling to use the new
constructors.
2020-02-21 00:40:52 -05:00
Matthias Clasen
4cf63f3eb3
wip: Use event constructors in the testsuite
...
This doesn't work because the constructors aren't exported,
so remove the gestures text temporarily, until we figure
out how to deal with it.
2020-02-21 00:40:52 -05:00
Matthias Clasen
c4a2cf03b2
textview: Stop using gdk_event_copy
2020-02-21 00:40:52 -05:00
Matthias Clasen
495de0b78b
main: Use constructors instead of gdk_event_copy + rewriting
2020-02-21 00:40:52 -05:00
Matthias Clasen
dac61b3cce
imcontextsimple: Use event constructors
2020-02-21 00:40:52 -05:00
Matthias Clasen
080e5de786
widget: Port emulation code to constructors
...
Use the new event constructors when generating events
for emulating presses.
2020-02-21 00:40:52 -05:00
Matthias Clasen
374c9dd880
window: Use event constructors
2020-02-21 00:40:52 -05:00
Matthias Clasen
a5f58e8d28
main: Use event constructors
...
At the same time, stop setting child_surface in
crossing events. Nothing in GTK looks at it.
2020-02-21 00:40:52 -05:00
Matthias Clasen
324aa39cb8
gdk: Use constructor for grab broken
2020-02-21 00:40:52 -05:00
Matthias Clasen
d6c5ecbea3
gdk: Use event constructors for dnd
2020-02-21 00:40:50 -05:00
Matthias Clasen
ef004c64c6
events: Drop x_root/y_root
...
We are not using these fields anymore.
2020-02-21 00:39:43 -05:00
Matthias Clasen
f15e90b194
broadway: Stop setting x_root/y_root in events
...
These fields are not used in GTK anymore, and are
going away soon.
2020-02-21 00:39:43 -05:00
Matthias Clasen
91b94f51f2
x11: Stop setting x_root/y_root in events
...
These fields are not used by GTK anymore and
will be going away soon.
2020-02-21 00:39:43 -05:00
Matthias Clasen
a8e9d6c1f5
x11: Stop relying on root coordinates in events
...
The X11 dnd code was still using x_root/y_root in
GdkEventMotion in a couple of places. Stop doing so,
these field are going away soon.
2020-02-21 00:39:43 -05:00
Matthias Clasen
7e80c39aee
Remove root coords from the GdkDrop api
2020-02-21 00:39:41 -05:00
Matthias Clasen
7f2564aabe
wayland: Clean up coordinate handling
...
Get rid of the get_coordinates function and just
use the structs directly.
2020-02-21 00:39:12 -05:00
Matthias Clasen
07ffa9ad6b
wayland: Use event constructors
...
Convert all of Waylands event handling to use the new
constructors.
2020-02-21 00:39:12 -05:00
Matthias Clasen
67035d2e35
gdk: Add event constructors
...
Add private API to construct events. This is a step towards
making events readonly, and not objects anymore.
The constructors here are sufficient to convert the Wayland
backend over. More may be added for other backends as needed.
Open issues:
- history
2020-02-21 00:39:12 -05:00
Matthias Clasen
9330158f11
Make a11y testsuite pass
2020-02-21 00:39:12 -05:00
Matthias Clasen
8318d3bed3
Merge branch 'master' into 'master'
...
build: gdk/wayland/cursor depends on wayland-client
See merge request GNOME/gtk!1453
2020-02-20 19:08:45 +00:00
Dominique Leuenberger
8b9ad1e963
build: gdk/wayland/cursor depends on wayland-client
...
On distros where wayland-client.h might not be directly in /usr/include
we fail to find the correct headers otherwise.
2020-02-20 17:07:02 +01:00
Timm Bäder
018870643a
scale: Remove useless extra local variable
2020-02-20 10:30:14 +01:00
Timm Bäder
aa53fef39c
scale: Remove unused member
2020-02-20 10:23:09 +01:00
Timm Bäder
faddbb18d3
emojichooser: Add style class to emoji toolbar
...
Closes #1013
2020-02-20 10:23:09 +01:00
Timm Bäder
f14978c68f
filechooserwidget: Fold function into only caller
2020-02-20 10:23:09 +01:00
Timm Bäder
c0de02520c
filechooserwidget: Use a proper GtkPopoverMenu
...
Instead of a fake one where we add .menu to a normal popover. This makes
the menu look like other context menus.
2020-02-20 10:23:09 +01:00
Timm Bäder
b58f9e2aa2
filechoosererrorstack: Set a layout manager
...
Otherwise it doesn't know what to do with its child widget.
2020-02-20 10:23:09 +01:00
Timm Bäder
b8a752c751
filechooserwidget: Allow typing a location in recent mode
...
This is triggered by typing / or hitting Ctrl+L. Since we don't have a
visual indicator for this mode right now anyway, the reason for not
allowing it in recent mode cited in the comment just above the
early-exit is irrelevant.
Closes #2178
2020-02-20 10:23:09 +01:00
Timm Bäder
194039c749
filechooserwidget: Remove unused constants
2020-02-20 10:23:09 +01:00
Timm Bäder
64d0f848bc
text: Remove gtk_text_get_im_context()
...
Unused.
2020-02-20 10:23:09 +01:00
Timm Bäder
d8a61b3185
docs: Remove focus_tracking.txt
...
All the info in there is outdated and not useful.
2020-02-20 10:23:09 +01:00
Timm Bäder
d3936f8d93
docs: Remove developers.txt
...
Everything in there has either been removed in the past or is outdated
information.
2020-02-20 10:23:09 +01:00
Timm Bäder
63bb1c2aaa
docs: Remove dnd_internals.txt
...
This is either already completely outdated or will be soon.
2020-02-20 10:23:09 +01:00
Timm Bäder
e18a159f16
spinbutton: Remove manual queue_draw() calls
...
Everything is automatically redrawn when changing the value, etc.
2020-02-20 10:23:09 +01:00
Timm Bäder
a1bc3ae2c8
popvermenu: Clarify css node docs
...
We add the .menu css class to the popover main node, not its contents
node.
2020-02-20 10:23:09 +01:00
Timm Bäder
2ad6c045b4
aboutdialog: Clarify docs and fix preconditions
2020-02-20 10:23:09 +01:00
Timm Bäder
ec6d5839bd
modelbutton: Un-select on mouse leave
...
This brings us closer to the old GtkMenuItem behavior and also makes
more sense.
2020-02-20 10:23:09 +01:00
Timm Bäder
2bf9a5bd29
aboutdialog: Replace visited_links GList with GPtrArray
2020-02-20 10:23:09 +01:00
Timm Bäder
b5d4815eb7
aboutdialog: Use new GtkStackPage API
2020-02-20 10:23:09 +01:00
Timm Bäder
188f00e05a
stack: Add GtkStackPage:visible accessors
2020-02-20 10:23:09 +01:00
Benjamin Otte
9660ae5556
Merge branch 'wip/xdg-popup-async-relayout' into 'master'
...
Synchronous popup layout
See merge request GNOME/gtk!1241
2020-02-19 18:57:14 +00:00
Emmanuele Bassi
da828a9d0c
Merge branch 'ci-flatpak' into 'master'
...
ci: Update flatpak jobs
See merge request GNOME/gtk!1451
2020-02-19 15:35:21 +00:00
Emmanuele Bassi
3a054d5a90
ci: Update flatpak jobs
...
The CI infrastructure was changed to run with fewer privileges, so we
need to adapt our Flatpak jobs to compensate.
See: https://mail.gnome.org/archives/desktop-devel-list/2020-February/msg00055.html
2020-02-19 15:04:58 +00:00
Jonas Ådahl
ca71119a40
gdk/surface: Replace move_to_rect() with GdkPopupLayout based API
...
Replace the gdk_surface_move_to_rect() API with a new GdkSurface
method called gdk_surface_present_popup() taking a new GdkPopupLayout
object describing how they should be laid out on screen.
The layout properties provided are the same as the ones used with
gdk_surface_move_to_rect(), except they are now set up using
GdkPopupLayout.
Calling gdk_surface_present_popup() will either show the popup at the
position described using the popup layout object and a new unconstrained
size, or reposition it accordingly.
In some situations, such as when a popup is set to autohide, presenting
may immediately fail, in case the grab was not granted by the display
server.
After a successful present, the result of the layout can be queried
using the following methods:
* gdk_surface_get_position() - to get the position relative to its
parent
* gdk_surface_get_width() - to get the current width
* gdk_surface_get_height() - to get the current height
* gdk_surface_get_rect_anchor() - to get the anchor point on the anchor
rectangle the popup was effectively positioned against given
constraints defined by the environment and the layout rules provided
via GdkPopupLayout.
* gdk_surface_get_surface_anchor() - the same as the one above but for
the surface anchor.
A new signal replaces the old "moved-to-rect" one -
"popup-layout-changed". However, it is only intended to be emitted when
the layout changes implicitly by the windowing system, for example if
the monitor resolution changed, or the parent window moved.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
37f4c644d3
gdk/surface: Reset position after hiding
...
The x and y position of GdkSurface is only valid when visible, so reset
them to their inital state after hiding.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
46d40cd4bd
wayland: Simplify logic deciding whether to use xdg_popup
...
From a handful of hueristics and guess-work, to a single
`surface->surface_type == GDK_SURFACE_POPUP`.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
11dbc384ab
wayland: Fix top-most-popup check
...
We can map a non-grabbing popup wherever, it's just the grabbing
popup-chain that needs to be ensured not to break any ordering rules.
Fix this by managing two lists; one of open popups, and another for
grabbing ones.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
ebd3ee9880
gdk: Move GdkGeometry declaration to gdktypes.h
2020-02-19 09:47:18 +01:00
Jonas Ådahl
339a04da7c
gdk: Move GdkGravity to gdktypes.h
2020-02-19 09:47:18 +01:00
Jonas Ådahl
40693412d3
x11: Make gdk_surface_get_position() return relative position
...
The returned position should be relative to the parent surface, but
GdkSurface::x,y were only managed properly for O-R windows. This makes
it correct for regular windows too.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
2bb0eddfb5
wayland: Simplify popup parent discovery
...
Now popups surfaces are always created with the parent set, so we don't
need to implement vorious guess work to try to find what the parent
might be. Remove that code and just use GdkSurface::parent which is
where the parent set during construction ends up at.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
49fcbc27ca
wayland: Remove old "gdk-attached-grab-surface" hackery
...
The corresponding code in gtk/ is long gone, so it's luckly unused these
days.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
7fafa5133b
wayland/surface: Add per surface configuration event queues
...
Add event queues specifically for surface configuration events
(xdg_surface.configure, xdg_toplevel.configure, xdg_popup.configure etc)
so that a configuration can be completed without having side effects on
other surfaces. This will be used to synchronously configure specific
GdkSurfaces, as is needed by the Gtk layout mechanisms.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
0d086872ae
gdk/wayland/surface: Use dedicated bool for frame callback freezing
...
The freezing is conditioned on various state, so lets make the thawing a
bit more robust. Without this there was a risk that we'd thaw too many
times if there was a frame callback requested while the conditions for
the freezing were not met.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
f284e1d483
wayland: Remove position method split
...
Position can only be done via gdk_surface_queue_relayout(); the legacy
way is no longer possible, so remove the legacy positioning code.
2020-02-19 09:47:18 +01:00
Jonas Ådahl
4e78dd2ae0
gdk/surface: Use enum type for surface type
2020-02-19 09:47:18 +01:00
Jonas Ådahl
6eaeadb3b9
tests/popover: Add check box for switching autohide prop
2020-02-19 09:47:18 +01:00
Jonas Ådahl
f43717a42e
popover: Unrealize when autohide prop changes
...
Changing the autohide property means the popover needs to be remapped.
Remapping may need user interaction, so lets just unrealize the popover
if the property changes, forcing the application to remap it should it
be shown again.
2020-02-19 09:47:18 +01:00
Timm Bäder
5097c1defc
Merge branch 'file-filter-name-property' into 'master'
...
GtkFileFilter: Add a GObject property for the name
See merge request GNOME/gtk!376
2020-02-19 07:43:51 +00:00
Matthias Clasen
d58a381c93
Merge branch 'icontheme-api' into 'master'
...
Icontheme api
Closes #2410
See merge request GNOME/gtk!1449
2020-02-19 01:50:49 +00:00
Matthias Clasen
66307f00f1
icontheme: Update the api
...
Add properties, and use string arrays instead of lists.
Among other things, this renames gtk_icon_theme_list_icons
to gtk_icon_theme_get_icon_names.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2410
2020-02-18 20:32:17 -05:00
Matthias Clasen
db1ca92790
Merge branch 'wip/otte/for-master' into 'master'
...
debug: When debug-printing, treat NULL as the default display
See merge request GNOME/gtk!1450
2020-02-19 01:18:04 +00:00
Benjamin Otte
732716ba95
debug: When debug-printing, treat NULL as the default display
...
Otherwise we lose debug prints from all code that allows NULL displays.
2020-02-19 01:21:33 +01:00
Matthias Clasen
03ee4229f2
Merge branch 'wip/otte/dnd' into 'master'
...
More DND rework
See merge request GNOME/gtk!1445
2020-02-18 22:15:56 +00:00
Emmanuele Bassi
e64cce2ca3
Merge branch 'dialog-headerbar-type-annotation' into 'master'
...
GtkDialog: Add `type Gtk.HeaderBar` annotation to headerbar getter return value
See merge request GNOME/gtk!1447
2020-02-18 10:58:06 +00:00
Sebastian Dröge
8378eb22a3
GtkDialog: Add type Gtk.HeaderBar annotation to headerbar getter return value
2020-02-18 10:55:31 +02:00
Benjamin Otte
0d4d4e9a8c
colorbutton: Fix drag source
...
By running it in the capture phase, it will not be starved for events by
the button's click source and make drags actually start a color drag
operation.
2020-02-18 02:58:58 +01:00
Benjamin Otte
7ca149ff90
Remove gdk_content_provider_new_with_formats()
...
See the removal of gdk_content_provider_new_with_callback() for a
rationale.
2020-02-18 02:40:00 +01:00
Benjamin Otte
7ae5fd357c
tests: Modernize testdnd2
2020-02-18 02:40:00 +01:00
Benjamin Otte
b8cf7ea1c6
dnd: Port the TreeModel machinery to GValue DND
2020-02-18 02:40:00 +01:00
Matthias Clasen
308d2caf31
Merge branch 'text-emoji-history' into 'master'
...
text: Treat Emoji insertion like clipboard
See merge request GNOME/gtk!1444
2020-02-17 22:31:17 +00:00
Benjamin Otte
1145da3ea5
placessidebar: Modernize DND
...
No more shooting pointers through pipes
2020-02-17 21:56:16 +01:00
Benjamin Otte
27d7aa1407
notebook: Use proper DND
...
Actually use GValues for the DND operation instead of sending GBytes of
pointer addresses through pipes.
This is a bit complicated because we need to special-case rootwindow
drops, because they're handled on the source side, so we need a custom
ContentProvider.
2020-02-17 21:56:16 +01:00
Benjamin Otte
9703fcc605
notebook: Move dnd scrolling via arrows to own drop target
...
This removes excess code from the tab dnd machinery
2020-02-17 21:56:16 +01:00
Benjamin Otte
e25bfa6a61
dragdest: Handle NULL content formats everywhere
...
NULL means we don't do content formats checks and accept everything.
We use this for notebook arrows or expanders that react to ongoing
drags.
2020-02-17 21:56:16 +01:00
Benjamin Otte
9a7607b419
contentprovider: Add a union content provider
2020-02-17 21:56:16 +01:00
Matthias Clasen
a838a54dca
text: Treat Emoji insertion like clipboard
...
Enter the Emoji inseration in the undo history.
Also, stop stashing away the selection when we
pop up the Emoji chooser, and use the selection
as-is when we insert the Emoji.
2020-02-17 15:05:09 -05:00
Benjamin Otte
f5e3584b5b
placessidebar: Don't claim to support text dnd
...
Because you don't. And never did.
2020-02-17 04:04:21 +01:00
Benjamin Otte
80ba7fd682
dragdest: Make gtk_drop_target_new() args be transfer full
...
Saves tons of code.
2020-02-17 04:04:21 +01:00
Benjamin Otte
91d91a29e8
colorbutton, colorswatch: Simplify DND
...
- Use GDK_TYPE_RGBA and let GDK do the conversion from
application-x-color
- Don't do extra mime type checks when accept() does that for us already
2020-02-17 04:04:21 +01:00
Benjamin Otte
3a7e3cf90d
dragdest: Simplify function
...
Make it obvious that the functions checks one condition and then the
other.
2020-02-17 04:04:21 +01:00
Benjamin Otte
e1f8c1430f
dnd: simplify code
...
The old code did mimetype checks everywhere when type compatibility has
since been moved to the GtkDropTarget::accept signal.
So the code can now just assume a compatible mime type exists.
2020-02-17 04:04:21 +01:00
Benjamin Otte
da83457a60
dnd: Remove gdk_content_provider_new_with_callback()
...
Content providers are meant to be immutable, apart from very special
cases, but in those cases they need to emit
gdk_content_provider_content_changed().
Having a constructor that just uses a get_func invites abuse of this
by not making developers aware of those requirments.
In fact, all users in GTK failed to do this.
Instead, code should use the GtkDragSource::prepare signal to create
content providers when needed.
The same problem exists with gdk_content_provider_new_with_formats(),
but this commit doesn't touch that.
2020-02-16 20:10:31 +01:00
Benjamin Otte
dbad440468
testdnd3: Use GValue dnd
2020-02-16 20:10:30 +01:00
Benjamin Otte
8d2ed36a1b
contentprovider: Add gdk_content_provider_new_typed()
...
Gets around the boilerplate required to create and initialize a GValue
by having this function doing it via G_VALUE_COLLECT().
2020-02-16 20:10:30 +01:00
Benjamin Otte
762c4602fb
wayland: Destroy the offer on gdk_drop_finish()
...
Otherwise the compositor won't be aware the dnd failed and will in turn
not notify the drag source.
2020-02-16 20:10:30 +01:00
Benjamin Otte
5a726bc665
drop: Add a state machine for tracking events
2020-02-16 20:10:30 +01:00
Benjamin Otte
410dbdf671
widget: Fix namespacing problem
...
In Vala and JS at least, gtk_widget_get_css_name() and
gtk_widget_class_get_css_name() are resolved to
GtkWidget.get_css_name().
To avoid this problem, we rename the class version.
2020-02-16 20:05:05 +01:00
Benjamin Otte
43b8aff62c
widget: Fix typos for css-clases property
2020-02-16 19:57:45 +01:00
Benjamin Otte
47c8026e38
Merge branch 'wip/otte/dnd' into 'master'
...
some DND fixes
See merge request GNOME/gtk!1440
2020-02-15 23:45:25 +00:00
Benjamin Otte
b844f34cda
tests: Do proper local DND
...
Just transfer GValues.
2020-02-15 22:33:57 +01:00
Benjamin Otte
46bbb397e1
wayland: Use a magic mime type for local DND
...
Otherwise the compositor gets all confused when it's trying to make
drag happen but we know it's not going to happen.
After all, we exchange data behind its back, we just need to keep it
informed.
2020-02-15 22:33:57 +01:00
Benjamin Otte
894ac6c126
dragdest: Use format matching APIs
2020-02-15 21:04:33 +01:00
Benjamin Otte
a824da66d9
drop: Ensure all relevant formats are available
...
1. GdkDrop does deserialization, so add the deserialize formats
2. If the drop is local, we can copy straight from the drag, so we can
also copy all its formats. This fixes cases where the backend would
drop formats it doesn't support.
2020-02-15 20:02:44 +01:00
Timm Bäder
08501c9510
calendar: Emit {next,prev}-{month,year} signals
...
Fixes #833
2020-02-15 17:18:27 +01:00
Timm Bäder
a4ecfd8f33
widget: Use get_css_name() in get_property()
...
Instead of reimplementing it there.
2020-02-15 17:18:27 +01:00
Timm Bäder
28482e52be
Adwaita: Add focus outlines back to scale troughs
...
Fixes #189
2020-02-15 17:18:27 +01:00
Timm Bäder
bf839dbb88
coloreditor: Scale h value to 360
...
Fixes #1321
2020-02-15 17:18:27 +01:00
Timm Bäder
2529464e21
range: Avoid rounding errors when allocating highlight
...
Fixes #2438
2020-02-15 17:18:26 +01:00
Timm Bäder
7e43034068
widget: Add css-classes property
...
Mirroring the values added and removed via {add,remove}_css_class().
2020-02-15 17:18:26 +01:00
Timm Bäder
52979a0e93
infobar: Remove _get_{action,content}_area()
...
Accessors like these are weird to have and we can add widgets to the
content area via gtk_container_add() as well as add widgets to the
action area via gtk_info_bar_add_action_widget().
2020-02-15 17:18:26 +01:00
Timm Bäder
78a5bf8e21
Remove gtk_info_bar_get_content_area() uses
...
We can just add() to the info bar directly.
2020-02-15 17:18:26 +01:00
Timm Bäder
8612a8a39f
testinfobar: Stop using gtk_info_bar_get_content_area()
...
We have an easier way of adding widgets to the content area of an
infobar: Just gtk_container_add() them like usual.
2020-02-15 17:18:26 +01:00
Timm Bäder
a7de8e6b2f
infobar: Don't store close button visibility separately
...
We can already set and query that value via
gtk_widget_{get,set}_visible() on the close button.
2020-02-15 17:18:26 +01:00
Timm Bäder
3cc57c2e3a
actionbar: Use a bin layout
2020-02-15 17:18:26 +01:00
Timm Bäder
a1d47ec59f
calendar: Add style class to today's label
...
Add the .today style class to the label indicating the current day.
Fixes #230
2020-02-15 17:18:26 +01:00
Timm Bäder
43a9f9bd02
calendar: Document style classes
...
Fixes #790
2020-02-15 17:18:26 +01:00
Matthias Clasen
e5d83eea30
events: Make proximity and scroll events have tools
...
The Wayland backend tries to set device tools on these
events, and it was just an oversight that they don't
carry them.
2020-02-15 09:44:34 -05:00
Benjamin Otte
5f7054862b
Merge branch 'wip/otte/for-master' into 'master'
...
Drop GTK_WINDOW_POPUP
See merge request GNOME/gtk!1437
2020-02-14 20:42:11 +00:00
Matthias Clasen
8ef7013165
Drop gdk_surface_new_temp
...
GTK is not using this API anymore, and we want
to consolidate our surface types to just toplevels
and popups.
2020-02-14 21:20:12 +01:00
Matthias Clasen
723b894c19
testsuite: Stop using gdk_surface_new_temp
...
We can just use regular toplevels here.
2020-02-14 21:19:29 +01:00
Benjamin Otte
c1f71ee3e8
window: Remove GtkWindowType and window->type
...
And remove code that was making decisions on the type and just use
the part for toplevels.
2020-02-14 21:18:49 +01:00
Benjamin Otte
222e6e5d6e
testsuite: Use GtkTextDirection instead of GtkWindowType
...
GtkWindowType is aout to be dropped, so use another enum for the enum
tests - one that is likely to survive for a long time.
2020-02-14 21:18:49 +01:00
Benjamin Otte
de49e47690
textview: Fix docs typo
2020-02-14 21:18:49 +01:00
Benjamin Otte
a278edab22
window: Remove type argument from gtk_window_new()
2020-02-14 21:18:49 +01:00
Benjamin Otte
c2bd4bc3cb
testsuite: Replace popups with toplevels
...
The tests do not depend on the window being a popup.
2020-02-14 21:18:49 +01:00
Benjamin Otte
fb856d96cd
builder: Use different construct-only property
...
The window type is going away, so use the css name instead.
2020-02-14 21:18:49 +01:00
Benjamin Otte
264967b764
widget: Add gtk_widget_get_css_name() API
2020-02-14 21:18:49 +01:00
Benjamin Otte
ad23ce23ad
testsuite: Remove popup property from simplify tools
...
I'm not even sure a popup GtkAssistant should be a thing...
2020-02-14 21:18:49 +01:00
Benjamin Otte
41bdf16b23
testsuite: Turn all CSS test ui files into regular windows
...
Use undecorated windows instead of popups.
2020-02-14 21:18:49 +01:00
Benjamin Otte
2c843362a0
testsuite: Make a11y tests use regular windows
2020-02-14 21:18:49 +01:00
Benjamin Otte
922f9df86f
Merge branch 'wip/otte/for-master' into 'master'
...
reftests: Change popup windows to non-decorated windows
See merge request GNOME/gtk!1435
2020-02-14 17:12:17 +00:00
Benjamin Otte
980934f82d
reftests: Change popup windows to non-decorated windows
...
This allows getting rid of popup windows.
2020-02-14 17:54:38 +01:00
Matthias Clasen
c45ed9d76e
Merge branch 'zhaoqiang/gtk-To_avoid_compiler_warning'
2020-02-14 08:47:36 -05:00
Matthias Clasen
b6cb1a6eb3
Merge branch 'master-subtract-base-size' into 'master'
...
gdk: Subtract base size when checking aspect ratio
See merge request GNOME/gtk!1331
2020-02-14 13:19:42 +00:00
Mohammed Sadiq
22a6aaf4c5
Merge branch 'wip/otte/for-master' into 'master'
...
slicelistmodel: Fix two wrong computations
See merge request GNOME/gtk!1433
2020-02-14 02:39:21 +00:00
Benjamin Otte
d303b5b0eb
slicelistmodel: Fix two wrong computations
...
Both of those are thinkos during math.
Found by Mohammed Sadiq.
Testcases triggering both have been added.
2020-02-14 03:15:22 +01:00
Matthias Clasen
97ec29d3f5
Force-create style contexts in realize
...
This is necessary as long as style contexts are
required for proper css change tracking.
Fixes #2435
2020-02-13 21:14:01 -05:00
Emmanuele Bassi
eb2e0137fa
Merge branch 'master' into 'master'
...
Fixed OpenGL extension detection for extensions promoted to OpenGL core.
Closes #2428
See merge request GNOME/gtk!1424
2020-02-13 19:53:33 +00:00
David Hogan
0969d06925
Fix detection of OpenGL 3.3 core GL_ARB_timer_query.
...
Some systems (notably macOS) will not allow enumeration of an extension that has been promoted to core OpenGL for context in use. This change assumes that GL_ARB_timer_query is available on OpenGL 3.3+.
I could not find definitive information on whether GL_ARB_debug_output or GL_KHR_debug have been added to core. Other extensions in use were addressed by https://gitlab.gnome.org/GNOME/gtk/merge_requests/1422 .
2020-02-14 05:41:01 +11:00
David Hogan
c4111dad31
Fixed OpenGL extension detection for extensions promoted to OpenGL core.
...
For a given OpenGL context, macOS in particular does not support enumeration / detection of OpenGL features that have been promoted to core OpenGL functionality. It is possible other drivers are the same. This change assumes support for GL_ARB_texture_non_power_of_two with OpenGL 2.0+, GL_ARB_texture_rectangle with OpenGL 3.1+ and GL_EXT_framebuffer_blit with OpenGL 3.0+. I failed to find definitive information on whether GL_GREMEDY_frame_terminator has been promoted to OpenGL core, or whether GL_ANGLE_framebuffer_blit or GL_EXT_unpack_subimage have been promoted to core in OpenGL ES. This change results in a significant GtkGLArea performance boost on macOS.
Closes #2428
2020-02-14 05:41:01 +11:00
Emmanuele Bassi
33c6032a10
Merge branch 'ci-flatpak' into 'master'
...
CI pipeline changes for Flatpak jobs
See merge request GNOME/gtk!1429
2020-02-13 18:10:29 +00:00
Emmanuele Bassi
9a631f2942
ci: Remove G_MESSAGES_DEBUG
...
We don't need all the debugging messages.
2020-02-13 17:10:19 +00:00
Emmanuele Bassi
9332abfd5b
ci: Allow flatpak jobs to fail
...
We have more accurate CI jobs, now; the Flatpak jobs are nice to have.
2020-02-13 17:09:35 +00:00
Matthias Clasen
883980c48c
Merge branch 'gi-fixes' into 'master'
...
Various fixes for documentation and introspectable API
See merge request GNOME/gtk!1427
2020-02-13 16:38:41 +00:00
Matthias Clasen
2e0af29839
Make release builds mandatory for ci
...
The tests are now passing in release builds, lets keep
it that way.
2020-02-13 11:21:15 -05:00
Matthias Clasen
cdee2ac173
testsuite: Handle icontheme test better
...
Skip just the failing tests in release builds.
2020-02-13 10:56:26 -05:00
Matthias Clasen
a66ed7c461
gsk: Fix the compiler warning differently
2020-02-13 10:42:21 -05:00
Emmanuele Bassi
09abb43628
Merge branch 'report-fixes' into 'master'
...
Fixes for the CI test reports
See merge request GNOME/gtk!1426
2020-02-13 15:04:04 +00:00
Emmanuele Bassi
de1543d4fa
ci: Use per-suite anchors
...
Anchors are global, so they need to be namespaced.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
5ed3f8d98b
ci: Rearrange the results in the HTML report
...
Move the failures up top, so they stand out.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
affc7b58fa
ci: Fix the HTML anchor in the report
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
2b1e273c53
ci: Use result instead of exit code in the JUnit report
...
We have a result code coming from Meson which is more accurate than just
looking at the exit code of the unit.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
1a4d1f8994
ci: Unexpected passes are failures
...
List them as such in our reports.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
adc7bf9f25
ci: Put the branch name in the HTML header
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
f4a8edf441
ci: Move HTML report meta from header to article
...
Makes the bar smaller.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
3dc6a07f5d
ci: Re-enable ccache
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
2a0dfa9670
Remove gtk_style_context_get_parent()
...
The function was declared and mentioned in the documentation, but it has
been removed in commit 416182a20d .
2020-02-13 14:53:25 +00:00
Emmanuele Bassi
40852ea952
gi: Skip gtk_custom_layout_new()
...
The whole GtkCustomLayout class is mostly a C convenience API, and
there's no reason why high level languages should use it.
2020-02-13 14:53:25 +00:00
Emmanuele Bassi
32a2a629dd
Fix the function name in the gtk-doc stanza
...
The documentation is still referring to the old function's name.
2020-02-13 14:53:25 +00:00
Emmanuele Bassi
35ac7de140
Match argument name between declaration and definition
...
Otherwise the documentation and the introspection data will complain.
2020-02-13 14:53:25 +00:00
Emmanuele Bassi
0d354d1dc4
docs: Match the argument name with its declaration
2020-02-13 14:53:25 +00:00
Emmanuele Bassi
cdd7e4c5ec
Add a notify function to GdkContentProvider
...
The callback-based content providers need a GDestroyNotify function to
free the data passed to them on construction, otherwise they are going
to leak.
2020-02-13 14:53:25 +00:00
Matthias Clasen
47f2a6cafd
Remove border-half-pixel reftest from xfail
...
It passes both locally and on ci now.
2020-02-13 09:39:27 -05:00
Matthias Clasen
313c399122
Merge branch 'wip/otte/no-clip-on-draw' into 'master'
...
Various fixes to rendernode drawing with Cairo
See merge request GNOME/gtk!1425
2020-02-13 13:43:59 +00:00
Benjamin Otte
052d0f6e60
gdk: Remove gdk_cairo_get_clip_rectangle()
...
The function is fundamentally broken for unbounded surfaces.
If a surface is unbounded, we cannot represent this as a
cairo_rectangle_int_t, and using the return value doesn't work because
it's already used for something else.
In GTK3, unbounded surfaces aren't a problem, but GTK4 uses recording
surfaces.
So better remove that function before we keep using it and using it
wrong.
2020-02-13 07:36:38 +01:00
Benjamin Otte
8f6cab6560
cairoblur: Get rid of gdk_cairo_get_clip_rectangle() call
...
It's about to be removed.
2020-02-13 07:36:38 +01:00
Benjamin Otte
6203cecf97
gsk: Clip shadow node before push_group()
...
We want to be sure to push a group that's as small as possible, so we
clip to the child's bounds, because that's the smallest we can go.
2020-02-13 07:36:38 +01:00
Benjamin Otte
6f9f18009c
gsk: Add a utility function for rectangles
...
... and use it.
2020-02-13 07:36:38 +01:00
Benjamin Otte
67610b1242
cairoblur: Move the check for early exit
...
That means we only have one place where we check all kinds of early
exits.
2020-02-13 07:36:38 +01:00
Benjamin Otte
f0993fc881
rendernode: Avoid rounding errors
...
Compute the pattern matrix directly instead of transforming the cairo_t.
This ensures that when node_size / texture_size is some obscure floating
point value, we don't get rounding issues from scaling by it once we
draw the texture_size rectangle.
I have no actual failure where this comes in handy, but I had written
the code anyway, so decided to keep it.
2020-02-13 07:36:38 +01:00
Benjamin Otte
75b130ed6b
testsuite: Add tests for rounded rect code
...
... including the bug that was fixed in the parent commit.
2020-02-13 07:36:38 +01:00
Benjamin Otte
77d7c713d4
roundedrect: Fix inlining of graphene functions
...
graphene treats equality for contains() operations as always matching,
so do the same thing.
This is because unlike integer math, floating point cannot do the "as
close as possible to the point, but not reaching it" operation that
integer does by just subtracting 1.
2020-02-13 07:36:38 +01:00
Benjamin Otte
b0369fc300
roundedrect: Fix gsk_rounded_rect_intersects_rect()
...
The previous code would return FALSE for
gsk_rounded_rect_intersects_rect (&rounded, &rounded.bounds);
if rounded was indeed rounded.
2020-02-13 07:36:38 +01:00
Benjamin Otte
16e38701b6
testsuite: Don't use gdk_cairo_get_clip_rectangle()
...
I want to remove it.
2020-02-13 06:15:44 +01:00
Benjamin Otte
9d8ceb0cb2
testsuite: Don't destroy surfaces that are still used
...
Coercing the surfaces must not unref the old surface, because the old
surface is going to be saved to a file.
2020-02-13 06:15:44 +01:00
Benjamin Otte
c313a71c3a
testsuite: Remove accidentally checked in file
...
This file should go in the listview branch I guess.
2020-02-13 06:14:05 +01:00
Matthias Clasen
fb84fe7065
Fix flickery hover
...
Commit 47c44644b1 was a bit overzealous in fixing
compiler warnings. We still need to call collect_textures,
even if we don't need the number that it returns.
2020-02-12 22:45:24 -05:00
Matthias Clasen
9be8f8cf43
Merge branch 'wip/baedert/cairo-paint' into 'master'
...
Remove cairo_clip() when drawing render nodes
Closes #2431
See merge request GNOME/gtk!1418
2020-02-12 23:44:38 +00:00
Matthias Clasen
14ecc9ec7e
Remove unused signal enum values
...
GtkWidget lost even more signals, so we don't need
these enum values anymore.
2020-02-12 18:25:42 -05:00
Matthias Clasen
073e8dd987
popovermenu: Avoid an uninitialized variable
...
Pointed out by Timm/clang.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2434
2020-02-12 17:58:41 -05:00
Matthias Clasen
6c6b3d0d11
Merge branch 'ci-pages' into 'master'
...
Rename the SCSS files for our themes
Closes #2423
See merge request GNOME/gtk!1423
2020-02-12 22:35:58 +00:00
Emmanuele Bassi
2ab9be54fb
Rename the SCSS files for our themes
...
It seems that Meson's gnome.compile_resources() cannot deal with two
files with the same name under different directories, which breaks the
build parallelism because the GResource file ends up not depending on
either the Adwaita or the HighContrast gtk-contained.css file.
This commit only changes the on-disk names of the Adwaita and
HighContrast SCSS files, and the corresponding generated CSS files; the
files in the GResource are going to be aliased to the old file names, to
minimise the breakage. We might want to change the theme entry points at
some later date, if we decide to commit to this naming scheme.
Fixes : #2423
See Meson bug: https://github.com/mesonbuild/meson/issues/6615
2020-02-12 20:22:43 +00:00
Matthias Clasen
11ab39617e
Fix the Emoji chooser finalize
...
If the Emoji chooser is finalized before the idle
has run, it would spew criticals, breaking some tests.
Avoid that.
2020-02-12 14:23:01 -05:00
Georges Basile Stavracas Neto
7404c393f3
Merge branch 'gbsneto/fix-emojichooser-header' into 'master'
...
build: Install gtkemojichooser.h
See merge request GNOME/gtk!1420
2020-02-12 18:56:19 +00:00
Georges Basile Stavracas Neto
1b95cd27bc
build: Install gtkemojichooser.h
...
It was made public at ef7172dc1e , but the header file
wasn't added to the public headers list.
Add the header file to the list.
2020-02-12 15:41:49 -03:00
Emmanuele Bassi
88e2a060f8
Merge branch 'ci-pages' into 'master'
...
Small CI pipeline fixes
See merge request GNOME/gtk!1419
2020-02-12 18:38:39 +00:00
Emmanuele Bassi
4247bf0fb6
ci: Update flatpak job
...
Use `flatpak build` and point at the nightly repo when generating the
bundle.
2020-02-12 18:24:54 +00:00
Emmanuele Bassi
f2da5e5617
ci: Deploy the API ref before flatpak
2020-02-12 18:12:53 +00:00
Emmanuele Bassi
f51ceb142b
ci: Fix linking of the CI assets in the report
...
The report is relative to the build directory, and so are the generated
assets.
2020-02-12 18:12:53 +00:00
Matthias Clasen
e1d85aeeb0
testsuite: Warn if a necessary env var is missing
...
Better to warn if we know why the tests are
going to fail. Saves headscratching later.
2020-02-12 12:18:59 -05:00
Matthias Clasen
cc8506ca15
Move performance tests to the right testsuite
...
This was a copy-paste error.
2020-02-12 12:18:59 -05:00
Timm Bäder
52c46e5c24
rendernode: Don't clip when _draw()ing
2020-02-12 16:54:49 +01:00
Timm Bäder
b12a6be9d9
rendernode: draw() only in node bounds
...
We currently disable when draw()ing nodes using the cairo fallback path,
which means we can't just use cairo_paint(). Use a proper rectangle
instead.
Fixes #2431
2020-02-12 16:54:46 +01:00
Matthias Clasen
d702c159d5
Merge branch 'cleanup-profiler-marks' into 'master'
...
Cleanup profiler marks
See merge request GNOME/gtk!1417
2020-02-12 14:31:40 +00:00
Alexander Larsson
6e3dd6dd62
profile: Use separate names for frameclock marks instead of using details
...
The marks are averaged based on the name, so this makes more sense.
Also rename the map/unmap marks to have the same capitalization as
everything else.
2020-02-12 14:29:31 +01:00
Alexander Larsson
d9c59a7c8c
profiler: Add G_GNUC_PRINTF markers to silence warnings
...
I was getting CI failures like:
../gdk/gdkprofiler.c: In function ‘add_markvf’:
../gdk/gdkprofiler.c:111:3: error: function ‘add_markvf’ might be a candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
2020-02-12 13:36:04 +01:00
Alexander Larsson
324202a56c
profiler: Clean up profiler marks for frameclock
...
This drops the marks for before/after-paint as they are internal
things that very rarely use any time, and also flush/resume-events
as any events reported here will get separate marks so will be easy
to see anyway.
Also, we rename the entire frameclock cycle to "frameclock cycle"
rather than "paint_idle" which is rather cryptic.
2020-02-12 13:20:32 +01:00
Alexander Larsson
e3a67385f4
profiler: Add profiler marks for when surfaces are mapped and unmapped
...
This is done on the X11 side so we can tell when the map/unmap takes
effect and how long it took since the map request.
2020-02-12 12:44:43 +01:00
Alexander Larsson
b4b00e2887
icon theme: Don't add profiler marks for short async icon loads
...
We do a bunch of preloads, and most of these are not really interesting
anyway.
2020-02-12 12:43:27 +01:00
Alexander Larsson
e134eef505
builder: Don't add profiler marks for short parses
...
There are a lot of thes (since we're recursing), so don't spew the
output with uninteresting ones.
2020-02-12 12:42:29 +01:00
Alexander Larsson
2890cd849f
profiler: Add _end_mark() version of _add_mark()
...
These don't take a duration, instead they call g_get_monotonic_time() to
and subtract the start time for it.
Almost all our calls are like this, and this makes the callsites clearer
and avoids inlining the clock call into the call site.
2020-02-12 11:25:34 +01:00
Alexander Larsson
01d5ad2056
profiler: Make profiler-is-running a macro
...
When we use if (GDK_PROFILER_IS_RUNNING) this means we get an
inlined if (FALSE) when the compiler support is not compiled in, which
gets rid of all the related code completely.
We also expand to G_UNLIKELY(gdk_profiler_is_running ()) in the supported
case which might cause somewhat better code generation.
2020-02-12 11:05:01 +01:00
Alexander Larsson
cc643df88b
Convert all profiler times from nsec to usec
...
usec is the scale of the monotonic timer which is where we get almost
all the times from. The only actual source of nsec is the opengl
GPU time (but who knows what the actual resulution of that is).
Changing this to usec allows us to get rid of " * 1000" in a *lot* of
places all over the codebase, which are ugly and confusing.
2020-02-12 10:44:17 +01:00
Alexander Larsson
13eedf1a9f
Use markf in one more place
2020-02-12 10:40:26 +01:00
Alexander Larsson
685fd3c33d
fixup! Add gdk_profiler_add_markf() to do printf formating
2020-02-12 10:11:53 +01:00
Alexander Larsson
8a1c51db1c
Use the new gdk_profiler_add_markf() function
2020-02-12 09:59:03 +01:00
Alexander Larsson
6de85c0a68
Add gdk_profiler_add_markf() to do printf formating
...
This allows us to avoid hand-rolling g_strdup_printf calls,
but also moves the printf into the called function where
it doesn't bloat the code of the calling function if the profiler
is not running.
2020-02-12 09:58:52 +01:00
Carmen Bianca BAKKER
c2dcd1bf94
Update Esperanto translation
2020-02-12 07:43:58 +00:00
Matthias Clasen
6e0cf02494
Merge branch 'mark-events-with-kind' into 'master'
...
profiler: Always mark events with the kind
See merge request GNOME/gtk!1414
2020-02-11 19:01:10 +00:00
Alexander Larsson
36808e0c81
profiler: Always mark events with the kind
2020-02-11 19:51:49 +01:00
Matthias Clasen
9062607d5f
Merge branch 'wip/baedert/outline-radius' into 'master'
...
css boxes: Compute box from border box
Closes #2425
See merge request GNOME/gtk!1408
2020-02-11 16:59:11 +00:00
Emmanuele Bassi
042a5736fa
Merge branch 'share-gl-programs' into 'master'
...
GskGLRenderer: Share programs between different renderers in same display
See merge request GNOME/gtk!1413
2020-02-11 16:30:16 +00:00
Matthias Clasen
720e48ec51
Merge branch 'handle-max-texture-size' into 'master'
...
gl: Don't require too large texture for offsreen ops
See merge request GNOME/gtk!1411
2020-02-11 16:23:02 +00:00
Matthias Clasen
9d0393d8e6
Merge branch 'fix-angle-normalization' into 'master'
...
gsk: Fix angle normalization
See merge request GNOME/gtk!1409
2020-02-11 16:17:14 +00:00
Alexander Larsson
7b0b3d9547
GskGLRenderer: Share programs between different renderers in same display
...
This is similar to how we share texture atlases. Some added complexity
in that the program state also needed to be shared, so it had to move to
the shared Programs object.
With this change realization of additional GskRenderers when opening
popups went from ~60msec to ~35 msec on average.
2020-02-11 16:58:45 +01:00
Emmanuele Bassi
bb71cdd722
Merge branch 'ci-jobs' into 'master'
...
Update CI jobs
See merge request GNOME/gtk!1412
2020-02-11 15:25:48 +00:00
Emmanuele Bassi
2b425fa88a
ci: Allow release job to fail
...
We need to investigate release-specific failures, and possibly fix our
test suite to deal with debug-specific poking through the internal
state.
For the time being, allow the release job to fail, but this is strictly
a temporary measure.
2020-02-11 15:12:14 +00:00
Emmanuele Bassi
b99a4da939
testsuite/gtk: Add xfail tests
...
Some tests are expected to fail.
Some tests are expected to fail in non-debugging builds.
The icontheme test is the latter.
2020-02-11 14:53:57 +00:00
Emmanuele Bassi
c69595a3a9
vulkan: Handle VK_ERROR_UNKNOWN
...
A newly added Vulkan 1.2 error.
2020-02-11 14:47:22 +00:00
Emmanuele Bassi
76aba1f046
ci: Add a style check pass
...
We should at least try to get the style check done by a machine, as
opposed to have humans go through merge requests with coding style
nitpicks.
2020-02-11 14:47:22 +00:00
Emmanuele Bassi
59028d7d0f
ci: Generate the report for the release builds
...
We are going to need to hide the report generation into the test runner
script, as we want the job to produce the reports even in case of
failure, instead of bailing out immediately.
2020-02-11 14:47:22 +00:00
Emmanuele Bassi
0df542e494
Declare global counters only in debug builds
2020-02-11 14:47:22 +00:00
Emmanuele Bassi
47c44644b1
Silence compiler warnings in non-debug builds
2020-02-11 14:47:22 +00:00
Emmanuele Bassi
1806af1e83
Declare global counter only in debug builds
2020-02-11 14:47:22 +00:00
Matthias Clasen
b5dc03d940
Merge branch 'fix-revealer-scale' into 'master'
...
revealer: Fix child size allocation at small scales
See merge request GNOME/gtk!1410
2020-02-11 14:06:36 +00:00
Emmanuele Bassi
c4dfacc404
ci: Add missing newline escape
...
Otherwise we're going to run the accessibility test suite, and it's
going to fail.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
c00896a090
ci: Remove static build job
...
Now that we figured out why the build was failing on Fedora when the
profiling code was enabled, we can go back to building both shared and
static libraries by default.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
5ace9ef4e8
ci: Use the new Fedora image
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
a7d295254f
ci: Add static packages for GLib and PCRE
...
Otherwise Meson will warn about missing static dependencies for
sysprof-capture-3.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
62352dd1fc
Fix compiler warnings in the release build
...
We have a bunch of debug-only variables that get set and never used
outside of debug code paths, and the compiler is not happy about it.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
74b5bb12fb
ci: Disable ccache
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
02ac7ff0aa
Initialise out variable
...
Otherwise we might return an undefined value, and the compiler will be
very cross at us.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
c06a08d63a
ci: Split the static and shared builds (again)
...
Sadly, we can't do a static build with the profiling code enabled
because we don't have a static GLib build available.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
9e38a70c6b
ci: Replicate the CI image scripts from GLib
...
They are easier to use and document, and allow us to add new base images
in the future without making a mess.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
56f9cdd99d
ci: Refactor the CI pipeline
...
We should have a single job for building both static and shared
versions of GTK. On the other hand, having a separate job for the
release build would be a plus.
Additionally, we shouldn't use an opaque script to build GTK; the only
step in the process that requires hand-holding is running the tests
suites under Xvfb, and having the build options visible from the YAML
file gives us a better idea of what kind of build we're running.
2020-02-11 13:39:52 +00:00
Emmanuele Bassi
153e8a0c92
ci: Use release builds for Flatpak bundles
2020-02-11 13:39:52 +00:00
Chun-wei Fan
6ec546be02
tests/frame-stats.c: Include stdlib.h
...
It is used for exit().
2020-02-11 20:59:04 +08:00
Alexander Larsson
dc6fe091b9
revealer: Fix child size allocation at small scales
...
As pointed out in https://gitlab.gnome.org/GNOME/gtk/issues/1481
and seen from critical warnings with swinging revealers in widget-factory
there are some size allocation issues in GtkRevealer.
What happens is that we request a size of the revealer itself
based on the child natural size and the current stage of the transition
by applying a scale to the natural size. We then round up to nearest
int size. However, we want the widget to render as if it did get the
natural size so we can transform it, rather than the scaled down size.
For example, a label should not start ellipsizing in the animation.
So we inverse the scale when allocating the child.
Unfortunately, for very small scales the inversion of the scale can
result in very large sizes, and for such scales we rounded up the
requested size to 1, so we will be allocating huuuuge children.
In order to avoid such issue we pick an arbitrary maximum upscale
scale factor of 100. This means that in the case where the allocated
size is 1 we never allocate the child at > 100 px. This means
that in large downscaling cases we may run into the clipping issue
described above. However, at these downscaling levels (100 times!)
we're unlikely to notice much detail anyway.
2020-02-11 13:52:12 +01:00
Alexander Larsson
1f0438e7fe
gsk: Fix angle normalization
...
I was getting assertions that normalize_angle() failed the
result < 260 check. Doing some research on this it turns out
to be a precision issue. If the incomming angle is very slightly
below zero, then adding 360 to it may end up with exactly 360.
I simplified the code a bit to avoid division and rounding, because in
practice most angles will be "just outside" the 0-360 degree anyway.
And i also added a workaround for the "result is 360" case by just
setting it to 0.
2020-02-11 13:51:06 +01:00
Alexander Larsson
8fdb710c0f
gl: Don't require too large texture for offsreen ops
...
When rendering ops to an offscreen texture we take max-texture-size
in consideration and modify the scale we use such that the required
texture does not exceed the limit.
This means some rendering will be blocky/fuzzy, but that is better
than it being clipped.
2020-02-11 13:50:35 +01:00
Matthias Clasen
af98c46d04
Typo fix
2020-02-11 07:46:12 -05:00
Matthias Clasen
7ac2982617
Revert "Add the label-wrap-justify reftest to xfails"
...
This reverts commit 5e746d35b2 .
Turns out label-wrap-justify isn't failing in ci, and this is
now making ci fail :(
2020-02-11 07:44:01 -05:00
Timm Bäder
8561860aa1
css boxes: Compute inline box from border box
...
We can't just use the outline rect and apply the border radius because
the outline box is the border box grown by the outline offset, which
will also grow the resulting border radius.
Fixes #2425
2020-02-11 12:10:16 +01:00
Matthias Clasen
37a9d0620d
3.98.0
2020-02-10 15:32:19 -05:00
Matthias Clasen
5e746d35b2
Add the label-wrap-justify reftest to xfails
...
Seems just like the other label tests, down to details
of text rendering.
2020-02-10 15:19:13 -05:00
Matthias Clasen
d711ca3a67
Drop the toplevel-vs-popup reftest
...
Popups look different from toplevels. I don't think
a reftest that tries to prove otherwise has much
leg to stand on.
2020-02-10 15:15:05 -05:00
Matthias Clasen
564a43cd3a
Disable the buttons a11y test
...
The test fails because radio buttons are currently broken.
2020-02-10 15:06:56 -05:00
Matthias Clasen
17a5e9b2aa
Update expected test output
...
The a11y test for GtkAssistant produces different
output due to headerbar changes.
2020-02-10 15:03:47 -05:00
Matthias Clasen
c0dcaccf4b
calendar: Fix mismatches with GDateTime
...
GDatetime uses 1-based month and day numbers, whereas
GktCalendars are 0-based. Correct for this.
2020-02-10 14:59:40 -05:00
Matthias Clasen
11cd955591
Calendar: Make year/month/day writable again
...
Our a11y tests were relying on this.
2020-02-10 14:14:18 -05:00
Matthias Clasen
0677bfeb7f
testsuite: Update expected output
...
The output for combo boxes in a11y tests has changed
because they use popovers now.
2020-02-10 13:55:37 -05:00
Matthias Clasen
b38eb6eab4
Merge branch 'fix-gestures-test' into 'master'
...
Fix gestures test
See merge request GNOME/gtk!1406
2020-02-10 15:57:54 +00:00
Alexander Larsson
7d23b6dad5
Fix gestures test
...
This tests was testing gestures by faking an event in the
middle of a window that has a hbox with an expanding image in it.
For me (and I guess this depends on all sorts of issues like whether
CSD is enabled, font sizes, etc) the hbox ended up centered horizontally
but not vertically (probably because of csd at the top), so no events
ever hit the inner widgets.
This is fixed by emitting the events at allocation.x/y of the
hbox, which should contain both the hbox and the image (as it expands).
2020-02-10 16:24:03 +01:00
Matthias Clasen
e5e7dbf2a5
Merge branch 'fix-hidpi-popups' into 'master'
...
Fix popup placement on hidpi multi-monitor
See merge request GNOME/gtk!1405
2020-02-10 15:08:51 +00:00
Alexander Larsson
23211bcae8
hidpi: Rescan monitors when screen scale factor changes
...
All the code in e.g. init_randr15() divides the physical resolutions with
the screen scale, however if we get the screen scale from xsettings
rather than e.g. GDK_SCALE the initial setup is using the wrong value.
So, whenever the screen scale size is changed we need to trigger
a re-read of the randr data
2020-02-10 15:34:32 +01:00
Matthias Clasen
59b935af38
Merge branch 'mainloop-cleanup' into 'master'
...
Mainloop cleanup
See merge request GNOME/gtk!1404
2020-02-10 14:32:09 +00:00
Matthias Clasen
d0f5ce41aa
More updates
2020-02-10 08:13:23 -05:00
Alexander Larsson
1698369d52
Merge branch 'icon-theme-api-rework' into 'master'
...
Icon theme api rework
See merge request GNOME/gtk!1390
2020-02-10 12:45:56 +00:00
Alexander Larsson
96a4bb446c
Fix typo in GtkIconPaintable is-symbolic property
2020-02-10 13:30:57 +01:00
Alexander Larsson
ad0e901061
icon-theme: Add back and fix test for handling non-square icons
...
We test this by looking at the produced render nodes now that
we don't actualluy scale the icon. Also, it turns out that this
code was broken due to some typos, so we also fix those.
2020-02-10 13:17:15 +01:00
Alexander Larsson
ba781eca74
Expose gtk_icon_paintable_new_for_file
2020-02-10 13:17:15 +01:00
Alexander Larsson
8f1253ad26
GtkIconPaintable: Add properties for file, icon-name and is-symbolic
2020-02-10 13:17:05 +01:00
Matthias Clasen
e123fff545
Merge branch 'baselineoverlay' into 'master'
...
A baseline overlay
See merge request GNOME/gtk!840
2020-02-10 12:07:18 +00:00
Alexander Larsson
904eecd1ed
icon paintable: Replace get_filename and get_resource_path with get_file()
...
This returns a GFile which can represent both the above.
2020-02-10 12:33:17 +01:00
Alexander Larsson
344ad65031
Rename GTK_ICON_LOOKUP_LOAD_IN_THREAD to GTK_ICON_LOOKUP_PRELOAD
2020-02-10 11:43:47 +01:00
Alexander Larsson
14b3b684ef
icontheme: Always return some icon name in get_icon_name() for lookup results
...
If you called gtk_icon_theme_lookup(), then always return some useful
icon name from gtk_icon_paintable_get_icon_name(), even if we picked
an unthemed icon.
Also rewrite the gtk_icon_paintable_get_icon_name() docs to make this
clearer.
2020-02-10 11:40:00 +01:00
Matthias Clasen
9309153abc
Remove GTK_DEBUG=baselines
...
This has been reimplemented differently
in the inspector.
2020-02-10 00:10:43 -05:00
Matthias Clasen
643417dc32
widget: Stop embedding baseline debugging
...
The inspector has an overlay that achieves the
same, in a cleaner way.
2020-02-10 00:10:43 -05:00
Matthias Clasen
4a978dc8c4
inspector: Draw baselines as an overlay
2020-02-10 00:10:43 -05:00
Matthias Clasen
bc4637fff6
Remove unused includes
...
We eventually want to get rid of GtkSelectionData.
As a first step, stop including gtkselection.h unnecessarily.
2020-02-09 23:59:22 -05:00
Matthias Clasen
eec219e6c7
docs: Mention gtk_main in the migration guide
2020-02-09 23:13:13 -05:00
Matthias Clasen
a8db322be6
Drop gtk_get_main_thread
...
This is not a very useful api, and if you need it,
you can just as easily keep track yourself which thread
called gtk_init().
2020-02-09 23:13:13 -05:00
Matthias Clasen
4dd780a96b
Drop gtk_main and gtk_main_quit
...
The alternatives are to use GtkApplication,
or use GMainContext.
2020-02-09 23:13:13 -05:00
Matthias Clasen
4c22939dea
docs: Update an example
...
Don't use gtk_main() in the mainloop example.
It is going away.
2020-02-09 23:12:32 -05:00
Matthias Clasen
a6c5466900
Stop using gtk_main and gtk_main_quit
...
Replace these calls with direct use of GMainContext api.
2020-02-09 23:12:32 -05:00
Matthias Clasen
c789711652
Stop using gtk_main_quit
...
Stop using gtk_main and gtk_main_quit in tests and
examples. These APIs are on the way out.
2020-02-09 23:12:32 -05:00
Matthias Clasen
7eb889c7aa
Drop gtk_main_level
...
This api isn't useful without gtk_main, which is also
on the way out.
2020-02-09 23:12:32 -05:00
Matthias Clasen
49a6ad3dd1
Drop gtk_main_iteration
...
This function and its cousin, gtk_main_iteration_do, are
thin wrappers around GMainContext api that should just
be used directly.
2020-02-09 23:12:32 -05:00
Matthias Clasen
ebc720bfdb
Drop gtk_events_pending
...
This was just a thin wrapper around gtk_main_context_pending,
which should be used directly instead.
2020-02-09 23:11:49 -05:00
Matthias Clasen
24917ac353
tests: Stop using gtk_events_pending
...
Just use the GMainContext api directly.
2020-02-09 23:11:49 -05:00
Matthias Clasen
9eeeb631ca
win32 printing: Stop using gtk_events_pending
...
Just use the GMainContext API directly.
2020-02-09 23:11:49 -05:00
Matthias Clasen
07988fc17f
win32: One more build fix
2020-02-09 23:04:10 -05:00
Matthias Clasen
4f79676b0b
win32: Fix the build
2020-02-09 22:58:53 -05:00
Matthias Clasen
900ff743f1
Merge branch 'main-cleanup' into 'master'
...
Cleanup in gtkmain.h
See merge request GNOME/gtk!1403
2020-02-10 03:55:11 +00:00
Benjamin Otte
810f55c006
filechooser: Remove outdated hack
...
In GTK2, the filechooser was using a Paned, so switching between sidebar
and files list with the arrow keys didn't work (the slider would be
selected instead). So in
https://bugzilla.gnome.org/show_bug.cgi?id=161489 a crude hack was added
to make this possible.
Over the years the filechooser code has changed so that it now would do
this by default, yet the hack had been retained.
2020-02-09 16:54:38 -05:00
Benjamin Otte
fce37b137d
gdk: Make gdk_keyval_name() return a const char
...
The string is const, so return it like that.
2020-02-09 16:50:22 -05:00
Matthias Clasen
998384aa08
Remove unused include
2020-02-09 16:50:22 -05:00
Emmanuele Bassi
327441fa3e
cssprovider: Remove unused include
2020-02-09 16:50:22 -05:00
Matthias Clasen
b927609e21
Remove gtk_propagate_event from public API
...
This is not a function that can be safely called
outside of GTK.
2020-02-09 11:00:53 -05:00
Matthias Clasen
688f8bf085
Remove gtk_main_do_event from public API
2020-02-09 10:55:56 -05:00
Matthias Clasen
057f41532b
Remove gtk_main_do_event from the docs
2020-02-09 10:55:37 -05:00
Matthias Clasen
ebc24d75af
testsuite: Stop using gtk_main_do_event
...
Instead, emit ::event on the surface. Neither of
these is a proper test api, but one works as well
as the other.
2020-02-09 10:54:26 -05:00
Matthias Clasen
c1970009ff
docs: Remove more mentions of gtk_main_do_event
2020-02-09 10:45:33 -05:00
Matthias Clasen
8f0fc24516
docs: Remove a reference to gtk_main_do_event
...
It is not great to put a function in the public api and
document it as "do not call this" only so we can refer
to its docs in other places. Therefore, fold the docs
directly into the input handling overview chapter.
2020-02-09 10:38:01 -05:00
Matthias Clasen
ba825dce29
docs: Remove a mention of gtk_main_do_event
2020-02-09 10:37:24 -05:00
Matthias Clasen
c4b16f7424
css: Add a comment
...
All the other color values have this comment,
best to be consistent.
2020-02-09 10:23:27 -05:00
Matthias Clasen
cffff36436
Merge branch 'wip/baedert/remove-outline-properties' into 'master'
...
css: Remove outline border radius properties
Closes #2414
See merge request GNOME/gtk!1402
2020-02-09 15:03:44 +00:00
Matthias Clasen
7de5b391ab
gsk: Update docs sections
2020-02-08 19:40:56 -05:00
Matthias Clasen
0e15032635
gsk: Small documentation additions
2020-02-08 19:36:25 -05:00
Matthias Clasen
be2ba89900
Fix a doc comment
...
Signals take two colons.
2020-02-08 19:27:32 -05:00
Matthias Clasen
a824be2bb9
docs: Drop a few no longer existing symbols
2020-02-08 19:25:13 -05:00
Matthias Clasen
348dcaa4a3
docs: Update the switch thumbnail
...
Make the thumbnail for switches reflect the
current appearance of this widget.
2020-02-08 19:22:23 -05:00
Matthias Clasen
f240bcbbc4
emojichooser: Fix the docs
...
Make the emojichooser show up in the docs.
2020-02-08 19:21:57 -05:00
Matthias Clasen
621a427627
Fix the build with -Dgtk_doc=true
...
We need to export the emoji chooser symbols to
really make it public api.
2020-02-08 19:04:19 -05:00
Matthias Clasen
645f49cf2b
Fix build with -Dgtk_doc=true
...
Toolbars were removed, so don't try to create
thumbnails of them.
2020-02-08 19:02:46 -05:00
Timm Bäder
01ba11fc71
css: Remove outline border radius properties
...
These are always set to the same value as the corresponding border
radius properties. They are also non-standard, so remove them and
replace them with the border radius properties everywhere.
Fixes #2414
2020-02-08 20:43:16 +01:00
Matthias Clasen
f6b0e0e1c2
Merge branch 'avoid-mime-sniffing' into 'master'
...
Avoid mime sniffing where possible
See merge request GNOME/gtk!1400
2020-02-08 15:44:16 +00:00
Matthias Clasen
2f17ab3ce7
Avoid mime sniffing where possible
...
When we are loading symbolic pngs or svgs, we know
that we need to the png or svg loader, so there is
no need to go through (surprisingly expensive) mime
sniffing to find the right loader.
2020-02-08 10:22:54 -05:00
Matthias Clasen
55b60f6da9
gtk-demo: Don't call gtk_main_quit
...
It doesn't work with GtkApplications that do not
call gtk_main().
2020-02-07 16:25:02 -05:00
Matthias Clasen
1f74695758
Adwaita: Fix selection in vertical spin buttons
...
This was broken by more specific selectors.
2020-02-07 15:43:07 -05:00
Matthias Clasen
1ab70e2dfa
Merge branch 'patch-1' into 'master'
...
Update migrating-3to4.xml (fixed typo, in line 377)
See merge request GNOME/gtk!1398
2020-02-07 19:23:55 +00:00
J Arun Mani
3cbb3dc0f4
Update migrating-3to4.xml
2020-02-07 18:30:42 +00:00
Matthias Clasen
e3afb2fec8
label: Don't use gtk_widget_peek_style_context
...
We may just not have a style context. And we can just
as well go directly to the css styles.
2020-02-07 13:16:45 -05:00
Timm Bäder
d3857f8bd3
window: Move variable initialziation just before usage
2020-02-07 13:16:45 -05:00
Timm Bäder
655711fef2
Rename gtk_widget{get,set,has}_style_class to _css_class
...
We want to use css instead of style everywhere now.
2020-02-07 13:16:45 -05:00
Timm Bäder
69fa15981c
treepopover: Fix header guard
2020-02-07 13:16:32 -05:00
Timm Bäder
2a46d5960d
box: Move vfunc implementations before class_init
...
Just like we do everywhere else. This way we can also get rid of all the
prototypes.
2020-02-07 13:16:32 -05:00
Timm Bäder
b9b5cae6d2
calendar: Remove day-selected-double-click signal
...
It doesn't really make sense to treat double clicks here different than
single clicks (and is bad UX), and it also breaks switching months by
quickly trying to single-click the last/first days in the calendar.
2020-02-07 13:16:32 -05:00
Timm Bäder
3249756648
calendar: Remove an unused enum
2020-02-07 13:16:32 -05:00
Timm Bäder
8ef9009bde
calendar: Remove month-changed signal
...
Listen to notify::month instead.
2020-02-07 13:16:32 -05:00
Timm Bäder
093eac9441
calendar: Keep a GDateTime around
...
Instead of a year/month/day triple.
2020-02-07 13:16:32 -05:00
Timm Bäder
93c6f2256f
calendar: Return a GDateTime from get_date()
2020-02-07 13:16:32 -05:00
Timm Bäder
1151da5cf3
calendar: Use GDateTime to select days
2020-02-07 13:16:32 -05:00
Timm Bäder
a6f9052cf1
calendar: Use widgets for everything
2020-02-07 13:16:32 -05:00
Timm Bäder
a437162f6d
calendar: Try to avoid changing size when changing the year
2020-02-07 13:16:32 -05:00
Timm Bäder
9ecd448682
calendar: Remove spinning code
...
This is dead code
2020-02-07 13:16:32 -05:00
Timm Bäder
74cb1ca2f5
calendar: Add accessors for display properties
...
Instead of having a display flags enum and bitfield, just add proper
accessors for the properties, which is what we do everywhere else.
2020-02-07 13:16:32 -05:00
Timm Bäder
e94e703685
testcalendar: Remove unused function
2020-02-07 13:16:32 -05:00
Timm Bäder
4cceba06bc
calendar: Remove details
...
This is an unused feature that's way too complicated for a default
calendar widget and complicates the implementation a lot. Since we want
to eventually replace this with actual widgets, remove the details
support now.
2020-02-07 13:16:32 -05:00
Timm Bäder
ab84b17c1a
calendar: Fix an uninitialized value
...
Values pased to gtk_widget_measure must be initialized to 0. This failed
if the header widget of the calendar was invisible.
2020-02-07 13:16:32 -05:00
Timm Bäder
7fd06cacbd
Adwaita: Fix levelbar styling
...
The block nodes are inside a trough node.
2020-02-07 13:16:32 -05:00
Timm Bäder
b471158e38
{box,grid}layout: Access border spacing directly
...
Instead of going through the style context
2020-02-07 13:16:32 -05:00
Timm Bäder
8388791f87
GskTransform: Remove useless fmod check
...
All angles are in the [0; 360[ range
2020-02-07 13:16:32 -05:00
Timm Bäder
cbb05a3eab
GskTransform: add assertions to make normalize_angle() intentions clear
...
360deg should be expressed as 0deg and no angle should ever be
negative.
2020-02-07 13:16:32 -05:00
Timm Bäder
4cfac3b91c
snapshot: Remove new_with_parent
...
Unneeded now that we have push_collect()/pop_collect()
2020-02-07 13:16:32 -05:00
Timm Bäder
17ddae5bf9
textlayout: Use gtk_snapshot_{push,pop}_collect()
2020-02-07 13:16:32 -05:00
Timm Bäder
75ef8d8a50
GskRoundedRect: Inline graphene_rect_contains_rect
...
Brings gsk_rounded_rect_contains_rect down from 0.54% to 0.14% when
rendering rounded backgrounds.
2020-02-07 13:16:32 -05:00
Timm Bäder
47b8facca4
widget: Use gtk_snapshot_{push,pop})_collect
...
So we avoid allocating a new snapshot just for that.
2020-02-07 13:16:32 -05:00
Timm Bäder
bf8fb2c1a5
snapshot: Add _push_collect() and _pop_collect()
...
These will replace the previous gtk_snapshot_new_with_parent(), which
allocated an entirely new GObject just to push()/pop() some state. This
is already a problem but will be more important in the future as we
start using this more.
2020-02-07 13:16:32 -05:00
Timm Bäder
b7ee2cbc28
Start using GtkWidget's new style class API
2020-02-07 13:16:32 -05:00
Timm Bäder
b1d64a6b3a
renderborder: Make simple border case more obvious
...
When reaching this point, it is impossible that all border styles are
HIDDEN or NONE, but up to 3 of them can still be that style. In any
case, the "none or solid" border style is the most common on there is,
so try to make this simpler here by just appending a border node
directly instead of going through the snapshot_border path.
2020-02-07 13:15:59 -05:00
Timm Bäder
60095ade9b
Move GTK_BORDER_STYLE_HIDDEN before GTK_BORDER_STYLE_SOLID
...
The simple case when drawing border is "solid or nothing", which we can
now check for as simple as "style <= GTK_BORDER_STYE_SOLID".
2020-02-07 13:15:59 -05:00
Timm Bäder
3a727eed7a
testcalendar: Close window properly
2020-02-07 13:15:59 -05:00
Timm Bäder
64c6229f54
searchbar: Use proper getter in _get_property()
...
Instead of retuning a seemingly random boolean, just use
gtk_search_bar_get_search_mode().
2020-02-07 13:15:59 -05:00
Timm Bäder
60be37d63a
searchbar: Use g_object_notify_by_pspec
...
We already keep the pspecs around, so use them.
2020-02-07 13:15:59 -05:00
Timm Bäder
e044656d99
progressbar: Remove a few unneeded queue_resize() calls
...
This will happen automatically when adding style classes, setting the
label text, etc.
2020-02-07 13:15:59 -05:00
Timm Bäder
c0fef36692
Window: inline function into only caller
2020-02-07 13:15:59 -05:00
Timm Bäder
a67bd7a04e
widget: Fix a from_string/try_string mixup
2020-02-07 13:15:59 -05:00
Timm Bäder
e152d25ac0
widget: Speed up verify_invariants()
...
Hide the expensive GTK_IS_ROOT() checks behind the cheaper realized,
mapped, etc. checks. This way we only check for the widget being a root
if the invariant does not hold.
This gets pop_verify_invariants() from 16% to 6% when running the
scrolling benchmark in the widget-factory.
2020-02-07 13:15:59 -05:00
Timm Bäder
b561eb8299
widget: Remove verify_child_invariants
...
Just calls verify_invariants() anyway.
2020-02-07 13:15:59 -05:00
Piotr Drąg
6150344195
Update POTFILES.in
2020-02-07 17:27:16 +01:00
Alexander Larsson
24fede0225
GtkIconHelper: Trigger preload when css sizes is valid
...
When the css is validated we know the css size, so we can
create the paintable at that point, and we do so passing the
LOAD_IN_THREAD flag.
This causes us to load most icons early on, in parallel instead of
during the first snapshot.
2020-02-07 17:26:22 +01:00
Alexander Larsson
e27413a9ed
icon-theme: Add GTK_ICON_LOOKUP_LOAD_IN_THREAD flag
...
This causes lookup to trigger a thread that loads the icon texture.
2020-02-07 17:25:18 +01:00
Matthias Clasen
03317ec2ec
NEWS: Small additions
2020-02-07 09:17:51 -05:00
Matthias Clasen
1a671cfd63
flatpak: Build against the master runtime
...
This is what the ci is set up to use, and building
against 3.34 fails there.
2020-02-07 09:17:51 -05:00
Matthias Clasen
24e28309fb
Merge branch 'wip/otte/toolbar' into 'master'
...
remove GtkToolbar
See merge request GNOME/gtk!1383
2020-02-07 13:25:51 +00:00
Benjamin Otte
44e153d8a8
GtkToolbar: remove
2020-02-07 14:08:26 +01:00
Benjamin Otte
d72301b3c1
testsuite: Get rid of GtkToolbar
...
Just use GtkBox instead
2020-02-07 14:08:08 +01:00
Benjamin Otte
e00030dff2
css: Remove .primary-toolbar
...
It's not used anywhere anymore.
2020-02-07 14:08:08 +01:00
Benjamin Otte
9cccb944ef
css: Remove .inline-toolbar
...
It's not used anywhere anymore.
2020-02-07 14:08:08 +01:00
Benjamin Otte
1363cacb3a
widget-factory: Get rid of toolbars
2020-02-07 14:08:08 +01:00
Benjamin Otte
68dbb3f31a
gtk-demo: Get rid of toolbars
2020-02-07 14:08:08 +01:00
Benjamin Otte
8a60f5dc78
bloatpad: Use a box, not a toolbar
2020-02-07 14:08:08 +01:00
Benjamin Otte
3d9e622fda
print: Don't use a toolbar in the custom paper dialog
...
Use a regular linked box instead.
2020-02-07 14:08:08 +01:00
Benjamin Otte
645af0917c
cssnode: Remove leftover vfunc
2020-02-07 14:06:20 +01:00
Matthias Clasen
c247e7680b
Remove accidentally added files
2020-02-07 08:05:45 -05:00
Matthias Clasen
1da23b0c21
Add a forgotten word
2020-02-07 07:59:14 -05:00
Matthias Clasen
de299bb6bf
Fix syntax
2020-02-07 07:50:02 -05:00
Matthias Clasen
65cc8305c9
Updates for 3.98
2020-02-07 07:48:30 -05:00
Alexander Larsson
bdbafe63f9
icontheme: Optimize memory use and lookup speed by internalizing icon names
...
Instead of having the IconTheme have a hashtable that owns
individual strings and then IconThemeDirSize have a similar
hash (but with the strings owned by the other hash), we
have a consecutive memory chunks where we store the icon names
and then the hashtable has pointers into this.
This means we can avoid a bunch of individual strdup()s in a
way that is less fragmented and wastes less space. Additionally,
since we do an initial lookup anyway we have the internalized
icon name during lookup which means we can use g_direct_hash/equal
instead of g_str_hash/equal making the lookup faster too.
2020-02-07 12:00:52 +01:00
Alexander Larsson
2be29f982d
Remove stray space
2020-02-07 08:44:46 +01:00
Alexander Larsson
79699cc20d
Use G_OBJECT_TYPE_NAME instead of g_type_name_from_instance
2020-02-07 08:44:29 +01:00
Matthias Clasen
c7ab02d38c
Merge branch 'wip/carlosg/implicit-grabs-on-leave' into 'master'
...
Handle implicit grabs on leave events
Closes #13
See merge request GNOME/gtk!1397
2020-02-07 07:06:45 +00:00
Carlos Garnacho
e67f0bfcfd
gtkmain: Wait for GDK_CROSSING_UNGRAB leave event with implicit grabs
...
If there is a passive grab and the pointer leaves the window we would
receive a GDK_CROSSING_NORMAL event when the pointer moves outside
the window, and a GDK_CROSSING_UNGRAB event when we do release the
button and the implicit grab.
We currently would react to the first, but want to react to the
second. In the time between both events, the client would still receive
pointer motion that will reach the implicitly grabbed widget.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/13
2020-02-07 01:02:47 +01:00
Carlos Garnacho
56dc99a9fb
gtkroot: Make enum a typedef
...
Seems a typo, and prevents building as GtkRootProperties is deemed
to be defined multiple times.
2020-02-07 01:00:52 +01:00
Matthias Clasen
cf69b7d4c2
Merge branch 'a11y-fixes' into 'master'
...
A11y fixes
See merge request GNOME/gtk!1396
2020-02-06 23:54:39 +00:00
Matthias Clasen
e45b668e04
testsuite: Misc. updates of expected output
...
The a11y dumps for action and header bars
have changed in harmless ways.
2020-02-06 18:04:36 -05:00
Matthias Clasen
769dae2c71
infobar: Implement forall
...
As a container, that is what you have to do.
2020-02-06 18:04:36 -05:00
Matthias Clasen
048effdc5a
testsuite: Clean up a11y menu tests
...
We don't need some of the tests anymore, since
we just have popovers now.
2020-02-06 17:21:06 -05:00
Matthias Clasen
b916723baf
testsuite: Improve --generate support
...
When using the test binary to generate expected
output, don't initialize the test machinery, since
that pollutes the output with noise.
2020-02-06 16:54:59 -05:00
Matthias Clasen
2dba92fd0c
tests: Fix infobars in ui files
...
GtkInfoBar no longer exposes the content_area
as internal child.
2020-02-06 16:54:59 -05:00
Matthias Clasen
a11b1bd08e
testsuite: Update expected output
2020-02-06 16:54:59 -05:00
Matthias Clasen
bc682bef74
colorchooser: Use a composite accessible
...
This makes the content show up in the a11y tree again.
2020-02-06 16:54:59 -05:00
Matthias Clasen
580384e962
tests: Update expected output
...
The stackswitcher is no longer a box, so it doesn't
have the horizontal state anymore.
2020-02-06 16:54:59 -05:00
Matthias Clasen
18965eec83
testsuite: Update some a11y tests
...
GtkMenuButton::use-popover no longer exists, remove it
from test files.
2020-02-06 16:54:59 -05:00
Matthias Clasen
145ccfe1c4
stackswitcher: Use a composite accessible
...
This makes the buttons show up in the a11y tree again.
2020-02-06 16:54:59 -05:00
Matthias Clasen
d01070d472
a11y: Add an accessible for widgets with children
...
We've started to turns containers into widgets which
just happen to have children, and some of these need
to be exposed to the a11y stack.
This adds a very minimal implementation, it does not
currently emit change notification when children are
added or removed.
2020-02-06 16:54:59 -05:00
Matthias Clasen
b3f5243aeb
a11y: Report children of widgets
...
We want children of composite accessibles to be
reported.
2020-02-06 16:54:59 -05:00
Matthias Clasen
20aec5a744
Merge branch 'flatpak-build-sassc' into 'master'
...
Flatpak build sassc
See merge request GNOME/gtk!1392
2020-02-06 20:09:29 +00:00
Matthias Clasen
4a2d539251
Build sassc as a dependency for flatpaks
...
Downloading the subproject during the GTK build fails
in a flatpak build due to lack of network access.
flatpak-builder insists on having these things explicitly
spelled out as dependencies.
2020-02-06 14:30:31 -05:00
Alexander Larsson
a772bf7517
Add gtk_icon_paintable_get_resource_path()
...
Also, return NULL from gtk_icon_paintable_get_filename() if the path
is really a resource path.
2020-02-06 17:47:57 +01:00
Alexander Larsson
57ecb2829a
Add gtk_icon_paintable_get_icon_name()
...
This allows you to see which icon was actually chosen.
2020-02-06 17:47:57 +01:00
Alexander Larsson
d45d604df1
Remove gtk_icon_paintable_download_texture() public API
...
This allows us do do what we want internally, and anyway it didn't
really do what you'd expect anymore now that we do resizing during
rendering.
2020-02-06 17:47:57 +01:00
Alexander Larsson
6317fd3529
Replace last users of gtk_icon_paintable_download_texture ()
...
These now render the paintable to a cairo surface and convert that
to a texture. This is sort of a hack, but its only used in two
special cases internally and in two hacky test apps.
2020-02-06 17:47:56 +01:00
Alexander Larsson
8282698201
textview: Use paintables instead of textures, and fix the support
...
This changes gtk_text_buffer_insert_texture() to
gtk_text_buffer_insert_paintable() which is strictly more useful
(as textures are paintables). It also fixes the code to actually
support drawing the paintables (as well as tracking changes
to the paintables.
2020-02-06 17:47:56 +01:00
Alexander Larsson
fcc3c12919
gtk_css_style_snapshot_icon_paintable: Fix uninitialized memory access
...
We were reading the foreground color alpha even when we didn't read it.
2020-02-06 17:47:56 +01:00
Alexander Larsson
7c73f2fb02
GskPango: Allow specifying a custom shape snapshot handler
...
We will need this for GtkTextView to render the textures in it.
2020-02-06 17:47:56 +01:00
Alexander Larsson
6ff9f2198d
GtkBuilder: Directly load the fallback missing image
...
No need for all this complexity with the icon theme, especially when
its now a lot more work to get the texture back. We can just load
the pixbuf.
2020-02-06 17:47:56 +01:00
Alexander Larsson
1c253f5dfa
icontheme: Move IMAGE_MISSING_RESOURCE_PATH to (private) header
...
This way other code can use this resource too for fallbacks, avoing
having to go through the icon theme.
2020-02-06 17:47:56 +01:00
Alexander Larsson
a0533923fb
icontheme: Handle GEmblemIcon in lookup_by_gicon()
2020-02-06 17:47:52 +01:00
Matthias Clasen
5c594fc46a
Merge branch 'WindowsPrintDriverPreferencesMaster' into 'master'
...
Fixed bug that prevented GTK from storing printer driver preferences in the…
See merge request GNOME/gtk!397
2020-02-06 13:07:13 +00:00
Matthias Clasen
b6e2699409
notebook: Update arrows when text direction changes
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/103
2020-02-06 07:13:10 -05:00
Alexander Larsson
8788c76bd9
icon theme: Also never fail in gtk_icon_theme_lookup_by_gicon()
...
Similar to regular lookups, if the icon is some unknown type we return
a missing-image.
2020-02-06 10:26:15 +01:00
Alexander Larsson
6865744034
Remove unnecessary image-missing fallbacks
...
We now always return something from icon theme lookups, so no need to
do custom fallbacks.
2020-02-06 09:50:04 +01:00
Alexander Larsson
de02769a2f
icon-theme: Don't pre-scale pixbufs in gtk_icon_theme_lookup_by_gicon
...
We do scaling during rendering now anyway.
2020-02-06 09:45:03 +01:00
Alexander Larsson
d69f7fd63e
IconTheme: Never fail a lookup or icon load
...
If icon lookup fails or if loading it fails later, just always
fall back to the built in image-missing icon. Nobody is handling
missing icons in a sane way anyway.
If you *truly* need to handle missing icons, you need to manually
use gtk_icon_theme_has_icon().
While changing the loading code I also fixed an issue where it
was always passing "png" to pixbuf, now it also handles "xpm" if
that is the filename suffix.
2020-02-06 09:38:25 +01:00
Alexander Larsson
adccd1391e
Support aspect=TRUE in _gdk_pixbuf_new_from_stream_at_scale
...
The icon theme test failed without this, and we *should* handle
it if we're accepting the argument.
2020-02-06 09:38:25 +01:00
Alexander Larsson
b529f77827
IconTheme: Simplify icon scaling
...
We had a pretty complex setup where we tried to avoid scaling up themes from dirs
that specified a size. However, not only was it very complex, but it didn't quite
work with window scales, because when using e.g. a size 32 directory for 16@2x
the dir size is wrong anyway. Additionally it turns out most code either picks
an existing icon size, or uses the FORCE_SIZE flags, so it doesn't seem
like a useful behaviour.
This change drops the FORCE_SIZE flags, and always scales
icons. Additionally it moves the scaling of the icon to rendering,
which seems more modern, and allows us to (later) share icons loaded
for different sizes that happened to use the same source file (at
different scales).
Note that this changes the behaviour of
gtk_icon_paintable_download_texture() is it now returns the unscaled
source icon. However, ignore thats, as I plan to remove this function
and replace it with a way to render a paintable to a cairo-surface
instead.
2020-02-06 09:38:25 +01:00
Alexander Larsson
021aaef824
GtkIconPaintable: Always recolor when snapshotting.
...
It never makes sense to paint a texture that needs recoloring. If
you call the regular snapshot on a symbolic texture we just use the
default recoloring colors.
To support this we also change gtk_css_style_snapshot_icon_paintable()
to call gtk_icon_paintable_snapshot_with_colors() for IconPaintables
so that we get the correct colors, and we make it not emit the color
matrix.
Since we now rely on the icon to do the recoloring we also drop the
recolor argument in gtk_icon_paintable_snapshot_with_colors() as its
not needed anymore.
2020-02-06 09:38:25 +01:00
Alexander Larsson
c691399a80
icontheme: Align function arguments
2020-02-06 09:38:25 +01:00
Matthias Clasen
2f369b6d7a
Merge branch 'kill-simple-search' into 'master'
...
Remove simple search engine
See merge request GNOME/gtk!1393
2020-02-06 06:38:17 +00:00
Matthias Clasen
8703c7b7ac
Merge branch 'better-test-isolation-2' into 'master'
...
Better test isolation
See merge request GNOME/gtk!1391
2020-02-06 04:53:07 +00:00
Matthias Clasen
e41e8072b1
css tests: Ignore ".csd" vs ".solid-csd"
...
It it hard to control which of the csd style classes we get,
since it depends on details of the X server or compositor.
Explicitly ignore this difference by replacing .solid-csd
with .csd in the output.
2020-02-05 23:35:39 -05:00
Matthias Clasen
d1bd1270c9
testsuite: Make tests run without a11y bus
...
Not having an a11y bus around causes warnings from
at-spi, which make tests fail. Explicitly ignore those
warnings.
2020-02-05 22:24:39 -05:00
Matthias Clasen
34cc68003c
testsuite: Fix bloomfilter style tests
...
The results were expecting solid-csd, which is not what
we usually have.
2020-02-05 22:23:52 -05:00
Matthias Clasen
ac7dd02f8f
Merge branch 'master.msvc' into 'master'
...
Fix building recent GTK master on Visual Studio
See merge request GNOME/gtk!1369
2020-02-05 18:26:22 +00:00
Matthias Clasen
9746b728ca
Merge branch 'public-emojichooser' into 'master'
...
emojichooser: Make public
See merge request GNOME/gtk!1382
2020-02-05 18:04:42 +00:00
Benjamin Otte
0ad791277a
Merge branch 'wip/otte/css' into 'master'
...
Some CSS cleanup
See merge request GNOME/gtk!1389
2020-02-05 14:04:12 +00:00
Matthias Clasen
54f6515005
emojichooser: Add profiler marks for loading
...
This is a long-running operation, and worth showing
in traces.
2020-02-05 06:28:39 -05:00
Matthias Clasen
25c25ba5c1
icontheme: Fix various memory leaks
...
Tasks need to be unreffed too.
2020-02-05 06:28:39 -05:00
Matthias Clasen
fac435ba98
widget: Fix a memory leak with class actions
...
This code was doing the wrong thing even if the parent class
doesn't have actions.
2020-02-05 06:28:39 -05:00
Matthias Clasen
b996b85504
Add a lib64 variant of gtk.supp
2020-02-05 06:28:39 -05:00
Matthias Clasen
1cb575a138
icontheme: Remove some dead code
2020-02-05 06:28:39 -05:00
Matthias Clasen
9a446f2041
frameclock: cosmetics
...
Redo the profiler marks for the frame clock signals
to look more uniform.
2020-02-05 06:28:39 -05:00
Matthias Clasen
9e6ae7acd8
gdk: Silence some compiler warnings
...
These cause unused variable warnings in release builds.
2020-02-05 06:28:39 -05:00
Matthias Clasen
955305a034
treestore: Silence compiler warnings
...
This was causing compiler warnings in release builds.
2020-02-05 01:01:47 -05:00
Matthias Clasen
b1d5de78e1
notebook: Don't trigger criticals in dispose
...
When we dismantle our children in dispose, we
trigger a11y children-changed signals which end
up calling back into the notebook. Handle this
without critical warnings.
2020-02-05 01:01:47 -05:00
Matthias Clasen
47c21a255f
textview: Don't update action state in dispose
...
Only update the action state when we have a text buffer,
there is no need to do it otherwise, since we are going
to get a buffer before we get shown. This avoids triggering
the action state updates from finalize, which is a bad
time to be recreating the action muxer.
2020-02-05 01:01:47 -05:00
Matthias Clasen
005ea7a09d
entry: Avoid criticals in dispose
...
The accessible gets properties of the entry, and
resetting the entry icons triggers accessible change
notification, so do that before we dismantle the entry
too far to respond to a g_object_get () call.
2020-02-05 01:01:47 -05:00
Matthias Clasen
ed6c0dc15c
Don't export color picker functions
...
This is not public API, so it shouldn't be exported.
2020-02-05 01:01:47 -05:00
Matthias Clasen
1e6171a4a7
Read bookmarks async
...
Do not block the main thread while reading the bookmarks file.
This speeds up initial setup of a GtkPlacesSidebar.
2020-02-05 01:01:47 -05:00
Matthias Clasen
85ad943832
placessidebar: Change some initial property values
...
Giving these properties the initial value that the file
chooser wants for them avoids some calls to update_places
in the setup code.
2020-02-05 01:01:47 -05:00
Matthias Clasen
b7b251019e
testperf: More flexible mark selection
...
Allow selecting marks not just by their name, but
also by the message detail.
2020-02-05 00:46:47 -05:00
Matthias Clasen
ed742f1d6c
testperf: Allow measuring start time
...
This can be used e.g. to measure how long it takes us
to get the first frame on screen.
2020-02-05 00:46:39 -05:00
Benjamin Otte
fcb08a28bf
stylecontext: Remove unused typedef
2020-02-05 04:03:43 +01:00
Timm Bäder
b75d408d6d
css: Make some local variables const
2020-02-05 04:03:43 +01:00
Timm Bäder
98b42f6740
css: Remove unused function
2020-02-05 04:03:43 +01:00
Timm Bäder
416182a20d
style context: Remove parent relationship
...
We don't have foreign drawing anymore, so we don't need this.
2020-02-05 04:03:43 +01:00
Benjamin Otte
31713ab5ef
stylecontext: Remove gtk_style_context_new()
...
It's private now, no more foreign drawing of any sort.
To be fair, it was entirely useless without widget paths already.
2020-02-05 04:03:43 +01:00
Benjamin Otte
b9c880f58d
testsuite: Remove the stylecontext test
...
Stylecontexts are on their way out and I'm removing API that the
testsuite was relying on, so remove the tests.
Put the useful parts of the tests elsewhere.
2020-02-05 04:03:43 +01:00
Benjamin Otte
db9730b734
stylecontext: Remove the "changed" signal
...
Instead, always go directly to the GtkWidget::css_changed() call.
2020-02-05 04:03:43 +01:00
Benjamin Otte
546a748cd8
widget: Replace style-updated signal with css_changed vfunc
...
1. Rename the thing
2. Turn it from a signal to a vfunc
3. Pass the GtkCssStyleChange to it
We don't export any public API about the GtkCssStyleChange yet, it's
just a boring opaque struct.
2020-02-05 02:46:13 +01:00
Benjamin Otte
8722837e67
pathbar: Remove unneeded code
...
The icons here are GIcons, they don't depend on the theme.
2020-02-05 00:18:41 +01:00
Benjamin Otte
3177ac4270
cssnode: Remove redundant check
...
We assert that cssnode->parent is NULL, no need to check it again.
2020-02-04 23:24:50 +01:00
Benjamin Otte
3f7e409428
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!1388
2020-02-04 17:48:58 +00:00
Timm Bäder
903af75fa1
widget: Skip not-drawable widgets in snapshot_child
...
Otherwise we transform the snapshot just to not do anything.
2020-02-04 17:53:15 +01:00
Matthias Clasen
6640881711
maplistmodel: Add an example to the docs
2020-02-04 17:51:01 +01:00
Matthias Clasen
3bb8b56ab3
treelistmodel: Small documentation tweaks
2020-02-04 17:51:01 +01:00
Benjamin Otte
a1635719fc
widgetfocus: Remove unnecessary check
...
Mapped widgets are always realized.
2020-02-04 17:51:01 +01:00
Benjamin Otte
3cb150abbe
widget: Remove _gtk_widget_is_drawable()
...
Use _gtk_widget_get_mapped() instead.
Drawable checked visible && mapped and mapped widgets are always
visible, so that was an unnecessary check.
2020-02-04 17:51:01 +01:00
Benjamin Otte
cc22987b1b
Merge branch 'wip/otte/icontheme' into 'master'
...
Do simple icontheme API cleanups
See merge request GNOME/gtk!1378
2020-02-04 16:36:46 +00:00
Alexander Larsson
410541f82b
Rename GtkIcon to GtkIconPaintable
2020-02-04 17:19:22 +01:00
Benjamin Otte
c91be540c3
tooltip: Don't css-validate
...
That's a job for toplevels now.
See 17ca95a161 for the same comit on
popovers.
2020-02-04 17:19:04 +01:00
Benjamin Otte
138de60ab2
icontheme: Remove GENERIC_FALLBACKS
...
Instead, rely on people passing fallbacks explicitly.
Alternatively, GThemedIcon provides the functionality to create
fallbacks, which is what GtkImage and the testsuite now use.
That method is slightly better, too, so the expected test results
have been updated accordingly.
2020-02-04 16:51:54 +01:00
Benjamin Otte
571021cbc1
icontheme: Pass fallbacks as optional argument to lookup_icon()
...
This way, we can remove gtk_icon_theme_choose_icon() completely.
2020-02-04 16:51:54 +01:00
Benjamin Otte
f7a5dd7b8b
icontheme: Remove contexts
...
There is no way to query contexts or do anything useful with them.
So don't keep track of them and don't make them an argument in public
APIs with the docs saying "I don't know what to use here, maybe read
some spec somewhere".
2020-02-04 16:51:54 +01:00
Benjamin Otte
544cd1acfc
icontheme: Clean up includes
2020-02-04 16:43:59 +01:00
Benjamin Otte
4b96ba592f
icontheme: Remove gtk_icon_get_base_size() and gtk_icon_get_base_dir()
...
Those functions are unused and the documentation says "Returns some
random number that the icon theme creator chose" which does not seem at
all useful and an implementation detail.
So get rid of it.
2020-02-04 16:43:59 +01:00
Benjamin Otte
7e8d8218b9
Revert "Break out cairo color matrix recoloring to gdk_cairo_image_surface_recolor()"
...
We're not in the business of adding Cairo APIs. That's Cairo's job.
Also, we don't need this API anywhere like the original commit claimed,
so there's no need to make it available in any way.
This reverts commit afa6cc2369 .
2020-02-04 16:43:59 +01:00
Benjamin Otte
3bba52ed67
icontheme: Remove crayon APIs
...
We expose no API to get at any colors for drawing symbolics, so we
shouldn't have APIs to draw with them.
Apart from that, those APIs look like a box of crayons, not like an
icontheme.
2020-02-04 16:43:59 +01:00
Benjamin Otte
48b9791989
icontheme: Remove gtk_icon_theme_rescan_if_needed()
...
If the icon theme needs to be rescanned, it should just do it.
If it doesn't, there's no need for this function.
Ergo: Don't have the function.
2020-02-04 16:43:59 +01:00
Benjamin Otte
4c3363b8c2
icontheme: Remove NO_SVG and FORCE_SVG flags
...
If the icon theme loads SVGs or not is an implementation detail and
should not be exposed in public API.
2020-02-04 16:41:36 +01:00
Benjamin Otte
10023b5d6d
icontheme: Remove GTK_ICON_LOOKUP_USE_BUILTIN
...
It's unused.
2020-02-04 16:41:36 +01:00
Benjamin Otte
bbbe39fb44
icontheme: Make text direction a lookup argument
...
Most users were just forgetting to set the proper flags.
And flags aren't the right way to set this anyway, it was just
acceptable as a workaround during GTK3 to not break API.
2020-02-04 16:41:36 +01:00
Benjamin Otte
b713b9f68d
icontheme: Remove async APIs
...
Widgets would not use them properly. In fact, the only user was using
them wrong.
As icons are loaded async by default, this call isn't necessary.
2020-02-04 16:41:36 +01:00
Benjamin Otte
bfebc2b01a
icontheme: Remove gtk_icon_theme_get_default()
...
The API encouraged wrong usage - most of the users were indeed wrong.
Use the correct version instead:
gtk_icon_theme_get_for_display (gtk_widget_get_display ())
2020-02-04 16:41:36 +01:00
Alexander Larsson
a1856c30d9
a11y tests: Ignore "active" flag on toplevel
...
All the a11y tests were failing for me with a window state diff
like this:
- state: active enabled resizable sensitive showing visible
+ state: enabled resizable sensitive showing visible
I guess the windows in the CI always gets the focus, but not when
I run it here. Generally focus seems asynchronous and hard to rely
on so I just made the test ignore the active state on toplevels.
2020-02-04 15:01:48 +01:00
Alexander Larsson
008eb04125
tests: Initialize dbus before gtk
...
These days initilizing gtk may create a connection to the sesson bus,
so we have to initialize GTestDBus before initalizing gtk, or we'll
use the address of the "real" session bus (and remember that in the
global).
To further muck things up, g_test_dbus_up() resets important env
vars like DISPLAY and XDG_RUNTIME_DIR, which we have to re-set.
2020-02-04 14:13:33 +01:00
Alexander Larsson
85e59220a5
filechooser portal: Free portal proxy when bus connection closes
...
This was blocking the clean exit from the testdbus shutdown in
the defaultvalues test. The proxy was keeping the connection alive
which blocks g_test_dbus_down().
2020-02-04 14:08:10 +01:00
Matthias Clasen
b8ffe5b245
css: Fix the initial values optimization
...
Fix up the index computation. We have duplicate entries
in the type enum, so to go from one of the 'initial' types
to it corresponding type you subtract one, but to find
the size array entry for a type, you divide by 2.
2020-02-04 12:19:23 +01:00
Matthias Clasen
4685fe1716
Merge branch 'faster-theme-lookup' into 'master'
...
Faster icon theme lookup
See merge request GNOME/gtk!1381
2020-02-04 10:51:27 +00:00
Alexander Larsson
046de4ccbf
icon-theme: Only have one copy of the icon flags enum
...
It turns out with the icon cache now using the virtual SYMBOLIC_PNG_SUFFIX
flag the two enums are now identical, so lets just use one of them, the
one GtkIconCache (so we move it to the header).
2020-02-04 09:35:20 +01:00
Alexander Larsson
a3be0ec5f0
Don't use xsettings or xft defaults in testsuite
...
This adds a GDK_DEBUG=default-settings flag which disables reads
from xsettings and Xft resources, and enables this for the testsuite.
This is one less way to get different testresults depending on the
environment. In particular, it was failing the css tests for me
due to getting the wrong font size because i have a different dpi.
2020-02-03 15:11:35 +01:00
Matthias Clasen
ef7172dc1e
emojichooser: Make public
...
This is a useful widget to have, and it has minimal api.
Not having it public forces apps to recreate a lot of
complicated machinery for not good reason, if they need
an Emoji chooser in a different context.
2020-02-03 12:49:36 +01:00
Alexander Larsson
308d434b57
GtkIconCache: Remove unused code
...
We're not really using the icon theme cache much anymore, as the
individual per-directory hashes are no longer used, so delete all the
unused code.
2020-02-03 12:49:32 +01:00
Alexander Larsson
e4170661b9
IconTheme: Make icon lookups faster
...
Traditionally the icon lookup for a theme has been:
lookup (icon_name, size):
best_directory = NULL
forearch theme
foreach directory in theme
if dir_size_matches (directory, size) && dir_has_icon (directory, icon-name)
best_directory = chose_best_size_dir (best_directory, directory)
if best_directory
return icon from best_directory
However, it turns out that there are a lot of subdirectories which have the same
size, as they differ only in the (essentially useless) "context" value. For example
the "16x16/apps" subdirectory is essentially the same as the "16x16/actions" one.
So, instead rathern than keeping all the directories as separate we store the
all the directories with the same size as a single entity (DirSize) and the
icon lookup in that DirSize looks up not only which suffix to use for that icon
but also which subdir it is in.
Additionally we keep a hashtable with all icon names that are
available in the entire theme (i.e. all DirSizes), which allows use
both to store each icon name only once, but also to do a quick
negative lookup and early exit in case we're looking up an icon that
doesn't exist. This is pretty common because we often look up sets of
icons like "image-png-symbolic", "image-png", "image", expecting some
to fail.
This brings down the time of the initial css validation from 20msec to 15msec for
me when running icon-factory.
2020-02-03 12:49:26 +01:00
Alexander Larsson
0a8d7603ea
icon-cache: Add new function to list all the icons in a directory
...
This lists the icons in a particular director, with their flags in a
hashtable. We also convert from "icon.symbolic" + SUFFIX_PNG to
"icon" + SUFFIX_SYMBOLIC_PNG.
2020-02-03 12:49:26 +01:00
Chun-wei Fan
f8d3845b1a
meson/MSVC builds: Use -utf-8 where available
...
This avoids the build from erroring out on C4819 (Unicode handling issue in
Visual Studio compiler), notably when running on Chinese, Japanese and
Korean locales.
Also apply -D_USE_MATH_DEFINES, -FImsvc_recommended_pragmas.h and -utf-8 to
the C++ compiler options as well.
2020-02-03 17:55:09 +08:00
Rico Tzschichholz
4ab12ab755
Remove last GtkWidgetPath reference
...
See 49b47c9133
2020-02-03 10:51:50 +01:00
Chun-wei Fan
69ed4c90e5
demos/widget-factory/widget-factory.c: Include stdlib.h
...
Include it for exit().
2020-02-03 17:18:36 +08:00
Chun-wei Fan
f2915180a6
tests/testdnd2.c: Don't include unistd.h unconditionally
...
Instead, on Windows when it is not available, include io.h for close()
2020-02-03 17:18:36 +08:00
Matthias Clasen
e7f2833703
Merge branch 'wip/muktupavels/update-documentation' into 'master'
...
display-x11: don't mention gdk_monitor_is_primary in the docs
See merge request GNOME/gtk!1380
2020-02-03 08:15:30 +00:00
Alberts Muktupāvels
66af531ff3
display-x11: don't mention gdk_monitor_is_primary in the docs
...
https://gitlab.gnome.org/GNOME/gtk/merge_requests/1371#note_699272
2020-02-02 19:18:22 +02:00
Matthias Clasen
621120d1d3
css: Fix an oversight in style change computation
...
Take the 'color == NULL means currentColor' trick into account
when computing the changes between two styles.
2020-02-02 16:41:14 +01:00
Matthias Clasen
f84fdfc0c1
Merge branch 'sigma' into 'master'
...
gdk: Handle small final sigma in gdk_keyval_convert_case
See merge request GNOME/gtk!1351
2020-02-02 12:04:09 +00:00
Matthias Clasen
27223f7956
Merge branch 'initial-style' into 'master'
...
Make it easy to recognize initial style values
See merge request GNOME/gtk!1375
2020-02-01 12:52:44 +00:00
Matthias Clasen
5faf977f66
border: Don't render initial borders
...
Add a fast exist for comon case that the border
values are unset.
2020-02-01 09:12:12 +01:00
Matthias Clasen
7fbb37a09f
background: Don't render initial backgrounds
...
Add a fast exit for the common case that the background
values are unset.
2020-02-01 09:11:39 +01:00
Matthias Clasen
7027fc9ab6
Make it easy to recognize initial style values
...
Reuse the type field in GtkCssValues to make initial
style values easily recognizable.
2020-02-01 09:11:22 +01:00
Matthias Clasen
7479564972
modelbutton: Update a11y states
...
We took care to set the proper role on our accessible object,
but we forgot to update the state for check and radio button
roles.
2020-01-31 19:14:05 +01:00
Matthias Clasen
09612a1b3c
filechooser: Remove debug spew
2020-01-31 16:55:01 +01:00
Matthias Clasen
79c8a16b8d
Remove simple search engine
2020-01-31 16:52:27 +01:00
Matthias Clasen
6104c12392
Build fix for GtkCssValues
2020-01-31 11:40:06 +01:00
Jor Teron
0c5ba00d59
Update Karbi translation
2020-01-31 10:15:03 +00:00
Daniel Mustieles
9f55377b69
Updated Spanish translation
2020-01-31 09:09:43 +01:00
Matthias Clasen
f140b151e1
Merge branch 'meson-sassc-subproject' into 'master'
...
build: require sassc and drop generated .css files
See merge request GNOME/gtk!814
2020-01-31 07:26:48 +00:00
Matthias Clasen
c91c4b60e7
Merge branch 'kill-primary-monitor-2' into 'master'
...
Remove primary monitor api
See merge request GNOME/gtk!1371
2020-01-30 20:51:07 +00:00
Matthias Clasen
a46f9af1c0
Remove primary monitor api
...
We only have implementations of this on X11 and Win32,
so make it available as backend api there.
Update all callers to use either the backend api, or
just monitor 0.
2020-01-30 21:33:37 +01:00
Christoph Reiter
4071e1e734
build: require sassc and drop generated .css files
...
Instead of requiring sassc to be installed add meson subprojects
which build libsass and sassc (currently both forks of mine, tested
under linux/mingw/msvc) when needed.
This allows us to drop the generated .css files and build scripts from git.
See #1502
2020-01-30 20:45:38 +01:00
Alexander Larsson
99c89d61e1
Merge branch 'icon-theme-rework' into 'master'
...
Rework icon themes
See merge request GNOME/gtk!1368
2020-01-30 17:30:10 +00:00
Alexander Larsson
09ef67afbc
icon-theme: Add icon theme name in profiler mark
2020-01-30 18:22:11 +01:00
Alexander Larsson
d478ae1ef5
icon-theme: Avoid reentrancy issues while loading icon theme
...
In gtk_icon_theme_get_for_display() we were calling
gtk_icon_theme_set_display() which eventually (via the css machinery)
called back into gtk_icon_theme_get_for_display() which created a
second icon theme. We avoid this by setting the user-data earlier so
that the css machinery gets back the currently initializing theme
instead.
2020-01-30 18:19:56 +01:00
Alexander Larsson
b67d582230
GtkIconHelper: Preload icons for mapped widgets with higher priority
...
We look at whether a widget will be mapped (the actual state is not
yet set, so we can't rely on that at css validation time) and use
that to set the i/o priority of the async task.
This means that its likely that widgets that will be displayed soon
are loaded before those that are not yet going to be needed.
2020-01-30 15:41:24 +01:00
Alexander Larsson
498ab6ac6c
IconHelper: Only preload icons once
...
This limits the amount of preloading we to, which can for instance
avoid trashing if the icon cache is full, and in general do less work
when its likely to be wasted such as when e.g. background-color for an
icon helper changes.
2020-01-30 15:17:59 +01:00
Alexander Larsson
c69327caa8
icon-theme: Show which icon loads are threaded in profile mark
2020-01-30 15:16:40 +01:00
Alexander Larsson
d1cd578d59
icon-theme: Add i/o priority to choose_icon_async()
...
This is set on the GTask and lower priority will be loaded before,
this can be used to prioritize some icons for preloading.
2020-01-30 15:15:08 +01:00
Alexander Larsson
5f8c2b52c6
indentation: fix various alignment issues
...
Most of these stem from the GtkIconInfo -> GtkIcon rename
2020-01-30 12:27:15 +01:00
Alexander Larsson
27799ba4f5
Remove final references to "icon info" with just "icon"
2020-01-30 10:53:43 +01:00
Alexander Larsson
2ec51b7010
icon-theme: Update the docs
2020-01-30 10:53:43 +01:00
Alexander Larsson
f7cd2a782b
Fix warnings in gdk gir build
...
We now have graphene arguments in a gdk function, so add that to the
dependencies.
2020-01-30 10:53:43 +01:00
Alexander Larsson
ff0642bba6
icon-theme: Remove trailing whitespaces
...
Since everything is changing anyway lets just clean up all the
trailing whitespace issues in the whole file.
2020-01-30 10:53:43 +01:00
Alexander Larsson
b227a2f190
icon-theme: Use GtkSnapshot, not GdkSnapshot
2020-01-30 10:53:43 +01:00
Alexander Larsson
2b202129bb
icon-theme: Fix indentation of matrix values
2020-01-30 10:53:43 +01:00
Alexander Larsson
d1c6d78ebb
GtkImage: Preload icons during css validation
...
At the end of GtkImage css validation (during style-updated) when the
css properties (like the icon size) are valid we call _gtk_icon_helper_preload
which does an async icon theme lookup and load. This will happen on a thread
in parallel with the rest of the css machinery, and hopefully by the
time we need the icon it will be ready. If not we will block when we need
it, but during that blocking all the other icons will be loaded.
Testing widget-factory this changes the time of snapshot() from 31 to
25 msec, but on the other hand we also load a few more icons that we
didn't before causing the css validation phase to be about 8 msec slower.
This is because we're preloading all the images in the window, not only
the ones that are visible.
Unfortunately we still load a bunch of icons in snapshot(), from
GtkCssImageIconTheme, and ideally we should try to preload those also.
2020-01-30 10:53:43 +01:00
Alexander Larsson
6a8001fe7d
icon-theme: Preload default icon themes in thread
...
This happens when we first get the theme for a display, or then the
icon theme setting changes.
This means we don't have to do this scan in the first snapshot
and can do the i/o it in parallel with other stuff. This moves
a 10msec block from the first snapshot cycle to early setup.
2020-01-30 10:53:43 +01:00
Alexander Larsson
ff3e022182
icon helper: Remove profiler mark
...
This was hitting every time we looked up an icon, and we already
log the actual load of the icon in the icon theme.
2020-01-30 10:53:43 +01:00
Alexander Larsson
d2f26b2f27
icon-theme: Improve profiler mark for icon loads
...
This adds the actual time it took to them as well as the icon size
and scale.
2020-01-30 10:53:43 +01:00
Alexander Larsson
55db9d07c5
icon-theme: Only add theme load profiler mark if we actually load theme
2020-01-30 10:53:43 +01:00
Alexander Larsson
1be932279c
icon theme: Actually use scale in choose_icon_async()
2020-01-30 10:53:43 +01:00
Alexander Larsson
56ec748824
icon theme: Actually don't block in gtk_icon_theme_choose_icon_async()
...
If some other thread is lock the icon or icon theme locks they are likely
to do so for a long time, doing i/o. So, switch to trylock() for the
nonblocking part of _async(). This way we can return directly if the
result is available, but do a thread otherwise, never blocking the
calling (main) thread.
2020-01-30 10:53:43 +01:00
Alexander Larsson
1e6a82513b
icon-theme: Clean up locking
...
Move the lru cache under the global cache lock to avoid some ABBA
style deadlocks when going from icon_theme->icon lock an icon->icon_theme.
We also move all the icon lock uses to a small part of code and make
sure that code never calls out or blocks with any locks held.
Rename the GtkIcon->cache_lock to texture_lock to avoid confusion withe
the global cache_lock.
Removed any mentions of threadsafety from the API docs, we don't
want apps to rely on this, but rather use it outselves internally.
2020-01-30 10:53:43 +01:00
Alexander Larsson
b087f9ca51
icon-theme: Drop the _for_scale() versions and always take scale
2020-01-30 10:53:43 +01:00
Alexander Larsson
e2f778602b
icon-theme: Rename GtkIconInfo to GtkIcon
2020-01-30 10:53:43 +01:00
Alexander Larsson
6a15e9169d
Rename GtkIcon widget to GtkBuiltinIcon
...
This is an internal widget whose name is not very important, and we
want to rename GtkIconInfo to GtkIcon, so lets rename this.
2020-01-30 10:53:33 +01:00
Matthias Clasen
929d325560
profiler: Exit gracefully on SIGTERM
...
This is nice, since it lets me quickly launch a test app
and terminate it with Ctrl-C and still produce a usable
sysprof trace.
2020-01-30 10:04:38 +01:00
Matthias Clasen
cb60c1b83d
builder: Add profiler marks for parsing
...
This is useful to understand what ui files take
long to load.
2020-01-30 10:04:38 +01:00
Matthias Clasen
ab69d43089
builder: Use a better name for templates
...
This name can show up in error messages or profiler
traces, so it is nice to provide some hint what
file we are dealing with.
<GtkFileChoser template> is a lot more helpful
than <input>.
2020-01-30 10:04:38 +01:00
Alexander Larsson
6af4b6a644
icon-theme: Drop all load() calls from GtkIconInfo
...
All users now either use it directly as a paintable or download
the texture to use the pixels.
2020-01-29 19:12:15 +01:00
Alexander Larsson
0d666f0cec
icon-theme: Use gtk_icon_theme_choose_icon_async in tests
2020-01-29 19:06:16 +01:00
Alexander Larsson
317b395f0f
icon-theme: Drop loading_themes recursion check
...
This was added in 0b1c9b7cc2 to protect
against reentrancy from the theme-changed signal, but we only emit this
from an idle these days, so thats not necessary anymore, and the recursion
check was causing issues with the async operations where a different
thread loading the theme caused the calling thread to thing the
theme is valid.
2020-01-29 19:06:16 +01:00
Alexander Larsson
71b3b54215
icon-theme: Add async icon loader
2020-01-29 19:06:16 +01:00
Alexander Larsson
97b24b0732
tests: Use gtk_icon_info_download_colored_texture instead of load_symbolic
2020-01-29 19:06:16 +01:00
Alexander Larsson
6ffb54f47f
icon-theme: Add gtk_icon_info_download_colored_texture()
...
This is a way to get at recolored pixels and will replace all existing users
of _load_symbolic*()
2020-01-29 19:06:16 +01:00
Alexander Larsson
afa6cc2369
Break out cairo color matrix recoloring to gdk_cairo_image_surface_recolor()
...
This is useful in some parts of the icon theme APIs.
2020-01-29 19:06:16 +01:00
Alexander Larsson
dbe021239f
icons: Convert use of load() to download_texture()
2020-01-29 19:06:16 +01:00
Alexander Larsson
884e06ad37
icon theme: Add gtk_icon_info_download_texture() function
...
This returns a reference to the texture (if possible) and can be
used to get access to the pixels of the icon.
2020-01-29 19:06:16 +01:00
Alexander Larsson
53c542765f
Add gtk_icon_info_snapshot_with_colors() and use instead of custom code
2020-01-29 19:06:16 +01:00
Alexander Larsson
c42977af04
Convert trivial users of icon theme loading to use info as paintable
2020-01-29 19:06:16 +01:00
Alexander Larsson
aefd8443de
GtkIconHelper use GtkIconInfo as paintable
2020-01-29 19:06:16 +01:00
Alexander Larsson
b96ab7453b
GtkIconInfo: Implement paintable
...
This makes GtkIconInfo directly implement paintable by loading
the icon as needed. This is done in a blocking fashion for now, but
could be made more async in the future.
It also means we can't return errors to the called, but I doubt
anyone actually does anything useful with them other than showing
nothing (which we already do).
This also changes a fringe behaviour for unthemed icons. They used to
be never scaled down, but that means we can't tell without i/o the
size of the paintable. Since this is the only case we can't know the
size i took an executive decision and removed that behaviour. I don't
think picking some arbitrary much larger than requested size is ever
right, nor do i think using GtkIconTheme with unthemed icons is overly
useful. If you want to display some random non-iconish image, use
GtkImage instead.
2020-01-29 19:06:16 +01:00
Alexander Larsson
3ac7e30455
icon theme: Make GtkIconInfo cached data threadsafe
...
Whenever this is accessed or updated we just grab a lock, thus
blocking on whoever is currenly updating it.
2020-01-29 19:06:16 +01:00
Alexander Larsson
aef67bd53a
GtkIconTheme: Make the base GtkIconTheme threadsafe
...
This makes the core icon theme object threadsafe, however its
not yet very useful because the IconInfo objects are not threadsafe.
2020-01-29 19:06:16 +01:00
Piotr Drąg
bba5de7c6d
Update POTFILES.skip
2020-01-29 17:20:23 +01:00
Emmanuele Bassi
556a8a8351
Merge branch 'wip/muktupavels/work-areas' into 'master'
...
per-monitor work areas
Closes #1086 and #980
See merge request GNOME/gtk!1300
2020-01-29 13:38:31 +00:00
Matthias Clasen
5e95e15a03
animatedstyle: Fix the debug build
...
This wasn't caught by our ci.
2020-01-29 14:10:24 +01:00
Alberts Muktupāvels
248883089c
x11: add support for _GTK_WORKAREAS_Dn
...
If window manager supports _GTK_WORKAREAS use per-monitor work areas.
https://mail.gnome.org/archives/wm-spec-list/2018-December/msg00000.html
https://gitlab.freedesktop.org/xdg/xdg-specs/merge_requests/22
https://gitlab.gnome.org/GNOME/gtk/merge_requests/1300
2020-01-29 14:38:08 +02:00
Carlos Garnacho
aabb250741
Merge branch 'gtk-4-im-wayland-controller-focus-in' into 'master'
...
imwayland: Connect gtk_im_context_focus_in/out to GtkEventControllerKey
See merge request GNOME/gtk!1349
2020-01-29 11:22:11 +00:00
Matthias Clasen
83cccfc984
Merge branch 'gdk-device-leak-fix' into 'master'
...
GdkDevice leak fix
See merge request GNOME/gtk!1358
2020-01-29 10:44:42 +00:00
Matthias Clasen
b97054fc38
Merge branch 'css-style-split-2' into 'master'
...
css: Split styles into groups
See merge request GNOME/gtk!1362
2020-01-29 10:39:43 +00:00
Matthias Clasen
b859407620
Merge branch 'reset-with-click' into 'master'
...
Always emit reset for IM preedit with mouse click
Closes #1534
See merge request GNOME/gtk!460
2020-01-29 10:39:22 +00:00
Matthias Clasen
75c73ac3cd
Merge branch 'robertroth/shortcuts-overlay-accel' into 'master'
...
Application: Do not reuse Ctrl+F1 for help-overlay
See merge request GNOME/gtk!307
2020-01-29 10:25:40 +00:00
Matthias Clasen
10e4c04e61
Use style values directly
...
Replace uses of gtk_css_style_get_value with direct access,
throughout the tree. We don't replace all uses, just those
where we are dealing with a fixed property. Be careful to
handle the currentColor special case for color properties.
2020-01-29 11:07:32 +01:00
Matthias Clasen
b378f566d7
Compute style change based on values structs
...
We can save some time here by comparing struct by
struct and avoiding individual values comparisons
as much as possible.
2020-01-29 11:07:32 +01:00
Matthias Clasen
5776d0dd99
css: Split styles into groups
...
Introduce refcounted structs for groups of related css properties,
and use them to store the style values. Both GtkCssStaticStyle and
GtkCssAnimatedStyle fill in the structs in GtkCssStyle, and we
can avoid vfuncs for value access, which should be much faster.
We can even start accessing style->core->color directly.
2020-01-29 11:07:32 +01:00
Matthias Clasen
59994bdd22
performance test: Produce better numbers
...
Try to isolate the test runs from each other in the
eyes of the kernel scheduler, by sleeping a bit. And
ignore the first run, to avoid cache effects.
2020-01-29 11:06:32 +01:00
Matthias Clasen
db8276f470
Merge branch 'wip/baedert/widget-add-style-class' into 'master'
...
widget: Add style class API
See merge request GNOME/gtk!1366
2020-01-29 09:46:36 +00:00
Matthias Clasen
c3421cea25
Silence a compiler warning
2020-01-29 10:44:25 +01:00
Emmanuele Bassi
6830845fda
Merge branch 'gtk-doc-ci' into 'master'
...
Publish the API reference
See merge request GNOME/gtk!1367
2020-01-29 09:11:15 +00:00
Emmanuele Bassi
db5d9ccdfb
Remove reftests from expected-fail list
...
With an updated version of the base CI image it seems some tests that
were failing have started to pass again.
2020-01-29 10:02:02 +01:00
Emmanuele Bassi
51e155bffa
ci: Deploy the API reference on our GitLab pages
...
Now that we can build gtk-doc as a sub-project, we can go back to
publishing the API reference for the master branch every time we
build it.
2020-01-29 09:46:13 +01:00
Emmanuele Bassi
98e6e0cf77
ci: Update the version of Meson in the CI image
...
We need at least 0.52.1 to be able to use gtk-doc as a sub-project.
2020-01-29 09:39:21 +01:00
Emmanuele Bassi
058f82d03d
Add gtk-doc as a subproject
...
We rely on a specific minimum version of gtk-doc to be able to build the
GTK API reference for the new API. In order to be able to use gtk-doc as
a subproject, though, we need to use a recent version of Meson.
2020-01-29 09:39:21 +01:00
Timm Bäder
a7b34df6af
widget: Add style class API
...
Add GtkWidget API for adding and removing style classes, as well as
checking whether a widget has a style class applied.
Everyone has to go through GtkStyleContext for this these days but with
GtkStyleContext eventually going away, it makse sense for GtkWidget to
have API for this.
2020-01-29 09:36:48 +01:00
Timm Bäder
b3f454ed98
Merge branch 'fix-doc-typo' into 'master'
...
Fix a doc typo
See merge request GNOME/gtk!1364
2020-01-29 07:49:13 +00:00
Benjamin Otte
fd021e794c
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!1365
2020-01-29 04:35:56 +00:00
Benjamin Otte
5e3cbff8d2
cssselector: Rework how we handle the bloom filter
...
Instead of foreaching through all the previous selectors every time we
bloom-filter, just bloom-filter the current element and return a special
value if that filter fails (FALSE). If that happens, don't try
filter-matching more nodes in the caller as we know it's an abort.
2020-01-29 04:20:47 +01:00
Luca Bacci
f0fe2e0743
Fix a doc typo
2020-01-28 20:42:03 +00:00
Benjamin Otte
c6158f1684
cssselector: Reorder functions
...
This just changes the order of functions in the source code in
preparation for the next commit.
2020-01-28 18:28:32 +01:00
Benjamin Otte
65050a1c81
css: Don't do the "all set" test
...
We have so many properties that it is basically impossible that all of
them are set and the time spent checking is higher than the time saved
if it does indeed happen.
2020-01-28 17:57:59 +01:00
Benjamin Otte
12ec090a7b
Merge branch 'wip/otte/for-master' into 'master'
...
popover: Do not validate the css node on show()
See merge request GNOME/gtk!1363
2020-01-28 16:43:33 +00:00
Benjamin Otte
17ca95a161
popover: Do not validate the css node on show()
...
This was a good idea back in GTK3 when popovers were toplevels, but now
they're regular child widgets, so they should behave that way.
Also, with the introduction of the bloom filter, gtk_css_node_validate()
now assumes it's only called on root nodes, so assert that that is the
case.
2020-01-28 17:19:28 +01:00
Takao Fujiwara
5be14577d6
imwayland: Connect gtk_im_context_focus_in/out to GtkEventControllerKey
...
GtkEventControllerKey can handle GDK_FOCUS_CHANGE and call
gtk_im_context_focus_in/out directly.
https://gitlab.gnome.org/GNOME/gtk/issues/2390
2020-01-28 23:47:16 +09:00
Benjamin Otte
1a9ab1a32f
Merge branch 'wip/otte/css' into 'master'
...
selector: Rework iterating over subnodes
See merge request GNOME/gtk!1361
2020-01-28 03:56:49 +00:00
Benjamin Otte
c7dca199ae
selector: Rework iterating over subnodes
...
Instead of a foreach() function, introduce an iterator, so that the
caller can drive the iteration.
This allows doing stuff inbetween callbacks and avoids closures when
more than one data object should be passed.
As a side effect I even get a small, but noticeable performance
improvement in the 2-10% range depending on benchmark, I guess that's
because there's no function pointer passing going on anymore.
2020-01-28 04:32:15 +01:00
Benjamin Otte
50a3d9be6a
Merge branch 'wip/otte/css' into 'master'
...
CSS improvements
See merge request GNOME/gtk!1360
2020-01-28 02:47:25 +00:00
Benjamin Otte
5e4b102273
styleproperty: Remove ability to query properties
...
With gtk_style_context_get() gone, this is no longer used.
2020-01-28 02:58:02 +01:00
Benjamin Otte
632fab0ca7
stylecontext: Get rid of gtk_style_context_get()
...
... and replace all the calls to it with
gtk_style_context_peek_property().
All the calls are hacks that need to go away btw.
2020-01-28 02:58:02 +01:00
Benjamin Otte
43339f1c1c
testcalendar: Don't do dumb stuff with font sizes.
...
If you want to test font stuff, it's 2020 and we have an inspector.
2020-01-28 02:17:32 +01:00
Benjamin Otte
afbff574f5
filechooser: Remove default size machinery
...
The FileChooser ToolKit (fctk) had its own machinery to handle default
sizes which was completely busted and trying to marshal random numbers
through the widget hierarchy that maybe made sense in 2012 but don't do
now.
Get rid of it, just keep the dialog's GSetting - which funnily enough
used to be written by the dialog but written by the widget.
But that's fctk for you.
2020-01-28 02:17:31 +01:00
Benjamin Otte
aff25212df
cellrenderertoggle: size based on -gtk-icon-size
...
Instead of hardcoding 16px.
2020-01-28 02:17:03 +01:00
Benjamin Otte
18cb15a05a
stylecontext: Remove gtk_style_context_get_section()
...
The inspectors gets values differently these days.
2020-01-28 02:17:03 +01:00
Benjamin Otte
6c8b65baf9
stylecontext: Remove GTK_STYLE_PROPERTY_* defines
...
They shouldn't be (and aren't) used anymore.
2020-01-28 02:17:03 +01:00
Benjamin Otte
495eaf31d4
css: Use the bloom filter for change matching
...
Instead of just doing radical change matching on the node itself, also
consider the parent nodes via the bloom filter.
This means a radical change is now also one where the parent
name/id/classes change, but since that's considered a radical change on
the parent already, those things are slow anyway.
Improves the benchmark times for CSS validation during backdrop
transitions in widget-factory from 45ms to 35ms on my machine.
2020-01-28 02:17:03 +01:00
Benjamin Otte
ccdc3ee406
selector: Make :not() selectors not radical
...
:not() selectors cannot be radical because the bloomfilter only knows if
a value is set in any of the nodes, but cannot determine the opposite
(if a value is not set in at least one node), but that would be required
for:not() selectors.
However, this is very unlikely to happen in the real world, so it's not
worth optimizing.
Unfortunately, change tracking could know this, so by excluding the
:not() selectors from radical changes, the change tracking will now pick
them up. If that turns out to be a performance problem, we need to add a
special category for radical not filters, so change tracking and bloom
filters can deal with them.
The testcase demonstrating the problem in widget-factory has been
extrated and added.
2020-01-28 02:17:03 +01:00
Benjamin Otte
93cf76b068
testsuite: Improve diff_with_file() function
...
Properly handle diff(1) failing.
In this particular case, the test passed a NULL input file to the diff
(that was fixed, too) and then diff only found one input file and
aborted.
But without this fix, we'd also not catch other abortion reasons for
diff() - as long as it exited in any way, we were happy.
2020-01-28 02:17:03 +01:00
Benjamin Otte
170130f1d9
css: Add fast-path for parent selector matching
...
Add a fast path for parent selector matching that uses a bloom filter to
quickly discard selectors that can't possibly match.
Keep in mind that we match using a bloom filter, so we might
accidentally include too many selectors when hash/bucket collisions
occur.
That's not a correctness problem though, because we'll do a real check
afterwards.
The idea for this change is taken from browsers, in particular WebKit.
2020-01-28 02:17:03 +01:00
Benjamin Otte
6aac56e144
cssnodedeclaration: C99-ify the code
...
zero-sized arrays are allowed now.
2020-01-28 02:17:03 +01:00
Benjamin Otte
2d5a8974b3
selector: Hash differently
...
This will be relevant for a bloom filter. And bloom filters want 12bit
hashes, so we try to produce hash values < 4096.
2020-01-28 02:17:03 +01:00
Benjamin Otte
146b921246
cssnode: Convert name + id from interned string to GQuark
...
The reason for this is simply that I want to get hash functions that
have their values close together, so they can fit in a smaller range
(the goal here is 12 bits). By using GQuark, we get consecutive numbers
starting with 1 (and applications have <1000 quarks usually), whereas
interned strings can be all over the place.
As a side effect we also save 64 bytes per declaration.
2020-01-28 02:17:03 +01:00
Benjamin Otte
8b93ea9238
css: Get rid of GtkCssMatcher
2020-01-28 02:17:02 +01:00
Benjamin Otte
aa7c5e96a6
css: Pass node through the lookup code
...
... instead of passing a matcher.
The matcher code is now local to the CssProvider/CssSelector machinery.
2020-01-28 02:17:02 +01:00
Benjamin Otte
1953bc92bc
cssnode: Remove init_matcher() vfunc
...
It's unused.
2020-01-28 02:17:02 +01:00
Benjamin Otte
98eeee5bce
cssnode: Remove ability to set GType as fallback name
2020-01-28 02:17:02 +01:00
Benjamin Otte
49b47c9133
Remove GtkWidgetPath
...
... and all associated demos and tests.
2020-01-28 02:17:02 +01:00
Benjamin Otte
af6128b3ab
Remove gtkwidgetpath.h include where no longer needed
2020-01-28 02:17:02 +01:00
Benjamin Otte
496f3c17bd
Revert "cssmatcher: Inline node values into matcher"
...
This reverts commit a75529f3c0 .
It just complicates code and there are no performance numbers that would
warrant such a commit.
2020-01-28 02:17:02 +01:00
Benjamin Otte
c2d69643a8
css: Move utility function
...
The function was not selector-specific, so putting it with all the other
utility functions makes more sense.
Also use the utility function in the node declaration printing.
2020-01-28 02:17:02 +01:00
Sebastian Keller
9c6669be48
gdk/x11: Properly unref removed device in XI2 device manager
...
When a device is added, there are two references to it by the device
manager, the initial one and the one used for the id_table. Removing a
device only removed the reference added by the id_table resulting in the
GdkDevice being leaked.
https://gitlab.gnome.org/GNOME/gtk/merge_requests/1358
2020-01-27 21:42:34 +01:00
Matthias Clasen
d0aa79b5a1
textutil: Stop using GtkStyleContext
...
We can just use the css style directly.
2020-01-27 13:35:04 -05:00
Matthias Clasen
4b63523b1f
gskpango: Don't free rgba's we don't own
...
We don't copy them anymore, so don't free them.
2020-01-27 13:35:04 -05:00
Matthias Clasen
997186f640
filechooser: Stop using gtk_style_context_get
...
Just go to the css style directly.
2020-01-27 12:52:24 -05:00
Rafael Fontenelle
3940482820
Update Brazilian Portuguese translation
2020-01-27 17:09:32 +00:00
Timm Bäder
616a83fb53
popover: Fix an oversight in gap coord computation
...
This caused a border to show up between the popover arrow and the
contents.
2020-01-27 13:37:50 +01:00
Timm Bäder
baeadea342
calendar: Use widgets for the header
...
This is not meant to be a full GtkCalendar conversion to use widgets
instead of custom drawing, but we lost the arrows in the calendar header
when builtin icons were removed. Using proper button for the year/month
buttons brings them back.
2020-01-27 13:37:50 +01:00
Umarzuki Bin Mochlis Moktar
04beedfef0
Update Malay translation
2020-01-27 12:25:12 +00:00
Umarzuki Bin Mochlis Moktar
da73394abd
Update Malay translation
2020-01-27 12:22:47 +00:00
Fabio Tomat
d0f69794a5
Update Friulian translation
2020-01-27 08:56:42 +00:00
Dušan Kazik
185ef214fa
Update Slovak translation
2020-01-27 07:01:51 +00:00
Robert Ancell
b530c83d98
GtkFileFilter: Don't set the name from the GtkBuilder ID
...
Don't use the GtkBuilder ID for the filter name - this is an ID, not a human
readable name. The name can now be set with a property.
2020-01-27 16:01:54 +13:00
Robert Ancell
b83caec6b9
GtkFileFilter: Add a GObject property for the name
...
The name field was previously not a property, which meant you couldn't set in in
GtkBuilder as translatable.
2020-01-27 16:01:54 +13:00
Matthias Clasen
3cdde3fc4b
css: Don't lose inset when computing shadows
...
This was showing up as reftest failures,
sporadically
2020-01-26 20:18:23 -05:00
Sebastian Keller
5040d81e03
gdkseatdefault: Unref removed slave devices
...
Adding a slave device adds a ref, but removing it does not unref it.
https://gitlab.gnome.org/GNOME/gtk/merge_requests/1358
2020-01-27 01:37:14 +01:00
Timm Bäder
05b9a99661
gsk: Remove some unused defines
...
These are from the GVariant days of render nodes.
2020-01-26 18:21:07 +01:00
Timm Bäder
a16e1cbf18
cssdimensionvalue: Remove an outdated comment
...
It's actually implemented in gtkcssdimensionvalue.c these days.
2020-01-26 18:21:07 +01:00
Timm Bäder
c7ea83cd82
cssboxes: Try to avoid doing work for rectangular boxes
...
Use the new gtk_css_dimension_value_is_zero() to check if we really need
to e.g. apply a border radius at all.
We compute css boxes a lot so this makes sense here, it especially shows
up during pick(), where we need the border box.
2020-01-26 18:21:07 +01:00
Timm Bäder
352c9ba42a
dimensionvalue: Add gtk_css_{dimension,corner}_value_is_zero()
...
We can usually omit computations when the dimension value ends up being
zero anyway.
2020-01-26 18:21:07 +01:00
Timm Bäder
30b37dd7c5
widget: Restructure pick() a bit
...
Don't even invert transforms if we can do it easily ourselves. This also
fixes a small GtkTransform memory leak.
2020-01-26 18:21:07 +01:00
Timm Bäder
2e256986c3
renderbackground: Avoid unnecessary work in snapshot_background()
2020-01-26 18:21:07 +01:00
Timm Bäder
77e0d360ed
Add pure and const annotations to various functions
2020-01-26 18:21:07 +01:00
Timm Bäder
942a93250a
render: Remove gtk_render_background_get_clip
2020-01-26 18:21:07 +01:00
Timm Bäder
7ccd6597c3
Remove gtkutils{.c,private.h}
...
All but one functions are unused. Move the remaining one into
gtkmodules.c, its only caller.
2020-01-26 18:21:07 +01:00
Timm Bäder
355a417dba
cssparser: make a few local variables const
2020-01-26 18:21:07 +01:00
Timm Bäder
36e3f4d902
cssprovider: Parse selectors without a GList
...
The maximum length of this list in Adwaita is 18, so use a generous
maximum length of 64 for the selector list of a ruleset.
2020-01-26 18:21:07 +01:00
Timm Bäder
69fe705d0d
GtkCssImageUrl: Implement is_computed()
2020-01-26 18:21:07 +01:00
Timm Bäder
f62535affc
gl renderer: Avoid some work when rendering border nodes
2020-01-26 18:21:07 +01:00
Timm Bäder
1a56a10fc1
cssimage: Add gtk_css_image_to_string()
...
In line with all the other _to_string() implementations
2020-01-26 18:21:07 +01:00
Timm Bäder
4287f0def4
window: Replace GtkStyleContext use to get surface transform
...
We have GtkCssBoxes for this these days.
2020-01-26 18:21:07 +01:00
Matthias Clasen
7bebc3e2b2
Revert "lookup stats"
...
This reverts commit 3d9e3390f1 .
2020-01-25 23:49:33 -05:00
Matthias Clasen
b4e2df8fca
Revert "css: Split style into groups"
...
This reverts commit 0df0de0b5d .
2020-01-25 23:49:17 -05:00
Matthias Clasen
0df0de0b5d
css: Split style into groups
2020-01-25 23:47:02 -05:00
Matthias Clasen
53c22bf833
Adwaita: take out an unnecessary rule
...
The comment says setting caret-color to currentColor
shouldn't be necessary, and it is right.
2020-01-25 18:38:42 -05:00
Matthias Clasen
d8144ec497
Adwaita: drop the *
2020-01-25 18:20:40 -05:00
Matthias Clasen
3d9e3390f1
lookup stats
2020-01-25 18:20:26 -05:00
Matthias Clasen
03595f9567
Fix a scrollbar sizing issue
...
The recent Adwaita changes inadvertendly made scrollbars
resize on hover. Fix that, by reinstating some lost rules.
2020-01-25 15:05:14 -05:00
Matthias Clasen
64e026d0a9
Revert "Ensure icon themes are loaded with other themes"
...
This reverts commit 88d26b7549 .
This change caused GtkShortcutWindow to not work anymore,
and we are fixing icon themes differently, anyway.
2020-01-25 14:32:01 -05:00
Matthias Clasen
0623b00512
Merge branch 'style-context-redux' into 'master'
...
Stop using GtkStyleContext internally
See merge request GNOME/gtk!1353
2020-01-25 19:29:20 +00:00
Matthias Clasen
ac902e697e
popover: Stop using style context getters
2020-01-25 14:18:22 -05:00
Matthias Clasen
f1ff69963e
drag icon: Stop using style context getters
...
Just go to the css node directly.
2020-01-25 14:18:22 -05:00
Matthias Clasen
731ae8f39e
gskpango: Stop using style context getters
...
Just go to the css nodes directly.
2020-01-25 14:18:22 -05:00
Matthias Clasen
7da6fdc30e
widget: Stop using style context internally
2020-01-25 11:05:27 -05:00
Matthias Clasen
a297129685
Add a profiler mark around renderer realization
...
This takes time that is worth calling out.
2020-01-25 01:28:24 -05:00
Matthias Clasen
1eec7362b9
Adwaita: Fix some entry styling
...
This was accidentally broken when parent selectors
were introduced here.
2020-01-24 21:01:42 -05:00
Matthias Clasen
a105256611
GtkSpinner: Pay attention to style changes
...
Make GtkIcon redraw and resize when style changes
require it.
2020-01-24 20:55:42 -05:00
Matthias Clasen
2ee04ee8ed
GtkPaned: Pay attention to style changes
...
Make GtkPaned redraw and resize when style change
require it.
2020-01-24 20:55:42 -05:00
Matthias Clasen
6e358e2a49
GtkIcon: Pay attention to style changes
...
Make GtkIcon redraw and resize when style changes
require it.
2020-01-24 20:55:42 -05:00
Matthias Clasen
71ee4df357
css: Update affects flags for icons
...
We want to differentiate what requires recreating the
texture and what doesn't. In particular, the current
flags are not handling symbolic icons right.
2020-01-24 20:55:42 -05:00
Alex Henrie
f15a34c7e4
gdk: Handle small final sigma in gdk_keyval_convert_case
2020-01-24 17:10:07 -07:00
Matthias Clasen
2bc6e1b875
Merge branch 'wayland-cursors' into 'master'
...
Make wayland load cursors on demand
See merge request GNOME/gtk!1350
2020-01-24 23:03:56 +00:00
Matthias Clasen
4e58541d52
Make wayland load cursors on demand
...
Copy just enough of libwayland-cursor to make our own
loading. This lets us drop the dependency on libwayland-cursor,
and changes the startup cost for cursor theme loading
from 25ms to 0.1ms.
At the same time, simplify the handling of scaled cursors -
instead of creating an array of theme objects, just make a
single theme object provide all scaled cursor sizes.
2020-01-24 17:27:45 -05:00
Matthias Clasen
53bc1d60c4
Revert "css: Print selectors"
...
This reverts commit da5d524324 .
And this one too. The commits are there, if people need this
kind of statistics again, they can just be cherry-picked.
2020-01-24 11:51:18 -05:00
Matthias Clasen
5b6b4f5075
Revert "css: Print out relative costs of selectors"
...
This reverts commit 5dcce0c0bd .
I forgot to ifdef a few things in here, so lets take this out
again.
2020-01-24 11:50:40 -05:00
Matthias Clasen
16654eeef4
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1348
2020-01-24 16:20:42 +00:00
Matthias Clasen
871959c88c
Adwaita: Drop selection mode
...
This is not really a feature that GTK has; and it lets
us drop a significant amount of css.
2020-01-24 09:09:27 -05:00
Matthias Clasen
55d08d8400
Adwaita: Drop menu remnants
...
Menus are gone.
2020-01-24 09:09:27 -05:00
Matthias Clasen
5dcce0c0bd
css: Print out relative costs of selectors
...
Count how often each tree node is visited, and print the number
at the end. This gives a good indication what selectors are costly
and should be avoided. #ifdefed out.
2020-01-24 09:09:08 -05:00
Matthias Clasen
975fe76a0e
Adwaita: Remove a wildcard rule for tooltips
...
These rules are expensive, and don't seem to make
any difference for typical tooltip content.
2020-01-24 09:09:08 -05:00
Matthias Clasen
00be314feb
Adwaita: Drop menuitem support
...
menuitems don't exist anymore.
2020-01-24 09:09:08 -05:00
Matthias Clasen
da5d524324
css: Print selectors
...
Add code that prints all the selectors when a theme
is loaded. #ifdefed out.
2020-01-24 09:08:52 -05:00
Timm Bäder
8e41fa2778
widget: Use gsk_transform_transform_point() in gtk_widget_pick()
...
This also covers the 2D_AFFINE case.
2020-01-24 06:19:16 +01:00
Timm Bäder
f80a341b4f
gl renderer: handle cross-fade nodes with invisible children
2020-01-24 06:19:16 +01:00
Timm Bäder
77f8245c0c
gl renderer: Handle blur nodes with invisible children
2020-01-24 06:19:16 +01:00
Timm Bäder
8afdbd6ee3
gl renderer: Make render_rounded_clip_node clearer
2020-01-24 06:19:16 +01:00
Timm Bäder
ac4e98f16a
testsuite: Add test cases for last commit
...
Easy enough to test
2020-01-24 06:19:16 +01:00
Timm Bäder
ab0869ecbc
gl renderer: Add builder offset correctly for non-affine modelviews
2020-01-24 06:19:16 +01:00
Timm Bäder
cff8304133
GskTransform: Add gsk_transform_transform_point()
...
Equivalent of gsk_transform_transform_bounds() and
graphene_matrix_transform_point() respectively.
2020-01-24 06:19:12 +01:00
Timm Bäder
962e38c5c9
gl renderer: Shorten shaders a bit
2020-01-24 06:08:39 +01:00
Timm Bäder
7855a98fd1
cssimageicontheme: Avoid copying colors
2020-01-24 06:08:39 +01:00
Timm Bäder
aea27b86c1
cssimagepaintable: Implement is_computed()
2020-01-24 06:08:39 +01:00
Timm Bäder
d4caf3d679
cssimagescaled: Implement is_computed()
2020-01-24 06:08:39 +01:00
Timm Bäder
d9652675ef
cssimagerecolor: Implement is_computed()
2020-01-24 06:08:39 +01:00
Timm Bäder
685288216f
gl renderer: Move rect transformation to the vertex shader
...
No need to do this for every fragment.
2020-01-24 06:08:39 +01:00
Timm Bäder
c8fa1f19db
gl renderer: Transform rounded rect on the GPU
...
Change the RoundedRect struct we use in our shaders so we can transform
it using (affine) matrices.
2020-01-24 06:08:39 +01:00
Matthias Clasen
7e4feb092b
colorbutton: Use a css name
...
This was the sole widget to show up as 'widget' in
the css tree.
2020-01-23 23:48:43 -05:00
Matthias Clasen
9eadcd8d55
testsuite: Update mark names
...
We've changed some of the profiler mark names to
be clearer and more unique. Update the tests that
look for those marks to use the new names.
2020-01-23 23:48:43 -05:00
Matthias Clasen
86aa011587
Adwaita: Use child selectors in many more places
...
These are much cheaper to match than descendent
selectors, so use them whenever we know the element
is a direct child.
2020-01-23 23:48:43 -05:00
Matthias Clasen
f9e613f8fd
text: Don't compute invisible char in init
...
This causes us to create a pango layout and
validate the css style, a high-overhead
operation. Just do it when the entry is set
to be invisible.
2020-01-23 15:12:38 -05:00
Matthias Clasen
e13692c52f
Fix Emoji completion
...
This was broken in various ways; Tabbing between pages
was causing segfaults, and using the hover state like
this does not work anymore, with hover now being completely
managed by GTK. Use focus instead, and also fix up the
style.
2020-01-23 14:07:09 -05:00
Matthias Clasen
cbed409f52
Replace .emoji with emoji for css
2020-01-23 14:07:09 -05:00
Matthias Clasen
0351f27af2
Adwaita: Drop .context-menu
...
We are not using it anymore, and yet fonts on a bold
textview are fine. So no need for this.
2020-01-23 14:07:09 -05:00
Matthias Clasen
f84ecf9cd2
Adwaita: Just use .menu, instead of .appmenu
...
No need for this one-off class, there's no other menus
that could show up here.
2020-01-23 14:07:09 -05:00
Emmanuele Bassi
5e9d186c26
Merge branch 'fix-avahi_service_resolver_cb-crash-master' into 'master'
...
printing: Fix crash in avahi_service_resolver_cb (master)
See merge request GNOME/gtk!1347
2020-01-23 17:50:47 +00:00
WGH
de9f0c5505
printing: Fix crash in avahi_service_resolver_cb
...
printer_name_compressed_strv is NULL-terminated array
of gchar*, which means N+1 memory should be allocated.
Otherwise, if the printer name has no empty components
(which is usually the case), printer_name_compressed_strv[N],
which should contain the NULL sentinel, will actually lie
just outside of allocated memory, which is UB.
In my case, it led to crashes inside g_strjoinv
when Print... dialog is opened in evince.
#0 0x00007fad2ce1bad7 in __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:96
#1 0x00007fad2d04d88d in g_strjoinv (separator=separator@entry=0x7fad0c9bc508 "-", str_array=str_array@entry=0x556b017f0200) at ../glib-2.60.7/glib/gstrfuncs.c:2585
#2 0x00007fad0c9b8a89 in avahi_service_resolver_cb (source_object=<optimized out>, res=<optimized out>, user_data=0x7fad08020ee0) at /var/tmp/portage/x11-libs/gtk+-3.24.13/work/gtk+-3.24.13/modules/printbackends/cups/gtkprintbackendcups.c:3223
#3 0x00007fad2d1f8ed3 in g_task_return_now (task=0x556b017a8b00 [GTask]) at ../glib-2.60.7/gio/gtask.c:1209
#4 0x00007fad2d1f987d in g_task_return (task=0x556b017a8b00 [GTask], type=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1278
#5 0x00007fad2d1f9dec in g_task_return (type=G_TASK_RETURN_SUCCESS, task=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1678
#6 0x00007fad2d1f9dec in g_task_return_pointer (task=<optimized out>, result=<optimized out>, result_destroy=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1683
#7 0x00007fad2d24b6af in g_dbus_connection_call_done (source=<optimized out>, result=0x556b017a8bc0, user_data=0x556b017a8b00) at ../glib-2.60.7/gio/gdbusconnection.c:5747
#8 0x00007fad2d1f8ed3 in g_task_return_now (task=0x556b017a8bc0 [GTask]) at ../glib-2.60.7/gio/gtask.c:1209
#9 0x00007fad2d1f8f09 in complete_in_idle_cb (task=0x556b017a8bc0) at ../glib-2.60.7/gio/gtask.c:1223
#10 0x00007fad2d02d2c0 in g_main_dispatch (context=0x556b00eee090) at ../glib-2.60.7/glib/gmain.c:3189
#11 0x00007fad2d02d2c0 in g_main_context_dispatch (context=context@entry=0x556b00eee090) at ../glib-2.60.7/glib/gmain.c:3854
#12 0x00007fad2d02d658 in g_main_context_iterate (context=context@entry=0x556b00eee090, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.60.7/glib/gmain.c:3927
#13 0x00007fad2d02d6df in g_main_context_iteration (context=context@entry=0x556b00eee090, may_block=may_block@entry=1) at ../glib-2.60.7/glib/gmain.c:3988
#14 0x00007fad2d22248d in g_application_run (application=0x556b0116f130 [EvApplication], argc=<optimized out>, argv=<optimized out>) at ../glib-2.60.7/gio/gapplication.c:2519
#15 0x0000556b002e55a1 in ()
#16 0x00007fad2ccd6f1b in __libc_start_main (main=0x556b002e50d0, argc=2, argv=0x7ffe1057fa88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe1057fa78) at ../csu/libc-start.c:308
#17 0x0000556b002e567a in ()
(gdb) p printer_name_compressed_strv[0]
$4 = (gchar *) 0x556d4a4be430 "Brother"
(gdb) p printer_name_compressed_strv[1]
$5 = (gchar *) 0x7f9dbc011090 "MFC"
(gdb) p printer_name_compressed_strv[2]
$6 = (gchar *) 0x556d4a51ba50 "7860DW"
(gdb) p printer_name_compressed_strv[3]
$7 = (gchar *) 0x401 <error: Cannot access memory at address 0x401>
2020-01-23 20:32:05 +03:00
Matthias Clasen
f5865b125e
Add profiler marks around css selector tree building
...
This is a big part of theme loading, and worth
showing in traces.
2020-01-23 10:29:22 -05:00
Matthias Clasen
3483c1a45b
Adwaita: Remove .entry-tag class
...
Not used in GTK.
2020-01-23 00:14:49 -05:00
Matthias Clasen
5cc088128f
Adwaita: Remove .rubberband class
...
All GTK widget are using a rubberband element now.
2020-01-23 00:13:54 -05:00
Matthias Clasen
c4548e9c7b
Adwaita: Remove .location-bar class
...
Not used in GTK.
2020-01-23 00:08:53 -05:00
Matthias Clasen
5d6aeb4bf7
Adwaita: Remove gtkstyle-fallback
2020-01-23 00:04:41 -05:00
Matthias Clasen
560e03f962
Adwaita: Remove the .drag-icon class
...
This class was not used in GTK.
2020-01-22 23:57:30 -05:00
Matthias Clasen
c3f1ff7db4
pathbar: Use a css name insead of a style class
...
Use pathbar for GtkPathBar in css, instead of the
previous .path-bar. Update Adwaita to match.
2020-01-22 23:56:22 -05:00
Matthias Clasen
88d26b7549
Ensure icon themes are loaded with other themes
...
Trigger icon theme loading from the code in GtkApplication
where we set up the icon theme search path. This makes
it happen before the first frame.
2020-01-22 23:44:01 -05:00
Matthias Clasen
4ac8011126
icontheme: Add profiler marks around icon theme loading
...
This is happening during the first frame.
2020-01-22 23:44:01 -05:00
Matthias Clasen
9b29da93b6
iconhelper: Add profiler marks around icon loading
...
These mainly happen during the first frame, causing
it to be longer than 'normal' frames.
2020-01-22 23:44:01 -05:00
Matthias Clasen
0fe9643728
css: Add a profiler mark around theme loading
...
This is also time spent before the first frame.
2020-01-22 23:44:01 -05:00
Matthias Clasen
73a214d1a9
application: Add some profiler marks
...
Add marks around gtk_init and application startup
helps to understand where the time before the first
frame goes.
2020-01-22 23:44:01 -05:00
Matthias Clasen
59a31e05bc
gdk: Add a profiler mark for paint_idle
...
This is the big frame clock function where most
signals are emitted, and it can keep us away from
the mainloop for a long time.
2020-01-22 23:44:01 -05:00
Matthias Clasen
527b67af3d
wayland: Add a mark for cursor loading
...
This is much too slow.
2020-01-22 23:44:01 -05:00
Matthias Clasen
3c03d7970a
More profiler reshuffling
...
Add more of the marks without requiring a debug build.
2020-01-22 23:44:01 -05:00
Matthias Clasen
278762f00a
gtk: Clearer names for profiler marks
...
Naming matters. Don't be overly generic here.
2020-01-22 16:38:40 -05:00
Matthias Clasen
1565f597c8
gl: Disambiguate profiler marks
...
"render" was used for both GL and widgets. Oops.
2020-01-22 16:37:48 -05:00
Matthias Clasen
fea42def61
surface: Always dd events to the profiler trace
...
We want to get this data for release builds as well.
2020-01-22 16:36:54 -05:00
Matthias Clasen
56b8d1dfbe
frame clock: Redo the profiler marks
...
Instead of reporting the frame clock phases as defined,
report the duration of the signal emissions, which is more
useful for tracking down what is taking time.
2020-01-22 16:36:02 -05:00
Matthias Clasen
3120fb29e1
ci: Save syscap files from performance tests
...
They might become useful at some point.
2020-01-22 15:55:31 -05:00
Matthias Clasen
119457279b
window: Rename a profiler mark
...
The "layout" name was already taken for the frame clock
phase by that name. Oops.
2020-01-22 15:12:03 -05:00
Matthias Clasen
dfea9bf0e8
wayland: Add profiler marks around surface handling
...
Add marks for when we do commits, swap buffer or
receive frame events. These are the low-level start
and end points of the frame cycle, and it is useful
to see them in the profiler.
2020-01-22 15:12:03 -05:00
Matthias Clasen
36cb812ad8
surface: Add enter/leave events to profiler traces
...
These are just as likely to trigger extra work than
other mouse events, so it is useful to show them.
2020-01-22 15:12:03 -05:00
Matthias Clasen
95ed9de706
icontheme: Add profiler marks for loading icons
...
This helps to clearly identify the places where we
do IO, in profiler traces.
2020-01-22 15:12:03 -05:00
sicklylife
a0448e2c7f
Update Japanese translation
2020-01-22 17:32:21 +00:00
sicklylife
a6b05a19f1
Update Japanese translation
2020-01-22 17:29:36 +00:00
Matthias Clasen
672d7f679a
Merge branch 'wip/jimmac/typography-classes' into 'master'
...
Adwaita: general typography classes
Closes #1808
See merge request GNOME/gtk!1339
2020-01-22 12:54:48 +00:00
Jakub Steiner
feecfcab27
Adwaita: general typography classes
...
- many moons and some iterations later, these are the suggested
general typographic styles. Already being referenced in apps like
Banner Viewer (for now shipping custom definitions)
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1808
2020-01-22 12:02:51 +01:00
Matthias Clasen
24fa0f8e28
testsuite: Move the meson performance tests up
...
Since the binary is moved, there is no need for
the subdirectory here anymore.
2020-01-22 00:59:09 -05:00
Matthias Clasen
878f35515d
Make the performance testcase more general
...
Reuse the performance test for layout and snapshot timings.
2020-01-22 00:59:04 -05:00
Matthias Clasen
68fd796125
css: Make performance test more flexible
...
Allow to specify the name of the mark that we're looking
for the first instance of.
2020-01-22 00:29:43 -05:00
Matthias Clasen
5014b2a7fe
widget: Add profiler marks
...
This gives high-level entries for the duration of
snapshotting and layout in the frame cycle.
2020-01-21 23:43:37 -05:00
Matthias Clasen
8cb375de11
window: Add a profiler mark around size allocation
...
This give a high-level entry for the duration of size allocation
in the frame cycle.
2020-01-21 23:43:01 -05:00
Matthias Clasen
7927bcf6c5
container: Remove an unnecessary check
...
GtkWindow implements GtkRoot, so we can avoid
treating them separately.
2020-01-21 23:19:24 -05:00
Matthias Clasen
d24d0e9667
Merge branch 'matthiasc/perf-tests' into 'master'
...
Performance tests
See merge request GNOME/gtk!1338
2020-01-22 03:38:50 +00:00
Matthias Clasen
e9e4bd423a
testsuite: Make performance test fail
...
If a child process exits unsuccessfully,
make the performance test fail.
2020-01-21 19:55:08 -05:00
Matthias Clasen
81ddf4b946
testsuite: Point performance tests at uninstalled schemas
...
widget-factory won't run otherwise.
2020-01-21 19:51:14 -05:00
Matthias Clasen
c8485af819
Use the v9 image for ci runs
...
The v9 image add sysprof-devel, so we can build
and run performance tests using libsysprof.
2020-01-21 19:30:59 -05:00
Matthias Clasen
704a659438
ci: Build with profiler support
...
This will let us run sysprof-based performance tests.
2020-01-21 18:20:05 -05:00
Matthias Clasen
d32b0d3118
ci: Add sysprof-devel to the image
...
We need it to build with profiler support.
2020-01-21 18:17:50 -05:00
Matthias Clasen
23426b0f39
Fix testsuite without -Dprofiler=true
...
Only build and run the performance tests if we have sysprof.
2020-01-21 18:09:43 -05:00
Matthias Clasen
417edd28fb
Run the css performance test in the testsuite
...
The numbers just end up in the testlog for now.
2020-01-21 17:49:40 -05:00
Matthias Clasen
ea17728ee5
Prototype a sysprof helper
...
This is an attempt to see how we can use sysprof data
in our tests to extract useful performance numbers.
Use it as a wrapper around any GTK+ process:
./testperf ./gtk4-widget-factory
Currently, it repeatedly runs the given commandline,
extracts the first css validation time from the resulting
syscap file, and prints out the min/max/avg of the runs
at the end.
This relies on the environment variable GTK_DEBUG_AUTO_QUIT
to cause the process to exit soon after launch.
2020-01-21 17:31:48 -05:00
Matthias Clasen
a6f300cefd
widget-factory: Add a way to quit automatically
...
This can be used to measure startup cost in tests.
2020-01-21 17:31:48 -05:00
Matthias Clasen
05b98c3834
gdk: Make profiler support unconditional
...
We are still not providing samples unless debugging is enabled.
That needs a bit more work.
2020-01-21 11:50:12 -05:00
Matthias Clasen
820c9403e3
cssnode: Make the profiler support unconditional
2020-01-21 11:38:34 -05:00
Matthias Clasen
509531349d
Merge branch 'otte/for-master' into 'master'
...
selector: Add GtkSelectorCategory
See merge request GNOME/gtk!1337
2020-01-21 16:17:17 +00:00
Benjamin Otte
2a5a52dd4b
selector: Add GtkSelectorCategory
...
This will make it easier to write more complex matching algorithms.
2020-01-21 16:59:37 +01:00
Benjamin Otte
f42e18507f
Merge branch 'otte/for-master' into 'master'
...
Otte/for master
See merge request GNOME/gtk!1336
2020-01-21 14:13:02 +00:00
Benjamin Otte
e6a0a2f587
stylecontext: Remove excess gtk_css_node_invalidate() call
...
This call is not necessary, because gtk_css_node_set_parent() does the
right thing. (It probably hasn't been necessary for years, but I'm
not gonna try my luck on GTK3 at this stage.)
This code is usually called the first time
gtk_widget_get_style_context() is called on a widget and its style
context gets create. At that point however, the css nodes are in the
right place already, so no invalidation should happen.
2020-01-21 14:49:25 +01:00
Benjamin Otte
631ea5caac
Merge branch 'otte/for-master' into 'master'
...
Otte/for master
See merge request GNOME/gtk!1333
2020-01-21 12:09:26 +00:00
Benjamin Otte
d59784f7c7
win32: Don't save/restore the context for querying the font
...
Use the font in the current state.
2020-01-21 12:48:20 +01:00
Benjamin Otte
193eb5b0dd
widget: Remove gtk_widget_get_path()
2020-01-21 12:47:16 +01:00
Benjamin Otte
6a1adf6f1a
cssnode: Remove unused widget path vfuncs
2020-01-21 12:47:16 +01:00
Benjamin Otte
563ad2db1b
containter: Remove gtk_container_get_path_for_child()
2020-01-21 12:47:16 +01:00
Benjamin Otte
c85d9a3259
stylecontext: Change semantics of gtk_style_context_get_path()
...
Widget contexts now return NULL here. A non-NULL result requires a
previous call to gtk_style_context_set_path()
2020-01-21 12:47:16 +01:00
Benjamin Otte
b9c81b1b94
widget: Initialize cssnode name asap
...
That way, it's correct in subclass's init functions.
2020-01-21 12:47:16 +01:00
Matthias Clasen
b52bcf7e0a
Merge branch 'matthiasc/for-master' into 'master'
...
Add some static assertions
See merge request GNOME/gtk!1334
2020-01-21 04:52:12 +00:00
Matthias Clasen
a38ba91e35
Add some static assertions
...
Add assertions that ensure the relationships between
css property IDs that we rely on are preserved.
2020-01-20 22:54:26 -05:00
Matthias Clasen
a350c2452a
Add profiler support for css validation
...
Push numbers about css validation and style creation
to sysprof.
2020-01-20 21:55:16 -05:00
Benjamin Otte
025902b9fb
textview: Make cursor work when blinking is disabled
2020-01-21 01:42:00 +01:00
Matthias Clasen
7e2e92a87e
cssselector: Inline a few things
2020-01-19 15:56:54 -05:00
Matthias Clasen
be4d42507c
style cascade: Remove some pointless casts
...
The casts and checks in gtkstylecascade.c are leftovers
from when we had GtkStyleProviderPrivate, and no longer
serve any purpose.
2020-01-19 15:56:54 -05:00
Matthias Clasen
6e88ccf7fb
pick: Take advantage of transform categories
...
Transform categories let us easily avoid doing matrix math
when we can just do a simple translation.
2020-01-19 15:56:54 -05:00
Matthias Clasen
cec4c15f05
Refactor gtk_widget_pick
...
Split this into a recursive part and a public
entry point. This lets us avoid some duplicate
checks.
2020-01-19 15:56:54 -05:00
Piotr Drąg
ce1f1f7dec
Update Polish translation
2020-01-19 13:04:34 +01:00
Matthias Clasen
95f00c6071
css: Redo the pseudoclass selectors
...
There is no need to duplicate the classes, we can make
do with a single class for all the states.
2020-01-18 23:06:25 -05:00
Matthias Clasen
55cfeccfd2
css: Go back to clearing out selectors
...
Now that we use the selector tree for change computation
again, we don't need the ruleset selectors anymore.
Bring back the code that cleans them out.
2020-01-18 23:06:25 -05:00
Goran Vidović
2301916fa4
Update Croatian translation
2020-01-19 00:33:57 +00:00
Vlad Zahorodnii
b36258f204
gdk: Subtract base size when checking aspect ratio
...
According to the ICCCM spec [1], one should subtract the base size from
the window size before checking that the aspect ratio falls in range.
This change fixes shrinking Firefox Picture-in-Picture windows when
running KDE Plasma (with KWin as the window manager).
[1] https://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.3
2020-01-19 02:22:44 +02:00
Goran Vidović
bb4efe18b7
Update Croatian translation
2020-01-19 00:13:42 +00:00
Matthias Clasen
a463dccd81
Refine the selector tree printing
...
Also show which tree nodes have exact matches.
2020-01-18 14:32:55 -05:00
Matthias Clasen
eff129323f
Fix a css change testcase
...
The ui file here was invalid, leading to nonsensical
results.
2020-01-18 14:32:55 -05:00
Matthias Clasen
a5530caec3
Actually turn of css value accounting
...
We need an #undef here. While doing so, make sure
it compiles without warnings when disabled.
2020-01-18 14:30:23 -05:00
Matthias Clasen
92cfc03821
inspector: Avoid an array overrun
...
Commit 3f56af3738 added a new value to the
GdkInputSource enum, forgetting that the inspector
has an array of names to match this enum.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2385
2020-01-18 11:49:16 -05:00
Matthias Clasen
46bb1a9b6a
wayland: Fix release build warnings
2020-01-18 11:49:16 -05:00
Matthias Clasen
19280db075
x11: Fix release build warnings
2020-01-18 11:49:16 -05:00
Piotr Drąg
7210c5484e
Update POTFILES.skip
2020-01-18 17:39:53 +01:00
Timm Bäder
433c8307b2
gl renderer: Pull a local variable in the closest scope
2020-01-18 08:49:52 +01:00
Timm Bäder
26506b0a15
cssimagefallback: Don't snapshot invisible colors
...
This avoids a few render nodes later.
2020-01-18 08:49:52 +01:00
Timm Bäder
f8fa946989
widget: Get opacity without GtkStyleContext
...
GtkStyleContext is really just unnecessary here.
2020-01-18 08:49:52 +01:00
Timm Bäder
119ebe1d70
cssstyle: set font variations in get_pango_font()
...
Doesn't make sense to set all the css values on the font description in
there except for the font variations, so do these here as well.
2020-01-18 08:49:52 +01:00
Timm Bäder
dda54b2b8f
widget: Get DPI from style directly
...
Instead of going through GtkStyleContext.
2020-01-18 08:49:52 +01:00
Timm Bäder
821efcb725
cssstyle: Implement get_pango_font() directly
...
Instead of going through the slow GValue code path. This function was
unused, so use it in GtkWidget's update_pango_context() now.
2020-01-18 08:49:52 +01:00
Timm Bäder
85793fe6b6
testsuite: Update expected css errors
2020-01-18 08:49:52 +01:00
Timm Bäder
dc8dedce07
gl renderer: Draw outset shadows white
...
and only apply the actual shadow color when we draw them from the
texture. This way we can reuse the cached shadows during color
transitions.
2020-01-18 08:49:52 +01:00
Matthias Clasen
f5182f1c35
css: Mark transform value as computed
...
This is not very useful, since transitions generate
a ton of transforms anyway.
2020-01-18 08:49:52 +01:00
Matthias Clasen
1efa39672b
css: Simplify default values
...
We no longer need to create one-element arrays or
corners with two identical values.
2020-01-18 08:49:52 +01:00
Matthias Clasen
3f38a1c94c
css: Re-add a lost special case
...
When the border-style special cases were moved in
c687f485fd , the one for outline-width was lost.
Make the code more compact, and bring the special
case back.
2020-01-18 08:49:52 +01:00
Timm Bäder
d861dd5df8
csshorthandproperty: Try to avoid allocating a GString for 1 font
2020-01-18 08:49:52 +01:00
Timm Bäder
8c98fd2e46
cssdimensionvalue: remove early-out code from transition()
...
We do this directly in gtk_css_value_transition() now
2020-01-18 08:49:52 +01:00
Timm Bäder
3091679ffa
gl renderer: Render simple border nodes in a simple way
...
Roughly 80% of the border nodes are just one color and have the same
width on all sides, so we can draw them by uploading just one rect and
not four.
2020-01-18 08:49:52 +01:00
Timm Bäder
2e89c5360a
numbervalue: Add early-out to multiply()
...
If the factor is 1, we already know what the result is going to be.
2020-01-18 08:49:52 +01:00
Timm Bäder
e448fc41f3
cssnumbervalue: Move early-out code to GtkCssValue
...
These checks make sense for all css values.
2020-01-18 08:49:52 +01:00
Timm Bäder
c9e972eecb
cssdimensionvalue: Implement transition()
...
Instead of falling back to the generic gtk_css_number_value_transition
(which can allocate multiple new css values), just implement this here.
2020-01-18 08:49:52 +01:00
Timm Bäder
45455f1bdb
Remove GtkCssShadowsValue
...
Previously, we wrapped all GtkCssShadowValues in a GtkCssShadowsValue,
even if it was just one shadow. This causes an unnecessary bloat in
css values.
Make each GtkCssShadowValue able to handle multiple shadows instead, and
use gtk_css_shadow_value* API everywhere.
2020-01-18 08:49:52 +01:00
Timm Bäder
a3769eb0e5
cssshadowvalue: Only create 2 shadows values for transitions
...
This is for cases where we want to transition from "no shadow" to
"shadow", which we need quite a lot.
2020-01-18 08:49:52 +01:00
Timm Bäder
7c75ea376f
cssvalue: Improve css value accounting output
...
And make it fully optional behind an #ifdef.
2020-01-18 08:49:52 +01:00
Timm Bäder
96143548ac
csscolorvalue: check for singletons in new_literal
...
Gets rid of another ~400 GtkCssValue instances in the widget-factory.
2020-01-18 08:49:51 +01:00
Timm Bäder
0b2a6e34c4
cssimage: Add is_computed vfunc
...
Same semantics as the is_computed field of GtkCssValue
2020-01-18 08:49:51 +01:00
Timm Bäder
24d8c0a7dc
css: Set the is_computed flag for more values
...
With these changes, we skip roughly 85% of compute() calls during
widget-factory startup
2020-01-18 08:49:51 +01:00
Timm Bäder
ba08f5e67d
cssvalue: Don't call compute() for already computed css values
...
As per the previous commit, this is unnecessary.
Even with the small amount of css values we mark as is_computed, we
already skip computing over 60% of them like this during the startup of
the widget factory.
2020-01-18 08:49:51 +01:00
Timm Bäder
31aa5a0e53
cssvalue: Add is_computed flag
...
When a css value has "child" css values (e.g. a linear gradient has
several color stop css values) which are all computed (won't change when
compute() is called on them), we want to skip computing the entire
subtree.
Since css values are immutable, we can set the is_computed flag at
construct time.
Since GtkCssValue instances are 0-initialized in _gtk_css_value_alloc,
the default for is_computed it FALSE. This commit only sets it to TRUE
in a few cases, such as various "none" singleton values which will never
change. Later commits will refine this and set it for more values.
2020-01-18 08:49:51 +01:00
Timm Bäder
7aa17afe7a
testsuite: Update css color output
2020-01-18 08:49:51 +01:00
Timm Bäder
8c678ac756
css: Move border-width special cases out of GtkCssDimensionValue
...
Move them to style computation instead, so we don't have them in such a
generic place.
2020-01-18 08:49:51 +01:00
Timm Bäder
7d1f915a61
csscolorvalue: Don't copy rgbas when applying function
...
We get const pointers to the colors, so just use those and unref the
values later.
2020-01-18 08:49:51 +01:00
Timm Bäder
afa991752c
gl renderer: Look at shadow color in the outset shadow cache
...
It would probably be better to not do this and always render the outline
in plain white, then later recolor it but do this for no, just for
correctness.
2020-01-18 08:49:51 +01:00
Timm Bäder
fc2d05ee38
cssimageradial: Use array + length instead of GArray
...
This makes sense since we're not going to change the (amount of) colors
after parsing.
2020-01-18 08:49:51 +01:00
Timm Bäder
00aa4f0597
cssimagelinear: Use count+array for the color stops, not GArray
...
This makse sense but will also make later changes to GtkCssImageLinear
simpler.
2020-01-18 08:49:51 +01:00
Timm Bäder
3401150cca
cssimagefallback: Don't compute new image if only a color is set
...
Themes might use e.g. image(red), which is a constant value and will
never change. In that case, the fallback image has ->color set, but not
->images. If that's the case and the computed color is the same as
the one we already have, just return the already existing image.
2020-01-18 08:49:51 +01:00
Timm Bäder
67991ed0f4
Remove GtkCssRgbaValue
...
The differenciation between a literal color value and an RGBA value
caused problems in various situations. Just treat the two the same but
don't allow access to the rgba value of a non-literal color value.
This gets rid of around 1.6k rgba values in the widget-factory.
2020-01-18 08:49:51 +01:00
Matthias Clasen
741e12012d
dump css value stats
2020-01-18 08:49:51 +01:00
Timm Bäder
91aa60b210
csssshadwovalue: Remove unused function prototype
2020-01-18 08:49:51 +01:00
Timm Bäder
e31c0898e5
cssnumbervalue: Add early-outs to transition code
...
we don't need to do the calculation at all if the progress is 0 or 1
anyway.
We also sometimes transition from 0 to 0 etc., so we can short-circuit
that as well by doing the fast pointer-equality check and relying on the
singletons.
2020-01-18 08:49:51 +01:00
Timm Bäder
1f2f2777e1
csscornervalue: Accept other values if x == y
...
Most corners are square, so x == y. In that case, just accept either of
them. This makes the corner value unnecessary.
In fact none of the corner values in the widget-factory are needed, so
this spares us around 500 corner value allocations.
css value stats before:
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
SUM: 8428
and after:
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
SUM: 7872
8428 to 7872 is a 556 reduction (6.5%)
asdf
2020-01-18 08:49:51 +01:00
Timm Bäder
9cb2fe5cac
cssarrayvalue: Don't allocate memory when parsing array values
...
We probably won't find CSS with more than 128 values in array.
2020-01-18 08:49:51 +01:00
Timm Bäder
8d15efba8f
cssarrayvalue: Allow calling array API on non-arrays
...
Just allow calling _get_nth() and _get_n_values() on every kind of css
value. This way we can allow all values in places where only array
values would be allowed before.
This spares us around 1000 array values in the widget factory.
css value stats before:
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 1130
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
SUM: 9415
and after:
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
SUM: 8428
9415 to 8428 is a 987 reduction (10.4%)
2020-01-18 08:49:51 +01:00
Timm Bäder
1200fe2daf
cssvalue: Add type names for all classes
...
This is important to have for debugging and e.g. to print statistics for
the individual css value types
2020-01-18 08:49:51 +01:00
Timm Bäder
515a527b27
csscolorvalue: Compute alpha/shade/mix of color literals directly
...
The values of these are never gonna change so we can as well create
literal color values from the resulting colors instead.
2020-01-18 08:49:51 +01:00
Timm Bäder
06dbde22a0
csscolorvalue: Don't resolve literal color values
2020-01-18 08:49:51 +01:00
Matthias Clasen
c21280e455
Merge branch 'adwaita-performance' into 'master'
...
Adwaita: Remove wildcards
Closes #2380
See merge request GNOME/gtk!1330
2020-01-18 06:43:11 +00:00
Matthias Clasen
0d9a7fe089
Adwaita: Remove wildcards
...
Selectors like *:disabled or *:link have bad performance
implications, since they cause all styles to be recomputed
when the state of the window changes. Replace these by a
list of the elements that are actually affected.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2380
2020-01-18 01:30:02 -05:00
Matthias Clasen
03883b8b1a
Merge branch 'matthiasc/css-change-tracking-4' into 'master'
...
Improve change computation
See merge request GNOME/gtk!1327
2020-01-18 05:41:26 +00:00
Matthias Clasen
f28cd6cea9
Remove the widget-factory test again
...
This was failing in ci, in hard to track down ways.
2020-01-18 00:27:52 -05:00
Matthias Clasen
b8b90fefd8
change tests: Update test output
...
Some of these test cases involve :not, and thus are affected
by our now correct handling of it for change computation.
All of them are affected by the window now being visible.
2020-01-17 23:47:34 -05:00
Matthias Clasen
b4a9cf2bfb
Remove no longer needed code
...
We no longer use superset or any matchers to find changes.
2020-01-17 23:47:34 -05:00
Matthias Clasen
2a919a4d4f
Go back to the tree for computing change
2020-01-17 23:47:34 -05:00
Matthias Clasen
b2775d9bdd
Redo the way we compute change
...
Instead of expecting a superset matcher, call
gtk_css_selector_match_for_change while walking the tree with the
original matcher. This fixes the handling of :not while determining
changes.
2020-01-17 23:47:34 -05:00
Matthias Clasen
d0a8a717ef
Bring back the reserved bit
2020-01-17 23:47:34 -05:00
Matthias Clasen
7d72703d54
Revert "Remove no longer used code"
...
This reverts commit 105acfe908 .
2020-01-17 23:47:34 -05:00
Matthias Clasen
8ecd4e87e3
Add testcases for css change flags
...
Add various tests for the change flag computation that
we do in the css selector tree.
test1: Just test the basic machinery of this test
test2: Trigger every change flag at least once
test3: Test that multiple states combine as expected
test4: Test negations (known to produce wrong results)
test5: Test a complex selector (not producing the expected
output atm)
widget-factory.ui:
The real thing: widget-factory+Adwaita. Note that
this expedts to be run with GSETTINGS_BACKEND=memory
Note that test4 checks the wrong results that we currently
produce for selectors involving :not. It will have to be
updated when we fix the handling of :not. The widget-factory.ui
testcase will certainly also be affected.
2020-01-17 23:47:34 -05:00
Matthias Clasen
9de31929d6
Add a test for css change flags
2020-01-17 23:47:34 -05:00
Matthias Clasen
b41bba07fa
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-17 23:47:34 -05:00
Matthias Clasen
0f694b8beb
style tests: Update expected output
...
The printing of css nodes has changed, and the window
is visible now.
2020-01-17 23:47:34 -05:00
Matthias Clasen
7b1ab8fb8b
style tests: Show the window
...
Not doing so somewhat defeats the point that we want
to verify the regular styles, not some weird initial
conditions.
2020-01-17 23:47:34 -05:00
Matthias Clasen
d9b1a1ebb1
style tests: Clean up --generate support
...
Reshuffle things so we don't call gtk_test_init() when --generate
is passed, to avoid polluting the output with test spew.
2020-01-17 23:47:34 -05:00
Matthias Clasen
d4f3979896
node tests: Update expected output
...
The printing of css nodes has changed and the
window is visible now.
2020-01-17 23:47:34 -05:00
Matthias Clasen
2e7cb6019f
node tests: Show the window
...
This avoids using default styles.
2020-01-17 23:47:34 -05:00
Matthias Clasen
f1fce5253e
node tests: Clean up --generate support
...
Reshuffle things so we don't call gtk_test_init() when --generate
is passed, to avoid polluting the output with test spew.
2020-01-17 23:47:34 -05:00
Matthias Clasen
81b65eadcb
Add an Empty theme for tests
2020-01-17 23:47:34 -05:00
Matthias Clasen
1e7705c08e
cssnode: Fix a corner case in style computation
...
When we recomputed the change flags, and the style
did not change, we still need to replace the style
object, since it holds the new change flags.
2020-01-17 23:47:34 -05:00
Matthias Clasen
cc3cf581ab
cssnodedeclaration: Make print output deterministic
...
This was depending on the memory order of quarks, which
is not a good fit for tests that depend on this output.
2020-01-17 23:47:34 -05:00
Matthias Clasen
6e09c5cee8
Quiet compiler warnings in release builds
2020-01-17 23:47:34 -05:00
Matthias Clasen
69fb3648b2
Tweak the file transfer portal _again_
...
This is a neverending story. I was seeing problems in tests where
the nested mainloop was picking up unrelated timeouts.
Break down and make this async. This changes the ordering in which
the (de)serializers are registered. If this is causing issues, we
can introduce priorities or something else.
2020-01-17 23:46:37 -05:00
Matthias Clasen
23f84e3a3d
Merge branch 'gtk-fix-gesture-get-center' into 'master'
...
gtkgesture: Fix gtk_gesture_get_bounding_box_center() for touchpads
Closes #2316
See merge request GNOME/gtk!1257
2020-01-17 21:59:33 +00:00
Yariv Barkan
1a9b1f38a4
demo: Use pinch translation in the gestures demo
...
Add the pinch translation offset to the pinch gesture demo. That allows
moving the square around in addition to the already-supported rotate and
zoom.
2020-01-17 22:34:48 +02:00
Yariv Barkan
00a488a5b5
gtkgesture: Fix get-center for touchpad gestures
...
Touchpad gestures have only a single event sequence. The current
'center' of the gesture is the starting point + accumulated deltas.
Update gtk_gesture_get_bounding_box_center() accordingly.
2020-01-17 22:34:48 +02:00
Matthias Clasen
26c4c28068
Fix a few bugs in the css change flag definition
...
These were found by the new change flag tests.
2020-01-17 11:26:50 -05:00
Timm Bäder
da2e184639
Merge branch 'fix-imwayland-cursor' into 'master'
...
imwayland: Fix get_preedit_string cursor position (GTK4)
Closes #2383
See merge request GNOME/gtk!1328
2020-01-17 09:24:48 +00:00
xdavidwu
9576222b47
imwayland: Fix get_preedit_string cursor position
...
GtkIMContext get_preedit_string should return cursor position counted
in characters, but cursor_begin here is counted in bytes. This add the
missing conversion.
2020-01-17 16:16:13 +08:00
Matthias Clasen
7738a05bd2
Merge branch 'matthiasc/css-change-tracking-3' into 'master'
...
Preliminary css matcher work
See merge request GNOME/gtk!1326
2020-01-17 00:38:04 +00:00
Matthias Clasen
93b5b487ae
cssmatcher: Change get_state to has_state
...
This matches all the other vfuncs, and it gets us
out of keeping several big state flag enumerations
in sync.
Update all callers.
2020-01-16 19:24:43 -05:00
Matthias Clasen
7588655a42
Allow printing css matchers
...
This can help in debugging css matching.
2020-01-16 19:11:21 -05:00
Matthias Clasen
007713c0ba
css: Add a matcher type enum
...
For now, this just replaces the is_any boolean
by a type field in the class. It will be used in
future commits.
2020-01-16 19:11:21 -05:00
Matthias Clasen
f0c1c3349f
css: Simplify the superset matcher
...
We use the superset matcher in exactly one place,
so there is no need for the generality of allowing
to ignore different aspects. Just hardcode the one
case we need: ignoring everything except for name,
id and class.
2020-01-16 19:11:08 -05:00
Matthias Clasen
0dba6e5759
Cosmetic change
...
Update comments for name changes that happened long ago.
2020-01-16 19:10:03 -05:00
Matthias Clasen
60cd7cd96c
css: Fix the ANY matcher state list
...
The ANY and matcher was not, in fact, matching any state,
since the list of states was not up-to-date.
The same fix applies to the superset matcher as well.
2020-01-16 19:09:19 -05:00
Matthias Clasen
2b504201e3
Merge branch 'matthiasc/css-change-tracking-2' into 'master'
...
Better css change tracking
See merge request GNOME/gtk!1325
2020-01-16 23:00:17 +00:00
Matthias Clasen
3fcbe8d5f3
Remove an unused define
...
We no longer use the GTK_CSS_CHANGE_RESERVED_BIT define.
2020-01-16 17:39:03 -05:00
Matthias Clasen
105acfe908
Remove no longer used code
...
We no longer consult the selector tree to find changes,
so this code is no longer needed.
2020-01-16 17:24:34 -05:00
Matthias Clasen
1caf197a0d
css: Don't got to the selector tree for change
...
The tree is optimized for mimizing the decisions, and is built ahead-of-time.
That prevents us from taking advantage of the information in the matcher when
collecting changes.
So, instead do what we used to do for verification: Use the selector tree
for finding the superset matches, then just walk the rulesets to collect
the changes.
Since we are now recomputing the change masks much less frequently, this
slightly less optimized way of computing them is not a problem, and will
let us compute better results in the future, by improving the superset
matcher to be more precise.
2020-01-16 17:20:45 -05:00
Matthias Clasen
0a49726c73
cssprovider: Keep selectors around
...
Don't remove selectors from the rulsets after
creating the selector tree. We want to use them
in future commits.
2020-01-16 17:17:07 -05:00
Benjamin Otte
dd0cc9df9f
Merge branch 'matthiasc/css-change-tracking' into 'master'
...
Better css change handling
See merge request GNOME/gtk!1324
2020-01-16 22:13:57 +00:00
Matthias Clasen
789f6f3941
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
change either, since we are computing change under the assumption that
name and classes are unchanged.
So don't recompute the change. This avoids the second match we do to
find the superset, cutting down the number of times we consult the
selector tree.
2020-01-16 17:03:51 -05:00
Matthias Clasen
2c231f4336
Revisit gtk_css_style_get_static_style one more time
...
Move the implementation to where it belongs.
2020-01-16 17:02:21 -05:00
Matthias Clasen
3c50e5324f
Change the signature of gtk_css_style_get_static_style
...
It is clearer if this function returns a GtkCssStaticStyle.
2020-01-16 14:06:14 -05:00
Matthias Clasen
3182063ffe
Quiet a compiler warning
...
This was causing warnings in a release build.
2020-01-16 13:04:33 -05:00
Matthias Clasen
5910e5ac6d
Merge branch 'static-style-getter' into 'master'
...
css: Add gtk_css_style_get_static_style
See merge request GNOME/gtk!1323
2020-01-16 17:10:31 +00:00
Matthias Clasen
b2b89f6c57
css: Add gtk_css_style_get_static_style
...
This lets us avoid poking directly at the GtkCssAnimatedStyle
struct in gtkcssnode.c.
2020-01-16 12:02:44 -05:00
Matthias Clasen
5ac24db049
Merge branch 'matthiasc/css-split-states' into 'master'
...
Split off some states in css change tracking
See merge request GNOME/gtk!1322
2020-01-16 16:58:23 +00:00
Matthias Clasen
192a24fa1f
css: Track selected state separately
...
Like the previous change, this reduces the number of
css nodes reacting to parent-state changes. The remaining
parent-state cases here are due to :link.
Before (numbers from widget-factory with Adwaita):
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2245
hover 562
disabled 859
backdrop 1080
sibling-name 63
sibling-disabled 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 236
parent-hover 5
parent-disabled 91
parent-backdrop 4
After:
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2245
hover 562
disabled 859
backdrop 1080
selected 579
sibling-name 63
sibling-disabled 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 115
parent-hover 5
parent-disabled 91
parent-backdrop 4
parent-selected 144
2020-01-16 11:26:46 -05:00
Matthias Clasen
2426b9e23a
css: Track backdrop state separately
...
Like the previous change, this reduces the number of
css nodes reacting to parent-state changes.
Before (numbers from widget-factory with Adwaita):
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2247
hover 562
disabled 859
sibling-name 63
sibling-disabled 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 236
parent-hover 5
parent-disabled 91
After:
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2245
hover 562
disabled 859
backdrop 1080
sibling-name 63
sibling-disabled 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 236
parent-hover 5
parent-disabled 91
parent-backdrop 4
2020-01-16 11:25:04 -05:00
Matthias Clasen
64848aebf4
css: Track disabled state separately
...
Significantly reduces the number of nodes that react to
parent-state changes.
Before (numbers from widget-factory with Adwaita):
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2247
hover 2247
sibling-name 63
sibling-state 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 2226
parent-hover 5
After:
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2247
hover 562
disabled 859
sibling-name 63
sibling-disabled 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 236
parent-hover 5
parent-disabled 91
2020-01-16 11:23:25 -05:00
Matthias Clasen
fcceac6d11
css: Track hover state changes separately
...
The idea is that this reduce the amount of frequently
changing state that css nodes are sensitive to.
This is going to reduce the amount of style recomputation.
2020-01-16 11:17:48 -05:00
Matthias Clasen
975f6529b1
Merge branch 'wip/carlosg/x11-dnd' into 'master'
...
X11 dnd fixes.
See merge request GNOME/gtk!1321
2020-01-16 14:29:48 +00:00
Carlos Garnacho
357e215fb8
gdkdrag/x11: Issue XdndLeave on cancellation
...
According to XDND "The XdndLeave message cancels the session.",
issue one when cancelling a drag, so the dest side has an opportunity
to forget about the GdkDrop.
2020-01-16 15:03:24 +01:00
Carlos Garnacho
4716c9ae2f
gdkdrag/x11: Drop timestamp argument from gdk_drag_do_leave()
...
This is not necessary for the XdndLeave message, nor used.
2020-01-16 15:02:16 +01:00
Carlos Garnacho
5aad3d7d0e
gdk/x11: Ensure to hide DnD surface after failed operation
...
The drag source might be cached and held alive, only disposed after
future drag begin operations. Ensure the drag surface gets hidden
properly or might might stay transparent but mapped till then.
2020-01-16 13:34:08 +01:00
Carlos Garnacho
fe36c24b07
gdk/x11: Ensure to sync type list after sending XdndEnter
...
Otherwise we are not ensured the GdkDrop is up-to-date, might even
be a stale one from an older DnD operation.
2020-01-16 13:33:57 +01:00
Carlos Garnacho
682068f887
gdk/x11: Serialize gtype content formats before sending Xdnd enter
...
This ensures GType handlers get serialized to mimetypes at the time
the drag dest inspects the XdndTypeList property.
2020-01-16 13:31:40 +01: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
Christian Hergert
15b5a404b8
textview: add undo/redo menu actions
2020-01-13 15:25:05 -08:00
nana-4
4056a40d2d
Adwaita: Fix syntax error in cross-fade()
...
cross-fade() requires two images.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2371
2020-01-14 06:19:12 +09:00
Christian Hergert
c1e9523f0e
build: fix gtkdragicon header installation
2020-01-13 09:07:24 -08:00
Daniel Mustieles
4c1ccfd7be
Updated Spanish translation
2020-01-13 16:51:22 +01:00
Daniel Mustieles
823e00dec9
Updated Spanish translation
2020-01-13 16:50:21 +01:00
Timm Bäder
3e51966ea9
Merge branch 'wip/jimmac/updated-checkmark' into 'master'
...
Adwaita: update checkbox & radio
Closes #2291
See merge request GNOME/gtk!1289
2020-01-13 14:12:51 +00:00
Jakub Steiner
e292767a01
Adwaita: update checkbox & radio
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2291
2020-01-13 13:45:34 +01:00
Matthias Clasen
75c433fb5f
Merge branch 'closure-annotations' into 'master'
...
Fix incorrect use of GIR closure annotations.
See merge request GNOME/gtk!1305
2020-01-13 05:00:12 +00:00
Robert Ancell
83867f9cbf
Add missing (closure) GIR annotations
2020-01-13 14:26:50 +13:00
Robert Ancell
ea9f0df67b
Fix incorrect use of GIR closure annotations.
...
They were being applied to the callback function, not the data that is passed
to that function.
2020-01-13 14:11:15 +13:00
Matthias Clasen
15c7980ba6
Merge branch 'textbuffer-missing-api-docs' into 'master'
...
Add missing public API documentation.
See merge request GNOME/gtk!1301
2020-01-13 00:51:24 +00:00
Matthias Clasen
de5fde1e12
Merge branch 'menutoolbutton-missing-api-docs' into 'master'
...
menutoolbutton: Add missing public API documentation.
See merge request GNOME/gtk!1303
2020-01-13 00:50:58 +00:00
Matthias Clasen
a83b360224
Merge branch 'docstring-typos' into 'master'
...
Fix docstring errors with drag and drop code
See merge request GNOME/gtk!1304
2020-01-13 00:50:16 +00:00
Matthias Clasen
4d55d23c1a
Merge branch 'missing-transfer-notation' into 'master'
...
Add missing transfer notation for function return types.
See merge request GNOME/gtk!1302
2020-01-13 00:49:25 +00:00
Robert Ancell
2b6162116d
Fix docstring errors with drag and drop code
2020-01-13 12:30:17 +13:00
Robert Ancell
b2ca947934
textbuffer: Add missing public API documentation.
...
This API was added in a52757874e .
2020-01-13 12:19:43 +13:00
Robert Ancell
3eaf88b84c
menutoolbutton: Add missing public API documentation.
...
This API was added in 03e30431a8
2020-01-13 12:17:55 +13:00
Robert Ancell
9e9eae3ad4
Add missing transfer notation for function return types.
2020-01-13 12:14:08 +13:00
Matthias Clasen
903afcbddd
Adwaita: Fix needs-attention
...
Stack switchers are now stackswitcher, no longer .stack-switcher.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2370
2020-01-11 20:14:35 -05:00
Piotr Drąg
d37612a476
Update POTFILES.in
2020-01-11 16:07:48 +01:00
Matthias Clasen
f5daecf353
Merge branch 'dnd-gestures-2' into 'master'
...
Add new dnd api
See merge request GNOME/gtk!1278
2020-01-11 06:09:58 +00:00
Matthias Clasen
b76940bab5
dragdest: More documentation
2020-01-11 00:50:22 -05:00
Matthias Clasen
ec255f9bb1
Update all callers
2020-01-11 00:50:22 -05:00
Matthias Clasen
9dc6be4fb0
Reshuffle droptarget api a little bit
...
Add a ::drag-motion signal back, remove x,y from
the ::accept signal, and only emit ::accept once.
2020-01-11 00:49:59 -05:00
Matthias Clasen
186b783f9d
Merge branch 'wip/chergert/gtk4-gtk-main-sync' into 'master'
...
Rubustness fixes for gtk_main_sync()
See merge request GNOME/gtk!1299
2020-01-11 04:41:46 +00:00
Christian Hergert
2f3518c80d
gtkmain: be deterministic in source removal
...
Fixes gtk_main_sync() to only remove a source if it has not
already executed (and been removed). The previous code was
using gtk_main_quit() directly which would be non-determinstic
based on the previous value in the return register.
2020-01-10 15:04:44 -08:00
Christian Hergert
4a7f68e79e
gtkmain: short-circuit gtk_main_sync() where no display
...
If there is no display, we will hit the slow path here which
can introduce long latencies in unit tests. This checks for
a NULL list of displays and simply short-circuits.
2020-01-10 15:00:10 -08:00
Matthias Clasen
65af983ddb
Merge branch 'css-font-values' into 'master'
...
Css font values
See merge request GNOME/gtk!1298
2020-01-10 22:47:41 +00:00
Matthias Clasen
f0dc5e0be5
css: Simplify font features
...
Don't store numbers as GtkCssValues needlessly.
2020-01-10 16:59:56 -05:00
Alex Samorukov
f0cbd175cd
gdk_quartz_keymap_translate_keyboard_state fills consumed_modifiers
...
incorrectly (closes #2102 )
See merge request GNOME/gtk!1225
2020-01-10 22:18:24 +01:00
Matthias Clasen
99aa47185e
css: Simplify compute for font variations
...
Just like font features, font variations are stored
as a hash table mapping strings to pure number values,
which never change during compute.
2020-01-10 15:49:00 -05:00
Matthias Clasen
898e29c989
css: Simplify compute for font features
...
Font features consist of a hash table of number
values, which will never change during compute,
so there is no point in recreating a new value
with a copy of the hash table, constaining the
same string->number mapping.
2020-01-10 15:48:51 -05:00
Matthias Clasen
cf1700fd13
Merge branch 'kill-builtin-image' into 'master'
...
Kill builtin image
See merge request GNOME/gtk!1297
2020-01-10 19:43:14 +00:00
Matthias Clasen
112aed590f
Remove builtin icons altogether
...
This removes support for GtkCssImageBuiltin and
GtkCssImageBuiltinType from everywhere.
2020-01-10 14:34:56 -05:00
Matthias Clasen
6763443c5d
css: Stop supporting builtin images
...
Change the default value of -gtk-icon-source to 'none',
and stop parsing 'builtin' as a value.
2020-01-10 14:32:06 -05:00
Dušan Kazik
7d99339c39
Update Slovak translation
2020-01-10 06:47:50 +00:00
Matthias Clasen
f33fe6daed
testdnd: Fix up for current api
2020-01-09 10:29:33 -05:00
Matthias Clasen
c7dc17d837
docs: Expand the dnd migration hints
2020-01-09 07:47:28 -05:00
Matthias Clasen
a51ee20ed9
dragicon: Add docs
2020-01-09 00:50:33 -05:00
Matthias Clasen
8d3e1eb314
docs: Fix a typo
2020-01-09 00:31:13 -05:00
Matthias Clasen
c941a2d9c6
Properly export GtkDragIcon
...
The get_type function was missing.
2020-01-09 00:30:41 -05:00
Matthias Clasen
1c03bbeb9c
Update all users
2020-01-08 18:48:23 -05:00
Matthias Clasen
a4059cd02d
dragdest: Rename ::drag-motion to ::accept
2020-01-08 18:48:23 -05:00
Matthias Clasen
eab6df31ac
dragdest: Allow denying drops asynchronously
...
Add an api to deny a drop, this is meant to be used
when delaying the decision on whether to accept a
drop until after reading the data.
2020-01-08 18:48:23 -05:00
Matthias Clasen
8a085fcc5a
remove debug spew
2020-01-08 18:48:23 -05:00
Matthias Clasen
7668669d56
dragdest: Add a ::drag-enter signal
...
Mainly for symmetry with ::drag-leave.
2020-01-08 18:48:22 -05:00
Matthias Clasen
5e57b3d07a
testdnd2: Fix the text case
...
We must take mime types into account when checking.
2020-01-08 18:48:22 -05:00
Matthias Clasen
187a701a99
content provider impl: Take mime types into account
2020-01-08 18:48:22 -05:00
Matthias Clasen
d5f4579384
dragdest: Steps towards allowing nested drop sites
2020-01-08 18:48:22 -05:00
Matthias Clasen
0297039b38
Add another dnd testcase
...
This one tests nested drop sites and interaction between
DND and other gestures.
2020-01-08 18:48:22 -05:00
Matthias Clasen
5206a92522
Update all callers
2020-01-08 18:48:22 -05:00
Matthias Clasen
233ec1a5d6
Add GdkDrop back to signal signatures
2020-01-08 18:48:22 -05:00
Matthias Clasen
579d8e427b
Drop gtk_drag_(un)highlight
2020-01-08 18:48:22 -05:00
Matthias Clasen
9c11c60530
filechooser: Remove code for sidebar pre-arming
...
This is just not a feature we can support currently.
Doing it properly would require infrastructure for
a generalized :drag(sensitive) state highlighting
potential drag sites everywhere.
2020-01-08 18:48:22 -05:00
Matthias Clasen
66c8da4750
listbox: Stop using gtk_drag_(un)highlight
...
This api is going away, so just do what needs to
be done manually.
2020-01-08 18:48:22 -05:00
Matthias Clasen
05a9b72fc8
calendar: Remove drag highlighting calls
...
This is happening unconditionally, anyway.
2020-01-08 18:48:22 -05:00
Matthias Clasen
4fe5710456
textview: Remove unnecessary drag highlighting
...
GTK does this unconditionally anyway, now.
2020-01-08 18:48:22 -05:00
Matthias Clasen
ac5b4a6307
text: Remove unnecessary drag highlighting
...
GTK does this unconditionally anyway, now.
2020-01-08 18:48:22 -05:00
Matthias Clasen
5ce7bfbbd8
notebook: Receive tab dnd on the tabs
...
Don't make the whole notebook a drop target
for tab dnd, but just the tab bar. This will
help with drag highlighting, and it arguably
more correct anyway.
2020-01-08 18:48:22 -05:00
Matthias Clasen
7646d1b22c
Adwaita: No drag highlight for placessidebar
...
It does its own custom thing.
2020-01-08 18:48:22 -05:00
Matthias Clasen
61db81ab8e
Adwaita: No dnd highlight for iconviews
...
We only want to highlight the drop location
that is rendered with a separate css node now.
2020-01-08 18:48:22 -05:00
Matthias Clasen
24d7586163
iconview: Use a named subnode for dnd highlight
...
This is necessary because we want to style the
iconview itself and the item highlighting differently.
2020-01-08 18:48:22 -05:00
Matthias Clasen
b150625105
Adwaita: No dnd highlight for treeviews
...
We only want to highlight the drop location
that is rendered with a separate css node now.
2020-01-08 18:48:22 -05:00
Matthias Clasen
5787146238
treeview: Use a named subnode for dnd highlight
...
This is necessary because we want to style the
treeview itself and the row highlighting differently.
2020-01-08 18:48:22 -05:00
Matthias Clasen
8a72031e99
Adwaita: No drag highlight for stack switchers
2020-01-08 18:48:22 -05:00
Matthias Clasen
201a791076
Adwaita: No drag highlight for expanders
...
This is pretty ugly, because Adwaita has a very
generic drop-highlight implementaiton that we
need to overrule.
2020-01-08 18:48:22 -05:00
Matthias Clasen
359003670a
dragdest: Rename ::armed to ::contains
2020-01-08 18:48:22 -05:00
Matthias Clasen
6b7c5174ed
gtk-demo: Update the ::prepare handler
2020-01-08 18:48:22 -05:00
Matthias Clasen
8a521accbc
dragsource: Change the ::prepare return type
...
Make it return the content provider to use for
the next drag. This allows just-in-time provision
of the content provider. The default handler just
returns the value of the ::content property.
2020-01-08 18:48:22 -05:00
Matthias Clasen
d116bbf0c8
docs: Expand the GDK dnd docs
2020-01-08 18:48:22 -05:00
Matthias Clasen
42e440a111
docs: Add GtkDragIcon
2020-01-08 18:48:22 -05:00
Matthias Clasen
13adb2591c
docs: Add GtkDropTarget section
2020-01-08 18:48:22 -05:00
Matthias Clasen
7b73824dfe
docs: Remove dropped drag source apis
2020-01-08 18:48:22 -05:00
Matthias Clasen
403aba82a9
docs: Remove the dnd section
...
These functions in this section are all gone.
2020-01-08 18:48:22 -05:00
Matthias Clasen
a053d7ddb1
dragsource: Drop gtk_drag_source_drag_begin
...
No longer used. Also, minor cleanups all over.
2020-01-08 18:48:22 -05:00
Matthias Clasen
c878f650ce
dragksource: Small doc fix
2020-01-08 18:48:22 -05:00
Matthias Clasen
2d2cdeae88
Drop GTK content formats apis
...
These functions have been superseded by better
facilities in GDK.
2020-01-08 18:48:22 -05:00
Matthias Clasen
009228471c
testdnd2: Use GDK content formats api
2020-01-08 18:48:22 -05:00
Matthias Clasen
379166e1ff
text: Use GDK content formats API
2020-01-08 18:48:22 -05:00
Matthias Clasen
a59a20c1d4
placessidebar: Use GDK content formats api
2020-01-08 18:48:22 -05:00
Matthias Clasen
fb4b5c666b
filechooserwidget: Use GDK content formats api:
2020-01-08 18:48:22 -05:00
Matthias Clasen
b59c70aaeb
filechooserbutton: Use GDK content formats api
2020-01-08 18:48:22 -05:00
Matthias Clasen
6fcae42dde
calendar: Use GDK content formats api
2020-01-08 18:48:22 -05:00
Matthias Clasen
2ee087f25f
iconbrowser: Use GDK content formats api
2020-01-08 18:48:22 -05:00
Matthias Clasen
9cc29efa25
gtk-demo: Use GDK content formats api
2020-01-08 18:48:22 -05:00
Matthias Clasen
a04d314910
text: Fix dragging of text across focus changes
...
When dragging selected text from an entry over a stackswitcher
to show a different page, the focus changes, causing the selection
to be lost; we should not lose the dragged content in this case.
2020-01-08 18:48:22 -05:00
Matthias Clasen
f83f7a2b4d
Adwaita: Add drop highlight for iconview items
2020-01-08 18:48:22 -05:00
Matthias Clasen
edb175cf75
iconview: Render drop highlight properly
...
Use :drop(active) and render a frame, not focus.
2020-01-08 18:48:22 -05:00
Matthias Clasen
1eefaf8b41
dragsource: Fix cancellation
...
We need to properly end the drag.
2020-01-08 18:48:22 -05:00
Matthias Clasen
0224517806
filechooser: Stop using gtk_drag_source_get_drag
2020-01-08 18:48:22 -05:00
Matthias Clasen
27c521cce8
placessidebar: Update a comment
2020-01-08 18:48:22 -05:00
Matthias Clasen
62b87182c5
Remove an unused enum
...
We are not using GtkDragResult anymore.
2020-01-08 18:48:22 -05:00
Matthias Clasen
c95659bf32
testdnd2: Update to the api change in the previous commit
2020-01-08 18:48:22 -05:00
Matthias Clasen
865fc9c925
dragsource: Rename ::drag-failed to ::drag-cancel
...
This matches the names of the GdkDrag signals.
2020-01-08 18:48:22 -05:00
Matthias Clasen
a1f4f52fcb
dragsource: Tweak docs more
2020-01-08 18:48:22 -05:00
Matthias Clasen
bdb4bf00c5
dragsource: Document prepare
2020-01-08 18:48:22 -05:00
Matthias Clasen
aca252837d
dragsource: Make ::prepare return a boolean
...
Make ::prepare return TRUE to start a drag.
The default handler simply checks that we
have a content provider and actions.
2020-01-08 18:48:22 -05:00
Matthias Clasen
8b058572f0
dragsource: Drop gtk_drag_get_source
2020-01-08 18:48:22 -05:00
Matthias Clasen
df050c51bb
notebook: Stop using gtk_drag_get_source
2020-01-08 18:48:21 -05:00
Matthias Clasen
bd20ae4fa5
dragsource: Drop gtk_drag_source_get_origin
2020-01-08 18:48:21 -05:00
Matthias Clasen
818b456f9f
filechooserwidget: Stop using gtk_drag_source_get_origin
2020-01-08 18:48:21 -05:00
Matthias Clasen
c1c8abf275
notebook: Stop using gtk_drag_source_get_origin
2020-01-08 18:48:21 -05:00
Matthias Clasen
c1029535ca
testtoolbar: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
a5ca5eb865
testlist3: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
2227d2a2b5
testdnd2: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
61559e38f4
testdnd: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
134fca47e3
pathbar: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
4630dd8d68
notebook: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
d2f7d1b1d7
linkbutton: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
cfa9e6da4a
colorswatch: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
ceca2f9202
colorbutton: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
bf98ebcb12
iconbrowser: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
1a5dece09c
gtk-demo: Use gtk_widget_add_controller for drag source
2020-01-08 18:48:21 -05:00
Matthias Clasen
8e8254feae
filechooserwidget: wip
2020-01-08 18:48:21 -05:00
Matthias Clasen
90cda9e307
treeview: Use gdk_drag_begin
2020-01-08 18:48:21 -05:00
Matthias Clasen
fdfa371d90
iconview: Use gdk_drag_begin
...
This is a little more involved here.
2020-01-08 18:48:21 -05:00
Matthias Clasen
deb16c1a00
Make GtkDragSource a gesture
2020-01-08 18:48:21 -05:00
Matthias Clasen
8c3736709e
notebook: Use gdk_drag_begin
...
Use gdk_drag_begin for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
f459164f8a
placessidebar: Use gdk_drag_begin
...
Use gdk_drag_begin for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
00169a06bf
textview: Use gdk_drag_begin
...
Use gdk_drag_begin for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
e09f2b8b56
entry: Use gdk_drag_begin
...
Use gdk_drag_begin for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
092c115ff0
text: Use gdk_drag_begin
...
Use gdk_drag_begin directly for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
5144d15168
calendar: Use gdk_drag_begin
...
Use gdk_drag_begin directly for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
5a6ab8cbd3
label: Use gdk_drag_begin
...
Use gdk_drag_begin directly for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
8c73f882af
dragsource: Use public drag icon api
2020-01-08 18:48:21 -05:00
Matthias Clasen
78832c65b5
Make GtkDragIcon public
...
This is needed if we want to use gdk_drag_begin
for one-off drags, without a GtkDragSource.
2020-01-08 18:48:21 -05:00
Matthias Clasen
e8b830a3dd
dragsource: Reshuffle api a bit
...
Remove arguments from the constructor.
For actions, we now default to COPY, which is the most common one
that we should enable by default (MOVE requires handling deletion
on the the source side, and ASK only makes sense if we have
multiple actions).
For the content provider, we add a new ::prepare signal where
it should be provided just-in-time.
2020-01-08 18:48:21 -05:00
Matthias Clasen
38974d7d2b
dragsource: Tweak api, update all callers
...
Add GdkDrag back to signals, drop ::drag-data-delete,
and replace it with a boolean in ::drag-end.
2020-01-08 18:48:21 -05:00
Carlos Garnacho
f6f331efe3
gdk/x11: Forward suggested action (if any) to XdndStatus
...
Go ahead with the suggested action, so the drag source may update
cursor feedback properly, and eventually result in the correct
action.
2020-01-08 18:48:21 -05:00
Carlos Garnacho
dbb3727b03
popover: Use g_signal_connect_object on parent widget signal
...
The popover may be destroyed, leaving this dangling signal. This
may cause crashes on future parent widget resizes.
2020-01-08 18:48:21 -05:00
Matthias Clasen
508570864d
Remove gtk_drop_target_get_target
...
Now that drop targets are event controllers,
we can just use gtk_event_controller_get_widget.
Update all callers.
2020-01-08 18:48:21 -05:00
Matthias Clasen
96c77b61c1
Remove an unused signal
2020-01-08 18:48:21 -05:00
Matthias Clasen
2b819c830b
docs: Tweak GtkDropTarget docs
2020-01-08 18:48:21 -05:00
Matthias Clasen
f3be49838f
Move code over
...
Move remaining code from gtkdnd.c to gtkdragdest.c
and nuke gtkdnd.c and gtkdndprivate.h.
2020-01-08 18:48:21 -05:00
Matthias Clasen
e9067ae2db
Replace gtk_drop_target_attach/detach
...
Since drop targets are now just event controller,
gtk_widget_add/remove_controller works just fine
for them.
2020-01-08 18:48:21 -05:00
Matthias Clasen
f898bee032
Use normal event propagation for DND events
...
This works just fine, now that drop targets are
event controllers. There is only a very vestigial
gtk_drag_dest_handle_event() left that deals with
corner cases.
2020-01-08 18:48:21 -05:00
Matthias Clasen
6a7f39e6d2
Get rid of GtkDragDestInfo
...
We can just attach the GtkDropTarget directly to
the GdkDrop.
2020-01-08 18:48:21 -05:00
Matthias Clasen
dfb2cbdfdb
Turn GtkDropTarget into an event controller
...
We are still propagating the drag events manually,
but we are now calling gtk_widget_run_controllers
to pass them to drop targets.
2020-01-08 18:48:21 -05:00
Matthias Clasen
f960eb6ab4
More internal restructuring
2020-01-08 18:48:21 -05:00
Matthias Clasen
60fc2c6a7a
dnd: Another internal refactoring step
2020-01-08 18:48:21 -05:00
Matthias Clasen
3080592234
gdk: Make gdk_event_set_coords support dnd events
...
GTK event propagation code relies on this working.
2020-01-08 18:48:21 -05:00
Matthias Clasen
532fdde720
dnd: More internal restructuring
2020-01-08 18:48:21 -05:00
Matthias Clasen
f8399588e9
dnd: Some internal restructuring
...
Nudge the code towards being like event controllers.
2020-01-08 18:48:20 -05:00
Matthias Clasen
ad019be75b
Drop an unused define
2020-01-08 18:48:20 -05:00
Matthias Clasen
e505dab487
Stop passing timestamps around
...
We were not using these in a useful way in the end,
so stop passing them around.
2020-01-08 18:48:20 -05:00
Matthias Clasen
1262184269
droptarget: Drop the track-motion property
...
It does not have any effect anymore.
Update all callers
2020-01-08 18:48:20 -05:00
Matthias Clasen
46f42fc53d
droptarget: Drop defaults flags
...
These no longer have any effect.
Update all callers.
2020-01-08 18:48:20 -05:00
Matthias Clasen
cb26cd7391
Simplify some drag dest internals
...
Change things around to make the default handler
of GtkDropTarget::drag-motion implement the default
handling. Always emit ::drag-motion and ::drag-leave,
and always arm the drop target.
This makes the GTK_DEST_DEFAULT_MOTION flag and
the ::track-motion property unnecessary.
Drop targets that are purely after track-motion
handling for ui switching purposes, such as
GtkStackSwitcher, will have to undo the automatic
arming in a notify::armed handler.
2020-01-08 18:48:20 -05:00
Matthias Clasen
1a3eeb1233
Drop GTK_DEST_DEFAULT_HIGHLIGHT
...
Redo highlight handling slightly. GtkDropTarget now has
a ::armed property that can be tracked to do custom highlighting,
and we always add the dnd style class to armed drop sites.
2020-01-08 18:48:20 -05:00
Matthias Clasen
e1f74c8f69
dragdest: Clean up internals
...
Remove the no-longer needed GtkDragDest struct
and just attach the GtkDropTarget directly.
2020-01-08 18:48:20 -05:00
Matthias Clasen
58106af54d
testdnd2: Add a test for ASK handling
...
It is a bit unfortunate that we need to extend the
lifespan of the drop object by keeping our own
ref, but I don't see a better way of doing it.
2020-01-08 18:48:20 -05:00
Matthias Clasen
1e000c3dac
Remove gtkdnd.h
2020-01-08 18:48:20 -05:00
Matthias Clasen
19ee9b4c57
Remove gdk_drag_get_data
...
This is not used anymore, so we can remove it,
and the GtkDropTarget::drag-data-received signal
that it emits.
2020-01-08 18:48:20 -05:00
Matthias Clasen
1075607528
treeview: Stop using ::drag-data-received
2020-01-08 18:48:20 -05:00
Matthias Clasen
d2bd9b0850
iconview: Avoid drag-data-received
2020-01-08 18:48:20 -05:00
Matthias Clasen
74d445636c
testtreednd: Use the new asyn selection read
2020-01-08 18:48:20 -05:00
Matthias Clasen
7048790931
testlist3: Use async read api for selection
2020-01-08 18:48:20 -05:00
Matthias Clasen
b9034015d7
filechooser: Convert to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
c7b70b122a
placessidebar: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
6e01a49d10
iconview: Port to GtkDropTarget
...
A small api change here is that
gtk_icon_view_enable_model_drag_dest now returns
a GtkDropTarget that can be used to connect signals.
2020-01-08 18:48:20 -05:00
Matthias Clasen
c290bd6367
Add an async read function for selection
...
This is meant as a replacement for ::drag-data-received
in cases where a #GtkSelectionData object is still needed,
such as when using GtkTreeModel DND support.
2020-01-08 18:48:20 -05:00
Matthias Clasen
853063bea7
Remove old drag dest api
2020-01-08 18:48:20 -05:00
Matthias Clasen
69e3fee5e2
Move some remaining api over
2020-01-08 18:48:20 -05:00
Matthias Clasen
aa276a181e
listbox: Remove unhighlighting
...
This will have to be done differently, if necessary.
2020-01-08 18:48:20 -05:00
Matthias Clasen
583705b4ae
notebook: Convert to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
cd7303d47c
testtreednd: Convert to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
0f9cbf49ac
testnotebookdnd: Fix, partially
...
Make this mostly work again.
2020-01-08 18:48:20 -05:00
Matthias Clasen
a309e74be7
testtoolbar: Convert to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
ccaf70e1b7
testlist3: Convert to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
2fd9431f23
testdnd: Convert to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
3f33a0ed27
testdnd2: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
4ea18a22e6
treeview: Port to GtkDropTarget
...
A small api change here is that
gtk_tree_view_enable_model_drag_dest now returns
a GtkDropTarget that can be used to connect signals.
2020-01-08 18:48:20 -05:00
Matthias Clasen
746dc5c3a2
textview: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
17131f1137
filechoserbutton: Convert to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
07c889c5ea
stackswitcher: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
b0d9a6ff20
expander: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
802c7975e2
window: Port to GtkDragDest
2020-01-08 18:48:20 -05:00
Matthias Clasen
6e602e052b
text: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
025eee112c
colorswatch: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
70cdd4e951
colorbutton: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
75b789f20f
calendar: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
ac09500d74
gtk-demo: Convert clipboard demo to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
a76b187a5b
drop: Add a convenience api
...
This is a question that drag-drop handlers frequently
need to answer, so make it easy.
2020-01-08 18:48:20 -05:00
Matthias Clasen
45679d7bc3
dragdest: doc improvements
2020-01-08 18:48:20 -05:00
Matthias Clasen
6dc8fc3a4d
Add a GtkDropTarget object
...
Add an explicit GtkDropTarget object, and move the destination-side
DND signals here. The object is used by connecting to its signals
and attaching it to a widget with gtk_drop_target_attach().
2020-01-08 18:48:20 -05:00
Matthias Clasen
e53e0f461e
Hook up the GtkDragSource docs
2020-01-08 18:48:20 -05:00
Matthias Clasen
37b849b808
Move the rest of the drag-source api over
...
Just reshuffling some source.
2020-01-08 18:48:20 -05:00
Matthias Clasen
e03bdbe307
docs: Mention DND in the migration guide
2020-01-08 18:48:20 -05:00
Matthias Clasen
9b01d9a784
Remove traditional drag source API
...
gtk_drag_source_set, gtk_drag_begin, related apis
and the GtkWidget source-side signals have all been
replaced by GtkDragSource.
2020-01-08 18:48:20 -05:00
Matthias Clasen
b4c689ecd6
tests: Convert to GtkDragSource
...
Some tests, such as testimage did not have
anything particularly worth keeping, so
were removed instead of fixed.
2020-01-08 18:48:19 -05:00
Matthias Clasen
78a0913f0f
notebook: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
74722fb10e
filechooser: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
3891ce36fe
treeview: Port to GtkDragSource
...
A small api change here is that
gtk_tree_view_enable_model_drag_source now returns
a GtkDragSource that can be used to connect signals.
2020-01-08 18:48:19 -05:00
Matthias Clasen
5a940408fe
placessidebar: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
efce8c2899
iconview: Port to GtkDragSource
...
A small api change here is that
gtk_icon_view_enable_model_drag_source now returns
a GtkDragSource that can be used to connect signals.
2020-01-08 18:48:19 -05:00
Matthias Clasen
ea9f2abcc4
Add another callback-based provider
...
This one can be used in cases where data needs
to be served in multiple formats that may not
all be covered by content serializers.
2020-01-08 18:48:19 -05:00
Matthias Clasen
993d6388ee
iconbrowser: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
5ad4b75ae2
gtk-demo: Convert the clipboard demo to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
24ef9df0f1
pathbar: Convert to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
5d49b11ffd
colorswatch: Convert to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
8e3db48482
colorbutton: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
fdcfe0e80a
Add a generic callback content provider
...
This one is convenient to use in cases where a
drag is just serving an existing GType which
is covered by content serializers.
2020-01-08 18:48:19 -05:00
Matthias Clasen
8137dea8c1
Add (de)serializers for GdkRGBA
...
This is a format that we use in various
color picker widgets, so support it in GDK.
2020-01-08 18:48:19 -05:00
Matthias Clasen
b15c31a3f7
textview: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
a52757874e
textbuffer: Add a content provider api
...
We need a content provider for the selection,
to implement DND, and the text buffer already
has one. Just add an api to get it.
2020-01-08 18:48:19 -05:00
Matthias Clasen
e9203eeef7
text: Convert to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
337057eb35
entry: Port icon dnd to GtkDragSource
...
This requires a small change in the api,
since we need to provide a GdkContentProvider now.
2020-01-08 18:48:19 -05:00
Matthias Clasen
2803a15a51
calendar: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
d145032cb6
linkbutton: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
2612331282
label: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Matthias Clasen
d3fd071809
dnd: Patch up gtk_drag_get_source_widget
...
This is temporary until gtk_drag_dest_set users
have been ported over.
2020-01-08 18:48:19 -05:00
Matthias Clasen
303c9becf8
Add a GtkDragSource object
...
Add an explicit GtkDragSource object, and move the source-side
DND signals here. The object can be used on the spot, by calling
gtk_drag_source_drag_begin() yourself, or for static drag-source
configuration, by calling gtk_drag_source_attach(). In the latter
case, we set up and conect a drag gesture to trigger the drag_begin
call.
2020-01-08 18:48:19 -05:00
Matthias Clasen
6bf46c8f30
marshalers: Add another
2020-01-08 18:48:19 -05:00
Timm Bäder
1e2c03beee
rename CODE-OWNERS to CODEOWNERS
...
gitlab reads the new filename but not the old one.
2020-01-08 21:03:15 +01:00
Emmanuele Bassi
b24e10fa30
Merge branch 'fixed-fixed' into 'master'
...
fixed layout: Actually set child transforms
See merge request GNOME/gtk!1292
2020-01-08 15:46:19 +00:00
Matthias Clasen
173952cbc8
fixed layout: Actually set child transforms
...
The code was unintentionally appending to the
existing child transform, leading to ever-moving
children when you call gtk_fixed_put.
2020-01-08 10:40:44 -05:00
Alex Samorukov
b31f4f2bae
Merge branch 'master-fix-set-functions' into 'master'
...
quartz: impl_class->set_functions listed twice in the object
See merge request GNOME/gtk!1283
2020-01-08 14:15:45 +00:00
Alex Samorukov
df9d9c1f8a
impl_class->set_functions listed twice in the object
2020-01-08 14:15:45 +00:00
Alex Samorukov
7dcb25bd46
Merge branch 'master-eventloop-fix' into 'master'
...
Move `[NSApplication sharedApplication]` after event loop init to avoid window focus issues (closes #2342 ).
See merge request GNOME/gtk!1286
2020-01-08 14:10:06 +00:00
Alex Samorukov
d131c8d0e7
move [NSApplication sharedApplication] after _gdk_quartz_events_init() to avoid initialization issues
...
(cherry picked from commit 46c2451c5a3cd42aa5a94935bfc850a484288ff3)
2020-01-08 14:10:06 +00:00
Timm Bäder
0582a4ef1b
Merge branch 'check-for-sincosf' into 'master'
...
gsk/gsktransform.c: Fix building on non-GCC
See merge request GNOME/gtk!1291
2020-01-08 09:27:51 +00:00
Chun-wei Fan
a9b1d4a389
build: Check for sincosf()
...
sincosf() is really a GCC-specific function that may more may not be
supported on non-GCC compilers, so we want to check for it, otherwise we
use a fallback implementation, not unlike the one in
demos/gtk-demo/gtkgears.c.
2020-01-08 17:15:29 +08:00
Timm Bäder
ea810f176b
gl renderer: Handle repeat nodes with invisible children
...
We can handle this pretty easily by normally drawing the other
(visible) child node, if any.
2020-01-07 17:27:19 +01:00
Timm Bäder
262ac4247a
testsuite: Add a testcase for blend nodes with invisible children
2020-01-07 17:27:19 +01:00
Timm Bäder
8e4f0b9484
sizerequest: Remove _gtk_widget_get_preferred_size_and_baseline
...
Private and unused function.
2020-01-07 17:27:19 +01:00
Timm Bäder
7669e6e42e
transform: Properly compare scale transforms
...
If the epsilon we use there is too much, we can run into rendering
errors because the GPU will use the actual scale value.
2020-01-07 17:27:19 +01:00
Timm Bäder
a3f14a3395
rendernodepaintable: ceil() bounds for intrinsic size
...
Otherweise we floor() implicitly when casting to int, resulting in
slight scaling later.
2020-01-07 17:27:19 +01:00
Timm Bäder
73b8212bf3
label: Fix assumptions regaring link
2020-01-07 17:27:18 +01:00
Timm Bäder
6ba6f361be
gltextureatlas: Packing must succeed here
2020-01-07 17:27:18 +01:00
Timm Bäder
726909d735
Window: Avoid some redundant assignments
2020-01-07 17:27:18 +01:00
Timm Bäder
04899e3707
colorswatch: Avoid redundant assignment
2020-01-07 17:27:18 +01:00
Timm Bäder
7a27122dab
transform: Scale+translate bounds directyl
...
Make these two code paths look the same.
2020-01-07 17:27:18 +01:00
Timm Bäder
73ce437459
widget: Use cssnode api to get the filter value
...
it's confusing that we use GtkStyleContext here while we use the CssNode
directly elsewhere.
2020-01-07 17:27:18 +01:00
Timm Bäder
ca4ae81170
transform: Compare class before ->next
2020-01-07 17:27:18 +01:00
Timm Bäder
21a7dfae96
snapshot: Only normalize rectangle if we have to
...
We can even replace the comment this way.
2020-01-07 17:27:18 +01:00
Timm Bäder
6c188f7c93
bin: Move vfunc implementations before class_init
...
And avoid every single function prototype.
2020-01-07 17:27:18 +01:00
Timm Bäder
c30e0f78ad
bin: Avoid some type checks
2020-01-07 17:27:18 +01:00
Timm Bäder
76795ffba9
gl renderer: Sprinkle some const around
2020-01-07 17:27:18 +01:00
Timm Bäder
c38c5c4ce1
text: Reset cursor opacity when unmapping
...
Otherwise we might get mapped again with a half-transparent cursor.
2020-01-07 17:27:18 +01:00
Timm Bäder
108aac9ee3
scrolledwindow: Don't snapshot junction if we use indicators
...
The junction doesn't make sense when we use indicators, since the
scrollbars overlap anyway. Not snappshotting it anymore has no visual
effect since it's being drawn below the scrollbars anyway.
2020-01-07 17:27:18 +01:00
Timm Bäder
c427c2b22a
cssimagelinear: Don't call get_start_end if !repeating
...
This makes it clear that the !repeating case is easier.
2020-01-07 17:27:18 +01:00
Timm Bäder
59111d100f
cssimagelinear: Avoid computing the length if we know it
...
We handlet the common easy cases manually anyway, so don't bother
sqrt()ing the x/y coords in those cases.
2020-01-07 17:27:18 +01:00
Timm Bäder
cee8f78c6e
toolitem: Remove unused members
2020-01-07 17:27:18 +01:00
Timm Bäder
0fc35b2124
toolitem: Plug memory leak
2020-01-07 17:27:18 +01:00
Timm Bäder
eebe67cf0a
gl renderer: Add util to load vertex data with texture region
2020-01-07 17:27:18 +01:00
Timm Bäder
b9726901a5
gl renderer: Fix inverted dy in inset shadows
2020-01-07 17:27:17 +01:00
Timm Bäder
df1d2b8417
gsk: Add GskParseErrorFunc to the docs
2020-01-07 17:27:17 +01:00
Timm Bäder
8b1af398a0
gl renderer: Avoid another manual rounded rect transform
...
We have transform_rect() for this now.
2020-01-07 17:27:17 +01:00
Timm Bäder
982d73df0b
adwaita: Solve junction problem without border image
...
This genius piece of CSS colors only the top left (or top right in RTL)
pixel of the scrollbar junction.
Doing it this way is better because we don't have to upload a cairo node
every frame.
2020-01-07 17:27:17 +01:00
Timm Bäder
1e55e01692
scrolledwindow: Remove a useless local variable
2020-01-07 17:27:17 +01:00
Timm Bäder
412fcb0330
scrolledwindow: Avoid using gtk_widget_get_preferred_size
...
This way we only measure in the direction we need.
2020-01-07 17:27:17 +01:00
Timm Bäder
b8d1c3ab55
gl renderer: Don't force repeat node child offscreen
2020-01-07 17:27:17 +01:00
Timm Bäder
4fb519f04d
renderborder: Only get border width if we really need to
...
We did this unconditionally before the if statement, but we don't need
to do it if any of the early-out checks in the not-border-image branch
hits.
2020-01-07 17:27:17 +01:00
Timm Bäder
054d69aaf9
gl renderer: Fix a misleading comment
2020-01-07 17:27:17 +01:00
Timm Bäder
1dea6d4fc7
gl renderer: Speed up bounds transformation
...
We started saving the scale of the current modelview directly in the
RenderOpBuilder, so we don't need to poke the modelview stack anymore.
2020-01-07 17:27:17 +01:00
Timm Bäder
022d19a4c6
gl renderer: Add debug code for color nodes
2020-01-07 17:27:17 +01:00
Timm Bäder
ef7276c398
gl renderer: Trivial variable reordering
2020-01-07 17:27:17 +01:00
Timm Bäder
0a8ca49b5e
gl renderer: transform border outline like everything else
2020-01-07 17:27:17 +01:00
Timm Bäder
74f18f71d3
gl renderer: Move work to the blur vertex shader
2020-01-07 17:27:17 +01:00
Timm Bäder
c0d4a6fc81
gl renderer: Avoid copying a matrix
2020-01-07 17:27:17 +01:00
Timm Bäder
1dd31d58fb
testsuite: Add a test case for rotated border node
2020-01-07 17:27:17 +01:00
Timm Bäder
766d4dff76
GskTransform: Compute sin/deg of 90deg rotations manually
...
Otherwise we might end up with inaccuracies, e.g. when
gsk_transform_transform_bounds()'ing bounds.
2020-01-07 17:27:17 +01:00
Timm Bäder
e62f135c6a
GskTransform: Normalize angles
...
Make sure all angles are in the [0..365) range
2020-01-07 17:27:17 +01:00
Timm Bäder
4788f88840
snapshot: Repeat color nodes by creating a larger color node
2020-01-07 17:27:17 +01:00
Timm Bäder
587bc82c37
gl renderer: Print debug node message
2020-01-07 17:27:17 +01:00
Timm Bäder
750dc8dbe2
gl driver: Inline function into only caller
2020-01-07 17:27:17 +01:00
Timm Bäder
d490d8f1f3
renderbackground: Try to omit a save/restore pair
2020-01-07 17:27:16 +01:00
Timm Bäder
cb2f523994
rendernodes: Use floats for everything
2020-01-07 17:27:16 +01:00
Timm Bäder
075a0ccb5e
renderbackground: Save a snapshot_translate() call
...
Just add the values manually when really using the snapshot later. Also
unifies the two if branches by pulling out getting the x/y values.
2020-01-07 17:27:16 +01:00
Timm Bäder
db91b6dc61
gl renderer: Load vertex data directly into vertices GArray
2020-01-07 17:27:16 +01:00
Timm Bäder
44ac2d5abb
gl renderer: Pass linear gradient stops to shaders directly
...
No need to copy them into the render ops like this.
2020-01-07 17:27:16 +01:00
Timm Bäder
d7df56b6cb
gsk: Make GskColorStop.offset a float
...
Doesn't make sense for this to be double if everything else is float.
Also makes it possible to 'easily' pass this to the GPU.
2020-01-07 17:27:16 +01:00
Timm Bäder
6a9bc5daef
Avoid a few state changes
...
We can't optimize the save/restore calls away in the snapshot code, so
do it from the caller side.
2020-01-07 17:27:16 +01:00
Timm Bäder
b8aa51d522
gl renderer: Move more work to the vertex shaders
2020-01-07 17:27:16 +01:00
Timm Bäder
f79c807645
gl renderer: Don't invert offset value twice
2020-01-07 17:27:16 +01:00
Timm Bäder
d0d2ad9f5b
gl renderer: Remove unused variable from shader
2020-01-07 17:27:16 +01:00
Timm Bäder
0b8298038a
gl renderer: Move color computation to vertex shader
2020-01-07 17:27:16 +01:00
Timm Bäder
6ef0bb8bea
gl renderer: Move final color computation to vertex shader
...
.. of the coloring program, which is used all the time for text.
2020-01-07 17:27:16 +01:00
Timm Bäder
91472b2ecd
gl renderer: Compute final color in vertex shader
...
This is a very often used shader. No need to to do this for every
fragment.
2020-01-07 17:27:16 +01:00
Timm Bäder
80ddcf38d4
supp: Ignore calloc in the AMD driver
...
What'cha gonna do
2020-01-07 17:27:16 +01:00
Timm Bäder
1477882b31
testentryicons: Fix a memory leak
2020-01-07 17:27:16 +01:00
Timm Bäder
73f2167fe4
gl renderer: Avoid an invalid read
...
We need to copy the color here, since the program state can live across
frame boundaries.
2020-01-07 17:27:16 +01:00
Timm Bäder
2079c898e7
gl renderer: Remove some unneeded calculations from shaders
2020-01-07 17:27:16 +01:00
Timm Bäder
c79c18f39c
gl renderer: Shuffle things around a bit
2020-01-07 17:27:16 +01:00
Timm Bäder
cef7f7f87d
gl renderer: Move work to the gradient vertex shader
...
No need to do this stuff once per fragment.
2020-01-07 17:27:16 +01:00
Timm Bäder
fdce30d3f8
gl renderer: Add some in/out compat glue to the shaders
...
so we can use _IN_ and _OUT_ and get the right things for
desktop/es/legacy GL.
2020-01-07 17:27:16 +01:00
Timm Bäder
f07397f4dd
gl renderer: Upload GL_RGBA texture data in GLES
...
Colored icons are still broken this way, but at least they show up and
text works.
2020-01-07 17:27:16 +01:00
Timm Bäder
f1751f514c
gltextureatlas: Use more correct debug name for texture
...
These aren't all glyph atlases anymore.
2020-01-07 17:27:16 +01:00
Timm Bäder
2cbfb0e980
GdkGLContext: check for GL_KHR_debug for GL debug output
...
This is available in GLES.
2020-01-07 17:27:16 +01:00
Timm Bäder
8dd7f5aefe
gl renderer: Mark beginning of frame if DEBUG_OPS is set
2020-01-07 17:27:16 +01:00
Timm Bäder
398f49ad31
gl renderer: Trivial declaration reorder
2020-01-07 17:27:16 +01:00
Timm Bäder
3d260a950e
gl renderer: Remove a few outdated comments
2020-01-07 17:27:16 +01:00
Timm Bäder
f31667f437
gl renderer: Remove unused translation handling
2020-01-07 17:27:15 +01:00
Timm Bäder
219493c818
gl renderer: Don't copy matrix/offset of color matrix nodes into ops
2020-01-07 17:27:15 +01:00
Timm Bäder
06f63764fb
gl renderer: Initialize alpha uniform to 1.0
...
This makes gl-legacy work and gl-gles work except for text and icons.
2020-01-07 17:27:15 +01:00
Timm Bäder
1243174e53
gl renderer: Make RoundedRect work in gles
...
Which can't return struct types containing arrays. So let's revert to
the previous version but still send the rect along as a vec4[3];
2020-01-07 17:27:15 +01:00
Timm Bäder
cc909b160f
gl renderer: Rewrite shader builder
...
Use a unified approach to write both vertex and fragment shader in the
same file.
2020-01-07 17:27:15 +01:00
Timm Bäder
d12dde07c3
gl renderer: Fix program uniform updating code
...
This breaks the initial uniform value, but we will fix that in a later
commit in a different way.
2020-01-07 17:27:15 +01:00
Timm Bäder
5191b6fccd
gl renderer: Only send clip corners if we need to
...
We change the clip bounds a lot more ofthen than the clip corners and
they are already split up in the shader, so only send the corners if we
need to.
2020-01-07 17:27:15 +01:00
Timm Bäder
2e6e6c1779
gl renderer: Fix color comparison
2020-01-07 17:27:15 +01:00
Timm Bäder
a29b8fbef4
gl renderer: Shorten debug output impl
...
This will leak a string but WHATEVER.
2020-01-07 17:27:15 +01:00
Timm Bäder
5b072e716c
gl renderer: Fix debug color output
2020-01-07 17:27:15 +01:00
Timm Bäder
49845795d9
gl renderer: Rewort passing rounded rects to shaders
2020-01-07 17:27:15 +01:00
Timm Bäder
ab04c74ec9
gl renderer: Don't copy border outline corner sizes around
...
We already offset + scale the outline and its corners, just pass those
directly to the shader.
2020-01-07 17:27:15 +01:00
Timm Bäder
4744bb9099
gl renderer: stop copying current color around
...
Just use a pointer now.
2020-01-07 17:27:15 +01:00
Timm Bäder
91522dda63
gl renderer: remove a memory leak
2020-01-07 17:27:15 +01:00
Timm Bäder
095a378dbc
GdkRGBA: Use floats instead of doubles
2020-01-07 17:27:15 +01:00
Timm Bäder
0956c30ee5
progressbar: Remove unnecessary snapshot implementation
2020-01-07 17:27:15 +01:00
Timm Bäder
f85448ffbf
gl renderer: Split blurring a node into its own function
2020-01-07 17:27:15 +01:00
Timm Bäder
d3852ca33a
gl renderer: Remove some unused uniforms
2020-01-07 17:27:15 +01:00
Timm Bäder
9d9a730659
gl renderer: Drop a dead if statement
...
We already handle this earlier.
2020-01-07 17:27:15 +01:00
Jordi Mas
3f4cd4190f
Update Catalan translation
2020-01-06 20:36:28 +01:00
Matthias Clasen
448a402353
widget: Remove an unused signal
...
HIERARCHY_CHANGED is no longer used.
2020-01-06 08:19:01 -05:00
Matthias Clasen
2ee9752822
wayland: Remove debug spew
2020-01-06 08:19:01 -05:00
Matthias Clasen
f8a1f796b5
Merge branch 'wayland-dnd-fixes' into 'master'
...
Wayland dnd fixes
See merge request GNOME/gtk!1284
2020-01-06 05:44:33 +00:00
Piotr Drąg
3b5a4cf215
Update Polish translation
2020-01-05 17:27:40 +01:00
Matthias Clasen
759d53cfa0
wayland: Don't artificially prefer ASK
...
We were always adding ASK to the list of possible
actions, and preferring it. This was causing the
ask cursor to show up when both the source and
the target support ASK, even though it is only
meant to happen if you hold the Alt modifier.
Instead, use one of the supported actions as
preferred action.
2020-01-04 12:51:32 -05:00
Matthias Clasen
814d20d61a
docs: Small clarifications to DND docs
...
Clear up the documentation around ASK handling
a bit.
2020-01-04 12:48:39 -05:00
Matthias Clasen
6cef520804
wayland: Minor cleanup
...
Stop storing selected_action, mainly since the name
is confusing. Instead, just pass the value directly
in the 2 places where it is used.
2020-01-04 12:48:39 -05:00
Matthias Clasen
8c77491150
wayland: Fix action handling more
...
When updating GdkDrop::actions from changes sent by
the compositor, we were inadvertently setting them to 0,
causing drops to appear impossible.
2020-01-04 09:38:31 -05:00
Matthias Clasen
709ebcedd4
wayland: Finish pending offer handling
...
When creating a new GdkDrop object on drag_enter, take pending
source_actions and action into account. The code to store the
pending actions was already there, they were just not passed
on to the drop object when we create it.
2020-01-04 09:38:01 -05:00
Matthias Clasen
47e6b88555
wayland: Clean up drags
...
We need to set the drag to NULL in gdk_wayland_drag_drop_done,
otherwise, all future drags will be considered local after the
first local one. Worse, they will also provide the wrong data.
2020-01-04 09:36:38 -05:00
Matthias Clasen
df58d0acf3
Adwaita: Make dnd marks in text views green
...
We already do this in entries, this just updates
text views to match.
2020-01-03 13:00:53 -05:00
Matthias Clasen
9c2c5665df
textview: Render visible marks better
...
The only other visible mark that is in common use
besides insert and selection_bound is dnd_mark, and
we don't want it to blink or be affected by 'cursor'
visibility.
Therefore, cache not just the cursor positions, but
also whether they are insert or selection_bound,
and take that into account when rendering them.
2020-01-03 13:00:53 -05:00
Matthias Clasen
1be9c6aa3f
Merge branch 'remove-xim' into 'master'
...
Remove the XIM input method
See merge request GNOME/gtk!1195
2020-01-03 17:56:26 +00:00
Matthias Clasen
96d2bf10b9
Add a text view mark/cursor test
...
This has testcases for some issues around invalidation
of marks.
2020-01-03 11:18:08 -05:00
Matthias Clasen
7a1aefc7f3
Fix the previous commit
...
We need to actually use the right coordinates.
2020-01-02 00:43:27 -05:00
Matthias Clasen
f7f06f810b
stackswitcher: Fix switch-while-drag functionality
2020-01-02 00:24:54 -05:00
Matthias Clasen
e02fd80adb
dnd: Be safer
...
The contents of the selection are documented
to not be NULL if size is non-negative. So
use an empty string instead of NULL for size 0,
avoiding a crash.
2020-01-01 12:51:19 -05:00
Matthias Clasen
4b818495ca
wayland: Fix dnd type negotiation
...
We need to call gdk_content_formats_union_serialize_mime_types
like GdkClipboard does, in order to get mime types that we can
sent out.
2020-01-01 12:51:19 -05:00
Matthias Clasen
1841ec4f8e
contentprovider: cosmetic fix
2020-01-01 12:51:19 -05:00
Matthias Clasen
21708e4352
contentserializer: Fix an annotation
2020-01-01 12:51:19 -05:00
Daniel Mustieles
662bcb34b1
Updated Spanish translation
2019-12-31 08:45:12 +01:00
Matthias Clasen
f8a19506ab
Merge branch 'drag-icon' into 'master'
...
Drag icon
See merge request GNOME/gtk!1274
2019-12-30 21:20:26 +00:00
Matthias Clasen
67d1d5ec80
mountoperation: Handle D-Bus missing
...
Still not great to make sync calls here, but
at least we should handle failure without criticals.
2019-12-30 16:03:47 -05:00
Matthias Clasen
49c6e99970
Merge branch 'fix-dnd' into 'master'
...
Fix dnd
See merge request GNOME/gtk!1273
2019-12-30 17:12:30 +00:00
Matthias Clasen
15242d66e1
wayland: Pass root coordinates for dnd events
...
That is what the api currently requires, so provide it.
This fixes DND to work again, for the most part.
2019-12-30 12:00:53 -05:00
Matthias Clasen
94a0bc01f9
gdk: Populate dnd event coords
...
The GdkDrop emit... apis take root coordinates.
That should be changed to surface coordinates,
eventually. For now, make the functions fill
the x, y fields.
2019-12-30 11:58:11 -05:00
Matthias Clasen
677c4b140c
gdk: Fix coordinates in dnd events
...
Don't store coordinates as shorts. Use doubles,
as everywhere else. Also add x, y in addition
to x_root, y_root, and actually return those
in gdk_event_get_coords.
2019-12-30 11:56:49 -05:00
Piotr Drąg
838ad5ed6d
Update POTFILES.in
2019-12-30 17:30:18 +01:00
Matthias Clasen
772ac2b0c5
tooltip: Never set a window to be its own parent
...
We do get events on the tooltip window too, and
we better ignore them, or bad things may happen,
such as widgets that are their own parents and
cause infinite loops.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2339
2019-12-30 09:52:13 -05:00
Matthias Clasen
68b3b66c03
tooltipwindow: Cosmetic fix
2019-12-30 09:28:22 -05:00
Daniel Mustieles García
0d1614be63
Revert "Updated Spanish translation"
...
This reverts commit 62b95e33b8
2019-12-30 13:59:22 +00:00
Daniel Mustieles
62b95e33b8
Updated Spanish translation
2019-12-30 12:53:45 +01:00
Daniel Mustieles
dc5c8d2d29
Updated Spanish translation
2019-12-30 12:52:55 +01:00
Daniel Mustieles
425d5cc7c6
Updated Spanish translation
2019-12-30 12:52:01 +01:00
Matthias Clasen
baf99bb868
Remove gtk_window_set_hardcoded_surface
...
It is not used anymore.
2019-12-30 00:31:32 -05:00
Matthias Clasen
538efd0cc6
container: Be more careful with roots
...
We were warning if we hit non-container
roots. Instead, call suitable naive api.
2019-12-30 00:30:01 -05:00
Matthias Clasen
9ba184adf7
widget: Be more careful with roots
...
We were assuming that all roots are windows,
and calling GtkWindow apis on them.
2019-12-30 00:29:52 -05:00
Matthias Clasen
710b8d7f40
dnd: Use GtkDragIcon
...
Use the new GtkDragIcon instead of a window
of type GTK_WINDOW_POPUP and
gtk_window_set_hardcoded_surface.
2019-12-30 00:29:10 -05:00
Matthias Clasen
a6244a95be
Add GtkDragIcon
...
This is a GtkRoot implemntation for drag icons,
using the surface provided by GdkDrag. This lets
us avoid GTK_WINDOW_POPUP and
gtk_window_set_hardcoded_surface.
2019-12-30 00:28:02 -05:00
Matthias Clasen
133b6f2f23
tooltipwindow: Cosmetic fix
2019-12-29 22:48:25 -05:00
Matthias Clasen
53a634e23e
Merge branch 'tooltip-redo' into 'master'
...
Tooltip redo
See merge request GNOME/gtk!1271
2019-12-30 03:24:58 +00:00
Matthias Clasen
156935e0e9
docs: Mention custom tooltip windows in the migration guide
...
These no longer exist.
2019-12-29 22:09:13 -05:00
Matthias Clasen
f31a016efb
tooltips: Stop using GTK_WINDOW_POPUP
...
Make GtkTooltipWindow a GtkNative implementation,
instead of using a GTK_WINDOW_POPUP window.
2019-12-29 22:09:13 -05:00
Matthias Clasen
e56eb7b17b
testtooltips: Test tooltips on popovers
...
They do not currently work right.
2019-12-29 22:09:13 -05:00
Matthias Clasen
de694958b5
Drop custom tooltip windows
...
We want to put tooltips into something other than
windows, so this needs to go. Custom widgets are
still possible.
2019-12-29 20:52:08 -05:00
Matthias Clasen
e12a580b0b
Merge branch 'kill-tree-menu' into 'master'
...
Menu removal, part 2
See merge request GNOME/gtk!1270
2019-12-30 01:46:29 +00:00
Matthias Clasen
52e0eef6cb
docs: Touch up menu button docs
2019-12-29 20:31:58 -05:00
Matthias Clasen
85bf4cf895
docs: Mention the demise of menus in the migration guide
...
This needs more details, but it is a start.
Also add sections about grabs and about toolbar
overflow handling.
2019-12-29 20:31:58 -05:00
Matthias Clasen
b06331218d
docs: Rewrite popover menu docs
...
These were outdated and did not reflect current api.
2019-12-29 20:31:58 -05:00
Matthias Clasen
9b165c8bec
treeview: Use a popover for search
...
This is a more modern way of doing things, and avoids a window
of type GTK_WINDOW_POPUP. With a popover, it doesn't make sense
to have a positioning function, so remove that api.
2019-12-29 20:31:58 -05:00
Matthias Clasen
3fd427cfce
win32: Use a regular window for printing
...
We never show this window, so it should not matter.
Ideally, we'd just create a surface to get handle,
anyway.
2019-12-29 20:31:58 -05:00
Matthias Clasen
0bb9fc65ad
Remove gdk_seat_grab
...
We are no longer using free-standing grabs
in GTK. The replacement is the autohide
functionality of popup surfaces.
2019-12-29 20:31:58 -05:00
Matthias Clasen
3dd6cc405e
accelcellrenderer: Stop grabbing
...
Standalone grabs are going away.
2019-12-29 20:31:58 -05:00
Matthias Clasen
06860bb2be
accelcellrenderer: Fix editing
2019-12-29 20:31:58 -05:00
Matthias Clasen
7ee5779efc
gtk: Remove menu code
...
GtkMenu, GtkMenuBar, GtkMenuItem and their subclasses
and supporting classes are replaced by model-based popover
implementations.
2019-12-29 20:31:58 -05:00
Matthias Clasen
53d9445715
doc: Build fixes
2019-12-29 20:31:58 -05:00
Matthias Clasen
54b2727b50
docs: Remove mentions of GtkMenuItem
2019-12-29 20:31:58 -05:00
Matthias Clasen
a2aefa83bb
accellabel: Don't mention GtkMenuItem in the docs
2019-12-29 20:31:58 -05:00
Matthias Clasen
0854140b22
label: Stop referring to GtkMenuItem in the docs
2019-12-29 20:31:58 -05:00
Matthias Clasen
57a861723c
buildertool: Drop menu properties
2019-12-29 20:31:58 -05:00
Matthias Clasen
b59521bb82
inspector: Remove menu special-casing
2019-12-29 20:31:58 -05:00
Matthias Clasen
7e8393ba0f
widget: Remove menu special-casing
2019-12-29 20:31:58 -05:00
Matthias Clasen
9e15f3df75
label: Remove menu support code
2019-12-29 20:31:58 -05:00
Matthias Clasen
5c97f09796
tests: Stop using menus
2019-12-29 20:31:58 -05:00
Matthias Clasen
bf4ec504b2
testsuite: Remove menu special-casing
2019-12-29 20:31:58 -05:00
Matthias Clasen
59aeae3c8e
testsuite: Remove menu tests
...
Menus are going away.
2019-12-29 20:31:57 -05:00
Matthias Clasen
941f22c033
testsuite: Cosmetic change
2019-12-29 20:31:57 -05:00
Matthias Clasen
27543120f2
menubutton: Stop supporting menus
2019-12-29 20:31:57 -05:00
Matthias Clasen
901518ec25
headerbar: Stop using GtkMenuButton::use-popover
...
This property is going away.
2019-12-29 20:31:57 -05:00
Matthias Clasen
4c9b0d82af
menutoolbutton: Stop supporting menus
2019-12-29 20:31:57 -05:00
Matthias Clasen
2c5f4c5871
menutoolbutton: Fix sensitivity handling
...
We don't need to set the arrow button explicitly
to insensitive, GtkMenuButton handles that automatically.
2019-12-29 20:31:57 -05:00
Matthias Clasen
8ee44d200d
toolbar: Simplify overflow implementation
...
Do away with the proxy menu items, and instead
just have toolitems provide a label for overflow
items. We create the overflow widgets ourselves
already, as model buttons.
Also replace the toggle button used for overflow
with a menubutton, simplifying things further.
2019-12-29 20:31:57 -05:00
Matthias Clasen
57b7e87d76
testsuite: Update combobox tests
...
Some of the expected output needs to be updated.
2019-12-29 18:45:40 -05:00
Matthias Clasen
e424246134
combobox: Replace GtkTreeMenu with a popover
...
This does not currently try to reproduce the exact
placement, since GtkPopover doesn't have to have
the necessary placement hints.
2019-12-29 18:45:40 -05:00
Matthias Clasen
ca87048045
gtk-demo: Remove the change display demo
...
The window picking code has been broken for a while.
Since this is not really functionality that we should
highlight to application developers, remove the demo
instead of patching it up.
2019-12-29 18:45:40 -05:00
Matthias Clasen
5ec9b15d84
gtk-demo: Convert the builder demo to a menu model
2019-12-29 18:45:40 -05:00
Matthias Clasen
6b691bc02d
gtk-demo: Remove menus from listbox demo
2019-12-29 18:45:40 -05:00
Matthias Clasen
abcd83dd78
gtk-demo: Cosmetics
2019-12-29 18:45:40 -05:00
Matthias Clasen
5d2113ff5d
gtk-demo: Remove the menus demo
...
Menus are going away.
2019-12-29 18:45:40 -05:00
Matthias Clasen
5c086b9d44
gtk-demo: Convert the dnd demo to a popover
2019-12-29 18:45:40 -05:00
Matthias Clasen
8efa612288
gtk-demo: Remove a somewhat silly bit of code
...
Putting a context menu on an overlay scrollbar
is too much of an easter egg to count as a useful
demo. Remove it, rather than changing it to a
popover.
2019-12-29 18:45:40 -05:00
Matthias Clasen
928f7faf7d
gtk-demo: Use a popover in the clipboard demo
2019-12-29 18:45:40 -05:00
Matthias Clasen
4b4cf36b03
gtk-demo: Replace a menu with a popover
2019-12-29 18:45:40 -05:00
Matthias Clasen
5d821425b3
accellabel: Remove an example using menus
2019-12-29 18:45:40 -05:00
Matthias Clasen
8b3066127f
docs: Avoid using a menu for an example
2019-12-29 18:45:40 -05:00
Matthias Clasen
360239a6c8
docs: Remove menubars from the visual index
2019-12-29 18:45:37 -05:00
Matthias Clasen
80e903afeb
docs: Stop taking menubar screenshots
...
The widget is going away.
2019-12-29 18:44:26 -05:00
Matthias Clasen
62e9ea412a
widget-factory: Remove the menubar
2019-12-29 18:44:26 -05:00
Matthias Clasen
3d4acf6360
window: Move F10 handling to popover menubars
2019-12-29 18:44:26 -05:00
Matthias Clasen
0cf1e1e106
applicationwindow: Stop using a menu bar
...
We have a replacement with popovers now.
2019-12-29 17:10:16 -05:00
Matthias Clasen
b23fbe1f39
notebook: Remove menu remnants
2019-12-29 17:10:16 -05:00
Matthias Clasen
f5e79b9bc5
appchooserwidget: Remove ::populate-popup
...
We are no longer doing menus this way; if a menu turns out to be
needed at all here, we can add a menu model later.
2019-12-29 17:10:16 -05:00
Matthias Clasen
94e238c467
placesview: Use a popover
...
Replace the context menu with a popover.
2019-12-29 17:10:16 -05:00
Matthias Clasen
22f6787283
mountoperation: Use a popover
...
Replace the context menu with a popover.
2019-12-29 17:10:16 -05:00
Matthias Clasen
6255dcd8ec
filechooserbutton: Be smarter about 'None'
...
Don't refilter the model while the combo box is popped up,
that wreaks havoc with layout and does not really work.
Instead, repurpose one of the separator rows for the 'none'
case. This works because the row separator function is not
consulted for the cellview in the button.
2019-12-29 17:10:16 -05:00
Matthias Clasen
6f80eee962
window: Complete the popover conversion
2019-12-29 17:10:16 -05:00
Matthias Clasen
fd0f01bcad
popovermenubar: Cosmetics
2019-12-29 17:10:16 -05:00
Matthias Clasen
0b6e521dc5
popovermenu: Use a weak ref for active item
...
Otherwise, we can end up with a dangling pointer,
leading to badness.
2019-12-29 17:10:15 -05:00
Matthias Clasen
ad6fe9d6a0
surface: Only unpause events if we paused them
...
When a new popup surface is created, it may end up
getting a resume-events signal from its frame clock
without having seen a flush-events first.
Don't unpause events in that case, since it messes
up the displays pause counter.
This was causing criticals with tooltips.
2019-12-29 13:35:36 -05:00
Matthias Clasen
7078765903
Revert unintended changes
...
I didn't mean to make this a complicated
portal test. Go back to being a simple test.
2019-12-29 13:03:44 -05:00
Matthias Clasen
a73947e54f
Remove more mir remnants
...
The mir backend was removed a while ago, so
GDK_WINDOWING_MIR is never defined.
2019-12-28 21:52:34 -05:00
Matthias Clasen
7525271de1
tooltip: Remove some unneeded includes
2019-12-28 21:49:09 -05:00
Matthias Clasen
0bc65f0bde
popover: Remove some dead code
2019-12-28 21:46:39 -05:00
Aurimas Černius
4a0476752c
Updated Lithuanian translation
2019-12-28 18:18:53 +02:00
Matthias Clasen
9543a5daeb
popovermenu: Fix keynav with submenus
...
When we right-arrow all the way into a submenu
and then cycle to the next menu in a menubar,
we need to reset all open submenus, so that
left-arrowing back to the menu puts the focus
on the first item again.
2019-12-27 22:54:11 -05:00
Matthias Clasen
28b91a4450
modelbutton: Be focusable
...
This got lost when modelbuttons stopped being
derived from buttons. It is necessary, since
the GTK focus machinery takes this flag seriously
nowadays, and won't let us grab focus to non-focusable
widgets.
2019-12-27 21:58:54 -05:00
Matthias Clasen
6b89d8a199
inspector: Add a focus overlay
...
It helps to see what is going on.
2019-12-27 17:35:09 -05:00
Fran Dieguez
e999016273
Update Galician translation
2019-12-27 14:42:53 +00:00
Jordi Mas
7c6e620f16
Fixes to Catalan translation
2019-12-27 14:06:32 +01:00
Piotr Drąg
267d5ae011
Update Polish translation
2019-12-25 16:36:41 +01:00
Matthias Clasen
08d4bb4785
widget: Fix a memory leak
...
The transform passed to gtk_widget_allocate is
transfer full, so we must consume the reference
before returning.
2019-12-25 09:47:22 -05:00
Matthias Clasen
a02e25ffff
widget: Avoid a crash in event handling
...
I was seeing crashes in gtk_widget_run_controllers.
We were accessing the controller after calling out
to application code that might remove it. Better
be safe and do the access before.
2019-12-25 09:47:22 -05:00
Matthias Clasen
280bdb0567
inspector: Fix a small memory leak
...
We were leaking overlays.
2019-12-25 09:47:22 -05:00
Matthias Clasen
1a94e5fb0e
inspector: Fix a small memory leak
...
The property editor was leaking a few GValues.
2019-12-25 09:47:22 -05:00
Matthias Clasen
b6cfe59460
inspector: Small cleanup
2019-12-25 09:47:22 -05:00
Matthias Clasen
7db2abf918
widget: Fix a small memory leak
2019-12-25 09:47:22 -05:00
Matthias Clasen
b398af914f
eventcontroller: Fix name property
...
This never worked. Oops.
2019-12-25 09:47:22 -05:00
Matthias Clasen
29e1dac1ff
testfilechooser: Test the choice apis
2019-12-25 09:47:22 -05:00
Fran Dieguez
3af8a658a7
Update Galician translation
2019-12-25 04:05:00 +00:00
Fran Dieguez
b5aeb29146
Update Galician translation
2019-12-25 03:16:43 +00:00
Matthias Clasen
85b702b0d1
Merge branch 'print-dialog-fixes' into 'master'
...
Print dialog fixes
See merge request GNOME/gtk!1268
2019-12-24 17:41:38 +00:00
Matthias Clasen
77c57b4b14
Adwaita: update the README
2019-12-24 12:30:54 -05:00
Matthias Clasen
10d260ec71
HighContrast: print dialog fixes
...
Fix up the paper drawing.
2019-12-24 12:30:44 -05:00
Matthias Clasen
1ac8bb0128
Adwaita: print dialog tweaks
...
Fix up the paper drawing.
2019-12-24 12:30:35 -05:00
Matthias Clasen
28539ba838
print dialog: Fix up page drawing
...
This fixes up page drawing enough to appear properly
with the builtin themes.
2019-12-24 12:30:28 -05:00
Matthias Clasen
f1bb6ef658
Merge branch 'widget-factory-fixes' into 'master'
...
Widget factory fixes
See merge request GNOME/gtk!1267
2019-12-24 15:08:15 +00:00
Matthias Clasen
24c66f831f
widgetfactory: Undo more builder-tool damage
...
The two volume buttons are supposed to be
vertically arranged.
2019-12-24 09:59:23 -05:00
Matthias Clasen
87502b4f2e
Fix the build
2019-12-24 09:58:56 -05:00
Matthias Clasen
3644d3a100
Merge branch 'gtk-demo-fixes' into 'master'
...
Gtk demo fixes
See merge request GNOME/gtk!1266
2019-12-24 08:47:28 +00:00
Matthias Clasen
9e3147f78d
treeview: Fix embedding cell renderers
...
We need to manually set up the css node,
since the treeview has children whose css
node is not a direct child of the treeview
css node (header buttons).
2019-12-24 03:39:02 -05:00
Matthias Clasen
cc3ecac6d8
cell renderer spin: Bring this back
...
GtkSpinButton lost its cell editable implementation
when it stopped being a GtkEntry subclass. Add it
back, and make it work.
2019-12-24 03:33:02 -05:00
Matthias Clasen
72932d2776
cell renderer text: Fix this to work again
...
We were showing the entry, and removing it right
away when the focus moved to the text child.
Avoid that.
2019-12-24 03:13:58 -05:00
Matthias Clasen
58bc9452f6
paper dialog: Make this look less horrible
2019-12-24 03:12:30 -05:00
Matthias Clasen
2a7b5d8229
accelgroup: Fix a buffer overrun
...
gtk_accelerator_parse_with_keycode can
overrun its buffer for certain inputs.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2325
2019-12-23 23:17:29 -05:00
Matthias Clasen
245546de61
Merge branch 'drop-GtkTreeViewPrivate' into 'master'
...
tree-view: Drop GtkTreeViewPrivate
See merge request GNOME/gtk!1240
2019-12-24 03:49:48 +00:00
Matthias Clasen
a3793ff137
Merge branch 'drop-gtk-tree-selection-private' into 'master'
...
tree-selection: Drop GtkTreeSelectionPrivate
See merge request GNOME/gtk!1256
2019-12-24 03:48:18 +00:00
Matthias Clasen
0a98817a6f
Merge branch 'wip/oholy/placesview-default-location' into 'master'
...
placesview: Always open default location after mounting
See merge request GNOME/gtk!1263
2019-12-24 03:47:15 +00:00
Matthias Clasen
663fb93af7
gtk-demo: Fix font explore initial state
2019-12-23 22:35:44 -05:00
Matthias Clasen
db42c23c0a
gtk-demo: Fix a crash in the font explorer demo
...
gtk_widget_add_controller is transfer-full.
2019-12-23 22:33:02 -05:00
Matthias Clasen
33716d1e50
gtk-demo: Cosmetic fixes to the dnd demo
2019-12-23 22:14:52 -05:00
Matthias Clasen
65769fd7a6
gtk-demo: Cosmetic fixes to the assistant demo
2019-12-23 21:58:45 -05:00
Matthias Clasen
e6d3f3d91e
gtk-demo: Fix the application demo
...
This was broken in d223752c55 , when the
support for internal children was removed
from GtkInfoBar.
2019-12-23 21:52:52 -05:00
Matthias Clasen
79a17d5a25
Merge branch 'validate-templates' into 'master'
...
builder-tool: Validate templates again
See merge request GNOME/gtk!1265
2019-12-23 23:40:43 +00:00
Matthias Clasen
c924b48a6c
builder-tool: Validate templates again
...
This wasn't working because it was expecting
some no-longer-existing error message.
2019-12-23 18:32:37 -05:00
Matthias Clasen
519ff576cd
colorchooser: Document actions
...
This is mainly a trial balloon for gtk-doc
support for this syntax.
See https://gitlab.gnome.org/GNOME/gtk-doc/merge_requests/30
2019-12-23 13:39:05 -05:00
Matthias Clasen
5bc3bed461
Merge branch 'inspector-advice' into 'master'
...
inspector: Give better advice
See merge request GNOME/gtk!1264
2019-12-22 19:02:37 +00:00
Matthias Clasen
442f13ef6f
inspector: Give better advice
...
Provide the meson syntax for building a debug-enabled GLib.
2019-12-21 21:09:18 -05:00
Christoph Reiter
95aeadf36c
Merge branch 'ci-msys2-newer-pango' into 'master'
...
CI: Install a newer MSYS2 pango package; Don't allow failures again
Closes #2243
See merge request GNOME/gtk!1258
2019-12-19 17:59:40 +00:00
Ondrej Holy
267ea7552b
placesview: Always open default location after mounting
...
The default location (obtained over g_mount_get_default_location) is
opened after mounting volume, or when opening mounts from sidebar, but
not after mounting over "Connect to Server". Let's unify the behavior
and always open the default location.
https://gitlab.gnome.org/GNOME/nautilus/issues/1319
2019-12-19 17:28:35 +01:00
Matthias Clasen
08f7526f8f
Merge branch 'fix-gtkgesturerotate-potential-leak' into 'master'
...
gtkgesturerotate: Fix a memory leak
See merge request GNOME/gtk!1260
2019-12-19 03:42:31 +00:00
Yariv Barkan
0604924c20
gtkgesturerotate: Fix a memory leak
...
On touchpads gtk_gesture_get_sequences() was called without a
corresponding g_list_free(). The same was true for touchscreens
if due to some reason only a single sequence was found.
2019-12-18 23:03:19 +02:00
Christoph Reiter
5ef2748cef
CI: Install a newer MSYS2 pango package; Don't allow failures again
...
gtk master requires a newer pango than msys2 has, so install our own copy on top.
See #2243
2019-12-18 09:25:06 +01:00
Christoph Reiter
8f8229dcd2
Fix various new mingw compiler warnings
...
These are the result of us missing CI for some time now and
MSYS2 having a newer GCC now I guess.
2019-12-18 09:25:06 +01:00
Peter Bloomfield
a5b5657e96
tree-selection: Drop GtkTreeSelectionPrivate
...
GtkTreeSelection is now private (since commit 79940b32 ),
so it doesn't need an instance-private structure.
2019-12-16 20:54:23 -05:00
Emmanuele Bassi
0f2281e267
Merge branch 'ci-update-at-spi' into 'master'
...
Update CI image
Closes #2313
See merge request GNOME/gtk!1254
2019-12-16 19:26:37 +00:00
Emmanuele Bassi
994a807819
ci: Use latest CI image
2019-12-16 19:01:03 +00:00
Emmanuele Bassi
79f42cec8e
ci: Add libXtst-devel to the Docker image
...
New requirement from at-spi2-core.
Fixes : #2313
2019-12-16 19:00:02 +00:00
Matthias Clasen
0546fd7c8a
Merge branch 'fix.nonunix.builds' into 'master'
...
Fix non-portal (UNIX) builds
See merge request GNOME/gtk!1252
2019-12-16 17:38:56 +00:00
Chun-wei Fan
d51e3e835e
tests/: Revert bbb56d8 for non-UNIX
...
The portal bits are only supported on *nix, so use the old code on
non-*nix.
2019-12-17 00:52:25 +08:00
Chun-wei Fan
3d8d4921af
gdk: Build portal bits on *nix only
...
The newly-added portal items are supported on *nix only, so only build
them on *nix.
2019-12-17 00:52:18 +08:00
Matthias Clasen
ba3549fa34
Merge branch 'matthiasc/for-master' into 'master'
...
file transfer: Fix build on non-Linux
See merge request GNOME/gtk!1253
2019-12-16 16:48:01 +00:00
Matthias Clasen
721595edea
file transfer: Fix build on non-Linux
...
O_PATH and O_CLOEXEC are not universally available.
2019-12-16 11:38:04 -05:00
Peter Bloomfield
46d960ddfd
tree-view: Drop GtkTreeViewPrivate
...
GtkTreeView is now private, so it doesn't need an instance-private
structure.
2019-12-15 19:19:42 -05:00
Benjamin Otte
ed24f93fb9
popover: Remove unneeded vfunc
...
The vfunc is identical to the GtkWidget implementation it replaces. So
just keep using that one.
2019-12-15 21:07:54 +01:00
Benjamin Otte
c4043a8eef
treelistmodel: Improve docs
...
- Move into its own section
- Split GtkTreeListRow into its own document
Trees are weird with listmodels and they deserve their own treatment,
they shouldn't be mushed up with the rest of the list machinery.
2019-12-15 21:07:54 +01:00
Benjamin Otte
dff86c0e12
eventcontrollermotion: Add getters for the properties
...
... and use them.
Also, rename them from is/contains-pointer-focus to is/contains-pointer,
that's clear enough and not too long.
Finally, adapt the semantics of contains-pointer to mirror
GtkEventControllerKey::contains-focus. If is-pointer is set, so is
contains-pointer, they are not exclusive.
Which is what all users of this property wanted, too.
2019-12-15 21:07:54 +01:00
Matthias Clasen
9a5ec33d61
Merge branch 'fix-x11-cursor-crash' into 'master'
...
x11: Only update cursors if we have any
Closes #2308
See merge request GNOME/gtk!1249
2019-12-13 20:02:43 +00:00
Matthias Clasen
78227bf5b0
Merge branch 'matthiasc/for-master' into 'master'
...
some builder-tool improvements
See merge request GNOME/gtk!1248
2019-12-13 19:58:53 +00:00
Matthias Clasen
bf2c29a36a
x11: Only update cursors if we have any
...
We were accessing an on-demand created hash table
without checking if it had been created first.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2308
2019-12-13 14:46:00 -05:00
Matthias Clasen
47285c6642
builder: Improve type name mangling
...
When looking for the get_type function for GThemedIcon,
try both g_themed_icon_get_type and gthemed_icon_get_type
The former is what gio has, the latter is still supported
to avoid breaking gweather_location_get_type.
Update tests to cover this new case.
2019-12-13 14:21:44 -05:00
Matthias Clasen
e4fb4116fd
builder-tool: Don't try to find default boxed values
...
This doesn't work and yields an ugly, unnecessary
error message.
2019-12-13 14:21:44 -05:00
Matthias Clasen
6d3373cb2c
gtk-builder-tool: More helpful error messages
...
Include line numbers in the error messages we
report, so it is possible to find the error.
2019-12-13 14:21:44 -05:00
Marek Kasik
6ddc214e68
printing: Fill device URI for non-Avahi printers
...
Device URI was not filled for non-Avahi printers by my previous commit.
I've added it back. It was a mistake during rebasing of the patch
to current master.
2019-12-13 17:53:14 +01:00
Matthias Clasen
91a802a1e5
Merge branch '1509-don-t-show-Rejecting-Jobs-when-we-don-t-know' into 'master'
...
Fix getting info for standalone IPP printers
Closes #1509
See merge request GNOME/gtk!1247
2019-12-13 16:13:17 +00:00
Daniel Mustieles
886ab54eda
Updated Spanish translation
2019-12-13 12:24:36 +01:00
Matthias Clasen
4470e5bc93
gtk-demo: Some touchups
...
Make the theming style classes demo look a bit less odd.
2019-12-12 18:46:53 -05:00
Matthias Clasen
9bbacd3e4c
Run gtk-builder-tool simplify over our ui files
...
This was done mainly to verify that the tool does not
make any unwarranted changes. The changes included here
are all cosmetic.
2019-12-12 18:37:39 -05:00
Matthias Clasen
353df67c0b
Add GtkNative to the docs
...
It was not included in the generated docs.
2019-12-12 18:21:16 -05:00
Matthias Clasen
050eb9ba73
Fix up GtkBuilderScope docs
...
They were not hooked into the document generation.
2019-12-12 18:18:49 -05:00
Matthias Clasen
4fa5f5497a
builder: Another small docs fix
2019-12-12 17:59:24 -05:00
Matthias Clasen
21a032b783
docs: Ignore more private headers
2019-12-12 17:59:24 -05:00
Matthias Clasen
207efd8932
docs: Remove symbols that no longer exist
2019-12-12 17:59:24 -05:00
Matthias Clasen
43c943e48a
Merge branch 'issue-179' into 'master'
...
Use a separate gesture for middle clicks on PlaceView rows
Closes #179
See merge request GNOME/gtk!1199
2019-12-12 22:53:36 +00:00
Matthias Clasen
d6dc5da6db
textbuffer: Minor doc fixes
...
Fix parameter name mismatches.
2019-12-12 17:31:13 -05:00
Matthias Clasen
12d787286e
builder: Minor doc fixes
...
Fix parameter name mismatches.
2019-12-12 17:30:36 -05:00
Matthias Clasen
c33a7670d0
Merge branch 'wip/otte/builder' into 'master'
...
More builder work
Closes #2267
See merge request GNOME/gtk!1230
2019-12-12 20:36:08 +00:00
Matthias Clasen
bbb56d8216
Merge branch 'file-transfer' into 'master'
...
clipboard: file transfer portal support
See merge request GNOME/gtk!1244
2019-12-12 19:33:02 +00:00
Matthias Clasen
a20c8af678
clipboard: file transfer portal support
...
Implement file-list <-> application/vnd.flatpak.file-list
serialization by talking to the file transfer portal.
See https://github.com/flatpak/xdg-desktop-portal/pull/222
2019-12-12 14:25:33 -05:00
Matthias Clasen
0eb2b382a2
Merge branch 'master-gitlab-HC-tooltip' into 'master'
...
Set HighContrast tooltip back to black text over white background
See merge request GNOME/gtk!1242
2019-12-12 19:18:06 +00:00
Benjamin Otte
101298c54d
gtk-demo: Don't include "gtk.h"
2019-12-12 19:50:55 +01:00
Benjamin Otte
f6bdfc32d3
tests: Set an existing font in testfontchooser
2019-12-12 19:50:55 +01:00
Benjamin Otte
5015730212
builder: Turn last dlsym() function into a scope API
...
Looking up a get_type function by its name is now also part of
GtkBuilderScope.
2019-12-12 19:39:36 +01:00
Benjamin Otte
f8a7f30a0d
builder: Add GtkBuilderScope
...
GtkBuilderScope is an interface that provides the scope that a builder
instance operates in.
It creates closures and resolves types. Language bindings are meant to
use this interface to customize the behavior of builder files, in
particular when instantiating templates.
A default implementation for C is provided via GtkBuilderCScope (to keep
with the awkward naming that glib uses for closures). It is derivable on
purpose so that languages or extensions that extend C can use it.
The reftest code in fact does derive GtkBuilderCScope for its own scope
implementation that implements looking up symbols in modules.
gtk-widget-factory was updated to use the new GtkBuilderCScope to add
its custom callback symbols.
So it does it different from gtk-demo, which uses the normal way of
exporting symbols for dlsym() and thereby makes the 2 demos test the 2
ways GtkBuilder uses for looking up symbols.
2019-12-12 19:39:23 +01:00
Benjamin Otte
1f94028ff7
builder: Add gtk_builder_set_current_object()
...
Use it as the default object for expression binds and when connecting
signals. It is intended to work kind of as the "this" object while
parsing. In fact, the term "current object" was stolen from the Java
docs and various C++ tutorials for the this pointer.
Set the current object in gtk_widget_init_template() and
GtkListItemBuilder.
This more-or-less replaces the object passed to
gtk_builder_connect_signals() in GTK3.
2019-12-12 19:12:11 +01:00
Benjamin Otte
512c4c13a6
builder: Add gtk_builder_lookup_object()
...
... and use it. This function looks up an object like
gtk_builder_get_object() but generates an error on failure.
Unlike the evil function _gtk_builder_lookup_object() which also
generates an error but hides it for later lookup.
Use this to avoid continuing applying properties when an error was
encountered.
2019-12-12 19:12:11 +01:00
Benjamin Otte
552db7cb08
types: Move GTK_INVALID_LIST_POSITION here
...
I have no idea where it should go really - maybe glib?
It certainly shouldn't require everybody including selectionmodel code
just to get at this value.
2019-12-12 19:10:45 +01:00
Matthias Clasen
d564cb2a7e
Merge branch 'terminal' into 'master'
...
imwayland: Suppport terminal purpose
See merge request GNOME/gtk!1243
2019-12-12 17:57:05 +00:00
Marek Kasik
a6e3fc2d2f
printing: Fix getting info for standalone IPP printers
...
Create printer name from name of the advertised service
for standalone IPP printers as opposed to CUPS printers
advertised via Avahi which get name from their
resource path.
This is similar to what cups-filters does.
Pass GtkPrinter class to request for printer info
so that it does not need to be searched for
(such search could fail for standalone IPP printers).
https://gitlab.gnome.org/GNOME/gtk/issues/1509
2019-12-12 17:08:30 +01:00
Marek Kasik
e54049bc26
printing: Don't show Rejecting Jobs when we don't know
...
Set reasonable default values for printers discovered
by Avahi which do not have 'printer-type' attribute.
This is the case for network printers which were not
published by CUPS.
Related to the issue #1509 .
2019-12-12 17:08:30 +01:00
Dorota Czaplejewicz
e331b39ca5
imwayland: Suppport terminal purpose
2019-12-12 14:37:51 +00:00
Jonathan Michalon
e6270ca43f
Set HighContrast tooltip back to black text over white background
...
8abdbfee16 pulled Adwaita tooltip selectors,
but in the meantime the colors were also set to Adwaita's. Push back the same
behaviour as before because it's better for visually-impaired users.
2019-12-12 09:51:40 +01:00
Christoph Reiter
88da95d921
Merge branch 'honor-hotspot-gtk4' into 'master'
...
gdk/x11: Honor hotspot during drag cancel animation
See merge request GNOME/gtk!1236
2019-12-11 12:59:23 +00:00
Chun-wei Fan
44f9c67466
Merge branch 'vulkan-no-layered-windows' into 'master'
...
Win32: Do not enable layered windows when using Vulkan
See merge request GNOME/gtk!1217
2019-12-11 06:24:49 +00:00
Matthias Clasen
02bbe399df
Merge branch 'matthiasc/for-master' into 'master'
...
widget factory: Fix more grid layout fallout
See merge request GNOME/gtk!1237
2019-12-10 03:05:09 +00:00
Matthias Clasen
41bb40feee
widget factory: Fix more grid layout fallout
2019-12-09 21:29:03 -05:00
Benjamin Otte
336d652be5
a11y: We can peek here
...
Avoids instantiating a11y objects when we don't need to.
2019-12-09 16:35:41 +01:00
Benjamin Otte
d3e8678955
treeview: Don't create a cyclic reference
...
TreeRowReference refs the proxy object, so don't use proxies.
2019-12-09 16:35:41 +01:00
Benjamin Otte
503d988c1b
label: Compute label baselines correctly
...
When we were switching smallest and widest, we were not switching the
baselines.
2019-12-09 16:35:41 +01:00
Robert Mader
7a46378e71
gdk/x11: Honor hotspot during drag cancel animation
...
Otherwise the icon "jumps" to the cursor position with its top left when
the animation starts.
This is especially visible if the dragged item is big, like when dragging
mails in Thunderbird.
2019-12-09 01:45:30 +01:00
Matthias Clasen
9f6d12551f
Add GtkTreeListRow type to the docs
2019-12-08 17:58:09 -05:00
Matthias Clasen
43c93d6f85
Add missing listmodel and selection types to the docs
2019-12-08 13:56:47 -05:00
Matthias Clasen
d683d085c0
tree list model: Add a missing annotation
...
The GtkTreeListModelCreateModelFunc returns
a new reference.
2019-12-08 00:30:32 -05:00
Matthias Clasen
92ab450983
inspector: Avoid critical warnings
...
We were still using this but it's not defined in the UI xml.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2295
2019-12-07 19:39:02 -05:00
Matthias Clasen
7b14c65b41
Merge branch 'inspector-display' into 'master'
...
Inspector display
See merge request GNOME/gtk!1234
2019-12-07 23:20:51 +00:00
Matthias Clasen
c89c652401
inspector: Make the css tree respect inspected display
...
The display is used here to force reparsing the theme
on the right settings object.
2019-12-07 18:07:44 -05:00
Matthias Clasen
f0f57d156b
inspector: Make logs respect inspected display
2019-12-07 18:07:05 -05:00
Matthias Clasen
cecf4f2763
inspector: Make inspect button use inspected display
...
This may not matter, but just for cleanliness.
2019-12-07 18:07:05 -05:00
Matthias Clasen
4eeed47c7b
inspector: Make general respect inspected display
2019-12-07 18:07:05 -05:00
Matthias Clasen
bd1f7e057a
inspector: Make visual settings respect the inspected display
...
This is not quite complete, GTK and GSK debug flags
are not per display, and slowdown and text direction
are not either.
2019-12-07 18:07:05 -05:00
Matthias Clasen
174d8b72a5
inspector: Make css editor respect inspected display
...
Stop using gdk_display_get_default and use the
inspected display instead.
2019-12-07 18:07:05 -05:00
Matthias Clasen
1437b0856c
inspector: Make object tree respect inspected display
...
Stop using gdk_display_get_dfault and use the
inspected display instead.
2019-12-07 14:59:49 -05:00
Matthias Clasen
917181cb67
window: Get rid of the inspector_window static
...
Use the new per-display inspector plumbing and
stop relying on a static variable.
2019-12-07 14:59:49 -05:00
Matthias Clasen
a207a4b3cd
inspector: Attach inspector window to display
...
Give the inspector window a ::inspected-display
property, and pass a display when obtaining an
inspector window. Update the caller.
2019-12-07 14:59:49 -05:00
Matthias Clasen
39a1d27960
window: Inspector cleanups
...
Reduce the use of the inspector_window static.
The goal is to have one inspector window per
display, so we need to get rid of the static.
2019-12-07 14:59:49 -05:00
Matthias Clasen
5ef4a64084
window: Remove inspector updating fully
...
Commit 05e752e096 left some ruins behind.
Clean that up.
2019-12-07 14:59:49 -05:00
Matthias Clasen
baacd9efbf
inspector: Init yourself
...
No need to have GTK call this from the outside.
2019-12-07 14:59:49 -05:00
Matthias Clasen
abde37a4d7
inspector: Cleanup
...
Remove an unused enum.
2019-12-07 14:59:49 -05:00
Matthias Clasen
3ee9b0cf4b
Make a test with a custom display
...
This completely breaks the inspector.
2019-12-07 10:03:42 -05:00
Matthias Clasen
88049915a2
Merge branch 'doc-update' into 'master'
...
doc: Cleanup doc removing mentions of gdk_surface_shape_combine_region()
See merge request GNOME/gtk!1232
2019-12-05 22:11:31 +00:00
Hubert Figuière
585397937d
doc: Cleanup doc removing mentions of gdk_surface_shape_combine_region()
2019-12-05 11:33:09 -05:00
Matthias Clasen
256b6f1aff
Merge branch 'matthiasc/for-master' into 'master'
...
fix leaks in the testsuite
See merge request GNOME/gtk!1231
2019-12-05 00:01:23 +00:00
Matthias Clasen
acabdafb35
Fix treelistmodel tests
...
They were failing to return a reference where they
need to. This was uncovered by fixing an unrelated
ref leak.
2019-12-04 18:30:37 -05:00
Matthias Clasen
168c1f440d
Fix leaks in tests
...
All the list model tests were leaking items,
because g_list_model_get_item is transfer full.
Fixing these unveils a crash in the treelistmodel
and maplistmodel tests.
2019-12-04 18:24:56 -05:00
Tim Sabsch
33a8ef4bce
Update German translation
2019-12-04 19:37:01 +00:00
Benjamin Otte
33bd8f322c
builder: Improve error message
2019-12-03 18:12:25 +01:00
Benjamin Otte
bfe4255807
builder: Allow objects in gtk_builder_value_from_string_type()
...
Instead of throwing an error, lookup objects with
gtk_builder_get_object().
2019-12-03 18:12:25 +01:00
Benjamin Otte
a15fb95c46
gtk-demo: Use normal way to lookup up symbols
...
We're a normal application, so we can use the normal way to hook up code
into builder files, which is using dlsym() for the function pointers.
There's no need to to extra work exporting static symbols.
2019-12-03 18:12:25 +01:00
Benjamin Otte
292371932b
css: Handle invalid :not() selectors
...
We weren't correctly ending the ( ) block when encountering an error.
Testcases added.
Fixes #2281
2019-12-03 18:12:25 +01:00
Timm Bäder
564e8f483c
Merge branch 'wip/wayland-hidpi-swap-region' into 'master'
...
Fix HiDPI swap regions on Wayland
See merge request GNOME/gtk!1228
2019-12-03 16:05:08 +00:00
Jonas Ådahl
ba74f41a70
wayland/vulkancontext: Fix present region on HiDPI
...
VkPresentRegionsKHR is expected to operate in buffer coordinates, but
the region we get passed is in surface coordinates, so it must be scaled.
2019-12-03 16:45:37 +01:00
Jonas Ådahl
d6a6313493
wayland/glcontext: Fix damage region on HiDPI
...
The passed regions are in surface coordinates, but
eglSwapBuffersWithDamage() is in buffer coordinates.
2019-12-03 16:45:37 +01:00
Emmanuele Bassi
9b5a7ae802
Merge branch 'fix-treemodelsort_processed_as_treemodel' into 'master'
...
Annotate GtkTreeModelSort.new_with_model() appropriately
See merge request GNOME/gtk!1134
2019-12-03 15:36:43 +00:00
LutzLue
e4b8481dd0
Annotate GtkTreeModelSort.new_with_model() appropriately
...
The new_with_model() method is a constructor, and it returns a GtkTreeModelSort
instance, even if the C API returns a GtkTreeModel for the convenience of C
developers.
Fixes : #1077
2019-12-03 15:36:42 +00:00
Timm Bäder
d868b23c76
gl renderer: Implement blurred inset shadow nodes
...
And with this...
Fixes #1101
2019-12-03 08:40:35 +01:00
Timm Bäder
56b456ff21
gl renderer: Remove unused uniform from inset shadow shader
2019-12-03 08:40:35 +01:00
Timm Bäder
b91913d10d
opbuffer: Remove unused op member
2019-12-03 08:40:35 +01:00
Timm Bäder
ac1497eb2d
testsuite: Add an inset shadow rendering test case
2019-12-03 08:40:35 +01:00
Timm Bäder
1854f3f49c
gl renderer: Cache current scale in RenderOpBuilder
...
We call ops_get_scale a lot, so this should be better. It will also make
a later x/y split for the scaling easier.
2019-12-03 08:40:34 +01:00
Timm Bäder
a75523da68
cssshadowvalue: Simplify inset shadow nodes to color nodes if possible
...
inset shadows like this are frequently used to implement highlights in
CSS without crowing them min size of the element.
2019-12-03 08:40:34 +01:00
Timm Bäder
ca66e9788c
gl renderer: Save one level of indentation
2019-12-03 08:40:34 +01:00
Timm Bäder
83ec7d562a
window: Don't set invalid csd input shape
...
This might happen if the CSS values of the decoration node are broken,
e.g. if people *accidentally* type large negative values for the
margins.
Fixes #2268
2019-12-03 08:40:34 +01:00
Timm Bäder
05e9a9b572
snapshot: Reorder color matrix nodes containing a transform node
...
A color matrix node that contains a transform node can also be expressed
the other way around, as a transform node containing a color matrix
node.
In the general case, the color matrix node will have to draw its
child to a texture so it can color every pixel of that texture, but the
renderers can short-cut this if the child of the color matrix node is
already a texture node. So if we have a node tree like
Color Matrix
- Transform
- Texture
The renderer would have to either check the grandchild of the color
matrix or simply fall back to rendering the transform node to a texture.
In the new configuration:
Transform
- Color Matrix
- Texture
The renderer can easily see that the child node of the color matrix node
is a texture, and skip rendering it to a texture.
This is for example happening in current Adwaita for spinners, which are
rotated symbolics.
2019-12-03 08:40:34 +01:00
Timm Bäder
bc7b37d307
snapshot: Factor out color matrix merging
...
We will use that elsewhere in the next commit.
2019-12-03 08:40:34 +01:00
Timm Bäder
fb5dc73841
gl renderer: Implement blurred shadow nodes
2019-12-03 08:40:34 +01:00
Timm Bäder
8d61d9f627
gl renderer: Take a TextureRegion in blur_texture
...
So we can refer to textures on a texture atlas.
2019-12-03 08:40:34 +01:00
Timm Bäder
22b6085c32
gl renderer: Scale blur radius
...
We scale the texture size, so as a consequence we have to scale the blur
radius.
2019-12-03 08:40:34 +01:00
Timm Bäder
2deb1a05a0
gl renderer: Add some often needed debug code
2019-12-03 08:40:34 +01:00
Timm Bäder
8ca46169b1
gl renderer: Blur shader improvements
...
Use a two-pass blur shader, fix a few other things and unify the
blurring of blur nodes and blurred outset shadow nodes.
Related to #1283
2019-12-03 08:40:34 +01:00
Timm Bäder
642ced0cfc
testblur: Fix default blur radius
...
sync it up with the adjustment value. also just add the destroyed
handler.
2019-12-03 08:40:34 +01:00
Matthias Clasen
a635076106
Merge branch 'improve-popover-menu-style' into 'master'
...
Adwaita: Improve popover.menu styling
See merge request GNOME/gtk!1083
2019-12-02 13:19:50 +00:00
nana-4
23d8aa40fe
Adwaita: Remove unused popover check/radio styling
2019-12-02 20:48:10 +09:00
nana-4
0933630ee5
Adwaita: Flatten circular buttons in popover.menu
...
Just reuse the list button style.
https://gitlab.gnome.org/GNOME/gtk/issues/1824
2019-12-02 20:48:09 +09:00
nana-4
797cecd9ae
Adwaita: Make check & radio symbolic icon style in popover.menu
...
The disabled modelbutton color needs to be specified explicitly
in order for check & radio to properly read the color with
currentColor.
https://gitlab.gnome.org/GNOME/gtk/issues/1824
2019-12-02 20:48:09 +09:00
nana-4
4c2707916c
Adwaita: Improve popover.menu styling
...
Based on the mockup:
https://gitlab.gnome.org/Teams/Design/os-mockups/blob/master/menus/menu-design-patterns.png
- Remove horizontal padding from popover.menu contents
- Remove roundness from modelbutton
- Adjust sizing to match the mockup
- Fix visual glitches on button.image-button.model
- Add missing mergin to arrow icons
- Fix accelerator position in rtl direction
- Fix accelerator color
https://gitlab.gnome.org/GNOME/gtk/issues/1824
2019-12-02 20:48:09 +09:00
Matthias Clasen
ab32b1bba2
Merge branch 'wip/muktupavels/opaque-region-master' into 'master'
...
window: fix opaque region
See merge request GNOME/gtk!1222
2019-12-01 15:11:00 +00:00
Matthias Clasen
619c892032
Merge branch 'sass-no-extend-compound-master' into 'master'
...
themes: remove various @extend with compound selectors
See merge request GNOME/gtk!1223
2019-12-01 15:09:39 +00:00
nana-4
87ea0253aa
themes: remove various @extend with compound selectors
...
They are no longer supported by sass and broken with libsass 3.6.3
(https://github.com/sass/libsass/issues/3033 )
This removes them by replacing them with a placeholder selector. This at
least brings the resulting CSS size down a bit so gtk can be build
again.
`%button.flat.suggested-action` has been replaced by
`%selection_mode_button_flat`, which is a more appropriate selector for
`.selection-mode button.titlebutton`.
The CSS was generated with libsass 3.5.5.
Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com >
See https://gitlab.gnome.org/GNOME/gtk/issues/2237
2019-12-01 10:43:16 +09:00
Alberts Muktupāvels
e81a90c432
window: fix opaque region
...
Decoration node for drawing is used only for client side decorated
windows, but corners from opaque region is subtracted also for
normal windows.
Rename function to better reflect what it does and do not subtract
corners if decoration node was not used for drawing.
2019-11-30 20:19:26 +02:00
Timm Bäder
fe385c28f6
Merge branch 'gtk-link-color' into 'master'
...
Adwaita: always use link specific colors for link selector
See merge request GNOME/gtk!1201
2019-11-30 07:40:48 +00:00
Matthias Clasen
6c4ab7d208
Merge branch 'matthiasc/for-master' into 'master'
...
some builder-tool tests
See merge request GNOME/gtk!1220
2019-11-29 15:21:40 +00:00
Matthias Clasen
dd52dd8bb0
Update the test scripts
...
All tools got renamed to have a gtk4 prefix.
2019-11-29 10:06:39 -05:00
Matthias Clasen
174cdb09a7
Add a test for the previous fix
2019-11-29 10:04:59 -05:00
Matthias Clasen
c3ca34cf51
Merge branch 'matthiasc/for-master' into 'master'
...
builder-tool: Fix handling of layout properties
See merge request GNOME/gtk!1219
2019-11-29 14:00:05 +00:00
Matthias Clasen
85950afbbd
builder-tool: Fix handling of layout properties
...
We were not properly identifying layout properties
that need to be kept, causing GtkGrid left-attachment
to go missing in widget-factory.ui.
2019-11-29 08:47:35 -05:00
Matthias Clasen
da063a8aa5
Fix up widget-factory ui
2019-11-29 08:34:09 -05:00
Timm Bäder
9d94627f75
Merge branch 'dont-color-labels-directly-gtk4' into 'master'
...
Adwaita: Avoid directly coloring labels wherever possible (GTK4)
Closes #1643
See merge request GNOME/gtk!1209
2019-11-29 11:53:07 +00:00
Timm Bäder
5bdd25627f
reftests: Fix css-multi-state test
...
Properly unset theme CSS and use the right selector for the toggle
buttons.
2019-11-29 20:26:45 +09:00
Carlo Lobrano
7bb8a480f1
Adwaita: always use link specific colors for link selector
...
link target uses `$selected_bg_color` and `$selected_fg_color` for the
definition of some selectors (e.g. selected).
While `$link_color` and `$link_visited_color` are based on
`$selected_bg_color`, this does not seem coherent.
Replacing `$selected_*g_color` in link target style with link colors
defined in `_colors.scss file`.
2019-11-29 07:32:16 +01:00
Matthias Clasen
be74be0e3b
widget-factory: Fix a popover menu
...
This one is manually constructed, and things have
changed enough for that to break. Fix it up.
2019-11-27 17:41:44 -05:00
Timm Bäder
982890515d
gl renderer: Don't use g_assert() for code that should always run
...
g_assert can be compiled out.
2019-11-27 16:56:47 +01:00
Timm Bäder
1817025f46
gl renderer: Don't save repeat nodes to disk
...
This is just debuggin code someone forgot.
2019-11-27 16:47:14 +01:00
Matthias Clasen
c5d24fc5cd
Merge branch 'single-compilation-symbol' into 'master'
...
Use a single compilation symbol
See merge request GNOME/gtk!1216
2019-11-27 15:14:54 +00:00
Timm Bäder
965e37bee9
Merge branch 'fix-issue-1646-master' into 'master'
...
HighContrast: Add missing color to entry
Closes #1646
See merge request GNOME/gtk!1215
2019-11-27 13:52:08 +00:00
Emmanuele Bassi
def700739d
Use a single compilation symbol
...
We use a compilation symbol in our build to allow the inclusion of
specific headers while building GTK, to avoid the need to include only
the global header.
Each namespace has its own compilation symbol because we used to have
different libraries, and strict symbol visibility between libraries;
now that we have a single library, and we can use private symbols across
namespaces while building GTK, we should have a single compilation
symbol, and simplify the build rules.
2019-11-27 13:33:43 +00:00
nana-4
5590bcb9cc
HighContrast: Add missing color to entry
...
So entries don't inherit color from the parent element anymore.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1646
2019-11-27 22:22:11 +09:00
Timm Bäder
9f69c7f3e8
Merge branch 'broken-annotation' into 'master'
...
builder: Fix broken annotation
See merge request GNOME/gtk!1213
2019-11-27 06:46:15 +00:00
Robert Ancell
0df45f0de0
builder: Fix broken annotation
...
Missing a ':', was introduced in 0627bba5a0 .
2019-11-27 16:06:36 +13:00
Chun-wei Fan
9c5ea8eba4
gdkvulkancontext-win32.c: Suppress layered Windows on Vulkan
...
The Vulkan renderer does not work well with layered windows enabled, so
turn it off when we successfully created the Vulkan context on Windows.
2019-11-26 17:00:11 +08:00
Timm Bäder
8f6de1f955
gl renderer: Load flipped-y offscreen vertex data directly
...
Instead of loading the unflipped version first and then flipping it.
Don't do it in add_render_ops either but only in the function actually
adding the render ops for the nodes, since those frequently have
early-out conditions that don't need the vertex data at all.
2019-11-26 09:09:25 +01:00
Timm Bäder
4f532224e0
testsuite: Add another repeat node test case
2019-11-26 09:09:25 +01:00
Timm Bäder
1c2661ed12
gl renderer: Fix repeat node shader once again
2019-11-26 09:09:25 +01:00
Timm Bäder
91f7ac2d58
gl renderer: Care more about 0×0 offscreen nodes
...
These never result in a rendering of course, but we must make sure not
to create a 0×0 texture for them, since that will cause problems later
on.
2019-11-26 09:09:25 +01:00
Timm Bäder
3d1a9c7484
Merge branch 'unsafe-strdup-printf' into 'master'
...
gtk-demo: Fix incorrect use of g_strdup_printf
See merge request GNOME/gtk!1211
2019-11-26 07:11:19 +00:00
Robert Ancell
25e4174a38
gtk-demo: Fix incorrect use of g_strdup_printf
...
Was broken in a refactoring in 4a2f313
2019-11-26 10:11:28 +13:00
Emmanuele Bassi
04bb5aad36
Use a separate gesture for middle clicks on PlaceView rows
...
The click gesture in GtkListBox is exclusively for primary button
clicks; this means we're never going to get a click from the middle
button. We need to use a separate GtkGestureClick controller for middle
clicks, in order to activate rows with the 'open-in-tab' flag.
Fixes : #179
2019-11-25 16:02:40 +00:00
nana-4
4f82a0de89
Adwaita: Avoid directly coloring labels wherever possible
...
Directly coloring labels can create a lot of unintended behaviors.
Unfortunately we can't avoid directly coloring `label:disabled` because
it can be used individually. This, however, tries to inherit color from
the parent element of labels wherever possible.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1643
2019-11-26 00:39:33 +09:00
Benjamin Otte
9e4901e8ce
testsuite: Fix expected test output
...
This reverts part of 91497348bf
2019-11-23 19:33:36 +01:00
Benjamin Otte
7523a3f2f2
cssprovider: Don't add empty rulesets
...
This change was lost during the parser changes, but the newly added test
exposes it.
And fix the expected error, the syntax has changed.
2019-11-23 19:02:36 +01:00
Alexandr Miloslavskiy
fd1630e049
Fix crash in parse_border()
...
The bug was introduced in commit:
9b7640b8 by Benjamin Otte, 2012-03-26 17:24:02
styleproperty: Make _gtk_style_property_parse_value() return a CssValue
In that commit, `values` changed from `GValue*` to `GtkCssValue**`,
but one `!G_IS_VALUE (&values[8])` was left untouched. As a result,
if `border` shorthand contains anything after color, it might crash,
depending on memory layout.
New test included.
Fixes : #751
2019-11-23 18:15:19 +01:00
Benjamin Otte
e3c3cbbbcb
Merge branch 'wip/otte/builder' into 'master'
...
Reorganize various GtkBuilder things
See merge request GNOME/gtk!1204
2019-11-23 17:09:15 +00:00
Benjamin Otte
4fbb0d7ce4
builder: Make the struct private
...
We don't want anyone to subclass it - if we want to allow bindings to
extend GtkBuilder, we will be using delegate objects/functions for it.
2019-11-22 17:42:32 +01:00
Benjamin Otte
245fdc8b38
builder: Remove get_type_from_name() vfunc
2019-11-22 17:42:32 +01:00
Benjamin Otte
420169d5cd
builder: Improve signal connecting
...
- Propagate the error back to the parser, so we get a proper GError
instead of a g_warning().
- Connect closures by id, don't construct a name from the ids so that
glib can take it apart again.
2019-11-22 17:42:31 +01:00
Benjamin Otte
b025ee428c
builder: Connect signals automatically
...
gtk_builder_connect_signals() is no longer necessary, because all the
setup that made it necessary to have this extra step is now done
automatically via the closure functions.
2019-11-22 17:42:31 +01:00
Benjamin Otte
82395a93b0
reftests: Switch to gtk_builder_set_closure_func()
2019-11-22 17:42:31 +01:00
Benjamin Otte
b7ff017f8d
widget: Change templates to use closure functions
...
... instead of connect functions.
2019-11-22 17:42:31 +01:00
Benjamin Otte
0627bba5a0
builder: Add gtk_builder_set_closure_func()
...
This allows bindings and templates to setup a way to create closures.
2019-11-22 08:13:16 +01:00
Benjamin Otte
ab53731f4a
widget: Reinstate custom closure func
...
It turns out it ws used in various places.
2019-11-22 07:46:18 +01:00
Benjamin Otte
094c537001
builder: Add gtk_builder_create_closure()
...
This will be the future way to connect signals automatically (and be
used for other things, too).
For now, gtk_builder_connect_signals_default() is ported to use it.
2019-11-22 07:46:18 +01:00
Benjamin Otte
27d05102ab
builder: Remove user_data argument from gtk_builder_connect_signals()
...
This is pretty unused and gets in the way of the next steps.
A potential side effect is that for templates the widget was passed as
the user data argument. If that turns out to be important, we have to
special case that situation.
2019-11-22 07:46:18 +01:00
Benjamin Otte
f5e4dc824c
builder: Remove application setter/getter
...
It's unused and doesn't belong to GtkBuilder.
2019-11-22 07:46:18 +01:00
Benjamin Otte
80acc8f296
builder: Carry the module as part of the GtkBuilder object
...
This way, we don't open the module in every place we want to look up
functions.
2019-11-22 07:46:18 +01:00
Benjamin Otte
e3860d25e9
builder: Fix typo in docs
2019-11-22 07:35:03 +01:00
Benjamin Otte
a2634077e7
testsuite: Print useful statement on notify test error
...
... and don't instantly abort, test the rest of the properties, too.
2019-11-22 07:35:03 +01:00
Benjamin Otte
c72c0f4d43
types: Remove and unused typedef
...
GtkRcPropertyParser is gone.
2019-11-22 07:35:03 +01:00
Benjamin Otte
d92cfa2179
settings: Remove RC property parsers
...
They've not been used for a long time and the APIs where they could
reasonably be used have been gone for as long.
2019-11-22 07:35:03 +01:00
Benjamin Otte
bbdaa4a0ff
settings: Remove code dealing with property parsers
...
They only remained in private code where they were always set to NULL.
2019-11-22 07:35:03 +01:00
Sam Hewitt
5e11a2ae6a
adwaita: level bar refinements
...
- shave a few pixels off large level bar
- thinner discrete level bar
2019-11-19 11:46:18 -05:00
Timm Bäder
053360df85
gl renderer: Remove unused function
2019-11-19 11:06:08 +01:00
Timm Bäder
39a48de025
testsuite: Add a testcase for repeat nodes that don't repeat
2019-11-19 10:45:35 +01:00
Timm Bäder
600ce68210
gl renderer: Add a short cut for repeat nodes that don't repeat
...
These happen and we don't even need to draw the child to a texture.
2019-11-19 10:45:02 +01:00
Timm Bäder
604f44da11
gl renderer: Fix repeat nodes that don't repeat
...
Fixes #2234
2019-11-19 10:31:21 +01:00
Timm Bäder
581f5bd749
csstokenizer: Plug a leak
2019-11-19 09:37:45 +01:00
Timm Bäder
ecc40cf115
rendernodeparser: Only report a GError* if we have one
2019-11-19 09:37:26 +01:00
Timm Bäder
3d7817154c
rendernodeparser: Handle resolving NULL urls
2019-11-19 09:37:03 +01:00
Emmanuele Bassi
232e313823
docs: Add migration note for iconify → minimize
...
See commit b70e4f6de9 .
2019-11-18 14:12:41 +00:00
Daniel Mustieles
914e2a6656
Updated Spanish translation
2019-11-18 15:08:59 +01:00
Emmanuele Bassi
9a88d17ef2
Merge branch 'gdk-backend-imports' into 'master'
...
Correct Gdk backend import paths and related gtk-doc
See merge request GNOME/gtk!1197
2019-11-18 10:27:32 +00:00
Andy Holmes
907a86fd93
Correct Gdk backend import paths and related gtk-doc
...
Correct the paths in the include guard warnings and use the `@Include`
directive for the Gdk backends.
2019-11-18 00:31:38 -08:00
Matthias Clasen
d4180931f8
Merge branch 'seal-popover-menu' into 'master'
...
Privatize popover menu pieces
See merge request GNOME/gtk!925
2019-11-18 01:57:55 +00:00
Matthias Clasen
dd913423d3
Merge branch 'signal-naming' into 'master'
...
gtkstyleprovider: Rename -gtk-style-changed signal to have a valid name
See merge request GNOME/gtk!1176
2019-11-18 01:55:34 +00:00
Matthias Clasen
c296101a2f
Merge branch 'issue-67' into 'master'
...
Rename "iconify" to "minimize"
Closes #67
See merge request GNOME/gtk!1190
2019-11-18 00:52:53 +00:00
Emmanuele Bassi
a439be5161
Remove the XIM input method
...
It's old and busted, and mostly broken in weird ways when it comes to
extended input devices. All that XIM does, these days, is make a mess
when people enable it by mistake.
2019-11-16 21:05:25 +00:00
Emmanuele Bassi
1ba2923616
Merge branch 'meson-bump' into 'master'
...
Bump up the required version of Meson
See merge request GNOME/gtk!1191
2019-11-16 20:26:31 +00:00
Emmanuele Bassi
1ec4cb7f17
Disable GdkSurface.minimize on Wayland
...
The existing xdg-shell protocols do not support minimization in a way
that allows us to implement the GdkSurface API; the only minimization
operation does not come with a state notification, nor it comes with
a way to undo itself.
Closes : #67
2019-11-16 20:25:01 +00:00
Emmanuele Bassi
b70e4f6de9
Rename "iconify" to "minimize"
...
The "iconified" state is mostly an X11-ism; every other platform calls
this state "minimized" because it may not involve turning a window into
an icon at all.
2019-11-16 20:07:37 +00:00
Emmanuele Bassi
3c11c57755
Bump up the required version of Meson
...
Match the one we're testing on our CI infrastructure.
2019-11-16 18:40:23 +00:00
Emmanuele Bassi
1b7c6e5687
Merge branch 'gdkx-import-doc' into 'master'
...
Correct GdkX11 import path in docs and include guards
Closes #2254
See merge request GNOME/gtk!1188
2019-11-16 18:19:26 +00:00
Andy Holmes
d32cd210bb
Correct GdkX11 import path in docs and include guards
...
Update the include directives in the documentation, as well as the
include guards in headers, to point to gdk/x11/gdkx.h.
closes #2254
2019-11-16 01:35:09 -08:00
Emmanuele Bassi
e056e4ff58
Merge branch 'fix-menu-check-radio-styling-gtk4' into 'master'
...
Adwaita: Fix check/radio styling in menu (GTK4)
See merge request GNOME/gtk!1187
2019-11-15 23:26:17 +00:00
Emmanuele Bassi
ae66c07a70
Merge branch 'dont-hardcode-shared-library' into 'master'
...
build: Don't hardcode shared_library() in meson
See merge request GNOME/gtk!1172
2019-11-15 23:24:42 +00:00
Niklas Hambüchen
3936412332
Try building static libs on CI
2019-11-15 18:42:36 +01:00
nana-4
ea5eeb7c7a
Adwaita: Fix check/radio styling in menu
...
The new check/radio style increased their specificity, but it was not
synchronized in the menu styling.
This commit increases the specificity to match the updated check/radio
styling.
https://gitlab.gnome.org/GNOME/gtk/issues/2096
2019-11-16 01:08:44 +09:00
Emmanuele Bassi
767df50eda
Merge branch 'building-docs' into 'master'
...
Document the use of build types when configuing GTK
See merge request GNOME/gtk!1113
2019-11-15 13:05:39 +00:00
Emmanuele Bassi
baae2920dc
Merge branch 'Master_checkradio_refresh' into 'master'
...
Refresh check/radio styling, ported from gtk3
See merge request GNOME/gtk!1175
2019-11-15 12:36:12 +00:00
frederik.feichtmeier
832419b2c3
Refresh check/radio styling, ported from gtk3
2019-11-15 13:16:07 +01:00
Emmanuele Bassi
ff78adb25d
Merge branch 'fix-emoji-picker-styling' into 'master'
...
Adwaita: Fix emoji picker styling (GTK4)
See merge request GNOME/gtk!1181
2019-11-14 16:30:49 +00:00
nana-4
e05f404fc5
Adwaita: Fix emoji picker styling
...
- Adjust the emoji picker appearance to be the same as gtk3's.
- Fix button.emoji-section margins in RTL.
- Prevent the .emoji hover effect from being applied to the entire
nested popover.
2019-11-15 00:04:18 +09:00
Kjell Ahlstedt
d572b5d94c
headerbar: Disconnect signal handlers when children are removed
...
The signal handler that calls notify_child_cb() is disconnected
from a child widget before the child is removed from the header bar.
gtk_header_bar_dispose() chains up before destroying the start and end
boxes, thus avoiding calls to notify_child_cb() after start_box and
end_box have been cleared.
Fixes #2246
2019-11-14 09:15:58 +01:00
Timm Bäder
c2306d3ba6
inspector: Select an object when activating it
2019-11-14 09:15:58 +01:00
Timm Bäder
edf56b438e
css: short-circuit gtk_css_dimension_value_try_add
...
No need to allocate a new css value for something that we already have,
because one of the two values is 0
2019-11-14 09:15:58 +01:00
Timm Bäder
cd3cd64769
cssdimenstionvalue: Add common degree value singletons
2019-11-14 09:15:58 +01:00
Timm Bäder
fb0b0ddfe0
cssdimensionvalue: Add 50% singleton
...
Also pretty common
2019-11-14 09:15:58 +01:00
Timm Bäder
3180cdb9ef
cssdimensionvalue: Add more common pixel values
...
These are used for icon sizes, etc.
2019-11-14 09:15:58 +01:00
Timm Bäder
07d1ea4356
cssimagerecolor: Avoid copying colors
2019-11-14 09:15:58 +01:00
Timm Bäder
e5f1ff6a4d
popover: Use a bin layout for the contents gizmo
2019-11-14 09:15:58 +01:00
Timm Bäder
f8303c7a22
testpopover: Plug two GtkBuilder leaks
2019-11-14 09:15:58 +01:00
Timm Bäder
af6d1839e1
Merge branch 'wip/christopherdavis/issue-2233' into 'master'
...
Adwaita: remove unwanted spacing for boxes as titlebars
Closes #2233
See merge request GNOME/gtk!1177
2019-11-13 14:29:01 +00:00
Christopher Davis
b4b7fe122e
Adwaita: remove unwanted spacing for boxes as titlebars
...
A GtkBox in a titlebar could have unwanted spacing.
This caused a glitch in split-header applications where
parts of the titlebar would be transparent or black.
This commit tweaks Adwaita to make sure no spacing is added for boxes when used as titlebars.
Fixes #2233
2019-11-13 06:19:05 -08:00
Timm Bäder
e36940fa8c
Merge branch 'master.msvc.fix' into 'master'
...
gtk/gtkcssrgbavalue.c: Fix build on Visual Studio
See merge request GNOME/gtk!1178
2019-11-13 10:40:02 +00:00
Chun-wei Fan
d2e13dd3e4
gtk/gtkcssrgbavalue.c: Fix build on Visual Studio
...
Visual Studio does not allow static or global structures to use
static storage duration by compound literals, which is actually a
GCCism[1].
[1]: See https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html
2019-11-13 18:08:15 +08:00
Philip Withnall
13f4d639fd
gtkstyleprovider: Rename -gtk-style-changed signal to have a valid name
...
Signal names must start with a letter. They can’t start with a hyphen.
It was originally added in commit 74f4c6f6bd with no given reason
for why the signal name was chosen as it was.
Signed-off-by: Philip Withnall <withnall@endlessm.com >
2019-11-12 19:51:33 +00:00
Emmanuele Bassi
ad48bbb849
Merge branch 'issue-2230' into 'master'
...
Add GtkCss API to the introspection data
Closes #2230
See merge request GNOME/gtk!1173
2019-11-11 16:11:06 +00:00
Emmanuele Bassi
2497d982b0
Add GtkCss API to the introspection data
...
Some of the CSS API has been moved to a public namespace, so we need to
include it into the introspection data we build in order for people to
use it.
Fixes : #2230
2019-11-11 15:53:09 +00:00
Niklas Hambüchen
bb9c07d8fe
build: Don't hardcode shared_library() in meson.
...
Instead, use the standard library().
This is a meson best practice.
Fixes -Ddefault_library=static not having any effect.
2019-11-11 16:37:46 +01:00
Emmanuele Bassi
ace2208f45
docs: Rename SGML files
...
We've been using XML for ages.
2019-11-11 13:52:08 +00:00
Emmanuele Bassi
b8c4009686
docs: Fix the XML indentation
2019-11-11 13:52:08 +00:00
Emmanuele Bassi
6f0ff3a8cb
docs: We run meson, not configure
2019-11-11 13:52:08 +00:00
Emmanuele Bassi
209e8b54e9
docs: Add a section on supported build types
...
GTK uses the Meson `buildtype` option to determine whether to enable or
disable debugging code and safeties. We should document our behaviour
and expectations.
2019-11-11 13:52:08 +00:00
Matthias Clasen
bfa0509f08
Privatize popover menu pieces
...
Don't allow manual creation of popover menus
anymore. This lets us also make GtkModelButton
private
2019-11-11 12:42:06 +01:00
Piotr Drąg
07d17c5bc1
Update Polish translation
2019-11-10 12:45:22 +01:00
Daniel Mustieles
e26c361d2d
Updated Spanish translation
2019-11-08 12:44:39 +01:00
Timm Bäder
290e250886
Merge branch 'adwaita-emoji-picker-adjustments-gtk4' into 'master'
...
Adwaita: Emoji picker adjustments
See merge request GNOME/gtk!1160
2019-11-07 11:56:17 +00:00
Alex Monday
22d5b9bc41
Adwaita: Emoji picker adjustments
...
- Add margins for search entry;
- Increase side margins for emoji-section buttons box;
- Apply border-radius on hovered emoji;
- Adjust indication of hovered emoji-section button.
2019-11-06 18:41:11 +05:00
Benjamin Otte
ab407ba57c
Merge branch 'kill-entry-buffer-demo' into 'master'
...
gtk-demo: Drop the entry buffer demo
See merge request GNOME/gtk!1166
2019-11-05 19:08:22 +00:00
Benjamin Otte
07f2024bfc
scrolledwindow: Use dispose(), not destroy()
2019-11-05 20:06:44 +01:00
Benjamin Otte
accbfc0083
Merge branch 'wip/chergert/textundo' into 'master'
...
Add undo/redo support for GtkTextView, GtkText, and GtkEntry
See merge request GNOME/gtk!1158
2019-11-05 18:52:25 +00:00
Matthias Clasen
e8d890ae0c
gtk-demo: Drop the entry buffer demo
...
We all agree that entry buffers are not something
we should promote in demos.
2019-11-05 18:50:06 +00:00
Christian Hergert
bfc1e77b7f
migration: add GtkEntryBuffer::deleted-text to migration guide
2019-11-05 10:27:29 -08:00
Christian Hergert
dba9298c14
gtk-demo: set irreversable actions for textview demos
2019-11-05 10:27:29 -08:00
Christian Hergert
67c0f88c00
gtk-demo: add a demo for TextView undo/redo
2019-11-05 10:27:29 -08:00
Christian Hergert
e93408e962
gtk-demo: add an undo demo for GtkEntry
2019-11-05 10:27:29 -08:00
Christian Hergert
6d193d7cb4
gtk-demo: wrap text operations in irreversible actions
...
This ensures that the actions to set the text for the demo tabs cannot
be undone. This matches the previous behavior for GtkTextBuffer.
2019-11-05 10:27:29 -08:00
Christian Hergert
fb4fbfb2a8
text: add undo support to GtkText
...
This adds support using the GtkTextHistory helper for undo/redo to the
GtkText widget. It is similar in use to GtkTextView, but with a simplified
interface.
You can disable undo support using the GtkText:enable-undo property. By
default, it is enabled.
2019-11-05 10:27:29 -08:00
Christian Hergert
7e77afe94c
entrybuffer: remove text in ::deleted-text default handler
...
This changes the semantics of ::deleted-text to perform the removal of
text in the default handler. This means, that if you want the old behavior
where your signal handler is called after the text has been deleted, you
should connect with G_CONNECT_AFTER in your signal handler (or use
g_signal_connect_after).
Without this change, there was never a way to get the deleted-text before
the operation had completed and this is necessary to provide undo support
to the text widgets.
2019-11-05 10:27:29 -08:00
Christian Hergert
7587996279
editable: add enable-undo property
...
This property is intended to be mapped to a GtkText so that undo/redo
support can be used from a number of editable widgets.
2019-11-05 10:27:27 -08:00
Christian Hergert
15b3c0f563
textview: add undo/redo support to GtkTextView
...
This builds upon the GtkTextHistory helper to provide undo and redo support
for the GtkTextView widget and GtkTextBuffer object.
You can undo/redo using familiar shortcuts such as Primary+Z,
Primary+Shift+Z, ad Primary+Y.
Developers that wish to disable undo, should set the
GtkTextBuffer:enable-undo property to FALSE.
You can wrap irreversible actions
gtk_text_buffer_begin_irreversible_action() and
gtk_text_buffer_end_irreversible_action(). This will cause the undo stack
to drop all undo/redo actions and the changes made between them will be
the "initial state" of the buffer.
Calling gtk_text_buffer_set_text() will do this automatically for you.
2019-11-05 09:34:29 -08:00
Christian Hergert
5e341210a1
texthistory: add GtkTextHistory helper
...
The GtkTextHistory helper provides the fundamental undo/redo stack that
can be integrated with other text widgets. It allows coalescing related
actions to reduce both the number of undo actions to the user as well as
the memory overhead.
A new istring helper is used by GtkTextHistory to allow for "inline
strings" that gracefully grow to using allocations with g_realloc(). This
ensure that most undo operations require no additional allocations other
than the struct for the action itself.
A queue of undoable and redoable actions are maintained and the link for
the queue is embedded in the undo action union. This allows again, for
reducing the number of allocations involved for undo operations.
2019-11-05 09:34:29 -08:00
Daniel Mustieles
fbea677a5c
Updated Spanish translation
2019-11-05 15:44:34 +01:00
Emmanuele Bassi
b271db4f5b
ci: Allow msys2 jobs to fail
...
The msys2 runner has started failing for internal reasons:
- gtk-3-24 times out
- master fails with a ld.exe assertion:
BFD (GNU Binutils) 2.33.1 assertion fail
../../binutils-2.33.1/bfd/cofflink.c:2348
Both seem related to some MSYS2 issue. Until the runner is updated, we
should not block on it.
2019-11-05 10:44:05 +00:00
Emmanuele Bassi
b5ed2d310e
tests: Add label-sizing.ui to the XFAIL list
...
Changes in Pango may make this test fail.
2019-11-04 23:46:22 +00:00
Emmanuele Bassi
3bf9277de6
Revert "Adwaita: radios & checkboxes styling updates"
...
This reverts commit 427b5d187c .
The commit breaks Adwaita:
Theme parsing error: gtk-contained.css:1191:28-44: No property named "-gtk-icon-effect"
2019-11-04 23:35:49 +00:00
Matthias Clasen
53c9eb5a5b
Move the ifdef to the right spot
2019-11-04 23:24:49 +00:00
Matthias Clasen
6e5da14294
cell text: Handle new pango enum values
...
The PangoUnderline enum grew some new values.
2019-11-04 23:14:44 +00:00
Jakub Steiner
427b5d187c
Adwaita: radios & checkboxes styling updates
...
- port from gtk3
2019-11-04 19:41:58 +01:00
Benjamin Otte
5d07877b35
Merge branch 'wip/sadiq/fix-leak' into 'master'
...
selection-output-stream-x11: Fix a memory leak
See merge request GNOME/gtk!1149
2019-11-04 17:46:28 +00:00
Benjamin Otte
3086715d54
Merge branch 'gtkstack-addnamed-return' into 'master'
...
stack: return the stack page when adding a child, to ease setting props
See merge request GNOME/gtk!1161
2019-11-04 02:35:22 +00:00
Andy Holmes
44093f4966
stack: return the stack page when adding a child, to ease setting props
2019-11-03 18:05:03 -08:00
Christian Hergert
6d16f7ad35
textview: use g_slice_new0 for proper initial state
...
This fixes the missuse of the GList embedded node for prev/next.
2019-11-01 11:37:07 -07:00
Matthias Clasen
5f627a2cb6
Merge branch 'reftest-fixes' into 'master'
...
Reftest fixes
See merge request GNOME/gtk!1157
2019-11-01 17:45:38 +00:00
Matthias Clasen
34d002121d
reftests: Print out a helpful error
...
When module loading fails, print out the error.
2019-11-01 13:37:52 -04:00
Matthias Clasen
22bb1bd568
reftests: Drop libtool hack
...
We are not using libtool anymore.
2019-11-01 13:37:43 -04:00
Matthias Clasen
28898445ff
Merge branch 'bump-pango' into 'master'
...
Bump pango
See merge request GNOME/gtk!1154
2019-11-01 17:26:33 +00:00
Matthias Clasen
828b58247c
label: Handle new pango attributes
...
overline and overline-color were introduced in Pango 1.45.
2019-11-01 13:01:54 -04:00
Matthias Clasen
de29c3e193
label: Handle insert_hyphens pango attribute
...
This was introduced in Pango 1.44.4.
2019-11-01 13:01:54 -04:00
Matthias Clasen
8ccf2a722a
gsk: Stop using deprecated pango api
...
Shape engines are not used anymore.
2019-11-01 13:01:54 -04:00
Matthias Clasen
fa8ce17e1e
build: We no longer need freetype
2019-11-01 13:01:54 -04:00
Matthias Clasen
4a2f3130d2
gtk-demo: Use harfbuzz for font features
...
We don't need freetype anymore here; harfbuzz
has what we need.
2019-11-01 13:01:54 -04:00
Matthias Clasen
eaa6301e53
Port the font chooser to just use harfbuzz
2019-11-01 13:01:54 -04:00
Matthias Clasen
41c52e955d
Bump the pango dependency
...
This lets us avoid freetype uses, and simplifies
some other things as well.
2019-11-01 13:01:54 -04:00
Matthias Clasen
eca7fa075e
Merge branch 'fix-print-dialog' into 'master'
...
Update the print dialog for headerbar changes
See merge request GNOME/gtk!1156
2019-11-01 17:00:34 +00:00
Matthias Clasen
19a4e76034
Update the print dialog for headerbar changes
...
This was breaking the templates test.
2019-11-01 12:51:42 -04:00
Matthias Clasen
6cacff9df1
Merge branch 'ci-update' into 'master'
...
Update the CI image
See merge request GNOME/gtk!1155
2019-11-01 16:30:17 +00:00
Emmanuele Bassi
2d309725c9
ci: Add internal links to the HTML report
...
Makes it easier to link to various sections, and to specific failures.
2019-11-01 15:44:12 +00:00
Emmanuele Bassi
a5c00685c5
ci: Add diffutils to the CI image
...
Some transitive dependency got dropped, and we lost diff.
2019-11-01 15:22:02 +00:00
Emmanuele Bassi
48cc26246f
Check for diff's availability
...
The tests suite calls `diff` in various places, which means we need to
check if it's installed.
2019-11-01 15:20:47 +00:00
Benjamin Otte
4b41dd4eb1
Merge branch 'otte/for-master' into 'master'
...
Otte/for master
See merge request GNOME/gtk!1153
2019-11-01 14:13:28 +00:00
Benjamin Otte
41beae1956
vulkan: Add missing enum value
...
Also update comment to point to new header after Vulkan reorganized
their repositories.
2019-11-01 14:52:36 +01:00
Emmanuele Bassi
c48fe6d7ec
ci: Update the image to Fedora 31
...
Fedora 31 ships with a newer version of Pango.
2019-11-01 12:52:19 +00:00
Matthias Clasen
a31a80277c
Merge branch 'fallback-rendering' into 'master'
...
Fallback rendering
See merge request GNOME/gtk!1152
2019-10-31 02:55:34 +00:00
Matthias Clasen
745a701b3d
inspector: Add a switch for fallback rendering
2019-10-30 22:31:47 -04:00
Matthias Clasen
d4c97ea2b4
gl: Use the fallback debug flag
...
This debug flag was unused; use it to enable
fallback highlighting at runtime.
2019-10-30 22:31:47 -04:00
Matthias Clasen
03738634ac
inspector: Remove fallback from logs
...
There are no logs that this debug flag produces.
2019-10-30 22:31:47 -04:00
Matthias Clasen
9dd8652a66
Merge branch 'wl-key-repeat' into 'master'
...
wayland: Rely on server key repeat info
See merge request GNOME/gtk!1150
2019-10-30 02:39:49 +00:00
Matthias Clasen
cb81a06793
wayland: Drop the keyboard settings object
...
It is no longer used.
2019-10-29 22:20:57 -04:00
Matthias Clasen
4d9cc483c9
wayland: Rely on server key repeat info
...
Using gsettings for this information does not work
in sandboxed scenarios, where settings are per-app.
Since the Wayland protocol provides this information
nowadays, just drop the old code for reading
the gsettings.
2019-10-29 21:58:45 -04:00
Benjamin Otte
4cca27a7af
builder: Allow parsing G_TYPE_BYTES from strings
...
Just create a bytes containing the literal string.
2019-10-29 04:56:19 +01:00
Benjamin Otte
553a9c292d
togglebutton: Don't emit clicked during set_active()
...
set_active() is meant to set the state of the property, which happens
during setup.
The clicked signal is emitting events from user actions.
It is impossible to use Togglebuttons for MVC applications as long as it
does that.
2019-10-29 04:56:19 +01:00
Benjamin Otte
abd4754648
messagedialog: Remove useless GTK_TYPE_BUILDABLE interface
...
It was just chaining up.
2019-10-29 04:56:19 +01:00
Mohammed Sadiq
e79d585b00
gdkselectionoutputstream-x11: Fix a memory leak
2019-10-27 14:05:46 +05:30
Matthias Clasen
1f0310ddff
gtk-demo: Add a scrolling image demo
...
This tests big textures.
2019-10-22 21:20:36 -04:00
Matthias Clasen
0284d40e24
window: Unrealize renderer before children
...
Unrealize the GSK renderer before destroying children.
This makes the renderer drop any texture caches that
it might have, so that we don't needlessly download
them when releasing the widget-side holder objects.
As a fortunate side effect, this fixes crashes on
exit with GtkGLArea-containing windows under Wayland.
2019-10-22 20:28:28 -04:00
Matthias Clasen
ffaf26fdf5
Merge branch 'readonly-all-the-things' into 'master'
...
Readonly all the things
See merge request GNOME/gtk!1145
2019-10-22 13:23:06 +00:00
Matthias Clasen
5b508ea94a
Revert "gl: Speed up icon cache lookups"
...
This reverts commit dd5ee87b5b .
2019-10-22 07:16:41 -04:00
Matthias Clasen
472d8eebbe
gl: Avoid pointless iteration
2019-10-22 07:16:41 -04:00
Matthias Clasen
dd316c8051
gl: Add some comments
2019-10-22 07:16:41 -04:00
Matthias Clasen
1038bc781a
Revert "Cache glyph textures in render nodes"
...
This reverts commit c5af463843 .
2019-10-22 07:16:41 -04:00
Timm Bäder
44137574a1
inspector: Fix expander arrow node names
...
They vanished after the GtkExpander node rename
2019-10-22 09:37:08 +02:00
Timm Bäder
6b07ce2b13
filechooserwidget: Remove unused function parameter
2019-10-22 09:37:08 +02:00
Timm Bäder
008e8076a1
filechooserwidget: Inline function into only caller
2019-10-22 09:37:08 +02:00
Timm Bäder
2cd4b255cd
placesview: open address popover upwards
2019-10-22 09:37:08 +02:00
Timm Bäder
11a38dd455
entry: Remove unused function
2019-10-22 09:37:08 +02:00
Timm Bäder
dfcc40ef9a
text: Propagate pango attributes to placeholder
...
Not sure if this is really always wanted or whether we need to filter
the attributes, or even create a separate property for them.
2019-10-22 09:37:08 +02:00
Timm Bäder
1882034323
text: Fix _set_attributes docs
...
The list is nullable.
2019-10-22 09:37:08 +02:00
Timm Bäder
aaaa3e141b
placessidebar: Remove some unused members
2019-10-22 09:37:08 +02:00
Timm Bäder
15af87345d
placesview: Use proper setters for properties
2019-10-22 09:37:08 +02:00
Timm Bäder
640db05b18
text: Remove some unused members
2019-10-22 09:37:08 +02:00
Timm Bäder
31ae93475d
text: Fix context menu position
...
Fixes #2209
2019-10-22 09:37:08 +02:00
Timm Bäder
8fc4d229da
text: Inline function into only caller
2019-10-22 09:37:08 +02:00
Timm Bäder
a62efb8257
text: Remove gtk_text_get_text_allocation
...
We can just replace that with get_width/get_height everywhere.
2019-10-22 09:37:08 +02:00
Timm Bäder
acf927fe14
text: Don't destroy pango layout in size_allocate
...
It's not needed.
2019-10-22 09:37:08 +02:00
Timm Bäder
ca71340c6b
Adwaita: Fix menubutton in headerbar margins
...
Add the margins to the menubutton and not the button inside the
menubutton. This way popovers properly point to the inner button again
instead to somewhere 6px off.
2019-10-22 09:37:08 +02:00
Timm Bäder
350495cf1c
Adwaita: Remove padding from popover.menu
...
The padding belongs to the contents subnode in this case.
2019-10-22 09:37:08 +02:00
Timm Bäder
426d5ca1b7
filechooserwidget: Add .menu to right-click popover
...
Make it look like the other menus.
2019-10-22 09:37:08 +02:00
Timm Bäder
aaae141687
filechooserwidget: Focus the searchbar when searching
...
This code path is taken if the search is already active, so focus the
search entry.
2019-10-22 09:37:08 +02:00
Timm Bäder
4826255ea3
filechooserwidget: Rename a callback
2019-10-22 09:37:08 +02:00
Timm Bäder
9ba08a09cb
shortcutlabel: Inherit from GtkWidget
2019-10-22 09:37:08 +02:00
Timm Bäder
bb2c68452c
shortcutlabel: Inherit from GtkWidget
2019-10-22 09:37:07 +02:00
Timm Bäder
23be10cf69
searchentry: Make the text entry expand
...
Fixes the broken layout.
2019-10-22 09:37:07 +02:00
Timm Bäder
17a111968b
text: Remove an unnecessary queue_draw() call
2019-10-22 09:37:07 +02:00
Matthias Clasen
d3431f569c
Revert "inspector: Fix node recording"
...
This reverts commit ba7649b388 .
2019-10-22 01:32:51 -04:00
Matthias Clasen
7a73f43de3
Merge branch 'wip/matthiasc/icon-theme' into 'master'
...
Misc icon theme cleanups
See merge request GNOME/gtk!1139
2019-10-19 22:43:34 +00:00
Matthias Clasen
ba7649b388
inspector: Fix node recording
...
When attaching renderer-specific data, we need to
make sure that we key it off the renderer that is
in use, and cope with the absence of render data.
This fixes recording nodes in the inspector.
2019-10-18 09:33:45 -05:00
Matthias Clasen
1dd55ed600
Drop gtk_icon_info_new_for_pixbuf
...
It is better to keep icon infos as something you
only get from the icon theme.
2019-10-18 08:53:23 -05:00
Matthias Clasen
416b2cd18d
Move symbolic pixbuf recoloring code
...
This function is better off next to the other
symbolic png code in gdkpixbufutils.c.
2019-10-18 08:53:23 -05:00
Matthias Clasen
15dffb47dc
icon theme: Drop icon_file from GtkIconInfo
...
It is not used anymore.
2019-10-18 08:53:23 -05:00
Matthias Clasen
20e70a78c4
Drop another use of icon_file
...
Stop using icon_file when loading symbolic svgs.
2019-10-18 08:53:23 -05:00
Matthias Clasen
e190b4536a
Drop another use of icon_file
2019-10-18 08:53:23 -05:00
Matthias Clasen
3c219bf968
Add another symbolic pixbuf helper
2019-10-18 08:53:23 -05:00
Matthias Clasen
c3de5e3624
Avoid a use of icon_file
...
This is a step towards getting rid of GtkIconInfo->icon_file.
2019-10-18 08:53:23 -05:00
Matthias Clasen
dd69bcabf7
icon theme: Start to untangle GtkIconInfo
...
GtkIconInfo contains too much redundant data,
and it is hard to know which fields are to be
used when.
This commit starts to move towards dropping the
icon_file field - we prefer to work with the
filename directly, since it lets us avoid mime
sniffing and strdups.
2019-10-18 08:53:23 -05:00
Matthias Clasen
6373ced608
Drop gtk_icon_theme_get_example_icon_name
...
This function is not useful. Every icon theme
on my system either does not have that field,
or has it as 'folder'. So, just use 'folder'
when you need an example icon.
2019-10-18 08:53:23 -05:00
Matthias Clasen
2ea95a7674
Drop gtk_icon_theme_list_contexts
...
Contexts in icon themes are not useful for anything.
2019-10-18 08:53:23 -05:00
Matthias Clasen
dbbb7eef15
testicontheme: Remove useless function
...
Contexts in icon themes are not useful for anything,
so drop this function from testicontheme.
2019-10-18 08:53:23 -05:00
Matthias Clasen
233d096261
icon theme: Avoid a string copy
...
This is in an error path, so mostly cosmetic.
2019-10-18 08:53:23 -05:00
Piotr Drąg
239c178ef4
Update POTFILES.in
2019-10-17 20:11:58 +02:00
Matthias Clasen
fdbb925654
gl: Remove an unimplemented profiler counter
2019-10-17 07:59:34 -05:00
Matthias Clasen
aeabe3c40e
gl: Add debug spew to texture atlas
2019-10-17 07:59:34 -05:00
Matthias Clasen
222b6c2b58
glyph cache: Go back to memcmp
...
Be careful to avoid padding data, and only
compare the relevant parts, leaving out the
hash key.
2019-10-17 07:59:34 -05:00
Matthias Clasen
5ab5ff7677
Cosmetics
2019-10-17 07:59:34 -05:00
Matthias Clasen
8a603ff5bd
Revert "icon theme: Avoid a string copy"
...
This reverts commit 0895f0211e .
This negatively affected icons that are included as
resources, since peek_path returns NULL for them.
2019-10-17 07:16:30 -05:00
Goran Vidović
468295a9f7
Update Croatian translation
2019-10-17 12:03:32 +00:00
Matthias Clasen
6c92b824f3
Merge branch 'wip/chergert/opbuffer' into 'master'
...
Add OpBuffer helper for building op buffer
See merge request GNOME/gtk!1131
2019-10-17 11:37:07 +00:00
Goran Vidović
77e9788517
Update Croatian translation
2019-10-17 11:36:10 +00:00
Goran Vidović
0b1845b0cb
Update Croatian translation
2019-10-17 11:23:00 +00:00
Benjamin Otte
342d88a1dc
Merge branch 'otte/for-master' into 'master'
...
Otte/for master
See merge request GNOME/gtk!1136
2019-10-16 20:25:57 +00:00
Benjamin Otte
bab7f56f64
entry: Return boolean from gtk_entry_grab_focus_without_selecting()
...
This follows recent changes to gtk_widget_grab_focus().
2019-10-16 22:08:53 +02:00
Benjamin Otte
9b87cace47
render: Fix goto
...
if we have pushed a shadow, we better pop it again.
Broken since d1ea591f18
2019-10-16 21:45:33 +02:00
Benjamin Otte
c2a32afe97
Initialize cursor alpha to 1.0
...
That way, non-animated cursors don't disappear.
2019-10-16 21:45:33 +02:00
Benjamin Otte
d0e14f79a6
bindings: Make gtk_bindings_add_callback() allow for variant args
2019-10-16 21:45:33 +02:00
Benjamin Otte
7f2ab0d576
bindings: Refactor
...
Refactor code so that each bindings type has its own struct instead of
sharing one big union.
2019-10-16 21:45:33 +02:00
Timm Bäder
d36d7d93e6
Merge branch 'fix-popover-styles' into 'master'
...
Fix popover styles (GTK 4)
Closes #2061
See merge request GNOME/gtk!1079
2019-10-16 07:42:45 +00:00
Matthias Clasen
d777300d4e
Fix a crash with glyph caching
...
We need to treat atlas-less cached glyphs like
atlases, when it comes to invalidating text node
render data.
2019-10-15 22:52:28 -04:00
Matthias Clasen
173bb2e1e8
gsk: Fix uninitialized memory
...
This was causing crashes in some circumstances.
2019-10-15 20:54:24 -04:00
Matthias Clasen
0895f0211e
icon theme: Avoid a string copy
...
GIO has gained a way to peek at a GFile
path; lets use that.
2019-10-15 19:44:26 -04:00
Matthias Clasen
be13a23722
icon theme: Avoid mime sniffing
...
Themed icons are always pngs or svgs.
Take advantage of that to avoid costly
mime sniffing.
2019-10-15 19:44:26 -04:00
Matthias Clasen
7197743938
pixbuf utils: Preserve format information
...
When we are loading themed icons, we know if
we deal with an svg or png file, so it is
entirely unnecessarily to have gdk-pixbuf
use g_content_type guess to rediscover that
information.
Change the pixbuf utils apis we have to allow
passing format information down to where we
can use it when creating the pixbuf loader.
2019-10-15 19:44:26 -04:00
Matthias Clasen
dd5ee87b5b
gl: Speed up icon cache lookups
...
Use gdk_texture_set_render_data to avoid
hash table lookups when we can.
2019-10-15 19:44:26 -04:00
Matthias Clasen
e34d1b8a26
gl: Slightly rework the icon cache api
...
Return a pointer to the IconData struct. This is
closer to the glyph cache api, and will allow us
to add similar shortcuts. For now, just store
texture coords in the form we need, avoiding
converting them over and over.
2019-10-15 19:44:26 -04:00
Matthias Clasen
c5af463843
Cache glyph textures in render nodes
...
This is a quick implementation that avoids many
glyph cache lookups. We keep an array of direct
pointers in the text render node, and throw those
cached pointers away whenever any atlases have
been dropped (since that may invalidate the cached
glyphs).
2019-10-15 19:44:26 -04:00
Matthias Clasen
49748c9c23
Some more vertex data reshuffling
...
In some cases, the vertex data is just a trivial
modification of the default data, so do that instead
of recalculating it.
2019-10-15 19:44:26 -04:00
Matthias Clasen
b53fa48794
Fix load_vertex_data
...
There was a copy-paste error that set all
uv coordinates to 0,0.
2019-10-15 19:44:26 -04:00
Christian Hergert
97f3371709
gl: avoid calculating vertex_data until necessary
...
In many cases of the switch, we do not need the vertex data. This moves
the creation of the vertex_data array into a secondary function and only
calculates it the cases for which it is required.
2019-10-15 19:44:26 -04:00
Matthias Clasen
58d57e1087
gl: Drop buffer_size
...
No need to maintain buffer_size separately.
It is always vertices->len * sizeof (GskQuadVertex).
2019-10-15 19:44:26 -04:00
Matthias Clasen
571068af12
Drop OP_CHANGE_VAO
...
Instead, we accumulate vertices in a separate
array, which simplifies various things and lets
us avoid the extra copying step for the vao.
2019-10-15 19:44:26 -04:00
Christian Hergert
a00d12c62a
prototype OpBuffer helper for building op buffer
2019-10-15 19:44:26 -04:00
Benjamin Otte
7fc74eaeae
Merge branch 'otte/for-master' into 'master'
...
Otte/for master
See merge request GNOME/gtk!1133
2019-10-15 18:47:57 +00:00
Benjamin Otte
4eb077979f
widget: Don't grab focus when can-focus == false
...
... inside the default vfunc.
Instead, walk the children until we find the first widget that can be
focused. If no child can be focused, return FALSE from grab_focus.
2019-10-15 16:33:05 +02:00
Benjamin Otte
9c1b1eb894
widget: Insist that widgets are rooted to be focusable
...
This check was in the vfunc before, but it's a general rule, so apply it
before.
2019-10-15 16:33:05 +02:00
Benjamin Otte
14c34a7014
widget: Make grab_focus() fail on insensitive widgets
...
We can return FALSE early now instead of silently failing in
gtk_window_set_focus().
2019-10-15 16:33:05 +02:00
Benjamin Otte
427deb4f13
widget: Make gtk_widget_grab_focus() return a boolean
...
So now it can actually fail.
It doesn't yet though.
2019-10-15 16:33:05 +02:00
Benjamin Otte
a1a70a1130
bindings: Add gtk_binding_entry_add_callback()
...
This allows bindings that have no public API.
2019-10-15 07:17:30 +02:00
Benjamin Otte
19304c1d2c
bindings: Add gtk_binding_entry_add_action()
...
Allows registering bindings for activating widget actions, as an
alternative to signal emissions.
2019-10-15 07:17:30 +02:00
Benjamin Otte
01be7f0666
widget: Make gtk_widget_activate_action() return TRUE/FALSE
...
TRUE if an action was successfully activated, FALSE if it wasn't found.
2019-10-15 07:17:30 +02:00
Benjamin Otte
1b68e76852
gtk: Add GtkNoSelection
...
Allows not to have anything selected.
2019-10-15 07:17:07 +02:00
Benjamin Otte
9f5ee77a44
singleselection: Fix model property
...
1. Make the model property construct-only. Allowing to change the
model has invalid side effects.
2. Add a getter for the model property.
2019-10-15 07:17:07 +02:00
Benjamin Otte
6d20fe0bf9
expander: Rename CSS nodes
...
The expander icon is renamed from "arrow" to "expander".
The expander widget itself is renamed from "expander" to
"expander-widget" (Better ideas welcome).
This makes it possible to have an "expander" icon in more places then
the GtkExpander widget (in particular in tree lists) and not
confuse it with arrows.
2019-10-15 07:17:07 +02:00
Timm Bäder
bb56b4ef5d
cssimagebuiltin: Don't create cairo nodes for empty icons
...
GTK_CSS_IMAGE_BUILTIN_NONE is not going to draw anything of course, so
don't bother creating an empty cairo node for it.
2019-10-15 07:13:28 +02:00
Timm Bäder
5ea21f7910
gl renderer: Fix an out of bounds read
...
Fixes #2200
2019-10-15 07:13:14 +02:00
Matthias Clasen
acb7f437fa
notebook: Avoid a crash
...
This is fallout from turning the menu into
a popover, causing it to be be a child.
2019-10-12 19:00:35 -04:00
Matthias Clasen
7bff3abe8e
glyph cache: Fix handling of big glyphs
...
We were putting big glyphs in the cache, in their
own texture, but forgetting to mark the texture
as permanent, so it could be reused, leading to
occasional misrendering. Fix this by marking these
textures as permanent, and explicitly freeing them
when the cache entry gets old.
2019-10-12 18:53:22 -04:00
Matthias Clasen
e46a7ca706
shadow cache: Remove outdated comments
...
No comments are better than outdated comments.
2019-10-12 17:06:39 -04:00
Matthias Clasen
e9ba7eda47
gl: Increate the cache check frequency
...
Otherwise, we spread the cache over more atlases
than necessary, increasing the amount of texture
changes in each frame.
2019-10-12 12:37:11 -04:00
Matthias Clasen
88649b6aae
gl: Interleave cache aging
...
Every few frames, we do extra work for the
cache aging. Arrange for the glyph and icon
caches to not cause extra work on the same
frame, to smooth things out.
2019-10-12 12:37:11 -04:00
Matthias Clasen
60d63bbada
gl: Improve debug spew for caches
...
Dump similar information for both caches,
and correct the unused percentage for
the atlases.
2019-10-12 12:37:11 -04:00
Timm Bäder
b8f62d1e10
Update stackswitcher CSS
...
Add the spacing to circular stack switchers back.
2019-10-12 18:26:54 +02:00
Timm Bäder
989307e4c2
stackswitcher: Inherit from GtkWidget
2019-10-12 18:12:58 +02:00
Timm Bäder
7344723a95
colorscale: Remove some duplicated code
2019-10-12 17:59:23 +02:00
Timm Bäder
4c4bca0c39
menuitem: Remove unused members
2019-10-12 17:59:23 +02:00
Timm Bäder
d570121704
menu: Align function parameters
2019-10-12 17:59:23 +02:00
Timm Bäder
93122ac935
menu: Remove unused members
2019-10-12 17:59:23 +02:00
Timm Bäder
f9e100cb1e
menu: Remove menu_queue_resize
...
The have_layout flag is unused, so this is equal to a normal
gtk_widget_queue_resize().
2019-10-12 17:59:23 +02:00
Matthias Clasen
d3ad178d95
Merge branch 'glyphcache-fiddling' into 'master'
...
Glyphcache fiddling
See merge request GNOME/gtk!1132
2019-10-12 15:56:08 +00:00
Matthias Clasen
123cbd42bb
gl: Make icon cache work like glyph cache
...
Replace timestamp tracking with an accessed bit
here too, to keep the glyph and icon cache code
similar.
2019-10-12 11:46:10 -04:00
Matthias Clasen
977ac2b31f
gl: Do less work on glyph caching
...
There is no need for us to be very precise about
aging the glyph entries. It is enough to check
occasionally and mark old entries. This reduces
the overhead of work we do every frame on the
caches, at the cost of letting glyphs linger
a bit longer in the cache.
2019-10-12 11:35:46 -04:00
Timm Bäder
bcdc3b706c
iconcache: Fix icon padding
2019-10-12 09:17:24 +02:00
Matthias Clasen
61db797f29
gl: Simplify glyph cache lookup
...
Make this function more similar to the icon
cache equivalent, and simplify it a bit. We
don't use the boolean return, and we don't need
to look at the age of entry when marking it
used.
2019-10-12 01:35:13 -04:00
Matthias Clasen
0a876f11a0
gl: Don't use memcmp for comparing cache keys
...
Some innocent change made us use a stack-allocated
key, and things broke. Lets go back to comparing
cache keys field by field.
2019-10-12 01:00:08 -04:00
Matthias Clasen
019e3c02ed
Make the scrolling demo more versatile
...
Allow to swap out the content, so we can compare
text and icon scrolling.
2019-10-11 22:04:30 -04:00
Matthias Clasen
1c17316f9c
gl: Handle row stride for icon cache upload
...
Same as the previous commit: Downloading a texture
may in theory give us data with a stride, so handle
that.
2019-10-11 21:17:30 -04:00
Matthias Clasen
646c5f369f
gl: Handle row stride for glyph cache upload
...
In theory, we can have data with a stride here,
so set the necessary parameters to tell GL about
it.
2019-10-11 21:16:40 -04:00
Matthias Clasen
8839e10d44
gl: Do less work to maintain caches
...
Remember which atlases were removed, and only
check those when looking for icons or glyphs
to remove. For most frames, we don't have to
check at all since no atlases were removed.
2019-10-11 20:42:24 -04:00
Matthias Clasen
9b61bfb3c8
gl: Speed up icon caching
...
Avoid expensive padding, and just upload the
image in several slices.
2019-10-11 19:36:26 -04:00
Matthias Clasen
60e2242256
Add an icon scrolling demo
...
This is good to exercise the GL renderer icon cache.
2019-10-11 17:36:38 -04:00
Timm Bäder
4f5a9be465
gl renderer: Get blur node child only once
2019-10-11 22:31:33 +02:00
Timm Bäder
6a4c778791
gl renderer: Shorten function
2019-10-11 22:31:33 +02:00
Timm Bäder
1caa95b814
gl renderer: Avoid copying a rect
2019-10-11 22:31:33 +02:00
Matthias Clasen
cf44ba7847
gl: Avoid stray use of doubles
...
Everything else in this code is floats,
so stick to that and avoid unnecessary
precision.
2019-10-11 16:16:09 -04:00
Matthias Clasen
30433d7659
Cosmetics
2019-10-11 16:16:09 -04:00
Matthias Clasen
849b950763
gl: glyph cache tweaks
...
Reduce the cost of lookups by storing
the hash value directly.
2019-10-11 16:15:15 -04:00
Matthias Clasen
8937cd992d
gl: Shrink CachedGlyph structs slightly
...
Plug a hole in this struct.
2019-10-11 16:15:14 -04:00
Matthias Clasen
e296c6a356
gsk: Store color bit info in text nodes
...
Keep the 'has color glyphs' info in text nodes,
instead of determining it over and over in both
the vulkan and gl backends.
2019-10-11 16:15:14 -04:00
Timm Bäder
136400e8a2
gl renderer: Remove unused modelview matrix
2019-10-11 16:56:24 +02:00
Timm Bäder
90199534e0
gl renderer: Don't copy outset shadow node outline
2019-10-11 16:38:58 +02:00
Timm Bäder
f7c64b4ebb
gl renderer: Don't copy colors into render ops
2019-10-11 15:06:51 +02:00
Timm Bäder
f4f060c843
snapshot: Don't move shadows too much
...
dx/dy are relative to the node bounds, which are already moved by x/y.
2019-10-11 13:47:40 +02:00
Timm Bäder
2977e91aed
gl renderer: Grow unblurred outset shadow outline on the gpu
2019-10-11 10:16:39 +02:00
Timm Bäder
0b999c73d1
gl renderer: Fix glsl rounded rect shrinking
...
Previous code would add rounded corners to a rect with all 0 corners
when growing.
2019-10-11 10:15:58 +02:00
Timm Bäder
9b1e0dd4a3
gl renderer: Cosmetics
2019-10-11 09:32:24 +02:00
Timm Bäder
a29826bb71
gl renderer: Only add outset shadow center piece if dx/dy != 0
2019-10-11 08:46:33 +02:00
Daniel Mustieles
a181136646
Updated Spanish translation
2019-10-10 14:00:22 +02:00
Matthias Clasen
5b04201da8
Merge branch 'wip/chergert/avoid-renderop-copy' into 'master'
...
gl: avoid copying RenderOp
See merge request GNOME/gtk!1128
2019-10-09 22:49:36 +00:00
Christian Hergert
528297f5e5
gl: avoid copying RenderOp to GArray
...
Instead of copying the (rather large) RenderOp to the GArray, we can
simply set the fields directly in the allocated space for the struct.
In most cases, there wont be any allocations to make as the array size
is kept in tact across frame renderings.
2019-10-09 15:41:53 -07:00
Christian Hergert
b29feb193e
gl: use memcmp to compare glyph cache keys
...
We can just use memcmp here because even in the use of lookup keys with
C99 initializers, we can rely on any space between fields added by the
compiler to be zeroed. So we might as well use wider memory cmopares.
2019-10-09 14:47:23 -07:00
Matthias Clasen
75b5c2a293
Merge branch 'wip/chergert/const-glyph-cache' into 'master'
...
gl: avoid copying GskGLCachedGlyph in lookup
See merge request GNOME/gtk!1127
2019-10-09 21:45:41 +00:00
Christian Hergert
e32c992886
gl: avoid copying GskGLCachedGlyph in lookup
...
This saves a minor amount of CPU time by avoiding the copy of structure
on each lookup (which is short-lived).
2019-10-09 14:37:08 -07:00
Christian Hergert
c7a5d99286
textview: use gtk_snapshot_new_with_parent()
...
As recommended by Timm Bäder at:
3b959456ac (note_621655)
2019-10-09 12:56:06 -07:00
Christian Hergert
c9ca60c201
gl: short-circuit on NULL program
...
The NULL check is a more inclusive check than each of the individual
op->op checks.
2019-10-09 11:51:32 -07:00
Matthias Clasen
d9f6f26cd8
Merge branch 'wip/chergert/textview-fix-selection' into 'master'
...
textview: fix off-by-one in y_range invalidation
See merge request GNOME/gtk!1126
2019-10-09 17:50:40 +00:00
Christian Hergert
e4a00f864d
textview: fix off-by-one in y_range invalidation
...
Previously, with selection bounds, we could have a state where a line
display with selections set would eroniously stay in the cache. This
aggresively releases those at the boundary cases fixing deselection
drawing state.
2019-10-09 10:43:34 -07:00
Timm Bäder
329f7c1c40
gl renderer: Remove rounded rect intersection code
...
Caused correctness issues.
Fixes #1917
2019-10-09 16:57:22 +02:00
Timm Bäder
c23afb2c86
widget: Compare adjusted sizes in size_allocate
2019-10-09 16:57:22 +02:00
Timm Bäder
e838ea3bc8
gl renderer: Fix scaled fallback node drawing
2019-10-09 16:57:22 +02:00
Timm Bäder
e5de03144f
inspector: Don't add padding to spinbuttons
...
That looks stupid.
2019-10-09 16:57:22 +02:00
Timm Bäder
e325f65c8a
spinbutton: Fix adjustment value thinko
...
Using ints here is wrong as it makes it impossible to e.g. edit a double
in the [0; 1] range.
2019-10-09 16:57:22 +02:00
Timm Bäder
2a40ff1b47
Adwaita: add statusbar padding back
...
We removed the widget margins from the ui file over 2 years ago.
2019-10-09 16:57:22 +02:00
Timm Bäder
371c325ed1
statusbar: Use a bin layout
2019-10-09 16:57:22 +02:00
Timm Bäder
542b95e7e8
widget-factory: Remove double border around textview
...
Replace the scrolledwindow border with two separator on top/bottom.
2019-10-09 16:57:22 +02:00
Timm Bäder
3d3525a589
stacksidebar: Inherit from GtkWidget
...
The child widgets are completely managed by the stacksidebar itself, so
this has no business being a GtkBin.
2019-10-09 16:57:22 +02:00
Timm Bäder
553c458e5a
Adwaita: Remove superfluous border from stacksidebar
...
We already get a border from .sidebar
2019-10-09 16:57:22 +02:00
Timm Bäder
7cdb8d8565
gtk-demo: Fix up sidebar demo style
...
Remove a superfluous separator and add the icon-dropshadow class to the
gtk logo
2019-10-09 16:57:22 +02:00
Timm Bäder
172f68e77d
popovermenu: Switch to main submenu before mapping
2019-10-09 16:57:22 +02:00
Timm Bäder
fb1145d72d
popovermenu: Only close if there's a new focus widget
...
Makes sense and otherwise we end up closing the popover for no reason
2019-10-09 16:57:22 +02:00
Timm Bäder
bd9687a4f2
popovermenu: Switch back to "main" AFTER unmapping
...
Otherwise we might set things to child visible etc. while being
unmapped, which is a violation of the widget invariants of these
properties.
2019-10-09 16:57:22 +02:00
Timm Bäder
8928323c6b
popover2.ui: Stop trying to set GtkModelButton:label
...
The property is called "text"
2019-10-09 16:57:22 +02:00
Timm Bäder
c7203550a2
testmodelbutton: Remove toggles for removed properties
2019-10-09 16:57:22 +02:00
Timm Bäder
49887d4c81
filechooserbutton: Only destroy existing native dialogs
2019-10-09 16:57:22 +02:00
Timm Bäder
d8c940325c
widget: Create finalize assertions in destroy()
2019-10-09 16:57:22 +02:00
Timm Bäder
3944d64d08
demo: Don't manually add labels to menubuttons
2019-10-09 16:57:22 +02:00
Timm Bäder
e20f547317
demo: Fix modelbutton demo
2019-10-09 16:57:22 +02:00
Timm Bäder
a3cef6c05e
label: Use TRUE/FALSE instead of 1/0
2019-10-09 16:57:22 +02:00
Timm Bäder
11ee72fc7e
dialog: Fix action button rearrangement
...
The gtk_widget_get_parent() check does not work anymore since the
headerbar adds the buttons to a child box.
2019-10-09 16:57:22 +02:00
Timm Bäder
bcd8941769
widget-factory: Skip xml files in background selection dialog
...
The default contains a xml file for an animated background, so don't try
loading it as a pixbuf.
2019-10-09 16:57:22 +02:00
Timm Bäder
355d3f070a
widget: Plug layout manager leak
2019-10-09 16:57:22 +02:00
Timm Bäder
b5b81dea7f
modelbutton: Rework
...
Create all the widgets on demand and use a box layout to arrange them
instead of manual size allocation.
Also don't inherit from GtkButton
2019-10-09 16:57:21 +02:00
Timm Bäder
5803366f7d
button: Remove unused signal enum members
2019-10-09 16:57:21 +02:00
Timm Bäder
d3fc47e149
modelbutton: Use a box layout
2019-10-09 16:57:21 +02:00
Timm Bäder
b8f37da911
modelbutton: Replace map() with root()
2019-10-09 16:57:21 +02:00
Timm Bäder
722f8e825e
modelbutton: Remove end_box
...
it's unused.
2019-10-09 16:57:21 +02:00
Timm Bäder
a743412c58
modelbutton: Create accel label on demand
2019-10-09 16:57:21 +02:00
Timm Bäder
a6f14555d1
Adwaita: Blue check/radiobuttons
...
Align with 3.24.
2019-10-09 16:57:21 +02:00
Feichtmeier
1c091a03f3
Tiny refactoring
...
- use checkradio_fg_color for check/radio in treeview, which points to fg_color, so no change of the hex color, thus no change to the parsed CSS
2019-10-09 16:57:21 +02:00
frederik.feichtmeier
2dfb8de0ec
Adwaita: Add color defines from 3.24
2019-10-09 16:57:21 +02:00
Jakub Steiner
876e256f94
Adwaita: make links in infobars legible
...
- No longer tinted blue, make legible
Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/751
2019-10-09 16:57:21 +02:00
Timm Bäder
eb834b8370
adwaita: Use border-spacing to style checkbuttons
2019-10-09 16:57:21 +02:00
Timm Bäder
dbabdf8341
radiobutton: Fix a warning in a code sample
2019-10-09 16:57:21 +02:00
Timm Bäder
703fda3be8
label: Remove set_selectable_hint
...
It's just updating the cursor, so do it via update_cursor()
2019-10-09 16:57:21 +02:00
Timm Bäder
2f6d6f2473
label: Remove gtk_label_realize
...
We don't need this to update the cursor anymore.
2019-10-09 16:57:21 +02:00
Timm Bäder
3f3c8436c5
label: Don't update cursor after unsetting select_info
...
update_cursor() doesn't do anything in the priv->select_info == NULL
case.
2019-10-09 16:57:21 +02:00
Timm Bäder
d8b0a78c1e
label: Change cursor even if unrealized
...
Cursor don't depend on that anymore.
2019-10-09 16:57:20 +02:00
Timm Bäder
013538daf9
placesviewrow: popup-menu returns a boolean
2019-10-09 16:57:20 +02:00
Matthias Clasen
919d823311
Merge branch 'wip/carlosg/tablet-invalid-reads-master' into 'master'
...
Fix invalid reads on tablet input (master)
Closes #2157
See merge request GNOME/gtk!1122
2019-10-09 12:18:26 +00:00
Carlos Garnacho
075c77325b
gdk: Avoid poking possibly freed memory
...
The event may end up freed after delivery, ensure to keep a ref in order
to emit the matching emulated crossed event matching a proximity event.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/2157
2019-10-09 10:35:50 +02:00
Matthias Clasen
5f8dc5459e
Merge branch 'wip/chergert/quick-fixes' into 'master'
...
renderer quick fixes
See merge request GNOME/gtk!1124
2019-10-08 19:43:14 +00:00
Benjamin Otte
adff8c2c60
Merge branch 'wip/chergert/cache-text-render-node' into 'master'
...
textview: cache paragraph render nodes
See merge request GNOME/gtk!1125
2019-10-08 19:21:57 +00:00
Christian Hergert
3b959456ac
textview: cache paragraph render nodes
...
We can avoid recreating a number of text nodes from render_para() on
sub-sequent runs if we cache the rendernode instead of just the
PangoLayout.
When used with GtkSourceMap, this can yield a ~7 FPS improvement during
smooth scrolling at the cost of some more memory.
2019-10-08 11:44:27 -07:00
Christian Hergert
47ef5af778
gl: remove stray +
2019-10-08 10:58:29 -07:00
Christian Hergert
76ea157f17
rendernode: remove unused macros
2019-10-08 10:57:45 -07:00
Carlos Garnacho
f354a7787a
gdk: Fix wl_output accounting on tablet devices
...
The code managing this accounting mixed seat and tablet output lists,
can't bode well. Fixes invalid reads on list elements, as there are
dangling pointers.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/2157
2019-10-08 17:59:57 +02:00
Sam Hewitt
83eeeb6a19
Adwaita: circular button fix
...
- remove old border drawing code that was breaking coloured buttons
- fixes #2173
2019-10-07 16:50:34 -04:00
Sam Hewitt
6db181980a
Adwaita: osd button fixes
...
- remove text/icon shadow from osd buttons
- use :only-child to get circular standalone button
- fixes #1696
2019-10-07 15:27:55 -04:00
Sam Hewitt
023bb2c984
Adwaita: use borders_color for separators
...
- fixes #2175
2019-10-07 13:05:12 -04:00
Benjamin Otte
a3cfb42888
eventcontrollerkey: Change behavior of contains-focus
...
contains-focus now returns TRUE when is-focus is TRUE instead of FALSE.
Fixes #2184
2019-10-07 04:49:50 +02:00
Benjamin Otte
578dc9e70b
eventcontrollerkey: Add getters for the properties
...
...and use them.
2019-10-07 04:49:50 +02:00
Benjamin Otte
6769db160d
icontheme: Don't try to scale pixbufs to 0px
...
Always insist on at least 1px, even if the thumbnail we're turning into
an icon was 256 * 3 and should be scaled to 32 * 3/8.
2019-10-07 04:49:50 +02:00
Benjamin Otte
56d16aae42
selectionmodel: Remove doubled semicolon
2019-10-07 04:49:50 +02:00
Alan Mortensen
d614f4c96d
Updated Danish translation of gtk
2019-10-06 23:36:47 +02:00
Daniel Boles
98f0d85c4a
Builder: Fix a couple of typos in documentation
2019-10-06 20:48:10 +01:00
Piotr Drąg
b3115454ce
Update POTFILES.in
2019-10-06 15:13:31 +02:00
Benjamin Otte
cb3b6ff624
Merge branch 'gbsneto/vulkan-fixes' into 'master'
...
Implement VK_KHR_incremental_present
See merge request GNOME/gtk!1116
2019-10-05 15:19:04 +00:00
Georges Basile Stavracas Neto
a795d6635b
vulkan/context: Implement VK_KHR_incremental_present
...
This is the Vulkan version of eglSwapBuffersWithDamage(), and
it's always a good idea to limit the number of pixels we're
pushing to the GPU and/or swapping into the display.
2019-10-05 12:13:22 -03:00
Georges Basile Stavracas Neto
a2b49322fb
vulkan/renderpass: Use GENERAL for initial layout
...
UNDEFINED initial layouts may not preserve the contents
of the attachment after transitioning the layout. We want
them to be preserved because we do partial rendering.
Use GENERAL as the initial layout for render passes.
2019-10-05 12:13:22 -03:00
Georges Basile Stavracas Neto
0b2006b74f
vulkan/image: Set HOST and TRANSFER bits for before barriers
...
Multiple images in the before barrier array are defined with
VK_ACCESS_TRANSFER_WRITE_BIT and VK_ACCESS_TRANSFER_READ_BIT,
which requires passing VK_PIPELINE_STAGE_TRANSFER_BIT and
VK_PIPELINE_STAGE_HOST_BIT to vkCmdPipelineBarrier().
Pass these flags correctly.
2019-10-05 12:13:22 -03:00
Georges Basile Stavracas Neto
a91d0ac156
wayland: Allow binding to wl_compositor v4
...
This is a requirement for using VK_KHR_incremental_present.
Vulkan Wayland drivers translate the VkPresentRegionsKHR to
wl_surface.damage_buffer(), which a v4-only request.
2019-10-05 12:13:22 -03:00
Christian Hergert
d71995ab5c
Merge branch 'wip/chergert/textview-widgets' into 'master'
...
textview: use GtkWidget for borders and center_child
See merge request GNOME/gtk!1099
2019-10-04 23:30:04 +00:00
Christian Hergert
fea2a82ef6
textview: use GtkTextViewChild for border and overlay children
...
This creates a new GtkTextViewChild that can manage overlay children at
given x,y offsets in buffer coordinates. This simplifies GtkTextView by
extracting this from GtkTextWindow as well as providing a real widget for
the borders.
With this change, we also rename gtk_text_view_add_child_in_window() to
gtk_text_view_add_overlay(). For those that were using
GTK_TEXT_WINDOW_WIDGET, they can use a GtkOverlay. It does not appear
that anyone was using GTK_TEXT_WINDOW_(LEFT|RIGHT|TOP|BOTTOM) for widgets
in this fashion, but that can be done by setting a gutter widget with
gtk_text_view_set_gutter(). We can make GtkTextViewChild public if
necessary to simplify this should it become necessary.
GtkTextViewChild will setup a CSS node of either "text" or "border"
depending on the GtkTextWindowType.
The old GtkTextViewChild has been renamed to AnchoredChild as it is only
used for widgets with anchors in the GtkTextBuffer. This also removes the
use of allocated GSList and instead embeds a GQueue and GList to save a
few extraneous allocations.
2019-10-04 14:45:43 -07:00
Christian Hergert
8373cc6c47
textview: revert renaming of buffer_to_surface_coords()
...
The renaming of this function doesn't make much since because the window
is the GtkTextWindowType, not GdkWindow specifically. So we can keep the
old name which is closer to the proper meaning and less code for consumers
to change when porting to 4.x.
2019-10-04 13:22:49 -07:00
Matthias Clasen
872d2046fd
Merge branch 'list-box-headers' into 'master'
...
Fix reuse of list box header widgets
See merge request GNOME/gtk!1114
2019-10-04 18:27:05 +00:00
Sam Hewitt
44ec142fa9
Adwaita: new levelbar style
2019-10-04 14:16:11 -04:00
Philip Withnall
b70f389b64
gtklistbox: Only unparent header rows if they haven’t been reused
...
It’s possible for code which uses a `GtkListBox` to reuse a single
header row, and move it around between rows. For example, this might
happen if the code has interactive widgets (like buttons) in the row,
and doesn’t want to continually recreate them and reattach signals to
them whenever the row headers change.
Unfortunately, this was broken, as the old header widget was
unconditionally unparented, even if it had just been set as the header
for a different row in the same `GtkListBox`. This left it assigned as
a child widget in the `GtkListBox` (so it was iterated over by
`forall`), but without its parent widget set.
Fix that by only unparenting the header if it hasn’t already been
assigned as the parent of a different row.
Signed-off-by: Philip Withnall <withnall@endlessm.com >
2019-10-04 18:48:53 +01:00
Philip Withnall
1c73edd9b0
gtklistbox: Factor the new header out into a separate variable
...
Makes the code a little clearer, but makes no functional changes.
Signed-off-by: Philip Withnall <withnall@endlessm.com >
2019-10-04 18:48:51 +01:00
Christoph Reiter
94d9088034
Print a warning if GTK_DEBUG is set but gtk isn't built with G_ENABLE_DEBUG
...
G_ENABLE_DEBUG is tied to the meson builttype property, so building with "plain"
results in G_ENABLE_DEBUG not being defined and the GTK_DEBUG env var just gets ignored
for that build.
Since it can be confusing that GTK_DEBUG has no effect print a warning message instead.
See #2020 . This is a port of !1109 to master
2019-10-02 21:35:20 +02:00
Ask Hjorth Larsen
cbd9e560b0
Updated Danish translation of gtk-properties
2019-10-02 05:54:14 +02:00
Ask Hjorth Larsen
abc595b810
Updated Danish translation of gtk
2019-10-02 05:54:12 +02:00
Marek Černocký
7d26d3926c
Updated Czech translation
2019-10-02 02:06:50 +02:00
Georges Basile Stavracas Neto
0e55f7a52f
wayland/surface: Fix crash when unexporting
...
This is the exact same problem of 655c9dd526 .
2019-10-01 16:13:43 -03:00
Marek Černocký
febe128e72
Updated Czech translation
2019-10-01 17:32:46 +02:00
Georges Basile Stavracas Neto
3afc7b0883
Merge branch 'gbsneto/fix-wayland-export-handle' into 'master'
...
wayland/surface: Only call destroy func when available
Closes #2179
See merge request GNOME/gtk!1112
2019-10-01 15:22:22 +00:00
Georges Basile Stavracas Neto
655c9dd526
wayland/surface: Only call destroy func when available
...
When calling gdk_wayland_surface_export_handle(), if we pass
some 'user_data' but no 'destroy_func', GTK4 crashes. That's
because in xdg_exported_handle() we are unconditionally calling
destroy_func -- even when it's NULL.
Fix that by checking if there's a destroy function before calling
it.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2179
2019-10-01 11:54:28 -03:00
Matej Urbančič
bcea96528a
Updated Slovenian translation
2019-09-28 21:14:54 +02:00
Piotr Drąg
7336e18410
Update Polish translation
2019-09-28 13:59:24 +02:00
Aurimas Černius
412af0269d
Updated Lithuanian translation
2019-09-28 12:51:44 +03:00
Matthias Clasen
5e17afbc0a
Merge branch 'printing-get-ppd-from-original-host-if-needed' into 'master'
...
Printing get ppd from original host if needed
See merge request GNOME/gtk!1100
2019-09-27 19:24:00 +00:00
Benjamin Otte
912236439c
Merge branch 'wip/ricotz/mediafile' into 'master'
...
mediafile: Use correct return-type for factory methods
See merge request GNOME/gtk!1105
2019-09-26 10:44:30 +00:00
Rico Tzschichholz
0ad4166482
mediafile: Add g-i annotations for actual return-type of factory methods
2019-09-26 08:19:25 +02:00
Timm Bäder
7ce1055656
eventcontrollerscroll: Events are unhandled by default
...
While the ::scroll signal always returns whether it handled the event,
the others do not, for example ::decelerate.
Previously, this caused the event to stop at a scroll controller with
CAPTURE phase, never emitting the ::decelerate signal on later
controllers with BUBBLE phase.
Fixes #2151
2019-09-25 17:51:53 +02:00
Timm Bäder
78a376aa7f
snapshot: Try to avoid some linear gradient nodes
2019-09-25 17:51:52 +02:00
Timm Bäder
43f2b47fc9
searchentry: Use a box layout
2019-09-25 17:51:52 +02:00
Timm Bäder
413cfed7d7
searchentry: Use edit-clear-all-symbolic as clear icon
...
Fixes #2109
2019-09-25 17:51:52 +02:00
Timm Bäder
e05b87c8d0
gl renderer: Fix rounded rect intersection
2019-09-25 17:51:52 +02:00
Timm Bäder
1b4bce4182
fontchooserwidget: Use a bin layout
2019-09-25 17:51:52 +02:00
Timm Bäder
387587dedb
colorbutton: Use a bin layout
2019-09-25 17:51:52 +02:00
Timm Bäder
5d8c8f33c0
dialog: Remove useless gtk_widget_show() call
2019-09-25 17:51:52 +02:00
Timm Bäder
d032396031
filechooserbutton: Add icon to default (None) combo box item
...
See #2118
2019-09-25 17:51:52 +02:00
Timm Bäder
12438b30a0
filechooserbutton: Remove priv->child
...
We never use it except when updating the state flags, but we can as well
do that for both children.
2019-09-25 17:51:52 +02:00
Timm Bäder
ea1ff9c482
filechooserbutton: Remove an outdated comment
...
The path used is wrong but the string isn't used in the testsuite
anyway.
2019-09-25 17:51:52 +02:00
Timm Bäder
8122156e84
scrolledwindow: Remove set_placement_internal()
...
set_placement() does the exact same thing.
2019-09-25 17:51:52 +02:00
Timm Bäder
991f4ed993
menubar: Use a box layout
2019-09-25 17:51:51 +02:00
Timm Bäder
29244c5c40
video: Use a bin layout
2019-09-25 17:51:51 +02:00
Timm Bäder
ca3d855c44
levelbar: Use a bin layout
2019-09-25 17:51:51 +02:00
Matthias Clasen
3fcd39f659
docs: Add GtkNative to types
...
This is needed to make doc generation work
for GtkNative.
2019-09-24 11:38:35 -04:00
Danial Behzadi
c2b823f185
Update Persian translation
2019-09-22 11:36:55 +00:00
Timm Bäder
7de076481e
headerbar: Fix end-packed child order
...
We pack from right to left there.
2019-09-21 09:41:53 +02:00
Marek Kasik
58cfa3fd49
printing: Get PPD from original host if needed
...
Try to get PPD from original host if there is no PPD for remote printer
on current CUPS server.
2019-09-19 18:35:23 +02:00
Matthias Clasen
87e7fa9917
Merge branch 'wip/kill-menu' into 'master'
...
Use menus less
See merge request GNOME/gtk!1098
2019-09-16 22:10:02 +00:00
Matthias Clasen
b14b0efefe
toolbar: Use a popover for overflow
...
We are phasing out menus.
This is not quite complete, toolitems still
create menuitems, which we translate on the fly.
2019-09-16 17:30:47 -04:00
Matthias Clasen
1b271f3335
notebook: Use a popover for the tab menu
...
We are phasing out menus.
2019-09-16 17:30:47 -04:00
Matthias Clasen
03e30431a8
menutoolbutton: Add support for popovers
...
Just like the underlying menu button, support
popovers too.
2019-09-16 07:24:59 -04:00
Matthias Clasen
5a93449b89
window: Make fallback menu a popover
...
We want to phase out menus.
2019-09-16 07:23:17 -04:00
Matthias Clasen
222e05c2d2
Remove unused includes
...
Don't include gtkmenu.h in places where
it isn't used anymore.
2019-09-16 07:23:17 -04:00
Matthias Clasen
c0071a0676
text util: Remove an unused function
...
_gtk_text_util_append_special_char_menuitems was not used.
2019-09-15 15:01:45 -04:00
Rico Tzschichholz
97231ca231
gtk: Fix some g-i annotation warnings
2019-09-15 17:57:28 +02:00
Rico Tzschichholz
67bd28eaaf
gtk: Fix parameter annotations for gtk_buildable_parse_context_get_position
2019-09-15 17:57:28 +02:00
Rico Tzschichholz
51b2fd1777
build: gtkbuilderparser.c contains g-i annotations for public API
2019-09-15 17:57:28 +02:00
Matthias Clasen
ff5eac6da5
Merge branch 'wip/rah/screensaver-active-fix' into 'master'
...
gtkapplication-dbus: Initialise screensaver-active property
See merge request GNOME/gtk!1091
2019-09-15 15:54:08 +00:00
Matthias Clasen
4987cb0407
Merge branch 'wip/chergert/fix-textview-clip' into 'master'
...
textview: clip to text window when drawing
See merge request GNOME/gtk!1095
2019-09-14 21:18:02 +00:00
Christian Hergert
7927f7a440
textview: clip to text window when drawing
...
When drawing the GtkTextView text, we need to clip to the visible area
so that we do not risk drawing under the border windows.
2019-09-13 16:44:04 -07:00
Christian Hergert
605284bc36
textview: fix textview drawing in presence of gutters
...
When drawing a left or top gutter, we need to adjust the origin of the
text snapshot or we risk the gutter drawing above the text.
2019-09-13 16:02:28 -07:00
Timm Bäder
54ed31ebaf
notebook: Use a box layout
...
And incidentally make the CSS node docs correct again.
2019-09-13 19:21:04 +02:00
Timm Bäder
6320bd5849
fontbutton: Shorten clear_font_data a bit
2019-09-13 19:21:02 +02:00
Timm Bäder
86cc7f6925
fontbutton: Use a bin layout
2019-09-13 11:53:24 +02:00
Timm Bäder
adb77e1a92
appchooserdialog: Remove unnecessary gtk_widget_show() calls
2019-09-13 11:39:34 +02:00
Timm Bäder
097f3c9514
headerbar: Remove spacing property
...
Replace it with border-spacing in css
2019-09-13 11:07:56 +02:00
Timm Bäder
f0266cbef3
pixbuf: Add a missing return value transfer annotation
...
And add a (nullable)
2019-09-13 11:07:56 +02:00
Timm Bäder
519967cc69
headerbar: Use a center layout
...
Get rid of the custom title centering etc. and use a GtkCenterLayout.
Use a box on the start/end to manage the child widgets.
2019-09-13 11:07:56 +02:00
Timm Bäder
a7b9a33efc
Add GtkCenterLayout
...
And use it in GtkCenterBox, different widgets following.
2019-09-13 11:07:54 +02:00
Timm Bäder
32b84b8ab6
native: Don't compare a pointer with 0
...
We have NULL for that.
2019-09-11 08:12:31 +02:00
Timm Bäder
8ec1c866e1
widget: Inline build_finalize_assertions into only caller
2019-09-11 08:12:31 +02:00
Timm Bäder
3a06394fde
headerbar: Don't update window buttons when unrealized
...
It doesn't make much sense in that case and we will update them again
when realizing.
2019-09-11 08:12:31 +02:00
Timm Bäder
ce72154913
Rename gtkbookmarkmanager.h to gtkbookmarksmanagerprivate.h
...
It's a private type, so gets a private header file name.
2019-09-11 08:12:31 +02:00
Timm Bäder
ed11f2a9e4
bookmarksmanager: Stop exporting get_xdg_type
2019-09-11 08:12:31 +02:00
Timm Bäder
60f2e452a1
switch: Stop using a private struct
...
Private type, no private struct needed.
2019-09-11 08:12:31 +02:00
Alexander Larsson
76103ee286
GtkBuildable: Fix indentation
2019-09-10 12:08:20 -04:00
Alexander Larsson
73042bfc54
GtkWidget: Precompile template xml on class creation
...
Ideally we will precompile during build and store the result in the
resource, but if that doesn't happen at least we will only parse
the xml once.
2019-09-10 12:08:20 -04:00
Alexander Larsson
ff23397701
GtkBuilder: Add support for precompiling builder xml
2019-09-10 12:08:20 -04:00
Alexander Larsson
96b37f4eb8
Use the new GtkBuildableParser type in GtkBuildable interfaces
2019-09-10 12:08:20 -04:00
Alexander Larsson
135cea76fb
GtkBuildableParser: Add a wrapper for GMarkupParser
...
This currenly just wraps GMarkupParser, but the plan is to expose this
instead of GMarkup in the GtkBuildable interfaces, allowing us to
replace the parser with something that handles pre-parsed input
instead.
Note that we duplicate some of the features of GMarkup to implement
the APIs rather then call down to GMarkup, as we need to support these
in the pre-parsed case anyway.
2019-09-10 12:07:15 -04:00
Matthias Clasen
ff087e126f
Merge branch 'wip/chergert/tune-linedisplay-cache' into 'master'
...
textview: optimize linedisplay cache based on number of visible rows
See merge request GNOME/gtk!1090
2019-09-10 01:42:13 +00:00
Matthias Clasen
9501fc2c14
Merge branch 'nested-popover-menu' into 'master'
...
Nested popover menus
See merge request GNOME/gtk!1076
2019-09-10 01:09:31 +00:00
Piotr Drąg
7547291450
Update POTFILES.in
2019-09-09 19:13:53 +02:00
Timm Bäder
0603b4431a
icontheme: Stop using a private struct
...
The GtkIconTheme/GtkIconInfo structs aren't public anymore, so use the
structs directly instead of a priv pointer.
2019-09-09 17:36:27 +02:00
Timm Bäder
5f48f60a93
Icontheme: Clean up gtk_icon_info_load_async
2019-09-09 17:36:27 +02:00
Timm Bäder
cc9faf3cfa
scrolledwindow: Actually add controller to widget
...
Closes #2127
2019-09-09 17:36:27 +02:00
Timm Bäder
7d93e9963a
testlist2: quit on window close
2019-09-09 17:36:27 +02:00
Timm Bäder
32cec6c1cb
icontheme: Adapt a code sample to the GdkPaintable transition
2019-09-09 17:36:27 +02:00
Timm Bäder
c0827e2c54
pixbufutils: Escape file data only once
2019-09-09 17:36:27 +02:00
Timm Bäder
1a931da046
pixbufutils: Pass colors as string to load_symbolic_svg
...
We were converting the same colors over and over again to a string, just
to free them again at the end of the function. We know the colors at
compile time however, so don't convert them at all.
2019-09-09 17:36:27 +02:00
Timm Bäder
8eb62f138b
pixbufutils: Only get icon size once
...
load_symbolic_svg was loading the pixbuf just to get its size via
gdk_pixbuf_get_{width,height}. However, this function is called in a
loop in gtk_make_symbolic_pixbuf_from_data.
So, do this only once and pass the icon size along to load_symbolic_svg.
2019-09-09 17:36:27 +02:00
Timm Bäder
6a8921ec6b
icontheme: Remove symbolic pixbuf cache
...
We recolor icons on via color matrix nodes these days, so this cache is
basically unused.
2019-09-09 17:36:27 +02:00
Timm Bäder
53132d0235
icontheme: Add LRU cache back
...
Add a cache of icon infos that we keep around a little longer, to avoid
loading icons from disk that only exist for a short amount of time (e.g.
during one frame of a cell renderer snapshot).
We make sure recently used items are kept alive by just adding them to
the cache on lookup.
2019-09-09 17:36:27 +02:00
Timm Bäder
32bed34935
icontheme: Remove GtkIconInfo->pixbuf
...
Create textures as soon as possible.
2019-09-09 17:36:26 +02:00
Timm Bäder
1873b38a94
icontheme: Remove icon_info_load_pixbuf
...
What it does overlaps with the only caller a lot now.
2019-09-09 17:36:26 +02:00
Timm Bäder
38b4a2a8e2
icontheme: Optimize suffix_from_name
...
We call this function a lot, so avoid repeated strlen() calls on @name
and the different suffixes.
2019-09-09 17:36:26 +02:00
Timm Bäder
b65d9ca955
icontheme: Avoid creating useless IconThemeDirs
...
We were allocating IconThemeDir instances and then only later assign a
value to has_icons. In the !has_icons case, we were directly throwing
the IconThemeDir away again.
Delay allocating the IconThemeDirs until we know that it has icons.
This avoids allocating and then de-allocating around 1400 IconThemeDir
instances when opening the widget-factory.
2019-09-09 17:36:26 +02:00
Timm Bäder
0b472c23d7
icontheme: Inline scan_resources into only caller
...
The previous code was hiding the fact that the scan_resources function
almost always did nothing and just used g_resources_enumerate_children()
and then returned FALSE, leaving the caller with cleaning up the already
allocated IconThemeDir. By inlining this, we make sure that calling code
does not even need to allocate the IconThemeDir.
2019-09-09 17:36:26 +02:00
Timm Bäder
bb89ee184f
icontheme: Remove proxy pixbufs
...
These were only used for the LRU cache.
2019-09-09 17:36:26 +02:00
Timm Bäder
eb087c9943
icontheme: Remove lru cache
...
We will replace it with something else later
2019-09-09 17:36:26 +02:00
Timm Bäder
eeec6f8fb9
icontheme: Annotate return value as nullable
2019-09-09 17:36:26 +02:00
Timm Bäder
71339225eb
icontheme: Remove gtk_icon_info_load_texture
...
It's the same as load_icon now.
2019-09-09 17:36:26 +02:00
Timm Bäder
590e70d4d1
icontheme: Return a paintable from gtk_icon_info_load_icon
2019-09-09 17:36:26 +02:00
Timm Bäder
fd16ac4d5e
icontheme: Return paintables from more API
2019-09-09 17:36:26 +02:00
Timm Bäder
f3099afcc5
icontheme: Return textures from load_icon{,_for_scale}
2019-09-09 17:36:26 +02:00
Timm Bäder
37f8e6aabd
gdk: Add gtk_pixbuf_get_from_texture
2019-09-09 17:36:26 +02:00
Timm Bäder
e0fe2882ad
icontheme: Don't try to scale pixbufs to same size
2019-09-09 17:36:26 +02:00
Timm Bäder
4413592a70
recentmanager: Stop using linked lists
...
It doesn't really make sense to save the applications and groups in
recent infos as linked lists. We get them from glib as arrays, so we can
as well just save them as such.
2019-09-09 17:36:26 +02:00
Timm Bäder
4c28ee80a6
filechooserwidget: Create recent manager when setting operation mode
...
Creating a recent manager can be fairly expensive and we won't use it if
the widget is not visible or the recent mode has not been entered. Code
other places can already handle a NULL recent manager, so just create it
when entering the recent mode. And shove 25ms of startup time off the
widget-factory this way.
2019-09-09 17:36:26 +02:00
Timm Bäder
f4c4fe860b
filechooserwidget: Remove custom recent_info_has_application impl
2019-09-09 17:36:26 +02:00
Timm Bäder
4766b475d0
filechooserwidget: Inline come functions into only callers
...
Similar to the previous commit(s), make it clearer what this function
does.
2019-09-09 17:36:26 +02:00
Timm Bäder
ae75d4b565
filechooser: Move extract_recent_folders to filechooserwidget
...
It's not used anywhere else.
2019-09-09 17:36:26 +02:00
Timm Bäder
c102387916
filechooserwidget: Load recent files synchronously
...
Delaying this by one frame by putting it in an idle just makes the code
more complex for no gain. The actual slow part is reading the
recently-used.xbel, which happens when creating the recent manager.
2019-09-09 17:36:26 +02:00
Timm Bäder
86ad215deb
recentmanager: Indentation
2019-09-09 17:36:26 +02:00
Timm Bäder
c3f82534bd
widget-factory: Use proper setter to set has-arrow
2019-09-09 17:36:26 +02:00
Timm Bäder
2ffbb37783
icontheme: Annotate return value of load_icon as nullable
...
It returns NULL in the error case.
2019-09-09 17:36:26 +02:00
Timm Bäder
6821fe0c13
icontheme: Add error argument to _load_texture
...
Loading an icon might fail.
2019-09-09 17:36:26 +02:00
Timm Bäder
a0947232fa
icontheme: optimize icon_uri_is_symbolic as well
2019-09-09 17:36:26 +02:00
Timm Bäder
e3f1a3d27c
main: Check if any debug flags are set in gtk_get_debug_flags()
...
We end up checking the debug flags for the default display, but that's
unnecessary if we know that no display has any debug flags set anyway.
2019-09-09 17:36:26 +02:00
Timm Bäder
d98e05b91a
icontheme: Save the min_suffix for the min_dir
...
We already have to compute that value in the loop before, so just save
it.
2019-09-09 17:36:26 +02:00
Timm Bäder
fa85f4fc2e
icontheme: Remove use_builtin parameter from theme_lookup_icon
...
Unused.
2019-09-09 17:36:26 +02:00
Timm Bäder
44352b375e
icontheme: Remove paramter from get_icon_suffix
...
Turns out nobody care about that one.
2019-09-09 17:36:26 +02:00
Timm Bäder
ebe88ea322
icontheme: Optimize icon_name_is_symbolic
...
We call this function *a lot* it's doing lots of unnecessary work inside
g_str_has_suffix. Get the icon name length only once instead and
open-code the suffix check.
2019-09-09 17:36:26 +02:00
Timm Bäder
6d77723fe0
gtkicontheme: Avoid a get_icon_flags call
...
We're only using the value of the first call at all if
symbolic_suffix & ICON_SUFFIX_PNG is FALSE.
2019-09-09 17:36:26 +02:00
Timm Bäder
c5ed51a188
icontheme: Remove outdated comment
...
It's not called css_fg anymore and it can't possibly be NULL since we
make sure before passing it here.
2019-09-09 17:36:25 +02:00
Timm Bäder
1339c425a8
widget: Queue an allocate on native widgets when changing opacity
...
This way the opacity change works on toplevel windows on wayland.
2019-09-09 17:36:25 +02:00
Timm Bäder
7c723dfc58
inspect-button: Inline deemphasize_window() into only caller
2019-09-09 17:36:25 +02:00
Timm Bäder
72814a8153
inspect-button: Inline some functions into only caller
...
Make them clearer for later commits.
2019-09-09 17:36:25 +02:00
Timm Bäder
9952f72680
filechooserwidget: Properly watch for different display
...
The value returned by gtk_widget_get_settings() depends on the widget's
display, so watch for notify::display instead of using (un)root for
this.
Fixes the warnings seen when show a file chooser from the inspector.
2019-09-09 17:36:25 +02:00
Timm Bäder
b9473bc99c
glarea: Fix buffer initialization
...
This only worked when the vao id and the buffer id accidentally matched,
for example when running gtk4-demo with --run=glarea
Fixes #2042
2019-09-09 17:36:25 +02:00
Timm Bäder
cbc3ce5b03
box: Don't do casts before preconditions
2019-09-09 17:36:25 +02:00
Timm Bäder
d223752c55
infobar: Inherit from GtkContainer
...
infobars being a GtkBox doesn't make sense.
Also implement infobars without exposing internal children.
Closes #1957 because it adds the bottom border.
2019-09-09 17:36:25 +02:00
Timm Bäder
74208e9e0c
text: Fix a crash when retrieving the selected text
2019-09-09 17:36:25 +02:00
Timm Bäder
14b7fa1dd6
textview: Remove useless warning
...
The output doesn't make sense anymore and it breaks cursor blinking when
moving the focus back into the textview.
2019-09-09 17:36:25 +02:00
Timm Bäder
4bfe8605cb
layoutoverlay: Fix everything
...
This code is better because:
1) The coordinates translations are actually correct and not sometimes
wrong like before
2) We clip widgets that have overflow set
3) We honor the widget's transform
4) It is less code
2019-09-09 17:36:25 +02:00
Timm Bäder
e86bf764a8
scale: Allocate value close to slider
...
The scale might be allocated at a height greater than requested, and in
that case y=0 is just too far away. Allocate the value directly next to
the slider instead.
2019-09-09 17:36:25 +02:00
Timm Bäder
80411fb905
scale: Use top/left/bottom/right style classes on value label
...
Just top/bottom is not enough anymore.
77769a52b3 broke e.g. horizontal scales
with the value on top/bottom, adding too much space.
2019-09-09 17:36:25 +02:00
Timm Bäder
c9241e83dd
gl renderer: Remove unused matrix
2019-09-09 17:36:25 +02:00
Timm Bäder
9166b03c42
fixed: Documentation clarifications
2019-09-09 17:36:25 +02:00
Timm Bäder
31efc882db
fixed: x/y passed to get_child_position are not optional
2019-09-09 17:36:25 +02:00
Timm Bäder
1db59d1c89
fixedlayout: Don't call the child transform position
...
It's a full transform and not just a translation these days.
2019-09-09 17:36:25 +02:00
Timm Bäder
afb3715700
linkbutton: Use widget API to set has-toolip
...
As God intended.
2019-09-09 17:36:24 +02:00
Timm Bäder
6be4279f39
linkbutton: Use proper action name for right-click menu
2019-09-09 17:36:24 +02:00
Timm Bäder
5782871f91
menubutton: Control sensitivity of child button
...
Instead of the menubutton itself.
2019-09-09 17:36:24 +02:00
Timm Bäder
0e9ac9e64b
magnifier: Remove some unused members
2019-09-09 17:36:24 +02:00
Timm Bäder
13df99fd1e
docs: Remove styles.txt
...
The information is all wrong and superseded by the css docs
2019-09-09 17:36:24 +02:00
Timm Bäder
9f62bd1da6
docs: Remove widget_system.txt
...
Almost all information in here is incorrect or outdated, most of it is
still from gtk2 and GtkObject days.
2019-09-09 17:36:24 +02:00
Timm Bäder
75c1562df0
docs: Remove widget_geometry.txt
...
The information in that file is all outdated.
2019-09-09 17:36:24 +02:00
Timm Bäder
0821d5b29d
widget: Clear up gtk_widget_class_install_property_action docs
2019-09-09 17:36:24 +02:00
Timm Bäder
b3cffc0516
widget: Remove reference to non-existent function
...
gtk_widget_class_install_stateful_action() does not exist.
2019-09-09 17:36:24 +02:00
Timm Bäder
80a58672d1
widget: Add some missing annotations to gtk_widget_class_query_action
2019-09-09 17:36:24 +02:00
Timm Bäder
18714e25a8
window: Remove useless deprecation guards
...
gtk_window_present() is not deprecated.
2019-09-09 17:36:24 +02:00
Timm Bäder
b29c30c9d5
cssprovider: Remove unused member from GtkCssScanner
2019-09-09 17:36:24 +02:00
Timm Bäder
d8df197489
cssprovider: Don't lookup on empty css providers
...
This should not have a huge performance impact, but debugging is easier
if we don't lookup in empty css providers.
2019-09-09 17:36:24 +02:00
Timm Bäder
514e60c1bb
cssnode: GtkCssAnimatedStyle->style is always a static style
2019-09-09 17:36:24 +02:00
Timm Bäder
32a256bd03
gtksettings: Remove unused functions & prototypes
2019-09-09 17:36:24 +02:00
Timm Bäder
b9316a404a
cssnode: Remove unused struct
2019-09-09 17:36:24 +02:00
Timm Bäder
ea2a3f3e62
cssstyle: Remove unused _add_difference
2019-09-09 17:36:24 +02:00
Timm Bäder
5cd8009c53
stylecontext: Remove leftover function prototypes
2019-09-09 17:36:24 +02:00
Timm Bäder
26aa620efe
stylecontext: Stop exporting _resolve_color
...
Only used in gtkstylecontext.c
2019-09-09 17:36:24 +02:00
Timm Bäder
e0cf6e4775
csscolorvalue: return the initial color value directly
2019-09-09 17:36:24 +02:00
Timm Bäder
df2d43c893
csscolorvalue: Remove unused new_from_rgba()
2019-09-09 17:36:24 +02:00
Timm Bäder
8d6c5ba90e
cssstaticstyle: Compute initial/inherit values directly
2019-09-09 17:36:24 +02:00
Timm Bäder
629f528f6d
cssinitialvalue: Make _compute public
...
So we can use it in cases where the class of css value is known to be an
initial one.
2019-09-09 17:36:24 +02:00
Timm Bäder
191e3bc7e1
csslookup: Remove 'relevant' parameter from _init
...
Unused.
2019-09-09 17:36:24 +02:00
Timm Bäder
ecad4743bd
csslookup: Remove 'missing' bitmask
...
It's almost never useful to have a bitmask here, since it's only used
for the intersection case in gtk_css_style_provider_lookup. However,
even if that returns true, we still need to check every single style
property for being set again in the look afterwards.
Just remove the bitmask.
2019-09-09 17:36:24 +02:00
Timm Bäder
ceb8aedf97
cssanimatedstyle: Keep transition_info_add from recursing
...
The slowest part of that fuction is the type check for
GtkCssShorthandProperty. Subproperties of shorthand properties never
refer to more shorthand properties however, so we don't want to have the
type check for those.
2019-09-09 17:36:24 +02:00
Timm Bäder
0cf4eb379f
csslookup: Remove tautological if expression
...
A value is always either set or missing.
This was changed in a1f7c459b7 , which
removed the ability for partial style computation.
2019-09-09 17:36:24 +02:00
Timm Bäder
f3fdf58ff7
cssstaticstyle: Avoid ref'ing specified value in compute_value
...
There are alerady _get functions for GtkCssInheritValue and
GtkCssInitialValue, so use those. We can avoid a ref+unref pair this
way.
2019-09-09 17:36:24 +02:00
Timm Bäder
3073e65851
cssprovider: Fix compilation wth VERIFY_TREE set
2019-09-09 17:36:24 +02:00
Timm Bäder
a75529f3c0
cssmatcher: Inline node values into matcher
...
So we don't have to go through the matcher->node->decl every time
2019-09-09 17:36:24 +02:00
Timm Bäder
75a48aed0b
cssanimatedstyle: Make set_animated_value transfer-full
2019-09-09 17:36:24 +02:00
Timm Bäder
a7f23ebe7d
cssimage: Use gtk_internal_return_val_*
...
GtkCssImage is not public and being used in hot paths, e.g. CSS.
2019-09-09 17:36:23 +02:00
Timm Bäder
0f9a02e6f4
gtkprivate: Only define gtk_internal_return_if* for consistency checks
...
The wanted behavior here is that these are only defined if the buildtype
is debug, i.e. full debugging.
2019-09-09 17:36:23 +02:00
Timm Bäder
4b4b77ca04
cssanimatedstyle: Save animation in array
2019-09-09 17:36:23 +02:00
Timm Bäder
a231648607
cssanimatedstyle: Avoid type check in loop
...
We can just do the check once as source is not going to change within
the loop.
2019-09-09 17:36:23 +02:00
Timm Bäder
eeb5cd2321
cssanimatedstyle: Avoid unnecessary transition work
...
No need to do all the transition work if the transition duration will be
0 for all of them.
2019-09-09 17:36:23 +02:00
Timm Bäder
5c705ae9a5
cssrgbavalue: Add & use new_white()
2019-09-09 17:36:23 +02:00
Timm Bäder
19f69f6ac8
cssrgbavalue: Add an opaque white singleton
...
Used a few hundred times in the widget-factory.
2019-09-09 17:36:23 +02:00
Timm Bäder
ad1340cab4
cssrgbavalue: Add a singleton for transparent colors
...
The most common background color is no background color.
2019-09-09 17:36:23 +02:00
Timm Bäder
3a3a59c188
cssdimensionvalue: Create a few more common singletons
2019-09-09 17:36:23 +02:00
Timm Bäder
6ed6cc46de
cssstaticstyle: Make set_value (transfer-full)
...
We only call this in one place and we can avoid a ref + unref pair this
way.
2019-09-09 17:36:23 +02:00
Timm Bäder
6837e80d14
css: Avoid more type checks in hot paths
2019-09-09 17:36:23 +02:00
Timm Bäder
4f3e65e745
csspalettevalue: Use simple arrays instead of a hashtable
...
Use two sorted name/value arrays to save the colors instead of a
hashtable. This makes palette values faster to compare etc.
2019-09-09 17:36:23 +02:00
Timm Bäder
36a1b69a19
cssanimatedstyle: Remove some casts in hot paths
...
gtk_css_animated_style_create_css_transitions down from 16% to 11%
when repeatedly clicking on a spinbutton button in the widget factory.
2019-09-09 17:36:23 +02:00
Timm Bäder
1f11892de4
bitmask: Add _gtk_allocated_bitmask_to_string
2019-09-09 17:36:23 +02:00
Timm Bäder
1bc8f3ac6e
Adwaita: Hack around list button styling
...
Once again.
2019-09-09 17:36:23 +02:00
Timm Bäder
e62f10d5f0
widget-factory: Add a spinbutton in a list
2019-09-09 17:36:23 +02:00
Timm Bäder
822547dfef
spinbutton: Use a box layout
2019-09-09 17:36:23 +02:00
Timm Bäder
c0214cfcc1
menubutton: Add a create_popup_func
...
Some use cases require a menu button to create the popup on demand.
2019-09-09 17:36:23 +02:00
Timm Bäder
cb6d96d65f
menubutton: Remove unused member
2019-09-09 17:36:23 +02:00
Timm Bäder
4cc4868e93
label: Remove "line" from wrap properties
...
The property names are "wrap" and "wrap-mode", so it doesn't make sense
that the accessors refer to line_wrap and line_wrap_mode.
2019-09-09 17:36:23 +02:00
Timm Bäder
6c90d3a1b6
gsktransform: Fix documentation comment
...
There is no @m.
2019-09-09 17:36:23 +02:00
Timm Bäder
ffab342fc4
snapshot: Stop exporting _append_node_internal
...
Unused outside of gtksnapshot.c
2019-09-09 17:36:23 +02:00
Matthias Clasen
1203dc501c
popover menubar: Use nested popover menus
...
Make the popover menubar use nested menus, to
better match the expected behavior of traditional
menus.
2019-09-08 19:02:06 -04:00
Matthias Clasen
3cbf1845a9
Add a timeout for open submenus
...
When a popover menu has an open submenu,
delay activating another item until after
the pointer is stationary for a little
while. This avoids the need for precise
horizontal motion when moving towards the
submenu.
2019-09-08 19:02:06 -04:00
Matthias Clasen
ea44eade21
Add nesting popover menus
...
Add a variant of popover menus that are nesting
like traditional menus. This is a better fit for
replacing traditional main menus.
2019-09-08 19:02:06 -04:00
Matthias Clasen
c75a368bab
popover: Support vertical aligment
...
We already support horizontal alignment, and
we should do the same for vertical alignment.
2019-09-08 19:02:06 -04:00
Matthias Clasen
bc8d2add04
widget-factory: Add more submenus
...
Split the "Checks & Radios" submenu in the menubar
into two, so we can test opening multiple submenus.
2019-09-08 19:02:06 -04:00
Timm Bäder
c53f58e839
Merge branch 'wip/chergert/remove-emit-by-name' into 'master'
...
texttag: avoid use of g_signal_emit_by_name()
See merge request GNOME/gtk!1088
2019-09-08 07:40:55 +00:00
Piotr Drąg
50543a7948
Update POTFILES.skip
2019-09-07 13:29:47 +02:00
Marek Černocký
f7cd22d5ec
Updated Czech translation
2019-09-07 12:10:12 +02:00
Emin Tufan Çetin
b136c77031
Update Turkish translation
2019-09-06 18:50:05 +00:00
Bob Ham
6bfe171058
gtkapplication-dbus: Initialise screensaver-active property
...
When GtkApplication starts listening to the screensaver's D-Bus
status, the screensaver-active property is not initialised and
applications making use of the property are out of sync until the
first state change. Any application starting when the screensaver is
active will think it's inactive.
To fix this, we set the property when we first start monitoring the
screensaver.
2019-09-06 14:59:27 +01:00
Christian Hergert
5e49da1d73
textview: optimize linedisplay cache based on number of visible rows
...
This tries to estimate the number of visible rows in a textview based on
the default text size and then tunes the GtkTextLineDisplayCache to keep
3*n_rows entries in the cache.
This was found imperically to be near the right cache size. In most cases,
this is less than the number of items we cache now. However, in some cases,
such as the "overview map" from GtkSourceView, it allows us to reach a
higher value such as 1000+. This is needed to keep scrolling smooth on
the larger view sizes.
With this patch, a HiDPI system with a GtkSourceView and GtkSourceMap
from the GTK 4 port can perform smooth scrolling simultaneously.
2019-09-05 19:06:35 -07:00
Christian Hergert
cc7ae525ef
texttag: avoid use of g_signal_emit_by_name()
...
This avoids looking up the signal by name and instead uses the saved
signal identifier from gtktexttagtable.c
2019-09-04 19:39:24 -07:00
Matthias Clasen
a29853f53b
Merge branch 'wip/chergert/faster-comparison' into 'master'
...
textlayout: remove use of GtkTextIter in line comparison
See merge request GNOME/gtk!1087
2019-09-04 17:02:06 +00:00
Christian Hergert
7cea21043e
textlayout: remove use of GtkTextIter in line comparison
...
We do not need to create a GtkTextIter to perform the comparison here as
that will require a number of validation steps that are extra work
compared to just discovering the GtkTextLine number directly.
2019-09-04 09:12:54 -07:00
Matthias Clasen
cbdea09c92
Merge branch 'gtk-4-issue2128' into 'master'
...
[gtk4] wayland: Fix xdg-output v3 support
See merge request GNOME/gtk!1082
2019-09-03 14:38:30 +00:00
Olivier Fourdan
31393704de
wayland: Fix xdg-output v3 support
...
The xdg_output.done event is deprecated in xdg-output v3, so clients
need to rely on the wl_output.done event instead.
However, applying the changes on the fist wl_output.event when using
xdg-output v3 may lead to an incomplete change, as following xdg-output
updates may follow.
Make sure we apply xdg-output events on wl_output.done events with
xdg-output v3.
https://gitlab.gnome.org/GNOME/gtk/issues/2128
2019-09-03 16:13:24 +02:00
nana-4
3eec90cdc0
node editor: Avoid inheriting textview styles
...
...to its descendant selectors
Without ">", "text" style is propagated to entry in the emoji chooser.
https://gitlab.gnome.org/GNOME/gtk/issues/2061
2019-09-03 01:44:55 +09:00
nana-4
b9d8eb54b7
Adwaita: Don't inherit font style to popover
...
https://gitlab.gnome.org/GNOME/gtk/issues/2061
2019-09-03 01:43:41 +09:00
nana-4
a2fdb55384
Adwaita: Fix broken osd popover style
...
Apply %osd to child arrow and contents instead of parent popover.
https://gitlab.gnome.org/GNOME/gtk/issues/2061
2019-09-03 01:34:05 +09:00
Jordi Mas
848a19a013
Update Catalan translation
2019-09-01 08:28:18 +02:00
Ryuta Fujii
98bc89968a
Update Japanese translation
2019-08-31 13:45:30 +00:00
Ryuta Fujii
9c0e9e462b
Update Japanese translation
2019-08-31 12:31:35 +00:00
Ryuta Fujii
57d762d5ea
Update Japanese translation
2019-08-31 12:27:01 +00:00
Changwoo Ryu
9018ce1125
Update Korean translation
2019-08-30 14:10:45 +00:00
Timm Bäder
1b32f5c28b
Merge branch 'typo' into 'master'
...
popover: fix typo in schema string
See merge request GNOME/gtk!1071
2019-08-29 13:56:13 +00:00
Alexandre Franke
0e35e50f8f
Update French translation
2019-08-29 12:53:34 +00:00
Alexandre Franke
88b617646a
popover: fix typo in schema string
2019-08-29 14:50:20 +02:00
Ask Hjorth Larsen
27fa7eace1
Updated Danish translation of gtk-properties
2019-08-29 12:37:41 +02:00
Ask Hjorth Larsen
ca996e0e85
Updated Danish translation of gtk
2019-08-29 12:37:41 +02:00
Jordi Mas
df683205d9
Update Catalan translation
2019-08-28 19:37:59 +02:00
Benjamin Otte
6905935fd3
Merge branch 'wip/ricotz/issue2107' into 'master'
...
gsk: Add missing 'transfer full' annotations of instance parameters
Closes #2107
See merge request GNOME/gtk!1065
2019-08-26 17:00:34 +00:00
Rico Tzschichholz
5504c62af9
gsk: Add missing 'transfer full' annotations of instance parameters
...
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2107
2019-08-26 18:05:17 +02:00
Matthias Clasen
9bb58c3eca
Merge branch 'office-runner-crash' into 'master'
...
Fix a crash in gtk-builder-tool
See merge request GNOME/gtk!1064
2019-08-26 13:50:43 +00:00
Matthias Clasen
c0b8eb30de
Fix a crash in gtk-builder-tool
...
Crash pointed out by Bastien Nocera.
Testcase included.
2019-08-26 15:34:15 +02:00
Changwoo Ryu
8a734f947e
Update Korean translation
2019-08-26 11:20:16 +00:00
Timm Bäder
e4904f6644
Merge branch 'doc-typos' into 'master'
...
Minor typos in the Documentation (a/an)
See merge request GNOME/gtk!1061
2019-08-26 09:18:47 +00:00
Дилян Палаузов
6ded38de2b
Minor typos in the Documentation (a/an)
2019-08-25 12:52:46 +00:00
Matthias Clasen
4fa1f459dd
Merge branch 'gdkmonitor-x11-manufacturer' into 'master'
...
gdk: x11: Fill GdkMonitor manufacturer with PNP id from EDID
Closes #1765
See merge request GNOME/gtk!859
2019-08-25 11:58:02 +00:00
Balázs Úr
25644aa6b1
Update Hungarian translation
2019-08-24 20:23:45 +00:00
Anders Jonsson
a3f13f9c58
Update Swedish translation
2019-08-22 09:45:38 +00:00
Emmanuele Bassi
d940d801a4
Merge branch 'build-remove-xiproto-xreply-check-gtk4' into 'master'
...
Remove NEED_XIPROTO_H_FOR_XREPLY check
See merge request GNOME/gtk!1059
2019-08-21 19:18:17 +00:00
Christoph Reiter
7b0af75a57
Remove NEED_XIPROTO_H_FOR_XREPLY check
...
It was only defined in the old autotools build to support a >20 year old x11,
https://bugzilla.gnome.org/show_bug.cgi?id=148032
2019-08-21 20:46:30 +02:00
Daniel Mustieles
5329ac6d4b
Updated Spanish translation
2019-08-20 12:45:23 +02:00
Daniel Șerbănescu
2b123702cc
Update Romanian translation
2019-08-19 11:50:59 +00:00
Daniel Șerbănescu
56c2431ed1
Update Romanian translation
2019-08-19 11:09:45 +00:00
Aurimas Černius
0ed5f939e9
Updated Lithuanian translation
2019-08-18 21:41:16 +03:00
Priit Laes
f43d344aa3
gdk: x11: Fill GdkMonitor manufacturer with PNP id from EDID
...
Previously, the manufacturer property of the GdkMonitor was NULL,
and having at least PNP id at GdkMonitor.manufacturer makes it
possible to distinguish between different monitors programmatically.
2019-08-06 09:16:01 +03:00
ZhaoQiang
e75bc172ef
Remove some unused variables
...
To avoid compiler warnings.
See merge request GNOME/gtk!513
2019-04-09 22:06:50 +08:00
Takao Fujiwara
4b2e4f6628
Always emit reset for IM preedit with mouse click
...
Hangul inputs treat pre-edit text as output text and the pre-edit
text won't be moved with mouse click.
Now the reset signal is always emitted simply with mouse click and
each IM engine could handle the signal whether the preedit is committed,
cleared or kept.
Closes #1534
2019-02-20 18:58:51 +09:00
Rick Yorgason
26febcc3a8
Fixed win32 printer dialogue not saving devmode->dmDeviceName. Caused the print dialogue to select the wrong printer, and potentially feed bad "extra" data to the default printer.
2018-11-01 11:31:05 -07:00
Rick Yorgason
5dd7f20dab
Fixed code styling.
2018-10-29 04:04:10 -07:00
Rick Yorgason
fc15a409cc
Fixed bug that prevented GTK from storing printer driver preferences in the print dialogue on Windows.
2018-10-27 06:00:20 -07:00
Daniel Boles
4b96e7fc78
Application: Do not reuse Ctrl+F1 for help-overlay
...
It just gets overridden to do something else, as the 1st GtkWidget’s
class_init() adds it as a binding to toggle tooltips with the keyboard.
The last entity to hook it (& return TRUE) is the only one who gets it.
So, worse: If users needed to manually set accels for a ShortcutsWindow,
coincidentally waited until after the 1st GtkWidget init() to do it, &
copied what GtkApplication said in an attempt to be good & consistent —
they inadvertently broke the keyboard tooltips (except for users with a
GDK_KEY_KP_F1 – whatever that is) as their handler blocked GtkWidget’s.
So, one side has to drop this accelerator, and it seems clear that being
able to open tooltips with the keyboard is more important than having a
second accel for the help-overlay. We can make up a replacement later.
https://gitlab.gnome.org/GNOME/gtk/issues/626
2018-08-24 14:51:21 +03:00