Matthias Clasen
825b2a4139
wip: benchmarks
2020-07-12 20:54:46 -04:00
Matthias Clasen
8a23649d40
stringlist: Reuse objects
...
Keep a bitset of positions where the array contains
objects, and check those for reusable objects whenever
we need a new object.
We still keep the low-bit marking of string pointers,
so we can implement g_list_model_get_item without having
to consult the bitset.
In scrolling through the words demo, this keeps the
number of live string objects at ~200.
2020-07-12 20:52:48 -04:00
Matthias Clasen
bf367b219b
stringlist: Use an array
...
A version of GtkStringList that uses a GPtrArray
to hold the strings / objects. We avoid a second
array by marking strings using a low bit of the
pointer.
2020-06-30 23:37:21 -04:00
Matthias Clasen
77435d31fa
gtk-demo: Use a progressbar in the words demo
...
This looks better and a bit more polished.
2020-07-01 02:47:50 +02:00
Matthias Clasen
6edb8f096f
gtk-demo: No selection in the words demo
...
This demo is about filtering, not about selection,
so use a GtkNoSelection.
2020-07-01 02:46:05 +02:00
Matthias Clasen
c4dfee8860
gtk-demo: Cosmetic fixes for the words demo
...
Set a window size, and don't put newlines in titles, left align and
ellipsize the label.
2020-07-01 02:46:05 +02:00
Benjamin Otte
8ac1e77c9a
demo: Make words listview load async
...
And add an "Open" button (why are filechooser buttons such a catastrophe
that I can't make them smaller?).
2020-07-01 02:46:05 +02:00
Benjamin Otte
65ceb6c15a
stringlist: Call splice() for adding items after construction
...
This has the benefit of actually allowing NULL to be passed.
2020-07-01 02:46:05 +02:00
Benjamin Otte
f70d10f6ac
stringlist: Remove n_additions argument from gtk_string_list_splice()
...
char ** arrays are null-terminated everywhere, so make sure they are in
splice(), too.
Also fix the argument to be a const char * const * like in the
constructor.
2020-07-01 02:46:05 +02:00
Benjamin Otte
0bbd083d79
stringlist: Clarify docs for gtk_string_list_get_string()
...
Make sure it's obvious that it behaves like g_list_model_get_item() and
returns NULL for pos >= n_items.
2020-07-01 02:46:05 +02:00
Benjamin Otte
102d2986c6
stringlist: Make one constructor call the other
...
Simplifies code.
2020-07-01 02:46:05 +02:00
Benjamin Otte
c74201ca87
filterlistmodel: Look at type of change
...
This way we can avoid refiltering most of an already filtered list when
the change becomes more strict.
2020-07-01 02:46:05 +02:00
Benjamin Otte
b09019a5b4
gtk-demo: Add incremental filtering to words demo
2020-07-01 02:46:05 +02:00
Benjamin Otte
1dd08ad8db
filterlistmodel: Add gtk_filter_list_model_get_pending()
...
This allows tracking if the model is busy filtering.
2020-07-01 02:46:05 +02:00
Benjamin Otte
eb0704855f
filterlistmodel: Add incremental filtering
2020-07-01 02:46:05 +02:00
Benjamin Otte
c4c1d4a1b3
bitset: Add gtk_bitset_new_range()
...
It's a common use.
2020-07-01 02:46:05 +02:00
Benjamin Otte
e6756f605e
stringlist: Make property not construct-only
...
Massively speeds up creation of long stringlists.
2020-07-01 02:46:05 +02:00
Benjamin Otte
1f4b8e089e
filterlistmodel: Rewrite with bitset data structure
...
Bitsets are more powerful, less memory intensive and faster than the old
GtkRbTree version.
2020-07-01 02:46:05 +02:00
Benjamin Otte
c0e08db739
bitset: Add APIs needed for a filterlistmodel
2020-06-30 00:46:56 +02:00
Benjamin Otte
1c337d350d
tests: Make testlistview be a list again
...
The grid conversion was for testing and should never have been
committed.
2020-06-30 00:46:56 +02:00
Benjamin Otte
81e675dfbf
gtk-demo: Add a listview demo for filtering strings
2020-06-30 00:36:14 +02:00
Benjamin Otte
8556221429
stringlist: Take a const char const * argument
...
Sucks that we need to cast a char**, but otherwise we need to cast
{"foo", "bar", "baz" } arrays.
2020-06-30 00:36:14 +02:00
Benjamin Otte
1b4109a7fd
scrolledwindow: Expand by default
...
Use gtk_scrolled_window_set_hexpand/vexpand(FALSE) to make the scrolled
window not expand.
2020-06-30 00:36:13 +02:00
Benjamin Otte
df0786be7a
stringfilter: Don't crash if the expression returns ""
2020-06-30 00:36:13 +02:00
Benjamin Otte
3f545da08d
a11y: Remove double initialization of variables
2020-06-30 00:36:13 +02:00
Carlos Garnacho
7170fdebb9
Merge branch 'wip/Jehan/GtkIMContextWayland-master' into 'master'
...
gtk: focus out the GtkIMContextWayland upon finalization.
See merge request GNOME/gtk!2170
2020-06-29 22:24:32 +00:00
Jehan
7ccf32db57
gtk: focus out the GtkIMContextWayland upon finalization.
...
In particular, it will NULL-ified the current global context if this is
the finalized one, avoiding dangling invalid pointers.
Would have been a cherry-pick from branch gtk-3-24 of commit
b592ded80a , but files moved.
2020-06-29 22:17:08 +02:00
Daniel Mustieles
520c2116a3
Updated Spanish translation
2020-06-29 16:03:40 +02:00
Emmanuele Bassi
e818685921
Merge branch 'ci-style' into 'master'
...
ci: Create new origin for forks
See merge request GNOME/gtk!2164
2020-06-29 13:45:03 +00:00
Matthias Clasen
6ddd9793f3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #1887
See merge request GNOME/gtk!2167
2020-06-29 12:30:41 +00:00
Emmanuele Bassi
6bdca276a2
ci: Create new origin for forks
...
We don't need to create a new remote and fetch its master if we're
checking a merge request done on the upstream repository.
2020-06-29 13:14:40 +01:00
Matthias Clasen
d4ff275002
node-editor: Add a help window
...
Add a Help item to the gear menu that opens the
node-format.md file in a new window. This could
be improved if we could parse markdown and apply
tags, similar to how we can load pango markup.
2020-06-29 07:36:55 -04:00
Matthias Clasen
2b6f243578
node-editor: Cosmetics
...
Use a title style class for the labels.
2020-06-29 07:36:55 -04:00
Matthias Clasen
8770584bfb
node-editor: Add a gear menu
...
Add a gear menu with Inspector and About menu items.
2020-06-29 07:36:55 -04:00
Matthias Clasen
4f7f15700c
node-editor: Document the node format
...
Add a markdown file with the documentation of the
node format.
Fixes : #1887
2020-06-29 07:36:55 -04:00
Matthias Clasen
cab6808673
gtk-demo: Fix binary name in --version
...
We are gtk4-demo, not gtk3-demo.
2020-06-28 23:36:35 -04:00
Matthias Clasen
b77110c35a
bitset: Fix documentation syntax
2020-06-28 22:38:23 -04:00
Matthias Clasen
c4e8218f49
bitset: Add more tests
...
Add some tests for rectangles, and for iters.
2020-06-28 22:38:23 -04:00
Matthias Clasen
c8b57154cb
bitset: Correct preconditions in gtk_bitset_add_rectangle
...
We want to make sure that the rectangle fits in the grid.
2020-06-28 22:38:22 -04:00
Matthias Clasen
c4b2112f16
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2743
See merge request GNOME/gtk!2161
2020-06-28 23:47:09 +00:00
Matthias Clasen
3132353ec5
ci: Drop one of the focus tests
...
One of the widget-factory focus tests is flaky in ci,
perhaps due to font changes causing size computations
to go slightly differently.
Drop this for now.
2020-06-28 18:59:48 -04:00
Matthias Clasen
3dc6267146
testsuite: Bump the per-test timeout to 60s
...
The bitset test has repeatedly run into the 30s timeout
in the ci, so give it some more time.
2020-06-28 17:02:01 -04:00
Matthias Clasen
6a6146a9e0
bitset: Fix the right-shift implementation
...
This was not doing the right thing at all.
This commit also adds tests for left- and
right-shift.
2020-06-28 16:37:30 -04:00
Matthias Clasen
01fbf8444b
Stop setting GTK_IM_MODULE_FILE
...
GTK no longer reads this environment variable, so
setting it can have no benefit for uninstalled demos
anymore.
2020-06-28 13:42:02 -04:00
Matthias Clasen
1f8c79eca1
Add g_intern_static_string to valgrind suppressions
...
That function can also trigger a quark table reallocation.
2020-06-28 13:42:02 -04:00
Matthias Clasen
5229069101
widget: Avoid uninitialized access
...
Initialize all field in the GtkCrossingData struct
when synthesizing crossing events.
Fixes : #2743
2020-06-28 13:42:02 -04:00
Matthias Clasen
a6752bd3e0
gtk: Better help for GTK_DEBUG
...
Reuse the newly introduced gdk_parse_debug_var for
GTK_DEBUG.
2020-06-28 13:42:02 -04:00
Matthias Clasen
93a51f77c4
gsk: Better help for GSK_DEBUG
...
Reuse the newly introduced gdk_parse_debug_var for
GSK_DEBUG.
2020-06-28 13:42:02 -04:00
Matthias Clasen
9f2926dde3
gdk: Better help for GDK_DEBUG
...
Include docstrings and format the list of supported
values better.
Also, add the same warning we have for GTK_DEBUG when
the environment variable is ignored.
2020-06-28 13:42:02 -04:00
Matthias Clasen
d31bb8b503
testsuite: Don't pass GDK_DEBUG for release builds
...
The debug env vars are ignored in release builds,
and may spew warnings about that fact that break
tests.
2020-06-28 13:42:02 -04:00
Matthias Clasen
d46b04631e
wayland: Respect GDK_DEBUG=default-settings
...
You can get this in other ways for Wayland (by
setting GSETTINGS_BACKEND=memory), but it is better
to be consistent across backends.
2020-06-28 13:42:02 -04:00
Matthias Clasen
30eca5a523
Drop GTK_DEBUG_SHORTCUTS
...
It is unused.
2020-06-28 13:42:02 -04:00
Matthias Clasen
4fa71fd82a
shortcuts: Use GTK_DEBUG_KEYBINDINGS
...
There was just a single message under GTK_DEBUG_SHORTCUTS.
Consolidate with GTK_DEBUG_KEYBINDINGS.
2020-06-28 13:42:02 -04:00
Matthias Clasen
6819c7c792
docs: Update environment sections
...
Fix links in markdown, and add details about
Wayland environment variables.
2020-06-28 13:42:01 -04:00
Matthias Clasen
0c9a0dfed1
Merge branch 'print-editor' into 'master'
...
Install the print editor
See merge request GNOME/gtk!2165
2020-06-28 16:44:32 +00:00
Matthias Clasen
5d9bcfb64a
stringlist: Cosmetic documentation fix
2020-06-28 12:43:16 -04:00
Matthias Clasen
7047d68404
gtk: Add some missing symbols to the docs
2020-06-28 12:43:16 -04:00
Matthias Clasen
334f95479b
sorter: Some doc corrections
...
The docs were referring to some non-existing enum value.
Fix things up to match the current code.
2020-06-28 12:43:11 -04:00
Matthias Clasen
9dff4d6ff3
stack: Remove nonexisting api from headers
...
The homogeneous property was dropped a while ago.
2020-06-28 12:43:11 -04:00
Matthias Clasen
4d7d031ee0
gdk: Small documentation fixes
...
Make sure gdk_event_get_seat shows up.
2020-06-28 12:24:03 -04:00
Matthias Clasen
7c98af6358
stack: Cosmetic documentation fixes
...
Fix parameter mismatches.
2020-06-28 12:23:52 -04:00
Matthias Clasen
ddcba4d33f
bitset: Cosmetic documentation changes
2020-06-28 12:23:52 -04:00
Matthias Clasen
59fe4a3a09
printeditor: Add desktop file and appdata
...
All our installed demos have this.
2020-06-28 10:51:16 -04:00
Matthias Clasen
6774f36636
print-editor: Allow opening files
...
Since it calls itself an editor, it should really
support opening files on the commandline.
2020-06-28 10:51:16 -04:00
Matthias Clasen
608cbc28af
printeditor: Cosmetics
...
Bring this up to our standards for an installable demo,
by touching up the about dialog and menus.
2020-06-28 10:51:16 -04:00
Emmanuele Bassi
117c71faeb
Merge branch 'issue-2900' into 'master'
...
Nullable this_ argument in gtk_expression_bind()
Closes #2900
See merge request GNOME/gtk!2163
2020-06-28 13:28:52 +00:00
Emmanuele Bassi
24d6a190af
Add pre-condition check on nullable argument
...
Even if `gtk_expression_watch()` will do the same, we're calling public
API, so we should perform a check at the point of use, to ensure that
warnings are easily debuggable.
2020-06-28 13:42:03 +01:00
Emmanuele Bassi
6a4b5ead86
Annotate nullable argument
...
The `this_` argument is passed to `gtk_expression_watch()`, which
accepts it as nullable.
Fixes : #2900
2020-06-28 13:41:54 +01:00
Matthias Clasen
674ede8665
docs: Remove ancient version information
...
We treat 4.0 as a new era.
2020-06-27 21:46:22 -04:00
Matthias Clasen
8a269de89a
multiselection: Update docs
...
Remove information that is no longer true. GtkMultiSelection
is persistent across sorting changes since 3d8b6f6b79 .
2020-06-27 21:40:26 -04:00
Matthias Clasen
ace4eac25a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2160
2020-06-27 22:19:27 +00:00
Matthias Clasen
66bce08d10
docs: Migration guide additions
2020-06-27 17:38:10 -04:00
Matthias Clasen
65902367c6
builder: Documentation tweaks
...
Don't use no-longer-existing enums as examples,
and drop the +.
2020-06-27 17:28:15 -04:00
Matthias Clasen
8f0b92e42d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2159
2020-06-27 19:43:18 +00:00
Baurzhan Muftakhidinov
f3d5f6628d
Update Kazakh translation
2020-06-27 19:11:12 +00:00
Baurzhan Muftakhidinov
4d687366ed
Update Kazakh translation
2020-06-27 18:52:16 +00:00
Matthias Clasen
3aa5019e70
gtk-demo: Drop an unused object
...
The main ui file was still creating a tree store,
but we've switched everything over to use list models.
2020-06-27 09:47:29 -04:00
Matthias Clasen
4fb495d0fe
builder: Warn about dropped objects
...
Use GTK_DEBUG=builder-objects to make GtkBuilder warn
if a named object from a ui files doesn't get claimed
by gtk_builder_get_object(). This is useful for finding
dead wood in .ui files.
2020-06-27 09:47:00 -04:00
Matthias Clasen
c447fa8442
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2897 and #2898
See merge request GNOME/gtk!2158
2020-06-27 03:51:21 +00:00
Matthias Clasen
3a70ca9d03
listitem: Correct the docs
2020-06-26 23:10:21 -04:00
Matthias Clasen
5d11e9812d
gtk-demo: Improve formatting in the color demo
...
Properly align and format the numbers in the size
dropdown.
2020-06-26 22:57:56 -04:00
Matthias Clasen
0d10982379
text: Support reverse selection
...
Take ordering of cursor_position and selection_bound
into account when copying text to the clipboard, and
ensure that both orders work the same.
Fixes : #2898
2020-06-26 22:22:47 -04:00
Matthias Clasen
c20a966f06
text: Update action enabled state correctly
...
Take the editable property into account when updating
the emoji.insert action state, and update the action
when it changes.
Fixes : #2897
2020-06-26 22:13:12 -04:00
Matthias Clasen
64db05d3dd
shortcutcontroller: Add some debug spew
...
This helps in debugging event routing and keyboard
shortcut issues.
2020-06-26 22:12:42 -04:00
Matthias Clasen
913cd91df0
widget: Fix an oversight
...
g_message comes with a builtin newline, don't add one
to the message.
2020-06-26 22:12:14 -04:00
Matthias Clasen
2c5533589d
Merge branch 'matthiasc/for-master' into 'master'
...
Adwaita: Fix block cursors in spinbuttons
Closes #2871
See merge request GNOME/gtk!2156
2020-06-27 00:35:51 +00:00
Matthias Clasen
cfdc81af02
Adwaita: Fix block cursors in spinbuttons
...
Fix block cursors in vertical spinbuttons with Adwaita.
Fixes : #2871
2020-06-26 19:56:10 -04:00
Matthias Clasen
7fa8a69fdc
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2869
See merge request GNOME/gtk!2155
2020-06-26 21:14:27 +00:00
Matthias Clasen
fd2861d683
docs: Add css docs to entries
...
The various entries were missing the semi-standard
"CSS Nodes" section in their long descriptions. Add
them.
2020-06-26 16:13:02 -04:00
Matthias Clasen
cd9f5733b3
text: Be more selective when selecting on focus-in
...
We don't want to select on focus-in when the focus
comes from a child. The case where this does harm
is when you activate copy or paste actions from the
context menu. We close the menu before triggering the
action, and if that causes the text in the entry to
be selected, unexpected things happen, since the action
applies to the current selection.
Fixes : #2869
2020-06-26 15:49:39 -04:00
Matthias Clasen
8b4560cbfb
Revert "text: Avoid creating a PangoAttrList we don't need"
...
This reverts commit 67c2665028 .
The splicing we do here has the important side-effect
of shifting the preedit attributes to the right position.
Without it, we end up always underlining the first chars
in the entry, regardless where the preedit happens.
2020-06-26 15:27:17 -04:00
Matthias Clasen
2d914d52be
text: Handle key events in the target phase
...
This makes sure that we do actual key input right
in the middle between all the capture and bubble
event controllers, and are not dependent on the
ordering of those controllers.
The bug that triggered this change was that the
shortcut for activation (Enter) was getting triggered
before the key input, causing Ctrl-Shift-u hex
to stop working, since it never received the enter
to commit the sequence.
2020-06-26 14:08:35 -04:00
Matthias Clasen
a26865e741
widget: Add a debug message for consumed key events
...
Run the application with GTK_DEBUG=keybindings to
get some hints where key events get lost.
2020-06-26 14:08:14 -04:00
Matthias Clasen
3558beaa61
text: Give names to event controllers
...
It helps with debugging.
2020-06-26 14:08:11 -04:00
Matthias Clasen
9b9a9f14e2
Merge branch 'wip/carlosg/sequence-state-fixups' into 'master'
...
Fixups to gesture sequence states
Closes #2895
See merge request GNOME/gtk!2154
2020-06-26 17:08:09 +00:00
Carlos Garnacho
0ce4f66976
gtktext: Don't accept (twice!) all press actions
...
The gesture should claim the sequence after triggering uncancellable
actions, like pasting, showing a menu or selecting words/lines. A
single first button press initiating a drag does not trigger
anything yet, so it should avoid claiming the sequence.
2020-06-26 17:48:10 +02:00
Carlos Garnacho
b81bbde7c8
gtkswitch: Don't be eager in accepting the gesture
...
The gesture should be accepted whenever it triggers uncancellable
actions in the widget. This means it should be accepted if the
click does result in toggling the switch.
This leaves the pan gesture room to handle dragging the handle.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2895
2020-06-26 17:48:10 +02:00
Matthias Clasen
3f55bfe2cb
Merge branch 'matthiasc/for-master' into 'master'
...
main: Avoid a warning
Closes #2894
See merge request GNOME/gtk!2153
2020-06-26 14:31:20 +00:00
Matthias Clasen
4185ba242b
docs: Some tweaks to the list widget overview
2020-06-26 09:05:56 -04:00
Matthias Clasen
e04191a5ea
Merge branch 'wip/otte/bitset' into 'master'
...
Improve selection handling API for rubberbanding
See merge request GNOME/gtk!2086
2020-06-26 12:43:49 +00:00
Matthias Clasen
f07d304f19
main: Avoid a warning
...
transient-for relationships only exist between
windows, so check that both candidates are such.
Fixes : #2894
2020-06-26 08:19:32 -04:00
Emmanuele Bassi
1d1f618a13
Merge branch 'tintou/dropdown-annotations' into 'master'
...
dropdown: Annotate the get_selected_item method
See merge request GNOME/gtk!2152
2020-06-26 08:48:51 +00:00
Emmanuele Bassi
e20610cdc6
Merge branch 'wip/ricotz/annotations' into 'master'
...
gtk: Add some g-i annotations to GtkStringList
See merge request GNOME/gtk!2150
2020-06-26 08:46:35 +00:00
Corentin Noël
721396b6d6
dropdown: Annotate the get_selected_item method
...
We need to specify the type as we already know that it is at least a GObject and in case of no selection, NULL is returned.
2020-06-26 10:00:59 +02:00
Benjamin Otte
dc1dbe6158
listbase: Make rubberbanding a threshold drag
2020-06-26 07:13:32 +02:00
Benjamin Otte
30488e60e2
listbase: Only compute the modifiers when releasing the rubberband
...
... and do the right things:
nothing: selection = rubberband
ctrl: selection = selection OR rubberband
shift: selection = selection AND (NOT rubberband)
ctrl+shift: selection = selection XOR rubberband
(not sure this one makes sense, but toggling is fun)
2020-06-26 07:13:32 +02:00
Benjamin Otte
a5949960bc
listbase: Compute rubberband region on-demand
...
Instead of storing the active items as we go, compute the affected items
whenever the rubberband changes and in particular when the rubberband
ends.
That way, the rubberband is guaranteed to select a rectangle even
after scrolling very far.
This is achieved by having a get_items_in_rect() vfunc that selects all
the items in the rubberbanded rectangle and returns them as a bitset.
2020-06-26 07:13:32 +02:00
Benjamin Otte
ec4a489093
listview: Allocate rubberband at end of size_allocate()
...
Otherwise the rubberband uses the wrong scroll offsets.
2020-06-26 07:13:32 +02:00
Benjamin Otte
7c52e03815
listbase: Flip autoscroll deltas if adjustments are flipped
...
Fixes autoscroll on RTL languages.
2020-06-26 07:13:32 +02:00
Benjamin Otte
724c9361f3
listbase: Allocate gridview items properly on RTL
...
We need to flip the items.
2020-06-26 07:13:32 +02:00
Benjamin Otte
147388e69a
multiselection: Implement get_selection_in_range()
2020-06-26 07:13:32 +02:00
Benjamin Otte
64aa281c97
listbase: Allocate rubberband according to list coords
...
The rubberband is now handled on the list coordinate system.
When starting the rubberband, we track the item under the pointer and
follow it when it is moving.
This may lead to the rubberband start position changing position and
while this may be confusing, it alerts users to the fact that something
crazy is going on.
2020-06-26 07:13:32 +02:00
Benjamin Otte
c2b0330c56
listbase: Move a common function from the children into GtkListBase
...
We want to use it for the rubberband later.
2020-06-26 07:13:32 +02:00
Benjamin Otte
de4803bb21
listbase: Don't do extra work
...
Scrolling causes a queue_resize() which will update the rubberband in
size_allocate() and queue a draw.
2020-06-26 07:13:32 +02:00
Benjamin Otte
e574dcb091
Fix indentation
2020-06-26 07:13:32 +02:00
Benjamin Otte
488b0cbb69
gtk: Remove GtkPropertySelection
...
GtkMultiSelection is so much faster than this that it isn't needed.
2020-06-26 07:13:32 +02:00
Benjamin Otte
6ceab55148
gtk-demo: Port listview-colors demo to multiselection again
2020-06-26 07:13:32 +02:00
Benjamin Otte
3d8b6f6b79
multiselection: Track items across resorts
...
In particular, track which items remain in ::items-changed
signal emissions.
But the main use case is sorting, which causes items-changed(0, n, n)
to be emitted.
2020-06-26 07:13:32 +02:00
Benjamin Otte
58d3213eef
Remove GtkSet
...
It's been superceded by GtkBitset.
2020-06-26 07:13:32 +02:00
Benjamin Otte
006dfdc55a
selectionmodel: Remove select_callback() functions
...
gtk_selection_model_set_selection() takes care of those now.
2020-06-26 07:13:32 +02:00
Benjamin Otte
a38c423ddb
listbase: Port rubberband to gtk_selection_model_set_selection()
2020-06-26 07:13:32 +02:00
Benjamin Otte
fa0295629b
selectionmodel: Add gtk_selection_model_set_selection()
...
Also port the testsuite.
2020-06-26 07:13:32 +02:00
Benjamin Otte
8395698090
selectionmodel: Replace query_range() with get_selection()
2020-06-26 07:13:32 +02:00
Benjamin Otte
277a91dbf8
multiselection: Port to GtkBitset
2020-06-26 07:13:32 +02:00
Benjamin Otte
ff36cfb5be
testsuite: Add tests for GtkBitset
2020-06-26 07:13:32 +02:00
Benjamin Otte
db452f0c45
Add GtkBitset
2020-06-26 07:13:32 +02:00
Rico Tzschichholz
5b1195f874
gtk: Add some g-i annotations to GtkStringList
2020-06-26 06:36:23 +02:00
Benjamin Otte
d830724d4f
Add amalgamated roaring bitmaps source code
...
Taken from https://github.com/RoaringBitmap/CRoaring and fixed to
not spew warnings.
2020-06-26 06:19:56 +02:00
Matthias Clasen
0ef0edfa9a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2149
2020-06-25 22:28:07 +00:00
Matthias Clasen
0ec868bd69
inspector: Adapt to dropdown api change
...
The suppported syntax for dropdowns in ui files
has changed. Get with the program.
2020-06-25 16:42:30 -04:00
Matthias Clasen
30e79e8412
docs: Fix a typo
2020-06-25 14:29:24 -04:00
Matthias Clasen
c9b032acab
gtk-demo: Fix a typo in the listbox demo
2020-06-25 14:28:29 -04:00
Matthias Clasen
1f410faccb
searchentry: Update the docs slightly
...
Update the docs to get closer to describing reality.
2020-06-25 14:27:44 -04:00
Matthias Clasen
d0e56106fe
Drop unused includes
...
Don't include gtkfilechooserentry.h where it
isn't used.
2020-06-25 14:27:31 -04:00
Matthias Clasen
3d3d7dbc59
stringfilter: Fix a typo
2020-06-25 14:27:23 -04:00
Emin Tufan Çetin
c0cbf9db5f
Update Turkish translation
2020-06-25 01:05:12 +00:00
Matthias Clasen
db82eaec0a
Merge branch 'wip/carlosg/input-cleanups' into 'master'
...
Some input cleanups
Closes #2851
See merge request GNOME/gtk!2147
2020-06-24 21:32:30 +00:00
Matthias Clasen
f4e200708d
Merge branch 'scrolled-window-api' into 'master'
...
scrolledwindow: Don't take adjustments in new()
See merge request GNOME/gtk!2146
2020-06-24 19:58:03 +00:00
Matthias Clasen
ba1944ded2
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2145
2020-06-24 19:50:37 +00:00
Carlos Garnacho
8eeef54b2e
gtktextview: Remove child textview items last
...
The function tries to go through every child, so it's convenient
to remove all internal ones first.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
8e549d73a0
gtkwidget: Drop _gtk_widget_[gs]et_shadowed()
...
This API is meaningless now, with grab-notify being handled internally.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
102d2a36f3
gtkwidget: Avoid use of shadowed flag
...
This is going away, look up whether there is a grab, and whether
the widget is within it, instead.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
f046e27bb4
gtkwidget: Drop gtk_widget_device_is_shadowed()
...
A widget no longer needs updating on GTK grabs on itself, drop
this miscellaneous and no longer used API.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
1c5cf17f1c
gtkwidget: Drop internal checks in grab-notify
...
There's no need to check if the widget is already shadowed, we
implicitly have that from the signal argument.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
ddb3a4be3e
gtkmain: Make grab-notify notifications more targeted
...
We only want to send grab-notify to widgets that might have been
interacting with devices via events. Instead of going through all
widgets in all toplevels, we have the window/pointer focus information,
so we can just traverse the widget stacks for every involved foci.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
994f32704b
gtkwidget: Drop ::grab-notify signal and vfunc
...
We don't expect widgets to react directly to these anymore.
Internally we still reset the controllers.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
1f798643c8
gtkprintoperation-win32: Don't track grab-notify
...
Further grabs could presumably only come from events handled within
the dialog itself. It seems overeager to do this.
2020-06-24 20:35:23 +02:00
Carlos Garnacho
2f8d5e2dcd
gtkvideo: Track child focus to determine whether controls should autohide
...
Move away from grab_notify, and use the set_child_focus() vfunc to track
child widgets being set the keyboard focus. This is not 1:1, but seems
good enough at the moment.
2020-06-24 20:35:22 +02:00
Carlos Garnacho
df30741535
gtkbutton: Drop grab_notify handler
...
The click gesture already has a ::cancel handler, and does almost
everything it should. Move the last bits and remove the grab_notify
handler.
2020-06-24 20:35:22 +02:00
Carlos Garnacho
762748028a
gtkspinbutton: Drop grab_notify handler
...
The press gesture on the buttons already has a ::cancel handler,
this is redundant.
2020-06-24 20:35:22 +02:00
Carlos Garnacho
f7c5cf137c
gtknotebook: Move away from grab_notify
...
Connect to ::cancel on the relevant gesture instead.
2020-06-24 20:35:22 +02:00
Matthias Clasen
455d91b0fc
testgtk: Update list of cursor names
...
Use the standard names, since that is what we want
everybody else to use too.
2020-06-24 14:06:50 -04:00
Matthias Clasen
e834e51c0f
Install gtkstringlist.h
2020-06-24 13:02:50 -04:00
Matthias Clasen
bce518b214
entrycompletion: Various fixes
...
Fix various issues that prevented inline completion
and inline selection from working reliably. We were
passing byte counts to gtk_editable_select_region in
one place, but that function expects char counts.
We were listening for GtkEditable::insert-text on
the GtkText widget, but that does not emit those signals,
so listen for GtkEntryBuffer::inserted-text instead.
Finally, we were not clearing the stored completion_prefix
enough, leading to situations where the stored prefix
does not match the text in the entry anymore.
2020-06-24 13:02:50 -04:00
Matthias Clasen
3656994f82
gtk-demo: Enable inline completion
...
Enable inline completion in the entry completion
demo, to have some code exercising this feature.
It is broken.
2020-06-24 13:02:50 -04:00
Matthias Clasen
fd5f6ef57f
gtk-demo: Improve the entry completion demo
...
Add more strings.
2020-06-24 13:02:50 -04:00
Matthias Clasen
386b63b85d
scrolledwindow: Don't take adjustments in new()
...
In 99.9% of all cases, these are just NULL, NULL.
So just do away with these arguments, people can
use the setters for the rare cases where they want
the scrolled window to use a different adjustment.
2020-06-24 11:25:09 -04:00
Carlos Garnacho
803103640a
gtkwindowhandle: Drop has-grab checks
...
While it's worth thinking about bringing the "windows can be dragged
with open popovers" behavior back, this does not kick in anymore, nor
should be the way to handle this given all the autoclose surface
semantic changes.
2020-06-24 13:41:28 +02:00
Carlos Garnacho
469a4a73f9
gdk: Drop gdk_device_get_last_event_surface()
...
This kind of transient state sets the expectative that events update
devices, while it's more accurate to say that devices generate events.
It does not make to expose this function anymore.
2020-06-24 11:24:04 +02:00
Carlos Garnacho
f401b05e7b
gtkwidget: Avoid poking surfaces and events in gtk_widget_list_devices()
...
This got stuck in ancient times when widgets were windowed, so the devices
in a window to know the devices in that widget would pan out. We do only
want here the devices that are inside the widget, not spread over the
surface, so rewrite this helper function to poke the toplevel foci, and
look they are contained inside the widget.
2020-06-24 11:14:52 +02:00
Carlos Garnacho
42ed8a2748
gtkwidget: Drop _gtk_widget_get_device_surface()
...
A widget cannot have multiple surfaces anymore, nor needs to
fetch the last event surface as it ought to handle its own.
2020-06-24 10:47:15 +02:00
Carlos Garnacho
f872eb64b5
gtkmain: Drop unused struct field
...
Grabs are, ironically, not about devices anymore. This struct field
is never set.
2020-06-24 10:47:15 +02:00
Carlos Garnacho
29d054c421
gtkwidget: Remove dead code
...
This variable got unused over time.
2020-06-24 10:47:15 +02:00
Carlos Garnacho
7be6afe84d
gdk: Depend less on gdk_event_get_device()
...
For the most part, we are interested in seats here.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
cf1fbdf8b5
gdk: Add gdk_event_get_seat()
...
It currently fetches the seat from the event device, will be changed
in future commits.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
6d2860efb7
gdk: Drop gdk_seat_get_logical_pointers()
...
Events come from hardware devices and are handled by controllers,
there's no need to use logical pointers, nor to peek them. Drop this
unused API.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
5f29b8fcec
gdk: Drop GdkGrabOwnership
...
We no longer expose such low level tweaks, this is essentially
unused.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
59a8106373
gdk: Drop supports_multidevice API
...
Crossing events are now detached from widget state, all tricky consequences
from getting multiple crossing events are now somewhat moot. Resort to sending
all generated crossing events, and drop this barely (ever?) used API.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
c1d90273ca
gdk: Drop GDK_SOURCE_ERASER
...
All tools come from devices with GDK_SOURCE_PEN.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
31b95ce47f
gtkmain: Look up transient-for hierarchies to determine modality
...
Windows that are not modal, but are transient-for a modal window should
still be able to receive and handle events. Inspect the window hierarchy
in those cases, so these windows are handled just like widgets within
the modal dialog.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2851
Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/2850
2020-06-23 23:42:53 +02:00
Carlos Garnacho
4fe608e423
gtkwidget: Cancel all gestures in other groups
...
When a gesture (group) claims a sequence, all other gesture groups
in the same widget should get cancelled. Not just previously claimed
ones, that shouldn't happen actually.
2020-06-23 23:42:53 +02:00
Matthias Clasen
2cfeb1048c
Merge branch 'stringlist' into 'master'
...
add a public stringlist api
See merge request GNOME/gtk!2134
2020-06-23 20:43:49 +00:00
Matthias Clasen
e8210d5865
Add GtkStringList as public api
...
This is a list model holding strings, initialized
from a char **. String lists are buildable as well,
and that replaces the buildable support in GktDropDowns.
2020-06-23 16:11:46 -04:00
Matthias Clasen
fff981b220
Merge branch 'wip/jimmac/notebook-legibility' into 'master'
...
Adwaita: notebook legibility fixes
Closes #2652
See merge request GNOME/gtk!2142
2020-06-23 19:12:52 +00:00
Matthias Clasen
a3f4caa291
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2141
2020-06-23 19:10:54 +00:00
Jakub Steiner
ec54399d89
Adwaita: notebook legibility fixes
...
- make inactive tabs more legible
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2652
2020-06-23 19:54:54 +02:00
Matthias Clasen
83f22fcce2
Add a few missing includes
...
These sources are using GtkListStore apis,
but were replying on indirect includes to
get the header. Make this explicit, to prepare
for GtkEntryCompletion losing its tree view
dependencies.
2020-06-23 07:55:53 -04:00
Matthias Clasen
34a12f47f1
entry completion: Drop the Private struct
...
This is in preparation for porting GtkEntryCompletion
to use GtkListView.
2020-06-23 07:55:38 -04:00
Ray Strode
518462d882
Merge branch 'wip/fencing-without-context-is-discouraged' into 'master'
...
x11: Ensure bound context is compatible with sync fence
See merge request GNOME/gtk!2139
2020-06-23 09:53:35 +00:00
Ray Strode
1912513d7a
x11: Ensure bound context is compatible with sync fence
...
Commit a0f6ff101e made sure that a
context was bound before calling glClientWaitSync, but it doesn't
check that the context shares objects with the context that created
the fence.
This commit does a little more validation before deciding the current
context is good enough.
2020-06-22 19:09:43 -04:00
Matthias Clasen
1643e81c47
Merge branch 'wip/fencing-without-context-is-discouraged' into 'master'
...
x11: ensure some context is bound before calling glClientWaitSync
See merge request GNOME/gtk!2138
2020-06-22 23:01:11 +00:00
Matthias Clasen
7ff427b456
Merge branch 'drop-entry-completion-actions' into 'master'
...
entrycompletion: Drop action support
See merge request GNOME/gtk!2136
2020-06-22 22:59:17 +00:00
Matthias Clasen
91a96d27f1
Merge branch 'matthiasc/for-master' into 'master'
...
Add a basic clipboard test
See merge request GNOME/gtk!2137
2020-06-22 22:13:30 +00:00
Ray Strode
a0f6ff101e
x11: ensure some context is bound before calling glClientWaitSync
...
Since commit 972134abe4 we now call
glClientWaitSync for the vendor nvidia driver, to know when a frame
is ready for the compositor to process.
glClientWaitSync can be called regardless of which context is currently
bound, but if no context is bound at all, it returns 0 without
doing anything.
This commit checks for that edge case, and ensures a context gets
made current in the event no context is already current, before calling
glClientWaitSync.
2020-06-22 17:13:54 -04:00
Matthias Clasen
9bcf401ef7
Add a basic clipboard test
...
This is not reproducing the failure I'm after, unfortunately.
2020-06-22 16:55:01 -04:00
Matthias Clasen
67a7ad069f
entrycompletion: Drop action support
...
This api has not really been kept up with current
user experiences in popups, and we're better off
just dropping it and letting people do their own
popups if they need custom UI.
2020-06-22 14:43:36 -04:00
Matthias Clasen
367d24be7f
Merge branch 'keyval-to-uni-fix' into 'master'
...
gdk: Make gdk_keyval_to_unicode platform-independent
See merge request GNOME/gtk!2132
2020-06-22 18:13:25 +00:00
Matthias Clasen
1791c637d0
Merge branch 'fix-entry-completion' into 'master'
...
Fix entry completion
See merge request GNOME/gtk!2135
2020-06-22 17:56:43 +00:00
Matthias Clasen
c6fe8818ed
gdk: Clarify the docs of gdk_keyval_to_unicode
...
Explicitly state that the conversion does not
take locale into account, and point out GDK_KEY_KP_Decimal
as a candidate for special-casing.
2020-06-22 13:24:34 -04:00
Matthias Clasen
53a30eaa12
entry completion: Make keynav work again
...
Use gtk_widget_prepend_controller to supersede entry keynav
while the popup is open. This fixes selecting completions
with the keyboard - the Enter keypress was ending up
triggering GtkText::activate instead of inserting the
selected completion into the entry.
2020-06-22 12:48:42 -04:00
Matthias Clasen
692cc42e10
Add gtk_widget_prepend_controller
...
Add a variant of gtk_widget_add_controller that
inserts the controller at the beginning, instead
of the end. This will be used in entry completion
to make sure the entry completion key event handling
supersedes the entry one while the popup is open.
Keep this private for now, until we determine if
it needs to be public api.
2020-06-22 12:47:27 -04:00
Matthias Clasen
9faaa5e8be
Fix change notification for event controllers
...
We were adding event controllers at the end, but
announcing a change at the beginning, in
gtk_widget_add_controller. Fix that by emitting
::items-changed for the position where we actually
inserted the controller.
2020-06-22 12:46:12 -04:00
Matthias Clasen
418bbb2685
entrycompletion: Name the controllers
...
This helps with debugging.
2020-06-22 12:31:15 -04:00
Matthias Clasen
fb148027d9
Merge branch 'wip/dont-assert-without-evidence' into 'master'
...
x11: be more verbose when glClientWaitSync behaves unexpectedtly
See merge request GNOME/gtk!2133
2020-06-22 15:47:27 +00:00
Ray Strode
05736afaf8
x11: be more verbose when glClientWaitSync behaves unexpectedtly
...
When given a 0 timeout, glClientWaitSync is only supposed to return one
of three possible values:
- GL_ALREADY_SIGNALED - fence fired
- GL_WAIT_FAILED - there was an error
- GL_TIMEOUT_EXPIRED - fence hasn't fired yet
In addition, it can also return GL_CONDITION_SATISFIED if a non-zero
timeout is passed, and the fence fires while waiting on the timeout.
Since commit 972134abe4 we now call
glClientWaitSync (with a 0 timeout), but one user is reporting it's
returning some value that's not one of the above four.
This commit changes the g_assert to a g_error so we can see what
value is getting returned.
May help with https://gitlab.gnome.org/GNOME/gtk/-/issues/2858
2020-06-22 11:16:32 -04:00
Matthias Clasen
8a91d1d1ce
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add a warning to the colors demo
See merge request GNOME/gtk!2131
2020-06-22 13:11:13 +00:00
Matthias Clasen
2df139cf40
gdk: Make gdk_keyval_to_unicode platform-independent
...
The result of gdk_keyval_to_unicode should not depend
on the platform.
2020-06-22 08:31:10 -04:00
Timm Bäder
9f1208b595
Merge branch 'master.msvc' into 'master'
...
demos: Fix builds against Visual Studio headers
See merge request GNOME/gtk!2130
2020-06-22 12:02:26 +00:00
Matthias Clasen
9fd3212241
gtk-demo: Add a warning to the colors demo
...
Explain that the big sizes cause lockups.
2020-06-22 07:43:47 -04:00
Chun-wei Fan
293f2e6b1c
demos: Fix builds against Visual Studio headers
...
According to [1], '_timezone' is already used for a global variable in the
time.h system header that is supplied by Microsoft, so using that for our
variable name when we are including time.h either directly or indirectly
will cause trouble.
This renames such variables to '_tz' to avoid that
[1]: https://docs.microsoft.com/en-us/cpp/c-runtime-library/daylight-dstbias-timezone-and-tzname
2020-06-22 17:04:18 +08:00
Matthias Clasen
f83aa16f59
Merge branch 'port-icon-browser' into 'master'
...
Port icon browser
See merge request GNOME/gtk!2127
2020-06-22 00:09:00 +00:00
Matthias Clasen
c73dd9ecaf
Merge branch 'matthiasc/for-master' into 'master'
...
filter: Make GtkEveryFilter buildable
See merge request GNOME/gtk!2125
2020-06-21 17:57:31 +00:00
Matthias Clasen
607f08e79b
Port the icon browser to GtkGridView
2020-06-21 13:36:57 -04:00
Matthias Clasen
511e5f39fa
filter: Make GtkEveryFilter buildable
...
Due to an oversight, when multi filters were split into
any and every, any ended up with the listmodel and buildable
implementations, and every didn't get any.
Move the implementations up.
2020-06-21 13:10:18 -04:00
Matthias Clasen
7d409dd2e0
Merge branch 'wip/otte/listview-colors' into 'master'
...
Improve listview-colors demo
See merge request GNOME/gtk!2123
2020-06-21 12:49:49 +00:00
Matthias Clasen
9b8c0f3c7f
gtk-demo: Cosmetic improvement to the colors demo
...
Make the count label not jump around, as the model
is refilled.
2020-06-21 14:17:47 +02:00
Benjamin Otte
727a78a74f
gtk-demo: Add an "Unsorted" option (and default to it)
...
Tests the previous commit and ensures that selecting 16M colors actually
works quickly (it does).
2020-06-21 14:17:47 +02:00
Benjamin Otte
a928ea6c57
sortlistmodel: Look at order
...
For now, we just look at SORT_ORDER_NONE to bypass any sorting.
2020-06-21 14:17:47 +02:00
Benjamin Otte
d3f7dea624
gtk-demo: Reinstate incremental filling
...
Do it via the new size setting on the color list.
Also add an option to set the maximum size of the color list that it'll
be filled to so rudimentary performance testing is possible.
Hint: Do not select 16777216.
This reinstates commit c16848c2bb683f7ddf51571aa5951f8a4a1ea622.
2020-06-21 14:17:47 +02:00
Benjamin Otte
456b7628ee
gtk-demo: Allow color list to have any size
...
For now, limit it to 1<<12 so the sorters don't explode.
2020-06-21 14:17:47 +02:00
Benjamin Otte
f149beb474
gtk-demo: Add a permutation to compute colors from the position
...
This way, the colors are furthest apart at the start and fill up the
remaining spots towards the end.
2020-06-21 14:17:47 +02:00
Benjamin Otte
1b0451761a
gtk-demo: Add custom listmodel for all true colors.
2020-06-21 14:17:47 +02:00
Benjamin Otte
1d26341b03
gtk-demo: Make colors demo contain all 16,777,216 colors
...
This makes it slightly slow, so not sure it should stay like this.
2020-06-21 14:17:47 +02:00
Benjamin Otte
8348a113c6
gtk-demo: Compute HSV values directly
2020-06-21 14:17:47 +02:00
Benjamin Otte
bfdede7acc
Revert "gtk-demo: Make the colors demo populate incrementally"
...
This eases adding a bunch of follow-up features. After those features
have landed, this functionality will be readded.
This reverts commit a10340859d .
2020-06-21 14:17:47 +02:00
Benjamin Otte
70894b48af
gtk-demo: Embed the RGBA value
2020-06-21 14:17:47 +02:00
Aurimas Černius
b0c6b282fd
Updated Lithuanian translation
2020-06-21 14:47:05 +03:00
Piotr Drąg
393054dd3f
Update Polish translation
2020-06-21 11:37:46 +02:00
Matthias Clasen
97b10df723
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2122
2020-06-21 05:58:15 +00:00
Matthias Clasen
62b214ffdf
filechooserwidget: Use gtk_drop_down_get_selected_item
...
This showed up as a test failure when we get NULL as
selected item and then try to unref it. Luckily
get_selected_item is transfer none, so we don't have
to worry about it.
2020-06-21 01:20:05 -04:00
Benjamin Otte
3549f43902
demo: Use GtkDropDown::selected-item
2020-06-21 02:23:46 +02:00
Benjamin Otte
45167d5c0d
dropdown: emit notify for selected from the changed callback
...
Otherwise we don't emit it when the selection itself changes it - for
exaple because the model changed.
2020-06-21 02:23:46 +02:00
Matthias Clasen
0214b98c5e
Merge branch 'matthiasc/for-master' into 'master'
...
misc listview scrolling fixes
See merge request GNOME/gtk!2119
2020-06-20 21:21:29 +00:00
Matthias Clasen
19c38158fc
Merge branch 'incremental-colors' into 'master'
...
Incremental colors demo
See merge request GNOME/gtk!2121
2020-06-20 20:35:23 +00:00
Matthias Clasen
7ff35340ca
Merge branch 'drop-down-selected-item' into 'master'
...
dropdown: Add GtkDropDown:selected-item
Closes #2861
See merge request GNOME/gtk!2120
2020-06-20 18:51:18 +00:00
Matthias Clasen
a10340859d
gtk-demo: Make the colors demo populate incrementally
...
Add a refill button that incrementally refills the color
demo. This is useful to test how the grid view operates
when the model is frequently changed.
2020-06-20 14:47:57 -04:00
Matthias Clasen
8475d88af0
gtk-demo: Clean up initial selection handling
...
We call selection_cb now, so we don't need to manually
do part of what that call does ahead of time.
This should have been noticed in 10bcbae68c .
2020-06-20 14:47:39 -04:00
Matthias Clasen
79b1d24128
Merge branch 'gtk4-arb_fbo' into 'master'
...
Switch to GL_ARB_framebuffer_object
See merge request GNOME/gtk!2079
2020-06-20 17:12:52 +00:00
Matthias Clasen
ad98e72884
dropdown: Add GtkDropDown:selected-item
...
This is the same readonly property we have in
GtkSingleSelection.
Fixes : #2861
2020-06-20 13:11:48 -04:00
Matthias Clasen
3fab2b55cc
gtk-demo: Clean up memory handling in the weather demo
...
gtk_weather_info_new was consuming the info, but not
the timestamp, which confused me. Make it not consume
either, and be more explicit about where the unrefs
happen.
2020-06-20 12:18:17 -04:00
Matthias Clasen
2842030e59
gridview: Don't assert on a condition that can happen
...
We are currently not robust against model changes or
widget invalidations, so we can actually end up in
situations where we run out of items here. Handle
the failure a bit more gracefully, by returning NULL.
This is good enough to make scrolling work okish most
of the time. We still need a proper fix to handle
other situations.
2020-06-20 12:11:59 -04:00
Benjamin Otte
7c2d21892f
gridview: Compute right amount of items to skip
...
We only want to skip the remaining items in the current row, not since
the start of the widget.
2020-06-20 12:08:46 -04:00
Matthias Clasen
677bfe6857
gtk-demo: Clean up initial selection handling
...
We call selection_cb now, so we don't need to manually
do part of what that call does ahead of time.
This should have been noticed in 10bcbae68c .
2020-06-20 08:48:29 -04:00
Matthias Clasen
b7ddf0b2e5
Merge branch 'dnd-demo-animation' into 'master'
...
gtk-demo: Add animated icons to the dnd demo
See merge request GNOME/gtk!2117
2020-06-19 23:57:47 +00:00
Matthias Clasen
eb25fc1d5a
gtk-demo: Add animated icons to the dnd demo
...
This is to test animated drag icons.
2020-06-19 19:26:43 -04:00
Matthias Clasen
395d40485d
Merge branch 'listview-dnd' into 'master'
...
Listview dnd
See merge request GNOME/gtk!2116
2020-06-19 22:24:36 +00:00
Matthias Clasen
17af979b24
testlistdnd: Use editable labels
...
Use editable labels instead of entries, and write
changes back to the model.
2020-06-19 16:30:25 -04:00
Matthias Clasen
8511f25b97
editablelabel: Allow to drag text
...
If we allow editing, we should allow direct drags too.
2020-06-19 15:26:53 -04:00
Matthias Clasen
290611f9ce
editablelabel: Accept text drops
...
This seems natural. If we allow editing, we should
allow drops too.
2020-06-19 15:26:53 -04:00
Matthias Clasen
6280066207
testlistdnd: Add a tree
...
This lets us test auto-expand of tree expanders.
2020-06-19 15:26:47 -04:00
Matthias Clasen
f054c317ee
expander: Remove a pointless return
...
GtkDropControllerMotion::enter does not expect
a boolean return value, so don't provide one.
2020-06-19 15:26:47 -04:00
Matthias Clasen
9555e611e1
treeexpander: Auto-expand during DND
...
When hovering over a tree expander during DND,
expand the tree after a timeout. This matches
the behavior of GtkTreeView and GtkExpander.
2020-06-19 15:26:47 -04:00
Matthias Clasen
5629ac3c63
Add a list dnd example
...
Add a test for dnd with listview, gridview and columnview.
2020-06-19 15:26:10 -04:00
Matthias Clasen
110c316810
columnview: Increase the autoscroll threshold
...
With autoscroll during DND, we stop when you hit the edge
of the widget, so a larger threshold makes sense to avoid
hitting the edge by accident.
2020-06-19 15:26:10 -04:00
Matthias Clasen
470a1aabdd
columnview: Autoscroll during DND
...
Use a drop motion controller to autoscroll horizontally
while a drag operation is hovering over the list. The
vertical scrolling is handled by the listview.
2020-06-19 15:26:10 -04:00
Matthias Clasen
b299d62a73
columnview: separate autoscroll from headers
...
Break out an update_autoscroll() function that can
be used for other things than header DND. It will
be used for autoscroll during DND in the future.
2020-06-19 15:26:10 -04:00
Matthias Clasen
02b293b59c
listbase: Don't use adjustments for autoscrolling
...
Don't consult the adjustments when determining
scroll deltas. It isn't necessary.
2020-06-19 15:26:10 -04:00
Matthias Clasen
c659a231d6
listbase: Increase the autoscroll threshold
...
With autoscroll during DND, we stop when you hit the edge
of the widget, so a larger threshold makes sense to avoid
hitting the edge by accident.
2020-06-19 15:26:10 -04:00
Matthias Clasen
4e56581222
listbase: Autoscroll during DND
...
Use a drop motion controller to autoscroll while
a drag operation is hovering over the list.
2020-06-19 15:26:10 -04:00
Matthias Clasen
e8ba16d9c2
listbase: separate autoscroll from rubberband
...
Break out an update_autoscroll() function that can
be used for other things than rubberbanding. It will
be used for autoscroll during DND in the future.
2020-06-19 15:26:10 -04:00
Matthias Clasen
4a43c77f66
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2115
2020-06-19 16:17:27 +00:00
Matthias Clasen
55936087e0
columview: Fix cell creation
...
We were getting lost in the columnview internal
structure here. The rows are children of the listview,
not of the columnview itself.
2020-06-19 11:42:58 -04:00
Matthias Clasen
3141eaecd0
gtk-demo: Modernize the tag entry demo
...
Use a layout manager, and reduce boilerplate.
2020-06-19 11:42:47 -04:00
Matthias Clasen
69e14ba02f
Revert "notebook: Don't capture clicks"
...
This reverts commit 37eb0496b6 .
This change broke notebook scroll arrows.
2020-06-19 11:42:47 -04:00
Benjamin Otte
dffbcd8fdf
Merge branch 'wip/otte/for-master' into 'master'
...
listbase: Fix copy/paste error
See merge request GNOME/gtk!2114
2020-06-19 15:20:32 +00:00
Benjamin Otte
ff3b03c5e2
listbase: Fix copy/paste error
...
This could lead to "flickering" scroll behavior when scrolling
horizontally.
2020-06-19 15:51:52 +02:00
Florentina Mușat
32f4aa12cd
Update Romanian translation
2020-06-19 06:17:36 +00:00
Timm Bäder
fbb7948c13
stack: Avoid using an uninitialized value
...
This was showing up as criticals since for_size != >= -1.
2020-06-19 05:58:52 +02:00
Timm Bäder
d81a5a8338
stack: Add missing accessors for GtkStackPage properties
2020-06-19 05:26:25 +02:00
Timm Bäder
652323a4bf
stack: Fix some documentation mishaps
2020-06-19 05:26:25 +02:00
Timm Bäder
e45518fb5f
stack: Fix :needs-attention docs
...
This is a property on GtkStackPage these days.
2020-06-19 05:26:25 +02:00
Timm Bäder
424e46849a
widget: Don't leak css transform
2020-06-19 05:26:25 +02:00
Timm Bäder
68886ba847
treeview: Remove identical if branches
...
Fixes #2725
2020-06-19 05:26:25 +02:00
Timm Bäder
da85815399
transform: Fix docs to use "transform" instead of "matrix"
2020-06-19 05:26:25 +02:00
Timm Bäder
3bd648e72e
stack: stop keeping a cached child render node around
...
All widgets cache their render node already. Just allocate the
last_visible_child always at 0/0 and then move its rendernode around
during snapshot.
Fixes #2678
2020-06-19 05:26:25 +02:00
Timm Bäder
2ae8ace784
cssselector: Only copy max_selector once
2020-06-19 05:26:25 +02:00
Timm Bäder
1f89f21ca9
numbervalue: Remove some leftover debugging code
2020-06-19 05:26:25 +02:00
Timm Bäder
c6921cdc9d
builder: Use default size of 8 for the ObjectProperty arrays
2020-06-19 05:26:25 +02:00
Timm Bäder
7c9f2949ce
builder: Avoid allocating things we don't use
...
We pretty often have no parameters at all, so avoid allocating
ObjectProperties+GArray+GPtrArray in that case.
2020-06-19 05:26:25 +02:00
Timm Bäder
0b13e68bca
Avoid calling g_list_model_get_n_items() all the time
...
These are used in hot paths, e.g. widget construction.
2020-06-19 05:26:25 +02:00
Timm Bäder
5dde4c0a39
transform: Fix equal() docs
...
This has nothing to do with matrices.
2020-06-19 05:26:25 +02:00
Timm Bäder
b2875d7b19
window: Add automatic titlebar before content widget
...
Just like we do with explicitly set titlebars
2020-06-19 05:26:24 +02:00
Timm Bäder
0c1cfbbad1
transform: Compare 3d points directly
2020-06-19 05:26:24 +02:00
Timm Bäder
ddacf8cc43
window: Don't add class to css node directly
...
Use gtk_widget_add_css_class instead
2020-06-19 05:26:24 +02:00
Timm Bäder
395d13d5f1
window: Stop adding css nodes manually
...
No decoration node, no need to do this.
2020-06-19 05:26:24 +02:00
Timm Bäder
1e6e522a93
window: Remove dead code
...
There is no decoration node anymore.
2020-06-19 05:26:24 +02:00
Timm Bäder
f49a02e5b5
adwaita: Use proper transform for spinners
2020-06-19 05:26:24 +02:00
Timm Bäder
1e4dc90d62
widget: don't queue a redraw on css transform changes
2020-06-19 05:26:24 +02:00
Timm Bäder
2c3a41a81a
csstransformvalue: Make no-transform case explicit
2020-06-19 05:26:24 +02:00
Timm Bäder
203bb42cc1
widget: Re-shuffle preconditions in snapshot_child()
...
The GtkNative type check is more expensive than the mapped one, so avoid
the former for unmapped widgets
2020-06-19 05:26:24 +02:00
Timm Bäder
461497e8d4
widget: Avoid doing GtkSnapshot work just to append one node
...
We already know that a widget will have literally 1 node, not more.
Avoid doing the GtkSnapshot state stack dance and just append a new
transform node instead.
Seems to give me around 400 more icons in the fishbowl
2020-06-19 05:26:24 +02:00
Timm Bäder
a974c83423
gsktransform: Make next == NULL case explicit
...
This is handled with the is_identity() check as well but this way it's
much more obvious what's happening
2020-06-19 05:26:24 +02:00
Timm Bäder
5eb181281a
fishbowl: Remove visibility handling
...
First, almost all widgets are either visible and mapped, or visible and
unmapped because they are !child_visible. In both cases, we do care
about the size. If they are indeed invisible, gtk_widget_measure() will
take care of that by returning all 0.
And gtk_widget_unparent() already queues a resize on the parent if
necessary, so that is unneeded as well.
2020-06-19 05:26:24 +02:00
Timm Bäder
9eaeb04863
Fix print dialog node name
2020-06-19 05:25:52 +02:00
Matthias Clasen
5e6c316603
Merge branch 'better-naming' into 'master'
...
Stop using loaded terms
See merge request GNOME/gtk!2109
2020-06-19 00:09:03 +00:00
Matthias Clasen
77b4f6d68e
Merge branch 'quartz-openfile-fix' into 'master'
...
quartz: gtk-application - inhibit openFiles events from cmdline
See merge request GNOME/gtk!2112
2020-06-18 21:43:59 +00:00
Friedrich Beckmann
a614716d0f
quartz: gtk-application - inhibit openFiles events from cmdline
...
When an application is started via cmdline, then openFiles events
from MacOS are generated although gtkapplication already interprets
the cmdline arguments and opens suitable arguments as files. So they
would be opened twice. Depending on the exact situation the
openFiles event can also be issued before the startup signal
is given. Depending on the application this can result in a crash
due to unexpected behaviour. I took this idea from the
gedit-app-osx.m file. Also from Jesse van den Kieboom.
See:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2098#note_842975
https://gitlab.gnome.org/GNOME/gtk/-/commit/a3ad7fa80f764fb7bcbe
https://gitlab.gnome.org/GNOME/gedit/-/blob/master/gedit/gedit-app-osx.m#L592
2020-06-18 16:42:54 -04:00
Emmanuele Bassi
1c856a208f
Rename master and slave device
...
We already use the "logical/virtual" and "physical" names in the
documentation, there's no reason to use loaded terms just because X11
uses them.
2020-06-18 19:22:20 +01:00
Emmanuele Bassi
c7916c8e48
Use the appropriate name for Juneteenth
...
Juneteenth (a portmanteau of June and nineteenth)[2] (also known as
Freedom Day,[3] Jubilee Day,[4] and Liberation Day,[5]) is an unofficial
American holiday celebrated annually on the 19th of June in the United
States.
-- https://en.wikipedia.org/wiki/Juneteenth
2020-06-18 17:43:46 +01:00
Emmanuele Bassi
0c023bb5bb
Clarify document
...
We don't use the branch name to determine whether we should enable or
disable deprecation warnings coming from our dependencies.
2020-06-18 17:36:44 +01:00
Emmanuele Bassi
df73bf38c2
Rename internal object for the Quartz input method context
...
Like GtkIMMultiContext, the Quartz input method object uses a delegate
object internally. Let's not use loaded terms like "slave".
2020-06-18 17:33:30 +01:00
Emmanuele Bassi
7a1df3f914
Rename delegate input method context
...
The GtkIMMultiContext uses a delegate pattern to proxy an existing input
method context. Let's not use loaded terms like "slave" when we have
perfectly fungible terms like "delegate".
2020-06-18 17:32:05 +01:00
Emmanuele Bassi
3f78199cd5
Rename (unused) argument
2020-06-18 17:31:48 +01:00
Emmanuele Bassi
0a55d4c981
docs: Clean up the GtkBuilder description
...
Drop the reference to a long since removed RNC schema file and to
GtkUIManager; clean up the typography for code elements.
2020-06-18 17:21:09 +01:00
Emmanuele Bassi
7e03288724
Fix typo in a comment
2020-06-18 17:20:56 +01:00
Emmanuele Bassi
979bf5c6fb
cups: Use allow/ignore list
...
Don't use loaded terms like "whitelist" and "blacklist".
2020-06-18 16:58:43 +01:00
Emmanuele Bassi
a7f5b2e8fc
Update a comment
...
Drop the use of "blacklist" from the comment, since everything else
refers to "ignored" properties.
2020-06-18 16:57:27 +01:00
Yuri Chornoivan
94f246240d
Update Ukrainian translation
2020-06-18 15:29:05 +00:00
Matthias Clasen
bd5fcf2998
Merge branch 'typo_fix' into 'master'
...
Fix minor typos
See merge request GNOME/gtk!2108
2020-06-18 15:22:53 +00:00
Yuri Chornoivan
c0cf839729
Fix minor typos
2020-06-18 10:47:16 +03:00
Matthias Clasen
2a51d4fba8
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2107
2020-06-18 03:21:18 +00:00
Matthias Clasen
cd1078563d
gtk-demo: Fix the settings demo
...
This was not updated to the latest api of GtkEditableLabel.
2020-06-17 18:21:28 -04:00
Matthias Clasen
a9943922d5
gtk-demo: Cosmetic changes
...
Reword the titles and texts for several demos.
2020-06-17 18:12:01 -04:00
Matthias Clasen
b46bfcafd1
gtk-demo: Cosmetic changes to the tagged entry demo
2020-06-17 18:06:28 -04:00
Matthias Clasen
6141c139e6
gtk-demo: Fix the tagged entry demo
...
We were using gtk_box_append on a button. Fallout
from the container removal.
2020-06-17 17:53:40 -04:00
Matthias Clasen
0fb83d7619
gtk4-demo: Cosmetic fixes to the dialog demo
...
Make this look a bit less ancient.
2020-06-17 17:46:40 -04:00
Matthias Clasen
f64d0d8cbf
Merge branch 'matthiasc/cloudprovider-ci' into 'master'
...
Matthiasc/cloudprovider ci
See merge request GNOME/gtk!2106
2020-06-17 21:16:17 +00:00
Matthias Clasen
e5d6bb68ce
Fix another cloudprovider include
2020-06-17 16:19:55 -04:00
Matthias Clasen
74899599a6
gtk-demo: Add a missing source file
2020-06-17 16:06:37 -04:00
Emmanuele Bassi
12c38c1d57
Use the appropriate include for libcloudproviders
...
Libcloudproviders has a single header entry point, so we shouldn't
include a sub-header.
Additionally, the include path provided by the pkg-config file is:
-I${includedir}/cloudproviders
So the include directive should be:
#include <cloudproviders.h>
The fact that it worked until now was an accident caused by the blanket:
-I${includedir}
we get for free; it broke the build when using libcloudproviders as a
subproject.
2020-06-17 20:49:57 +01:00
Emmanuele Bassi
d243c6d7f9
ci: Enable libcloudproviders support
...
We ended up breaking the build when it's enabled, so we should test the
feature in our CI pipeline.
2020-06-17 14:06:20 -04:00
Emmanuele Bassi
c5481a125e
Add libcloudproviders as a fallback subproject
...
We require a new version of libcloudproviders so that we can enable it
in our CI pipeline.
2020-06-17 14:06:20 -04:00
Matthias Clasen
68d80babce
Merge branch 'fix-initial-demo-selection' into 'master'
...
gtk-demo: Select the initial demo properly
See merge request GNOME/gtk!2105
2020-06-17 17:37:12 +00:00
Emmanuele Bassi
981c71c497
Merge branch 'no-more-testdbus' into 'master'
...
Stop using GTestDBus
See merge request GNOME/gtk!2104
2020-06-17 16:54:06 +00:00
Matthias Clasen
10bcbae68c
gtk-demo: Select the initial demo properly
...
GtkSingleSelection does not give us a notification when
autoselect kicks in to select the first item. This was
barely noticeable, since the notebook ends up correctly
populated anyway, but the window title is not.
2020-06-17 12:25:28 -04:00
Matthias Clasen
1b265a7971
Stop using GTestDBus
...
It is causing tests to timeout when libraries we are using
leak bus connections, and it turns out our tests run fine
without a session bus.
2020-06-17 12:06:09 -04:00
Florentina Mușat
29c0dfb1d2
Update Romanian translation
2020-06-17 15:38:14 +00:00
Florentina Mușat
dbec5a8ce5
Update Romanian translation
2020-06-17 15:31:22 +00:00
Matthias Clasen
53eb85ba64
Merge branch 'ebassi/ci-cleanup-master' into 'master'
...
Small clean ups for the CI file
See merge request GNOME/gtk!2102
2020-06-17 15:06:44 +00:00
Emmanuele Bassi
73fdefd65c
ci: Move backend Meson flags into a variable
...
So we don't have to copy them around.
2020-06-17 13:29:14 +01:00
Emmanuele Bassi
86562a6c5a
ci: Move images into environment variables
...
Currently we have to hunt all the `image` keys when updating the image
in use for a job. We should centralise them all at the top of the file,
so they are easy to update in one simple change.
2020-06-17 13:28:07 +01:00
Daniel Mustieles
ceb63b83f2
Updated Spanish translation
2020-06-17 13:54:04 +02:00
Yuri Chornoivan
7373e73067
Update Ukrainian translation
2020-06-17 08:28:31 +00:00
Matthias Clasen
985ba832fb
Merge branch 'page-setup-combos' into 'master'
...
Page setup combos
See merge request GNOME/gtk!2100
2020-06-16 20:00:13 +00:00
Matthias Clasen
de729e936d
Merge branch 'wip/jimmac/dropdown-styling' into 'master'
...
Adwaita: dropdown styling
Closes #2846
See merge request GNOME/gtk!2101
2020-06-16 19:52:51 +00:00
Jakub Steiner
019f4b6b34
Adwaita: dropdown styling
...
- selected item color
- offset dropdown form the parent control
- special styling for the top search entry
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2846
2020-06-16 21:11:28 +02:00
Matthias Clasen
5bcb01e182
pagesetupdialog: Convert the printer combo
...
Turn the printer combo into a dropdown.
2020-06-16 14:44:30 -04:00
Matthias Clasen
25c2059abb
pagesetupdialog: Port the papersize combo
...
Turn the papersize combo into a dropdown.
2020-06-16 14:34:54 -04:00
Matthias Clasen
2a9c92f8e2
Drop unused includes
...
This is just cleanup to help tracking down
remaining GtkComboBox uses.
2020-06-16 14:34:54 -04:00
Friedrich Beckmann
d468ea3efa
quartz: added open capability to gtk_application
...
This patch implements the openFiles delegate which is required
to open files which are associated with an application via the
Finder or via open on the command line. The patch has been
proposed by jessevdk@gmail.com .
See: https://gitlab.gnome.org/GNOME/gtk/-/issues/463
I tested the patch with the GNU pspp application on MacOS with
the quartz backend.
2020-06-16 12:42:48 -04:00
Piotr Drąg
d2cfe9f69a
Update POTFILES.in
2020-06-16 18:16:43 +02:00
Emmanuele Bassi
8dbe9e975b
Merge branch 'wip/ricotz/cleanup' into 'master'
...
gdk: Drop gdk_device_get_axis_value leftovers
See merge request GNOME/gtk!2097
2020-06-16 15:05:25 +00:00
Benjamin Otte
dd6174c496
Merge branch 'cherry-pick-947c3e9f' into 'master'
...
Merge branch 'benzea/fix-css-update' into 'gtk-3-24'
See merge request GNOME/gtk!2096
2020-06-16 13:57:49 +00:00
Rico Tzschichholz
7c1cf7781b
gdk: Drop gdk_device_get_axis_value leftovers
2020-06-16 15:31:29 +02:00
Benjamin Otte
9b363a62fe
Merge branch 'benzea/fix-css-update' into 'gtk-3-24'
...
Fix CSS update loop
See merge request GNOME/gtk!2093
(cherry picked from commit 947c3e9f72 )
7a5caf1b cssnode: Don't queue_validate/deque_validate invisible nodes
2020-06-16 13:10:15 +00:00
Daniel Mustieles
2cc39fe282
Updated Spanish translation
2020-06-16 09:47:37 +02:00
Daniel Mustieles
6255bd6c08
Updated Spanish translation
2020-06-16 09:46:49 +02:00
Matthias Clasen
ab50d2090d
Merge branch 'printer-combo-conversion' into 'master'
...
Printer combo conversion
See merge request GNOME/gtk!2095
2020-06-16 05:02:44 +00:00
Matthias Clasen
c8843d0730
fontchooser: Drop unused includes
2020-06-15 23:10:40 -04:00
Matthias Clasen
687da2ca6b
text: Drop unused includes
2020-06-15 23:10:32 -04:00
Matthias Clasen
990a87fd79
printdialog: Convert some leftover code
...
There was still some code expecting to deal with tree
models. Convert it to work with list models.
2020-06-15 23:10:23 -04:00
Matthias Clasen
c4215a2bec
pagesetupdialog: Drop the Private struct
...
We don't need it here.
2020-06-15 23:10:12 -04:00
Matthias Clasen
342400d155
paperdialog: Convert the printer combo
...
Use a GtkDropDown for the printer combo.
2020-06-15 22:42:03 -04:00
Matthias Clasen
1ca308a5fd
Merge branch 'fix-notebook-tabs' into 'master'
...
Fix notebook tabs
Closes #2842 and #2841
See merge request GNOME/gtk!2092
2020-06-15 20:42:53 +00:00
Matthias Clasen
37eb0496b6
notebook: Don't capture clicks
...
Using the bubble works just fine here, and keeps buttons
in notebook tabs working without side-effects.
Fixes : #2841
2020-06-15 14:16:45 -04:00
Matthias Clasen
6a13bbbfef
Merge branch 'michaelweghorn/master_issue1820_gtkfilechoosernativeportal_get_filter' into 'master'
...
Make gtk_file_chooser_get_filter work for portal case (issue #1820 , master)
Closes #1820
See merge request GNOME/gtk!2070
2020-06-15 17:49:17 +00:00
Matthias Clasen
c175a7a470
searchentry: Fix keynav
...
Shift-Tabbing was getting stuck in GtkSearchEntry and
GtkPasswordEntry, since they grab the focus to a child
of theirs. Copy the same fix that we are already using
in GtkEntry.
Fixes : #2842
2020-06-15 13:48:03 -04:00
Matthias Clasen
937317e674
docs: Cosmetics
...
Remove a few instances of GTK+ in the docs.
2020-06-15 13:48:03 -04:00
Matthias Clasen
4248835ba1
Merge branch 'matthiasc/for-master' into 'master'
...
button: Center images
See merge request GNOME/gtk!2090
2020-06-15 17:01:25 +00:00
Matthias Clasen
180f7e4861
Merge branch 'editable-label' into 'master'
...
Editable label
See merge request GNOME/gtk!2081
2020-06-15 16:47:57 +00:00
Matthias Clasen
b526722000
button: Center images
...
If we leave the valign to be the default fill, then
the images pick up baseline alignment from the environment,
which can occasionally lead to misplaced -/+ icons in
spinbuttons, for example in the "Page Setup" tab of
the print dialog.
2020-06-15 12:24:48 -04:00
Matthias Clasen
b25bba4862
paperdialog: Port to use GtkListView
...
Use GtkListView and GtkEditableLabel here.
2020-06-15 12:08:54 -04:00
Matthias Clasen
02ce417279
gtk-demo: Use editable labels in the settings demo
...
This is more in line with the expected behavior for
editable lists.
2020-06-15 12:08:54 -04:00
Matthias Clasen
b0d2ae612f
Add a GtkEditableLabel widget
2020-06-15 12:08:54 -04:00
Matthias Clasen
23e3d48eb9
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Don't set style classes on app widgets
See merge request GNOME/gtk!2089
2020-06-15 16:01:22 +00:00
Matthias Clasen
14f26d2345
inspector: Don't set style classes on app widgets
...
Due to a mixup, the inspector was setting .dim-label on
widgets that get unmapped, instead of the labels representing
them in the object tree.
2020-06-15 11:22:32 -04:00
Matthias Clasen
7c357423a3
Merge branch 'matthiasc/for-master' into 'master'
...
dropdown: Style fixups
See merge request GNOME/gtk!2088
2020-06-15 15:05:14 +00:00
Matthias Clasen
cf2d6f6ec5
dropdown: Style fixups
...
Make the dropdown popover have a .menu style class,
and add padding to the rows in the popover. Also,
make the popover left-aligned with the button.
2020-06-15 10:25:31 -04:00
Alexander Larsson
1443ef85be
Merge branch 'final-frame-clock-work' into 'master'
...
Final frame clock work
See merge request GNOME/gtk!2087
2020-06-15 10:27:02 +00:00
Yariv Barkan
887aa2abdd
frame clock: fix scheduling
...
Fix scheduling of the frame clock when we don't receive "frame drawn"
messages from the compositor.
If we received "frame drawn" events recently, then the "smooth frame
time" would be in sync with the vsync time. When we don't receive frame
drawn events, the "smooth frame time" is simply incremented by constant
multiples of the refresh interval. In both cases we can use this smooth
time as the basis for scheduling the next clock cycle.
By only using the "smooth frame time" as a basis we also benefit from
more consistent scheduling cadence. If, for example, we got "frame
drawn" events, then didn't receive them for a few frames, we would still
be in sync when we start receiving these events again.
2020-06-15 08:54:18 +02:00
Yariv Barkan
9c5d6eaa71
frame clock: adjust reported frame time
...
When an animation is started while the application is idle, that often
happens as a result of some external event. This can be an input event,
an expired timer, data arriving over the network etc. The result is that
the first animation clock cycle could be scheduled at some random time,
as opposed to follow up cycles which are usually scheduled right after a
vsync.
Since the frame time we report to the application is correlated to the
time when the frame clock was scheduled to run, this can result in
uneven times reported in the first few animation frames. In order to fix
that, we measure the phase of the first clock cycle - i.e. the offset
between the first cycle and the preceding vsync. Once we start receiving
"frame drawn" signals, the cadence of the frame clock scheduling becomes
tied to the vsync. In order to maintain the regularity of the reported
frame times, we adjust subsequent reported frame times with the
aforementioned phase.
2020-06-15 08:54:17 +02:00
Yuri Chornoivan
c49318e973
Update Ukrainian translation
2020-06-15 06:33:54 +00:00
Matthias Clasen
131cc6497a
Merge branch 'mingw-x64-compiler-warnings' into 'master'
...
Fix various compiler warnings with the 64bit mingw build
See merge request GNOME/gtk!2020
2020-06-15 01:26:45 +00:00
Matthias Clasen
d9d591ff7a
Merge branch 'fix-spin-button-auto-sizing' into 'master'
...
spinbutton: Bring back auto-sizing
See merge request GNOME/gtk!2085
2020-06-14 22:06:16 +00:00
Christoph Reiter
f16b34f286
CI: Switch to 64bit mingw for the MSYS2 job
...
64 bit is more common now and also tests more things because
sizeof(glong) != sizeof(gpointer)
2020-06-14 20:02:46 +02:00
Christoph Reiter
85d822b2e8
Fix various compiler warnings with the 64bit mingw build
...
Use better matching format modifiers/specifiers, initialise some things
which in theory wont be written to because of getters using g_return_if_fail(),
a cast, and gsize as input for malloc because gsize!=glong on 64bit Windows.
2020-06-14 20:02:36 +02:00
Matthias Clasen
4e5689abeb
Merge branch 'tchaik/fix-lpr-build' into 'master'
...
Fix the lpr print backend build (redundant-decls)
See merge request GNOME/gtk!2084
2020-06-14 14:57:42 +00:00
Matthias Clasen
b046c8d4ad
spinbutton: Bring back auto-sizing
...
We lost this when GtkSpinButton was first ported
to the new editable regime, and then the GtkBoxLayout.
Bring it back, but without text measurement, by overriding
width-chars for the GtkText inside, and only do it if
GtkSpinButton::width-chars is unset (ie -1).
Also adjust the documentation slightly to point out
how auto-sizing can be turned off.
2020-06-14 10:55:30 -04:00
Martin Blanchard
72c72d0b37
Fix the lpr print backend build (redundant-decls)
...
Class and instance _init() functions are already declared by
G_DEFINE_DYNAMIC_TYPE ().
2020-06-14 16:14:24 +02:00
Asier Sarasua Garmendia
5e69181d8d
Update Basque translation
2020-06-13 20:19:00 +00:00
Asier Sarasua Garmendia
9c5a9fb100
Update Basque translation
2020-06-13 19:40:17 +00:00
Matthias Clasen
ceb2349823
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory: Make the print dialog more functional
See merge request GNOME/gtk!2083
2020-06-13 16:17:49 +00:00
Matthias Clasen
818b7c44be
widget-factory: Make the print dialog more functional
...
Allow opening the papersize dialog.
2020-06-13 08:59:21 -04:00
Yuri Chornoivan
044026d330
Update Ukrainian translation
2020-06-13 11:45:35 +00:00
Piotr Drąg
66882f3825
Update POTFILES.in and POTFILES.skip
2020-06-13 12:48:27 +02:00
Matthias Clasen
1d0235780c
Merge branch 'matthiasc/for-master' into 'master'
...
paperdialog: Drop the private struct
See merge request GNOME/gtk!2082
2020-06-12 21:53:48 +00:00
Matthias Clasen
770d6cb2bd
paperdialog: Drop the private struct
...
Not needed here.
2020-06-12 12:54:21 -04:00
Matthias Clasen
106e1080ae
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2080
2020-06-12 16:39:46 +00:00
Matthias Clasen
07ecb3cb78
Merge branch 'fix-custom-paper-dialog' into 'master'
...
Fix the custom paper dialog
See merge request GNOME/gtk!2078
2020-06-12 14:01:17 +00:00
Matthias Clasen
74ac435ae6
printdialog: Replace the papersize combo with a dropdown
...
This one is more complicated, since it involves
separators and a custom item.
2020-06-12 09:22:36 -04:00
Matthias Clasen
c80ba49a60
Adwaita: Allow separators on individual list items
...
Allow setting a .separator style class on list items
to put a separator before the item.
2020-06-12 09:22:36 -04:00
Emmanuel Gil Peyrot
404d79153e
Switch to GL_ARB_framebuffer_object
...
GTK 4.0 was currently using GL_EXT_framebuffer_object, which is
deprecated as the ARB version has been merged into OpenGL 3.0 as well as
OpenGL ES 2.0, and provides laxer requirements.
This is a port of !2076 for 4.x.
2020-06-12 15:08:44 +02:00
Matthias Clasen
ed9941ec2c
printdialog: Replace some combo boxes with drop downs
...
These are just the simple cases.
2020-06-12 08:49:01 -04:00
Matthias Clasen
c3b43f2ad2
printeroptionwidget: Port to GtkDropDown
...
Use GtkDropDown instead of GtkComboBox in the print dialog.
2020-06-12 08:49:01 -04:00
Matthias Clasen
86718439be
testdropdown: Add some more tests
...
Add a homegrown combobox entry replacement that
combines a dropdown with a plain entry.
2020-06-12 08:49:01 -04:00
Matthias Clasen
933e373b07
dropdown: Make the stack nonhomogeneous
...
Without this, the (None) in the empty page forces
the button to have a large minimum width, even when
we don't put a widget in it.
2020-06-12 08:49:01 -04:00
Matthias Clasen
e6dcd55480
Fix the custom paper dialog
...
This broke during the container removal.
2020-06-12 08:46:18 -04:00
Yuri Chornoivan
0d901ef174
Update Ukrainian translation
2020-06-12 06:40:07 +00:00
Matthias Clasen
716e0db690
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2077
2020-06-11 23:44:48 +00:00
Matthias Clasen
90b78132d4
dropdown: Make the popup as wide as the button
...
Having narrow popups on a wide button looks awkward.
Do the same as the combo box, and ensure the popup
is at least as wide as the button.
2020-06-11 18:29:58 -04:00
Matthias Clasen
c2285d923d
iconbrowser: Drop app menu leftovers
...
We don't use menus.ui anymore, so don't put it in a resource.
2020-06-11 18:16:36 -04:00
Matthias Clasen
4a79ac4473
Adwaita: bring dropdown arrows back
...
These got lost when the css name changed from combobox
to dropdown.
2020-06-11 18:09:12 -04:00
Matthias Clasen
2a3e5422ad
docs: Cosmetics
...
Remove a few instances of GTK+ from the docs, and
remove references to ancient versions.
2020-06-11 17:25:57 -04:00
Matthias Clasen
e0c39dbf7e
Merge branch 'recent-model' into 'master'
...
Add a list model for recent files
See merge request GNOME/gtk!2073
2020-06-11 20:58:52 +00:00
Matthias Clasen
8c670b3b5d
testcolumnview: Add recent file support
...
Use testcolumnview --recent to see recent files.
2020-06-11 16:14:47 -04:00
Matthias Clasen
5dddec4dd9
Add GtkBookmarkList
...
This is a listmodel similar to GtkDirectoryList,
for tracking recent files.
2020-06-11 16:14:47 -04:00
Matthias Clasen
93017bb8db
Merge branch 'property-selection-getters' into 'master'
...
propertyselection: Add getters
See merge request GNOME/gtk!2075
2020-06-11 13:08:47 +00:00
Matthias Clasen
059c45a85b
propertyselection: Add getters
...
These were missing.
2020-06-11 07:35:20 -04:00
Matthias Clasen
63692a491d
Merge branch 'michaelweghorn/master_issue1820_gtkfilechoosernative_get_filter' into 'master'
...
filechoosernative: Make get_filter work for (non-portal) native chooser (master, issue #1820 )
Closes #1820
See merge request GNOME/gtk!2069
2020-06-10 14:47:36 +00:00
Emmanuele Bassi
bbe79c1ef9
Merge branch 'wip/carlosg/zoom-no-touchpad-warnings' into 'master'
...
gtkgesturezoom: Do not check touchpad phase on generic events
Closes #2825
See merge request GNOME/gtk!2071
2020-06-10 14:35:10 +00:00
Matthias Clasen
4b241f8da2
Merge branch 'scroll-compression' into 'master'
...
gdk: Compress scroll events
Closes #2800
See merge request GNOME/gtk!2066
2020-06-10 14:35:01 +00:00
Matthias Clasen
bdd6ae3252
Merge branch 'device-cleanup' into 'master'
...
Device cleanup
See merge request GNOME/gtk!2068
2020-06-10 13:06:13 +00:00
sicklylife
24a3ff3aef
Update Japanese translation
2020-06-10 12:34:42 +00:00
Carlos Garnacho
ba988cd899
gtkgesturezoom: Do not check touchpad phase on generic events
...
This gesture handles both individual touch events and touchpad gesture
events, and was checking the touchpad phase in generic code paths. This
is dubious since event methods error out on the wrong GdkEventTypes.
Check the touchpad gesture phase within the branch handling touchpad
events, and make it clear which is the gesture phase of all that we are
ignoring.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2825
2020-06-10 14:30:58 +02:00
sicklylife
1bf1646d25
Update Japanese translation
2020-06-10 12:18:55 +00:00
Matthias Clasen
2c82151d65
gdk: Drop axis labels
...
This was only ever implemented on X11, and the labels
here were atom names, so unlikely to be useful for
anything interesting.
2020-06-10 07:36:30 -04:00
Alexander Larsson
d2235b71f3
Merge branch 'win32-use-g-stat' into 'master'
...
gtkiconcache: Use g_stat instead of fstat
See merge request GNOME/gtk!2019
2020-06-10 07:19:22 +00:00
Michael Weghorn
ecc6c255ef
Make gtk_file_chooser_get_filter work for portal case
...
This makes 'gtk_file_chooser_get_filter' work for the
portal native file chooser by handling the corresponding
'current_filter' argument in the response retrieved via
D-Bus.
In order to try to map the retrieved 'current_filter' to one
of the existing list of filters, use the retrieved filter's name,
similar to how xdg-desktop-portal-gtk does it when evaluating the
'current_filter' input parameter in 'options'.)
Note: This depends on the following merge/pull requests
which fix the filter handling in gtk for native file choosers
and introduce the 'current_filter' handling for FileChooser portal.
* https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1959
* https://github.com/flatpak/xdg-desktop-portal/pull/493
* https://github.com/flatpak/xdg-desktop-portal-gtk/pull/311
This fixes #1820 for desktop portal case.
Fixes : #1820
2020-06-09 22:59:54 +02:00
Michael Weghorn
57135acd2d
filechoosernative: Make get_filter work for (non-portal) native chooser
...
'gtk_file_chooser_get_filter' did not work for GtkFileChooserNative,
since the previous way did not properly handle the delegate dialog,
s.a. commit a136cbae8f
("filechoosernative: forward current_filter to delegate dialog",
2018-11-29) for details, wich basiscally fixed the same thing for
the 'gtk_file_chooser_set_filter' case.
This fixes #1820 for the fallback dialog. A solution for the portal
one (which also requires changes to xdg-desktop-portal and
xdg-desktop-portal-gtk as well) will be suggested in a subsequent step.
Bug: #1820
2020-06-09 22:59:34 +02:00
Matthias Clasen
54c098761f
gdk: Drop gdk_device_set_axis_use
...
If you need some axes changed, you can just flip
the values when you receive them.
2020-06-09 15:27:34 -04:00
Matthias Clasen
2f98400b80
gdk: Drop gdk_device_get/set_keys
...
This functionality was only ever half-implemented
on X11, and is not useful enough to keep around.
2020-06-09 15:27:33 -04:00
Matthias Clasen
ea7c9b93ea
x11: Stop setting device keys
...
This is very vestigial functionality, and basically
unused.
2020-06-09 15:05:55 -04:00
Matthias Clasen
4317c008f0
Address review comments
...
We were casting scroll events to motion events
rather carelessly. Don't do that.
2020-06-09 14:13:22 -04:00
Matthias Clasen
d605d9ae73
gdk: Add documentation
...
Add some useful information about event history.
2020-06-09 13:59:26 -04:00
Matthias Clasen
c9fad25131
gdk: Rename gdk_motion_event_get_history
...
Scroll events can have history too, so make a
getter that works for both. This drops the
gdk_scroll_event_get_history getter that was
added a few commits earlier, since we now
store scroll history in the same way as
motion history.
Update the docs, and all callers.
2020-06-09 13:43:12 -04:00
Matthias Clasen
693200f1eb
gdk: Shrink GdkTimeCoord
...
There is really no need to store 128 doubles as axes,
ever. We can do just fine with 10. At the same time,
add a GdkAxisFlags member, so we can interpret the
values without having to go chasing the right device
for this information.
2020-06-09 13:43:03 -04:00
Matthias Clasen
5f087a9dff
gdk: Add scroll delta x/y as device axes
...
They really are axes, and having them present
in these enums lets use store delta values in
GdkTimeCoord for keeping history.
2020-06-09 13:43:03 -04:00
Matthias Clasen
b9cde6f8ea
Keep scroll history
...
Similar to how we keep motion history for compressed
events, keep scroll history for compressed scroll
events.
2020-06-09 13:43:03 -04:00
Matthias Clasen
86eece78b1
gdk: Compress scroll events
...
Only return one accumulated scroll event per frame.
Compress them by adding up the deltas.
Still missing: a way to capture history, like
we do for motion events.
Fixes : #2800
2020-06-09 13:43:03 -04:00
Daniel Mustieles
8cb50ac6e9
Updated Spanish translation
2020-06-09 17:19:50 +02:00
Matthias Clasen
997fbbde8f
Merge branch 'drop-device-history' into 'master'
...
Drop device history
See merge request GNOME/gtk!2065
2020-06-08 23:56:30 +00:00
Matthias Clasen
805ddc3c3a
gdk: Drop gdk_device_get_history
...
This function is not implemented anywhere.
2020-06-08 18:24:20 -04:00
Matthias Clasen
da9b3a9256
win32: Drop pointless vfuncs
...
These are not useful.
2020-06-08 18:24:20 -04:00
Matthias Clasen
876560924f
wayland: Drop a pointless vfunc
...
A vfunc that just returns FALSE is not useful.
2020-06-08 18:24:20 -04:00
Matthias Clasen
ca1c89c5bd
broadway: Drop a pointless vfunc
...
A vfunc that just returns FALSE is not useful.
2020-06-08 18:24:20 -04:00
Jordi Mas
7875e28d9f
Update Catalan translation
2020-06-08 22:50:03 +02:00
Benjamin Otte
bd2f2a6f65
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2064
2020-06-08 18:43:31 +00:00
Benjamin Otte
541aaa2392
selectionmodel: Add unselect_rest argument to select_callback
...
This is not just about consistency with other functions.
It is about avoiding reentrancy problems.
GtkListBase first doing an unselect_all() will then force the
SelectionModel to consider a state where all items are unselected
(and potentially deciding to autoselect one) and then cause a
"selection-changed" emission that unselects all items and potentially
updates all the list item widgets in the GtkListBase to the unselected
state.
After this, GtkListBase selects new items, but to the SelectionModel and
the list item widgets this looks like an enitrely new operation and
there is no way to associate it with the previous state, so the
SelectionModel cannot undo any previous actions it took when
unselecting.
And all listitem widgets will now think they were just selected and
start running animations about selecting.
2020-06-08 19:06:56 +02:00
Benjamin Otte
d294b01cee
selectionmodel: Rename "exclusive" to "unselect_rest"
...
The name is better at explaining what this boolean is meant to do.
2020-06-08 18:26:48 +02:00
Benjamin Otte
5d9dc25115
listitemmanager: Update selections properly
...
Replace a previous fix with a more correct one: Update the
selected state from the model instead of reusing the old state, the
model might have updated the selected state.
2020-06-08 18:14:24 +02:00
Daniel Mustieles
c8988ec784
Updated Spanish translation
2020-06-08 17:21:58 +02:00
Daniel Mustieles
071dbc1115
Updated Spanish translation
2020-06-08 16:11:28 +02:00
Matthias Clasen
80c5e4a156
Merge branch 'matthiasc/for-master' into 'master'
...
dropdown: Use our own CSS name
See merge request GNOME/gtk!2061
2020-06-08 11:15:28 +00:00
Emmanuele Bassi
6eac3063fa
Merge branch 'tintou/places-sidebar-cloudproviders' into 'master'
...
placessidebar: Fix build with libcloudproviders
See merge request GNOME/gtk!2062
2020-06-08 09:35:23 +00:00
Corentin Noël
27925fcb0e
placessidebar: Fix build with libcloudproviders
...
Make it build with cloudproviders=true as the GtkPopover API for menus is now in GtkPopoverMenu.
Fix some leaks while looking at the code.
2020-06-08 10:40:46 +02:00
Matthias Clasen
5f4d21422a
Merge branch 'fix-cell-editing' into 'master'
...
Fix cell editing
Closes #2831
See merge request GNOME/gtk!2060
2020-06-07 14:54:37 +00:00
Matthias Clasen
b0bb413faa
dropdown: Use our own CSS name
...
Use the name dropdown for the css node, and document it.
2020-06-07 09:01:20 -04:00
Matthias Clasen
37633985bd
Drop gtknativeprivate.h
...
No need to ship empty headers.
2020-06-07 08:52:45 -04:00
Matthias Clasen
6ff8f1b2fd
Merge branch 'gtk-demo-tweaks' into 'master'
...
Gtk demo tweaks
See merge request GNOME/gtk!2059
2020-06-07 12:51:34 +00:00
Matthias Clasen
d13a3c7540
Fix cell editing
...
When translating coordinates from an event, we need to
take the surface transform into account. This makes
double-clicking on editable cells in treeviews work
again.
Fixes : #2831
2020-06-07 08:46:31 -04:00
Yuri Chornoivan
0a469d7bd6
Update Ukrainian translation
2020-06-07 08:51:44 +00:00
Piotr Drąg
115edc5fd1
Update POTFILES.in
2020-06-07 09:27:34 +02:00
Matthias Clasen
a28c75f215
gtk-demo: Expand the sidebar by default
...
Seems better to show what we have. Plus, clicking
those arrows is a little fiddly.
2020-06-06 22:12:12 -04:00
Matthias Clasen
b9d7dab329
gtk-demo: Improve display of image sources
...
Make the images expand to fill the space.
2020-06-06 22:12:12 -04:00
Matthias Clasen
bb7500e984
gtk-demo: Cosmetics
...
Tweak the formatting of the descriptions of
various demos.
2020-06-06 22:05:52 -04:00
Matthias Clasen
e94268944b
gtk-demo: Cosmetics
...
Make the titles of some demos match between sidebar
and window.
2020-06-06 21:42:42 -04:00
Emmanuele Bassi
3225b487e8
Merge branch 'ebassi/for-master' into 'master'
...
Annotate the GtkSelectionModel callbacks
See merge request GNOME/gtk!2057
2020-06-07 01:42:21 +00:00
Matthias Clasen
e35c0e043e
gtk-demo: Add overline to the markup demo
...
This is a new-ish Pango feature.
2020-06-06 21:38:31 -04:00
Matthias Clasen
b251893030
Drop pango version checks
...
We are requiring pango 1.45.0 now, so no need to
Keep these ifdefs in the code any longer.
2020-06-06 21:32:55 -04:00
Matthias Clasen
15257e3922
gtk-demo: Fix a leak
...
The themes demo was leaking its builder, and
therefore couldn't be closed.
2020-06-06 20:09:42 -04:00
Matthias Clasen
180a5a1ad7
gtk-demo: Cosmetic changes to the dropdown demo
...
Match the window title and the sidebar.
2020-06-06 20:08:50 -04:00
Matthias Clasen
11f971d870
gtk-demo: Cosmetic improvements to clocks demo
...
Reformat the code comments, and add a 10th clock.
2020-06-06 19:43:21 -04:00
Emmanuele Bassi
7c382c6b47
Annotate the GtkSelectionModel callbacks
...
We need a scope for the select and unselect callback arguments.
2020-06-07 00:39:33 +01:00
Jordi Mas
087f42d998
Update Catalan translation
2020-06-06 23:13:17 +02:00
Matthias Clasen
2abb5b6419
3.98.5
2020-06-06 16:03:38 -04:00
Matthias Clasen
f2259adcdc
Disable a failing test
...
For some reason, empty-linear-gradient is failing here,
with the broadway and opengl renderers, and I don't
know why. Disable it for now.
2020-06-06 15:32:26 -04:00
Matthias Clasen
a73457237d
Skip broken a11y tests
2020-06-06 14:18:44 -04:00
Matthias Clasen
9f335d3ee6
docs: Regroup the tree support parts
...
Give the chapter a title, and put some things in sections.
2020-06-06 13:54:58 -04:00
Matthias Clasen
856c8950ff
docs: Put selection models into a section
...
This makes the documentation structure a bit clearer.
2020-06-06 13:54:58 -04:00
Matthias Clasen
61ccf4e719
docs: Fix up the GtkNativeDialog section
...
Without GtkNativeDialog in the section list,
links are not generated from the object hierarchy.
2020-06-06 13:54:58 -04:00
Matthias Clasen
1567db1f02
Merge branch 'misc-multiselection' into 'master'
...
Misc multiselection
See merge request GNOME/gtk!2055
2020-06-06 17:54:42 +00:00
Matthias Clasen
8316d5e366
Merge branch 'list-arrows' into 'master'
...
listbase: Make up/down arrows work
See merge request GNOME/gtk!2056
2020-06-06 17:47:05 +00:00
Matthias Clasen
8fca040163
Merge branch 'property-selection' into 'master'
...
Property selection
Closes #2826
See merge request GNOME/gtk!2054
2020-06-06 17:35:05 +00:00
Matthias Clasen
c0fe1a7ffe
listbase: Make up/down arrows work
...
We were missing a binding for up/down without modifiers.
2020-06-06 12:33:12 -04:00
Matthias Clasen
e72c243aca
singleselection: Clarify docs
...
Mention persistence and sorting.
2020-06-06 11:53:33 -04:00
Matthias Clasen
14605d4b92
gtk-demo: Use a property selection in the colors demo
...
This makes the property persist across sort changes.
2020-06-06 11:41:51 -04:00
Matthias Clasen
d1509971d8
Add GtkPropertySelection
...
This is a selection model that stores the selection
state in a boolean property of the items, and thus
persists across reordering and similar changes.
Fixes : #2826
2020-06-06 11:41:51 -04:00
Matthias Clasen
951c9c5d73
Merge branch 'listitemmanager-selection' into 'master'
...
listitemmanager: Handle selection-changes properly
Closes #2827
See merge request GNOME/gtk!2053
2020-06-06 15:23:40 +00:00
Matthias Clasen
3e6e247e56
multiselection: Rewrite the select_callback implementation
...
Use a for loop to make this more obvious, and add some
assertions that the callback is behaving properly.
2020-06-06 11:22:48 -04:00
Matthias Clasen
27ce68b74a
Add tests for select_callback
2020-06-06 11:22:48 -04:00
Matthias Clasen
b0cf7a95b0
Add a forgotten export
...
gtk_selection_model_unselect_callback needs to be exported.
2020-06-06 11:22:48 -04:00
Matthias Clasen
fd7f19c934
selectionmodel: Document the callback apis
2020-06-06 10:36:57 -04:00
Matthias Clasen
8090e213de
Add a test for multiselection persistence
...
Add a test that verifies that newly added items
are always unselected.
2020-06-06 10:24:14 -04:00
Matthias Clasen
de6327a885
multiselection: Clarify docs
...
Make it clear that GtkMultiSelection is not persistent
across resorting.
2020-06-06 10:24:14 -04:00
Yuri Chornoivan
8699c0f340
Update Ukrainian translation
2020-06-06 13:46:40 +00:00
Yuri Chornoivan
bda5454549
Update Ukrainian translation
2020-06-06 13:44:29 +00:00
Matthias Clasen
c3a6e35070
Drop an unnecessary include
2020-06-06 09:39:36 -04:00
Matthias Clasen
71c29bfcff
listitemmanager: Handle selection-changes properly
...
The selection model will only emit one of items-changed
or selection-changed, so when we handle an items-changed,
we must assume that selection state may have changed for
any of the newly added items.
This fixes lingering selection state in the visible range
if you change the sorting of the colors demo.
Fixes : #2827
2020-06-06 08:36:11 -04:00
Piotr Drąg
647ed59d11
Update POTFILES.in and POTFILES.skip
2020-06-06 14:00:43 +02:00
Matthias Clasen
a0c489048a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2052
2020-06-06 05:30:30 +00:00
Benjamin Otte
0f9def660d
Merge branch 'wip/otte/for-master' into 'master'
...
multiselection: Remove unused code
See merge request GNOME/gtk!2051
2020-06-06 05:16:47 +00:00
Matthias Clasen
9fa65eadae
listitemwidget: Don't look at rubberbanding
...
Move the selection changes to button release, to
avoid conflict with the drag gesture for rubberbanding.
This avoids peeking at the parent, and is generally
nicer.
Among other things, you can now shift-click to select
a range in the colors demo in gtk4-demo.
2020-06-06 00:23:04 -04:00
Matthias Clasen
facfff0022
listbase: Fix an off-by-one error
...
We were accidentally cutting off the set one-too-early,
which showed up as single clicks not selecting an item
anymore.
2020-06-06 00:15:50 -04:00
Matthias Clasen
f8b4083f47
listbase: Fix a problem with rubberbands
...
When I changed things to only collect the set
in the stop() function, I overlooked that this
has the side-effect of only handling items which
are backed by a widget at the time stop() is called.
If we make a big rubberband and autoscroll down too
far, we loose the items that go out the visible range
at the top. Fix that by maintaining the set as we go.
2020-06-05 23:18:00 -04:00
Matthias Clasen
b047b7838d
multiselection: Don't emit nonsensical signals
...
I forgot to add a check here. We only want to emit
a ::selection-changed if we actually changed it.
2020-06-05 23:15:20 -04:00
Benjamin Otte
b1c00ecee6
multiselection: Remove unused code
...
This is leftover code from an earlier SelectionModel API.
2020-06-06 05:02:37 +02:00
Matthias Clasen
93abd8da59
NEWS: Updates
2020-06-05 22:50:30 -04:00
Matthias Clasen
3412f0554f
gtk: Documentation fixups
...
Document missing symbols, and other cleanups.
2020-06-05 22:50:30 -04:00
Matthias Clasen
61c83f9ffe
gdk: Documentation fixups
...
Document some missing symbols.
2020-06-05 20:59:51 -04:00
Matthias Clasen
3d7c1f8950
gsk: Documentation fixups
...
Document a few missing symbols.
2020-06-05 20:19:45 -04:00
Matthias Clasen
b0e81acc12
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2050
2020-06-05 23:55:12 +00:00
Matthias Clasen
a682d97663
Merge branch 'wip/ebassi/a11y-2' into 'master'
...
Accessibility cleanup
See merge request GNOME/gtk!2049
2020-06-05 23:04:21 +00:00
Matthias Clasen
0e5137ae61
NEWS: Updates
2020-06-05 18:40:53 -04:00
Matthias Clasen
005a3da18f
gtk-demo: Another way to trigger theme benchmark
...
The click on the headerbar seems broken atm, so add
an explicit button to trigger the cycling among the
themes.
2020-06-05 18:40:24 -04:00
Matthias Clasen
be6bcf882d
spinbuttonaccessible: Fix an oversight
...
We need to pass the accessible to the signal handler.
2020-06-05 17:21:26 -04:00
Matthias Clasen
fb344e8108
Trivial typo fix
2020-06-05 17:08:43 -04:00
Emmanuele Bassi
b99389bcb8
a11y: Drop GtkWidgetAccessibleClass.notify_gtk
...
It's finally unused.
Accessible types should either watch properties they are interested in
directly, or should have (private) API to allow widgets to update the
accessible state directly.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
0fefdc99b2
a11y: Simplify GtkEntryAccessible
...
Now that we don't have any additional subclasses of GtkEntryAccessible
in GTK, we can drop all the conditional fluff in the base class.
We still need to subscribe to the global notify signal, because of the
sheer amount of properties watched by GtkEntryAccessible.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
e63419fbf4
a11y: Implement GtkPasswordEntryAccessible properly
...
GtkPasswordEntryAccessible is not a GtkEntryAccessible any more, so it
will need a proper implementation of various interfaces and
functionality in order to work like any other entry.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
428bb09a35
a11y: Make GtkSearchEntryAccessible a full GtkWidgetAccessible
...
We should not inherit from GtkEntryAccessible, given that GtkSearchEntry
is *not* a GtkEntry.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
7c2c795681
a11y: Simplify GtkScrollbarAccessible
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
165f352c58
a11y: Simplify GtkScaleButtonAccessible
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
3d6e702f63
a11y: Simplify GtkSpinButtonAccessible
...
We're already listening to the adjustment property on the spin button,
there's no need to reset the adjustment on widget set/unset, since the
accessible instance is always tied to the same widget.
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
597e9a96b4
a11y: Simplify GtkTextAccessible
2020-06-05 20:35:11 +01:00
Emmanuele Bassi
6f4ed6c105
a11y: Simplify GtkTextViewAccessible
...
Drop the GtkWidgetAccessible.notify_gtk override.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
c3eafed472
a11y: Simplify GtkColorSwatchAccessible
...
Drop the GtkWidgetAccessible.notify_gtk override.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
7480fb703e
a11y: Simplify GtkNotebookAccessible
...
Let the GtkNotebook explicitly update the accessible object that the
current page has changed, instead of overriding
GtkWidgetAccessible.notify_gtk.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
24e8b484e0
a11y: Simplify GtkWindowAccessible
...
Have GtkWindow notify of title changes, instead of overriding
GtkWidgetAccessible.notify_gtk.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
d60f7f2e7a
a11y: Simplify GtkExpanderAccessible
...
Drop the GtkWidgetAccessible.notify_gtk and AtkObject.initialize
overrides, and have GtkExpander update the state of the accessible
object directly.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
0dcffe7c33
a11y: Simplify GtkLevelBarAccessible
...
Drop the GtkWidgetAccessible.notify_gtk and AtkObject.initialize
overrides, and have GtkLevelBar notify the accessible object of value
changes.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
9f09cfcfbd
a11y: Split GtkSearchEntryAccessible from GtkEntryAccessible
...
Use a separate accessible object for the GtkSearchEntry, just like we
did for GtkPasswordEntry.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
7373cd962c
a11y: Split password entry accessible from GtkEntryAccessible
...
Use a separate accessible object.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
ac3f0df083
a11y: Simplify GtkProgressBarAccessible
...
Drop the GtkWidgetAccessibleClass.notify_gtk and the
AtkObjectClass.initialize overrides: they don't do anything relevant.
Instead, have GtkProgressBar update the accessible state when the
fraction changes.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
f95d54a13d
a11y: Use G_DECLARE macro for GtkWidgetAccessible
...
Allows us to drop the Private structure typedef.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
fc512f0b9f
a11y: Update the accessible state when GtkIconView:model changes
...
Do not use a generic "notify" signal handler.
Additionally, clean up the GtkIconViewAccessible implementation to bring
it up with modern idiomatic GObject.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
f5ed59b7f2
a11y: Drop notify_gtk() from GtkRangeAccessible
...
Let the GtkRange notify the accessible instance when the adjustment
changes.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
9d51aa1443
a11y: Drop notify_gtk() from GtkButtonAccessible
...
Make GtkButton notify the accessible state directly when updating the
label.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
f0bdc865b9
a11y: Remove GtkToggleButtonAccessible notify_gtk implementation
...
The base GtkWidgetAccessible class does the right thing by default.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
eda1703f9d
a11y: Update accessible state for GtkTreeView directly
...
Do not use GtkWidgetAccessibleClass.notify_gtk().
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
51fc382582
Notify accessibility state changes from GtkWidget
...
Piggybacking on blanket GObject::notify is not very efficient.
2020-06-05 20:35:10 +01:00
Emmanuele Bassi
6e52ef96a4
Move orientable style classes into GtkWidget
...
It feels slightly wrong to have GtkOrientable operate on widgets, but at
least what happens when an orientable widget changes orientation should
be part of GtkWidget.
This will allow to add more state changes without accessing widget state
from the outside of gtkwidget.c.
2020-06-05 20:35:09 +01:00
Emmanuele Bassi
9606c1eee9
Notify mapped state to the accessible object directly
...
Do not use signal connections: if we have an accessible object, notify
it directly when getting mapped and unmapped.
2020-06-05 20:32:27 +01:00
Emmanuele Bassi
959c101400
Drop unused AtkRegistry path
...
We expect widgets to use their own derived GtkWidgetAccessible type,
these days, and given that we hard code the default accessible type of a
GtkWidget to GtkWidgetAccessible, and that we enforce the dependency of
the type passed to gtk_widget_class_set_accessible_type(), the registry
code path is clearly unused.
2020-06-05 20:32:27 +01:00
Emmanuele Bassi
6b096e5c5b
Make tooltip properties idiomatic
...
The tooltip handling in GtkWidget is "special":
- the string is stored inside the qdata instead of the private
instance data
- the accessors call g_object_set() and g_object_get(), and the
logic is all inside the property implementation, instead of
being the other way around
- the getters return a copy of the string
- the setters don't really notify all the involved properties
The GtkWidgetAccessible uses the (escaped) tooltip text as a source for
the accessible object description, which means it has to store the
tooltip inside the object qdata, and update its copy at construction and
property notification time.
We can simplify this whole circus by making the tooltip properties (text
and markup) more idiomatic:
- notify all side-effect properties
- return a constant string from the getter
- if tooltip-text is set:
- store the text as is
- escape the markup and store it separately for the markup getter
- if tooltip-markup is set:
- store the markup as is
- parse the markup and store it separately for the text getter
The part of the testtooltips interactive test that checks that the
getters are doing the right thing is now part of the gtk testsuite, so
we ensure we don't regress in behaviour.
2020-06-05 20:32:26 +01:00
Emmanuele Bassi
9ac1eacdc8
Use modern GObject macros for GtkAccessible
2020-06-05 20:32:26 +01:00
Matthias Clasen
8e7395a7e3
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!2048
2020-06-05 19:25:46 +00:00
Matthias Clasen
80fbc1b72d
multiselection: Fix the select_range implementation
...
When exclusive is TRUE, we would not always emit a
::selection-changed signal that covers all the items
that were unselected.
This commit includes a test.
2020-06-05 14:57:59 -04:00
Matthias Clasen
17ea03eee2
set: Fix gtk_set_get_max
...
This function had an off-by-one error. Thankfully,
our selection tests are thorough enough to catch it.
2020-06-05 14:57:32 -04:00
Matthias Clasen
985b5a052e
dropdown: Connect a forgotten signal handler
...
The code was exporting a search_stop function, but
the ui file didn't connect it to the ::stop-search
signal. Fix that.
2020-06-05 14:34:38 -04:00
Matthias Clasen
ed1872f0a8
Merge branch 'frame-clock-start-time' into 'master'
...
Tweaks to frame clock for better ties to vsync
See merge request GNOME/gtk!2043
2020-06-05 18:33:48 +00:00
Matthias Clasen
34841c3a5f
Merge branch 'master.msvc' into 'master'
...
Fix latest GTK master on Visual Studio
See merge request GNOME/gtk!2028
2020-06-05 18:31:08 +00:00
Matthias Clasen
185f0181ac
Merge branch 'columnview-reorder-cells' into 'master'
...
Columnview reorder cells
See merge request GNOME/gtk!2047
2020-06-05 18:29:26 +00:00
Matthias Clasen
60d6a0f2d5
Merge branch 'rubberband-again' into 'master'
...
Rubberband again
See merge request GNOME/gtk!2041
2020-06-05 17:59:15 +00:00
Matthias Clasen
99a1d10bf1
multiselection: Fix the select_range implementation
...
When exclusive is TRUE, we would not always emit a
::selection-changed signal that covers all the items
that were unselected.
This commit includes a test.
2020-06-05 13:50:30 -04:00
Matthias Clasen
2f1028ed79
set: Add a few useful functions
...
Allow to find out if a set is empty, and its
min and max.
2020-06-05 13:49:23 -04:00
Matthias Clasen
f631e0e1e0
columnview: Update column positions on reordering
...
Tell reordered columns to reorder their cells to
the new position. This is necessary to get things
like separators right. The visible symptom of this
problem was the lack of the right border when the
last column is reorder to another position, since
the title widget was still the last in its container,
so :last-child applied.
2020-06-05 13:28:44 -04:00
Matthias Clasen
6df489d5a9
columnviewcolumn: Add private api to set the position
...
This is needed to make columns reorder their cells when
their position in the column views list of columns
changes.
2020-06-05 13:28:44 -04:00
Matthias Clasen
15c6ad88c0
listitemwidget: Add api to reorder children
...
We need this to keep the rows in sync with the columns
when they are reordered.
2020-06-05 13:28:44 -04:00
Matthias Clasen
40f6a9d830
columnviewlayout: Handle for_size propertly
...
When we are given a for_size as width for the whole
column view, we need to distribute it over the columns
as gtk_column_view_allocate_columns would, in order
to find out which for_size to give to each cell.
This is a bit recursive, but works. Since we are
doing this recursion for every row, we should consider
adding a cache for those distributed widths.
2020-06-05 13:27:50 -04:00
Ray Strode
bd06c00f3a
Merge branch 'wip/damaged-but-no-frost-bite' into 'master'
...
x11: defer _NET_WM_FRAME_DRAWN update until frame usable by compositor
See merge request GNOME/gtk!1982
2020-06-05 15:58:37 +00:00
Matthias Clasen
f6d23f0c29
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Bring back the applauncher demo
See merge request GNOME/gtk!2040
2020-06-05 15:38:03 +00:00
Emmanuele Bassi
2a24459b92
Merge branch 'ebassi/for-master' into 'master'
...
Add missing annotation
See merge request GNOME/gtk!2046
2020-06-05 15:29:41 +00:00
Matthias Clasen
f6da324670
columnview: Split gtk_column_view_allocate_columns
...
Split off a helper function that just distributes
the widths, without actually allocating the columns.
This will be used in measuring in the future.
2020-06-05 11:27:40 -04:00
Matthias Clasen
11a18bd61a
columnview: Take column width into account for measuring
...
When measuring the height of a cell, we need to give
it it the width of its column, if we expect realistic
results.
2020-06-05 10:42:20 -04:00
Ray Strode
972134abe4
x11: Defer _NET_WM_FRAME_DRAWN update until frame usable by compositor
...
With the vendor provided Nvidia driver there is a small window of time
after drawing to a GL surface before the updates to that surface
can be used by the compositor.
Drawing is already coordinated with the compositor through the frame
synchronization protocol detailed here:
https://fishsoup.net/misc/wm-spec-synchronization.html
Unfortunately, at the moment, GdkX11Surface tells the compositor the
frame is ready immediately after drawing to the surface, not later,
when it's consumable by the compositor.
This commit defers announcing the frame as ready until it's consumable
by the compositor. It does this by listening for the X server to announce
damage events associated with the frame drawing. It tries to find the
right damage event by waiting until fence placed at buffer swap time
signals.
2020-06-05 10:01:13 -04:00
Ray Strode
f8770b78ea
x11: Factor out some of frame sync code into subroutines
...
This commit moves some of the end frame sync counter handling
code to subroutines.
It's a minor readability win, but the main motivation is to
make it easier in a subsequent commit to defer updating the
sync counter until a more appropriate time.
2020-06-05 10:01:13 -04:00
Ray Strode
10f2b11fda
x11: Add back support for the damage extension
...
commit 14bf58ec5d dropped support
for using the DAMAGE extension since there was no code that
needed it.
We're going to need it again, however, to address an NVidia
vendor driver issue.
This commit does the plumbing to add it back.
2020-06-05 10:01:13 -04:00
Timm Bäder
ea1cc4b991
filechooserwidget: Avoid an uninitialised value
...
For NULL filters, we were never calling g_list_store_find, so leaving
filter_index undefined.
2020-06-05 15:38:55 +02:00
Timm Bäder
8bee3e2fe0
demos: Avoid shadowing a global from time.h
...
Sad but true.
2020-06-05 15:38:55 +02:00
Timm Bäder
1f7adfd9ff
filterlistmodel: Fix fallthrough annotations in unreachable code
...
They are only unreachable in debug builds but still break the build on
clang.
2020-06-05 15:38:55 +02:00
Matthias Clasen
9e55cd68e4
columview: Make cells propagate request mode
...
I think this is necessary to make wrapping
labels work.
2020-06-05 09:37:21 -04:00
Matthias Clasen
2a6dc67fd7
gtk-demo: Improve wrapping in settings demo
...
The columnview overrides the width of its content,
so if a label is not willing to wrap its content
below a certain width, it will just get cut off.
Avoid that by not setting width-chars on the wrapping
content.
2020-06-05 09:35:56 -04:00
Emmanuele Bassi
1061ad289a
Add missing annotation
2020-06-05 14:33:17 +01:00
Matthias Clasen
0f81b58545
columviewlayout: Skip children when we should
...
Every layout manager should call gtk_widget_should_layout
on their children before measuring or allocating them.
So do it here too.
2020-06-05 08:44:23 -04:00
Matthias Clasen
2437c5a0ae
listview: Add an example to the docs
...
The example is an excerpt from the applauncher
demo in gtk4-demo.
2020-06-05 08:22:48 -04:00
Matthias Clasen
669a6ddeaa
gtk-demo: Bring back the applauncher demo
...
Just without the coverflow. It was a well-documented
demo, so it is useful to keep around.
2020-06-05 08:22:48 -04:00
Yariv Barkan
f5de46670b
frame clock: schedule in refresh intervals
...
When the application does not receive "frame drawn" signals we schedule
the clock to run more or less at intervals equal to the last known
refresh interval. In order to minimize clock skew we have to aim for
exact intervals.
2020-06-05 11:57:49 +02:00
Alexander Larsson
91af8a705b
frame clock: Better handle non-regular clock cycles
...
We try to step the frame clock in whole refresh_interval steps, but to
avoid drift and rounding issues we additionally try to converge it to
be synced to the physical vblank (actually the time we get the
frame-drawn message from the compositor, but these are tied together).
However, the convergence to vsync only really makes sense if the new
frame_time actually is tied to the vsync. It may very well be that
some other kind of event (say a network or mouse event) triggered
the redraw, and not a vsync presentation.
We used to assume that all frames that are close in time (< 4 frames
apart) were regular and thus tied to the vsync, but there is really no
guarantee of that. Even non regular times could be rapid.
This commit changes the code to only do the convergence-to-real-time
if the cause of the clock cycle was a thaw (i.e. last frame drawn and
animating). Paint cycles for any other kind of reason are always
scheduled an integer number of frames after the last cycle that was
caused by a thaw.
2020-06-05 11:30:47 +02:00
Alexander Larsson
82c314f1af
frame clock: Track if paint is caused by thaw or not
...
When we get to a paint cycle we now know if this was caused by a
thaw, which typically means last frame was drawn, or some other event.
In the first case the time of the cycle is tied to the vblank in some
sense, and in the others it is essentially random. We can use this
information to compute better frame times. (Will be done in later
commits.)
2020-06-05 11:16:57 +02:00
Benjamin Otte
672413f1f6
Merge branch 'cleanup-snapshot-inhibit' into 'master'
...
reftest: Clean up reftest_inhibit_snapshot()
See merge request GNOME/gtk!2034
2020-06-05 07:38:52 +00:00
Matthias Clasen
843bf23f84
Drop gtk_multi_selection-copy
...
It is not used anymore.
2020-06-05 00:51:35 -04:00
Matthias Clasen
eeb2d2cc38
listbase: Redo rubberbanding
...
Make it so that the selection is only updated in the end.
2020-06-05 00:51:35 -04:00
Chun-wei Fan
c370b8f309
demos/gtk-demo/listview*.c: Include stdlib.h
...
atoi() and qsort() both require this header for them to be defined
2020-06-05 11:16:45 +08:00
Chun-wei Fan
acd9c12667
modules: Fix build on Visual Studio
...
Visual Studio does not allow decorating functions with '__declspec (dllexport)'
if a prototype exists and is not decorated with '__declspec (dllexport)' as
well, so we cannot just decorate g_io_module_[load|unload|query] in the various
module sources with G_MODULE_EXPORT because the prototypes of these functions
have been marked with _GLIB_EXTERN, which equates to 'extern' unless overridden
Fix this by overriding _GLIB_EXTERN with the appropriate visibility flag, as we
have used to define _GDK_EXTERN. Unfortunately, we can't just use _GDK_EXTERN
G_MODULE_EXPORT as they may have not been defined yet for our use
Do this across the board for all modules, even if they are not buildable on
Visual Studio nor Windows, for consistency's sake.
2020-06-05 11:16:45 +08:00
Timm Bäder
5535b26395
Merge branch 'fix-quadratic-add' into 'master'
...
Avoid quadratic slowdown in gtk_widget_add()
See merge request GNOME/gtk!2027
2020-06-05 02:57:38 +00:00
Matthias Clasen
20611cf68c
Add gtk_selection_model_[un]select_callback
...
Add a methods to add or remove a whole set
(specified via a query-range style callback).
2020-06-04 22:28:54 -04:00
Matthias Clasen
06c34ce02f
set: Add a few useful functions
...
Allow to find out if a set is empty, and its
min and max.
2020-06-04 21:36:23 -04:00
Matthias Clasen
4fb50c7408
Merge branch 'matthiasc/for-master' into 'master'
...
more documentation for list widgets
See merge request GNOME/gtk!2039
2020-06-04 21:17:21 +00:00
Matthias Clasen
c37bea1676
Merge branch 'fribidi-include' into 'master'
...
wayland: Remove unused fribidi include
See merge request GNOME/gtk!2037
2020-06-04 20:03:13 +00:00
Matthias Clasen
ed985640e8
docs: Expand list widget docs
...
Begin to flesh out the long descriptions for GtkListView,
GtkGridView and GtkColumnView.
2020-06-04 15:33:53 -04:00
Sebastian Keller
2bd938952d
wayland: Remove unused fribidi include
...
The included fribidi header is not used in gdkkeys-wayland.c and already
included in gdk.c which causes linker issues due to the header defining
a global variable.
2020-06-04 20:44:55 +02:00
Matthias Clasen
623a56391c
gtk-demo: Cosmetics
...
Remove a few instances of double semicolon.
2020-06-04 13:30:13 -04:00
Matthias Clasen
1b7fb10361
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Allow editing in the settings demo
See merge request GNOME/gtk!2033
2020-06-04 16:32:21 +00:00
Matthias Clasen
f6b6688186
Merge branch 'list-widget-styles' into 'master'
...
List widget styles
Closes #2818
See merge request GNOME/gtk!2035
2020-06-04 16:27:37 +00:00
Matthias Clasen
99453e937c
Merge branch 'demo-drop-awards' into 'master'
...
gtk-demo: Drop the awards
See merge request GNOME/gtk!2036
2020-06-04 15:27:23 +00:00
Alexander Larsson
d3e0a1f68c
Avoid quadratic slowdown in gtk_widget_add()
...
If you add a widget to a parent, this will invalidate the css nodes
for parent/siblings. Afterwards, if the parent is mapped, we will
realize the new child. This calls gtk_widget_update_alpha() which
needs the css opacity, so it revalidates the css.
Thus, for each widget_add (while visible) will trigger a full
revalidation of each sibling. If you add N children to a parent that
leads to O(N^2) revalidations.
To demo this I changed gtk-demo to always double the count
(independent of the fps) and print the time it took. Here is the
results (after a bit):
Setting fishbowl count=256 took 3,4 msec
Setting fishbowl count=512 took 10,1 msec
Setting fishbowl count=1024 took 34,1 msec
Setting fishbowl count=2048 took 126,3 msec
Setting fishbowl count=4096 took 480,3 msec
Setting fishbowl count=8192 took 1892,7 msec
Setting fishbowl count=16384 took 7751,0 msec
Setting fishbowl count=32768 took 38097,7 msec
Setting fishbowl count=65536 took 191987,7 msec
To fix this we drop gtk_widget_update_alpha() and just
calculate it when needed (which is only in a single place).
It was really only necessary because we previously set
the alpha on the surface.
With this fix the above becomes:
Setting fishbowl count=256 took 1,0 msec
Setting fishbowl count=512 took 1,9 msec
Setting fishbowl count=1024 took 3,7 msec
Setting fishbowl count=2048 took 7,4 msec
Setting fishbowl count=4096 took 18,1 msec
Setting fishbowl count=8192 took 31,0 msec
Setting fishbowl count=16384 took 66,3 msec
Setting fishbowl count=32768 took 126,7 msec
Setting fishbowl count=65536 took 244,6 msec
Setting fishbowl count=131072 took 492,2 msec
Setting fishbowl count=262144 took 984,3 msec
2020-06-04 16:42:59 +02:00
Matthias Clasen
76ff1a2a49
gtk-demo: Drop the awards
...
This was a neat idea, but maintaining it at a sufficient
level is too much work.
2020-06-04 10:19:44 -04:00
Matthias Clasen
51c6ce1734
list widgets: Document css structure
...
We didn't fill in this expected part of the widget
documentation yet.
2020-06-04 10:05:17 -04:00
Benjamin Otte
1998b673f4
Merge branch 'ensure-style-no-recurse' into 'master'
...
Avoid recursion in gtk_css_node_ensure_style()
See merge request GNOME/gtk!2031
2020-06-04 14:04:55 +00:00
Matthias Clasen
627497f942
docs: Fix a parameter name mismatch
2020-06-04 09:52:17 -04:00
Matthias Clasen
f9287941b4
Change css names of list widget
...
The new names are
GtkListView - listview row
GtkGridView - gridview child
GtkColumView - columnview header
columnview listview row
Adwaita css has been updated to preserve
existing styles.
Fixes : #2818
2020-06-04 09:51:49 -04:00
Alexander Larsson
5059854a2e
reftest: Clean up reftest_inhibit_snapshot()
...
This was done in a weird way where we always call reftest_uninhibit_snapshot()
on paint, and then re-inhibited it if it wasn't inhibited. To make this
work it also started with an extra inhibit.
This is very contorted and based on how this historically worked. This
changes it to just do:
if (inhibit_count > 0)
return;
And keep inhibit_count at its initial zero value unless it is actually
inhibited.
2020-06-04 15:45:29 +02:00
Benjamin Otte
aa8a061a83
Merge branch 'fix-snapshot' into 'master'
...
snapshot: Fix assert if paint gets scheduled immediately
See merge request GNOME/gtk!2032
2020-06-04 13:43:44 +00:00
Matthias Clasen
3f2d44d517
gtk-demo: Allow editing in the settings demo
...
This gives us an example of a columnview with editable
content, which we didn't have so far.
2020-06-04 08:45:47 -04:00
Alexander Larsson
b4af23be23
snapshot: Fix assert in inhibition
...
In https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2027 i was getting
Bail out! ERROR:../testsuite/reftests/reftest-snapshot.c:212:reftest_uninhibit_snapshot: assertion failed: (inhibit_count > 0)
In (for example the box-shadow-changes-modify-clip reftest. I can reproduce this (on master) with:
```
$ xvfb-run -a -s "-screen 0 1024x768x24" meson test --suite gtk:reftest "reftest box-shadow-changes-modify-clip.ui"
...
1/1 gtk:reftest / reftest box-shadow-changes-modify-clip.ui ERROR 0.77s
``
Fix this by re-inhibiting if we didn't draw anything, or we will get an assert the next paint.
2020-06-04 14:22:27 +02:00
Matthias Clasen
8ddf1f1ea5
Merge branch 'kjellahl/flowboxremove' into 'master'
...
flowbox: Don't use a removed and destroyed child
See merge request GNOME/gtk!2029
2020-06-04 12:13:57 +00:00
Matthias Clasen
475d8c4c11
Merge branch 'fishbowl-children' into 'master'
...
gtk-demo: Avoid list for children in GtkFishBowl
See merge request GNOME/gtk!2030
2020-06-04 12:10:51 +00:00
Alexander Larsson
fc823eb610
Avoid recursion in gtk_css_node_ensure_style()
...
gtk_css_node_ensure_style() recurses over previous siblings to ensure
these have a style before its following sibling. As seen in
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2027 this can
cause us to stack overflow and crash if we have a lot of children.
And even if we don't have *that* many children its still somewhat
bad to have stack depths of the same magnitude as the number of
children, both for performance reasons and debuggability.
2020-06-04 12:10:31 +02:00
Alexander Larsson
8707bab450
gtk-demo: Avoid list for children in GtkFishBowl
...
This is a demo that measures performance, so keep the child
info in a hashtable instead of a list. This means adding or removing
a child is not O(n-children).
2020-06-04 12:06:42 +02:00
Kjell Ahlstedt
612955f2b7
flowbox: Don't use a removed child after it has been unparented
...
In gtk_flow_box_remove(), call g_sequence_remove() before the child is unparented.
See MR !2029
2020-06-04 11:23:46 +02:00
Timm Bäder
36314c3ff7
Merge branch 'santo/gtk4_spelling_fix' into 'master'
...
docs: Fix spelling of GDK_VERSION_MIN_REQUIRED.
See merge request GNOME/gtk!2026
2020-06-04 07:38:58 +00:00
Daniel Mustieles
33fb38d8de
Updated Spanish translation
2020-06-04 09:18:01 +02:00
Daniel Mustieles
38e2a910df
Updated Spanish translation
2020-06-04 09:17:16 +02:00
Santosh Mahto
ef32df77be
docs: Fix spelling of GDK_VERSION_MIN_REQUIRED.
2020-06-04 12:12:36 +05:30
Matthias Clasen
5154693ea4
Merge branch 'columnview-separators' into 'master'
...
Columnview separators
See merge request GNOME/gtk!2025
2020-06-03 23:34:48 +00:00
Matthias Clasen
4b68362981
columnview: Add a property for column separators
...
Rename the show-separators property to show-row-separators,
and add a matching show-column-separators property. It is
implemented by setting the .column-separators style class
on the column view.
2020-06-03 17:57:23 -04:00
Matthias Clasen
658e4c5357
listview: Use gtk_widget_add_css_class
...
No need to use the style context api for this anymore.
2020-06-03 17:51:22 -04:00
Matthias Clasen
ce0dd650d7
settings demo: Don't select rows
...
We want no selection here, so use GtkNoSelection.
2020-06-03 17:51:22 -04:00
Matthias Clasen
77b65ada4f
Merge branch 'columnview-printdialog' into 'master'
...
Port the printdialog to column view
See merge request GNOME/gtk!2010
2020-06-03 21:47:58 +00:00
Matthias Clasen
fa37225a42
Merge branch 'columnview-rubberbanding' into 'master'
...
columnview: Implement rubberbanding
See merge request GNOME/gtk!2008
2020-06-03 21:46:13 +00:00
Matthias Clasen
78a06859b9
Merge branch 'columnview-expand' into 'master'
...
columnview: Implement expanding columns
See merge request GNOME/gtk!2007
2020-06-03 21:39:33 +00:00
Matthias Clasen
3ec8f4e84e
Merge branch 'columnview-reordering' into 'master'
...
columnview: Implement interactive reordering
See merge request GNOME/gtk!2006
2020-06-03 21:38:59 +00:00
Matthias Clasen
f13a596d15
Merge branch 'columnview-resizing' into 'master'
...
columnview: Implement interactive resizing
See merge request GNOME/gtk!2004
2020-06-03 20:04:17 +00:00
Matthias Clasen
94f14778a3
Merge branch 'columnview-scrolling' into 'master'
...
columnview: Implement horizontal scrolling
See merge request GNOME/gtk!1998
2020-06-03 19:50:59 +00:00
Benjamin Otte
7312284e4f
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2024
2020-06-03 17:40:26 +00:00
Matthias Clasen
ebc07d1458
printdialog: Port to column view
2020-06-03 13:35:09 -04:00
Matthias Clasen
510f719975
gtk-demo: Make gridview demo use rubberbanding
2020-06-03 13:34:28 -04:00
Matthias Clasen
03c2202942
Add rubberband api
...
Add an ::enable-rubberband property to GtkListView,
GtkGridView and GtkColumnView.
2020-06-03 13:34:27 -04:00
Matthias Clasen
b3a97cb755
listbase: Simplify rubberbanding
...
The new approach is:
- plain: clear and start a new selection
- extend: add to the existing selection
- modify: subtract from the existing selection
2020-06-03 13:32:57 -04:00
Matthias Clasen
a9273e1c73
listbase: Split off rubberband data
2020-06-03 13:32:57 -04:00
Matthias Clasen
14d11ebcab
listbase: Use a widget for the rubberband
...
We no longer need to juggle manual css nodes. Just create
a widget for the rubberband, and update its allocation
as we rubberband.
2020-06-03 13:32:57 -04:00
Matthias Clasen
7dc458d925
Add autoscroll
...
This is an expected feature with rubberband selection:
as you get close to the edge while doing rubberband
selection, the list scrolls to extend your selection.
2020-06-03 13:32:57 -04:00
Matthias Clasen
a0f04bdcf3
listbase: Add rubberband selection
...
Implement the typical rubberband selection, including
autoscroll. This is only useful with multiselection,
and not very compatible with single-click-activate.
Therefore, it is not enabled by default, and needs
to be turned on explicitly.
2020-06-03 13:32:57 -04:00
Matthias Clasen
28f6e27276
Add GtkMultiSelection
...
This is implemented using a private GtkSet helper.
Includes tests.
2020-06-03 13:32:57 -04:00
Matthias Clasen
5ef427bd65
gtk-demo: Expand columns in the settings demo
...
Expand the columns that are likely to appear
at the end.
2020-06-03 13:32:15 -04:00
Matthias Clasen
03c1fa43f4
inspector: Expand the actions list
2020-06-03 13:32:15 -04:00
Matthias Clasen
3b9f0ab866
inspector: Expand the resource list
...
This is an experiment with adding a filler column.
2020-06-03 13:32:15 -04:00
Matthias Clasen
9617a00ae3
inspector: Expand the property list
...
It looks better this way.
2020-06-03 13:32:15 -04:00
Matthias Clasen
1408199957
inspector: Expand the object tree
...
This is how it used to look, and it looks better that way.
2020-06-03 13:32:15 -04:00
Matthias Clasen
067df8d4dd
columnview: Take expand into account
...
When allocating columns, distribute extra space
to columns that have expand set to TRUE.
2020-06-03 13:32:15 -04:00
Matthias Clasen
2ab1b13092
columnview: Add a GtkColumnViewColumn:expand property
...
This will be used to determine how to distribute
available extra space in a column view.
2020-06-03 13:32:15 -04:00
Matthias Clasen
964d0c219a
columnview: Add autoscroll
...
Autoscroll when the pointer gets close to the
edge during column resizing or reordering. This
is similar to what the treeview does, but it is
implemented using a tick callback, and has
variable speed.
2020-06-03 13:31:39 -04:00
Matthias Clasen
c58eb9c276
columnview: Allow to cancel reorder with Escape
...
The treeview does this too.
2020-06-03 13:31:39 -04:00
Matthias Clasen
5d4893b3f0
columnview: Interactive column reordering
...
Allow rearranging columns by dragging, in the same
way the treeview does.
We add the "dnd" style class to the header while
it is dragged, and we move the header of the dragged
column to the end of its parents children, so that
it gets drawn on top.
2020-06-03 13:31:39 -04:00
Matthias Clasen
11b4e0d4c0
columnview: Add a GtkColumnView:reorderable property
...
This property controls if users can reorder columns
by drag-and-drop. It defaults to TRUE.
2020-06-03 13:31:39 -04:00
Matthias Clasen
e637693131
columnviewlayout: Use header allocation for titles
...
Normally, this will be identical to the column
allocation, but we will temporarily change it
during column reordering.
2020-06-03 13:31:39 -04:00
Matthias Clasen
c9d5b77403
columnviewcolumn: Add reordering helpers
...
Add helper functions that let us temporarily give
a different allocation to headers. These will be
used to implement interactive column reordering
in GtkColumnView.
2020-06-03 13:31:39 -04:00
Matthias Clasen
574595993c
columnviewtitle: Trigger action on release
...
This is necessary to make drag-to-reorder work
without triggering resorting.
2020-06-03 13:31:31 -04:00
Matthias Clasen
50f4e53aef
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Add a dropdown demo
See merge request GNOME/gtk!2023
2020-06-03 17:30:19 +00:00
Matthias Clasen
ac082e5504
gtk-demo: Make some columns resizable
...
Make the columns in the List > Settings demo
resizable, to demonstrate this functionality.
2020-06-03 12:49:40 -04:00
Matthias Clasen
f65f9591a1
columnview: Interactive column resizing
...
This copies just enough of the treeview code to
get columns moving.
2020-06-03 12:49:40 -04:00
Matthias Clasen
a1eadde25b
columnviewcolumn: Add a helper
...
We need to check whether clicks are in the headers
of columns, so let the column view get at the the
header widget.
2020-06-03 12:49:40 -04:00
Matthias Clasen
66e5027756
columnview: Add a GtkColumnViewColumn:resizable property
...
This will be used for interactive column resizing
in the future.
2020-06-03 12:49:38 -04:00
Matthias Clasen
aa2d339508
columnview: Add a helper
...
The column code needs to get access to the
listitem widgets that are children of the listview,
so add a getter.
2020-06-03 12:48:56 -04:00
Matthias Clasen
d43aacefc9
columnview: Add GtkColumnViewColumn:fixed-width
...
Add a fixed-width property similar to the same property
of GtkTreeViewColumn.
2020-06-03 12:48:39 -04:00
Matthias Clasen
f0a0e20b2f
columnview: Implement horizontal scrolling
...
The listview inside always thinks it gets its full size,
and updates its horizontal adjustment accordingly.
So keep our own adjustment, and update it when allocating.
2020-06-03 12:48:20 -04:00
Matthias Clasen
befdd8bb66
columnview: Revise scroll-minimum handling
...
Tweak the behavior slightly. We don't show
a scrollbar as long as we have at least
min-size available, but we still give the
entire size to the child, up to nat-size.
This matches how viewports handle scroll-minimum.
2020-06-03 12:48:20 -04:00
Benjamin Otte
27ed2cc009
Merge branch 'wip/otte/for-master' into 'master'
...
Wip/otte/for master
See merge request GNOME/gtk!2022
2020-06-03 16:33:54 +00:00
Benjamin Otte
a60c866a12
listbase: Don't grab_focus() when moving focus
...
We want to call gtk_widget_child_focus() to have Tab focus the right
widget.
2020-06-03 18:12:49 +02:00
Benjamin Otte
a84f6228ca
listitemwidget: Fix focus handling for columnview
...
ListItemWidget needs to be aware of potentially having multiple
children, so make it aware.
2020-06-03 18:12:00 +02:00
Matthias Clasen
19da93b675
Merge branch 'columnview-menu' into 'master'
...
columnview: Add header menus
See merge request GNOME/gtk!2001
2020-06-03 15:51:26 +00:00
Benjamin Otte
aa38fc712f
listbase: Fix leak
...
We were leaking the temporary tracker here.
2020-06-03 17:49:04 +02:00
Matthias Clasen
0b1c91dc7c
gtk-demo: Add a dropdown demo
...
This shows a few examples of GtkDropDown.
Mostly taken from tests/testdropdown.c.
2020-06-03 11:34:06 -04:00
Matthias Clasen
ab2c8de4de
Merge branch 'matthiasc/for-master' into 'master'
...
selection model: Further documentation tweaks
See merge request GNOME/gtk!2021
2020-06-03 15:11:59 +00:00
Benjamin Otte
00f2b134e3
columnview: Make sure focus can move into cells
...
The cells themselves should never be focusable though.
2020-06-03 16:55:39 +02:00
Benjamin Otte
0b8cebd6ef
ffmediafile: Add fixes for recent cflags changes
...
Related: #2771
2020-06-03 16:23:49 +02:00
Matthias Clasen
53a9b7f6c0
selection model: Further documentation tweaks
...
Reword this to use plain language instead of throwing
arond reentrancy and ordering.
2020-06-03 07:51:29 -04:00
Matthias Clasen
667fd927ee
Merge branch 'selection-model-docs' into 'master'
...
selectionmodel: Clarify docs
Closes #2806
See merge request GNOME/gtk!2017
2020-06-03 05:27:46 +00:00
Matthias Clasen
a8956838d3
selectionmodel: Clarify docs
...
Clarify some things that were not clear to me before
discussing them.
Fixes : #2806
2020-06-02 15:09:16 -04:00
Christoph Reiter
e7c9e2060c
gtkiconcache: Use g_stat instead of fstat
...
stat/fstat aren't compatible with GStatBuf on Windows in all cases.
Since we don't really need the file descriptor anyway here replace it with
a g_stat call.
This fixes a compiler warning with 64bit mingw.
And lets us remove this scary ifdeffery.
2020-06-02 20:35:56 +02:00
Matthias Clasen
f6be407e33
Merge branch 'carlosgc/emoji-chooser-fixes' into 'master'
...
Fix emoji chooser warnings on destroy
See merge request GNOME/gtk!2016
2020-06-02 16:06:47 +00:00
Carlos Garcia Campos
2bf9b37e59
emojichooser: Unparent the variations popup on dispose and before adding a new one
...
This was causing warnings when destroying the emoji chooser because it
had children left.
2020-06-02 16:47:56 +02:00
Carlos Garcia Campos
d2e0ada794
textview: Unparent the emoji chooser on dispose
...
This was causing the warning "GtkEmojiChooser is not a child of
GtkTextView" when destroying a GtkTextView if the emoji chooser was
shown.
2020-06-02 16:47:56 +02:00
Matthias Clasen
c07ae5806e
Merge branch 'matthiasc/for-master' into 'master'
...
Cosmetic improvements to the filebrowser demo
See merge request GNOME/gtk!2015
2020-06-02 04:30:29 +00:00
Matthias Clasen
5afe6f7825
Cosmetic improvements to the filebrowser demo
...
Make it look good.
2020-06-01 23:13:20 -04:00
Matthias Clasen
d02c48f987
Add more columns to the settings demo
...
Flesh out this demo more, so we can have a
non-trivial column editor here at some point.
2020-06-01 22:10:53 -04:00
Matthias Clasen
c835214540
Add a header menu to settings demo
...
Allow toggling column visibility from here.
2020-06-01 22:10:53 -04:00
Matthias Clasen
cb2901ec40
columnviewtitle: Display a context menu
...
When the ::header-menu property is set on the
column, use the menu model to create and show
a context menu.
2020-06-01 22:10:53 -04:00
Matthias Clasen
f27bd061fb
columnviewcolumn: Add a menu property
...
Add a ::header-menu property that will be used
to create a context menu for the header of the
column.
2020-06-01 22:10:53 -04:00
Matthias Clasen
572386e4ce
Merge branch 'matthiasc/for-master' into 'master'
...
print backend: Fix list model handling in dispose
See merge request GNOME/gtk!2013
2020-06-02 00:07:45 +00:00
Matthias Clasen
67a972182e
Merge branch 'ebassi/expression-type' into 'master'
...
Ebassi/expression type
See merge request GNOME/gtk!2014
2020-06-01 22:48:26 +00:00
Matej Urbančič
5955e11a5a
Added Slovenian translation
2020-06-01 22:19:55 +02:00
Emmanuele Bassi
8daaafc864
Document how to define properties using GtkExpression
...
Use the GtkParamSpecExpression type to describe the property, and the
GValue API to set and get the expression instance.
2020-06-01 21:17:34 +01:00
Emmanuele Bassi
ebaa96c0fa
Turn GtkExpression into a GTypeInstance
...
Since it's a type with sub-classes, we need to use GTypeInstance (at the
very least), otherwise we won't be able to address each sub-class as
such.
This is similar to how GskRenderNode and GdkEvent are handled, with the
added difficulty that GtkExpression is meant to be used in properties,
in order to be deserialised by GtkBuilder. This requires adding a
GParamSpec sub-class that we can match on from within GtkBuilder,
alongside some convenience API for storing a GtkExpression inside a
GValue.
2020-06-01 21:07:53 +01:00
Emmanuele Bassi
fb3d08c651
Print out the file name we're testing
...
We're printing out the file we're testing once we succeed, but it's hard
to know which file caused a failure. Let's add a g_test_message()
directive so we can look in our logs.
2020-06-01 21:06:04 +01:00
Matthias Clasen
9d15e64f0b
gtk-demo: Plug a leak
...
We were leaking a reference to the settings demo.
This showed up as gtk4-demo --run listview_settings
not exiting when the window is closed.
2020-06-01 15:17:21 -04:00
Matthias Clasen
b62564fd98
columnviewcolumn: Fix visibility implementation
...
We were not properly syncing initial visibility
with widgets.
2020-06-01 14:47:12 -04:00
Matthias Clasen
0266bcab7a
Add a test for the previous fix
...
This checks that action muxer hierarchy is properly
updated when muxers appear in the middle.
2020-06-01 13:52:50 -04:00
Matthias Clasen
6652e14662
Update action muxer hierarchy propertly
...
When a new muxer appears, we must not only make it
inherit from the parent, we also have to update all
children to inherit from it.
2020-06-01 13:52:42 -04:00
Matthias Clasen
7a50f86f3f
print backend: Fix list model handling in dispose
...
The print backends do some complicated dispose handling
where the implementations call gtk_print_backend_destroy().
Our tests (in particular, the templates test) trigger
situations where we use print backends after dispose,
and they can't handle the printers listmodel being
NULL at that time. So just remove the printers in
dispose, keep the empty liststore until finalize.
2020-06-01 13:52:21 -04:00
Kukuh Syafaat
59218d02c8
Update Indonesian translation
2020-06-01 13:29:20 +00:00
Matthias Clasen
fe73730d21
Merge branch 'gtk-demo-run-no-main-window' into 'master'
...
gtk-demo: Don't show main window if --run is passed in
See merge request GNOME/gtk!1979
2020-06-01 12:26:15 +00:00
Matthias Clasen
b814970bdd
Merge branch 'fix-frameclock-going-backwards' into 'master'
...
Fix frameclock going backwards
See merge request GNOME/gtk!2011
2020-06-01 12:25:20 +00:00
Matthias Clasen
8dfbef5e6f
Merge branch 'matthiasc/for-master' into 'master'
...
columnview: Add column reordering
See merge request GNOME/gtk!2005
2020-06-01 11:28:28 +00:00
Emmanuele Bassi
0b9a3fc160
Merge branch 'ebassi/scroll-position' into 'master'
...
Remove position from GdkScrollEvent
See merge request GNOME/gtk!2012
2020-06-01 10:32:55 +00:00
Emmanuele Bassi
79105962a7
Remove position from GdkScrollEvent
...
Scroll events do not have a position, so they shouldn't implement the
GdkEventClass.get_position() virtual function; nor they should have an x
and y fields that never get updated.
2020-06-01 10:49:33 +01:00
Alexander Larsson
a36e2bc764
Fix frameclock going backwards
...
When we run the frameclock RUN_FLUSH_IDLE idle before the paint,
then gdk_frame_clock_flush_idle() sets
```
priv->phase = GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT
```
at the end if there is a paint comming.
But, before doing the paint cycle it may handle other X events, and
during that time the phase is set to BEFORE_PAINT. This means that the
current check on whether we're inside a paint is wrong:
```
if (priv->phase != GDK_FRAME_CLOCK_PHASE_NONE &&
priv->phase != GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS)
return priv->smoothed_frame_time_base;
```
This caused us to sometimes use this smoothed_frame_time_base even
though we previously reported a later value during PHASE_NONE, thus
being non-monotonic.
We can't just additionally check for the BEGIN_PAINT phase though,
becasue if we are in the paint loop actually doing that phase we
should use the time base. Instead we check for `!(BEFORE_PAINT &&
in_paint_idle)`.
2020-06-01 10:53:24 +02:00
Matthias Clasen
cc878160bd
gtk-demo: Fix a crash in the puzzle
...
Avoid a crash when clicking the refresh button
after solving the puzzle.
2020-06-01 00:11:50 -04:00
Matthias Clasen
382153e82d
gtk-demo: Fix keynav in the puzzle
...
We need to make shortcut controller have global
scope, otherwise the shortcuts lose against the
window keybindings.
2020-06-01 00:11:43 -04:00
Matthias Clasen
e195341e30
gtk-demo: Flesh out the settings demo
...
Add columns for type and default value.
2020-05-31 23:43:58 -04:00
Matthias Clasen
c6c8263704
columnview: Add column reordering
...
Add an API to allow reordering columns.
2020-05-31 21:56:30 -04:00
Matthias Clasen
ed02bea20d
Merge branch 'action-tests' into 'master'
...
Action tests
See merge request GNOME/gtk!2003
2020-05-31 23:32:44 +00:00
Matthias Clasen
f89a1b05fe
Merge branch 'matthiasc/for-master' into 'master'
...
Add a forgotten export
See merge request GNOME/gtk!2002
2020-05-31 22:54:38 +00:00
Matthias Clasen
af65b7e6d7
More action tests
...
Test actions under hierarchy changes.
2020-05-31 18:13:50 -04:00
Matthias Clasen
1995ad6d63
Add a forgotten export
...
gtk_column_view_sort_by was missing a GDK_AVAILABLE_IN_ALL
annotation, causing it to not be exported.
2020-05-31 16:47:53 -04:00
Matthias Clasen
83c0937a46
testsuite: Beef up action tests
...
Check return values from gtk_widget_activate.
2020-05-31 16:40:50 -04:00
Matthias Clasen
f5cc2c0d20
Merge branch 'column-visible' into 'master'
...
columnview: Add a GtkColumnViewColumn:visible property
See merge request GNOME/gtk!1997
2020-05-31 20:39:06 +00:00
Emmanuele Bassi
931d68bc92
Merge branch 'drop-coverflow' into 'master'
...
Drop GtkCoverFlow for now
See merge request GNOME/gtk!2000
2020-05-31 19:12:32 +00:00
Yuri Chornoivan
06946c35d3
Update Ukrainian translation
2020-05-31 19:05:20 +00:00
Matthias Clasen
cbe81fd443
Merge branch 'drop-fallback-c89' into 'master'
...
Drop fallback-c89.c
See merge request GNOME/gtk!1999
2020-05-31 18:14:14 +00:00
Matthias Clasen
173e919d2a
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1995
2020-05-31 18:13:36 +00:00
Matthias Clasen
73fdb8f7b0
Drop GtkCoverFlow for now
...
There is no agreement that a coverflow widget is
appropriate for GTK 4.
It would be ok as a demo if it could live in gtk-demo,
but that requires us to make GtkListBase public first.
The demo is also somewhat rough and needs more work
to look plausible.
Drop GtkCoverFlow and the related demo for now.
2020-05-31 13:15:51 -04:00
Matthias Clasen
8e0ba37866
gtk-demo: Fixes for the sliding puzzle
...
We were calling check_solved only for key presses,
meaning you could never solve the puzzle with the
mouse.
2020-05-31 13:01:17 -04:00
Matthias Clasen
8780f50e7e
gtk-demo: Some fixes to awards
...
Fix things up enough to make the list show up.
Still not a working example, but closer.
2020-05-31 13:01:17 -04:00
Matthias Clasen
06dc357ea0
printer: Fix the default value of icon-name
...
Just set this to "printer", so we don't have
to fix it up in the print dialog.
2020-05-31 13:01:17 -04:00
Matthias Clasen
fb587cb529
printbackend: Add a list model getter
...
Now that we have a list model for printers,
we can start using it.
2020-05-31 13:01:17 -04:00
Matthias Clasen
a026677849
printbackend: Use a list store
2020-05-31 13:01:17 -04:00
Matthias Clasen
1c389b1f24
gtk-demo: Add more scrolling benchmarks
...
Add a listview and gridview to the scrolling
benchmarks.
2020-05-31 13:01:17 -04:00
Emmanuele Bassi
55b9aa0309
Merge branch 'ebassi/annotations' into 'master'
...
Ebassi/annotations
See merge request GNOME/gtk!1996
2020-05-31 15:18:36 +00:00
Christoph Reiter
2d5cf2b4c4
Drop fallback-c89.c
...
We require a C compiler supporting C99 now. The main purpose of
these fallbacks was for MSVC. From what I can see this is now all supported
by MSVC 2015+ anyway.
The only other change this includes is to replace isnanf() with the
(type infering) C99 isnan() macro, because MSVC doesn't provide isnanf().
2020-05-31 17:09:23 +02:00
Matthias Clasen
4877bb5b5c
columnviewcolumn: Add a visible property
...
This lets us hide columns, which is an expected
feature of columned lists.
2020-05-31 10:47:48 -04:00
Emmanuele Bassi
b9269d5644
Annotate the GtkFunctionListItemFactory constructor
...
But skip it, since it cannot really be used by language bindings, as it
binds the same user data to two separate functions.
2020-05-31 15:14:26 +01:00
Emmanuele Bassi
1a4723988e
Fix annotations for gtk_cclosure_expression_new()
...
Missing scope annotations for the various functions.
2020-05-31 15:10:27 +01:00
Matthias Clasen
93353888ca
Merge branch 'columnview-1' into 'master'
...
Convert the inspector to column views
See merge request GNOME/gtk!1994
2020-05-31 14:06:31 +00:00
Emmanuele Bassi
c3a90b76d0
Add missing separator
...
An annotation is separated from the description by a ':'.
2020-05-31 15:05:59 +01:00
Emmanuele Bassi
43e5ca9a1b
docs: Fix annotations
...
- Use the same name for the argument in the declaration, definition,
and documentation
- Use "optional" instead of the deprecated "allow-none"
2020-05-31 15:04:51 +01:00
Christoph Reiter
c5829bd0e2
fallback-c89: Try to make isnanf work
2020-05-31 15:50:09 +02:00
Matthias Clasen
2a9d2cc7e9
inspector: Touch up list styling
...
This is just the minimal amount of work to make
headers recognizable.
2020-05-31 09:24:19 -04:00
Matthias Clasen
0d9873d8bc
inspector: Use a column view for actions
...
A straight conversion from list box to column view.
2020-05-31 09:24:12 -04:00
Matthias Clasen
23bc38ed06
inspector: Make the resource list sortable
...
This is using a GtkTreeListRowSorter to keep expanded
state of the tree while changing the sorting.
2020-05-31 09:24:04 -04:00
Matthias Clasen
42d26b4b05
inspector: Use a column view for the resource list
...
A conversion from tree view to column view.
2020-05-31 09:23:51 -04:00
Matthias Clasen
04700789e1
inspector: Use a column view for properties
...
Just a straight conversion from list box to column view.
2020-05-31 09:23:45 -04:00
Matthias Clasen
e23baa59f0
inspector: Add columns to the object tree
...
Add columnview columns in the object tree.
We do the same for treeview columns.
2020-05-31 09:23:37 -04:00
Matthias Clasen
e8e28b61db
Merge branch 'fix-mnemonic-zero' into 'master'
...
label: Fix mnemonic zero
Closes #2805
See merge request GNOME/gtk!1993
2020-05-31 13:02:51 +00:00
Yuri Chornoivan
b766707f28
Update Ukrainian translation
2020-05-31 06:12:49 +00:00
Yuri Chornoivan
0787f262a0
Update Ukrainian translation
2020-05-31 06:09:05 +00:00
Matthias Clasen
d833f4a632
Merge branch 'dropdown-for-merge' into 'master'
...
Dropdown for merge
Closes #2214
See merge request GNOME/gtk!1992
2020-05-31 05:34:18 +00:00
Matthias Clasen
ce1e364ab8
Merge branch 'listview-for-merge' into 'master'
...
Listview for merge
Closes #2214
See merge request GNOME/gtk!1991
2020-05-31 05:32:37 +00:00
Matthias Clasen
adb5b299c9
label: Fix mnemonic zero
...
We were confusing '\0' and '0' when parsing the label
for mnemonics.
Fixes : #2805
2020-05-30 21:42:54 -04:00
Matthias Clasen
fc9462d49e
Add some tests for new GtkBuilder syntax
...
Some valid and invalid examples for <closure>,
<lookup> and <constant>.
2020-05-30 19:31:38 -04:00
Matthias Clasen
9c849d2084
docs: Update the list widget overview
...
Fill in the GtkComboBox and GtkCellView replacements
in the quick reference table.
2020-05-30 19:31:38 -04:00
Matthias Clasen
336b30c532
gtk-demo: Add a large grid demo
...
This is similar to the flowbox demo, but much bigger.
2020-05-30 19:31:38 -04:00
Matthias Clasen
b331e29e43
inspector: Use dropdowns in the visual page
...
Convert everything in the visual page to dropdowns.
2020-05-30 19:31:38 -04:00
Matthias Clasen
54cdafdd67
inspector: Use a dropdown for size groups
...
Use a GtkDropDown for the modes of size groups.
2020-05-30 19:31:38 -04:00
Matthias Clasen
30541201b6
inspector: Use a dropdown for controllers
...
Use a GtkDropDown for the phases of event controllers.
2020-05-30 19:31:38 -04:00
Matthias Clasen
6346fa960c
inspector: Use a dropdown for attribute mapping
...
Use a GtkDropDown for the attribute mapping editor.
2020-05-30 19:31:38 -04:00
Matthias Clasen
99c98d0736
inspector: Use dropdowns in property editor
...
Replace combo boxes by dropdowns in the property editor.
2020-05-30 19:31:38 -04:00
Matthias Clasen
496e673d77
filechooser: Use a dropdown for choices
2020-05-30 19:31:38 -04:00
Matthias Clasen
d3aad3b574
filechooser: Use a dropdown for the filter combo
...
Replace an internal use of GtkComboBox with GtkDropDown.
2020-05-30 19:31:38 -04:00
Matthias Clasen
371dab51bb
Add GtkDropDown
...
This is a simple drop down control using list models.
2020-05-30 19:31:38 -04:00
Benjamin Otte
3ea2258ce9
xxx: isnanf() is some wtf
2020-05-30 19:30:14 -04:00
Matthias Clasen
c7feae65f1
builderlistitemfactory: Precompile the xml
...
This is the one place where we can really take advantage
of precompiling, since we instantiate this template
over and over.
2020-05-30 19:30:14 -04:00
Matthias Clasen
b087948933
gtk-demo: Use single-click-activate for minesweeper
...
The explanation say we do, so do it.
2020-05-30 19:30:14 -04:00
Matthias Clasen
f611d55f16
Spread single-click-activate api
...
This makes sense to have in all the views,
not just GtkListView.
2020-05-30 19:30:14 -04:00
Matthias Clasen
12b1007046
docs: Add a listview overview section
...
Add a conceptual overview for all the listmodel-based
widgets.
Fixes : #2214
2020-05-30 19:30:14 -04:00
Matthias Clasen
4a4c15b2ac
gtk-demo: Add filtering to the settings demo
...
A demo of filtering with lists was missing so far.
2020-05-30 19:30:14 -04:00
Matthias Clasen
8804427677
gtk-demo: Demo columnview sorting
...
Enhance the settings demo to have a sortable column.
2020-05-30 19:30:14 -04:00
Matthias Clasen
d717971f41
gtk-demo: Cosmetic improvements to the listview demos
...
Set default sizes, window titles and add more
detail to the descriptions.
2020-05-30 19:30:14 -04:00
Matthias Clasen
f33df84eff
gtk-builder-tool: Minimally validate <binding>
...
Check that the toplevel property name is legit.
2020-05-30 19:30:14 -04:00
Benjamin Otte
7910271b6c
testsuite: Add tests for GtkTreeListSorter
2020-05-30 19:30:14 -04:00
Matthias Clasen
e3ce99988f
Add GtkTreeListRowSorter
...
This is a special-purpose sorter that can
apply the sorting of another sorter to the
levels of a GtkTreeListModel.
2020-05-30 19:30:14 -04:00
Benjamin Otte
fb78f1ef8e
testcolumnview: Add sorters
2020-05-30 19:28:30 -04:00
Matthias Clasen
1ba1eda8ab
column view title: Show sort indicators
2020-05-30 19:28:30 -04:00
Matthias Clasen
2945430ad7
columnview: Add a sort-by api
2020-05-30 19:28:28 -04:00
Matthias Clasen
66500a6882
columnview: Add sorting
...
This is a somewhat large commit that:
- Adds GtkColumnViewSorter
This is a special-purpose, private sorter implementation which sorts
according to multiple sorters, allowing each individual sorter to be
inverted. This will be used with clickable column view headers.
- Adds a read-only GtkColumnView::sorter property
The GtkColumnView creates a GtkColumnViewSorter at startup that it uses
for this property.
- Adds a writable GtkColumnViewColumn::sorter property
This allows defining per-column sorters. Whenever an application sets a
sorter for a column, the header becomes clickable and whenever
a header is clicked, that column's sorter is prepended to the list of
sorters, unless it is already the first sorter, in which case we invert
its order. No column can be in the list more than once.
2020-05-30 19:26:46 -04:00
Matthias Clasen
2c4c07c96d
listview: Add single-click-activate
...
Add a single-click-activate property to GtkListView.
2020-05-30 19:26:46 -04:00
Matthias Clasen
69c86ae385
listitemwidget: Add single-click-activate
...
Add a mode to GtkListItemWidget that activates on
single click and selects on hover. Make
GtkListItemManager set this on its items
when its own 'property' of the same name is set.
2020-05-30 19:26:46 -04:00
Matthias Clasen
21eac434c3
builder-tool: Pass through CDATA where it makes sense
...
This avoids a ton of escaping for
GtkBuilderListItemFactory::bytes.
2020-05-30 19:26:46 -04:00
Matthias Clasen
2f21003064
docs: Reorganize list widgets in their own chapter
2020-05-30 19:26:46 -04:00
Benjamin Otte
58b65d1bf6
fontchooserwidget: Port to listmodels
...
The port is kind of evil, in that it stores either a PangoFontFamily or a
PangoFontFace in the list, depending on if the fontchooser is configured
to select fonts or faces.
It also does not cache the font description anymore, so more calls to
pango_font_describe() may happen.
If both of these issues turn out problematic, the fontchooser would need
to resurrect GtkDelayedFontDescription again and put objects of that
type through the model.
These changes depend on Pango 1.46's introduction of listmodels and
various new getters, so the dependency has been upgraded.
2020-05-30 19:26:46 -04:00
Matthias Clasen
542829ee81
Add some tests for expression binding
...
In particular, test that expressios can deal with object == this.
2020-05-30 19:26:46 -04:00
Benjamin Otte
b43c8ae646
expression: Allow passing a this object to bind()
...
This gives a bit more control over the arguments passed to expressions.
2020-05-30 19:26:46 -04:00
Benjamin Otte
22e6fa3a64
gtk-demo: Add a Clocks demo
...
This demo is meant to showcase expressions.
It also needs the fixes in glib 2.64 to work properly.
2020-05-30 19:26:46 -04:00
Benjamin Otte
c337887e29
xxx: Add a hack to make paintables transform to/from objects
...
See also: https://gitlab.gnome.org/GNOME/glib/merge_requests/1251
2020-05-30 19:26:46 -04:00
Benjamin Otte
650688c635
inspector: Remove private struct for prop editor
2020-05-30 19:26:46 -04:00
Benjamin Otte
2787e916b2
inspector: Make Controller page a GtkWidget
2020-05-30 19:26:46 -04:00
Benjamin Otte
e72119e9bb
inspector: Remove private struct from controllers
2020-05-30 19:26:46 -04:00
Benjamin Otte
efcb3a9d67
columnview: Add header
...
This uses a custom GtkColumnViewTitle widget. So far that widget is
pretty boring, but that will change once we added
resizing, reordering, dnd, sorting, hiding/showing of columns or
whatever UIs we want.
2020-05-30 19:26:46 -04:00
Benjamin Otte
9f19699806
tests: Add testcolumnview
2020-05-30 19:26:46 -04:00
Benjamin Otte
326cb1148b
columnview: Add a custom LayoutManager
...
The ColumnView now allocates column widths first and then the individual
rows use the new layout manager which looks at the column allocations to
allocate their children.
2020-05-30 19:26:46 -04:00
Benjamin Otte
767e7cb06f
constraint-editor: Don't poke around in widget internals
2020-05-30 19:26:46 -04:00
Benjamin Otte
084725e280
columnview: Fix styling with Adwaita
...
- Use "treeview" as the node name
- Add .view style class
2020-05-30 19:26:46 -04:00
Benjamin Otte
6e3b6980de
inspector: Port object tree to GtkColumnView
2020-05-30 19:26:46 -04:00
Benjamin Otte
9927d9bda2
columnview: Add GtkColumnViewCell
...
It's a GtkListItemWidget subclass that tracks the column it belongs to
and allows the column to track it.
We also use this subclass to implement sizing support so columns share
the same size and get resized in sync.
2020-05-30 19:26:46 -04:00
Benjamin Otte
34c6ef5332
widget: Add a hook for resizes
...
It's private, no APIs, we don't talk about it. But we will start using
it very soon, so we can do size request caching in columns and avoid
sizegroups...
2020-05-30 19:26:46 -04:00
Benjamin Otte
8af3e407c2
columnview: Implement GtkScrollable
...
Just forward it to the listview for now.
2020-05-30 19:26:46 -04:00
Benjamin Otte
8736343544
columnview: Add listitems for the columns
...
They are not aligned in columns yet, but they do exist.
2020-05-30 19:26:46 -04:00
Benjamin Otte
9caca0b127
listitemwidget: Lazily create listitems
...
We only create them in root/unroot (they should be created in
appear/disappear, but that vfunc doesn't exist yet), that way we can
avoid expensive work while the widget isn't used for anything.
2020-05-30 19:26:46 -04:00
Benjamin Otte
9d86020d4c
listitem: Move position/item/selected tracking to widget
...
This way, we can ensure it's always there when we need it (before the
item gets created) and gone when we don't (if some GC language holds on
to the item after we've destroyed the widget).
2020-05-30 19:26:46 -04:00
Benjamin Otte
32eedec565
listitemwidget: Add a private struct
...
I had to rename the item property to list_item anyway, so I could just
do the next step with it.
2020-05-30 19:26:46 -04:00
Benjamin Otte
1af004361c
listitemfactory: Simplify
...
Instead of 6 vfuncs, we now have 3 and rely on the factory keeping track
of what it needs to do.
We're doing lots of dancing from one object to another here, but this
will hopefully get simpler with further commits.
2020-05-30 19:26:46 -04:00
Benjamin Otte
b33c56819b
listitemfactory: Reorganize vfuncs
...
Instead of bind/rebind/update/unbind, we now just have update, and the
factories get to interpret that in the way they want.
2020-05-30 19:26:46 -04:00
Benjamin Otte
30f09ea10b
listitem: Make this a GObject
...
This splits GtkListItem into 2 parts:
1. GtkListItem
This is purely a GObject with public API for developers who want to
populate lists. There is no chance to cause conflict with GtkWidget
properties that the list implementation assumed control over and
defines a clear boundary.
2. GtkListItemWidget
The widget part of the listitem. This is not only fully in control of
the list machinery, the machinery can also use different widget
implementations for different list widgets like I inted to for
GtkColumnView.
2020-05-30 19:26:46 -04:00
Benjamin Otte
db3e225f09
builder: Make gtk_builder_extend_with_template() work with objects
...
This will be relevant later when we introduce GtkListItem which is not a
GtkWidget.
2020-05-30 19:26:46 -04:00
Benjamin Otte
a44c06b264
gtk-demo: Add a Coverflow application launcher
...
This is roughly the simplest demo I could come up with.
But I documented it, so there's your tutorial.
Related: #2214
2020-05-30 19:26:46 -04:00
Benjamin Otte
f5f9f70dd0
Add GtkSignalListItemFactory
...
So the poor Rust users can actually use this.
I would totally not use this ever!
2020-05-30 19:26:46 -04:00
Benjamin Otte
03e5c6e32d
columnview: Allow adding/removing columns
...
... and make that work in UI files via <child>, too.
2020-05-30 19:26:46 -04:00
Benjamin Otte
ca9e0c0e68
gtk-demo: Add a minesweeper demo
...
The demo shows creating ones own listmodel and using it to fill a grid.
I am totally getting the hang of React btw:
500 lines of logic with no UI code and 100 lines of GtkBuilder XML and
I get a sweet UI.
2020-05-30 19:26:46 -04:00
Benjamin Otte
0e1632d002
Add GtkColumnView skeleton
...
It's just a copy/paste of the listview code with all the internals
gutted. The code doesn't do anything.
2020-05-30 19:26:46 -04:00
Benjamin Otte
f4eb026c86
wip: Add GtkCoverFlow
...
The widget mostly works out of the box, but some tweaking may be
necessary (in particular in the theme) and the gtk-demo changes might
require removing before this is production-ready.
2020-05-30 19:26:46 -04:00
Benjamin Otte
e46fa81927
listbase: Take over anchor handling
...
With that, pretty much all code but allocating the widgets is gone from
the gridview and listview.
2020-05-30 19:26:46 -04:00
Benjamin Otte
33c6b428f7
listbase: Add vfuncs to convert positions to/from coordinates
...
... and use that to implement PageUp/PageDown.
With that, all keyboard handling has been moved to GtkListBase.
2020-05-30 19:26:46 -04:00
Benjamin Otte
12331e3376
listbase: Move focus moving keybindings here
...
The focus tracker is not yet moved because that depends on scroll_to()
support and we don't have that yet.
Whoops.
So we use a hack.
2020-05-30 19:26:46 -04:00
Benjamin Otte
dd5e6d47db
Remove gtk_selection_model_user_select_item() again
...
This reverts commit 6a164ab306dad9096bde736c907494c71086d3c4.
The function was awkward and we now have only one caller again, so we
can fold it back into it.
2020-05-30 19:26:46 -04:00
Benjamin Otte
2541037ec2
listbase: Move orientable implementation here
2020-05-30 19:26:46 -04:00
Benjamin Otte
9d6aa7d88e
listbase: Move selection handling here
2020-05-30 19:26:46 -04:00
Benjamin Otte
0bd16308d6
listbase: Move item manager here
...
Nothing really changes, because both ListView and GridView still keep
self->item_manager around, but it's set up to point at the base's item
manager.
This way we can slowly move things to GtkListBase that need the item
manager (like trackers).
2020-05-30 19:26:46 -04:00
Benjamin Otte
0011ce949c
listbase: Move GtkScrollable implementation
...
Shared code between GtkGridView and GtkListView.
2020-05-30 19:26:46 -04:00
Benjamin Otte
cc987b31ae
Add GtkListBase
...
This is a base item for GTK's list widgets so they can share some (read:
hopefully a lot of) code.
2020-05-30 19:26:46 -04:00
Benjamin Otte
c092d0a616
gridview: Simplify allocation code
...
It doesn't fix the bug I'm after, but it looks a lot better.
2020-05-30 19:26:46 -04:00
Benjamin Otte
ea390a4a73
listview: Port various gridview improvements
...
- Handle anchor as align + top/bottom
This fixes behavior for cells that are higher than the view
- Add gtk_list_view_adjustment_is_flipped()
This should fix RTL handling of horizontal lists
- Fix scrolling
This should make scrolling more reliable, particularly on short lists
that are only a few pages long.
2020-05-30 19:26:46 -04:00
Benjamin Otte
6b98948f9a
demo: Add a file browser demo
2020-05-30 19:26:46 -04:00
Benjamin Otte
f57afe51af
gridview: Add move keybindings
2020-05-30 19:26:46 -04:00
Benjamin Otte
bc22d04737
gridview: Implement (un)select all
...
Adds listitem.select-all and listitem.unselect-all actions and installs
the same keybindings as the treeview for those actions.
2020-05-30 19:26:46 -04:00
Benjamin Otte
093677b0f8
gridview: Add a focus tracker
...
... and use that to properly update selections when moving around with
the arrow keys.
2020-05-30 19:26:46 -04:00
Benjamin Otte
c38e050cc7
gridview: Implement list.scroll-to action
2020-05-30 19:26:46 -04:00
Benjamin Otte
ba0122fd02
gridview: Add activation
2020-05-30 19:26:46 -04:00
Benjamin Otte
affd2737d5
gridview: Implement minimum row height
...
We only allocate a certain amount of widgets - and we don't want to run
out of them. So we make all widgets high enough for this to never
happen.
2020-05-30 19:26:46 -04:00
Benjamin Otte
cc68073af0
gridview: Implement the list.select-item action
2020-05-30 19:26:46 -04:00
Benjamin Otte
cb2948eda6
selectionmodel: Add gtk_selection_model_user_select_item()
...
I'm not sure this should be public API because it's incredibly awkward.
But it should definitely be shared between list widget implementations.
2020-05-30 19:26:46 -04:00
Benjamin Otte
1b105cdbef
gridview: Implement anchors and scrolling
2020-05-30 19:26:45 -04:00
Benjamin Otte
dd436e8fe6
listitemmanager: Handle NULL factory
...
Just don't call it and create empty listitems.
2020-05-30 19:26:45 -04:00
Timm Bäder
a8d2bb6b22
demo: Use a listview as sidebar
2020-05-30 19:26:45 -04:00
Benjamin Otte
fcdc5030bd
gtk-demo: Introduce awards
...
We need a way to get a useful listbox, so here we go!
2020-05-30 19:26:45 -04:00
Benjamin Otte
aad9adf8c3
builder: Autofill scope property of listitemfactory
...
I couldn't come up with a better way to automatically inherit the scope
in the builder list item factory that didn't involve a magic
incantation in the XML file. And I do not want developers to know magic
incantations to do a thing that should pretty much always be done.
2020-05-30 19:26:45 -04:00
Benjamin Otte
48a223abdf
builderlistitemfactory: Add scope argument
...
This way, the scope used when creating builder instances can be
influenced. This way, callbacks can be passed into the factory.
2020-05-30 19:26:45 -04:00
Benjamin Otte
12e720fb23
listitemfactory: Make the builder factory properly buildable
...
Turn the construct arguments into construct properties so that they can
be set from ui files.
2020-05-30 19:26:45 -04:00
Benjamin Otte
042e13a932
listview: Add move keybindings
...
My god, these are a lot.
And my god, these are complicated to get right.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2b9481ecdc
listview: Add gtk_list_view_get_position_at_y()
2020-05-30 19:26:45 -04:00
Benjamin Otte
933c0c678a
listitem: Add "listitem.select" action and keybindings for it
...
In fact, grab space with all modifiers to toggle selection of the
current item.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2539828eac
listview: Add a focus tracker
...
This ensures that the row with the input focus always stays available,
even when scrolled out of view.
2020-05-30 19:26:45 -04:00
Benjamin Otte
4b6f3e0f2c
listview: Implement (un)select all
...
Adds listitem.select-all and listitem.unselect-all actions and installs
the same keybindings as the treeview for those actions.
2020-05-30 19:26:45 -04:00
Benjamin Otte
b9eb818b57
listview: Track focus movements and update selection
...
When focus moves via tab/arrow, we need to select the new item.
2020-05-30 19:26:45 -04:00
Benjamin Otte
eda547fc4e
listview: Implement activation
...
- a GtkListview::activate signal
- a GtkListItem::activatable property
- activate list items on double clicks and <Enter> presses
2020-05-30 19:26:45 -04:00
Benjamin Otte
1dbd017766
treeexpander: Implement input support
...
This implements all the keybindings from GtkTreeView that can be
supported.
It does not implement expand-all, because supporting that means
causing the TreeListModel to emit lots of create_model vfuncs which in
turn would cause many items-changed signal which in turn would cause
many signal handlers to run which in turn would make "expand-all" very
reentrant, and I'm uneasy about supporting that.
For the mouse, just add a click gesture to the expander icon that toggles
expanded state.
2020-05-30 19:26:45 -04:00
Benjamin Otte
08d9a57c6e
listitem: Change focus handling
...
Focus in the listitem now works like this:
1. If any child can take focus, do not ever attempt
to take focus.
2. Otherwise, if this item is selectable or activatable,
allow focusing this widget.
This makes sure every item in a list is focusable for
activation and selection handling, but no useless widgets
get focused and moving focus is as fast as possible.
2020-05-30 19:26:45 -04:00
Benjamin Otte
d7b5966fa7
inspector: Make the recorder node list use a ListView
...
It's quite a bit faster now, but the code is also a bit more awkward.
Pain points:
- GtkTreeListModel cannot be created in UI files because it needs
a CreateModelFunc.
Using a signal for this doesn't work because autoexpand wants to
expand the model before the signal handler is connected.
- The list item factory usage is still awkward. It's bearable here
because the list items are very simple, but still.
2020-05-30 19:26:45 -04:00
Benjamin Otte
bb44120ae3
inspector: Use a GtkTreeExpander in the object tree
2020-05-30 19:26:45 -04:00
Benjamin Otte
8b1f034242
inspector: Use a treeexpander in the recorder
2020-05-30 19:26:45 -04:00
Benjamin Otte
bb7968ba77
demo: Add a GSettings tree demo
...
It is meant to look somewhat like dconf-editor when it is done.
So far, it's just a list.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7451e51619
Add GtkTreeExpander
...
This is a container widget that takes over all the duties of tree
expanding and collapsing.
It has to be a container so it can capture keybindings while focus is
inside the listitem.
So far, this widget does not allow interacting with it, but it shows the
expander arrow in its correct state.
Also, testlistview uses this widget now instead of implementing
expanding itself.
2020-05-30 19:26:45 -04:00
Benjamin Otte
ea93e18081
gridview: Actually do something
...
Implement measuring and allocating items - which makes the items appear
when drawing and allows interacting with the items.
However, the gridview still does not allow any user interaction
(including scrolling).
2020-05-30 19:26:45 -04:00
Benjamin Otte
443e44853a
listview: Pass the CSS name of listitems to the manager
...
... instead of hardcoding "row".
2020-05-30 19:26:45 -04:00
Benjamin Otte
b73e95655d
gridview: Implement GtkOrientable
...
Again, this is just the skeleton, because the Gridview does nothing yet.
2020-05-30 19:26:45 -04:00
Benjamin Otte
e8bb84e0e2
gridview: Add factory handling
...
Just copy the listview APIs.
Code still doesn't do anything with it.
2020-05-30 19:26:45 -04:00
Benjamin Otte
626c525706
listview: Expose GtkListItemFactory APIs
...
Due to the many different ways to set factories, it makes sense to
expose them as custom objects.
This makes the actual APIs for the list widgets simpler, because they
can just have a regular "factory" property.
As a convenience function, gtk_list_view_new_with_factory() was added
to make this whole approach easy to use from C.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2ef2148fb5
gtk-demo: Add a rough start at a Weather demo
...
This demos a horizontal listview.
2020-05-30 19:26:45 -04:00
Benjamin Otte
86ad1bec16
listview: Implement GtkOrientable
2020-05-30 19:26:45 -04:00
Benjamin Otte
360a728d77
tests: Add a rough form of multiselection
...
Just store a "filechooser::selected" attribute in the GFileInfo if
the file is meant to be selected.
2020-05-30 19:26:45 -04:00
Benjamin Otte
cfcf0a7a8a
listview: Implement extending selections
...
Shift-clicking to extend selections now also works, imitating the
behavior of normal clicking and Windows Explorer (but not treeview):
1. We track the last selected item (normally, not via extend-clicking).
2. When shift-selecting, we modify the range from the last selected item
to this item the same way we modify the regular item when not using
shift:
2a. If Ctrl is not pressed, we select the range and unselect everything
else.
2b. If Ctrl is pressed, we make the range have the same selection state
as the last selected item:
- If the last selected item is selected, select the range.
- If the last selected item is not selected, unselect the range.
2020-05-30 19:26:45 -04:00
Benjamin Otte
f57fca7a00
listview: Add list.scroll_to_item action
...
The action scrolls the given item into view.
Listitems activate this action when they gain focus.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7c38ac1954
testlistview: Load icons async
...
Speeds up loading by 4x, because out of view icons aren't loaded
anymore.
2020-05-30 19:26:45 -04:00
Benjamin Otte
dbe802f685
testlistview: Port to directory list
2020-05-30 19:26:45 -04:00
Benjamin Otte
cfb293d396
listitemfactory: Add a factory for ui files
...
Reuse <template> magic to initialize GtkListItems. This feels
amazingly hacky, but it also amazingly worked on the first try.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2227fb957f
listitemfactory: Split implementation out
...
.. into gtkfunctionslistitemfactory.c
Now we can add a different implmenetation.
2020-05-30 19:26:45 -04:00
Benjamin Otte
824326a029
listitemfactory: vfuncify
...
No functional changes other than a new indirection.
2020-05-30 19:26:45 -04:00
Benjamin Otte
10b967ae1f
listitemfactory: Sanitize APIs
...
Make sure the APIs follow a predictable path:
setup
bind
rebind/update (0-N times)
unbind
teardown
This is the first step towards providing multiple different factories.
2020-05-30 19:26:45 -04:00
Benjamin Otte
0174bf4345
listview: Add gtk_list_view_set_show_separators()
...
Do the same thing that GtkListBox does in commit
0249bd4f8a
2020-05-30 19:26:45 -04:00
Benjamin Otte
1acfae8df2
listitemmanager: Add trackers
...
... and replace the anchor tracking with a tracker.
Trackers track an item through the list across changes and ensure that
this item (and potentially siblings before/after it) are always backed
by a GtkListItem and that if the item gets removed a replacement gets
chosen.
This is now used for tracking the anchor but can also be used to add
trackers for the cursor later.
2020-05-30 19:26:45 -04:00
Benjamin Otte
ce489f21fb
listitemmanager: Simplify
...
Remove a bunch of API from the headers that isn't used anymore and then
refactor code to not call it anymore.
In particular, get rid of GtkListItemManagerChange and replace it with a
GHashTable.
2020-05-30 19:26:45 -04:00
Benjamin Otte
368f04e06b
gridview: Implement GtkScrollable
...
We can now scroll all the nothing we display.
We also clip it properly.
2020-05-30 19:26:45 -04:00
Benjamin Otte
dc91782165
listitemmanager: Move list of listitems here
...
All the listview infrastructure moved with it, so the next step is
moving that back...
2020-05-30 19:26:45 -04:00
Benjamin Otte
86a75abe51
gridview: Add API for setting number of columns
...
The API isn't used yet.
2020-05-30 19:26:45 -04:00
Benjamin Otte
70aaecc937
gtk: Add a GtkGridView skeleton
2020-05-30 19:26:45 -04:00
Benjamin Otte
057effc5d6
listitem: Add a press gesture to select the item
...
This is implemented by using actions, which are a neat trick to get to
allow the ListItem to call functions on the ListView without actually
needing to be aware of it.
2020-05-30 19:26:45 -04:00
Benjamin Otte
d8c116f20a
listview: Add initial support for displaying selections
2020-05-30 19:26:45 -04:00
Benjamin Otte
01386aef29
listview: Reset listitems' CSS animations when rebinding
...
This way, newly displayed rows don't play an unselect animation (text
fading in) when they are unselected, but the row was previously used for
a selected item.
2020-05-30 19:26:45 -04:00
Benjamin Otte
b3fb80c608
listview: Add selection properties to ListItem
...
This just brings the infrastructure into place, we're not using the
properties yet.
2020-05-30 19:26:45 -04:00
Benjamin Otte
5b69fd535d
listview: Try to keep the list items in order when scrolling
...
Instead of just destroying all items and then recreating them (or even
hide()ing and then show()ing them again (or even even repositioning
them in the widget tree)), just try to reust them in the order they are.
This works surprisingly well when scrolling and most/all widgets
just moved.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7831980c1d
listlistmodel: Add gtk_list_list_model_item_moved()
...
Use it to fix a case that just said g_warning ("oops").
Apparently I had forgotten the case where a container moved a child
in the widget tree.
2020-05-30 19:26:45 -04:00
Benjamin Otte
fbfc7dc690
listitemmanager: Switch from "insert_before" to "insert_after" argumnet
...
We reorder widgets start to end, so when reusing a list item, we
correctly know the previous sibling for that list item, but not the
next sibling yet. We just know the widget it should ultimately be in
front of.
So we can do a more correct guess of the list item's place in the widget
tree if we think about where to place an item like this.
Actually using this change will come in the next commit.
2020-05-30 19:26:45 -04:00
Benjamin Otte
d8eec549f0
testlistview: Create widgets only once
...
Previously, we were recreating all widgets every time the list item was
rebound, which caused a lot of extra work every time we scrolled.
Now we keep the widgets around and only set their properties again when
the item changes.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7389e704dc
testlistview: Show the row number
...
Always show the current row. This is mostly useful for debugging, not
for beauty.
2020-05-30 19:26:45 -04:00
Benjamin Otte
b64da6d268
listview: Only allocate necesary rows
...
This is the big one.
The listview only allocates 200 rows around the visible row now.
Everything else is kept in ListRow instances with row->widget == NULL.
For rows without a widget, we assign the median height of the child
widgets as the row's height and then do all calculations as if there
were widgets that had requested that height (like setting adjustment
values or reacting to adjustment value changes).
When the view is scrolled, we bind the 200 rows to the new visible area,
so that the part of the listview that can be seen is always allocated.
2020-05-30 19:26:45 -04:00
Benjamin Otte
2ba2a216ca
listview: Change anchor handling again
...
The anchor is now a tuple of { listitem, align }.
Using the actual list item allows keeping the anchor across changes
in position (ie when lists get resorted) while still being able to fall
back to positions (list items store their position) when an item gets
removed.
The align value is in the range [0..1] and defines where in the visible
area to do the alignment.
0.0 means to align the top of the row with the top of the visible area,
1.0 aligns the bottom of the widget with the visible area and 0.5 keeps
the center of the widget at the center of the visible area.
It works conceptually the same as percentages in CSS background-position
(where the background area and the background image's size are matched
the same way) or CSS transform-origin.
2020-05-30 19:26:45 -04:00
Benjamin Otte
e5add36a17
listview: Change how binding is done
...
We now don't let the functions create widgets for the item from the
listmodel, instead we hand out a GtkListItem for them to add a widget
to.
GtkListItems are created in advance and can only be filled in by the
binding code by gtk_container_add()ing a widget.
However, they are GObjects, so they can provide properties that the
binding code can make use of - either via notify signals or GBinding.
2020-05-30 19:26:45 -04:00
Benjamin Otte
fe14181d4e
listitem: Add gtk_list_item_get_position()
...
Also refactor the whole list item management yet again.
Now, list item APIs doesn't have bind/unbind functions anymore, but only
property setters.
The item factory is the only one doing the binding.
As before, the item manager manages when items need to be bound.
2020-05-30 19:26:45 -04:00
Benjamin Otte
378a573cf4
tests: Make animating listview do random resorts
2020-05-30 19:26:45 -04:00
Benjamin Otte
ec8684e87d
listview: Change change management
...
Add a GtkListItemManagerChange object that tracks all removed list
rows during an item-changed signal so they can be added back later.
2020-05-30 19:26:45 -04:00
Benjamin Otte
54042029d3
listview: Make the listitemmanager stricter
...
Require that items created with the manager get destroyed via the
manager.
To that purpose, renamed create_list_item() to acquire_list_item() and
add a matching release_list_item() function.
This way, the manager can in the future keep track of all items and
cache information about them.
2020-05-30 19:26:45 -04:00
Benjamin Otte
e1fa627158
listview: Add GtkListItem
...
GtkListItem is a generic row widget that is supposed to replace
GtkListBoxRow and GtkFlowBoxChild.
2020-05-30 19:26:45 -04:00
Benjamin Otte
9d5bb875b1
listview: Add GtkListItemManager
...
It's all stubs for now, but here's the basic ideas about what
this object is supposed to do:
(1) It's supposed to be handling all the child GtkWidgets that are
used by the listview, so that the listview can concern
itself with how many items it needs and where to put them.
(2) It's meant to do the caching of widgets that are not (currently)
used.
(3) It's meant to track items that remain in the model across
items-changed emissions and just change position.
(2) It's code that can be shared between listview and potential
other widgets like a GridView.
It's also free to assume that the number of items it's supposed to
manage doesn't grow too much, so it's free to use O(N) algorithms.
2020-05-30 19:26:44 -04:00
Benjamin Otte
b3c150e929
listview: Implement an anchor
...
The anchor selection is very basic: just anchor the top row.
That's vastly better than any other widget already though.
2020-05-30 19:26:44 -04:00
Benjamin Otte
d03a55599b
tests: Add a test for a permanently changing listview
...
This is mostly for dealing with proper anchoring and can be used to
check that things don't scroll or that selection and focus handling
properly works.
For comparison purposes, a ListBox is provided next to it.
2020-05-30 19:26:44 -04:00
Benjamin Otte
ed8fe6c219
listview: Implement GtkScrollable
...
Scrolling in a very basic form is also supported
2020-05-30 19:26:44 -04:00
Benjamin Otte
c835ae2a02
listview: Make widget actually do something
...
The thing we're actually doing is create and maintain a widget for every
row. That's it.
Also add a testcase using this. The testcase quickly allocates too many
rows though and then becomes unresponsive though. You have been warned.
2020-05-30 19:26:44 -04:00
Benjamin Otte
e20c207a22
listview: Introduce GtkListItemFactory
...
Thisis the abstraction I intend to use for creating widgets and binding
them to the item out of the listview.
For now this is a very dumb wrapper around the functions that exist in
the API.
But it leaves the freedom to turn this into public API, make an
interface out of it and most of all write different implementations, in
particular one that uses GtkBuilder.
2020-05-30 19:26:44 -04:00
Benjamin Otte
e19c4a3372
gtk: Add a GtkListView skeleton
2020-05-30 19:26:44 -04:00
Benjamin Otte
934bfc8887
builder: Add <binding> tag
...
The tag contains an expression that it then gtk_expression_bind()s to
the object it is contained in.
2020-05-30 19:26:44 -04:00
Benjamin Otte
713a6676ff
builder: Allow text content in <lookup>
...
<lookup>foo</lookup>
is now short for
<lookup>
<constant>foo</constant>
</lookup>
ie it looks up the object with the given name so it can then do a
property lookup with it.
This is the most common operation, so it's a nice shortcut.
2020-05-30 19:26:44 -04:00
Benjamin Otte
448a88e4f5
builder: Allow <constant> without a type
...
A constant without a type is assumed to be an object. This is the most
common case and allows
<constant>foo</constant>
without requiring updates to the type whenever the foo object changes.
2020-05-30 19:26:44 -04:00
Benjamin Otte
ed22af50bc
builder: Make <lookup> type optional
...
If no type is set, use the type of the expression.
2020-05-30 19:26:44 -04:00
Benjamin Otte
d3dc9c41b4
gtk-demo: Make fishbowl info text use bindings
...
It's a good demo for how bindings can format multiple properties into an
informative string with 1 line of code (and 5 lines of XML).
2020-05-30 19:26:44 -04:00
Matthias Clasen
d1b2ded7e2
sorter: Add tests
...
Some basic tests for GtkSorter.
2020-05-30 19:26:44 -04:00
Benjamin Otte
ee3faf24b9
sortlistmodel: Make sort stable
...
The sort of the sortlistmodel is now stable with respect to the original
list model.
That means that if the sorter compares items as equal, the model
will make sure those items keep the order they were in in the original
model.
Or in other words: The model guarantees a total order based on the
item's position in the original model.
2020-05-30 19:26:44 -04:00
Benjamin Otte
16ab648093
sortlistmodel: Redo the way we store the items
...
We need to keep this data around for changes in future commits where we
make the sorting stable.
An important part of the new data handling is that the unsorted list
needs to always be dealt with before the sorted list - upon creation we
rely on the unsorted iter and upon destruction, the sorted sequence
frees the entry leaving the unsorted sequence pointer invalid.
This change does not do any behavioral changes.
2020-05-30 19:26:44 -04:00
Matthias Clasen
11a1f8f36a
Redo sort list model with GtkSorter
...
Reshuffle the api to take full advantage
of GtkSorter. Update all callers.
2020-05-30 19:26:44 -04:00
Matthias Clasen
1eda9884a0
Add GtkNumericSorter
...
This sorter compares numbers obtained from items
by evaluating an expression.
2020-05-30 19:26:44 -04:00
Matthias Clasen
ae4bb2d914
Add GtkMultiSorter
...
This is a sorter that tries multiple sorters in turn.
2020-05-30 19:26:44 -04:00
Matthias Clasen
6d68c536f3
Add GtkStringSorter
...
This is a GtkSorter implementation collating strings
2020-05-30 19:26:44 -04:00
Matthias Clasen
e74a9d09e6
Add GtkCustomSorter
...
This is a GtkSorter implementation which uses a GCompareDataFunc.
2020-05-30 17:48:44 -04:00
Matthias Clasen
b2b847f365
Add GtkSorter
...
This is a helper object for sorting, similar to GtkFilter.
2020-05-30 17:48:44 -04:00
Benjamin Otte
cb15ec0257
Add GtkOrdering
...
This is an enum that we're gonna use soon and it's worth introducing as a
separate commit.
The intention is to have meaningful names for return values in
comparison functions.
2020-05-30 17:48:44 -04:00
Matthias Clasen
115923b2d9
More expression tests
...
Test type mismatches, and the this pointer
during evaluation.
2020-05-30 17:48:44 -04:00
Benjamin Otte
ad60efb5d7
expression: Invalidate bindings before destroying them
...
Use a weak ref to invalidate bindings. Make sure that this happens
before creating any watches, so that notifies from the
watched expression about changes will not trigger set_property() calls
during dispose()/finalize().
Invalidating also ensures that the watches aren't removed, which can
trigger warnings if the watches are watching the object itself, and the
weak refs cannot be removed anymore.
2020-05-30 17:48:44 -04:00
Benjamin Otte
b7efe4eb4f
expression: Add gtk_expression_bind()
...
Add a simple way to bind expressions to object properties. This is
essentially the thing to replace g_object_bind_property().
2020-05-30 17:48:44 -04:00
Benjamin Otte
92c359ca09
testsuite: Add expression tests
2020-05-30 17:48:44 -04:00
Benjamin Otte
ec742f9373
expression: Add the ability to watch an expression
2020-05-30 17:48:44 -04:00
Benjamin Otte
fde75aa9f6
builder: Add support for parsing expressions
2020-05-30 17:47:47 -04:00
Benjamin Otte
2df3c39e50
filter: Add tests
...
Some basic tests for GtkFilter
2020-05-30 17:42:09 -04:00
Benjamin Otte
22659afd00
Add GtkMultiFilter, GtkAnyFilter, GtkEveryFilter
...
GtkMultiFilter is the abstract base class for managing multiple child
filter.
GtkAnyFilter and GtkEveryFilter are the actual implementations.
2020-05-30 17:42:09 -04:00
Benjamin Otte
410e7dcf5d
filter: Add GtkStringFilter
...
Users provide a search filter and an expression that evaluates the items
to a string and then the filter goes and matches those strings to the
search term.
2020-05-30 17:42:09 -04:00
Benjamin Otte
bd8655fdee
expression: Add GtkObjectExpression
...
Weak refs break cycles...
2020-05-30 17:42:09 -04:00
Benjamin Otte
e9f1ee5aab
Add GtkExpression
...
GtkExpressions allow looking up values from objects.
There are a few simple expressions, but the main one is the closure
expression that just calls a user-provided closure.
2020-05-30 17:42:08 -04:00
Benjamin Otte
4abdf695e3
filterlistmodel: Rewrite to use GtkFilter
2020-05-30 12:30:23 -04:00
Benjamin Otte
b1090ac8e2
tests: Remove testtreemodel test
...
testlistview does everything this test does.
2020-05-30 12:30:23 -04:00
Benjamin Otte
1ab081b584
Add GtkCustomFilter
2020-05-30 12:30:23 -04:00
Benjamin Otte
1df17f2fea
Add GtkFilter
2020-05-30 12:30:23 -04:00
Benjamin Otte
682e97826c
Add GtkDirectoryList
...
Adds a new listmodel called GtkDirectoryList that lists the children of
a GFile as GFileInfos.
This is supposed to be used by the filechooser.
2020-05-30 12:30:23 -04:00
Benjamin Otte
805fea20cb
eventcontrollermotion: Remove mode argument
...
It's not used and nobody has documented how it's meant to work anyway.
2020-05-30 12:30:23 -04:00
Matthias Clasen
415bfeb950
Merge branch 'fix-pango-deps' into 'master'
...
Fix inconsistencies in our pango deps
See merge request GNOME/gtk!1989
2020-05-30 16:29:12 +00:00
Matthias Clasen
2f20a40922
Merge branch 'matthiasc/for-master' into 'master'
...
Some listview preparations
See merge request GNOME/gtk!1988
2020-05-30 15:51:21 +00:00
Matthias Clasen
5235a4c48a
Fix inconsistencies in our pango deps
...
We were applying the pango version requirements inconsistently,
leading to different pango variables being taking from system
pango vs the subproject at times. Thankfully, meson detects
this and complains, so we can fix it.
2020-05-30 11:13:55 -04:00
Matthias Clasen
bb7f6ed544
Merge branch 'fix-gesture-leak' into 'master'
...
gesture: Don't leak target widgets
Closes #2801
See merge request GNOME/gtk!1986
2020-05-30 15:12:05 +00:00
Benjamin Otte
f1d6a0a4ed
widget: Add gtk_widget_get_size()
...
A little bit of convenience.
2020-05-30 10:48:02 -04:00
Benjamin Otte
3c1cca13b7
wayland: Remove function declaration for nonexisting function
2020-05-30 10:46:49 -04:00
Benjamin Otte
1ef805328f
builder: Allow <property bind /> for objects
...
Previously, object properties had to always be set to a value.
This now works without it.
2020-05-30 10:46:27 -04:00
Matthias Clasen
fd73f8d972
Merge branch 'pango-bump-v2' into 'master'
...
pango version bump v2
See merge request GNOME/gtk!1987
2020-05-30 14:45:47 +00:00
Matthias Clasen
3a8ebf4c9f
Merge branch 'wip/jimmac/backdrop-assasination' into 'master'
...
Adwaita: limit scope of :backdrop
Closes #2694
See merge request GNOME/gtk!1978
2020-05-30 14:41:52 +00:00
Matthias Clasen
b482b7d8af
Bump the pango dependency
...
We soon want to rely on the list model apis in
pango 1.45. This commit also fixes a mixup where
using pango as a submodule would break the build
when pangoft2 is required.
2020-05-30 15:47:56 +02:00
Matthias Clasen
0d69c42320
gesture: Don't leak target widgets
...
This was broken when we started tracking event targets
in dcbecdac31 .
Fixes : #2801
2020-05-30 09:47:24 -04:00
Christoph Reiter
011f5afe4e
CI: install a newer pango for MSYS2
...
Uses a build from git master from today
2020-05-30 15:47:02 +02:00
Matthias Clasen
8bab7b237c
Merge branch 'matthiasc/for-master' into 'master'
...
eventcontroller: Fix crossing event scopes
See merge request GNOME/gtk!1983
2020-05-30 13:41:42 +00:00
Matthias Clasen
821a458393
Revert "Bump the pango dependency"
...
This reverts commit 98df0be43d .
It broke the win32 build.
2020-05-30 08:55:21 -04:00
Matthias Clasen
66120cff4b
eventcontroller: Fix crossing event scopes
...
We want to deliver crossing events to controllers
with scope same-native as long as at least one of
the targets is on the same native. As a new approach,
treat out-of-scope targets like NULL, and deliver
crossing events as long as one of the targets is
not NULL.
2020-05-29 19:41:39 -04:00
Matthias Clasen
8ce1034e87
Add GTK_DEBUG=shortcuts
...
If the shortcuts debug flag is set, print out
shortcut activations.
2020-05-29 17:59:58 -04:00
Matthias Clasen
a39d708859
meson: Cosmetics
...
Treat the display backend list like other lists in the summary.
2020-05-29 15:40:34 -04:00
Matthias Clasen
98df0be43d
Bump the pango dependency
...
We soon want to rely on the list model apis in
pango 1.45. This commit also fixes a mixup where
using pango as a submodule would break the build
when pangoft2 is required.
2020-05-29 10:53:39 -04:00
Matthias Clasen
4125eb01ba
Merge branch 'matthiasc/for-master' into 'master'
...
Bring back gdk_display_put_event
See merge request GNOME/gtk!1980
2020-05-29 14:14:02 +00:00
Matthias Clasen
346bba6592
Bring back gdk_display_put_event
...
It is still needed in WebKit.
2020-05-29 09:26:50 -04:00
Alexander Larsson
0bd039a524
gtk-demo: Don't show main window if --run is passed in
...
Also, in that case, exit when the demo window is closed.
2020-05-29 13:51:31 +02:00
Jakub Steiner
f4705bab1e
Adwaita: limit scope of :backdrop
...
- most controls don't have:backdrop state
- different :backdrop state reserved for windows, headebars and toolbars
and some buttons
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2694
2020-05-29 12:43:13 +02:00
Matthias Clasen
c7a9d7b56b
Merge branch 'im-context-key-forward' into 'master'
...
Add back keyboard related apis
See merge request GNOME/gtk!1977
2020-05-29 00:10:39 +00:00
Matthias Clasen
4d4b836976
Merge branch 'display-api' into 'master'
...
gdk: Make event-related apis private
See merge request GNOME/gtk!1929
2020-05-28 21:11:54 +00:00
Matthias Clasen
506d73cf32
Add gtk_im_context_filter_key
...
An event-less variant of the filtering api.
2020-05-28 17:08:33 -04:00
Jordi Mas
d71ad3539e
Update Catalan translation
2020-05-28 21:43:02 +02:00
Matthias Clasen
266a3a5267
Export keymap translation again
...
This is needed in WebKit webdriver test environment.
2020-05-28 15:15:53 -04:00
Matthias Clasen
48f8affb2c
gdk: Make event-related apis private
...
Without a way to create events, there is no point
in allowing gdk_display_put_event to be used from
the outside. And little good can come out of using
the other apis, so just make them all private.
2020-05-28 14:53:08 -04:00
Alexander Larsson
2503251576
Merge branch 'frame-clock-alternative-approach-gtk4' into 'master'
...
Frame clock alternative approach for gtk4
See merge request GNOME/gtk!1932
2020-05-28 16:22:53 +00:00
Alexander Larsson
a27fed47e0
frame-clock: Ensure we're always monotonic
...
A call to frame gdk_frame_clock_get_frame_time() outside of the paint
cycle could report an un-error-corrected frame time, and later a
corrected value could be earlier than the previously reported value.
We now always store the latest reported time so we can ensure
monotonicity.
2020-05-28 17:44:51 +02:00
Matthias Clasen
56030a7a81
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1976
2020-05-28 13:43:22 +00:00
Alexander Larsson
fee3aaae94
tests: Disable idle locking in headless weston
...
In my local testing i was burned by the default 300sec value here.
I'm not sure if we actually hit this in the CI, but lets not
take any chances.
2020-05-28 15:15:04 +02:00
Alexander Larsson
20f15f5111
reftests: Fix frame inhibiting
...
Actually inhibit snapshotting of frames from reftest_inhibit_snapshot.
We were not ignoring the case where inhibit_count > 0, and then disconnected
the callback meaning we only ever got the first snapshot.
2020-05-28 15:13:13 +02:00
Alexander Larsson
9ef3e70040
frame-clock: New approach in smoothing frame clock
...
In commit c6901a8b , the frame clock reported time was changed from
simply reporting the time we ran the frame clock cycle to reporting a
smoothed value that increased by the frame interval each time it was
called.
However, this change caused some problems, such as:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1415
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1416
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1482
I think a lot of this is caused by the fact that we just overwrote the
old frame time with the smoothed, monotonous timestamp, breaking
some things that relied on knowing the actual time something happened.
This is a new approach to doing the smoothing that is more explicit.
The "frame_time" we store is the actual time we ran the update cycle,
and then we separately compute and store the derived smoothed time and
its period, allowing us to easily return a smoothed time at any time
by rounding the time difference to an integer number of frames.
The initial frame_time can be somewhat arbitrary, as it depends on the
first cycle which is not driven by the frame clock. But follow-up
cycles are typically tied to the the compositor sending the drawn
signal. It may happen that the initial frame is exactly in the middle
between two frames where jitter causes us to randomly round in
different directions when rounding to nearest frame. To fix this we
additionally do a quadratic convergence towards the "real" time,
during presentation driven clock cycles (i.e. when the frame times are
small).
2020-05-28 15:13:07 +02:00
Alexander Larsson
f1215d2d77
frame clock: Use compositor refresh rate info even if presentation time not set
...
On my X11 + nvidia setup gnome-shell doesn't report presentation times.
However it does report refresh rate. We were mostly using this in our
calculation except when computing predicted presentation time, were
it fell back on the default 60Hz.
2020-05-28 15:12:32 +02:00
Alexander Larsson
0ad73da68a
frame clock: Used drawn_time (as well as presentation time) in profiler marks.
2020-05-28 15:12:32 +02:00
Alexander Larsson
e2a4be0243
FrameClock debug: Log drawn_time if set
2020-05-28 15:12:32 +02:00
Matthias Clasen
2d80b105ce
shortcut controller: Fix mnemonic cycling
...
Iterate the shortcuts we found in order, not in
reverse. Otherwise, we always end up activating
the last_selected one, since it is last in the
list.
This broke in fb9b54d4b2 when a list was
turned into an array.
2020-05-28 08:52:55 -04:00
Matthias Clasen
1f4130b927
widget-factory: Add a mnemonic conflict
...
Make Alt-e the mnemionic for both the Edit menu
and the Select button on page 2. This shows that
mnemonic cycling doesn't currently work, we always
open the menu.
2020-05-28 08:34:06 -04:00
Yuri Chornoivan
bdf40943db
Update Ukrainian translation
2020-05-28 10:05:11 +00:00
Emmanuele Bassi
4c9357aaef
Merge branch 'fix_typos' into 'master'
...
Fix minor typos
See merge request GNOME/gtk!1974
2020-05-28 09:11:43 +00:00
Yuri Chornoivan
01bd4cc4e1
Fix minor typos
2020-05-28 11:00:03 +03:00
Matthias Clasen
92bc78c12f
Merge branch 'matthiasc/for-master' into 'master'
...
a11y: Widgets have children
See merge request GNOME/gtk!1973
2020-05-28 03:58:02 +00:00
Matthias Clasen
8e427b7d69
a11y: Widgets have children
...
This brings back some of what we lost when
GtkContainerAccessible went away.
2020-05-27 22:56:33 -04:00
Matthias Clasen
2ad127d290
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1972
2020-05-28 00:55:42 +00:00
Matthias Clasen
2c80691be6
aboutdialog: Stop overriding show()
...
This is entirely unnecessary.
2020-05-27 20:05:26 -04:00
Matthias Clasen
1cd71203b8
volumebutton: Enable the tooltips
...
Little point in having a query-tooltip handler if
we don't make sure ::query-tooltip is emitted.
2020-05-27 19:02:30 -04:00
Matthias Clasen
9c5fc0fb7a
volumebutton: Remove broken a11y code
...
The accessible of a button is not an AtkImage,
so whatever this code was trying to do isn't
working. Remove it.
2020-05-27 19:02:19 -04:00
Matthias Clasen
1927a8af71
tooltips: Fix a line wrap mishap
...
We don't want wrapping labels to cause tooltips to
have excessive height, so we need to set a reasonable
value for width-chars, without forcing short tooltips
into a full line length. Also be careful to respect
preexisting line breaks (we have such examples in
widget factory).
2020-05-27 19:01:46 -04:00
Emmanuele Bassi
fe40e674c5
Merge branch 'ebassi/overlay-docs' into 'master'
...
Ebassi/overlay docs
See merge request GNOME/gtk!1970
2020-05-27 16:50:55 +00:00
Matthias Clasen
194b0be8bf
Merge branch 'matthiasc/for-master' into 'master'
...
Add to the docs README
See merge request GNOME/gtk!1971
2020-05-27 16:36:18 +00:00
Matthias Clasen
c42219cd5b
Add to the docs README
...
Mention markdown syntax and gtk-doc additions.
2020-05-27 11:11:30 -04:00
Emmanuele Bassi
637186976c
Remove spurious annotations
...
Boolean values are not nullable, and have no ownership to transfer.
2020-05-27 15:49:24 +01:00
Emmanuele Bassi
175d4ef03e
Add missing documentation for GtkOverlayLayout
...
We're missing the documentation for the constructor, and for the child
properties.
2020-05-27 15:49:24 +01:00
Emmanuele Bassi
85af410b8b
Merge branch 'ebassi/howto-docs' into 'master'
...
Ebassi/howto docs
See merge request GNOME/gtk!1969
2020-05-27 14:10:40 +00:00
Emmanuele Bassi
347cb94c43
docs: Link the documentation guidelines
...
From the coding style.
2020-05-27 13:44:50 +01:00
Emmanuele Bassi
c5485cd6b1
Add the beginnings of a docs contribution guide
...
We have one for the whole project, but the documentation should have a
proper introduction and a proper style guide.
2020-05-27 13:44:50 +01:00
Emmanuele Bassi
e30c974646
Add myself to more sections
2020-05-27 13:44:50 +01:00
Emmanuele Bassi
6b6c76e3a2
docs: Remove last two steps from the release howto
...
Drop the GTK list announcements, as we don't have lists any more.
The GTK website updates itself automatically, these days.
2020-05-27 13:44:50 +01:00
Emmanuele Bassi
25a8fa73f8
docs: Turn coding style into a markdown document
...
It was mostly one already, just needed some minor fixes.
2020-05-27 13:44:50 +01:00
Timm Bäder
7f2e3c44b3
Merge branch 'carlosgc/fix-build' into 'master'
...
build: add gtkoverlaylayout.h to the list of public headers
See merge request GNOME/gtk!1968
2020-05-27 10:06:53 +00:00
Carlos Garcia Campos
a2aa25d28e
build: add gtkoverlaylayout.h to the list of public headers
...
GtkOverlayLayout is now public but the header is not installed.
2020-05-27 11:13:02 +02:00
Matthias Clasen
9f4da7dfd1
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1967
2020-05-27 03:54:59 +00:00
Matthias Clasen
646a1c2b88
win32: Drop an unsed variable
2020-05-26 22:23:43 -04:00
Matthias Clasen
c47553e319
gdk: Drop no-longer-used documentation
...
Thread support is gone, and we don't have that
section in the docs anymore.
2020-05-26 20:52:41 -04:00
Matthias Clasen
45f162fc50
gdk: Remove an unused texture api
...
gdk_gl_texture_from_surface wasn't used anywhere,
so lets drop it.
2020-05-26 20:43:47 -04:00
Matthias Clasen
a20291f235
gdk: Drop some unused event queue functions
2020-05-26 20:43:47 -04:00
Matthias Clasen
3468b2fc44
gdk: Clean up gdkinternals.h
...
Remove definitions that are just leftovers with
nothing behind them anymore.
2020-05-26 20:43:47 -04:00
Matthias Clasen
aa0d0dc510
gdk: Drop _gdk_windowing_args
...
We are no longer parsing commandline args, so this
was a useless leftover that was still defined in
the win32 backend.
2020-05-26 20:13:13 -04:00
Matthias Clasen
9c82946e45
docs: Drop a mention of gdk_window_move()
...
We don't have windows anymore, and they don't move
anymore either.
2020-05-26 20:05:34 -04:00
Matthias Clasen
e5a9255555
gdk: Move the GdkGeometry typedef to gdkinternals.h
...
The struct was already there, so this is just a leftover.
2020-05-26 20:04:40 -04:00
Matthias Clasen
e14322137f
gdk: Drop the GdkByteOrder enum
...
Move it to the private gdkvisual-x11.h header, which
is the only place where its used.
2020-05-26 19:45:01 -04:00
Matthias Clasen
f27d855c68
gdk: Drop the GdkEventMask enum
...
This is not used in public api anymore.
Some of the backends still use it internally,
so keep it in gdkinternals.h for now.
2020-05-26 19:39:31 -04:00
Matthias Clasen
0553b10214
gdk: Drop the GdkSurfaceTypeHint enum
...
This is not used in public api anymore.
Some of the backends still use it internally,
so keep it in gdkinternals.h for now.
2020-05-26 19:34:59 -04:00
Matthias Clasen
105fc16a9a
testsuite: Drop the type-hint property from tests
...
No point in excluding a property that no longer
exists.
2020-05-26 19:31:12 -04:00
Matthias Clasen
efbc661620
window: Drop an unused field
...
The type-hint property is gone, and nothing reads
or writes the type_hint field anymore.
2020-05-26 19:30:26 -04:00
Matthias Clasen
7fb5b970f5
gdk: Drop GDK_PARENT_RELATIVE
...
This define is not used anywhere.
2020-05-26 19:21:55 -04:00
Matthias Clasen
5f9bcd0409
accelgroup: Expand translator comment
...
Add details about the use of KP.
2020-05-25 22:50:03 -04:00
Matthias Clasen
bd3f4599ed
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2778
See merge request GNOME/gtk!1966
2020-05-26 02:41:37 +00:00
Matthias Clasen
ddf6138d07
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
Closes #2783
See merge request GNOME/gtk!1962
2020-05-26 01:35:11 +00:00
Matthias Clasen
8c6bbcdc2e
docs: Mention shortcuts in the migration guide
...
Add a few paragraphs about GtkAccelGroup, GtkBindingSet
and GtkAccelMap to the migration guide.
Fixes : #2778
2020-05-25 21:27:58 -04:00
Matthias Clasen
a55d179215
accelgroup: Drop some unused code
2020-05-25 20:56:09 -04:00
Matthias Clasen
ec39ddee63
Help static analysis with an assertion
...
It is hard for clang to see that layouts will
always be smaller than num_layouts, so just assert
that.
2020-05-25 20:56:09 -04:00
Matthias Clasen
0f096d6ad9
bitmask: add an assertion
...
The static analysis in ci is complaining about
this, since it doesn't know that start is always
smaller than end.
2020-05-25 20:56:09 -04:00
Matthias Clasen
92d42d4b67
printing: Drop a redundant assignment
...
This showed up as a warning in static analysis in ci.
2020-05-25 20:56:09 -04:00
Matthias Clasen
17b5cfc924
docs: Mention pandoc as build dependency
2020-05-25 20:56:09 -04:00
Matthias Clasen
5590e2f6f2
Merge branch 'doc-chapters-markdown' into 'master'
...
Include markdown content, via pandoc
See merge request GNOME/gtk!1961
2020-05-26 00:55:10 +00:00
Matthias Clasen
ae2e548b4b
docs: Use the right python
2020-05-25 18:40:09 -04:00
Matthias Clasen
4dbf73d9aa
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1965
2020-05-25 20:23:06 +00:00
Matthias Clasen
86f8be41d0
ci: Use fedora-docs for the doc build
...
Our doc build now uses pandoc, so use an image
that has it.
2020-05-25 16:11:18 -04:00
Matthias Clasen
f60149cd9e
ci: Add a fedora-docs image
...
Split the fedora image into fedora-base (containing just
the packages) and fedora (adding the user setup), and add
a fedora-docs image that is adding pandoc on top of the
fedora-base image.
2020-05-25 16:11:18 -04:00
Matthias Clasen
aca8090a09
docs: Convert question index to markdown
...
With this, the expand_content_files list has been
completely converted to markdown files. Whats left
in content_files is man pages, and a few special
cases.
2020-05-25 16:11:18 -04:00
Matthias Clasen
84437ee0e0
docs: Allow interrupted lists
...
We use such an interrupted, numbered list in the
q&a section, so tell pandoc to pay attention to
start numbers.
2020-05-25 16:11:18 -04:00
Matthias Clasen
dc858c9686
docs: Convert treeview and textview overview to markdown
2020-05-25 16:11:18 -04:00
Matthias Clasen
581b39a38d
docs: Allow influencing pandoc divisons
...
Arrange for files named section-foo.md to be turned
into docbook sections, while others get turned into
chapters. This is necessary to allow including such
content in chapters, since chapters in docbook don't
nest.
2020-05-25 16:11:18 -04:00
Matthias Clasen
a37b9d7578
docs: Drop the glossary
...
It is very incomplete, somewhat outdated, and
we lack the resources to maintain it properly.
2020-05-25 16:11:18 -04:00
Matthias Clasen
5a3fe9e5f5
docs: Convert resources section to markdown
2020-05-25 16:11:18 -04:00
Matthias Clasen
f44d611f77
docs: Drop a long-stale file
...
The other_software.xml section has not been included in
the docs since 2.x, as far as I can tell. It was clearly
written before GIO existed.
2020-05-25 16:11:18 -04:00
Matthias Clasen
29fb9ae2d6
docs: Convert platform sections to markdown
2020-05-25 16:11:18 -04:00
Matthias Clasen
2595cd5a93
docs: Convert getting_started to markdown
...
As part of the conversion, give up on including
sources files from the examples directory, and
instead include the content directly. All include
mechanisms add complications. They were already
complicated with xml, and markdown is not making
things easier.
We already did that for fragments, and if you
make changes to these example sources, you
probably need to revise the surrounding text
anyway.
2020-05-25 16:11:18 -04:00
Matthias Clasen
bf14d75cad
docs: Refresh the inspector screenshot
2020-05-25 16:11:18 -04:00
Matthias Clasen
b99511ee55
docs: Convert building, compiling, running to markdown
2020-05-25 16:11:18 -04:00
Matthias Clasen
3bf90b4218
doc: Check for pandoc
...
Add an explicit check for pandoc, so we get a clear
error message if it is missing.
2020-05-25 16:11:18 -04:00
Matthias Clasen
9873d983ed
docs: Convert css overview to markdown
2020-05-25 16:11:18 -04:00
Matthias Clasen
3338d24da4
docs: Be more careful when expanding abbreviations
...
We must not expand #symbol in the middle of a url,
where it is probably a fragment identifier. Restrict
problem.
2020-05-25 16:11:18 -04:00
Matthias Clasen
10cd539104
wip: Include markdown content, via pandoc
...
Use pandoc to convert freestanding markdown files to docbook for
inclusion in the generated docs, and use bits and pieces of
gtk-doc code to continue expanding typical gtk-doc abbreviations.
The new tool for markdown -> docbook is a python script called
gtk-markdown-to-docbook.
The markdown dialect is specified via a list of pandoc extension
in gtk-markdown-to-docbook. It includes header annocations,
definition lists and tables, among other things.
This commit converts the 3 overview chapters (drawing, input
handling and actions) and the migration guide to markdown
syntax. Other files that are still listed in content_files
can be converted later.
This commit adds a pandoc dependency.
2020-05-25 16:11:18 -04:00
Matthias Clasen
e4623fd0c4
Add GtkOverlayLayout to the docs
2020-05-25 15:18:14 -04:00
Matthias Clasen
9fa3742c09
Make GtkOverlayLayout public
...
Keeping the layout manager type private does not
really work when it has layout child properties
that need to be usable in ui files.
2020-05-25 14:22:10 -04:00
Matthias Clasen
5317e4bc07
constraint-editor: Don't use g_type_ensure
...
This isn't necessary if we export the get_type function.
2020-05-25 14:14:28 -04:00
Timm Bäder
2127cc1943
adwaita: move backdrop box shadows to .csd
...
Fixes #2781
2020-05-25 10:36:29 +02:00
Timm Bäder
04b7dd802a
compare-render: Fix some memory leaks
2020-05-24 17:14:18 +02:00
Emmanuele Bassi
7de9eb005e
Add a comment for translators
...
"KP" refers to the numeric keypad, in this context.
Fixes : #2783
2020-05-24 15:20:13 +01:00
Emmanuele Bassi
d68e312c2b
Use the private GdkKeyEvent.translated_key getter
...
We can avoid poking directly at the GdkKeyEvent structure, now.
2020-05-24 15:19:01 +01:00
Emmanuele Bassi
0cf5b66e7b
Add private accessor for GdkKeyEvent.translated
...
Avoid accessing the event structure directly, even from within GTK.
2020-05-24 15:19:01 +01:00
Timm Bäder
d5bf3c2cd1
gl renderer: Improve clipping code
...
don't render a clip to a texture if the new clip does not intersect with
any of the corners of the currently rounded clip.
Fixes #2770
2020-05-24 15:59:05 +02:00
Timm Bäder
094788f1a3
gl renderer: Refactor render_clipped_child
2020-05-24 15:59:05 +02:00
Timm Bäder
23e68c0988
gl renderer: Cache whether clips is rectilinear
2020-05-24 15:59:05 +02:00
Timm Bäder
60902484fd
applicationwindow: Simplify measure implementation
...
We already chain up first thing in this function, so no need to do it
again.
2020-05-24 15:59:05 +02:00
Timm Bäder
48c9c86626
window: Remove private _get_shadow_width()
...
Unused now.
2020-05-24 15:59:05 +02:00
Timm Bäder
2e27a76edd
applicationwindow: Stop querying shadow width
...
don't need to do this anymore.
2020-05-24 15:59:05 +02:00
Piotr Drąg
be8fc8f26b
Update Polish translation
2020-05-24 15:07:03 +02:00
Florentina Mușat
f1e3581347
Update Romanian translation
2020-05-24 10:48:29 +00:00
Florentina Mușat
0606dd511a
Update Romanian translation
2020-05-24 10:37:15 +00:00
Emin Tufan Çetin
3e68c694b9
Update Turkish translation
2020-05-23 08:50:36 +00:00
Matthias Clasen
ffa5334a2d
Merge branch 'matthiasc/for-master' into 'master'
...
gtk-demo: Fix the dnd demo drop highlight
See merge request GNOME/gtk!1958
2020-05-23 00:05:16 +00:00
Matthias Clasen
5e25ba6c5a
Merge branch 'no-app-menu' into 'master'
...
Drop the app menu
Closes #2731
See merge request GNOME/gtk!1951
2020-05-22 23:46:56 +00:00
Matthias Clasen
5f6d072459
gtk-demo: Fix the dnd demo drop highlight
...
We want the drop highlight to be around the label,
not around the item containing it, so move the drop
target gesture to the right widget.
2020-05-22 18:52:56 -04:00
Matthias Clasen
1038b9b8a1
docs: Mention app menus in the migration guide
2020-05-22 18:46:51 -04:00
Matthias Clasen
0dc384265c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1957
2020-05-22 22:19:59 +00:00
Matthias Clasen
133461581f
Merge branch 'BUG_filechooserbutton_remote_GTK4' into 'master'
...
FileChooserButton: query 'display name' also for unbookmarked files
Closes #1966
See merge request GNOME/gtk!1725
2020-05-22 21:37:40 +00:00
Matthias Clasen
79d6a77d58
gtkapplication: Drop app menu support
...
Drop apis and code related to appmenus from
both GtkApplication and GtkApplicationWindow.
We still keep the menubar support, since it
is needed for system integration on OS X.
Fixes : #2731
2020-05-22 17:31:05 -04:00
Matthias Clasen
d5da3b9199
print-editor: Stop using appmenu apis
...
The appmenu-related GtkApplication apis are going away.
2020-05-22 17:31:05 -04:00
Matthias Clasen
a8df81b27c
inspector: Drop app-menu support
...
Don't add app menu to the object tree anymore;
this property is going away.
2020-05-22 17:31:05 -04:00
Matthias Clasen
6c31092c69
examples: Stop using appmenu apis
...
The appmenu-related GtkApplication apis are going away.
2020-05-22 17:31:05 -04:00
Matthias Clasen
ca1c570c21
gtk-demo: Stop using appmenu apis
...
The appmenu-related GtkApplication apis are going away.
2020-05-22 17:31:05 -04:00
Matthias Clasen
33b836af7f
fixed: Change coordinate apis to doubles
...
We are using floating point for coordinates
everywhere now, so be consistent here.
This commit also changes the implementation of
gtk_fixed_get_child_position to work with
non-translation child transforms.
2020-05-22 17:26:08 -04:00
Matthias Clasen
e7a420c40e
testsuite: Re-add the sizegroups-evolution reftest
...
It doesn't seem to cause problems in ci anymore.
2020-05-22 17:10:28 -04:00
Matthias Clasen
962c4d6a69
Merge branch 'matthiasc/for-master' into 'master'
...
text: Avoid clash of preedit and placeholder
See merge request GNOME/gtk!1955
2020-05-22 20:59:44 +00:00
Matthias Clasen
0f053d1804
gtk-demo: Improve rotation in the dnd demo
...
Make the drag icon preserve the rotation, and improve
placement for the editor and for dnd to take the offset
into account.
2020-05-22 15:38:02 -04:00
Timm Bäder
930d779eb3
gl renderer: don't pretend all transform nodes support being transformed
...
It doesn't work in the general case. The transform handling could use a
general overhaul though.
Fixes #2773
2020-05-22 21:29:10 +02:00
Timm Bäder
f3ca814f3d
gl renderer: Fix some off-by-one and rounding errors in the shadow code
...
Take 24
Fixes #2759
2020-05-22 21:29:10 +02:00
Matthias Clasen
7fac6b37db
gtk-demo: Improve editing in the dnd demo
...
Add a scale for the angle, make the edits apply immediately,
and keep the item visible.
2020-05-22 14:06:00 -04:00
Matthias Clasen
d2f979ffaf
gtk-demo: Improve drag icon handling in dnd example
...
Make the opacity change only apply to the 'ghost' of
the item, not the drag icon.
2020-05-22 13:25:17 -04:00
Matthias Clasen
e54060bac2
gtk-demo: Fix entry position in dnd demo
...
gtk_fixed_get_child_position does not work if children
have transforms that are not just 2D translations.
Use gtk_widget_translate_coordinates instead.
2020-05-22 13:17:59 -04:00
Matthias Clasen
965483eb67
gtk-demo: Reorganize the dnd demo
...
Introduce a CanvasItem widget to make things a
bit less ad hoc.
2020-05-22 12:35:18 -04:00
Matthias Clasen
dff5986ec2
main: Keep the target widget alive
...
We are passing the event to the tooltip handle_event
function at the very end. Unfortunately, the target_widget
may have already died at that point. We prevent that
by taking a ref during propagage_event, but the tooltip
code was outside of that. Keep a ref until the very
end ot prevent crashes.
2020-05-22 12:25:23 -04:00
Matthias Clasen
028bccc188
gtk-demo: Use proper drag icons in the dnd demo
...
Use a widget paintable to make the drag icon appear
in two places at once.
2020-05-22 10:50:09 -04:00
Matthias Clasen
78b427c99d
dragsource: Actually use the paintable
...
We were just ignoring a paintable provided by
gtk_drag_source_set_icon().
2020-05-22 10:49:57 -04:00
Matthias Clasen
aec0a49e91
colorswatch: Remove a redundant include
2020-05-22 10:48:49 -04:00
Matthias Clasen
e60ea00e8b
reftests: Fix the background-origin test
...
This was broken when I accidentally removed
one of the buttons.
2020-05-22 10:48:33 -04:00
Matthias Clasen
01df133401
text: Avoid clash of preedit and placeholder
...
Take preedit into account when determining the
visibility of placeholder text.
2020-05-22 10:48:33 -04:00
Matthias Clasen
56a6120136
Merge branch 'fix-printbackend' into 'master'
...
Build media backends with common_cflags and export the symbol
Closes #2771
See merge request GNOME/gtk!1956
2020-05-22 14:20:35 +00:00
Qiu Wenbo
340a8e11b0
Build media backends with common_cflags and export the symbol
...
Fixes : #2771
2020-05-22 17:00:06 +08:00
Yuri Chornoivan
2da14da32c
Update Ukrainian translation
2020-05-22 05:47:20 +00:00
Matthias Clasen
641f2f72cd
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #227 , #328 , and #1010
See merge request GNOME/gtk!1954
2020-05-22 01:59:34 +00:00
Ondrej Holy
e8a120e5af
trash-monitor: Rate limit updates
...
Trash monitor queries info from gvfsd-trash after each file monitor
change which can be problematic when too many changes happen in
a short time. Let's rate limit the number of queries...
Fixes : #1010
2020-05-21 21:15:12 -04:00
Matthias Clasen
e9872d52d8
range: Treat lower and upper limit the same
...
When clamping values to be within the range of
the adjustment, treat the lower and upper limit
the same.
Fixes : #328
2020-05-21 20:37:54 -04:00
Matthias Clasen
3b8bd265a3
windowhandle: Drop Move and Resize from the fallback menu
...
The expected behavior is that we trigger a keyboard-driven
interactive move or resize operation. But that doesn't work
with common compositors like mutter or weston, so lets not
expose non-working menuitems.
2020-05-21 19:38:36 -04:00
Matthias Clasen
af162b70c5
tooltip: Avoid criticals
...
It is possible that the target widget is already
unparented at the time that we call the tooltips
handle_event function. Quietly return in that case,
no need to emit a critical.
2020-05-21 19:38:36 -04:00
Matthias Clasen
061f257e83
accelgroup: Use Unicode in string literals
...
Its 2020, non-ASCII characters are not taboo anymore.
2020-05-21 19:38:36 -04:00
Matthias Clasen
c58d9446f4
Differentiate keypad keysyms in accelerators
...
When displaying accelerators, differentiate keypad
symbols with a 'KP' prefix. Fixing a 17 year old bug.
Update expected output in accelerator tests.
Fixes : #227
2020-05-21 19:38:19 -04:00
Matthias Clasen
e4d684b116
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1953
2020-05-21 21:31:17 +00:00
Matthias Clasen
8f5444c75b
gtk-demo: Fix breakage in a css demo
...
This is fallout from container api changes. We
were treating a GtkOverlay like a GtkBox, which
it isn't.
2020-05-21 16:24:56 -04:00
Matthias Clasen
96c0fbf209
gtk-demo: Plug another leak
...
We were leaking the builder in the css blendmodes demo,
by creating a ref cycle. This was showing up as
the list entry not going back to upright after
closing the window.
2020-05-21 16:24:20 -04:00
Matthias Clasen
98178d8823
gtk-demo: Plug another leak
...
We were leaking the builder in the revealers demo,
by creating a ref cycle. This was showing up as
the list entry not going back to upright after
closing the window.
2020-05-21 16:23:42 -04:00
Matthias Clasen
3f6dd34b18
gtk-demo: Plug another leak
...
We were leaking the builder in the cursors demo,
by creating a ref cycle. This was showing up as
the list entry not going back to upright after
closing the window.
2020-05-21 15:41:54 -04:00
Matthias Clasen
aaed61de66
gtk-demo: Plug a leak
...
We were leaking the builder in the builder demo,
by creating a ref cycle. This was showing up as
the list entry not going back to upright after
closing the window.
2020-05-21 15:41:48 -04:00
Timm Bäder
1aa86d23f4
gl renderer: Fix blurred outset shadow slicing
...
Take 23.
Fixes #2759
2020-05-21 15:32:12 +02:00
Matthias Clasen
c4607f72d1
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1950
2020-05-20 20:57:34 +00:00
Matthias Clasen
f5f4c3cdfc
Merge branch 'wip/exalm/window-polish' into 'master'
...
window: Fix tiled style class names
See merge request GNOME/gtk!1949
2020-05-20 20:13:30 +00:00
Matthias Clasen
9a1b4a766f
mediastream: Volume is a double
...
Another obvious copy-paste error in the property
declarations of GtkMediaStream. Volume should be
a double, with range [0, 1], not a boolean.
2020-05-20 16:07:50 -04:00
Matthias Clasen
87d2e86429
mediastream: Some properties were meant to be readonly
...
These properties aren't covered by set_property(), and
it doesn't make sense to do so. They were just declared
as read-write by mistake.
2020-05-20 16:07:50 -04:00
Matthias Clasen
ee2c55379c
mediacontrols: Make volume control react to has-audio
2020-05-20 16:07:50 -04:00
Matthias Clasen
be8a831496
Merge branch 'matthiasc/for-master' into 'master'
...
gdk: Short-circuit some surface setters
See merge request GNOME/gtk!1947
2020-05-20 18:01:07 +00:00
Alexander Mikhaylenko
2ce8c82846
window: Fix tiled style class names
...
This should fix the round corners on tiled windows.
2020-05-20 22:10:32 +05:00
Timm Bäder
7d57f978c5
Merge branch 'wip/baedert/single-node-window' into 'master'
...
single node GtkWindow
See merge request GNOME/gtk!1863
2020-05-20 17:06:37 +00:00
Timm Bäder
22e7d11583
window: Use GtkNative's check_resize everywhere
2020-05-20 18:12:22 +02:00
Timm Bäder
9cc6ddf80d
window: Create default titlebar directly in realize
...
Instead of having two functions that are only called from one place but
look like they can be called from anywhere.
2020-05-20 18:12:22 +02:00
Timm Bäder
ee9d99cba3
update documentation for new style classes and node names
2020-05-20 18:12:22 +02:00
Timm Bäder
5c458e3061
Adwaita: style updates for new window node hierarchy
2020-05-20 18:12:20 +02:00
Timm Bäder
dfbcd475f3
window: Fix the surface coordinates everywhere
2020-05-20 17:08:24 +02:00
Timm Bäder
018efdb8eb
window: Inline gtk_window_configure() into only caller
...
And remove the prototype from gtkwindowprivate.h
2020-05-20 17:08:24 +02:00
Timm Bäder
ec594f80dc
window: Rewrite edge region detection
2020-05-20 17:08:24 +02:00
Timm Bäder
131837087b
window: Fix computing the opaque region
...
We need to look at the surface transform here as well now.
2020-05-20 17:08:21 +02:00
Timm Bäder
7eec162502
window: Avoid using GtkStyleContext in subtract_decoration_corners
...
We can do this by just using the GtkCssStyle these days.
2020-05-20 17:06:54 +02:00
Timm Bäder
8c884e94c2
window: Fix get_surface_transform()
...
Look at the shadow here.
2020-05-20 17:06:54 +02:00
Timm Bäder
7659d8af3d
window: Set overflow to HIDDEN
...
It really doesn't make sense for the general window to allow drawing
outside of it.
2020-05-20 17:06:54 +02:00
Timm Bäder
a5e7e72dd8
inspector: Fix overlay coordinates
...
Get the native transform only once, for all overlays. Unfortunately we
have to undo this for the updates overlay since that one gets values
in surface coordinates.
2020-05-20 17:06:54 +02:00
Timm Bäder
8e8e869853
inspector: Don't offset layout overlay too much
...
We already do this earlier.
2020-05-20 17:06:54 +02:00
Timm Bäder
b41838a7fd
Window: Remove extra_input_region API
...
This is unused.
2020-05-20 17:06:54 +02:00
Timm Bäder
5ebabd7cf6
Call all window subclasses "window"
...
And add style classes to differentiate them
2020-05-20 17:06:54 +02:00
Timm Bäder
388733fe77
testsuite: Remove window decoration nodes from reference results
2020-05-20 17:06:54 +02:00
Timm Bäder
e1007e6c2b
window: Remove decoration node
2020-05-20 17:06:54 +02:00
Timm Bäder
2c2092e7b8
window: Don't care about shadow in measure()
2020-05-20 17:06:54 +02:00
Timm Bäder
2579f66150
window: Don't care about shadow in size_allocate()
2020-05-20 17:06:54 +02:00
Timm Bäder
077692a8e1
window: Remove custom snapshot() implementation
2020-05-20 17:06:54 +02:00
Timm Bäder
5b77d3fde3
widget: Remove GtkWindow special case in create_render_node()
2020-05-20 17:06:54 +02:00
Matthias Clasen
6d8153d8fd
gdk: Short-circuit some surface setters
...
Don't call into the backends when the input region
or shadow width don't actually change. This avoid
distracting calls in debug logs, and just generally
is the right thing to do.
2020-05-20 10:55:27 -04:00
Timm Bäder
ae711d8301
gdkdisplay-wayland: only remove one monitor
...
Ids here are unique, so break out of the loop once we found the monitor
with the given ID.
2020-05-20 15:51:11 +02:00
Emmanuele Bassi
00d889b4b6
Merge branch 'wip/ricotz/annotations' into 'master'
...
gdk: Preserve typed event parameter of GdkSurface:event signal for gir
See merge request GNOME/gtk!1946
2020-05-20 11:57:00 +00:00
Daniel Mustieles
401e2d16a8
Updated Spanish translation
2020-05-20 12:08:17 +02:00
Timm Bäder
4b5a8c45b4
gtk4-demo: Fix css_basics demo
2020-05-20 10:29:50 +02:00
Timm Bäder
ae54517b33
gtk4-demo: Fix sliding puzzle demo
2020-05-20 10:29:50 +02:00
Rico Tzschichholz
ebaeb9f3b8
gdk: Preserve typed event parameter of GdkSurface:event signal for gir
...
In conjunction to https://gitlab.gnome.org/GNOME/gtk/merge_requests/1936
2020-05-20 08:48:34 +02:00
Christian Hergert
a21d97db2e
Merge branch 'wip/chergert/remove-get_toplevel' into 'master'
...
device: remove get_toplevel from surface_at_position vfunc
Closes #2765
See merge request GNOME/gtk!1941
2020-05-19 22:59:41 +00:00
Matthias Clasen
ebc8b01718
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!1935
2020-05-19 22:40:57 +00:00
Matthias Clasen
cf5e923d84
Merge branch 'wip/carlosg/tracker3' into 'master'
...
Move to tracker3 search engine
See merge request GNOME/gtk!1944
2020-05-19 22:37:34 +00:00
Christian Hergert
fa08d848ca
device: remove get_toplevel from surface_at_position vfunc
...
This is not used anymore now that surfaces are always toplevel in the
semantics of GdkWindow where child windows were available. We can drop
that and simplify the vfunc just a bit more.
Fixes #2765
2020-05-19 13:07:38 -07:00
Carlos Garnacho
d29d59d1f9
gtksearchengine: Drop tracker 2.x search engine
...
This is being superseded by 3.x
2020-05-19 22:05:07 +02:00
Carlos Garnacho
edf6f9e108
gtksearchenginetracker3: Pre-fill GFileInfo from query
...
Provide the minimal info necessary. Improves apparent responsiveness
(since we don't visibly clear and repopulate the list) and saves doing
file stat/reads on every file in the result set.
2020-05-19 22:05:07 +02:00
Carlos Garnacho
98f376a19e
gtksearchengine: Add tracker3 search engine
...
Make this dependency optional at build time, and prefer it over
the old tracker <= 2.x implementation.
2020-05-19 22:05:07 +02:00
Carlos Garnacho
de68925f0c
gtksearchengine: Add autoptr handler for this type
...
So subclasses can just use G_DECLARE_*_TYPE.
2020-05-19 22:04:25 +02:00
Carlos Garnacho
b890e87818
gtksearchengine: Add "got_results" argument to ::finished
...
The filechooser tries to figure out whether it got results by poking
the model, but all files might go through the async GFileInfo querying
state.
Make all search engines (and the composite one) just notify about this
fact, so the file chooser can behave appropriately without waiting for
the async operations to finish.
2020-05-19 22:04:25 +02:00
Matthias Clasen
e0f4e44044
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Refresh the build and backend sections
See merge request GNOME/gtk!1942
2020-05-19 19:59:46 +00:00
Matthias Clasen
edf85cb1b3
docs: Refresh the build and backend sections
...
Remove some outdated information from the sections
about building and about particular backends.
2020-05-19 15:19:53 -04:00
Matthias Clasen
841e9b3f0e
Merge branch 'x11-shortcuts-inhibit-fix' into 'master'
...
x11: update inhibit shortcuts on grab broken
See merge request GNOME/gtk!1590
2020-05-19 14:06:25 +00:00
Olivier Fourdan
93f9138c9b
x11: update inhibit shortcuts on grab broken
...
On X11, shortcuts inhibition is emulated using a grab on the keyboard.
So if another widget ungrabs the keyboard behind our back (for example
when a popup window is dismissed) that effectively disables the effects
of the shortcut inhibition on the surface and we need to update the
shortcut inhibition status accordingly.
Check for "grab-broken" events on the surface and clear existing
shortcuts inhibition for the matching seat, so that the client can be
notified and may decide to re-enable shortcut inhibition if desired.
2020-05-19 14:51:25 +02:00
Emmanuele Bassi
1ace77b923
Merge branch 'ebassi/surface-event' into 'master'
...
Use the right types for the GdkSurface::event arguments
See merge request GNOME/gtk!1936
2020-05-19 12:14:17 +00:00
Emmanuele Bassi
dd4d6930b5
Use the right types for the GdkSurface::event arguments
...
We pass the GdkEvent as a pointer, because the autogenerated marshallers
don't know how to handle GTypeInstance-derived classes.
Since the GValue box that we use in the marshaller passes the GdkEvent
instance as is, we also need to acquire a reference before invoking the
closure, and release it afterwards, to ensure that the GdkEvent instance
survices the invocation.
2020-05-19 12:21:22 +01:00
Timm Bäder
db76b52744
treeview: Remove animate parameters
...
Nothing ever reads them.
2020-05-19 08:32:33 +02:00
Timm Bäder
7235472a58
text: Assert that we have ranges before using them
...
We never hit this code path otherwise but let's make sure.
2020-05-19 08:32:33 +02:00
Timm Bäder
99871639fe
unsetvalue: Add G_GNUC_NORETURN annotation
2020-05-19 08:32:33 +02:00
Timm Bäder
eebc2f20fa
testgtk: Add G_GNUC_NORETURN to usage()
2020-05-19 08:32:33 +02:00
Timm Bäder
b92f4177aa
builder-tool Make preview closeable
2020-05-19 08:32:33 +02:00
Timm Bäder
20b906cee8
Build print backends with common_cflags
2020-05-19 08:32:33 +02:00
Timm Bäder
7a768a2581
build: Pass common_cflags to focus-chain test
2020-05-19 08:32:33 +02:00
Timm Bäder
17c7662a6c
bloatpad: Pass common_cflags to the build
2020-05-19 08:32:33 +02:00
Timm Bäder
14c3bc542d
tetsuite/a11y: Pass common_cflags to build
2020-05-19 08:32:33 +02:00
Timm Bäder
dd370db62a
reftests: Pass common_cflags
2020-05-19 08:32:33 +02:00
Timm Bäder
43ba86b7af
tools: Pass common_cflags to executables
2020-05-19 08:32:33 +02:00
Timm Bäder
2425d61516
Pass common_cflags to testuite/gsk executables
2020-05-19 08:32:33 +02:00
Timm Bäder
3bf4c5687c
Pass common_cflags to print backends
2020-05-19 08:32:33 +02:00
Matthias Clasen
7fc2d9adc0
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2739 and #2760
See merge request GNOME/gtk!1934
2020-05-19 02:47:03 +00:00
Matthias Clasen
17dd32da88
testsuite: Remove obsolete test from list
...
The test was removed in 97d0e8c6e0 , but I neglected
to remove the test files from meson.build.
Fixes : #2760
2020-05-18 21:49:34 -04:00
Matthias Clasen
ec2aac5b61
gsk: Document blend modes
...
Add some information about blend modes, mostly taken
from the css compositing spec.
Fixes : #2739
2020-05-18 18:21:39 -04:00
Matthias Clasen
15f7d2a27d
3.98.4
2020-05-18 16:38:11 -04:00
Matthias Clasen
3dafdcbab0
testsuite: Remove GDK_DEBUG=misc
...
This snuck in by accident in recent ci setup
changes, and breaks the test runs by adding
stray output.
2020-05-18 16:38:11 -04:00
Matthias Clasen
383fa6b0b0
Merge branch 'matthiasc/for-master' into 'master'
...
colorscale: Bring back the right-click on slider
See merge request GNOME/gtk!1933
2020-05-18 16:46:12 +00:00
Matthias Clasen
f637ab57f1
colorscale: Bring back the right-click on slider
...
This was lost when we converted the color editor to actions.
2020-05-18 11:31:42 -04:00
Emmanuele Bassi
615b4d8c65
Merge branch 'ebassi/ci-fix' into 'master'
...
docs: Fix the argument name to match
See merge request GNOME/gtk!1930
2020-05-18 15:10:38 +00:00
Jakub Steiner
9be5c7b0c8
Merge branch 'theme-aligned-combo-labels' into 'master'
...
Adwaita: Align combo menu labels with the combo button label
See merge request GNOME/gtk!1928
2020-05-18 14:04:19 +00:00
Yuri Chornoivan
670b102553
Update Ukrainian translation
2020-05-18 14:03:41 +00:00
Emmanuele Bassi
9bd9a11de4
docs: Fix the argument name to match
...
Both gtk-doc and g-i require the name of the argument of a function to
match in the declaration, definition, and gtk-doc stanza.
2020-05-18 14:55:25 +01:00
Jakub Steiner
ec26e4f6b4
Merge branch 'theme-checkbutton-padding' into 'master'
...
Adwaita: Tweak padding in checkbutton & radiobutton
Closes #2697
See merge request GNOME/gtk!1927
2020-05-18 13:12:15 +00:00
nana-4
538ab75002
Adwaita: Align combo menu labels with the combo button label
...
Apply the same left and right padding to the combo menu items as the
combo button.
2020-05-18 21:52:00 +09:00
nana-4
1c99dbc70e
Adwaita: Tweak padding in checkbutton & radiobutton
...
Since we can now use border-spacing in checkbutton and radiobutton,
we don't need the margin in check and radio for spacing anymore.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2697
2020-05-18 20:29:23 +09:00
Timm Bäder
afd56517d1
bloatpad: Avoid a few theoretical compiler warnings
2020-05-18 11:30:08 +02:00
Timm Bäder
3c7ba21a6a
Add G_GNUC_NORETURN to functions that never return
2020-05-18 11:30:08 +02:00
Timm Bäder
4b655ecd36
examples: Add common_cflags to executables
2020-05-18 11:30:08 +02:00
Daniel Mustieles
028942c8c3
Updated Spanish translation
2020-05-18 10:15:03 +02:00
Matthias Clasen
55b171c986
Merge branch 'shape-apis' into 'master'
...
Shape apis
See merge request GNOME/gtk!1925
2020-05-18 04:26:01 +00:00
Chun-wei Fan
a4416e389a
print-editor demo: Fix linking on Visual Studio
...
We need to pass in '/entry:mainCRTStartup' as we did for the other demo
programs that have 'gui_app: true' in their Meson build settings.
2020-05-18 11:35:52 +08:00
Matthias Clasen
d6818475d7
gdk: Simplify gdk_display_supports_input_shapes
...
Make this a display property, and do away with
the vfunc in favor of a private setter, to match
how we handle other display characteristics.
2020-05-17 22:05:24 -04:00
Matthias Clasen
287c40276a
gdk: Drop gdk_display_supports_shapes
...
The apis to set shapes on surfaces are gone,
so there is no point in providing this information
on GdkDisplay.
2020-05-17 21:52:15 -04:00
Matthias Clasen
5916ae5ec4
x11: Avoid some frontend api use
...
We can just use our backend information directly.
2020-05-17 21:47:22 -04:00
Matthias Clasen
03829e191e
docs: Tweak docs for gdk_surface_set_input_region
2020-05-17 21:46:54 -04:00
Matthias Clasen
f958a6ecf7
Merge branch 'coordinate-api' into 'master'
...
Coordinate api
See merge request GNOME/gtk!1924
2020-05-18 00:08:44 +00:00
Matthias Clasen
71bad81aff
gdk: Make gdk_drag_begin take doubles
...
This is a better fit to the way we treat coordinates
everywhere else.
2020-05-17 17:51:03 -04:00
Matthias Clasen
75d9310986
Change coordinate translation apis to take doubles
...
Change gtk_widget_translate_coordinates and
gtk_native_get_surface_transform to operate
on doubles. Update all callers.
2020-05-17 17:17:31 -04:00
Matthias Clasen
93d4253c93
native: Make gtk_native_get_surface_transform public
...
This api is needed to translate between surface
and widget coordinates.
2020-05-17 16:01:08 -04:00
Matthias Clasen
c0faf0c6b6
Merge branch 'toplevel-move-resize' into 'master'
...
Toplevel move resize
See merge request GNOME/gtk!1923
2020-05-17 19:15:46 +00:00
Matthias Clasen
b63690aa6b
docs: Mention begin_resize_drag in the migration guide
2020-05-17 14:38:10 -04:00
Matthias Clasen
1e8a58e367
gdk: Move the begin_move/resize_drag vfuncs around
...
Move these from GdkSurface to GdkToplevel, where they
belong. Update all backends.
2020-05-17 14:15:06 -04:00
Benjamin Otte
34d7e25a1f
x11: Fix up for last merge
2020-05-17 19:21:28 +02:00
Benjamin Otte
b353221185
Merge branch 'wip/otte/monitors' into 'master'
...
various GDK cleanups
See merge request GNOME/gtk!1920
2020-05-17 16:57:52 +00:00
Matthias Clasen
eb6edac4bd
gdk: Drop gdk_surface_begin_move/resize_drag
...
These have been replaced by GdkToplevel api.
2020-05-17 12:49:29 -04:00
Matthias Clasen
f316fe0f58
window: Use toplevel begin_move/resize api
...
The GdkSurface api for this is going away.
2020-05-17 12:49:26 -04:00
Emmanuele Bassi
12854f1428
Merge branch 'ebassi/ci-extends' into 'master'
...
ci: Use extends instead of YAML anchors
See merge request GNOME/gtk!1908
2020-05-17 16:43:24 +00:00
Matthias Clasen
309a7aa253
gdk: Add gdk_toplevel_begin_move/resize
...
For now, these are wrappers around the surface apis,
but they are going to replace them, since this operation
is only available on toplevels.
2020-05-17 12:41:16 -04:00
Benjamin Otte
363c88cef7
migration guide: Update paragraph about monitors
...
Clarify the new handling of monitors via a listmodel of GdkMonitor
instead of int monitor_num.
2020-05-17 18:05:07 +02:00
Timm Bäder
74a1c60dd4
windowhandle: Apply surface transform before passing coords to GDK
...
Otherwise coordinates are incorrect and the window can jump around after
starting a drag.
2020-05-17 15:30:50 +02:00
Timm Bäder
a4bb81b61c
inspector: Apply toplevel transform before snapshotting overlays
2020-05-17 15:30:44 +02:00
Timm Bäder
01c0acb707
gl renderer: Apply scaled clip when rendering offscreen clipped child
2020-05-17 15:30:28 +02:00
Timm Bäder
afbc1d5b66
shortcutmanager: Fix private header include guard
2020-05-17 15:30:03 +02:00
Timm Bäder
1d9e68245a
shortcutcontroller: Don't return a shortcut stope as GdkModifierType
2020-05-17 15:30:03 +02:00
Timm Bäder
9b98641ddd
window: Use TRUE/FALSE for boolean values
2020-05-17 15:30:03 +02:00
Timm Bäder
2c1d218749
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #1619
See merge request GNOME/gtk!1921
2020-05-17 13:08:26 +00:00
Emin Tufan Çetin
716485113a
Update Turkish translation
2020-05-17 11:42:10 +00:00
Matthias Clasen
d70feb9165
Apply surface transform in more places
...
With these fixes, GtkSwitch now works in the presence
of surface transforms.
2020-05-17 02:23:23 -04:00
Matthias Clasen
38af49d4fd
inspector: Take surface transform into account
2020-05-17 02:10:56 -04:00
Timm Bäder
007de568c9
gl renderer: Fix an uninitialized value
2020-05-17 08:07:11 +02:00
Matthias Clasen
d2913b81cb
windowhandle: Take surface transform into account
2020-05-17 02:05:32 -04:00
Matthias Clasen
c90078fd4a
widget: Fix gtk_widget_get_surface_allocation
...
As the name implies, this should be surface-relative
coordinates, so it needs to take the surface transform
into account.
2020-05-17 02:04:22 -04:00
Matthias Clasen
428e647238
textview: Fix context menu placement
...
Take the surface transform into account for
positioning the context menu.
2020-05-17 02:03:41 -04:00
Benjamin Otte
4c7914dc49
display: Remove unneeded getters
...
Applications can use the listmodel instead.
2020-05-17 07:32:37 +02:00
Matthias Clasen
5e35a4b69a
tooltip: Fix positioning
...
There are a few more places where we were forgetting
to apply the surface->native transform. With these
changes, tooltips are positioned correctly when
the toplevel has padding applied.
Fixes : #1619
2020-05-17 01:22:02 -04:00
Benjamin Otte
9a30019268
display: Remove the monitor signals
...
Applications can listen to GdkDisplay:monitors::items-changed if they
want to track monitor changes.
2020-05-17 07:10:34 +02:00
Benjamin Otte
972276436f
x11: Directly notify surfaces of monitor changes
...
Do not use signals.
2020-05-17 07:10:34 +02:00
Benjamin Otte
e81a1db48c
monitor: Add gdk_monitor_set_geometry()
...
Make it replace gdk_monitor_set_size() and gdk_monitor_set_position()
which used to be called in pairs anyway.
2020-05-17 07:10:34 +02:00
Benjamin Otte
33a4442988
x11: Remove unused change tracking
...
Change tracking now works automatically via GdkMonitor.
2020-05-17 05:14:24 +02:00
Matthias Clasen
3035bf1e39
widget-factory: Cosmetics
...
Add a frame around the white background in the background
selection dialog. Otherwise, it is not really visible.
2020-05-16 21:54:14 -04:00
Benjamin Otte
14bf58ec5d
x11: Remove XDamage dependency
...
It's not used.
2020-05-17 02:14:58 +02:00
Matthias Clasen
a2a3aab94d
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #2601
See merge request GNOME/gtk!1918
2020-05-16 23:35:51 +00:00
Emmanuele Bassi
7ff9a3f3a0
ci: Allow using "latest" as the image version
...
Just like the documentation says.
2020-05-17 00:32:22 +01:00
Emmanuele Bassi
8070bac06c
ci: Use extends instead of YAML anchors
...
The `extends` keyword is more readable than YAML's weird anchor syntax,
and we don't have too many anchors in our job definitions anyway.
2020-05-17 00:30:07 +01:00
Benjamin Otte
d4731a4ab4
x11: Remove gdk_x11_register_standard_event_type()
...
It's not used anymore since GdkX11Display::xevent exists.
2020-05-17 01:02:17 +02:00
Benjamin Otte
0c6266fd1a
surface: Remove gdk_surface_is_viewable()
...
It returns the same value as gdk_surface_get_mapped(), so use that
instead.
2020-05-17 00:41:44 +02:00
Timm Bäder
5b0e91844b
popover: Fix input shape rendering
...
Once again, calling gtk_widget_get_allocation() is wrong.
Fixes #2601
2020-05-16 22:34:38 +02:00
Timm Bäder
c4363e2706
showrendernode: Set widget overflow
2020-05-16 22:04:00 +02:00
Timm Bäder
ccaacfc8c3
texthandle: Remove min-width/height handling
...
We do that automatically for all widgets.
2020-05-16 22:04:00 +02:00
Timm Bäder
2e9d772e66
natives: Use GtkCssBoxes in get_surface_transform
2020-05-16 22:04:00 +02:00
Timm Bäder
bac6e79614
native: Add documenation for get_surface_transform
2020-05-16 22:03:58 +02:00
Timm Bäder
2fd86ef80c
popover: Return correct values from get_surface_transform()
...
We do not (yet) care about the box shadow here, so it's sufficient to
return the css values.
2020-05-16 22:03:58 +02:00
Timm Bäder
f9370d7e83
main: Translate coordinates from surface to native before picking
...
gtk_widget_pick() needs them to be in @self coordinates.
2020-05-16 22:03:55 +02:00
Matthias Clasen
bc75965053
Merge branch 'matthiasc/for-master' into 'master'
...
broadway: Be careful about destroyed surfaces
See merge request GNOME/gtk!1917
2020-05-16 18:27:19 +00:00
Matthias Clasen
77107f70c4
broadway: Be careful about destroyed surfaces
...
Just because we take a ref on a surface does not
guarantee that it is still usable a second later.
Check if its been destroyed in the meantime.
This is breaking the template tests in ci, since
there is no client behind the Broadway server.
2020-05-16 13:47:18 -04:00
Matthias Clasen
b41aeabbec
Merge branch 'matthiasc/for-master' into 'master'
...
broadway: Don't create overlarge images
See merge request GNOME/gtk!1916
2020-05-16 17:01:30 +00:00
Matthias Clasen
c0ae36e943
broadway: Create slave devices
...
The assumption is that the source device in events
is a slave device, so create pointer and keyboard
devices and use them in events.
This fixes the seat test on Broadway.
2020-05-16 12:27:22 -04:00
Matthias Clasen
5851415fca
broadway: Don't create overlarge images
...
Respect that cairo won't create image surfaces larger
than 32767 x 32767.
This makes the one reftest pass that specifically checks
this condition, treeview-crash-too-wide.
2020-05-16 11:27:21 -04:00
Matthias Clasen
36b4b39619
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1915
2020-05-16 15:03:10 +00:00
Yuri Chornoivan
d7bf3605b9
Update Ukrainian translation
2020-05-16 14:52:15 +00:00
Matthias Clasen
15211556df
Merge branch 'broadway-surface-destroy' into 'master'
...
Broadway surface destroy
See merge request GNOME/gtk!1914
2020-05-16 14:16:52 +00:00
Matthias Clasen
13f8583934
ci: Don't run opengl renderer tests on Broadway
...
The test setup mechanism in meson is not flexible
enough to let us run different suites depending
on setup, so just pass in explicitly which suites
we want to skip, depending on the backend.
2020-05-16 10:14:10 -04:00
Matthias Clasen
350110ad9d
testsuite: Add a gsk-compare-broadway suite
...
We have a Broadway renderer, might as well spell
that out in the tests, and make the suite exclude the
3d tests it can't handle.
2020-05-16 10:14:10 -04:00
Matthias Clasen
d771aa6fee
testsuite: Destroy surfaces
...
If we don't destroy the surface, it leaks.
GDK backends keep an extra reference on the
surface for the external resources associated
with it, and only drop it in destroy().
2020-05-16 09:12:18 -04:00
Matthias Clasen
4acb56d8c5
broadway: Keep an reference on surfaces
...
GDK backends are expected to keep a references on
their surfaces as long as they are associated with
external resources, and drop it in destroy().
This showed up as criticals in the shortcuts test
which manually creates and destroys surfaces.
2020-05-16 09:12:07 -04:00
Matthias Clasen
afaa9810d1
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Use tabular numbers in the fps overlay
See merge request GNOME/gtk!1912
2020-05-16 11:21:00 +00:00
Piotr Drąg
6aa68fcfee
Update POTFILES.in and POTFILES.skip
2020-05-16 12:37:01 +02:00
Timm Bäder
b2b2070415
Implement diff() for color matrix nodes
...
This way we don't redraw color matrix nodes all the time.
2020-05-16 08:22:55 +02:00
Matthias Clasen
c5b2bbf01b
inspector: Use tabular numbers in the fps overlay
...
It is a lot more readable if it doesn't constantly jitter.
2020-05-15 21:30:14 -04:00
Matthias Clasen
f4d3d8e27c
Merge branch 'better-ci-reports' into 'master'
...
ci: Add the backend to the reports
See merge request GNOME/gtk!1911
2020-05-16 00:52:56 +00:00
Matthias Clasen
4f6fa87f00
Merge branch 'wip/carlosg/tablet-disconnects-master' into 'master'
...
gdk/wayland: Handle disorderly tablet/pad disconnects
See merge request GNOME/gtk!1910
2020-05-15 23:50:54 +00:00
Matthias Clasen
01bd6cfd17
ci: Add the backend to the reports
...
We want the test names in the junit xml to be
unique across all the tests in a job, so we need
to include the backend in the test name.
And we also want to see the used backend in
the html report.
2020-05-15 19:49:18 -04:00
Carlos Garnacho
000487c36c
gdk/wayland: Handle disorderly tablet/pad disconnects
...
If the tablet gets removed/freed while there are pad events in flight,
we leave a dangling pointer from the pad to the tablet, which may
lead to invalid reads/writes when handling the pad event(s).
2020-05-15 23:40:18 +02:00
Matthias Clasen
5870f1c90a
Merge branch 'headless-seatless' into 'master'
...
gtk: Handle seatless displays
See merge request GNOME/gtk!1905
2020-05-15 21:13:01 +00:00
Matthias Clasen
30ef48143f
ci: Ignore Broadway failures
...
These need some more work, so ignore them for now,
to get the initial multi-backend testsuite into
production.
2020-05-15 15:24:04 -04:00
Matthias Clasen
0232218100
displayclose: Quietly skip if no X available
2020-05-15 14:58:58 -04:00
Matthias Clasen
31cf894092
ci: Run tests with different backends
...
Run the testsuite under x11, wayland and broadway
in the fedora-x86_64 job. This requires us to use
the v17 image which includes weston.
2020-05-15 14:11:53 -04:00
Matthias Clasen
509db01319
tests: Centralize our test setup a bit
...
Put all of the constant environment into the
toplevel meson.build file, to reduce repetition
and copy-paste errors.
2020-05-15 14:11:53 -04:00
Matthias Clasen
ff4552c842
testsuite: Add test setups for backends
...
Add test setups that set the GDK_BACKEND and
TEST_OUTPUT_SUBDIR environment variables.
This lets use run
meson test --setup x11 --suite reftest
meson test --setup wayland --suite reftest
and the output will be nicely separated.
We still need to do compositor / display server
setup from the outside.
2020-05-15 14:11:53 -04:00
Matthias Clasen
c22af88235
tests: Allow setting a subdir for output
...
meson seems somewhat weak when it comes to handling
test output. We need to get the output from different
test runs into different locations, and the only
way to communicate from a test setup with the actual
test code seems the environment, so use that.
Make all tests that produce output in files respect
a TEST_OUTPUT_SUBDIR environment variable which specifies
the name of a subdirectory to use. This is combined
with the existing --output argument, which specifies
a per-test location.
Affected tests are reftests, css performance tests
and gsk compare tests.
2020-05-15 14:11:53 -04:00
Matthias Clasen
6719616c36
ci: Fix a typo in the run-docker.sh script
2020-05-15 14:11:53 -04:00
Matthias Clasen
18c7284817
ci: Add weston and weston-libs to the fedora image
...
We want to run tests under Wayland, using weston
as the compositor. The weston-libs package contains
the headless backend for weston.
2020-05-15 14:11:53 -04:00
Matthias Clasen
8912a6eb75
gtk: Handle seatless displays
...
If you run weston with the headless backend, you get a Wayland
display with no seat, which is just fine by the protocol.
gdk_display_get_default_seat() returns NULL in this case. Various
widgets assume that we always have a seat with a keyboard and a
pointer, since that is what X guarantees. Make things survive
without that, so we can run the testsuite under a headless
Wayland compositor.
2020-05-15 14:11:53 -04:00
Matthias Clasen
9b7a73268e
docs: Clarify gdk_display_get_default_seat() docs
...
This function can return %NULL if the display
does not have a seat. Document that.
2020-05-15 14:11:53 -04:00
Timm Bäder
d4d9644409
Merge branch 'wip/tintou/set_css_classes_array' into 'master'
...
widget: Add array annotation to set_css_classes
See merge request GNOME/gtk!1907
2020-05-15 11:19:05 +00:00
Corentin Noël
80473ccd69
widget: Add array annotation to set_css_classes
...
It expects a NULL-terminated array so annotate it.
2020-05-15 12:01:56 +02:00
Jakub Steiner
b51a5446ba
Merge branch 'wip/jimmac/tabs-again-focus' into 'master'
...
Adwaita: notebook tab focus tweak
Closes #2721
See merge request GNOME/gtk!1906
2020-05-15 08:17:58 +00:00
Jakub Steiner
d7e6fbf8a2
Adwaita: notebook tab focus tweak
...
Finally fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2721
2020-05-15 09:34:57 +02:00
Matthias Clasen
acae90cc6e
Merge branch 'tests-cleanup' into 'master'
...
Tests cleanup
See merge request GNOME/gtk!1904
2020-05-15 01:38:38 +00:00
Matthias Clasen
dcfb4690c3
tests: Drop testdnd3
...
This has been integrated in gtk4-demo as the
DND example.
See #2738
2020-05-14 20:32:53 -04:00
Matthias Clasen
9e8d845a61
tests: Rename testheaderbar2 to testheaderbar
...
There is only one headerbar test now.
2020-05-14 20:15:59 -04:00
Matthias Clasen
1e2b5a9c19
tests: Consolidate all headerbar tests
...
No need to have several binaries for this.
See #2738
2020-05-14 20:15:31 -04:00
Matthias Clasen
4079b782d6
tests: Drop testorientable
...
Not really that interesting, and it only
tests a single case of orientable, a box.
See #2738
2020-05-14 19:48:08 -04:00
Matthias Clasen
dca142d5d2
tests: Drop testemblems
...
We no longer support emblems on icons.
See #2738
2020-05-14 19:44:54 -04:00
Matthias Clasen
52c630d994
tests: Drop testgiconpixbuf
...
More a pixbuf test, and we don't support
emblems anymore.
See #2738
2020-05-14 19:44:08 -04:00
Matthias Clasen
aadd9ae201
tests: Drop testbuttons
...
This does not really add much. We have plenty
of different button styles in our demos and
tests.
See #2738
2020-05-14 19:44:05 -04:00
Matthias Clasen
3df0f95ee3
Merge branch 'wip/exalm/kinetic_scrolling' into 'master'
...
eventcontrollerscroll: Fix the history push condition
See merge request GNOME/gtk!1902
2020-05-14 22:40:54 +00:00
Alexander Mikhaylenko
5dc6194b98
eventcontrollerscroll: Fix the history push condition
...
Once upon a time, there was a function called gdk_event_get_scroll_deltas().
It returned %TRUE when an event had scroll deltas and that was used as the
condition to decide whether to push scroll deltas to the scroll history,
even when the both deltas are 0 for the stop event at the end of scrolling.
When GtkScrolledWindow kinetic scrolling code was adapted for
GtkEventControllerScroll, it was replaced with a (dx != 0 && dy != 0)
check. This prevented the stop event from getting into the history, and
instead allowed non-smooth scrolling to affect the history as they have
synthetic deltas with one of the values being -1 or 1 and the other on 0.
Instead, check the direction as we already have it as a local variable.
2020-05-15 01:32:04 +05:00
Jakub Steiner
c025a569a9
Merge branch 'wip/jimmac/focus-tabs' into 'master'
...
Adwaita: don't focus outline tabs with mouse
Closes #2721
See merge request GNOME/gtk!1901
2020-05-14 17:35:10 +00:00
Jakub Steiner
dd61c248c1
Adwaita: don't focus outline tabs with mouse
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2721
2020-05-14 18:50:47 +02:00
Matthias Clasen
a6c1aef78b
Merge branch 'wip/exalm/headerbar-migration' into 'master'
...
docs: Mention GtkHeaderBar title and subtitle changes in migration guide
See merge request GNOME/gtk!1900
2020-05-14 15:37:16 +00:00
Alexander Mikhaylenko
9f761feb93
docs: Mention GtkHeaderBar title and subtitle changes in migration guide
2020-05-14 19:51:19 +05:00
Matthias Clasen
38f09ac38e
Merge branch 'x11-dnd-fix' into 'master'
...
Fix dnd on X11
See merge request GNOME/gtk!1899
2020-05-14 13:10:54 +00:00
Alexander Larsson
fed071ca96
GdkX11DragSurface: set visible state and invalidate on present
...
Without this we won't actually draw the surface.
2020-05-14 14:33:57 +02:00
Daniel Mustieles
4629f206c5
Updated Spanish translation
2020-05-14 12:04:27 +02:00
Daniel Mustieles
aba6371ea5
Updated Spanish translation
2020-05-14 12:00:33 +02:00
Alexander Larsson
bca4af360d
X11 dnd: Calculate relative coords right in events
...
GdkSurface.x/y is mostly 0, we need to look atht GdkX11Surface->abs_x/y.
2020-05-14 11:46:33 +02:00
Alexander Larsson
32f58e6c0b
gtk-demo/dnd: Fix up drag_cancel
...
This needs to return a boolean, also it should not call end because
that will be called anyway by Gtk+ after cancel, and this was causing
warnings due to the opacity being unset with no dragged widget set.
2020-05-14 10:45:38 +02:00
Alexander Larsson
4ce65f019e
GtkDragSource: Pass return value of drag-cancel into drag_end()
...
This is needed to work as the docs say (don't play fallback cancel animation
if cancel returned TRUE to signal the drop already happened).
2020-05-14 10:44:07 +02:00
Alexander Larsson
707229ce17
gtk-demo/dnd: Use gtk_popover_set_child(), not gtk_box_append
2020-05-14 10:13:05 +02:00
Alexander Larsson
e702d42597
x11 drag: Fix mapped error
...
In the gtk-demo drag-and-drop demo i can't drag anything, all I get
is:
(gtk4-demo:358993): Gdk-CRITICAL **: 09:36:19.617: Surface 0x7e1bb0 has not been mapped in GdkSeatGrabPrepareFunc
This is because GdkX11Drag.ipc_surface is not considered mapped, even
though we called gdk_x11_surface_show() on it, because the
GDK_SURFACE_STATE_WITHDRAWN flag is still set.
I added calls to gdk_synthesize_surface_state() to match what
e.g. show_popup() and gdk_x11_toplevel_present() does.
2020-05-14 09:54:34 +02:00
Matthias Clasen
64db8be7d5
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1897
2020-05-14 05:47:26 +00:00
Matthias Clasen
7eaa10dd8e
gtk-demo: Fix a problem with the dnd demo
...
When I move this into gtk-demo, I broke the hack
that ensures the GtkColorSwatch type is registered.
Bring it back.
2020-05-14 01:16:56 -04:00
Matthias Clasen
102e7d0838
widget-factory: Ensure we have some backgrounds
...
The flowbox demo is otherwise less than useful,
if /usr/share/gnome/backgrounds isn't present.
At the same time, give the scale in the listbox
some function.
2020-05-14 00:28:03 -04:00
Matthias Clasen
9f4e7b1249
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1896
2020-05-14 03:28:08 +00:00
Matthias Clasen
378cca75ea
Add a test for a flowbox crash
2020-05-13 21:47:11 -04:00
Matthias Clasen
69ab403d78
flowbox: Avoid an assertion in snapshot()
...
The api contract for size_allocate() vfuncs is
that they must allocate all the children that are
going to be snapshotted in snapshot(). The flowbox
size_allocate() was just bailing out when the children
request a size of 0x0, leading to an assertion in
snapshot() vfunc later. Just allocate all children
a size of 0x0 in this case.
2020-05-13 21:47:11 -04:00
Matthias Clasen
33011ccdff
flowbox: Avoid a crash in measure()
...
When the children request a height of zero, the
flowbox measure() function was happily dividing
by that zero, leading to badness.
2020-05-13 21:47:11 -04:00
Matthias Clasen
7915e998e2
listbox: Make Shift-Tab work again
...
The previous fix broke the case where we're Shift-Tabbing
from a listboxrow child to the row itself. This was causing
the widget-factory2.tab-backward test to fail. Fix it, by
grabbing the focus to the row explicitly.
2020-05-13 21:45:49 -04:00
Matthias Clasen
7ef51da1c1
listbox: Don't steal focus-on-click
...
If a row has content that is focus-on-click, and is set
to focus-on-click itself, then the row steals the focus
fromt he content, since it uses focus-on-click on button
release, as opposed to button press. Avoid that by
refusing to take focus if it is already on some
descendent of the row.
This was showing up in the widget-factory listbox on
page 2, where clicking on the spinbutton would briefly
put the focus on the spinbutton, only to lose it to
the row.
2020-05-13 19:43:04 -04:00
Matthias Clasen
ce949c0f25
widget-factory: Cosmetic changes
...
Change which rows in the listbox on page 2 are activatable,
and trigger a dialog. It did not really make sense that this
would happen when clicking on the spin button to focus it.
2020-05-13 19:22:31 -04:00
Matthias Clasen
e9d966488b
gtk-demo: Don't overdraw the fishbowl
...
Set overflow to hidden for the fishbowl widget, so the
blur buttons don't leak out into the window shadow.
2020-05-13 19:21:00 -04:00
Matthias Clasen
4c8688b846
inspector: Disable recursive inspection
...
We can't inspect the inspector, it doesn't work.
Therefore, disable the keybindings in the
inspector window.
2020-05-13 18:56:25 -04:00
Matthias Clasen
cea66139ae
flowbox: Make the children focusable again
...
This broke when the :focusable property was introduced.
The symptom was that keynav in the Emoji chooser did
not work anymore.
2020-05-13 18:27:18 -04:00
Matthias Clasen
c1658903b7
Merge branch 'tests-cleanup' into 'master'
...
Tests cleanup
See merge request GNOME/gtk!1894
2020-05-13 22:19:55 +00:00
Matthias Clasen
15e7bf50df
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1895
2020-05-13 21:57:15 +00:00
Matthias Clasen
e87bc3d33d
gtk-demo: Plug a memory leak
...
This leak was there all along. But with the new
gtk_window_destroy(), it shows up as an unclosable
window. Very noticable.
2020-05-13 17:24:57 -04:00
Matthias Clasen
10be40a8b1
scrolledwindow: Fix swapping out child
...
This was not working in the case that the existing child
is not a scrollable. It showed up as crashes of the
scrolling benchmark in gtk4-demo when switching examples.
2020-05-13 17:10:36 -04:00
Matthias Clasen
8e6ec0b8a3
tests: Fix scrolling performance test
...
Maybe this should be added to the benchmarks section
in gtk-demo. For now, fix it to work again.
2020-05-13 17:10:00 -04:00
Matthias Clasen
25577e4fbf
tests: Drop testnoscreen
...
It tests something that no longer works, and that
we probably don't want to guarantee anyway.
See #2738
2020-05-13 16:35:28 -04:00
Matthias Clasen
dc8c37120e
tests: Drop testexpander
...
This was copied into gtk4-demo at some point.
See #2738
2020-05-13 16:23:48 -04:00
Matthias Clasen
a375c41510
tests: Drop testfontchooser
...
This test adds nothing over the font choosers in
our various demos.
See #2738
2020-05-13 16:18:50 -04:00
Matthias Clasen
b8e905eae7
tests: Drop testcolorchooser
...
We have plenty of color choosers in demos.
This test doesn't add anything.
See #2738
2020-05-13 16:15:09 -04:00
Matthias Clasen
d1134e7616
Merge branch 'usable-scales' into 'master'
...
Usable scales
See merge request GNOME/gtk!1893
2020-05-13 20:06:51 +00:00
Matthias Clasen
b0fcf64544
tests: Drop testbox
...
Not useful enough to keep.
See #2738
2020-05-13 16:04:00 -04:00
Matthias Clasen
604f4cf8bf
tests: Drop testcolorchooser2
...
This tests an embedded colorchooser. Just like we have in
widget-factory. And it doesn't work in !srcdir builds, so
it can go.
See: #2738
2020-05-13 15:55:29 -04:00
Matthias Clasen
1420e846b5
tests: Drop testicontheme
...
This is a command line utility for GtkIconTheme
that is probably not as useful as gtk4-icon-browser.
See: #2738
2020-05-13 15:55:21 -04:00
Matthias Clasen
c3aeac19bc
tests: Drop testpixbuf-scale
...
This looks like a GdkPixbuf utility, and we
are moving away from GdkPixbuf anyway.
See: #2738
2020-05-13 15:55:18 -04:00
Matthias Clasen
deef018c68
tests: Drop testtoolbar2
...
This is just a tool bar styling test; we have
the same in the widget factory.
See: #2738
2020-05-13 15:37:21 -04:00
Matthias Clasen
aae0770b82
scale: Make the area around the trough clickable
...
The narrow trough is too hard to hit as a click target.
Make the entire scale clickable.
2020-05-13 15:27:35 -04:00
Matthias Clasen
51ec0f1348
Merge branch 'wip/exalm/ocd' into 'master'
...
demo: Remove double borders from the treeview
See merge request GNOME/gtk!1892
2020-05-13 18:31:39 +00:00
Matthias Clasen
4ed062ec2a
Merge branch 'wip/jimmac/menu-styling-adjustments' into 'master'
...
Wip/jimmac/menu styling adjustments
See merge request GNOME/gtk!1891
2020-05-13 17:18:45 +00:00
Jakub Steiner
69ee1e1b86
Adwaita: use thinner arrows for navigation
...
- go-next go-previous instead of pan-end pan-start
See https://gitlab.gnome.org/GNOME/gtk/-/issues/2675
2020-05-13 17:18:45 +00:00
Alexander Mikhaylenko
3bf6bdae73
demo: Remove double borders from the treeview
2020-05-13 20:57:00 +05:00
sicklylife
d0c54c1286
Update Japanese translation
2020-05-13 15:16:19 +00:00
sicklylife
cbc2493315
Update Japanese translation
2020-05-13 15:12:03 +00:00
Matthias Clasen
fa784aaa06
Cosmetics
2020-05-13 08:11:50 -04:00
Matthias Clasen
ab148c0135
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
Closes #2740 , #2742 , and #2741
See merge request GNOME/gtk!1890
2020-05-13 12:08:29 +00:00
Matthias Clasen
10813ddc23
Merge branch 'gtk-demo-expander-fix' into 'master'
...
gtk-demo: Fix expander demo
See merge request GNOME/gtk!1889
2020-05-13 11:44:11 +00:00
Matthias Clasen
8dfdd682cc
Merge branch 'print-editor-new-crash' into 'master'
...
print-editor: Fix crash
See merge request GNOME/gtk!1888
2020-05-13 11:42:00 +00:00
Timm Bäder
9149c79f25
window: Restructure gtk_window_destroy()
...
The previous code was unreffing the window twice, which caused problems
during dialog destruction. Move to g_list_store_find instead of
iterating manually.
ref() the window before and unref() after. g_list_store_remove will
actually unref() the window, since the toplevel_list owns its own
reference.
Fixes #2741
Fixes #2742
2020-05-13 12:18:09 +02:00
Timm Bäder
a50bf27cf2
main: Inline propagate_{down,up} in propagate_internal()
...
Don't have to worry about anyone calling the up/down variants on their
own this way.
2020-05-13 11:52:22 +02:00
Timm Bäder
ddaf50dfcc
window: Create constraint solver on demand
2020-05-13 11:52:16 +02:00
Timm Bäder
8a7fb4b133
widget: Make 1 if out of 2 ifs
2020-05-13 11:52:07 +02:00
Alexander Larsson
a02c588b19
gtk-demo: InfoBar is not a GtkBox anymore
...
Use gtk_info_bar_add_child to add children
2020-05-13 11:04:49 +02:00
Alexander Larsson
fede7cd81c
gtk-demo: Fix expander demo
...
GtkExpander is not a GtkBox anymore, so use the new gtk_expander_set_child()
API.
2020-05-13 10:50:41 +02:00
Alexander Larsson
fcbc972c2a
print-editor: Fix crash
...
We're trying to g_free a GFile, which is not good...
2020-05-13 10:18:17 +02:00
Timm Bäder
9e0bf35941
paned: Fix up the docs once more
2020-05-13 09:42:51 +02:00
Timm Bäder
f78c167476
cssvalue: Add class check to transition
...
In b25f93e24c we removed the code
comparing the transition functions, but we didn't add any other check
back.
Fixes #2740
2020-05-13 08:07:55 +02:00
Timm Bäder
b9ed957af3
gl renderer: Fix nested rounded clip rendering
...
If the inner clip intersects with the corners of the outer clip, we
potentially need a texture. We should add more fine-grained checks for
this in the future though.
Test case included.
2020-05-13 08:07:55 +02:00
Timm Bäder
949eb8d17a
node-editor: Monitor file and reload on changes
2020-05-13 08:07:55 +02:00
Timm Bäder
167c6119eb
widget: Move adjusted size calculation below early-out goto
2020-05-13 08:07:55 +02:00
Timm Bäder
ef2af521b1
widget: Remove size allocate signal enum member
2020-05-13 08:07:55 +02:00
Timm Bäder
aedc956f6c
renderboder: Ignore transparent outlines
2020-05-13 08:07:55 +02:00
Benjamin Otte
d9c0d98871
inspector: Use the monitor list to list monitors
2020-05-13 07:49:56 +02:00
Benjamin Otte
dd7d76f389
gdk: Add gdk_display_get_monitors()
...
Returns a GListModel of GDK_TYPE_MONITOR.
This will replace the current andling of monitors in GdkDisplay.
2020-05-13 07:00:35 +02:00
Benjamin Otte
bc88f01165
win32: Use a GListStore for the monitors
2020-05-13 06:45:08 +02:00
Benjamin Otte
7ff69e9356
x11: Use a GListStore for the monitors
2020-05-13 05:22:18 +02:00
Benjamin Otte
188e28e196
display: Remove unused vfunc
2020-05-13 04:51:52 +02:00
Benjamin Otte
3536bdd7a6
wayland: Use a GListStore for the monitors
...
Guess where this is going...
2020-05-13 04:51:52 +02:00
Benjamin Otte
c0c8e93d90
display: Remove gdk_display_get_last_seen_time()
...
Replace the only usage - in the X11 backend - with an X11-specific call.
2020-05-13 04:48:22 +02:00
Matthias Clasen
8d9a3de65a
Merge branch 'matthiasc/for-master' into 'master'
...
x11: Avoid a critical in clipboard data transfer
Closes #2736
See merge request GNOME/gtk!1887
2020-05-13 02:10:20 +00:00
Matthias Clasen
c66f2ca9eb
x11: Avoid a critical in clipboard data transfer
...
The handler we are calling here asserts that it gets
an interned string as mime_type. So give it one.
Fixes : #2736
2020-05-12 21:31:19 -04:00
Matthias Clasen
9c13bf70a7
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1885
2020-05-12 21:18:03 +00:00
Matthias Clasen
a4debecfb1
Merge branch 'tests-cleanup' into 'master'
...
Tests cleanup
See merge request GNOME/gtk!1884
2020-05-12 21:17:29 +00:00
Matthias Clasen
b230ea2140
paned: Don't ignore the type attribute
...
We were meaning to only handle <child> here for
compatibility, not <child type="somethingelse">.
2020-05-12 16:27:25 -04:00
Matthias Clasen
a37dc29850
paned: Drop the Private struct
2020-05-12 16:25:58 -04:00
Matthias Clasen
fe6238d1c4
tests: Drop the visuals test
...
This was just a different way to load a ui file
and try it with dark mode. This can be done
with gtk-builder-tool preview and GTK_THEME.
2020-05-12 15:56:46 -04:00
Matthias Clasen
e7bf4a3de8
tests: Move testcairo into gtk4-demo
...
Replace the boring checkboard pattern with this
exciting drawing, and save one test binary at the
same time!
2020-05-12 15:43:43 -04:00
Matthias Clasen
c133db4364
Drop the gtkgears test
...
This has recently been moved to gtk4-demo.
No need to duplicate it.
2020-05-12 15:43:43 -04:00
Matthias Clasen
694daa1d20
Move print-editor to demos
...
It is too demo-esque for languishing in tests/.
2020-05-12 15:43:43 -04:00
Matthias Clasen
f858a269dd
NEWS: Updates
2020-05-12 15:14:09 -04:00
Matthias Clasen
c916221f59
Merge branch 'matthiasc/for-master' into 'master'
...
printoperation-unix: Fix a use-after-free
See merge request GNOME/gtk!1883
2020-05-12 18:54:59 +00:00
Emmanuele Bassi
80539811c0
Merge branch 'docs-fixes' into 'master'
...
Docs fixes
See merge request GNOME/gtk!1882
2020-05-12 18:40:34 +00:00
Matthias Clasen
09ea880a43
printoperation-unix: Fix a use-after-free
...
It turns out that finish_print destroys the
PrintResponseData, so we can't access it afterwards.
2020-05-12 14:09:51 -04:00
Emmanuele Bassi
58774eea72
docs: Add annotations for GtkPaned new getters
...
Which means also adding gtk-doc stanzas.
2020-05-12 18:52:45 +01:00
Emmanuele Bassi
68682dda89
docs: Remove unnecessary SECTION
...
The GdkDragSurface definitions fall under the "dnd" section.
2020-05-12 18:44:21 +01:00
Emmanuele Bassi
6ae01f9815
docs: Remove redundant SECTION
...
We already have a SECTION stanza for gtk-doc.
2020-05-12 18:43:56 +01:00
Carlos Garnacho
3b9a8194a5
Merge branch 'wip/carlosg/broken-grabs' into 'master'
...
Fixes to broken grabs
Closes #2665
See merge request GNOME/gtk!1879
2020-05-12 16:14:47 +00:00
Matthias Clasen
fdc9bfa2e9
Merge branch 'matthiasc/for-master' into 'master'
...
window: Hide windows on destroy
See merge request GNOME/gtk!1881
2020-05-12 15:58:10 +00:00
Carlos Garnacho
9103fd6687
gtkmain: Release the active state on GDK_GRAB_BROKEN
...
This is handled internally here, but misses broken grabs. The active
state should be dropped just as if the button were released.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2665
2020-05-12 17:39:54 +02:00
Matthias Clasen
ffcffcd773
window: Hide windows on destroy
...
I thought I could get away with just unrealizing the
window, but it turns out that gtk_window_hide() is the
place where we remove grabs when a modal dialog goes
away, so we ended up with stuck grabs.
2020-05-12 11:10:36 -04:00
Matthias Clasen
450879b1da
Merge branch 'matthiasc/for-master' into 'master'
...
Documentation work
See merge request GNOME/gtk!1880
2020-05-12 14:52:01 +00:00
Matthias Clasen
c6cdd36586
Merge branch 'ebassi/run-dialog-run' into 'master'
...
Remove gtk_dialog_run() and friends
Closes #371
See merge request GNOME/gtk!1801
2020-05-12 14:29:54 +00:00
Emmanuele Bassi
717d4abebb
Do not release the GFile prematurely
...
Otherwise we won't be able to access it to get the URI for the
GtkPrinterOption.
This fixes a regression introduced in commit 5f070ff233 .
2020-05-12 13:45:15 +01:00
Emmanuele Bassi
e8c4b8338f
docs: Mention blocking functions in the migration guide
...
Link to how to make a dialog modal, and to the response signal.
2020-05-12 13:45:15 +01:00
Emmanuele Bassi
d54b7dec94
Remove gtk_dialog_run()
...
Nested main loops are bad, as they introduce layers of complexity caused
by the potential re-entrancy in the case of multiple event sources, like
IPC, threads, etc. Additionally, the programming model they provide—stop
the world while spinning a new loop—does not conform to the event-driven
model employed by GTK.
2020-05-12 13:45:15 +01:00
Emmanuele Bassi
0a6848d70b
Remove gtk_dialog_run() from GtkPrintUnixDialog
...
Replace it with an explicit nested main loop, as we need to block the
signal handler currently being emitted depending on the response of the
overwrite confirmation dialog.
This is a bit of a hack, and the only reason we need it is that the
print dialog will load the last used path as the output file name, when
printing to a file; this means that, in theory, it would be possible to
press Print without selecting a file, and accidentally overwriting an
existing file.
It would be much simpler if we did not store the last used path, and
always explicitly asked the user to select a file; this would avoid
destructive actions, and would allow us to rely on the overwrite
confirmation dialog right inside the file chooser.
2020-05-12 13:45:15 +01:00
Emmanuele Bassi
b8988be4b5
Remove unnecessary deprecation pragmas
...
The gtk_window_present() function is not deprecated.
2020-05-12 13:45:15 +01:00
Emmanuele Bassi
45eec06500
Drop gtk_dialog_run() from GtkPrintOperationUnix
...
We still provide a blocking API, but we should strongly reconsider it.
2020-05-12 13:45:15 +01:00
Emmanuele Bassi
2090dbb27d
tests: Remove gtk_dialog_run()
...
Either use the "response" signal for dialogs that are already modal, or
use an explicit nested loop for tests that rely on the response id being
available in sequence.
2020-05-12 13:45:15 +01:00
Emmanuele Bassi
96856527e6
Drop gtk_dialog_run() from GtkFileChooserWidget
...
The various dialogs we use inside the file chooser are modal already,
and do no need a nested loop.
2020-05-12 13:22:09 +01:00
Emmanuele Bassi
f81e6042be
docs: Remove use of gtk_dialog_run()
...
Direct people to use GTK_DIALOG_MODAL and the "response" signal instead
of nested main loops.
2020-05-12 13:18:38 +01:00
Emmanuele Bassi
5d272a12cb
Remove gtk_native_dialog_run()
...
Nested main loops are bad, as they introduce layers of complexity caused
by the potential re-entrancy in the case of multiple event sources, like
IPC, threads, etc. Additionally, the programming model they provide—stop
the world while spinning a new loop—does not conform to the event-driven
model employed by GTK.
2020-05-12 13:15:19 +01:00
Emmanuele Bassi
3212b07cf1
docs: Remove use of gtk_native_dialog_run() from examples
...
Use the "response" signal instead.
2020-05-12 13:15:19 +01:00
Emmanuele Bassi
f573a1f3f2
Remove gtk_dialog_run() from GtkMountOperation
2020-05-12 13:15:16 +01:00
Carlos Garnacho
fbd0c8dc34
gtkmain: Propagate GDK_GRAB_BROKEN events to/from current focus
...
Let keyboard/pointer paths handle their own events, and find the
current focus. The event will be propagated through instead of
being just emitted on the toplevel.
This makes it handled throughout all the gestures that want to
know about it.
2020-05-12 14:14:39 +02:00
Carlos Garnacho
e33af5895f
gdk/wayland: Drop explicit ungrab after surface move/resize
...
We now break grabs properly if receiving a .leave event with
active buttons. This is not necessary anymore.
2020-05-12 14:14:39 +02:00
Carlos Garnacho
f7d2985f89
gdk/wayland: Ensure .leave events with active buttons breaks grabs
...
Instead of silently ending up the grab, make it sure that we emit
a GDK_GRAB_BROKEN event if needed.
2020-05-12 14:14:39 +02:00
Carlos Garnacho
2bd8124b5d
gdk/wayland: Keep track of implicit grabs
...
Tracking of those broke sometime along the gdk cleanups, so we
started missing some GDK_GRAB_BROKEN events from being emitted
(eg. after a button press/implicit grab triggers an active grab).
Implicit grabs are only added if there's no prior grab (either
implicit through other button presses, or explicit), in order to
keep accounting correct, make those prevail.
2020-05-12 14:14:39 +02:00
Carlos Garnacho
5e765eaac4
gtktexthandle: Set css name on GtkWidgetClass
...
Handles are their own widget, special names are not necessary
anymore.
2020-05-12 14:14:39 +02:00
Emmanuele Bassi
4d09bf3b9b
demos: Remove gtk_dialog_run()
...
Use modal dialogs and the "response" signal.
2020-05-12 13:12:08 +01:00
Matthias Clasen
6df8bf7dde
docs: Updates to the migration guide
...
Remove some duplicated content, reorder things
to make more sense, and tweak the wording.
2020-05-12 07:50:17 -04:00
Matthias Clasen
d8db984890
docs: Tweaks
...
Replace some occurrences of GTK+ by GTK.
2020-05-12 07:50:12 -04:00
Matthias Clasen
072adbf079
docs: Updates to the common questions
...
Refresh the answers to some common questions.
2020-05-12 01:03:34 -04:00
Matthias Clasen
1ef6a35f3e
docs: Don't point at mailing lists
...
Replace references to the mailing lists by
discourse + irc.
2020-05-12 01:02:49 -04:00
Matthias Clasen
91f0fcde96
docs: Rearrange the introduction some more
...
Fine-tune some wording, and move the Custom Drawing
example earlier.
2020-05-12 01:02:07 -04:00
Matthias Clasen
82823dac97
Merge branch 'kill-containers' into 'master'
...
Kill containers
See merge request GNOME/gtk!1866
2020-05-12 03:14:26 +00:00
Matthias Clasen
848a8a792e
docs: Update migration guide
...
Add sections about GtkBin, GtkContainer and gtk_widget_destroy().
2020-05-11 22:38:21 -04:00
Matthias Clasen
7ef173aa34
dialog: Firm up handling of action widgets
...
It is unreliable to use the widget dom api to locate
action widgets. For example in a headerbar, they might
be deeper in the hierarchy, with boxes in between.
Therefore, make GtkDialog keep a list of action widgets,
and use that when operating on action widgets.
2020-05-11 22:38:21 -04:00
Matthias Clasen
f72d672434
dialog: Remove an unused struct
2020-05-11 22:38:21 -04:00
Matthias Clasen
5ebd42d402
Drop GtkContainer and its accessible implementation
...
It is no longer used.
2020-05-11 22:38:21 -04:00
Matthias Clasen
e706d4860e
testsuite: Drop a container api use
2020-05-11 22:38:21 -04:00
Matthias Clasen
5573a3465c
Drop gtkcontainer.h includes
...
These includes are unused.
2020-05-11 22:38:21 -04:00
Matthias Clasen
5f642f8096
box: Derive from GtkWidget
2020-05-11 22:38:21 -04:00
Matthias Clasen
6bc4446e3e
assistant: Remove code that doesn't work anymore
...
When GtkContainer goes away, we don't have
an "add" signal anymore.
2020-05-11 22:38:21 -04:00
Matthias Clasen
6c78eeebe4
dialog: Remove code that doesn't work anymore
...
When GtkContainer goes away, we don't have an
"add" signal anymore.
2020-05-11 22:38:21 -04:00
Matthias Clasen
58a88a88b8
shortcutssection: Drop container bits
...
When GtkBox stops being a container, GtkShortcutsSection
will also no longer be a container. So, stop overriding
container vfuncs, and instead add a buildable implementation
that does the right thing.
2020-05-11 22:38:21 -04:00
Matthias Clasen
537d21155f
shortcutsgroup: Drop container bits
...
When GtkBox stops being a container, GtkShortcutsGroup
will also no longer be a container. So, stop overriding
container vfuncs, and instead add a buildable implementation
that does the right thing.
2020-05-11 22:38:21 -04:00
Matthias Clasen
2a24b8c653
Replace most remaining uses of container api
...
These are all on GtkBox or enumerating children.
2020-05-11 22:38:21 -04:00
Matthias Clasen
665edcba53
box: Add gtk_box_append/prepend/remove
...
Add replacement api for gtk_container_add/remove.
2020-05-11 22:38:21 -04:00
Matthias Clasen
a0437628e3
notebook: Derive from GtkWidget
2020-05-11 22:38:21 -04:00
Matthias Clasen
0daa1f3daa
Stop using container api on GtkNotebook
2020-05-11 22:38:21 -04:00
Matthias Clasen
c7b7d78ae1
headerbar: Derive from GtkWidget
2020-05-11 22:38:21 -04:00
Matthias Clasen
abfa4d4a5c
Stop using container api on GtkHeaderBar
2020-05-11 22:21:39 -04:00
Matthias Clasen
d59d9d4bd5
headerbar: Add gtk_header_bar_remove
...
This is a replacement for gtk_container_remove.
2020-05-11 22:21:39 -04:00
Matthias Clasen
3d100abea8
listbox: Derive from GtkWidget
2020-05-11 22:21:39 -04:00
Matthias Clasen
6f170a0cf7
testsuite: Fix listbox tests
...
When moving from gtk_container_forall to the widget dom
api, we are now iterating over all children of the listbox,
including headers, separators, etc. So, skip everything
that is not a listboxrow, to make the tests work again.
2020-05-11 22:21:39 -04:00
Matthias Clasen
c55aa7e590
testsuite: Redo listbox sort test
...
This test was relying on gtk_container_forall returning
the visual (ie sorted) order of children, while iterating
with the widget dom api gives the insertion order.
Instead of using gtk_container_forall, use
gtk_list_box_row_get_index to reconstruct the visual
order.
2020-05-11 22:21:39 -04:00
Matthias Clasen
88141103cd
Don't use container api on GtkListBox
2020-05-11 22:21:39 -04:00
Matthias Clasen
ff91ce9eb4
listbox: Add gtk_list_box_remove
...
This is a gtk_container_remove replacement.
2020-05-11 22:21:39 -04:00
Matthias Clasen
7af15ae277
buildable: Cosmetics
...
Don't refer to GtkContainer in the docs.
2020-05-11 22:21:39 -04:00
Matthias Clasen
001d62381a
customlayout: Cosmetics
...
Don't refer to GtkContainer in the docs.
2020-05-11 22:21:39 -04:00
Matthias Clasen
47139bc506
textviewchild: Derive from GtkWidget
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
bf543e0367
text: Fix popover use
...
There were some leftover gtk_container_add calls here
on popovers on buttons, but these are no longer containers.
2020-05-11 22:21:39 -04:00
Matthias Clasen
5c34b30819
textview: Fix popover use
...
There were some leftover gtk_container_add calls here
on popovers on buttons, but these are no longer containers.
2020-05-11 22:21:39 -04:00
Matthias Clasen
ddcc9db568
flowbox: Derive from GtkWidget
2020-05-11 22:21:39 -04:00
Matthias Clasen
3bff7d3a37
Stop using container api on GtkFlowBox
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
2f7f6e6a37
flowbox: Add gtk_flow_box_remove
...
This is the replacement for gtk_container_remove.
2020-05-11 22:21:39 -04:00
Matthias Clasen
5907ecebfc
stack: Derive from GtkWidget
2020-05-11 22:21:39 -04:00
Matthias Clasen
a7769c9c88
treepopover: Stop using container api
2020-05-11 22:21:39 -04:00
Matthias Clasen
b490800949
shortcutswindow: Stop using container api
2020-05-11 22:21:39 -04:00
Matthias Clasen
ee5587d516
shortcutssection: Stop using container api
2020-05-11 22:21:39 -04:00
Matthias Clasen
01c3e2ce0d
Don't use container api on GtkStack
2020-05-11 22:21:39 -04:00
Matthias Clasen
5e0c1e6a86
stack: Add gtk_stack_remove
...
This is a replacement for gtk_container_remove.
2020-05-11 22:21:39 -04:00
Matthias Clasen
741a9cb320
fixed: Derive from GtkWidget
2020-05-11 22:21:39 -04:00
Matthias Clasen
0d57abfe65
Stop using container api on GtkFixed
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
96d707444d
fixed: Add gtk_fixed_remove
...
This is the replacement for gtk_container_reomve.
2020-05-11 22:21:39 -04:00
Matthias Clasen
3852661865
grid: Derive from GtkWidget
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
c0657297d1
grid: Remove a test for grid container functionality
...
This test was specifically testing how gtk_container_add
behaves on grids. Well, it doesn't anymore.
2020-05-11 22:21:39 -04:00
Matthias Clasen
932aa58237
Avoid container api on grids
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
5cda824784
grid: Add gtk_grid_remove
...
This is a replacement for gtk_container_remove.
2020-05-11 22:21:39 -04:00
Matthias Clasen
1a33278703
infobar: Derive from GtkWidget
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
bd843acde9
Use gtk_info_bar_add_child throughout
2020-05-11 22:21:39 -04:00
Matthias Clasen
12ca08c382
infobar: Add gtk_info_bar_add/remove_child
...
This is a replacement for container api that is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
78d20b9301
infobar: Add gtk_info_bar_remove_action_widget
...
This is mainly for completeness, since gtk_container_remove
will not work for those anymore.
2020-05-11 22:21:39 -04:00
Matthias Clasen
bc6643f3c2
paned: Redo the api
...
This commit is porting GtkPaned to be derived
from GtkWidget instead of GtkContainer, while adding
start-child and end-child properties. The existing
properties are renamed to follow the start/end naming
scheme, and we add proper getters and setters.
Update all users.
See #2719
2020-05-11 22:21:33 -04:00
Matthias Clasen
fc9873e9ef
paned: Drop some dead code
2020-05-11 22:21:14 -04:00
Matthias Clasen
253a39c6e9
iconview: Derive from GtkWidget
...
GtkIconView is not a container.
2020-05-11 22:21:14 -04:00
Matthias Clasen
825e98dcca
expander: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
See #2719
2020-05-11 22:21:14 -04:00
Matthias Clasen
1afc749443
Use gtk_expander_set_child throughout
...
Replace all uses of gtk_container_add on expanders
with gtk_expander_set_child.
2020-05-11 22:21:14 -04:00
Matthias Clasen
6b80d90db5
expander: Add a child property
2020-05-11 22:21:14 -04:00
Matthias Clasen
e2b23e8fde
actionbar: Derive from GtkWidget
...
GtkContainer is going away.
2020-05-11 22:21:09 -04:00
Matthias Clasen
c0f090627a
actionbar: Add gtk_action_bar_remove
...
This is a replacement for gtk_container_remove.
2020-05-11 20:33:23 -04:00
Matthias Clasen
3697c57e56
treeview: Derive from GtkWidget
...
Drop the GtkContainer vfuncs.
2020-05-11 20:33:23 -04:00
Matthias Clasen
52b1a347d8
treeview: Stop using container api
2020-05-11 20:33:23 -04:00
Matthias Clasen
aeef59fda9
textview: Derive from GtkWidget
...
Drop the GtkContainer vfuncs. As a replacement for
gtk_container_remove, make gtk_text_view_remove public.
2020-05-11 20:33:23 -04:00
Matthias Clasen
84632b0901
dragicon: drop gtkcontainer.h include
...
We don't need it anymore here.
2020-05-11 20:33:23 -04:00
Matthias Clasen
e516616cca
textviewchild: Don't leak children
...
Like everybody else, GtkTextViewChild must
unparent its children in dispose.
2020-05-11 20:33:23 -04:00
Matthias Clasen
d62ad4e6df
Fix a leftover window
...
We were still using container api on a window here.
2020-05-11 15:42:52 -04:00
Matthias Clasen
a7abb394e8
Fix a leftover list box child
...
We were still using container api on a list box child here.
2020-05-11 15:42:52 -04:00
Matthias Clasen
501eda2956
window: Fix accessible implementation
...
Now that GtkWindow is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:52 -04:00
Matthias Clasen
7fac7c2d28
statusbar: Fix accessible implementation
...
Now that GtkStatusBar is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:52 -04:00
Matthias Clasen
295c5594ce
scrolledwindow: Fix accessible implementation
...
Now that GtkScrolledWindow is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:52 -04:00
Matthias Clasen
a65f70ac23
popover: Fix accessible implementation
...
Now that GtkPopover is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:52 -04:00
Matthias Clasen
2e615d8c20
frame: Fix accessible implementation
...
Now that GtkFrame is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:52 -04:00
Matthias Clasen
ce5b51b017
flowboxchild: Fix accessible implementation
...
Now that GtkFlowBoxChild is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:51 -04:00
Matthias Clasen
cca73c436d
combobox: Fix accessible implementation
...
Now that GtkComboBox is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:51 -04:00
Matthias Clasen
840a5e35f4
listboxrow: Fix the accessible implementation
...
GtkListBoxRow is no longer a container, update
the accessible implementation to match.
2020-05-11 15:42:51 -04:00
Matthias Clasen
af19c7275b
button: Fix accessible implementation
...
Now that GtkButton is no longer a container,
update the accessible implementation to match.
2020-05-11 15:42:51 -04:00
Matthias Clasen
d7b1ecdf52
Cosmetics: Replace GtkContainer in an error message
...
GtkWidget is not that much better here, unfortunately.
Adapt the testsuite to match.
2020-05-11 15:42:51 -04:00
Matthias Clasen
ba0579c670
Merge branch 'matthiasc/for-master' into 'master'
...
print-editor: Bring back the menubar
See merge request GNOME/gtk!1875
2020-05-11 19:08:53 +00:00
Matthias Clasen
757c9675b0
Merge branch 'wip/exalm/2242-test' into 'master'
...
tests: Add a headerbar-in-window test case
See merge request GNOME/gtk!1878
2020-05-11 18:51:20 +00:00
Matthias Clasen
cc28a7b0ef
Merge branch 'wip/tintou/doc-fixes' into 'master'
...
docs: Fix several missing references in the documentation
See merge request GNOME/gtk!1874
2020-05-11 18:40:34 +00:00
Matthias Clasen
58fd969b2d
printeroptionwidget: Avoid a critical
...
The new_location can be NULL, as we clearly
knew earlier in the function. We've forgotten
about that by the time we unref it :(
2020-05-11 14:26:31 -04:00
Matthias Clasen
495b9caf63
headerbar: Don't clean up other widget children
...
The parent of the title_widget is the center box,
it needs to call gtk_widget_unparent on it.
2020-05-11 14:25:57 -04:00
Emmanuele Bassi
aece8bab17
Merge branch 'cherry-pick-6d8fb83a' into 'master'
...
aboutdialog: Update precondition checks for new licenses added in 3.24.20
Closes #2734
See merge request GNOME/gtk!1877
2020-05-11 18:25:39 +00:00
Matthias Clasen
ea53b445a8
filechooserdialog: Be more careful with widgets
...
We were stepping on our own toes, by first setting
up a save entry and telling the filechooserwidget
about it, and then nuking it by setting a title
on the headerbar. The filechooserwidget wasn't
ready for the entry to die without anybody telling
it.
This fixes a crash when using the filechooser for
print-to-file in the print dialog.
2020-05-11 14:23:58 -04:00
Alexander Mikhaylenko
70d14f60b2
tests: Add a headerbar-in-window test case
...
See https://gitlab.gnome.org/GNOME/gtk/-/issues/2242
2020-05-11 22:37:58 +05:00
Simon McVittie
6451250b2e
aboutdialog: Update precondition checks for new licenses added in 3.24.20
...
To avoid making this mistake again, add a static assertion that the
enum is in sync with gtk_license_info, and use the length of
gtk_license_info for the precondition check.
Signed-off-by: Simon McVittie <smcv@debian.org >
Resolves : #2734
2020-05-11 18:37:22 +01:00
Corentin Noël
076b2f11d2
docs: Fix several missing references in the documentation
...
This fixes several typos and missing references
2020-05-11 19:26:20 +02:00
Matthias Clasen
7ae1d9d796
Merge branch 'window-destroy' into 'master'
...
Drop gtk_widget_destroy
See merge request GNOME/gtk!1864
2020-05-11 17:15:59 +00:00
Matthias Clasen
c8a96d08a0
print-editor: Bring back the menubar
...
This was the one place where we relied on
the menubar fallback in GtkApplicationWindow.
So turn it on explicitly.
2020-05-11 12:55:15 -04:00
Matthias Clasen
6d969d1026
Update the docs
...
Remove various references to gtk_widget_destroy in the docs.
2020-05-11 12:20:59 -04:00
Matthias Clasen
177c0eb9e2
Unset tooltip window earlier
...
This avoids a crash when the tooltip window tries
to update its action muxers.
2020-05-11 12:20:59 -04:00
Matthias Clasen
1306727fb1
window: Remove _set_has_user_ref_count
2020-05-11 12:20:59 -04:00
Timm Bäder
e5d6b493c0
testsuite: add widget refcount test case
...
Testing toplevels and popovers.
2020-05-11 12:20:59 -04:00
Matthias Clasen
0f10b170f4
widget: Drop gtk_widget_destroy
2020-05-11 12:20:59 -04:00
Matthias Clasen
6aebedb8bc
window: Implement gtk_window_destroy
...
Don't call gtk_widget_destroy; instead implement
gtk_window_destroy outselves by removing the window
from the toplevel lista and dropping the reference that
GTK holds.
2020-05-11 12:20:59 -04:00
Matthias Clasen
025375ff5f
Replace gtk_widget_destroy everywhere
...
Replace all remaining uses of gtk_widget_destroy
by gtk_container_remove or g_object_unref.
2020-05-11 12:20:59 -04:00
Matthias Clasen
cd0081d08a
Use gtk_window_destroy
...
Replace calls to gtk_widget_destroy on windows
with gtk_window_destroy.
2020-05-11 12:20:57 -04:00
Matthias Clasen
48821a64d0
window: Add gtk_window_destroy
...
This is a replacement for gtk_widget_destroy for toplevels.
For now, it is just a wrapper.
2020-05-11 12:19:39 -04:00
Matthias Clasen
81340da8b6
nativedialog: Do not ref the transient_for parent
...
gtk_window_set_transient_for does not ref its parent either. This is
important because a child widget of the parent might be the one calling
this function.
This was showing up as widget-factory not existing on close after
opening the file chooser.
2020-05-11 12:19:39 -04:00
Matthias Clasen
466d2a84de
testsuite: Clean up unexpected children
...
If you call gtk_widget_set_parent on an unsuspecting
parent widget, it is your reponsibility to clean up
before the parent gets finalized.
2020-05-11 12:19:39 -04:00
Matthias Clasen
ddebf07236
popover: Fix a reference leak
...
Don't leak the reference to the default widget.
2020-05-11 12:19:39 -04:00
Matthias Clasen
0ba1aad4e3
filechooserdialog: Fix disposing
...
We need to drop our widgetry in dispose to prevent
leakage.
2020-05-11 12:19:39 -04:00
Matthias Clasen
4b144855b9
colorchooserdialog: Fix disposing
...
We need to drop our widgetry in dispose to prevent
leakage.
2020-05-11 12:19:39 -04:00
Matthias Clasen
b6bfeb786f
fontchooserdialog: Fix disposing
...
We need to drop our widgetry in dispose to prevent
leakage.
2020-05-11 12:19:39 -04:00
Matthias Clasen
573b20a8f8
Drop gtk_widget_destroyed
...
Use g_object_add_weak_pointer or a weak reference instead.
2020-05-11 12:19:39 -04:00
Matthias Clasen
8f9c3ed44a
Stop using gtk_widget_destroyed
...
Replace all internal use of gtk_widget_destroyed
by g_object_add_weak_pointer.
2020-05-11 12:19:37 -04:00
Matthias Clasen
9ce7b16dd8
Merge branch 'wip/exalm/test' into 'master'
...
Fix (most of the) tests
See merge request GNOME/gtk!1873
2020-05-11 15:52:24 +00:00
Matthias Clasen
597665517c
Merge branch 'teardown-cleanup-2' into 'master'
...
Treeview teardown cleanup
See merge request GNOME/gtk!1872
2020-05-11 15:23:40 +00:00
Alexander Mikhaylenko
228b3fc622
tests: Stop explicitly showing widgets
2020-05-11 20:15:57 +05:00
Alexander Mikhaylenko
ea9cea9be7
tests: Remove redundant image from testdialog
2020-05-11 20:04:23 +05:00
Alexander Mikhaylenko
56f56e6352
tests: Connect signal properly for testvolumebutton
2020-05-11 19:54:32 +05:00
Alexander Mikhaylenko
2323e8d77d
tests: Remove orientation from testvolumebutton
...
GtkVolumeButton isn't orientable anymore.
2020-05-11 19:53:31 +05:00
Alexander Mikhaylenko
531468cab6
test: Stop using stock-size for teestverticalcells
2020-05-11 19:51:18 +05:00
Alexander Mikhaylenko
58fcd09cff
tests: Fix testtreeelistmodel
...
Stop using GtkContainer API for GtkListBoxRow and GtkToggleButton.
2020-05-11 19:47:58 +05:00
Alexander Mikhaylenko
2940b17a8e
tests: Fix teststackedheader
...
Connect to signals programmatically.
2020-05-11 19:33:05 +05:00
Matthias Clasen
b8c5bf8af8
testsuite: Enable the remaining template tests
...
These are no longer failing.
2020-05-11 10:30:03 -04:00
Matthias Clasen
d061bcad52
treeview: Break reference cycles on unroot
...
It is a bad idea to have such cycles in the first place,
and there is no need to let them linger past unroot.
This stop the treeview depending on run_dispose to get
freed, a simple unparent will work now.
2020-05-11 10:30:03 -04:00
Alexander Mikhaylenko
1d2af907fc
tests: Fix teststack "add icon" button
2020-05-11 19:27:41 +05:00
Matthias Clasen
329994291a
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!1867
2020-05-11 14:24:45 +00:00
Alexander Mikhaylenko
b2da99fd4e
tests: Fix testselectionmode
...
Stop using <packing/> and GtkContainer API for random widgets.
2020-05-11 19:21:03 +05:00
Yuri Chornoivan
2d97357136
Update Ukrainian translation
2020-05-11 14:20:13 +00:00
Alexander Mikhaylenko
4361a884bf
tests: Fix testoverlay
...
Stop using child properties and margin property.
2020-05-11 19:13:04 +05:00
Alexander Mikhaylenko
14dc92c747
tests: Simplify testorientable
...
Since GtkButtonBox is gone, remove the separator and change grid to box.
2020-05-11 19:08:56 +05:00
Alexander Mikhaylenko
c9760ed456
tests: Remove testmodelbutton
...
GtkModelButton is private now, so it can't work anymore.
2020-05-11 19:03:53 +05:00
Alexander Mikhaylenko
7c148bebef
tests: Remove use-popover from testmenubutton
...
The corresponding property doesn't exist anymore.
2020-05-11 18:55:15 +05:00
Alexander Mikhaylenko
7aeb504652
tests: Fix testlogout
...
Stop using GtkApplication::quit signal.
2020-05-11 18:54:53 +05:00
Alexander Mikhaylenko
e0d36d1f2d
tests: Fix testiconview
...
Stop using GtkContainer API for GtkPopover.
2020-05-11 18:54:23 +05:00
Alexander Mikhaylenko
68fb643a7e
tests: Fix testheightforwidth layout
...
Stop using child properties and setting visible=true everywhere.
2020-05-11 18:39:32 +05:00
Alexander Mikhaylenko
fb0dcaf066
tests: Expand content for testheaderbar
2020-05-11 18:31:59 +05:00
Alexander Mikhaylenko
4277eeee1b
tests: Fix testgtk
...
An assorted collection of fixes.
2020-05-11 18:12:18 +05:00
Matthias Clasen
9f3fb69dce
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2729 and #2730
See merge request GNOME/gtk!1870
2020-05-11 12:51:08 +00:00
Matthias Clasen
0e18e52f00
menubutton: Cosmetics
...
Fix a few typos in the docs.
2020-05-11 08:15:56 -04:00
Matthias Clasen
d2430c70bd
Refresh the tutorial examples
...
Redo this series of examples from 2013, and adapt it to modern
way of doing things. The biggest differences are that we use
a headerbar right from the start, and don't mention the app
menu.
Fixes : #2730
2020-05-11 08:15:56 -04:00
Matthias Clasen
4de4957aa3
applicationswindow: Make show-menubar FALSE by default
...
The fallback to the menubar is not a good sight,
we should not do that by default.
2020-05-11 08:15:56 -04:00
Matthias Clasen
0fc1a290e2
docs: Cosmetic updates to the tutorial
...
Since the meson conversion, we are no longer expanding
gtk-doc references in this file, so take them out. And
touch up the wording in various places.
2020-05-11 08:15:55 -04:00
Matthias Clasen
1b8a025a5f
Clean up a leak in a test
...
One of the treeview tests was calling gtk_widget_destroy
on a child instead of the toplevel, which leaks the toplevel
unnecessarily. Plus, we're moving towards allowing destroy
only on toplevels.
2020-05-11 08:15:55 -04:00
Matthias Clasen
d798527290
treeviewcolumn: Another case of box <> frame confusion
...
Don't call your boxes frames, folks!
2020-05-11 08:15:55 -04:00
Matthias Clasen
6140dafecf
builderscope: Fix finalize <> dispose confusion
...
Don't chain up to dispose if you implement finalize.
This fix s courtesy of GOBJECT_DEBUG=objects.
2020-05-11 08:15:55 -04:00
Matthias Clasen
3a5cf61a4d
print dialog: Fix frame <> box confusion
...
It is a bad idea to have a GtkBox called frame, event
if it started out its existence as a GtkFrame.
2020-05-11 08:15:55 -04:00
Matthias Clasen
a11119d317
treeview: Ensure search popover is properly inserted
...
The css tree and the widget tree are not in sync, so we need
to explicitly set the parent of the css node before inserting
the widget, or else we end up with critical warnings and a
non-working popover.
This can be seen in the print dialog, when moving the focus
to the printer list.
2020-05-11 08:15:55 -04:00
Matthias Clasen
756720fde4
print-editor: Cosmetics
...
Make the about dialog a bit less barren.
2020-05-11 08:15:55 -04:00
Matthias Clasen
2b920b22c1
print-editor: Fix a critical
...
GtkWindow is no longer a container, so don't call
gtk_container_add on it.
2020-05-11 08:15:55 -04:00
Matthias Clasen
bb8fa045c2
Merge branch 'focusable-property' into 'master'
...
Focusable property
See merge request GNOME/gtk!1834
2020-05-11 11:23:15 +00:00
Emmanuele Bassi
4cc21f1fa1
Merge branch 'aperezdc/vk-result-range-size' into 'master'
...
Fix build issue due to missing VK_RESULT_RANGE_SIZE
See merge request GNOME/gtk!1871
2020-05-11 10:02:53 +00:00
Adrian Perez de Castro
5c4ca1424d
Fix build issue due to missing VK_RESULT_RANGE_SIZE
...
Conditionally check whether the Vulkan headers version defines
VK_RESULT_RANGE_SIZE, and avoid using it for version >=140. The
following comming in Vulkan-Headers has removed the enum value:
0c5351f5e9 (diff-4febd94c0666d59030d8b1dd20c72403)
2020-05-11 10:07:41 +03:00
Matthias Clasen
6372a33838
Clarify docs around focus.
2020-05-11 00:29:41 -04:00
Matthias Clasen
b93631164f
Remove lots of focus vfuncs
...
In many cases, the default widget vfuncs work just fine,
combined with setting focusable.
2020-05-11 00:11:37 -04:00
Matthias Clasen
46bad5d513
widget: Fix gtk_widget_focus_all for !focusable
...
This was a case that wasn't handle properly when
the focus is entering from the outside, in forward
direction.
2020-05-11 00:11:04 -04:00
Matthias Clasen
edc31a264c
widget: Add a :focusable property
...
Add back a property that determines whether an individual
widget will accept focus or not. :can-focus prevents the
focus from ever entering the entire widget hierarchy
below a widget, and :focusable just determines if grabbing
the focus to the widget itself will succeed.
See #2686
2020-05-10 23:24:48 -04:00
Alexander Mikhaylenko
99704248b7
tests: Fix testgmenu
...
GtkMenuButton isn't a GtkButton anymore.
2020-05-11 04:58:36 +05:00
Alexander Mikhaylenko
7a09143519
tests: Add missing margin for testglarea
2020-05-11 04:57:01 +05:00
Alexander Mikhaylenko
25295d1e17
tests: Fix testgiconpixbuf test
...
Don't use GtkContainer API on GtkWindow.
2020-05-11 04:55:22 +05:00
Alexander Mikhaylenko
6920fc3625
tests: Fix testfontchooser layout
...
Remove an extra box so that we don't need to expand the chooser.
2020-05-11 04:52:04 +05:00
Alexander Mikhaylenko
b2f2b3f169
tests: Fix testfilechooser test
...
Don't use GtkContainer API on GtkWindow.
2020-05-11 04:47:26 +05:00
Alexander Mikhaylenko
466e8a70e5
tests: Add missing margin for testentrycompletion
2020-05-11 03:47:39 +05:00
Alexander Mikhaylenko
f2542e95f9
tests: Fix testdnd popup
...
Don't use GtkContainer API for GtkWindow.
2020-05-11 03:38:10 +05:00
Alexander Mikhaylenko
02b27775d8
tests: Fix testdialogtest
...
Fix deprecations in UI files, add a missing expand.
2020-05-11 03:36:51 +05:00
Alexander Mikhaylenko
9af4a420a3
tests: Update testcombochange test
...
GtkComboBox doesn't have list mode anymore, remove that.
2020-05-11 03:23:12 +05:00
Alexander Mikhaylenko
9efdf3c65c
tests: Fix testcombo
...
Don't use GtkContainer API on GtkFrame.
2020-05-11 03:22:34 +05:00
Alexander Mikhaylenko
e162b3ee19
tests: Fix testcalendar layout
...
Add a missing expand.
2020-05-11 03:22:15 +05:00
Alexander Mikhaylenko
1fd75d0fa2
tests: Add missing margin to simple test
2020-05-11 02:49:09 +05:00
Alexander Mikhaylenko
de5939f319
tests: Fix testadjustsize test
...
Don't assume GtkWindow is a container, also add missing expand and margin.
2020-05-11 02:47:40 +05:00
Alexander Mikhaylenko
31e3c1e362
tests: Fix testappchooser test
...
Don't assume GtkWindow is a container.
2020-05-11 02:47:40 +05:00
Alexander Mikhaylenko
1c03745ee4
tests: Fix testaccel layout
...
hexpand doesn't matter there, set vexpand instead.
2020-05-11 02:47:40 +05:00
Alexander Mikhaylenko
778d3884e2
tests: Fix testaccel indentation
2020-05-11 02:47:32 +05:00
Alexander Mikhaylenko
0f57e6c3c0
tests: Fix syncscroll
...
Set expand for the scrolled windows.
2020-05-11 02:26:42 +05:00
Alexander Mikhaylenko
edfaa5fc36
tests: Fix overlayscroll
...
Set expand for the scrolled window.
2020-05-11 02:18:06 +05:00
Alexander Mikhaylenko
b7bfb29ae8
tests: Fix print-editor
...
Don't assume GtkWindow is a container.
2020-05-11 02:17:42 +05:00
Matthias Clasen
caab6ac6e7
testsuite: Add more tests for automated components
...
Add template tests that show the complex dialogs before
destroying them. This reveals that we are leaking in
several of them. These leaks don't show up if the
dialogs are destroyed right away, as the existing
tests do.
Disable the two failing tests for now:
/template/GtkFileChooserDialog/show
/template/GtkPrintUnixDialog/show
2020-05-10 16:25:28 -04:00
Matthias Clasen
9d4b01fff8
testsuite: Use lowercase component in test paths
...
This is purely cosmetic.
2020-05-10 16:25:28 -04:00
Matthias Clasen
10921aa237
textview: Ensure popup menu is properly inserted
...
In the presence of attached children, the css tree and the
widget tree are not in sync, so we need to explicitly set
the parent of the css node before inserting the widget, or
else we end up with critical warnings and a non-working
menu.
This can be seen in testtextview.
2020-05-10 16:25:28 -04:00
Matthias Clasen
3f548327b5
textview: Give attached children a different css name
...
If we use "text" for the children that are attached to the
text view, they end up rendering the same background as the
main text content, causing that content to be covered up.
Fixes : #2729
2020-05-10 16:25:28 -04:00
Aurimas Černius
f6a4e68973
Updated Lithuanian translation
2020-05-10 22:34:16 +03:00
Matthias Clasen
eae4a194b8
Merge branch 'wip/exalm/headerbar-dragging' into 'master'
...
Extract GtkWindow dragging and titlebar actions
Closes #2689
See merge request GNOME/gtk!1814
2020-05-10 18:15:57 +00:00
Yuri Chornoivan
f693da148e
Update Ukrainian translation
2020-05-10 16:03:34 +00:00
Piotr Drąg
386b36a625
Update POTFILES.in
2020-05-10 14:34:33 +02:00
Timm Bäder
52ae384bfd
gl shaders: unify frag coord handling
2020-05-10 09:30:15 +02:00
Timm Bäder
b98ad549c2
gl renderer: Only destroy shader programs with ids > 0
...
We may return -1 as an error return value.
2020-05-10 09:30:15 +02:00
Timm Bäder
d015b1b29e
scrolledwindow: Always keep the main child first
...
Otherwise we can't pick the scrollbars, which are allocated behind it.
2020-05-10 09:30:15 +02:00
Timm Bäder
343d294bfb
stylecontext: Remove _save_named
...
Now unused.
2020-05-10 09:30:15 +02:00
Timm Bäder
6566fdc1e3
scrolledwindwo: Add a permanent junction node
...
Use that instead of save_named'ing a junction node.
2020-05-10 09:30:15 +02:00
Timm Bäder
bcdd6d5425
printunixdialog: Use two "paper" css nodes
...
Instead of save_named'ing to a temporary "paper" node.
2020-05-10 09:30:15 +02:00
Timm Bäder
cbbbf44dd4
cellrenderertoggle: Replace save_named with a css node
2020-05-10 09:30:13 +02:00
Timm Bäder
2455978c78
widget: Move {dis,}connect_frame_clock into their only caller
...
Makes sense to have these only in (un)realize.
2020-05-10 08:44:20 +02:00
Timm Bäder
343707e0a2
stylecontext: Remove some unused private API
2020-05-10 08:44:20 +02:00
Timm Bäder
1b10020b6e
css: Make GtkStyleAnimation and subclasses non-objects
...
Making them GObjects is unnecessary. This enables further optimizations
down the road. The only place we use them in is gtkcssanimatedstyle.c
after all.
2020-05-10 08:44:20 +02:00
Timm Bäder
57444f77f7
testtreeview: Properly annotate a switch fallthrough
2020-05-10 08:44:20 +02:00
Timm Bäder
06460ea50c
css: Drop a few dynamic type checks
...
We hit these code paths a lot
2020-05-10 08:44:20 +02:00
Timm Bäder
e12c9de5df
csstransiton: Save finished state
...
Once a transtion is finished it can't change to unfinished again, so we
don't have to consult the progress tracker all the time.
2020-05-10 08:44:20 +02:00
Timm Bäder
f38bbb9bc2
gtkarray: memcpy() directly into the GPtrArray
2020-05-10 08:44:20 +02:00
Timm Bäder
75cfe3c6ae
gtkarray: Create GPtrArray in insert() if we have to
2020-05-10 08:44:20 +02:00
Timm Bäder
24608d5c23
gtkarray: Fix a typo
2020-05-10 08:44:20 +02:00
Timm Bäder
b25f93e24c
Make dimension values and calc values just number values
2020-05-10 08:44:20 +02:00
Timm Bäder
df08387e35
csscalcvalue: Avoid allocating memory in compute()
...
We already know how many values we're going to have, it's
value->n_terms.
2020-05-10 08:44:20 +02:00
Christoph Reiter
90b3105d99
CI: install brotli in msys2
...
Not a direct dependency, but the freetype package is missing it atm
2020-05-10 08:37:01 +02:00
Matthias Clasen
0fdcc3778d
Merge branch 'matthiasc/for-master' into 'master'
...
window: Remove some dead code
Closes #2726 and #2724
See merge request GNOME/gtk!1862
2020-05-10 00:36:49 +00:00
Matthias Clasen
78343ef61a
placesview: Don't do the same thing twice
...
When the schema is supported, we want to remove
the error style class, not add it again. Pointed
out by Rafał Mikrut.
Fixes : #2724
2020-05-09 19:41:30 -04:00
Matthias Clasen
d83df5a928
gsk: Fix a typo
...
We were checking x_offset twice, when we meant to check
x_offset and y_offset. Pointed out by Rafał Mikrut.
Fixes : #2726
2020-05-09 19:40:06 -04:00
Matthias Clasen
fc42a0696e
Add a test for refcounts under reordering
...
It turns out that we have a ref leak at the very
core of our dom model :( gtk_widget_insert_before/after
leak a reference if the widget was already under
the same parent. This is something that GtkBox
frequently does. It shows up e.g. when packing
widgets at the end in a headerbar.
2020-05-09 19:38:19 -04:00
Matthias Clasen
0cd0ef2d26
widget: Don't leak a reference when reordering
...
When reordering a widget that is alrady under the
same parent, we must not take another reference.
2020-05-09 19:27:56 -04:00
Matthias Clasen
c4514e7eb4
window: Remove some dead code
...
We are not attaching windows anymore.
2020-05-09 19:27:56 -04:00
Daniel Șerbănescu
3d6fdffb7c
Update Romanian translation
2020-05-09 18:19:28 +00:00
Florentina Mușat
b14339dc56
Update Romanian translation
2020-05-09 17:18:59 +00:00
Kristjan SCHMIDT
f2dce6d847
Update Esperanto translation
2020-05-09 10:20:43 +00:00
Matthias Clasen
53ca60adbf
Merge branch 'carlosgc/content-provider-union-write' into 'master'
...
clipboard: GdkContentProviderUnion should return after writing the first matched format
See merge request GNOME/gtk!1856
2020-05-08 15:50:33 +00:00
Matthias Clasen
20f160495d
Merge branch 'tintou/gsk-transform-autocleanup' into 'master'
...
gsk: Add GskTransform autocleanup definition
See merge request GNOME/gtk!1859
2020-05-08 15:05:50 +00:00
Matthias Clasen
61d39a09a5
Merge branch 'gbsneto/css-dequeue-fix' into 'master'
...
csswidgetnode: Don't check for container
See merge request GNOME/gtk!1861
2020-05-08 14:55:46 +00:00
Matthias Clasen
0e251906fb
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1860
2020-05-08 14:51:59 +00:00
Georges Basile Stavracas Neto
2cc6c4d2d1
csswidgetnode: Don't check for container
...
The conditions to queue and dequeue a CSS validation
are different; while queueing checks if the widget is
a root, dequeueing checks that AND if the widget is
a container.
GtkWindow is not a GtkContainer anymore, and that is
causing validations to be queued, but never dequeued.
Don't require the widget to be a GtkContainer for
dequeuing.
2020-05-08 10:57:41 -03:00
Matthias Clasen
6efdaa9ffd
placeview: Hide the protocols grid when its empty
...
Seeing just the bold headings at the bottom of the
popover is confusing, so just hide the entire grid
in this case.
2020-05-08 09:20:02 -04:00
Matthias Clasen
d06cdf6318
droptarget: Fix confusion around ::leave signal
...
The leave signal should not take any arguments,
don't pass the GdkDrop. Update the documentation,
fix the emission and update users to match.
This was showing up as crash when dragging files
over the places sidebar.
2020-05-08 08:50:44 -04:00
Corentin Noël
7df572d308
gsk: Add GskTransform autocleanup definition
2020-05-08 09:14:55 +02:00
Alexander Mikhaylenko
8d24711567
testsuite: Update bloomfilter test
...
Add the 2 new css nodes.
2020-05-08 00:03:42 +05:00
Alexander Mikhaylenko
f4538839d4
window: Stop handling dragging and titlebar actions
...
Since GtkWindowHandle and GtkHeaderBar do it now, it can be removed from
GtkWindow, along with GTK_WINDOW_REGION_TITLE which at this point doesn't
differ from GTK_WINDOW_REGION_CONTENT.
Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/2689 , since
GtkWindowHandle doesn't do that anymore.
2020-05-08 00:02:08 +05:00
Alexander Mikhaylenko
8ca1e0ddc3
headerbar: Include GtkWindowHandle
...
This allows it to continue being draggable when placed inside a window, and
will allow to remove the corresponding gestures from GtkWindow.
2020-05-07 23:58:16 +05:00
Alexander Mikhaylenko
4135276252
headerbar: Use GtkCenterBox internally
...
This will allow to easily wrap it into another widget in the next commits.
2020-05-07 23:58:16 +05:00
Alexander Mikhaylenko
8bd44cb3eb
Add GtkWindowHandle
...
This will allow to move the titlebar handling logic out from GtkWindow.
2020-05-07 23:57:58 +05:00
Carlos Garcia Campos
739137ccf9
clipboard: GdkContentProviderUnion should return after writing the first matched format
...
It continues trying with the other providers due to a missing early
return.
2020-05-07 11:27:45 +02:00
Alexander Mikhaylenko
6c636642df
widget: Pass parent to gtk_widget_consumes_motion()
...
Right now it assumes that the parent is a GtkWindow. This will break when
window dragging is handled by another widget.
2020-05-07 09:44:15 +05:00
Matthias Clasen
42ca760f9c
Merge branch 'matthiasc/for-master' into 'master'
...
Fix an inspector crash
See merge request GNOME/gtk!1855
2020-05-07 02:56:04 +00:00
Matthias Clasen
57d3719583
Fix an inspector crash
...
Fix the listmodel semantics of the controller model,
by making get_item return a reference.
This was broken in 4b9e5304cc .
2020-05-06 22:25:51 -04:00
Matthias Clasen
0b5b350f3e
Merge branch 'matthiasc/for-master' into 'master'
...
modelbutton: Unify activation code paths
See merge request GNOME/gtk!1854
2020-05-07 01:40:39 +00:00
Matthias Clasen
236fc57329
modelbutton: Unify activation code paths
...
Opening submenus by Enter or Space wasn't working,
because we had different code paths for activation
via keynav and via click. Unify them.
2020-05-06 20:27:04 -04:00
Emmanuele Bassi
7686b13a1e
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!1853
2020-05-06 22:53:42 +00:00
Emmanuele Bassi
56d3a79990
Annotate gtk_text_child_anchor_get_widgets() correctly
...
We switched from returning a list to returning a C array, which means we
need to update the introspection annotation and the documentation to
match the implementation.
2020-05-06 23:09:53 +01:00
Emmanuele Bassi
ddd113ac98
Annotate gdk_motion_event_get_history() correctly
...
We moved from returning a list to returning a C array, and this requires
a change in the annotations.
2020-05-06 23:05:19 +01:00
Georges Basile Stavracas Neto
962de8f1ee
Merge branch 'gbsneto/array-clear-func' into 'master'
...
icontheme: Don't free array element
Closes #2717
See merge request GNOME/gtk!1851
2020-05-06 22:02:17 +00:00
Matthias Clasen
2415c02bbd
Merge branch 'wip/exalm/polish' into 'master'
...
Random polish
See merge request GNOME/gtk!1850
2020-05-06 21:47:47 +00:00
Matthias Clasen
e25cb8b907
Merge branch 'matthiasc/for-master' into 'master'
...
nodeeditor: Don't use container api on list box rows
See merge request GNOME/gtk!1852
2020-05-06 21:35:08 +00:00
Georges Basile Stavracas Neto
6fc706f983
icontheme: Don't free array element
...
When setting a clear function on a GArray, unlike
most other places, this free func is expected to
*not* free the array element itself -- only its
contents.
Don't free the array element.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2717
2020-05-06 18:14:36 -03:00
Matthias Clasen
e09287a109
nodeeditor: Don't use container api on list box rows
...
GtkListBoxRow is not a container anymore.
2020-05-06 17:03:12 -04:00
Alexander Mikhaylenko
efe21869fb
widget-factory: Remove duplicate margin-start
2020-05-07 01:29:33 +05:00
Alexander Mikhaylenko
2f898e8bb9
widget-factory: Align spinbutton in the list on page 2
2020-05-07 01:29:20 +05:00
Alexander Mikhaylenko
059cc3b818
video: Use more appropriate revealer transition
2020-05-07 01:21:26 +05:00
Matthias Clasen
68011e99ac
Merge branch 'gbsneto/fix-text-child-header' into 'master'
...
textchild: Include <gtk/gtkwidget.h>
See merge request GNOME/gtk!1846
2020-05-06 20:13:22 +00:00
Matthias Clasen
d2b508d95c
Merge branch 'master.struct.msvc' into 'master'
...
gtk/gtkaccelgroup.c: Fix build on Visual Studio
See merge request GNOME/gtk!1785
2020-05-06 20:02:27 +00:00
Matthias Clasen
433295127c
Merge branch 'wip/exalm/row' into 'master'
...
placesview: Stop using gtk_container_add() for GtkListBoxRow
See merge request GNOME/gtk!1849
2020-05-06 20:01:45 +00:00
Alexander Mikhaylenko
24e3556c30
adwaita: Remove a redundant -gtk-icon-shadow: none
...
Buttons have no icon shadows anymore anyway.
2020-05-07 01:01:12 +05:00
Alexander Mikhaylenko
c17aa12235
adwaita: Don't style window menu button anymore
...
Those were removed with the introduction of GtkWindowControls, no need to
exclude them from the round style anymore.
2020-05-07 00:59:44 +05:00
Alexander Mikhaylenko
40c8d8ba9f
adwaita: Use tabular figures where appropriate
...
Port 82b9be3297 from GTK3.
2020-05-07 00:37:55 +05:00
Matthias Clasen
92fc2156ff
Merge branch 'drop-click-gesture-area' into 'master'
...
gestureclick: Drop the area
See merge request GNOME/gtk!1847
2020-05-06 19:25:32 +00:00
Matthias Clasen
4f08b4be9c
Merge branch 'master-disable-introspection' into 'master'
...
CI: disable introspection with mingw to avoid flaky builds
See merge request GNOME/gtk!1848
2020-05-06 19:24:58 +00:00
Christoph Reiter
94202e6339
CI: use bash style variable expansion for the mingw cache key
...
It doesn't understand the powershell syntax which leads to the cache
key being empty which leads to cache restore being skipped
which leads to slow builds not using ccache.
See https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2747
2020-05-06 21:23:14 +02:00
Jakub Steiner
5815604853
Merge branch 'wip/jimmac/HC-focus' into 'master'
...
HC: more contrasty focus rings
See merge request GNOME/gtk!1845
2020-05-06 19:22:27 +00:00
Alexander Mikhaylenko
f47aba05b0
adwaita: Make popover border transparent
...
Port 379669b153 from GTK3.
2020-05-07 00:19:27 +05:00
Matthias Clasen
8239186c26
Merge branch 'abolish-size-allocate' into 'master'
...
Abolish size allocate
Closes #2705
See merge request GNOME/gtk!1833
2020-05-06 19:15:31 +00:00
Alexander Mikhaylenko
3a5fdfcfda
adwaita: Update app icon shadow
...
Port f95f3c707a from GTK3.
2020-05-07 00:15:19 +05:00
Alexander Mikhaylenko
8007891132
placesview: Stop using gtk_container_add() for GtkListBoxRow
2020-05-07 00:08:46 +05:00
Matthias Clasen
b0fe4dec2c
Update CONTRIBUTING.md
...
Point to discourse, rather than mailing lists.
Based on a suggestion by sujiniku,
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1763
2020-05-06 15:08:36 -04:00
Matthias Clasen
b86d81872c
Merge branch 'matthiasc/for-master' into 'master'
...
keymap: Remove leftover code
See merge request GNOME/gtk!1844
2020-05-06 19:01:25 +00:00
Christoph Reiter
1e0f860a75
CI: disable introspection with mingw to avoid flaky builds
...
g-i has started to fail and it's not clear why, so disable it for
now to keep the build green.
See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/340
2020-05-06 20:34:39 +02:00
Matthias Clasen
8efebbaf46
Merge branch 'wip/jimmac/dark-seuggested' into 'master'
...
Adwaita: tone down suggested focus ring for dark
See merge request GNOME/gtk!1843
2020-05-06 18:32:09 +00:00
Matthias Clasen
56e590bd31
widget: Drop the ::size-allocate signal
...
This signal is mainly used for bad things, and we
don't want to emit signals during layout if we can
avoid it.
If you are subclassing, you should either use a
layout manager or override the size_allocate vfunc.
If you are using a GtkDrawingArea or GtkGLArea,
use their ::resize signals to learn about size
changes.
Fixes : #2705
2020-05-06 14:27:45 -04:00
Matthias Clasen
64b673853b
tooltipwindow: Stop using the ::size-allocate signal
...
Instead of connecting to ::size-allocate, call
gtk_native_set_tooltip and rely on the native
to allocate the tooltip window.
2020-05-06 14:27:45 -04:00
Matthias Clasen
3872da535f
tooltipwindow: Drop some dead code
2020-05-06 14:27:45 -04:00
Matthias Clasen
1f0024a7f0
tooltip: Add private api to allocate the window
...
Add private gtk_tooltip_maybe_allocate() function
and use it from GtkWindow and GtkPopover.
This will let us stop using the ::size-allocate signal,
without having to redo all the tooltip management first.
That will happen later.
2020-05-06 14:27:45 -04:00
Emmanuele Bassi
cb94c7d69e
Explicitly update widget a11y bounds when allocating
...
The a11y machinery is using signal subscription to get notified of size
changes and notify listeners in turn. This is suboptimal for a couple of
reasons:
- if something connects to the GtkWidget::size-allocate signal we need
to emit it; currently, we have an optimization in place that will
skip the signal emission if there are no handlers, and it would be
nice to go through the fast path
- the accessibility implementation is part of GTK, and should not go
through additional hoops like any out-of-tree API consumer
2020-05-06 14:27:45 -04:00
Matthias Clasen
82e92582bd
tests: Stop using ::size-allocate
2020-05-06 14:27:45 -04:00
Matthias Clasen
92bcf4c7a7
inspector: Stop using ::size-allocate
...
This signal is going away. Currently, there is no
other way for the inspector to monitor the allocation.
2020-05-06 14:27:45 -04:00
Matthias Clasen
b21a027d10
examples: Use GtkDrawingArea::resize
...
This signal is a replacement for this (ab)use
of the ::size-allocate signal, which is going away.
2020-05-06 14:27:45 -04:00
Matthias Clasen
cad890ee29
gtk-demo: Use GtkDrawingArea::resize
...
This signal is a replacement for this (ab)use
of ::size-allocate.
2020-05-06 14:27:45 -04:00
Matthias Clasen
e4894a69d4
drawingarea: Add a ::resize signal
...
This can be used as a replacement for ::size-allocate
to prepare size-dependent resources, like a backing
surface. It mirrors the GtkGLArea::resize signal.
2020-05-06 14:27:45 -04:00
Matthias Clasen
0aec11f292
a11y: Avoid a gratitious use of ::size-allocate
...
The paned widget has a position property, just
use it.
2020-05-06 14:27:45 -04:00
Matthias Clasen
7280618c7d
cellarea: Cosmetics
...
Remove an occurrence of size-allocate in a comment.
2020-05-06 14:27:45 -04:00
Matthias Clasen
6c8f5f9d17
treeview: Cosmetic change
...
Remove an occurrence of size-allocate in a comment.
2020-05-06 14:27:45 -04:00
Matthias Clasen
91d261a0b3
window: Remove some outdated info from the docs
...
Remove references to ::size-allocate and ::configure-event
from the docs.
2020-05-06 14:27:45 -04:00
Matthias Clasen
77ffc1f9ed
keymap: Remove leftover code
...
When I removed the 0-termination for the entries for
each keyval, I remove the code initializing the key,
but accidentally left the code that adds it to the
array, so gdk_keymap_get_cached_entries_for_keyval
returns one extra, uninitialized value at the end
of the array. Stop doing that.
2020-05-06 14:27:45 -04:00
Matthias Clasen
8ad49b33ed
gestureclick: Drop the area
...
This is a rarely used api, and our general trend has been
to use widgets whenever we need an area singled out.
2020-05-06 14:19:50 -04:00
Georges Basile Stavracas Neto
79d6190684
textchild: Include <gtk/gtkwidget.h>
...
This header is exported, so it needs to include
the gtkwidget.h header with the gtk/ prefix.
This was broken in 289b157e32
2020-05-06 15:13:03 -03:00
Jakub Steiner
edc57e4282
HC: more contrasty focus rings
2020-05-06 19:28:05 +02:00
Matthias Clasen
baf82cdf7a
keymap: Remove leftover code
...
When I removed the 0-termination for the entries for
each keyval, I remove the code initializing the key,
but accidentally left the code that adds it to the
array, so gdk_keymap_get_cached_entries_for_keyval
returns one extra, uninitialized value at the end
of the array. Stop doing that.
2020-05-06 13:15:45 -04:00
Jakub Steiner
3fa691a1ab
Adwaita: tone down suggested focus ring for dark
2020-05-06 19:14:19 +02:00
Jakub Steiner
053617a283
Merge branch 'wip/exalm/focus-entries2' into 'master'
...
Adwaita: Make error/warning entry focus more subtle
See merge request GNOME/gtk!1842
2020-05-06 16:53:14 +00:00
Alexander Mikhaylenko
40926a28ee
Adwaita: Make error/warning entry focus more subtle
...
Add 50% alpha to it like to the main focus color.
2020-05-06 20:23:26 +05:00
Jakub Steiner
e2058aaecd
Merge branch 'wip/jimmac/suggested-destructive-focus' into 'master'
...
Adwaita: suggested destrictive button focus
Closes #2704
See merge request GNOME/gtk!1841
2020-05-06 15:23:01 +00:00
Jakub Steiner
efd009e6d8
Adwaita: suggested destrictive button focus
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2704
2020-05-06 16:12:57 +02:00
Jakub Steiner
b32519966f
Merge branch 'wip/jimmac/global-var' into 'master'
...
Adwaita: make parser happy wrt global variables
Closes #2703
See merge request GNOME/gtk!1840
2020-05-06 13:29:29 +00:00
Matthias Clasen
8bb133072d
Merge branch 'fix-inspector-popover' into 'master'
...
inspector: Fix css tree popovers
See merge request GNOME/gtk!1838
2020-05-06 12:55:18 +00:00
Jakub Steiner
926764be0d
Adwaita: make parser happy wrt global variables
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2703
2020-05-06 14:12:44 +02:00
Matthias Clasen
b96509c030
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!1828
2020-05-06 03:55:55 +00:00
Matthias Clasen
81c68b86ea
inspector: Fix css tree popovers
...
Adding popovers to a treeview doesn't work. Instead,
attach them to the cssnodetree widget, which is using
a layout manager - popovers work in that case.
2020-05-05 23:51:37 -04:00
Matthias Clasen
824c730362
Merge branch 'abolish-destroy' into 'master'
...
Abolish destroy
See merge request GNOME/gtk!1835
2020-05-06 00:37:04 +00:00
Matthias Clasen
a4cfbec5c2
widget: Drop the destroy vfunc
...
We still emit the ::destroy signal, but if you
want a vfunc, use dispose.
2020-05-05 18:25:29 -04:00
Matthias Clasen
84944f1c63
gtk-demo: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:25:29 -04:00
Matthias Clasen
1086acce92
container: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:25:29 -04:00
Matthias Clasen
d03b1524e6
placesview: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:25:28 -04:00
Matthias Clasen
82f4b1630c
printunixdialog: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
77d15b1751
window: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
401f8a7f31
treeview: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
3d4bb76694
textview: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
327da3de9a
statusbar: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
d46252ca21
notebook: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
d2cbc454f6
iconview: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
49fcf41693
shortcutssection: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
8baefaf4d8
radiobutton: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
c60ffeedfa
range: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
c8066bcd8b
spinbutton: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
9f4cea190a
viewport: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
7639d3daa0
text: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:54 -04:00
Matthias Clasen
8683925fe0
modelbutton: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:53 -04:00
Matthias Clasen
4c7cafdba8
label: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:53 -04:00
Matthias Clasen
03f145e868
filechooserbutton: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:53 -04:00
Matthias Clasen
1b44a64ef7
expander: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:53 -04:00
Matthias Clasen
37e381e95d
combobox: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:53 -04:00
Matthias Clasen
e0f95844c1
actionbar: Use dispose instead of destroy
...
The destroy vfunc is going away.
2020-05-05 18:23:53 -04:00
Matthias Clasen
539f06147a
Merge branch 'misc-cleanups' into 'master'
...
Misc cleanups
See merge request GNOME/gtk!1832
2020-05-05 21:02:25 +00:00
Matthias Clasen
d2b55dff2d
Merge branch 'wip/exalm/controls-dispose' into 'master'
...
windowcontrols: Unparent children in dispose rather than finalize
See merge request GNOME/gtk!1831
2020-05-05 18:19:00 +00:00
Matthias Clasen
0070cff32d
widget-factory: Use symboli icons in the toolbar
...
That is the style that is commonly used nowadays, even
in traditional apps.
2020-05-05 10:45:47 -04:00
Matthias Clasen
88e890c29c
widget-factory: Remove unused css
...
We no longer show the various frame styles.
2020-05-05 10:45:47 -04:00
Matthias Clasen
e33da18577
window: Lower the visible focus timeout
...
Five seconds felt too long for some people in
initial feedback, so lets lower the timeout to
3 seconds.
2020-05-05 10:45:47 -04:00
Matthias Clasen
cda1a25a5a
assistant: Drop the Private struct
2020-05-05 10:45:47 -04:00
Matthias Clasen
a9103ccd7c
placesview: Drop the Private struct
2020-05-05 10:45:47 -04:00
Matthias Clasen
8effa10e79
searchbar: Drop the Private struct
2020-05-05 10:45:47 -04:00
Alexander Mikhaylenko
7906f09c75
windowcontrols: Unparent children in dispose rather than finalize
2020-05-05 19:43:55 +05:00
Jakub Steiner
4cdb9ed322
Merge branch 'wip/jimmac/notebook-tab-focus' into 'master'
...
Adwaita: notebook tab focus ring
See merge request GNOME/gtk!1830
2020-05-05 13:42:25 +00:00
Matthias Clasen
b74a3de299
Merge branch 'bin-removal' into 'master'
...
Bin removal
See merge request GNOME/gtk!1820
2020-05-05 12:55:50 +00:00
Jakub Steiner
774d61c682
Adwaita: notebook tab focus ring
...
- prelight the tab, not a label (visually)
2020-05-05 13:57:33 +02:00
Jakub Steiner
642924a0f1
Merge branch 'wip/jimmac/oldstyle-toolbars' into 'master'
...
Adwaita: old style toolbar buttons
See merge request GNOME/gtk!1829
2020-05-05 09:53:05 +00:00
Jakub Steiner
d827fe711d
Adwaita: old style toolbar buttons
...
- style toolbar buttons
2020-05-05 10:55:14 +02:00
Timm Bäder
d328374c94
shortcutcontroller: Check for NULL GtkNative of widget
...
And just continue in that case.
2020-05-05 08:20:10 +02:00
Timm Bäder
7f009b9952
label: Be more defensive against non-existant focus_link
2020-05-05 08:20:10 +02:00
Timm Bäder
27b4b5ee32
surface: remove double assignment
2020-05-05 08:20:10 +02:00
Timm Bäder
0e73bfa202
shortcutmanager: Speed up default_remove_controller a bit
...
Only call get_n_items on the model once and remove two unnecessary
casts.
2020-05-05 08:20:10 +02:00
Timm Bäder
fb9b54d4b2
shortcutcontroller: Use a GArray instead of a linked list
2020-05-05 08:20:10 +02:00
Timm Bäder
cdb4d71125
cssprovider: Pass a GtkArray around when matching
...
We just use the resulting GPtrArray to set the values on a GtkCssLookup
and it had mostly a size of 1, in extremes a size of 11.
2020-05-05 08:20:10 +02:00
Timm Bäder
8b4d84981e
gtk.supp: Update
...
Make some rules more general and add some more epoxy/mesa suppressions.
2020-05-05 08:20:10 +02:00
Timm Bäder
4996097219
cssselector: Use a GtkArray to count exact matches
...
The list here is at most 3 elements long in my tests.
2020-05-05 08:20:10 +02:00
Timm Bäder
0c4dcd9d57
add GtkArray
...
Try to use stack space if we can and only fall back to the GPtrArray if
we must.
2020-05-05 08:20:10 +02:00
Timm Bäder
aaecb3d84b
main: Save some type checks
...
We already have the typecheck-less versions of get_realized(),
get_parent() and is_sensitive() in gtkwidgetprivate.h, so use them here.
2020-05-05 08:20:10 +02:00
Timm Bäder
771b3ea6f3
eventcontroller: Remove some unnecessary casts
...
Instead of comparing two GtkWidget*s by casting the two GtkNative*s, we
can as well compare two GtkNative*s. Also if gtk_widget_get_native()
returns NULL, the code previously failed.
2020-05-05 08:20:10 +02:00
Timm Bäder
75e202f02b
widget: Use an unchecked cast in _get_native()
...
This is either no chagne because we know for a fact that the returned
value is a GtkNative - after all thats's the type we pass to
gtk_widget_get_ancestor().
Or it is a bug fix since casting NULL to a GtkNative using GTK_NATIVE()
is not going to work, but the API contract of gtk_widget_get_native()
explicitly allows a NULL return value.
2020-05-05 08:20:10 +02:00
Timm Bäder
94d3fd84b5
window: Remove unused private function
2020-05-05 08:20:10 +02:00
Timm Bäder
a40abcf74d
scalebutton: Shorten finalize() implementation
2020-05-05 08:20:09 +02:00
Timm Bäder
9f90eb41c8
scalebutton: Remove unused click_id member
2020-05-05 08:20:09 +02:00
Timm Bäder
4b9e5304cc
widget: Save controllers list in a GPtrArray
2020-05-05 08:20:09 +02:00
Timm Bäder
ef623aaabc
widget: Only do a IS_ROOT type check if the parent is unset
...
So we do less type checks
2020-05-05 08:20:09 +02:00
Timm Bäder
de40b0b061
placesview: Remove frame
...
We don't need a double border here.
2020-05-05 08:20:09 +02:00
Timm Bäder
356dea3349
cssselector: Avoid some GList allocations
2020-05-05 08:20:09 +02:00
Timm Bäder
63bbc79f48
icontheme: Save dir_mtimes in a GArray, not a GList
2020-05-05 08:20:09 +02:00
Timm Bäder
d80c130d7f
GdkEvent: Save history in a GArray
...
Instead of a less efficient GList.
2020-05-05 08:20:09 +02:00
Timm Bäder
14b27446a3
stylecontext: Remove _list_classes() from public API
...
Applications can use gtk_widget_get_css_classes these days.
2020-05-05 08:20:09 +02:00
Timm Bäder
289b157e32
textchild: Return an array from get_widgets
...
Yay, one GList less.
2020-05-05 08:20:09 +02:00
Timm Bäder
85237c8665
gdkdisplay-wayland: Fix a possibly uninitialized out value
2020-05-05 08:20:09 +02:00
Timm Bäder
61195df7a3
widget: Use early-out style in gtk_widget_realize()
...
This is much more common in the current code base and reduces the
indentation level by one.
2020-05-05 08:20:09 +02:00
Timm Bäder
ce07c0559d
shorthandproperty: Use alloca() when parsing properties
2020-05-05 08:20:09 +02:00
Timm Bäder
f4edbdfc1f
shorthandproperty: Return unset/initial/inherit as-is
...
We don't even need an array value these days.
2020-05-05 08:20:09 +02:00
Timm Bäder
526187d36c
shorthandproperty: Use alloc a for data array
2020-05-05 08:20:09 +02:00
Timm Bäder
96673d5106
popover: Remove an unused gtk_widget_get_allocation() call
2020-05-05 08:20:09 +02:00
Timm Bäder
88f5d4547c
label: Remove a debug leftover
2020-05-05 08:20:09 +02:00
Timm Bäder
34976a791c
gskpango: Make get_color a bit shorter
...
Don't copy from crenderer->fg_color just to override from the local
color again.
2020-05-05 08:20:09 +02:00
Timm Bäder
ad73afcd79
label: Unref style_attrs list
2020-05-05 08:20:09 +02:00
Matthias Clasen
4735d38e31
docs: Fixup for an uninitialized variable
2020-05-04 22:53:08 -04:00
Matthias Clasen
17c21513a8
testsuite: Update a testcase
...
Our testcase for flipping icons used media icons which
were recently changed to not do rtl flipping anymore.
2020-05-04 22:53:08 -04:00
Matthias Clasen
3c165b3b77
Drop GtkBin
...
It is no longer used anywhere.
2020-05-04 22:53:08 -04:00
Matthias Clasen
cac514f647
testtooltips: Derive demo from GtkWidget
2020-05-04 22:53:08 -04:00
Matthias Clasen
8d0773fad0
inspector: Derive recorder from GtkWidget
2020-05-04 22:53:08 -04:00
Matthias Clasen
fa848e94d2
gtk-demo: Port blur demo from GtkBin
2020-05-04 22:53:08 -04:00
Matthias Clasen
d8e47383cb
Add a test for bin child conversion
2020-05-04 22:53:08 -04:00
Matthias Clasen
dec5707ca9
builder-tool: Convert former bin children
...
Convert from <child> elements to <property name="child">
for former GtkBin subclasses. Update test results
to match.
2020-05-04 22:53:08 -04:00
Matthias Clasen
0ec5a3f0d9
tooltipwindow: Derive from GtkWidget
2020-05-04 22:53:08 -04:00
Matthias Clasen
aae25c4fa0
combobox: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
ec394e805b
Use gtk_combo_box_set_child throughout
2020-05-04 22:53:08 -04:00
Matthias Clasen
5d26af06e4
combobox: Add a child property
2020-05-04 22:53:08 -04:00
Matthias Clasen
44f9a51827
testkineticscrolling: Make this work again
...
There was an errant g_free here, and lots of
redundant gtk_widget_show.
2020-05-04 22:53:08 -04:00
Matthias Clasen
e2781af16f
testgtk: Fix g_object_new use
...
This is the kind of thing that happens with varargs apis.
2020-05-04 22:53:08 -04:00
Matthias Clasen
b96d7b62d1
Add gtk_overlay_remove_overlay
...
Now that GtkOverlay is not a container anymore,
gtk_container_remove can't be used for this anymore,
so add a separate api.
2020-05-04 22:53:08 -04:00
Matthias Clasen
edd5d36159
overlay: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
77af8e303d
Use gtk_overlay_set_child throughout
...
Replace all uses of gtk_container_add on overlays
by gtk_overlay_set_child.
2020-05-04 22:53:08 -04:00
Matthias Clasen
53f9737dcf
overlay: Add a child property
2020-05-04 22:53:08 -04:00
Matthias Clasen
3a9883b3ca
searchbar: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore.
We have to implement GtkBuildable, in order to keep
the <child> element in ui files working for search bars.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
99ef14b59f
Use gtk_search_bar_set_child throughout
2020-05-04 22:53:08 -04:00
Matthias Clasen
e2abe6dd29
searchbar: Add a child property
2020-05-04 22:53:08 -04:00
Matthias Clasen
12ecbd1508
listboxrow: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
b8d1a9eb0d
flowboxchild: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
41322e2a7a
revealer: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
649ae635a7
Use gtk_revealer_set_child throughout
...
Replace all uses of gtk_container_add on revealers
with gtk_revealer_set_child.
2020-05-04 22:53:08 -04:00
Matthias Clasen
686be577d5
revealer: Add a child property
2020-05-04 22:53:08 -04:00
Matthias Clasen
9a65ed9ada
window: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
Update the accessible implementation to match, remove
remnants of container implementations in GtkWindow
subclasses, and fix livecycle issues around destroy
vs dispose in GtkAssistant.
After this commit, using gtk_container_add on window
subclasses is not allowed anymore, but adding childing
with <child> in ui files still works.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
f59f355190
Use gtk_window_set_child throughout
...
Replace all uses of gtk_container_add on windows
by gtk_window_set_child.
2020-05-04 22:53:08 -04:00
Matthias Clasen
b9b1bf85e1
window: Add a child property
2020-05-04 22:53:07 -04:00
Matthias Clasen
4aa5fba0b5
button: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
We have to implement GtkBuildable, in order to keep
the <child> element in ui files working for buttons.
See #2681
2020-05-04 22:53:07 -04:00
Matthias Clasen
97d0e8c6e0
css testsuite: Remove an obsolete test
...
This was testing something that shouldn't be possible
anyway: Adding more than one child to a bin. With the
bin removal, this now just overrides the child so
only one child is left in the end.
Just remove the test.
2020-05-04 22:53:07 -04:00
Matthias Clasen
07441ad000
css tests: Update expected results
...
Now that GtkCheckButton is using a box layout,
we are no longer reordering the css nodes according
to text direction.
2020-05-04 22:53:07 -04:00
Matthias Clasen
183431c918
checkbutton: Modernize
...
Stop implementing GtkContainer, and just use a box layout
instead of doing our own thing manually.
2020-05-04 22:53:07 -04:00
Matthias Clasen
af6e0ee2b3
Use gtk_button_set_child throughout
...
Replace all uses of gtk_container_add on buttons
by gtk_button_set_child.
2020-05-04 22:53:07 -04:00
Matthias Clasen
04e4a02cd0
button: Add a child property
2020-05-04 22:53:07 -04:00
Matthias Clasen
9d7b77f874
scrolledwindow: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
We have to implement GtkBuildable, in order to keep
the <child> element in ui files working for aspect
frames.
See #2681
2020-05-04 22:53:07 -04:00
Matthias Clasen
67759d4c3e
Use gtk_scrolled_window_set_child throughout
...
Replace all uses of gtk_container_add on popovers
by gtk_scrolled_window_set_child.
2020-05-04 22:53:07 -04:00
Matthias Clasen
54b613392b
scrolledwindow: Add a child property
2020-05-04 22:53:07 -04:00
Matthias Clasen
ee1f8d8d06
popover: Derive from GtkWidget
2020-05-04 22:53:07 -04:00
Matthias Clasen
8e261056b9
Use gtk_popover_set_child throughout
...
Replace all uses of gtk_container_add on popovers
by gtk_popover_set_child.
2020-05-04 22:53:07 -04:00
Matthias Clasen
ee284a560a
popover: Add a child property
2020-05-04 17:01:18 -04:00
Matthias Clasen
e098ffb88d
viewport: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
We have to implement GtkBuildable in order to keep
the <child> element working for viewports in ui files.
See #2681
2020-05-04 17:01:18 -04:00
Matthias Clasen
e9ddf0fda5
Use gtk_viewport_set_child throughout
...
Replace all uses of gtk_container_add on viewports
by gtk_viewport_set_child.
2020-05-04 17:01:18 -04:00
Matthias Clasen
937c94bab5
viewport: Add a child property
2020-05-04 17:01:18 -04:00
Matthias Clasen
71433d01b3
aspect frame use fixup
2020-05-04 17:01:18 -04:00
Matthias Clasen
4a133b4eef
fishbow: fixup premature popover
2020-05-04 17:01:18 -04:00
Matthias Clasen
5b06b08a0e
aspectframe: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
We have to implement GtkBuildable, in order to keep
the <child> element in ui files working for aspect
frames.
See #2681
2020-05-04 17:01:18 -04:00
Matthias Clasen
1f63896c6b
Use gtk_aspect_frame_set_child throughout
...
Replace all uses of gtk_container_add on aspect frames
by gtk_aspect_frame_set_child.
2020-05-04 17:01:18 -04:00
Matthias Clasen
e137152520
aspectframe: Add a child property
2020-05-04 17:01:18 -04:00
Matthias Clasen
25826eafe3
frame: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore. This requires
us to move get_request_mode and compute_expand down.
See #2681
2020-05-04 17:01:18 -04:00
Matthias Clasen
1706b80815
Use gtk_frame_set_child throughout
...
Replace all uses of gtk_container_add for
frames with gtk_frame_set_child.
2020-05-04 17:01:18 -04:00
Matthias Clasen
7f975472a7
frame: Add a child property
2020-05-04 17:01:18 -04:00
Matthias Clasen
8c1072fad1
Merge branch 'wip/jimmac/notebook-focus' into 'master'
...
Adwaita: notebook tab focus
See merge request GNOME/gtk!1825
2020-05-04 20:10:46 +00:00
Matthias Clasen
188a61f02d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1826
2020-05-04 19:02:40 +00:00
Jakub Steiner
2d1b7d128e
Merge branch 'wip/jimmac/colorswatch-fix' into 'master'
...
Adwaita: colorswatch focus rings
Closes #2695
See merge request GNOME/gtk!1827
2020-05-04 18:07:38 +00:00
Jakub Steiner
9dfac6fe3f
Adwaita: colorswatch focus rings
...
- there used to be different outline color for light and dark buttons,
but it's complexity I can live without. blue focus rings fit all.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2695
2020-05-04 18:16:08 +02:00
Jakub Steiner
a3f042b5b4
Adwaita: notebook tab focus
...
- just like entries tabs need to be handled with focus-within
2020-05-04 17:54:12 +02:00
Jakub Steiner
d62e2faee6
Merge branch 'wip/exalm/entries' into 'master'
...
Adwaita: Convert entries to the new focus rings
See merge request GNOME/gtk!1824
2020-05-04 15:14:55 +00:00
Matthias Clasen
53d86d411a
Adwaita: Style .toolbar
...
We don't have GtkToolbar anymore, so we are more likely
to meet a .toolbar style class, than a toolbar element.
2020-05-04 10:51:11 -04:00
Matthias Clasen
8bd2043a40
widget-factory: Add .toolbar
...
We dropped GtkToobar, but we still want to present
something that looks the part here, so add a style
class.
2020-05-04 10:50:34 -04:00
Alexander Mikhaylenko
d2b5beffbf
Adwaita: Convert entries to the new focus rings
2020-05-04 19:24:24 +05:00
Daniel Mustieles
d64d46912e
Updated Spanish translation
2020-05-04 15:52:57 +02:00
Matthias Clasen
837b141747
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1823
2020-05-04 12:31:25 +00:00
Matthias Clasen
92ac66f16a
testframe: Drop padding
...
No need to emulate features that GtkFrame no longer has.
2020-05-04 07:37:38 -04:00
Matthias Clasen
130ae89e54
frame: Fix xalign handling
...
SEtting a nonzero xalign on frames had no
effect, since we were always using the full
allocation with here, instead of what the label
needs. Found by using testframe for a second.
2020-05-04 07:37:31 -04:00
Matthias Clasen
77cf6cd406
frame: Don't queue a resize if xalign changes
...
We only need to allocate children in this case.
While we touch it, rewrite the setter to modern
style.
2020-05-04 07:37:25 -04:00
Jakub Steiner
2dcb2400d1
Merge branch 'wip/jimmac/avoid-wobbly-windows' into 'master'
...
Adwaita: make transition offset more subtle
See merge request GNOME/gtk!1822
2020-05-04 10:24:32 +00:00
Jakub Steiner
8127d70b8a
Adwaita: make transition offset more subtle
...
- be less like wobbly windows
2020-05-04 11:29:19 +02:00
Jakub Steiner
ab0ad4a0d7
Merge branch 'wip/jimmac/emphasize-focus-change' into 'master'
...
Adwaita: bring more attention to focus change
See merge request GNOME/gtk!1803
2020-05-04 08:49:40 +00:00
Cheng-Chia Tseng
05ad3c543a
Update Chinese (Taiwan) translation
2020-05-03 13:29:03 +00:00
Matthias Clasen
b4d5ddcae5
Merge branch 'filechooser-translation' into 'master'
...
filechooser: Translate type column
Closes #2690
See merge request GNOME/gtk!1816
2020-05-03 01:10:24 +00:00
Matthias Clasen
817112ab3c
filechooser: Translate type column
...
When the code for this was copied from nautilus,
we forgot to adapt it for running in a library
instead of an application - gettext() doesn't work
in a library.
Fixes : #2690
2020-05-02 19:57:38 -04:00
Matthias Clasen
0b4a1bb62f
Merge branch 'wip/exalm/subtitle' into 'master'
...
appchooserdialog: Don't show subtitle label when subtitle is null
See merge request GNOME/gtk!1815
2020-05-02 20:06:08 +00:00
Alexander Mikhaylenko
80867acf94
appchooserdialog: Don't show subtitle label when subtitle is null
...
Looks like 67822d0c9a and
3f1bd3722d collided, and subtitle can be null
now. Add a check so that we don't end up with empty label in that case.
2020-05-02 23:35:44 +05:00
Yuri Chornoivan
32740a720a
Update Ukrainian translation
2020-05-02 06:27:02 +00:00
Matthias Clasen
fd1fe0eed5
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Add more detail to the drawing overview
See merge request GNOME/gtk!1811
2020-05-01 21:09:38 +00:00
Benjamin Otte
fa90747815
Merge branch 'wip/exalm/headerbar-title' into 'master'
...
Headerbar title/subtitle cleanups
See merge request GNOME/gtk!1807
2020-05-01 19:39:27 +00:00
Asier Sarasua Garmendia
c31431c5fa
Update Basque translation
2020-05-01 19:25:55 +00:00
Matthias Clasen
e393465fd7
widget-factory: Fix a typo
...
We wanted to move the conflicting global shortcuts
to the bubble phase, so they don't override the
entry bindings.
2020-05-01 14:24:21 -04:00
Matthias Clasen
8653a5e27b
dragicon: Derive from GtkWidget
...
This wasn't meant to derive from GtkContainer.
2020-05-01 14:24:21 -04:00
Matthias Clasen
431545877e
docs: Add more detail to the drawing overview
2020-05-01 14:24:21 -04:00
Matthias Clasen
c3c2bc513e
Merge branch 'for-master' into 'master'
...
appchooserdialog: Don't show broken subtitles
See merge request GNOME/gtk!1809
2020-05-01 18:13:12 +00:00
Alexander Mikhaylenko
ab59562170
headerbar: Document GtkBuilder child types, add a title example
2020-05-01 21:39:32 +05:00
Florian Müllner
3f1bd3722d
appchooserdialog: Don't show broken subtitles
...
Commit 07beb6dba2 made GtkAppChooserWidget useful with no content-type,
however when used in a GtkAppChooserDialog, this will lead to a confusing
"Opening (null) files" subtitle.
Fix this by omitting the subtitle altogether in that case.
2020-05-01 18:21:53 +02:00
Matthias Clasen
120f13c95d
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Some revisions of the input overview
See merge request GNOME/gtk!1808
2020-05-01 16:02:43 +00:00
Yuri Chornoivan
4822e02be3
Update Ukrainian translation
2020-05-01 15:56:57 +00:00
Alexander Mikhaylenko
6b4bed2c7a
builder-tool: Rename GtkHeaderBar:custom-title to title-widget
...
Add a test.
2020-05-01 20:11:19 +05:00
Alexander Mikhaylenko
739f681076
headerbar: Rename custom-title to title-widget
...
Now that all the other title-related properties are gone, custom title can
have a more mundane name.
2020-05-01 20:11:19 +05:00
Alexander Mikhaylenko
c2e4e1af73
headerbar: Remove user-settable title
...
Use window title, or custom title widget if it's set. Remove 'title'
property.
Update demos and tests to set the title on the window instead of
headerbar.
2020-05-01 19:48:05 +05:00
Alexander Mikhaylenko
35d50f88c8
headerbar: Remove subtitle
...
Also remove the box containing title and subtitle, as there's only one
label now.
2020-05-01 19:48:05 +05:00
Alexander Mikhaylenko
fa0509c473
filechooserdialog: Create title and subtitle manually
...
title and subtitle properties will go away in the following commits, stop
using them.
2020-05-01 19:48:05 +05:00
Alexander Mikhaylenko
67822d0c9a
appchooserdialog: Create title and subtitle manually
...
title and subtitle properties will go away in the following commits, stop
using them.
2020-05-01 19:48:05 +05:00
Alexander Mikhaylenko
43a453e465
headerbar: Remove has-subtitle property
...
Subtitle will go too in the next commit, but has-subtitle goes first as
it's broken right now anyway.
2020-05-01 19:48:05 +05:00
Matthias Clasen
74dcbae1f3
docs: Some revisions of the input overview
...
Remove some less than accurate details, and add
an illustration.
2020-05-01 09:26:06 -04:00
Matthias Clasen
850549ba83
Merge branch 'matthiasc/for-master' into 'master'
...
Keynav improvements for widget-factory
See merge request GNOME/gtk!1804
2020-05-01 12:02:13 +00:00
Piotr Drąg
689673188b
Update POTFILES.in and POTFILES.skip
2020-05-01 11:56:37 +02:00
Matthias Clasen
b1bedbc71a
widget-factory: Improve demo keynav
...
We have example cut/copy/paste actions for which we want
the usual shortcuts to show up in the menus, but they should
not break the expected shortcuts in entries. So, move them
to a capture phase shortcut controller.
2020-04-30 20:08:15 -04:00
Matthias Clasen
f31c85ff99
widget-factory: Add mnemonics to the stack pages
2020-04-30 19:18:09 -04:00
Matthias Clasen
cb056a1e8f
stack: Add a :use-underline property
...
Add GtkStackPage:use-underline, and use it when
constructing labels in the stack switcher.
2020-04-30 19:17:34 -04:00
Matthias Clasen
57bf4ac59a
Merge branch 'speed-up-event-matching' into 'master'
...
keymap: Cache key info
See merge request GNOME/gtk!1800
2020-04-30 22:57:33 +00:00
Jakub Steiner
8165616b3c
Adwaita: bring more attention to focus change
...
- as discussed in https://gitlab.gnome.org/GNOME/gtk/-/issues/2644 it's desirable to bring attention to what's focused. Instead of pressing `alt` just simply changing focus with `tab` can have a similar effect
Extends https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1802
2020-05-01 00:14:44 +02:00
Jakub Steiner
e3b9f9a3bf
Merge branch 'theme-focus-ring-mixin' into 'master'
...
Adwaita: Use a mixin for visible focus rings
Closes #2653
See merge request GNOME/gtk!1802
2020-04-30 18:35:57 +00:00
Matthias Clasen
99c3928cec
keymap: Cache key info
...
We currently calling gdk_display_map_keyval up to
once per key event per shortcut trigger, and that function
does an expensive loop over the entire keymap and
allocates an array. Avoid this by caching the entries
in a single array, and have a lookup table for finding
the entries for a keyval.
To do this, change the GdkKeymap.get_entries_for_keyval
signature, and change the ::keys-changed signal to be
RUN_FIRST, since we want to clear the cache in the class
handler before running signal handlers. These changes are
possible now, since keymaps are no longer public API.
2020-04-30 13:05:52 -04:00
nana-4
2fa876e839
Adwaita: Use a mixin for visible focus rings
...
The focus-ring() mixin allows we to flexibly style the focus ring for
each widget. By using this, we can get rid of the "Outlines" section,
which is out of place in the _common.scss file.
This commit also has the following changes:
- Transition the focus rings on most widgets.
- Add a missing focus ring to iconview.
- Move the expander-widget focus ring to its title.
- Move the notebook focus ring to its checked tab.
Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/2653
2020-05-01 02:03:23 +09:00
Daniel Mustieles
700a2df110
Updated Spanish translation
2020-04-30 12:53:45 +02:00
Daniel Mustieles
efa4174828
Updated Spanish translation
2020-04-30 12:53:01 +02:00
Matthias Clasen
e5c430266e
Merge branch 'matthiasc/for-master' into 'master'
...
docs: Move menu model docs
See merge request GNOME/gtk!1799
2020-04-30 01:31:36 +00:00
Matthias Clasen
3bbcaa9e8f
docs: Move menu model docs
...
It makes more sense to document the menu model XML
format in the GtkPopoverMenu docs than in
GtkApplicationWindow.
2020-04-29 20:30:40 -04:00
Matthias Clasen
11351eb76b
Merge branch 'win32-new-runner' into 'master'
...
CI: Switch to new Windows runners
See merge request GNOME/gtk!1797
2020-04-29 22:14:09 +00:00
Yuri Chornoivan
062f0fe0b2
Update Ukrainian translation
2020-04-29 20:16:31 +00:00
Yuri Chornoivan
02ac248541
Update Ukrainian translation
2020-04-29 20:15:38 +00:00
Christoph Reiter
662539acf7
CI: Switch to new Windows runners
...
They use powershell instead of cmd.exe, use the tag win32-ps instead of win32,
and run Windows 2016 instead of 2012r2.
The old runners will be switched off in the comming weeks.
2020-04-29 20:12:34 +02:00
Matthias Clasen
4a44c1b7bf
Merge branch 'soundcheck' into 'master'
...
Add a quick sound test
See merge request GNOME/gtk!1796
2020-04-29 15:29:02 +00:00
Matthias Clasen
f8ef15b555
Add a quick sound test
...
Just to show that our media infrastructure is up
to playing little beeps and bings.
2020-04-29 10:54:40 -04:00
Emmanuele Bassi
76cc1cae00
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!1795
2020-04-29 13:39:44 +00:00
Emmanuele Bassi
1b64a17547
docs: Link the license file from the README
2020-04-29 12:49:35 +01:00
Emmanuele Bassi
f1741584e6
docs: Link the contribution guide from the README
...
Hopefully people will read it.
2020-04-29 12:49:05 +01:00
Emmanuele Bassi
55d2f190ef
docs: Update link to the discussion forum
...
The README file still links to the old web page about mailing lists; the
link is now a 404 after the website redesign, and we don't use mailing
lists any more, in favour of Discourse.
2020-04-29 12:47:57 +01:00
Matthias Clasen
3209d0f937
Merge branch 'wip/jtojnar/join-paths' into 'master'
...
build: clean up .pc generation
See merge request GNOME/gtk!1793
2020-04-29 11:34:07 +00:00
Chun-wei Fan
d0a8d263ac
gtk/gtkaccelgroup.c: Fix build on Visual Studio
...
Visual Studio does not allow one to initialize structure members with
non-constant expressions, caused by using strlen(s), so fix this by
using sizeof(s) - 1 instead.
2020-04-29 15:02:03 +08:00
Jan Tojnar
6d9db8610e
build: clean up .pc generation
...
Path concatenation is much nicer than the unwieldy format method.
Since paths returned by get_option are relative to prefix, they will be joined as before.
As a bonus, this fixes weird platforms like NixOS that actually pass absolute includedir under a different prefix.
2020-04-29 07:42:53 +02:00
Matthias Clasen
ac3d3c647e
Merge branch 'popup-positioning-fix' into 'master'
...
popover: Fix repositioning logic
See merge request GNOME/gtk!1792
2020-04-29 04:47:39 +00:00
Matthias Clasen
91d8c230f3
popover: Fix repositioning logic
...
When the arrow changes position, we need to queue
an allocation to ensure that gtk_widget_allocate
actually calls our ->size_allocate vfunc.
2020-04-28 23:26:19 -04:00
Matthias Clasen
b47e721ab6
Merge branch 'class-action-init' into 'master'
...
Reshuffle action muxer initialization
See merge request GNOME/gtk!1789
2020-04-29 02:04:37 +00:00
Matthias Clasen
0a2e0775b6
Merge branch 'drop-stack-homogeneous' into 'master'
...
Drop stack homogeneous
Closes #2673
See merge request GNOME/gtk!1791
2020-04-29 00:55:01 +00:00
Matthias Clasen
c4a47e218f
Speed up class action hookup
...
No need to construct a detailed signal name for
every action when we can just look up the signal ID
once and use the quark that the GParamSpec already
has. Also, we don't need to loop over the actions
every time we get a notification.
2020-04-28 20:22:26 -04:00
Matthias Clasen
2e2121c7ad
builder-tool: Replace GtkStack:homogeneous
...
Replace this property by h/vhomogeneous.
Add a test.
2020-04-28 20:00:51 -04:00
Matthias Clasen
5f01f6f36b
Drop GtkStack:homogeneous
...
We have hhomogeneous and vhomogeneous properties
that can be set individually.
Fixes : #2673
2020-04-28 20:00:12 -04:00
Matthias Clasen
5ec53e6a11
Merge branch 'popup-controls-hiding' into 'master'
...
video: Don't hide the controls while the popup is shown
See merge request GNOME/gtk!1787
2020-04-28 22:41:16 +00:00
Matthias Clasen
b968ced567
Reshuffle action muxer initialization
...
We were having a problem where property actions were
not getting state updates because prop_actions_connect
was triggered from some instance_init function while
the widget class is not in place yet.
Delay that call until the widget is fully constructed,
so we can guarantee that we are dealing with the
correct class private struct, and see all class actions.
2020-04-28 18:37:43 -04:00
Matthias Clasen
3fee02808b
Merge branch 'widget-factory-larger-logo' into 'master'
...
Widget factory larger logo
See merge request GNOME/gtk!1786
2020-04-28 20:29:36 +00:00
Matthias Clasen
dc7081599d
video: Don't hide the controls while the popup is shown
...
We don't get motion events from the popup (due to grabs),
so just don't hide as long as we're grab shadowed. This
makes the controls stay up until the volume popup is
dismissed.
2020-04-28 15:11:26 -04:00
Matthias Clasen
ccb890f065
Use a slightly larger version of the logo animation
...
This is large enough to not make the media controls
slider shrink to nothing.
2020-04-28 14:00:52 -04:00
Daniel Mustieles
6784772c9d
Updated Spanish translation
2020-04-28 17:49:39 +02:00
Emmanuele Bassi
65c56ea812
Merge branch 'drop-realize-invariant' into 'master'
...
Drop parent->realized => child->realized invariant
See merge request GNOME/gtk!1783
2020-04-28 14:11:55 +00:00
Emmanuele Bassi
064eb6a87f
Merge branch 'ebassi/for-master' into 'master'
...
Ebassi/for master
See merge request GNOME/gtk!1782
2020-04-28 13:06:26 +00:00
Alexander Larsson
c6104fe7fd
Drop parent->realized => child->realized invariant
...
We already dropped this invariant in gtk_widget_verify_invariants()
because it was not true in all cases. Also, it is not really useful
these days as we extended what it means to be a "child" to also
include widgets in different toplevels.
For example, a popup in a popup button need not be realized just
because the button is in a realized window. The main invariants
we want are:
* Parent is realized before child
* Widget is realized before it is mapped
This sounds like its not a huge deal, but in fact it is a massive win
for things like menus, because when we go between menus in a menubar
each switch between two open menus involves a lot of intermingled
crossing events to different surfaces and for each of these the
tooltip window of the toplevel gets assigned to the new surface. This
shouldn't be a huge deal, as the tooltip window is not even visible,
but due to the realized invariant it get re-realized each time it gets
re-assigned.
2020-04-28 14:32:57 +02:00
Emmanuele Bassi
555230ec9c
Annotate more functions returning GListModel
...
Now that we can have an element-type annotation, we should use it where
needed.
2020-04-28 13:31:59 +01:00
Emmanuele Bassi
2a11f5f889
Use attributes instead of element-type annotation
...
The `element-type` annotation is for GList and GSList only, and turns
out adding support for GListModel in gobject-introspection breaks Vala
and the GIR for GIO.
Instead of using `element-type`, we can use the `attributes` annotation,
which is ignored by code generators based on the GIR data.
2020-04-28 13:31:29 +01:00
Matthias Clasen
f66950f48c
Merge branch 'inspector-media' into 'master'
...
Inspector media
See merge request GNOME/gtk!1781
2020-04-28 05:25:50 +00:00
Matthias Clasen
5477c1cdfe
inspector: Show the media backend
2020-04-28 00:37:54 -04:00
Matthias Clasen
75c75e001c
mediafile: Privately export function to the extension
...
We want to show this information in the inspector.
2020-04-28 00:37:54 -04:00
Matthias Clasen
af32092f16
Merge branch 'popover-flip-arrow-fix' into 'master'
...
popover: Allocate after setting final_position
Closes #2671
See merge request GNOME/gtk!1780
2020-04-28 03:42:01 +00:00
Matthias Clasen
b54ef5c398
Merge branch 'menu-section-title-fixup' into 'master'
...
popovermenu: Don't put a separator before the first section
Closes #2672
See merge request GNOME/gtk!1779
2020-04-28 01:55:24 +00:00
Matthias Clasen
473709fee3
popover: Allocate after setting final_position
...
When we find out that we've been flipped, set
final_position and final_rect before allocating
the popover. This prevents 'smashed-in beak' disease.
Fixes : #2671
2020-04-27 20:58:03 -04:00
Matthias Clasen
a837b57849
popovermenu: Don't put a separator before the first section
...
When we have section titles, we were not hiding the
separator before the first section as we should;
fix this.
Fixes : #2672
2020-04-27 20:27:39 -04:00
Matthias Clasen
12adf6362f
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory: Enable page transitions by default
See merge request GNOME/gtk!1777
2020-04-27 23:15:40 +00:00
Matthias Clasen
80185b0f2a
widget-factory: Enable page transitions by default
...
No need to make this an easter egg.
2020-04-27 14:33:07 -04:00
Daniel Mustieles
99dd33a9a3
Updated Spanish translation
2020-04-27 18:14:43 +02:00
Matthias Clasen
789586c385
Merge branch 'BUG_filechooser_async_data_loss_GTK4' into 'master'
...
GtkFilechooserWidget: prevent oblivious selection of file
See merge request GNOME/gtk!1688
2020-04-27 13:22:47 +00:00
Matthias Clasen
bedf3a2db9
Merge branch 'wip/exalm/tnum' into 'master'
...
mediacontrols: Use tabular figures for time and duration
See merge request GNOME/gtk!1774
2020-04-27 12:59:35 +00:00
Alexander Mikhaylenko
422c78badf
mediacontrols: Use tabular figures for time and duration
...
In particular, this prevents gtk4-widget-factory from jumping every
second.
2020-04-27 17:28:20 +05:00
Matthias Clasen
b3710279bc
Merge branch '2657-avoid-use-after-free-suggestion' into 'master'
...
Resolve "Use-after-free crash in `thaw_updates()`"
Closes #2657
See merge request GNOME/gtk!1771
2020-04-27 12:16:54 +00:00
Matthias Clasen
5a25c7fd64
Merge branch 'matthiasc/for-master' into 'master'
...
Miscellaneous bug fixes
Closes #2666 and #2016
See merge request GNOME/gtk!1773
2020-04-27 12:11:37 +00:00
Matthias Clasen
429e0bfaec
filechooser: Correct an annotation
...
Clarify that gtk_file_chooser_add_filter is only taking
ownership of a floating reference, which translates to
"transfer none", not "transfer full".
Fixes : #2016
2020-04-27 00:35:47 -04:00
Matthias Clasen
fc450e313b
placesview: Fix translator comments
...
These comments were applied to the wrong strings
by xgettext.
Fixes : #2666
2020-04-27 00:23:49 -04:00
Matthias Clasen
f18eef7e6f
filechooser: Fix type-to-search
...
We need to capture the keys and forward them
to the search entry, for anything to happen.
2020-04-27 00:14:38 -04:00
Matthias Clasen
bf1a9b2b0d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1772
2020-04-27 03:30:30 +00:00
Matthias Clasen
a3368ab7e9
widget-factory: Revamp transition effects
...
Use a quick crossfade for the main pages, and use
the rotation for the small stack on page 2, where
it looks less out of place.
2020-04-26 22:30:34 -04:00
Matthias Clasen
1ae898bf0b
gtk-demo: Add a shortcuts window
...
Its not very impressive here, but still good to have.
2020-04-26 22:14:10 -04:00
Matthias Clasen
91c7b24815
icon-browser: Add a gear menu
...
Add an about dialog, and make the inspector available.
2020-04-26 22:00:18 -04:00
Matthias Clasen
af2903d263
widget-factory: Improve the textview on page 3
...
Remove an extra frame, make the buttons linked, and
add tooltips.
2020-04-26 21:13:16 -04:00
Matthias Clasen
9ca2a09427
widget-factory: Move the password entry
...
Move the password entry to the other entries. That
fits the overall organization better, and makes all
the typographical styles fit.
2020-04-26 20:54:09 -04:00
Matthias Clasen
50b930fb1c
widget-factory: Make the list on page 2 grow to the bottom
...
Add a few more items to the list to make it fill up the space.
2020-04-26 20:35:51 -04:00
Matthias Clasen
3ed285ab71
widget-factory: Show typographical style classes
...
This nicely fills the gap on page 1.
2020-04-26 20:25:11 -04:00
Matthias Clasen
34862dbbb6
gtk-demo: Include pango version in about dialog
...
This is useful information.
2020-04-26 20:02:10 -04:00
Matthias Clasen
1bdaa99347
widget-factory: Include pango version in about dialog
...
This is useful information.
2020-04-26 20:01:31 -04:00
Matthias Clasen
ad22c463b8
widget-factory: Add a password entry
...
Thats a new widget that was missing.
2020-04-26 19:34:36 -04:00
Emmanuele Bassi
62d98ac60c
Merge branch 'patch-1' into 'master'
...
Remove a "-" from comment
See merge request GNOME/gtk!1770
2020-04-26 21:42:10 +00:00
Peter Bloomfield
b9155dcb1a
file-system-model: Refactor a helper
...
Push more common code into the helper for
gtk_file_system_model_query_done() and
gtk_file_system_model_one_query_done().
2020-04-26 17:38:49 -04:00
Peter Bloomfield
d85f02a994
file-system-model: Avoid use-after free
...
This is a possible fix for https://gitlab.gnome.org/GNOME/gtk/-/issues/2657
Use a NULL return from g_file_query_info_finish() to detect cancellation
of the query, and avoid derferencing a stale pointer.
2020-04-26 16:47:23 -04:00
scootergrisen
01ebd00f97
Remove a "-"
2020-04-26 20:44:04 +00:00
Matthias Clasen
7da995da1d
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1768
2020-04-26 20:24:37 +00:00
Matthias Clasen
dc99a7aa61
stackswitcher: Drop the Private struct
2020-04-26 15:48:46 -04:00
Matthias Clasen
508ed21786
progressbar: Drop the Private struct
2020-04-26 15:44:44 -04:00
Matthias Clasen
2356c9b503
overlay: Drop the Private struct
2020-04-26 15:38:09 -04:00
Matthias Clasen
bf77694557
linkbutton: Drop the Private struct
2020-04-26 15:38:09 -04:00
Matthias Clasen
5bd2b49064
fontchooserdialog: Drop the Private struct
2020-04-26 15:38:09 -04:00
Matthias Clasen
a78e0f1188
fontchooserwidget: Drop the Private struct
2020-04-26 15:38:09 -04:00
Matthias Clasen
7ede3b919c
calendar: Drop the Private struct
2020-04-26 15:38:09 -04:00
Matthias Clasen
2ea7f47089
separator: Drop the Private struct
2020-04-26 15:38:09 -04:00
Matthias Clasen
9156be6bf1
viewport: Drop the Private struct
2020-04-26 15:38:09 -04:00
Matthias Clasen
0b6cd34b1d
Merge branch 'matthiasc/for-master' into 'master'
...
widget-factory improvements
See merge request GNOME/gtk!1767
2020-04-26 19:20:47 +00:00
Matthias Clasen
e1b25eaf5a
wayland: Fall back to an unthemed default cursor
...
In the absence of icon themes (such as in a freshly
created toolbox container), we should not just fall back
to "no cursor", since that makes it hard even to close
the application. Fall back to an included default cursor
of last resort.
2020-04-26 14:42:45 -04:00
Matthias Clasen
7eeeb3f229
gdk: Include a default cursor as resource
...
Provide a fallback cursor of last resort. Otherwise,
we end up with no visible cursor if there is no
cursor theme installed, wihch is less than helpful.
2020-04-26 14:41:52 -04:00
Matthias Clasen
7ca8efa0f5
vulkan: Update error codes enum
...
Do the silly update exercise.
2020-04-26 14:08:40 -04:00
Matthias Clasen
9f579edfdb
widget-factory: Put a video widget in
...
The designers wanted the frame column gone for a long
time, since inset/outset/groove etc are not the coolest
features anymore.
Keep one frame, and put a GtkVideo in it.
This opens up some real estate on page 1. Suggestions
welcome for how to fill it.
2020-04-26 14:08:40 -04:00
Matthias Clasen
2dfd1404ff
inspector: Make the resource tab play videos
...
We can do this easily, so why not. This can be
seen in action with gtk-logo.webm, e.g. in gtk4-demo.
2020-04-26 14:08:40 -04:00
Matthias Clasen
f6af2d63b0
widget-factory: Implement the print action
...
Implement enough here to show a print dialog.
2020-04-26 14:08:35 -04:00
Matthias Clasen
764e43b871
Merge branch 'wip/exalm/windowcontrols-fix' into 'master'
...
Adwaita: remove margin from GtkWindowControls when empty
See merge request GNOME/gtk!1766
2020-04-26 16:11:49 +00:00
Alexander Mikhaylenko
7874b29ec2
Adwaita: remove margin from GtkWindowControls when empty
2020-04-26 20:24:20 +05:00
Matthias Clasen
8de774dde1
widget-factory: Make print a window action
...
We want to pass the parent window when opening
a print dialog, so this is naturally a window
action.
2020-04-26 10:45:40 -04:00
Matthias Clasen
a8e04ee81d
Merge branch 'matthiasc/for-master' into 'master'
...
More reftest fixes
See merge request GNOME/gtk!1765
2020-04-26 14:30:10 +00:00
Matthias Clasen
8410e6f129
widget-factory: Some cosmetics
...
Hook the Print button on page 3 up to the app.print
action. This doesn't do anything now, but we might
use it to show a print dialog.
2020-04-26 10:02:11 -04:00
Matthias Clasen
ecf8e6f692
widget-factory: Improve the layout on page 3
...
Make the entries in the third column expand,
to align things.
2020-04-26 10:00:14 -04:00
Matthias Clasen
dde32b5098
reftests: Remove window-show-contents-on-map from xfails
...
This test passes now.
2020-04-26 09:47:16 -04:00
Matthias Clasen
2571a2af18
reftests: Fix the window-show-contents-on-map test
...
Despite the name, the test was not in fact showing
contents on map anymore, since widgets are visible
by default. Setting visible to FALSE makes the test
work as expected again.
2020-04-26 09:47:16 -04:00
Matthias Clasen
fa2a8ac1bb
reftests: Remove window-show-contents-on-map from xfails
...
This test passes now.
2020-04-26 09:18:54 -04:00
Matthias Clasen
ccc38746d5
Merge branch 'clipboard-demo-fixes' into 'master'
...
More gtk-demo fixes
See merge request GNOME/gtk!1764
2020-04-26 13:17:42 +00:00
Matthias Clasen
56565b12d8
reftests: Fix the window-show-contents-on-map test
...
Despite the name, the test was not in fact showing
contents on map anymore, since widgets are visible
by default. Setting visible to FALSE makes the test
work as expected again.
2020-04-26 09:16:25 -04:00
Matthias Clasen
7f1e82d1bc
Merge branch 'wip/exalm/titlebuttons' into 'master'
...
GtkWindowControls + GtkHeaderBar cleanups
See merge request GNOME/gtk!1755
2020-04-26 13:09:35 +00:00
Alexander Mikhaylenko
b5d61eb2c8
docs: Add GtkWindowControls to docs
2020-04-26 15:13:15 +05:00
Alexander Mikhaylenko
5321f8f195
headerbar: Use GtkWindowControls
...
Now that the title buttons are encapsulated in a separate widget, use
it in the header bar.
Hide them when empty, so that they don't add extra spacing.
2020-04-26 15:13:15 +05:00
Alexander Mikhaylenko
4aa8f6f73c
Add GtkWindowControls
...
Move some code out of GtkHeaderBar and into a separate widget, making it
reusable in process.
See https://gitlab.gnome.org/GNOME/gtk/issues/2242
2020-04-26 15:13:15 +05:00
Matthias Clasen
6f7bd37aeb
widget-factory: Update copyright year
2020-04-26 00:45:06 -04:00
Matthias Clasen
f645c063fb
gtk-demo: Update copyright year
2020-04-26 00:44:48 -04:00
Matthias Clasen
44e31855ca
gtk-demo: Remove the colorsel demo
...
We already have a color selector demo in "Pickers".
2020-04-26 00:28:13 -04:00
Matthias Clasen
c6fc7d88c2
gtk-demo: Minor cosmetic fixes
...
Some minor cosmetic fixes to some of the demos.
2020-04-26 00:28:13 -04:00
Matthias Clasen
f6c8af6609
gtk-demo: Improve the dnd demo
...
The DND demo didn't have DND, since it was first created!
Time to fix this. Copying most of testdnd3.c here.
2020-04-26 00:28:13 -04:00
Matthias Clasen
796bc9bde1
Merge branch 'clipboard-demo-fixes' into 'master'
...
Clipboard demo fixes
See merge request GNOME/gtk!1762
2020-04-26 02:13:33 +00:00
Matthias Clasen
f8f391ceb9
gtk-demo: Polish the clipboard demo
...
The DND part of this demo was broken by recent
icon theme changes. Make it work again.
And make the demo nicer by breaking out a
DemoImage widget.
2020-04-25 21:29:39 -04:00
Matthias Clasen
637890517b
Move the idle sizer to the gtkroot.c
...
This is needed since we already have a second GtkRoot
implementation with GtkDragIcon, and DND is causing
critical warnings due to this.
2020-04-25 21:03:57 -04:00
Matthias Clasen
ae7fd6f129
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1761
2020-04-25 19:26:36 +00:00
Matthias Clasen
99d7130da3
reftests: Remove background-image-multiple from xfails
...
It no longer fails.
2020-04-25 13:26:14 -04:00
Matthias Clasen
b64f889cd9
fixed: Fix an oversight in size requisition
...
We need to take orientation into account when applying
child transforms. This is what broke the background-image-multiple
reftest.
2020-04-25 13:18:34 -04:00
Matthias Clasen
ba1633ce75
Merge branch 'matthiasc/for-master' into 'master'
...
Fix menu keynav
See merge request GNOME/gtk!1760
2020-04-25 16:56:18 +00:00
Matthias Clasen
ac3e604bb6
reftests: Use transform syntax
...
This is supposed to fix the background-image-multiple
reftest, but it doesn't. There's an actual bug here.
2020-04-25 12:47:17 -04:00
Matthias Clasen
fdc4335eba
menu: Dismiss submenus during keynav
...
We need to dismiss submenus explicitly on left arrow,
otherwise the grab interferes with our keynav.
2020-04-25 12:14:04 -04:00
Matthias Clasen
4936e7f859
Cosmetics
...
Reduce casting.
2020-04-25 11:54:29 -04:00
Matthias Clasen
8b64e29ba6
menu: Ignore leaves due to grabs
...
When we open a submenu we get a leave due to the grab,
but we don't want to unset the active item then.
2020-04-25 11:46:43 -04:00
Matthias Clasen
95424d3f44
Merge branch 'matthiasc/for-master' into 'master'
...
Don't autoinclude backend-specific headers
See merge request GNOME/gtk!1759
2020-04-25 15:37:41 +00:00
Piotr Drąg
9cc5eb6161
Update POTFILES.in
2020-04-25 13:38:18 +02:00
Matthias Clasen
79e1c66657
gsk: Don't autoinclude backend-specific headers
...
Don't install headers for code that we don't build.
And don't include those headers in gsk.h.
Just as we do in gdk, require applications to include
the backend-specific headers they need explicitly.
Update the one affected demo, gtk4-node-editor.
2020-04-24 21:40:30 -04:00
Matthias Clasen
02fa948914
widget-factory: Improve the theme selector
...
Implement the "Current style" choice using
gtk_settings_reset_property, so we go back to
following the settings changes.
2020-04-24 21:12:20 -04:00
Matthias Clasen
b54178e6a4
Merge branch 'wip/carlosg/input-fixes' into 'master'
...
Some input fixes
See merge request GNOME/gtk!1757
2020-04-25 00:29:33 +00:00
Matthias Clasen
bb50b2cec9
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1758
2020-04-24 23:07:23 +00:00
Matthias Clasen
1d86a89ccf
testsuite: Take textview-border-windows out of xfails
...
The textview-border-window reftest passes now, so
take it out of the xfails.
2020-04-24 18:35:22 -04:00
Matthias Clasen
c192038027
reftests: Avoid text caret from interfering
...
We are comparing a transparent label to a transparent
text view, so need to make sure the caret does not show
up in the text view to ruin the comparison.
2020-04-24 18:33:57 -04:00
Carlos Garnacho
2c23546ba9
gtktexthandle: Set parent through API call
...
The GtkWidget::parent property went readonly, use the API call
to ensure the text handle has a parent set.
2020-04-25 00:09:41 +02:00
Carlos Garnacho
9ed579505d
gtktreeview: Ensure to transiently prelight on touch input
...
Some machinery (like clicking on expander) relies on prelight state
being up to date, but we don't set prelight on touch events. Do that
transiently, as long as a row is clicked.
Fixes tapping on expanders.
2020-04-24 23:14:51 +02:00
Carlos Garnacho
41b7f03d55
gdk/wayland: Ensure to clean up stale touchpoint data on surface destroy
...
If the wl_surface receiving touch events is destroyed, we will get no
wl_touch.up event to remove the touchpoint from our internal accounting.
Check for this, and drop touchpoints happening in surfaces that do
disappear during operation.
2020-04-24 23:11:00 +02:00
Carlos Garnacho
67e1acd4d7
gtkpopover: Roll back properly if presenting the popup fails
...
If the popover fails to be shown, it would internally undo visible
and mapped state. If we just proceed as normal, the widget enters
in inconsistent state, and a grab remains issued on the invisible
widget, preventing further input from the input device.
2020-04-24 23:06:52 +02:00
Carlos Garnacho
d104efe06e
gtkwindow: Correct device check
...
This function to revoke implicit grabs may be called with a NULL
device, which means all devices should be revoked. Fix the check
so this actually happens.
Fixes implicit grabs (maybe) being unset in result to a GTK grab.
2020-04-24 23:04:27 +02:00
Carlos Garnacho
2a877a9be5
gtkwindowgroup: Take default group into account when listing windows
...
Otherwise, no windows belong to the default group, paradoxically.
2020-04-24 23:03:13 +02:00
Matthias Clasen
cb14fcca4c
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1756
2020-04-24 20:50:01 +00:00
Carlos Garnacho
777fd92eba
gtkpadcontroller: Avoid filling action list with empty elements
...
We don't need to set the array size if we are adding elements afterwards.
2020-04-24 22:21:08 +02:00
Carlos Garnacho
ccfffb2578
demos: Initialize brush size in "paint" demo
...
Otherwise lines end up with 0 thickness.
2020-04-24 22:20:09 +02:00
Matthias Clasen
894e1d0885
testsuite: Take border-color-transparent out of xfails
...
The border-color-transparent reftest passes now, so
take it out of the xfails.
2020-04-24 15:20:58 -04:00
Matthias Clasen
c8d4a48c03
reftests: Avoid theme influence
...
Reset to defaults in background-color-transparent,
to avoid theme influence in the results.
2020-04-24 15:19:24 -04:00
Matthias Clasen
7ce964a455
reftests: Avoid decorations
...
Window decorations always cause trouble between ci
and local test runs, so turn them off for the
background-color-transparent reftest.
2020-04-24 15:18:02 -04:00
Alexander Mikhaylenko
2791c522d8
headerbar: Remove decoration-layout-set property
...
It's unnecessary and only complicates the API. Use decoration-layout if
it's not NULL, and GtkSettings otherwise.
2020-04-24 23:54:07 +05:00
Alexander Mikhaylenko
18114bafe0
headerbar: Remove title button separators
...
They have had opacity: 0 for a while, just remove them.
2020-04-24 23:54:07 +05:00
Alexander Mikhaylenko
197fe80857
testsuite: Fix swapped params in notify test
...
The expected and counted params are swapped in literally every call, so
swapping the params to match them.
2020-04-24 23:54:07 +05:00
Matthias Clasen
8871327b08
Merge branch 'grab-leftovers' into 'master'
...
Drop gtk_widget_has_grab
See merge request GNOME/gtk!1752
2020-04-23 19:24:59 +00:00
Matthias Clasen
b2deab6adf
Drop gtk_widget_has_grab
...
This was just a leftover in our public api.
All other grab-related apis are gone.
2020-04-23 14:10:44 -04:00
Benjamin Otte
389575ee18
Merge branch 'wip/exalm/window-headerbar' into 'master'
...
First steps for #2242
See merge request GNOME/gtk!1739
2020-04-23 15:26:30 +00:00
Matthias Clasen
fd47e86689
Merge branch 'focus-ring-experiment' into 'master'
...
Tweak visible focus behavior
See merge request GNOME/gtk!1750
2020-04-23 15:20:54 +00:00
Alexander Mikhaylenko
7c4694ca3c
window: Stop listening to headerbar title changes
...
Remove another dependency.
2020-04-23 19:26:10 +05:00
Alexander Mikhaylenko
610d5794ac
headerbar: Update window buttons automatically
...
Update the layout when any of the following properties changes:
* modal
* transient-for
* resizable
* deletable
Stop updating it from GtkWindow, make that function static.
2020-04-23 19:26:10 +05:00
Matthias Clasen
b0f2cd02ad
window: Tweak visible focus behavior
...
Only turn on visible focus when a key event actually leads
to a change in focus location (ie, 'keynav').
Make the visible focus disappear after 5 seconds of no
keyboard interaction, to avoid permanent focus ring
distraction.
As an extra bonus, make it so that we make the focus
visible while the Alt key is pressed. This gives us
a 'find my focus!' shortcut, and goes well with the
prexisting use of Alt for finding mnemonics.
Discussed in: #2644
2020-04-23 09:33:26 -04:00
Jakub Steiner
7fe51a876c
Merge branch 'wip/jimmac/uniform-checkboxes' into 'master'
...
Adwaita: lower glyph contrast for checkboxes
See merge request GNOME/gtk!1745
2020-04-23 11:44:47 +00:00
Jakub Steiner
424a86a6a6
Adwaita: lower glyph contrast for checkboxes
...
- stylistic choice didn't sit well with majority of the design team
2020-04-23 10:53:02 +02:00
Matthias Clasen
861bff44a8
Merge branch 'matthiasc/for-master' into 'master'
...
menusectionbox: Improve circular button spacing
Closes #2626
See merge request GNOME/gtk!1743
2020-04-23 04:02:12 +00:00
Matthias Clasen
f4b1762072
Adwaita: Add padding to circular button rows in menus
...
The lack of this was negatively affecting the spacing
of these buttons.
Fixes : #2626
2020-04-22 22:42:04 -04:00
Matthias Clasen
ba45d7a991
menusectionbox: Improve circular button spacing
...
In the n == 2 case, we want to avoid the buttons being
drawn all the way out to the ends of the box, but in the
n >= 3 case, that is exactly what we want for the first
and last button.
2020-04-22 22:16:46 -04:00
Benjamin Otte
8b1e857a67
Merge branch 'fix-icontheme-invalidation' into 'master'
...
Fix icontheme invalidation
See merge request GNOME/gtk!1733
2020-04-23 00:13:26 +00:00
Matthias Clasen
94906d076a
Drop gtk_widget_reset_style
...
There was a single call left that should not be necessary.
Also drop no longer used attached-window functionality.
2020-04-22 19:30:48 -04:00
Matthias Clasen
a199060728
Drop gtk_style_context_reset_widgets
...
This is no longer used.
2020-04-22 19:30:48 -04:00
Matthias Clasen
7b4378bc46
widget: Update when font settings change
...
Update the pango context when font-related settings
change, using the new GtkSystemSetting mechanism.
2020-04-22 19:30:48 -04:00
Matthias Clasen
679863af4f
image: Invalidate icon helper when icon theme changes
...
This is necessary to drop the cached image.
2020-04-22 19:30:48 -04:00
Matthias Clasen
a59cb5dfa6
icontheme: Call gtk_system_setting_changed
...
When the icon theme changes, we want to both initiate
a css SOURCE change (since css values may depend on the
icon theme), as well as calling gtk_system_setting_changed,
since widgets need to drop cached images, e.g. in GtkIconHelper.
2020-04-22 19:30:48 -04:00
Matthias Clasen
4b13d99cfe
settings: Call gtk_system_setting_changed
...
Replace calls to gtk_style_context_reset_widgets by
gtk_system_setting_changed, with the appropriate setting,
and add style invalidation where required.
2020-04-22 19:29:59 -04:00
Matthias Clasen
129b8bb7f1
window: Use gtk_system_setting_change
...
Propagate GTK_SYSTEM_SETTING_DISPLAY when the display
of the window changes.
2020-04-22 19:29:15 -04:00
Matthias Clasen
723d57eeb5
widget: Add a system_setting_changed vfunc
...
This gives us a hook to walk the widget tree whenever a global
setting changes and do per-widget invalidations. This will
replace gtk_style_context_reset_widgets().
2020-04-22 19:29:15 -04:00
Matthias Clasen
58ca3b05c9
css: Compare icon theme serials
...
When comparing to icon theme image values for equality,
take the serial of the icon theme at compute time into
account.
2020-04-22 19:22:41 -04:00
Emmanuele Bassi
21fcef7306
Merge branch 'ci-custom-layout' into 'master'
...
Fix annotations for GtkCustomLayout
See merge request GNOME/gtk!1740
2020-04-22 19:23:17 +00:00
Matthias Clasen
fe6ef5256b
icontheme: Keep a serial
...
This will let us identify when we have to re-lookup
icons because they may have changed despite the theme
object being the same.
2020-04-22 15:18:16 -04:00
Emmanuele Bassi
c0d18ebff2
Fix annotations for GtkCustomLayout
...
Silence the warnings from the introspection scanner.
2020-04-22 19:24:45 +01:00
Alexander Mikhaylenko
451c3279ee
window: Introduce actions for window buttons
...
Add the following actions:
* window.close
* window.toggle-maximize
* window.minimize
Ensure they are disabled when not appropriate, such as for modal windows.
Use them in GtkHeaderBar.
2020-04-22 23:01:12 +05:00
Alexander Mikhaylenko
016eac0645
header-bar: Track window icon changes
...
Listen to icon-name changes if it's in a GtkWindow. This allows to remove a
special case for headerbar-as-titlebar from GtkWindow.
2020-04-22 23:01:12 +05:00
Alexander Mikhaylenko
cead405831
header-bar: Don't assume there's only one icon
...
Instead of tracking the titlebar icon widget, and updating it when the icon
changes, update the window buttons completely.
2020-04-22 23:01:12 +05:00
Matthias Clasen
2ddff872cd
css: Drop the -gtk-icon-theme property
...
We want to always use the current icon theme, and only
have the minimum amount of custom properties.
2020-04-22 12:35:30 -04:00
Matthias Clasen
7aeef71a49
css: Get the icon theme via the settings
...
We don't have a css value for it anymore, but we
still need the current icon theme to interpret
icon names.
2020-04-22 12:35:30 -04:00
Matthias Clasen
98611735ec
Stop using the -gtk-icon-theme style property
...
We want to just use the current icon theme, always.
2020-04-22 12:35:22 -04:00
Alexander Mikhaylenko
2240eb5c99
header-bar: Stop showing application menu
...
The application menu isn't particular relevant anymore, and the support for
showing fallback appmenu as a headerbar icon is one of the things tying
GtkWindow to GtkHeaderBar.
Remove support for "menu" window decoration element completely, update
GtkHeaderBar docs.
2020-04-22 21:30:19 +05:00
Alexander Larsson
e75bc2833d
icon-theme: Fix deadlock in GktIconTheme dispose
...
When freeing the display GtkIconTheme and that was the last owner we
ran into a deadlock, because we unref the "next-to-last" ref inside a
gtk_icon_theme_ref_aquire/release() pair, which makes the final unref
to happen in the release(), while the ref lock still was held.
The unref triggers dispose which tries to NULL out the ref, but that then
deadlocks on the mutex being held by the caller already.
We fix this by moving the release unref outside the lock. This is safe
because refcounts are atomic, and we *do* own the ref.
2020-04-22 12:20:57 -04:00
Jakub Steiner
bca608c531
Merge branch 'wip/jimmac/HC-slider-border' into 'master'
...
HC: fix switch slider borders
See merge request GNOME/gtk!1737
2020-04-22 11:47:54 +00:00
Jakub Steiner
9fe6bc0792
HC: fix switch slider borders
...
- HC got caught up on a condition made for color (suggested) buttons.
the rule just made the slider a tag lighter on dark probably due to the
overlaid AA making it stronger. Got rid of it for now, if someone cares
enough we can reintroduce an exception (that doesn't break HC).
2020-04-22 11:59:40 +02:00
Matthias Clasen
e026a04e03
Merge branch 'fix-placesview-popover' into 'master'
...
placesview: Fix up the address entry help popover
Closes #2642
See merge request GNOME/gtk!1731
2020-04-21 22:27:57 +00:00
Emmanuele Bassi
30c386dde9
Merge branch 'missing-annotation' into 'master'
...
widget: Add missing callback annotation
See merge request GNOME/gtk!1732
2020-04-21 21:56:43 +00:00
Matthias Clasen
0ff67fa854
Merge branch 'wip/chergert/fix-toggle-caret-visibility' into 'master'
...
textview: fix assertion when toggling caret visibility
Closes #2647
See merge request GNOME/gtk!1736
2020-04-21 21:11:53 +00:00
Christian Hergert
55dd737ea0
textview: fix assertion when toggling caret visibility
...
When toggling caret visibility (with F7) we would hit an assertion if the
cursor is currently blinking. This adjusts things to ensure that we should
be showing the carent when scheduling our blink timeouts.
Fixes #2647
2020-04-21 13:39:50 -07:00
Matthias Clasen
c09b5ea7b4
Merge branch 'menu-section-title' into 'master'
...
Menu section title
See merge request GNOME/gtk!1735
2020-04-21 19:35:44 +00:00
Matthias Clasen
1edfd80528
Adwaita: Some styling for menu section titles
...
More fine-tuning needed.
2020-04-21 14:55:14 -04:00
Matthias Clasen
654af88529
Change the approach to menu section titles
...
Put the label below the separator, and give
it the title style class.
2020-04-21 14:48:39 -04:00
Florian Müllner
8e2ffb3b46
widget: Add missing callback annotation
...
GI can only figure out the correct scope if there's a GDestroyNotify
or GAsyncReadyCallback parameter.
2020-04-21 16:35:07 +02:00
Claudio Saavedra
e818bf8514
docs: migration guide fixes
2020-04-21 15:37:45 +03:00
Claudio Saavedra
0af16a77fc
docs: fix typo
2020-04-21 14:49:13 +03:00
Matthias Clasen
0ebcf8c02e
placesview: Fix up the address entry help popover
...
Popovers without parent don't work anymore. Set a
parent, a fix up the position.
Fixes : #2642
2020-04-21 07:43:52 -04:00
Jakub Steiner
76b16720fc
Merge branch 'wip/jimmac/hc-public-colors' into 'master'
...
HC: export public colors
Closes #2641
See merge request GNOME/gtk!1730
2020-04-21 11:08:28 +00:00
Jakub Steiner
89ebe9e456
HC: export public colors
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2641
2020-04-21 12:39:34 +02:00
Matthias Clasen
af7537ac79
3.98.3
2020-04-21 00:32:23 -04:00
Matthias Clasen
6185cf95fb
Fix label accessibility
...
Emit accessible change signals after setting the
new selection limits. This was broken in
commit f6bedd0d5e , and showed up as broken
accessibility tests.
2020-04-20 23:16:23 -04:00
Matthias Clasen
fbcd0212ea
Merge branch 'container-focus-cleanup' into 'master'
...
Strip down GtkContainer
See merge request GNOME/gtk!1722
2020-04-20 21:20:57 +00:00
Matthias Clasen
b55195fa2e
Move the idle sizer to GtkWindow
...
This was only living in gtkcontainer.c for historic
reasons. Move it closer to where it belongs, and
rename it from 'idle' to 'layout', since it is
really about the layout phase of the frame clock,
nowadays.
2020-04-20 16:30:45 -04:00
Matthias Clasen
841c4a8cfe
container: Cosmetic doc cleanup
...
Remove remnants of child properties from the
documentation. They no longer exist.
2020-04-20 16:30:45 -04:00
Matthias Clasen
d756c6e282
Move set_focus_child to GtkWidget
...
Move the set_focus_child vfunc from GtkContainer
to GtkWidget. This removes the last focus functionality
from GtkContainer.
Update the two users.
2020-04-20 16:30:43 -04:00
Matthias Clasen
eeb41c82d1
NEWS: More updates
2020-04-20 16:29:30 -04:00
Matthias Clasen
ecf313097c
Merge branch 'wip/carlosg/grabbing-popovers' into 'master'
...
gtkpopover: Set GTK grab on autohide popovers
Closes #2446
See merge request GNOME/gtk!1729
2020-04-20 19:01:55 +00:00
Carlos Garnacho
b20f21df24
gtkpopover: Set GTK grab on autohide popovers
...
These popovers handle clicks outside the widget, and expect input
to be routed through it when it is shown. This pretty much matches
the characteristics of GTK grabs, and setting one up will ensure
the cancellation of event controllers that were active at the time
of showing the popover.
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2446
2020-04-20 20:28:05 +02:00
Matthias Clasen
2869f80bc0
Merge branch 'docs-work' into 'master'
...
Docs work
See merge request GNOME/gtk!1727
2020-04-20 05:33:02 +00:00
Matthias Clasen
b4c79bad34
Assorted documentation fixes
2020-04-20 00:38:58 -04:00
Matthias Clasen
013cc09651
widget: Remove some leftovers
...
gtk_widget_can_activate_accel is gone, so remove the
vfunc and declaration.
2020-04-19 23:44:50 -04:00
Matthias Clasen
cd077d1aa6
Merge branch 'BUG_regression_select_folder_GTK4' into 'master'
...
GtkFileChooserWidget: fix refactor regression
Closes #2635
See merge request GNOME/gtk!1726
2020-04-19 23:15:28 +00:00
Nelson Benítez León
66e802596a
GtkFileChooserWidget: fix refactor regression
...
Commit 4a3742979d which removed
GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER slipped
a bad g_assert() refactoring, which is causing
a crash when selecting a folder in a GtkFileChooserButton
dialog.
Fixes #2635
2020-04-19 18:00:37 -04:00
Nelson Benítez León
13506e36aa
FileChooserButton: query 'display name' also for unbookmarked files
...
Do also the async file info query for remote files when they
are not bookmarked, because otherwise "None" will be shown as
file name (and fallback text generic icon will be used).
The remote file was already browsed by the file chooser
instance when selecting it, so querying the display name
again should be using gio cache and not be slow.
Even if it's were slow it's better than showing 'None'
which makes it seem as if nothing was selected.
Fixes #1966
2020-04-19 16:59:33 -04:00
Matthias Clasen
e91907d427
Docs: Various tweaks
...
Tweak the docs for library initialization, versioning
and settings, and remove some outdated information.
2020-04-19 16:26:25 -04:00
Matthias Clasen
dbf12d87a1
Add GtkShortcutLabel to the docs
2020-04-19 15:41:51 -04:00
Matthias Clasen
0b6af3bf23
Add GtkCenterLayout to the docs
2020-04-19 15:38:31 -04:00
Matthias Clasen
bc7da45902
docs: Restructure a bit
...
Split the overview sections off into its own "concepts part.
2020-04-19 13:15:05 -04:00
Matthias Clasen
a3de542274
Merge branch 'matthiasc/for-master' into 'master'
...
Remove GdkGeometry from public API
See merge request GNOME/gtk!1720
2020-04-19 16:40:03 +00:00
Matthias Clasen
7f3125fc69
Some minor documentation fixes
2020-04-19 10:42:10 -04:00
Matthias Clasen
70fed08e8f
Remove GdkGeometry from public API
...
The api to configure surfaces is now GdkToplevelLayout
and GdkPopupLayout. Unfortunately, there's still quite
a bit of internal use of GdkGeometry that will take some
time to clean up, so move it go gdkinternals.h for now.
2020-04-19 10:42:10 -04:00
Matthias Clasen
3c987f073e
Remove GdkGeometry from public API
...
The api to configure surfaces is now GdkToplevelLayout
and GdkPopupLayout. Unfortunately, there's still quite
a bit of internal use of GdkGeometry that will take some
time to clean up, so move it go gdkinternals.h for now.
2020-04-19 10:41:18 -04:00
Timm Bäder
ef832fd770
Merge branch 'fix-infobar-styling' into 'master'
...
Adwaita: Fix and simplify infobar styling
See merge request GNOME/gtk!1711
2020-04-19 13:11:13 +00:00
nana-4
2afd10b537
Adwaita: Fix and simplify infobar styling
...
- Apply sizing regardless of style class.
- Fix bottom border not reaching the bottom corners.
- Remove unnecessary style overrides that should have been removed
during the redesign.
2020-04-19 20:10:52 +09:00
Timm Bäder
f1da4cfae1
Merge branch 'theme-link-styling-fixes' into 'master'
...
Adwaita: Fix link styling
See merge request GNOME/gtk!1721
2020-04-19 08:37:15 +00:00
nana-4
47bfa49118
Adwaita: Fix link styling
...
- Fix broken visited link styling by avoiding invalid selector
`:link:visited` - CSS :link and :visited are mutually exclusive.
- In link button, move %link from the child label to the parent button,
so that the hover/active effect is applied within the whole button and
the visited style is applied correctly.
- Remove invalid selectors `:backdrop:backdrop`.
2020-04-19 15:21:40 +09:00
Matthias Clasen
2cd152c2ed
Merge branch 'fix-css-filter-transitions' into 'master'
...
css: Allow transitioning between different units again
See merge request GNOME/gtk!1719
2020-04-19 02:00:26 +00:00
Matthias Clasen
a7cad79092
css: Allow transitioning between different units again
...
This turns out to be necessary for transitioning filters,
and we run into criticals if transitioning numbers
unexpectedly returns NULL. I've observed that with
* {
filter: invert(80%);
}
This was broken in c9e972eecb .
2020-04-18 21:10:32 -04:00
Matthias Clasen
661b8c3d1a
Merge branch 'matthiasc/for-master' into 'master'
...
css: Give none singletons unique names
See merge request GNOME/gtk!1718
2020-04-18 22:52:15 +00:00
Matthias Clasen
853de6c511
Merge branch 'wip/fix-multi-popup-hide' into 'master'
...
Fix autohiding popup chain
See merge request GNOME/gtk!1717
2020-04-18 22:33:52 +00:00
Matthias Clasen
45bcffd637
statusbar: Don't use a frame
...
This frame serves no purpose anymore, and now that frames
draw frames, it shows up annoyingly.
2020-04-18 17:29:13 -04:00
Matthias Clasen
1e7c56db19
Merge branch 'focus-adjustment' into 'master'
...
Drop container focus adjustments
See merge request GNOME/gtk!1716
2020-04-18 20:59:50 +00:00
Jonas Ådahl
ab59459f7a
wayland: Don't continue showing if xdg_popup creation failed
...
We don't create a grabbing popup if it's not the top most one, as that
is a protocol violation, and complain if anything attempts to do it.
What we didn't do is handle this gracefully in the code that tries to
create said popup.
Fix this by dropping the attempt to show the popup on the floor, instead
of setting various state making it look like it succeeded. This won't
actually fix anything, but it'll result in a bit more accurate warnings
logged, as the state more correctly corresponds to the reality.
2020-04-18 22:57:25 +02:00
Jonas Ådahl
0a79eb02ac
surface: Hide chained autohiding popups together
...
When we autohide a popup surface with a grab, hide all other auto hiding
popups up the popup chain. The end result is that when you click outside
a menu with submenus open, the whole menu chain is dismissed.
2020-04-18 22:33:52 +02:00
Jonas Ådahl
aa72318581
popover: Fix indentation
2020-04-18 22:33:29 +02:00
Matthias Clasen
0bc6a5c791
Merge branch 'BUG_sibebarplaces_avoid_click_focus_GTK4' into 'master'
...
GtkPlacesSidebar: avoid location clicks to grab focus
See merge request GNOME/gtk!1715
2020-04-18 19:51:29 +00:00
Matthias Clasen
ef8e8ba14d
css: Give none singletons unique names
...
This makes for a less confusing experience in gdb.
2020-04-18 15:24:13 -04:00
Matthias Clasen
b55b1773c0
docs: Mention focus adjustments in the migration guide
2020-04-18 14:59:52 -04:00
Matthias Clasen
1c472cca00
Drop gtk_container_set_focus_[hv]adjustment
...
This functionality should be provided by scrollables, see
for example by the recently added GtkViewport:scroll-to-focus.
2020-04-18 14:59:44 -04:00
Matthias Clasen
8c0fbb2294
tests: Stop using focus adjustments
...
Set scroll-to-focus instead, in testgtk.
2020-04-18 14:52:50 -04:00
Matthias Clasen
ee4a7798c9
flowbox: Stop setting focus adjustments
2020-04-18 14:45:29 -04:00
Matthias Clasen
b339bde6a5
inspector: Use the new scroll-to-focus
2020-04-18 14:43:48 -04:00
Matthias Clasen
13b6b9f2b4
scrolledwindow: Stop setting focus adjustments
...
Stop setting focus adjustments on the automatically
generated viewport.
2020-04-18 14:43:48 -04:00
Matthias Clasen
b315dce757
Add a test for scroll-to-focus
2020-04-18 14:43:48 -04:00
Matthias Clasen
66347fa3bf
viewport: Add GtkViewport:scroll-to-focus
...
And implement this property by listening for focus
changes, and updating the adjustments. This is a
replacement for setting focus adjustments on containers.
2020-04-18 14:43:48 -04:00
Nelson Benítez León
2c7d54791c
GtkPlacesSidebar: avoid location clicks to grab focus
...
Sibebar location rows should not grab focus on click.
Fixes filechooser issue #1469
2020-04-18 14:43:02 -04:00
Matthias Clasen
af858d51a8
Merge branch 'css-docs' into 'master'
...
Shorten CSS docs
See merge request GNOME/gtk!1712
2020-04-18 18:39:01 +00:00
Matthias Clasen
84fd7cf704
Shorten CSS docs
...
Fold the two CSS chapters into one, make more compact
tables of selectors and properties, and stop explaining
general CSS syntax.
2020-04-18 12:34:17 -04:00
Matthias Clasen
250036259a
widget-factory: Make color swatches non-focusable
2020-04-18 03:29:13 -04:00
Matthias Clasen
8e45e15a11
colorchooser: Fix a crash
...
Don't crash when we start removing custom colors
that happen to be currently selected.
2020-04-18 03:29:13 -04:00
Matthias Clasen
323394e8b5
emojichooser: Drop focus adjustment setting
...
It is not needed here, we are now scrolling
differently.
2020-04-18 03:29:13 -04:00
Matthias Clasen
d53f3a54b1
filechooser: Cosmetic doc changes
2020-04-17 20:08:21 -04:00
Matthias Clasen
e880abfaf3
drawingarea: Cosmetic docs fix
2020-04-17 20:05:04 -04:00
Matthias Clasen
16906eb0a9
NEWS: More updates
2020-04-17 19:57:15 -04:00
Matthias Clasen
6a4f788976
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #1899 and #2627
See merge request GNOME/gtk!1709
2020-04-17 23:34:15 +00:00
Emmanuele Bassi
6b79f691ef
Merge branch 'ebassi/for-master' into 'master'
...
cups: Disable deprecation warnings
See merge request GNOME/gtk!1710
2020-04-17 23:28:18 +00:00
Matthias Clasen
49f2012d24
migration docs: Updates
...
Mention shadow type, relief, aspect frame.
2020-04-17 18:46:12 -04:00
Emmanuele Bassi
18c11ac94f
cups: Disable deprecation warnings
...
It seems newer releases of CUPS removed the ability to disable
deprecation warnings by defining a pre-processor symbol, so we
have to resort to the usual begin/end ignore deprecation pragmas
to avoid a ton of deprecation warnings.
2020-04-17 23:38:06 +01:00
Emmanuele Bassi
25237095c9
Merge branch 'for-master' into 'master'
...
For master
See merge request GNOME/gtk!1708
2020-04-17 22:11:28 +00:00
Matthias Clasen
19dbbf6fa5
aspectframe: Modernize
...
Make GtkAspectFrame not derive from GtkFrame anymore,
since frames now always draw, well, a frame. Also,
add proper setters for the properties of GtkAspectFrame.
Update our sole user.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2627
2020-04-17 17:38:52 -04:00
Emmanuele Bassi
dd23a37ca1
Reconcile documentation with declaration and definition
...
The arguments name in the documentation must match declaration and
definition, or gtk-doc and g-ir-scanner will get very cross at us.
2020-04-17 22:34:10 +01:00
Emmanuele Bassi
d46e1288a4
Copy axes when rewriting events
2020-04-17 22:23:32 +01:00
Matthias Clasen
b5d17d2f9b
Adwaita: Add focus to expander
...
We were not drawing a focus indication at all for
expanders. Bring it back. Also, make the color plane
focus snug.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/1899
2020-04-17 16:24:44 -04:00
Matthias Clasen
5a362c6759
nodeeditor: Don't set has-focus
...
That is now a readonly property. Set focus-widget
on the toplevel instead.
2020-04-17 16:17:01 -04:00
Matthias Clasen
3e19b9502d
Merge branch 'menu-section-title' into 'master'
...
popovermenu: Reinstate section title handling
See merge request GNOME/gtk!1707
2020-04-17 19:27:02 +00:00
Matthias Clasen
39793e8043
Merge branch 'matthiasc/for-master' into 'master'
...
gsk: Fall back to cairo if compiling shaders fails
See merge request GNOME/gtk!1706
2020-04-17 18:17:32 +00:00
Matthias Clasen
79267674ff
popovermenu: Reinstate section title handling
...
We were creating a hbox with separators around the label,
but forgot to arrange sizing to prevent the separators from
shrinking into nothingness.
2020-04-17 13:53:56 -04:00
Matthias Clasen
c920796967
gsk: Fall back to cairo if compiling shaders fails
...
There was already some fallback in place here, but
in other places we were just asserting.
2020-04-17 13:42:33 -04:00
Matthias Clasen
908590e032
Merge branch 'matthiasc/for-master' into 'master'
...
gsk: Fall back to cairo if compiling shaders fails
See merge request GNOME/gtk!1705
2020-04-17 17:41:08 +00:00
Matthias Clasen
416d82c81e
widget-factory: Add a menu section title
...
If you can't see it, you can't theme it.
2020-04-17 13:29:56 -04:00
Matthias Clasen
d4e53b14cb
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1703
2020-04-17 16:23:29 +00:00
Matthias Clasen
96f9f9585f
reftests: Stop using shadow-type
2020-04-17 11:06:16 -04:00
Matthias Clasen
ad7118ef9a
calendar: Fix focus keynav
...
This broke when the calendar was broken into widgets.
2020-04-17 10:57:36 -04:00
Matthias Clasen
909120ec78
Drop GtkReliefStyle
...
We are not using this enum anymore.
2020-04-17 10:57:36 -04:00
Matthias Clasen
12d5fdd457
menubutton: Drop relief
...
We are only using this as a boolean, so change it
to a boolean property named has-frame.
2020-04-17 10:57:36 -04:00
Matthias Clasen
df1816a29c
button: Drop relief
...
We are only using this as a boolean, so change it
to a boolean property named has-frame.
2020-04-17 10:57:36 -04:00
Matthias Clasen
fdbbef863d
Drop GtkShadowType
...
We are not using this enum anymore.
2020-04-17 10:57:36 -04:00
Matthias Clasen
47ac0db66c
viewport: Drop shadow-type
...
The viewport draws a frame at the same place as
the scrolled window, so there is really no need
to have that ability in both. Just drop the frame
from viewports.
2020-04-17 10:57:36 -04:00
Matthias Clasen
edae2a8dc5
frame: Drop shadow-type
...
Frames that don't draw frames are not very useful,
so just drop the shadow-type property.
2020-04-17 10:57:36 -04:00
Matthias Clasen
ffbc58d328
treeviewcolumn: Stop using a frame
...
There is no desire to draw a frame here, so don't use a GtkFrame.
2020-04-17 10:57:36 -04:00
Matthias Clasen
285aa226e5
scrolledwindow: Drop shadow-type
...
We were only using this as a boolean, so change it
to a boolean property named has-frame.
2020-04-17 10:57:36 -04:00
Matthias Clasen
f297d0684d
scrolledwindow: Document the .frame style class
2020-04-17 10:57:36 -04:00
Timm Bäder
c7d871570f
Revert "modelbutton: Emit ::clicked() before closing the popover"
...
This reverts commit 57f913b753 .
2020-04-17 16:43:17 +02:00
Matthias Clasen
7caed3a462
Merge branch 'assorted-menu-fixes' into 'master'
...
Assorted menu fixes
See merge request GNOME/gtk!1704
2020-04-17 14:12:20 +00:00
Timm Bäder
f4acde371e
snapshot: Avoid a save/restore pair if we can
2020-04-17 15:21:00 +02:00
Timm Bäder
aad67743b9
label: Ignore setting attrs from NULL to NULL
2020-04-17 15:21:00 +02:00
Timm Bäder
1886648652
text: unconditionally unref attr list
...
pango_attr_list_unref() works on NULL
2020-04-17 15:21:00 +02:00
Timm Bäder
67c2665028
text: Avoid creating a PangoAttrList we don't need
...
It's going to be empty, unless we have preedit_attrs
2020-04-17 15:21:00 +02:00
Timm Bäder
dda7a850da
meson: Use summary()
...
Instead of doing our own. Bumps the dependency to 0.53 though.
2020-04-17 15:21:00 +02:00
Timm Bäder
b8ef164c2b
meson: Trivial formattting
2020-04-17 15:21:00 +02:00
Timm Bäder
5d61abd748
label: Redraw when text attrs are affected by css change
...
GtkWidget doesn't do it automatically and probably shouldn't
2020-04-17 15:21:00 +02:00
Timm Bäder
9f6ec5b7d4
label: Don't create an unnecessary attribute list
2020-04-17 15:21:00 +02:00
Timm Bäder
78e6475f9f
label: Only parse mnemonic attributes if we need to
2020-04-17 15:21:00 +02:00
Timm Bäder
6289f7eecd
label: Ignore AFFECTS_ATTRS css changes if we can
...
It's only interesting if we either already have attributes, or the new
style adds some.
2020-04-17 15:21:00 +02:00
Timm Bäder
9ad0dbb145
label: Inline function into only caller
2020-04-17 15:21:00 +02:00
Timm Bäder
db9fbb3918
label: Remove some unused quarks
2020-04-17 15:21:00 +02:00
Timm Bäder
afaa352142
label: Remove priv pointer
2020-04-17 15:21:00 +02:00
Timm Bäder
3b7cb31157
label: Stop connecting to notify::gtk-enable-accels
...
Leftover from when GtkAccelLabel was a GtkLabel subclass. GtkAccelLabel
connects to this itself these days though.
2020-04-17 15:21:00 +02:00
Timm Bäder
f0b33cdc53
label: Set underline text and markup in one step
...
Try to unify the way we parse the mnemonic character
2020-04-17 15:21:00 +02:00
Timm Bäder
203b0c9c9d
label: Fold set_pattern_internal into only caller
2020-04-17 15:21:00 +02:00
Timm Bäder
1ea24e98c1
adwaita: don't extent %link in linkbuttons
...
We already do that for the label inside the button.
2020-04-17 15:21:00 +02:00
Timm Bäder
36248c609d
label: Remove GtkLabel:track-visited-links
...
Always track visited state of links. This way all visited links in all
labels look the same. Whether the theme wants to style :visited is the
theme's business.
2020-04-17 15:21:00 +02:00
Timm Bäder
f6bedd0d5e
label: Remove a11y-only properties
...
Update them manually instead.
2020-04-17 15:21:00 +02:00
Timm Bäder
8f96b38539
label: Fold function into only caller
...
This makes it more obvious that gtk_label_setup_mnemonic() depends on
the root of the widget and it therefore makes sense to call it in
::root/::unroot.
2020-04-17 15:21:00 +02:00
Timm Bäder
813be8a921
label: Don't normalize booleans in internal setters
...
We almost always pass a literal TRUE/FALSE to them.
2020-04-17 15:21:00 +02:00
Timm Bäder
21ac2330af
stylecontext: Remove get_pango_attributes
...
Make the only caller use GtkCssNode API.
2020-04-17 15:21:00 +02:00
Timm Bäder
584a71ae96
cssstyle: Only create PangoAttrList if there are attribtues
...
Don't allocate a new GString if we never need it and therefore don't
create the PangoAttrList if we have no attributes anyway. Update callers
to handle the possible NULL return value.
2020-04-17 15:21:00 +02:00
Timm Bäder
2e14ea84f3
label: Pull all pango attributes from the theme
...
Dont' force an underline attribute here. Just ask the theme for the
text-decoration.
2020-04-17 15:21:00 +02:00
Timm Bäder
4737495e3c
label: Fix an old TODO comment
2020-04-17 15:21:00 +02:00
Timm Bäder
57f913b753
modelbutton: Emit ::clicked() before closing the popover
...
The clicked handler might still need the popover.
2020-04-17 15:21:00 +02:00
Timm Bäder
4851081a77
label: Remove public pattern API
2020-04-17 15:21:00 +02:00
Timm Bäder
13fde6f4cd
label: Shorten set_markup_internal a bit
2020-04-17 15:21:00 +02:00
Timm Bäder
1db53e6676
label: Avoid duplicating a string
...
We only use str_for_accel if with_uline is TRUE.
2020-04-17 15:21:00 +02:00
Timm Bäder
74b5eaa700
label: Pass <markup> length directly when parsing markup
2020-04-17 15:21:00 +02:00
Timm Bäder
b16157bc0d
label: Remove a double if (needs_root) check
...
The code is clearer and shorter this way.
2020-04-17 15:21:00 +02:00
Timm Bäder
7a98e79d90
label: Use widget API to add style class
2020-04-17 15:21:00 +02:00
Timm Bäder
c588d8f858
label: Clear select info before creating a new one
...
E.g. set_markup_internal will create a new select_info, but then we were
destroying it again, just to recreate it later.
2020-04-17 15:21:00 +02:00
Timm Bäder
23cffdfe42
label: Save a few LOC
2020-04-17 15:21:00 +02:00
Timm Bäder
99998d25f8
label: Save links in an array
...
Stop using GList for this.
2020-04-17 15:21:00 +02:00
Timm Bäder
ca47e96d35
widget: Return an array from list_devices
...
To forther reduce the GList usage in the code base.
2020-04-17 15:21:00 +02:00
Timm Bäder
e583349956
accelgroup: Restructure gtk_accelerator_name
...
To fix invalid reads and make the function a bit shorter while we're at
it.
Fixes #2602
2020-04-17 15:21:00 +02:00
Timm Bäder
7bc4daae2f
main: Stop using GList when propagating events
...
There are still some cases missing.
2020-04-17 15:21:00 +02:00
Matthias Clasen
3469a63453
widget-factory: Use a model for the complex menu
...
We had the model already in the ui file, but weren't
using it.
2020-04-17 09:07:17 -04:00
Matthias Clasen
17cb92889a
modelbutton: Don't show accels without text
...
We don't want to show accelerators in iconic buttons.
2020-04-17 09:04:26 -04:00
Matthias Clasen
4a20a3fdb2
widget-factory: Catch errors
...
This speeds up the debugging when doing quick experimental
changes to widget-factory.ui.
2020-04-17 08:55:56 -04:00
Matthias Clasen
726a7ac705
inspector: Fix a crash
...
Don't crash while picking. The event signal broke
when GdkEvent was turned into a type instance,
since the automatic marshallers don't know how to
deal with that. Manually set the right marshaller.
2020-04-17 08:37:45 -04:00
Matthias Clasen
60329c3cda
Merge branch 'event-types' into 'master'
...
Rework event types
Closes #2585
See merge request GNOME/gtk!1702
2020-04-16 20:36:24 +00:00
Emmanuele Bassi
f28aa1ba02
Restructure the GdkEvent type hierarchy
...
GdkEvent has been a "I-can't-believe-this-is-not-OOP" type for ages,
using a union of sub-types. This has always been problematic when it
comes to implementing accessor functions: either you get generic API
that takes a GdkEvent and uses a massive switch() to determine which
event types have the data you're looking for; or you create namespaced
accessors, but break language bindings horribly, as boxed types cannot
have derived types.
The recent conversion of GskRenderNode (which had similar issues) to
GTypeInstance, and the fact that GdkEvent is now a completely opaque
type, provide us with the chance of moving GdkEvent to GTypeInstance,
and have sub-types for GdkEvent.
The change from boxed type to GTypeInstance is pretty small, all things
considered, but ends up cascading to a larger commit, as we still have
backends and code in GTK trying to access GdkEvent structures directly.
Additionally, the naming of the public getter functions requires
renaming all the data structures to conform to the namespace/type-name
pattern.
2020-04-16 19:54:02 +01:00
Emmanuele Bassi
96cfb12946
Fix annotations for GtkEventController
2020-04-16 19:40:00 +01:00
Emmanuele Bassi
5abb6f2a61
Fix annotation for gtk_show_uri_full()
...
The callback is now an asynchronous closure.
2020-04-16 19:40:00 +01:00
Emmanuele Bassi
0d065bca6d
Fix compiler warning
...
Newer versions of GCC are fairly aggressive with NULL checks.
2020-04-16 19:40:00 +01:00
Matthias Clasen
b3b194532d
Merge branch 'matthiasc/for-master' into 'master'
...
themes: Fix HighContrast dependencies
See merge request GNOME/gtk!1701
2020-04-16 18:05:19 +00:00
Matthias Clasen
1d1e1c5e83
Merge branch 'css-focus-changes' into 'master'
...
Add a focus-within state
See merge request GNOME/gtk!1700
2020-04-16 18:01:29 +00:00
Matthias Clasen
d36e41c6b8
themes: Fix HighContrast dependencies
...
HighContrast themes now depend on sass files from Adwaita.
2020-04-16 12:40:37 -04:00
Matthias Clasen
4516bfbc88
Adwaita: Some adjustments for :focus-within
...
Use :focus-within for focus in entries, since the
actual focus is on the text within, and :focus for
notebooks, since we don't want to draw an outline
around the notebook when the focus is in content.
2020-04-16 12:31:17 -04:00
Matthias Clasen
5095e87bb7
testsuite: Add some checks for focus states
...
This is some opportunistic checking in a test that
is really about focus chains, but better than nothing.
2020-04-16 12:31:17 -04:00
Matthias Clasen
54b99d281b
Add a focus-within state
...
This is used for widgets that contain the focus widget,
reserving the focused state for the focus location itself.
This aligns our focus state handling with
https://www.w3.org/TR/selectors-4/
2020-04-16 12:31:01 -04:00
Matthias Clasen
3cb023d0df
Merge branch 'monitor-signals-x11' into 'master'
...
x11: emit ::enter/leave-monitor
See merge request GNOME/gtk!1699
2020-04-16 15:43:47 +00:00
Olivier Fourdan
86f295f929
x11: emit ::enter/leave-monitor
...
For the X11 backend, keep a list of monitors for which the surface
intersects the monitor area.
Whenever the X11 surface is configured, check against the list of
monitors to determine whether it enters a new monitor or if it left a
monitor, to emit the corresponding ::enter/leave-monitor signals just
like a Wayland compositor would.
As monitors can be added, removed or reconfigured at any time, redo
those checks whenever any of these events occur.
2020-04-16 16:23:57 +02:00
Matthias Clasen
e83d87c20a
Add :focus-visible to css docs
2020-04-15 23:14:34 -04:00
Matthias Clasen
03080f29b9
css: use :focus-visible instead of :focus(visible)
...
This is aligning our language with
https://www.w3.org/TR/selectors-4/
2020-04-15 23:09:36 -04:00
Matthias Clasen
3d988d5fe9
Merge branch 'matthiasc/for-master' into 'master'
...
window: Don't set is-active twice
See merge request GNOME/gtk!1698
2020-04-15 22:26:25 +00:00
Matthias Clasen
dbd578eaef
window: Don't set is-active twice
...
We are listening to focus change events for this
no need to duplicate the work in ::state-changed.
2020-04-15 17:08:15 -04:00
Nelson Benítez León
45d7051dff
GtkFilechooserWidget: prevent oblivious selection of file
...
which could happen after confirming the "file overwrite"
dialog and may result in a different file being overwritten
causing data loss.
The oblivious file selection can be done by a mouse
click or keyboard press sent inadvertently just after
confirming the "file overwrite" dialog (and before the
enclosing GtkfilechooserDialog is closed).
Fixed by adding a flag to ignore any button/key press
events sent to the file list. We set this flag just
after the user accepts the "file overwrite" dialog (which
means the enclosing GtkfilechooserDialog is about to
get closed). And we restablish the flag when the dialog
is shown again (in its map() handler).
Fixes data loss issue #2288
2020-04-15 16:46:43 -04:00
Matthias Clasen
ec848dc83f
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
Closes #2612
See merge request GNOME/gtk!1695
2020-04-15 19:28:32 +00:00
Matthias Clasen
d7bdfae8bb
Updates to NEWS
2020-04-15 15:22:53 -04:00
Matthias Clasen
8e9406a082
Move key event rewriting
...
Stop rewriting key and focus events on the GDK side.
Instead deliver them as they are, and propagate them
from the root on the gtk side, in gtkmain.c. And
stop complaining about focus events on popups - we
can just ignore them if we have no use for them.
2020-04-15 14:56:32 -04:00
Matthias Clasen
031b248c20
window: Fix setting :is-active
...
We want to listen to focus events from the windowing
system here, relying on crossing events for this doesn't
work.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2612
2020-04-15 14:43:00 -04:00
Matthias Clasen
a2a194f71e
eventcontroller: Fix signal marshallers
...
GdkEvent is no longer a GObject. Any signals taking
events as arguments need to have their marshallers
fixed. Thankfully, we have few of these left.
2020-04-15 14:36:04 -04:00
Jakub Steiner
bb8c2016a8
Merge branch 'wip/jimmac/drop-text-shadow' into 'master'
...
Adwaita: drop text shadows for buttons
Closes #2280
See merge request GNOME/gtk!1693
2020-04-15 17:21:32 +00:00
Jakub Steiner
b6353a6369
Adwaita: drop text shadows for buttons
...
- People seem to misunderstand the unsharp-mask-like increase
of visual contrast for "fuziness". That is not the reason for
the change. The stylistic change of just going with flat
text label allows to simplify the code and drop complexity.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2280
2020-04-15 18:27:49 +02:00
Matthias Clasen
6882121341
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1694
2020-04-15 16:23:14 +00:00
Jakub Steiner
97ceb03008
Merge branch 'wip/jimmac/checkradio-focus' into 'master'
...
Adwaita: check & radio focus ring
See merge request GNOME/gtk!1690
2020-04-15 15:47:14 +00:00
Jakub Steiner
a5234f2d09
Merge branch 'wip/jimmac/active-state-for-checkradios' into 'master'
...
Adwaita: fix active state for radios & checkboxes
Closes #2493
See merge request GNOME/gtk!1689
2020-04-15 15:47:09 +00:00
Jakub Steiner
faaf80dd46
Merge branch 'wip/jimmac/levelbar-punch' into 'master'
...
Adwaita: no edge highlight
Closes #2494
See merge request GNOME/gtk!1691
2020-04-15 15:45:05 +00:00
Matthias Clasen
b072ad9993
widget-factory: Add menu style class in popovers
...
We have a hand-rolled popover menu on page 3 that looks
really bad right now. Adding the menu style class makes
it all better.
2020-04-15 11:36:09 -04:00
Jakub Steiner
90fb58e923
Merge branch 'wip/jimmac/treeview-borders' into 'master'
...
Adwaita: slightly increase contrast for treeview borders
Closes #2238
See merge request GNOME/gtk!1692
2020-04-15 15:35:32 +00:00
Jakub Steiner
e6fcac29b5
Adwaita: slightly increase contrast for treeview borders
...
- sligtly increase contrast for the treeview borders
- FIXME: High Contrast seems to drop the borders completely,
there might be some trickery for using border-left-color and
border-top-color this way as even forcing the color 'red' seems
to render invisible on HC.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2238
2020-04-15 14:55:33 +02:00
Matthias Clasen
71f8649f7f
docs: Small revision of input handling overview
...
Remove a vestigial touch events section.
2020-04-15 08:08:12 -04:00
Jakub Steiner
3f9ee61a36
Adwaita: no edge highlight
...
- Levelbars and progressbars are indicators, not controls. They don't
need no affordance signifier. Make it flat!
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2494
2020-04-15 13:56:12 +02:00
Jakub Steiner
097b585bbc
Adwaita: check & radio focus ring
...
- this slipped through Frederik's patch
2020-04-15 13:45:59 +02:00
Jakub Steiner
ed2a4e2d93
Adwaita: fix active state for radios & checkboxes
...
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2493
2020-04-15 13:34:41 +02:00
Matthias Clasen
fb2502fa5f
Merge branch 'emoji-keynav' into 'master'
...
Emoji keynav
See merge request GNOME/gtk!1687
2020-04-15 05:34:03 +00:00
Matthias Clasen
c4e66ec485
Merge branch 'arnaudb/fix-typo' into 'master'
...
Fix typo in IconTheme.
See merge request GNOME/gtk!1686
2020-04-14 19:27:34 +00:00
Matthias Clasen
4e6b62e564
emojichooser: link sections for keynav
...
Make Up/Down jump between sections in the Emoji grid.
2020-04-14 15:07:58 -04:00
Matthias Clasen
8f75df1cb3
flowbox: Add a private api to disable move-cursor
...
Without this, it seems impossible to make cross-section
keynav in the Emoji chooser work. I've tried, but got
lost between the focus, grab_focus, move_cursor and
keynav-failed vfuncs and signals, and their competing
implementations GtkFlowBox and GtkEmojiChooser.
2020-04-14 15:07:47 -04:00
Matthias Clasen
037b0259d8
flowbox: Remove can-focus handling
...
With the new meaning of can-focus, this doesn't make
sense anymore.
2020-04-14 15:07:10 -04:00
Arnaud Bonatti
8c769ea3f3
Fix typo in IconTheme.
...
The add_search_path() method was
using the resource_path property
in place of the search_path one.
2020-04-14 20:43:06 +02:00
Matthias Clasen
7179e8d5f3
emojichooser: Improve keynav, again
...
When the focus is moved to one of the Emoji children,
scroll it into view.
2020-04-14 13:25:20 -04:00
Matthias Clasen
325a485315
emojichooser: Improve keynav
...
Add an action to scroll to the next or previous section,
and bind it to Ctrl-n/Ctrl-p.
2020-04-14 13:25:20 -04:00
Emin Tufan Çetin
54300e1cc3
Update Turkish translation
2020-04-14 16:09:12 +00:00
Sabri Ünal
db2e07758f
Update Turkish translation
2020-04-14 16:01:18 +00:00
Matthias Clasen
eb5b3083ff
Merge branch 'matthiasc/for-master' into 'master'
...
Matthiasc/for master
See merge request GNOME/gtk!1685
2020-04-14 14:07:54 +00:00
Matthias Clasen
cd42227c29
Merge branch 'library-versioning' into 'master'
...
build: Prepare library versioning
See merge request GNOME/gtk!1684
2020-04-14 14:00:42 +00:00
Matthias Clasen
6870159c1d
build: Prepare library versioning
...
Set version and soversion separately for the library.
When we do the 4.0 release, we will set:
gtk_soversion = '1'
gtk_library_version = '1.0.0'
See https://gitlab.gnome.org/GNOME/gtk/-/issues/1963
2020-04-14 09:15:31 -04:00
Matthias Clasen
a072e16297
appchooserwidget: Drop the Private struct
2020-04-13 20:04:32 -04:00
Matthias Clasen
78ac2f2d5b
lockbutton: Drop the Private struct
2020-04-13 20:04:32 -04:00
Matthias Clasen
9f5955e1b1
expander: Drop the Private struct
2020-04-13 20:04:32 -04:00
Matthias Clasen
fa759272b0
colorswatch: Drop the Private struct
2020-04-13 20:04:32 -04:00
Matthias Clasen
d802b35578
Merge branch 'wip/matthiasc/monitor-signals' into 'master'
...
Add enter/leave signals for monitors
See merge request GNOME/gtk!1680
2020-04-13 23:25:55 +00:00
Matthias Clasen
fdf812b7d7
Merge branch 'use-gtk-doc-for-gtk4' into 'master'
...
Use gtk-doc from the gtk-doc-for-gtk4 branch
See merge request GNOME/gtk!1683
2020-04-13 23:21:57 +00:00
Matthias Clasen
1205f74106
Always use gtk-doc as a subproject for now
...
We need the support for actions syntax, among
other things.
2020-04-13 16:40:57 -04:00
Matthias Clasen
906c3c570a
Switch the gtk-doc subproject to the gtk-doc-for-gtk4 branch
...
This branch contains assorted fixes and enhancements that
are needed to build the gtk4 docs.
2020-04-13 16:40:11 -04:00
Mathieu H
57a56538eb
Remove the blacklist list in convert-emoji.c since now it is supported
2020-04-13 16:29:02 -04:00
Aurimas Černius
6fbc9e8c3e
Updated Lithuanian translation
2020-04-13 22:43:30 +03:00
Matthias Clasen
d27adb10a0
surface: Document coordinate systems a bit
...
Mention that sizes are in application pixels.
Also, remove some X11-specific docs.
2020-04-13 09:29:11 -04:00
Matthias Clasen
f97180beee
inspector: Show scales other than 2
...
We were hardcoding that monitor scales can only be
1 or 2. Not true.
2020-04-13 09:17:46 -04:00
Matthias Clasen
209398d736
wayland: emit ::enter/leave-monitor
...
These signals directly mirror the surface_enter/leave events
of the Wayland protocol, so this is very staightforward.
2020-04-13 07:54:31 -04:00
Matthias Clasen
3ee18b88b9
gdk: Add ::enter/leave-monitor signals
...
These are useful to keep track of what monitors a window is on.
2020-04-13 07:54:31 -04:00
Matthias Clasen
64b0c63190
Merge branch 'modal-buttons' into 'master'
...
Modal buttons
See merge request GNOME/gtk!1679
2020-04-13 11:15:14 +00:00
Matthias Clasen
8ff540eb4c
appchooserbutton: Drop the Private struct
2020-04-13 01:08:52 -04:00
Matthias Clasen
9194b7388f
Add a GtkAppChooserButton:modal property
...
Nowadays, dialogs are expected to be attached, typically,
and that only happens when they are marked as modal.
2020-04-13 00:43:19 -04:00
Matthias Clasen
6831d3e28e
fontbutton: Drop the Private struct
2020-04-13 00:32:50 -04:00
Matthias Clasen
800f1c03d5
Add a GtkFontButton:modal property
...
Nowadays, dialogs are expected to be attached, typically,
and that only happens when they are marked as modal.
2020-04-13 00:28:34 -04:00
Matthias Clasen
7a0355fcb1
colorbutton: Drop the Private struct
2020-04-13 00:28:11 -04:00
Matthias Clasen
15d58a868a
Add a GtkColorButton:modal property
...
Nowadays, dialogs are expected to be attached, typically,
and that only happens when they are marked as modal.
2020-04-13 00:17:00 -04:00
Matthias Clasen
61f21fc9e9
filechooserbutton: Make dialog modal by default
...
This is the expected behavior, so default to it.
2020-04-13 00:12:30 -04:00
Matthias Clasen
9e068d3a46
filechooserbutton: Drop the Private struct
2020-04-12 23:57:49 -04:00
Matthias Clasen
2aa136a19c
Add a GtkFileChooserButton:modal property
...
Nowadays, dialogs are expected to be attached, typically,
and that only happens when they are marked as modal.
2020-04-12 23:45:03 -04:00
Matthias Clasen
1dfd514f7f
Merge branch 'matthiasc/for-master' into 'master'
...
Adwaita: visible focus outline for color swatches
See merge request GNOME/gtk!1678
2020-04-13 03:42:26 +00:00
Matthias Clasen
08fbd012ec
window: Make resize cursors work for modal dialogs
...
We were inadvertedly not letting the grab_widget determine
a cursor. This was showing up as resize cursors not appearing.
2020-04-12 22:18:50 -04:00
Matthias Clasen
638508fa20
gtk-demo: Group the OpenGL demos
2020-04-12 21:58:07 -04:00
Matthias Clasen
ce6c7bae51
gtk-demo: Add a gears demo
2020-04-12 20:52:15 -04:00
Matthias Clasen
19f7b7ed40
Adwaita: visible focus outline for color swatches
...
Make the focus outline for color swatches visible
again.
2020-04-12 20:13:50 -04:00
Matthias Clasen
e3dba28666
Merge branch 'arnaudb/better-substitution' into 'master'
...
Fix some gtk-builder-tool substitutions.
See merge request GNOME/gtk!1675
2020-04-12 22:53:54 +00:00
Matthias Clasen
88aa548965
Merge branch 'matthiasc/for-master' into 'master'
...
text: Fix placing the cursor on click
See merge request GNOME/gtk!1673
2020-04-12 22:07:20 +00:00
Matthias Clasen
17a9b13af2
text: Be more careful with cached layouts
...
If we call any functions that may call ensure_layout
themeselves, we risk having the cached layout pulled
out from underneath. Better play it safe and take a
reference.
2020-04-12 17:32:57 -04:00
Matthias Clasen
1efa781a19
window: Cosmetic cleanup
...
Use a convenience function to get the current event time.
2020-04-12 17:32:13 -04:00
Matthias Clasen
0a19d7ef08
textview: Fix an erroneous unref
...
This was left behind by accident in 0ee58e9ef4 .
2020-04-12 17:32:13 -04:00
Arnaud Bonatti
926fb208ba
Coding style improvements.
2020-04-12 21:21:24 +02:00
Arnaud Bonatti
e76dee07c5
Fix tests for margin-left and margin-right.
2020-04-12 19:28:33 +02:00
Arnaud Bonatti
11a43cf554
Replace also margin-left and margin-right.
2020-04-12 19:28:29 +02:00
Arnaud Bonatti
a7218da202
Fix tests for hexpand and vexpand.
2020-04-12 19:28:29 +02:00
Arnaud Bonatti
ed362fcc5b
Fix --3to4 tests for margin substitution.
2020-04-12 19:28:29 +02:00
Arnaud Bonatti
17ec74da35
Fix a gtk-builder-tool substitution.
...
The margin-left and margin-right properties have been
removed in favor of margin-start and margin-end ones.
2020-04-12 19:28:29 +02:00
Matthias Clasen
754d6d1a04
wayland: Avoid criticals when unsetting transient parents
...
Must not check the display when parent is NULL.
2020-04-12 12:10:18 -04:00
Matthias Clasen
ff53d5ba11
stylecontext: Respect cursor aspect ratio everywhere
...
We were using the new cursor aspect ratio setting in
the snapshotting code, but not in gtk_render_insertion_cursor.
Make them both behave the same.
2020-04-12 11:44:13 -04:00
Matthias Clasen
7233a70d47
reftest: get backtraces
...
In the hope of making ci-only failures less of a black hole,
add a backtrace to the messsage for criticals.
This could eventually go into GLib (pass backtrace symbols along
as a log field for criticals), but for now this will do.
2020-04-12 11:44:13 -04:00
Emmanuele Bassi
12990b3520
Merge branch 'ci-error-report' into 'master'
...
ci: Count 'ERROR' codes as failures
See merge request GNOME/gtk!1674
2020-04-12 13:58:55 +00:00
Emmanuele Bassi
95d807ab61
ci: Count 'ERROR' codes as failures
...
Otherwise they'll be dropped from our reports.
2020-04-12 14:28:59 +01:00
Matthias Clasen
8a1a96a47e
text: Fix placing the cursor on click
...
Commit c297d45b8a accidentally removed the
check for the right modifier mask, causing us to
always extend the selection.
2020-04-12 09:19:12 -04:00
sicklylife
c31916081f
Update Japanese translation
2020-04-12 08:53:45 +00:00
Piotr Drąg
0a1e19f4e3
Update POTFILES.in
2020-04-12 10:45:54 +02:00
Matthias Clasen
7d3f3b7ab8
Merge branch 'show-uri-async' into 'master'
...
Redo gtk_show_uri_on_window
See merge request GNOME/gtk!1671
2020-04-12 02:27:38 +00:00
Matthias Clasen
432b741ab7
gtk: Port all users to the new gtk_show_uri()
...
We were only handling the error in one place anyway.
2020-04-11 22:10:08 -04:00
Matthias Clasen
703f18ce66
Redo gtk_show_uri_on_window
...
Make this a full async function, and add a simple wrapper.
Call gtk_show_uri_full() if you need control over the
results, and use gtk_show_uri() if you are fine with
ignoring any errors.
2020-04-11 21:56:32 -04:00
Matthias Clasen
4da82bde7b
Merge branch 'current-event-apis' into 'master'
...
Current event apis
See merge request GNOME/gtk!1668
2020-04-12 00:24:14 +00:00
Matthias Clasen
feee281cf8
Drop gtk_get_current_ apis
...
We have event controller apis to replace these.
There is one remaining use of gtk_get_current_event_time
in gtkwindow.c, so we can't drop the implementation yet.
Add a section in the migration guide for this.
2020-04-11 17:29:27 -04:00
Matthias Clasen
443fd4d63d
tests: Stop using gtk_get_current_ apis
...
Replace these by equivalent event controller
apis where needed.
2020-04-11 17:29:27 -04:00
Matthias Clasen
4b346538e2
gtk: Port widgets away from gtk_get_current_ apis
...
This commit handles complicated cases where we selections.
We handle this by adding extend and modify parameters to
the ::move-cursor signals, and adjust the bindings
accordingly.
2020-04-11 17:29:27 -04:00
Matthias Clasen
0ee58e9ef4
gtk: Port widgets away from gtk_get_current_ apis
...
Use the event controller equivalents where needed.
This commit covers the simple cases.
2020-04-11 17:29:27 -04:00
Matthias Clasen
bd56bc9055
Add gtk_event_controller_get_current_event[_state]
...
For now these are private, to replace internal uses
of gtk_get_current_event[_state], but we may want to
make them public.
2020-04-11 17:29:27 -04:00
Matthias Clasen
3e7e862415
gtk: Just use current time for showing urls
...
We don't really have an event anywhere close in most
cases, and we already pass GDK_CURRENT_TIME in half
the cases anyway.
If we want to be serious about this, we need to pass
the event itself, since future focus-stealing protocols
may not rely on just a timestamp.
2020-04-11 17:29:27 -04:00
Matthias Clasen
4eeb413047
entrycompletion: Remove an unused field
...
No point in storing a device that is never used.
2020-04-11 17:29:27 -04:00
Matthias Clasen
661f3466c2
Merge branch 'matthiasc/for-master' into 'master'
...
broadway: Fix the build
See merge request GNOME/gtk!1670
2020-04-11 21:16:11 +00:00
Matthias Clasen
e735554ced
broadway: Fix the build
...
We need to depend on gdkenum_h, since we are (indirectly)
including gdkenumtypes.h in the broadway server build.
2020-04-11 16:24:05 -04:00
Matthias Clasen
520ea7c39d
Merge branch 'jjardon/more_licenses' into 'master'
...
gtk/gtkaboutdialog: Add some more very common licenses:
See merge request GNOME/gtk!1667
2020-04-11 16:47:32 +00:00
Javier Jardón
ffa345e4ab
gtk/gtkaboutdialog: Add some more very common licenses:
...
- BSD 3-Clause "New" or "Revised" license
- Apache License 2.0
- Mozilla Public License 2.0
2020-04-11 16:49:09 +01:00
Emmanuele Bassi
e072d9b28b
Merge branch 'gsk-public-symbols' into 'master'
...
Install all headers with public symbols
Closes #2607
See merge request GNOME/gtk!1666
2020-04-11 15:21:11 +00:00
Matthias Clasen
9f5b04e65c
Merge branch 'action-docs' into 'master'
...
Action docs
See merge request GNOME/gtk!1665
2020-04-11 15:12:22 +00:00
Emmanuele Bassi
d08310096c
Conditionally include the GSK broadway and vulkan symbols
...
In case GTK is built without these features.
2020-04-11 15:42:51 +01:00
Emmanuele Bassi
20d0d6fae2
Revert "Do not install GSK headers for missing backends"
...
This reverts commit cd5cded430 .
The headers are public, but the symbols availability is conditional on
the GTK build.
2020-04-11 15:41:47 +01:00
Matthias Clasen
6b9ac1043b
Document actions
2020-04-11 10:07:31 -04:00
Matthias Clasen
c5b4066714
gdk: Small documentation fixes
2020-04-11 10:07:31 -04:00
Matthias Clasen
b09b2dd2cd
testsuite: Make actions test order-independent
...
We only want to check that the actions are what we
expect, not that they are registered in a particular
order.
2020-04-11 10:07:31 -04:00
Matthias Clasen
72a0828101
Merge branch 'respect-window-cursors' into 'master'
...
window: Respect widget cursors
See merge request GNOME/gtk!1663
2020-04-10 18:56:44 +00:00
Matthias Clasen
7379c34a39
window: Respect widget cursors
...
gtk_widget_set_cursor can be used on a GtkWindow; we
should not blow away the result when temporarily installing
resize cursors.
2020-04-10 14:36:55 -04:00
Matthias Clasen
6cd1b9955b
Merge branch 'remove-style-reset' into 'master'
...
Remove gtk_style_context_reset_widgets
See merge request GNOME/gtk!1662
2020-04-10 17:36:03 +00:00
Matthias Clasen
a6a31827bc
Remove gtk_style_context_reset_widgets
...
This should never be necessary to call from the outside.
Whenever we fail to update styles properly, it is a bug.
2020-04-10 12:45:28 -04:00
Matthias Clasen
84939a612c
Merge branch 'reduce-style-context-use' into 'master'
...
Use gtk_widget_add/remove_css_class more
See merge request GNOME/gtk!1661
2020-04-10 16:43:05 +00:00
Matthias Clasen
394ea32e93
Use gtk_widget_add/remove_css_class more
...
Replace most uses of gtk_style_context_add/remove_class
by the new APIs. The only remaining uses of the old API
are in save/restore situations.
2020-04-10 12:09:57 -04:00
Matthias Clasen
2bd36d490b
Merge branch 'fix-accel-length' into 'master'
...
accelgroup: Fix an invalid write
Closes #2602
See merge request GNOME/gtk!1660
2020-04-10 13:27:07 +00:00
Matthias Clasen
ad1bc75dd2
accelgroup: Fix an invalid write
...
This was lost by accident in d110fddbce .
Fixes : #2602
2020-04-10 08:24:03 -04:00
Piotr Drąg
7505c1fd7c
Update POTFILES.in and POTFILES.skip
2020-04-10 13:56:58 +02:00
Matthias Clasen
8780906b93
Merge branch 'fix-radiobuttons' into 'master'
...
radiobutton: Fix selection on focus-in
Closes #2326
See merge request GNOME/gtk!1658
2020-04-10 04:17:37 +00:00
Matthias Clasen
0ed2e970be
Merge branch 'popover-initial-focus' into 'master'
...
Popover initial focus
See merge request GNOME/gtk!1657
2020-04-10 04:17:15 +00:00
Matthias Clasen
58253d567f
radiobutton: Fix selection on focus-in
...
We need to unselect the previously selected button
to preserve radioness.
Fixes : #2326
2020-04-09 22:38:30 -04:00
Matthias Clasen
c09c61769c
modelbutton: Catch focus-in more carefully
...
We need to unset the propagation limit on the focus
controller, else we miss the focus-in when the focus
enters the popover upon initial popup, when it comes
from the parent button.
2020-04-09 22:22:28 -04:00
Matthias Clasen
9b5dc35650
popovermenu: Remove debug spew
2020-04-09 21:41:02 -04:00
Matthias Clasen
3c9ada14fe
Merge branch 'label-double-focus' into 'master'
...
Avoid double focus in labels
Closes #135
See merge request GNOME/gtk!1656
2020-04-10 01:34:49 +00:00
Matthias Clasen
6b4d6c3771
Merge branch 'scale-button-double-focus' into 'master'
...
scalebutton: Don't derive from GtkButton
See merge request GNOME/gtk!1655
2020-04-10 01:21:25 +00:00
Matthias Clasen
b15f16e8db
Adwaita: Don't render focus around labels with links
...
This avoids the 'double outline' problem for labels
with links.
Fixes : #135
2020-04-09 21:19:36 -04:00
Matthias Clasen
e3b9dfef1c
label: Improve link styling
...
Add a .link style class on labels that contain links,
so we can avoid the focus outline around the label
when individual links are focused, and use the link
node when rendering the focus on links.
2020-04-09 21:19:22 -04:00
Matthias Clasen
822c2aba36
scalebutton: Don't derive from GtkButton
...
Make GtkScaleButton a widget that has a toggle button
as a child, just like all the other button widgets now.
The immediate benefit of this arrangement is to avoid
the "double focus" problem when we pop up the popup.
Update accessible, demos and tests to match.
2020-04-09 20:43:45 -04:00
Matthias Clasen
a11f9fea76
Merge branch 'wip/matthiasc/can-focus' into 'master'
...
Implement new focus behavior
See merge request GNOME/gtk!1652
2020-04-10 00:26:53 +00:00
Matthias Clasen
f16c829190
Mention focus changes in the migration guide
2020-04-09 18:26:31 -04:00
Matthias Clasen
16c820c2f0
Small documentation tweaks
...
Update the docs for GtkWidget:can-focus and :focus-on-click.
2020-04-09 18:26:31 -04:00
Matthias Clasen
72ae6daa1e
Move focus to the parent if a popover is dismissed
...
This is better than just dropping focus altogether,
and is expected behavior in most cases.
2020-04-09 18:26:31 -04:00
Matthias Clasen
35ba24d2e8
Update a11y test results
2020-04-09 18:26:10 -04:00
Matthias Clasen
508cb6160c
a11y: Fix focusable state
...
The :can-focus property is no longer very useful to
give an indication of what is focusable, since it is
TRUE for almost all widgets now. Patch things up
to by looking at known widget types.
2020-04-09 18:14:15 -04:00
Matthias Clasen
b9a76ddd75
Fix the tools tests to not set can-focus
2020-04-09 17:50:29 -04:00
Matthias Clasen
038190c5a8
Disable focus-chain test that depends on the environment
...
The color editor shows a color picker button only if it
finds a suitable implementation, which it does not in ci.
So disable the focus-chain test for page 3.
2020-04-09 17:50:29 -04:00
Matthias Clasen
2ae08e632c
color editor: Make the sample non-focusable again
...
This is one of the situations, where can-focus can still
be used to tweak focus behavior of leaf widgets. Color
swatches are focusable by default to allow selecting colors
with the keyboard. But when used as color samples, they
should not take focus.
2020-04-09 17:50:29 -04:00
Matthias Clasen
99eed078bd
Remove focusable-container tests
...
Like the previous commit, these tests were relying
on setting :can-focus to make an unsuspecting container
focusable, which does not work anymore.
2020-04-09 17:50:29 -04:00
Matthias Clasen
6720552afd
Remove the focus test
...
This test was expecting to make existing widgets like
GtkBox focusable by setting :can-focus. That just doesn't
work anymore.
The focus chain testing that is done here is already
better covered by test-focus-chain, so lets just remove this.
2020-04-09 17:50:29 -04:00
Matthias Clasen
6f01508aa8
Fix up focus chain result
...
The notebook grab_focus change in the previous commit made
backwards tabbing work as expected, and thereby changed the
output of one of the focus-chain tests.
2020-04-09 17:50:29 -04:00
Matthias Clasen
632524f679
Reinstate expected focus behavior
...
After the :can-focus change in the previous commit, widgets
need to set suitable focus and grab_focus implementations
to implement the desired focus behavior.
This commit does that for all widgets.
2020-04-09 17:50:29 -04:00
Matthias Clasen
22e1827f84
Change the default value of GtkWidget:can-focus
...
Make widgets can-focus by default, and change the semantics
of can-focus to be recursive . If it is set to FALSE, focus
can not enter the widget or its descendents at all anymore.
This commit temporarily breaks focus behavior of widgets
that did not expect to receive focus.
2020-04-09 17:50:29 -04:00
Matthias Clasen
3c39613d9c
widget: Add common focus vfunc implementations
...
Privately export a number of implementations for the focus
and grab_focus vfuncs that cover many common cases.
2020-04-09 17:50:29 -04:00
Matthias Clasen
46ff9f891a
gizmo: Allow passing changing focus behavior
...
We need this in popovers. Maybe it could be done better
by defining one-off custom widgets.
2020-04-09 17:50:29 -04:00
Matthias Clasen
97ff1b83dc
widget: Make the :has-focus property readonly
...
The only place where this should be set is when making
a widget the focus-widget of a window. We still keep
the property around in readonly form, since there are
a few places where we rely on property notification
for it.
2020-04-09 17:50:29 -04:00
Matthias Clasen
9416856420
testsuite: Stop setting :has-focus
...
This is not necessary, whenever we want to set the initial
focus in a ui file, we can set GtkWindow:focus-widget.
2020-04-09 17:50:29 -04:00
Matthias Clasen
c1459cc45b
widget: Drop the :is-focus property
...
This property doesn't carry any new information compared
to GtkWindow:focus-widget. We still keep the gtk_widget_is_focus
getter, as a convenient shortcut.
2020-04-09 17:50:29 -04:00
Matthias Clasen
4fe8c037c7
reftests: Stop using can-focus
2020-04-09 17:50:29 -04:00
Matthias Clasen
b1afe5ff23
a11y tests: Stop using can-focus
2020-04-09 17:50:29 -04:00
Matthias Clasen
bbd4fb8798
testsuite: Stop using can-focus
2020-04-09 17:50:29 -04:00
Matthias Clasen
b3b29e37fd
inspector: Drop more uses of can-focus
2020-04-09 17:50:29 -04:00
Matthias Clasen
f996ba6585
inspector: Remove can-focus from ui files
2020-04-09 17:50:29 -04:00
Matthias Clasen
7ca36cd2d4
Stop setting can-focus in ui files
...
None of these settings are necessary.
2020-04-09 17:50:29 -04:00
Matthias Clasen
2a18f2150d
window: Make set_focus equal to grab_focus
...
Make gtk_window_set_focus call gtk_widget_grab_focus internally.
This means that set_focus can now end up putting the focus on
a child of the passed-in widget, and makes the focus-widget
property work for setting initial focus to (the child of) an
entry in a ui file.
2020-04-09 17:50:28 -04:00
Matthias Clasen
a65fd81106
root: Reorganize focus handling
...
Make :focus-widget a GtkWindow property and add vfuncs
to the GtkRoot interface instead of the property.
2020-04-09 17:50:28 -04:00
Matthias Clasen
ff8217db40
Add more focus chain tests
...
Test page 2 and 3 of widget-factory as well, and try other directions.
2020-04-09 17:50:28 -04:00
Matthias Clasen
a3861bf9a0
Fix running focus-chain tests in ci
...
The widget-factory ui files require geettings
(for the color chooser), so set GSETTINGS_SCHEMA_DIR.
2020-04-09 17:50:28 -04:00
Matthias Clasen
b86c1446a4
notbook: Fix a bug in focus handling
...
After the header widget was introduced, focus would get
stuck in a loop between actions and tabs.
This could be seen in the notebook on page 3 of
widget-factory.
2020-04-09 17:50:28 -04:00
Matthias Clasen
9ce58bdb0c
coloreditor: Draw a focus around the color plane
...
Not doing it was just an oversight.
2020-04-09 14:11:18 -04:00
Matthias Clasen
9f252f0ceb
colorplane: Set a css name
...
Every widget should have one.
2020-04-09 14:10:23 -04:00
Matthias Clasen
7008a531bb
Merge branch 'wip/xdg-popup-move' into 'master'
...
Wayland popup moving
See merge request GNOME/gtk!1017
2020-04-08 23:59:02 +00:00
Jonas Ådahl
458b8a6554
wayland: Move transient-for field to GdkWaylandToplevel
...
A toplevel will only ever be transient-for to another toplevel, and only
a toplevel will ever be transient-for, so move the field into the
GdkWaylandToplevel, and make it a pointer to another GdkWaylandToplevel.
2020-04-08 23:32:47 +02:00
Jonas Ådahl
307cc69adb
wayland: Add surface to toplevel list only if toplevel
...
It was using another check (has parent) to do this, but now we have a
much more obvious way of creating surfaces, so we can use the type
directly.
2020-04-08 23:32:47 +02:00
Jonas Ådahl
ab6b5ae568
wayland: Remove own pointer to the popup parent
...
It's there already as the GdkSurface::parent, no need to duplicate.
2020-04-08 23:32:47 +02:00
Jonas Ådahl
0e601c0a70
wayland: Move toplevel/popup/drag surface definitions higher up
...
We them up there, so that code higher up compared to where they are
defined now can make use of them. Also add a few macros for type
checking and casting.
2020-04-08 23:32:47 +02:00
Jonas Ådahl
5425edff82
wayland: Move popups with xdg_popup.reposition
...
The third version of xdg-shell introduces support for explicit popup
repositioning. If available, make use of this to implement popup
repositioning.
Note that this does *NOT* include atomic parent-child state
synchronization. For that,
https://gitlab.freedesktop.org/wayland/wayland-protocols/issues/13 will
be needed.
This currently uses my own fork of wayland-protocols which adds meson
support, so that we can use it as a subproject. Eventually when
wayland-protocols' meson support lands upstream, we should change it to
point there.
Silence some meson warnings while at it to make CI happy.
This also bumps the glib requirement, since g_warning_once() is used.
2020-04-08 23:32:47 +02:00
Jonas Ådahl
213c471bb7
build: Change wrap revisions to use master instead of origin/master
...
Using origin/master crashes meson.
2020-04-08 23:32:47 +02:00
Jakub Steiner
9ae0fe7f3a
Merge branch 'Gtk4_blue_focus_rings' into 'master'
...
Blue outlines / focus rings
See merge request GNOME/gtk!1629
2020-04-08 21:12:57 +00:00
Frederik F
abe6876f7c
Blue outlines / focus rings
...
- introduce two new colors: $focus_border_color for focused / outlined elements and $_coloured_focus_border_color for focused / outlined elements with a colored background color, like suggested/destructive buttons or selected elements
- set outline / focus color, offset and style accordingly for all widgets
- adapt entry focus color
2020-04-08 21:12:57 +00:00
Matthias Clasen
53d74fd2dc
Merge branch 'render-node-types' into 'master'
...
Turn GskRenderNode into a fundamental type
See merge request GNOME/gtk!1649
2020-04-08 20:55:14 +00:00
Emmanuele Bassi
3f0a830f3c
Properly annotate the render node constructors
...
Now that the GskRenderNode subclasses are recognised as proper
sub-types, we can annotate the constructors with their type. The C API
remains the same.
2020-04-08 16:17:08 +01:00
Emmanuele Bassi
e0323fcdc2
Add get_type() functions for GskRenderNode subclasses
...
The introspection scanner tries to match a type name with a get_type()
function, in order to correctly identify a type as a class.
If the function is not available, we have two choices:
- add some special case inside the introspection scanner, similar to
how GParamSpec subclasses are handled in GObject
- add a simple get_type() function
The latter is the simplest approach, and we don't need to change that
much, since we still register all render nodes at once.
2020-04-08 16:07:04 +01:00
Emmanuele Bassi
cd5cded430
Do not install GSK headers for missing backends
...
Broadway and Vulkan renderers are optional; if GTK hasn't been built
with their GSK renderers, we should not install their headers.
2020-04-08 15:41:21 +01:00
Emmanuele Bassi
54e4e6cd23
Improve the gtktypefuncs.inc generator
...
Remove the plug/socket exception, and add exceptions for non-X11
windowing systems.
Additionally, speed up the file generation by avoiding string
concatenation in Python.
2020-04-08 15:41:19 +01:00
Emmanuele Bassi
59852d3425
Add missing transfer annotation
2020-04-08 15:40:15 +01:00
Emmanuele Bassi
d701a89281
Turn GskRenderNode into a derivable type
...
Language bindings—especially ones based on introspection—cannot deal
with custom type hiearchies. Luckily for us, GType has a derivable type
with low overhead: GTypeInstance.
By turning GskRenderNode into a GTypeInstance, and creating derived
types for each class of node, we can provide an introspectable API to
our non-C API consumers, with no functional change to the C API itself.
2020-04-08 15:40:15 +01:00
Emmanuele Bassi
5e095cd208
Add macro for exported variables
...
The logic is based on the similar macro in GLib, but with the
appropriate GDK symbols.
2020-04-08 15:40:15 +01:00
Emmanuele Bassi
d2bdf3d5a1
Merge branch 'ci-meson-bump' into 'master'
...
ci: Update the version of Meson in our Docker image
See merge request GNOME/gtk!1651
2020-04-08 12:17:50 +00:00
Emmanuele Bassi
e692385baa
ci: Update the version of Meson in our Docker image
...
Needed for !1017 .
2020-04-08 12:26:58 +01:00
Matthias Clasen
1e8df851e9
Merge branch 'matthiasc/for-master' into 'master'
...
Remove an unused backend includes
See merge request GNOME/gtk!1648
2020-04-07 20:30:43 +00:00
Matthias Clasen
904db0a8f7
Merge branch 'imcontextsimple-drop-ifdefs' into 'master'
...
impcontextsimple: Drop ifdef'ed platform dependencies
See merge request GNOME/gtk!1647
2020-04-07 19:27:51 +00:00
Matthias Clasen
6b7cc8baa6
Remove an unused backend includes
...
These includes are just leftovers.
Every time where we do an #ifdef GDK_WINDOWING... in gtk/,
something went wrong. Don't do it needlessly.
2020-04-07 15:13:18 -04:00
Matthias Clasen
71fe843d99
impcontextsimple: Drop ifdef'ed platform dependencies
...
The proper way to do this would be to adapt the tables
to have the right data for the platform. Since 4.0 is
a new start in many ways, lets clean this up.
2020-04-07 14:54:04 -04:00
Matthias Clasen
552a681816
Merge branch 'private-x11-types' into 'master'
...
Do not parse all GDK-X11 source files
See merge request GNOME/gtk!1646
2020-04-07 18:18:55 +00:00
Emmanuele Bassi
2f0016eb08
Rename gdkx11keys.h
...
The header is now private, so it should follow the same naming scheme
for private GDK-X11 headers.
2020-04-07 18:12:58 +01:00
Emmanuele Bassi
f87291cac2
Hide GdkX11Keymap's GType function
...
It's not a public object.
2020-04-07 18:10:01 +01:00
Emmanuele Bassi
37c3ba2645
Do not parse all GDK-X11 source files
...
We don't need all of them, only the ones that contain public API. This
allows us to reduce the chance of a stray symbol getting incorrectly
added to the introspection data.
2020-04-07 18:06:08 +01:00
Matthias Clasen
ba05787a06
Merge branch 'attribute-docs' into 'master'
...
entry: Document buildable support
See merge request GNOME/gtk!1643
2020-04-07 04:15:33 +00:00
Matthias Clasen
12b97ffd24
entry: Document buildable support
2020-04-06 23:33:22 -04:00
Matthias Clasen
1ae60cb713
entry: Add <attributes> support
...
Make entries support the same <attributes> syntax
as labels.
Closes : #1335
2020-04-06 22:59:54 -04:00
Matthias Clasen
3371e3aa49
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 22:59:45 -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
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